引用
引用樓主浪子海風(fēng)于2022-08-05 15:38發(fā)表的 信捷XD5,如何實現(xiàn)兩軸聯(lián)動? :
看到手冊沒有支持實現(xiàn)兩軸聯(lián)動,一般要實現(xiàn)聯(lián)動要怎么弄?
我是這么想的,目前未上機(jī)證實:
概據(jù):S=VT 距離=速度*時間 聯(lián)動就是在不同的速度來實現(xiàn)在相同時間內(nèi)到達(dá)不同的距離/
設(shè):X軸 S1距離=100 求:V1速度=? S1=V1*T1
.......
對軌跡要求不高,只是需要兩軸同時到達(dá)的,可以寫個C語言模塊換算下軸速度就可以
有做個差不多的,效果還可以
float x, y, l, lx, ly, ll, ss, sx, sy, mx, my;
x = DW[390]; //D390 X當(dāng)前位置
y = DW[490]; //D490 Y當(dāng)前位置
mx = DW[220]; //D220 X目標(biāo)位置
my = DW[222]; //D222 Y目標(biāo)位置
ss = DW[230]; //D230 設(shè)定速度
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軸目標(biāo)位置
DW[202] = my; //D202 Y軸目標(biāo)位置
DW[210] = sx; //D210 X軸速度
DW[212] = sy; //D212 Y軸速度
設(shè)定了最小速度為5,速度為0時有問題