基于pic18f67j60的Modbus/TCP转换器实现

2022-09-11

1 协议分析

MODBUS是OSI模型第7层上的应用层报文传输协议, 它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。Modbus通信协议低层通信物理层协议以EIA/TIA-232、EIA/TIA-485为代表的串行链路, 和以太网II/802.3为代表。

串行链路上的Modbus帧数据结构与下图1所示, 其中附加域即为地址域, 占用一个字节, 按编码形式可分为ASCII和RTU两种;Modbus/TCP协议的数据帧格式如下图2所示, 其中MBAP报文头占7个字节, 这种报文头提供一些与串行链路上使用的MOD BUS RTU应用数据单元比较的差别: (1) 用MBAP报文头中的单个字节单元标识符取代MODBUS串行链路上通常使用的MODB US从地址域。 (2) 用接收者可以验证完成报文的方式设计所有MODBUS请求和响应。 (3) 当在TCP上携带MODBUS时, 即使将报文分成多个信息包来传输, 办事在MBAP报文头上携带附加长度信息, 以便接收者能识别报文边界。要实现Modbus/TCP转换器, 进行Modbus TCP ADU与ASCII ADU之间, Modbus TCP ADU与RTU ADU之间是核心内容。

2 网络单片机pic18f67j60与Microchip Tcp/Ip协议栈

PIC18F67J60系列微控制器具有嵌入式以太网控制器模块。它是一个完整的连接解决方案, 完全实现介质访问控制和物理层收发器模块, 只需使用两个脉冲变压器和一些无源器件即可将单片机直接与以太网相连。以太网模块结构图如图3所示, 包含以下5个主要功能模块: (1) PHY收发器模块。 (2) MAC模块, 实现了符合IEEE802.3规范的MAC逻辑。 (3) 独立的8KB RAM缓冲区[2]。PIC18F67J60还提供了2个增强型USART能支持RS232和RS485, 5个定时器, 27个中断源, 128Kbyte的代码存储空间, 接近4k的Ram空间, 为TCP/IP协议栈和Mod bus协议转换提供了硬件支持。

系统使用Microchip公司提供免费的TCP/IP软件栈, 该协议栈专为Microchip的8位单片机定制, 能保证系统性能稳定可靠。

3 实现框架

本文实现的转换器需要实现以下四种工作模式: (1) TCP从站转RTU从站, 在本工作模式下, 就把和转换器相连的MODBUS/RTU从站, 转化为MODBUS/TCP从站。 (2) TCP从站转ASCII从站, 就把和转换器相连的MODBUS/ASCII从站, 转化为了MODBU S/TCP从站。 (3) ASCII主站转TCP主站, 就把和转换器相连的MODBUS/ASCII主站, 转化为了MODBUS/TCP主站。 (4) RTU主站转TCP主站, 就把和转换器相连的MODBU S/RTU主站, 转化为了MODBUS/TCP主站。协议转换实现框架如图3所示。图中RS232/485参数控制部分, 管理通信波特率的设置, Modbus串行链路协议中要求整条链路上的Modbus设备设置同样的波特率;超时管理中根据设置的波特率启动两个定时, 分别记录Modbus定义的报文间超时和字符间超时;协议转换部分将根据本机设置在TCP ADU和ASCII/RTU ADU之间进行用户数据包格式转换;TCP管理层中连接管理负责管理报文的传输连接;系统设置为用户提供各种参数设置和工作模式设置的接口。

4 结语

pic18f67j60丰富的片上资源为本文实现的转换器提供了单片的, 低成本的实现方案, 免费并且开源的Microchip TCP/IP协议栈, 能良好轻松的支持Microchip 8位单片机, 很大程度上节约了开发时间, 同时也保证系统运行稳定性。本套系统相对市面上其他同类转换器, 具有成本更低, 体积小, 便于安装等特点, 具有一定市场价值。

摘要:Modbus协议是应用于电子控制器上的一种通用语言。通过此协议, 控制器相互之间、控制器经由网络和其它设备之间可以通信。Modbus/TCP利用TCP/IP协议将Modbus消息封装成IP包, 在Intranet/Internet上传输, 扩展了Modbus的适用范围。本文提出一种基于Microchip的pic18f67j60和MicrochipTCP/IP协议的经济适用、性能稳定的Modbus/TCP转换器实现方案。

关键词:Modbus,TCP PIC,TCP/IP

参考文献

[1] Modbus协议中文版[S].

[2] Microchip Technology Inc.pic18f67j60datasheet[Z].

[3] Microchip Technology Inc.Microchip TCP/IP协议栈[Z].2006.

上一篇:在代理成本视角下对公司资本结构优化的研究下一篇:基于提升中小学校长学习力的培训模式构建