光明左使
级别: 论坛先锋
精华主题: 0
发帖数量: 148 个
工控威望: 1045 点
下载积分: 7091 分
在线时间: 91(小时)
注册时间: 2019-07-27
最后登录: 2024-11-19
查看光明左使的 主题 / 回贴
楼主  发表于: 2023-03-02 08:21
图片:
平常用的是FX,这次有指定Q06,根据手册和网上案例参考,写了一个QJ71C24N-MODBUS485通讯程序,请大神指正一下有没有错误和需要优化的地方。
站号1和站号2相同变频器,所以MODBUS地址在2号站省略了。
[ 此帖被光明左使在2023-03-02 08:40重新编辑 ]
附件: RS485TEST.rar (161 K) 下载次数:121
网站提示: 请不要用迅雷下载附件,容易出错
hansir
级别: 探索解密
精华主题: 0
发帖数量: 44 个
工控威望: 101 点
下载积分: 2010 分
在线时间: 17(小时)
注册时间: 2021-09-17
最后登录: 2024-11-23
查看hansir的 主题 / 回贴
1楼  发表于: 2023-03-10 09:06
你用通信协议功能,在通讯协议中进行轮询就行了,没必在还要程序中写程序轮询,直接指定4个协议号,依次执行就可以了
hansir
级别: 探索解密
精华主题: 0
发帖数量: 44 个
工控威望: 101 点
下载积分: 2010 分
在线时间: 17(小时)
注册时间: 2021-09-17
最后登录: 2024-11-23
查看hansir的 主题 / 回贴
2楼  发表于: 2023-03-10 09:41
图片:
这样写,一次可以执行多个协议,自动轮询
光明左使
级别: 论坛先锋
精华主题: 0
发帖数量: 148 个
工控威望: 1045 点
下载积分: 7091 分
在线时间: 91(小时)
注册时间: 2019-07-27
最后登录: 2024-11-19
查看光明左使的 主题 / 回贴
3楼  发表于: 2023-03-24 16:36
引用
引用第2楼hansir于2023-03-10 09:41发表的  :
这样写,一次可以执行多个协议,自动轮询

感谢指导!按照你的示例,是把各从站需要变更的站号、数据那些放到前面通过定时或者结束标志进行轮流MOV到协议设定对应的地址是吧?还是说每个从站读或者写都要单独设定一个协议来区分地址,比如2个站的变频器需要写频率,1个站的温控器需要读、写PV和SV,正常是1个03和1个06功能码协议,通过预先变更地址内容,还是说全部独立,做3个06和1个03功能码协议呢?
其他的部分没问题的是吗?再次感谢!
[ 此帖被光明左使在2023-03-24 16:41重新编辑 ]