Ответ от удаленного устройства не получен - PullRequest
0 голосов
/ 08 марта 2020

Я пытался прочитать данные с измерителя мощности через кабель RS485. Я использовал конвертер RS485 в USB.

Для чтения данных я использовал pymodbus.

Вот мой код:

import time 
from pymodbus.client.sync import ModBusSerialClient as ModbusClient

client = ModbusClient(method='rtu', port='COM3', timeout=1, stopbits=1, bytesize=8, parity='N',baudrate = 9600)
client.connect()

while True:
    r = client.read_input_registers(0x00, 0x02, unit=1)
    print(r)
    time.sleep(5)

Но когда я запускаю свой код, я получить следующую ошибку:

Modbus Error: [Input/Output] Modbus Error:[Invalid Message] Incomplete message received, expected at least 2 bytes (0 received
-----
Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response

Я новичок в этом. Любая помощь будет оценена. Благодарю в ожидании.

Ответы [ 2 ]

0 голосов
/ 08 марта 2020

Используйте гипертерминал для ascii, но для Modbus ищите шестнадцатеричную программу последовательного монитора

0 голосов
/ 08 марта 2020

Я бы сказал, это типичная проблема, связанная с разработкой коммуникационной программы.

Исходя из моего опыта, пожалуйста, сделайте следующее - Убедитесь, что физический уровень связывается между P C и устройством - Используйте примеры демонстрационных программ проверить, что устройство разговаривает с компьютером, на котором вы разрабатываете программу. Как только вышеуказанные пункты выполнены, проблема находится в области разработки. Вы можете подключить выход вашего P C к другой программе последовательного мониторинга, чтобы гарантировать, что данные (байты) доставлено, как ожидается, с необходимой скоростью передачи данных.

...