西門子PLC指令94個,終於整理全瞭,學會開發效率翻倍

一、PLC指令

PLC指令是可編程邏輯控制器(PLC)使用的機器指令。它是一系列的低級指令,用於控制PLC內部的運算、邏輯運算、定時、計數、跳轉等功能。

PLC指令有以下幾個特征:

  • 簡單明瞭:PLC指令都比較基礎,容易理解,用於實現簡單的控制功能。
  • 定址方式:PLC指令中的操作數可以有隱式或顯式的地址
  • 面向比特:PLC指令都是面向比特或字的,可以直接操作I/O和內存裡的一個或多個比特
  • 硬實時:PLC指令可以保證硬實時的執行,用於工業控制領域
  • 標準化:不同PLC品牌的指令大同小異,都遵循一定的標準,容易理解和遷移

PLC指令是PLC軟件設計的基礎,工程師通過組合各種指令,來實現對工業過程的控制和自動化。舉例一些常見的PLC指令:

– LD:加載指令,用於將操作數加載至累加器。

– ST:存儲指令,用於將累加器的值存儲至操作數。

– ADD:加法指令,用於將兩個操作數相加。

– JMP:無條件跳轉指令,用於跳轉至指定標簽。

– TON:定時器指令,用於實現計時功能。

– CTU:上升沿觸發計數器,用於實現計數。

– AND:邏輯與指令,用於實現邏輯與運算。

二、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 跳):跳轉

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 比例、積分、微分 ):比例積分微分調節器。

赞(0)