西門子S7-300PLC的數據類型介紹
S7-300的數據類型分以下三種:基本數據類型、復合數據類型和參數類型。
一、基本數據類型
1、位(bit)
常稱為BOOL(布爾型),只有兩個值:0或1。如:I0.0,Q0.1,M0.0,V0.1等。
2、字節(Byte)
一個字節(Byte)等于8位(Bit),其中0位為最低位,7位為最高位。如:IB0(包括I0.0~I0.7位),QB0(包括Q0.0~Q0.7位),MB0,VB0等。范圍:00~FF(十進制的0~255)。
3、字(Word)
相鄰的兩字節(Byte)組成一個字(Word),來表示一個無符號數,因此,字為16位。如:IW0是由IB0和IB1組成的,其中I是區域標識符,W表示字,0是字的起始字節。需要注意的是,字的起始字節(如上例中的“0”)都必須是偶數。字的范圍為十六進制的0000~FFFF(即十進制的0~65536)。在編程時要注意,如果已經用了IW0,如再用IB0或IB1要特別加以小心。
4、雙字(DoubleWord)
相鄰的兩個字(Word)組成一個雙字,來表示一個無符號數。因此,雙字為32位。如:MD100是由MW100和MW102組成的,其中M是區域標識符,D表示雙字,100是雙字的起始字節。需要注意的是,雙字的起始字節(如上例中的“100”)和字一樣,必須是偶數。雙字的范圍為十六進制的0000~FFFFFFFF(即十進制的0~4294967295)。在編程時要注意,如果已經用了MD100,如再用MW100或MW102要特別加以小心。
以上的字節、字和雙字數據類型均為無符號數,即只有正數,沒有負數。
5、16位整數(INT,Integer)
整數為有符號數,最高位為符號位,1表示負數,0表示正數。范圍為-32768~32767。
6、32位整數(DINT,DoubleInteger)
32位整數和16位整數一樣,為有符號數,最高位為符號位,1表示負數,0表示正數。范圍為-2147483648~2147483647。
7、浮點數(R,Real)
浮點數為32位,可以用來表示小數。浮點數可以為:1.m×2e,其存儲結構如圖所示:
8、常數的表示方法
常數可以是字節、字或雙字,CPU以二進制方式存儲,也可以用十進制,十六進制ASCII碼或浮點數形式來表示。如下圖所示:
說明:(1)S5T#格式為:S5T#aD_bH_cM_dS_eMS,其中a,b,c,d,e分別是日,小時,分,秒和毫秒的數值,輸入時可以省掉下劃線,如表中所示。
(2)D#取值范圍為:D#1990_1_1~D#2168_12_31。
二、復合數據類型
用戶通過復合基本數據類型而生成就是復合數據類型。
復合數據類型包括以下幾種:
1、數組(ARRAY)
將一組同一類型的數據組合在一起組成一個單位就是數組。
2、結構(STRUCT)
將一組同不同類型的數據組合在一起組成一個單位就是結構。
3、字符串(bbbbbb)
字符串是由最多254個字符組成的一維數組。
4、日期和時間(DATE-AND-TIME)
用于存儲年、月、日、時、分、秒、毫秒和星期的數據。占用8個字節,BCD編碼。星期天代碼為1,星期一~星期六代碼分別是2~7。
如:DT#2004_07_15_12:30:15.200為2004年7月15日12時30分15.2秒。
5、用戶定義的數據類型(UDT,User-DefinedDataTypes)
由用戶將基本數據類型和復合數據類型組合在一起形成的數據類型。
可以在數據塊DB和變量聲明表中定義復合數據類型。
三、參數類型
是為在邏輯塊之間傳遞參數的形參(Formalbbbbbeter,形式參數)定義的數據類型。










