wu123456
级别: 探索解密
精华主题: 0
发帖数量: 19 个
工控威望: 122 点
下载积分: 667 分
在线时间: 8(小时)
注册时间: 2016-05-28
最后登录: 2016-10-31
查看wu123456的 主题 / 回贴
楼主  发表于: 2016-08-05 13:25
一个modbus地址如40020有16位(bit0~bit15),我想要把其中一位如bit12的状态(0或1)读取出来,那么这个地址bit12在程序中应该怎么表示出来,求大神指导!!!
wu123456
级别: 探索解密
精华主题: 0
发帖数量: 19 个
工控威望: 122 点
下载积分: 667 分
在线时间: 8(小时)
注册时间: 2016-05-28
最后登录: 2016-10-31
查看wu123456的 主题 / 回贴
1楼  发表于: 2016-08-05 13:28
难道就是直接的40020.12吗?
dgamen
岁月不饶人
级别: 略有小成
精华主题: 0
发帖数量: 315 个
工控威望: 423 点
下载积分: 2035 分
在线时间: 565(小时)
注册时间: 2016-05-23
最后登录: 2022-04-04
查看dgamen的 主题 / 回贴
2楼  发表于: 2016-08-05 15:50
先把(bit0~bit15)全部读出来
sanlihu
吉圆
级别: 论坛先锋
精华主题: 0
发帖数量: 1189 个
工控威望: 1734 点
下载积分: 7546 分
在线时间: 577(小时)
注册时间: 2012-08-31
最后登录: 2024-11-02
查看sanlihu的 主题 / 回贴
3楼  发表于: 2016-08-06 21:21
一个modbus地址如40020有16位(bit0~bit15),我想要把其中一位如bit12的状态(0或1)读取出来,
读从站一个字长保持寄存器放到主站指定寄存器,再去处理它
吉圆电气 QQ751673698
1447048884
~
级别: 网络英雄
精华主题: 0
发帖数量: 148 个
工控威望: 5022 点
下载积分: 7708 分
在线时间: 276(小时)
注册时间: 2014-03-31
最后登录: 2024-11-26
查看1447048884的 主题 / 回贴
4楼  发表于: 2016-08-08 08:23
Modbus读的时候有个寄存器 就是使用寄存器的第12个位
路过的时候记得、哥在打劫。
hjl76
级别: 探索解密
精华主题: 0
发帖数量: 81 个
工控威望: 173 点
下载积分: 692 分
在线时间: 71(小时)
注册时间: 2009-12-02
最后登录: 2024-08-16
查看hjl76的 主题 / 回贴
5楼  发表于: 2016-08-10 15:18
把40020读出来 ,再与0000 1000 0000 0000 做与运算
421010857
每天进步一点点!
级别: 略有小成
精华主题: 0
发帖数量: 90 个
工控威望: 285 点
下载积分: 285 分
在线时间: 259(小时)
注册时间: 2013-09-12
最后登录: 2024-11-17
查看421010857的 主题 / 回贴
6楼  发表于: 2016-08-11 10:14
做与运算就好
湖南株洲有工控问题可以找我! 电话18670873544