西門子PLC S7-200的數據類型
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、雙字(DoubleWord)
相鄰的兩個字(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,DoubleInteger)
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-DefinedDataType)
由用戶將基本數據類型和復合數據類型組合在一起形成的數據類型。
可以在數據塊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;