技术论坛

 串口服务器 Modbus-RTU 主站库 (基于OUC之UDP协议)

返回主题列表
作者 主题
yanxiao
版主

经验值:25980
发帖数:11805
精华帖:43
楼主    2023-04-11 20:36:04
主题:串口服务器 Modbus-RTU 主站库 (基于OUC之UDP协议) 精华帖 

注:网页排版不整齐,以下内容在库指令内可见。

对 不欲 大侠发现的功能15问题,已改进,附件重新上传。


Modbus-RTU 主站模式网关 V1.0


利用以太网串口服务器,构建Modbus-RTU串口通讯。

使用开放式通信(OUC)中的UDP协议。

在CPU固件V2.7中测试通过。

串口服务器工作于UDP模式,IP地址、端口与库程序匹配。


每周期调用一次即可,必须包括第1个扫描周期。

对于扫描周期较长的程序,为了提高通讯响应速度,

可以在程序的适当地方,均匀分布地多次调用。

多次调用时,保持调用参数一致不变。

在启动轮询(ST=1)前,轮询参数块必须已建好。


1、指令调用(LAD)


2、调用参数定义:

  ST: 1=启动轮询。

  ID: 网络连接ID,独一无二。

  RIP:远端IP地址,4字节长整数

       例:192.168.2.200=16#C0A802C8

  RPort:远端端口

  LPort:本地端口,按手册建议取值。

  DPTR: 主站轮询参数块地址指针。

  N:    参数块数量。


3、轮询参数块定义:

   参数块顺序存放,程序自动循环轮询。

   偏移  定义

   0000:状态字节,D 0 E ErrCode

   0001:控制字节,BIT0=REQ, BIT7=REP

         REQ=1参与轮询,0则不参与。

         若REP=0则轮询一次后自复位。

         对于按需只写一次的,REP=0

         不会造成重复写入。

   0002:字节,通讯成功计次,循环递增

   0003:字节,通讯失败计次,循环递增

   0004:字节,从站通讯地址(Addr)

         程序不作合法性检查。

   0005:字节,Modbus功能码(Func)

         支持的功能:01/02/03/04/05/06/15/16

         功能码定义,请参考Modbus-RTU协议文本。

   0006:16位整数,从站数据起始地址(Start)

         数据地址不带数据类型

         例:保持寄存器40001,地址=0

   0008:16位整数,读写数据量(Count)

         离散量:最大1920个点

         整形量:最大120个WORD

   0010:16位整数,通讯超时设置,ms

         从询问帧开始发送至返回帧接收完毕的

         最大可能时间,应根据通讯数据量大小

         具体计算,一般可取100ms先测试。

   0012:32位指针,本地V区数据存放缓冲区指针

         务必正确设置指针,不然可能乱指破坏

         其它数据。并且应当留有足够的缓冲空

         间容纳收、发的数据。


4、错误码(状态字节中的ErrCode编码):

   1~15:从站响应的错误代码

        从站返回错误码请参考Modbus协议文本。

   16:返回帧CRC校验错误

   17:返回帧地址或功能码不匹配

   18:返回帧格式错误

   19:从站响应超时

   20:生成通讯帧失败(非法参数)


5、关于Modbus-RTU帧间隔定时

   帧间隔定时由串口服务器设置,要求大于3.5字节收发宽度。

   建议先设置10ms的间隔测试,成功之再测试其它值。


6、其它:

   库指令内存的首字节(MG100_Stat)为UDP TCON

   的连接状态,正常情况应为16#80,表示无错误。

   该状态字节请参考手册中TCON指令部分。

   发现非正常状况,可反馈给作者,以便改进提高。


Note:

1、使用:AC0、AC1、AC2、AC3

2、占用一个UDP连接资源。

3、库程序大小约950字节,库内存约290字节。


Siemens S7200 Smart版区

https://www.ad.siemens.com.cn/club/bbs/

版本维护:yanxiao(版主)

声明:

版权归作者所有,免费使用与扩散,但请保持程序完整。

使用者自行测试评估本库程序是否适用于其编写的控制程序,

作者不承担使用本库程序所带来的风险与损失。

2023.4.12

MG100_Demo.zip

MG100Master_V10.zip


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