S7 PLC的數(shù)據(jù)類型
發(fā)布于2022-12-21 13:42
56
2
標(biāo)簽:PLC
在PLC程序中,為了進(jìn)行數(shù)學(xué)運(yùn)算、設(shè)定定時(shí)器時(shí)間、設(shè)定計(jì)數(shù)器計(jì)數(shù)值等,都需要使用各種數(shù)據(jù)。
程序中的各種數(shù)據(jù)(如常數(shù)、十六進(jìn)制數(shù)、浮點(diǎn)數(shù)、時(shí)間、數(shù)組等)都必須是PLC所允許的類型與可識(shí)別的格式,即:PLC對數(shù)據(jù)有"類型"與"格式"兩方面的要求。
S7系列PLC根據(jù)數(shù)據(jù)的字長,允許使用的類型有基本數(shù)據(jù)、復(fù)合數(shù)據(jù)、參數(shù)三大類。注意:三大數(shù)據(jù)類型覆蓋了S7全系列PLC,實(shí)際上某些型號的PLC(如S7-200)只能使用其中的某一種類型,或者某類型中的部分?jǐn)?shù)據(jù),在實(shí)際使用時(shí)必須注意區(qū)別,編程時(shí)應(yīng)參照說明書中的有關(guān)內(nèi)容。
①基本數(shù)據(jù)
基本數(shù)據(jù)是指字長在2個(gè)字(32位)以下的數(shù)據(jù),包括二進(jìn)制位(bit)、字節(jié)(Byte)、字(Word)、雙字(Double Word)、ASCII字符、整數(shù)(Integer)、雙字長整數(shù)(Double Integer)等,這些數(shù)據(jù)符合IEC1131-3的規(guī)定。
基本數(shù)據(jù)在PLC存儲(chǔ)器中有固定的長度。如:二進(jìn)制位為1位,字節(jié)為8位,字為16 位,雙字為32位等。
當(dāng)PLC使用符號地址時(shí),在符號表或地址聲明表的"類型(Type)"欄必須填寫數(shù)據(jù)的"類型代號",以明確所使用數(shù)據(jù)的格式與所占的字長。
在S7系列PLC中,基本數(shù)據(jù)的數(shù)據(jù)類型代號與輸入范圍如表3-4所示。
表中所說的 ASCII(American Strand Code for Information Interchange,美國標(biāo)準(zhǔn)信息交換編碼)是利用7位二進(jìn)制(00~7F)來代表1個(gè)字符的最普遍的編碼方式,常用于串行通信。7位二進(jìn)制(00~7F)與字符的對應(yīng)關(guān)系見表3-5。S7可以使用的代碼范圍為31~7E、"DEL"(代碼7F)不可以使用。
②復(fù)合數(shù)據(jù)
復(fù)合數(shù)據(jù)是指字長大于2個(gè)字(32位)的數(shù)據(jù),數(shù)據(jù)可以通過基本數(shù)據(jù)組合而成。S7可以使用的復(fù)合數(shù)據(jù)包括以下幾類。
a.數(shù)組。所謂數(shù)組(類型代號ARRAY),是將同類型的基本數(shù)據(jù)進(jìn)行組合而形成的單元數(shù)據(jù),如表格數(shù)據(jù)等。
b.結(jié)構(gòu)。所謂結(jié)構(gòu)(STRUCT),是將不同類型的基本數(shù)據(jù)進(jìn)行組合而形成的單元數(shù)據(jù). c.字符串。所謂字符串(STRING),是多個(gè)相同或不同字符(如ASCII碼)的組合。字符串的默認(rèn)長度為256字節(jié),其中2字節(jié)用于存放字頭,實(shí)際字符最大可以到254個(gè)d.日期與時(shí)間。日期與時(shí)間(DATE-AND-TIME)用于存儲(chǔ)實(shí)時(shí)時(shí)間,格式為年-月-日-時(shí)-分秒;占用4個(gè)字長(8個(gè)字節(jié)),使用BCD碼。其中,年、月、日、時(shí)、分、秒各為2位(占1個(gè)字節(jié));毫秒為3位(占1.5個(gè)字節(jié))。
例如,2006年11月15日8點(diǎn)30分58秒的存儲(chǔ)格式為:06-11-15-08:30:58.000。e.用戶定義數(shù)據(jù)。編程人員可以將S7的以上各種數(shù)據(jù)類型進(jìn)行重新組合,生成新的數(shù)據(jù)類型,這一數(shù)據(jù)類型稱為"用戶定義數(shù)據(jù)(User Defined Data Types)",數(shù)據(jù)類型代號為UDT。
③參數(shù)
在SIEMENS公司的S7系列PLC中,在邏輯塊之間進(jìn)行相互傳遞的數(shù)據(jù)稱為參數(shù)。S7的參數(shù)分為“形式參數(shù)”與“實(shí)際參數(shù)”兩類。
在結(jié)構(gòu)化編程時(shí),為了使得某一功能塊能夠成為可以在同一PLC循環(huán)內(nèi)多次調(diào)用的通用功能塊,功能塊中所使用的信號與數(shù)據(jù)不可以是“絕對地址”或“絕對數(shù)值”,它們只能以“符號地址”或“符號數(shù)據(jù)”的形式出現(xiàn)。調(diào)用通用功能塊時(shí),可以通過對這些“符號地址"或"符號數(shù)據(jù)"的不同賦值,在每次調(diào)用同一功能塊時(shí),得到不同的結(jié)果。
被調(diào)用的功能塊中所使用的“符號”稱為形式參數(shù)(Format Parameter),而在調(diào)用塊中對“符號”所賦予的實(shí)際地址或?qū)嶋H數(shù)值稱為實(shí)際參數(shù)(Actual Parameter)。
如圖3-22所示,圖中的start、stop、run為形式參數(shù),而l0.1、l0.2、Q0.1則為實(shí)際參數(shù)。
在每次調(diào)用功能塊前,必須用實(shí)際參數(shù)對塊中所使用的形式參數(shù)賦值。實(shí)際參數(shù)與形式參數(shù)的數(shù)據(jù)類型必須一致,例如,當(dāng)功能塊中的形式參數(shù)定義的數(shù)據(jù)類型為"字(word)"時(shí),則賦值的實(shí)際參數(shù)必須為字格式,如MWO、IWO、QWO等,而不能用M0.1、10.1、Q0.1或 MB0、IB0、QB0等進(jìn)行賦值。
S7中可以使用的參數(shù)類型有表3-6所示的幾種。