動作説明 >

位置決め動作(PTP動作)

動作概要

設定されたパルス数だけパルスを出力し、モーターを動作させます。

動作例

加減速位置決め動作

動作開始は加減速起動を指定します(YduPmcsStartMotion関数のwStartModeにPMC_ACCを設定)。

加減速位置決め動作

備考

加減速起動時(※)は減速停止します。
YduPmcsStartMotion関数のwStartModeにPMC_ACCを設定した場合

加減速起動時(※)に動作方向のSD信号の入力により起動時速度まで減速します(SD信号有効設定時)。
YduPmcsStartMotion関数のwStartModeにPMC_ACCを設定した場合

動作方向のEL信号の入力により即停止します。

設定例

設定項目 X0軸
加減速モード 直線加減速
起動時速度[PPS] 200
移動速度[PPS] 2000
加減速時間[msec] 300
移動パルス数 10000

プログラム例(C言語)

int main()
{
    int     nResult;
    WORD    wAxis;
    MOTIONPMCS  Motion[4];

    nResult = YduOpen(0, "PMC-S4/00/00A-U");
    if(nResult != YDU_RESULT_SUCCESS){
        return -1;
    }

    wAxis = PMC_AXIS_X0;
    Motion[0].wAccMode = PMC_ACC_NORMAL;
    Motion[0].dwLowSpeed = 200;
    Motion[0].dwSpeed = 2000;
    Motion[0].wAccTime = 300;
    Motion[0].lStep = 10000;
    nResult = YduPmcsSetMotion(0, wAxis, PMC_PTP, Motion);
    if(nResult != YDU_RESULT_SUCCESS){
        YduClose(0);
        return -1;
    }

    nResult = YduPmcsStartMotion(0, wAxis, PMC_ACC, PMC_PTP);
    if(nResult != YDU_RESULT_SUCCESS){
        YduClose(0);
        return -1;
    }

    Sleep(10000);

    nResult = YduPmcsStopMotion(0, wAxis, PMC_IMMEDIATE_STOP);
    if(nResult != YDU_RESULT_SUCCESS){
        YduClose(0);
        return -1;
    }

    YduClose(0);

    return 0;
}