pymodubs TCP 无链接报错: pymodbus.exceptions.ConnectionException: Modbus Error

报错内容

pymodbus.exceptions.ConnectionException: Modbus Error: Connection ModbusTcpClient 192.168.2.99:502: Connection unexpectedly closed 0.000 seconds into read of unbounded read bytes without response from slave before it closed connection

背景

  • 使用摄像头对下位机持续控制, 第一次发信后成功, 第二次就报错

解决办法

  • 每次发信后关闭链接

控制代码

python 复制代码
import time
from pymodbus.client import ModbusTcpClient


class WorkstationControl:
    def __init__(self, host, port):
        self.ip_address = host
        self.port = port
        self.client = ModbusTcpClient(host=host, port=port)
        self.delay_time = 2

    def is_connect(self):
        return self.client.connect()

    def start(self):
        self.client.write_register(address=0, value=1)
        # Wait for 2 seconds
        time.sleep(self.delay_time)
        self.client.write_register(address=1, value=0)
        self.client.close()

    def update_speed(self, speed):
        self.client.connect()
        self.client.write_register(address=1, value=speed)
        self.client.close()

    def stop(self):
        self.client.write_register(address=1, value=0)
        # Wait for 2 seconds
        time.sleep(self.delay_time)
        self.client.write_register(address=0, value=2)
        self.client.close()

    def close(self):
        """关闭与 Modbus 服务器的连接"""
        self.client.close()


# 示例用法
if __name__ == '__main__':
    workstation = WorkstationControl(host='192.168.2.99', port=502)
    if workstation.is_connect():
        workstation.start()
        workstation.update_speed(speed=2)
        time.sleep(5)
        workstation.update_speed(speed=3)
        time.sleep(5)
        workstation.stop()
    else:
        print('Failed to connect to the workstation')
相关推荐
珠海西格电力4 小时前
西格电力零碳园区管理系统:核心功能全解析,赋能园区低碳智能化落地
大数据·运维·网络·人工智能·信息可视化·能源
এ慕ོ冬℘゜5 小时前
前端核心知识体系进阶:从安全机制、网络协议到原生 JS 实战全解析
前端·网络协议·安全
ZPC82105 小时前
model bingxing
网络·人工智能·网络协议·机器人
运维行者_5 小时前
广域网性能监控:分布式IT架构下的链路质量保障
开发语言·网络·分布式·后端·架构·数据库架构
CoreTK芯通康EMC整改5 小时前
Type-C 高速接口 ESD 失效深度解析:器件选型 + PCB 布局双重解决方案
大数据·网络·emc·芯通康·pcb电磁兼容
OIDCAT5 小时前
国产USB转千兆网卡芯片CH398 VLAN应用
网络·嵌入式硬件·国产·usb转千兆网卡
hehelm6 小时前
Linux网络编程—HTTP静态文件服务器
linux·服务器·开发语言·网络·c++
ljs6482739516 小时前
Linux 网络常用命令与端口基础详解
linux·网络·php
Ai拆代码的曹操6 小时前
TCP 握手丢包分析:客户端连接超时、服务端无日志的场景排查实践
网络·网络协议·tcp/ip
白帽小阳7 小时前
Typora插件开发指南:打造专属IDE式写作环境
c语言·网络·python·网络安全·github·pygame·护网行动