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

連続動作

動作概要

停止要求があるまでモーターを動作させます。

動作例

定速起動

動作開始は一定速起動を指定します。
YduPmcsStartMotion関数のstartModeにPMC_CONSTを設定)
動作停止は即停止を指定します。
YduPmcsStopMotion関数のstopModeにPMC_IMMEDIATE_STOPを設定)

定速起動

加減速起動

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

加減速起動

備考

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

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

設定例

設定項目 X0軸 Y0軸
加減速モード 直線加減速 S字加減速
起動時速度[PPS] 200 100
移動速度[PPS] 2000 3000
加減速時間[msec] 300 1000
移動方向 +方向 -方向

プログラム例(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 + PMC_AXIS_Y0;
    motion[0].wAccMode = PMC_ACC_NORMAL;
    motion[0].dwLowSpeed = 200;
    motion[0].dwSpeed = 2000;
    motion[0].wAccTime = 300;
    motion[0].lStep = PMC_DIR_CW;
    motion[1].wAccMode = PMC_ACC_SIN;
    motion[1].dwLowSpeed = 100;
    motion[1].dwSpeed = 3000;
    motion[1].wAccTime = 1000;
    motion[1].lStep = PMC_DIR_CCW;
    result = YduPmcsSetMotion(0, axis, PMC_JOG, motion);
    if(result != YDU_RESULT_SUCCESS){
        YduClose(0);
        return -1;
    }

    result = YduPmcsStartMotion(0, axis, PMC_ACC, PMC_JOG);
    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;
}