GetSrvData
(システム変数)
【Ver.1.5 以降】

ロボット軸のサーボ内部データを取得します。(Ver. 1.5以降対応)

<サーボ内部データ> = GetSrvData(<データ番号>)

<データ番号>で指定したサーボ内部データを取得します。
<サーボ内部データ>は、ジョイント型のデータで、ロボット軸のデータがセットされます。データ番号により以下のデータが取得されます。
<データ番号>
|
<サーボ内部データ>
|
---|---|
1
|
モータ速度現在値 [rpm]
|
2
|
モータ角度偏差 [Pulse]
|
4
|
モータ電流絶対値 [定格比 %]
|
5
|
モータトルク指令値(重力補償分は除く) [定格比 %]
|
8
|
各軸位置、角度指令値 [mm or deg]
|
17
|
ツール端速度(ワーク座標系, 位置3成分のみ)[mm/s]
|
18
|
ツール端偏差(ワーク座標系, 位置3成分のみ)[mm]
|
19
|
ツール端速度(ツール座標系, 位置3成分のみ)[mm/s]
|
20
|
ツール端偏差(ツール座標系, 位置3成分のみ)[mm]
|

-
上記以外のデータ番号は、予約番号です。30まで指定してもエラーになりませんが、指定しないでください。
-
サーボ単軸モニタ実行中にサーボデータを取得すると、取得時間が大幅に伸びる場合があります。サーボ単軸モニタ機能と併用する場合はご注意ください。
-
<データ番号>を変更すると、変更時間がかかる場合があります。<データ番号>の切替えは最小限にしてください。
-
ロボット制御権を取得(TAKEARM)したタスクにて実行ください。ロボット制御権未取得の場合は、エラー「21F7アームセマフォを取得できません」が発生します。

defjnt vel
|
|
defsng absv,xvel,yvel,zvel
|
|
vel=GetSrvData(17)
|
'ツール端速度を取得する。
|
xvel=JOINT(1,vel)
|
'ワーク座標X成分抽出
|
yvel=JOINT(2,vel)
|
'ワーク座標Y成分抽出
|
zvel=JOINT(3,vel)
|
'ワーク座標Z成分抽出
|
absv = SQR(xvel*xvel+yvel*yvel+zvel*zvel)
|
'ツール端合成速度計算
|