因工作需要,在现有的软件里加入OPC服务。以前也了解过这方面的知识,所以这次学起来
也很容易上手。
加入OPC服务到是很简单,但是,考虑到一个团队将来有可能使用到OPC。所以,我的思想
是用C#扩展WtOPCSvr.dll组件,同样的,做一个再次开发组件包-----“ScaleOPC.DLL”-----服务器端的开发包。
下面我就介绍一下“ScaleOPC.DLL”的功能和具体应用,其实用起来很容易的:
一、“ScaleOPC.dll”的功能和内部结构:
(1)。 引用WtOPCSvr.dll组件内部所有的函数,WtOPCSvr.dll组件是用VC写的,
所以要用C# [DllImport ("WtOPCSvr.dll")],对于编程的人来说,
这个大家都知道的。对应的BaseOPCServer.cs类。
(2)。 继承BaseOPCServer.cs类,编写的OPC SERVER使用类。当然了,直接用
BaseOPCServer.cs也可以使用,但是为了方便管理TAG,增加了TagInfo.cs和
TagCollection.cs类,用户管理TAG信息和集合。
(3)。增加了数据库驱动功能,大家可以用这个DLL配制数据源,并对字段进行随意的配
制。支持ACCESS和SQL两种数据库类型。
(4)。为了方便使用,当启动服务时候,会检查OPC相关是否注册,如果没有注册,这个
DLL 会自动释放嵌入式资源,进行注册。
(5)。大家只需要一个"ScaleOPC.dll"就可以了,其他的内嵌资源会自动释放。做到用户
无关性。
二、具体应用,只是几个函数而以。
用起来还是很方便的.里的机制大家不用管,都封装好了.
//用户使用的时候对外的接口类
ScaleOPC.OPCInterface inter=new ScaleOPC.OPCInterface ();
//配制数据源
inter.ConfigOPCSvr();
//启动线程服务,建立OPC TAG,并实时更新数据
inter.StartOPCSvr (System.AppDomain .CurrentDomain .BaseDirectory +"Test.exe");
//暂停当前服务
inter.Suspend ();
//重新启动服务
inter.Resume ();
//停止当前服务
inter.CloseOPCSvr();
//查看当前TAG结构
ScaleOPC.TagStructForm form=new ScaleOPC.TagStructForm (inter);
form.ShowDialog ();
配制数据库类型
选择ACCESS数据源
选择SQL数据源
配制数据源字段
查看TAG结构
客户端测试工具。
请大家多多指教,希望和大家能够交流!
ScaleOPC.dll下载地址:http://lsjwq.download.csdn.net/
QQ:504547114
网名:唯笑志在
群号:54256083