連続動作¶
動作概要¶
停止要求があるまでモーターを動作させます。
動作例¶
定速起動¶
動作開始は一定速起動を指定します。
(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;
}