ID : 17612
ForceValue
機能
力制御の各種データを取得します。
構文
ForceValue (データ番号[, モード])
指定項目
- モード
- 整数型データで指定します。"0"を指定するとデータを取得します。"-1"を指定するとデータを取得し、さらに値のリセットを行います。省略可能です。省略した場合は"0"を指定したことになります。
戻り値
データ番号に対応した値をバリアント(Variant)型の1次配列で返します。各要素はポジション型データです。
解説
力制御の各種データを取得します。
各種データの取得には、[力センサ有り コンプライアンス制御機能]のライセンス登録が必要です。ただし、センサのデータ (データ番号13~15) は、[力センサ有り コンプライアンス制御機能]のライセンスが未登録の状態でも、[内蔵力センサ機能(CRC9)]のライセンスが登録されている状態であれば、取得可能です。
各制御で使用できるデータ番号を下記に示します。
| データ番号 | 内容 |
|---|---|
| 0 | 力制御座標系でのセンサ値[N,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]を取得します。 |
| 14 | センサ値の力とモーメントのプラスピーク[N,Nm]を取得します。 |
| 15 | センサ値の力とモーメントのマイナスピーク[N,Nm]を取得します。 |
注意事項
- 力制御機能が無効の場合、0~12のデータ番号を指定すると、エラー[0x81201553 力制御データ取得できません]が発生します。
- 力制御機能が無効の場合でもセンサのデータ (データ番号13~15) は取得可能です。
- 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 : 17612

