與計(jì)算機(jī)相似,plc的內(nèi)部數(shù)學(xué)運(yùn)算一般用二進(jìn)制數(shù)補(bǔ)碼來表示有符號(hào)數(shù),正數(shù)的補(bǔ)碼等于它本身,負(fù)數(shù)的補(bǔ)碼等于其對(duì)應(yīng)的正數(shù)的各位逐位求反后加1。補(bǔ)碼的最高位為符號(hào)位,正數(shù)的符號(hào)位為0,負(fù)數(shù)的符號(hào)位為1。將負(fù)數(shù)的補(bǔ)碼的各位求反后加1,便得到了它的絕對(duì)數(shù)。
整數(shù)就是譬如1234,實(shí)數(shù)可以帶小數(shù)點(diǎn)也可以是負(fù)數(shù),雙整數(shù)是用來轉(zhuǎn)換用的。講一個(gè)實(shí)例吧,以溫度模擬量輸入模塊為例,溫度程序是直接讀PIW數(shù)值后,然后先將整型轉(zhuǎn)化為雙整型,雙整型再轉(zhuǎn)化為實(shí)型,最后除以10.0即為實(shí)際溫度值。
1.16位整數(shù)(INT) 是有符號(hào)數(shù),整數(shù)的最高位為符號(hào)位,最高位為0時(shí)為正數(shù),為1時(shí)為負(fù)數(shù),取值范圍為-32768~32767。
2.32位整數(shù)(DINT) 的最高位為符號(hào)位,取值范圍為-2147483648~2147483647。
3.32位浮點(diǎn)數(shù)(REAL)為稱實(shí)數(shù),可以表示為1.mX2^E,其中尾數(shù)m和指數(shù)E均為二進(jìn)制數(shù),E可能是正數(shù),也可能是負(fù)數(shù)。浮點(diǎn)數(shù)的優(yōu)點(diǎn)是用很小的存儲(chǔ)空間(4B)可以表示非常大的和非常小的數(shù)。
4.在編程軟件中,一般并不直接使用二進(jìn)制格式或十六進(jìn)制格式的浮點(diǎn)數(shù),而是用十進(jìn)制小數(shù)來輸入或顯示浮點(diǎn)數(shù),例如在編程軟件中,10是整數(shù),而10.0為浮點(diǎn)數(shù)。
首先你要知道每一種類型的數(shù)據(jù)的位寬比如V區(qū)中的一個(gè)數(shù):VB0 ----- 一個(gè)字節(jié)(8位位寬);無符號(hào)范圍是0-----255,有符號(hào)范圍是-128 ----- +127;VW0 ----- 一個(gè)字(16位位寬);無符號(hào)范圍是0-----65535,有符號(hào)范圍是-32768 ----- +32767VD0 ----- 雙字(32位位寬);無符號(hào)范圍大約在0-----4294967295;有符號(hào)范圍-2147483948 ---- 2147483947實(shí)數(shù)也是32位位寬,可以用VD雙字來進(jìn)行存取。至于什么時(shí)候用相對(duì)變的類型,這個(gè)也比較簡(jiǎn)單,只要其變量的最大值不會(huì)產(chǎn)生溢出就行,如果一個(gè)變量的最大值為200,你用字節(jié)類型儲(chǔ)存就可以,也可以用字或雙字,但會(huì)浪費(fèi)空間,像實(shí)數(shù)肯定是32位用雙字類型。