首页 > 编程语言 >OPC.Client for DA and UA 使用C#开发库UcAsp.OPC.Client使用案例

OPC.Client for DA and UA 使用C#开发库UcAsp.OPC.Client使用案例

时间:2023-01-17 09:47:37浏览次数:36  
标签:C# DA OpcClient Client client OPC new UA

UCAsp.OPC是一个基于OPC基金会的库的支持DA和UA的OPC客户端C#的中间件,可以在不同的协议中轻松、透明地执行OPC Server操作。

UcAsp.Opc C#的客户端API共有15个,支持.Net 4.0~4.6;

 

一、如何连接一个OPC服务器:

DA:

 OpcClient client = new OpcClient(new Uri("opcda://127.0.0.1/Matrikon.OPC.Simulation.1"));

UA:

OpcClient client = new OpcClient(new Uri("opc.tcp://127.0.0.1:26543/Workstation.RobotServer"));

 

 

在使用中通过Url的Scheme区分是DA还UA,开发者不用需要关心UA还是DA;

 

二、如何读取对应节点的值:

string r = client.Read("Random.String");

 

三、如何写入一个节点的值:

 1 client.Write("Robot1.Axis1", 2.0090f); 

 

上面两个环节UA和DA没有差别

 

四、节点变化监听:

   该库采用的建立Group的方式监听组的变化情况,实现代码如下

复制代码
 1 public void UAGroup()
 2         {
 3             OpcClient client = new OpcClient(new Uri("opc.tcp://127.0.0.1:26543/Workstation.RobotServer"));
 4             OpcGroup group = client.AddGroup("Test");
 5             client.AddItems("Test", new string[] { "Robot1.Axis1", "Robot1.Axis2" });
 6             group.DataChange += Group_DataChange;
 7             Console.WriteLine(group);
 8         }
 9 
10         private void Group_DataChange(object sender, System.Collections.Generic.List e)
11         {
12             foreach (OpcItemValue o in e)
13             {
14                 Console.WriteLine(o.Value);
15             }
16         }
复制代码

 

 

 

如上图就是利用UcAsp.Opc制作的一个WWB SCADA的演示模型;

 

原文地址:http://www.ucasp.net/opc/opcda-opcua-Csharp.shtml

标签:C#,DA,OpcClient,Client,client,OPC,new,UA
From: https://www.cnblogs.com/xiaoxihebei/p/17056987.html

相关文章

  • BC3-牛牛学说话之-整数
    题目描述牛牛刚刚出生,嗷嗷待哺,一开始他只能学说简单的数字,你跟他说一个整数,他立刻就能学会。输入一个整数,输出这个整数。输入描述输入一个整数,范围在32位有符号整数范围......
  • echarts自定义tooltip提示框内容
    需求:echarts中的tooltip提示框需要拼接单位,效果如下:代码:tooltip:{trigger:'axis',formatter:(params)=>{//unit为单位,此处是需要动态拼接单位......
  • 6.Selenium【元素的定位】class属性定位
    一、前言除了id和name以外,class通常也会存在于标签属性中,我们同样可以通过标签的class属性来定位元素。但是要注意的是,class属性的值一般在页面中不是唯一的,我们如果要定......
  • bat做网络驱动时报错Multiple connections to a server or shared resource by the sa
    有时会报这样的错:Themappednetworkdrivecouldnotbecreatedbecausethefollowingerrorhasoccurred:Multipleconnectionstoaserverorsharedresourcebyt......
  • crond系统计划任务的原理与配置
    关于Linux下的crontab,你不知道的那些知识点土豆居士 一口Linux 2022-12-1212:03 发表于江苏收录于合集#linux108个#crontab1个点击左上方蓝色“一口Lin......
  • cookie
    关于domain的补充说明(参考1/参考2):1、如果显式设置了domain,则设置成什么,浏览器就存成什么;但如果没有显式设置,则浏览器会自动取url的host作为domain值;2、新的规......
  • C#调用js库的方法
    前言用.net6开发一个Winform程序,处理Excel文件,并把结果导出Excel文件。要用到两个算法,一是turf.js库的booleanPointInPolygon方法,判断经纬度坐标是否在区域内;二是经纬度......
  • c++ UTF8-GBK互转
    inlinestd::stringutf8_to_gbk(conststd::string&str){std::wstring_convert<std::codecvt_utf8<wchar_t>>conv;std::wstringtmp_wstr=conv.from_byte......
  • BUUCTF 镜子里面的世界
    嘿嘿!差这题就一共16题惹!   题目:上工具!  慢慢试!  看到flag了嘛!那就是answer啦!(thekeyis...后面那个就是flag!)......
  • 均有商业公司支持!2023再看数据湖 hudi iceberg delta2 社区发展现状!
    开源数据湖三剑客Apachehudi、Apacheiceberg、Databricksdelta近年来大动作不断。2021年8月,ApacheIceberg的创始人RyanBlue、DanWeeks和Netflix数据架构总......