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