Pymodbus 0x05 подтверждает ошибку (раб принял запрос и обрабатывает его, но это занимает много времени. Мастер должен поPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pymodbus 0x05 подтверждает ошибку (раб принял запрос и обрабатывает его, но это занимает много времени. Мастер должен по

Сообщение Anonymous »

Я пытаюсь добраться до сервера Modbus и читать регистры. Я знаю, что это возможно, потому что другое программное обеспечение может читать значения из одного и того же IP, того же порта и того же регистра. Но когда я пытаюсь прочитать < /p>

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

DEBUG:pymodbus.logging:Connection to Modbus server established. Socket ('xxx.xxx.x.xx', xxxxx)
DEBUG:pymodbus.logging:Processing: 0x0 0x1 0x0 0x0 0x0 0x3 0x1 0x80 0x5
DEBUG:pymodbus.logging:decode PDU failed for function code 128
WARNING:pymodbus.logging:Unable to decode frame Modbus Error: Unknown response 128
Modbus I/O Error: Modbus Error: [Input/Output] Unable to decode request
< /code>
Я получаю эту ошибку каждый раз. Потому что я пробовал разные устройства Modbus с разными IP, каждый раз, когда я сталкивался с одной и той же ошибкой. < /P>
Вот мой код. < /P>
def read_macbat():
num_regs = 8
client = ModbusTcpClient(host=MACBAT_HOST, port=MACBAT_PORT, timeout=TIMEOUT)

for attempt in range(1, MAX_RETRIES + 1):
try:
if client.connect():
response = client.read_holding_registers(address=10042, count=num_regs)
print(response)
if not response.isError():
print(f"Attempt {attempt}: Successfully read registers.")
print(f"Register Values: {response.registers}")

client.close()
return response.registers
else:
print(f"Attempt {attempt}: Error reading registers.")

client.close()
else:
print(f"Attempt {attempt}: Failed to connect to Modbus counter.")

if attempt < MAX_RETRIES:
print(f"Retrying in {RETRY_DELAY} seconds...")
time.sleep(RETRY_DELAY)
except ModbusIOException as e:
print(f"Modbus I/O Error: {e}")

print("Max retries reached. Could not read registers.")
return None

Я знаю, у меня мало в руках, но если у вас есть идеи, я открыта для них.

Подробнее здесь: https://stackoverflow.com/questions/794 ... d-is-proce
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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