在plc的实际应用中,经常遇到输入点或输出点不够用的问题,当然最简单的方法就是通过增加I/O扩展单元或I/O模板来解决,但是如果不是需要增加很多点,可以通过对输入或输出信号进行一定的处理来节省一些I/O点数。
一、减少所需PLC输入点数的方法
1、合并输入扩展法
几个动断触点串联或动合触点并联时,用合并输入的方法与PLC相连,可有效地减少占用PLC的输入点数。例如:一个两地控制的继电器接触器控制线路如图1所示。
从图1中可见:有四个动断触点串联,两个动合触点并联。在转换成PLC控制时,外部的输入信号有多种接线方式,对应的梯形图也有多种。如果对输入信号不采取任何合并措施,梯形图形象直观,对于判断外部输入信号的故障时很方便,但是占用了六个输入点。如果输入点比较紧张时,可采取先在PLC外部将四个动断触点串联,两个动合触点并联后再接入PLC的输入端子的方法,只占用两个输入点,如图2所示。
图1 两地控制线路
图2 输入触点的合并
2、机外设置输入扩展法
对某些功能简单、与其它设备没有联锁的输入信号,如某些手动操作按钮、热继电器的动断触点等,在PLC的输入点紧张时,可设置在PLC外部的输出电路中,见图3。
图3 机外设置输入扩展法
3、分组输入扩展法
为便于单机就地操作和调试,增加系统的可靠性,PLC控制系统一般都要设置自动和手动两种操作方式,而自动操作程序和手动操作程序是不会同时执行的。因此,可以将这两种不同操作方式的输入信号按自动和手动分成两组,用分组输入的方法由自动/手动转换开关进行切换,并通过外部输入点控制程序的转换,如图4所示。
图4 分组输入扩展法
4、矩阵式输入扩展法
矩阵式输入扩展法可以显著地减少所需的输入点数。这种方法是将m个输入点作为行线,将n个输出点作为列线,组成m×n矩阵。具体做法如下:① 接成二极管开关矩阵,选择PLC输入点与输出点作为二极管开关矩阵的行线与列线,将输入信号开关、二极管串联后两端分别接在某行线、某列线上;② 设计移位寄存器循环扫描输出程序,使移位寄存器位数与选定的输出点相等,并使各位与输出点一一对应,在移位寄存器循环移位时,各输出点在相对应的移位寄存器各位状态输出驱动下会依次循环导通;③ 用n个输入点与m个输出点的状态两两相“与”来指定一组n×m个内部继电器,以这n×m个内部继电器的编号分别代替对应的n×m个输入信号开关的编号,即可得到n×m个输入信号;④ 编制应用程序时即以n×m内部继电器的编号作为相应的n×m个输入信号开关的地址号编入程序。这种接法类似于计算机键盘扫描电路,只要在n个输出点依次输出编码,而在m个输入点读入各个开关的状态,就可以判别是哪些开关动作。
图5是3×3矩阵式输入电路,通过移位寄存器使0500、0501、0502轮流导通。从输入点0002、0003、0004分别读入三组开关的状态,0002、0003、0004的COM端子与0500、0501、0502的COM端子连接在一起。采用矩阵式输入扩展法。由于输入信号是分时输入的,外部的连续信号读入后变成了一系列间断的脉冲信号,为防止丢失输入信息,应保证输入信号的宽度大于矩阵输入的周期(即0500的工作周期)。图5 矩阵式输入
5、利用PLC内部功能
如利用转移指令,在一输入端接上一开关,作为自动、手动工作方式转换开关,运用转移指令,可将自动和手动操作加以区别;利用计数器实现单按钮启动和停止;采用编码译码指令将按钮或开关作编码处理,在梯形图中设计译码操作等等。
二、减少所需PLC输出点数的方法
1、共用输出点扩展法
如果通断状态完全相同的两个或多个负载并联时,可共用一个输出点,如图6中的0504;也可以通过外部的或PLC控制的转换开关,使每个PLC输出点可以控制两个以上不同时工作的负载,如0505和0506。当PLC同时带动多个并联的负载时,应注意校验PLC的带负载能力。
图6 共用输出点扩展法
2、机外设置输出扩展法
对某些控制逻辑简单,而又不参写工作循环的设备,或者在工作循环开始之前必须预先启动的设备,可不通过PLC控制。例如液压设备的液压泵电动机的启动、停止控制就可以不由PLC来承担。
3、矩阵式输出扩展法
用矩阵式输出扩展法比较简单,见图7。
图7 矩阵式输出扩展法
此外,在采用信号灯做负载(例如指示不同的工步或电梯中的指示灯)时,采用数码管做指示灯可以少用输出点。一个七段数码管可以显示0~9这十种不同的状态,但它只占四个输出点。如果用单灯指示10种状态,则需要10个指示灯,要占用10个输出点。