ass3259236
级别: 探索解密
精华主题: 0
发帖数量: 10 个
工控威望: 102 点
下载积分: 756 分
在线时间: 8(小时)
注册时间: 2016-02-25
最后登录: 2017-05-15
查看ass3259236的 主题 / 回贴
楼主  发表于: 2016-03-02 14:14
我最近写了个最简单的MODBUS主站程序,就是一个Done了以后触发下一个的那种。
但是有个问题是,我期望读的从站地址是从1到16,1~8的完成位是M0.0-M0.7,这一部分都没有问题,程序也能自动循环,

但是程序写到9号从站的时候有问题了,不知道什么原因,整个程序不能正常工作,查到的MSG错误码为6,

但是对比两个程序我实在找不出问题来,我怀疑是因为9号MSG的完成位为M1.0,但是M1.0-M1.7我也都复位了,好像不是这的问题。
ass3259236
级别: 探索解密
精华主题: 0
发帖数量: 10 个
工控威望: 102 点
下载积分: 756 分
在线时间: 8(小时)
注册时间: 2016-02-25
最后登录: 2017-05-15
查看ass3259236的 主题 / 回贴
1楼  发表于: 2016-03-02 14:59
引用
引用第1楼cvlsam于2016-03-02 14:22发表的  :
错误码6说明你同时执行了一条以上的MSG指令了,你要查找你的指令执行条件。

Good Luck~

道理我都懂,错误码是6我也知道是同时引用了多个MSG,可是臣妾就是找不出来哪里重复了啊
ass3259236
级别: 探索解密
精华主题: 0
发帖数量: 10 个
工控威望: 102 点
下载积分: 756 分
在线时间: 8(小时)
注册时间: 2016-02-25
最后登录: 2017-05-15
查看ass3259236的 主题 / 回贴
2楼  发表于: 2016-03-02 15:32
引用
引用第3楼wwcwwc于2016-03-02 15:20发表的 补充问题回复 :
臣妾听好了:
你初始化用的error标记地址与msg的有重置,就是那个MB1与M1.0的关系没有搞明白。
将error错误存储区地址重新编辑。

懂了,一直以为M、MB、MW和MD都是分开记的,原来如此