求助:s7-200PLC循环的问题 点击:1136 | 回复:19



cloudblue

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 47回
  • 年度积分:0
  • 历史总积分:347
  • 注册:2009年5月11日
发表于:2010-12-29 21:08:50
楼主
师傅们好:我有一个问题,怎么通过循环来控制,当i0.0闭合时,q0.5每隔5S闪一下,如次循环800次,我想通过定时器来实现,但是定时器要一直加到定值32767才停止,应该怎么来编写呢,谢谢了



ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2010-12-29 23:50:02
1楼

呵呵,那就需要复位定时器啦,自己再试试吧

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2010-12-30 00:23:13
2楼
用定时器自己关断自己,然后用VB做加法就可以了。

顺风123

  • 精华:1帖
  • 求助:0帖
  • 帖子:7帖 | 51回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2005年9月07日
发表于:2010-12-30 10:46:46
3楼
你是指I0.0闭合后Q0.5按5s闪一次的频率闪800次?闪的占空比多大?说清楚了大家才好编撒。不过这的确是一个小程序,没难度的

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2010-12-30 11:38:32
4楼
定时器 结合 计数器 不是很简单么!

cloudblue

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 47回
  • 年度积分:0
  • 历史总积分:347
  • 注册:2009年5月11日
发表于:2010-12-30 16:11:20
5楼
回复内容:
对:顺风123 关于你是指I0.0闭合后Q0.5按5s闪一次的频率闪800次?闪的占空比多大?说清楚了大家才好编撒。不过这的确是一个小程序,没难度的 内容的回复:


瞬时开通,呵呵

要虚心学习

  • 精华:0帖
  • 求助:2帖
  • 帖子:20帖 | 263回
  • 年度积分:1095
  • 历史总积分:1931
  • 注册:2005年2月14日
发表于:2010-12-30 16:21:28
6楼
引用老菜鸟 的回复内容:用定时器自己关断自己,然后用VB做加法就可以了。



彩云之滇东北

  • 精华:20帖
  • 求助:5帖
  • 帖子:107帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2010-12-30 16:40:08
7楼

还可以使用减计数器,减为零重新赋一下值,使用时间脉冲控制

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2010-12-31 00:06:46
8楼
       我给你用S7-200编写了你要的梯形图,没用定时器,而是用秒脉冲SM0.5的前沿对MB10进行加一计数,每5秒一清零,使输出Q0.5闪亮0.5秒,闪动800次,结束。你看看,有什么不清楚提出来,给你解释。

顺风123

  • 精华:1帖
  • 求助:0帖
  • 帖子:7帖 | 51回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2005年9月07日
发表于:2010-12-31 13:29:17
9楼

网络1
LDN M0.0
MOVW +0, VW10
AENO
MOVW +0, VW20
网络2
LD 开//M0.1
S M0.0, 1
网络3
LD M0.0
AW< VW20, 4000
LPS
A SM0.5
EU
LPS
+I +1, VW10
AENO
AW>= VW10, +5
MOVW +0, VW10
= Q0.5
LPP
+I +1, VW20
LPP
NOT
R M0.0, 1

启动信号:实验时可用M位代替,使用时用不带自锁按钮输入。启动后自动执行800次。下次启动再按一次启动按钮。还可依据实际情况加入急停装置等。

顺风123

  • 精华:1帖
  • 求助:0帖
  • 帖子:7帖 | 51回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2005年9月07日
发表于:2010-12-31 13:57:16
10楼
回复内容:
对:wyb2866255 关于       我给你用S7-200编写了你要的梯形图,没用定时器,而是用秒脉冲SM0.5的前沿对MB10进行加一计数,每5秒一清零,使输出Q0.5闪亮0.5秒,闪动800次,结束。你看看,有什么不清楚提出来,给你解释。
内容的回复:


你这个是6s一次吧?M10.1应该改为M10.0.

一直在纠结

  • 精华:0帖
  • 求助:2帖
  • 帖子:10帖 | 68回
  • 年度积分:0
  • 历史总积分:122
  • 注册:2009年5月16日
发表于:2010-12-31 14:14:55
11楼
引用wyb2866255 的回复内容:       我给你用S7-200编写了你要的梯形图,没用定时器,而是用秒脉冲SM0.5的前沿对MB10进行加一计数,每5秒一清零,使输出Q0.5闪亮0.5秒,闪动800次,结束。你看看,有什么不清楚提出来,给你解释。



頂一個!!!
頂一個!!!
頂一個!!!
頂一個!!!
頂一個!!!
頂一個!!!
頂一個!!!

一直在纠结

  • 精华:0帖
  • 求助:2帖
  • 帖子:10帖 | 68回
  • 年度积分:0
  • 历史总积分:122
  • 注册:2009年5月16日
发表于:2010-12-31 14:29:18
12楼

主程序(OB1):

LD SM0.0
A I0.0
LPS
CALL MAIN:SBR0
ED
MOVW 0, MW2
MOVB 0, VB10
LPP
EU
MOVW 0, MW2
MOVB 0, VB10

調用:初始化操数据(通过改变SMB35 的设定值,即可改变 Q0.5 的闪频 即ON时间)

網絡1:

LD SM0.1
MOVB 0, VB10
MOVB 250, SMB34
MOVB 100, SMB35
ATCH INT_0:INT0, 10
ENI

網絡2:

LD SM0.0
AB= VB10, 20
LPS
AW< MW2, 800
S Q0.5, 1
ATCH INT_1:INT1, 11
LPP
MOVB 0, VB10

子程序INT_0:

LD SM0.0
INCB VB10

子程序INT_1:

LD SM0.0
R Q0.5, 1
DTCH 11
MOVB 0, VB10
INCW MW2

 

我的這個程序搞的很麻煩,初學者 不太懂的地方請各位高人多多指點指點 謝謝!!!

一直在纠结

  • 精华:0帖
  • 求助:2帖
  • 帖子:10帖 | 68回
  • 年度积分:0
  • 历史总积分:122
  • 注册:2009年5月16日
发表于:2010-12-31 14:47:03
13楼

主程序(OB1):I0.1為記憶模式選擇,ON時有斷電記憶,OFF時無斷電記憶

LD SM0.0
A I0.0
CALL MAIN:SBR0
AN I0.1
LPS
ED
MOVW 0, VW2
MOVB 0, VB10
LPP
EU
MOVW 0, VW2
MOVB 0, VB10

調用程序:初始化操数据(通过改变SMB35 的设定值,即可改变 Q0.5 的闪频 即ON时间)

網絡1:

LD SM0.1
MOVB 0, VB10
MOVB 250, SMB34
MOVB 100, SMB35
ATCH INT_0:INT0, 10
ENI

網絡2:

LD SM0.0
AB= VB10, 20
LPS
AW< VW2, 800
S Q0.5, 1
ATCH INT_1:INT1, 11
LPP
MOVB 0, VB10

子程序INT_0:

LD SM0.0
INCB VB10

子程序INT_1:

LD SM0.0
R Q0.5, 1
DTCH 11
MOVB 0, VB10
INCW VW2

 

 

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2010-12-31 23:05:16
14楼
10楼:你说“你这个是6s一次吧?M10.1应该改为M10.0. ”,看来你看懂程序,为什么选用M10.1而不是M10.0,请见下图:

robotH

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 688回
  • 年度积分:0
  • 历史总积分:2433
  • 注册:2004年10月14日
发表于:2011-01-01 20:06:19
15楼
引用wyb2866255 的回复内容:10楼:你说“你这个是6s一次吧?M10.1应该改为M10.0. ”,看来你看懂程序,为什么选用M10.1而不是M10.0,请见下图:



这次是你错了。第一个SM0.5前沿之前已经有一秒了。从第二个周期更能看清楚。

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2011-01-01 20:57:40
16楼

        15楼:你说的很好。我原想法是:输出闪动时间不包括5秒定时时间,取6,是考虑去掉1个周期的闪动时间。如取5,延时间隔为4秒。该程序如以去掉闪动的半个周期计算,实际上:取5,延时定时=4.5秒,取6,延时定时=5.5秒,都不等于5秒,如要严格执行延时5秒,该程序应进行部分改动,要比此程序复杂一点,如你有兴趣可以编一下。

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2011-01-11 00:08:11
17楼

下图为延时5.秒,闪亮0.5秒,连续闪动800次停的梯形图,该程序是经过经上机运行的。

tosunxzm

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 23回
  • 年度积分:0
  • 历史总积分:92
  • 注册:2009年3月11日
发表于:2011-02-18 13:51:42
18楼
这个有点意思, 争论才能进步。

文彬

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 27回
  • 年度积分:0
  • 历史总积分:77
  • 注册:2007年11月04日
发表于:2011-02-19 18:58:33
19楼

没那么麻烦吧,先用定时器,再用计数器不就搞定了吗,计时能计5s,就是脉冲电路。然后用计数器,计数器计800个数没问题的


热门招聘
相关主题

官方公众号

智造工程师