zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    jQuery Validate 表单验证
    在同一个页面使用多个不同的jQuery版本,让它们并存而不冲突
    移动端手势库hammerJS 2.0.4官方文档翻译
    Linux下查看nginx安装目录
    Mac Mini中添加VNC访问
    CSS3属性选择通配符
    【LeetCode】9 Palindrome Number 回文数判定
    【LeetCode】8. String to Integer (atoi) 字符串转整数
    【LeetCode】7. Reverse Integer 整型数反转
    【LeetCode】6. ZigZag Conversion 锯齿形转换
  • 原文地址:https://www.cnblogs.com/txwtech/p/15353212.html
Copyright © 2011-2022 走看看