構成
内蔵の OPC UA サーバーのアプリケーション名、待ち受けポート、ネットワーク名、クライアントの認証と、それらを保存して効かせる「適用」です。
構成は、Connector の OPC UA サーバーのパネルの 2 枚目のカードです。その欄は下書きです。編集できるのはサーバーが待ち受けていない間(オフのときか、オンでも直前の起動が拒まれたとき)で、適用 が下書きを保存するまで、何も変わりません。サーバーがオフなら、下書きは次にオンにするときのために保たれます(「OPC UA サーバーの構成を保存しました。次に有効化したとき、この構成で起動します。」)。サーバーがオンの間、ボタンは 適用して再起動 になり、その構成でサーバーを立ち上げ直します。カードはボタンの下でそう述べます。「endpoint を編集するにはサーバーを無効化してください。変更は次の起動時に反映されます。」Connector の表示はこのカードを読み、Connector の構成はそれを編集します。サーバーをオフにするのは コマンドバー の無効化です。
欄
| 欄 | 何であるか | 値と既定 | 効き方 |
|---|---|---|---|
| アプリケーション名 | サーバーがクライアントに知らせる名前で、サーバー自身のアプリケーション証明書のサブジェクトでもあります。 | 任意の文字です。既定は GanterLab OPC UA Server です。空の名前は既定として保存され、前後の空白は落とされます。 | クライアントには、サーバーのアプリケーション名として見えます。endpoint のアドレスの一部ではありません。ネットワーク名を変えたときと同じく、名前を変えるとサーバー自身の証明書は入れ替わるので、クライアントは新しい証明書を信頼してから接続し直します。このサーバーを設備として読んでいるステーションは読むのをやめ、その 現場設備へのアクセス に「証明書が変わりました:<名前>」を出し、そこで新しい証明書が承認されるまで待ちます。 |
| 待ち受けポート | サーバーが待ち受ける TCP のポートです。 | 1 から 65535 です。既定は 4840 です。数値でない文字は入力の途中で無視され、範囲の外の数は、桁がいくつであっても、欄の下の「待ち受けポートは 1 から 65535 の間で指定してください。」で拒否されて、欄は効いているポートに戻ります。このステーションのほかのサービスのポートと、別のプログラムが押さえているポートは、適用を押したときに拒否されます(下記)。 | クライアントアクセスの接続アドレスの下の 2 つのアドレスを変え、そこで新しいファイアウォールの許可を求めます。Windows の規則はポートに結び付いているからです。 |
| ネットワーク名 | endpoint のアドレスが運ぶ名前です。クライアントが本当に届く名前でステーションに接続できるようにします。クライアントが接続に使う DNS 名や、名前をネットワークが解決できないコンピューターのアドレスです。 | 既定では空で、空はこのコンピューター自身の名前を意味します。それ以外はホスト名です。英字、数字、ハイフン、アンダースコア、ドット、またはアドレスで、前に opc.tcp:// を付けず、ポートもパスも書きません。欄は、フォーカスが外れたときか Enter で確定します。ほかの書き方は欄の下で、ホスト名ではないと言って拒否され、欄は効いている名前に戻ります。 | 次の起動から、クライアントアクセスの接続アドレスの下のネットワークのアドレスがこの名前を運び、サーバー自身の証明書も localhost と並んでこの名前を保証します。名前を変えるとその証明書は入れ替わるので、クライアントは新しい証明書を信頼してから接続し直します。 |
| クライアントの認証 | 証明書が信頼されたあと、サーバーがどのセッションを受け入れるかです。 | 匿名(既定)。資格情報のないセッションを受け入れ、ユーザー名のセッションを拒みます。ユーザー名とパスワード。設定した 1 組だけを受け入れ、匿名のセッションを拒みます。 | 次の起動で当たります。サーバーはいつでも両方のトークンの方式を知らせ、セッションが有効になるときに、この選択を守らせます。すべてのセッションを拒むには、サーバーをオフにします。 |
| ユーザー名 | 受け入れるただ 1 つのユーザー名です。 | 1 から 64 文字で、前後の空白は落とされます。編集できるのはユーザー名とパスワードのときだけです。 | パスワードとともに、サインインできるただ 1 つの資格情報です。 |
| パスワード | 受け入れるパスワードです。この欄は書き込み専用で、何が保存されていても空のまま開き、どちらの状態かはラベルが言います。パスワード(保存済み) か パスワード(未保存) です。パスワードを表示 の切り替えは、ここで入力したものだけを見せます。 | 8 から 128 文字で、空にはできません。空のままにすると保存済みのパスワードがそのまま残り、保存済みのものがあるときは欄の下の行がそう言います。「空のままにすると、保存済みのパスワードをそのまま使います。」編集できるのはユーザー名とパスワードのときだけです。長さの決まりも欄の下に書かれています。「ユーザー名:1~64 文字。パスワード:8~128 文字。」 | Windows のユーザーと機械に結び付いた暗号文として保存されます(下を参照)。 |
ラジオボタンと 3 つの文字の欄は、サーバーが待ち受けている間(「endpoint を変えるには、OPC UA サーバーを無効化してください。」)、サーバーの別のコマンドが動いている間、そしてユニットが実行中の間、灰色になります。下書きは、パネルが開いたときに保存された構成から種を得て、構成がよそで変わったとき、ユニットがステーションを取ったとき、ランタイムが止まったときに、保存していない編集を落として種を取り直します。パスワードだけは別で、毎回空で種を得ます。保存されたものがブラウザーに渡ることは決してないからです。
適用
| コマンド | 何をするか | 灰色になるとき(状況) | 描かれないとき(ロール) |
|---|---|---|---|
| 適用 / 適用して再起動 | 下書きを確かめ、保存します。これはひとつながりのエンジニアリングの操作です。サーバーがオフのときボタンは 適用 で、「OPC UA サーバーの構成を保存しています…」のあと「OPC UA サーバーの構成を保存しました。次に有効化したとき、この構成で起動します。」です。サーバーがオンのときは 適用して再起動 で、新しい値でサーバーを起動し直します。「新しい構成で OPC UA サーバーを再起動しています…」のあと「OPC UA サーバーの構成を適用しました。<endpoint> で待ち受けています。」です。アプリケーション名やネットワーク名を変えると、ステーション自身の証明書が変わります。OPC UA ドライバー もこの証明書で機器を読むので、サーバーがオンでもオフでも Connector 全体を再起動し、機器は少しあとに読み直します。それ以外の変更はサーバーだけに関わり、その間も Connector は読み続けます。 |
サーバーが待ち受けている間、サーバーの別のコマンドが動いている間、ユニットが実行中の間、そして保存された構成を読み取れなかった間。 | Connector の構成 を持たないロールのとき。 |
確かめは、何かが保存される前に、この順で起きます。ポート(「待ち受けポートは 1 から 65535 の間で指定してください。」)、今効いているポートと違うポートなら続けて、リモートアクセス で設定する Web サーバーのポート(「ポート N はすでに Web サーバーが使っています。別のポートを選ぶか、先に Web サーバーを移してください。」)、エージェント ページでエージェントアクセスに設定したポート、エージェントアクセスが入でも切でも(「ポート N はすでにエージェントアクセスが使っています。別のポートを選ぶか、先にエージェントアクセスを移してください。」)、Connector のページにある Modbus サーバー のポート、サーバーがオンでもオフでも(「ポート N はすでに Modbus サーバーが使っています。別のポートを選ぶか、先に Modbus サーバーを移してください。」)、Connector のページにある MQTT ブローカー のポート、ブローカーがオンでもオフでも(「ポート N はすでに MQTT ブローカーが使っています。別のポートを選ぶか、先に MQTT ブローカーを移してください。」)、このコンピューターでほかの何かがすでに押さえているポート(「ポート N はこのコンピューターで使用中です。使っているものを閉じるか、別のポートを選んでください。」)で、どれも範囲の外の数と同じく待ち受けポートの欄の下に出て、欄は今効いているポートに戻ります。次にネットワーク名で、これもネットワーク名の欄の下に出て、欄は効いている名前に戻ります。続いてユーザー名とパスワードのときは、ユーザー名(「ユーザー名は 1~64 文字にしてください。」)、欄が空で保つべき保存済みのパスワードもないこと(「パスワードはまだ保存されていないので、適用する前に入力してください。」)、パスワードの長さ(「パスワードは 8~128 文字にしてください。」)、そして空のパスワード(「パスワードは空にできません。」)です。拒否された下書きは、何も保存しません。サーバーが停止したままになる再起動、たいていは適用して再起動が確かめ直さない今効いているポートを別のプログラムが持っている場合ですが、これは「OPC UA サーバーを開始できませんでした。ポート N を確保できていない可能性があります。ログを確認してください。」として伝えられます。構成は保存されているので、原因を直してコマンドバーの再起動を押してください。停止したまま戻るのではなくエラーで失敗した開始は、「OPC UA サーバーのエラー:…」として伝えられます。何が起きても、そのあと欄は保存された値を読み直します。
保存された構成を読み取れなかったとき
起動のときに構成のデータベースがサーバーの行を返せなかった場合、カードは通知から始まります。「保存されたサーバーの構成を読み取れませんでした。下の値はこの起動時の既定値です。保存された構成を上書きしないよう、保存は無効にしてあります。診断ログを確認してから、アプリケーションを再起動してください。」その起動の間、サーバーは既定で動き、適用は灰色になり、押しても同じ文がステータスバーに返ります。
起動時にサーバーがポートを開けないとき
ステーションの起動時に、ほかのプログラムがすでに使っている(産業用コンピューターでは 4840 がふさがっていることがよくあります)か、Windows が拒む(Hyper-V、WSL、Docker が予約した範囲の中のポート)ために、サーバーが待ち受けポートを開けないと、停止したままになるのはサーバーだけです。Connector は機器を読み、Logic と記録も続きます。カードが理由を述べます。「サーバーを起動できませんでした」、続いて「ポート 4840 はこのコンピューターで別のアプリがすでに使用しているため、OPC UA サーバーは停止したままです。別の待ち受けポートを選び、サーバーをもう一度開始してください。」です。カードにはボタンが 2 つあります。
| コマンド | 何をするか | 灰色になるとき(状況) | 描かれないとき(ロール) |
|---|---|---|---|
| ポート N を使用する | N を待ち受けポートとして保存し、そのポートでサーバーを開始します。これはひとつながりのエンジニアリングの操作です。N は、拒まれたポートより上で、待ち受けポートの欄が受け付ける最初のポートです。いまこの機械で空いていて、Web サーバーのポートでも、エージェントアクセスのポートでも、Modbus サーバーのポートでもないものです。そのあとカードはサーバーがどこで待ち受けているかを述べます。これからは OPC UA クライアントがそのポートに接続するからです。「OPC UA サーバーはポート 4841 で待ち受けています。OPC UA クライアントは <endpoint> に接続します。」サーバーの開始までに N もふさがっていた場合は、同じカードが次のポートを示して戻ってきます。 |
ユニットが実行中の間、ランタイムが停止している間、そして保存された構成を読み取れなかった間。 | Connector の構成 を持たないロールのとき。 |
| Connector を開く | Connector を OPC UA サーバーの行で開きます。その構成のカードで待ち受けポートを設定します。 | ありません。 | Connector の表示 を持たないロールのとき。 |
ポートが変わるのは、だれかが「ポート 4841 を使用する」のようなボタンを押したときだけです。サーバーが自分から別のポートに移ることはありません。ポートと関係のない失敗では、開始が示した理由の下に Connector を開く だけが残ります。ステーションがトレイに隠れて起動したときは、Windows の通知がカードのタイトルと理由を繰り返します。通知にはボタンがなく、カードはウィンドウの中で待っています。
パスワードとその置き場
パスワードは、どの機器の秘密とも同じく、ユーザーごとの DPAPI の暗号文として保存されます。別の機械や Windows アカウントで開いた構成の バックアップ には、それが入っていません。そのときサーバーは、ユーザー名とパスワードが入で、照らすパスワードのない状態で起動し、すべてのサインインを拒み、その理由を記録します(「ユーザー名とパスワードによる認証が有効ですが、この Windows アカウントでは OPC UA サーバーのパスワードを読み取れません … Connector の OPC UA サーバーの構成でもう一度入力してください。」)。ここでもう一度入力してください。保存されたパスワードが逆に戻ることはありません。欄は空で開き、あるかどうかをラベルが言うだけなので、リモートのブラウザーが受け取るページに資格情報は入っていません。平文の HTTP のリモート接続では、このページで入力するユーザー名とパスワードはネットワークを平文で渡ります。リモートアクセス を参照してください。
この節がしないこと
証明書の信頼は別の確かめで、クライアントアクセス で決めます。信頼したアプリケーションも、ここで選んだやり方でサインインしなければなりませんし、証明書が信頼されていない相手を、ユーザー名がサインインさせることはありません。ユーザー名とパスワードは 1 組であって名簿ではなく、クライアントごとの権利もありません。アドレスの経路 /UA/GanterLab とセキュリティの方式は設定できず、ネットワーク名が持つのは一覧ではなく 1 つの名前なので、endpoint はその名前と、隣に localhost だけを知らせます。Logic のアドレス空間は、サーバーのポイントを読み取り専用で見せ、その「Connector を開く」のボタンは、サーバーの行に着地します。