引用
引用樓主浪子海風于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時有問題