モデリング

OPC UAはオブジェクトを教科書通りにモデリングすると、まず最初にシステムをObjectモデル化し、さらにObjectをNodeモデル化とするという2段階を経て構築されます。これは教科書では正しいですが、実践的ではありません。そこでEmpressがどうしているかを説明します。

まず、OPC UAのモデリングの中心はMachineです。考え方として「このMachineは何ができるか」という情報をMESに伝えます。「この機能はどのMachineで実現できるか」という考え方はしません。

機械の構成図は、2次元で表現されていると思いますが、OPC UAはツリー構造の階層です。2次元で表現されているシステムをMachineを最上部にしてツリー状に階層化します。

最上部のMachineからサブコンポーネントを定義します。サブコンポーネントはデバイスという具体的な場合もありますし、RecipeやResultといった抽象的な場合もありますが、それぞれのObjectに帰属させ階層化します。

Machine及びサブコンポーネントから取得する値を帰属させます。OPC UAの規定では値は単独に存在しません。かならず何かの構成要素になります。この場合はObjectの構成要素です。

Machine及びサブコンポーネントは何をするのか(Method)をまとめます。OPC UAの規定ではMethodは必ずObjectに帰属し、単独で存在しません。

最後にMachineシステムから発生する通知(Event)をまとめます。Eventは通常個々のObjectに帰属せず、最上位のMachineから発行します。

OPC UAがよくサンプルとして仕様するBoilerシステムにまとめましたので、モデリングをする際の参考にしてください。