4.4. イベントロガーとアラーム管理#
装置の制御ロジックで発生した様々なインシデントについて、その発生時刻や重大度、および、メッセージをロギングする機構があり、TwinCAT EventLoggerと呼びます。
本章では、PLCプログラム上における異常監視ロジックの実装と、アラームイベントの登録方法、そして全てのアラームの集計や、ブザーやHMIへの表示・制御インターロックへ用いるための一連のデザインパターンをご紹介します。
APIドキュメント節の実装を独立したライブラリとして保存しておくと、汎用的なアラーム管理フレームワークとして活用いただく事が可能になっています。
本フレームワークの特徴#
TwinCATが提供するイベントロガーの機能には、アラームとメッセージの二つがあります。メッセージは単なるイベントを記録するだけの機能(ステートレス)ですが、アラームはこれに加えて状態を持ちます。(ステートフル)
まず、該当アラームが発生中か否か、という状態を持ちます。
また、アラームが発生して、未だ制御対象の機械のオペレータがそのアラームに気付いていない状態と、確認済みの状態を持ちます。
TwinCATの提供するファンクションブロックFB_TcEventLogger
の中には、アラームの状態などを集計して監視する機能はあるのですが、上記の未確認アラームの有無や、重要度を指定した細かなクエリ機能までは用意されていません。
本フレームワークはこれらの機能を実現すると共に、Raise/Not Raisedの状態遷移時のイベントハンドラを実装する事で様々なメディアに対する履歴記録機能を提供します。