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