根据实践中的摸索,我总结出两种解决办法:其一是把多个要输入的信号,先通过外部元件的逻辑组合,然后再接入到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失电,电动机停止旋转。而传统方式的控制梯形图请参见图三。

另外一种解决输入点不足的方法是通过软件来实现,这种方案的接线非常简单,直接把一个按钮连接到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仍维持原来的状态不改变。

以上两套方案都是切实可行的,具体采用哪一种,那还要根据您实际的使用条件来决定,切莫盲目套用。
-
引用 钟灵山 2007/3/9 11:56:22 发表于2楼的内容
-
引用 phjxx 2007/3/9 16:02:46 发表于3楼的内容
-
引用 JNZHLF 2007/3/9 22:26:06 发表于4楼的内容
-
-
-
cztyl 发表于 2007/3/14 13:22:15
还可以有几种方法:
一、在步进指令中,可以将不同的输入信号接入PLC的同一个输入点。在编程时,由于运行的时序和步骤都知道,因此可以考虑不相连的两个步进指令中,将不同的输入信号同时接入同一个输入点,由于动作时间和运行步进的扫描周期性,在不同的时间里调用,可以完成所需的功能。
二、可以采用不同的动作时间来编程,用PLC内部各种指令进行编程,将不同的输入信号接在同一个输入点上。
引用 cztyl 2007/3/14 13:22:15 发表于5楼的内容
-
-
引用 blue520 2007/3/14 19:27:47 发表于6楼的内容
-
引用 lll600817 2007/3/17 10:06:43 发表于7楼的内容