luzongxing
我们项目使用的是Galil MDC-B140-BOX的运动控制卡,要做一个三轴联动的连续轨迹,
查询Galil指令手册,看是使用LI直线插补
LM ABC
LI100,200,300
LI200,300,400,
... ...
LE
BGS
通过查询得知LI数据点数是存在Galil的内部缓存区里面,手册说只能存511个指令,LE结束插补BGS开始运动
那么如果运动轨迹的点数大于511个点呢,该怎么操作
刘岩利
“手册说只能存511个指令”
您一定是看错手册了,dmc-b140的缓冲区只能存31条,不是511条
“那么如果运动轨迹的点数大于511个点呢,该怎么操作"
可以在缓冲区填满后开始运动,随着运动的进行,缓冲区会再空出来,然后就是随运动随补充数据,流程大致是下面这个样子,
K=0
#LOOP1
LI 100,100,100
K=K+1
JP#LOOP1,K<32
#LOOP2
JP#LOOP2,_LM>0
JP#LOOP2,K<1000
AMS
EN
回复内容:
对: 刘岩利 “手册说只能存511个指令”您一定是看错手册了,dmc... 内容的回复!
刘工你好,谢谢你的回答,就是在每次给Galil发位置的时候先查询Galil卡的内存信息。
但是我是用C#对运动控制卡发命令的,能否发#LOOP 这种循环信息。
上面只是一个流程的示例而已。告诉您只要发送LI之前可以先检查_LMS就可以无限制的发下去。而上面的程序,是GALIL控制器内部的程序,其中用到的一些指令,是只能用于控制器内部程序的。比如JP,是不能由PC发送给控制器执行的;比如AM,也是不建议由PC发送给控制器去执行的。
山东大汉在此
真的非常的棒,加油啊