PLC使用的過程中,會有各種類型的數據需要處理。如十進制數、16進制數、2進制數、浮點數等。除了能夠熟練的使用各種類型的數據外,深入的掌握這些數據的內部處理機制,可以在PLC編程使用更加輕鬆的處理各種問題。這裡就各種類型數據在PLC內部的表示方法展開分享。
十進制(DEC)
即為我們通常所使用的1234567890……這樣類型的數據。在PLC內部,十進制數一般用於如下幾個方面:
- 定時器和計數器的設定值;如PLC編程中使用的K10即為常數10。
- 輔助繼電器(M)、定時器(T)、計數器(C)、狀態(S)等的編號;如M10、T1、C1、S1等,使用十進制數表示相應內部器件的地址編號。
16進制(HEX)
應用指令的操作數中的數值指定和指令動作的指定(H常數)。在做通信處理時,常會用到16進制數據的情況。
2進制數(BIN)
即為0或者1這樣的數據。邏輯控制處理的數據,就是0和1這兩種類型的數據。其PLC內部對上述的10進制和16進制數據處理,均式轉換為2進制處理的。其轉換過程如下圖對應:
從上圖中,二進制的最高位為符號位。當最高位位0時,所表示的數為正數;當最高位為1時,所表示的數為負數。
8進制(OCT)
一般對PLC的IO地址,均是按照8進制來進行分配處理的。如X0~X7、X10~X17。編號尾部以0開始以7結束,總共8位。
BCD(BCD)
BCD就是將構成10進制數的各位上0~9的數值以四位的BIN來表現的形式。實際運用過程中,這種已經很少使用了。
實數(浮點數)
PLC運行過程中,運算採用2進制浮點數(實數),監控採用了10進制浮點數(實數)。
數據間的轉換
各種類型數據間的轉換關係如下:
以上數據類型的運用場景如下:
二進制浮點數的轉換關係:
二進制浮點數的有效位數:
- 最小絕對值1175494×10^-44
- 最大絕對值3402823×10^32
特別說明:
在進行數據處理過程中,特殊書繼電器M8020(零)、M8021(借位)、M8022(進位)的處理。
- M8020(零):結果真為0時為1
- M8021(借位):結果未達到最小單位,但不是0時為1
- M8022(進位):結果的絕對值超出可以處理的數值時為1
閱讀更多 自動化工程師的日常 的文章