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