(57)【要約】【課題】定周期からの遅れを回復することができ、本来の定周期での処理が極力維持されるような周期制御装置および周期制御方法を提供する。【解決手段】起床時刻設定手段１０１は、処理タスクの起床時刻を、継続的な動作が確保されたタイマＴＭの計時に対応付けて設定する。起床手段１０２は、タイマＴＭの計時が起床時刻設定手段１０１により設定された起床時刻となったときに処理タスクを起床させる。タイミング取得手段１０３は、処理タスクにおける実際の動作のタイミングをタイマＴＭの計時に対応付けて取得する。この場合、起床時刻設定手段１０１はタイミング取得手段１０３により取得されたタイミングに基づいて起床時刻を設定する。【選択図】図１
2007206008.tif 000002
【特許請求の範囲】
【請求項１】
処理タスクにおける処理の周期を制御する周期制御装置において、
継続的な動作が確保されたタイマと、
処理タスクの起床時刻を前記タイマの計時に対応付けて設定する起床時刻設定手段と、
前記タイマの計時が前記起床時刻設定手段により設定された起床時刻となったときに前記処理タスクを起床させる起床手段と、
を備えることを特徴とする周期制御装置。
【請求項２】
前記処理タスクにおける実際の動作のタイミングを前記タイマの計時に対応付けて取得するタイミング取得手段を備え、
前記起床時刻設定手段は前記タイミング取得手段により取得された前記タイミングに基づいて前記起床時刻を設定することを特徴とする請求項１に記載の周期制御装置。
【請求項３】
前記タイミング取得手段は、前記処理タスクの起床のタイミングを取得することを特徴とする請求項２に記載の周期制御装置。
【請求項４】
前記タイミング取得手段は、前記処理タスクの休眠開始のタイミングを取得することを特徴とする請求項２または３に記載の周期制御装置。
【請求項５】
処理タスクにおける処理の周期を制御する周期制御装置において、
継続的な動作が確保されたタイマと、
処理タスクの実際の起床時刻を前記タイマの計時に対応付けて取得する起床時刻取得手段と、
前記起床時刻取得手段により取得された前記起床時刻に基づいて、次の起床時刻を前記タイマの計時に対応付けて設定する起床時刻設定手段と、
前記タイマの計時が前記起床時刻設定手段により設定された起床時刻となったときに前記処理タスクを起床させる起床手段と、
を備えることを特徴とする周期制御装置。
【請求項６】
前記起床時刻設定手段は、前記起床時刻取得手段により取得された前記起床時刻が所定時刻よりも前である場合には起床時刻を定周期に設定し、前記起床時刻取得手段により取得された前記起床時刻が前記所定時刻よりも後である場合には起床時刻を定周期よりも遅れた時刻に設定することを特徴とする請求項５に記載の周期制御装置。
【請求項７】
処理タスクの実際の休眠開始時刻を前記タイマの計時に対応付けて取得する休眠開始時刻取得手段と、
前記休眠開始時刻取得手段により取得された前記休眠開始時刻が所定時刻よりも後である場合には、起床時刻設定手段により設定される起床時刻を遅らせる起床遅延手段と、
を備えることを特徴とする請求項５または６に記載の周期制御装置。
【請求項８】
処理タスクにおける処理の周期を制御する周期制御方法において、
処理タスクの起床時刻を継続的な動作が確保されたタイマの計時に対応付けて設定するステップと、
前記タイマの計時が前記起床時刻を設定するステップにより設定された起床時刻となったときに前記処理タスクを起床させるステップと、
を備えることを特徴とする周期制御方法。
【請求項９】
処理タスクにおける処理の周期を制御する周期制御方法において、
処理タスクの実際の起床時刻を、継続的な動作が確保されたタイマの計時に対応付けて取得するステップと、
取得された前記起床時刻に基づいて、次の起床時刻を前記タイマの計時に対応付けて設定するステップと、
前記タイマの計時が設定された前記起床時刻となったときに前記処理タスクを起床させるステップと、
を備えることを特徴とする周期制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理タスクにおける処理の周期を制御する周期制御装置および周期制御方法に関し、とくに処理の定周期性を確保できる周期制御装置および周期制御方法に関に関する。
【背景技術】
【０００２】
プラントの安全を確保するための安全システムでは、プラントに設置されたフィールド機器からの情報を周期的に収集し、所定の演算を実行して演算結果を出力する処理を実行している。このような処理を周期的に実行することで、プラントの異常をリアルタイムに検出し、迅速にシャットダウン等の処置を実行することで、プラントの安全を確保することができる。
【０００３】
特許文献１には、所定の設定時刻に処理制御信号を出力する設定時刻制御装置において、時刻を補正した場合の不具合を改善する発明が記載されている。
【０００４】
【特許文献１】特開２００２−２５０７８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記処理を実行するセイフティーコントローラは、周期的な処理を実行する制御タスクと、制御タスクの上位にあるＯＳ（オペレーティングシステム）とを含んで構成される。制御タスクは一定の処理を実行すると、自ら起床時刻を計算してＯＳに対して休眠を要求し、休眠する。計算により定められた起床時刻になると、ＯＳは制御タスクを起床させ、制御タスクは再び一定の処理を実行する。このように、制御タスクが一定の処理と、休眠とを交互に繰り返すことで、プラントの安全に必要な周期的処理を実行している。
【０００６】
しかし、制御タスクに割り込み処理が発生した場合、割り込み処理が上記の周期的な処理に優先される。このため、割り込み処理が発生すると、割り込み処理時間の分だけ処理が遅れ、その遅れを挽回する機会がない。このため、定周期での処理ができなくなるという問題がある。
【０００７】
本発明の目的は、定周期からの遅れを回復することができ、本来の定周期での処理が極力維持されるような周期制御装置および周期制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の周期制御装置は、処理タスクにおける処理の周期を制御する周期制御装置において、継続的な動作が確保されたタイマと、処理タスクの起床時刻を前記タイマの計時に対応付けて設定する起床時刻設定手段と、前記タイマの計時が前記起床時刻設定手段により設定された起床時刻となったときに前記処理タスクを起床させる起床手段と、を備えることを特徴とする。
この周期制御装置によれば、継続的な動作が確保されたタイマの計時が起床時刻となったときに処理タスクを起床させるので、起床時刻が処理タスクでの処理の状況の影響を受けずに設定されるため、定周期での処理が確保される。
【０００９】
前記処理タスクにおける実際の動作のタイミングを前記タイマの計時に対応付けて取得するタイミング取得手段を備え、前記起床時刻設定手段は前記タイミング取得手段により取得された前記タイミングに基づいて前記起床時刻を設定してもよい。
【００１０】
前記タイミング取得手段は、前記処理タスクの起床のタイミングを取得してもよい。
【００１１】
前記タイミング取得手段は、前記処理タスクの休眠開始のタイミングを取得してもよい。
【００１２】
本発明の周期制御装置は、処理タスクにおける処理の周期を制御する周期制御装置において、継続的な動作が確保されたタイマと、処理タスクの実際の起床時刻を前記タイマの計時に対応付けて取得する起床時刻取得手段と、前記起床時刻取得手段により取得された前記起床時刻に基づいて、次の起床時刻を前記タイマの計時に対応付けて設定する起床時刻設定手段と、前記タイマの計時が前記起床時刻設定手段により設定された起床時刻となったときに前記処理タスクを起床させる起床手段と、を備えることを特徴とする。
この周期制御装置によれば、起床時刻に基づいて、次の起床時刻を継続的な動作が確保されたタイマの計時に対応付けて設定するので、定周期からの遅れを回復することができるような次の起床時刻を設定でき、本来の定周期での処理が極力維持される。
【００１３】
前記起床時刻設定手段は、前記起床時刻取得手段により取得された前記起床時刻が所定時刻よりも前である場合には起床時刻を定周期に設定し、前記起床時刻取得手段により取得された前記起床時刻が前記所定時刻よりも後である場合には起床時刻を定周期よりも遅れた時刻に設定してもよい。
【００１４】
処理タスクの実際の休眠開始時刻を前記タイマの計時に対応付けて取得する休眠開始時刻取得手段と、前記休眠開始時刻取得手段により取得された前記休眠開始時刻が所定時刻よりも後である場合には、起床時刻設定手段により設定される起床時刻を遅らせる起床遅延手段と、を備えてもよい。
【００１５】
本発明の周期制御方法は、処理タスクにおける処理の周期を制御する周期制御方法において、処理タスクの起床時刻を継続的な動作が確保されたタイマの計時に対応付けて設定するステップと、前記タイマの計時が前記起床時刻を設定するステップにより設定された起床時刻となったときに前記処理タスクを起床させるステップと、を備えることを特徴とする。
この周期制御方法によれば、継続的な動作が確保されたタイマの計時が起床時刻となったときに処理タスクを起床させるので、起床時刻が処理タスクでの処理の状況の影響を受けずに設定されるため、定周期での処理が確保される。
【００１６】
本発明の周期制御方法は、処理タスクにおける処理の周期を制御する周期制御方法において、処理タスクの実際の起床時刻を、継続的な動作が確保されたタイマの計時に対応付けて取得するステップと、取得された前記起床時刻に基づいて、次の起床時刻を前記タイマの計時に対応付けて設定するステップと、前記タイマの計時が設定された前記起床時刻となったときに前記処理タスクを起床させるステップと、を備えることを特徴とする。
この周期制御方法によれば、起床時刻に基づいて、次の起床時刻を継続的な動作が確保されたタイマの計時に対応付けて設定するので、定周期からの遅れを回復することができるような次の起床時刻を設定でき、本来の定周期での処理が極力維持される。
【発明の効果】
【００１７】
本発明の周期制御装置によれば、継続的な動作が確保されたタイマの計時が起床時刻となったときに処理タスクを起床させるので、起床時刻が処理タスクでの処理の状況の影響を受けずに設定されるため、定周期での処理が確保される。
【００１８】
本発明の周期制御装置によれば、起床時刻に基づいて、次の起床時刻を継続的な動作が確保されたタイマの計時に対応付けて設定するので、定周期からの遅れを回復することができるような次の起床時刻を設定でき、本来の定周期での処理が極力維持される。
【００１９】
本発明の周期制御方法によれば、継続的な動作が確保されたタイマの計時が起床時刻となったときに処理タスクを起床させるので、起床時刻が処理タスクでの処理の状況の影響を受けずに設定されるため、定周期での処理が確保される。
【００２０】
本発明の周期制御方法によれば、起床時刻に基づいて、起床時刻に基づいて次の起床時刻を継続的な動作が確保されたタイマの計時に対応付けて設定するので、定周期からの遅れを回復することができるような次の起床時刻を設定でき、本来の定周期での処理が極力維持される。
【発明を実施するための最良の形態】
【００２１】
図１は本発明による周期制御装置を機能的に示すブロック図である。
【００２２】
図１において、起床時刻設定手段１０１は、処理タスクの起床時刻を、継続的な動作が確保されたタイマＴＭの計時に対応付けて設定する。起床手段１０２は、タイマＴＭの計時が起床時刻設定手段１０１により設定された起床時刻となったときに処理タスクを起床させる。
【００２３】
タイミング取得手段１０３は、処理タスクにおける実際の動作のタイミングをタイマＴＭの計時に対応付けて取得する。この場合、起床時刻設定手段１０１はタイミング取得手段１０３により取得されたタイミングに基づいて起床時刻を設定する。
【００２４】
また、図１において、起床時刻取得手段１１１は、処理タスクの実際の起床時刻を、継続的な動作が確保されたタイマＴＭの計時に対応付けて取得する。起床時刻設定手段１１２は、起床時刻取得手段１１１により取得された起床時刻に基づいて、次の起床時刻をタイマＴＭの計時に対応付けて設定する。起床手段１１３は、タイマＴＭの計時が起床時刻設定手段１１２により設定された起床時刻となったときに処理タスクを起床させる。
【００２５】
休眠開始時刻取得手段１１４は、処理タスクの実際の休眠開始時刻をタイマＴＭの計時に対応付けて取得する。起床遅延手段１１５は、休眠開始時刻取得手段１１４により取得された休眠開始時刻が所定時刻よりも後である場合には、起床時刻設定手段１１２により設定される起床時刻を遅らせる。
【００２６】
以下、図２〜図６を参照して、本発明によるスキャン制御装置の一実施形態について説明する。
【００２７】
図２は本発明によるスキャン制御装置が適用される安全システムの構成を示すブロック図である。この安全システムは、プラントに設けられたフィールド機器を監視することで、プラントの安全を確保するためのシステムである。
【００２８】
図２に示すように、安全システムはフィールド機器１，１，・・・からの情報を周期的に取得するセイフティーコントローラ２，２，・・・と、セイフティーコントローラ２，２，・・・を介してフィールド機器１，１，・・・を統合的に監視する監視サーバ３とを備える。セイフティーコントローラ２，２，・・・は、通信回線４を介して監視サーバ３に接続されている。
【００２９】
図２に示すように、セイフティーコントローラ２は、ＯＳ（オペレーティングシステム）２１と、所定の処理を周期的に実行する制御タスク２２と、フィールド機器１，１，・・・との間での通信を実行するためのＩＯ（入出力）ドライバ３と、通信回線４を介しての通信を実行するための通信ドライバ２４とを備える。
【００３０】
ＯＳ２１は、例えば１０ｍｓｅｃごとに発生するティック（Ｔｉｃｋ）をタイマとして利用することで時刻および時間を認識する。ＯＳ２１はティックの発生回数を積算し、その積算回数を時刻として使用する。本実施形態では、制御タスク２２の起床時刻をＯＳ２１のタイマに基づいて管理し、制御タスク２２における処理の周期を制御している。
【００３１】
図３および図４は制御タスク２２における処理の周期を制御するための動作手順を示すフローチャートである。
【００３２】
図３のステップＳ１〜ステップＳ５は制御タスク２２の処理を示す。この処理は、制御タスク２２の起床により開始され、休眠により終了される。
【００３３】
図３のステップＳ１では、制御タスク２２は、基準時刻の送信をＯＳ２１に要求し、これを受信する。
【００３４】
次に、ステップＳ２〜ステップＳ４では、制御タスク２２に与えられたタスクとしてのインプット処理、ロジック処理およびアウトプット処理を順次、実行する。
【００３５】
次に、ステップＳ５では、ステップＳ１で受信した基準時刻からスキャン周期Ｃだけ経過した時刻に起床するような休眠時間を計算し、これを指定休眠時間ＡｋとしてＯＳ２１に送信し、休眠する。
【００３６】
図３のステップＳ１１〜ステップＳ１９は、ＯＳ２１における起床予定時刻設定の処理を示している。この処理では、制御タスク２２のステップＳ１の要求に応じて制御タスク２２に向けて基準時刻を送信するとともに、次の起床予定時刻を設定する。この処理は、制御タスク２２からのステップＳ１の要求を受けて開始される。
【００３７】
制御タスク２２からのステップＳ１の要求を受けると、図３のステップＳ１１では、ＯＳ２１は、今回の要求が初回の要求か否か判断し、判断が否定されればステップＳ１２へ進み、判断が肯定されればステップＳ１８へ進む。
【００３８】
ステップＳ１２では、前回設定した起床予定時刻Ｗｋ−１と現在時刻Ｔｋとを比較する。
【００３９】
次にステップＳ１３では、ステップＳ１２の比較結果から、現在時刻Ｔｋが起床予定時刻Ｗｋ−１を経過しているか否か判断し、判断が肯定されればステップＳ１４へ進み、判断が否定されればステップＳ１８へ進む。
【００４０】
ステップＳ１４では、起床予定時刻Ｗｋ−１からスキャン周期Ｃだけ経過した時刻と、現在時刻Ｔｗとを比較する。
【００４１】
次にステップＳ１５では、ステップＳ１４の比較結果から、現在時刻Ｔｋが起床予定時刻Ｗｋ−１からスキャン周期Ｃだけ経過した時刻を経過しているか否か判断し、判断が肯定されればステップＳ１８へ進み、判断が否定されればステップＳ１６へ進む。
【００４２】
ステップＳ１６では、次の起床予定時刻Ｗｋを、起床予定時刻Ｗｋ−１からスキャン周期Ｃだけ経過した時刻に設定し、これを保存する。
【００４３】
次にステップＳ１７では、制御タスク２２に向けて、前回設定した起床予定時刻Ｗｋ−１を上記基準時刻として送信し、処理を終了する。
【００４４】
一方、ステップＳ１８では、次の起床予定時刻Ｗｋを、現在時刻Ｔｋからスキャン周期Ｃだけ経過した時刻に設定し、これを保存する。
【００４５】
次にステップＳ１９では、制御タスク２２に向けて、現在時刻Ｔｋを上記基準時刻として送信し、処理を終了する。
【００４６】
図５は基準時刻の設定方法を示す図である。
【００４７】
図５（ａ）は、制御タスク２２のステップＳ１の要求が初回であった場合を示している。この場合には、ステップＳ１８では、次の起床予定時刻Ｗｋを、現在時刻Ｔ１からスキャン周期Ｃだけ経過した時刻に設定する。ここでは、現在時刻Ｔ１を基準とした一定のスキャン周期Ｃの確立を図っている。
【００４８】
図５（ｂ）は、現在時刻Ｔｋが起床予定時刻Ｗｋ−１を経過しているが（ステップＳ１３；ＹＥＳ）、現在時刻Ｔｋが起床予定時刻Ｗｋ−１からスキャン周期Ｃだけ経過した時刻を経過していない（ステップＳ１５；ＮＯ）場合を示している。この場合には、ステップＳ１８では、次の起床予定時刻Ｗｋを、起床予定時刻Ｗｋ−１からスキャン周期Ｃだけ経過した時刻に設定し、スキャン周期Ｃの維持を図っている。
【００４９】
図５（ｃ）は、現在時刻Ｔｋが起床予定時刻Ｗｋ−１からスキャン周期Ｃだけ経過した時刻を経過している（ステップＳ１５；ＹＥＳ）場合を示している。ステップＳ１８では、次の起床予定時刻Ｗｋを、現在時刻Ｔｋからスキャン周期Ｃだけ経過した時刻に設定する。ここでは、現在時刻Ｔｋを新たな基準とした一定のスキャン周期Ｃの確立を図っている。
【００５０】
図５（ｄ）は、現在時刻Ｔｋが起床予定時刻Ｗｋ−１と同時または起床予定時刻Ｗｋ−１よりも前である（ステップＳ１３；ＮＯ）場合を示している。この場合には、ステップＳ１８では、次の起床予定時刻Ｗｋを、現在時刻Ｔｋからスキャン周期Ｃだけ経過した時刻に設定する。ここでは、現在時刻Ｔｋを新たな基準とした一定のスキャン周期Ｃの確立を図っている。
【００５１】
図４のステップＳ２１〜ステップＳ２８は、ＯＳ２１における休眠時間設定の処理を示している。この処理は、ステップＳ５において制御タスク２２から送信された指定休眠時間Ａｋを、ＯＳ２１が受信したときに開始される。
【００５２】
図４のステップＳ２１では、ステップＳ１６において設定された起床予定時刻Ｗｋと、現在時刻Ｓｋとを比較する。次にステップＳ２２では、ステップＳ２１の比較結果に基づき、現在時刻Ｓｋが起床予定時刻Ｗｋを経過しているか否か判断し、判断が否定されればステップＳ２３へ進み、判断が肯定されればステップＳ２７へ進む。
【００５３】
ステップＳ２３では、起床予定時刻Ｗｋと、現在時刻Ｓｋから指定休眠時間Ａｋ経過後の時刻とを比較する。次に、ステップＳ２４では、ステップＳ２３の比較結果に基づき、現在時刻Ｓｋから指定休眠時間Ａｋ経過後の時刻が、起床予定時刻Ｗｋを経過しているか否か判断し、判断が肯定されればステップＳ２５へ進み、判断が否定されればステップＳ２６へ進む。
【００５４】
ステップＳ２５では、休眠時間を、現在時刻Ｓｋから起床予定時刻Ｗｋまでの時間に設定し、ステップＳ２８へ進む。
【００５５】
一方、ステップＳ２６では、休眠時間を指定休眠時間Ａｋに設定し、ステップＳ２８へ進む。
【００５６】
また、ステップＳ２７では、休眠時間を１ティックに設定し、ステップＳ２８へ進む。
【００５７】
ステップＳ２８では、タスク休眠処理を実行することで、制御タスク２２を休眠させ、処理を終了する。
【００５８】
図４のステップＳ３１〜ステップＳ３２は、ＯＳ２１における制御タスク２２を起床させる処理を示している。この処理はタスク休眠処理の実行（ステップＳ２８）を受けて開始される。
【００５９】
図４のステップＳ３１では、設定された休眠時間（ステップＳ２５、ステップＳ２６およびステップＳ２７）が経過するのを待ってステップＳ３２へ進む。
【００６０】
ステップＳ３２では、タスク起床処理を実行することで、制御タスク２２を起床させ、処理を終了する。
【００６１】
図６は休眠時間の設定方法を示す図である。
【００６２】
図６（ａ）は現在時刻Ｓｋが起床予定時刻Ｗｋを経過していない（ステップＳ２２；ＮＯ）場合を示している。この場合には、起床予定時刻Ｗｋに起床するような休眠時間が設定される（ステップＳ２５およびステップＳ２６）。このように、現在時刻Ｓｋが起床予定時刻Ｗｋを経過していない場合には、指定休眠時間Ａｋの経過前であっても、制御タスクを起床予定時刻Ｗｋに起床させる。
【００６３】
図６（ｂ）は現在時刻Ｓｋが起床予定時刻Ｗｋを経過している（ステップＳ２２；ＹＥＳ）場合を示している。この場合には、指定休眠時間Ａｋと無関係に休眠時間を１ティックに設定する（ステップＳ２７）。現在時刻Ｓｋが起床予定時刻Ｗｋを経過している場合には、今回の起床予定時刻Ｗｋを守ることはできないが、休眠時間を最短に設定することで、次の周期以降でスキャンの遅れを挽回しスキャン周期Ｃを復活させる可能性に期待している。
【００６４】
以上のように、本実施形態では、ＯＳ２１のティック（Ｔｉｃｋ）をタイマとして利用し、制御タスクの起床時刻を管理しているので、定周期での処理を確保できる。また、実際の起床時刻あるいは休眠開始時刻に応じて、次の起床予定時刻を設定し、あるいは起床予定時刻を修正しているので、定周期からの遅れを取り戻す機会を与えるとともに、極力定周期が維持されるような起床時刻を設定できる。
【００６５】
以上説明したように、本発明の周期制御装置および周期制御方法によれば、継続的な動作が確保されたタイマの計時が起床時刻となったときにタスクを起床させるので、起床時刻がタスクでの処理の状況の影響を受けずに設定されるため、定周期での処理が確保される。また、起床時刻に基づいて、次の起床時刻を継続的な動作が確保されたタイマの計時に対応付けて設定するので、定周期からの遅れを回復することができるような次の起床時刻を設定でき、本来の定周期での処理が極力維持される。
【００６６】
本発明の適用範囲は上記実施形態に限定されることはない。本発明は、タスクにおける処理の周期を制御する周期制御装置および周期性制御方法に対し、広く適用することができる。
【図面の簡単な説明】
【００６７】
【図１】本発明による周期制御装置を機能的に示すブロック図。
【図２】スキャン制御装置が適用される安全システムの構成を示すブロック図。
【図３】制御タスクにおける処理の周期を制御するための動作手順を示すフローチャート。
【図４】制御タスクにおける処理の周期を制御するための動作手順を示すフローチャート。
【図５】基準時刻の設定方法を示す図。
【図６】休眠時間の設定方法を示す図。
【符号の説明】
【００６８】
２１    ＯＳ（起床時刻設定手段、起床手段、タイミング取得手段、起床時刻取得手段、休眠開始時刻取得手段、起床遅延手段、タイマ）
１０１  起床時刻設定手段
１０２  起床手段
１０３  タイミング取得手段
１１１  起床時刻取得手段
１１２  起床時刻設定手段
１１３  起床手段
１１４  休眠開始時刻取得手段
１１５  起床遅延手段
ＴＭ    タイマ
【図１】
2007206008.tif 000003
【図２】
2007206008.tif 000004
【図３】
2007206008.tif 000005
【図４】
2007206008.tif 000006
【図５】
2007206008.tif 000007
【図６】
2007206008.tif 000008