ID : 5529
ForceValue
機能
力制御の各種データを取得します。
このコマンドはVer.1.6.*から有効です。
構文
ForceValue (データ番号[, モード])
指定項目
- データ番号
- 力制御の要求データの番号を設定します。(下表参照)
整数型データで指定します。
データ番号4~9は力センサ有コンプライアンス制御のときにのみ有効です。 - モード
- 整数型データで指定します。"0"を指定するとデータを取得します。"-1"を指定するとデータを取得し、さらに値のリセットを行います。省略可能です。省略した場合は"0"を指定したことになります。
データ番号 | 内容 |
---|---|
0 | 力制御座標系でのセンサ値[N,Nm]を取得します。 |
1 | センサ出力値[pulse/N,pulse/Nm]を取得します。 |
2 | 力制御座標系での力とモーメントのプラスピーク[N,Nm]を取得します。 |
3 | 力制御座標系での力とモーメントのマイナスピーク[N,Nm]を取得します。 |
4 | 力制御開始時からの力制御座標系での手先位置の変位量(指令値)[mm,deg]を取得します。 |
5 | 力制御開始時からの力制御座標系での手先位置の変位量のプラスピーク(指令値)[mm,deg]を取得します。 |
6 | 力制御開始時からの力制御座標系での手先位置の変位量のマイナスピーク(指令値)[mm,deg]を取得します。 |
7 | 力制御開始時からの力制御座標系での手先位置の変位量(現在値)[mm,deg]を取得します。 |
8 | 力制御開始時からの力制御座標系での手先位置の変位量のプラスピーク(現在値)[mm,deg]を取得します。 |
9 | 力制御開始時からの力制御座標系での手先位置の変位量のマイナスピーク(現在値)[mm,deg]を取得します。 |
10 | 力制御開始時からの力制御座標系での指令値と力制御指令値の偏差[mm,deg]を取得します。 |
11 | 力制御開始時からの力制御座標系での指令値と力制御指令値の偏差のプラスピーク[mm,deg]を取得します。 |
12 | 力制御開始時からの力制御座標系での指令値と力制御指令値の偏差マイナスピーク[mm,deg]を取得します。 |
13 | センサ値の力とモーメント[N,Nm]を取得します。(Ver.1.7.*以降) |
14 | センサ値の力とモーメントのプラスピーク[N,Nm]を取得します。(Ver.1.7.*以降) |
15 | センサ値の力とモーメントのマイナスピーク[N,Nm]を取得します。(Ver.1.7.*以降) |
戻り値
- データ番号に対応した値をバリアント(Variant)型の1次配列で返します。各要素はポジション型データです。
解説
力制御の各種データを取得します。
力制御機能については、機能ガイドの「力制御機能」を参照してください。
注意事項
- 5軸ロボットは使用できません。
- 力制御機能が有効になっていない場合は、センサのデータ(データ番号1、13、14、15)のみ取得可能です。それ以外のデータ番号を指定すると、エラー0x81201553「力制御データ取得できません」が発生します。
- ForceCtrlコマンドによる力制御有効設定時には、ForceValueコマンドで取得可能なデータを0に初期化しているため、ForceCtrlコマンド実行直後にForceValueコマンドを実行すると、初期化した値が入る場合があります。
用例
Sub Main
Dim vVal As Variant
Do
vVal = ForceValue( 0 ) 'センサ値[N,Nm]
PrintDbg "X = ", vVal( 0 )
PrintDbg "Y = ", vVal( 1 )
PrintDbg "Z = ", vVal( 2 )
PrintDbg "RX = ", vVal( 3 )
PrintDbg "RY = ", vVal( 4 )
PrintDbg "RZ = ", vVal( 5 )
Delay 1
Loop
End Sub
ID : 5529