编码高效顺序控制程序的三个关键

顺序控制程序通常是涉及批处理应用程序或任何基于过程的应用程序的中等到复杂控制策略的一部分,如果工程师确保序列具有相同的体系结构模型,则顺序控制程序可以更容易和更精简。为了使这个过程更容易,重点介绍了三个技巧。

通过Tony Kolluri, Maverick科技公司 2017年1月30日

顺序控制程序通常是涉及批处理或基于过程的应用程序的中等到复杂控制策略的一部分,通常在实现中涉及复杂的编程策略。每个单独的序列是一组特定设备在操作的特定部分上的操作,称为阶段,涉及前瞻性思维,作为工程师编程策略的一部分。通过遵循一组指导方针,可以简化编程中的工程任务,这样整个应用程序中的所有序列都具有相同的易于遵循和维护的体系结构模型。遵循这三个技巧将有助于工程师简化编码过程。

1.明确的阶段

定义阶段后,阶段将携带一组与应用程序的该部分相关的任务。在许多批处理应用程序中,大多数任务都有明确定义的操作,例如,如果混合必须在搅拌之后进行,那么在搅拌开始之前必须完成有关混合的步骤。但是在半批处理应用程序中,当在更适合批处理方法的连续过程中实现批处理方法时,定义和分解步骤可能会变得乏味。定义阶段(包括所需的所有步骤)必须从头开始,并消除重叠和低效率。这将最终导致模块化阶段,并将极大地增强编程。

2.使用配套模块

大多数序列不仅涉及对设备的操作,还涉及计时器、累加器甚至自定义消息。大多数现代平台都支持用于序列编程的临时变量,但一些特定的计算最好在序列命令的另一个模块中完成,这可以在一个配套模块中执行。当用户处理多个阶段时,将一个配套模块分配给每个序列作为程序初始体系结构的一部分是比较容易的。这将有助于模块化,使编程更容易,并有助于调试后的在线更改,而不影响其他阶段。

3.高效的异常处理

除了定义阶段之外,编程的大部分精力都花在了这个领域。当阶段定义良好时,就更容易对其进行编程,这通常是在序列的开始出现问题时发生的情况,而不是在序列的末尾可以指导不同的方法来处理每个场景。大多数平台确实提供了处理程序来适应这一点。在构建处理程序(如保持、中止、停止和重新启动)中使用这些对我们有利是这里的关键。开发特定于手头应用程序的状态图,并使其适应平台提供的处理程序,这是分解这项任务的好方法。

在出现异常的情况下,必须提前定义在一个阶段中识别关键的“返回点”。拥有特定于应用程序的状态图还有助于在测试和调试时处理不可预见的异常。

本文由Tony Kolluri撰写。托尼是公司的高级工程师特立独行的技术是一家领先的自动化解决方案提供商,为流程工业提供工业自动化、战略制造和企业集成服务。Maverick提供广泛领域的专业知识和咨询,包括工业自动化控制、分布式控制系统、制造执行系统、运营战略、业务流程优化等。

Maverick科技是一家2017年1月31日成员。