您现在所在的是:

PLC论坛

回帖:7个,阅读:1538 [上一页] [1] [下一页]
2919
miss_cloudy
文章数:260
年度积分:50
历史总积分:2919
注册时间:2004/12/6
发站内信
发表于:2018/5/27 23:23:51
#0楼
想请问一下,为什么我用定时器的"IEC_Timer_0_DB".Q时,下面的计数器不可以计数。而使用M2.0时却可以计数。
PLC执行顺序不是从上到下,从左到右么?按理这两者的执行方式应该相同才对阿?
2919
miss_cloudy
文章数:260
年度积分:50
历史总积分:2919
注册时间:2004/12/6
发站内信
发表于:2018/5/27 23:24:35
#1楼
忘了图,如上图所示
2919
miss_cloudy
文章数:260
年度积分:50
历史总积分:2919
注册时间:2004/12/6
发站内信
发表于:2018/5/27 23:28:28
#2楼
回复 #1楼 miss_cloudy
                       
附件 1.jpg

附件 2.jpg
如上图
10558
osp321
文章数:4823
年度积分:50
历史总积分:10558
注册时间:2007/6/5
发站内信
寻找英威腾(三)
发表于:2018/5/28 8:20:26
#3楼
这两个不一样啊 ,上面是定时器时间到了,TON-Q动作,前面就断开了啊。下面是定时器时间到了,TON-Q动作,M2.0接通前面断开。
1906
xiatianyun
文章数:278
年度积分:56
历史总积分:1906
注册时间:2002/6/5
发站内信
发表于:2018/5/28 13:15:57
#4楼
好费劲才看明白是两张图,并且才看明白两张图的组合情况。
不能计数的原因是因为执行到计时器段时计时时间到,TON.q动作了,也就是TON的In端断开了,该逻辑使Tag5还是0,Tag5得不到动作。
而把TON.q换成Tag5就不一样了,Ton动作时计时器In端还是为1,这样Tag5为1使计数器记数,下一周期才使TON复位,才使Tag5为0.
2919
miss_cloudy
文章数:260
年度积分:50
历史总积分:2919
注册时间:2004/12/6
发站内信
发表于:2018/5/28 17:20:01
#5楼
回复 #4楼 xiatianyun
附件 333.jpg

感谢你的指导,没想到这样放图不好看。

我主要是不明白这个PLC的执行时序,如图所示,这程序M2.0也是一直都不会置位的。但我想当
TON计时到3秒后应该执行SET M2.0,下一个周期才断开"IEC_Timer_0_DB".Q才对,不是说PLC
的执行顺序是从左到右从上到下吗?
10558
osp321
文章数:4823
年度积分:50
历史总积分:10558
注册时间:2007/6/5
发站内信
寻找英威腾(三)
发表于:2018/5/28 21:33:34
#6楼
以下是引用miss_cloudy2018/5/28 17:20:01的发言:
附件 333.jpg

感谢你的指导,没想到这样放图不好看。

我主要是不明白这个PLC的执行时序,如图所示,这程序M2.0也是一直都不会置位的。但我想当
TON计时到3秒后应该执行SET M2.0,下一个周期才断开"IEC_Timer_0_DB".Q才对,不是说PLC
的执行顺序是从左到右从上到下吗?

程序是扫描完 才输出的,你用T.Q来断开前面,扫描程序的结果,M2.0就是0;
你用M2.0来断开,这周期扫描的结果M2.0就是1啊。
1906
xiatianyun
文章数:278
年度积分:56
历史总积分:1906
注册时间:2002/6/5
发站内信
发表于:2018/6/2 15:45:15
#7楼
回复 #5楼 miss_cloudy
其实T是内部定时器,T.q是这个定时器的输出,而直接使用T.q时只和T是否定时到有关而和执不执行T无关。
可以这样理解,假设程序执行到这个使用了T的程序段前面的逻辑段时定时就到了,那么接着执行使用了T的逻辑段时T.q就是1了,这样T逻辑段在T.q取反时就是0.(M2.0为0)
当然,S7-200中有Timer刷新是否同步于使用T逻辑段的描述,1200和200类似,可以看看手册:不同的T使用不同的刷新方式,有些像我上面说的,有些需要执行到T的逻辑段才刷新(这个和我们普通认识一致)。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003