賞心悦目
级别: 论坛先锋
精华主题: 0
发帖数量: 350 个
工控威望: 1387 点
下载积分: 1665 分
在线时间: 866(小时)
注册时间: 2008-12-24
最后登录: 2024-11-04
查看賞心悦目的 主题 / 回贴
楼主  发表于: 2017-11-26 08:37
大家有没有发现这个问题,在三菱3UPLC的步进程序中使用DDRVI指令,设定了固定脉冲量,以脉冲发送结束位M8029作为跳转下一步的条件,下次再用这个指令就没有问题,但是如果脉冲还没有全部发送完成,接收到其它信号就跳转下一步,下次再使用这个指令就出错不发脉冲了,大家有没有什么办法解决这个问题呀?
賞心悦目
级别: 论坛先锋
精华主题: 0
发帖数量: 350 个
工控威望: 1387 点
下载积分: 1665 分
在线时间: 866(小时)
注册时间: 2008-12-24
最后登录: 2024-11-04
查看賞心悦目的 主题 / 回贴
1楼  发表于: 2017-11-26 09:38
引用
引用第1楼030403118于2017-11-26 09:31发表的  :
哈哈,写程序的必经之路

敢问如何解决此问题呀!
賞心悦目
级别: 论坛先锋
精华主题: 0
发帖数量: 350 个
工控威望: 1387 点
下载积分: 1665 分
在线时间: 866(小时)
注册时间: 2008-12-24
最后登录: 2024-11-04
查看賞心悦目的 主题 / 回贴
2楼  发表于: 2017-11-26 13:16
引用
引用第4楼wanggang于2017-11-26 11:03发表的  :
看看步跳转的时候,DDRVI的执行条件有没有断开。

确定是断开的,但是因为跳开前脉冲没有发送完成,再次用这个指令,就出错了,脉冲输出端口不亮,驱动的马达也动不了。就是把这段程序放在步进程序前,在步进程序里用数据寄存器赋值,辅助继电器驱动它,只要它脉冲没有发送完就一样出这个问题。但是在步进程序前用这个指令做马达手动正反转就什么问题都没有。唉麻烦
賞心悦目
级别: 论坛先锋
精华主题: 0
发帖数量: 350 个
工控威望: 1387 点
下载积分: 1665 分
在线时间: 866(小时)
注册时间: 2008-12-24
最后登录: 2024-11-04
查看賞心悦目的 主题 / 回贴
3楼  发表于: 2017-11-26 13:18
引用
引用第5楼030403118于2017-11-26 11:42发表的  :
M8029是不能多次用的,用的多问题多,做延时的都是不知道如何解决了的应急办法

我也没有用M8029,三个脉冲输出点共用一个标志位,感觉很不靠谱,都是用那个脉冲输出中那个标志
賞心悦目
级别: 论坛先锋
精华主题: 0
发帖数量: 350 个
工控威望: 1387 点
下载积分: 1665 分
在线时间: 866(小时)
注册时间: 2008-12-24
最后登录: 2024-11-04
查看賞心悦目的 主题 / 回贴
4楼  发表于: 2017-11-27 21:42
引用
引用第10楼ymmfa于2017-11-27 10:13发表的  :
“但是如果脉冲还没有全部发送完成,接收到其它信号就跳转下一步”

既然脉冲没有完成,就不应该让它跳转到下一步啊。

M8029是可以用多次,每条定位指令紧贴着写一个。

在相对位置控制模式里,有些场合是需要根据外部的感应信号来执行下一步操作的,你不知道马达具体走多少脉冲才会碰到感应器信号呢,所以只能给尽量大数值的脉冲数,碰到感应器信号就执行下一步操作