sszhen-hua
级别: 略有小成
精华主题: 0
发帖数量: 273 个
工控威望: 453 点
下载积分: 870 分
在线时间: 274(小时)
注册时间: 2009-05-12
最后登录: 2024-08-04
查看sszhen-hua的 主题 / 回贴
楼主  发表于: 2016-05-07 19:24
各位大侠们帮个忙,如图片所示,要将多状态的十六进制的数据分解出来,H1124的B1,B2,B3,B4,B5,B6,B7状态分出来,谢谢。
sszhen-hua
级别: 略有小成
精华主题: 0
发帖数量: 273 个
工控威望: 453 点
下载积分: 870 分
在线时间: 274(小时)
注册时间: 2009-05-12
最后登录: 2024-08-04
查看sszhen-hua的 主题 / 回贴
1楼  发表于: 2016-05-12 10:53
已解决了。H1124==4X4388,4X4389
macro_command main()
short result1
short result2

GetData(result1,"MODBUS RTU" 4x,4389,1)
SetData(result1,"Local HMI" LW,10,1)
end macro_command

再把LW10(十进制)转成LW1000-----LW1007(8个二进制数就行了),也就是把LW1000,LW1001,LW1002,LW1003......做到屏里去显示每一位状态位B1,B2,B3........(8个状态位)