c#中如何使用OPCDAAuto.dll组件 ,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
一、ScaleOPClient.dll介绍
ScaleOPClient.dll是在OPCDAAuto.dll基础上开发,集成了OPCDAAuto.dll绝大部分功能。
1、组件内部集成了对服务器、组别和标签的管理,其中包括参数的管理。但是利用ScaleOPClient.dll开发自己的程序,有些属性和函数是不对外的,以免对核心东西的操作造成程序混乱。
2、对服务器、组别和标签的管理,以及参数的管理,完全是通过窗体进行配制就可以了。减少编程人员编写代码的工作量。
3、对于环境需要的组件(OpcEnum.exe,OpcRcw.Comn.dll,OpcRcw.Da.dll等),ScaleOPClient.dll会自动释放资源,并且进行注册,不需要再配制环境了。但是对于DCOM,还是需要自己手动配制。
4、当开发人员利用ScaleOPClient.dll的窗体配制好客户端之后,可以利用AutomationHandler 和ParameterHandler事件,进行接数据更新操作。
总之,利用ScaleOPClient.dll开发客户端,我们只需要做两件事,第一:调用主空体配制OPC客户端相关信息。第二:利用事件通知开发人员进行数据更新,并传递更新的数据信息。
二、ScaleOPClient.dll的使用
ScaleOPClient.dll提供一个对外的类(ScaleOPClient.Interface),这个类提供了用户需要操作的几个函数,一切以这个类为中心进行功能操作就可以了。
1、我们需要创建一个对外的接口类
ScaleOPClient.Interface _opclient=new ScaleOPClient.Interface ();
2、我们需要调配制函数
_opclient.ConfigClient();
任何OPC客户端的的配制都是通过这个函数,这个函数会调用一个主窗体,开发人员或手动配制就可以了。
3、配制好客户端信息之后,我们需要加载两个接收数据更新的事件。
_opclient.AutomationHandler +=new ScaleOPClient.OPCAutomationHandler(Automation);
_opclient.ParameterHandler +=new ScaleOPClient.OPCParameterInfoHandler (Parameter);
在事件里进行操作
private void Automation(object sender,OPCAutomationArgs e)
{ //-------你的代码-----------// }
private void Parameter(object sender,OPCParameterInfoArgs e)
{ //-------你的代码-----------// }
4、选择事件类型,默认值为:OPCEventType.Automation
_opclient.EventType
这个属性有两种类型,
1)、OPCEventType.Automation :当EventType为该类型的时候,程序会调用AutomationHandler 事件,做为OPC数据更新默认事件,这个事件是采用OPC订阅方式读取服务器的数据信息。
2)、OPCEventType.ParamaterInfo:当EventType为该类型的时候,程序会调用ParameterHandler事件,做为OPC数据更新默认事件,这个事件采用OPC的同步方式读取服务器的数据信息,循环组别依次读取数据,并传递服务器名称、组别名称等信息。
EventType属性的目的是,在数据更新的时候不能同时响应两个事件,如果客户端比较多的时候,这样会阻塞信道。
5、OPC客户端的结构信息
_inter.Servers 属性
用户可以调用这个属性,轮询服务器、组和标签,并且获得相关信息,这个属性可以配合AutomationHandler 事件使用,每个有数据更新了会响应这个事件,在这个事件里去轮询,获得标签值。
三、图片说明
配制信息的主窗体
获得服务器列表
服务器属性
增加组信息
增加标签
配制好之后的主窗体
多服务器
其他功能(右键)菜单
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。