计算机控制软件技术基础
I/O驱动连接方式需要为不同的硬件编写不同的“I/O驱动”程序,其硬件的改进或升级均需对“I/O驱动”进行修改。由于驱动程序的多样性和接口的不统一,监控应用软件难以满足与不同现场设备的通信要求。 OPC标准的目的是使驱动软件的接口得以统一。现场设备中的OPC服务器保留现场数据,并通过标准的接口提供给数据使用方使用。这种标准接口保证了开放式数据交换,使一个OPC服务器可以为多个客户提供数据,同时一个客户又可以访问多个OPC服务器。 藩缝泽汁滥陵倡辆本唯挝泼签醒冗绳披写鹤拭掌只稿载意罢抠题祈诡菜盆计算机控制软件技术基础计算机控制软件技术基础 组件是一种可复用的软件模块,可以给操作系统、应用程序以及其他组件提供服务。组件技术是面向对象技术的一个发展。组件技术主要解决复用性和互操作性。复用性即组件具有通用的特性,所提供的功能可被多种系统使用,从而可以利用已有的软件成分来构建新的软件。互操作性即不同来源的组件能相互协调、通讯,共同完成更复杂的功能。 组件对象模型(COM)技术是一种软件组件间相互数据交换的有效方法。 分布式COM(Distributed Component Object Model--DCOM)技术,可以使COM组件分布在不同的计算机上,通过网络互连并互相交换数据。 褪含级蔡是得暮娥返肾嫂萨韩适撅幌业崎秒惠烧喳铝坊赡绅羡摧锌页期搭计算机控制软件技术基础计算机控制软件技术基础 COM实现的是对象化的客户/ 服务器结构。COM定义了两种基本的服务器:进程内服务器(本地机上的动态链接库)和进程外服务器(本地机上的可执行文件)。DCOM中还有远程服务器(远程计算机上的动态链接库或可执行文件)。无论服务器是什么类型,客户端都是以相同的方法创建对象。 COM最基本概念是接口与对象。接口是一组逻辑相关的操作的集合,对象是若干接口的集合。 COM接口模型 崔眉唐九铡酣忿脉阅宵匪朔傣瞻冤菠俩异氧聘案噪兢卤邀怀协冗止讽脸吗计算机控制软件技术基础计算机控制软件技术基础 开发COM最初目的是为OLE(对象链接和嵌入)提供支持。现在,Microsoft的许多技术,像OLE、ActiveX技术以及DirectX等都是基于COM建立的应用。OPC实际也是一个COM的应用。 作为COM 技术扩展的分布式DCOM( Distributed Component Object Model)技术,可以使COM 组件分布在不同的计算机上,通过网络互连并互相交换数据。对于COM 客户程序来说,同样象连接本地计算机上的COM 服务器一样,去连接远程计算机上的COM 服务器,不必对服务器程序进行修正就可以在网络上自由构成, 铜锻辩狮凯灿铭店搽纲凯展瓣川完臼掷扭霓败良荤滦铅佛蘑恒授个凉韶节计算机控制软件技术基础计算机控制软件技术基础 COM 技术的出现为简单地实现控制设备和控制管理系统之间的数据交换提供了技术基础。如果不提供一个工业标准化的COM 接口,各个控制设备厂家开发的COM 组件之间的互连仍然是不可能的。在此背景下就产生了OPC技术,即OPC 是作为工业标准定义的特殊的COM 接口。 OPC是以COM技术为基础的,主要体现在:1)以COM为编程模型,提供的OPC接口本质上就是COM接口;2)采用客户/服务器模式;3)DCOM是OPC在不同计算机之间传递信息的机制。 斩嫂线并性助捧缨灵见序妇鲁邑嚏许惜椰棵坎怨亢粪处揩距友抱翱少型鸡计算机控制软件技术基础计算机控制软件技术基础 OPC与DDE的比较 相同点: OPC/DDE改变了传统的过程控制系统的上位软件与I/O设备驱动一对一关系,实现了标准的 通信和互操作。 OPC/DDE接口既适用于通过网络把最下层的控制设备的原始数据提供给作为数据的使用者(OPC/DDE应用程序)的HMI/SCADA,批处理等自动化程序,也适用于应用程序和物理设备的直接连接。 不同点: DDE是基于Windows的消息(Message)机制。 OPC是基于COM技术,传输数据的速度比DDE快。 倡土栈彝蚌因蛋檬勉酌合娘船箕罚爬垄明典哮富职抒骇顽噶驳藤酋诡绑积计算机控制软件技术基础计算机控制软件技术基础 OPC接口与对象 OPC标准中存在两种接口:OPC 定制接口(custom interfaces) 和自动化接口(Automation interfaces)。前者由C + + 语言所编写的客户程序和服务器程序所使用,执行效率比较高。后者支持使用像Visual basic、Delphi 、Excel 等高级商业应用程序开发的客户应用程序。定制接口是OPC 服务器必须提供的,而自动化接口则不一定提供。 OPC服务器与应用之间的连接