wincc中,做如下设置:
1. 做两个I/O域分别为A、B,A的I/O域类型为输入,I/O域输出直接连接变量tag1。B的I/O域类型为输出,I/O域输出属性做组态对话框设置,触发器选择tag1,表达式/公式为('tag1'-32)*5/9,在数据类型中选择“直接”。
2. 两个I/O域的输出格式都为s9999.99,以便能输出负数。
激活项目运行,一旦I/O域A输入小于32的数,I/O域B输出*。I/O域输入大于32的数,正常显示。为什么?
最佳答案
检查一下A、B所使用的数据类型是否为实数,如果用的是无符号整数的话,就会出现超过4位数的结果,你设置的输出格式s9999.99便不能正确显示了。
提问者对于答案的评价:
按照你说的,将tag1变量的数据类型修改后结果正常显示。非常感谢。
我首先设置的tag1的数据类型为有符号16位数,如果计算的结果为正数是正常显示的,结果为负数则显示为*。
将tag1修改为浮点数类型后,正负数都正常显示。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc217285.html