用矩阵法安放输入按钮或输出执行器件可实现增扩PLC输入或输出点 点击:1221 | 回复:0



wyb2866255---王者之师

    
  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-02-22 12:52:25
楼主

用矩阵法安放输入按钮或输出执行器件可实现增扩PLC输入或输出点的设计讨论

一般小型集成式PLC都有固定数量的输入、输出点,如S7-200CPU22110点的PLC(输入点=6,输出点=4),CPU22214点的PLC(输入点=8,输出点=6),最多输入、输出点的PLCCPU22640点:其输入点=24,输出点=16

对于这类PLCI/O口不够,可选用I/O扩展模块来增加输入、输出点。但可扩展的输入、输出点不是无限的,如CPU221不能扩展I/O口,CPU222最多可扩张32个输入口和32个输出口……CPU226容许扩展口最多,其输入可扩张到128,其输出可扩展到120(继电器输出)112DC输出)。

对一个PLC控制系统,如实际控制需要输入或输出口很多,而现有的控制柜内已无空间安放过多的输入、输出模块,或不想因增扩过多的输入输出模块使设计成本提高,可采用矩阵排列的方法,来实现用较少的输入、输出口来完成较多的输入、输出点的控制作用。

一、矩阵法的设计构思

有一求助帖:“50个开关点,类似矩阵排列,怎么能通过最少的PLC 输入输出点数达到检测某一个开关的闭合。··········

对此帖我的答复:用15个输入点、15个输出点可以实现用最少的PLC 输入、输出点数达到检测50个开关中的某一个开关的闭合状态: 如S7-200PLC,可选用其IB0I0.0~I0.6IIB11.0~I1.6这二组各7个输入点,组成7×7矩阵输入,可构成49个按钮输入点,再用I0.7作第50个按钮输入点。输出也是一样:用QB0Q0.0~Q0.6Q1.0~Q1.6组成7×7矩阵输出,可构成49路输出标志,再用Q0.7作第50路输出标志。

矩阵输入设计原则:

为实现7×7矩阵输入控制,要求矩阵输入控制的每个按钮应为带有2个触点的按钮开关,其一个触点接I0.0~I0.61点,另一触点接I1.0~I1.61点。

矩阵连线原则:将7×7矩阵所用得49个按钮分为7组,每组含7个开关:用IB0通道的I0.0I0.67个输入点作7组开关组的组选中开关,即I0.0=1选中第一组开关(1~7号)I0.1=1选中第二组开关(8~14号)I0.2=1选中第三组开关(15~21号)I0.3=1选中第四组开关(22~28号)I0.4=1选中第五组开关(29~35I0.5=1选中第六组开关(36~42I0.6=1选中第七组开关(43~49)。

选中的组开关,具体选中第几号开关可用IB1I1.0~I1.67个输入点来决定:如按钮按下使I0.0=1I1.0=1,说明选中第1组开关(即I0.0=1)中的第1位(即I1.0=1)开关,即为1号按钮按下。如输出用Q0.0Q1.6Q1.0Q1.6二组的14个输出口组成矩阵式输出,其构思与输入矩阵一样,即对应1号按钮的输出标示为:Q0.0=1Q1.0=1

 如按钮按下使I0.1=1I1.2=1,说明选中第2组开关(即I0.1=1)的第3位(即IB1I1.2=1),即是10号按钮按下。其对应输出为:Q0.1=1Q1.2=1, 即为第10号按钮的对应输出标志。

     下图为开关1K1)与开关3K3)与PLC输入端的接线图:当按下按钮K1时,使I0.0=1I1.0=1,即一号开关闭合,如按下按钮K3时,使I0.0=1I1.2=1,即三号开关闭合。  

 

考虑带有2个触点的按钮,长时间使用会出现触点接触不良的现象,万一2个触点有有一个接触不好,就会使输入给PLC的输入信号产生错误,为此按钮应选用只有一个触点的,再用2只二极管分别接IB0IB1的对应点也可达到同样的控制作用。见下图:

     上图只画了I0.0I0.1I0.2三组共21个按钮的接线图,其它4组的28个按钮连线与此相似,第50个按钮直接接I0.7即可。

这样的矩阵输入与输出连线,PLC编程就非常简单,只用MOV_W传递指令就可完成:

    如按下3号按钮,使I0.0=1I1.2=1,即:IW0=16#12,对应输出QW0=16#12(即Q0.0=1Q1.2=1)。

     对输出最简单的显示方法是用15个指示灯做输出指示,但要记住亮灯的规律:前49个按钮按下的输出标志都是用2个输出指示灯同时亮来表示的:如Q0.0=1Q1.2=1,则表示第3个输入按钮按下。如Q0.1=1Q1.0=1,则表示第8个输入按钮按下。其第50 个按钮按下为Q0.7=1,即只要Q0.7=1,则表示第50个按钮按下。

    如觉得这种表示方法不直观,不易记,要想用50个灯的亮来直接表示50个按钮的按下标志,就得用硬件配合,即用硬件组成50路指示灯的显示线路,见下图:

7×7矩阵的49路电路是由分立元件构成的2输入与非门,为使读者更好地理解这矩阵的输出电路,现将这49路中的第一路的电路图单独画出,见下图:

上左图为由分立元件构成的2输入与非门,上右图是由集成电路构成的同功能指示电路,其动作原理为:当按下1号按钮,使I0.0=1I1.0=1,使输出Q0.0=1Q1.0=149路与非门只有第一路与非门的二个输入信号为Q0.0Q1.0(见上图),使该与非门输出=0,使对应只是鞥D1亮。

本来这49路的每一路只需一个2输入与非门(4011)就可以实现功能,但由于选用的与非门为COS电路,其最高工作电压≤18V,其输出电流小,不能直接驱动指示灯,故每路由4081(四2输入与门)和1413(七路晶体管OC门输出反向器)这2种集成块组成的2输入与非门电路。49路共需与门49个(即需用134081四与门)和49个反向器(即需用71413集成块),所以组成这49路显示电路共需用集成电路20块。

由于4081选用15V电源做工作电压,故将PLC输出侧的L+15VM0V。下图即为用集成电路设计的1~14路输出电路图:

    二、对选用不同组合的矩阵的讨论

     前面介绍了为7×7矩阵设计构思,下面再讨论一下其它形式的矩阵组合:将选用的PLC的输入(或输出)口分为二组,一组的个数为A,作为开关组的选中触点。另一组为B,作为选中的各开关组的开关序号触点。PLC总的输入点数=A+B,组成矩阵后的实际输入按钮点数=A*B,故矩阵实际输入按钮点数(A*B)比原PLC的输入点数(A+B)增加的输入点数=A*B-(A+B)。见下表:

    讨论:

1、上表一为PLCAB二组输入点总数都=14,但AB的取值不同而组成的6种矩阵的数据,从中可以发现,用同样多的输入(或输出)点只有A=B=1/2的输入(或输出)点时,其矩阵可扩增的输入(或输出)点最多。

2、上表二为PLCAB二组输入点数都相等,但AB的值不同而组成的6种矩阵的数据,从中可以发现,其 AB值越大所组成的矩阵可扩增的输入(或输出)点越多。

3、从A×B矩阵连线的结构可知:

1)、同一组的各个开关可以同时按下几个开关,对其矩阵输出无影响,即确保输出状态正确,如对7×7矩阵,其第一组开关为K1K7,这7个开关可随意组合同时按个。如同时按下K1K2K33个开关,其K1输出为I0.0=1I1.0=1, K2输出为I0.0=1I1.1=1, K3输出为I0.0=1I1.2=1,从中发现:其按下的个开关只使I0.0=1,而I0.1I0.7皆为0,故输出点只能为含I0.0=1的第一组的3个开关有输出,而其它组的对应序号的开关因I0.1I0.7=0而不会产生输出。

2)各组的相同序号的各个开关可以同时按下,对其矩阵输出也无影响,如7×7矩阵可以同时按下各组的第一序号开关,即1号(I0.0=1I1.0=1即第一组第一号数)、8号(I0.1=1I1.0=1、即第二组第一号数=1+7=8)、15号(I0.2=1I1.0=1、即第三组第一号数=1+2×7=15)、22号(I0.3=1I1.0=1、即第四组第一号数=1+3×7=22)……

3)、不同组号又不同序号的按钮,不可同时按下,如7×7矩阵,其第1号按钮按下为I0.0=1I1.0=1,第10号按钮按下为I0.1=1I1.2=1,这二个按钮组号与序号均不相同,如同时按下时,除对应的1号与第10号有输出外,又会使第3号(即I0.0=1I1.2=1)与第8号(即I0.1=1I1.0=1)产生错误的输出。

以上三点应为设计矩阵式输入(或输出)时应考虑与注意的事项,特别是控制过程中会出现多个输入点同时出现的情况下,要合理安排输入(或输出)点,使设计既实现用最少的输入(或输出)点,完成增扩输入(或输出)点的作用,又不会出错误的控制动作。

本文到此结束,如有不妥或错误之处请给予指正,谢谢大家!



热门招聘
相关主题

官方公众号

智造工程师