引用
引用楼主浪子海风于2022-08-05 15:38发表的 信捷XD5,如何实现两轴联动? :
看到手册没有支持实现两轴联动,一般要实现联动要怎么弄?
我是这么想的,目前未上机证实:
概据:S=VT 距离=速度*时间 联动就是在不同的速度来实现在相同时间内到达不同的距离/
设:X轴 S1距离=100 求:V1速度=? S1=V1*T1
.......
对轨迹要求不高,只是需要两轴同时到达的,可以写个C语言模块换算下轴速度就可以
有做个差不多的,效果还可以
float x, y, l, lx, ly, ll, ss, sx, sy, mx, my;
x = DW[390]; //D390 X当前位置
y = DW[490]; //D490 Y当前位置
mx = DW[220]; //D220 X目标位置
my = DW[222]; //D222 Y目标位置
ss = DW[230]; //D230 设定速度
if ( x >= mx )
{
lx = x - mx;
}
else
{
lx = mx - x;
}
if ( y >= my )
{
ly = y - my;
}
else
{
ly = my - y;
}
if ( lx >= ly )
{
sx = ss;
sy = ss / lx * ly;
}
else
{
sy = ss;
sx = ss / ly * lx;
}
if ( lx == ly | lx == 0 | ly == 0 )
{
sx = ss;
sy = ss;
}
if(sx<5)
{
sx = 5;
}
if(sy<5)
{
sy = 5;
}
DW[200] = mx; //D200 X轴目标位置
DW[202] = my; //D202 Y轴目标位置
DW[210] = sx; //D210 X轴速度
DW[212] = sy; //D212 Y轴速度
设定了最小速度为5,速度为0时有问题