速度收藏//Pulsedo没你想象中那么简单
在ABB工业机器人RAPID编程语言中PulseDo指令的作用是在数字输出信号上产生脉冲,对于这一点大家通常都不会有什么疑问。但究竟是真的没有疑问,还是没有意识到疑问的存在呢?编者想请各位读者尝试回答以下几个问题:
1.执行一次PulseDo指令仅能产生单个脉冲,还是可以产生多个脉冲?
答案:执行一次PulseDo指令只能产生1个脉冲
2.执行PulseDo指令所产生的脉冲默认脉冲宽度是多少,如何修改脉冲宽度?
答案:默认脉冲宽度是0.2S,可以通过使用Pulsedo指令的可选变量\PLength,来设定Pulsedo指令所输出脉冲的宽度。例如指令语句Pulsedo \PLength:=0.5 , DO1; 输出的脉冲宽度为0.5S。
3.输出信号DO1当前值为0,此时执行指令语句:PulseDo \PLength:=2 , DO1; ,请问DO1信号的值会发生怎样的变化?
答案:DO1信号会产生一个正向脉冲,信号值的变化如下时序图所示:
4.输出信号DO1当前值为1,此时执行指令语句:Pulsedo \PLength:=2 , DO1; ,请问DO1信号的值会发生怎样的变化?
答案:DO1信号会产生一个负向脉冲,信号值的变化如下时序图所示:
5.如果期望只输出正向脉冲,而不输出负向脉冲,Pulsedo指令该怎么用?
答案:期望PulseDo指令只输出正向脉冲,可以使用Pulsedo指令的可选变量\High,例如指令语句:Pulsedo \High , DO1; 只能输出正向脉冲。
6.如果PULSEDO指令之后是一条运动指令语句,那这一条运动指令语句是会被立即执行,还是在脉冲输出完毕之后再执行?
答案:PulseDo指令之后的指令语句会被立即执行,不会等待脉冲输出完毕再执行。也就是说PulseDo指令并不会阻止RAPID语言的预读机制,因此PulseDo指令之后的指令不会等脉冲输出完毕再开始执行,而是在控制器执行PulseDo之后被立即执行,而PulseDo指令的执行时间仅需数微秒。
7.执行以下指令语句,DO1信号的值会发生怎样的变化:
Reset DO1;
WaitTime 2;
Pulsedo \PLength:=5,DO1;
Pulsedo \PLength:=2,DO1;
看完以上7个问题,是不是忽然觉得Pulsedo指令还真没想象中的那么简单呢?如果以上7个问题你都能够不加思索的给出正确答案,那么恭喜你,你已经打下了扎实的RAPID编程语言基础,可以去探索更高难度的ABB工业机器人应用技术内容了。欢迎留言哦!