OPC UA ローカル検出
ディスカバリ サーバーにより、OPC UA クライアントは 1 つ以上の OPC UA サーバーに関する詳細を 1 つのポイントから取得できます。
OPC UA 検出サーバーには 2 つのタイプがあります:
<オール>この記事では、OPC UA サーバーを LDS に登録する方法と、OPC UA クライアントがその LDS を使用して OPC UA サーバーに接続する方法について説明します。
はじめに
名前が示すように、Local Discovery Server (LDS) は、1 つ以上の OPC UA サーバーと同じデバイスで実行できます。たとえば、PLCnext ランタイムに含まれる OPC UA サーバーとともに、1 つ以上の OPC UA サーバーを PLCnext Control デバイスにインストールすることができます。その PLCnext Control デバイスに LDS もインストールされている場合、そのデバイス上のすべての OPC UA サーバーを LDS に登録できます。次に、リモートの OPC UA クライアントは、その PLCnext Control デバイスで実行されているすべての OPC UA サーバーの詳細を LDS にクエリし、それらの詳細を使用して 1 つ以上の OPC UA サーバーに直接接続できます。
少し紛らわしいことに、OPC UA サーバーが リモート で実行されている LDS に登録することも可能です。 機械。このように、OPC UA クライアントは単一の LDS を使用して、デバイスのネットワーク全体で実行されているすべての OPC UA サーバーを検出できます。
ユニファイド オートメーションのこの記事には、OPC UA 検出サーバーの優れた紹介があります。
https://documentation.unified-automation.com/uasdkdotnet/2.5.2/html/L2UaDiscoveryConnect.html
背景
この記事の手順に従う前に、次のことを理解しておく必要があります。
- 基本的な OPC UA サーバー構成。
- クライアントをPLCnext Controlデバイス上のOPC UAサーバーに接続する方法
- PLCnext Control デバイスでセキュリティ証明書を保存および管理する方法
手順
この例では、ネットワーク設定は次のようになります:
OPC UA Server: AXC F 2152 FW 2020.6.1
IP address: 192.168.1.10
DNS name: axc-f-2152-1
Local Discovery Server: Windows 10 PC
IP address: 192.168.1.42
DNS name: mypc.mycompany.com
OPC UA Client: Debian 10 PC
IP address: 192.168.1.3
これらの IP アドレスと DNS 名はこの記事全体で使用されますが、もちろん、独自のアプリケーション用にこれらを変更する必要があります。
DNS 名の設定
ネットワークに DNS サーバーが含まれていない場合は、hosts
を編集します。 各デバイス上のファイル。
hosts ファイルは次のディレクトリにあります:
- Windows:
C:\Windows\System32\drivers\etc\
- Linux:
/etc/
次の新しい DNS エントリを追加します (アプリケーションの IP アドレスと DNS 名を置き換えます):
PLC で、LDS を追加します:
192.168.1.42 mypc.mycompany.com
LDS マシンで、PLC を追加します:
192.168.1.10 axc-f-2152-1
OPC UA クライアント マシンで、LDS と PLC の両方を追加します。
192.168.1.42 mypc.mycompany.com
192.168.1.10 axc-f-2152-1
DNS 名に ping を実行して、すべてのエントリが正しいことを確認します (IP アドレスではありません) 各デバイスで設定したものです。
ローカル ディスカバリ サーバーをインストールする
OPC Foundation は、Windows ベースの実行可能ファイルの形式で Local Discovery Server を提供します。これは、このページから (登録後) 無料でダウンロードできます:
https://opcfoundation.org/developer-tools/samples-and-tools-unified-architecture/local-discovery-server-lds/
この LDS をダウンロードして、Windows マシンにインストールします。
OPC UA クライアントをインストールする
この例では、Unified Automation の UaExpert を使用しています:
https://www.unified-automation.com/products/development-tools/uaexpert.html
OPC UA クライアント マシンに UaExpert をダウンロードしてインストールします。
証明書を見つける
さまざまな OPC UA コンポーネント (サーバー、クライアント、LDS) は、安全な通信を確保するために相互に信頼する必要があります。信頼は、公開証明書を交換することによって達成できます。つまり、各コンポーネントの公開証明書を、それを信頼する必要があるコンポーネントの「信頼ストア」に置くことによって実現できます。
各コンポーネントの公開証明書は次のように見つけることができます:
OPC UA サーバー
デフォルトでは、デバイス証明書は「OPC UA 自己署名」ID ストアにあります。独自の証明書を使用している場合、これは異なります。
OPC UA サーバー証明書は、PLC の Web Based Management ページからダウンロードできます。証明書は、他のコンポーネントで使用するために、PEM 形式から DER 形式に変換する必要があります。 openssl
など、この変換に使用できる無料のツールが多数あります。 Linux コマンドライン ツール。使用できる bash コマンドの例:
openssl x509 -outform der -in OPC\ UA-self-signed_certificate.crt -out uaserver.der
LDSサーバー
デフォルトでは、LDS の証明書は次の場所にあります:
C:\ProgramData\OPC Foundation\UA\pki\own\certs\ualdscert.der
OPC UA クライアント
- UaExpert で、メニュー項目 [設定] -> [証明書の管理] を選択します。
- [アプリケーション証明書を…にコピー] ボタンをクリックします。
- 証明書を便利な場所に保存してください。
証明書をトラスト ストアにコピー
各証明書 (.der 形式) を他の 2 つのコンポーネントのトラスト ストアにコピーします。
各コンポーネントの信頼ストアは次の場所にあります:
OPC UA サーバー (PLC)
トラストストアはフォルダー /opt/plcnext/Security/TrustStores/Empty/trusted
です
LDS
トラストストアはフォルダー C:\ProgramData\OPC Foundation\UA\pki\trusted\certs
です
OPC UA クライアント (UaExpert)
- UaExpert で、メニュー項目 [設定] -> [証明書の管理] を選択します。
- [証明書の場所を開く] ボタンをクリックします。これは UaExpert のトラスト ストアです。
すべてのファイアウォールをチェック
少なくとも、LDS サーバーのファイアウォールがポート 4840 のトラフィックを許可していることを確認してください。
PLCnext Engineer で OPC UA サーバーを構成する
PLCnext Engineer の OPC UA 構成ウィンドウで:
- 以下を確認してください:
- DNS 名は、以前に構成したものと同じです。
- 「変数の可視性」はない 「なし」。
- ディスカバリー登録を有効にする
- サーバー URL を
opc.tcp://mypc.mycompany.com:4840
に設定します (LDS マシンの DNS 名に置き換えます)
PLCnext Engineer プロジェクトを PLC に書き込みます。
PLC は OPC UA サーバーを LDS に自動的に登録しようとします。
OPC UA サーバーを検出して接続する
- UaExpert で、ツールバーの + (プラス) ボタンをクリックします。
- ツリー ビューの [ローカル] ブランチを右クリックし、[検出 URL の編集] を選択します。
- テキスト ボックスに「
opc.tcp://mypc.mycompany.com:4840
」と入力します (LDS マシンの DNS 名に置き換えます)、[OK] をクリックします。
OPC UA サーバーは、ツリーのローカル ブランチに表示されます。これらの詳細を使用して、通常の方法で OPC UA サーバーに接続できます。
トラブルシューティング
- LDS ログ ファイルは次の場所にあります:
C:\ProgramData\OPC Foundation\UA\Discovery\opcualds.log
次のファイルで LogLevel (および他の多くのパラメーター) を変更することができます:C:\ProgramData\OPC Foundation\UA\Discovery\ualds.ini
LogLevel = debug
最も詳細なログ情報を提供します。LDS 設定を変更した後、Windows の「サービス」コンソールから LDS を再起動する必要がある場合があります。 LDS の表示名は「OPC UA Local Discovery Server」です。 - LDS が OPC UA サーバーの URL を
.local.
で返す場合があることに注意してください DNS 名に追加されます。この DNS 名は、マルチキャスト mDNS サーバーによって解決できる必要があります。この DNS 名を解決できない場合、URL を含むエラー メッセージが UaExpert ログ ウィンドウに表示されます。.local.
で DNS 名を解決するようにマルチキャスト DNS サーバーをインストールおよび構成する方法について説明することは、このチュートリアルの範囲を超えています。
結論
ネットワーク上に OPC UA サーバーが 1 つしかない場合、LDS を使用してもあまりメリットがないことは明らかです。ただし、多数の OPC UA サーバーを含むネットワークの場合、LDS はそれらのサーバーを参照して接続するための便利な方法を提供します。
産業技術