​        KepOPC是支持OPC、S7等工业标准协议设备数据采集与交换的中间件软件,本文主要介绍如何采用KepOPC中间件(DA2UA)实现从OPCDA到OPCUA的转换及互操作,随着OPCUA及跨平台技术的不断迭代,传统OPCDA受制于DCOM安全机制等技术限制已经满足不了工业互联网架构下的应用需求,IT及OT更加迫切需要融合及互操作。下面让我们看一下KepOPC中间件(DA2UA)的功能和操作方法。

本站下载地址:https://download.csdn.net/download/weixin_29482793/85024884

百度网盘下载地址:https://pan.baidu.com/s/1xnzS8aWZ-WYPJrzPoFSRcg

提取码:2s8a

第一步、打开及退出软件

双击应用软件图标打开“OPCDA2UA.exe”软件,第一次配置时会弹出图1所示提示窗口,点击“OK”显示软件主窗口如图2所示,按照提示操作步骤选择“File”->“OPCSetting”后,打开参数设置页面如图3所示。软件的退出采用输入密码方式退出,密码默认是 admin ,常态化运行可以最小化到托盘,避免误操作。

​图1 首次应用提示窗口

​图2 中间件主界面

​图3 首次参数配置提示界面

第二步、OPC参数设置

按照图3提示,点击“OK”确定后显示参数设置界面如图4所示,参数设置分为如下几步:

​图4 参数设置界面

(1)OPC UA参数配置:在程序默认的ServerAddress、ServerName、Security Modes、Security Policies、Anonymous或用户名密码、运行Mode等参数基础上修改成自己需要的配置内容,以上各项均不能为空;

        (2)OPC DA 添加节点:点击”AddGroup“弹出DA服务器扫描窗口,如图5所示:

​图5 OPC DA服务器搜索界面

输入OPCDA服务器IP地址,选择OPC连接方式(DCOM、OPEN),点击”SCAN“按钮搜索服务器,选中对应的服务器点击”Add“按钮添加到OPCParamSetting窗口,如图6所示。

​图6 OPC DA节点添加界面

单击选中添加的DA参数行,点击”Connect“按钮连接OPCDA服务器,提示连接成功后,目录树展开服务器节点目录,双击末支节点名称添加到图6右侧列表,此过程亦可通过批量方式添加。选中Gruop1后,点击”AddBranch“按钮添加整组节点到右侧窗口,实现节点的批量添加。(注意:批量添加的前提是Group1下节点均为末支节点),批量添加如图7、图8所示:

​图7 OPC DA节点批量添加方法

​图8 OPC DA节点批量添加完成

通过”Delete Item“和”Delete All“按钮删除表中选中的节点,实现对本组节点的管理,如图9所示:

​图9 OPC分组节点管理功能

点击”Disconnect“按钮完成本组节点的添加,保存到临时队列,如图10所示,依次类推可以重复添加第二组、第三组。。。。。。的OPC节点和连接。添加完所有组后,点击”Save“保存所有配置项目,保存并关闭参数设置窗口后,主界面显示相关分组信息和节点信息,如图11所示。

​图10 OPC分组节点管理功能

​图11 OPC分组节点添加到主界面

第三步、运行及停止

点击”START“按钮开始运行,运行正常的界面如图12所示:

​图12 OPC2UA运行正常界面

中间件支持UA服务器功能,参数设置界面可设置OPCUA服务器url地址,允许匿名连接和展开节点目录树,支持OPCUA数据交换是否启用选择,url地址可自定义,端口可自定义,默认地址为opc.tcp://0.0.0.0:4841/OPCUA/KepOPC。服务器不需要做任何配置或端口映射,通过第三方UA客户端或者KepOPC中间件能够在局域网或跨平台直连该服务器,做数据桥接及写值互操作,UA客户端向中间件写值的同时写值到OPCDA服务器对应节点。

​图13 UaExpert连接读取

点击”STOP“按钮开始运行,运行正常的界面如图14所示:

​图14  OPC2UA停止运行界面

        中间件采集及发布性能:OPCDA2UA中间件单套软件支持不低于10000个节点的采集和发布,采集和发布周期不超过1秒,用户根据现场实际情况分配各组参数,实现多组协程处理,提高DA采集效率和UA发布及互操作效率,下面是用6741个测试节点搭建测试环境的测试截图,如图15所示,可以看到四组节点分别采集平均耗时约300ms,平均发布时耗约300ms

图15  OPC2UA运行在服务器的界面

客户端读写实例

# encoding=utf-8

import sys,time
sys.path.insert(0, "..")
from opcua import Client
from opcua import ua
import time
from datetime import datetime,timedelta

if __name__ == "__main__":

client = Client("opc.tcp://132.232.202.106:4841/OPCUA/KepOPC") #opcua服务器地址
    client.set_user("admin") #登陆用户名
    client.set_password("123456") #登陆密码
    client.set_security_string("Basic256Sha256,SignAndEncrypt,certificate-example.der,private-key-example.pem") #安全和认证模式
    client.application_uri = "urn:example.org:FreeOpcUa:python-opcua"
    client.secure_channel_timeout = 30000
    client.session_timeout = 30000

try:
        client.connect()
        print "Connect to ua server success!"
        root = client.get_root_node()
        print("Objects node is: ", root.get_browse_name())

objects = client.get_objects_node()
        print "childs og objects are: ", objects.get_children()
        channel = objects.get_children()

var = client.get_node("ns=2;s=Group1.WSCC.Device1.Group1.wasiTemp") #测试读写点
        var1 = client.get_node("ns=2;s=Group1.WSCC.Device1.Group1.wasiPress") #测试读写点1
        var2 = client.get_node("ns=2;s=Group1.WSCC.Device1.Group1.ByteArray") #测试读写点2

for i in range(0,100000): #循环读写值
            res =  var2.get_data_value().Value.Value  #测试点2数组类型的读写操作
            print res
            write_list = []
            for j in range(0,len(res)):
                write_list.append(float(i+j+0.01))
            var2.set_value(write_list)
            time.sleep(2)

var.set_value(float(i+0.25))  #测试点float类型的读写操作
            print var.get_value() # get value of node as a python builtin
            time.sleep(2)

var1.set_value(float(i+0.55)) #测试点1float类型的读写操作
            print var1.get_value() # get value of node as a python builtin
            time.sleep(2)

finally:
        client.disconnect()

    运行客户端实例后,可以看到图16中服务器记录写值过程和状态(成功/失败),同时服务器将值同步写入到opcda服务器对应的节点中去,从而实现从opcua客户端到opcda服务器的读/写值互操作功能。

图16  服务器端读写操作日志提示

    同时,第三方客户端或用户自己编写的客户端也能订阅到服务器中对应写值节点值的改变,如图17所示,以上客户端读写实例能够完整的测试OPCDA2UA中间件软件的连接及读写,使用之前请先pip安装对应的模块并导入.der和.pem文件。

图17  客户端读写操作及第三方软件订阅结果

总结:

OPCDA2UA中间件采用免安装设计,连接方式为DCOM和OPEN两种DA连接方式,支持同时连接多组OPCDA服务器,按照用户要求的节点添加到各分组列表中,同时具备分组管理和节点管理功能;支持各分组参数设置及修改功能,主要包括OPCUA服务器地址、名称及安全机制等参数。

KepOPC中间件系列的DA转UA软件能够轻松实现从OPCDA到UA的采集转换及读写互操作,减少自动化工程师的DCOM配置烦恼,相信很多自动化或IT工程师都受过DCOM的折磨;降低IT工程师在工业互联网应用场景中使用kepware等国外软件的应用成本,同时支持功能定制和灵活裁剪,更好适配工业互联网应用场景;通过该方式能够实现跨平台数据交换,实现windows下的DA服务器与其他操作系统中ua客户端的互联互通,为跨平台OPC数据交换提供一种便捷方案,应用者只需关注边缘网关或安全设备中ua客户端的开发,降低产品开发周期和成本。


往期回顾:

  • Raspberry Pico DIY应用介绍

  • 基于Raspberry的超声波测距仪

  • Web端如何通过MQTT与OPC实现设备交互控制?

  • Linux系统如何实现从OPC到阿里云IoT平台的数据交换?

  • 矿用设备感知数据接入OPC数据采集与交换

  • KepOPC-AliIoT(阿里云物联网平台)

  • 如何实现从OPC DA到PLC的数据逆向交换?

  • 如何实现从OPC到阿里云IoT平台的数据交换?

  • OPC-阿里云&OPC-InfluxDB

  • OPC数据采集及分析软件更新介绍

  • OPCDA-UA

  • 智能制造还有多远,KepOPC又能解决哪些问题呢?

  • 如何通过KepOPC的MQTT功能订阅工业现场数据?

  • S7中间件如何通过MySQL与PLC读写交互?

  • 西门子S7系列PLC数据采集及交换平台功能介绍

  • 西门子S7系列PLC数据采集及交换平台使用说明

  • KepOPC工业互联网数据交换平台

  • OPC实时数据发布到MQTT及存储MySQL关系数据库

  • OPC实时数据发布到MQTT及存储InfluxDB时序数据库

  • KepOPC不止是OPC客户端那么简单

  • 如何利用Socket和COM通迅实现非标协议设备的工业互联?

KepOPC全新DA2UA中间件实现OPCDA与UA的转换及互操作相关推荐

  1. KepOPC实现CAN设备的OTIT互操作!

    KepOPC是支持OPC.S7等工业标准协议设备数据采集与交换的中间件软件,本文主要介绍如何采用KepOPC中间件与工业级嵌入式主板(CM4-CAN)实现CAN协议的总线设备与OT及IT系统的双向数据 ...

  2. php路由中间件,lumen5.5学习路由和中间件(四)

    前几篇了解完从请求到响应的流程后,仔细学习下路由和中间件的玩法 ----------------------------------分割线------------------------------- ...

  3. Python爬虫之Scrapy框架系列(18)——深入剖析中间件及实战使用

    目录: 1.下载中间件: (1)终端获取下载中间件状态信息的命令: (2)下载中间件的API: (3)中间件的项目应用:通过添加中间件设置UA代理及IP代理 ①在middlewares.py中间件文件 ...

  4. OPC UA性能评估

    本文是对这篇论文的总结,该文章从性能和资源使用方面比较了工业4.0的4个主要协议:OPC UA,DDS,ROS和MQTT. 这4个协议都是基于以太网(Ethernet-based),随着以太网实时特性 ...

  5. scrapy中间件详解

    scrapy中间件: scrapy中间件介绍 下载器中间件 添加ip代理 UA中间件 cookies中间件 爬虫中间件 核心方法 scrapy中间件介绍 = = scrapy中间件是scrapy框架的 ...

  6. django框架--中间件系统

    目录 零.参考 一.中间件的基本理解 二.中间件的系统定位 三.中间件的配置 四.中间件的执行流程 五.中间件与装饰器之间的思考 六.中间件的应用场景 七.内置中间件 八.总结 零.参考 https: ...

  7. 金蝶中间件奉继承:浅析深究什么是中间件

    摘要:长期以来,中间件是一个专业化非常强的细分产业.因为中间件的技术门槛比较高,玩家也不多,无论是国外还是国内都是如此.因此,行业内对什么是中间件并不特别在意.而公司名称直接叫中间件的就更少了,金蝶中 ...

  8. 浅析深究什么是中间件 发布时间: 2016-06-10 作者:本站编辑 浏览次数:128 摘要: 因为工作的原因,我从金蝶集团调入金蝶中间件公司工作以来,经常遇到一个问题就是中间件公司是个什么

    浅析深究什么是中间件 发布时间: 2016-06-10   作者:本站编辑   浏览次数:128 摘要: 因为工作的原因,我从金蝶集团调入金蝶中间件公司工作以来,经常遇到一个问题就是中间件公司是个什么 ...

  9. 【结构化思考】边缘计算架构 3D模型参考

    想想一辆自动驾驶汽车,它实际上是车轮上的数据中心. 彼得莱文 随着数据量的继续增加以及数据处理多样化的要求,基于云端的大数据处理面临诸多挑战. 以当下火热的自动驾驶汽车为例,从产品形态上看,自动驾驶汽 ...

最新文章

  1. Linux下安装、配置PHP环境
  2. 笔记:编写高质量代码 改善Java程序的151个建议
  3. 使用WebService与Oracle EBS进行集成(上)
  4. C++远航之封装篇——默认构造函数、初始化列表、拷贝构造函数
  5. 对称加密 与 非对称加密
  6. 在QEMU硬件环境中启动 kernel 2.6 + busybox as rootfs
  7. Ubuntu16.04 Swap的开闭
  8. ai怎么画路线_使用AI画一个离心管
  9. 使用AdvinceInstaller把exe或者msi重新包装成为msi静默安装程序
  10. 智能优化算法应用:基于麻雀搜索算法的水文地质参数优化 -附代码
  11. 北京飞马贸易借沟通CTBS实现总部与分公司同步做帐
  12. 时间序列预测算法——DeepAR
  13. 基于朴素贝叶斯的鸢尾花数据集分类
  14. 基于灰度世界、完美反射、动态阈值等图像自动白平衡算法的原理
  15. 荣耀magicbook15C语言,荣耀MagicBook 15 2021版评测:轻薄机身+强悍性能 专为高效率办公而生...
  16. 富贵险中求?回顾AMD历次决策之是非对错(AMD授权中国生产x86之后)
  17. 苹果的胜利:Adobe宣布Flash Media服务支持iOS设备运行Flash
  18. 致那些喜欢站在上帝视角的人
  19. Python3.X网络爬虫学习(六)
  20. C语言网络聊天室——服务器端

热门文章

  1. 使用频率最高的美语口语296句(本人精心整理,按使用频率排序)
  2. 互联网月饼大赏,你最喜欢哪家的?
  3. 在SLED 10下ADSL的配置方法
  4. 初学python的体会心得-分享给入门Python小白的学习心得
  5. linux kernel -- oops场景奈何桥
  6. PYTHON学习笔记之(一)2020.08
  7. 科技云报道:AI+Science、元宇宙、仿生机器人……云栖大会带你看到未来的样子
  8. css针对IE单独设置样式
  9. Datawhale组队学习-NLP新闻文本分类-TASK06
  10. 福布斯中国20位最佳创业投资人出炉 女性占四席