Я новичок в pymodbus, и я пытаюсь прочитать регистры хранения совместного робота с pymodbus, чтобы получить значение текущей координаты z. Такая информация есть по адресу 7053. Я посмотрел на старые вопросы, но не смог заставить работать свой код:
from pymodbus.client.sync import ModbusTcpClient
host = '192.168.250.201' # Robot IP address
port = 502 # port
client = ModbusTcpClient(host, port)
client.connect()
request = client.read_holding_registers(
address=0x03, # The starting address to read from
count=4, # The number of registers to read
unit=1) # The slave unit this request is targeting
response = client.execute(request)
print(response.bits[0])
client.close()
Я все время получаю это сообщение об ошибке:
ConnectionException: Ошибка Modbus: [Соединение] Не удалось подключиться [ModbusTcpClient (192.168.250.201:502)]
Я предполагаю, что в моем коде что-то не так, или, может быть, что-то еще мешает мне установить соединение. Какие-либо предложения? Спасибо
ping
получить возврат? У этой машины (я полагаю, у робота) действительно открыт порт502
? - person KDecker   schedule 13.11.2019