通过modbus传输结构

问题描述 投票:0回答:1

我需要从服务器接收一些带有参数的结构。该服务器是stm32控制器。在stm32端,我将struct转换为字节并将其放置在寄存器中。在计算机方面,我将从所有寄存器中读取字节并将其转换为结构。

有可能吗?什么是真正的方式而不是这种方式?

例如:

struct MachineParameters
{
  int acceleration;
  int distance;
  int moment[30];
  int values[30];
}
c++ c data-structures network-programming modbus
1个回答
0
投票

您使用串行还是TCP Modbus?取决于此,您可能需要串行Modbus驱动程序或基于套接字的Modbus方法。这两个软件包都带有一些协议字节开销,这都取决于软件包-同样,这取决于您使用的驱动程序。为了在Modbus连接的两侧使用相同的标头,请使结构“打包”。否则,数据包长度可能在两侧都不同。只要您使用int,这都不成问题,但是一旦使用了char或short,您可能会得到打包字节。

© www.soinside.com 2019 - 2024. All rights reserved.