本站下载地址: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实现设备交互控制/p>
Linux系统如何实现从OPC到阿里云IoT平台的数据交换/p>
-
矿用设备感知数据接入OPC数据采集与交换
-
KepOPC-AliIoT(阿里云物联 平台)
-
如何实现从OPC DA到PLC的数据逆向交换/p>
如何实现从OPC到阿里云IoT平台的数据交换/p>
-
OPC-阿里云&OPC-InfluxDB
-
OPC数据采集及分析软件更新介绍
-
OPCDA-UA
-
智能制造还有多远,KepOPC又能解决哪些问题呢/p>
如何通过KepOPC的MQTT功能订阅工业现场数据/p>
S7中间件如何通过MySQL与PLC读写交互/p>
-
西门子S7系列PLC数据采集及交换平台功能介绍
-
西门子S7系列PLC数据采集及交换平台使用说明
-
KepOPC工业互联 数据交换平台
-
OPC实时数据发布到MQTT及存储MySQL关系数据库
-
OPC实时数据发布到MQTT及存储InfluxDB时序数据库
-
KepOPC不止是OPC客户端那么简单
-
如何利用Socket和COM通迅实现非标协议设备的工业互联/p>
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览209413 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!