Galil做三轴连续轨迹控制LI运动指令 点击:925 | 回复:4



luzongxing

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:205
  • 注册:2016年8月07日
发表于:2016-10-27 14:46:33
楼主

我们项目使用的是Galil MDC-B140-BOX的运动控制卡,要做一个三轴联动的连续轨迹,

查询Galil指令手册,看是使用LI直线插补

LM ABC

LI100,200,300

LI200,300,400,

... ...

LE

BGS

通过查询得知LI数据点数是存在Galil的内部缓存区里面,手册说只能存511个指令,LE结束插补BGS开始运动

那么如果运动轨迹的点数大于511个点呢,该怎么操作




刘岩利

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

“手册说只能存511个指令”

您一定是看错手册了,dmc-b140的缓冲区只能存31条,不是511条

 

“那么如果运动轨迹的点数大于511个点呢,该怎么操作"

可以在缓冲区填满后开始运动,随着运动的进行,缓冲区会再空出来,然后就是随运动随补充数据,流程大致是下面这个样子,

LM ABC

K=0

#LOOP1

LI 100,100,100

K=K+1

JP#LOOP1,K<32

BGS

#LOOP2

JP#LOOP2,_LM>0

LI 100,100,100

K=K+1

JP#LOOP2,K<1000

LE

AMS

EN

luzongxing

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:205
  • 注册:2016年8月07日
发表于:2016-11-03 15:56:32
2楼


回复内容:

对: 刘岩利 “手册说只能存511个指令”您一定是看错手册了,dmc... 内容的回复!


刘工你好,谢谢你的回答,就是在每次给Galil发位置的时候先查询Galil卡的内存信息。

但是我是用C#对运动控制卡发命令的,能否发#LOOP 这种循环信息。

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-11-03 17:51:03
3楼

上面只是一个流程的示例而已。告诉您只要发送LI之前可以先检查_LMS就可以无限制的发下去。而上面的程序,是GALIL控制器内部的程序,其中用到的一些指令,是只能用于控制器内部程序的。比如JP,是不能由PC发送给控制器执行的;比如AM,也是不建议由PC发送给控制器去执行的。

山东大汉在此

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 74回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2016年9月08日
发表于:2016-11-03 17:57:33
4楼

真的非常的棒,加油啊


热门招聘
相关主题

官方公众号

智造工程师