LANGUAGE
日本語 English

関数名

RobSetSpeedOverride

定 義

short RobSetSpeedOverride ( short idx, double val );

戻り値

0が返却されます。

引 数

idx:ロボットを指定するインデックス。
val:速度オーバーライド値を指定します。PTP動作、補間動作について有効です。RobSetPtpSpeed関数、RobSetCpSpeed関数にて設定された速度に対する%で指定します。値の有効範囲は0~100です。

概 要

移動動作中の指定のロボットに対して、速度変更を行うための速度オーバーライド値を設定します。

詳 細

速度オーバライド値は、PTP動作に対してはRobSetPtpSpeed関数で、補間動作に対してはRobSetCpSpeed関数で設定された移動速度に対する%で指定します。
移動中でないロボットに対して本関数で速度オーバーライドを指示した場合、その指示はそれ以降の移動(PTP動作、補間動作)より有効になります。
速度変更はロボット内の全軸に対して設定されます。個々の軸に対して別々に設定することはできません。
速度オーバライドは、再度オーバライドを設定しない限りその効力は失われません。電源投入直後のオーバライド値は100.0[%]です。また、原点復帰動作に対しては無効です。
100%以外の指定値で本関数を実行すると、加減速パターンが直線加減速になります。
通常の移動速度の設定はRobSetPtpSpeedを使用してください。

備考

前処理の候補

後処理の候補

他処理の候補

対応HW

〇PCベースコントローラ
〇InterMotion

使用例


void main() {
	double pos[MaxRobAxes], rate[MaxRobAxes];
	short rob, Inp, Inp_old;
	rob = 1;
	Inp = 0;
	・・・・
	//エラーリセット
	MwResetSystemError();
	RobResetError(rob);
	//サーボオンと原点復帰
	RobSetManipServoPower(rob, 1);
	Sleep(500);
	RobReturnHome(rob);
	RobSetPtpSpeed(rob, 35);
	RobSetPtpAccelerations(rob, 0.5, 0.5, 0, 0);
	//連続移動(非同期命令)
	rate[0] = 1.0;
	RobConstVelMove(rob, rate, 3);
	Printf0("\nConstVelMove start!\n");
	//入力ポートの↑エッジと↓エッジを検出してオーバライド実行
	while(1) {
		Inp_old = Inp;
		Inp = ReadPort(2050);
		if(Inp_old == 0 && Inp == 1) {
			RobSetSpeedOverride(rob, 20.5);		//入力ポートの↑エッジ検出したら元の速度の20.5%に速度変更する
			Printf0(" > SpeedOverride 20.5\n");
		}
		if(Inp_old == 1 && Inp == 0) {
			RobSetSpeedOverride(rob, 100.0);	//入力ポートの↓エッジ検出したら元の速度に速度変更する
			Printf0(" > SpeedOverride 100.0\n");
		}
		if(ReadPort(2049) == 1) {
			RobStopMove(rob);
			Printf0("ConstVelMove stop!\n");
			break;
		}
	}	
	RobSetSpeedOverride(rob, 100.0);
	RobSetManipServoPower(rob, 0);
	・・・・
}