用一个按钮实现控制电机启动与停止的几种编程方法介绍 点击:6217 | 回复:14



wyb2866255

    
  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2011-03-15 12:34:11
楼主
                              用一个按钮实现控制电机启动与停止的几种编程方法介绍
        网上看到有好多网友提出用一个按钮实现控制电机的启动与停车的求助帖,这里,用S7-200编程,用不同的思路编写出5种可控制电机启停的梯形图,供大家分析参考
     1、第一种设计方案:用SR触发器指令构成的控制电路,见下图:


       程序解析:按钮接 I1.0 输入点,按下按钮,使 I1.0=1,断电延时定时器 T101 得电吸合,按钮抬起,I1.0=0 ,T101 并不立即释放,要延时0.4S,才释放断开,用此T101的目的,防止按钮在按下的瞬间产生抖动而出现的打连发的现象,即确保按钮动作的可靠无误。此条可以不用,如不用时,将下一条中的T101改为 I1.0 即可。
第二条是用SR触发器指令配合其他指令构成双稳态电路,其编程要点是,用SR输出的Q1.0位信号的常开与常闭点串接在R、S触发输入口中,这样处理可确保双稳态电路的动作可靠性。加”SM0.1”并接在R输入端上的目的是确保开机时,Q1.0=0,即确保输出口为断开状态。
     2、第二种设计方案:


       同第一种构思是一样的,是利用PLC周期性的逐条询检的特点编写的,只是语句用的不一样。该图的第一条的作用原理同上,第二条,T101(或 I1.0)的后沿到来,如果M1.0=0,就使Q1.0=1(输出接通),否则(即M1.0=1)Q1.0=0(即输出断开)。第三条为将Q1.0 --> M1.0,这一条的作用就是利用时间差,即第二条动作完成后,才将Q1.0 --> M1.0,从而确保第二条动作的可靠性。
    3、第三种设计方案:用加1计数器实现。见下图:

       该程序是利用二进制加法计数器的个位数,在进行加1运算时,总是0、1变化的特点编写的,第一条是初始化,即将MB1清0,确保开机后Q1.0的输出状态为断开,第二条防抖动,第3条 T101的后沿使MB1内容加1,第4条为 将M1.0 -->  Q1.0。
       分析一下动作:开机使 MB1=0,即M1.0=0,也是 Q1.0=0 输出为断开状态。按一下I1.0,使 MB1加1,其MB1=1,即M1.0=1,使Q1.0=1,输出为通导状态。再按I1.0,使 MB1又加1,其MB1=2,但M1.0=0,使Q1.0=0,输出为断开状态 。。。。
    4、第4中编程方案:利用字节循环左移(或右移)移位的方法实现功能,见下图:

        本程序是利用MB1字节循环左移一位的方法实现Q1.0通断的控制:本图的第1条初始化将MB1置数为“10101010”状态,此时M1.0=0即Q1.0=0确保开机后Q1.0的输出为断开状态。第2条防抖动,第3条是T101的后沿使MB1 循环左移一位,第一次按按钮,MB1左移一位后的值为“01010101”,即此时M1.0=1,使Q1.0=1,输出口通导。再按扭,MB1值为“10101010” 即此时M1.0=0,使Q1.0=0,输出口断开。。。。
     5、 第5种编程方法:利用字节循环左移和比较指令编写,见下图:
 

     该程序的前二条与第4中一样,第3条利用字节比较指令:T101的后沿进行比较,如MB1=10101010,则Q1.0=1 输出口通导,如MB1不=10101010,则Q1.0=1 输出口断开。
    目前仅想出这5中思路的编程方法,大家可以补充。目的就是学好用好PLC



miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2011-03-15 22:47:21
1楼
真羡慕楼主 精力充沛 , 业余时间也多啊1   有机会升为版主    呵呵!

jiangleicncn

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 17回
  • 年度积分:0
  • 历史总积分:91
  • 注册:2011年3月15日
发表于:2011-03-16 08:03:43
2楼

楼主编写几个三菱的小妙招吧,小弟需要这方面的资料学习学习

410331326@qq.com

请帮忙发几个,不胜感激啊!

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2011-03-16 08:45:42
3楼
2楼网友:抱歉!三菱PLC没用过,手里也没有它的编程手册,不了解它的语句,帮不了这个忙。

wugang926

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2010年10月31日
发表于:2011-03-19 13:08:16
4楼

可以用三菱的交替输出指令ALT

高坚

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 87回
  • 年度积分:0
  • 历史总积分:473
  • 注册:2009年11月13日
发表于:2011-03-20 12:33:53
5楼

这个太简单,我今天用一个接触器,两个中间继电器,一个按钮实现了一键启停!

lkm320447

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 5回
  • 年度积分:0
  • 历史总积分:48
  • 注册:2009年10月23日
发表于:2011-03-23 20:38:27
6楼

用三菱的set,ret指令就可以了啊

lkm320447

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 5回
  • 年度积分:0
  • 历史总积分:48
  • 注册:2009年10月23日
发表于:2011-03-23 20:39:50
7楼
刚发错了 是set,rst指令

星空依然蓝

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1233回
  • 年度积分:0
  • 历史总积分:2200
  • 注册:2008年11月23日
发表于:2011-03-28 21:01:12
8楼
真是太强大了,这才是PLC编程的诱人之处,另人无限去设想程序,改变思路,保藏了。

hbhglwz

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:59
  • 注册:2009年4月17日
发表于:2011-10-25 16:30:59
9楼
辛苦你了,向你学习、致敬

thomas_top

  • 精华:0帖
  • 求助:0帖
  • 帖子:46帖 | 865回
  • 年度积分:390
  • 历史总积分:4076
  • 注册:2006年4月04日
发表于:2011-10-25 20:07:35
10楼
还有更多的其它方法的

腚海神针

  • 精华:0帖
  • 求助:2帖
  • 帖子:145帖 | 743回
  • 年度积分:0
  • 历史总积分:4529
  • 注册:2007年12月05日
发表于:2011-11-01 09:34:36
11楼
有几种以前还真没想到,多谢分享.

zaxife

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 80回
  • 年度积分:0
  • 历史总积分:270
  • 注册:2005年5月25日
发表于:2011-11-04 13:24:08
12楼

添加一个单网络梯形图很简单的

LD I0.0
EU
LPS
AN Q0.0
ED
S Q0.0, 1
LPP
A Q0.0
AN SM0.1
R Q0.0, 1

dssunwenhui

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 53回
  • 年度积分:0
  • 历史总积分:96
  • 注册:2012年5月29日
发表于:2018-06-02 14:14:40
13楼

楼主厉害,路过学习了!!!!

hzlyw

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 58回
  • 年度积分:484
  • 历史总积分:588
  • 注册:2010年10月09日
发表于:2018-06-02 15:07:31
14楼

三菱的ALT就可以,简单又直接


热门招聘
相关主题

官方公众号

智造工程师