1、1OPC主动化接口规范
(1) 主动化接口
OPC基金会为便运用户在各种环境下软件开发,为数据拜访规范供给两类接口:主动化接口和定制接口。根据定制接口的开发,需求用到较深的COM/DCOM常识,比较不流畅难明,而运用主动化接口则有以下长处:客户程序能够很容易地运用接口,而无需了解接口的具体内部机理;能够运用事情触发机制;能够生成一个通用的动态链接库(DLL)或控件供一切客户端运用程序运用。
(2) 主动化接口的通讯机制
OPC客户程序经过封装的OPC主动化接口动态链接库拜访OPC服务器,如图5所示。该动态衔接库将OPC服务器的定制接口翻译成OPC客户程序期望的主动化接口,以供客户程序调用。OPC客户程序和动态链接库是进程内的通讯,而动态链接库和OPC服务器的通讯则根据COM/DCOM,既能够是进程内或本地的衔接,又能够是长途衔接。封装的动态链接库处理了定制接口的解说和二者的通讯,然后大大简化了OPC客户程序的开发。
图1 OPC客户程序与服务器的通迅
(3) 主动化目标模型
OPC客户程序的开发关键在于搞清该动态链接库的封装结构,也即主动化接口规范。该规范能够用图6所示的主动化目标模型表明。它主要由六类目标组成:
OPCServer:OPC服务器的一个实例。只要创立了OPCServer目标今后才干取得OPC服务器的信息,它包括OPCGroups的查找以及OPCBrowser目标的创立;
OPCGroups:能够主动收集到OPCServer范围内客户端创立的一切的OPCGroup目标;
OPCGroup:OPCGroup目标的一个实例。它包括一切的状况信息,并且为OPCGroup中所触及的OPC- Items供给必要的服务;
OPCItems:能够主动收集到OPCServer范围内客户端创立的对应相应的OPCGroup中的一切的OPCItem目标;
OPCItem:一个主动化目标,它包括“位号”的界说,当时值,状况信息,最终更新时刻;
OPCBrowser:阅读服务器中一切“位号”称号的目标。关于每个OPCServer只能创立一个OPCBrowser目标。
图2 主动化目标模型
1.2 完成PID操控的OPC客户程序
(1) 运用VB开发OPC运用程序
运用VB开发OPC运用程序时,完成OPC主动化接口的OPC包装DLL是有必要的,这个OPC包装DLL一般应该是由OPC服务器的供货商供给的,为OPC客户程序的软件开发供给了具有杰出接口的东西。本文运用为OPC基金会的OPC包装DLL进行阐明。
由于在新建的VB工程里OPC包装DLL还没有注册,有必要先用下述办法对OPC包装DLL进行注册:
从VB菜单里挑选[工程(P)]-[引证(N)];
在[可用的引证(A)]的一览表明中,挑选对应的OPC包装DLL的文件名,这儿挑选[OPC Automation 2.0];
(2) 完成进程
用VB编写OPC客户端程序包括以下进程:
增加服务器的引证,创立OPC服务器目标,并将客户程序与服务器相连;
创立组集兼并增加组目标;
增加OPC项,运用OPCBrowse办法阅读整个服务器中一切的项,挑选需求的项,将其增加到规则的组中,并显现其值和状况;
在主画面中显现增加的组和项。
(3) 程序规划
图3是以VB完成的具有PID功用的OPC同步客户程序。
图3 完成PID操控的OPC客户程序
该单回路操控进程为自衡非振动,具有相互影响的双容进程。其数学模型可用如下传递函数描绘:G(s)=式中, Kp, Tp,τ为进程的增益、时刻常数和时滞。式中的各参数可根据阶跃呼应曲线用图解法求得。
下面给出确认传递函数的参数的办法:设图7中的操控量为q,测量值为y(∞),新的稳态值为设定值,增益K可由输入输出的稳态值直接算出,而Tp,τ则能够用作图法确认。为了能够随时调用在OPC服务器上收集的测量值y并制作出相应的阶跃呼应曲线,这儿把挑选的数据存放在指定的数据库中(选用SQL2000数据库)。一起也是为了在进行算法的仿真的时分,既能够从前史数据库中取数据,也可随着数据的收集,能够不断改写数据,进行算法的优化,如图4所示。
图4 SQL server数据库中存取OPC服务器数据
2、结束语
经过FF现场总线的进程操控试验体系的规划进程,论说OPC技能,意图是期望经过VB去开发OPC主动化接口的客户运用程序,完成PID操控算法到OPC 客户运用程序的运用编程,便运用户的运用和体系的保护和晋级,一起研讨SQL Server 2000的数据库体系,用于前史数据的存取以及算法的仿真。怎么完成愈加杂乱的先进操控算法,能够运用OLE主动化技能来完成VB与Matlab混合编程,即用VB编写OPC客户端程序来完成数据通讯,而运用Matlab进行先进操控算法的编写,然后对现场数据进行剖析,是下一步研讨的要点。