邏輯指令的基本結構
每一條指令編程時寫作一行,指令一般包含三部分內容:
左邊是步序號,中間是指令助記符(邏輯指令)或k,右邊是數(shù)據(jù)(目標元器件編號或設定的常數(shù)值)。
在實際應用中,有些指令沒有數(shù)據(jù)(例如 anb,orb,end,nop 等)。
1. 邏輯取及線圈驅動指令
ld (load),取指令,從輸入(左)母線開始.取用常開觸點。
ldi (load inverse),取反指令。從輸入(左)母線開始,取用常閉觸點
out,線圈驅動指令。
1) 目標元素:
ld,ldi: x,y,m,c,t,s (所有有觸點的元器件)
out: 所有可以用程序驅動的元器件(y,m,c,t,s,f)(輸入繼電器(x)不能在程序內部用指令驅動)
2) 指令使用說明
ld、ldi指令使用于與輸入母線相連的觸點,此外還有兩種特殊的應用場合
a) 與anb、orb指令配合使用于分支回路的開頭;
b) 用于主控指令的開頭
out指令適用于一切在程序中能用指令驅動的元器件
a) 線圈并聯(lián)時,out指令連續(xù)寫出,并可使用任意多次;
b) 在對定時器、計數(shù)器使用0ut指令之后,必須設定常數(shù)k
舉例
將下面梯形圖轉化為指令表。
2. 觸點串聯(lián)指令
and,與指令。用于單個、常開觸點的串聯(lián)。
ani, 與反指令。用于單個、常閉觸點的串聯(lián)。
1) 目標元素:所有元器件的觸點元素
2) 指令使用說明:上述兩條指令只適合于單個觸點串聯(lián)聯(lián)接,根據(jù)實際情況指令可以連續(xù)使用任意多次。
3) 舉例:
3. 觸點并聯(lián)指令
or,或指令。用于單個、常開觸點的并聯(lián)。
ori,或反指令。用于單個、常閉觸點的并聯(lián)。
1) 目標元素:所有元器件的觸點元素
2) 指令使用說明:上述兩條指令只適合于單個觸點并聯(lián)聯(lián)接,根據(jù)實際情況指令可以連續(xù)使用任意多次。
3) 舉例:
4. 支路并聯(lián)聯(lián)接指令
orb (or block),或塊指令,用于支路的并聯(lián)聯(lián)接。
1) 目標元素:無
2) 指令使用說明:orb用于兩個或兩個以上串聯(lián)支路并聯(lián)聯(lián)接。使用時,支路起點用ld或ldi開始,支路終點用orb結束。具體應用時,并聯(lián)支路有兩種編程方式。
3) 舉例
比較方法1和方法2 ,方法1分支間的關系更為清晰、直觀,且不易出錯,推薦使用。
5. 支路串聯(lián)聯(lián)接指令
anb (and block),與塊指令。用于支路的串聯(lián)聯(lián)接。
1) 目標元素:無
2) 指令使用說明:anb用于兩個或兩個以上并聯(lián)支路的串聯(lián)聯(lián)接。使用時,支路起點用ld或ldi開始,支路終點用anb結束。如果將多個支路串聯(lián),有兩種編程方式。
3) 舉例
比較方法1和方法2 ,方法1分支間的關系更為清晰、直觀,且不易出錯,推薦使用。
6. 復位指令
rst(reset),復位指令,用于計數(shù)器和移位寄存器的復位。
1) 目標元素:計數(shù)器和移位寄存器
2) 指令使用說明:
a) 使用rst指令可以使計數(shù)器當前值恢復到設定值,使移位寄存器各位清零。
b) 任何情況下,rst指令優(yōu)先執(zhí)行,當rst輸入有效時,不接受計數(shù)器和移位寄存器的輸入信號。
3) 舉例
7. 脈沖輸出指令
pls(pulse),脈沖輸出指令(又稱微分輸出指令),是用于輔助繼電器m上產生的短時間(1個掃描周期)的脈沖輸出 。
1) 目標元素:輔助繼電器m100~m377
2) 指令使用說明:pls指令作用是將脈寬較寬的輸入信號,變成脈寬等于pc掃描周期的脈沖信號,且信號的周期保持不變。
3) 舉例
pls的功能可通過比較下段梯形圖中輸入繼電器x400 和輔助繼電器m101的時序來理解。
對應時序:
在計數(shù)器或移位寄存器需外觸發(fā)信號復位和移位時,常使用pls指令,以獲得寬度合適脈沖觸發(fā)信號。(計數(shù)器和移位寄存器對復位信號要求較高,既不能太短,也不能太長。太短,pc采集不到信號,從而無法實現(xiàn)復位,太長,計數(shù)器和移位寄存器始終處于復位狀態(tài),會產生漏計數(shù)或少移位的現(xiàn)象)。
8. 移位指令
sft (shift), 移位指令。用于移位寄存器的移位。
1) 目標元素:移位寄存器
2) 指令使用說明:移位寄存器的三個輸入(數(shù)據(jù)輸入out、移位輸入sft、復位輸入rst),在編程的時候可以單獨編程,順序無特別限制,其他程序也可以插入其中。
3) 舉例
9. 置位及復位指令
s(set), 置位指令。用于對y、s及m200~m377置位。
r(reset),復位指令。用于對y、s及m200~m377復位。
1) 目標元素:y、s及m200~m377置位
2) 指令使用說明:
a) s指令用于對目標元素進行置位,(即:使目標元素線圈閉合,常開觸點閉合,常閉觸點斷開)。且這種置位具有自保持接通狀態(tài)的功能。(所謂自保持接通狀態(tài)就是,即使置位條件不再滿足,目標元素的置位狀態(tài)仍不發(fā)生改變。
b) r指令用于對目標元素進行復位,(即使其線圈斷電,常開觸點斷開,常閉觸點接通)。
c) r指令和s指令可單獨使用,也可以成對使用。成對使用時,順序無特殊要求,其間可以安插其他程序。
d) 當對同一對象同時使用r、s指令時,若置位、復位條件都滿足,則后執(zhí)行的指令有效。
3) 舉例
10. 主控指令
mc(master control),主控指令,用于在相同控制條件下,多路輸出,指出公共串聯(lián)觸點。(接通、斷開公共母線的作用)
mcr(master control reset),主控恢復指令,用于消除主控功能。
1) 目標元素:m100~m177
2) 指令使用說明:
a) mc指令用于指出公共串聯(lián)觸點。它與它控制的下面各支路是串聯(lián)的關系,但各支路彼此之間又是“并聯(lián)”的關系;
b) 主控指令mc后面的任何指令都應以ld或ldi指令開始。(相當于公共母線移到另一根新的母線上) ;
c) 當新的主控指令執(zhí)行時,上一個主控指令自動復位;
d) mcr指令用于對mc指令進行復位,相當于使程序回到原來的母線上;
e) 一段程序根據(jù)需要可有多條主控指令,但是,有且只有一條主控復位指令,(即對最后一條主控指令進行復位)。
3) 舉例
11. 條件跳步及跳步結束指令
cjp(conditional jump),條件跳步指令。
ejp(end of jump),跳步結束指令。
這是一對成對使用的指令,作用是:實現(xiàn)程序跳轉,指出跳步目標。
1) 目標元素:d700~d777
2) 舉例
若要實現(xiàn)左圖邏輯功能,可通過cjp、ejp構成的右側梯形圖實現(xiàn)。
3) 指令使用說明:
a) cjp和ejp是一對成對使用的,有條件的跳步指令,跳步條件在cjp前設定。
b) cjp和ejp跳步目標元素必須在(d700~d777)之間,否則 ,cjp被pc理解為nop,ejp被理解為end。
c) cjp和ejp跳步目標元素必須在(d700~d777)之間,否則 ,cjp被pc理解為nop,ejp被理解為end。
d) 不得對跳步中的程序進行強制置位、復位、在線修改常數(shù)。
e) 要注意跳步前后定時器的工作狀態(tài)。
舉例:下面梯形圖是一個典型的跳步程序里包含定時器的例子。
在跳步程序中包含定時器,分兩種情況考慮:
a) 跳步條件(上例中x000)滿足之前,定時器(t450、t650)還沒開始定時(即:上一掃描周期:x001=off,x002=off),則定時程序被跳過,定時器不工作。
b) 當跳步條件滿足之前,定時器已經開始定時,則根據(jù)定時器的定時精度不同,執(zhí)行不同的操作。
ⅰ.對于0.1s定時器(上例中t450),則定時器中斷計時,在跳步恢復后繼續(xù)計時;
ⅱ. 對于0.01s的定時器(上例中t650):定時器繼續(xù)計時,但是輸出觸點并不根據(jù)設定值已滿足而接通。當跳步復位時(跳步條件不再滿足),在線圈指令執(zhí)行時,輸出觸點才接通。
12. 空操作指令
nop(no operation),空操作指令。
1) 目標元素:無
2) 指令使用說明:
a) nop指令后面沒有任何數(shù)據(jù)。
b) 在執(zhí)行nop指令時,不完成任何操作,只是占有一步程序所需的時間,一般用于程序的修改。
c) 值得注意的是,將ld或ldi指令,轉換為nop指令時,梯形圖結構將發(fā)生很大變換,應用時,需要特別注意。
3) 舉例:要將下段梯形圖中,從左母線出發(fā)的觸點x002短路,程序響應的應作如何修改?
相應指令表中“l(fā)d x002”, 改為“nop”,并相應地,將其后的“and x003”,改為“l(fā)d x003”。
13. 程序結束指令
end,程序結束指令。
1) 目標元素:無
2) 指令使用說明:
end指令用于指示程序終了。后面無須任何數(shù)據(jù)。常用于程序調試。在程序執(zhí)行階段,pc一旦掃描到end指令,則不再向下掃描,而轉去進行輸出處理,因而可利用end指令對程序進行分段調試。