在wincc V6.2的IO域读上来的是整数.如VW100读上来的是12345,怎样能VW100的数变成12.345呢?请帮帮忙.
问题补充:
你们的方法我都试过了,得出来是:12.000,而不是:12.345.
请问小数后的数为什么会全是零呢?
最佳答案
如果你是存在MD区就好了,首先I/O域属性中输出格式选择以"S"为首的格式,例如S999.999,这样就显示三位小数。
在IO域的属性中,在“输出值”项选“动态对话框”,在“表达式”中相应的"变量"后加上“/1000”,然后在“类型”上选“直接”,保存就行了
但是如果数据源就是整数,那么怎么设置都没有用,改了输出格式wincc显示的小数只会一直是xx.000,比如wincc中建立的外部变量是无符号16位数,有符号16位数,无符号32位数,有符号32位数,那么不管你在wincc中怎么设置,线性标定也好,改输出格式也好都没用。
解决方法:1、PLC采集到的数据用双字保存成32位浮点数格式,例如MD区
2、如果PLC中你是存在MW区,而PLC地址又比较紧张,那么在wincc里处理,在wincc中建立32位浮点数的内部变量,在主画面建立输入输出域显示MW区的原始数据,同时事件-属性主题-输入输出-输出值 里面设置成将输出值发送到之前建立的浮点数内部变量,这个输入输出域设置为不显示,它会在后台一直传送该变量的值,现在你可以得到浮点数格式的温度数据了,剩下的找对应关系、处理、显示,你应该会了
提问者对于答案的评价:
谢谢你们帮忙.
这才可以做到的,在控制器中/100.0或者在上位机的直接连接里面/100.0。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc277349.html