「電氣基礎」終於全了!吃透三菱、西門子全系列指令,都在這裡!

「來源: |機械工程師 ID:MechanicalEngineers」

專注於

機械行業、專業、職業

資訊分享

服務於製造業百萬工程師

推薦閱讀

【專業積累】這份PPt拿走,典型零件的選材原則及工藝路線設計

【行業觀察】清華碩士的集體逃離!中科院科研人員自白:我為什麼離開北京

【專業積累】氣缸是如何工作的,3D動畫展示內部結構及原理,又長見識了

【話說一二】機械工程師考證那些事兒

俗話說,不積跬步無以至千里,不固地基無以成高樓。那麼,想學好三菱、西門子系列的PLC,需要掌握哪些常用指令呢?作為一名PLC工程師,這些指令你都掌握了嗎?

三菱PLC指令詳解

「電氣基礎」終於全了!吃透三菱、西門子全系列指令,都在這裡!

「電氣基礎」終於全了!吃透三菱、西門子全系列指令,都在這裡!

1

取指令與輸出指令(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;

「電氣基礎」終於全了!吃透三菱、西門子全系列指令,都在這裡!

2

觸點串聯指令(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稱為連續輸出。

「電氣基礎」終於全了!吃透三菱、西門子全系列指令,都在這裡!

3

觸點

並聯指令(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;

「電氣基礎」終於全了!吃透三菱、西門子全系列指令,都在這裡!

4

塊操作指令(ORB / ANB)

ORB(塊或指令)

1)用於兩個或兩個以上的觸點串聯連線的電路之間的並聯;

ORB指令的使用說明:

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

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

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

ANB(塊與指令)

1)用於兩個或兩個以上觸點並聯連線的電路之間的串聯;

ANB指令的使用說明:

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

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

「電氣基礎」終於全了!吃透三菱、西門子全系列指令,都在這裡!

5

置位與復位指令(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可多次使用,順序也可隨意,但最後執行者有效;

「電氣基礎」終於全了!吃透三菱、西門子全系列指令,都在這裡!

6

微分指令(PLS/PLF)

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

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

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

PLS、PLF指令的使用說明:

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

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

「電氣基礎」終於全了!吃透三菱、西門子全系列指令,都在這裡!

7

主控指令(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指令,從編號大的巢狀級開始復位;

「電氣基礎」終於全了!吃透三菱、西門子全系列指令,都在這裡!

8

堆疊指令(MPS/MRD/MPP)

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

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

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

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

堆疊指令的使用說明:

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

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

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

9

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

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

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

3)END(結束指令) 表示程式結束。若程式的最後不寫END指令,則PLC不管實際使用者程式多長,都從使用者程式儲存器的第一步執行到最後一步;若有END指令,當掃描到END時,則結束執行程式,這樣可以縮短掃描週期。

在程式除錯時,可在程式中插入若干END指令,將程式劃分若干段,在確定前面程式段無誤後,依次刪除END指令,直至除錯結束;

「電氣基礎」終於全了!吃透三菱、西門子全系列指令,都在這裡!

10

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後將重回母線,退出步進狀態。

1)狀態轉移圖

一個順序控制過程可分為若干個階段,也稱為步或狀態,每個狀態都有不同的動作。當相鄰兩狀態之間的轉換條件得到滿足時,就將實現轉換,即由上一個狀態轉換到下一個狀態執行。

我們常用狀態轉移圖(功能表圖)描述這種順序控制過程。用狀態器S記錄每個狀態,X為轉換條件。如當X1為ON時,則系統由S20狀態轉為S21狀態。

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

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

西門子PLC指令詳解

指令( 英文全稱意思 ):指令含義

1、LD ( Load 裝載 ):動合觸點

2、LDN ( Load Not 不裝載 ):動斷觸點

3、A ( And 與 動合):用於動合觸點串聯

4、AN ( And Not 與 動斷 ):用於動斷觸點串聯

5、O ( Or 或 動合 ) :用於動合觸點並聯

6、ON ( Or Not 或 動斷 ):用於動斷觸點並聯

7、= ( Out 輸出 ):用於線圈輸出

8、OLD ( Or Lode):塊或

9、ALD ( And Lode):塊與

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相與

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 表示實數)

它們都是加運算只是數的大小不同。

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雙字後面幾個都是這樣的。

34、DEC_B ( Decrement 減少 ):減1

35、WAND_B ( Word and 與命令 ):邏輯與

36、WOR_B ( Word or 或命令):邏輯或

37、WXOR_B ( Word exclusive or 異或命令):邏輯異或

38、INV_B ( Inverse 相反 ):取反

39、MOV _B ( Move 移動 ):資料傳送

40、BLKMOV_B ( Block Move 塊移動):資料塊傳送

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 跳):跳轉https://www。diangon。com/wenku/plc/

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 ):高速計數器定義

84、HSC ( High Speed Counter 高速計數器 ):啟動高速計數器

85、PLS ( Pulse 脈衝 ):脈衝輸出

86、READ_ RTC ( Read real time clock 讀實時時鐘 ):讀實時時鐘

87、SET_RTC ( Set real time clock ):寫實時時鐘

88、XMT ( Transmitter ):自由傳送

89、RCV ( Receive 接收 ):自由接收

90、NETR ( Net read 網路讀 ):網路讀

91、NETW ( Net write 網路寫 ):網路寫

92、GET_ADDR ( Get address 獲取地址 ):獲取口地址

93、SET_ADDR ( Set address 設定地址 ):設定口地址

94、PID ( Proportional Integral Differential 比例、積分、微分 ):比例積分微分調節器。

向下拖動 檢視全部

免責宣告:本文系網路轉載,版權歸原作者所有。如涉及版權,請聯絡刪除!文中內容僅代表作者個人觀點,轉載不同於本平臺認同或者持有相同觀點。

申請加入

機械工程師微信群