OPC UA客户端访问 OPC DA服务器

news/2024/7/9 6:48:58

目标

    用OPC UA客户端(如UaExpert)读取OPC DA服务器上的点。

原理

    OPC DA是基于COM/DCOM的,传统OPC DA客户端访问非本机OPC DA服务时需要配置DCOM。OPC UA客户端无法直接访问 OPC DA服务,需要将OPC DA服务映射为OPC UA服务,也就是OPC 规范的第8部分。OPC基金会官方提供了这样的映射工具:UA COM Server Wrapper,即UA-.NETStandard-Samples里面的ComIOP,其中DA Server 映射为 UA Server用Wrapper, UA Server适配为 DA Server 用Proxy。

测试

步骤一:在DA Server上用DA Client查看OPC DA的链接地址,我这里是 NT6000.eNetOPC.4。

步骤二:下载UA-.NETStandard-Samples代码,修改UA-.NETStandard-Samples-master\ComIOP\Wrapper\ServerWrapper下的Opc.Ua.ComServerWrapper.Config.xml中ComDaClientConfiguration节的两处:

        1. <ServerUrl>opc.com://localhost/Softing.OPCToolboxDemo_ServerDA.1</ServerUrl>修改为<ServerUrl>opc.com://localhost/NT6000.eNetOPC.4</ServerUrl>;

        2. <SeperatorChars></SeperatorChars>修改为 <SeperatorChars>.</SeperatorChars>。

        然后编译UA COM Server Wrapper 项目,我把默认的.net 4.8 改成了.net 4.7.1免得装.net 4.8的runtime。

步骤三:把UA-.NETStandard-Samples-master\ComIOP\bin\Debug下的文件复制到 DA Server所在的电脑上,运行UA COM Server Wrapper.exe,最小化会隐藏在任务栏中。

步骤四:用DA Client添加一个测试点,复制点地址,如DongA.D170_BS_BS_m3;

步骤五:在另外一台电脑上运行OPC UA客户端,我用的UaExpert,默认Objects下面会出现DA节点;

步骤六:添加自定义节点add custom node,输入地址NS2|String|0:DongA.D170_BS_BS_m3如下图

 然后就能看到数据啦!

总结

    有了UA COM Server Wrapper,读取DA Server数据就不用再费劲配置DCOM了,也不用再写OPC DA 客户端代码了,是不是很好用?根据问题讨论,每秒3万点没问题。


http://lihuaxi.xjx100.cn/news/1183086.html

相关文章

增强型本地文件搜索工具:Find Any File

Find Any File是mac上一款增强型本地文件搜索工具&#xff0c;可以让你在本地磁盘上搜索、查找任何文件&#xff0c;包括本地磁盘的名称、 创建或修改日期、 大小或类型和创建者代码等。小编现为大家提供最新Find Any File Mac破解版&#xff0c;欢迎需要的朋友下载使用。 Find…

通过jackson将对象与JSON之间相互转化

1.导入依赖 <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <ver…

闲置手机建站 - 安卓Termux+Hexo搭建属于你自己博客网站【cpolar实现公网访问】

文章目录 1. 安装 Hexo2. 安装cpolar内网穿透3. 公网远程访问4. 固定公网地址 Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章&#xff0c;在几秒内&#xff0c;即可利用靓丽的主题生成静态网页。 下面介绍在Termux中安装个人hexo博客并…

高精度电压源如何设计出来的

高精度电压源是一种用于提供高精度电压的电子设备&#xff0c;通常用于测量和控制系统。高精度电压源的设计是一个复杂的过程&#xff0c;需要考虑多个因素&#xff0c;包括电路设计、元件选型、测量误差、稳定性等。下面将从电路设计和元件选型两个方面&#xff0c;详细介绍高…

手写apply、call、bind

apply 作用&#xff1a;改变this执行&#xff0c;函数立即执行&#xff0c;参数以数组传递 思路&#xff1a; 1、在this新指向的对象上&#xff0c;增加一个函数等于待执行函数 2、去参数 3、执行函数 4、删除增加的函数&#xff0c;返回结果 // applyfunction applyTest() {…

操作系统期末复习——课时十内存管理(一)

1、内存管理的基本原理和要求 1&#xff09;内存管理的定义 操作系统对内存的划分和动态分配就是内存管理的概念。 2&#xff09;内存管理的功能 &#xff08;1&#xff09;内存空间的分配和回收&#xff1a;由操作系统完成对主存的分配和回收&#xff0c;对编程人员透明。 &…

话费充值API接口的公司有哪些

市场上做话费接口充值的公司很多&#xff0c;而且这些公司基本都能提供一个这样对接的接口。可以在网上搜索提供API接口的公司进行比较一下&#xff0c;接口内容都是大同小异&#xff0c;区别就是能提供的话费充值货源是否可靠。 在公司经营稳定&#xff0c;话费充值资源真实&a…

QString 用法

left filename.left(n)&#xff1b;取filename左边size - n长度的数据&#xff1b; QString filename; //“movie.png” filenamefilename.left(filename.size() -4); //“movie” chop filename.chop(n)&#xff1b;从字符串filename尾部删除 n 个字符 QString filenam…