现有一个项目,发现采用Galil运动控制器无法解决,看看高手们如何解决?
4轴联动, 其中XYW三轴组成线性矢量插补运动,规定在S坐标系:CAS; LM XYW;
问题是Z轴的速度是XY两轴的矢量速度的电子齿轮比关系;即SQR(Vz)=SQR(Vx)+SQR(Vy), 注意:Z的速度只与X和Y有关,与W无关。 如何采用Galil指令实现这个功能?
我看Galil只提供了GAZ=S的功能,这样就无法满足项目要求了,因为这样一来,Z的速度就捆绑上W的速度分量了,这是不匀速的!
望Galil高手解答此疑问....
PS:我没用过Galil,支招出点子而已,借和利时MC说个话
如果按照LZ所要求,可以这样:
1. MOVE3D(X,Y,W)
2. 建一个1ms任务
实时将X,Y当前速度值Vpspeed运算后赋给Z.speed
SQR(Vz)=SQR(Vx)+SQR(Vy)
3. Forward(Z)
ST主要程序如下:
Axis10.Speed:=Speed3D;
(*注释:Axis10为3D合轴(虚轴),如实时变更三轴合成速度,修改Axis10.speed即可*)
IF start THEN
Move3DRV := HMC_Move3D (Axis10,Axis0,Axis1,Axis2,DistanceX,DistanceY,DistanceW);
(*注释:Axis0为X,Axis1为Y,Axis2为W*)
ZForwardRV := HMC_Forward (3 );
(*注释:Axis3为Z*)
start:=0;
END_IF
(*注释:1ms任务如下,计算赋值给轴Z给定速度*)
A02 := Axis0.VpSpeed * Axis0.VpSpeed ;
A12 := Axis1.VpSpeed * Axis1.VpSpeed ;
A02addA12 := A02+ A12 ;
Axis3.Speed := SQRT (A02addA12);
问LZ,Vx或Vy如果有一个为负方向,SQR(Vz)=SQR(Vx)+SQR(Vy)模型是否能满足您目前工艺要求。。