lzhpsky
工控小菜鳥(niǎo)
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1043 個(gè)
工控威望: 1148 點(diǎn)
下載積分: 2801 分
在線(xiàn)時(shí)間: 767(小時(shí))
注冊(cè)時(shí)間: 2009-08-02
最后登錄: 2024-09-18
查看lzhpsky的 主題 / 回貼
樓主  發(fā)表于: 2010-12-03 12:42






    我現(xiàn)在快暈了,大家看,為什么VD708和VD28的數(shù)據(jù)都是1.64,程序就是不通呢?為什么在狀態(tài)表里監(jiān)控?zé)o符號(hào)數(shù)據(jù)時(shí)不一樣?換成監(jiān)控浮點(diǎn)數(shù)的話(huà),就都是1.64了,為什么?上面的程序VD708我已經(jīng)四舍五入了,取小數(shù)點(diǎn)后2位了,數(shù)據(jù)是1.64,VD28是設(shè)定的數(shù)據(jù),也是保留小數(shù)點(diǎn)后2位,但是為什么都相等了,就是不通呢?哪位高手指點(diǎn)一下,謝謝
sjm213
有小知識(shí),無(wú)大學(xué)問(wèn)。
級(jí)別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5176 個(gè)
工控威望: 7399 點(diǎn)
下載積分: 157935 分
在線(xiàn)時(shí)間: 3137(小時(shí))
注冊(cè)時(shí)間: 2007-11-21
最后登錄: 2024-09-21
查看sjm213的 主題 / 回貼
1樓  發(fā)表于: 2010-12-03 16:25
VD28是如何轉(zhuǎn)換過(guò)來(lái)的?
浮點(diǎn)數(shù)精度過(guò)高,直接用==R很容易出現(xiàn)這個(gè)情況。
就像監(jiān)控時(shí)這樣,用浮點(diǎn)數(shù)監(jiān)控都是1.64,但實(shí)際上其數(shù)值并非完全一樣,所以程序比較出來(lái)兩者不相等。
建議將浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù),用整數(shù)比較指令。
或者設(shè)定一個(gè)小誤差范圍,如用<=R VD708 1.641 替代==R
lzhpsky
工控小菜鳥(niǎo)
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1043 個(gè)
工控威望: 1148 點(diǎn)
下載積分: 2801 分
在線(xiàn)時(shí)間: 767(小時(shí))
注冊(cè)時(shí)間: 2009-08-02
最后登錄: 2024-09-18
查看lzhpsky的 主題 / 回貼
2樓  發(fā)表于: 2010-12-03 17:51
謝謝版主,明白了,謝謝你
yuming1231
工控我愛(ài)你
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 158 個(gè)
工控威望: 435 點(diǎn)
下載積分: 917 分
在線(xiàn)時(shí)間: 160(小時(shí))
注冊(cè)時(shí)間: 2010-11-15
最后登錄: 2018-08-24
查看yuming1231的 主題 / 回貼
3樓  發(fā)表于: 2010-12-03 19:09
版主說(shuō)的有道理