コンテンツにスキップ
動作説明 >

位置決め動作(PTP動作)

動作概要

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

動作例

加減速位置決め動作

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

加減速位置決め動作

備考

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

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

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

設定例

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

プログラム例(C言語)

int main()
{
    int     result;
    WORD    axis;
    MOTIONPMCS  motion[4];

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

    axis = 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;
    result = YduPmcsSetMotion(0, axis, PMC_PTP, motion);
    if(result != YDU_RESULT_SUCCESS){
        YduClose(0);
        return -1;
    }

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

    Sleep(10000);

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

    YduClose(0);

    return 0;
}