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