python:modbus-rtu循环读取三项功率仪数据问题

如下所示的程序,读取三项功率仪704地址的数据,循环只能执行一次,然后就报错了,错误信息如图,请问是什么问题啊,怎么解决?万分感谢

import serial 
import modbus_tk
import modbus_tk.defines as cst
from modbus_tk import modbus_rtu
import time

def sleeptime(hour, min, sec):
    return hour * 3600 + min * 60 + sec
second = sleeptime(0, 0, 3)

master = modbus_rtu.RtuMaster(
    serial.Serial('COM8', baudrate=19200, bytesize=8, parity='N', stopbits=1, xonxoff=0)
)
master.set_timeout(5.0)
master.set_verbose(True)
num=1
con=5
while num!=con:

    data = master.execute(1, cst.READ_HOLDING_REGISTERS, 704, 1)
    time.sleep(second)
    num=num+1![图片说明](https://img-ask.csdn.net/upload/201812/06/1544081295_931419.png)


1个回答

首先你代码没贴全;
其次你这就是个串口读取程序,那么排查方法很多,可以用串口工具监视和模拟一下,看看设备是不是没问题;如果设备没问题,那么就检查一下你的程序,主要是接收那块为何只能接到一组数据;
以你目前漏出来这些代码,外人很难判断。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐