用S7-200编写的二个小程序及解析之二 点击:3092 | 回复:9



wyb2866255---王者之师

    
  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-03-14 17:48:05
楼主

           S7-200编写的二个小程序及解析之二

 

        这里展示二个小程序都是解答网友的求助帖编写的,并对编程构思及编程技巧作以分析,望能对初学者有所帮助,如有不对之处请给予指正,谢谢!

  

       一、原帖:s7-200 点动加自锁控制电路 如何为最简程序SB1KM吸合且自锁。按SB2KM断开。按SB3KM吸合,松开SB3KM断开。要PLC最简程序,不是继电器电路。

   回复: 按楼主要求,编出2个程序,见下图:

1种编法

    2种编法

解析:

第一种编程:按下I0.0,由于此时I0.1I0.2都处于断开状态,使Q0.0M0.0输出为1M0.1=1起自保作用,故抬起I0.0,其Q0.0仍输出为1。如此时按下I0.1,使Q0.0M0.0=0,且自保作用消失。

I0.2直接输出给Q0.0,且串接I0.2的常闭触点输出给M0.0。故I0.2起点动控制作用,不管Q0.0输出是0 还是1,按下I0.2,都会使Q0.0输出=1,且使M0.0=0,即M0.0不起自保作用,故当抬起I0.2都会使Q0.0=0.

第二种编程:利用SR触发器编程,使用沿触发,I0.2=1的前沿使 SR触发器置1(即Q0.0=1),其后沿使SR触发器置0Q0.0=0),从而达到点动的控制作用。

二、求助帖:用S7200224CPU,用本体上的10个输出点作一定时间的循环输出,Q0.0-Q0.1-Q0.2-Q0.3-Q0.4-Q0.5-Q0.6-Q0.7-Q1.0-Q1.1-Q0.0……,要求用移位指令。修改

    回复我给你编个程序,上机运行正确,不是用时间中断产生2S脉冲,而是用秒脉冲计数分频(M10.0)产生的 2S 振荡脉冲。当右移到M3.2(Q1.2)时,应立刻使MW2=16#100,才会使Q1.1输出后Q0.0输出,见下图:

网友又问:同样的命题:启动时Q0.0~Q1.1间隔可调的时间,保持输出。即Q0.0——Q0.0,Q0.1……Q0.0~Q1.1再有脉冲也就保持;停止时,按相反顺序,相同的间隔时间停止,即Q1.1——Q1.0……Q0.1——Q0.0,要求用循环程序指令编写,请大侠编一个程序,谢谢!

回复:根据你的要求,我用定时器构成的2秒振荡器编程(经上机运行),供你参考:

 

 

这个程序稍加改动,也可实现你原来要求:(都经上机运行):

 

 



楼主最近还看过



sbd23033384

  • 精华:0帖
  • 求助:4帖
  • 帖子:11帖 | 22回
  • 年度积分:0
  • 历史总积分:99
  • 注册:2008年11月26日
发表于:2012-03-14 20:09:43
1楼

好复杂,学习。这个要专业的才可以看懂的吧。

山上雪云间月

  • 精华:0帖
  • 求助:5帖
  • 帖子:14帖 | 244回
  • 年度积分:0
  • 历史总积分:1435
  • 注册:2009年8月09日
发表于:2012-03-15 11:29:45
2楼

同意1楼的看法,我也觉得太难了,自己只能看懂那个点动和自锁的,后面2个看不懂。。。。。。。

 

伤心了。。。。。。。。。。。。。。。。

 

。。。要多学点了,不会的太多了。。。。。。。。。。。

wyb2866255---王者之师

  • 精华:73帖
  • 求助:0帖
  • 帖子:218帖 | 2872回
  • 年度积分:0
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-03-15 19:24:35
3楼

      对1楼与2楼的回复:看到你们的回帖,知道你们是初学者,看不懂没关系,只要能提出问题,想学就行,我不知你们就那点看不懂,现将第二个程序的有关部分原理讲一讲,供你们参考,如还有什么不明白的请提出,我会给与解答的。

    二、求助帖:用S7200224CPU,用本体上的10个输出点作一定时间的循环输出,Q0.0-Q0.1-Q0.2-Q0.3-Q0.4-Q0.5-Q0.6-Q0.7-Q1.0-Q1.1-Q0.0……,要求用移位指令。

     1、 原求助者要求每2秒循环移动一次,从Q0.0开始,即启动后Q0.0=1,隔2秒,Q0.0=0,而Q0.1=1,再隔2秒,Q0.1=0,而Q0.2=1......,即循环输出时,Q0.0~Q1.1 共10位输出点,只有一位输出=1,其它皆为输出=0,而且输出=1的点由 Q0.0开始每2秒移动到下一位。这里第一个要解决的是如何获得2秒为周期的脉冲,产生2秒脉冲的方法很多,如可用时间中断,中断间隔时间可设定为1秒,中断服务程序写为:MB4加1(即:LD SM0.0  INC MB4),这样MB4的最低位M4.0将输出正负脉宽都=1秒的方波脉冲,其周期=2秒,这样用M4.0的前沿(或后沿)进行移位控制就可实现每2秒进行一次移位的控制作用。本文的第二例的第一个程序用的是SM0.1 时钟脉冲,这是S7-200本身具有的周期=1秒的时钟脉冲,用它的前沿进行对MB10加1计数(见网络3:LD     SM0.5   EU    INCB   MB10),使其M10.0输出正负脉宽都=1的2秒脉冲,这与用时间中断的MB4加1的作用是一样的。本文的第二例的第二个程序的2秒脉冲使用二个定时器构成的振荡器实现的:T101与T102二个定时器延时时间都设为1秒,有它们构成的振荡器输出的脉冲也是正负脉宽都=1秒,其周期=2秒,用他的前沿做移位控制的。  待续,如有不清楚的地方可提出来。

martten

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2012年3月15日
发表于:2012-03-15 19:54:53
4楼
复杂了,我不明白这个时间脉冲可不可以理解成就是外部信号,

彭建飞

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 166回
  • 年度积分:0
  • 历史总积分:890
  • 注册:2008年6月14日
发表于:2012-03-15 20:06:52
5楼
S7-200编写的二个小程序及解析之二

wyb2866255---王者之师

  • 精华:73帖
  • 求助:0帖
  • 帖子:218帖 | 2872回
  • 年度积分:0
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-03-15 22:05:23
6楼

回4楼:用外部的2秒周期脉冲输入给PLC的输入点(如I1.0)也行,这样编程就可省掉编写2秒脉冲的程序,直接用I1.0的前沿(或后沿)做移位控制。

    下面接着3楼说:

     2、必须用2秒脉冲的前沿或后沿进行移位控制,只有用沿传递,才可确保每次移位只移移位。如不用沿传递移位,则移位的位数无法控制,如:M10.0的前沿使MW2循环左移一位,只有在M10.0=1的前沿恶这一个扫描周期,使MW2循环左移一位,在M10.0=1的其它各个扫描周期,都不再进行移位动作,如果不用沿传递控制,而用M10.0=1进行移位,由于在M10.0=1时间内,将出现几十个甚至上百个扫描周期,每一个扫描周期都要移位一次,故不能控制移位指令只移位一次的控制要求。

    3、为什么启动时将MW2置数为16#100:MW2包括2个字节,即高字节MB2,低字节MB3,置数16#100,MW2的数值为:0000_0001__0000_0000,实际上是使MB2=1,即M2.0=1,由网络6知:MW2传送给QW0,即:按下启动按钮(I0.0=1),使Q0.0 立刻输出为1.

   4、为什么MW2=4时,将16#100 传送给MW2:MW2=4,即:0000_0000__0000_0100,即M3.2=1也就是Q1.2=1,即从Q0.0开始连续左移11位,此时将16#100 传送给MW2,使MW2=16#100,也就是使Q0.0=1。从而实现当Q1.1=1后,延时2秒,循环左移使Q0.0=1的作用。

      第二例第一个程序的讲解就将这些,有什么问题可以提出。

martten

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2012年3月15日
发表于:2012-03-17 00:20:03
7楼
是不是外部输入通断都会产生上升沿和下降沿,这个有规定吗?

wyb2866255---王者之师

  • 精华:73帖
  • 求助:0帖
  • 帖子:218帖 | 2872回
  • 年度积分:0
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-03-17 12:33:57
8楼
回7楼:是的,外部输入通断都会产生上升沿和下降沿:按下开关输入电压由0V立即上跳24V,这一瞬间即为接通信号的前沿,当抬起开关时,输入电压立即由24V下跳为0,这一瞬间即为接通信号的后沿。

flylovemore--王者之师

  • 精华:0帖
  • 求助:4帖
  • 帖子:13帖 | 342回
  • 年度积分:2
  • 历史总积分:1047
  • 注册:2011年2月23日
发表于:2012-03-21 19:27:01
9楼

终于看明白了左移循环点亮的程序了

 


热门招聘
相关主题

官方公众号

智造工程师