用戶在編寫程序時,變量的格式必須與指令的數據類型相匹配。S7系列plc的數據類型主要分為基本數據類型、復合數據類型和參數類型,對于S7 - 1500 PLC,還包括系統數據類型和硬件數據類型。 基本數據類型的操作數通常是32位以內的數據;緮祿愋头譃槲粩祿愋、數學數據類型、字符數據類型、定時器數據類型以及日期和時間數據類型。在日期和時間數據類型中,存在超過32位的數據類型;對于S7 - 1500 PLC而言,還增加了許多超過32位的此類數據類型。為方便比較學習,故一并放在基本數據類型中進行介紹。 位數據類型主要有布爾型( Bool)、字節型(Byte)、字型(Word)和雙字型( DWord),對于S7 -1500 PLC,還支持長字型(LWord),而S7 - 300/400 PLC僅支持前4種。 在位數據類型中,只表示存儲器中各位的狀態是0 (FALSE)還是1(TURE)。其長度可以是一位( Bit)、一個字節(Byte,8位)、一個字(Word,16位)、一個雙字(Double Word,32位)或一個長字(Long Word,64位),分別對應Bool、Byte、Word、DWord和LWord類型。位數據類型通常用二進制或十六進制格式賦值,如2# 01010101、16# 283C等。需注意的是,一位布爾型數據類型不能直接賦常數值。 位數據類型的常數表示需要在數據之前根據存儲單元長度( Byte、Word、DWord、LWord)加上B#、W#、DW#或LW#(Bool型除外),所能表示的數據范圍見表1。 表1 位數據類型的數據表示范圍 對于S7 - 1500 PLC,數學數據類型主要有整數類型和實數類型(浮點數類型)。 整數類型又分為有符號整數類型和無符號整數類型。有符號整數類型包括短整數型( SInt)、整數型(Int)、雙整數型(DInt)和長整數型(Llnt);無符號整數類型包括無符號短整數型( USInt)、無符號整數型(UInt)、無符號雙整數型(UDInt)和無符號長整數型( ULInt)。對于S7 - 300/400 PLC,僅支持整數型Int和雙整數型DInt。 短整數型、整數型、雙整數型和長整數型數據為有符號整數,分別為8位、16位、32位和64位,在存儲器中用二進制補碼表示,最高位為符號位(0表示正數、1表示負數),其余各位為數值位。而無符號短整數型、無符號整數型、無符號雙整數型和無符號長整數型數據均為無符號整數,每一位均為有效數值。 實數類型具體包括實數型( Real)和長實數型(LReal),均為有符號的浮點數,分別占用32位和64位,最高位為符號位(0表示正數、1表示負數),接下來的8位(或11位)為指數位,剩余位為尾數位,共同構成實數數值。實數的特點是利用有限的32位或64位可以表示一個很大的數,也可以表示一個很小的數。對于S7 - 300/400 PLC,僅支持實數型Real。 原有的字符數據類型( Char)長度為8 bit,操作數在存儲器中占一個字節,以ASCII碼格式存儲單個字符。常量表示時使用單引號,例如常量字符A表示為‘A’或CHAR#′A′。表2列出了Char數據類型的屬性。 表2 Char數據類型的屬性
對于S7 - 1500 PLC,還支持寬字符類型(WChar),其操作數長度為16 bit,即在存儲器中占用2B,以Unicode格式存儲擴展字符集中的單個字符。但只涉及整個Unicode范圍的一部分。常量表示時需要加WCHAR#前綴及單引號,例如常量字符a表示為WCHAR#‘a’?刂谱址谳斎霑r,以美元符號表示。表3列出了WChar數據類型的屬性。 表3 WChar數據類型的屬性
定時器數據類型主要包括時間( Time)和S5時間(S5Time)數據類型。與S7 - 300/400 PLC相比,S7 - 1500 PLC還支持長時間(LTime)數據類型。 時間( Time)數據類型為32位的IEC定時器類型,內容用毫秒(ms)為單位的雙整數表示,可以是正數或負數,表示信息包括天(d)、小時(h)、分鐘(m)、秒(s)和毫秒( ms)。表4列出了Time數據類型的屬性。 表4 Time數據類型的屬性 S5時間(S5 Time)數據類型變量為16 bit,其中最高兩位未用,接下來的兩位為時基信息(00表示0. 01 s,01表示0.1 s,10表示1s,11表示10 s),剩余12位為BCD碼格式的時間常數,其范圍為0~ 999,如圖1所示。該格式所表示的時間為時間常數與時基的乘積。S5 Time的常數格式為時間之前加S5T#,例如S5T#16sl00 ms,以時基0.1 s表示的時間常數為161,故對應的變量內容為2#0001 0001 0110 0001。 表5 列出了S5 Time數據類型的取值范圍等屬性。 表5 S5Time數據類型的屬性 圖1 S5 Time時間格式 長時間( LTime)數據類型為64位IEC定時器類型,操作數內容以納秒(ns)為單位的長整數表示,可以是正數或負數。表示信息包括天(d)、小時(h)、分鐘(m)、秒(s)、毫秒( ms)、微秒(μS)和納秒(ns)。常數表示格式為時間前加LT#,如LT#11ns。表6列出了LTime數據類型的屬性。 表6 LTime數據類型的屬性 |
電工學習網 ( )
GMT+8, 2021-10-28 15:25