掌握了plc的基本编程指令之后,就可以根据控制要求编写简单的应用程序了。为了提高编程质量和编程效率,必须首先了解编写梯形图程序的基本规则和基本编程方法。
1、基本编程规则
①梯形图中的每一行都是从左侧母线开始画起,线圈或指令画在最右边,线圈或指令右边只能画右母线( OMRON PLC 梯形图的右母线省略)。
②线圈或指令不能直接与左侧母线连接(除极少数没有执行条件的指令,如 END 等)。如果必须时,可以通过特殊辅助继电器 25313 (常 ON )的触点连接,如图1所示。
图1
③用 OUT 指令输出时,同一编号的继电器线圈在同一程序中使用两次以上,称为双线圈输出。双线圈输出容易引起误动作或逻辑混乱,因此一般要避免出现这种情况。例如,在图2( a )中,设 00000 为 ON 、 00005 为 OFF 。由于 PLC是按扫描方式执行程序的,执行第一行时 01000 为 ON ,而执行第二行时 01000 为 OFF 。在I/O 刷新阶段 01000 的输出状态只能是 OFF 。显然前面的输出无效,最后一次输出才是有效的
图2
又如,在图2 ( b )中,设 00000 为 ON 、 00001 为 OFF 。在执行第一行程序后01000为 ON ,执行第一行后 01001 为 ON ,执行第三行后 01000 为 OFF 。因此在I/O刷新阶段,01001为 ON , 01000 为 OFF 。但从第二行看, 01000 和 01001 的状态应该一致。这就是双线圈输出造成的逻辑混乱。
④梯形图必须遵循从左到右、从仁到下的顺序编写,不允许在两行之间垂直连接触点。如果不符合上述顺序,就要进行转换。如图3( a )若转换成(b )图就符合顺序要求了。
⑤程序结束时一定要安排 END 指令,否则程序不被执行。
图3
2、基本编程方法:
①两个或两个以上的线圈或指令可以并联输出。
②触点组与单个触点相并联时,应将单个触点放在下面。例如图4( a )变成图( b ) 从语句表看出节省了一个 OR LD 语句。
图4
③并联触点组与几个触点相串联时,应将并联触点组放在左边。例如图5 ( a )变成( b ) ,从语句表看出节省了一个 AND LD 语句
图5
④如果一条指令只需在 PLC 上电之初执行一次,可以用 SR 区的 25315作为其执行条件。由于 25315 只在 PLC 上电后的第一个扫描周期处于 ON 状态,因此,以 25315 为执行条件的指令只在上电后的第一个扫描周期被执行。这种用法常出现在 PLC 的初始化程序段上。
图6
图6 中,在 PLC 上电后的第一个扫描周期, 20000 被置为 ON , 20000 又作为 KEEP 指令的置位输入条件,从而使 0 1000 被置为 ON 。此后,如果 00001 ON 使 01000 复位,则在 PLC 本次上电期间, 01000 不会再被置位。此例中,可以用 25315直接作 KEEP 指令的置位条件,之所以使用 DIFU 指令,是为了顺便说明该指令的用法。
⑤有些梯形图难以用 AND LD 、 OR LD 等基本逻辑指令编写语句表,这时可重新安排梯形图的结构,如图7 ( a )若改画成图( b )就可以使用 OR LD 指令编程了。
(a) (b)
图7
⑥与某梯级有两个分支时,若其中一条分支从分支点到输出线圈之间无触点,该分支应放在上方,这样可以使语句表的语句更少。
⑦尽量使用那些操作数少、执行时间短的指令编程,以缩短扫描周期,从而提高I/O响应速度。