首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >pymodbus连接有时不响应?

pymodbus连接有时不响应?
EN

Stack Overflow用户
提问于 2019-03-28 22:48:23
回答 2查看 1.8K关注 0票数 3

我使用"pymodbus“库来连接PLC设备。该设备采用Modbus RTU over TCP,该设备将返回环境的温度和湿度。

映射地址列表

  • 0001: temperature
  • 0002: humidity

我执行了一次,以获得价值,它可以成功。但我使用的while循环有时会出错。我也不知道原因。

代码:

代码语言:javascript
复制
from time import sleep
from pymodbus.client.sync import ModbusTcpClient
from pymodbus.framer.rtu_framer import ModbusRtuFramer

from pymodbus.register_read_message import ReadHoldingRegistersResponse

client = ModbusTcpClient(host='192.168.1.1', port=5000, framer=ModbusRtuFramer)    
client.connect()
while True:
    rr = client.read_holding_registers(0, 2, unit=1)

    if isinstance(rr, ReadHoldingRegistersResponse):
        temp = rr.registers
        print(temp)
    else:
        print('error')
    sleep(1)
client.close()

输出:

代码语言:javascript
复制
> ...
> [189, 444]
> [189, 443]
> [189]
> error
> error
> ...

我们可以看到,有时结果是正常得到的,有时结果是不完整的,有时结果是不可用的。

我应该怎么做才能解决这个问题,我想监控这个设备。谢谢。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55400524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档