有關(guān)西門子s7-200系列plc的編程例子,學(xué)習(xí)下轉(zhuǎn)換指令的用法,先看下數(shù)據(jù)類型和存儲(chǔ)類型及數(shù)據(jù)長(zhǎng)度,然后具體了解下西門子s7-200中轉(zhuǎn)換指令的使用方法。
西門子plc梯形圖實(shí)例 s7-200轉(zhuǎn)換指令,數(shù)據(jù)類型
先介紹下數(shù)據(jù)類型和存儲(chǔ)類型及數(shù)據(jù)長(zhǎng)度,參考下圖:
來看一道運(yùn)算題: 8×6+48690=?
先看下題目中的第一步,預(yù)算的數(shù)據(jù)包括結(jié)果,都沒有超過“字節(jié)”的長(zhǎng)度范圍,可以使用變量存儲(chǔ)區(qū)的字節(jié)類型+地址位,存儲(chǔ)運(yùn)算結(jié)果。
運(yùn)算后的結(jié)果是在整數(shù)I,而相加運(yùn)算中48690則是DI(雙整數(shù)),如果直接用整數(shù)相加指令的話,數(shù)據(jù)輸入時(shí)會(huì)報(bào)錯(cuò)。
這里采取一個(gè)“就高不就低”的原則,即不論是參與運(yùn)算的數(shù)據(jù),還是數(shù)據(jù)運(yùn)算的結(jié)果,以數(shù)據(jù)長(zhǎng)度最高的數(shù)據(jù)類型為準(zhǔn)。
以上題為例,需要把VW0的結(jié)果轉(zhuǎn)換成為DI類型后,再與48690進(jìn)行運(yùn)算,如下圖:
在數(shù)據(jù)轉(zhuǎn)化的過程中,整數(shù)轉(zhuǎn)雙整數(shù)沒有問題,而雙整數(shù)轉(zhuǎn)成整數(shù)時(shí)注意數(shù)據(jù)的內(nèi)容是否超過整數(shù)類型的上限32767。如果數(shù)值超出上限,則無法進(jìn)行轉(zhuǎn)換,則會(huì)造成數(shù)據(jù)溢出。
這里有整數(shù),雙整數(shù),還有實(shí)數(shù)(浮點(diǎn)數(shù)),不同類型的數(shù)據(jù)進(jìn)行計(jì)算,必須先完成轉(zhuǎn)換才行。
程序如下圖: