歐姆龍PLC功能指令
圖13 SFT指令
7、通道移位指令WSFT(FUN 16)
WSFT指令在梯形圖中的符號如圖14所示。
圖14 WSFT指令在梯形圖中的指令
WSFT是通道移位指令,也稱為并行移位指令,它以通道(16位)為單位進行移位,所以必須設(shè)置兩個數(shù)據(jù):開始通道號D1和結(jié)束通道號D2。WSFT可使用的通道為輸出繼電器通道、 內(nèi)部輔助繼電器通道、保持繼電器通道及數(shù)據(jù)存儲通道。開始通道和結(jié)束通道必須是同一類通道,并要保證開始通道號小于結(jié)束通道號。(http://www.diangon.com/版權(quán)所有)當移位條件變?yōu)镺N時,CPU每掃描一次程序就執(zhí)行一次WSFT指令,進行一次通道移位,執(zhí)行WSFT時,開始通道的內(nèi)容移到其下一通道(同時開始通道的內(nèi)容變?yōu)?),下一通道的內(nèi)容又移到其下一通道……結(jié)束通道的內(nèi)容被其上一通道覆蓋。如果只想執(zhí)行一次通道移位操作,應(yīng)該使用DIFU或DIFD命令?!∪鐖D15所示。
圖15 WSFT指令
圖15中,設(shè)在執(zhí)行WSFT指令之前10、11和12通道的內(nèi)容分別為:
8、十進制→二進制轉(zhuǎn)換指令BIN(FUN 23)和二進制→十進制轉(zhuǎn)換指令BCD(FUN 24)
BIN和BCD指令在梯形圖中的符號如圖16所示。
圖16 BIN和BCD指令在梯形圖中的符號
BIN指令的功能是將源通道S中的4位十進制數(shù)(BCD碼)轉(zhuǎn)換成16位二進制數(shù),再存放到目的通道D中。
BCD指令的功能是將源通道S中的16位二進制數(shù)轉(zhuǎn)換成4位十進制數(shù)(BCD碼),存放到目的通道D中去。
BIN和BCD指令可使用的源通道為:輸入繼電器通道、輸出繼電器通道、定時器/計數(shù)器通道、保持繼電器通道和數(shù)據(jù)存儲器通道,可使用的目的通道為:輸出繼電器通道、保持繼電器通道和數(shù)據(jù)存儲器通道。執(zhí)行BIN或BCD指令時,如轉(zhuǎn)換的結(jié)果為“0”,則1906為ON。
圖17所示是當0002為ON時,將10通道中的4位十進制數(shù)(BCD碼形式)轉(zhuǎn)換為16位二進制數(shù),存放到HR1通道中去。如執(zhí)行BIN指令前10通道存放的數(shù)據(jù)為3721(見表1),則執(zhí)行BIN指令后HR1如表2所示。
圖17 BIN指令
表1 CH10
表2 HR1
9、比較指令CMP(FUN 20)
CMP指令在梯形圖中的符號如果18所示。
圖18 CMP指令在梯形圖中的符號
CMP為比較指令,其功能是將一個通道的內(nèi)容或一個4位十六進制常數(shù)(S1)與另一個通道的內(nèi)容或4位十六進制常數(shù)(S2)進行比較。S1和S2中至少要有一個是通道內(nèi)容,不能兩個都是常數(shù)。
CMP指令可使用的通道或常數(shù)為輸入/輸出繼電器通道、 內(nèi)部輔助繼電器通道、保持繼電器通道、定時器/計數(shù)器通道數(shù)據(jù)存儲通道及0000~FFFF的常數(shù)。
比較后,如果S1>S2,則專用內(nèi)部輔助繼電器1905為ON;如果S1=S2,則專用內(nèi)部輔助繼電器1906為ON;如果S1 圖19 CMP指令 10、傳送指令MOV(FUN 21)和取反傳送指令MVN(FUN 22) MOV和MVN指令在梯形圖中的符號如圖20所示。 MOV指令將源通道S中的內(nèi)容或一個4位十六進制常數(shù)傳送到目的通道D中去;而MVN指令則是先將源通道S中的內(nèi)容取反后(即0→1,1→0)再傳送到目的通道中去。MOV及MVN指令使用的通道和常數(shù)如表3所示。 圖20 MOV和MVN指令在梯形圖中的符號 表3 MOV及MVN指令使用的通道和常數(shù) 執(zhí)行MOV指令時,如果源通道S中的內(nèi)容全為“0”,或執(zhí)行MVN指令時源通道S中的內(nèi)容全為“1”,則專用內(nèi)部輔助繼電器1906(零標志)為ON。 圖21中,當0002為ON時,CPU每掃描一次程序,就執(zhí)行一次MOV及MVN指令,如果希望0002每得電(ON)一次只進行一次傳送,應(yīng)使用DIFU或DIFD指令。 圖21 MOV、MVN指令 應(yīng)用傳送指令還可以實現(xiàn)在程序運行時改變定時器和計數(shù)器的設(shè)定值(此時通道內(nèi)容必須是4位BCD碼,否則1903為ON,使MOV指令不能執(zhí)行),如圖22所示。 圖22 用MOV指令改變定時器的設(shè)定值 圖22所示是把HR1通道的內(nèi)容作為定時器TIM01的設(shè)定值,當0002為ON時,TIM01的設(shè)定值為10 s,10 s后輸出繼電器0500變?yōu)镺N。當0003為ON時,TIM01的設(shè)定值為30 s,30 s 之后0500變?yōu)镺N。如果0002和0003同時為ON,TIM01不動作。 11、置進位標志指令STC(FUN 40)和清進位標志指令CLC(FUN 41) STC和CLC指令在梯形圖中的符號如圖23所示。 STC指令把進位標志1904置為ON。 CLC指令把進位標志1904置為OFF。在執(zhí)行ADD和SUB指令前需用CLC指令對進位標志位進行清零。 圖23 STC和CLC指令在梯形圖中的符號 12. 加法指令A(yù)DD(FUN 30)和減法指令SUB(FUN 31) ADD和SUB指令在梯形圖中的符號如圖24所示。 圖24 ADD和SUB指令在梯形圖中的符號 加法指令A(yù)DD用于兩個4位數(shù)的相加,即將被加數(shù)通道S1中的內(nèi)容加上加數(shù)通道S2中的內(nèi)容或一個常數(shù),其結(jié)果送到和通道D。 減法指令SUB用于兩個4位數(shù)的相減,即將被減數(shù)通道S1中的內(nèi)容減去減數(shù)通道S2中的內(nèi)容或一個常數(shù),其結(jié)果送到差通道D。 ADD及SUB指令使用的通道和常數(shù)如表4所示。 表4 ADD及SUB指令使用的通道和常數(shù) 使用ADD及SUB指令時應(yīng)注意如下問題: (1)要求通道內(nèi)容須為BCD碼,否則1903變?yōu)镺N,ADD及SUB指令不能執(zhí)行。 (2)在執(zhí)行ADD或SUB指令前,必須先用CLC指令對進(借)位標志位1904進行清零,否則進位標志位也要參加運算。 (3)ADD和SUB指令都是在條件滿足時CPU每掃描程序一次就執(zhí)行一次,如果要求只執(zhí)行一次加、 減法操作,應(yīng)使用DIFU或DIFD指令。 兩個4位數(shù)相加后,其結(jié)果可能是4位或5位數(shù),如果進位標志位(1904)為ON,則其和為5位數(shù),可用傳送指令MOV將進位標志位存放待用,如圖25所示。
評論