控制设计

图形化建模的加电编程

首先是基于文本的编程工具,如通用编辑器/编译器,如Basic或C,或结构化文本或指令列表。然后,控制的图形编程采用了继电器梯形图,首先在专用编程终端上,然后在个人计算机上。功能块图为过程控制的图形表示增加了另一个维度。

加里·a·明切尔(Gary A. Mintchel),《控制工程》(Control Engineering) 二○○○年十二月一日
关键字
  • 机控制

  • 基于pc的控制

  • 编程

  • 软件和信息集成

栏:
敏捷制造的编程标准
制造系统逻辑控制的挑战与机遇
在线 的

首先是基于文本的编程工具,如通用编辑器/编译器,如Basic或C,或结构化文本或指令列表。然后,控制的图形编程采用了继电器梯形图,首先在专用编程终端上,然后在个人计算机上。功能块图为过程控制的图形表示增加了另一个维度。流程图的倡导者已经将这种流行的分析工具用于逻辑控制的开发。

微软Windows允许程序员利用拖放和剪切-复制-粘贴等编辑工具。它还使逻辑和人机界面(HMI)的通用数据库,以及可以保存和粘贴到许多程序中的程序库,节省了很多时间。

千禧年的结束(或下一个千禧年的开始,取决于一个人如何计算)带来了编程方面的进步,这将推动控制工程在未来制造业的进步中占据主导地位。采用IEC 61499分布式功能块标准是为了实现敏捷制造。电子制造必将推动制造商开发更加灵活的流程,以便在竞争中立于不败之地。正在开发的工具可以确保控制工程师能够适应。

此图显示了用于嵌入式控制的基于MathWorks模型的软件设计。

从绘图到代码

施耐德电气(北卡罗来纳州罗利市)和Intelllution(马萨诸塞州福克斯堡市)已经基于IEC S88构建了一个建模工具,该工具将模型编译为逻辑,用于施耐德概念PLC编程应用。Microsoft Access数据库包含所有I/O分配信息的中央存储库。它还可与Intelluition的iFix HMI/SCADA产品配合使用,方便所有点的通信。

微软的Visio部门集成了基于windows的工具,如对Visual Basic的支持,从而将其业务流程图和绘图工具集成到控制和HMI软件中(控制工程,10月00日,p。12 ).

MathWorks (Natick, Mass.)已经将其数学建模和仿真工具套件扩展为一个功能强大的设计、建模、仿真和代码生成应用程序。I-Logix将统一建模语言(Unified Modeling Language, UML)包开发成一个图形工具,用于建模并为嵌入式控件生成控制代码。完成了那个PLC程序?VIA Development (Marion, Ind.)已经将CAD扩展为一个继电器梯形图工具,用于记录各种plc的程序。

工业应用中流行哪些编程语言?风险发展公司(马萨诸塞州纳蒂克市)最近的研究发现,用户选择的软件易于学习和使用,安装量大,可移植性强,结构紧凑。虽然继电器梯形图编程的大量使用反映了PLC系统的大量安装基础,但最广泛使用的语言是软件开发的C++和操作界面的Visual Basic。该研究的作者期望流程图和其他软逻辑编程随着基于PC的控制的增长而增长。

还记得几年前伴随Java发布而来的大量宣传吗?工业领域似乎已经让这种炒作偃旗息鼓。在研究中接受采访的用户中,有近一半的人没有考虑过或没有意识到这一点。一些程序员考虑用Java开发基于web的应用程序。

推理公司使用这个ASP模型进行源代码分析和
评估以确保客户使用可靠的软件。

自动生成代码

施耐德电气的一步发生器(OSG)是一种用于过程控制系统和自动化任务的设计工具,涉及联网的plc和监控工作站。利用S88物理模型设计系统架构,生成功能框图代码和智能iFix中的监控系统。它甚至适用于现有的Modicon Quantum/Concept和Intellution iFix产品。

OSG自动生成代码的人机界面和PLC。标准过程对象或智能控制设备的预定义库支持生产率和代码标准化。该产品针对的是加工工业。设计人员使用进程对象的OSG表示,而不区分生成的源代码是否将在HMI或PLC上运行。与过程自动化相关的逻辑将运行在PLC中,而人机界面将作为进入过程的窗口,并为操作人员提供管理过程所需的功能。

控制设计从系统的自顶向下分析开始。一个完整的描述包括PLC设备,监控(HMI)站,电气和机械布局。在OSG中,过程是用一种所有相关人员都能理解的语言进行功能性描述的。用OSG提供:

  • 提高质量和协助工艺验证的方法;

  • 描述系统设计过程的语言;

  • 实施和调试阶段的规范;

  • 操作和维护文件;和

  • 一种过程,当控制系统发生更改时,它会向用户发出警告。

Think & Do Software (Ann Arbor, michigan .)开发软件解决方案的方法一直是利用商业产品。它最近发现了一个用于控制、可视化和数据管理的可视化程序开发的商业平台——微软的Visio。Think & Do的营销总监安迪•麦克米兰(Andy McMillan)说,我们从一开始就在关注Visio。但在当时,它并不是像今天这样功能齐全的开发平台。”

通用电气Fanuc DataViews(马萨诸塞州北安普顿)也与Visio合作。其产品DataViews HMI-GO允许用户将数据驱动的动态添加到Visio图纸中,以实时信息使其栩栩如生。

微软Visio产品经理凯文·利索塔(Kevin Lisota)解释说,“核心设计理念不仅仅是剪贴画形状的集合。人们一直认为Visio是一种绘图工具,但从一开始,人们的想法就是为形状提供自定义属性,并描述它们在Visual Basic for Applications(VBA)中的行为。这使得外部供应商可以轻松地创建自定义应用程序。因此,核心设计理念是形状表。用户高亮显示一个形状并选择它。弹出Excel类型的电子表格。然后,用户填写属性,例如特定值、公式、指向其他单元格的链接等。形状表和每个属性都可以通过VBA编程访问。”

另一位产品经理Curtis Lee补充说,Visio是一个建模工具。它主要用于业务流程设计和流程图。但是UML和数据库建模是它固有的。用户可以通过Visio和VBA程序来创建、可视化和操作数据库。”

“MathWorks为基于模型的设计和编程提供了一个集成的工具集,”该公司营销总监理查德·丁金斯(Richard Dinkins)说。最新发布的MATLAB、Simulink、statflow和Real-Time Workshop包括几个组件,用于在模拟环境中构建和测试控制系统,在编写代码或构建原型之前,使用模型来验证和优化设计。

当一个系统模型被模拟、优化和验证后,它可以作为文档、代码生成和测试生成的基础,所有这些都来自于一个单独的、经过测试的模型。工程师可以生成用于模型快速原型和硬件在环模拟的代码,然后生成优化的、可嵌入的ANSI C代码,用于多个目标操作系统和硬件平台。

“在过去几年里,基于模型的设计工具生成的代码在RAM大小、ROM大小和执行速度方面的质量不断提高。最近,代码效率得到了提高。许多客户现在会认为这些代码可以用于试点项目,并将其插入到他们的代码验证过程中。

统一建模语言

I-Logix的Rhapsody使软件工程师能够使用面向对象技术以图形化的方式设计和开发实时嵌入式软件。Rhapsody是第一个遵循统一建模语言(UML)的工具。通过结合迭代设计方法(验证迭代步骤中的行为)以及图形模型和代码之间的关联,Rhapsody确保了设计文档和实现始终保持同步。在这个过程中的任何时候,Rhapsody都可以用C、c++和Java生成产品质量的代码。

开发人员使用UML图来描述软件架构、行为和协作。在开发过程中的任何时候,开发人员都可以自动为主机开发平台或嵌入式目标生成代码,并在UML图的设计级别和源代码视图中调试该代码。

此外,通过Rhapsody独特的模型/代码结合性,开发人员可以在图形设计级别或在实现语言中自由工作。在任何一个视图中所做的更改都会自动反映在另一个视图中。

许多自动化项目涉及许多控制器和数百甚至数千个I/O点。MNovation(明尼苏达州明尼阿波利斯市)已开发了在国家仪器公司(德克萨斯州奥斯汀市)LabView编程环境中处理项目管理和验证的概述。

此应用程序为项目团队的每个成员提供项目文档和全面的状态报告,使用Kiviat图分析代码复杂性,以便根据用户定义的限制、回归分析以及项目测试和模拟快速分析所选类别。

自动化项目的另一部分包括在编程完成后完成控制图纸。VIA Development的ECDS是一个在AutoCAD环境中运行的控件设计包。通过使用相同的配置和零件数据库,工程师可以标准化控制图纸。这使得电工更容易使用这些指纹。ECDS为许多plc提供I/O模块库,包括Allen-Bradley、通用电气、三菱、Modicon、欧姆龙和西门子等。

应用服务提供商(ASP)是一种新兴的通过Internet分发产品和服务的方法。在这种模式下,用户“借用或租用”驻留在提供商服务器上的应用软件。Reasoning(山景城,加州)使用ASP模型来提供软件质量和可靠性服务。该公司从客户公司接收软件并执行自动分析。能够分析C, c++, COBOL代码,软件测试和分析100%的代码,然后提供真实的和潜在的问题报告。Java支持即将到来。

工具正在迅速出现,帮助程序员更快地编写更好的控制代码。在这些控制工程师少做多做的日子里,这无疑是一个好消息。

敏捷制造的编程标准

IEC 61499委员会正在开发一种功能块标准,旨在
结合DCS和PLC功能,实现敏捷制造。

国际电工委员会(IEC)是致力于互操作工具的标准的推动力量。IEC 61131定义了可编程控制器的编程和通信标准(控制工程,Dec. 98,第42页)。第三节定义了四种标准的“程序设计语言”(中继梯形图、函数块、指令表和结构化文本)和一种组织方法(顺序函数图)。

IEC 61158定义了“现场总线”。委员会决定接受几个标准,而不是采用单一的国际现场总线。IEC 61804定义了分布式控制。所有标准都定义了称为功能块的软件模块。

在1990年早期,IEC技术委员会65收到了一份关于标准化分布式测量和控制功能块的新工作建议,并将项目61499分配给一个工作组。

将功能块的应用从经典plc发展到分布式测量和控制的主要挑战是,功能块被认为是集中控制器中的程序元素和分散控制系统中的分布式应用元素。

在IEC 61131-3配置中,程序的执行由周期性或非周期性任务触发。触发时,程序中的功能块实例按预定顺序执行。类似地,分布式系统中的功能块实例的执行可以根据预定的循环调度来执行。然而,IEC 61499必须支持一个更通用的模型,在该模型中,强制执行计划的集中式机制可能存在,也可能不存在。

在IEC 61131-3模型中,通信和I/O函数仅通过“访问路径”和“全局和直接表示变量”机制与程序中使用的变量松散耦合。此外,在程序中可以确定函数块执行的固定顺序,以便在开始执行使用它们的函数块之前,变量的新值是可用的。

在所有的控制系统中,除非通过改变输入变量、纠正措施以及由此产生的输出变量来满足约束条件,否则控制是无法维持的。在集中控制系统如61131-3模型中,这些约束通常通过确保输入和输出采样和程序执行总是比必要的快来满足;或者通过仔细的细粒度分区和I/O采样和程序执行的调度。在分布式系统中,必须满足类似的条件,而不必拥有集中式调度机制。此外,IEC 61499模型必须适应基于优先级的通信的增强性能,如在CAN网络中,或通过使用非调度的高速链路(如以太网)。

泛型函数块模型应适应在单个函数块体中存在的多种替代算法,这些算法可根据外部事件或条件进行选择,如初始化算法、正常操作算法或故障处理/恢复算法。

对于许多现代机器控制应用程序来说,高速的、事件驱动的状态机控制是必不可少的,相比之下,许多过程控制应用程序的典型执行时间要求较慢。分布式工业过程测量和控制系统(IPMCSs)的通用功能块模型必须同时满足这两组需求。

最终用户、设备供应商和系统集成商对控制算法的封装和重用在IEC 61131-3编程语言通常涉及的制造操作中要比在过程控制操作中广泛得多。

未来的工业流程将表现出更高程度的物理可重构性,以适应产品组合和数量的频繁变化,以及新产品类型和制造技术的频繁引入。此外,工业过程的快速重新配置将更频繁地用于从机器和过程故障中恢复,以最小的生产损失。在所有这些情况下,控制系统必须快速地重新配置,而且在大多数情况下,必须自动地不限制敏捷性。事实上,在不远的将来,自主智能制造单元(“holons”)的控制系统将需要智能地自我重新配置,以完成与其他holons协商的任务分配。这将进一步增加对软件封装和重用的需求。

IEC 61499草案已发布供全国委员会评论。这些草案很可能会为悬而未决的标准提供一个试行期。

有关详细信息,请参阅

制造系统逻辑控制的挑战与机遇

离散零件制造系统通常由许多以协调和顺序的方式一起工作的机器组成。系统有成百上千的输入和输出,其中许多是简单的开/关开关,并不少见。在PLC上实现的逻辑控制器不仅要处理机器的正常运行顺序和同步,还要处理操作界面和错误处理和恢复程序。

在目前的工业实践中,plc都是使用阶梯逻辑等低级语言进行编程,导致程序庞大而笨拙。总体设计是基于经验的,验证通常只通过实验或模拟来完成。理论基础(如Petri网和有限状态机)已经发展到建模和控制这种离散事件系统。然而,尽管近年来研究取得了重大进展,这些正式的技术尚未在工业中广泛应用。

为了了解离散事件系统理论及其在工业制造系统中的实施之间存在的差距,50名参与者于2000年6月在密歇根大学参加了一个研讨会。

所表达的行业需求包括更有效的故障检测和诊断、清晰和精确的规格、开放的架构控制器、更好的标准和更友好的软件工具。研讨会参与者还指出,有必要在逻辑控制方面进行更好的教育。在实践中实施研究成果的最大障碍之一是商业产品的开发。大多数逻辑控制程序员从他们的供应商那里学习新技术,而不是从阅读技术期刊。此外,许多关于逻辑控制的学术工作只考虑了制造系统的自动或正常运行周期,而高达90%的控制代码可能处理交替控制模式和故障处理/诊断。此外,许多制造企业将有限的研究资源集中在产品开发上,而不是生产过程上。

研讨会确定的未来研究主题包括通过集成诊断、更好的人机界面、验证和自动代码生成来改进逻辑控制软件的设计和实现。随着分布式控制在实现中的日益普及,需要有效的分布式控制系统组合方法。模块化控制设计也越来越重要,关键的研究问题是不同控制模块之间的接口或联锁。

欲了解更多信息,请访问

在线 的

请在线阅读这篇文章