OPC UAクライアントソフトのUaExpertのダウンロード方法から基本的な使い方まで紹介します。
無料(フリー)で使えて便利なソフトですのでOPC UAを始めてみたい方におすすめな記事となっています。
OPC UAクライアントのフリーソフトUaExpertを使ってみた
OPC UAのクライアントソフトであるUaExpertを使ってPLCのデータを収集できました。
スマートフォンとPCの両方でUaExpertをダウンロードしてテストしています
実際にPLCの入出力データをOPC UA経由で収集できました。
UaExpertの使い方を一から紹介していきます。
最初にテスト動画を確認したい方は下記動画をご覧ください。
OPC UAサーバー側の構築方法については下記記事で紹介しています。
ぜひ一緒にご覧ください。

OPC UAクライアントソフトとは?
OPC UAクライアントソフトについて簡単に説明させていただきます。
何が出来るかというと、OPC UAサーバーのデータを収集することが可能です。
例えばPCやスマートフォン等から本来アクセス出来なかった産業システムの情報を拾ってくることができます。
UaExpertとは?
OPC UAクライアントソフトは有料・無料含めて多くのメーカが出しています。
その中で無料(フリー)で使える代表的なソフトの一つがUnified Automation社製のUaExpertになります。
UaExpertは登録してログインすれば無料でダウンロードすることが可能です。
LinuxでもOPC UAクライアントソフトに対応できます
今回紹介するUaExpertでもLinuxに対応していますが、他のソフトでも対応可能です
下記記事ではLinuxのコマンド一つで「FreeOpcUa Client」というソフトをインストールしてテストしています。
よろしければご覧ください

スマートフォンに対応したOPC UAクライアントもあります
Androidのスマートフォンやタブレットに対応したUaExpertMobileもあります。
但しこちらはあまり力を入れていないのか、最終リリースが2015年で近年は更新されていません。
一応現在もUSB経由でスマートフォンにアプリをダウンロードすることができます。
スマートフォンでのOPC UAの対応方法については下記記事で紹介しています。
環境整えてアプリ一つダウンロードすればテストすることが可能です。(リンク先はこちら)

UaExpertをダウンロードして起動する
UaExpertをダウンロードするにはまずアカウントの登録をします。
もちろん無料(フリー)でダウンロードできますのでご安心ください。
Unified Automationに登録する
UaExpertのダウンロードページに行きます。(リンク先はこちらから)
左下の「Register」箇所からUnified Automationに登録することが可能です。
「Register」箇所で必要事項を記入してアカウントを作ります。
会社名を入れる必要がありましたが、個人という意味での「Personal」の記入でも登録できました。
登録後に記入したメールアドレス先に確認メールが来ますので本登録をします。
これでUnified Automationのアカウントを作成することができました。
UaExpertを無料(フリー)でdownloadをする
アカウント作成後はログインしてUaExpertをダウンロードします。
Proceed to downloadの箇所をクリックすればダウンロードが始まります。
UaExpertのv1.5.1をインストールする
特にインストール作業も困る箇所は無いはずです。筆者の時のバージョンはv1.5.1でした。
筆者はデフォルトの選択ですべて「Next」を選択しました。
UaExpertのCertificate(証明書)の設定をする
UaExpertの初回起動後にはCertificate(証明書)の設定をする必要があります。
筆者はテスト的に動かすだけですので最低限の設定だけにしています。
(ほぼデフォルトです。「Organization」「Country」を入力して、パスワードを設定しただけです)
Certificate(証明書)に関しては後で新規作成することができます。
Settings→Manage Certificatesの箇所です。
(とりあえずテストしたいレベルであれば初回はある程度自由に設定すれば良いと思います)
此処までの流れでUaExpertを起動することができました。
Unified AutomationはSDK(C++,java,.NET)もあります
今回紹介するのはクライアントソフトのUaExpertですが、Unified AutomationはSDKも豊富です。
サーバー・クライアント含めてSDK(C++,java,.NET等)も用意されています。基本有料ですが…。
評価版はダウンロードできるようですので、もし興味ある方は確認してみてください
UaExpertでOPC UAクライアントとして動かす
UaExpertをOPC UAサーバに接続していきます。今回のテスト環境は下記イメージです。
冒頭でも紹介しましたがラズベリーパイでOPC UAサーバーの環境構築は下記記事を参考ください。

UaExpertからOPC UAサーバーを選択する
UaExpertのツールバーの箇所で「+」をクリックすると接続するOPC UAサーバを選択できます。
今回のテストの場合は「Custom Discovery」の<Double click…>の箇所を選択します。
「opc.tcp://」の後に接続するOPC UAサーバーのIPアドレスを入力すると接続方法が選択できます。
OPC UAサーバーの証明書(Certificate)を信頼(Trust)する
大抵の場合、最初にOPC UAクライアントからOPC UAサーバーをアクセスしたときにCertificate Validation(証明書の検証)が発生します。
サーバーの証明書を信頼するか確認されます。サーバーの証明書(Certificate)を信頼(Trust)します。
OPC UAのプロトコルを設定する(必要な場合)
必要に応じて(Basic256Sha256等の)セキュリティのプロトコルを選択します。
サーバーとクライアントでCertificate(証明書)を設定すれば対応可能です。
今回の筆者のテストの場合は一番設定が楽な「None」を選択しています。
OPC UA serverのendpoint URLを設定する(必要な場合)
大抵の場合OPC UAサーバーをIPアドレスで接続すると自動的にDNSの情報まで拾ってきます。
(筆者の場合、IPアドレス「192.168.100.121」と入力したらDNSの「raspberrypi」のドメイン名まで拾ってきます)
筆者のOPC UAサーバー側(ラズベリーパイ)の設定が悪いのかは不明ですが、DNSを使うと接続が不安定でした。
UaExpertだと基本的にDNS情報を使ってエンドポイントURLが設定されます。
OPC UAサーバーを右クリックして「Properties」を選択後にエンドポイントのURLを設定できます。
DNSのドメイン名からIPアドレスに入力し直すと筆者のテスト環境の場合、安定して接続できました。
テスト環境が違えばおそらく問題ない件と思いますので、参考情報として確認ください
UaExpertでOPC UAサーバーと接続する
「ツールバー」か「接続するサーバーを右クリック」のどちらかで「connect」を実行します。
OPC UAサーバーと接続できます。
正常にサーバーと接続できたら「Address Space」のタブから、必要なデータを選択してドラッグ&ドロップします
正常にデータがOPC UA経由で収集できていたらStatuscodeがGoodとなります。
これで無事UaExpertでOPC UAサーバーと接続できました
UaExpertからPLCのデータを収集するテスト
今回はスマートフォンとPCからUaExpertでPLCのデータを収集しました。
OPC UAサーバーとPLCはラズベリーパイで環境構築しています。
実際にPLC(ラダー)の入出力のデータをUaExpertで収集できました。
入力・リセットSWを押すとOPC UAクライアントのUaExpertのデータも更新されていることが分かります。
冒頭でも紹介しましたが、テスト動画が下記になります。
OPC UAクライアントはPythonでも簡単に作れます
今回はフリーソフトでOPC UAクライアントをテストしましたが、Pythonでも簡単に作ることが可能です。
下記記事にライブラリ・コードなど含めて紹介しています。(リンク先はこちら)
よろしければご覧ください。

まとめ・感想
OPC UAクライアントソフトのUaExpertは無料でダウンロードできて、テストまで可能です。
またラズベリーパイ(raspberry pi)でOPC UAサーバーも簡単に作ることができます
皆様もぜひ試してみてください
コメント
お世話になります。
UaExpertからラズパイに接続しようと試みたのですが、
「Error 'BadIdentityTokenInvalid' was returned during ActivateSession」
のエラーが必ず出てしまい、先に進めず困っています。
サーバー側の設定なのかクライアント側の設定なのかもわからず、
ネットでもほとんど情報が無く。。。何が原因なのでしょうか。
Certificate Validationの画面が出ないのも気になります。
自己解決しました。