摘要
为解决Modbus-RTU通信协议中保持寄存器不能直接传递高精度浮点数的问题,设计了一种共用体数据结构,定义联合变量,将浮点数和对应的存储数组共享同一内存空间,发送端用浮点数二进制码的方式传输浮点数,接收端再用浮点数的格式读取这4个字节内的数值,实现Modbus-RTU协议的浮点数传输设计。该方法经多次数据传输测试,可同时发送多个不同精度的浮点数,数据传输简单、高效。该方法可应用于需要采用Modbus-RTU协议进行多个浮点数数据传输且精度不同的通信系统中。
To solve the problem of holding registers not being able to directly transfer high-precision floating-point numbers in the Modbus-RTU communication protocol,a common body data structure is designed,which defines joint variables,shares floating-point numbers with corresponding storage arrays in the same memory space.The sender transmits floating-point numbers using floating-point binary code,and the receiver reads the values within these 4 bytes in floating-point format,achieving the floating-point number transmission design of the Modbus-RTU protocol.This method has undergone multiple data transmission tests and can simultaneously send multiple floating-point numbers with different accuracies,making data transmission simple and efficient.This method can be applied to communication systems that require the use of Modbus RTU protocol for multiple floating-point data transmission with different accuracies.
作者
刘宁宁
殷华文
郭壬戌
LIU Ningning;YIN Huawen;GUO Renxu(College of Intelligent Manufacturing,Nanyang Institute of Technology,Nanyang,Henan 473004,China;Henan Zhongguang Group Co.,Ltd.,Nanyang,Henan 473004,China)
出处
《自动化应用》
2024年第10期275-278,共4页
Automation Application