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

精华主题: 0
发帖数量: 2845 个
工控威望: 3617 点
下载积分: 3517 分
在线时间: 3809(小时)
注册时间: 2007-11-04
最后登录: 2024-12-22
查看tingfenghu的 主题 / 回贴
1楼  发表于: 2016-05-07 20:13
不知道什么牌子,大部分都可以位操作,如果不行,采用逻辑运算,只保留需要的位,然后作比较。
楼主留言:
用威伦通的屏MT6070IH5,直接与台达的温度模块通讯的,能举个例子吗?谢谢你
本帖最近评分记录:
  • 下载积分:+2(sszhen-hua) 真诚感谢!
  • 二手PLC,触摸屏,伺服驱动,各类气动设备
    http://shop58129605.taobao.com/
    sszhen-hua
    级别: 略有小成
    精华主题: 0
    发帖数量: 273 个
    工控威望: 453 点
    下载积分: 870 分
    在线时间: 275(小时)
    注册时间: 2009-05-12
    最后登录: 2024-12-11
    查看sszhen-hua的 主题 / 回贴
    2楼  发表于: 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个状态位)