在使用PLC的过程中,我们经常遇到输入点不足问题,如何妥善解决这个问题呢?最简单的方法莫过于通过扩展输入模块来实现。但是模块的价格可是不菲的,动辄数千元,而且一扩就是8点、16点或32点,如果您仅仅缺一个点,这岂不是太不划算了!?有没有更经济的解决方案呢?
根据实践中的摸索,我总结出两种解决办法:其一是把多个要输入的信号,先通过外部元件的逻辑组合,然后再接入到PLC的一个输入点上;其二是不需要增加任何元件,通过运用PLC内部的逻辑组合,把连接到输入端的开关变成双稳态开关,来实现我们节省输入点的目的。
下面以工业控制中常见到的电动机的启动停止控制为例,具体来探讨这两种方案的实现方法。为了叙述的方便,我先做这样的假定:PLC系统采用西门子公司的S7-200系列;电动机启动按钮为SB1,定义号为I0.0;停止按钮为SB2,定义号为I0.1;控制电动机的接触器定义为KM1;控制接触器KM1的PLC输出点定义为Q0.0。
1、启动、停止按钮SB1和 SB2不是单独接到PLC的输入端,而是先把SB1与 SB2进行串联再连接到输入模块,这样就节省了一个输入点。
控制流程是这样的:按下启动按钮SB2,I0.0输入高电平,Q0.0有输出信号,带动接触器KM1吸合,启动电动机旋转,同时接触器的辅助触点吸合,维持I0.0的高电平,从而电动机的旋转得以保持;按下停止按钮SB1,I0.0变为低电平,Q0.0便由高电平变为低电平,从而使KM1失电,电动机停止旋转。
2、解决输入点不足的方法是通过软件来实现,这种方案的接线非常简单,直接把一个按钮连接到PLC输入端,我把它定义为I0.0,但按下这个按钮,可以启动电动机旋转;若再按下这个按钮,又可以使电动机停止,即这个按钮是双稳态的。
我们来看它是如何实现的:按下按钮,I0.0为高电平,由于初始状态下M0.0是逻辑0,只有网络1中有电流流过,M0.1置位,从而在按钮释放后,Q0.0点输出,Q0.0激励KM1,使电动机旋转;同时M0.0变为逻辑1,为M0.1复位做好准备。如果此时再按下按钮,又只能使网络2中有电流流过,M0.1复位。它的复位使Q0.0失电,电动机停止,同时使M0.0复位,又为M0.1置位做好准备。再按下按钮,又会重复上述循环。之所以在网络3支路中串入I0.0,是为了取一个瞬时信号,保证按下按钮并等释放了以后,才使状态发生改变。如果您持续按着按钮不释放,PLC仍维持原来的状态不改变。