发新话题
打印

自动化控制软件和硬件的万能连接

自动化控制软件和硬件的万能连接

1、引言-OPC发展的背景
   
    自动化技术人员都有一个美丽的梦想,是否可以将自动化控制软件和硬件万能连接。而不再考虑驱动程序和接口问题,即非常简单的Plug&Play{即插即用}。使用OPC(用于过程控制的OLE),可以帮助实现这个梦想。当然用户对此很感兴趣。并且首先赢得了自动化软件制造商的支持-OPC的第一批产品己先于标准化委员会确定的日期投放市场。
   
    在以前的自动化领域的通信技术规范方面,很少有象OPC新技术标准那样能引起如此强烈轰动。OPC是用于过程控制的OLE(OLE for Process Control)的首字母缩写词,在今天已经理所然地被自动化组件的制造商逐步发展成一个事实上的新技术标准,而所谓OLE含义是对象链接及嵌入,用于过程控制。
   
    当今,软件在自动化领域内使用的重要性与日俱增。无论项目是否涉及到操作、可视化、数据存档或控制,向纯粹的、基于PC的软件解决方案的发展趋势是不可阻挡的。时间已经证明,这些软件解决方案不再是开发单个的块,而是由专用的单个软件组件组成。采用可重复使用的模块以及利用这些模块所具有的柔性构成整个系统,其能力似乎是没有什么能替代的,唯一例外的是通信接口的不兼容性。用于适配通信接口的时间和资金是必需要投入的,其目的是将这些软件模块组合在一起。由此开发出了数以百计的通讯接口软件程序,例如,用于过程控制或可视化系统与外围设备进行通信的接口程序。但是,与此同时,亦显著增加了成本。
   
    而OPC(用于过程控制的OLE)为这种情况提供了一个补救方法:OPC使诸如软件连接器等软件组件组合在一起,这些组件不需要特殊的适配就能相互通信。 因此,即插即用在自动化中成为现实。于是就可回答为什么需要OPC的问题?     2、为什么需要OPC
    具体可从以下二点说明:
   
    第一、对于早期的计算机系统,为了实现不同的硬件和软件所构成的计算机之间的数据交换和通信,必须要花费很多时间去开发独自的通信程序。但是正是由于现在有了数据交换和通信的工业标准,才有可以实现像互联网那样,使不同的计算机相互连接为巨大网络。所以在开发企业的信息系统时,若采用符合工业标准的数据库和客户-服务器接口,可以使有效的精力更多地投入到应用程序本身功能的开发中去。
   
    第二、工业制造系统也存在同样的问题。也就是使由不同的供应商提供的机器设备无须特别的软件开发就可以互相连接。例如在实现象图1那样多层生产控制信息系统时,从处理设备数据的现场设备层,到进行过程处理的过程控制系统层,以至最上层的生产管理层,建立和普及一个有效的数据交换工业标准将是当务之急。在这种情况下,利用微软Windows视窗中的OLE/COM技术实现工业制造系统过程控制中的数据交换标准化,正是OPC本来的目的所在。

    3、那什么是OPC?
   
    OPC定义了一个开放的接口,在这个接口上,基于PC的软件组件能交换数据。它是基于Windows的OLE--对象链接和嵌入、COM--部件对象模型和DCOM--分布式COM技术。因而,OPC为自动化层的典型现场设备连接工业应用程序和办公室程序提供了一个理想的方法。
  
    Windows程序的标准接口的引入,使得硬件制造商为其部件所开发的接口程序的数量减少到一个,只需要开发一个针对OPC服务器的接口程序,同样,软件制造商也只需要开发唯一的通讯接口程序--OPC客户机接口。这不但对制造商有利,而且对最终客户也有利用。
   
    值此应对上述基于COM技术的OPC作具体分折。

    3.1基于COM技术的OPC
    微软公司为了提供商业应用程序和特定用途的软件包间的相互连接性,开发了所谓的部件(组件)对象模型技术。COM是一种软件组件间相互数据交换的有效方法。是一个二进制和网络的标准。也是DCOM、ActiveX(Active X是对广泛使用的OLE控件技术的更新和升级。它依赖于COM技术,是OLE控件技术的更名和重构)和OLE技术的核心。而COM技术具有以下特长:
    * 所谓COM并不是一种计算机语言,与运行的机器、机器的操作系统(只要支持COM)以及软件开发语言均无关,是任意的两个软件组件之间都可以相互通信的二进制和网络的标准。
    * COM服务器是根据COM客户的要求提供COM的服务的执行可能的程序,可以作为Win32服务器上可执行的文件发布。
    * COM客户程序和COM服务器可以用完全不同的语言开发。这样使利用C++,Visual Basic,以及Excel中作为宏使用的应用程序的Visual Basic等不同语言所开发的程序可以相互连接。
    * COM组件可以以二进制的形式发布给用户。
    * 与过去DLL(动态链数据库)的版本管理非常困难的问题相比,COM技术可以提供不同版本的COM服务器和COM客户程序之间的最大的兼容性。
    * 作为COM技术扩展的分布式COM技术,更可以使COM组件分布在不同的计算机上,并通过网络互相连接并互相交换数据。所以对于COM客户程序来说,同样像连接本地计算机上的COM服务器一样,去连接远程计算机上的COM服务器,

收藏到网摘:
本贴地址:http://bbs.shejis.com/viewthread.php?tid=412037&fromuid=0
点这里,把本帖地址在MSN/QQ上发给朋友分享!同时你还可以获得积分!

TOP

发新话题
统计代码