2. 一个将输出与AND表达式的第一部分(常断)相或的分支。
图3.7闭锁梯形图结构
在图3.7中,如果输出的初始状态是ON的,那么,或表达式的上部将转到常假的状态,底部所检测到的输出将一直保持,只要常真的与元素(IN.1.1)保持为真。该电路与前面的闭锁与解锁一样,但有些程序员喜欢用这种电路,因为这种程序结构把逻辑和更改输出位可以在一个横档内,更容易进行故障诊断。
顺序器
闭锁可以用来控制一个在一定的时间内必须按照事先定好的顺序操作一个步骤的过程,数据位可以跟踪目前哪个步骤是激活的。图3.11给出了一个三步顺序的程序。请记住,OpenPLC每秒钟执行许多次,但由OpenPLC控制的制造过程的一个步骤可以持续数分钟或数小时。
第一个横档的输出只有在前三个数据位全部不是在“开”的状态,也就是说顺序过程没有启动的时候,才有可能执行。当其它的条件也满足时(IN.1.1为“ON”),顺序过程开始启动,这个横档将启动一个过程,(即OUT.3.1闭锁)同时,一个数据位(D.3.1)也同时作为该顺序的第一步已经启动的标志。
下一个横档只有当第一个步骤已经执行之后才可以执行输出状态。当第一步执行完毕,而且第二步的指令开始(IN.1.2为“ON”)的条件同时具备时,第二个横档通过对OUT.2.1的一个解锁指令终止了第一个横档的行动,同时启动了一个新的行动(OUT.2.2闭锁),同时启动了相关的状态标志位。
第三个横档与第二个类似,将动作状态从第二步延续到第三步。
第四个横档,也是最后一步,终止了第三步,并将最后一个标志位也解锁,这样,当条件具备时,第一步可以重复执行。
如果顺序的次序要求是一个变量,或者开始或结束的条件比较复杂,梯形图逻辑会变得非常麻烦和笨重,OpenPLC具有一些先进和高级的编程能力,可以用来对复杂的顺序控制进行编程。史博士后面有文章将讨论其中的两个这样的方法,一个是特殊顺序指令,一个是流程图组态方法。
图3.8 梯形图逻辑的三步顺序程序