SignedAlarmAck()のランタイム動作
- Last UpdatedOct 08, 2024
- 1 minute read
SignedAlarmAck()関数はランタイム時に以下を実施します。
-
関数はアラームを確認するための署名が必要であるかどうか確認します。
-
パラメータ Signature_Reqd_for_Range が True であるかどうか確認します。
-
True である場合、HMI/SCADA プロジェクトまたはアプリケーションでセキュリティが有効化されているかどうかが確認されます。
-
True である場合、指定された各アラームの優先度が確認され、指示された優先度範囲と比較されます。指定されたアラームが優先度範囲内である場合、署名が必要です。
-
指定されたアラームがどれも優先度範囲外であり、ログインしていない場合、署名が必要です。
-
確認待ちのアラームがない場合、関数は何もしませんが、確認待ちのアラームがないことを示す値を返します。
-
-
指示されたアラームがどれも署名を必要としない場合、関数はシンプルなポップアップの確認ダイアログを表示します。
-
ユーザーが[OK]をクリックすると、Alarm_List パラメータで指定された各アラームの AckMsg 属性に対し、関数が確認コメントを書き込みます。
システムはログオン中のユーザーがいる場合、すべてのアラームを確認したものとして識別します。
-
ユーザーがアラームを確認するための権限を保有している場合、またはプロジェクトやアプリケーションが安全でない場合、アラームは確認済みとしてマークされます。
-
確認に失敗した場合、ユーザーに直接的なフィードバックはありません。ただし、アラームのステータスでは、確認されていないと表示されます。
-
-
指示されたアラームが署名を必要とし、確認待ちの場合、関数は署名を必要とするポップアップ確認ダイアログを表示します。
-
このダイアログには、ユーザーの資格情報(名前、パスワード、ドメイン)の編集フィールドがあります。デフォルトでは、表示されるユーザーはログインしているユーザーです。ログインしているユーザーがいない場合は空白になります。すべてのフィールドは編集できます。
スマート カードが有効でない場合、スマート カードまたはパスワード認証を選択するための[モード]ボタンは無効になります。
-
ユーザーは確認コメントを入力し、有効であった場合はユーザーの資格情報を入力します。
-
関数はユーザーの資格情報を検証します。
-
ユーザーの資格情報が無効である場合、関数はエラー メッセージを表示します。
ユーザーがエラー メッセージ上で[OK] をクリックすると、関数はアラーム認証ダイアログを再表示し、ユーザーは再試行できます。
ダイアログが再表示されると、入力されたのと同じユーザー名、ドメイン、確認コメントを表示しますが、パスワードとスマートカードのPINのフィールドは空白です。ユーザーは認証を再試行するか、キャンセルすることができます。
-
ユーザーの資格情報が有効である場合、Alarm_List パラメータで指定された各アラームの AckMsg 属性に対し、関数が確認コメントを書き込みます。
権限のあるユーザーは、署名を必要としないアラームを含むすべてのアラームを確認したユーザーとして識別されます。
ユーザーがアラームを確認するための権限を保有している場合、アラームは確認されたとしてマークされます。
確認に失敗した場合、ユーザーに直接的なフィードバックはありません。ただし、アラームのステータスでは、確認されていないと表示されます。
-
-
関数は戻り値を提供し、エラーが発生した場合、または操作が中止した場合に、ロガーに情報メッセージを書き込みます。
ランタイム動作、およびスクリプト操作の実行順序については、「ランタイム時の SignedWrite() スクリプト実行順序」を参照してください。