SISシステムにおけるSOEのよくある問題とSOE設定戦略
Thread Content
SISシステムとは、Safety Instrumented System、つまり安全計装システムの略称であり、ESD(Emergency Shutdown Device、緊急停止装置)から発展したものです。その目的は、製造プラントの起動から停止に至るまでの全過程をあらゆる面から安全に保護することです。石油化学プラントの大型化やリレー保護システムの複雑化に伴い、SISシステムの利用がますます増えている。SOEとはSequence Of Event、つまりイベントの順序を記録するもので、障害(停止)が発生した時間や種類を記録するために使用されます。一般的にSISシステムには、事故分析や障害の原因究明のために、独自のSOEソフトウェアが搭載されています。近代的な化学プラントがますます複雑になるため、停止の原因は多岐にわたります。そのため、プロセスであれ計装であれ、停止原因を特定するためにSOE記録への依存度が高まっています。 原文地址:yunrun.com.cn/tech/1934.html1.現在のSISシステムにおいてSOEが形だけになっている理由
多くの製造現場において、インターロックロジックの完全性や厳密性、詳細さに比べて、ほとんどのプロジェクトでSOEの設定に十分な配慮が払われていない。そのため、SOEシステムは形だけのものとなり、事故原因の分析や特定を効果的に支援することができないのである。主に以下のいくつかの点で表れています:①SOE事件の混乱; ②SOE変数は多く、駐車イベントと無関係な変数が混在している; ③SOEの記録時間とDCS(分散制御システム)のトレンド記録時間が一致しない; ④イベント発生時にロックされ、復元時にはロックできなかった; ⑤入力変数と出力変数が混在している; これらの問題の主な原因は、エンジニアリング設計段階でSOEに対する全体的な計画が欠如していることであり、これは後期の論理テストにも不利であり、運用開始後のイベント分析にも支障をきたす。 昌晖計器yunrun.com.cn 2、SISシステムにおけるSOE設定戦略 上記の問題に対し、昌晖計器は長年の保守経験に基づき、以下のようなSOE設定戦略をまとめました。 ①SOE変数の最適化 SOEの目的は、特に交通事故の分析において、事象の発生順序を分析しやすくすることです。すべてのSIS変数がSOE変数である必要はない。SOE変数を慎重に選定し、その数をできるだけ削減することは、SOE構成における最も重要な事前作業です。選定基準は、それが事故分析に役立つ必要な変数かどうかということです。タイムタイマーや通路の状態、運転条件、DCSへの通知変数、補助操作盤のアラームランプなど、論理的には関連しているものの停車事象とは無関係な変数は、できるだけSOE変数に含めないようにします。SOE変数は、事故を分析し、不具合を探るために不可欠な重要なデータであることを保証します。 ②SISシステムの動作サイクルの最適化 SISシステムはすべて、PLC(プログラマブルロジックコントローラ)というハードウェアを基盤として開発されており、システムのスキャンサイクルは、プログラムの実際の応答時間に適切な余裕を加えて決定されます。SISシステムの役割は、プロセスパラメータを監視し、深刻な結果を招く可能性のある「逸脱」に対して最終的に「制御」を行うことであり、その動作の大部分は不可逆的です。停止条件が作動すると、保護対象の装置は迅速かつ安全、安定に停止し、安全な状態になることが求められる。したがって、私たちはシステムに迅速な応答サイクルと低いシステム負荷を求め、高い安全性と信頼性の実現を期待しています。 システムのスキャン周期が短いほど、SOE記録において1つの周期で現れる記録数も少なくなり、同じスキャン周期内に複数の停止信号が出現することを効果的に減らすことができ、事故の特定を容易にします。「GB/T50770-2013 石油化学工業用安全計装システム設計規格」の要求によれば、コントローラの応答時間(入力・出力スキャンおよび演算時間を含む)は100~300msとすることが望ましい;コントローラの負荷は50%を超えない。 論理的完全性、信頼性、および可読性を保証した上で、プログラムの実行時間を短縮することは、エンジニアリングコンフィギュレーションにおけるもう一つの重要な課題です。 a、入力データの前処理作業の削減 DCSシステムでよく見られる信号の二乗根抽出、線形化、ノイズやダンピング処理などは、可能な限りSISシステムの外側で行う。例えば、現場のトランスミッタで信号の平方根処理や減衰処理を行ったり、温度信号を事前に標準信号に変換したりすることで、SISシステムの負荷をできるだけ軽減します。 b、シンプルなデータ型とデータ構造を柔軟に活用する 工程設定時にデータ型を柔軟に利用することで、メモリ容量の消費を効果的に抑え、演算時間を短縮できる。例えば、論理構成時には、できるだけ算術演算を使わず、それに代わって論理演算を用いる;算数演算を使わなければならない場合は、足し算と引き算を多用し、掛け算と割り算は控えめに使う;乗算、除算、平方根などの演算がない場合は、整数を優先的に使用する;連鎖制御用のアナログ量で、整数を使用する場合、測定範囲が狭く精度が不十分になるため、適宜拡大(整数倍)することができる。 数値の条件判定演算を行う際は、できるだけ比較モジュールを使用し、等値判定はできるだけ使わないか使用しないこと; また、さまざまなデータ型の演算処理においては区別して扱う必要があり、コントローラーの誤ったオーバーフローや大きな偏差が生じるのを防ぐため、例えば除算演算では除数がゼロでないかを確認しなければならない;平方根演算は、平方根の値が負数かどうかをチェックします;乗算、除算、平方根などの演算を行う際は、必ず浮動小数点数を使用しなければならず、そうでないと大きな計算誤差が生じます。 c、複雑なデータ型やアルゴリズムの使用には慎重を要する。現在のSISシステムは多様な構成言語をサポートしており、知的財産権の保護や可読性などの理由から、多くの関数ライブラリも提供されている。これらのコンフィギュレーションツールは、論理機能の実現を大いに容易にしてくれます。しかし、使用する際には論理が肥大化し、コントローラーの負荷が増加するのを避けるべきです。例えば、できるだけシステム関数ライブラリを使用し、コンストラクタは少なく使う;ファンクションブロック(Function BlocksまたはFB)はあまり使わず、ファンクション(FunctionまたはFC)を多用しましょう。なぜなら、ファンクションブロックは別途ストレージスペースを消費するからです;PID演算の削減または回避;ループ文の使用を減らす;再帰アルゴリズムなどの使用は厳禁です。論理が正しく、安全で、読みやすいという前提のもと、コントローラの負荷を軽減するために、可能な限り論理構造を簡素化する。 ③SOE変数のグループ分け SOE変数を設定する主な目的は、イベントが発生した原因や、アクションの実行順序などを分析しやすくするためです。上記のクエリは同時に使用されるわけではありません。例えば駐車理由を調べる場合、変数の入力順序だけを指定すればよいのです;アクションの状況を分析するには、出力変数の時間順序を並べるだけでよい。事前にSOE変数をグループ分けしないと、SOEレコードは入力変数、出力変数、および中間変数が混在してしまい、イベントの検索や分析に支障をきたす可能性があります。また、場合によっては1つのSISシステムが、相互に独立した複数の装置や機能領域のロジックを同時に扱う必要があり、その際にもSOE変数をグループ分けする必要がある。なお、システムによっては、多くのシステムでSOE変数を定義する際にグループ分けが必要となります。したがって、プロジェクトの設定段階では、SOE変数を事前にグループ分けすることが必要である。 a、まず、システム内の異なる機能領域に応じてグループ分けを行い、例えば並行して稼働する複数の生産ラインや、比較的独立した複数の機械群の制御などです。これらの生産シリーズやユニットの制御が異なるSISコントローラに分散していても、これらのSISコントローラが同じSOEサーバを共有している可能性があるため、SOE変数のグループ分けは必要となる。 b、入力出力タイプによって分類し、中間変数は含めない;連動に関与するアナログ量については、比較モジュールによる投票処理後のブール値がDIポイントと見なされ、中間変数とは見なされない; c、厳格なタイミング制御が必要なプロジェクトにおいては、順序制御ステップ番号もイベントの流れを分析する上で重要なパラメータであり、別途グループ分けすべきである。 ④時刻同期(Time Synchronize) 同一装置内の異なるシステム間で、履歴トレンドやSOEデータの時間を一致させるために、システム間で時刻同期を行う必要がある。例えば、SOEレコード内の変数の時間は、コントローラから持ち込まれるタイムスタンプであり、それはコントローラのクロックを基準としています;また、SOEステーションの時計は、現在のエンジニアステーションのPCの時計である可能性があり、必ずしも一致するとは限りません;同様に、オペレーターステーションの時計とも必ずしも一致するわけではありません。アナログ値の傾向記録とSOEイベント記録を比較・判断できるのは、ある時間基準が存在する場合に限られる。時刻同期の方法には、GPS(Global Positioning System)による時刻供給、NTP(Network Time Protocol)による時刻供給、DCSによる補正時刻供給など、多くの種類があります。場合によっては、複数の時刻供給方法を同時に組み合わせて使用する必要があります。 クロック同期を行う際には、以下の点に注意する必要があります:a、クロックソースの一意性。DCS、SIS、ITCCなど複数のシステムが共存する環境において、異なるシステムのオペレーションステーション、コントロールステーション、エンジニアステーション、SOEステーションなどが同じタイムベースを維持し、重複したタイミング設定を避けます。 b、単一システムでは、操作ステーションと制御ステーションの上下層間のタイミング同期性および一方向性に注意する。 c、補正同期を行う際は、正時(1日目、1週間目など)の同期を避け、信号のジャンプによる大きな誤差が生じないように注意する必要がある。 d、補正型時刻同期では、時刻同期信号の安定性と耐干渉性を確保しつつ、遅延モジュールを適切に使用し、時刻同期の遅延が生じないようにする必要がある。 e、定期的にクロック信号の一致性をチェックし、タイミングエラーを迅速に発見する。干渉、スイッチの故障、ケーブルの故障、IPアドレスの衝突などの理由により、時刻同期信号が途切れることがあります。そのため、保守担当者が定期的に点検を行い、タイムサービスを迅速に再起動するか、手動で時刻のずれを修正する必要があります。 ⑤SOE記録の起動・停止について、1セットのSOEサーバーに複数のSISコントローラーや、複数の独立した制御ユニットや装置がある場合、このようなSOEシステムでは各ユニット(装置)のSOE記録が必ずしも同時にはならない。例えば、複数のシリーズの生産装置があり、あるシリーズは通常通り生産しているが、別のシリーズは定期的な点検を行っている;一部の機組(ユニット、装置)では短時間の停止が発生することがあります。これらの点検や短時間停止中の装置については、そのシステムのSOE記録を停止させるべきである。そうしないと、停止中にインターロック試験、バルブテスト、システム調整などによって大量の無効な記録が生成され、これらの記録は事故や故障の分析には役立たない上、大量のストレージ容量を占有してしまう。 実際、ほとんどのシステムメーカーのデフォルト設定では、DCSシステムが電源投入されると自動的にSOE記録が開始されます。ですから、この部分には大きな最適化の余地があります。例えばTriconのTS3000では、システムは最大16組のSOE記録を提供し、各グループには最大20,000件(バッファ、FIFO)の記録を保存できます。各SOEレコードには、起動、停止、クリアの機能を設定できます。このように、多数の比較的独立した装置、ユニット、シリーズ、または機器を持つSOEステーションでは、SOE変数を適切にグループ分けし、それぞれに適したSOE記録の開始(停止、クリア)条件を設定することで、SOEステーションが必要なデータのみを記録するようにできる。 一部のSISシステムにおいて、SOEにサードパーティ製ソフトウェアが使用されている場合、そのSOEの起動・停止記録は上位機で行われます。これらの機能が確実に実現できるよう、事前にメーカーと連絡を取ることが重要です。 また、SOE設定時には、一部のシステムソフトウェアがデフォルトで警報時間のみを記録し、復帰時間は記録しないため、このような重要な変数は手動で設定する必要がある点にも注意が必要です。 以上がSOEコンフィギュレーションにおける主な問題であり、日常のメンテナンスでよく問題となる箇所でもあります。要するに、SISシステムは、論理を適切に最適化し、SOE変数を削減し、コントローラの負荷を軽減し、効果的なグループ分けといった設定戦略によってこそ、SOE記録の機能を十分に発揮させ、それを真に障害の分析や判断のためのツールとして活用できるのである。 著者:中国石化齊魯分公司運用管理センター 徐強