こちらは新しい記事シリーズで三菱電機の最新のMXRコントローラーを使用し様々な検証を行います。第4話は、MXRコントローラーからOPC UAサーバーを立ち上げ、uaExpertとEXOR社のex707M からアクセスします。
- 三菱電機製MXR300-64
- ワイドミュラー製UR20-FBC-CC-TSN
- 三菱電機製NZ2GN2S1-32D
- EXOR製ex707M
- uaExpert
さ、FAを楽しもう!

Reference Link
http://soup01.com/ja/category/mitsubishi-jp/mxr/
OPC UAとは?
OPC UAは、サーバー側のアドレス空間に定義された情報をクライアントが読み出す形でデータ通信を実現するプロトコルです。メーカーや通信規格が異なる機器同士でも、プログラムを変更することなくデータの収集や機械制御を行えることが大きな特長です。なお、アドレス空間とはサーバー側があらかじめ構築しておく情報モデルの領域であり、データ名称やサイズなどの定義が格納されています。

OPC UAは、安全なデータ通信を行うための高いセキュリティ機能を持ちます。

OPC UAサーバの証明書をクライアント側で登録し、OPC UAクライアントの証明書をOPC UAサーバが認証することで接続可能になります。

またOPC UAサーバに登録された、ユーザ名、パスワードを設定したOPC UAクライアントのみ接続可能になります。

Implementation1
こちらは今回の記事の構成です。

MXRコントローラー側
最初にMXRコントローラー側を構築します。

OPCUA設定
最初にMXRコントローラーのOPCUA 設定を行います。Module Parameter→Module Parameter(Ethernet)をクリックします。

こちらはMXRコントローラーのOPCUA設定画面です。

OPCUA サーバー有効
最初にMXRコントローラーのOPCUAサーバーを有効にするには、下図のところに”Use”を設定します。

Done!

Polling周期
次にOPCUAサーバーの更新周期を設定するには、OPC UA Server Setting→Polling Cycleから更新周期を設定してください。

セキュリティ設定
次はOPCUAのセキュリティ設定をします。Securityパラメータで実際の運用状況に合わせて設定しましょう。

また、今回の記事ではUser NameのLoginオプションにも使用します。

最後はApplyで設定を保存します。

Address Space設定
次はMXRコントローラーのOPCUAサーバーに公開する変数を設定するために、Module Parameter→Address Space Settingをクリックします。

こちらはGXWORKS3のOPC UA Address Space設定画面です。

Global Labelを展開し、OPC UAサーバーに公開したい変数を設定します。下図の例ではAxis001の構造体全部を公開します。

また。Access Rightsから該当する変数が読み出しのみか、読み書きも可能かを設定できます。

今回の例ではAxis001を読み出しのみに設定します。

最後は”Create Address Space Setting File”をクリックし設定を反映します。

しばらく待ちます…

セキュリティ-ユーザー設定
先ほどセキュリティにUserのLoginを使用すると書きましたが、User NameとPasswordを設定しましょう。

To Use or Not to Use User Authenticationの選択項目をUseに設定します。

そしてApplyをクリックし設定を保存します。

Done!

次はSecurity→Enable User Authenticationをクリックし、User Login機能を有効します。

Yesで進みます。

更にYesで進みます。

User NameとPasswordを設定し、Okで進みます。

次はOnline→User Authentication→Write User Information to PLCでUser情報をMXRコントローラーに書き込みます。

Yesで進みます。

Done!

証明書管理
最後はMXRコントローラーの証明書を作成するために、Security→Certificate Managementをクリックします。

Create で新規証明書を作成します。

証明書に必要な情報を入力し、Executeします。

Yesで進みます。

Done!

これで新規証明書が作成されました。

ダウンロード
最後はプロジェクトをMXRコントローラーにダウンロードし、CPUを再起動してください。
結果
では、Implementation1はuaExpertを使用し接続テストを行います。

uaExpertを起動し、+ボタンをクリックし新規接続を追加します。

Custom Discovery→Double click to Add Serverをクリックし新規サーバーを追加します。

MXRコントローラーのOPC UAサーバの URLを入力し、OKで進みます。

Done!uaExpertからMXRコントローラーのOPC UAサーバーを検知できました。そしてそのサーバーを追加します。

次は下図のボタンでMXRコントローラーのOPC UAサーバーと接続します。

先ほどGXWORKS3で設定したUser名とPasswordを入力し、Okで進みます。

今度は信頼されない証明書のエラーが表示されます。

Trust Server CertificateをCheckし永久にその証明書を信頼するか、もしくは2番目のCheckboxを入れて一時的に証明書を信頼するようにしてください。

そしてContinueをクリックし進みましょう。

今度はuaExpertからセキュリティチェックのエラーが表示されます。

そのエラーを解決するために、MXRコントローラー側からuxExpertの証明書を信頼するように設定する必要があります。Online→User Authentication→Log on to PLCします。

次はProject→Security→Certificate Managementをクリックします。

User名とPasswordを入力し、Okで進みます。

Done!

こちらはMXRコントローラーの証明書管理画面です。

Rejected Client Certificateを選び→Move to Trusted Oneをクリックします。

Yesで進みます。

Done!

それでuaExpertがMXRコントローラーのOPCUAサーバーと接続できました。

Implementation2
次はEXORのex707MからOPC UA Clientを立ち上げ、MXRコントローラーのOPC UAサーバーと接続していきます。

MXR コントローラー側
最初にMXRコントローラー側を設定します。

今回EXOR側はセキュリティなしで接続しますので、User Authenticationを無効し、Security PolicyをNoneに設定します。

構造体-dutServoCmd

構造体-dutServoMon

構造体-dutServo

Global Label

プログラム
今回のプログラムはPart3とほぼ同じですが、すべての変数を構造体のメンバーに置き換えました。

Rung1
Rung1でMC_Powerはファンクションブロックの接続回路で、Axis0001軸のサーボを有効にするプログラムです。

Rung8
Rung8で各MC FBがBusyではないことを確認した上、新しいコマンドが発行されるインタロックになります。

Rung14
Rung14はAxis001の状態を読み出し、構造体変数に転送するプログラムです。

Rung28
Rung28はAxis001をリセットするプログラムです。

Rung35
Rung35はAxis001をHomingするプログラムです。

Rung43
Rung43はAxis001をJogするプログラムです。

Rung52
Rung52はAxis001を停止するプログラムです。

Rung60
Rung60はAxis001に絶対位置決めコマンドを発行するプログラムです。

Rung72
Rung72はAxis001に相対位置決めコマンドを発行するプログラムです。

Rung83
Rung83はAxis001に速度制御コマンドを発行するプログラムです。

Rung94
Rung94は軸の状態をEXOR HMIに表示するためにあるプログラムです。

Address Space 設定
Global Label Listが更新されたので、Module Parameter→Address Space Settingを開きます。

Updateボタンをクリックします。

Done!次は先程Global Label Listで追加した変数udtAxis001をRead/Writeできるように変更し、”Create Address Space Setting File”をクリックしましょう。

User Loginデータ初期化
今度はMXRコントローラーに保存されたUser Loginデータをクリアするため、Online→User Authentication→Initialize All PLC Dataします。

ダウンロード
最後はプロジェクトをMXRコントローラーにダウンロードし、CPUを再起動してください。
EXOR側
次はEXOR側を構築します。

Protocol追加
Jmobileを起動し、Protocols→+ボタンで新規接続Protocollを追加します。

そしてPLCのDrop-listからOPC UA Clientを選択します。

Client追加
今度はOPC UA Clientを追加します。

PLC Networkを選択すれば、1つのProtocolの中に複数の異なるPLCと接続することが可能です。

Add ボタンで新規OPC UA Server接続を追加します。

先ほどMXRコントローラーの設定に合わせましょう。

Done!

Tag追加
最後はTagをするために、Tagsをクリックします。

先ほど追加したOPC UA Client接続を選び→+をクリックします。

URLはMXRコントローラーのOPC UA Server URLに入力し、Full Browseをクリックします。

証明書を信頼します(Accept permanentlyもしくはAccept Temportarily)。

Done!MXRコントローラーのTagにアクセスでき、次は必要なTagにCheckbox入れてOKで進みます。
Done!

Okで進みます。

それでTagが追加されました。

画面
最後は簡単操作画面を作成します。

結果
こちらの動画から動作確認できます。