Трудности чтения с устройства Modbus.Python

Программы на Python
Anonymous
Трудности чтения с устройства Modbus.

Сообщение Anonymous »

Я использую модуль RS485–USB для подключения модуля термопары к компьютеру. Я установил драйвер CH340, и устройство появилось в диспетчере устройств.
Я заказал модуль RS485-USB на Amazon, и у меня очень ограниченные инструкции по считыванию информации с термопары.
Связь осуществляется через Modbus. Я получил конфигурацию связи с сайта продукта, но мне не удалось получить какие-либо показания с помощью pymodbus. Это код, который я использую.

Код: Выделить всё

from pymodbus.client import ModbusSerialClient as ModbusClient

client = ModbusClient(
method='rtu',  # bitsize = 8 -> likely rtu
port='COM4',
baudrate=9600, -> data sheet
parity='N', -> check digit = none
stopbits=1, -> data sheet
bytesize=8, -> data sheet
timeout=5 -> guessing
)

# Connect to the Modbus server
client.connect()

# Modbus configuration
device_address = 1 -> device address = 1 from data sheet
register_address = 0 -> register address = 0x01 from data sheet
number_of_reads = 1 -> data sheet

# Read the holding registers
response = client.read_holding_registers(register_address, number_of_reads, unit=device_address)

# Check if the read was successful
if response.isError():
print(client.connected)
print(f"Error reading from Modbus device: {response}")
else:
# Extract and process the temperature value
register_value = response.registers[0]  # Get the first register value
temperature = register_value / 10.0  # Convert to temperature
print(f"Temperature: {temperature:.1f} °C")
Однако я не получаю никаких показаний. Я получаю только следующее сообщение об ошибке:

Код: Выделить всё

Error reading from Modbus device: Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 4 bytes (0 received)
Есть ли у кого-нибудь идеи, что я могу делать неправильно в своем подходе к pymodbus?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/788 ... bus-device

Вернуться в «Python»