有一个工程,要求计算合格率(良品/总产量),用的是三菱FX1N PLC,不支持浮点运算,
为了提高精度,不能直接用DDIV指令(良品和总产量均为32位数,以下讨论的指令也都是32位指令)。
我的思路是这样的:先将良品*10000,再将此数除以总产量,得到3位或4位整数,就可以在人机界面上显示。
可问题来了:
1.当良品超过一定数时,再乘以10000时,会溢出
2.32位数(如 第31位值为1时)乘以10000,变成64位,再用32位指令除显然也是不对的,最终显示的结果是0(人机最多只能显示双字,即32位数)