寄存器MD地址里的数据为浮点数,用round取舍有问题,round我选择的是real to int 但是我把MD的地址加进去以后他说我的数据类型不对,怎么回事呢?多谢大家帮助。
最佳答案
1、我把MD的地址加进去以后他说我的数据类型不对?
你的MD中数据必须是real 型的。round指令的输入IN或输出OUT必须分别是32位的浮点数与双整数。
遵循上述规定,指令的执行是没有问题的。
2、相关:
ROUND: 舍入为双整数指令。
参数 数据类型 存储区域 说明
EN BOOL I,Q,M,L,D 使能输入
ENO BOOL I,Q,M,L,D 使能输出
IN REAL I,Q,M,L,D 要舍入的值
OUT DINT I,Q,M,L,D 将IN 舍入为最接近的整数
ROUND(舍入为双整数指令)可以将输入参数IN 的内容以浮点数读入,并将它转换成一
个双整数(32 位)。其结果为与输入数据最接近的整数(“最接近舍入”)。如果浮点数介于
两个整数之间,则返回偶数。其结果可以由参数OUT 输出。如果产生上溢,则ENO 为
“0”。
提问者对于答案的评价:
多谢帮助
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc160905.html