gpt4 book ai didi

node.js - Modbus RTU slave RS-485 响应失败

转载 作者:太空宇宙 更新时间:2023-11-04 12:33:10 27 4
gpt4 key购买 nike

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

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

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

库:libmodbus、h5.modbus (node.js)。没关系 - 正确的请求,但没有响应。

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

我已经不知道要检查什么以及如何让它发挥作用。有什么问题吗?

最佳答案

Win PC 变体可以正常工作,硬件应该没问题。没有更多细节,如果您的最终目标是在 Linux 中使用该系统,我会建议另一种方法:在 Windows 上使用带有 Linux 客户机的虚拟机。我与 ICP DAS 技术支持合作,并使用 VirtualBox 和 tM-7561和 I-7561 USBtoRS485 转换器,适用于 Linux 和 Windows 主机。

我没有使用 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。

关于node.js - Modbus RTU slave RS-485 响应失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42718202/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com