(Data) 控件,数据库控件的主要作用是连接各种数据库,为用户进行数据库编程提供方便。OPC 数据采集控件提供类似数据库控件的功能,使用方式与数据库控件相仿,通过数据订阅和数据的动态绑定,为具有数据绑定功能的所有ActiveX 控件提供数据源,用户甚至无须编程就可显示来自OPC 服务器的实时数据。
2) OPC 服务器冗余技术 在工控软件开发中,一项最为重要的技术就是冗余技术,优秀的软、硬件冗余技术是系统长期稳定工作的保障。目前流行的工控软件也都具有冗余功能。OPC标准的制定为软件冗余提出了新的思路,我们可以通过OPC 技术更加方便的实现软件冗余。在实践应用中,我们开发了OPC 冗余服务器,解决了对任何厂商的OPC 服务器冗余问题。OPC 冗余技术的结构如图2-3 所示。
若图片无法显示请联系QQ752018766,先进控制在组态软件中的扩展与应用系统免费,转发请注明源于www.751com.cn 图2-3 OPC服务器的冗余结构
OPC 客户应用程序可以是任何符合OPC 标准的客户端应用,如用户自己编写的采集监控程序或其他软件厂商开发的符合OPC 标准的HMI、SCADA 应用。OPC 冗余服务器通过主/ 备份OPC 服务器采集数据,同时通过标准的OPC接口为客户端应用提供数据信息。因此,OPC 冗余服务器既是OPC 服务器的客户端应用,同时又是符合OPC 标准的服务器程序。由于OPC 冗余服务器采用OPC 标准,具有开放性和可互操作性,可以和任何符合OPC 标准的软件无缝集成,真正作到了即插即用。OPC冗余服务器可以根据用户配置的检测时间定时检测OPC 服务器的连接关系,在主从服务器之间自动切换,也可以按照用户指定的切换目标进行切换,方便了设备的文护,使系统的运行更加平稳。
在图形界面开发环境中, 插入一个OPCClientLinkServer 控件,负责访问现场中移动的物体的位置信息,并暴露出它所需输出的属性数据或者方法;然后客户就可以通过IDispatch 接口,根据DISPID 和对应的VARIANT 所支持的数据类型调用InVoke 方法或者GetProperty 方法;当然,最好这个控件也实现OPCServer 接口功能,这样该控件提供的数据就能被进程之间的所有遵循OPC规范的应用程序访问。
我们开发的图形界面通过建立一个模态对话框,在对话框资源中插入自己的OPCClient 控件(没有实现OPCServer 接口功能) ,该控件暴露了两个long 型的属性。这两个控件属性由控件自身根据控件所建立的组(OPC Group) 中所建立的项(Item) 中的数据来动态配置。这样我们可以根据OPC 规范从OPCServer 上获得数据,将根据该控件所建组中的项的数据动态设置而暴露出的属性作为输出数据。而后客户设置一个定时器,定时根据所提供的DISPID 的值以及对应的VARIANT 所支持的数据类型调用Get Property 方法,获得输出的数据。
2.2 基于ActiveX控件技术组态软件扩展方法
所谓ActiveX控件是基于COM标准的能够被外部自动调用的OLE对象,有时简称OCX。组态软件为便于工业自动化控制,提供了图形界面系统,实时数据库系统,控制功能组件等方便的工具,但其本身提供的功能函数和控件是有限的,时常不能满足设计人员的要求,而如Visual Basic,Visual C++等的计算机编程软件,为用户提供了各种功能丰富的函数和控件。通过这些函数或控件封装成ActiveX控件,便可将它们可移植到组态软件。由于ActiveX控件基于COM标准,与计算机编程语言无关,实际上它是定义了可重用组件的标准接口,组态软件通过这个接口调用那些函数和控件,而不受编程环境的限制,这样可以极大地丰富组态软件的功能,同时实现程序模块化,增强了代码的重用性。ActiveX控件实现接口功能的结构图如图2-4所示。
ActiveX 控件作为组态软件与其他计算机编程软件之间的接口,其状态分2个阶
图2-4 ActiveX 控件实现接口功能的结构图
段:设计阶段和执行阶段。设计阶段是指在设计窗口中编辑ActiveX 控件的阶段;而执行阶段是指ActiveX 控件在其他应用程序中调用执行的阶段。
以使用Visual Basic 6.0(简称VB 6.0)为例定制ActiveX 控件,并在力控组态软件中调用。例如,力控中MsgBox(Message)函数产生信息框的形式是固定的:提示信息和“是”与“否”两个按钮。在实际项目中时常需要形式更灵活的信息框,这里以制作信息框控件并在力控中使用为例,介绍ActiveX 实现接口功能的具体方法。
1) ActiveX 控件的制作
ActiveX 控件处于设计阶段,具体的制作过程是这样的:
第一步,在VB6.0的编程环境下新建一个ActiveX 控件工程。
第二步,在一个类似Form的UserControl对象上设计控件界面,可添加各种控件,由于这里封装的是函数,因此不需要添加其他控件。
第三步,编写程序代码,读者可以使用两种方法为ActiveX 控件添加属性、事件和方法。
若采用手动方式,则与在VB的标准EXE工程中的类似,通过“添加过程”对话框来添加属性、事件和方法。或者读者也可以在“ActiveX 控件接口向导”引导下,来快速的创建控件的属性、事件和方法。
第四步,将ActiveX 控件工程编译成OCX文件发布。
2) ActiveX 控件在组态软件中的注册和调用
当编译成OCX文件后,ActiveX 控件进入了执行阶段。
ActiveX 控件在组态软件中的注册与调用方法依使用的组态软件的不同而不同。在力控中调用ActiveX 控件之前,首先要在“ActiveX 控件管理器”对话框中,对该控件进行注册,并将已注册好的ActiveX 控件添加到常用控件列表中。
之后,读者可以在力控的任何一个窗体中插入该控件,对控件进行命名,调用它的属性和方法,调用格式如下:
调用属性———#ActiveX 控件名.属性名;
调用方法———#ActiveX 控件名.方法名(参数列表)。
读者还能通过“控件属性/方法”列表框,查看ActiveX 控件的属性和方法。
2.3 基于COM组件技术组态软件扩展方法
COM(Component Object Model)组件技术是构造二进制兼容软件的规范, 通过它可以建立能够相互传输数据的组件, 其服务器-客户机结构非常适合工控软件应用程序的开发。组件是完成一定功能的软件块,可以被其它程序使用,而且容易替换。为了使每个人编写的组件具有可移植性,必须建立一个标准, 保证其兼容性和可互换性。COM正是这样一种标准,遵循COM规则就可以建立能够相互交换数据的组件。
现代工业对生产自动化和各种信息的集成要求越来越高,基于微机的组态软件因其灵活开发、高可靠性、分散控制和集中监控等特点得到广泛的应用。目前国内外主要的通用组态软件有:WonderWare公司的InTouch,Intellution公司的iFix、北京
亚控科技发展有限公司的组态王和北京三文力控组态软件等,通过对这些软件的使用、研究和对比可以发现,对于一般的工业监控系统,例如中小型企业的低成本自动化系统,系统的结构框架基本固定;而要适合不同企业复杂的工艺过程,更多的要依靠软件的灵活性。传统的国内组态软件的各种功能都集中在一个程序里,组态性能较差,被控对象稍有变动就必须修改其源程序,升级困难;而国外较成熟的组态软件则价格昂贵且汉化性能一般。
组件技术是面向对象技术的最新发展,它具有开放性、灵活性、安全性和透明性等特点,它能将复杂的控制系统软件设计成为一个由许多个小的、功能单一的组件对
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>