无名小卒
级别: 正式会员
精华主题: 0
发帖数量: 36 个
工控威望: 91 点
下载积分: 351 分
在线时间: 13(小时)
注册时间: 2019-05-28
最后登录: 2024-05-20
查看无名小卒的 主题 / 回贴
楼主  发表于: 2020-12-23 17:31
图片:
图片:
图片:
最近心血来潮搞了个QJ71C24N-R2模块。
主要实现功能:
1、对1-21号从站地址0,1,2地址读取
2、将指令执行时间写入1-21号从站,02地址.
3、显示轮询时间。
系统构架:Q35B+Q61P+Q02H+QJ71C24N-R2 需要的朋友也可以联系我QQ1348904670 伍佰
看似功能简单,我花了一个周的功夫进行琢磨。其中遇到了许多问题,串口助手坏了几个,接线不正确,指令使用。
怎么判断问题,怎么排查。头都大了不多说,上图
描述:程序
附件: C24N_modbus485_从站轮询.rar (191 K) 下载次数:288
网站提示: 请不要用迅雷下载附件,容易出错
本帖最近评分记录:
  • 下载积分:+1(zizhud) 真诚感谢!
    无名小卒
    级别: 正式会员
    精华主题: 0
    发帖数量: 36 个
    工控威望: 91 点
    下载积分: 351 分
    在线时间: 13(小时)
    注册时间: 2019-05-28
    最后登录: 2024-05-20
    查看无名小卒的 主题 / 回贴
    1楼  发表于: 2020-12-23 17:36
    有疑问的朋友可以留言,还请各位大佬多多指教,谢过大佬们了。
    无名小卒
    级别: 正式会员
    精华主题: 0
    发帖数量: 36 个
    工控威望: 91 点
    下载积分: 351 分
    在线时间: 13(小时)
    注册时间: 2019-05-28
    最后登录: 2024-05-20
    查看无名小卒的 主题 / 回贴
    2楼  发表于: 2020-12-24 08:51
    图片:
    图片:
    图片:
    了解这个问题需要了解报文协议。以modbus rtu为例
    主机对从机读数据操作
    主机进行读HoldDataReg[1] 操作,则报文是:
        01             03            00 01           00 01          D5 CA
    从机地址        功能号          数据地址      读取数据个数       CRC校验

    在这串报文中  
    01 我们要访问不同的从机地址所以配置元素号1是可变的。
    03这是功能码,如果执行同一功能的时候这个配置元素号2就是固定的。
    00 01 这是地址数据  故一个D寄存器即可装下,固定长度
    00 01 这是读取个数,个数的数值范围不会超过最大的地址,所以也可以用一个自装下。
    D5 CA 是校验,由程序自动处理
    地址码:地址码是信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。
    无名小卒
    级别: 正式会员
    精华主题: 0
    发帖数量: 36 个
    工控威望: 91 点
    下载积分: 351 分
    在线时间: 13(小时)
    注册时间: 2019-05-28
    最后登录: 2024-05-20
    查看无名小卒的 主题 / 回贴
    3楼  发表于: 2020-12-24 09:31
    引用
    引用第4楼bao_haibo于2020-12-24 09:16发表的  :
    用无协议 S.INPUT S.OUTPUT 按MODBUS指令协议编个轮询 比这种方式方便灵活多了  刚做过42台变频器 写运转命令 频率指令 读电流数据
    法老发一下程序看看 1926367430@qq.com
    无名小卒
    级别: 正式会员
    精华主题: 0
    发帖数量: 36 个
    工控威望: 91 点
    下载积分: 351 分
    在线时间: 13(小时)
    注册时间: 2019-05-28
    最后登录: 2024-05-20
    查看无名小卒的 主题 / 回贴
    4楼  发表于: 2020-12-24 09:33
    图片:
    以上程序,是完成21一个从站读写的所有操作