RoboDK OPC UA Serverではいくつかのメソッドが提供しており、サードパーティがダイナミック的にRoboDKステーションの情報をアクセスできます。
UaExpertからメソッドを右クリック>Callでメソッドを実行できます。
getItem は、ユーザーがアイテムのメモリポインターを取得するメソッドです。
InputArgumentsのデバイス名はRoboDKステーションのロボットやターゲットなどに該当します。OutputArgumentsのItemIDはそのアイテムのメモリポインターになります。
こちらの例ではItem Nameを“ABB_RB1”を入力しメソッドを呼び出せば、ステーションにある“ABB_RB1”というアイテムのメモリポインターが取得しました。
Item Nameは無効やステーション存在しないの場合、Item ID値は0になります。
getJonitsはアイテム ID に基づいて、ユーザーがステーションからロボットのジョイント値を取得できるメソッドです。
ID はRoboDKステーションにあるアイテムのポインター値であり、getItem メソッドから取得できます。
“ABB_RB1”のItemIDはgetItemメソッドから取得できるUIn64フォーマットの整数です。
先ほどのgetItemメソッドで取得したItem ID を渡しメソッドを実行すれば、Joints の値が返ってきます。
getJointsStr は、ユーザーが文字列フォーマットのジョイント値を取得できるメソッドです。
このメソッドのRobot nameはステーション内のロボット名 (文字列) に該当します。
こちらのステーションではロボット名はABB_RB1です。
Robot nameパラメーターに “ABB_RB1“を渡してメソッドを呼び出すだけで、文字列フォーマットのジョイント値が返されます。
setJointsStr は、ロボットのジョイントを文字列値から設定できるようにするメソッドです。
Robot nameには ABB_RB1 が渡され、Joints パラメータにジョイント値を含む文字列を渡すだけです。
例:-0.000000,0.000000,-0.000000,-0.000000,-0.0,-0.000000