登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:输出脉冲与按钮次数之间的问题

点击:1067 回复:3

x001                                                  
-----| |-------------------------------------------------------(m501)
   
   m501
-----| |-------------------------------------------------(t9        k1)
   X001
-----|^|-----------------------------------------[DMOV D224 D1]
    t9
-----| |-------------------------[DPLSR D204 D1 D214 Y001]
              |
              |-----------------[DCMP D1 D8142 M53]
这里的--|^|--我画的意思是代表上升沿脉冲
现在有个问题令我感觉很棘手
这个是我按一下就发送一定的脉冲输出到步进马达
当D1的值很小的时候,比如只有200,那我不管按多少次,当D8142等于200的时候就触发M54
但是有个非常不好弄得问题,当我D1的值很大的时候,比如38400,我按了很多次累计输出,当D8142快要接近38400的时候,我再按居然会超过38400,假如超过13个脉冲
为什么会有这种问题,该怎么解决?
请教,很急~
09-01-07 20:24
附件
如图中所说,在你抬起按钮时,还要发送一定的脉冲的,所以会有过冲的现象
至于为什么当你的D1大时,好像才会出现这种情况,解释如下。因为D1小时,你按下没有抬起按钮,脉冲就发完了,这时正好是你设定的脉冲,不会出问题。
但当D1的值大了时,你按下按钮,抬起后,这时脉冲没有全部发送完,你这条语句就中断了,所以要减速停止,这时就好像有个过冲,与你的运行速度有关。速度越高,这个过冲的脉冲数就会越多。
你可以试一下,把D204中的值改大,你看过冲的脉冲就不是13个,而是更大了,就是这个道理。
09-01-07 21:20

引用 lixiaobai 在 2009-1-7 21:20:34 发言【内容省略】

那请问怎么解决而不影响其他指令和寄存器?
还有“你按下按钮,抬起后,这时脉冲没有全部发送完”你的这句话中的脉冲没有全部发送完中的脉冲是不是D1,而我按一次的脉冲式D8142是吧!
“你这条语句就中断了,所以要减速停止”这句话中的这条语句是哪条语句,是DPLSR语句吗?
这样的话怎么会造成过冲现象?不是太明白
请教
最后修改:2009-1-8 8:11:19
09-01-08 08:00
而且我发现[DCMP D1 D8142 M53]这个指令在D1很大的时候有问题
在有过冲的情况下,也就是D8142大于D1的时候
她又的时候会触发M54,也就是D8142减去D1就是过冲值,触发M54以后会有残余的D8142中存在过冲值
有的时候会触发M55,也就是D8142大于D1的时候,因为过冲值在里面
但是还有种特殊的情况,不管是M53,M54还是M55,她都不触发却用D8142-D1把剩余的过冲值保存了下来
还有假如说这样的图
 
http://album.hi.csdn.net/app_uploads/yunhaiC/20090108/102315418.p.JPG?d=20090108102438559
也就是一个是D1=D8142
下面一个是D1 我很奇怪为什么M63触发的时候会把M53锁住,并没 有哪里有自锁的情况
而且M63的触发条件是D1
最后修改:2009-1-8 10:33:54
09-01-08 10:13

工控新闻

更多新闻资讯