使用asyncua模块的call_method方法调用OPC UA的Server端方法报错:asyncio.exceptions.TimeoutError

使用asyncua模块的call_method方法调用OPC UA的Server端方法报错:asyncio.exceptions.TimeoutError

报错信息如下:

在这里插入图片描述

Traceback (most recent call last):
asyncio.run(main())
File “D:\miniconda3\envs\py31013\lib\asyncio\runners.py”, line 44, in run
return loop.run_until_complete(main)
File “D:\miniconda3\envs\py31013\lib\asyncio\base_events.py”, line 649, in run_until_complete
return future.result()
File “”, line 60, in main
async with Client(url=url) as client:
File “D:\miniconda3\envs\py31013\lib\site-packages\asyncua\client\client.py”, line 98, in aexit
await self.disconnect()
File “D:\miniconda3\envs\py31013\lib\site-packages\asyncua\client\client.py”, line 348, in disconnect
await self.close_session()
File “D:\miniconda3\envs\py31013\lib\site-packages\asyncua\client\client.py”, line 703, in close_session
return await self.uaclient.close_session(True)
File “D:\miniconda3\envs\py31013\lib\site-packages\asyncua\client\ua_client.py”, line 366, in close_session
data = await self.protocol.send_request(request)
File “D:\miniconda3\envs\py31013\lib\site-packages\asyncua\client\ua_client.py”, line 167, in send_request
data = await asyncio.wait_for(self._send_request(request, timeout, message_type), timeout if timeout else None)
File “D:\miniconda3\envs\py31013\lib\asyncio\tasks.py”, line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

解决asyncio.exceptions.TimeoutError的方法如下:

OPC UA Client python asyncua error when connecting and disconnecting

在这里插入图片描述

这篇文章中说明了报错:asyncio.exceptions.TimeoutError的原因,是由于call_method调用的方法执行时间太长了,但是Client端同步执行的检查服务是否处于在线状态的背景任务执行超时了,最终导致抛出报错:asyncio.exceptions.TimeoutError,拿不到Server执行调用方法后的结果。

解决措施是在开启Client会话的函数里面增加timeout超时时间,并且将timeout设置大于Client调用Server端方法的执行时间,将timeout设置成一个比较大的数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/30453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Selenium屏幕截图技巧:实现自动化截屏并按日期时间格式保存图片

在自动化测试过程中,我们经常需要对测试结果进行截图保存,以便于后续的分析和报告。Selenium WebDriver提供了丰富的屏幕截图功能,可以帮助我们轻松实现这一需求。本文将介绍如何使用Selenium WebDriver进行屏幕截图,并按照日期时…

反激开关电源整流桥选型及计算

整流桥的作用就是把输入交流电压整形成直流电压,把正弦波整成馒头波,由于整流管的单向导电 性,在输入电压瞬时值小于滤波电容上电压时整流桥,在这个时候是不导通的,使整流桥的电流变 成2-3ms左右的窄脉冲。为获得所需…

openEuler2203SP1ks自动化安装

需求: 1、legacy启动 2、/boot分区1G,剩余给/ 3、创建root密码和一个普通用户user,密码Hello2024 4、最小化安装(选上development、legacy-unix、security-tools、standard) 5、关闭firewalld、selinux 6、增加安…

企业级-PDF文件下载

作者:fyupeng 技术专栏:☞ https://github.com/fyupeng 项目地址:☞ https://github.com/fyupeng/rpc-netty-framework 留给读者 一、介绍 文件下载在浏览器可以根据响应头设置纯下载和直接打开两种方式。 二、代码 RequestMapping("/…

【数据结构】选择题

在数据结构中,从逻辑上可以把数据结构分为(线性结构和非线性结构) 当输入规模为n时,下列算法渐进复杂性中最低的是() 时间复杂度 某线性表采用顺序存储结构,每个元素占4个存储单元&#xf…

13.3 Go 性能优化

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【MAVEN学习 | 第1篇】Maven介绍与安装

文章目录 前言 一. Maven主要作用1.1 依赖管理1.2 项目构建 二. Maven安装和配置2.1 安装2.2 配置环境变量2.3 命令测试2.4 配置文件(1)依赖本地缓存位置(本地仓库位置)(2)配置国内阿里镜像(3&a…

[开源软件] CCCoreLib;函数bool Delaunay2dMesh::buildMesh,为什么返回的是false

文章目录 简介问题函数bool Delaunay2dMesh::buildMesh,为什么返回的是false?简介 请参考网址 https://github.com/CloudCompare/CCCoreLib 问题函数bool Delaunay2dMesh::buildMesh,为什么返回的是false? https://ask.csdn.net/questions/8120140 这个问答里提到了一个…

WPS相同字体但是部分文字样式不一样解决办法

如下图,在使用wps编辑文档的时候发现有些电脑的文字字体很奇怪,但是把鼠标移到这个文字的位置,发现它和其他正常文字的字体是一样的,都是仿宋_GB2312 正常电脑的文字如下图所示 打开C:\Windows找到Fonts这个文件夹 把仿宋_GB2312这…

【启明智显产品介绍】工业级HMI芯片Model3芯片详解(二)图像显示

Model3芯片是一款集大容量存储、宽温操作范围及多功能接口于一身的MCU,配备了 2D 图像加速引擎和 PNG 解码/JPEG 编解码引擎,可以满足各类交互设计场景和多媒体互动需求,具有高可靠性、高安全性、高开放度的特点,可以面向于泛工业…

使用阿里云仓库当做yum源方法

第一步:将 /etc/yum.repos.d 里创建的local.repo里的文件移动到repo.bak目录下,mv repo.bak/*.repo ./ 把*.repo移出来(也可以是别的备份目录) 第二步:将可以连外网的系统打开,执行wget -O /etc/yum…

Stable Diffusion 3 大模型文生图实践

windows教程2024年最新Stable Diffusion本地化部署详细攻略,手把手教程(建议收藏!!)_stable diffusion 本地部署-CSDN博客 linux本地安装教程 1.前期准备工作 1)创建conda环境 conda create --name stable3 python3.10 2)下…

【UBEMX安装和使用】

UBEMX安装 1. UBEMX介绍2. 官网下载软件3. 安装步骤下载和关联的STM32Cube固件包 1. UBEMX介绍 STM32CubeMX是一种图形工具,通过分步过程可以非常轻松地配置STM32微控制器和微处理器,以及为Arm Cortex-M内核或面向Arm Cortex-A内核的特定Linux设备树生成…

Flutter调用本地web

前言: 在目前Flutter 环境中,使用在线 webview 是一种很常见的行为 而在 app 环境中,离线使用则更有必要 1.环境准备 将依赖导入 2.引入前端代码 前端代码有两种情况 一种是使用打包工具 build 而来的前端代码 另一种情况是直接使用 HTML 文件 …

YoloV8改进策略:Block篇|即插即用|StarNet,重写星操作,使用Block改进YoloV8(全网首发)

摘要 本文主要集中在介绍和分析一种新兴的学习范式——星操作(Star Operation),这是一种通过元素级乘法融合不同子空间特征的方法,通过元素级乘法(类似于“星”形符号的乘法操作)将不同子空间的特征进行融…

由浅入深,走进深度学习(1)

本次内容主要是和大家分享,一起学习深度学习相关知识 需要使用到的相关库有Pytorch(最好是gpu,如果没有gpu那就使用cpu的) Pillow库 内容一:数据加载 在这里的数据加载,就有两种方式可以选择&#xff1…

java:动态代理和cglib代理的简单例子

# 项目代码资源&#xff1a; 可能还在审核中&#xff0c;请等待。。。 https://download.csdn.net/download/chenhz2284/89457803 # 项目代码 【pom.xml】 <dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version&…

WGCLOUD的web ssh提示websocket服务连接已断开

这个问题一般是server主机没有开放端口9998&#xff0c;因为9998是web ssh的端口&#xff0c;需要开放 我们只要在防火墙&#xff0c;或者安全软件&#xff0c;把这个端口开放了就可以了

小白学-WEBGL

第一天&#xff1a; 1.canvas和webgl的区别 Canvas 和 WebGL 都是用于在网页上绘制图形的技术&#xff0c;它们通过浏览器提供的 API 使开发者能够创建丰富的视觉内容&#xff0c;但它们的工作原理和用途有所不同。 Canvas Canvas API 提供了一个通过 JavaScript 和 HTML <…

刷题——链表节点,奇偶重排

链表的奇偶重排_牛客题霸_牛客网 给定一个单链表&#xff0c;请设定一个函数&#xff0c;将链表的奇数位节点和偶数位节点分别放在一起&#xff0c;重排后输出。 注意是节点的编号而非节点的数值。 数据范围&#xff1a;节点数量满足 0≤&#x1d45b;≤1050≤n≤105&#x…