• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
arrow0725
级别: 探索解密
精华主题: 0
发帖数量: 29 个
工控威望: 146 点
下载积分: 831 分
在线时间: 19(小时)
注册时间: 2012-04-26
最后登录: 2013-07-10
查看arrow0725的 主题 / 回贴
楼主  发表于: 2012-05-17 14:30



步进梯形图是从上到下执行的吧?
为什么如上图所示,Y001的LED灯都没有亮过呢?
我对X003做了2次计数的时候,Y002是亮的
我对X003做一次计数的时候,Y001按道理是不是也应该亮?
虽然后面紧接着我做了清零的动作。

外行,请教,这是啥原理?
[ 此帖被arrow0725在2012-05-22 14:50重新编辑 ]
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5212 个
工控威望: 7436 点
下载积分: 158993 分
在线时间: 3172(小时)
注册时间: 2007-11-21
最后登录: 2024-12-22
查看sjm213的 主题 / 回贴
1楼  发表于: 2012-05-17 15:13
不要让X1动作
arrow0725
级别: 探索解密
精华主题: 0
发帖数量: 29 个
工控威望: 146 点
下载积分: 831 分
在线时间: 19(小时)
注册时间: 2012-04-26
最后登录: 2013-07-10
查看arrow0725的 主题 / 回贴
2楼  发表于: 2012-05-17 15:25
X1不动?那就是后面对C0不清零了?
可是我这程序总要有个清零过程啊,如果不清零,那Y001是会亮
问题在于,我这程序不是先亮Y001,然后再清零吗?
为什么没有按顺序执行呢?

我试了一下,如果清零的动作延迟5秒,Y001就会亮。
这要是到了实际应用中,比如转动电机后清零复位,如果按我贴图所写,电机没动过。我要延迟个100秒再清零,电机是会转动的,但是这样一来,我又不知道该设置延迟的时间具体是几秒。总不能随便设置一个时间吧?
zsh340
zsh340
级别: 论坛先锋
精华主题: 0
发帖数量: 992 个
工控威望: 1148 点
下载积分: 18350 分
在线时间: 273(小时)
注册时间: 2009-05-29
最后登录: 2024-12-22
查看zsh340的 主题 / 回贴
3楼  发表于: 2012-05-17 16:15
因为X1--ON时,C1被清零了。所以C1就没有输出,导致Y1没有ON.因为C1是复位优先型计数器。除非你延时一下后再复位C1时,Y1才会ON。
分析一下你说得程序顺序执行的问题。
1:当X1---ON时,M408也是ON状态。
2:M408---ON时,那么Y0----ON状态
3:当M408--ON时,计数器C1已经复位了。
4:所以LD C1---OFF,导致Y1也是0FF状态。
相互交流。。。。相互学习。。。。使技术更上一层楼。。。。
zsh340
zsh340
级别: 论坛先锋
精华主题: 0
发帖数量: 992 个
工控威望: 1148 点
下载积分: 18350 分
在线时间: 273(小时)
注册时间: 2009-05-29
最后登录: 2024-12-22
查看zsh340的 主题 / 回贴
4楼  发表于: 2012-05-17 16:20
引用
引用第3楼zsh340于2012-05-17 16:15发表的  :
因为X1--ON时,C1被清零了。所以C1就没有输出,导致Y1没有ON.因为C1是复位优先型计数器。除非你延时一下后再复位C1时,Y1才会ON。
分析一下你说得程序顺序执行的问题。
1:当X1---ON时,M408也是ON状态。
2:M408---ON时,那么Y0----ON状态
3:当M408--ON时,计数器C1已经复位了。
.......

你可以把X1与X3之间互锁。
还有就是当X3导通时,在LD M408这里加一条ANI X3.这样当X3导通时,C1就不会复位了。
如果X3比X1先前导通,那么Y1也会亮一下。这时Y1亮的时间与X1导通有关了。
相互交流。。。。相互学习。。。。使技术更上一层楼。。。。
arrow0725
级别: 探索解密
精华主题: 0
发帖数量: 29 个
工控威望: 146 点
下载积分: 831 分
在线时间: 19(小时)
注册时间: 2012-04-26
最后登录: 2013-07-10
查看arrow0725的 主题 / 回贴
5楼  发表于: 2012-05-17 17:02
感谢楼上的,意思就是C1这种计数器都是优先复位进行的?



我这个图,Y011和M401都不得电,但是D128的值却是8,说明MOV K8 D128这句是执行了的,但是M401和Y011为啥不是ON的状态啊?
arrow0725
级别: 探索解密
精华主题: 0
发帖数量: 29 个
工控威望: 146 点
下载积分: 831 分
在线时间: 19(小时)
注册时间: 2012-04-26
最后登录: 2013-07-10
查看arrow0725的 主题 / 回贴
6楼  发表于: 2012-05-18 08:38
各位大侠,请帮解释一下5楼的问题啊
困扰我好久了,一直搞不明白啊
为啥 D128有了8的值,而M401却是永远不是ON的状态呢?
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5212 个
工控威望: 7436 点
下载积分: 158993 分
在线时间: 3172(小时)
注册时间: 2007-11-21
最后登录: 2024-12-22
查看sjm213的 主题 / 回贴
7楼  发表于: 2012-05-18 09:29
实际上,第一个程序的Y1,和第二个程序的M401,都已经经历了ON的过程,也就是说这段程序确确实实被执行过。
只不过你的程序条件使得这段程序在下一个扫描周期就被复位掉,各输出点也就便会了OFF的状态。
也就是说他们都ON了一个扫描周期。一般扫描周期也就几ms到十几ms,这么短的时间肉眼是看不到它的状态变化(off--on--off的变化)的。编程软件自身也是没有反应过来,这个状态已经成OFF了,所以感觉上这些触点没有ON过。
arrow0725
级别: 探索解密
精华主题: 0
发帖数量: 29 个
工控威望: 146 点
下载积分: 831 分
在线时间: 19(小时)
注册时间: 2012-04-26
最后登录: 2013-07-10
查看arrow0725的 主题 / 回贴
8楼  发表于: 2012-05-18 09:53
斑竹啊,第2个图示中,我有什么办法让其Y011和M401都持续ON呢
这里M401我用了保持用的继电器,目的就是让其状态一直保持着,除非我手动改变它状态
zsh340
zsh340
级别: 论坛先锋
精华主题: 0
发帖数量: 992 个
工控威望: 1148 点
下载积分: 18350 分
在线时间: 273(小时)
注册时间: 2009-05-29
最后登录: 2024-12-22
查看zsh340的 主题 / 回贴
9楼  发表于: 2012-05-18 14:41
引用
引用第5楼arrow0725于2012-05-17 17:02发表的  :
感谢楼上的,意思就是C1这种计数器都是优先复位进行的?

[attachment=84296]
我这个图,Y011和M401都不得电,但是D128的值却是8,说明MOV K8 D128这句是执行了的,但是M401和Y011为啥不是ON的状态啊?



如果在这段程序中 K8被传给给了D218。你可以这样试试。就是把OUT Y11.OUT M401改成SET Y11    SET M401.这时就应该有输出了。
只所以OUT Y11没有输出,其实YY1已经导通了一个扫描周期,但时间很短看不到而也。
相互交流。。。。相互学习。。。。使技术更上一层楼。。。。
zsh340
zsh340
级别: 论坛先锋
精华主题: 0
发帖数量: 992 个
工控威望: 1148 点
下载积分: 18350 分
在线时间: 273(小时)
注册时间: 2009-05-29
最后登录: 2024-12-22
查看zsh340的 主题 / 回贴
10楼  发表于: 2012-05-18 14:45
引用
引用第8楼arrow0725于2012-05-18 09:53发表的  :
斑竹啊,第2个图示中,我有什么办法让其Y011和M401都持续ON呢
这里M401我用了保持用的继电器,目的就是让其状态一直保持着,除非我手动改变它状态




把OUT Y11改成SET Y11
把OUT M401改成SET M401
再增加一个手动复位;
如LD X4    RST Y11    RST M401
相互交流。。。。相互学习。。。。使技术更上一层楼。。。。
wisedream
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看wisedream的 主题 / 回贴
11楼  发表于: 2012-05-18 17:00
将复位C1那段程序放上面。就可以了
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go