Я заказал модуль 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)
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/788 ... bus-device