通过 RS485 连接两台 PC(USB 到 RS485 转换器)
Posted
技术标签:
【中文标题】通过 RS485 连接两台 PC(USB 到 RS485 转换器)【英文标题】:Connecting two PC's via RS485 (USB to RS485 converter) 【发布时间】:2020-08-05 06:59:41 【问题描述】:我正在尝试在两台 PC (Win10) 之间建立 Modbus RTU 连接(用于学习目的)。我正在使用两个 USB 到 RS485 转换器(D- 连接在一起,D+ 也连接在一起)。此转换器连接到 USB2.0 端口。
USB to RS485 converter
所以我使用“modbus 工具”中的“Modbus Poll”和“Modbus Slave”。 第一台计算机充当从机,并具有以下设置: Slave configuration Slave definition
第二台计算机作为主机并具有以下设置: Master configuration Master definition
我的问题是,每次我收到“超时错误”时: Timeout error
那么,我做错了什么?我很确定转换器没有损坏,因为 Win10 会检测到它们。
毕竟我只想将简单的值发送到另一台计算机(通过 Modbus RTU):) 谢谢
【问题讨论】:
您确认您的 RS485 连接正常吗?我将首先检查是否在两端使用终端(我通常使用putty),并验证一端的按键是否显示在另一端。这将确认您的适配器/接线/驱动程序正常。 【参考方案1】:您需要安装正确的驱动程序。我使用了以下link,其中包括如何使用视频以及驱动程序的下载链接。同时禁用 RTS 作为其 2 线 RS485,因此 RTS 无法使用。
【讨论】:
参考OP提供的截图,驱动似乎安装正确。 COM3 和 CH340 在屏幕截图中可见。【参考方案2】:嗯,这不是一个真正的答案,但我可以提供一些调试建议。
过去,我在使用您使用的 RS-485 硬件时遇到过问题。它没有用,我不知道为什么。我有一个使用奇怪的逻辑来驱动 MAX485 的 DE 引脚。如果我没记错的话,它使用与非门反转来自 CH340G 的 TX 线并将其馈送到 DE 引脚。我不确定这是否是问题所在,但我认为这不是一个好的设计。
您可能需要在 RS-485 线路上使用上拉和下拉电阻,以防止它在没有驱动器驱动总线时浮动。一些转换器在内部包含它们。此外,您可能需要在两端使用 120 欧姆的终端电阻。
您可以简单地使用 TTL 逻辑进行测试,而不是使用 RS-485。使用两个USB-TTL转换器,将TX连接到RX(交叉连接)。
在调试通信总线(USART、SPI、I2C 等)时始终使用逻辑分析仪。即使是最便宜的也可以节省数小时的调试时间。
【讨论】:
以上是关于通过 RS485 连接两台 PC(USB 到 RS485 转换器)的主要内容,如果未能解决你的问题,请参考以下文章
普通PC通过USB转485串口 ModBus-RTU通信协议控制伺服电机
西门子200PLC 用的是PPI-RS485 还是PPI-RS232?我用PPI-485与笔记本的USB通讯不是啊 ,用的是PC/PPI通讯协