| VBA Sample - アラーム認識にタグ・セキュリティ・チェックを追加する方法 |
このテクニカルノートの情報は、以下に該当します:
| 製品: | RSView32 | タイプ: | アプリケーションノート |
| テクニカルノートID: | A1472JA | ||
| パッケージ/モジュール: | Runtime Works | 英文版作成日: | 2000/12/01 |
| リビジョン: | 6.20.49 | ||
| 修正リビジョン: | |||
| サブシステム: | Alarming Security Visual Basic for Applications |
| テクニカルノート本文: |
背景:
タグにセキュリティコードを割当てることにより、オペレータによるタグへの書込みがブロックされます。適切なセキュリティ権限を持たないオペレータは、現在のタグ値を読取り、タグのアラームを認識することしかできません。以下の例は、Visual Basic for Applicationsを使用して、ログインユーザのセキュリティ権限に基づいて特定のタグのアラーム認識をブロックする方法を示します。
この例を実行するための要件
アラームサマリでカスタム機能を構成できるのは、IdentifyおよびExecuteという2つのボタンだけです。他のすべてのボタンは、予約された機能を実行するため、機能をカスタマイズできません。アラームの認識動作を変更するには、まず最初にAlm Ack, Ack Page, およびAck Allボタンを無効にします。この例では、Executeボタンを構成して、アラーム認識を実行します。
Executeボタンを構成して、アラームサマリで選択されているタグの名前を渡します。これを行なうには、DataメニューでExecuteを選択して、Tagnameパラメータを選択します。この例では、Alarm Executeボタンコマンドは、以下のように表示されます。
VBAExec AlarmAck Tagname
Tagnameは、選択されたタグの名前であることをExecuteコマンドが実行時に解析するための予約名であり、以下のVBAコードに必要なパラメータです。
RSView32 6.20では、すべてのアラーム・サマリ・ボタンのフェーステキストをカスタマイズできます。ボタンのフェーステキストをカスタマイズするには、アラームサマリを編集して、Executeボタンをダブルクリックします。ExecuteボタンのフェーステキストをAcknowledgeに変更します。
VBAコード例
Sub AlarmAck (sTagname As String)Dim oTag As Tag Dim sCode As String On Error GoTo ErrHandler ' For this example a tag object is not needed, however this statement provides ' a way to assure the passed-in parameter is really a valid tag name Set oTag = gTagDb.GetTag(sTagname) 'Check for no security on tag object prior to check for user has permission sCode = gSecurity.GetSecurityCode(sTagname, roSecurityObjectTag) If sCode = "*" Then gCommand.Execute "Acknowledge " & sTagname, roNoWait ElseIf gSecurity.CurrentUserHasPermissionFor (sTagname, roSecurityObjectTag) Then gCommand.Execute "Acknowledge " & sTagname, roNoWait Else gActivity.Log "Insufficient security to acknowledge " & sTagname End If ' Fall through to error handler regardless and clean up all objects ErrHandler: If Err.Number Then gActivity.Log Err.Description & " " & Err.Number Err.Clear End If Set oTag = Nothing End Sub
Alarm Identifyの別の方法
同じ例をIdentifyボタンにも使用できますが、各タグのアラーム構成をマッピングして、VBAコードを実行しなければなりません。例えば、Alarm Identifyコマンドは、以下のとおりです。
VBAExec AlarmAck Tag1
Tag1は、対応するアラーム構成用のタグの名前に対してハードコードされています。どのような方法を選択しても、このVBAコードは同じです。
RSView32 Active Displayについて
クライアント/サーバ環境では、この例は異なる動作をします。VBAコードはサーバ上で実行されるため、セキュリティチェックはクライアントのユーザログインに対してではなく、サーバのユーザログインに対して行なわれます。
アラームにセキュリティチェックを提供して、RSView32およびRSView32 Active Display Systemで制御する他の方法については、以下のサポート・ライブラリ・ドキュメントを参照してください。
A1415JA - RSView32 Active Display SystemのActiveXコントロール:ボタンへのRSView32セキュリティの追加、現在のユーザの表示
A1573JA - RSView32 Active Displayクライアント上で外部アプリケーションがユーザのセキュリティ情報にアクセスする方法
法的な注意事項: |
ロックウェル・ソフトウェア(RSI) のサポートライブラリに記載された情報は、いかなる保証もなく「そのままで」提供されます。RSI は、明示または暗示されたいかなる保証も負いません。また、RSI がそのような損害の可能性を忠告していた場合でも、直接、間接、偶発的、必然的な利益の損失または損害を含むいかなる損害についても、RSI は責任を負いません。
©2000 Rockwell Software Inc. All rights reserved.
