愛伊米

西門子、三菱指令大全,集齊了才知道PLC程式設計這麼容易!

西門子PLC程式設計指令

1、位邏輯指令

1。1 -||- 常開接點(地址)

1。2 -|/|- 常閉接點(地址)

1。3 XOR 位異或

1。4 -|NOT|- 訊號流反向

1。5 -( ) 輸出線圈

1。6 -(#)- 中間輸出

1。7 -(R) 線圈復位

1。8 -(S) 線圈置位

1。9 RS 復位置位觸發器

1。10 RS 置位復位觸發器

1。11 -(N)- RLO下降沿檢測

1。12 -(P)- PLO上升沿檢測

1。13 -(SAVE) 將RLO存入BR儲存器

1。14 MEG 地址下降沿檢測

1。15 POS 地址上升沿檢測

2、比較指令

2。1 CMP?I 整數比較

2。2 CMP?D 雙整數比較

2。3 CMP?R 實數比較

3、轉換指令

3。1 BCD_IBCD碼轉換為整數

3。2 I_BCD 整數轉換為BCD碼

3。3 I_DINT 整數轉換為雙整數

3。4 BCD_DIBCD碼轉換為雙整數

3。5 DI_BCD 雙整數轉換為BCD碼

3。6 DI_REAL 雙整數轉換為浮點數

3。7 INV_I 整數的二進位制反碼

3。8 INV_DI 雙整數的二進位制反碼

3。9 NEG_I 整數的二進位制補碼

3。10 NEG_DI 雙整數的二進位制補碼

3。11 NEG_R 浮點數求反

3。12 ROUND 舍入為雙整數

3。13 TRUNC 捨去小數取整為雙整數

3。14 CEIL 上取整

3。15 FLOOR 下取整

4、計數器指令

4。1 S_CUD 加減計數

4。2 S_CU 加計數器

4。3 S_CD 減計數器

4。4 -(SC) 計數器置初值

4。5 -(CU) 加計數器線圈

4。6 -(CD) 減計數器線圈

5、資料塊指令

5。1 -(OPN) 開啟資料塊:DB或DI

6、邏輯控制指令

6。1 -(JMP) 無條件跳轉

6。2 -(JMP) 條件跳轉

6。3 -(JMPN) 若非則跳轉

6。4 LABEL 標號

7、整數算術運算指令

7。1 ADD_I 整數加法

7。2 SUB_I 整數減法

7。3 MUL_I 整數乘法

7。4 DIV_I 整數除法

7。5 ADD_DI 雙整數加法

7。6 SUB_DI 雙整數減法

7。7 MUL_DI 雙整數乘法

7。8 DIV_DI 雙整數除法

7。9 MOD_DI 回送餘數的雙整數

8、浮點算術運算指令

8。1 基礎指令

8。1。1 ADD_R 實數加法

8。1。2 SUB_R 實數減法

8。1。3 MUL_R 實數乘法

8。1。4 DIV_R 實數除法

8。1。5 ABS 浮點數絕對值運算

8。2 擴充套件指令

8。2。1 SQR 浮點數平方

8。2。2 SQRT 浮點數平方根

8。2。3 EXP 浮點數指數運算

8。2。4 LN 浮點數自然對數運算

8。2。5 SIN 浮點數正弦運算

8。4。6 COS 浮點數餘弦運算

8。2。7 TAN 浮點數正切運算

8。2。8 ASIN 浮點數反正弦運算

8。2。9 ACOS 浮點數反餘弦運算

8。2。10ATAN 浮點數反正切運算

9、賦值指令

9。1 MOVE 賦值

10、程式控制指令

10。1 -(Call) 從線圈呼叫FC/SFC(無引數)

10。2 CALL_FB 從方塊呼叫FB

10。3 CALL_FC 從方塊呼叫FC

10。4 CALL_SFB 從方塊呼叫SFB

10。5 CALL_SFC 從方塊呼叫SFC

10。6 -(MCR

10。7 -(MCR>) 主控繼電器斷開

10。8 -(MCRA) 主控繼電器啟動

10。9 -(MCRD) 主控繼電器停止

10。10 -(RET) 返回

11、移位和迴圈指令

11。1 移位指令

11。1。1 SHR_I 整數右移

11。1。2 SHR_DI 雙整數右移

11。1。3 SHL_W 字左移

11。1。4 SHR_W 字右移

11。1。5 SHL_DW 雙字左移

11。1。6 SHR_DW 雙字右移

11。2 迴圈指令

11。2。1 ROL_DW 雙字左迴圈

11。2。2 ROR_DW 雙字右迴圈

12、狀態位指令

12。1 OV -||- 溢位異常位

12。2 OS -||- 儲存溢位異常位

12。3 UO -||- 無序異常位

12。4 BR -||- 異常位二進位制結果

12。5 ==0-||- 結果位等於“0”

12。6 0-||- 結果位不等於“0”

12。7 >0-||- 結果位大於“0”

12。8

12。9 >=0-||- 結果位大於等於“0”

12。10

13、定時器指令

13。1 S_PULSE 脈衝S5定時器

13。2 S_PEXT 擴充套件脈衝S5定時器

13。3 S_ODT 接通延時S5定時器

13。4 S_ODTS 保持型接通延時S5定時器

13。5 S_OFFDT 斷電延時S5定時器

13。6 -(SP) 脈衝定時器線圈

13。7 -(SE) 擴充套件脈衝定時器線圈

13。8 -(SD) 接通延時定時器線圈

13。9 -(SS) 保持型接通延時定時器線圈

13。10 -(SF) 斷開延時定時器線圈

14、字邏輯指令

14。1 WAND_W 字和字相“與”

14。2 WOR_W 字和字相“或”

14。3 WAND_DW 雙字和雙字相“與”

14。4 WOR_DW 雙字和雙字相“或”

14。5 WXOR_W 字和字相“異或”

14。6 WXOR_DW 雙字和雙字相“異或“

三菱 FX 系列PLC的基本邏輯指令

取指令與輸出指令(LD/LDI/LDP/LDF/OUT)

(1)LD(取指令) 一個常開觸點與左母線連線的指令,每一個以常開觸點開始的邏輯行都用此指令。

(2)LDI(取反指令) 一個常閉觸點與左母線連線指令,每一個以常閉觸點開始的邏輯行都用此指令。

(3)LDP(取上升沿指令) 與左母線連線的常開觸點的上升沿檢測指令,僅在指定位元件的上升沿(由OFFON)時接通一個掃描週期。

(4)LDF(取下降沿指令) 與左母線連線的常閉觸點的下降沿檢測指令。

(5)OUT(輸出指令) 對線圈進行驅動的指令,也稱為輸出指令。

取指令與輸出指令的使用說明:

1)LD、LDI指令既可用於輸入左母線相連的觸點,也可與ANB、ORB指令配合實現塊邏輯運算;

2)LDP、LDF指令僅在對應元件有效時維持一個掃描週期的接通。

3)LD、LDI、LDP、LDF指令的目標元件為X 、Y 、M 、T、C、S;4)OUT指令可以連續使用若干次(相當於線圈並聯),對於定時器和計數器,在OUT指令之後應設定常數K或資料暫存器。

5)OUT指令目標元件為Y、M、T、C和S,但不能用於X。

觸點串聯指令(AND/ANI/ANDP/ANDF)

(1)AND(與指令) 一個常開觸點串聯連線指令,完成邏輯“與”運算。

(2)ANI(與反指令) 一個常閉觸點串聯連線指令,完成邏輯“與非”運算。

(3)ANDP 上升沿檢測串聯連線指令。

(4)ANDF 下降沿檢測串聯連線指令。

西門子、三菱指令大全,集齊了才知道PLC程式設計這麼容易!

觸點串聯指令的使用的使用說明:

1)AND、ANI、ANDP、ANDF都指是單個觸點串聯連線的指令,串聯次數沒有限制,可反覆使用。

2)AND、ANI、ANDP、ANDF的目標元元件為X、Y、M、T、C和S。

3)OUT M101指令之後透過T1的觸點去驅動Y4稱為連續輸出。

觸點並聯指令(OR/ORI/ORP/ORF)

(1)OR(或指令) 用於單個常開觸點的並聯,實現邏輯“或”運算。

(2)ORI(或非指令) 用於單個常閉觸點的並聯,實現邏輯“或非”運算。

(3)ORP 上升沿檢測並聯連線指令。

(4)ORF 下降沿檢測並聯連線指令。

觸點並聯指令的使用說明:

1)OR、ORI、ORP、ORF指令都是指單個觸點的並聯,並聯觸點的左端接到LD、LDI、LDP或LPF處,右端與前一條指令對應觸點的右端相連。觸點並聯指令連續使用的次數不限;

2)OR、ORI、ORP、ORF指令的目標元件為X、Y、M、T、C、S。

塊操作指令(ORB / ANB)

(1)ORB(塊或指令) 用於兩個或兩個以上的觸點串聯連線的電路之間的並聯。

ORB指令的使用說明:

1)幾個串聯電路塊並聯連線時,每個串聯電路塊開始時應該用LD或LDI指令;

2)有多個電路塊並聯迴路,如對每個電路塊使用ORB指令,則並聯的電路塊數量沒有限制;

3)ORB指令也可以連續使用,但這種程式寫法不推薦使用,LD或LDI指令的使用次數不得超過8次,也就是ORB只能連續使用8次以下。

(2)ANB(塊與指令) 用於兩個或兩個以上觸點並聯連線的電路之間的串聯。

ANB指令的使用說明:

1)並聯電路塊串聯連線時,並聯電路塊的開始均用LD或LDI指令;

2)多個並聯迴路塊連線按順序和前面的迴路串聯時,ANB指令的使用次數沒有限制。也可連續使用ANB,但與ORB一樣,使用次數在8次以下。

置位與復位指令(SET/RST)

(1)SET(置位指令) 它的作用是使被操作的目標元件置位並保持。

(2)RST(復位指令) 使被操作的目標元件復位並保持清零狀態。SET、RST指令的使用,當X0常開接通時,Y0變為ON狀態並一直保持該狀態,即使X0斷開Y0的ON狀態仍維持不變;只有當X1的常開閉合時,Y0才變為OFF狀態並保持,即使X1常開斷開,Y0也仍為OFF狀態。

SET 、RST指令的使用說明:

1)SET指令的目標元件為Y、M、S,RST指令的目標元件為Y、M、S、T、C、D、V 、Z。RST指令常被用來對D、Z、V的內容清零,還用來複位積算定時器和計數器。

2)對於同一目標元件,SET、RST可多次使用,順序也可隨意,但最後執行者有效。

微分指令(PLS/PLF)

(1)PLS(上升沿微分指令) 在輸入訊號上升沿產生一個掃描週期的脈衝輸出

(2)PLF(下降沿微分指令) 在輸入訊號下降沿產生一個掃描週期的脈衝輸出。

利用微分指令檢測到訊號的邊沿,透過置位和復位命令控制Y0的狀態。

PLS、PLF指令的使用說明:

1)PLS、PLF指令的目標元件為Y和M;

2)使用PLS時,僅在驅動輸入為ON後的一個掃描週期內目標元件ON,M0僅在X0的常開觸點由斷到通時的一個掃描週期內為ON;使用PLF指令時只是利用輸入訊號的下降沿驅動,其它與PLS相同。

主控指令(MC/MCR)

1)MC(主控指令) 用於公共串聯觸點的連線。執行MC後,左母線移到MC觸點的後面。

2)MCR(主控復位指令) 它是MC指令的復位指令,即利用MCR指令恢復原左母線的位置。

在程式設計時常會出現這樣的情況,多個線圈同時受一個或一組觸點控制,如果在每個線圈的控制電路中都串入同樣的觸點,將佔用很多儲存單元,使用主控指令就可以解決這一問題。

MC、MCR指令利用MC N0 M100實現左母線右移,使Y0、Y1都在X0的控制之下,其中N0表示巢狀等級,在無巢狀結構中N0的使用次數無限制;利用MCR N0恢復到原左母線狀態。如果X0斷開則會跳過MC、MCR之間的指令向下執行。

MC、MCR指令的使用說明:

1)MC、MCR指令的目標元件為Y和M,但不能用特殊輔助繼電器。MC佔3個程式步,MCR佔2個程式步;

2)主控觸點在梯形圖中與一般觸點垂直。主控觸點是與左母線相連的常開觸點,是控制一組電路的總開關。與主控觸點相連的觸點必須用LD或LDI指令。

3)MC指令的輸入觸點斷開時,在MC和MCR之內的積算定時器、計數器、用復位/置位指令驅動的元件保持其之前的狀態不變。非積算定時器和計數器,用OUT指令驅動的元件將復位,22中當X0斷開,Y0和Y1即變為OFF。

4)在一個MC指令區內若再使用MC指令稱為巢狀。巢狀級數最多為8級,編號按N0N1N2N3N4N5N6N7順序增大,每級的返回用對應的MCR指令,從編號大的巢狀級開始復位。

堆疊指令(MPS/MRD/MPP)

堆疊指令是FX系列中新增的基本指令,用於多重輸出電路,為程式設計帶來便利。在FX系列PLC中有11個儲存單元,它們專門用來儲存程式運算的中間結果,被稱為棧儲存器。

(1)MPS(進棧指令) 將運算結果送入棧儲存器的第一段,同時將先前送入的資料依次移到棧的下一段。

(2)MRD(讀棧指令) 將棧儲存器的第一段資料(最後進棧的資料)讀出且該資料繼續儲存在棧儲存器的第一段,棧內的資料不發生移動。

(3)MPP(出棧指令) 將棧儲存器的第一段資料(最後進棧的資料)讀出且該資料從棧中消失,同時將棧中其它資料依次上移。

堆疊指令的使用說明:

1)堆疊指令沒有目標元件;

2)MPS和MPP必須配對使用;

3)由於棧儲存單元只有11個,所以棧的層次最多11層。

邏輯反、空操作與結束指令(INV/NOP/END)

1)INV(反指令) 執行該指令後將原來的運算結果取反。反指令的使用如圖10所示,如果X0斷開,則Y0為ON,否則Y0為OFF。使用時應注意INV不能象指令表的LD、LDI、LDP、LDF那樣與母線連線,也不能象指令表中的OR、ORI、ORP、ORF指令那樣單獨使用。

2)NOP(空操作指令) 不執行操作,但佔一個程式步。執行NOP時並不做任何事,有時可用NOP指令短接某些觸點或用NOP指令將不要的指令覆蓋。當PLC執行了清除使用者儲存器操作後,使用者儲存器的內容全部變為空操作指令。

3)END(結束指令) 表示程式結束。若程式的最後不寫END指令,則PLC不管實際使用者程式多長,都從使用者程式儲存器的第一步執行到最後一步;若有END指令,當掃描到END時,則結束執行程式,這樣可以縮短掃描週期。在程式除錯時,可在程式中插入若干END指令,將程式劃分若干段,在確定前面程式段無誤後,依次刪除END指令,直至除錯結束。

FX系列PLC的步進指令

1.步進指令(STL/RET)

步進指令是專為順序控制而設計的指令。在工業控制領域許多的控制過程都可用順序控制的方式來實現,使用步進指令實現順序控制既方便實現又便於閱讀修改。

FX2N中有兩條步進指令:STL(步進觸點指令)和RET(步進返回指令)。

STL和RET指令只有與狀態器S配合才能具有步進功能。如STL S200表示狀態常開觸點,稱為STL觸點,它在梯形圖中的符號為-|| ||- ,它沒有常閉觸點。我們用每個狀態器S記錄一個工步,例STL S200有效(為ON),則進入S200表示的一步(類似於本步的總開關),開始執行本階段該做的工作,並判斷進入下一步的條件是否滿足。一旦結束本步訊號為ON,則關斷S200進入下一步,如S201步。RET指令是用來複位STL指令的。執行RET後將重回母線,退出步進狀態。

2.狀態轉移圖

一個順序控制過程可分為若干個階段,也稱為步或狀態,每個狀態都有不同的動作。當相鄰兩狀態之間的轉換條件得到滿足時,就將實現轉換,即由上一個狀態轉換到下一個狀態執行。我們常用狀態轉移圖(功能表圖)描述這種順序控制過程。用狀態器S記錄每個狀態,X為轉換條件。如當X1為ON時,則系統由S20狀態轉為S21狀態。

狀態轉移圖中的每一步包含三個內容:本步驅動的內容,轉移條件及指令的轉換目標。

步驅動Y0,當X1有效為ON時,則系統由S20狀態轉為S21狀態,X1即為轉換條件,轉換的目標為S21步。

3.步進指令的使用說明

1)STL觸點是與左側母線相連的常開觸點,某STL觸點接通,則對應的狀態為活動步;

2)與STL觸點相連的觸點應用LD或LDI指令,只有執行完RET後才返回左側母線;

3)STL觸點可直接驅動或透過別的觸點驅動Y、M、S、T等元件的線圈;

4)由於PLC只執行活動步對應的電路塊,所以使用STL指令時允許雙線圈輸出(順控程式在不同的步可多次驅動同一線圈);

5)STL觸點驅動的電路塊中不能使用MC和MCR指令,但可以用CJ指令;

6)在中斷程式和子程式內,不能使用STL指令。

END