如何学习c#开发opcclient
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何学习c#开发opcclient相关的知识,希望对你有一定的参考价值。
参考技术A新建C#应用程序,命名为OPC
Client,将OPCAutomation.dll引用,如图。
using
OPCAutomation;
2.
定义OPC的三个接口类OPCServer类、OPCGroup类和OPCItem类;
OPCServer
KepServer;
OPCGroups
KepGroups;
OPCGroup
KepGroup;
OPCItems
KepItems;
OPCItem
KepItem;
3.
枚举网络OPC服务器
枚举OPC服务器用到GetOPCServers()函数
//获取计算机IP,计算机名称
IPHostEntry
IPHost
=
Dns.Resolve(Environment.MachineName);
if
(IPHost.AddressList.Length
>
0)
strHostIP
=
IPHost.AddressList[0].ToString();
else
return;
//通过IP来获取计算机名称,可用在局域网内
IPHostEntry
ipHostEntry
=
Dns.GetHostByAddress(strHostIP);
strHostName
=
ipHostEntry.HostName.ToString();//获取本地计算机上的OPCServerName
try
KepServer
=
new
OPCServer();
object
serverList
=
KepServer.GetOPCServers(strHostName);
//枚举网络所有OPC服务器并写入ComboBox控件
foreach
(string
turn
in
(Array)serverList)
cmbServerName.Items.Add(turn);
cmbServerName.SelectedIndex
=
0;
btnConnServer.Enabled
=
true;
catch
(Exception
err)
MessageBox.Show("枚举本地OPC服务器出错:"
+
err.Message,
"提示信息",
MessageBoxButtons.OK,
MessageBoxIcon.Warning);
4.
连接OPC服务器
try
KepServer.Connect(remoteServerName,
remoteServerIP);
if
(KepServer.ServerState
==
(int)OPCServerState.OPCRunning)
tsslServerState.Text
=
"已连接到-"
+
KepServer.ServerName
+
"
";
else
//这里你可以根据返回的状态来自定义显示信息,请查看自动化接口API文档
tsslServerState.Text
=
"状态:"
+
KepServer.ServerState.ToString()
+
"
";
catch
(Exception
err)
MessageBox.Show("连接远程服务器出现错误:"
+
err.Message,
"提示信息",
MessageBoxButtons.OK,
MessageBoxIcon.Warning);
return
false;
5.
创建组和列出OPC服务器中所有节点
//创建组
try
KepGroups
=
KepServer.OPCGroups;
KepGroup
=
KepGroups.Add("OPCDOTNETGROUP");
SetGroupProperty();
KepGroup.DataChange
+=
new
DIOPCGroupEvent_DataChangeEventHandler(KepGroup_DataChange);
KepGroup.AsyncWriteComplete
+=
new
DIOPCGroupEvent_AsyncWriteCompleteEventHandler(KepGroup_AsyncWriteComplete);
KepItems
=
KepGroup.OPCItems;
catch
(Exception
err)
MessageBox.Show("创建组出现错误:"+err.Message,"提示信息",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return
false;
//列出OPC服务器中所有节点
//展开分支
oPCBrowser.ShowBranches();
//展开叶子
oPCBrowser.ShowLeafs(true);
foreach
(object
turn
in
oPCBrowser)
listBox1.Items.Add(turn.ToString());
以上是关于如何学习c#开发opcclient的主要内容,如果未能解决你的问题,请参考以下文章