机器人

应用框架辅助复杂控制系统编程

控制系统软件越来越复杂。控制器具有更快的CPU并越来越联网,创造了一个全新的系统复杂程度。要为这些复杂,分布式系统创建软件,软件开发人员开始使用应用程序框架,这些应用程序框架是特定于域的软件架构。

By Brett Murphy,VP,实时创新 2001年2月1日

控制系统软件越来越复杂。控制器具有更快的CPU并越来越联网,创造了一个全新的系统复杂程度。要为这些复杂,分布式系统创建软件,软件开发人员开始使用应用程序框架,这些应用程序框架是特定于域的软件架构。框架包括设计模板,工具和需要更少设置的准备使用组件。

几个商业框架目标特定应用领域。例如,电信交换机的框架,基于Java的图形用户界面,分布式电子商务(JavaBeans),专家系统和其他产品。

在高级工作单元架构中,子系统由
通过编程接口互连的组件。执行
机器人组件包括状态机逻辑和数据流
编程构造。

用子系统简化

在控制系统中,事件和连续处理紧密集成。应用程序框架需要两个不同的编程构造:循环 - 数据处理(例如反馈控制循环)和事件驱动的逻辑(例如错误处理和启动序列)。框架必须简单地有效地编程,设计和整合这些构造。

为了管理大型控制系统的复杂性,其软件系统必须容易地分解为可识别的子系统。该框架必须鼓励具有定义良好的接口的分层面向对象的设计。例如,第一层对象可以是控制器和设备。之后,复杂的设备可以将其细分为子系统对象,继续过程,直到定义每个对象的功能。随着时间的推移,当团队在对象之间开发标准化的接口时,它们可以重复使用。

例如,图(下面,左)概述了简化的机器人工作单元控制器。使用应用程序框架,系统可以分为子系统对象,包括机器人,视觉系统,图形界面和单元格控制器。这些子系统可以使用网络同步活动和传递数据。

定义对象,行为

定义了钻入机器人,高级状态机控制逻辑和周期性数据处理对象。在对象层次结构中进一步定义了机器人控制器的事件和连续功能的实现。

此示例是通过实时创新的申请框架和Controlshell开发的应用程序框架(Sunnyvale,Calif)开发。ControlShell将图形编程图与循环处理和事件驱动的行为组合。

图中的循环块可以实现为来自MathWorks(Natick,Mass)的Simulink中的子图,C ++面向对象的代码,甚至是动态系统。事件驱动行为是以UML(通用建模语言)-StyleateChart图形实现的。

这两种类型的图表都集成到名为Composite对象组(COG)的对象中,为更复杂的系统提供直观的构建块。所有对象都可以存储为存储库中的组件以供将来重用。

通过将复杂的系统破坏重复使用的子系统,面向对象的应用程序框架可以降低系统复杂性。他们还专注于适合域名的构造,让工程师直观地思考;提供速度设计和坐标队伍的结构;并在更少的时间内能够在更少的时间内产生更可靠的代码的重用。

想要查询更多的信息,访问www.rti.com.或者www.globalelove.com/freeinfo.

作者信息
Brett Murphy,VP,实时创新;电子邮件评论gmintchell@cahners.com.