UaExpert

ソフトUaExpertを使用しRoboDKのOPC UAサーバを検証します。

こちらのリングからUaExpertをダウンロードしてください。

https://www.unified-automation.com/downloads/opc-ua-clients.html.

OPC UA - 画像 8

サーバー追加

UaExpertを起動し、“+”ボタンをクリックしRoboDKのOPC UAサーバを追加します。

OPC UA - 画像 9

Custom Discovery”を展開し<Double clicks to Add Server.>からRoboDK OPC UAサーバを追加します。

OPC UA - 画像 10

OPC UAサーバのURL欄から先程追加したOPC UAサーバエンドポイントを入力ます。今回のチュートリアルではopc.tcp://127.0.0.1:48440になります。

OPC UA - 画像 11

セキュリティ設定は“None”に設定します。

OPC UA - 画像 12

OPC UAサーバが追加しました。

OPC UA - 画像 13

サーバに接続する

次はUaExpertからRoboDKのOPC UAサーバに接続します。

OPC UA - 画像 14

RoboDK OPC UAサーバと接続成功すれば、UaExpertからにノードやメソッドを一覧できます。

OPC UA - 画像 15

ノード

サードパーティーから簡単にRoboDKステーションの情報をOPC UA 経由でアクセスできます。

RoboDK

RoboDKノードは現在RoboDKステーションのソフトウェアバージョンを取得できます。

OPC UA - 画像 16

このチュートリアルで使用してるRoboDKバージョンはRoboDK 64 Bit v5.5.3.23031です。

OPC UA - 画像 17

SimulationSpeed

Simulation Speedは現在RoboDK ステーションのシミュレーションスピードを取得や変更できるノードです。

OPC UA - 画像 18

Simulation SpeedノードはスライドバーにあるSimulation Speedになります。

OPC UA - 画像 19

Station

Station Nodeは現在RoboDKのステーション名を取得できます。

OPC UA - 画像 20

下図のように、このチュートリアルに使用してるステーション名は“New Station(1)”になります。

OPC UA - 画像 21

Station parameters/Station Value

サードパーティはStation ParameterとStation Valueノードを組み合わせて使用することによって、RoboDKステーション内にあるステーションパラメータをアクセスできます。サードパーティOPC UA サーバーは、“StationParameter“の実際の値を継続的に監視し、ステーション値ノードからその“StationParameter“の値を返します。

Note:該当する “StationParameter”が存在しない場合、“StationValue”値は空文字列になります。

OPC UA - 画像 22

RoboDKステーションパラメータを確認するには、RoboDK ステーションを右クリック>Station parametersをクリックします。

OPC UA - 画像 23

Constant parametersからステーションのデフォルトパラメータを確認できます。

OPC UA - 画像 24

StationParameterは“Parameters” フィールドに該当し、StationValueは”Value” フィールドに該当します。

OPC UA - 画像 25

“Add”ボタンをクリックし、RoboDKステーションに新規のパラメータを作成することも可能です。

OPC UA - 画像 26

新しいステーションパラメータが追加されました。

OPC UA - 画像 27

ステーションパラメータ名とその現在値を入力し、Applyタボンをクリックして保存します。

OPC UA - 画像 28

該当するステーションパラメータも取得できます。

OPC UA - 画像 29

Time

RoboDKステーションの現在時間はTimeノードから取得できます。

OPC UA - 画像 30

RoboDKステーションの現在時間はTimeフォーマットとしてノードに格納されました。

OPC UA - 画像 31

そのTimeノードは周期で更新されています。

OPC UA - 画像 32

メソッド

RoboDK OPC UA Serverではいくつかのメソッドが提供しており、サードパーティがダイナミック的にRoboDKステーションの情報をアクセスできます。

UaExpertからメソッドを右クリック>Callでメソッドを実行できます。

OPC UA - 画像 33

getItem

getItem は、ユーザーがアイテムのメモリポインターを取得するメソッドです。

OPC UA - 画像 34

InputArgumentsのデバイス名はRoboDKステーションのロボットやターゲットなどに該当します。OutputArgumentsのItemIDはそのアイテムのメモリポインターになります。

OPC UA - 画像 35

こちらの例ではItem Nameを“ABB_RB1”を入力しメソッドを呼び出せば、ステーションにある“ABB_RB1”というアイテムのメモリポインターが取得しました。

OPC UA - 画像 36

Item Nameは無効やステーション存在しないの場合、Item ID値は0になります。

OPC UA - 画像 37

getJoints

getJonitsはアイテム ID に基づいて、ユーザーがステーションからロボットのジョイント値を取得できるメソッドです。

OPC UA - 画像 38

ID はRoboDKステーションにあるアイテムのポインター値であり、getItem メソッドから取得できます。

OPC UA - 画像 39

“ABB_RB1”のItemIDはgetItemメソッドから取得できるUIn64フォーマットの整数です。

OPC UA - 画像 40

先ほどのgetItemメソッドで取得したItem ID を渡しメソッドを実行すれば、Joints の値が返ってきます。

OPC UA - 画像 41

getJointsStr

getJointsStr は、ユーザーが文字列フォーマットのジョイント値を取得できるメソッドです。

OPC UA - 画像 42

このメソッドのRobot nameはステーション内のロボット名 (文字列) に該当します。

OPC UA - 画像 43

こちらのステーションではロボット名はABB_RB1です。

OPC UA - 画像 44

Robot nameパラメーターに “ABB_RB1“を渡してメソッドを呼び出すだけで、文字列フォーマットのジョイント値が返されます。

OPC UA - 画像 45

setJointsStr

setJointsStr は、ロボットのジョイントを文字列値から設定できるようにするメソッドです。

OPC UA - 画像 46

Robot nameには ABB_RB1 が渡され、Joints パラメータにジョイント値を含む文字列を渡すだけです。

例:-0.000000,0.000000,-0.000000,-0.000000,-0.0,-0.000000

OPC UA - 画像 47