回复:用自由口通信制作的ModbusRTU协议的Master指令的SCL源码

已锁定

不欲勿施

  • 帖子

    836
  • 精华

    16
  • 被关注

    388

论坛等级:奇侠

注册时间:2009-03-27

钻石 钻石 如何晋级?

发布于 2021-11-16 14:19:09

26楼

认真研读后发现的一些问题

1、同一链路上多条指令如果没有做好轮询的话,你的这个指令能工作正常吗,是否会报错?

2、反馈到块外的错误信息极少,如超时,接收错误,接收信息的CRC错误,从站返回的错误

3、写多个线圈时,要将最后一个字节的不使用的高位置0,不做处理就发送出去是错误的,读取的数字量同样需要此操作。

4、两个指令间还是要有时间间隔的,因为串口上至少需要3.5个字符的间隔,程序没有体现出来

5、静态区见到有6个数据区,上限99字节,MODBUS RTU最大的数据量是120个字,显然是不够的。这又出来一个问题,如果程序中使用多条指令,那么PLC被使用的空间也是很可观的。

关于楼主之前帖子里的那个从站返回的数据帧分帧了,主要问题应该是从站的问题,不是PLC的问题。另外通过修改消息结束(通过字符间超时识别消息结束)的设置就可以解决问题。

程序确实没有封装过多功能,只是功能不全

总结:楼主分享的精神可嘉,看看就好,楼主试验用的没法较真,还无法真正应用到实际项目中。

13478405725
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15225条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。