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










