2

所以我对 Modbus 没有太多经验,但我的问题本质上是标题中的内容。我是否需要一个与盒子对话然后重新格式化消息并将其推送到服务器的控制器?或者服务器可以直接与盒子对话吗?顺便说一句,如果有帮助,我的云应用程序会使用 Rails。我不确定还需要什么其他信息,所以请随时告诉我。

谢谢。

4

2 回答 2

1

您只需要一个用于 Ruby 的 MODBUS 库

于 2011-09-12T11:57:07.690 回答
1

Modbus 起源于具有两种不同模式的串行主/从协议;“ASCII”和“RTU”。不同的模式有不同的数据包格式(一种使用 ASCII 字符,另一种使用二进制),不同的数据包开始和结束检测规则,以及不同的错误检测(校验和或 CRC)。基于 TCP/IP 的 Modbus 基本上采用“RTU”数据包,丢弃 CRC,添加一些额外的寻址,并将其包装在 TCP 数据包中。如果您乐于在您的云应用程序中实现构建(和解释)数据包的代码,那么服务器就没有理由不能直接与盒子对话。

您应该记住的一件事是“Modbus 客户端”向“Modbus 服务器”发出命令,然后它会做出响应。因此,您需要确定您的盒子是“Modbus 客户端”还是“Modbus 服务器”。

我唯一不确定的是IP地址。如果您的基于云的服务器每次运行时都获得不同的 IP 地址,那么如果它充当“Modbus 服务器”,或者您的盒子具有访问控制机制,则可能会出现问题。

所有文档都可以从www.modbus.org下载

于 2011-09-09T12:30:03.223 回答