资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
. . . . .【转】(C#)OPC客户端源码 转载申明 申明:本文为转载,如需转载本文,请获取原文作者大尾巴狼啊的同意,谢谢合作!转自:大尾巴狼啊原文出处:http:/www.cnblogs.com/xiaosacao/archive/2009/01/13/1374895.html前几天我就发布过这篇文章,可惜的是,发布后代码有的却看不到,后来我就删了,至今不明白什么原因- -!关于C+、VB来开发OPC客户端的资料网上有很多,但C#的至今没发现有多少。由于近期项目的需要,就开发了OPC客户端的一个模块。在我想来,程序员挺累的,原因我很累。所以我想大家也很累嘿嘿。特别是刚接手OPC客户端开发的前几天,天天盯住显示器,百度、GOOGLE不停的搜索。每天早上醒来,眼睛都瑟瑟的。从事3年以上软件开发的朋友们,估计都会腰酸背痛吧!反正我是这样的。不说那么多废话了,贴上源码,让需要的同行看看吧,代码的质量并不高,就当做抛砖引玉吧!1、枚举本地服务器2、获取服务器信息3、列出了服务器上Tag4、可以设置组的属性5、读写功能6、可进行远程连接(DCOM需配置)先看图:引用类库:OPC服务器:开发工具:当前环境:源码:Code/摘要/程式使用C#.NET2005编写/引用类库OPCDAAuto.dll/OPCServer采用KEPWare/在windowsxpsp2、sp3、windows2003上测试通过/完成于:2008年12月31日/测试于:2009年01月05日/作者:潇洒草/Email:zhkai868163.com/QQ:44649029/如分发,请保留此摘要。/鄙视那些拿代码当宝贝的人,鄙视那些你不拿源码换就不稀罕你的人,鄙视那些自私的人。/别人看到你的代码,你能死啊?对你有多大威胁啊?强烈鄙视/如果你是这样的人,赶紧关了。偶不欢迎。usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Net;usingSystem.Collections;usingOPCAutomation;namespaceOPC测试通过publicpartialclassMainFrom:FormpublicMainFrom()InitializeComponent();#region私有变量/OPCServerObject/OPCServerKepServer;/OPCGroupsObject/OPCGroupsKepGroups;/OPCGroupObject/OPCGroupKepGroup;/OPCItemsObject/OPCItemsKepItems;/OPCItemObject/OPCItemKepItem;/主机IP/stringstrHostIP=;/主机名称/stringstrHostName=;/连接状态/boolopc_connected=false;/客户端句柄/intitmHandleClient=0;/服务端句柄/intitmHandleServer=0;#endregion#region方法/枚举本地OPC服务器/privatevoidGetLocalServer()/获取本地计算机IP,计算机名称IPHostEntryIPHost=Dns.Resolve(Environment.MachineName);if(IPHost.AddressList.Length0)strHostIP=IPHost.AddressList0.ToString();elsereturn;/通过IP来获取计算机名称,可用在局域网内IPHostEntryipHostEntry=Dns.GetHostByAddress(strHostIP);strHostName=ipHostEntry.HostName.ToString();/获取本地计算机上的OPCServerNametryKepServer=newOPCServer();objectserverList=KepServer.GetOPCServers(strHostName);foreach(stringturnin(Array)serverList)cmbServerName.Items.Add(turn);cmbServerName.SelectedIndex=0;btnConnServer.Enabled=true;catch(Exceptionerr)MessageBox.Show(枚举本地OPC服务器出错:+err.Message,提示信息,MessageBoxButtons.OK,MessageBoxIcon.Warning);/创建组/privateboolCreateGroup()tryKepGroups=KepServer.OPCGroups;KepGroup=KepGroups.Add(OPCDOTNETGROUP);SetGroupProperty();KepGroup.DataChange+=newDIOPCGroupEvent_DataChangeEventHandler(KepGroup_DataChange);KepGroup.AsyncWriteComplete+=newDIOPCGroupEvent_AsyncWriteCompleteEventHandler(KepGroup_AsyncWriteComplete);KepItems=KepGroup.OPCItems;catch(Exceptionerr)MessageBox.Show(创建组出现错误:+err.Message,提示信息,MessageBoxButtons.OK,MessageBoxIcon.Warning);returnfalse;returntrue;/设置组属性/privatevoidSetGroupProperty()KepServer.OPCGroups.DefaultGroupIsActive=Convert.ToBoolean(txtGroupIsActive.Text);KepServer.OPCGroups.DefaultGroupDeadband=Convert.ToInt32(txtGroupDeadband.Text);KepGroup.UpdateRate=Convert.ToInt32(txtUpdateRate.Text);KepGroup.IsActive=Convert.ToBoolean(tx
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号