有一個工程,要求計算合格率(良品/總產量),用的是三菱FX1N PLC,不支持浮點運算,
為了提高精度,不能直接用DDIV指令(良品和總產量均為32位數,以下討論的指令也都是32位指令)。
我的思路是這樣的:先將良品*10000,再將此數除以總產量,得到3位或4位整數,就可以在人機界面上顯示。
可問題來了:
1.當良品超過一定數時,再乘以10000時,會溢出
2.32位數(如 第31位值為1時)乘以10000,變成64位,再用32位指令除顯然也是不對的,最終顯示的結果是0(人機最多只能顯示雙字,即32位數)