基于MODBUS与MQTT协议自动转换的嵌入式智能系统设计

发布日期:2023年12月25日
基于MODBUS与MQTT协议自动转换的嵌入式智能系统设计 基于MODBUS与MQTT协议自动转换的嵌入式智能系统设计

本内容试读结束

下载后可阅读完整内容,立即下载

为实现标准电力通信规约MODBUS到工业物联网标准规约MQTT的灵活转换,解决工业电力电子设备与物联网云平台通信互联问题,对MODBUS和MQTT协议的通信过程进行研究,设计了一种基于MODBUS与MQTT协议转换自动化的嵌入式智能系统。该系统采用ARM Cortex-A9嵌入式架构的Freescale i.MX6主控芯片开发应用程序,通过CP210x UART驱动模块和WIFI无线模块进行通信硬件层连接,支持远距离数据传输。本方案选择以C函数加动态库的软件接口编程方式分别实现MODBUS协议模块和MQTT协议模块,并设计采用双线程及数据格式转换实现了异步协议数据的透明转换,提高了系统运行效率。经过仿真试验验证,系统稳定可靠,设计满足设计技术规范要求。

文献[1]规范了MQTT 协议,MQTT (Message Queuing Telemetry Transport,消息队列遥测传输)是基于发布/订阅模式的轻量级即时通信协议,已成为OASIS (Organization for the Advancement of Structured Information Standards 结构化信息标准促进组织)标准规范。MQTT 协议使用TCP/IP 提供网络连接,传输的消息分为主题(Topic)和负载(Payload)两部分,通过主题对消息进行分类,并允许使用通配符订阅主题;支持三种消息发布QoS (Quality of Service,服务质量);使用遗言机制Will 通知客户端异常中断;协议采用交换控制帧来工作,一个控制帧由固定头(Fixed header)、可变头(Variable header)和消息体(payload)三部分构成,固定长度的头部是2 字节,开销很小,非常适合需要低功耗和网络带宽有限的物联网场景。

本研究实现了标准帧格式发布订阅功能。

文献[2]规范了串行链路和TCP/IP 两个通信规程中使用Modbus 应用层协议和服务规范,Modbus 是一个请求/应答的应用层报文传输协议,提供PDU (Protocol Data Unit 协议数据单元)的功能码规定的服务,用于在通过不同类型的总线或网络连接的设备之间的客户机/服务器通信。Modbus 协议的通讯格式主要分ASCII、RTU、TCP 等,其中RTU 格式由于传输效率高被大多数厂商采用[3]。此协议支持传统的RS-232、RS-422、RS-485 和光纤、无线设备,本研究采用RS-232 实现Modbus-RTU 异步串行通信,系统采用主/从技术,通过唯一设备地址完成通讯任务,主设备发出请求从设备根据主设备发出的请求消息作出响应。



相关标签