指令AV的 用法 点击:586 | 回复:3



莫小西

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2012年12月07日
发表于:2013-07-15 13:20:30
楼主

刘工好,又来打扰您了。

需要向您请教AV指令的用法。我按照用户手册的解释,在Galil tools中运行指令,是可以达到效果,但是在我的VB程序中运行,却不是我想要的效果。

G1_control.commandValue("LMAB; VS10000; VA100000; VD100000; LI 5000,7000; LE; BGS“) 

G1_control.commandValue("LMAB;  LI 10000,0; LI 0,3000; LE; VS10000;BGS;AV 6000;VS 8000 “) 

理想的效果就是完成第一个LI 5000,7000的指令后,再以10000的速度走完6000时,速度变为8000,然后以8000速度走完剩下的路径。

但我实际运行的结果却是,完成第一个LI 5000,7000的指令后,速度就已经变为8000了,请问刘工是什么原因?

 

 




刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2013-07-15 14:46:43
1楼

在执行了: 

G1_control.commandValue("LMAB; VS10000; VA100000; VD100000; LI 5000,7000; LE; BGS“) 

有没有等到运动结束再执行

G1_control.commandValue("LMAB;  LI 10000,0; LI 0,3000; LE; VS10000;BGS;AV 6000;VS 8000 “) 

莫小西

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2012年12月07日
发表于:2013-07-15 15:18:13
2楼

回复内容:

对: 刘岩利  在执行了: G1_control.commandVal... 内容的回复!


是等到上一个运动结束后再执行下一个语句的

G1_control.commandValue("LMAB; VS10000; VA100000; VD100000; LI 5000,7000;

 LE; BGS“) 

Do Until G1_control.commandValue (MG_BGA") = 0 And G1_control.commandValue("MG_BGB") =0

Application.DoEvents()

Loop

G1_control.commandValue("LMAB; LI 10000,0; LI 0,3000; LE; VS10000;BGS;AV 6000;

VS 8000 “) 

Do Until G1_control.commandValue (MG_BGA") = 0 And G1_control.commandValue("MG_BGB") =0

Application.DoEvents()

Loop

 

 

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2013-07-16 13:35:10
3楼

如果确定是在等待第一段运动结束后再开始第二段,应该是不会有这样的错误的。但是从您的程序中也还没找到明显的错误,只是在MG_BGA前面少了一个引号。

G1_control.command("LMAB;VS10000;VA100000;VD100000;LI5000,7000;LE;BGS“) 

Do Until G1_control.commandValue ("MG_BGS") = 0 

Application.DoEvents()

Loop

G1_control.command("LMAB;LI10000,0;LI0,3000;LE;VS10000;BGS;AV 6000;VS8000“) 

Do Until G1_control.commandValue ("MG_BGS") = 0

Application.DoEvents()

Loop

 


热门招聘
相关主题

官方公众号

智造工程师