PLC是工業控制不可缺少的自動化核心設備,要想學好PLC就必須要先了解數據類型。數據類型是所有自動化軟件的編程基礎,隻有熟練掌握,才能随心所欲的駕馭。下面我們就以西門子S7-200為例,詳細講述這些常用的數據類型。
siemens PLC
1、基本數據類型
基本數據類型由以下幾種:
1.1、位(bit)
定義為BOOL(布爾型),隻有兩個值:0 或 1。如:I0.0,Q0.1,M0.0,V0.1 等。
1.2、字節(Byte)
定義一個字節(Byte)等于8 位(Bit),其中0位為最低位,7 位為最高位。
如:IB0(包括 I0.0~I0.7 位),QB0(包括Q0.0~Q0.7 位),MB0,VB0 等。
用十六進制表示的範圍為:00~FF,用十進制表示的範圍為 0~255。
字節
1.3、字(Word)
定義相鄰的兩字節(Byte)組成一個字(Word),表示一個無符号整數,所以一個字為16位。
如:IW0 由 IB0 和 IB1 組成的,其中I是輸入映象寄存器,W表示字,0是字的起始字節。特别注意的是:起始字節必須是偶數。
字的範圍為十六進制的 0000~FFFF,十進制的 0~65536。
在編程時,如果已經使用 IW0,如果想再用 IB0或 IB1,就要特别慎重,避免重複定義。
字
1.4、雙字(Double Word)
相鄰的兩個字(Word)組成一個雙字,來表示一個無符号數。因此,雙字為 32 位。
如:MD100 是由 MW100 和 MW102 組成的,其中M是位存儲區,D表示雙字,100是雙字的起始字節。特别注意的是:雙字的起始字節也必須是偶數。
雙字的範圍為十六進制的 0000~FFFFFFFF(即十進制的 0~4294967295)。
在編程時如果已經使用了MD100,如果再用 MW100或MW102,就要特别慎重,避免重複定義。
雙字
特别注意:以上的字節、字和雙字數據類型均為無符号數,即隻有正數,沒有負數。
1.5、16位整數(INT,Integer)
整數為有符号數,最高位為符号位,1表示負數,0表示正數。範圍為-32768~32767。
正整數
1.6、32 位整數(DINT,Double Integer)
32 位整數和16位整數一樣,為有符号數,最高位為符号位,1表示負數,0表示正數。範圍為-2147483648~2147483647。
負整數
1.7、浮點數(R,Real)
浮點數為 32 位,可以用來表示小數。浮點數可以為:1.m×2e。
單精度浮點數
2、複合數據類型
用戶通過複合基本數據類型而生成就是複合數據類型。
複合數據類型包括以下幾種:
2.1、數組(ARRAY)
将一組同一類型的數據組合在一起組成一個單位就是數組。
2.2、結構(STRUCT)
将一組同不同類型的數據組合在一起組成一個單位就是結構。
2.3、字符串(STRING)
字符串是由最多 254 個字符組成的一維數組。
2.4、日期和時間(DATE-AND-TIME)
用于存儲年、月、日、時、分、秒、毫秒和星期的數據。占用 8 個字節,BCD 編碼。
星期天代碼為1,星期一~星期六代碼分别是 2~7。
如:DT#2004_07_15_12:30:15.200 為 2004 年 7 月 15 日 12 時 30 分 15.2 秒。
2.5、用戶定義的數據類型(UDT,User-Defined Data Type)
由用戶将基本數據類型和複合數據類型組合在一起形成的數據類型。
可以在數據塊DB和變量聲明表中定義複合數據類型。
3、數據類型彙總表格
4、舉例說明
對于有符号的整數來說,最高位用作符号位,餘下的位才是數值部分。
下面以有符号整數INT來舉例說明其數值範圍為什麼是-32768-32767?
最高位是符号位,0為" "、1為"-,去掉一個符号位後,餘下的數據隻有15位。
15位二進制1對應的整數最大正整數為2^15-1=32767,最大值為 32767,對應二進制:0111 1111 1111 1111。即十進制範圍:0~32767;
15位二進制1對應的整數最大負整數為-2^15=-32768,最大值為-32768,對應二進制:1111 1111 1111 1111。即十進制範圍:-32768~-1;
西門子PLC
其實,數據類型簡單也複雜,尤其是自定義數據類型。看得懂,并不代表你能在編程過程中能正确使用。隻有自己動手編程,對不同的數據類型進行定義和使用,才能有深入地理解和掌握。當你對數據類型充分理解後,就可以學習數據的尋址。堅持不懈的學習和實際編程,才會有可能成為變成專家。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!