需要使用基于TCP / IP的Modbus从基于云的服务器与盒子通信

时间:2011-08-10 12:52:59

标签: ruby-on-rails tcp cloud modbus

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

感谢。

2 个答案:

答案 0 :(得分:1)

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

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

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

可以从www.modbus.org

下载所有文档

答案 1 :(得分:1)

您只需 MODBUS library for Ruby