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