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 <0-||- 結果位小于"0"
12.9 >=0-||- 結果位大于等于"0"
12.10 <=0-||- 結果位小于等于"0"
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(取上升沿指令) 與左母線連接的常開觸點的上升沿檢測指令,僅在指定位元件的上升沿(由OFF→ON)時接通一個掃描周期。
(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 下降沿檢測串聯連接指令。
觸點串聯指令的使用的使用說明:
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級,編號按N0→N1→N2→N3→N4→N5→N6→N7順序增大,每級的返回用對應的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指令。
審核編輯:湯梓紅
-
plc
+關注
關注
5010文章
13271瀏覽量
463068 -
西門子
+關注
關注
94文章
3034瀏覽量
115782 -
三菱
+關注
關注
32文章
802瀏覽量
42798 -
指令
+關注
關注
1文章
607瀏覽量
35694
原文標題:【編程】西門子、三菱指令大全,學PLC編程先記住它們!
文章出處:【微信號:設備維修屋,微信公眾號:設備維修屋】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論