1208qqcom
級別: 探索解密
![]() |
為什么D500的值不直接傳給D1524,而是先除以10,在乘以10,然后再傳過(guò)去呢,有什么意義? [upload=1] |
---|---|
|
fjqz00
級別: 論壇先鋒
![]() |
應該是剛開(kāi)始的時(shí)候不是乘10除10的關(guān)系,只是后面調試了發(fā)現乘10除10的結果剛好,又懶得改程序,就還保留吧 |
---|---|
|
znz43
工控職業(yè)已成回憶 只因愛(ài)好;丶覉@ 樂(lè )此不疲
級別: 工控俠客
![]() ![]() |
如果不是用浮點(diǎn)數運算,而是用整型運算,那先除10再乘10就是把尾數去掉,好比結賬時(shí)把分去掉,只算到角。 |
|
---|---|---|
|
poorwer
級別: 略有小成
![]() |
三菱PLC這樣的計算好像只會(huì )保留整數部分,如果計算結果是小數的話(huà),直接除10那么就會(huì )很大的計算誤差,所以一般都會(huì )先放大,再縮小,這樣就會(huì )避免計算誤差。幾年前調機的時(shí)候遇到的情況好像是這樣,樓主你可以試試,是不是這個(gè)原因。 |
---|---|
|
1208qqcom
級別: 探索解密
![]() |
九樓的解釋感覺(jué)還是有點(diǎn)問(wèn)題,不是所有的程序都先放大再縮小的,我感覺(jué)不是簡(jiǎn)簡(jiǎn)單單的先乘以再除以,或者是先乘以,再除以。超聲波傳感器檢測到的值由AD模塊轉換成數字量,范圍控制在0到4000,不管數是整型數還是浮點(diǎn)型數,他先乘以還是先除以10只要結果不取整,結果都是不變,那這段程序還有什么意義。假如取整那對于整型數就只是把個(gè)位數變成了0,那豈不是和檢測到的值存在了誤差,誤差沒(méi)變小反而變大了,若是浮點(diǎn)數先乘以后除以也沒(méi)意義,如果是先除以再乘以,那誤差更大了, |
---|---|
|