三菱PLC指令詳解
1、取指令與(yu) 輸出指令(LD/LDI/LDP/LDF/OUT)
1)LD(取指令) 一個(ge) 常開觸點與(yu) 左母線連接的指令,每一個(ge) 以常開觸點開始的邏輯行都用此指令;
2)LDI(取反指令) 一個(ge) 常閉觸點與(yu) 左母線連接指令,每一個(ge) 以常閉觸點開始的邏輯行都用此指令;
3)LDP(取上升沿指令) 與(yu) 左母線連接的常開觸點的上升沿檢測指令,僅(jin) 在指定位元件的上升沿(由OFF→ON)時接通一個(ge) 掃描周期;
4)LDF(取下降沿指令) 與(yu) 左母線連接的常閉觸點的下降沿檢測指令;
5)OUT(輸出指令) 對線圈進行驅動的指令,也稱為(wei) 輸出指令。
指令取與(yu) 輸出指令的使用說明:
1)LD、LDI指令既可用於(yu) 輸入左母線相連的觸點,也可與(yu) ANB、ORB指令配合實現塊邏輯運算;
2)LDP、LDF指令僅(jin) 在對應元件有效時維持一個(ge) 掃描周期的接通;
3)LD、LDI、LDP、LDF指令的目標元件為(wei) X 、Y 、M 、T、C、S;
4)OUT指令可以連續使用若幹次(相當於(yu) 線圈並聯),對於(yu) 定時器和計數器,在OUT指令之後應設置常數K或數據寄存器;
5)OUT指令目標元件為(wei) Y、M、T、C和S,但不能用於(yu) X;
2、觸點串聯指令(AND/ANI/ANDP/ANDF)
1)AND(與(yu) 指令) 一個(ge) 常開觸點串聯連接指令,完成邏輯“與(yu) ”運算;
2)ANI(與(yu) 反指令) 一個(ge) 常閉觸點串聯連接指令,完成邏輯“與(yu) 非”運算;
3)ANDP 上升沿檢測串聯連接指令;
4)ANDF 下降沿檢測串聯連接指令;
觸點串聯指令的使用說明:
1)AND、ANI、ANDP、ANDF都指是單個(ge) 觸點串聯連接的指令,串聯次數沒有限製,可反複使用。
2)AND、ANI、ANDP、ANDF的目標元元件為(wei) X、Y、M、T、C和S。
3)OUT M101指令之後通過T1的觸點去驅動Y4稱為(wei) 連續輸出。
3、觸點並聯指令(OR/ORI/ORP/ORF)
1)OR(或指令) 用於(yu) 單個(ge) 常開觸點的並聯,實現邏輯“或”運算;
2)ORI(或非指令) 用於(yu) 單個(ge) 常閉觸點的並聯,實現邏輯“或非”運算;
3)ORP 上升沿檢測並聯連接指令;
4)ORF 下降沿檢測並聯連接指令;
觸點並聯指令的使用說明:
1)OR、ORI、ORP、ORF指令都是指單個(ge) 觸點的並聯,並聯觸點的左端接到LD、LDI、LDP或LPF處,右端與(yu) 前一條指令對應觸點的右端相連,觸點並聯指令連續使用的次數不限;
2)OR、ORI、ORP、ORF指令的目標元件為(wei) X、Y、M、T、C、S;
4、塊操作指令(ORB / ANB)
ORB(塊或指令)
1)用於(yu) 兩(liang) 個(ge) 或兩(liang) 個(ge) 以上的觸點串聯連接的電路之間的並聯;
ORB指令的使用說明:
1)幾個(ge) 串聯電路塊並聯連接時,每個(ge) 串聯電路塊開始時應該用LD或LDI指令;
2)有多個(ge) 電路塊並聯回路,如對每個(ge) 電路塊使用ORB指令,則並聯的電路塊數量沒有限製;
3)ORB指令也可以連續使用,但這種程序寫(xie) 法不推薦使用,LD或LDI指令的使用次數不得超過8次,也就是ORB隻能連續使用8次以下;
ANB(塊與(yu) 指令)
1)用於(yu) 兩(liang) 個(ge) 或兩(liang) 個(ge) 以上觸點並聯連接的電路之間的串聯;
ANB指令的使用說明:
1)並聯電路塊串聯連接時,並聯電路塊的開始均用LD或LDI指令;
2)多個(ge) 並聯回路塊連接按順序和前麵的回路串聯時,ANB指令的使用次數沒有限製。也可連續使用ANB,但與(yu) ORB一樣,使用次數在8次以下;
5、置位與(yu) 複位指令(SET/RST)
1)SET(置位指令) 它的作用是使被操作的目標元件置位並保持;
2)RST(複位指令) 使被操作的目標元件複位並保持清零狀態。SET、RST指令的使用,當X0常開接通時,Y0變為(wei) ON狀態並一直保持該狀態,即使X0斷開Y0的ON狀態仍維持不變;隻有當X1的常開閉合時,Y0才變為(wei) OFF狀態並保持,即使X1常開斷開,Y0也仍為(wei) OFF狀態;
SET 、RST指令的使用說明:
1)SET指令的目標元件為(wei) Y、M、S,RST指令的目標元件為(wei) Y、M、S、T、C、D、V 、Z。RST指令常被用來對D、Z、V的內(nei) 容清零,還用來複位積算定時器和計數器;
2)對於(yu) 同一目標元件,SET、RST可多次使用,順序也可隨意,但最後執行者有效;
6、微分指令(PLS/PLF)
1)PLS(上升沿微分指令) 在輸入信號上升沿產(chan) 生一個(ge) 掃描周期的脈衝(chong) 輸出;
2)PLF(下降沿微分指令) 在輸入信號下降沿產(chan) 生一個(ge) 掃描周期的脈衝(chong) 輸出,
利用微分指令檢測到信號的邊沿,通過置位和複位命令控製Y0的狀態;
PLS、PLF指令的使用說明:
1)PLS、PLF指令的目標元件為(wei) Y和M;
2)使用PLS時,僅(jin) 在驅動輸入為(wei) ON後的一個(ge) 掃描周期內(nei) 目標元件ON,M0僅(jin) 在X0的常開觸點由斷到通時的一個(ge) 掃描周期內(nei) 為(wei) ON;使用PLF指令時隻是利用輸入信號的下降沿驅動,其它與(yu) PLS相同;
7、主控指令(MC/MCR)
1)MC(主控指令) 用於(yu) 公共串聯觸點的連接。執行MC後,左母線移到MC觸點的後麵;
2)MCR(主控複位指令) 它是MC指令的複位指令,即利用MCR指令恢複原左母線的位置;
在編程時常會(hui) 出現這樣的情況,多個(ge) 線圈同時受一個(ge) 或一組觸點控製,如果在每個(ge) 線圈的控製電路中都串入同樣的觸點,將占用很多存儲(chu) 單元,使用主控指令就可以解決(jue) 這一問題。
MC、MCR指令,利用MC N0 M100實現左母線右移,使Y0、Y1都在X0的控製之下,其中N0表示嵌套等級,在無嵌套結構中N0的使用次數無限製;利用MCR N0恢複到原左母線狀態。如果X0斷開則會(hui) 跳過MC、MCR之間的指令向下執行。
MC、MCR指令的使用說明:
1)MC、MCR指令的目標元件為(wei) Y和M,但不能用特殊輔助繼電器。MC占3個(ge) 程序步,MCR占2個(ge) 程序步;
2)主控觸點在梯形圖中與(yu) 一般觸點垂直。主控觸點是與(yu) 左母線相連的常開觸點,是控製一組電路的總開關(guan) 。與(yu) 主控觸點相連的觸點必須用LD或LDI指令;
3)MC指令的輸入觸點斷開時,在MC和MCR之內(nei) 的積算定時器、計數器、用複位/置位指令驅動的元件保持其之前的狀態不變。非積算定時器和計數器,用OUT指令驅動的元件將複位,22中當X0斷開,Y0和Y1即變為(wei) OFF;
4)在一個(ge) MC指令區內(nei) 若再使用MC指令稱為(wei) 嵌套。嵌套級數最多為(wei) 8級,編號按N0→N1→N2→N3→N4→N5→N6→N7順序增大,每級的返回用對應的MCR指令,從(cong) 編號大的嵌套級開始複位;
8、堆棧指令(MPS/MRD/MPP)
堆棧指令是FX係列中新增的基本指令,用於(yu) 多重輸出電路,為(wei) 編程帶來便利。在FX係列PLC中有11個(ge) 存儲(chu) 單元,它們(men) 專(zhuan) 門用來存儲(chu) 程序運算的中間結果,被稱為(wei) 棧存儲(chu) 器。
1)MPS(進棧指令) 將運算結果送入棧存儲(chu) 器的第一段,同時將先前送入的數據依次移到棧的下一段;
2)MRD(讀棧指令) 將棧存儲(chu) 器的第一段數據(最後進棧的數據)讀出且該數據繼續保存在棧存儲(chu) 器的第一段,棧內(nei) 的數據不發生移動;
3)MPP(出棧指令) 將棧存儲(chu) 器的第一段數據(最後進棧的數據)讀出且該數據從(cong) 棧中消失,同時將棧中其它數據依次上移;
堆棧指令的使用說明:
1)堆棧指令沒有目標元件;
2)MPS和MPP必須配對使用;
3)由於(yu) 棧存儲(chu) 單元隻有11個(ge) ,所以棧的層次最多11層;
9、邏輯反、空操作與(yu) 結束指令(INV/NOP/END)
1)INV(反指令) 執行該指令後將原來的運算結果取反。反指令的使用如圖10所示,如果X0斷開,則Y0為(wei) ON,否則Y0為(wei) OFF。使用時應注意INV不能象指令表的LD、LDI、LDP、LDF那樣與(yu) 母線連接,也不能象指令表中的OR、ORI、ORP、ORF指令那樣單獨使用;
2)NOP(空操作指令) 不執行操作,但占一個(ge) 程序步。執行NOP時並不做任何事,有時可用NOP指令短接某些觸點或用NOP指令將不要的指令覆蓋。當PLC執行了清除用戶存儲(chu) 器操作後,用戶存儲(chu) 器的內(nei) 容全部變為(wei) 空操作指令;
3)END(結束指令) 表示程序結束。若程序的最後不寫(xie) END指令,則PLC不管實際用戶程序多長,都從(cong) 用戶程序存儲(chu) 器的第一步執行到最後一步;若有END指令,當掃描到END時,則結束執行程序,這樣可以縮短掃描周期。
在程序調試時,可在程序中插入若幹END指令,將程序劃分若幹段,在確定前麵程序段無誤後,依次刪除END指令,直至調試結束;
10、FX係列PLC的步進指令
1)步進指令(STL/RET)步進指令是專(zhuan) 為(wei) 順序控製而設計的指令。在工業(ye) 控製領域許多的控製過程都可用順序控製的方式來實現,使用步進指令實現順序控製既方便實現又便於(yu) 閱讀修改。
FX2N中有兩(liang) 條步進指令:STL(步進觸點指令)和RET(步進返回指令)。
STL和RET指令隻有與(yu) 狀態器S配合才能具有步進功能。如STL S200表示狀態常開觸點,稱為(wei) STL觸點,它在梯形圖中的符號為(wei) -|| ||- ,它沒有常閉觸點。
我們(men) 用每個(ge) 狀態器S記錄一個(ge) 工步,例STL S200有效(為(wei) ON),則進入S200表示的一步(類似於(yu) 本步的總開關(guan) ),開始執行本階段該做的工作,並判斷進入下一步的條件是否滿足。
一旦結束本步信號為(wei) ON,則關(guan) 斷S200進入下一步,如S201步。RET指令是用來複位STL指令的。執行RET後將重回母線,退出步進狀態。
1)狀態轉移圖
一個(ge) 順序控製過程可分為(wei) 若幹個(ge) 階段,也稱為(wei) 步或狀態,每個(ge) 狀態都有不同的動作。當相鄰兩(liang) 狀態之間的轉換條件得到滿足時,就將實現轉換,即由上一個(ge) 狀態轉換到下一個(ge) 狀態執行。
我們(men) 常用狀態轉移圖(功能表圖)描述這種順序控製過程。用狀態器S記錄每個(ge) 狀態,X為(wei) 轉換條件。如當X1為(wei) ON時,則係統由S20狀態轉為(wei) S21狀態。
狀態轉移圖中的每一步包含三個(ge) 內(nei) 容:本步驅動的內(nei) 容,轉移條件及指令的轉換目標。
步驅動Y0,當X1有效為(wei) ON時,則係統由S20狀態轉為(wei) S21狀態,X1即為(wei) 轉換條件,轉換的目標為(wei) S21步。
西門子PLC指令詳解
指令( 英文全稱意思 ):指令含義(yi)
1、LD ( Load 裝載 ):動合觸點
2、LDN ( Load Not 不裝載 ):動斷觸點
3、A ( And 與(yu) 動合):用於(yu) 動合觸點串聯
4、AN ( And Not 與(yu) 動斷 ):用於(yu) 動斷觸點串聯
5、O ( Or 或 動合 ) :用於(yu) 動合觸點並聯
6、ON ( Or Not 或 動斷 ):用於(yu) 動斷觸點並聯
7、= ( Out 輸出 ):用於(yu) 線圈輸出
8、OLD ( Or Lode):塊或
9、ALD ( And Lode):塊與(yu)
10、LPS ( Logic Push ):邏輯入棧
11、LRD ( Logic Read ):邏輯讀棧
12、LPP ( Logic Pop ):邏輯出棧
13、NOT ( not 並非 ):非
14、NOP ( No Operation Performed ):無操作
15、AENO ( And ENO ):指令盒輸出端ENO相與(yu)
16、S ( Set 放置 ):置1
17、R ( Reset 重置,清零 ):清零
18、P ( Positive):上升沿
19、N ( Negative):下降沿
20、TON ( On_Delay Timer ):接通延時定時器
21、TONR ( Retentive On_Delay Timer ):有記憶接通延時定時器
22、TOF ( Off_ Delay Timer ):斷開延時定時器
23、CTU ( Count Up ):增計數器
24、CTD ( Count Down ):減計數器
25、CTDU ( Count Up/ Count Down ):增減計數器
26、ADD ( add 加 ) :加注意
//ADD_I (_ I 表示整數)
ADD_DI( DI表示雙字節整數)
ADD-R (R 表示實數)
它們(men) 都是加運算隻是數的大小不同。
27、SUB ( Subtract 減去,減少):減
28、MUL ( Multiply ):乘
29、DIV ( Divide ):除
30、SQRT ( Square root ):求平方根
31、LN ( Napierian Logarithm 自然對數 ):求自然對數
32、EXP ( Exponential 指數的 ):求指數
33、INC_B ( Increment 增加 ):增1
//其中_B代表數據類型 還有W(字節)、DW雙字後麵幾個(ge) 都是這樣的。
34、DEC_B ( Decrement 減少 ):減1
35、WAND_B ( Word and 與(yu) 命令 ):邏輯與(yu)
36、WOR_B ( Word or 或命令):邏輯或
37、WXOR_B ( Word exclusive or 異或命令):邏輯異或
38、INV_B ( Inverse 相反 ):取反
39、MOV _B ( Move 移動 ):數據傳(chuan) 送
40、BLKMOV_B ( Block Move 塊移動):數據塊傳(chuan) 送
41、SWAP ( Swap 交換 ):字節交換
42、FILL ( Fill 填充 ):字填充
43、ROL_B ( Rotate Left 循環 向左):循環左移位
44、ROR_B ( Rotate Right 循環 向右):循環右移位
45、SHL_B ( Shift Left 移動向左):左移動
46、SHR_B ( Shift Right 移動向右 ):右移動
47、SHRB ( Shift buffer 移動緩存):寄存器移位
48、STOP ( Stop 停止 ):暫停
49、END /MEND ( End /Mend ):條件/無條件結束
50、WDR ( Watch dog reset ):看門狗複位
51、JMP ( Jump 跳):跳轉
52、LBL ( Label 位置 ):跳轉標號
53、FOR ( For 循環 ):循環
54、NEXT ( Next 再下去):循環結束
55、SBR ( Subprogram Regulating子程序控製 ):子程序調用
56、SBR_T ( Subprogram Regulating Take ):帶參數子程序調用
57、SCR ( Sequence Control 順序控製 ):步開始
58、SCRT ( Sequence Control Transfer 順序控製轉移 ):步轉移
59、SCRE ( Sequence Control End 順序控製結束 ) :步結束
60、AD_T_TBL ( Add data to table 添加數據到表格中):填數據表
61、FIFO ( First in First out 先進先出 ):先進先出
62、LIFO ( Last in First out 後進先出 ):後進先出
63、TBL_FIND ( Table Find 表格查找 ) :表查找
64、BCD_I ( Binary Coded Decimal _I 二進製編碼的十進製 ):BCD 碼轉整數
65、I_BCD ( I_ Binary Coded DecimaL ):整數轉BCD碼
66、B_I ( Bit to int ):字節轉整數
67、I_B ( int to bit ):整數轉字節
68、DI_I ( Double int to int ):雙整數轉整數
69、I_DI ( int to double int ):整數轉雙整數
70、ROUND ( Round 取整 ):實數轉雙整數
71、TRUNC ( Trunc 截取 ):轉換32位實數整數部分(舍去小數取整)
72、DI_I (double int to int ):雙整數轉實數
73、ENCO ( Encode 編碼):編碼
74、DECO ( Decode 譯碼):譯碼
75、SEG ( Segment decoder分斷譯碼器 ):七段顯示譯碼器
76、ATH ( ASCII碼 turn hex ):ASCII碼轉16進製
77、HTA ( Hexadecimal to ascii):16進製轉ASCII碼
78、ITA ( // int to ascii):整數轉ASCII碼
79、DTA ( // double int to ascii ):雙整轉ASCII碼
80、RTA ( // real to ascii): 實數轉ASCII碼
81、ATCH (//attach ):中斷連接
82、DTCH ( Depatch ):中斷分離
83、HDEF ( High speed counter definition ):高速計數器定義(yi)
84、HSC ( High Speed Counter 高速計數器 ):啟動高速計數器
85、PLS ( Pulse 脈衝(chong) ):脈衝(chong) 輸出
86、READ_ RTC ( Read real time clock 讀實時時鍾 ):讀實時時鍾
87、SET_RTC ( Set real time clock ):寫(xie) 實時時鍾
88、XMT ( Transmitter ):自由發送
89、RCV ( Receive 接收 ):自由接收
90、NETR ( Net read 網絡讀 ):網絡讀
91、NETW ( Net write 網絡寫(xie) ):網絡寫(xie)
92、GET_ADDR ( Get address 獲取地址 ):獲取口地址
93、SET_ADDR ( Set address 設置地址 ):設定口地址
94、PID ( Proportional Integral Differential 比例、積分、微分 ):比例積分微分調節器。
看完上麵的三菱、西門子PLC的指令後,有沒有覺得豁然開朗了呢???
本指令表共有246個(ge) 指令,包含FX0N的指令、FX1S的指令、FX1N的指令、FX2N的指令、FX3NC 的指令等。