基于OPC UA客户端上位机编写应用心得分享

时间:2023-03-04作者:佚名

基于opc UA客户端上位机编写

使用自动化接口进行OPCDA的客户端编写,但是OPCDA是基于COM/DCOM的技术,如果服务器与客户端不在同一台电脑上配置较为复杂;基于COM/DCOM的技术有着不可根除的缺点,因此随着技术的进步,以及数据交换各方面需求的提高,OPC基金会在2008年发布了新的规范:OPC UA。OPC UA规范不再是基于COM/DCOM技术,因此OPC UA不仅能在Windows平台上实现,更可以在Linux,以及其他的嵌入式平台中实现。

与传统OPC规范相同,OPC UA同样有着相同的设计目标:

1.功能等价:所有的基于COM的OPC规范中的功能,都映射到了OPC UA中。

2. 多平台支持:支持从嵌入式的微控制器到基于云的分散式控制架构。

3.安全:信息加密,互访认证以及安全监听功能。

4.扩展性:不影响现有应用程序的情况下,就可以添加新的功能。

5.丰富的信息建模:可定义复杂的信息,而不再是单一的数据。

OPCUA服务器配置

本次OPCUA服务器依然使用KEPServerEX 6,配置如下:

1、在托盘找到KEPServerEX 6图标,右键弹出菜单,点击OPCUA配置

基于OPC UA客户端上位机编写应用心得分享

2、在弹出的配置界面进行如下图的配置:

基于OPC UA客户端上位机编写应用心得分享

3、打开KEPServerEX 6主界面,右键点击项目,选择属性,进行配置如下,即完成OPCUA服务器配置;

基于OPC UA客户端上位机编写应用心得分享


03

软件编写

1、软件实现节点浏览,添加订阅,移除订阅,清空订阅的功能,演示界面如下:

基于OPC UA客户端上位机编写应用心得分享

2、本次代码实现主要基于OPC UA的最新官方库二次封装的一个类库:OpcUaHelper.dll,开源地址:
https://github.com/dathlin/OpcUaHelper;准备好开发的IDE,新建项目。注意:项目的.NET Framework版本最低为4.6。打开NuGet管理器,引用OpcUaHelper;

基于OPC UA客户端上位机编写应用心得分享


3、代码编写:

<1> 建立连接

private void button1_Click(object sender, EventArgs e)

{

opcUaClient.UserIdentity = new UserIdentity(new AnonymousIdentityToken());

opcUaClient.ConnectServer(textBox1.Text);

PopulateBranch(ObjectIds.ObjectsFolder, treeView1.Nodes);

}

<2>节点浏览

private async void PopulateBranch(NodeId sourceId, TreeNodeCollection nodes)

{

odes.Clear();

nodes.Add(new TreeNode("Browsering..."));

// fetch references from the server.

TreeNode[] listNode = await Task.Run(() =>

{

ReferenceDescriptionCollection references = GetReferenceDescriptionCollection(sourceId);

List list = new List();

if (references != null)

{

// process results.

for (int ii = 0; ii < references.Count; ii )

{

ReferenceDescription target = references[ii];

TreeNode child = new TreeNode(Utils.Format("{0}", target));

child.Tag = target;

child.Nodes.Add(new TreeNode());

list.Add(child);

}

}

return list.ToArray();

});

相关阅读

傻傻分不清电路?专业电气学姐为你全方面解读(十六)

继上次的戴维南定理之后,这次要学习的就是受控电源与非线性电阻了,这是第二章内容的后一部分,也是《电工基础》课程中直流部分知识的后一点。说是直流,其实第二章里面的大...
2023-06-27
傻傻分不清电路?专业电气学姐为你全方面解读(十六)

断路器五个保护:失灵、充电、死区、自动重合闸、三相不一致保护解析——工厂变配电室运维

很多常年接触高压柜的运维人员,只熟悉过流保护、速断保护,对失灵、充电、死区、自动重合闸、三相不一致这五个保护可能都不清楚,当然其实我也是,后面还专门去学习了两天。目前就...
2026-06-17

三路输出电源电路图

这是三路输出电源的电路图。给出的输出是: 可调输出 1.25V至 20VDC 分体/双极性输出 12VDC和-12VDC 分体/双极性输出 5VDC和-5VDC 这是一种低成本且易于构建的多用途电源。它满足几乎所有实...
2023-08-09
三路输出电源电路图

巧用西门子PLC定时器

用户使用CPU315-2DP的CPU实现一个很复杂的工艺控制,时间要求很严格,有很多时间序列,例如A点信号为1后触发定时器1,定时5秒钟,时间到后,输出一电平给B点,触发定时器2,延迟3秒...
2023-03-21

机组正常运行中,锅炉高压过热器爆管,请叙述现象,原因及处理

一.过热器爆 管 1.现象 1)蒸汽流量下降,蒸汽流量不正常地小于给水流量。 2)严重时从人孔门向外喷出白汽。 3) 过热器 附近有蒸汽喷出的啸叫声。 4) 过热蒸汽 温度变化。(不能判定一定...
2023-06-13
机组正常运行中,锅炉高压过热器爆管,请叙述现象,原因及处理

热销商品

连发瓦斯枪通用瓦斯射钉钢钉枪瓦斯气体高强度瓦斯射钉枪165气罐

连发瓦斯枪是一款专为高强度瓦斯射钉设计的工具,其特点在于能够连续发射瓦斯气体,适用于多种需要快速穿透和固定材料的场景。这款瓦斯枪配备了165气罐,容量足够满足...
4.5

黄铜镀镍金属电缆防水接头EWM密封格兰头HSM电线固定填料函M20M16

黄铜镀镍金属电缆防水接头EWM密封格兰头(HSM型)是一款高性能电线固定与密封装置,适用于M16和M20螺纹规格。采用优质黄铜材质并表面镀镍处理,具备优异的防腐蚀性、机械...
1.14

消防配件二氧化碳灭火器2 3 5 7KG弯头喷管24Kg干冰CO2外喷头喷嘴

二氧化碳灭火器配件中的2357KG弯头喷管与24Kg干冰CO₂外喷头喷嘴,是专业消防设备的重要组成部分。该弯头喷管采用高强度耐腐蚀材料制造,连接灵活,适用于高压CO₂灭火...
4.5

雷士照明led筒灯孔灯客厅吊顶天花灯嵌入式过道筒灯射灯桶灯家用

雷士照明LED筒灯是一款专为现代家居设计的嵌入式照明产品,适用于客厅、吊顶、过道、卧室等空间。采用高品质LED光源,光线柔和均匀,显色指数高,有效还原真实色彩,营造舒...
5.78

雷士照明嵌入式防眩筒灯射灯窄边过道灯深杯客厅无主灯天花灯米雪

雷士照明嵌入式防眩筒灯射灯——“米雪”系列,专为现代无主灯设计打造。采用窄边深杯结构,有效控制杂散光,实现精准防眩,营造舒适柔和的光环境。适用于客厅、过道、天...
25.67

网站栏目