UcAsp.Opc 1.0.0.5

OPC Client fo DA  And UA Free OPC C# 免费开源客户端  

Install-Package UcAsp.Opc -Version 1.0.0.5
dotnet add package UcAsp.Opc --version 1.0.0.5
<PackageReference Include="UcAsp.Opc" Version="1.0.0.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add UcAsp.Opc --version 1.0.0.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

UcAsp.Opc

opc for da and ua

注 意:

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

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);

UcAsp.Opc

opc for da and ua

注 意:

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

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);

Release Notes

新增对.net 4.0的支持。
新增List<Result> Write(string[] tag, object[] values)
新增List<OpcItemValue> Read(string[] tag);

更多内容:http://www.ucasp.net/

Dependencies

This package has no dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.0.5 1,108 8/29/2017
1.0.0.2 417 8/22/2017