对象使软件像硬件一样运行

对象(组合在一起的代码包)继续改进用户的控制和人机界面(HMI)软件。使用兼容的对象:对象还可以复制控制系统硬件的外观和感觉,并通过图标吸引控制工程师。虽然对象已经使用多年,但微软(Redmond, Wa)的广泛使用。

通过Mark T. Hoske,控制工程 一九九八年十月一日
关键字
  • 控制软件

  • 对象技术

  • 人机界面

  • 对象链接和嵌入

  • Microsoft ActiveX

栏:
相关项目
对象条件
控制的对象思维
什么是DCOM;你为什么要关心这个?
CORBA, DCOM在中间使用

对象(组合在一起的代码包)继续改进用户的控制和人机界面(HMI)软件。使用兼容对象:

  • 提高软件互操作性,使信息共享更容易和更有效,从而提高用户的生产力;

  • 允许在整个企业传播实时操作信息;

  • 为用户或系统集成商提供更大的灵活性,以扩展或创建定制解决方案,使用最佳应用程序,而无需特定于项目的定制代码。预构建类和组件的扩展对象库将带入未来的实现;而且

  • 加快新厂商软件的上市速度,因为对象可以重用。

对象还可以复制控制系统硬件的外观和感觉,并通过图标吸引控制工程师。

虽然对象已经被使用了很多年,但是微软(Redmond, Wa.)技术——com、DCOM、ActiveX、VBA和OPC(见术语列表)——的广泛使用已经为自动化和过程控制软件供应商创造了共同基础。实际上,所有主要的离散自动化和过程控制软件供应商都采用了这些对象技术。现在很多类型的硬件内部都有OPC兼容的对象,因此它们可以作为分布式网络上的客户端,“报告给”OPC服务器。

基于ActiveX的对象可以称为“即插即用”;ActiveX包装器允许代码包独立于软件品牌使用。这样一个通用的工作空间将代码编写者和用户从一种软件到另一种软件的“驱动程序”或转换中解放出来。理想情况下,对象在使用不同软件或相同软件的不同版本的级别、线、过程或工厂之间提供自由的信息流。

通常授权的微软技术解决了用户对基本兼容性的需求。即便如此,在更高的级别上,供应商方法变得不那么兼容,甚至不兼容。

来自两家供应商的控制软件可以与纽约市世界贸易中心的双子塔相比较。在建筑物之间移动需要下到地面或地面以下。COM和DCOM是子级别,OPC是地面级别,ActiveX是建筑物内部和建筑物之间的基本传输工具。公司和公司集团正在制定不同的战略,以在更高层次上建立桥梁(交换信息);这方面的兼容要求双方合作。

对象技术供应商引用的区分因素包括每个厂商使用基于微软的工具的深度、安全性和在更高级别上实现的策略。

Intellution公司(诺伍德,马萨诸塞州)的顾问工程师John Powley说:“组件架构提供了更低的拥有成本和工厂和企业之间的实时数据传输,组件技术让你实现了真正的集成,类似于计算机集成制造已经承诺了近20年的集成。Intellution的FIX Dynamics是独一无二的,因为它将ActiveX嵌入到其架构中。

在普利司通/费尔斯通艾肯工厂的一个应用中,使用Intellution公司FIX Dynamics的工程师非常欣赏智能组件和第三方应用的混合和匹配能力。普利司通/费尔斯通负责组件制备和工艺系统开发的工程师Andy Bedingfield表示,与定制开发相比,集成成本降低了60%,他非常欣赏“在所有制造级别上的易用性、快速实施和平稳集成”。

Iconics公司(Foxborough, Mass.)的“OPC-to-the-Core”基础设施是在过去两年开发的,提供了“无与伦比的可靠性,易于重用和性能,”Iconics总裁Russell Agrusa说。New Genesis32仅基于COM、ActiveX和OPC。“我们有一个大型的OPC服务器库,完全符合OPC 1.0规范,很快就会符合OPC 2.0规范。”Iconics声称是唯一一家拥有OPC客户端和服务器的公司(截至8月中旬);“所有进程间和进程外的通信都是通过OPC实现的,”Agrusa先生说。

Wonderware (Irvine, california)是对象的长期用户,现在它将对象作为扩展自己软件产品功能的一种方式。营销总监John Theron表示,Wonderware从1989年最初InTouch HMI程序中专有的面向对象方法迁移到今天的Wonderware FactorySuite 2000产品,其中包含微软最新的ActiveX、COM/DCOM和DNA(分布式互联网应用程序)架构,使用FactoryObjects作为工厂及其产品的隐喻。供应商将对象开发为ActiveX控件,添加到FactorySuite功能中。由Inform Software Corp. (Oak Brook, Ill.)创建的fuzzyTECH运行时模糊逻辑模块为基于pc的控制和过程可视化应用程序增加了模糊逻辑功能。

USDATA的特殊项目经理Mitch Vaughn说,USDATA的Xfactory使用Microsoft Windows DNA(作为操作系统功能)在结构上交换更高层次的数据,这是一套标准的服务,解决了现代分布式应用程序的三个层次:用户界面和导航、业务流程和存储(图表)。“我们行业中的许多公司目前都专注于使用COM技术来创建他们自己的专有框架和基础设施。USDATA在用户界面、导航和存储方面依赖于微软的DNA技术和产品。我们正把精力集中在业务流程层,在那里交付特定于应用程序的知识。”

ObjectAutomation (OA, Santa Ana, california)的首席框架架构师Rob Rennie——负责oafframework的设计和开发——说OA在整个OAenterprise产品中使用对象。在OAenterprise出现之前,组件扩展的HMI应用程序只是运行在HMI窗口中的COM组件系统,通过属性标记连接,将其挂钩到一个基本的、不可重用的线性标记数据库中。我们已经把‘标签数据库’变成了一个分布式对象和相关类的系统,允许图形、控件、SCADA和其他对象和组件紧密地(通常是一对)集成。”

系统集成商通过OA基于对象的控制计划对面向对象的范例有“前所未有的访问权限”,在不了解内部工作原理的情况下受益于面向对象技术(OOT)设计。全面使用COM将允许用户在设计集成解决方案时最终选择最好的组件和类,就像他们现在在OA HMI层所做的那样。国际实验室公司(广岛,日本)等合作伙伴正在为OAframework开发代理(或镜像)现有PLC编程的对象。

健壮的足够了吗?

面向对象的设计并不能保证一个没有bug的环境。“你可以用任何语言写漏洞,”PC Soft International公司客户和业务发展副总裁迈克尔•哈贾尔说。PC软件的设计基于微软家庭类库(MFC),“迫使你更自律。因为MFC是一个已经调试和验证过的大代码体,所以你可以获得更高级别的功能,bug也更少。”

Hajjar说,OPC和ActiveX隔离了服务器和客户端之间的代码,以及数据源和它的接口之间的代码,但是(作为数据传输的最小公共性)没有提供足够的应用程序间功能。他说,同一厂商(如PC Soft)及其合作伙伴开发的产品之间共享的类库将是高水平应用程序集成和相互作用的最决定性的长期因素。

Intellution公司FIX Dynamics的“i-core框架”具有安全遏制(正在申请专利)的特点,该框架可以立即识别引入的任何问题控制或组件,隔离行为不正常的对象,并使系统能够平稳地做出反应和恢复,Powley先生解释道。这一特性确保了高的系统性能和可靠性-在过程控制应用中绝对必要的功能。

塞隆说,Wonderware正在为第三方组件实施一个认证流程和测试工具,这些第三方组件在运行过程中不会受到性能损失,并推荐未认证、未测试的组件在运行过程中会出现故障。

Rennie先生说,使用OAenterprise,集成商可以将两个对象属性“链接”在一起,并确保连接,无论是使用OA事件服务,还是将连接“转换”为较低的连接规范,可能是控制网络层。

“任何有责任心的对象技术提供商的最终目标都应该是消除不可避免地必须编写的‘粘合’或集成代码。虽然它永远不可能被完全根除,但它肯定可以被最小化,”他说,通过保持在COM和OPC之上的OA架构。

阿格鲁萨说,创建健壮、可靠的目标代码的关键在于组件创建工具。Iconics最近发布了ActiveX OPC ToolWorX产品(见相关图片),用于创建设备驱动程序。这项正在申请专利的技术允许开发人员在一周内创建与以前需要4到6个月一样多的opc支持的ActiveX控件。Iconics公司销售的OPC服务器和客户端工具包比其他任何公司都多,他补充说,用于HMI、SCADA或控制应用程序。Iconics的另一项技术为Iconics的客户端HMI、趋势和警报应用程序提供ActiveX“对象围栏保护”。

美国国家仪器公司(德州奥斯汀)国家仪器公司Lookout市场经理Jack Skruggs说:“通过建立基于对象的软件,用户可以利用经过现场验证的大型对象类库。一个例子是国家仪器公司Lookout 3.8中的寻呼机对象类——它允许用户通过用户提供的调制解调器直接向寻呼机发送动态文本消息。”

竞争的标准

Rennie先生说OA有“有线级兼容的DCOM实现”。OA将其COM接口(和辅助功能)分发给技术合作伙伴(被许可方)用于插件和/或自定义对象。

ActiveX和OPC是真正的标准,因为用户可以立即从多厂商的产品集成中受益,而不需要额外的努力,Hajjar先生说:“你不必从一个厂商那里购买所有的东西,”他补充道,这是在讽刺OA的授权计划。“为Windows环境开发不使用MFC和其他类库的应用程序的软件公司将不会长久存在。”PC Soft的基础类库提供了创建高级的高度图形化逻辑和图形环境所需的80%的代码。(见相关图片)“只有我们的源代码是开放的。如果供应商不共享代码,那么共享对象的成本就太高了,”Hajjar说。

阿格鲁萨说,许多供应商都在使用Iconics的工具创建对象。“有了合适的工具,实现对象就像凿子,只需点击几个按钮就可以访问3mb的源代码。”在18个月内,向ABB、Bristol Babcock、Foxboro、Honeywell、Johnson Controls、Phoenix Contact、Westinghouse和横河等公司销售了100个OPC工具包和25个ActiveX工具包。

CORBA,在一些更高级别上使用的对象模型,还没有被控制软件供应商实现。Rennie先生说OA选择了DCOM而不是CORBA,很大程度上是因为“只有一个非常大的DCOM供应商,”微软。即便如此,拥有用于制造执行系统(MES)或企业资源规划(ERP)软件的现有CORBA系统的OA客户可以使用DCOM/CORBA桥接技术来集成级别。

微软制造业行业营销经理马库斯•施密特(Marcus Schmidt)表示,COM也达到了更高的水平,Baan、Peoplesoft和SAP等ERP供应商都在使用COM。施密特表示,除了集成优势外,COM在发展过程中还将保持向后兼容性,这在制造业中尤其重要。微软的升级,比如“NT5中的COM+,将使开发人员更容易用更少的编程来构建更高级别的功能,”PC Soft的Hajjar先生同意这一观点,并预测微软的影响力和影响力将会更大。

客户知道对象可以更好地重用代码,增加功能。共同的基础创造了更强的连通性,但用户将不得不等待,看看谁的模式在上层胜出。

相关项目

在本期中,请参阅有关项目:

Sun Microsystems的跨平台对象模型;

面向开放平台的“机器控制策略”;而且

控制软件评审中对象的使用。

另见控制工程,1998年5月,“OPC解决I/O驱动程序问题”和97年8月,“对象技术是什么”。

搜索

对象条件

ActiveX控件,基于COM技术,提供了一组api(应用程序接口),允许来自微软兼容供应商的软件组件和应用程序进行通信。每个组件可以用不同的语言编程,并使用不同的内部设计;如果每个都遵循COM,它们可以很容易地“合在一起”。

描述具有类似行为的对象的对象类型模板。

dcom之所以是微软组件对象模型(COM)/分布式COM,它将COM扩展到网络和网络上的远程对象。

CORBA:公共对象请求代理体系结构。这个面向对象应用程序的体系结构框架是由800软件供应商对象管理小组(Framingham,马萨诸塞州)开发的。这个“中间件”与微软的对象模型竞争。CORBA得到了Unix用户的大力支持,包括嘉吉、雪佛龙、LG电子和Pratt&Whitney。

方法用于产生所需输出的一组软件程序。这可以包括计算,或者操纵设备的信号。

MFC,微软基础类,库是对象的集合,可用于创建ActiveX容器。

微软视窗NT:工业自动化(离散)中占主导地位的执行平台,在过程控制中越来越重要。

简称OBCS是一个基于对象的控制系统。

奥立:对象链接和嵌入,来自微软,说明了对象如何相互关联。现在叫做COM。

OOT是面向对象的技术。

OPC(OLE为过程控制),为第三方连接提供了基础。OPC基金会(奥斯汀,德克萨斯州)开发了OPC如何工作的规范或规则。董事会成员包括霍尼韦尔、西门子、东芝、罗克韦尔软件、Intellution、Opto 22和Fisher-Rosemount Systems。

开放和非私有在这种情况下,意味着使用广泛授权和使用的基于微软的工具。

控制的对象思维

物体,物体,到处都是!对象曾经是计算机科学精英的领域,现在侵入了控制世界。然而,为了充分利用对象,控制工程师需要以不同的方式思考,这样做可以使控制系统更容易开发、部署、修改和维护。

该原理图显示了一个简单的基于对象的控制系统(OBCS)来调整pH值。废水的pH值正在被调整到环境可接受的范围内,以便释放到城市污水系统中。控件对象是独立运行的代码片段,它们通过对象创建者设计的公开接口进行交互。每个接口都包含特定于设备的属性(项)、方法(动作)和事件(通知)。

属性是设备上可配置的项;通常,某种初始化设置,允许设备正常工作。方法是设备采取的动作;通常是对设备的命令。事件是某个内部测试条件已经满足的通知;通常是错误、限制等。

接口和相应的实现类(设备接口库)被加载到OBCS中,并用作克隆特定实例的主模板。在OBCS中,这些基本的构建块称为设备对象,一旦创建了各种设备对象的实例,系统控制就变成了各种设备对象属性、方法和事件的编排,使用所选的应用程序工具(如IEC 61131-3语言、流程图、VB、Java等)。

使用OBCS可以持续改进流程。假设上述系统多年来一直运行良好,但最近废水量接近系统极限。控制工程师发现,在类似的系统中,定期交替搅拌器方向可减少约15%的反应时间,从而将系统的使用寿命延长两年。

在典型的控制系统中,这种修改需要过程控制中的顺序更改,这可能涉及重写整个系统的软件,以确保新的混合器功能得到识别。重写有引入编程错误的风险。

在OBCS中,只有混合器设备的独立对象逻辑需要更改,从而导致修改后的接口公开了新特性。这个新接口既可以作为设备接口库的一部分,也可以根据需要使用OBCS编程工具进行开发。

换向混频器接口是旧混频器接口的超集。这样就可以安装、设置和测试新的换向混合器。一旦验证了操作并配置了适当的属性值,连接将从旧的设备对象重定向到实现反转混合器的新设备对象。

面向对象的设计允许对特性进行轻松的更改。例如,流量控制器供应商可以通过对象提供“增量的、增值的”升级,将对象放入控制逻辑中,使系统中断最小化。

H. Philip White是加州Temecula Zone Automation工程副总裁。

什么是DCOM;你为什么要关心这个?

COM和DCOM似乎是另一对对软件开发人员有意义的首字母缩略词,但对普通用户无关紧要。然而,使用COM和DCOM的自动化软件具有潜在的成本、性能和维护优势。

根据微软(Redmond, Wa.)的说法,COM或组件对象模型(Component Object Model)是一种允许应用程序从二进制软件组件构建的软件体系结构。DCOM(分布式组件对象模型)使软件组件能够以可靠、安全、高效的方式通过网络进行通信。使用COM和DCOM的软件供应商可以提高软件产品的交互性、互操作性和灵活性,使用户能够添加和扩展标准软件的功能。

这里有一个可能的场景。一个用户有多个操作界面支持一个常用的应用程序。如果没有DCOM,每个站将需要一份完整的人机界面软件和数据库的授权副本。每站都增加费用。通过使用包含DCOM的HMI软件包,用户可以安装一个“服务器”站,所有其他站充当“客户端”。

通过这种安排,每个工作站都从相同的数据库中工作,这不仅有助于降低成本,而且还提高了可维护性和产品一致性。

罗克韦尔软件公司高级软件工程师Jeff Dean说:“在过去,一些用户发现标准软件包的功能受到限制,但是COM和DCOM等技术的结合(到人机界面软件RSView32中)使客户能够根据不断增长的应用需求添加和扩展标准软件包。”

在同一个应用程序中,DCOM还允许任何客户端位置创建、修改或删除对象,将它们放到应用程序中,并让它们出现在服务器和其他客户端位置。DCOM可以跨多个网络传输使用,包括Internet协议,如HTTP,并且可以与Java applet和ActiveX组件一起工作。

根据微软的说法,COM是世界上使用最广泛的组件软件模型。此外,一些公司现在开始将DCOM作为自然扩展来部署。由于罗克韦尔软件公司和其他供应商使用COM和DCOM作为第三方软件包的接口,并集成其软件产品,最终用户获得的软件具有“为每个应用程序定制软件包的能力”,Dean先生说。

CORBA, DCOM在中间使用

一项为期三年、耗资1000万美元的面向对象项目正在进行中,以改进半导体制造行业的软件。该项目正处于最后的迭代阶段,开发了一个面向对象的高级过程控制框架,用于实现运行到运行的控制和故障检测。该软件在生产半导体晶圆厂的试点应用中提供了显著的工艺改进。

ObjectSpace Fab Solutions (Austin, Tex.)与Advanced Micro Devices (AMD)、Honeywell (Phoenix, arizona)和Sematech (Austin, Tex.)合作。该项目由美国国家标准与技术研究院的先进技术计划支持,为期三年,价值1000万美元。ObjectSpace现在正在将这项技术商业化,作为Catalyst产品的一部分。

对象技术在整个项目中大量使用,从需求规范,到分析、设计、实现、测试和部署。特别是,APCFI使用对象技术将外部应用程序封装在对象接口后面。这将框架与底层应用程序的更改隔离开来,并允许在不影响APCFI的情况下编写新应用程序。

对象接口还通过消除与一个应用程序破坏另一个应用程序数据相关的问题,为应用程序提供了一定级别的安全性。APCFI支持应用程序接口对象的概念。这个对象很关键,因为它封装了APCFI和常用工具(如MatLab、Mathematica、ModelWare或Simca 4000)之间的交互。

它还允许部署项目通过开发附加接口集成其他应用程序。这种封装技术还用于将框架与处理工具和附加传感器集成。该项目的关键是采用一套标准的接口定义。在接口背后,可以轻松地容纳专有的驱动程序和api,而不会影响与任何其他组件的集成。用户能够适应现有的系统,而不是被迫转换它们。

CORBA是半导体行业中一个稳定的、非专有的系统集成标准。Sematech在Sematech CIM(计算机集成制造)框架集成规范中包含了CORBA。CORBA可以保护标准框架组件不受特定于服务器的实现的影响,这些实现可能使用非CORBA机制进行外部通信。

项目团队选择了IONA技术公司(剑桥,马萨诸塞州)。orbx作为实现CORBA服务的对象请求代理(ORB)。Java主要用于客户端代码,因为用于GUI开发的Java ide非常强大;服务器端代码使用c++,因为它具有灵活性、性能和可靠性。

随着APCFI的发展,工厂自动化软件(包括制造执行系统、处理工具和支持应用程序)将面临新的集成挑战。对象技术使得APCFI能够灵活地与其他软件产品集成,并在工厂中进行部署。

IONA Technologies自称是世界领先的对象中间件供应商;其orbx产品被3500多家客户和15000多家开发商使用,其中包括波音、普惠和必和必拓。