動作説明 >

連続動作

動作概要

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

動作例

定速起動

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

定速起動

加減速起動

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

加減速起動

備考

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

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

設定例

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

プログラム例(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 + 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;
    nResult = YduPmcsSetMotion(0, wAxis, PMC_JOG, Motion);
    if(nResult != YDU_RESULT_SUCCESS){
        YduClose(0);
        return -1;
    }

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