浪子海風(fēng)
浪子海風(fēng)
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 382 個
工控威望: 467 點
下載積分: 1334 分
在線時間: 129(小時)
注冊時間: 2020-04-28
最后登錄: 2024-11-14
查看浪子海風(fēng)的 主題 / 回貼
樓主  發(fā)表于: 2022-08-05 15:38
看到手冊沒有支持實現(xiàn)兩軸聯(lián)動,一般要實現(xiàn)聯(lián)動要怎么弄?

我是這么想的,目前未上機證實:
概據(jù):S=VT     距離=速度*時間     聯(lián)動就是在不同的速度來實現(xiàn)在相同時間內(nèi)到達不同的距離/
設(shè):X軸    S1距離=100       求:V1速度=?              S1=V1*T1    
     Y軸    S2距離=50              V2速度=10            S2=V2*T2
即:(S1/S2)*V2=V1  
      100/50*10=20


M1--------------------davi  K100   K20   K150   Y0  Y2
                          I ---davi  K50     K10   K150    Y1 Y3
sm1000-----------------------------------------inc   D0
sm1020--------I
D0=K2-------------------------------------------rst m1


相互討論,相互學(xué)習(xí).
各位大師指點一下.
優(yōu)傷的菊花
蘇州工人
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 249 個
工控威望: 2172 點
下載積分: 12274 分
在線時間: 199(小時)
注冊時間: 2021-07-23
最后登錄: 2024-11-14
查看蘇州工人的 主題 / 回貼
1樓  發(fā)表于: 2022-08-12 12:04
引用
引用樓主浪子海風(fēng)于2022-08-05 15:38發(fā)表的 信捷XD5,如何實現(xiàn)兩軸聯(lián)動? :
看到手冊沒有支持實現(xiàn)兩軸聯(lián)動,一般要實現(xiàn)聯(lián)動要怎么弄?

我是這么想的,目前未上機證實:
概據(jù):S=VT     距離=速度*時間     聯(lián)動就是在不同的速度來實現(xiàn)在相同時間內(nèi)到達不同的距離/
設(shè):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當(dāng)前位置
    y = DW[490];   //D490 Y當(dāng)前位置
    mx = DW[220];   //D220 X目標位置
    my = DW[222];   //D222 Y目標位置
    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軸目標位置
    DW[202] = my;   //D202 Y軸目標位置
    DW[210] = sx;   //D210 X軸速度
    DW[212] = sy;   //D212 Y軸速度


設(shè)定了最小速度為5,速度為0時有問題