往事如风
科技改变制造
级别: 网络英雄

精华主题: 0
发帖数量: 10795 个
工控威望: 17950 点
下载积分: 10580 分
在线时间: 2640(小时)
注册时间: 2013-01-31
最后登录: 2024-05-17
查看往事如风的 主题 / 回贴
楼主  发表于: 2024-02-05 18:57
描述:串口设置
图片:
图片:
图片:
图片:
图片:
一个项目,用Modbus-RTU采集,共8个站点
确定的是:其它6个站点读取都正常,有两个读取不到数据。
COM口设置8N1 9600,其它站点的都可以进行数据读取(图1)
1、用串口调试软件测试03命令也能读取到数据(附图2、3)
2、用组态王Modbus单个测试40001或40002显示失败,单独做一个测试工程将40001~40007一并可读取,(仪表的通讯协议是一次读取7笔,少或多都会导致数据返回错误),但加上其它站点时仍旧失败(注:站号设置是正确的,无重复站点)
3、另一台仪表更奇葩,用串口调试可以读取任意长度的站点数据,比如读取3笔,用组态王单独测试工程40001、40002、40003均失败

分析原因:这2个仪表给的Modbus通讯协议可能不是标准的(但为何用串口调试时是正常的),组态王技术反馈是数据打包长度设置不对导致(默认都是125)
[ 此帖被往事如风在2024-02-05 19:04重新编辑 ]
三人行者必有我师 ,择其善者而从之
18603739519
级别: 探索解密
精华主题: 0
发帖数量: 50 个
工控威望: 143 点
下载积分: 766 分
在线时间: 89(小时)
注册时间: 2016-12-17
最后登录: 2024-05-16
查看18603739519的 主题 / 回贴
1楼  发表于: 2024-02-18 21:46
看看你的组态王的数据类型是不是和仪表一致