2013-09-13 4 views
0

Может ли кто-нибудь объяснить, как создать запрос и получить ответ в правильном порядке, используя pymodbus через Modbus TCP/IP?pymodbus: получение запроса и ответ

У меня есть ПЛК, который я хочу использовать как подчиненный и ПК - как мастер.

Я пытался сделать это таким образом:

from pymodbus.client.sync import ModbusTcpClient 

host = '192.168.56.9' 
port = 502 

client = ModbusTcpClient(host, port) 
client.connect() 

#Register address 0x102A (4138dec) with a word count of 1 
#Value - MODBUS/TCP Connections 
#Access - Read 
#Description - Number of TCP connections 

request = client.read_holding_registers(4138, 1) 
response = client.execute(request) 

print response 

>>> ReadRegisterResponse (1) 

ответ

0

Вы можете выполнить dir(response), чтобы проверить, что ответ состоит из, но если мастер pymodbus TCP аналогичен RTU последовательного мастер-реализации, то данные доступны в Регистрирует поле, чтобы попытаться напечатать ответ. Реестры вместо ответа. response.Registers должен быть одноэлементным массивом, содержащим значение регистра, запрашиваемого для чтения.

Смежные вопросы