首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Modbus RTU从RS-485无法响应

Modbus RTU从RS-485无法响应
EN

Stack Overflow用户
提问于 2017-03-10 20:14:34
回答 1查看 1.4K关注 0票数 1

我正在尝试编写modbus slave,但有一个问题:我正确地接收了来自主机的请求,但当我尝试响应时,它看起来像是错误地发送到了串口,因为当我插入RS485嗅探器时,我同时看到了req和res (十六进制)。

硬件:TCPtoRTU(我写的从)- USBtoRS485 - ICPCON tGW-715 ( Mac网关)- Win PC (软件主)

当我尝试这个变体时: Win (软件从机)- USBtoRS485 - ICPCON tGW-715 (TCPtoRTU网关)- Win (软件主机)一切正常。

Libs: libmodbus,h5.modbus (node.js)。无关紧要-正确的请求,但没有响应。

目标PC (用于从属)将在Linux上,因此Mac几乎比Win更接近。

我已经不知道要检查什么,以及如何让它工作。会出什么问题呢?

EN

回答 1

Stack Overflow用户

发布于 2017-03-11 04:59:28

Win PC的变体正在工作,所以硬件应该没问题。如果您的最终目标是在Linux中使用该系统,在没有更多细节的情况下,我建议您使用另一种方法:在Windows上使用虚拟机,并使用Linux来宾操作系统。我与ICP DAS技术支持一起工作,并在Linux和Windows主机上使用过带有tM-7561和I-7561Linux转换器的VirtualBox。

我没有在Mac上的经验,但另一个选择是尝试一个不是你写的Modbus Slave,例如pyModSlave,看看它是否在你的Mac上正常工作,它也会显示你发送/接收的数据包。

如果pyModSlave在Mac上工作正常,也许可以尝试一下软件串行嗅探器与你的从属。在Windows上,我使用的是HHD Software的一个,它有串行、USB和TCP/IP嗅探器。在Mac/Linux上,您应该能够使用Wireshark来嗅探USB通信,但我还没有亲自这么做。

代替嗅探器,也许你可以使用一个零调制解调器模拟器,这样你从一个(虚拟)串口发送的东西将会在你的Mac上的另一个(虚拟)串口上被接收,这样你就可以检查发送/接收的数据。在Windows上我用的是com0com,在Linux上有一个我还没用过的tty0tty。不确定Mac上有什么可用。或者使用2 USBtoRS485与D+和D互连,在一个端口上是从端口,在另一个端口上是像qModMaster这样的显示数据包的主端口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42718202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档