4. 基本逻辑指令与梯形图编程
梯形图(Ladder Diagram,简称LAD)是三菱FX系列及iQ-F系列PLC最常用的编程语言,它的图形符号来源于继电器控制电路,因此对电气人员非常直观。但梯形图并不是"画电路图",它本质上是一种由PLC循环扫描执行的逻辑运算表达方式。理解这一点,是掌握基本逻辑指令的关键。
一、触点与线圈:梯形图的最小单元
梯形图中最基本的三种元素是常开触点、常闭触点和输出线圈。它们对应的软元件和指令如下:
- 常开触点(LD/LDI):对应软元件为"1"时导通。梯形图中画成两条竖线中间断开的形式,类似继电器常开接点。
- 常闭触点(LDI/LD):对应软元件为"0"时导通,画成带斜杠的接点。
- 输出线圈(OUT):位于梯形图最右侧,当左侧逻辑运算结果为"1"时,线圈对应的软元件被置为ON。
需要特别强调的是:梯形图的"能流"方向是从左母线到右母线,触点串联表示"与"逻辑,触点并联表示"或"逻辑。例如,启动按钮X0与停止按钮X1(常闭)串联后驱动Y0,就是典型的"启保停"电路。在iQ-F中,X0~X7为输入继电器,Y0~Y7为输出继电器,M0~M499为通用辅助继电器,T0~T199为定时器,C0~C199为计数器。
二、置位与复位:保持型输出
OUT指令是"即时输出",当逻辑条件消失时线圈立即断开。而SET(置位)和RST(复位)指令可以让软元件保持状态,直到遇到相反的指令。这在需要"按下启动后持续运行"的场合非常有用。
例如,用SET/RST实现电机启停控制:
LD X0 // 启动按钮
SET Y0 // 置位Y0,电机启动并保持
LD X1 // 停止按钮
RST Y0 // 复位Y0,电机停止
与OUT指令相比,SET/RST的优势在于:即使启动按钮松开,Y0仍保持ON;只有按下停止按钮才会断开。需要注意的是,SET和RST之间没有先后顺序限制,但同一软元件如果同时被SET和RST驱动,程序会按扫描顺序执行,最后执行的那条指令生效。因此在实际编程中应避免这种"双线圈"冲突。
三、边沿触发:捕捉瞬间变化
PLC的扫描周期通常为几毫秒到几十毫秒,如果按钮按下的时间很短,普通触点可能"抓不住"这个信号。边沿触发指令就是用来捕捉信号从OFF到ON(上升沿)或从ON到OFF(下降沿)的瞬间。
- LDP(上升沿):仅在信号由0变1的那个扫描周期导通一次。
- LDF(下降沿):仅在信号由1变0的那个扫描周期导通一次。
- PLS(脉冲输出):检测到上升沿时,让指定软元件导通一个扫描周期。
- PLF(脉冲输出):检测到下降沿时,让指定软元件导通一个扫描周期。
边沿触发在计数、单次动作、状态切换等场合非常关键。例如,用PLS指令让M0在X0按下瞬间产生一个脉冲,再用M0驱动计数器C0,就可以实现"每按一次按钮计数加一"的功能。
四、逻辑块与程序结构
当梯形图变得复杂时,需要用到逻辑块指令来处理"块与"和"块或"的关系。三菱PLC中常用的有:
- ANB(块与):将两个并联块串联起来。
- ORB(块或):将两个串联块并联起来。
- MPS/MRD/MPP:用于多重输出分支,分别表示进栈、读栈、出栈。
程序结构上,iQ-F系列支持主程序、子程序和中断程序。主程序从上到下循环扫描,子程序通过CALL指令调用,中断程序则由外部中断或定时中断触发。合理的程序结构应该做到:主程序负责主要逻辑,子程序负责重复功能,中断程序负责紧急处理。
五、编程实践要点
在实际编写梯形图时,有几个容易出错的地方需要特别注意:
- 双线圈问题:同一个输出线圈(如Y0)在程序中只能出现一次。如果多次使用OUT Y0,PLC会以最后一次扫描结果为准,前面的逻辑会被覆盖。正确做法是用中间继电器M汇总逻辑,最后统一输出。
- 触点顺序:串联触点中,常闭触点应尽量靠近左母线,这样可以减少不必要的逻辑运算,提高程序可读性。
- 边沿指令的位置:LDP/LDF必须紧跟在左母线或前一个逻辑块之后,不能随意插入串联支路中间。
- SET/RST配对:使用SET置位的软元件,一定要有对应的RST复位逻辑,否则PLC断电重启后状态可能不确定。
掌握这些基本指令后,就可以开始编写完整的控制程序了。建议从简单的"启保停"电路入手,逐步加入定时器、计数器和边沿触发,最后再练习逻辑块和子程序调用。每一步都要在GX Works3中实际编译、下载并观察PLC的运行状态,通过监视功能查看各软元件的ON/OFF变化,这样才能真正理解梯形图的扫描执行机制。