LANGUAGE
日本語 English

関数名

RobWriteDriverParam

定 義

int RobWriteDriverParam ( int idx, int ParamNumber, long Mask[MaxRobAxes], long DriverParam[MaxRobAxes], long ResultCode[MaxRobAxes] );

戻り値

0:正常
1301:ドライバコマンドの実行不可
1302:ドライバコマンドの実行タイムアウト
1303:ResultCode配列に0以外が格納されている

引 数

idx:ロボットを指定するインデックス。
ParamNumber:RTEX機器へ設定するパラメータ番号を指定します。例えば、パラメータ番号Pr.4.031の場合、0x41fと指定します。詳細はご使用のRTEX機器の取扱説明書を参照してください。
Mask:書込み対象軸を軸ごとに指定します。配列に1を設定すると書込みが有効になり、0に設定すると書込みが無効になります。配列要素数はMaxRobAxesにしてください。
DriverParam:ロボットの各軸のパラメータ値を格納するための配列を指定します。配列要素数はMaxRobAxesにしてください。
ResultCode:ロボットの各軸の実行結果を格納するための配列を指定します。配列要素数はMaxRobAxesにしてください。

概 要

指定ロボットのサーボドライバに対して、指定したパラメータを書込みます。

詳 細


対象となるサーボドライバは現状RTEX機器のA6NとA7Nのみです。RTEX機器以外のパルス列機器に割り当てた軸に対して本関数を実行した場合、本関数は無視されて正常終了となります。
書込み対象のパラメータ番号をParamNumberに指定してください。書込み対象のパラメータ値をDriverParamに指定してください。
Maskによって書込み対象軸を指定できます。(パラメータ値を更新したくない軸にはMask配列で0を指定してください。)
ResultCodeには、各軸の結果コードが返却されます。
本関数は、原点復帰動作中、移動中などは実行できません。
本関数では、RTEXサーボドライバ上の揮発領域のパラメータを更新するのみで、不揮発領域(EEPROM)への書込みは行いません。EEPROMへの書き込みはRobWriteDriverParamEEPROM関数で行ってください。

備考

本関数は、RTEX機器をサポートするInterMotionとJOY-RT40PRでのみ実行が可能です。
書込み対象軸を指定する配列、パラメータ値を指定する配列、実行結果を格納する配列は、ロボットを構成する軸数に従って配列要素[0]から順番に使用されます。例えば2軸ロボットであれば、論理1軸目のパラメータ値と実行結果は配列要素[0]に、論理2軸目のパラメータ値と実行結果は配列要素[1]に格納されます。
実行結果は各機器のコマンドエラーコードがそのまま返却されます。詳細は各機器の取扱説明書を参照してください。

前処理の候補

後処理の候補

他処理の候補

対応HW

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

使用例


long DriverParam[MaxRobAxes];
long ResultCode[MaxRobAxes];
void main() {
	int  rc1, i;
	long Mask[MaxRobAxes];
	・・・・
	for(i = 0; i < 8; i = i + 1) {
		Mask[i] = 0;
	}
	Mask[0] = 1;
	DriverParam[0] = 0x77;
	rc1 = RobWriteDriverParam(1, 16, Mask, DriverParam, ResultCode);	// Robot1の1軸目のパラメータ番号16に0x77をライト
	・・・・
}