lzhpsky
工控小菜鳥
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1045 個(gè)
工控威望: 1151 點(diǎn)
下載積分: 2796 分
在線時(shí)間: 767(小時(shí))
注冊(cè)時(shí)間: 2009-08-02
最后登錄: 2024-10-16
查看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ù)的話,就都是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í),無大學(xué)問。
級(jí)別: 論壇版主

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