mubaixd
级别: 正式会员
精华主题: 0
发帖数量: 16 个
工控威望: 62 点
下载积分: 372 分
在线时间: 9(小时)
注册时间: 2024-08-01
最后登录: 2025-01-13
查看mubaixd的 主题 / 回贴
楼主  发表于: 8天前
图片:
图片:
图片:
在C#内可以读写PLC内的VW类型数据,但是读不到v,VD,VB类型的数据  跪求各位大佬来指点  已经研究好久了
mubaixd
级别: 正式会员
精华主题: 0
发帖数量: 16 个
工控威望: 62 点
下载积分: 372 分
在线时间: 9(小时)
注册时间: 2024-08-01
最后登录: 2025-01-13
查看mubaixd的 主题 / 回贴
1楼  发表于: 7天前
引用
引用第1楼13821917697于2025-01-11 20:42发表的  :
VW你都能读到了 你在写个方法 把字整合处理一下不就有VD VB了吗

就是不知道要怎么写   我看这个easymodbus库里有读取线圈啥的指令  但是就不好用
mubaixd
级别: 正式会员
精华主题: 0
发帖数量: 16 个
工控威望: 62 点
下载积分: 372 分
在线时间: 9(小时)
注册时间: 2024-08-01
最后登录: 2025-01-13
查看mubaixd的 主题 / 回贴
2楼  发表于: 6天前
引用
引用第3楼liuweiplc于2025-01-13 07:17发表的  :
方法一:如果需要VD可以将二个VW拆分成byte,然后将四个字节合并获取到VD,上代码:
                int[] RM = rtuMc.ReadHoldingRegisters(0,12);                                      //读保持寄存器
                byte[] bytes1 = BitConverter.GetBytes(RM[0]);
                byte[] bytes2 = BitConverter.GetBytes(RM[1]);
                byte[] Data0 = new byte[] { bytes2[0], bytes2[1], bytes1[0], bytes1[1] };  
.......

十分感谢