首页 上一页 1 2 下一页 尾页

PLC增扩输入口的硬件电路及与之配合使用的PLC梯形图的构思与解析 点击:3171 | 回复:32



wyb2866255---王者之师

    
  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-05-09 08:54:37
楼主

             PLC增扩输入口的硬件电路及与之配合使用的PLC梯形图的构思与解析

 

        正常情况下PLC设计要求其I/O点应留有一定的余量。如PLC的I/O点不够,可增加I/O扩展模块。但有些特殊情况,例如对一台旧设备进行改造,要求要利用设备上原有的PLC,而原PLC的输入与输出口已用到其I / O口的最大数量,还需再增加多个输入点及输出点才能实现改造后的控制功能。在此情况下,用增加I/O扩展模块的办法是行不通的,就得采用硬件电路配合PLC编程,来实现I / O口的扩增。下面就这一问题谈谈个人的想法(本文仅谈输入口的扩展,输出口扩展将在另文论述)。

 

      第一种扩展输入口的构思:采用数学组合的思路扩展输入口:如选用N个输入口,除每个口接一输入开关(或电位输入信号)外,还可用俩俩组合来代表一个新的输入点。

        图一的K1~K4为原I0.0~I0.3的输入开关,K5~K10 这6个开关是利用数学组合思路扩展的6路输入开关,即每个开关连接2个二极管的正极,而二极管的负极分别接2个输入口,如K5的触点,其一端接+24V,另一端接2个二极管的正极。这2个二极管的负极分别接I0.0与I0.1输入口,当按下K5开关时,将使其I0.0=1与I0.1输入电压=+24V,此时4个输入口的输入值=0011。即0011则表示K5的信号代码。如K6连接的2个二极管的负极分别接I0.0与I0.2,其0101输入状态则代表K6的信号输入代码……,而K1~K4的输入代码分别为:0001、0010、0100、1000表示。

 

        第二种扩展输入口的构思:采用二进制编码组合的思路扩展输入口:如选用N个输入口,其各个输入口分别代表二进制数的各位的值:如I0.0=1代表二进制数的个位数“1”(即十进制数1), I0.1=1代表二进制数的十位数“1”(即十进制数2),I0.2=1代表二进制数的百位数“1”(即十进制数4)……,如用N个输入口表示N位二进制数,它将有2的N次方个不同数字组合。

如仍取N=4,用I0.0~I0.3这4个数入口分别作为二进制数的个位、十位、百位、千位的数,从0000 到4位二进制数的最大值 1111,共含有:0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110、1111这16个不同数值,除0000外,其余15个数中的4位数至少有一位=1,即相当有1个输入开关接通该输入口使其置1。我们可用15个开关,按着这15种4位数不同的数字组合,用二级管连接该对应输入口,就可构成用4个输入点实现15个输入信号的控制功能。见下图:

 

  

          图二、4位二进制数编码式组合构成的输入控制电路图

 

       图二中的K1、K2、K4、K8 这4个开关分别直接与I0.0~I0.3输入口相连,其输入值为0001、0010、0100、1000这4个二进制数,其余11个开关则通过二极管不同组合与I0.0~I0.3连接,即按各开关序号值对应的二进制数中的各位值=1的输入口相连接,构成11个扩增输入点。

        通过图一与图二比较可已看出:选用相同数量输入口。采用第二种方式扩展输入口比采用第一种扩展方式所扩展的输入口要多,而且N数越大,扩增的输入口越多:

 

下面图三是用S7-200编写的用4个输入口按组合思路实现扩展10路输入开关的梯形图:

       

下面图四是采用第二种扩展方式用S7-200编写的用4个输入口实现15路输入开关的梯形图:

 

 

      图四、4个输入口扩展为15个输入信号的梯形图

 

    二、硬件电路图与梯形图的分析

        上述这二种扩展方案虽然能扩增输入口,但都存在着一个致命的弱点,即:各个输入开关(或输入信号)只容许独自进行输入控制,即不容许同时进行二个以上的信号输入。否则就会造成错误的输入命令。以图二为例:如同时按下K1、K2、K5三个按钮,其此时I0.0~I0.3的输入状态只能为一种:I0.0=1、I0.1=1、I0.2=1、I0.3=0,而这种输入状态是K7的输入代码,而K1与K2及K5的输入代码却不存在,其结果,PLC将执行K7指令动作,K1、K2、K5指令皆不予执行,这是控制程序所不容许的。

        这个问题如不能解决,此设计方案就没有实用价值,为解决这个难题。为使这一设计思想不予流产,对此方案进行深入的研究与分析,最终选用如下的解决方案,见图五与图六。

 

 

 

    图五、在图一基础上改进的用4个输入口扩展为10路输入控制的电路图

 

 

图六、在图二基础上改进的用4个输入口扩展为15路输入控制的电路图

 

       图五是在图一的基础上改进的用4个输入口扩展为10路输入信号的电路图。图六是在图二的基础上改进的用4个输入口扩展为15路输入信号的电路图。二者电路构思是相似的,下面只讲解图五电路的工作原理及其编程:

      图五是用COS集成电路按第一扩展思路构成的用4个输入口扩展为10路输入信号的控制电路,图中用3个4011(为四2输入与非门集成块),共含12个2输入与非门,其中二个与非门门(U3C、U3D)用于做振荡器,剩下的10个与非门的二个输入端分别连接10个输入信号(K1~K10)和4028 的10个输出端(Q0~Q9)。如:U1A门的一个输入端(1脚)接输入信号K1,另一个输入端(2脚)接4028的Q0输出端, U1B门的一个输入端(5脚)接输入信号K2,另一个输入端(6脚)接4028的Q1…。

       连接10个输入信号(K1~K10)的10个与非门的输入端各加一下拉电(4.7K),其作用是:当各输入点的输入信号=0时(即K1~K10处于断开),使其与非门的输出=1。即10个与非门输出皆为1,那么后级的四个4输入与非门(U6与U7)的输出皆为0,又使之连接的NPN型晶体管G1~G4截止,输出高电平,即G1~G4管输出为1,又使后面4个PNP晶体管截止。使PLC的I0.0~I0.3无注入电流,即I0.0~I0.3输入皆0.

     如K1闭合(即K1=1,输入高电压),4028的Q0也输出为1时,与非门U1A的二个输入皆为1,使其输出(3脚)为0,即使U6A的输入2脚=0,其U6A的输出1脚=1,U6A的1脚输出高电位加在G1晶体管的基极,使G1导通,其集电极输出0电压加在G5的基极,又使G5导通,使24V正电压加在I0.0输入口,即I0.0=1。此时由于U6B与U7A、U7B 的输入端无输入信号,其输出仍保持0,故使其后面的晶体管截止,使I0.1、I0.2及I0.3的输入皆为0。  

       图五中的与非门U3C与U3D构成自激振荡器,其振荡频率为1.2KHz,该振荡脉冲输入给十进制计数器4518,4518 的4个输出端:Q0~Q3,分别代表1、2、4、8,其十种输出状态为0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 ,随着输入脉冲的连续触发,上述的十种输出状态会依次重复出现,每种输出重复出现的间隔为10个计数脉冲间隔,其频率为计数脉冲频率的十分之一(即为120Hz,周期=83.3mS)。

     4518的4位输出(Q0~Q3)输送给4028 的4个输入端(A、B、C、D),4028为BCD输入4线-10线译码器,当其输入端A、B、C、D的输入信号由000、0001…1001依次变化时,其10个输出端Q0~Q9也随之由Q0、Q1…Q10依次轮流输出为1。例如:当输入为0000时,其输出Q0=1,其余输出端输出为0,当输入为0001时,其输出只有Q1=1。

      那么这10个与非门起什么作用呢?现举一例说明:以U1A门为例,假设K1输入脉宽为1分的正方波,而4028的Q0输出为120Hz的连续脉冲,这二种信号相与,使与非门U1A的输出端1脚的输出波形变为频率=120Hz,长度为1分钟的脉冲串。见下图:

 

       此脉冲串的脉冲个数=60×120=7200.4028的10个输出端是分时轮流输出的(即互不重叠),故10个与非门的输出也一定互不重叠,即在K1=1而Q0也=1时,只有U1A输出=0,其它9个与非门因Q1~Q9皆为0其输出都=1。此时4个4输入与非门只有U6A的输出端=1,其它3个输出为0,使PLC的I0.0~I0.3的输出状态为:0001。这0001输入状态是每隔83mS重复出现一次,在1分钟内将出现7200次。

对应K1输入,PLC是这样编程的:见下图

 

      当K1=1,4028的Q0输出端第一次=1时,其上图支路通导,使定时器T101得电且使T101=1,当4028转为下一个输出时(如Q1=1)该支路断,但T101仍保持输出为1(它需延时100mS才可断),延时83.3Ms,此支路又通导,使定时器T101又得电且使T101=1……,在K1的输入1分钟的方波脉宽内,T101从第一个脉冲使其数出=1起,一直保持输出为1状态,直到K1的脉冲结束,其脉冲串的最后一个脉冲结束,再延时100mS,T101才由1下跳回0状态,见下图:

 

      从上图可见。通过T101使输入的脉冲串又转换为脉宽为1分的方波。从图中会发现T101输出波形与K1波形稍有滞后(小于100mS),这对K1的长时间通导是微乎极微的。

      再举一例:K1与K2分别输入正方波,二者是同时出现但导通时间不等,见下图:

 

         图七、电路波形图

      

     从图七可见,由于4028的输出端Q0波形比输出端Q1波形提前一个正方波脉冲宽度,确保二者形成的脉冲串(U1A3脚波形与U1B4脚波形)互不重叠,二者先后送入PLC的I0.0~I0.3口,由下梯形图实现T101与T02二个方波输出(见上图七)。

 

      通过上述讲解,可以知道,用硬件电路配合PLC编程来增扩输入口的设计构思:

    1、硬件电路:完成将10路输入信号,转换为与原信号等宽度的脉冲串,各路脉冲串的频率相同,但相位依次相差十分之一脉冲的周期,它们是分时循环输入给PLC的I0.0~I0.3各端口,

    2、PLC编程:PLC输入口(I0.0~I0.3)的10种输入状态:0001、0010、0100、1000、0011、0101、1001、0110、1010、1100,对外分别对应K1、K2……K10十个输入信号,对内分别对应T101、T102……T110十个断电延时定时器,由于这10种信号是分时传送给PLC输入端的脉冲串,使各定时器能分别产生与对应输入相似的方波脉冲,从而达到10路输入信号通过4个数入口可以随意输入,PLC照样可以获得与之同时序的10路输入信号。

    图七为配合图五输入电路图编写的PLC梯形图:

 

                 图七、与图五硬件电路相配合的PLC梯形图

 

      关于图六的电路图原理及其编程思路与上述图五相似,本文就不再作重复讲解。就写到这里,供大家分析与参考。谢谢大家!

 




Q891913674

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 199回
  • 年度积分:118
  • 历史总积分:11948
  • 注册:2011年3月19日
发表于:2013-08-23 19:12:25
21楼

新手学习了,太感谢,谢谢

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-08-24 21:51:01
22楼

我看 再说下去,并行输入就会变成串行输入了,此时的输入点只需要一个。

用高速输出调制出很多个交换信号。然后用另外一个plc的高速计数器解调信号还原很多种输入信号。

然后变成

两块plc 各用自己的一个高速输入一个高速输出口,使用两线制做脉冲的交换了。

然后接下来就演变成

用通讯口传达数据。

最后嫌通讯太慢了干脆就是……

usb串行通讯总线

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-08-24 21:58:41
23楼

我就是曾经想象过,两个plc之间使用各自的一个高速计数器和高速脉冲输出,一共4个点用导线接在一起。然后互发脉冲,互收脉冲达到通讯的目的。

这样可以仅通过这一条线路达到两个plc之间的高速IO握手。至于这么发脉冲,就是协议的事情了。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-08-29 17:17:53
24楼

顶一顶,多看几个意见。

fyc871356965

  • 精华:1帖
  • 求助:3帖
  • 帖子:14帖 | 1802回
  • 年度积分:0
  • 历史总积分:2312
  • 注册:2012年1月09日
发表于:2013-08-29 18:22:41
25楼

引用 江湖混混-余辉 的回复内容: 很详细  王老的帖子总是那么耐人寻味       


 

taoren_1

  • 精华:0帖
  • 求助:1帖
  • 帖子:30帖 | 427回
  • 年度积分:0
  • 历史总积分:1005
  • 注册:2007年9月28日
发表于:2013-08-29 21:21:13
26楼

引用 hejiajian139 的回复内容: 学到了,学到了啊!换种想法很重呀啊!


   

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-09-01 22:53:49
27楼

开学了。又 顶 一 顶 。

xiaoxi_92

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 83回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2013-09-02 09:05:17
28楼

很好的帖子啊  !!!!!

wyb2866255---王者之师

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

   27楼:看了你的几个回帖,你提出的用二台PLC进行串口通讯来实现扩展PLC输入口的想法是可行的。方法是:即用另一台PLC的几个输入口的输入状态,通过内部编程,转换为一个字节或一个字的数据形式,再通过串行口通讯传递给输入口不够的PLC,使之将此数据的各位值作输入开关,去执行各种命令或动作。可以达到扩展输入口的目的,也是一种扩展输入口的方法。

   但对于只用一台PLC编程,在输入口不够的情况下,用再增加一台PLC来达到扩展输入口的办法,是不是有点造价太高?如用第二台PLC,用不着通讯,直接用它的输入端进行正常编程岂不更简单。

huarana

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2014年2月11日
发表于:2014-02-11 14:37:38
30楼

正是解决了我的大问题。


如果是不带自锁的按键的话,扩展起来方法很多也很简单。刚好遇到需要

带自锁的按键,6个输出口,需要8个带自锁的按键输入。 扩展输入模块的话不划算。

找了很久 终于看到楼主的文章,十分感激啊。最近测试一下效果先。

huarana

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2014年2月11日
发表于:2014-02-11 14:37:49
31楼

正是解决了我的大问题。


如果是不带自锁的按键的话,扩展起来方法很多也很简单。刚好遇到需要

带自锁的按键,6个输出口,需要8个带自锁的按键输入。 扩展输入模块的话不划算。

找了很久 终于看到楼主的文章,十分感激啊。最近测试一下效果先。

工控杨工

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 13回
  • 年度积分:0
  • 历史总积分:150
  • 注册:2007年6月25日
发表于:2015-10-10 12:41:36
32楼

回复内容:

对:乖乖小笨熊 引用 鄂-电气自动化 的回复内容: 不错的想法。              但是实际应用意义不大了     内容的回复:

120赫兹周期是8.33毫秒,1.2千赫兹周期是,0.8333


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页