一写即用

控制工程师们早就看到了重新使用运行控制操作的软件程序的价值。在过去几年中,随着公司要求工程人员缩短项目时间以节省成本并更快地将产品推向市场,这一价值急剧上升。有些人会争辩说控制工程师不是程序员,不应该如此参与复杂的工作……

大卫·格林菲尔德 二三年八月一日
一目了然
  • 便携性经济学

  • 通用代码应用程序

  • 扩展到IEC 61131之外

  • 跨平台信息架构

  • 产品生命周期效应

栏:
编程体系结构

控制工程师们早就看到了重新使用运行控制操作的软件程序的价值。在过去几年中,随着公司要求工程人员缩短项目时间以节省成本并更快地将产品推向市场,这一价值急剧上升。

有些人会认为控制工程师不是程序员,不应该如此参与复杂的代码处理。但是软件在自动化过程中太根深蒂固了,不能把编程中固有的强大功能拱手让给那些不完全理解软件控制的自动化的人。这就是为什么控制工程师应该像熟悉循环调优一样熟悉当今的编程工具。幸运的是,多平台编程语言的进步使工程师更容易放弃他们的工程师身份,但仍然变得更加精通it。

控制工程师最常用的软件编程语言由IEC 61131-3标准规定。该标准包括顺序功能图语言、指令列表、梯形图、功能框图和结构化文本的定义(参见回归基础,控制工程, 2003年7月)。该标准为各种语言设置了结构,提高了它们的可重用性,减少了错误,提高了编程和用户效率。

尽管IEC 61131-3在标准化这些语言和扩大其使用方面取得了进展,但在使用这些语言的专有版本的供应商和北美和欧洲如何使用这些语言之间仍然存在着巨大的分歧。

施耐德电气软件产品经理沃尔夫冈•兰格表示:“在IEC方面,北美和欧洲存在巨大差异。“在欧洲,大约70%到80%的工程师使用IEC语言。在北美,情况几乎相反。”

Entivity总裁Peter Durand解释道:“你可以使用IEC语言,也可以使用C、Visual Basic甚至一些Java编程,尽管它们还没有在控件中发挥作用。但我们开始看到的是,客户更容易接受追求更直观的东西。一个人写出来,其他人都能看懂。”

多平台编程语言在控制市场面临的最大挑战是在安装基础上的采用。杜兰德说:“工程管理并不总是想要改变编程语言,即使这是正确的做法,因为他们已经有50人接受了中继阶梯逻辑的培训,他们不想再培训他们,而工程师通常也不想再培训。”

然而,再培训可能是不可避免的。

杜兰德说:“我曾经在控制部门工作,那里有10名工程师。“现在有两个,但工作量仍然相同。”

现实世界中

马克·奥兰德(Mark Ollander)是Conair集团控制技术副总裁,该集团是一家位于宾夕法尼亚州匹兹堡的塑料辅助机械制造商。该系统同时利用了PLC和嵌入式实时编程环境。

Ollander说:“我们的一些控制平台(用于plc加载控制和树脂材料输送)的传统设计是以这样一种方式开发的,即每个程序和每个控制进化都是为该控制应用设计和构建的。”“所以没有交叉控制应用程序使用代码,没有可重用代码,没有结构化内存。”

奥兰德说,Conair在过去一年半里推出的新设计从存储架构的角度出发,从“通用意义上”设计,适用于各种应用,比如材料传输控制器的排列。

Conair通过观察客户工厂的独特控制解决方案,实现了一次编写程序,然后针对不同的应用需求进行重用的通用设计。观察发现许多反复出现的主题。因此,Conair指导对代码结构进行了全面的重新设计,以最大限度地提高可重用性,并采用通用结构。

Ollander说:“其结果是通过工作现场的操作界面进行参数化,以配置每个应用程序,而不是需要一台装有特殊软件的PC机,并使用开发环境配置应用程序。”

Conair主要使用罗克韦尔自动化公司的Logix平台以及西门子能源与自动化公司的S7平台。

奥兰德说:“我们关于屏幕软件和PLC控制代码的整个想法是,以这样一种方式组织逻辑、算法和内存分配,即我们不会将任何东西硬编码到特定的设备或强制设备必须驻留在物理I/O位置。”“我们正在通过间接寻址尽可能多地做事情,这使我们能够从非常简单的应用程序到非常复杂的应用程序,使用完全相同的代码,并使用屏幕软件参数化来配置我们挂在物理硬件上的设备类型。”

由于Conair使用以太网和结构化内存映射,数据可以从PLC传输到操作员界面,通过监控层,甚至可以传输到公司级别。其结果是跨企业的直接连接。

奥兰德说:“我们现有的软件架构不仅被设计为可重用的,而且在相互连接方面具有通用性,因此在集成应用程序的工程和安装时间方面几乎没有增加负担。”“这使我们的项目时间缩短,因为我们只开发一次应用解决方案,其余时间都是为了投资回报率。”

进入游戏

程序可重用性是一个获得广泛关注的伟大概念,正如Conair等公司所取得的成就所显示的那样。但是由于每个供应商的实现通常略有不同,并且控件实现通常已经存在多年,因此在不同供应商的平台或系统之间完全重用代码的能力非常罕见。ABB工业it系统营销系统营销经理Kim Fenrich表示:“在大多数情况下,有必要重写部分代码。”

IEC 61131语言的可移植性可以影响整个生产过程。

Fenrich表示,尽管开发61131标准是为了促进这种类型的跨平台重用,ABB已经接受并认可了这一标准,但一些供应商仍然没有这样做。因此,在兼容和不兼容的平台/系统之间重用代码可能是不可能的。“在某些情况下,基于供应商的实现,遵从61131并不能保证完全重用,”Fenrich说。

“目前,我们的客户看到的61131最大的好处不是跨平台兼容性,而是能够让多个工程学科使用他们感到舒适的特定控制环境,所有这些都在同一个系统中。例如,ABB的工业IT支持所有5种61131语言,允许具有PLC背景的工程师在梯形编程,而具有DCS背景的工程师可以使用功能块。”

尽管61131具有诸多优势,并且得到了众多供应商的支持,但该标准中涉及的语言并不能完全满足控制工程师的需求。

罗克韦尔自动化公司Logix/NetLinx市场经理Ron Bliss说:“IEC 61131的问题在于它只能做到这么多。它给你基本的指令,比如加,减,乘,除。它为创建应用程序提供了一个标准的环境,但当您必须完成工作时,它就停止了。例如,你必须编写自己的PID指令。”

随着经济因素不断地最先和最严重地影响着制造业,工程师们面临着寻找可重用代码所提供的各种效率的压力,这可能会使程序可移植性问题继续存在下去。

也就是说,如果您刚刚开始研究这个问题,首先要考虑的是工程师将使用的两种类型的软件平台:基于配置的和成熟的编程环境。

根据美国国家仪器公司LabView的产品经理Jennifer Dieterle的说法,基于配置的平台是由供应商通过平台可以执行的一组给定功能来定义的。其他代码不能导入。例如,在阶梯逻辑中,提供了一组函数;要超越这一点是非常困难的。在LabView、C或Visual Basic等成熟的编程环境中,代码段是用其他语言编写的(比如微软Windows中的动态链接库),所以你可以打包代码并在其他环境中使用它。

“如果你能在一个基于配置的程序中获得所需的所有功能,那将是最快的,因为大多数编程都已经完成了,”Dieterle说。“然而,这种类型的环境能够存活多年是非常罕见的。”

让一切都变得有意义

面对供应商吹捧的各种选择和主张,难怪制造业市场会坚持它所知道的有效方法,让那些处于前沿的企业在大规模采用之前证明更可行的进步。然而,制造业业务的变化要求工程师们关注多平台软件的需求。

AMR研究公司CPG(消费品包装)、生命科学和加工工业的研究总监科林•马森表示,新产品推出和压缩生命周期带来的更大压力,正推动制造业整体转向更注重产品生命周期管理的方法。

“这要求控制工程师以更及时和结构化的方式与业务进行沟通,因为现在必须实施更多的更改。现在对控制工程师的影响是,无论他需要在哪里执行控制策略,他都必须处理为他提供频繁更改的规范或配方管理系统。他不能再孤立地在硬件层面上工作了。因此,我不认为今天有很多工程师使用来自特定供应商的阶梯逻辑的专有实现。

当涉及到软件编程和工程的结合时,工程师们将面临的巨大变化将由新一代工程师面临。

“就IEC软件而言,熟悉计算机和微软软件的年轻工程师最有可能认识到这种新的编程方法的好处并采用它,”施耐德的兰格说。“对于今天的年轻工程师来说,图形化支持是一个自然的环境。

评论?电子邮件dgreenfield@reedbusiness.com

编程体系结构

在典型的工厂设置中,您可以有顺序应用程序(例如材料处理)、动态应用程序和过程解决方案。这些不同的学科必须合并,以创建能够交付当今业务需求的协同制造操作。这样的组合需要一个支持这些不同学科需求的编程环境。

罗克韦尔自动化公司Logix/NetLinx市场经理罗恩•布利斯表示:“过去,DCS负责批处理操作,来自不同供应商的运动控制器负责运动,PLC负责输送。”“人们想要摆脱不得不学习如何使用所有这些不同的控制器,以及在这种设置中必须发生的所有联锁和握手。”

在控制器编程体系结构之外,还有整个工厂范围内的连接。英维思正寻求通过工业自动化和信息架构Archestra在这一领域做出重大努力,该公司声称,该架构可以与任何其他供应商的硬件或软件兼容。

“它(Archestra)在微软平台之上,”Archestra营销副总裁Mark Davidson说。“你没有开放Visual Studio。NET,并开始编程。它是为工厂工程师和系统集成商构建的应用基础设施。在封面下,它都是微软和。net,人们可以用Visual Studio扩展它,但你不需要有编程知识来使用设计的系统。”

英维思声称,Archestra提供了大多数工业应用需要的通用集成功能(如报警、安全、历史化、数据通信和配置)。内置软件管理(包括处理全局更改的软件管理)可以跨网络远程部署,以便在任何使用应用程序的地方管理应用程序。这就实现了Archestra最伟大的要求——尽可能广泛地编写和重用代码,而不存在61131种语言中固有的硬件/软件链接问题。

Archestra能够兑现其承诺的关键在于,它能够像宣传的那样连接现有的遗留系统。戴维森说:“我们有超过1000个通信接口,这些接口是在过去十年中开发出来的,可以连接工厂中各种老式系统。”“所有这些驱动程序和接口都是Archestra的一部分,可以通过代理对象进行链接。”