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)
'ツール端合成速度計算