実践的なXMLの作成

システム構成

シンプルなロボットのシステムで、実践的なモデリングを説明します。システム構成は、ロボットから発生したデータはレガシーな"Data Collector"というアプリケーションで取得し、OPC UA SeverのNodeに登録します。シンプルなシステムですのでOPC UA for Roboticsの仕様は用いません。OPC UA Severを搭載するのは、ロボットのボード上でもGatewayでも可能です。OPC UA SeverからMESへの通信はOPC UAを用います。全体の構成図は以下の通りです。

マッピングリストの作成

ロボットから生成されるデータとOPC UAのNodeのマッピングリストを作成します。まず、"Position"というObjectを作成します。OPC UAは規定上、値は単純に存在せず、必ず何の構成要素になります。BrowseNameも同様とします。Positionを構成するデータとして、"X" ”Y" "Z" "Roll" "Pitch" "Yaw"の6つのチャンネルを作成し、6つのチャンネルのBrowseNameも同様とします。NodeClassはPositionはObjectで6つのチャンネルはVariableです。 PositionのTypeDefiniton(データ定義)はObjectの基本型となるBaseObjectTypeとし、6つのチャンネルのデータは、変動型ですのでDataVariableです。6つのチャンネルの値のTypeDefinitionはBaseDataVariableTypeとし、6つのチャネルのDataType(データ型)はFloatとします。ModellingRuleはすべてMandatory(必須)とします。これをマッピングシートに記載すると下の図になります。

シンプルなシステムのOverview

マッピングリストからシステムのOverviewを作成し、システムの全体像を理解します。四角はObjectで、角丸四角はVariableです。ObjectとDataVariable(変動値)の関係はHasCompoentですの矢印は図の通りです。

XMLの作成(Object Position)

Object "Position"を定義します。BrowseNameは"Position"で、DisplayNameも"Position"です。NodeIdは"NS=1:i=5001"です。Objectには5000番台を割り当てます。NS=1はNamespace Indexが"1"で、Nodeがローカルサーバ上にあることを表します。 PositionのTargetNodeとなる"X" ”Y" "Z" "Roll" "Pitch" "Yaw"の6つのチャンネルのReferenceは、HasComponetで下記の様に設定されています。 PositionのTypeDefinitionはHasTypeDefinitionで”i=58”でBaseObjectTypeを示しています。 Organizes Referenceで”i=85"を指定しています。i=85はObjectsフォルダーにNodeが帰属されることを意味し、PositionはObjectsフォルダーに抽象的に格納されます。 変動するデータを表すDataVariableとして"X"から”Yaw"までをHasComponentとしてPositionと関連付け、"X"から”Yaw"までのiを"6001"から"6006"まで割り当てます。Variableは6000番台を使用することとします。

XMLの作成(Variable X)

XMLもDefinitionと同様に再下位のObjectTypeから合体を繰り返し、最上位のObjectTypeにつなげます。まず、Xから始めます。

BrowseNameは"X"です。DisplayNameも"X"です。NodeIdは"NS=1:i=6001"です。"DataType=Float"はVariable XのValue Attributeのデータ型を定義します。"AccessLeve=3"、"UserAccessLevel=3"でNodeの読み取りと書き込みを可能とします。 XはPositionのTargetNodeでReferenceは下記の様に設定されています。 HasTypeDefinitionで”i=63”でBaseDataVariableTypeを定義しています。 "X"をHasComponentとしてPositionと関連付けるため、Positionの"NS=1 i=5001"を関連付けます。"X"と"Position"を関連付けするHasComponentはHierarchicalのSubTypeなのでIsForwarad="False"に定義します。この解釈が分かりずらい人は両者が対等でない場合、IsForwarad="False"と理解してください。

OPC UA Severの設定の変更

XMLの作成が終了したら、Empress iData OPC UA Serverの設定ファイル(uaserver.config.xml)を下記の通りに変更します。修正後、uaserverを起動すれば、作成したXMLをロードしたOPC UA Severが起動します。