电工学习网

 找回密码
 立即注册
查看: 4968|回复: 0
打印 上一主题 下一主题

wincc 7.4 变量数据类型和线性标定误解的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-14 11:56:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本人用wincc时间不长,在变量建立的过程中对数据类型和线性标定出现误解,绕了好大弯子,分享出来,希望其他新手别再犯同样的错误了。
驱动:modbus TCP
寄存器地址:40200   16bit 有符号数据
寄存器数值:实际测量温度值的10倍   数值范围:-200~1000  对应-20℃~100℃
希望画面上IO域显示为浮点数:-20.0~100.0
错误的变量组态:
wincc 7.4 变量数据类型和线性标定误解的问题
正确的组态
wincc 7.4 变量数据类型和线性标定误解的问题
误解的原因:
以前用过其他组态软件,整型数据缩小10倍只要IO域组态为浮点,移动小数点位置就能以浮点数形式显示整数,比如寄存器内是1234,IO域可以显示为123.4;
但wincc内不是这个规则,IO域即使组态成浮点数格式,配置了小数点后的位数,但关联的变量数据类型如果是整型的话,那么小数点后面始终是0,结果1234经过线性标定后在IO域内只能显示123.0,小数部分丢失了
如果希望modbus寄存器内的整数在winccIO域中以浮点数形式显示出来,在变量组态时数据类型一定要要选32位浮点数,格式调整选 FloatToSignedWord 或者 FloatToUnsignedWord ,再做线性标定,这时IO域关联此变量以后就能正常显示小数部分了。
此方法对于其他驱动协议应该也适用,不过我还没测试。 只要涉及到把整型数据转浮点数需要线性标定的应该都可以,但是把整型数据放大倍数显示的话,没必要。因为小数部分肯定始终都是0.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-26 13:16

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表