Auto万博电子游戏地址mationDirect的技术支持团队通过RLL Plus (Relay Ladder Logic Plus)编程接收大量呼叫,也被称为“Stage”编程。大多数调用者都想了解如何以及何时应该使用它。对于“何时”的问题,简单的回答是,它取决于被控制的过程。“怎么做”的问题稍后会给出答案。

阶段是一种高级的编程风格,适合有中等经验的程序员。彻底了解PLC如何扫描程序是必要的,以避免并发症。然而,它并不是一种与RLL“不同”的语言。它使用相同的指令集,并以几乎相同的方式扫描,只有少数例外。

舞台上编程

RLL Plus或“阶段”编程非常适合定义了在过程中多次出现的“步骤”或阶段的过程。它不适合线性的过程,也不适合定义很差的“步骤”。例如,制作一批曲奇面团可能是阶段编程的一个很好的用途,而烘焙曲奇则不是,因为烘焙只有一个步骤(即,烹饪面团)。

一个很好的例子来说明阶段程序的使用是一个混合面包面团的机器。面团机有几个独特的“步骤”来制造最终产品。其中一些步骤将在整个过程中多次执行。如图1所示,需要多次使用标准RLL程序的一小部分。例如,混音器将在整个节目中多次打开和关闭。每次操作都需要相同的警报和安全装置。虽然你可以通过并行接触来最小化梯子的数量,但这确实会使程序更难阅读。通过将混合器的启动、安全、报警和关闭全部放在一个阶段,您可以在程序中多次启用相同的代码,并减少编程时间(图2)。

figure1forpalmersarticle

图1
使用标准RLL编程的流程图示例

figure2forpalmersarticle

图2
使用阶段程序设计的流程图示例

阶段不像子程序。他们被扫描就像他们是规则的梯子逻辑。最接近舞台的东西是主控制继电器。如果MCR亮,则表示对电源轨进行了处理。如果MCR关闭,则跳过电源轨。各阶段的运作方式大致相同。如果舞台被启用,电源轨有电源并且逻辑被执行。如果禁用,则跳过该阶段中的所有逻辑(不处理),因为电源轨没有电源。

阶段编程有三种主要行为:
1)当舞台位开启时
扫描对应的阶段,并评估和处理该阶段中的逻辑。
2)当阶段位由on过渡到off时,对对应阶段进行一次扫描,关闭当前所有的输出。
3)当舞台位关闭时,
对应的阶段没有被扫描,因此该阶段没有逻辑
评估或加工。

关于舞台的开启和关闭,有一些需要注意的事项。这些详细的AutomationDirect PLC用户手册,可以单独购买或下载www.automationdirect.com

分段编程可以通过减少重复序列的数量和只扫描有活动的分段来节省PLC内存和提高扫描时间。这是考虑使用阶段编程的另外两个很好的理由,但是如果过程不适合使用阶段编程,它们就不是很好的理由。

阶段编程和标准RLL逻辑风格的编程可以通过将标准RLL放在程序的开头来混合,但通常没有必要这样做。一个适当的阶段计划将从一个或多个初始阶段开始,并有许多阶段将在整个计划周期中打开或关闭。

有两种激活阶段的方法:使用“跳转”指令或设置阶段位。跳转指令在激活指定阶段时使当前阶段失效。它不会跳过其他代码。

设置阶段位将激活指定的阶段,同时保持当前阶段运行。通过使用Set指令,你可以同时有多个阶段。

Reset指令的工作方式与Set指令基本相同。您可以使用reset指令一次复位一个阶段或一组阶段。

当退出舞台时,无论是跳出舞台还是重置舞台位,舞台总是在关闭电源轨之前完成扫描。当跳出当前阶段时,当前阶段将在当前扫描完成后再次扫描。如果不考虑此行为,则会导致某些进程出现问题。

通过跳出舞台或重新设置舞台来关闭舞台。所有的输出,计时器和计数器,除非设置,将被关闭。简单的解释是,关掉舞台就等于关掉了动力轨。如果没有电源,则关闭指令。例如,定时器和输出指令依赖于电源轨道来维持它们的状态。一旦断电,它们就会关闭。这在其他指令中也会发生。下面的例子展示了Stage编程,以及如果使用标准RLL Stage会是什么样子:

palmersladder1palmersladder2

阶段编程当然可以帮助组织一个程序,但并不总是对每个程序都有用。帮助确定是否应该考虑阶段编程的关键是,“这个程序可以分解成逻辑步骤吗?”如果您对这个问题的回答是“是”,那么学习Stage编程可能会帮助您节省一些时间,无论是在程序开发方面还是在执行速度方面。

由理查德·帕尔默
AutomationDirect

最初发表:2004年4月1日