zhu9296 2018-12-06 07:29 采纳率: 0%
浏览 2554

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条回答 默认 最新

  • 白色一大坨 2018-12-06 07:43
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog