歐姆龍PLC功能指令
與基本指令不同,功能指令在編程器上沒(méi)有與其對(duì)應(yīng)的專用鍵,輸入功能指令時(shí),先按下FUN鍵,然后輸入功能代碼。不同的功能代碼有不同的助記符,以實(shí)現(xiàn)不同的功能。
本文引用地址:http://cafeforensic.com/article/201612/330724.htm1、程序結(jié)束指令END(FUN 01)
END指令在梯形圖中的符號(hào)如圖1所示。
圖1 END指令在梯形圖中的符號(hào)
在程序結(jié)束時(shí),必須使用END指令。一般P型機(jī)對(duì)用戶程序的掃描范圍為:從0000到1193步循環(huán)掃描,加入END指令可使程序只在0000~END之間循環(huán)掃描,縮短了循環(huán)周期。另外,在程序調(diào)試時(shí)利用END指令分段調(diào)試,使調(diào)試程序變得簡(jiǎn)單方便。
2、分支開(kāi)始指令I(lǐng)L(FUN 02)和分支結(jié)束指令I(lǐng)LC(FUN 03)
IL和ILC指令在梯形圖中的符號(hào)如圖2所示。
圖2 IL和ILC指令在梯形圖中的符號(hào)
如果梯形圖中出現(xiàn)具有分支的多路輸出程序,且分支電路后的每個(gè)輸出支路至少有一個(gè)串聯(lián)觸點(diǎn)時(shí),可用分支開(kāi)始指令I(lǐng)L編程,分支結(jié)束時(shí)用ILC指令使IL指令復(fù)位,回到前一級(jí)邏輯母線。IL指令和ILC指令在程序中要求配合使用,但也允許在不會(huì)引起程序混亂的前提下用一個(gè)ILC和多個(gè)IL配合使用,此時(shí)在執(zhí)行程序檢查時(shí)會(huì)在編程器上顯示出錯(cuò)提示“IL-ILC ERR”,但這個(gè)錯(cuò)誤不會(huì)影響程序的正常執(zhí)行。
當(dāng)IL的條件為OFF時(shí),IL和ILC之間的各繼電器狀態(tài)為:輸出繼電器、 輔助繼電器斷開(kāi),定時(shí)器復(fù)位,計(jì)數(shù)器、保持繼電器、鎖存繼電器保持原狀態(tài)不變。當(dāng)IL的條件為ON時(shí),IL和ILC之間的各繼電器正常工作。
在梯形圖程序中,允許出現(xiàn)多重分支程序,即分支嵌套。在小型PLC中,允許進(jìn)行分支嵌套的次數(shù)不應(yīng)超過(guò)8次。圖3所示是一個(gè)含有三重分支的程序。
圖3中,在分支處形成一個(gè)新的邏輯母線,因此從這個(gè)新邏輯母線開(kāi)始的指令都要用LD或LD NOT指令。如0000為OFF,0501、0502、0503和0504均為OFF,CNT02正常工作……如0000為ON,且0001或0004為ON、0002或0005為ON時(shí),程序正常執(zhí)行。當(dāng)0000為OFF時(shí),不滿足執(zhí)行條件,IL~ILC間的程序不被執(zhí)行,由此可以看出來(lái)采用IL~ILC編程比采用暫存繼電器TR可以使程序更加簡(jiǎn)練。
圖3 IL和ILC指令
3、跳轉(zhuǎn)開(kāi)始指令JMP(FUN 04)和跳轉(zhuǎn)結(jié)束指令JME(FUN05)
JMP和JME指令在梯形圖中的符號(hào)如圖4所示。
如果JMP的條件為ON時(shí),程序正常執(zhí)行,即相當(dāng)于沒(méi)有JMP和JME指令。如果JMP的條件為OFF,則執(zhí)行跳轉(zhuǎn),即不執(zhí)行JMP~JME間的程序。
圖5中,如1001為ON,程序執(zhí)行順序?yàn)锳→B→C,否則為A→C。
圖4 JMP和JME指令在梯形圖中的符號(hào)
圖5 跳轉(zhuǎn)指令
如果JMP的條件為OFF,JMP~JME間的各繼電器狀態(tài)為:輸出繼電器、輔助繼電器、保持繼電器、鎖存繼電器保持跳轉(zhuǎn)前的狀態(tài)不變。定時(shí)器復(fù)位,停止計(jì)時(shí)。計(jì)數(shù)器中斷計(jì)數(shù),保持跳轉(zhuǎn)前的計(jì)數(shù)值不變。
圖6中,當(dāng)1000為ON時(shí),程序正常執(zhí)行。當(dāng)1000為OFF時(shí),開(kāi)始跳轉(zhuǎn),直接執(zhí)行JME之后的程序。在此期間,無(wú)論1001是ON或OFF,0500均保持跳轉(zhuǎn)前的ON/OFF狀態(tài)不變;定時(shí)器TIM00復(fù)位停止工作,即使1002為ON,TIM00也不會(huì)工作;計(jì)數(shù)器CNT03則中斷計(jì)數(shù),保持跳轉(zhuǎn)前的計(jì)數(shù)值不變。
圖6 JMP和JME指令
與分支指令一樣,JMP和JME一般也要求配合使用,也允許不超過(guò)8次的嵌套。也允許多個(gè)JMP和一個(gè)JME配合使用(此時(shí)程序檢查時(shí)會(huì)在編程器上出現(xiàn)“JMPJMP ERR”,但不影響程序正常運(yùn)行)。
4、鎖存器指令KEEP(FUN 11)
KEEP指令在梯形圖中的符號(hào)如圖7所示。
圖7 KEEP指令在梯形圖中的符號(hào)
XXXX為繼電器號(hào),可使用的繼電器有輸出繼電器、 內(nèi)部輔助繼電器和保持繼電器。S端為置“1”輸入端,如果S端為ON,則繼電器XXXX得電并自鎖。R端為置“0”輸入端(即復(fù)位端),如果R端為ON,則繼電器XXXX解除自鎖(失電)。當(dāng)R端和S端同時(shí)出現(xiàn)信號(hào)時(shí),復(fù)位優(yōu)先。
KEEP指令可以使一個(gè)普通的繼電器具有鎖存功能,稱之為鎖存繼電器。利用KEEP指令很容易實(shí)現(xiàn)類似繼電器控制線路中的自鎖(或自保持)功能,如圖8中0002為ON時(shí),0500變?yōu)镺N并自保持,即使0002由ON變?yōu)镺FF,只要0003為OFF,0500始終為ON。如果0003為ON,0500就變?yōu)镺FF。圖8(b)的作用與圖8(a)相同。
圖8 KEEP指令
KEEP指令具有自鎖功能,但必須注意的是KEEP指令本身并無(wú)掉電保持功能,圖8(a)中如程序運(yùn)行中電源掉電時(shí),0500將變?yōu)镺FF,如欲在電源發(fā)生故障后又恢復(fù)送電時(shí)電路的狀態(tài)保持不變,可用保持繼電器作為鎖存器。圖9所示的報(bào)警電路中,0002、0003和0004為報(bào)警條件,0005為報(bào)警解除,輸出端子0500接報(bào)警設(shè)備。
圖9 KEEP指令的應(yīng)用
5、前沿微分指令DIFU(FUN 13)和后沿微分指令DIFD(FUN 14)
DIFU和DIFD指令在梯形圖中的符號(hào)如圖10所示。
圖10 DIFU和DIFD指令在梯形圖中的符號(hào)
XXXX為繼電器號(hào),DIFU和DIFD指令可使用的繼電器為輸出繼電器、內(nèi)部輔助繼電器和保持繼電器。
DIFU指令的功能是在滿足條件的輸入信號(hào)前沿,使指定的繼電器ON一個(gè)掃描周期。DIFD指令的功能是在滿足條件的輸入信號(hào)后沿,使指定的繼電器ON一個(gè)掃描周期。DIFU和DIFD指令在一個(gè)程序中最多可使用的數(shù)量都是48個(gè)。
圖11說(shuō)明了DIFU和DIFD的工作情況。
圖11 DIFU和DIFD
6、移位寄存指令SFT(FUN 10)
SFT指令在梯形圖中的符號(hào)如圖12所示。
IN端為數(shù)據(jù)輸入端,CP端為脈沖輸入端,R端為復(fù)位輸入端。
SFT指令的功能相當(dāng)于一個(gè)串行輸入移位寄存器,其功能是將從首通道到末通道的n個(gè)通道的n×16 位數(shù)據(jù)按位移位。
圖12 SFT指令在梯形圖中的符號(hào)
SFT指令可使用的通道可以是輸出繼電器、內(nèi)部輔助繼電器和保持繼電器通道。首通道和末通道可以是同一個(gè)通道,也可以不是同一通道(此時(shí)要求首通道號(hào)小于末通道號(hào),且要保證首通道和末通道是同一類通道)。
用SFT指令編程時(shí)必須按數(shù)據(jù)輸入、移位脈沖輸入、復(fù)位輸入、SFT、首通道號(hào)、末通道號(hào)的順序進(jìn)行編程。數(shù)據(jù)移位是由脈沖輸入CP端控制,CP端每由OFF→ON一次(即在移位脈沖輸入的上升沿),從首通道至末通道的所有“位”均將自己的數(shù)據(jù)(0或1)傳給下一“位”,首通道的第一位(即首通道的第00位)的狀態(tài)取決于移位脈沖的上升沿所對(duì)應(yīng)的數(shù)據(jù)輸入IN端的狀態(tài),即在移位脈沖輸入的上升沿所對(duì)應(yīng)的時(shí)刻,如果IN端為ON,則首通道的第00位也為ON,否則為OFF。當(dāng)復(fù)位輸入R端變?yōu)镺N時(shí),所有被移位通道中的數(shù)據(jù)同時(shí)被置“0”。如果移位通道是保持繼電器通道,則電源掉電時(shí)通道中的內(nèi)容保持不變。
圖13中,在復(fù)位輸入0503為OFF時(shí),0500(即首通道的第一位)的狀態(tài)取決于數(shù)據(jù)輸入IN(即1000),其它各位在每個(gè)時(shí)鐘脈沖CP的上升沿依次移位。在復(fù)位輸入0503為ON時(shí),所有位均被置“0”。
評(píng)論