当远程就地信号为1时,即表示现场的控制柜(箱)上的转换开关打到了远程位置,可进行plc的自动控制;当其为0时,则表示是现场手动操作。为了实现程序内部的手动自动切换,就像远程就地信号一样,设置一个中间变量,这个中间变量作为程序手动单体设备操作的标志,是由上位机监控程序来赋值的,其值为1时,进行程序的单体设备手动操作;为0时plc程序进行自动控制。由此可见,每一个自动控制中的设备都是在这两个条件下运行的。
我们用梯形图来实现一个电机和一个阀门的手自动切换功能,设置如下输入、输出io标签和中间变量:
输出:电机启动start
电机停止stop
阀门打开open
阀门关闭close
输入:电机mcc柜远程就地信号rl_m
阀门控制柜远程就地信号rl_v 变量:电机启动条件a
电机停止条件b
阀门打开条件c
阀门关闭条件d
电机的上位机手动操作中间变量up_man_m
电机的上位机手动操作启动up_start_m
电机的上位机手动操作停止up_stop_m
阀门的上位机手动操作中间变量up_man_v
阀门的上位机手动操作打开up_open_v
阀门的上位机手动操作关闭up_close_v
使用美国a-b公司用于logix 5000系列plc的rslogix 5000编程软件的梯形图,程序如图1:
其中(l)为置位指令,(u)为复位指令。这里之所以用置位、复位指令,主要是考虑到启动(打开)条件和停止(关闭)条件可能是脉冲型的(例如上升沿脉冲),需要保持(注:如果mcc中的控制回路使用了“启动-保持-停止”方式,那么采用脉冲输出比较合适,就像自复位式按钮一样。这里为了简化梯形图程序,没有这样做。有兴趣的读者不妨一试)。电机启动或停止条件是自动控制时的联锁条件,上位机进行手动操作时,自动控制程序不能执行。同样就地操作时,plc的程序控制也不能执行,程序可以根据需要将此时的电机启动和停止控制信号复位。阀门的控制也是一样。这样各个设备均可根据情况进行自动运行或手动操作。
