编程控制器以提高利润

压力越来越大。这台机器必须尽快投入使用,否则公司就会损失一大笔钱。项目已经“撞上风扇”,每个人都在看着控制工程师让它运行起来。项目经理花了一半的时间来谈判要求和规格。

通过工作人员 二三年二月一日
关键字
  • 嵌入式控制

  • 机控制

  • 编程

  • 软件和信息集成

栏:
java控制应用程序的关键工具

面向开发人员的图形化系统分析工具

供应商名单

压力越来越大。这台机器必须尽快投入使用,否则公司就会损失一大笔钱。项目已经“撞上风扇”,每个人都在看着控制工程师让它运行起来。项目经理花了一半的时间来谈判要求和规格。机械设计的改变需要增加I/O设备。指定的控制器将不再执行该工作。猜猜谁在食物链的最底层?

这一切听起来熟悉吗?无论该项目是针对机械制造商OEM、离散制造最终用户、批处理或加工厂,还是某些嵌入式控制产品,情况都是相同的。要在项目结束时解决这个问题已经太晚了。在这么大的压力下,肯定会犯错误。调试和故障排除将消耗大量的时间。管理层会尖叫的。

解决办法是提前考虑项目。检查功能规格;模拟机器或过程行为;定义尽可能多的I/O设备;生成的代码;然后模拟,然后瞄准控制器。如果所有这些都是预先完成的,那么最后一分钟的更改就可以最小化和处理,并且调试和调试将得到增强。

集成实时开发公司(sldell, LA)的总裁Nat Frampton说:“随着离散控制功能的增加,比如运动和视觉的集成,开发人员保持单一的思维过程是很重要的。这是集成开发环境(ide)在新的控件编程包中提供的好处之一。工具不再是工具的奴隶,而是成为开发人员思维过程的奴隶。

“这种影响在所有主要的自动化供应商中都可以看到,”他继续说,“尽管有些公司在从零开始构建新工具方面比其他公司做得更好。重要的特性包括自动发现I/O设备、符号标记,以及在项目后期之前无需定义目标硬件就可以编写程序的能力。现在扩展系统更容易了。这特别好,因为我们正在做比以往更复杂的系统。”

欧姆龙电子的集成开发环境提供了相同的外观和特征,所有工具在其产品线中类似地发挥作用。

西门子能源与自动化(Alpharetta, GA)产品营销经理Bob Nelson补充道:“我们的工程方法是项目驱动,而不是目标驱动。我们使用术语“通用开发环境”来定义管理整个项目的方法:PLC的逻辑、网络环境、对等通信、与I/O设备的连接,以及与HMI和业务系统的集成。在软控制环境中,我们提供了一种方法来获取用C或c++编写的现有或新的应用程序,并链接到一个函数块中,该函数块可以像任何其他函数块一样使用。这是整合不同环境的理想方式。”

Bruce Fuller, GE发那科自动化公司(Charlottesville, VA)控制和设计缓冲管理器,讨论了其Machine Edition程序开发背后的思考。七年前,把控制和操作界面、动作等东西结合在一起是很困难的。现在我们试图通过将它放到一个具有共享标记的环境中来简化它。

“也许OEM有三种机器尺寸,但希望使用相同的开发工具和引擎。我们希望确保客户能够构建目标硬件的应用程序,然后在应用程序更改时将其用于另一个应用程序。符号编程和变量处理在基于pc的控制中已经存在了一段时间,但在plc中通常是“拼凑”的。现在是关于在新一代控制器中结合这些,所以开发人员不需要担心内存分配,并且能够处理数组和结构。它将使开发人员能够在程序的某些部分使用Microsoft Visual Basic,高级用户可以使用c++,并且随着IEC 61131的到来,可能还可以使用结构化的数学文本。”

开源辅助集成

其中一个例子是由IBM发起并被许多公司采用的开源项目,例如Eclipse (www.eclipse.org).它被定义为一个开源的通用工具集成平台。它支持多种语言(Java、C/ c++、Cobol等)、多种工具供应商和平台。该平台的强大之处在于它对插件的支持,即来自不同供应商的程序,支持可以轻松添加到平台的专用工具。

与自动化控制的发展方向相平行的是,Eclipse白皮书指出,“下一代计算技术将把智能连接设备与当前部署或正在开发的Web服务集成在一起。在这种环境下,智能设备能够感知周围环境,并通过传感器和执行器控制周围环境,它们将成为无所不知的助手,使日常任务变得更容易。这种环境需要计算机技术专家的合作。”Eclipse的设计目的就是增强这种协作和集成。

罗克韦尔自动化的RSLogix 5000开发环境展示了如何在一个程序中共存四种语言。这些语言是顺序功能图,功能框图,梯形图,结构化文本。

QNX Software(卡纳塔,ON,加拿大)的平台开发人员Sebastien Marineau报告说,该公司去年开始领导Eclipse的C开发工具包。随着Momentics开发套件的发布(参见侧栏中的描述),该公司正在实现为Eclipse提供C/ c++基础插件的目标。

Marineau先生解释了Eclipse的好处。当您从多个供应商购买工具时,您希望它们能够很好地集成。另一方面,供应商也不想做所有的集成工作。有了这个平台,如果您想使用QNX和IBM的WebSphere for Java,然后想从Rational中添加Clearcase之类的东西,您只需插入并使用它们。它为所有工具提供了一致的用户界面。”

Eclipse的通信经理Marc Erikson补充说:“未来推动嵌入式领域发展的项目将是端到端的,开发人员将需要将他们的代码与其他相关人员连接起来。甚至甲骨文也意识到中间件需要与底层集成,并加入了这个组织。”

John Hogg是Rational Software (Cupertino, CA和Lexington, MA)的嵌入式布道者,当他争辩说:“模型驱动的开发是未来。您可以观察可执行文件的运行,查看结构信息,随着时间的推移控制体系结构,查看组件之间的关系,并增加灵活性和增强可重用性。我们以统一建模语言(UML)对流程的状态模型描述为基础。”

虽然Rational的Rose可以被认为是一种嵌入式控制编程工具,但是像Frampton先生这样的自动化集成商根据项目需求,将它与更传统的工具(如梯形图)结合使用。

消除瓶颈

罗克韦尔自动化公司(Mayfield Heights, OH) Logix/NetLinx市场经理Ron Bliss解释说,RSLogix 5000旨在消除编程过程中的常见瓶颈。除了已经讨论过的问题,他还提到了其他问题,比如跨多个程序翻译描述和注释;复制应用程序代码时重新分配地址;以及多个程序员错误地将相同的内存地址用于不同功能后的调试。这里使用的工具包括标记别名、多个数据作用域、内置和用户定义的结构、数组以及应用程序导入/导出功能。

Telelogic Tau Studio提供的状态图使开发人员能够在生成代码之前对系统进行可视化。

欧姆龙电子(Schaumburg, IL)的工业自动化营销经理Dave Quebbemann认为,各种软件开发包之间的公共接口可以提高生产力。我们用于编程、HMI和运动的开发包看起来和运行起来都是一样的,而且它们都有一个公共数据库。同样地,实用程序、故障排除和调试都以相同的方式处理。程序员不需要重新学习如何使用每个应用程序。”

在评估不同开发环境的硬件/软件集成能力时,美国国家仪器公司LabView RT产品经理Jenifer Dieterle警告说:“与I/O设备集成不仅仅是在硬件针脚处采样数据并将数据传输到软件中。紧密集成使工程师能够精确地计时信号采集,并与软件计算同步,以实现更好的整体系统性能。”

许多控制工程师用IEC61131语言编写机械程序。施耐德电气(北安多弗,马萨诸塞州)的软件产品经理沃尔夫冈·兰格(Wolfgang Langer)指出了功能框图中的一个强大工具。派生函数块(DFB)使程序员能够将函数块代码的部分包装到包中,并一次又一次地重用代码。DFB看起来像一个普通的功能块,有输入和输出引脚,但它更容易管理,因为代码以一种简化的方式呈现。”

认为需求

Telelogic (Irvine, CA)的技术营销总监Matthew Graney建议:“从问题和需求的角度考虑一个程序。使用像UML这样的图形符号作为编程语言,对系统建模以验证行为,然后为目标生成代码。我们的工具包括一个需求管理程序,它可以显示代码的哪些部分解决了每个需求,哪些需求还没有被覆盖。”

OSE Systems (Pleasanton, CA)的产品经理Mike Christofferson指出,模拟工具是该公司最畅销的产品之一。特别是,它的工具可以在桌面上模拟整个分布式CPU环境,模拟目标CPU之间的通信。还可以使用系统级调试,包括查找内存泄漏、检查CPU利用率等功能。

有了所有这些用于集成组件、管理项目、协作以及系统建模和仿真的新工具,控制工程师应该有更多的方法来避免本文开头所描述的可怕情况,并以更及时的方式完成这些项目。

-控制工程人员

评论?电子邮件MHoske@cfemedia.com

java控制应用程序的关键工具

用于嵌入式控制应用程序的Java工具已经成熟,使控制工程师能够利用Java的优势,例如支持动态下载新应用程序和动态重新分配内存以响应不断变化的工作负载需求。

为了在控制应用程序中使用Java,需要使用专门的工具来正确配置虚拟机。PERC外壳就是一个例子,它被设计用来确保关键任务Java组件的动态实时需求。通过这种方式,开发人员可以确定工作负载限制并正确配置工作负载,以确保所有活动都满足其时间限制。

对于给定的工作负载,PERC shell决定在每个优先级级别上消耗多少CPU时间。例如,在响应一个“info”查询时,shell报告VM已经运行了42,333个计时器滴答,并详细说明优先级- 3、- 5和- 6线程分别消耗了2,845、3,380和430个时间滴答。通过将每个优先级上花费的CPU时间除以总执行时间,开发人员可以计算出总利用率为15.7%。假设高频率任务被分配了更高的优先级,速率单调分析确保实时任务在总利用率小于69%的情况下能够按时完成任务。因此,PERC外壳可以确保系统能够接受额外的实时工作负载,总负载高达CPU容量的53%。

PERC shell工具在诊断现场出现的性能问题方面也是非常有用的。支持工程师使用标准的Internet协议和PERC shell远程连接到已部署的设备,使他们能够隔离和纠正性能瓶颈、瞬时工作过载和配置错误。

- NewMonics公司首席技术官kelvin Nilsen

面向开发人员的图形化系统分析工具

QNX软件系统公司发布了一个图形化的系统分析工具,用于其dynamics开发套件。这个基于eclipse的工具分析复杂实时系统中的所有组件如何交互。

开发人员可以查明软件错误、时间冲突和其他问题。可视化组件显示信息,因此可以更快地看到问题。它可以显示诸如内核调用、硬件中断、威胁状态、消息和调度活动等信息。

它是非侵入性的,允许它在对系统影响最小的情况下用于实际生产系统。