位置決め動作(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;
}