Linux modbus TCP从机

Linux modbus TCP从机,linux,tcp,modbus,slave,Linux,Tcp,Modbus,Slave,我在一个pi上用java开发一些应用程序。应用程序的一部分通过modbus tcp交换数据,因此我必须实现modbus tcp从机。 还有更多的问题,这使得情况有点困难。服务器应支持不同的用户ID和modbus寄存器映射,这些映射不应由数千个假寄存器构建 首先,我尝试使用jamod,它对modbus应用程序的主部分很好,但在不同的用户ID上存在问题,我没有弄清楚如何创建具有指定地址的寄存器 现在我意识到modbus从机不能是java应用程序的一部分。我正在为raspbian搜索一个稳定运行的测试

我在一个pi上用java开发一些应用程序。应用程序的一部分通过modbus tcp交换数据,因此我必须实现modbus tcp从机。 还有更多的问题,这使得情况有点困难。服务器应支持不同的用户ID和modbus寄存器映射,这些映射不应由数千个假寄存器构建

首先,我尝试使用jamod,它对modbus应用程序的主部分很好,但在不同的用户ID上存在问题,我没有弄清楚如何创建具有指定地址的寄存器

现在我意识到modbus从机不能是java应用程序的一部分。我正在为raspbian搜索一个稳定运行的测试软件,它满足了我的要求。我发现很多测试软件是用python、c和许多其他语言实现的


你能给我一些建议吗,哪种软件对我来说是一个好的解决方案

在Modbus TCP网络中,站的ID是无用的,因为从站由其IP而不是ID标识。只有当有网关与串行Modbus RTU网络通信时,ID才有用,因为它通过ID区分从站。ok,但这是计划。有一个modbus RTU设备网络,每个设备产生数据。我想读取这些值,并通过modbus tcp将其发布到定义的寄存器映射中。因此,我想使用ID。假设我有5个通过mudbus rtu连接的小型气象站。我读温度,湿度,气压。。。我想为每个设备发布寄存器1000、1001和1002中的值。我想,最好的办法是将用户id 1-5写入modbus tcp从机中定义的寄存器。我正在寻找一个可以提供modbus tcp服务器的软件。modbus tcp和modbus RTU是不同的协议。它们使用不同的物理层和不同的字节序列。您将找不到考虑装置ID的Modbus TCP从机,因为Modbus TCP协议中忽略了该ID。如果要与RTU网络连接,则需要使用特定的Modbus TCP到Modbus RTU转换器。@LLUISFILISART:Modbus/TCP中仍然明确使用设备ID,因为您可以连接到单个端口上的单个IP地址,然后使用设备ID与多个不同的设备进行通信。当您使用Modbus TCP到RTU网关时,这是最常用的。许多本机Modbus/TCP设备将响应任何ID,但有些设备仍将仅响应特定ID。