首页 > 编程语言 >Node-RED实现OPC DA数据采集

Node-RED实现OPC DA数据采集

时间:2024-04-29 15:57:34浏览次数:27  
标签:Node node opc opcda DA 采集 OPC 组件 server

1、OPC DA READ组件BUG汇总

(1)当通过Node-RED编辑页面导入流程文件后,或删除报错的节点,并部署后,输出窗口会一直报Error信息,如下图所示

解决方法:经过测试,重新部署还是会报错,需要重启Node-RED容器,具体原因猜测可能是因为NodeRED缓存了之前部署好的报错节点,即使删除了,还是会报错。

(2)设备中存在一个标签点为Bad,opcda-read组件的状态会变成Bad Quality,同时停止返回数据,导致采集不到设备数据

解决方法:找到目录下的组件文件/home/dockerdata/node-red-data/node_modules/node-red-contrib-opcda-client/opcda/opcda-read.js,可以发现组件做了判断:状态不是good就不返回数据,我们可以把蓝框里的代码复制到红框里面,让它返回采集数据就可以了。

(3)当opcda-read组件在采集的过程中,因为外部原因导致连接opc server断开,而后组件状态一直为Ready,不进行数据采集

解决方法:找到目录下的组件文件/home/dockerdata/node-red-data/node_modules/node-red-contrib-opcda-client/opcda/opcda-read.js,通过跟踪node对象的属性状态可知,出现问题时,发现node.isReading的值为true,说明组件在读采集数据。而当触发器定时读取采集数据时,发现node.isReading的值为true,就不进行采集数据了,所以在重新连接初始化node对象时,需要将node.isReading的值赋值为false即可

(4)当服务器出现断电危机,再重启机器后opcda组件不能正常连接到opc server,一直报Error信息

解决方法:找到目录下的组件文件/home/dockerdata/node-red-data/node_modules/node-red-contrib-opcda-client/opcda/opcda-read.js,其实这个过程包含两种情况,一种是Node-RED启动后,组件第一次尝试连接就失败了;另外一种是在采集的过程中突然连接断开。针对这两种情况我们都需要做相应的处理,修改内容如下:

2、opcda组件连接opcserver失败问题汇总

(1)opc server部署在windows server 2019,2022年6月份系统自动升级后,导致组件连接opc server失败,经过排查发现,windows在更新(KB5013941补丁包)中默认对DCOM启用强化导致,而且更新包暂未修复该兼容性问题,目前可以通过修改注册表项的方式将其停用,据说2023年3月份提供兼容。

解决方法:修改注册表,路径是:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\AppCompat,找到RequireIntegrityActivationAuthenticationLevel值,修改为0(目前是大部分服务器都没有这个值名称的,需要手动添加,值类型是REG_DWORD,基数一定要是十六进制),重启系统生效

(2)在使用Kepware模拟opc server时,组件始终连接不上opc server

解决方法:Kepware的DCOM默认配置的标识为交互式用户,需要修改为启动用户或指定用户,然后重启服务器。

原文地址:https://www.cnblogs.com/cdzTec/p/16467363.html

标签:Node,node,opc,opcda,DA,采集,OPC,组件,server
From: https://www.cnblogs.com/xyy-bgh/p/18165910

相关文章

  • H2 Database Console未授权访问
    H2DatabaseConsole未授权访问H2database是一款java内存数据库,多用于单元测试。H2database自带一个web管理页面,在Spring开发中,如果我们设置如下选项,即可允许外部用户访问WEB管理页面,且没有鉴权;spring.h2.console.enabled=truespring.h2.console.settings.web-allow-others=t......
  • WPF 后台设置DataGrid选中多行
    1privatevoidSetSelectIndex(List<int>listIndex)2{3try4{5foreach(variinlistIndex)6{7if(i>=datagridSig.Items.Count)8......
  • WPF pass event method to viewmodel via Interaction:CallMethodAction,TargetObject
    <Windowx:Class="WpfApp71.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.......
  • 在qemu中绑定pci bus到numa node
    在多numanode的物理机中,pcibus常常是连接到其中一个numa上。如此,不同的numa节点访问该pcibus下的设备的访问速度是不同的。基于此常常要将访问该设备的负载绑定到对应的numanode上可以提供性能。对于qemu虚拟机也可以模拟pcibus与numa之间的亲和性。在x86机器中,只有pxb和pxb......
  • yum install报错CentOS-8 - AppStream Errors during downloading metadata for repo
     https://blog.csdn.net/zhangweixbl4/article/details/135699389 意思就是:现在centos8停止维护了其实就是镜像里边的$releasever替换成8-stream如何解决这个问题:进入目录:cd/etc/yum.repos.d备份文件mkdirbakcp*bak/注意:会出现cp:-rnotspecified;omittingdi......
  • Daily checklist
    异常流量检查httpRequest.latency>1并检查httpRequest.requestUrl分布 httpRequest.status>200httpRequest.status=0并检查httpRequest.status状态分布如果发现异常流量高峰请检查httpRequest.userAgent的分布 ......
  • day27-HTML
    1.web开发1.1、最简单的web应用程序importsocketsock=socket.socket()sock.bind(("127.0.0.1",8800))sock.listen(5)while1:print("serverisworking...")conn,addr=sock.accept()recv_data=conn.recv(1024)conn.send(b"HTTP/1.......
  • 为什么有值依然报async-validator ['xxx is required']
    问题描述:点击确定时,前端控制台打印如下: 但是实际上startStationName和endStationName均有值,如下所示:代码:<el-dialog:title="textMap[dialogStatus]":visible.sync="dialogFormVisible"width="980px"@close="closeDialog"><el-form:......
  • .h5ad数据结构解释(anndata 数据格式)
    官方网站:https://anndata.readthedocs.io/en/latest/下面的内容官网都有概述h5ad文件提供了一种可扩展的方式来记录数据及其注释(annotation),主要包含X,obs,var,uns等多个部分,分别存储不同的信息。结构如下图所示X是表达量矩阵,用来联系obs和var。具体来说X是一个稀疏......
  • Pod monitoring of Nodejs
    一、Nodejs添加接口1、nextjs用法安装包prom-client,在ping同一目录层级创建接口api/ssr/metrics比如首页https://mik.dev.platform.michaels.com/api/ssr/metricsdc项目https://mik.dev.platform.michaels.com/api/ssr/dc/metrics import{register,collectDefaultMetri......