西门子(中国)有限公司(SLC)

注册 登录

  签到   每日登录:+1西币 +1经验值我的支持中心

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。

技术论坛


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

返回主题列表
作者 主题
kibu
侠圣

经验值: 2882
发帖数: 427
精华帖: 4
楼主    2018-07-13 09:11:54
主题:wincc 7.4 变量数据类型和线性标定误解的问题 精华帖 

本人用wincc时间不长,在变量建立的过程中对数据类型和线性标定出现误解,绕了好大弯子,分享出来,希望其他新手别再犯同样的错误了。


驱动:modbus TCP

寄存器地址:40200   16bit 有符号数据

寄存器数值:实际测量温度值的10倍   数值范围:-200~1000  对应-20℃~100℃

希望画面上IO域显示为浮点数:-20.0~100.0


错误的变量组态:

正确的组态


误解的原因:

以前用过其他组态软件,整型数据缩小10倍只要IO域组态为浮点,移动小数点位置就能以浮点数形式显示整数,比如寄存器内是1234,IO域可以显示为123.4;

但wincc内不是这个规则,IO域即使组态成浮点数格式,配置了小数点后的位数,但关联的变量数据类型如果是整型的话,那么小数点后面始终是0,结果1234经过线性标定后在IO域内只能显示123.0,小数部分丢失了

如果希望modbus寄存器内的整数在winccIO域中以浮点数形式显示出来,在变量组态时数据类型一定要要选32位浮点数,格式调整选 FloatToSignedWord 或者 FloatToUnsignedWord ,再做线性标定,这时IO域关联此变量以后就能正常显示小数部分了。


此方法对于其他驱动协议应该也适用,不过我还没测试。 只要涉及到把整型数据转浮点数需要线性标定的应该都可以,但是把整型数据放大倍数显示的话,没必要。因为小数部分肯定始终都是0.


您收到0封站内信:
×
×