在Modbus RTU中将RS485设备连接到计算机

Connecting RS485 Device to computer in Modbus RTU

如何将带RS485输出的电压监测表连接到带Modbus RTU的电脑上?我应该使用一个转换器到 RS232 并连接到计算机的串行 COM 端口吗?我应该使用 RS485 转 USB 转换器连接吗?我可以使用 D9 连接器引脚从 RS485 的 A、B 和地直接连接到串行 COM 端口吗?那么A,B和Ground到Modbus RTU中D9的哪些引脚? ND20 pinout RS485 Details

  • 是的,您应该使用 RS485 转 USB 转换器将 ND20 与计算机连接。

  • 至少您需要将 ND20 的 A(有时称为“-”)和 B(或“+”)线连接到 RS485/USB 适配器的相同线.查看您的 RS485/USB 适配器手册以了解引出线。请记住,"A" 行也可以称为“-”,而 "B" 可能称为“+”。 more RS485 application info 见此处。

  • 建议连接 GND,但在大多数情况下它应该可以不连接。

  • 您需要了解 ND20 使用的波特率/每秒位数(9600?19200?)。您需要在 PC 应用程序中进行设置。

  • 连接好所有设备并准备好运行后,您需要使用访问 RS485 转换器的 PC 应用程序(Window 上的"COM" 设备,例如"COM6" ). PC 应用程序需要根据 MODBUS RTU 协议规范请求测量值并接收结果。我们的免费Docklight evaluation can help with MODBUS, but the most convenient solution is a small MODBUS master tool like this new freeware called QModMaster.

选项 1:PC --> USB 转 RS232 --> RS232 转 RS485 --> RS485 设备

选项 2:PC --> USB 转 RS485 --> RS485 设备

选项 3:PC --> RS232 转 RS485 --> RS485 设备

您需要 usb 转 rs485 / rs232 转 rs485 转换器

由于 rs485 是浮动的,您可能需要接地才能进行可靠的通信

您可以使用USB-RS485转换器进行连接。不知道其他方法,但它对我有用。 有关如何从头到尾进行通信的详细信息,请观看此视频: https://www.youtube.com/watch?v=X3RW-0e_PSI

这个程序工作 windows & raspbian 唯一的区别是两者的端口名称...

                    #THIS IS MY PYTHON PROGRAM 
from pymodbus.client.sync import ModbusSerialClient as ModbusClient

client = ModbusClient(method='rtu', port='COM4', baudrate=2400, timeout=1)

client.connect()
read=client.read_holding_registers(address = 222 ,count =10,unit=1) 
//Address is register address e.g 30222, 
//and count is number of registers to read, 
//so it will read values of register 30222 to 30232
//unit is slave address, for 1 device leave it 1

data=read.registers[int(2)] #reading register 30223 
print(data) #printing value read in above line