(57)【特許請求の範囲】
【請求項１】
制御処理を行うコントローラと、内部バスを介して前記コントローラに接続された複数のＩ／Ｏカードで構成される、シーケンスイベント収集機能を持った制御ステーションが、ステーション間通信バスで結合されたプロセス制御装置において、
イベント収集を行う全てのＩ／Ｏカードは、前記コントローラからの同期信号でリセットされるフリーランニングタイマレジスタと、このフリーランニングタイマレジスタがリセットされる前に次のフリーランニングタイマレジスタリセットの秒時が前記コントローラから書き込まれる秒時レジスタが実装され、前記Ｉ／Ｏカードは、イベントの発生時刻として前記秒時レジスタ値と前記フリーランニングタイマレジスタ値を使用することにより、任意のイベントにおけるＩ／Ｏ間の時刻同期を行うことを特徴とするプロセス制御装置。
【請求項２】
前記コントローラからの同期信号でリセットされるフリーランニングタイマレジスタの内容が、前記同期信号の周期より早い周期でコピーされるイベント下位時刻領域と、このフリーランニングタイマレジスタがリセットされる前に次のフリーランニングタイマレジスタリセットの秒時が書き込まれる秒時レジスタの内容が、前記同期信号のタイミングでコピーされるイベント上位時刻領域を有し、前記Ｉ／Ｏカードは、イベントの発生時刻として前記イベント上位時刻領域値と前記イベント下位時刻領域値の和を使用することを特徴とする請求項１記載のプロセス制御装置。
【請求項３】
全ての制御ステーションは、専用線を介して標準時刻源からの同期信号の配信を受け制御ステーション間の同期を行うことを特徴とする請求項１または２記載のプロセス制御装置。
【請求項４】
全ての制御ステーションは、前記ステーション間通信バスを介して時刻サーバーからの時刻配信を受け制御ステーション間の同期を行うことを特徴とする請求項１または２記載のプロセス制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
プラントの事故解析やスタートアップ時のエラーログ情報として、プロセス制御装置では、プロセスデータが変化した場合、あるいはしきい値を超えた場合に、その値と発生時刻をイベントとして記録する機能（シーケンスイベント収集機能）を持つ。本発明は、その際に使用する時刻の同期方式に関するものである。
【０００２】
【従来の技術】
図９は、分散型の階層構造をとるプロセス制御装置の一般的な構成を示す機能ブロック図である。複数の制御ステーション（図中では制御ステーション1と制御ステーション２）は、ステーション間通信バス３によって接続され、上位装置４と通信する。また、同じバス３には、各制御ステーション内で検出されたイベント（変化したプロセスデータ値と発生時刻の記録）を収集するためのイベントサーバ５が接続されている。
【０００３】
制御ステーション１において、Ｃ１は制御処理を司るコントローラ、Ｎ１１, Ｎ１２, Ｎ１３, Ｎ１４…は複数のノードである。これらノードは複数のＩ／Ｏカードと１個の通信カード（ＣＯＭ）を実装している。Ｉ／Ｏカードは、入力カード、出力カード、入出力カード等からなる。
【０００４】
Ｂ１は制御ステーション１の内部バスであり、コントローラＣ１と各ノードとは、この内部バスＢ１とノードの夫々に実装された通信カードＣＯＭを介して接続されている。
【０００５】
制御ステーション２におけるコントローラＣ２、複数ノードＮ２１, Ｎ２２, Ｎ２３, Ｎ２４…並びに内部バスＢ２の構成は、制御ステーション１の各要素と同一構成である。同一構成の制御ステーションが任意個数ステーション間通信バス３に接続される。
【０００６】
上記システム構成において、任意の制御ステーションにおけるＩ／Ｏカードまたはコントローラは、Ｉ／Ｏカード（入力カード／入出力カード）によって読み込まれたプロセスデータの変化を捕らえ、発生時刻を付けたイベントとしてこれを保存する。保存されたイベントは定期的にイベントサーバ５によって収集される。
【０００７】
【発明が解決しようとする課題】
Ｉ／Ｏカードでイベントを作成する場合には、同一ステーション内における任意のＩ／Ｏカード間には内部時刻に誤差がある。この結果、Ｉ／Ｏカード間で同時に発生したイベントであっても違った（精度の悪い）時刻が付加される場合がある。
【０００８】
コントローラでイベントを作成する場合には、ステーション間での時刻の誤差によって、異なったステーションの任意のＩ／Ｏカード間で同時に発生したイベントであっても、違った時刻が付加される場合がある。
【０００９】
本発明は、Ｉ／Ｏカードで発生するイベントに付加される時刻の同期精度を高めることができるプロセス制御装置の実現を目的とする。
【００１０】
【課題を解決するための手段】
このような目的を達成するために、本発明のうち請求項１記載発明の特徴は、
制御処理を行うコントローラと、内部バスを介して前記コントローラに接続された複数のＩ／Ｏカードで構成される、シーケンスイベント収集機能を持った制御ステーションが、ステーション間通信バスで結合されたプロセス制御装置において、
イベント収集を行う全てのＩ／Ｏカードは、前記コントローラからの同期信号でリセットされるフリーランニングタイマレジスタと、このフリーランニングタイマレジスタがリセットされる前に次のフリーランニングタイマレジスタリセットの秒時が前記コントローラから書き込まれる秒時レジスタが実装され、前記Ｉ／Ｏカードは、イベントの発生時刻として前記秒時レジスタ値と前記フリーランニングタイマレジスタ値を使用することにより、任意のイベントにおけるＩ／Ｏ間の時刻同期を行う点にある。
【００１１】
請求項２項記載発明の特徴は、
前記コントローラからの同期信号でリセットされるフリーランニングタイマレジスタの内容が、前記同期信号の周期より早い周期でコピーされるイベント下位時刻領域と、このフリーランニングタイマレジスタがリセットされる前に次のフリーランニングタイマレジスタリセットの秒時が書き込まれる秒時レジスタの内容が、前記同期信号のタイミングでコピーされるイベント上位時刻領域を有し、前記Ｉ／Ｏカードは、イベントの発生時刻として前記イベント上位時刻領域値と前記イベント下位時刻領域値の和を使用する点にある。
【００１２】
請求項３項記載発明の特徴は、
全ての制御ステーションは、専用線を介して標準時刻源からの同期信号の配信を受け制御ステーション間の同期を行う点にある。
【００１３】
請求項４項記載発明の特徴は、
全ての制御ステーションは、前記ステーション間通信バスを介して時刻サーバーからの時刻配信を受け制御ステーション間の同期を行う点にある。
【００１８】
【発明の実施の形態】
以下本発明実施態様を、図面を用いて説明する。図１は本発明を適用したプロセス制御装置の一例を示す機能ブロック図であり、図９の従来装置で説明した要素と同一要素には同一符号を付して説明を省略する。
【００１９】
複数の制御ステーションはステーション間通信バス３によって接続されており、同じバスには各ステーション内で検出されたイベント（変化したプロセスデータ値と発生時刻の記録）を収集するイベントサーバ５が接続されている基本構成は従来装置と同一である。
【００２０】
ステーション間通信バス３とは別に、全てのステーションに対して標準時刻源となる機器６が同期用信号専用線７を介して接続され、高精度な定周期パルスＣＬが各制御ステーションのコントローラに配信される。
【００２１】
全てのＩ／Ｏカードは、自己の属する制御ステーションのコントローラからリセットができるフリーランニングタイマ（ＦＴＲ）が実装されている。
制御ステーション１のコントローラＣ１に内部バスＢ１を介して接続されるノードＮ１１及びＮ１２を代表として例示すれば、各Ｉ／Ｏカードはコントローラとの共有領域Ｍ１, Ｍ２, Ｍ３…に、ＦＲＴレジスタＲ１, Ｒ２, Ｒ３…を有している。
【００２２】
ＦＲＴレジスタは、高分解能カウンタ（Ｉ／Ｏ間の同期精度に対して十分に分解能が高い）であり、Ｉ／Ｏカードはプロセスデータがしきい値を超えて変化した場合、ＦＲＴレジスタの値を付加したイベントを保存する。
【００２３】
各制御ステーションのコントローラは、定周期パルスＣＬから同期タイミング（図示では０→１への立ち上がり）を受け取ると、速やかに全てのＩ／Ｏカードに対してＦＲＴレジスタをリセットするためのブロードキャスト送信ＢＣを内部バスに対して行う。
【００２４】
このように、全ての制御ステーション内のコントローラは、共通に入力されている定周期パルスを受け取ったタイミングでＩ／Ｏカードへの同期動作（全Ｉ／ＯのＦＲＴのリセット）を行う。これによって、ステーション内の同期を実現できると共に、全てのＩ／Ｏカードカードの時刻を高精度に同期することができる。
【００２５】
この際、制御ステーション間の同期精度は、定周期パルスの精度に関係する。また、ステーション内のＩ／Ｏカード間の時刻精度は、Ｉ／Ｏカードのクロック精度（ＦＲＴのカウント精度）とプロセスデータのスキャン周期に関係する。
例えば、定周期パルス精度0.1ms、カードのクロック精度0.1ms、プロセスデータのスキャン周期0.5msの場合では、同期精度はこれらの和で0.7msとなる。
【００２６】
図１の実施例では、標準時刻源６からの定周期パルスをステーション間通信バス線３とは別の専用線７で受け取る構成を示したが、この同期用の定周期パルス相当のデータをステーション間通信バス３に接続された時刻サーバー（図示せず）からの配信によって受け取ることもできる。この場合、同期用信号専用線７は不要となる。
【００２７】
以上のように、コントローラによる時刻同期処理（ＦＲＴのリセット）は、Ｉ／Ｏカードのクロック精度によるＦＲＴ値の狂いを補正するために、定期的に行われる。
この動作は、同時にコントローラのイベント収集にも影響を与える。もし、カウンタのリセットが２回行われる内に１回のイベント収集しか行われなかった場合、２回のリセット後、同じ位のＦＲＴ値で発生した２つのイベントは、時間的には全く違った時刻に発生したにも関わらず、同じ位の時刻に発生した２つのイベントの場合との区別がつかない。
【００２８】
つまり、コントローラはＦＲＴのリセット周期と同じか、それ以下の周期でイベントの収集を行わなければならない。
しかし、シーケンスイベント収集機能は、通常の制御動作に影響を与えることなく実行されるべき機能であるため、内部バスの通信エラーが発生した場合にはイベント収集抜けが発生することもありうる。この場合、複数イベントの時間関係が不明確になる可能性がある。
図２の実施例はこのような問題点を解決し、時刻同期抜けやイベント収集抜けが発生した場合でも、複数のイベントの時刻関係を明確に出来る構成を提供する。
【００２９】
図２（Ａ）は、本発明の他の実施例の概念を示す機能ブロック図、（Ｂ）はその動作説明図である。この実施例の特徴は、（Ａ）に示すように、イベント収集を行う全てのＩ／Ｏカードは、コントローラ（代表としてＣ１）からの同期信号（ブロードキャストＢＣ）でリセットされるフリーランニングタイマレジスタ（ＦＲＴＲ）と、このＦＲＴＲがリセットされる前に次のＦＲＴＲリセットの秒時が書き込まれる秒時レジスタ（ＳＥＣＲ）が実装され、Ｉ／Ｏカードは、イベントの発生時刻としてＳＥＣＲ値とＦＲＴＲ値の和を使用する。
【００３０】
図２（Ｂ）において定周期パルスの周期を１ｓとするとき、ｔ１の同期タイミングのブロードキャストでＦＲＴＲがリセットされると次のブロードキャスト時刻の秒時は、（ｔ１＋１ｓ）であることが予め判明している。この秒時情報を時刻（ｔ１＋１ｓ）よりは前でかつ前のブロードキャストの時刻ｔ１より後の時刻ｔ２ですべてのＩ／Ｏカードの秒時レジスタＳＥＣＲに書き込んでこれを更新する。
【００３１】
この場合、ｔ１よりｔ２までの時間τは、イベント収集周期以上に選定する。これはＩ／ＯカードがブロードキャストによるＦＲＴＲのリセット検出時に更新されたＳＥＣＲ値を誤って読み込まないようにする為である。
【００３２】
図３は、図２で説明した実施例を更に具体化する場合の説明図であり、（Ａ）は定周期パルスＣＬの波形図、（Ｂ）はブロードキャスト並びにＳＥＣＲ更新のタイミングチャート図、（Ｃ）はブロードキャストでリセットされるＦＲＴＲ及びブロードキャストより前に更新されるＳＥＣＲのイメージ図であり、これまでは図２（Ｂ）の説明と同一である。
【００３３】
図３（Ｄ）は、全てのＩ／Ｏカードにおけるコントローラとの共有領域に形成されるメモリ領域を示すもものである。ＥＶＴ＿Ｌはイベント下位時刻領域であり、コントローラからのブロードキャストによる同期信号でリセットされるフリーランニングタイマレジスタ（ＦＲＴＲ）の内容が、同期信号の周期（例えば１ｓ）より早い周期（例えばイベント収集タイミング500μｓ）でコピーされる。
【００３４】
ＥＶＴ＿Ｈはイベント上位時刻領域であり、ＦＲＴＲがリセットされる前に次のＦＲＴＲリセットの秒時が書き込まれる秒時レジスタ（ＳＥＣＲ）の内容が、ブロードキャストのタイミングでコピーされる。
Ｉ／Ｏカードは、イベントの発生時刻として上位時刻領域ＥＶＴ＿Ｈ値と下位時刻領域ＥＶＴ＿Ｌ値の和を使用する。
【００３５】
図４は、ＦＲＴＲの値と、ＳＥＣＲ、ＥＶＴ＿Ｈの関係を示した図であり、コントローラからＦＲＴＲのリセットに関する４つのパターンを示している。
パターン１：ＦＲＴＲが１ｓを超えてからリセットが入った。
パターン２：ＦＲＴＲが１ｓを超える前のリセットが入った。
パターン３：リセットが１回抜けて、２ｓを超える前にリセットが入った。
パターン４：リセットが１回抜けて、２ｓを超えてからリセットが入った。
【００３６】
これらいずれのパターンでも、ＳＥＣＲの値は次のリセット秒時となるので、ＥＶＴ＿Ｈには正しい秒時がコピーされる。
【００３７】
図５（Ａ）は、上述したＦＲＴＲ、ＳＥＣＲ、ＥＶＴ＿Ｈ、ＥＶＴ＿Ｌレジスタ並びに同期状態の遷移を制御するＳＹＮＣレジスタの領域、サイズ、初期値、内容の一例を示す表である。このうち、ＳＥＣＲレジスタは（Ｂ）に示すように、秒時カウンタ部ＳＰＳとインクリメンタルカウンタ部ＩＮＣよりなる。ＩＮＣは、コントローラが前回と同じ秒時を設定した場合の識別機能を有する。
【００３８】
図６は、ＳＹＮＣレジスタの状態遷移図である。Ｉ／Ｏカードの対上げで各レジスタが初期化された後イベント収集タイミング（例えば500μｓ）で条件によってＡ状態かＢ状態に遷移する。Ａ状態は非同期状態、Ｂ状態は同期状態を意味する。
図７はＡ状態並びにＢ状態におけるはＳＹＮＣレジスタの値及び意味を示す表である。
【００３９】
図８は、Ａ状態でのアクション▲１▼、Ａ状態からＢ状態へのアクション▲２▼、Ｂ状態でのアクション▲３▼、Ｂ状態からＡ状態へのアクション▲４▼の各アクション番号での遷移条件、実行アクション（アクションα：ＦＲＴＲ→ＥＶＴ＿Ｌへのコピー、アクションβ：ＳＥＣＲＥＶＴ＿Ｈへのコピー、レジスタ初期化）、及びアクション内容を示す表である。
【００４０】
以上説明した実施例では、コントローラからＩ／Ｏカードへの秒時の通知（ＳＥＣＲの更新）は、Ｉ／Ｏカード毎に行われていたが、ブロードキャスト通信にて一括更新にしても可能である。
【００４１】
更に実施例では、ＦＲＴＲのリセットと、ＳＣＥＲの更新は独立に行われているが、I／Ｏカード内部で同時性が保証できれば、ＦＲＴＲのリセットと、ＳＣＥＲの更新は１回の通信で可能である。つまり、ＦＲＴＲのリセットとＳＣＥＲの更新は同時に行われ、二つの領域への書き込み中はI／Ｏカード内部でのＦＲＴＲとＳＣＥＲの読み出しは出来ない仕組みにする。
【００４２】
【発明の効果】
以上説明したことから明らかなように、本発明によれば、全てのステーション内のコントローラは、共通に入力されている同期パルスを受け取ったタイミングでI／Ｏカードへの同期動作（全I／ＯカードのＦＲＴのリセット）を行う。これによって、ステーション内の同期を実現できるとともに全てのI／Ｏカードの時刻を高精度に同期せしめることができる。
【００４３】
さらに本発明では、I／Ｏカードに実装されたカウンタの他に、コントローラから秒時の値を通知することによって、時刻同期の周期よりも長い間隔でコントローラがI／Ｏカード内に蓄えられたイベントを読み出した場合でも、イベント発生時刻を明確にすることが可能である。
【図面の簡単な説明】
【図１】本発明を適用したプロセス制御装置の一例を示す機能ブロック図である。
【図２】本発明を適用したプロセス制御装置の他の実施例の概要を示す機能ブロック図である。
【図３】Ｉ／Ｏカードにおけるコントローラとの共有領域に形成されるイベント下位時刻領域及びイベント上位時刻領域に関する説明図ある。
【図４】ＦＲＴＲの値と、ＳＥＣＲ、ＥＶＴ＿Ｈの関係を示した説明図である。
【図５】ＦＲＴＲ、ＳＥＣＲ、ＥＶＴ＿Ｈ、ＥＶＴ＿Ｌレジスタ並びに同期状態の遷移を制御するＳＹＮＣレジスタの領域、サイズ、初期値、内容の一例を示す表である。
【図６】ＳＹＮＣレジスタの状態遷移図である。
【図７】Ａ状態並びにＢ状態におけるはＳＹＮＣレジスタの値及び意味を示す表である。
【図８】Ａ状態並びにＢ状態におけるはＳＹＮＣレジスタにおけ各アクション番号での遷移条件、実行アクション及びアクション内容を示す表である。
【図９】分散型の階層構造をとるプロセス制御装置の一般的な構成を示す機能ブロック図である。
【符号の説明】
１  制御ステーション
２  制御ステーション
Ｃ１, Ｃ２  コントローラ
Ｎ１１,Ｎ１２  ノード
Ｍ１, Ｍ２, Ｍ３  コントローラとの共有領域
Ｒ１, Ｒ２, Ｒ３  ＦＲＴレジスタ
Ｂ１  内部バス
ＢＣ  ブロードキャスト
３  ステーション間通信バス
４  上位装置
５  イベントサーバ
６  標準時刻源
７  同期信号用専用線
ＣＬ  同期用信号（定周期パルス）
【図１】
0003941101.tif 000002
【図２】
0003941101.tif 000003
【図３】
0003941101.tif 000004
【図４】
0003941101.tif 000005
【図５】
0003941101.tif 000006
【図６】
0003941101.tif 000007
【図７】
0003941101.tif 000008
【図８】
0003941101.tif 000009
【図９】
0003941101.tif 000010