• KepServer_PLC_OPC_Server_UcAsp.Opc_OPC.DA动态静态库libAPI示范程序代码


    UcAsp.Opc

    opc for da and ua

    注 意:

    [OPC.DA 环境下先安装lib文件夹下的:Core Components Redistributable (x64).msi ]

    Nuget 安装

    Install-Package UcAsp.Opc -Version 1.0.0.5 

    OPC.DA 读取变量

    OpcClient client = new OpcClient(new Uri("opcda://127.0.0.1/Matrikon.OPC.Simulation.1"));
    string r = client.Read<string>("Random.String");
    

    OPC.UA 读取变量

    OpcClient client = new OpcClient(new Uri("opc.tcp://127.0.0.1:26543/Workstation.RobotServer"));
    float r = client.Read<float>("Robot1.Axis1");
    var list = client.Read(new string[] { "Robot1.Axis1", "Robot1.Axis2" });

    读取和写入

    OpcClient client = new OpcClient(new Uri("opc.tcp://127.0.0.1:26543/Workstation.RobotServer"));
    client.Write<float>("Robot1.Axis1", 2.0090f);
    float r = client.Read<float>("Robot1.Axis1");
    var result = client.Write(new string[] { "Robot1.Axis1", "Robot1.Axis2" }, new object[] { 2.0090f, 2.0090f });

    分组监听数据变化

    public void UAGroup()
    {
        OpcClient client = new OpcClient(new Uri("opc.tcp://127.0.0.1:26543/Workstation.RobotServer"));
        OpcGroup group = client.AddGroup("Test");
        client.AddItems("Test", new string[] { "Robot1.Axis1", "Robot1.Axis2" });
        group.DataChange += Group_DataChange;
    }
    
    
    private void Group_DataChange(object sender, System.Collections.Generic.List<OpcItemValue> e)
    {
      foreach (OpcItemValue o in e)
       {
           Console.WriteLine(o.Value);
       }
    }
    

    获取节点信息

    OpcClient client = new OpcClient(new Uri("opc.tcp://127.0.0.1:26543/Workstation.RobotServer"));
    INode root = client.RootNode;           
    IEnumerable<INode> list = client.ExploreFolder(root.Tag);
    IEnumerable<INode> server = client.ExploreFolder(list.ToList()[0].Tag);
    IEnumerable<INode> s = client.ExploreFolder(server.ToList()[0].Tag);

    下载地址:
    https://github.com/servucn/UcAsp.Opc#ucaspopc
    欢迎讨论,相互学习。 txwtech@163.com
  • 相关阅读:
    call_user_func和call_user_func_array的区别
    25行实现文件上传功能(PHP)
    PHP 结合MYSQL简单的实现了Todo List 功能
    向ASP.NET自定义控件中嵌入CSS资源
    模态子窗口不执行page_load
    oracle一次插入多条数据
    转载:数据库表结构设计方法及原则
    Js中的window.parent ,window.top,window.self
    在一个JS文件中包含中文字符串通过innerHTML输出后中文乱码
    转载:数据库表结构设计方法及原则
  • 原文地址:https://www.cnblogs.com/txwtech/p/15353212.html
Copyright © 2020-2023  润新知