嵌入式控制:系统的核心

嵌入式几乎可以表示每个定义器所声明的任何内容。大多数人将嵌入式等同于小型,但Eurocard 6U大小的CompactPCI或VME计算机平台通常被归类为嵌入式。该术语还可以暗示专用目的,即专门为一种应用设计的控制系统。

通过加里·a·明切尔 二零零二年七月一日

关键字

嵌入式控制

机控制

基于pc的控制

芯片

单板计算机

开放系统

边栏:开源与PLC的结合:MatPLC项目

在线额外的:

开放源码与PLC相遇:MatPLC项目完整文章

嵌入式几乎可以表示每个定义器所声明的任何内容。大多数人将嵌入式等同于小型,但Eurocard 6U大小的CompactPCI或VME计算机平台通常被归类为嵌入式。该术语还可以暗示专用目的,即专门为一种应用设计的控制系统。通常被嘲笑为“专有”的经典plc可以被视为嵌入式。然而,今天装有微软Windows CE操作系统的PC/104单板计算机既可以是嵌入式的,也可以是开放式的。在一个非常真实的意义上,“嵌入式”涵盖了很多领域。

《控制工程》涵盖了一个名为基于pc的控制的市场/技术领域。通过定义一个包含并扩展基于pc的控制的新领域,覆盖范围已经扩大。市场和技术进步极大地改变了这一格局。在基于个人电脑的控制系统领域,公司整合已经非常重要,而现在几乎所有的PLC制造商都以某种形式提供PLC。

这些公司中比较进步的已经不仅仅是在PC上安装控制软件,然后争论谁的实时内核是最好的。控制引擎越来越多地用编程工具集在软件中定义,这使得控制代码可以定位到许多不同硬件平台中的任何一个。

CiMetrix(盐湖城,犹他州)副总裁兼总工程师Steve Sorensen认为基于pc的控制和嵌入式控制之间没有区别。他说,这条线太模糊了。“我们是为PC开发还是为PC/104开发没有区别。最大的区别在于集中控制和分布式控制。

这些平台中有许多是嵌入式的,有些可能类似plc,有些可能在PC上。例如,罗克韦尔自动化公司(Milwaukee, wisconsin)定义了一个名为Logix的引擎。只需要一个编程编辑器就可以将控制程序定位到支持Logix引擎的任何平台。这可以是ControlLogix PLC、I/O设备中的DeviceLogix、变频驱动器中的DriveLogix或PC上的SoftLogix。

组件自动化

同样,西门子能源与自动化公司(Alpharetta, Ga.)也改进了它的编辑器,以针对不同的平台。它基于组件的自动化允许将技术模块描述为软件组件。编程工具具有“生成Profinet组件”功能,该功能生成描述组件和数据存储的XML(可扩展标记语言)文件。“iMap”给出了结果系统的图形表示。

罗克韦尔自动化的“Logix”引擎嵌入到变频驱动器中,使一个设备能够执行控制逻辑和电机控制,从而简化整个控制系统架构。

GE发那科自动化(Charlottesville, Va)最近发布了具有开发程序和目标平台功能的Machine Edition软件。我们期待它能够发展出具有通用控制引擎的硬件平台。

Shawn Liu,美国国家仪器公司(Austin, Tex.)实时产品经理,提供了一个嵌入式控制如何推动技术发展的例子。他说,系统集成商现在在Windows平台上开发创新的控制策略,下载到像NI的FieldPoint 2000这样的嵌入式系统,并将系统嵌入到机器中来执行控制。

融合是这些技术进步的共同主线。移动电话和个人电脑的大型商业市场使研发支出得以增加,并压低了微处理器和DSP(数字信号处理)芯片的单价。Entivity(密歇根州安阿伯市)首席执行官肯•斯宾塞表示,这些商业芯片制造商的研发支出超过了整个自动化市场。利用这些技术具有良好的商业意义。

例如,摩托罗拉半导体部门(Austin, Tex.)最近发布了下一代555 32位MCU(微控制器),其PowerPC核心包括板载闪存,双精度浮点,代码压缩,半冗余和带有自己的RISC引擎的定时处理单元,因此它不会在主CPU上产生负载。

强大的芯片

专有的PLC技术通过商业产品与PC技术相结合,产生了具有通用逻辑引擎和编程工具的各种方法的控制平台。

对dsp进行编程通常是很麻烦的——最好留给几个专门的程序员去做。但是dsp的功能越来越强大,通常也可以充当cpu。鉴于其产品在商业上的巨大市场,德州仪器公司(Stafford, Tex)投入了时间、专业知识和资金来开发工具,使功能更强大的芯片更容易使用。投资并未止步于工具。该公司为专家推出了在线培训和讨论组,以提高其程序员社区的效率。

面对更低的成本,更丰富的工具,以及合格的程序员和设计人员的基础,自动化供应商投资专有芯片组和编程工具是没有意义的。

另一项迅速在制造业中占据一席之地的商业技术是以太网。芯片组的生产数量足以保持低成本。当商业级的电缆和连接器缺乏所需的坚固性时,工业化的电缆和连接器开始给工程师们提供了一个选择。

由于美国司法部起诉微软,操作系统已经频繁出现在新闻中一段时间了。尽管该公司被认为是台式电脑市场的垄断企业,但在嵌入式操作系统领域也存在大量竞争。

Microsoft Windows CE在工业市场上取得了相当大的进展,主要用于HMI应用程序,但也作为控制平台。作为嵌入式操作系统开发的商业应用程序,如网络电视,这个操作系统已经在制造业找到了一个家。对于需要Windows XP(以及以前的NT)的完整服务的开发人员,微软已经开发了一个嵌入式版本——Windows XP embedded。

Pro-face美国分公司Xycom Automation (Saline, michigan)的业务部门经理拉尔夫•达马托(Ralph Damato)建议,由于熟悉桌面版本而使用嵌入式Windows操作系统的开发人员应该小心。在即将发布的关于该主题的白皮书中,Xycom的作者将讨论Windows中嵌入式操作系统的组件性质。由于嵌入式应用程序通常是为特定目的而开发的,因此可能不会安装整个组件套件。因此,对于开发人员来说,找出在硬件中安装了哪些Windows CE组件以了解所有功能是明智的。

分布式处理

实时操作系统(RTOS)供应商QNX(加拿大安大略省卡纳塔市)的市场经理Paul LeRoux表示,嵌入式控制设备倾向于实现处理的分布,从而带来成本和可靠性优势。使用RTOS进行开发使得响应延迟和模块化更容易设计、理解和维护。此外,在QNX Neutrino RTOS中,设备驱动程序作为单独的内存保护进程实现和调试,从而提高了开发时间。

Linux作为嵌入式控制的操作系统刚刚处于起步阶段。正如MatPLC社区的程序员和测试人员Joe Jansen在本文的侧栏中所报告的那样,一个程序员社区一直在开发Linux PLC。目标是一个真正开放的控制器,用户不受操作系统供应商升级程序的摆布。考虑到项目的早期阶段,很难说这种竞争会有多受欢迎,但这种竞争可能正是行业保持创新流动所需要的。

通过从商业编程软件中引入思想和接口,控制程序员的开发工具也得到了改进。大多数都有一个集成开发环境(IDE),其中包含多个屏幕上的窗口,用于显示编辑器、文件结构、工具集、错误消息和许多其他有用的信息。

现在常见的特性包括编写一次程序、重用其他程序中的组件、从一长串支持的硬件平台中选择一个硬件平台,以及使用已经与HMI系统组合在一起的标签。这就像是“更少的填充物,更多的味道”与“更少的开发时间,更多的功能”的争论,这是当前的主题。

RTOS供应商正在加入增强工具的游戏。QNX开发了momenttics,这是一个为使用其RTOS的开发人员集成工具的IDE。所有工具,包括来自第三方的工具,都具有相同的外观和感觉。使用名为Eclipse的开源IDE作为基础,添加第三方工具要比使用过去的工具方便得多。支持C、c++、嵌入式c++和Java工具,以及一些特性,包括启动新项目的向导、调试器、内存分析工具等。

许多硬件平台

硬件平台变化很大,足以满足任何控制设计需求。

GE发那科控制器经理Connie Chick解释说,嵌入式控制硬件旨在减少空间需求,提供快速访问数据,并使用尽可能多的商业组件来加快开发时间并降低成本。

如果设计人员无法找到合适的电路板,欧姆龙电子(Schaumburg, illinois)可以为应用程序开发定制电路板,同时仍然允许使用标准编程工具。

在更大的平台类别中,VME总线产品被认为几乎是过时的。CompactPCI平台提供了更高的速度和“热插拔”I/O卡的能力。然而,VME制造商并没有相信新闻发布会,而是一直忙于将所有这些新功能构建到新一代产品中。VME和CompactPCI都是大型嵌入式控制项目的可行平台。

ICP DAS USA (Rolling Hills Estates, california)总裁John Gong表示,嵌入式平台通过开放的编程工具,将基于pc的控制和PLC的优点结合起来;开放式体系结构;快速嵌入式cpu;以及强大的操作系统。

AutomationDirect (Cumming Ga.)产品经理Jim Allison指出,该公司的混合PC/PLC是嵌入式控制技术融合性质的一个例子。

Z-world (Davis, california)硬件工程总监Dick Matthews指出,嵌入式控制器越来越多地被用作监控网络中的节点,它们独立于监控控制器执行本地任务,但对高层指令做出反应。

智能仪器(Tucson, arizona)产品经理Ron Walk认为,通信是嵌入式PC控制的主要原因,其次是数据处理和操作,然后是同步控制和监控。

Phoenix Contact(宾夕法尼亚州哈里斯堡)产品经理Mike Nager提供了嵌入式控制的一个示例应用。具有模块化I/O通道的温度控制系统可以连接到PLC, PC或基于操作面板的控制系统。然后,I/O点可以通过现场总线或以太网联网,提供分布式和紧凑的控制应用,Nager先生解释说。

许多元素必须结合在一起来构建嵌入式控制系统。两个线程始终导致今天的嵌入式控制平台:基于PLC和pc的控制平台的融合,以及商业技术集成到工业自动化中。

评论?电子邮件:gmintchell@reedbusiness.com。

开源与PLC的结合:MatPLC项目

开源运动,以Linux的日益流行为例,已经表明它不仅仅是一种时尚。找到开发控制平台的开源程序员是很自然的事情。早期阶段被称为LinuxPLC和Puffin PLC,但这个虚拟社区已经在SourceForge上找到了一个家

MatPLC是一个开源的、基于linux的控制解决方案。它是在GNU通用公共许可证(GPL)下发布的,这意味着它是免费提供给公众的。这是我们的意图,这是一个公共拥有的项目,公众可以自由地使用,修改,扩展和做任何他们想要的系统。任何觉得能够为这个项目做出贡献的人都非常欢迎加入。

Linux的一个优点是,它可以通过删除执行手头任务所需的组件来定制工具。将Linux系统精简到适合软盘是可能的。这种可定制性带来了出色的硬件性能。如果这还不够,MatPLC被设计为POSIX兼容,因此它可以移植到其他Unix变体,包括支持硬实时的Unix变体,如QNX、RTLinux等。

通过在与Linux相同的通用公共许可证下发布MatPLC,我们可以保证集成商和用户将能够永久地应用、更新和支持他们的系统。与一旦新版本发布就停止提供支持的解决方案不同,没有人会为了继续使用它而被迫对系统进行剧烈的更改。通过使用GPL,任何人都可以继续使用他们喜欢的任何版本。

模块化设计

在项目早期做出的设计决策之一是尽可能保持系统的模块化。

PLC核心包括一个共享内存管理器,用于控制对公共数据表的访问。通过控制每个模块何时将其数据同步到中心表,我们可以确保每个进程都使用一致的数据集,并且更新是精确可预测的。

同步也通过PLC核心进行维护。模块可以配置为以锁步扫描方式一个接一个地运行,或者可以配置复杂的关系,使用改进的petri-net控制设计,模块相互独立运行。

今天,MatPLC正接近beta测试阶段,有一些I/O模块和一个Modbus主控模块。我们还支持Hilscher卡(

那些接近这项工作的人希望,一旦我们发布一个真正使用Modbus的开放系统,并结合其他供应商的I/O,就会有一些额外的网络加入进来。我们还与一家基于机架的PC系统供应商合作,该系统位于plc风格的机箱中。

JoeJansen, MatPLC项目的程序员和测试员JoeJansen@vei.net