登录
首页 人机界面 人机界面
回帖 发帖
正文

主题:wincc数据处理,函数代码不会写啊

点击:1230 回复:11

用wincc做了一个画面,读出来的是无符号32位的数,结果实际是0.066,读上来确是66,如何让数值显示成0.066呢?通过C动作吗?函数代码不会写啊。。
附件 1576499458843.jpg
附件 1576499513041.jpg
附件 1576499478523.jpg
最后修改:2019/12/17 10:46:50
19-12-16 20:41
动态对话框里面有量程放大缩小按比例除下或者直接动态对话框然后变量后面加一个 /100就行了,以前变量的那个引号不要删除,就是把读取到的变量除100 ,下班回来宿舍电脑没装WINCC。。好久不碰有点忘记了
19-12-16 21:50
是无符号32位的数也能这样计算吗?不需要先转32浮点数吗?
19-12-16 23:15
Modbus TCP读上来的是32位的整数,不转浮点数计算后显示不了小数啊。。
19-12-17 02:22

引用 865734009 在 2019/12/16 20:41:38 发言【内容省略】

输入输出域输出值属性中写C脚本:
return (float)(GetTagDWord("变量名"))/1000;
需要注意的是,输出格式的小数位数需要设定,如果设定过短会产生四舍五入的情况。
Good Luck~
19-12-17 09:47
楼上大神已经给出方法了,你变量格式设置的什么  设为IEEE754 32位浮点呢
19-12-17 21:23
感觉在变量管理里面用有个线性关系,直接改一下很方便
19-12-18 09:01
这种全局动作的是否可行?
附件 1576746628022.jpg
19-12-19 17:10
32位浮点数怎么两个变量运算得第三个数?
20-01-25 20:39
C哥,现在又碰到个问题,我需要wincc采集电度表的电能值,但是RTU协议地址里是两个,一个是高字节70H,一个人低字节71H,比如70H是12,71H是34,那就是1234kwh,怎么才能同时采集这两个数组成一个数显示?
20-01-28 21:10

上一页下一页

工控新闻

更多新闻资讯