Modbus RTU 主站库 V2.1

已锁定

醉书生

  • 帖子

    728
  • 精华

    25
  • 被关注

    15

论坛等级:侠士

注册时间:2004-06-13

普通 普通 如何晋级?

Modbus RTU 主站库 V2.1

6879

60

2008-08-05 16:36:58

相对上一版的更新:
1、初始化时可选择通讯口,更换端口不必先删除POU再添加新库子程序
2、每端口支持两种通讯控制方式,可以简化调试过程
3、字符间超时时间由固定值改为初始化化时参数给定
4、数据处理与收发完全分离,对于小项目可以不必调用MBUS_MSG
5、支持外部帧(见改善Modbus通讯效率),外部帧与参数调用方式无缝整合
6、外部帧额外支持功能码 22/23(位屏蔽/同时读写多寄存器)
另外为 ASCII 传输模式准备了 3 个子程序,用于 LRC 计算、ASCII 和 RTU 帧格式互转。
但因目前没有 ASCII 传输方面的需求,也无相关的从站设备测试,本库暂不支持ASCII传输模式通讯,但通过很少量的改造即可使本库同时支持RTU、ASCII两种传输模式。待有空时先写一个 ASCII 从站库用 S7-200 作从站升级测试。
下载库程序及使用例程
免责声明:
本库可以自由使用,作者不承担相关责任。
两种通讯控制方式:
1、使用 RCV 以信息为单位接收,错误检验机制比较全面,程序相对复杂,用于处理数据量大的通讯需求。初始化时 bWay 参数选择 0/1 即为此方式(分别对应通讯口 0/1)。
2、使用接收字符中断,此方式用到地特殊寄存器只有 SMB30/130,容易调试,但会加重 CPU 负担。推荐数据量小且波特率低时才使用。或用于调试通讯,采用此方式可以监视接收字符中断程序,如收不到任何字符,可以断定主从站双方通讯参数不匹配或外部接线故障。初始化时 bWay 参数选择 2/3 即为此方式(分别对应通讯口 0/1)。
例程简介:
send1 最简应用示例
send2 多任务轮询示例
send3 不同的调用方式、多任务自动轮询、使用外部帧、如何生成外部帧示例
ASCII 三个ASCII 相关的子程序应用示例
详情参考代码注释

2009-06-25 BUG报告
使用外部帧广播时,填写外部帧中第一字节期待应答字节数(本应为0)不能小于6,否则 MBUS_MSG 会返回5号错误。
临时解决办法:期待应答字节数改为不小于6的值(MBUS_CTRL处理广播时,并不等待应答,所以这个值非0没有关系)
参数调用方式发送广播不受此BUG影响。
Modbus RTU 主站库 V2.1 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33777条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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