如何将带有 RS485 输出的电压监控表连接到带有 Modbus RTU 的计算机?我应该使用转换器到 RS232 并连接到计算机的串行 COM 端口吗?我应该使用 RS485 转 USB 转换器来连接吗?我可以使用 D9 连接器针从 RS485 的 A、B 和接地直接连接到串行 COM 端口吗?那么 A、B 和接地连接到 Modbus RTU 中 D9 的哪些引脚? ND20 引出线 RS485 详情
3 回答
是的,您应该使用 RS485 转 USB 转换器将 ND20 与您的计算机连接。
您至少需要将 ND20 的 A(有时称为“-”)和 B(或“+”)线连接到 RS485/USB 适配器的相同线。查看您的 RS485/USB 适配器手册了解引脚排列。请记住,“A”行也可以称为“-”,而“B”可以称为“+”。有关更多 RS485 应用信息,请参见此处。
建议连接 GND,但在大多数情况下它应该在没有的情况下工作。
您需要知道 ND20 使用的波特率/每秒位数(9600?19200?)。您需要在 PC 应用程序中进行设置。
一切都连接好并准备好运行后,您需要使用访问 RS485 转换器(Window 上的“COM”设备,例如“COM6”)的 PC 应用程序。PC 应用程序需要根据 MODBUS RTU 协议规范请求测量值并接收结果。我们的免费Docklight 评估可以帮助使用 MODBUS,但最方便的解决方案是一个小型 MODBUS 主工具,例如这个名为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