技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 西門(mén)子plc移位寄存器指令

西門(mén)子plc移位寄存器指令

時(shí)間:2018-01-25 11:03:02來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語(yǔ):?西門(mén)子plc移位寄存器指令SHRB是將DATA數(shù)值移入移位寄存器。

西門(mén)子plc移位寄存器指令SHRB是將DATA數(shù)值移入移位寄存器。S_BIT指定移位寄存器的最低位。N指定移位寄存器的長(zhǎng)度和移位方向(移位加=N,移位減=-N)。移位寄存器的最大長(zhǎng)度是64位的,可以正也可以負(fù)。我們要注意的是SHRB指令移出的每個(gè)位是被放置在溢出內(nèi)存位(SM1.1)中的。

下面便以以下的程序來(lái)講解指令的使用,用I0.2的上升沿來(lái)執(zhí)行移位寄存器指令,那么就是一個(gè)掃描周期移一位的,指令中V100.0是移位寄存器的最低位,I0.3里面存的是0或1的數(shù)值,指令指定是移位加的,移位寄存器的長(zhǎng)度是4。我們結(jié)合下面的時(shí)序圖和移位的圖來(lái)看,若V100為00000101,因?yàn)橐莆患拇嫫鞯拈L(zhǎng)度是4,那么只有0101,當(dāng)I0.3為1時(shí),執(zhí)行第一次移位,把1移到移位寄存器的最低位,把移出的位的值0放置到SM1.1中,那么SM1.1為0,當(dāng)I0.3為0時(shí),執(zhí)行第二次移位,把0移到移位寄存器的最低位,把移出的位的值1放置到SM1.1中,那么SM1.1為1。

西門(mén)子plc移位寄存器指令

在順序控制或步進(jìn)控制中,應(yīng)用移位寄存器編程是很方便的,移位寄存器指令如圖所示。

西門(mén)子plc移位寄存器指令

1)移位寄存器有3個(gè)數(shù)據(jù)輸入端:

DATA:移位寄存器的數(shù)據(jù)輸入端,數(shù)據(jù)類(lèi)型為BOOL(位)。

S_BIT:組成移位寄存器的最低位,數(shù)據(jù)類(lèi)型為BOOL(位)。

N:移位寄存器的長(zhǎng)度和移位方向,-64≤N≤64,當(dāng)N》0時(shí)為正向移位(從移位寄存器的最低位移入,由最高位移出),當(dāng)N《0時(shí)為反向移位(從移位寄存器的最高位移入,由最低位移出)。

2)移位寄存器的特點(diǎn):

·移位寄存器的數(shù)據(jù)類(lèi)型無(wú)字節(jié)型、字型、雙字型之分,移位寄存器的長(zhǎng)度N由程序指定。

·移位寄存器的組成:

最低位為:S_BIT;

最高位的計(jì)算方法為:MSB=S_BIT+(|N|-1)/8。S7-200的編址均為8進(jìn)制,相加時(shí)要字節(jié)和字節(jié)相加,位和位相加,并且逢8進(jìn)1;例如:

S_BIT=V23.4,N=15,則MSB=V23.4+(15-1)/8=

移位寄存器的組成:V23.4~V23.7、V24.0~V24.7、V25.0、V25.1、V25.2,共15位。

·移位寄存器指令的功能是:當(dāng)允許輸入端EN有效時(shí),如果N》0,則將移位數(shù)據(jù)DATA填入移位寄存器的最低位(S_BIT);如果N《0,則填入到移位寄存器的最高位,移位寄存器的其他位按照N指定的方向(正向或反向),依次串行移位。

·移位寄存器的移出端與SM1.1(溢出)連接。

移位寄存器指令影響的特殊繼電器:SM1.0(零),SM1.1(溢出)。當(dāng)移位操作結(jié)果為0時(shí),SM1.0自動(dòng)置位;SM1.1的狀態(tài)由每次移出位的狀態(tài)決定。

影響允許輸出ENO正常工作的出錯(cuò)條件為:SM4.3(運(yùn)行時(shí)間)、0006(間接尋址),0091(操作數(shù)超界),0092(計(jì)數(shù)區(qū)錯(cuò)誤)。

【例】移位寄存器指令的應(yīng)用如圖所示。

西門(mén)子plc移位寄存器指令

下面再看一個(gè)程序案例,更深入地來(lái)學(xué)習(xí)一下這個(gè)移位寄存器指令。

1、產(chǎn)品檢測(cè)分揀機(jī),輸送帶上的產(chǎn)品經(jīng)過(guò)一臺(tái)檢測(cè)裝置時(shí),檢測(cè)裝置輸出檢測(cè)結(jié)果到I0.0,有產(chǎn)品時(shí)為1。I0.1檢測(cè)產(chǎn)品的好壞,若I0.1為0則產(chǎn)品是好的,若I0.1為1則產(chǎn)品是壞的。在第4個(gè)產(chǎn)品位置有一個(gè)推產(chǎn)品的氣缸Q0.0。若檢測(cè)的產(chǎn)品為壞時(shí),到達(dá)第4個(gè)產(chǎn)品位置時(shí),Q0.0輸出,氣缸動(dòng)作,產(chǎn)品被推出,1s后氣缸退回,傳送帶繼續(xù)工作,進(jìn)行產(chǎn)品的檢測(cè)。

西門(mén)子plc移位寄存器指令

下面就分析一下程序,檢測(cè)裝置檢測(cè)到有產(chǎn)品時(shí)I0.0為1,I0.1檢測(cè)產(chǎn)品的好壞,產(chǎn)品壞為1,指定移位寄存器的最低位為M0.0,移位寄存器的長(zhǎng)度為4。因?yàn)樵诘?個(gè)產(chǎn)品位置有一個(gè)氣缸Q0.0,若I0.1為1時(shí),到達(dá)第4個(gè)產(chǎn)品位置時(shí),那么就用M0.3驅(qū)動(dòng)氣缸動(dòng)作,推出產(chǎn)品,同時(shí)做了一個(gè)定時(shí)器定時(shí)1s,1s后復(fù)位M0.3,氣缸退回。

移位寄存器位指令的形式

西門(mén)子plc移位寄存器指令

指令的功能:

西門(mén)子plc移位寄存器指令

移位寄存器位(SHRB)指令將DATA數(shù)值移入移位寄存器。S_BIT指定移位寄存器的最低位。N指定移位寄存器的長(zhǎng)度和移位方向(當(dāng)N是正的,從低位移到高位,當(dāng)N是負(fù)數(shù),就從高位移到低位)。SHRB指令移出的每個(gè)位被放置在溢出內(nèi)存位(SM1.1)中。該指令由最低位(S_BIT)和長(zhǎng)度(N)指定的位數(shù)定義。

注:已知最低位,計(jì)算最高位的方法:MSB.b=[(S_BIT字節(jié))+([N]-1+(S_BIT位))/8]·[被8除的余數(shù)]

例如:如果S_BIT的字節(jié)和位分別是V33和4,N是14,以下計(jì)算顯示MSB.b是V35.1。

MSB.b=V33+([14]-1+4)/8

=V33+17/8

=V33+2,余數(shù)為1

=V35.1

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:plc移位寄存器指令的應(yīng)用

下一篇:PLC設(shè)計(jì)與調(diào)試問(wèn)題

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。