LANGUAGE
日本語 English

関数名

RobSetManipServoPower2

定 義

short RobSetManipServoPower2 ( short idx, long status );

戻り値

正常終了では0が返却されます。異常終了では0以外が返却されます。

引 数

idx:ロボットを指定するインデックス。
status:状態を指定します。次の値が有効です。
0…サーボOFF
1…サーボON

概 要

指定ロボットの全軸のサーボON、またはサーボOFFを即時に行います。

詳 細

RobSetManipServoPower関数を使用してサーボONを指定した場合には、確実にサーボONが行われるように、内部的に1秒の遅延が入っています。そのため例えば8個のロボットのサーボを順次ONするためには合計8秒の時間が必要です。
本関数はその遅延を行わない関数です。複数のロボットをほぼ同時にサーボONしたい場合に使用します。上記8個のロボットの例では、本関数を使用することにより8個のロボットをほぼ同時にサーボONすることができます。本関数にてサーボONしたあとは、RobGetManipServoPowerStatus 関数などで確実にサーボONとなっていることを確認してください。

備考

前処理の候補

後処理の候補

他処理の候補

対応HW

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

使用例


void main() {
	short rc;
	・・・・
	RobResetError(1);
	RobResetError(2);
	RobResetError(3);
	RobResetError(4);
	// Robot1~4をほぼ同時にサーボONします
	RobSetManipServoPower2(1, 1);
	RobSetManipServoPower2(2, 1);
	RobSetManipServoPower2(3, 1);
	RobSetManipServoPower2(4, 1);
	Printf0("\n");
	while(1) {
		//全ロボットのサーボ状態を確認する
		rc = RobGetManipServoPowerStatus(1);
		rc = rc & RobGetManipServoPowerStatus(2);
		rc = rc & RobGetManipServoPowerStatus(3);
		rc = rc & RobGetManipServoPowerStatus(4);
		if(rc == 1) {
			break;
		}
		Sleep(100);
	}
	・・・・
}