OPC UAでPLCと接続する (セキュリティあり)

セキュリティあり

ここではユーザ認証と暗号化ありで接続してみます
セキュリティなしをベースにセキュリティ部分のみ書いています
正式なやりかたは分かりませんがこの手順で接続できました

全体の流れ
  1. PLCのセキュリティ設定
  2. クライアントから一回接続してみる
  3. PLCのクライアント認証で拒否した証明書から信頼した証明書へ移動
  4. クライアントからもう一度接続する

PLCのセキュリティ設定

OPC UAサーバ設定 - セキュリティ設定
オンラインの状態
「OPC UAサーバ設定」を右クリックして「セキュリティ設定」を開きます


「匿名ログイン」を禁止にして、「セキュリティポリシー」のNoneのチェックを外して転送します


OPC UA Client から一旦接続(UaExpertの場合)

接続設定を新規作成するときにポリシーを選択してUsernameとPasswordを入力して接続設定を作成します


作成した接続設定でConnectしてみると
Error 'BadSecurityChecksFailed' was returned during OpenSecureChannel
というエラーが出力されます
そのまま次のクライアント認証に進みます



PLCのクライアント認証

クライアント認証
PLCとオンライン状態でクライアント認証を選択します


信頼した証明書
クライアント認証画面の下の拒否した証明書にUaExpertもしくはProsys OPC UA Clientが拒否された証明書として残っています


「信頼した証明書へ移動」ボタンを押して信頼した証明書へ移します



クライアントからもう一度接続する

接続成功しました


携帯アプリやPCアプリなど

携帯アプリ(Prosys OPC UA Client)の場合

一旦接続
Add new connectionで追加するときにSecure connectionのチェックを入れて作成します

Secure connectionにチェックを入れてAddします 追加した接続設定をタップして接続を試します エラーが表示されます


クライアント認証へ
そのままクライアント認証に進み「拒否した証明書」から「信頼した証明書」へ移動してもう一度接続します

再接続
接続に成功しました

NOTE
Prosys OPC UA Client のMobile版は匿名(Anonimouse)のみ対応のようなのでPLCの設定をAnonymouseにしてください

python C# などのアプリの場合も

同様に
一旦接続 → クライアント認証 → 再接続