(57)【要約】【課題】短周期のシングルループで自己診断処理も実行するプログラマブル制御技術を提供する。【解決手段】プログラマブル制御装置に実装されるＣＰＵ２０は、入力する外部信号１６をメモリ１５上のプログラムに基づいて逐次的に処理する信号処理部２２と、メモリ１５の領域を分割してなる複数のブロックのうち指定された第ｎブロックからデータを取得するデータ取得部２６と、この取得したデータに基づいて第ｎブロックの健全性を診断し次の外部信号１６の処理を促す診断部３０Ａと、次の外部信号１６を処理した後に第ｎ＋１ブロックの健全性を診断させるブロック指定部２５と、を備えている。【選択図】  図３
2013134508.tif 000002
【特許請求の範囲】
【請求項１】
入力する外部信号をメモリ上のプログラムに基づいて逐次的に処理する信号処理部と、
前記メモリの領域を分割してなる複数のブロックのうち指定された第ｎブロックからデータを取得するデータ取得部と、
前記取得したデータに基づいて前記第ｎブロックの健全性を診断し次の外部信号の処理を促す診断部と、
前記次の外部信号を処理した後に第ｎ＋１ブロックの健全性を診断させるブロック指定部と、を備えることを特徴とするプログラマブル制御装置。
【請求項２】
請求項１に記載のプログラマブル制御装置において、前記診断部は、
前記ブロックを単位に前記データのチェックサムを実行する実行部と、
前記複数のブロックの各々のチェックサム結果を保存する保存部と、
前記実行したチェックサムの結果及び前記保存されているチェックサムの結果を比較する第１比較判定部と、を備えることを特徴とするプログラマブル制御装置。
【請求項３】
請求項１又は請求項２に記載のプログラマブル制御装置において、前記診断部は、
前記指定された第ｎブロックにパターンデータを送出する送出部と、
前記指定された第ｎブロックから取得したパターンデータ及び前記送出されたパターンデータを比較する第２比較判定部と、
前記指定された第ｎブロックのデータを一時的に退避させ前記比較後に復帰させる格納部と、を備えることを特徴とするプログラマブル制御装置。
【請求項４】
請求項３に記載のプログラマブル制御装置において、前記診断部は、
前記パターンデータが記録される前の第ｎブロックのデータのチェックサムの結果と、前記一時的に退避させた後に復帰させた第ｎブロックのデータとのチェックサムの結果と、を比較することを特徴とするプログラマブル制御装置。
【請求項５】
入力する外部信号をメモリ上のプログラムに基づいて逐次的に処理するステップと、
前記メモリの領域を分割してなる複数のブロックのうち指定された第ｎブロックからデータを取得するステップと、
前記取得したデータに基づいて前記第ｎブロックの健全性を診断し次の外部信号の処理を促すステップと、
前記次の外部信号を処理した後に第ｎ＋１ブロックの健全性を診断するステップと、を含むことを特徴とするプログラマブル制御方法。
【請求項６】
コンピュータに、
入力する外部信号をメモリ上のプログラムに基づいて逐次的に処理するステップと、
前記メモリの領域を分割してなる複数のブロックのうち指定された第ｎブロックからデータを取得するステップと、
前記取得したデータに基づいて前記第ｎブロックの健全性を診断し次の外部信号の処理を促すステップと、
前記次の外部信号を処理した後に第ｎ＋１ブロックの健全性を診断するステップと、を実行させることを特徴とするプログラマブル制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力した外部信号をメモリ上のプログラムに基づいて処理するプログラマブル制御技術に関する。
【背景技術】
【０００２】
原子力発電プラントには、異常時に原子炉の緊急停止装置を自動起動させる原子炉保護系や、冷却材喪失時に炉心注水装置を自動起動させる工学的安全施設起動系といった安全保護系が、設置されている。
これら原子力発電プラントの安全保護系の多くは、ＣＰＵを使用したプログラマブル制御装置から構成される。このプログラマブル制御装置は、圧力や温度等のプロセス信号（外部信号）を入力してプログラム処理し、前記した緊急停止装置や炉心注水装置を自動起動するための制御信号を出力するか否かの判定を行う。
【０００３】
原子力発電プラントの安全保護系用のプログラマブル制御装置は、一般産業用のものと機能および構成が基本的に同じであるが、非常に高い信頼性が求められている。このために、係る用途のプログラマブル制御装置は、動作の健全性が維持されていることを実証することが求められており、故障発生の有無について自己診断処理を実行するものが用いられている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−４０１２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方において産業用のプログラマブル制御装置の多くは、マルチタスクをサポートしており、マルチタスクを実現するプログラムは、タスクの切替えにタイマー割込みを用いている。このタイマー割込みによるタスクの切り替えは、複雑な処理が発生し、この処理が常に想定通り機能することを実証することは容易でなく、また動作の健全性が損なわれる原因にもなる。
【０００６】
そこで、割込み処理が避けられないマルチタスクを諦めて、全ての処理をシングルループで実行することを検討する。しかし、自己診断処理をシングルループに組み込むとなると、ループ周期が長くなる課題がある。高性能ＣＰＵを使えば、診断時間を短くすることが可能であるが、高性能ＣＰＵは発熱量が多く、部品の信頼性が低下する。
【０００７】
本発明はこのような事情を考慮してなされたもので、短周期のシングルループで自己診断処理も実行するプログラマブル制御技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
プログラマブル制御装置において、入力する外部信号をメモリ上のプログラムに基づいて逐次的に処理する信号処理部と、前記メモリの領域を分割してなる複数のブロックのうち指定された第ｎブロックからデータを取得するデータ取得部と、前記取得したデータに基づいて前記第ｎブロックの健全性を診断し次の外部信号の処理を促す診断部と、前記次の外部信号を処理した後に第ｎ＋１ブロックの健全性を診断させるブロック指定部と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明により、短周期のシングルループで自己診断処理も実行するプログラマブル制御技術が提供される。
【図面の簡単な説明】
【００１０】
【図１】本発明に係るプログラマブル制御装置の実施形態を示す機械構成図。
【図２】各実施形態におけるプログラマブル制御装置に実装されるメモリ（ＲＡＭ）の構成図。
【図３】第１実施形態に係るプログラマブル制御装置に実装されるＣＰＵの論理構成図。
【図４】第１実施形態に係るプログラマブル制御装置の動作を説明するフローチャート。
【図５】第２実施形態に係るプログラマブル制御装置に実装されるＣＰＵの論理構成図。
【図６】第２実施形態に係るプログラマブル制御装置の動作を説明するフローチャート。
【図７】第３実施形態に係るプログラマブル制御装置の動作を説明するフローチャート。
【発明を実施するための形態】
【００１１】
（第１実施形態）
以下、本発明の実施形態を添付図面に基づいて説明する。
図１に示すように、第１実施形態に係るプログラマブル制御装置１０は、プラントに設置されたセンサ（図示略）が計測したプロセス信号（外部信号１６）を受信する入力ポート１１と、原子炉を緊急停止させるためのトリップ信号や工学的安全施設の起動信号等の制御信号１７を送信する出力ポート１２と、受信した外部信号１６を処理して制御信号１７の送信の可否を判定するＣＰＵ２０と、不揮発性メモリでありプログラマブル制御装置１０を動作させるためのプログラム及びパラメータを保存するＲＯＭ１４と、このＲＯＭ１４に保存されているプログラム及びパラメータがプログラマブル制御装置１０の起動時にコピーされるＲＡＭ（メモリ１５）と、入力ポート１１，出力ポート１２，ＲＯＭ１４，ＲＡＭ（メモリ１５）及びＣＰＵ２０が各々の間でデータを伝送するバス１３と、から構成されている。
【００１２】
図２に示すように、各実施形態のプログラマブル制御装置に実装されるメモリ１５（ＲＡＭ）は、システムプログラム，アプリケーションプログラム及びパラメータ等のように装置起動後もデータ内容が不変のまま記憶されている固定データ記憶領域１５ａと、外部信号１６に基づく処理や自己診断処理等のように装置起動後はデータ内容が変化しながら記憶される可変データ記憶領域１５ｂと、から構成されている。
第１実施形態に係るプログラマブル制御装置１０は、主にメモリ１５（ＲＡＭ）の固定データ記憶領域１５ａの健全性診断を実施する。
【００１３】
図３に示すように、第１実施形態に係るプログラマブル制御装置に実装されるＣＰＵ２０は、入力する外部信号１６をメモリ１５上のプログラムに基づいて逐次的に処理する信号処理部２２と、メモリ１５の領域を分割してなる複数のブロック（図２）のうち指定された第ｎブロックからデータを取得するデータ取得部２６と、この取得したデータに基づいて第ｎブロックの健全性を診断し次の外部信号１６の処理を促す診断部３０Ａ（３０）と、前記次の外部信号１６を処理した後に第ｎ＋１ブロックの健全性を診断させるブロック指定部２５と、を備えている。
【００１４】
そして、診断部３０Ａは、ブロックを単位にデータのチェックサムを実行する実行部３１と、複数のブロックの各々のチェックサム結果を保存する保存部３２と、実行したチェックサムの結果及び保存されているチェックサムの結果を比較する第１比較判定部３３と、を備えている。
【００１５】
信号処理部２２は、入力ポート１１（図１）からバス１３を経由して外部信号入力部２１に逐次的に入力する外部信号１６をメモリ１５上のプログラムに基づいて処理し、この処理結果である制御信号１７を制御信号出力部２３からバス１３（図１）を経由して出力ポート１２に出力させる。
この制御信号１７は、外部制御機器（図示略）を制御するための信号であって、例えば工学的安全施設全体の起動信号、工学的安全施設を構成するポンプの起動信号、あるいはいくつかの弁の開閉信号等である。
【００１６】
外部信号入力部２１は、診断部３０における健全性診断処理の終了タイミングに同期して、次の外部信号１６を信号処理部２２に転送する。そして、制御信号出力部２３は、制御信号１７の出力タイミングに同期して、ブロック指定部２５に次の診断対象となるブロックを指定させる。
【００１７】
ブロック分割部２４は、第１実施形態で検査対象とする固定データ記憶領域１５ａ（図２）を分割（図ではＮ＋１分割）し、各々のブロックに識別番号ｎ（０≦ｎ≦Ｎ；ｎ整数）を付与する。各々のブロックのサイズは、健全性診断が制限時間内に終了する大きさであれば、任意であり等分割される必要もないが、２の指数で表される数であれば固定データ記憶領域１５ａのアドレス範囲を適切に分割することができる。
【００１８】
ブロック指定部２５は、制御信号出力部２３から制御信号１７が出力される度に、健全性の診断対象となるブロックの指定を更新する。つまりブロック指定部２５は、プログラマブル制御装置１０の起動直後は、第０ブロックを指定し、一つの外部信号１６の処理ループが繰り返される毎に、診断対象の指定を第ｎブロックから第ｎ＋１ブロックへと更新する。そして、処理ループが繰り返されて第Ｎブロックが指定された後は、元に戻って第０ブロックを指定する。
【００１９】
このブロック指定部２５は、メモリ１５上のプログラムとして実現され、ブロック番号を記憶するブロックカウンタ部（図示略）と、ブロックカウンタをカウントアップするカウントアップ部（図示略）と、から構成される。
この場合、ＣＰＵ２０が起動するとブロックカウンタ部は、固定データ記憶領域１５ａのブロックの識別番号をｎ＝０に設定する。
【００２０】
そして、診断部３０における処理が終了し、次の外部信号１６が入力する度に、ブロックカウンタ部は、ブロックの識別番号を一つずつカウントアップする。そして、カウントアップした識別番号が、診断対象となるブロックの総数Ｎに達したところで、カウントを０に戻す。
【００２１】
データ取得部２６は、メモリ１５の領域を分割してなる複数のブロック（図２）のうちブロック指定部２５で指定された第ｎブロックからデータを取得し診断部３０に転送する
診断部３０Ａは、チェックサム実行部３１と、その結果保存部３２と、第１比較判定部３３とから構成され、メモリ１５の第ｎブロックから取得したデータに基づいて第ｎブロックの健全性を診断する。さらに、この健全性診断を終了してから外部信号入力部２１に次の外部信号１６の入力処理を促す。
【００２２】
チェックサム実行部３１は、メモリ１５の領域を構成するブロックを単位に、データ取得部２６で取得されたデータのチェックサムを実行する。なお、チェックサムそのものもメモリ１５上のプログラムの一部で実現されるものであり、固定データ記憶領域１５ａに格納されている。
【００２３】
ここでチェックサムとは、データのエラーを検出する手法であり、具体的には巡回冗長検査（ＣＲＣ）、ＩＥＴＦのＭＤ５、米国ＮＩＳＴのＳＨＡ等の暗号学的ハッシュ関数をチェックサムの計算に使用することができる。なお、暗号学的ハッシュ関数を使用することで、悪意を持った改ざんに対する耐性を高めることができる。
【００２４】
なお、チェックサム実行部３１は、ＣＰＵ２０が起動してＲＯＭ１４からＲＡＭ（メモリ１５）にプログラムのデータがコピーされた直後に、メモリ１５の固定データ記憶領域１５ａにおける診断対象となる全てのブロックのチェックサムを実行する。
そして、この起動時における全てのブロックのチェックサム結果の各々は、対応するブロックの識別番号に関連付けされて保存部３２に保存される。
【００２５】
第１比較判定部３３は、逐次的に出力される制御信号１７に同期して実行されたブロックのチェックサムの結果と、結果保存部３２に保存されている該当ブロックのチェックサムの結果と、を比較するものである。
そして、チェックサムの比較結果が一致していれば、該当ブロックの健全性が確認され、外部信号入力部２１に次の外部信号１６の入力が促される。
一方、チェックサムの比較結果が不一致であれば、該当ブロックの健全性が否定され、その旨のエラー信号が出力部２７から出力される。
【００２６】
図４（図１〜図３適宜参照）に基づいて第１実施形態に係るプログラマブル制御装置の動作を説明する。
プログラマブル制御装置１０がシステム起動すると（Ｓ１１）、ＲＯＭ１４上のプログラム及びパラメータのデータがＲＡＭ（メモリ１５）上にコピーされる（Ｓ１２）。そして以降は、ＲＡＭ（メモリ１５）上のプログラムに従って処理が進められる。
【００２７】
さらに、ＲＡＭ上の固定データ記憶領域１５ａは、プログラム等のデータを常駐させた状態で、第０ブロックから第Ｎブロックまで、観念的にＮ＋１分割される（Ｓ１３）。これら全ての第０〜第Ｎブロックは、チェックサムが実行され（Ｓ１４）、各々のチェックサム結果が対応するブロックに関連付けて読み出せるよう保存部３２に保存される（Ｓ１５）。
【００２８】
制御ルーチンが開始すると、ブロックの識別番号ｎが初期化（ｎ＝０）され（Ｓ１６）、診断対象である第０ブロックに常駐するデータを取得してチェックサムを実行する（Ｓ１７）。そして、この取得した常駐データのチェックサムの結果と、起動時に実施して保存部３２に保存されているチェックサムの結果とを比較する。そして、両者が一致すれば（Ｓ１８；Ｙｅｓ）、第０ブロックの健全性が実証されて、外部信号１６を入力し、処理し、制御信号１７が出力される（Ｓ２０）。
【００２９】
次に、ブロックの識別番号ｎ＝１に更新して（Ｓ２１；Ｎｏ、Ｓ２２）、第１ブロックの診断を同様に実行してから、次の外部信号１６の入力、処理、出力がなされる（Ｓ１７〜Ｓ２０）。
そして、ブロックの識別番号ｎ＝Ｎに更新されたところで（Ｓ２１；Ｙｅｓ）、識別番号ｎが初期化（ｎ＝０）され、同様にして第０〜第Ｎブロックの診断及び外部信号１６の入力、処理、出力が繰り返される（Ｓ１６〜Ｓ２０）。
【００３０】
一方において、チェックサムの比較が不一致であれば（Ｓ１８；Ｎｏ）、その旨を示すエラー信号が出力され（Ｓ２３）、フローが終了する。もしくは、運転員もしくは、他の系統からのシステム停止命令を受信した場合も（Ｓ１９；Ｎｏ）、フローが終了する。
【００３１】
この制御ルーチンにおけるループ周期は、システム応答の要求を満たす範囲で決められる。例えば、プログラマブル制御装置１０が外部信号１６を入力してから外部制御機器（図示略）が応答するまでの時間が１ｓｅｃ以内に要求されている場合は、ループ周期は０．５ｓｅｃ以下である必要がある。
【００３２】
このように各実施形態によれば、シングルループで制御ルーチンが実行されるために、マルチタスクのようなタイマー割込みによる複雑な処理が発生せず、プログラムの信頼性および安全性が確保される。
さらに、一回のシングルループで実行されるチェックサムは、メモリ領域の１／（Ｎ＋１）の領域が対象となるために、この分割数Ｎを適宜調整して、システム応答の要求を満たすようにループ周期を調整することができる。
【００３３】
（第２実施形態）
図５に示すように、第２実施形態に係るプログラマブル制御装置に実装されるＣＰＵ２０は、入力する外部信号１６をメモリ１５上のプログラムに基づいて逐次的に処理する信号処理部２２と、メモリ１５の領域を分割してなる複数のブロック（図２）のうち指定された第ｎブロックからデータを取得するデータ取得部２６と、この取得したデータに基づいて第ｎブロックの健全性を診断し次の外部信号１６の処理を促す診断部３０Ｂ（３０）と、前記次の外部信号１６を処理した後に第ｎ＋１ブロックの健全性を診断させるブロック指定部２５と、を備えている。
【００３４】
なお、図５において図３と同一又は相当する部分は、同一符号で示し、重複する説明を省略する。
ブロック分割部２４は、第２実施形態で検査対象とする可変データ記憶領域１５ｂ（図２）を分割し、各々のブロックに識別番号ｎ（０≦ｎ≦Ｎ）を付与する。
【００３５】
診断部３０Ｂは、指定された第ｎブロックにパターンデータ３７ａを送出する送出部３４と、指定された第ｎブロックから取得したパターンデータ３７ｂ及び送出されたパターンデータ３７ａを比較する第２比較判定部３６と、指定された第ｎブロックのデータを一時的に退避させ前記比較後に復帰させる格納部３５と、を備えている。
診断部３０Ｂは、メモリ１５の第ｎブロックに既知のパターンデータ３７ａを一度記憶させてから取得して、一致しているか否か基づいてこの第ｎブロックの健全性を診断する。さらに、この健全性診断を終了してから外部信号入力部２１に次の外部信号１６の入力処理を促す。
【００３６】
パターンデータ送出部３４は、ブロック指定部２５で指定されたＲＡＭの第ｎブロックにパターンデータ３７ａを送出するものである。ここでパターンデータ３７ａとは、例えば、各ブロックが８ビットで構成されているとすれば各ビットを００００００００、１１１１１１１１、０１０１０１０１及び１０１０１０１０のように表したものが挙げられる。
【００３７】
データ格納部３５は、メモリの可変データ記憶領域１５ｂの一つのブロックとして実現され、指定された第ｎブロックにパターンデータ３７ａが送出される前に、この第ｎブロックに常駐するデータを一時的に退避させるものである。
さらに、格納部３５は、退避した常駐データを、第ｎブロックの診断が終了するまで保持し、この診断の終了後、再び第ｎブロックに復帰させる。
【００３８】
第２比較判定部３６は、逐次的に出力される制御信号１７に同期して第ｎブロックに送出されたパターンデータ３７ａと、この第ｎブロックに記録してから取得したパターンデータ３７ｂと、を比較するものである。
なお、ブロックに送出されるパターンデータ３７ａは、一種類に限らず多種類が送出されて、複数回の比較を実行することができる。
【００３９】
そして、二つのパターンデータ３７ａ，３７ｂの比較結果が一致していれば、該当ブロックの健全性が確認され、外部信号入力部２１に次の外部信号１６の入力が促される。
一方、二つのパターンデータ３７ａ，３７ｂの比較結果が不一致であれば、該当ブロックの健全性が否定され、その旨のエラー信号が出力部２７から出力される。
【００４０】
図６（図５適宜参照）に基づいて第２実施形態に係るプログラマブル制御装置の動作を説明する。
プログラマブル制御装置１０がシステム起動すると（Ｓ３１）、ＲＯＭ１４上のプログラム及びパラメータのデータがＲＡＭ（メモリ１５）上にコピーされる（Ｓ３２）。そして以降は、ＲＡＭ（メモリ１５）上のプログラムに従って処理が進められる。
【００４１】
さらに、ＲＡＭ上の可変データ記憶領域１５ｂは、プログラム等のデータを常駐させた状態で、第０ブロックから第Ｎブロックまで、観念的にＮ＋１分割される（Ｓ３３）。
制御ルーチンが開始すると、ブロックの識別番号ｎが初期化（ｎ＝０）され（Ｓ３４）、診断対象である第０ブロックに常駐するデータを格納部３５に退避させる（Ｓ３５）。
【００４２】
次にこの第０ブロックにパターンデータ３７ａを送出し（Ｓ３６）、引き続きこの第０ブロックに記録されたパターンデータ３７ｂを取得する（Ｓ３７）。そして、この送出したパターンデータ３７ａと、記録後に取得したパターンデータ３７ｂとを比較する（Ｓ３８）。そして、両者が一致すれば（Ｓ３８；Ｙｅｓ）、第０ブロックの健全性が実証されて、格納部３５に退避した常駐データを第０ブロックに復帰させ（Ｓ３９）、外部信号１６を入力し、処理し、制御信号１７として出力する（Ｓ４１）。
【００４３】
次に、ブロックの識別番号ｎ＝１に更新して（Ｓ４２；Ｎｏ、Ｓ４３）、第１ブロックの診断を同様に実行してから、次の外部信号１６の入力、処理、出力がなされる（Ｓ３５〜Ｓ４１）。
そして、ブロックの識別番号ｎ＝Ｎに更新したところで（Ｓ４２；Ｙｅｓ）、識別番号ｎが初期化（ｎ＝０）され、同様にして第０〜第Ｎブロックの診断及び外部信号１６の入力、処理、出力が繰り返される（Ｓ３４〜Ｓ４１）。
【００４４】
一方において、ブロックに記録される前後のパターンデータの比較が不一致であれば（Ｓ３８；Ｎｏ）、その旨を示すエラー信号が出力され（Ｓ４４）、フローが終了する。もしくは、運転員もしくは、他の系統からのシステム停止命令を受信した場合も（Ｓ４０；Ｎｏ）、フローが終了する。
【００４５】
（第３実施形態）
第３実施形態に係るプログラマブル制御装置における診断部（図示略）は、第１実施形態の診断部３０Ａ（図３）と第２実施形態の診断部３０Ｂ（図５）とを併せ持つ構成となっている。
そして、パターンデータ３７ａが記録される前の第ｎブロックの常駐データのチェックサムの結果と、データ格納部３５に一時的に退避した後に復帰した第ｎブロックの常駐データのチェックサムの結果と、を比較する。
【００４６】
図７に基づいて第３実施形態に係るプログラマブル制御装置の動作を説明する。
プログラマブル制御装置１０がシステム起動すると（Ｓ５１）、ＲＯＭ１４上のプログラム及びパラメータのデータがＲＡＭ（メモリ１５）上にコピーされる（Ｓ５２）。そして以降は、ＲＡＭ（メモリ１５）上のプログラムに従って処理が進められる。
【００４７】
さらに、ＲＡＭ上の可変データ記憶領域１５ｂは、プログラム等のデータを常駐させた状態で、第０ブロックから第Ｎブロックまで、観念的にＮ＋１分割される（Ｓ５３）。
制御ルーチンが開始すると、ブロックの識別番号ｎが初期化（ｎ＝０）され（Ｓ５４）、診断対象である第０ブロックに常駐するデータを取得してチェックサムを実行する（Ｓ５５）。そして、このチェックサム結果は、対応するブロックに関連付けて読み出せるよう保存部３２に保存される（Ｓ５６）。
【００４８】
次に、第０ブロックに常駐するデータを格納部３５に退避させてから（Ｓ５７）、この第０ブロックにパターンデータ３７ａを送出する（Ｓ５８）。そして、この第０ブロックに記録されたパターンデータ３７ｂを取得し（Ｓ５９）、この送出したパターンデータ３７ａと、記録後に取得したパターンデータ３７ｂとを比較する（Ｓ６０）。そして、両者が一致すれば（Ｓ６０；Ｙｅｓ）、格納部３５に退避した常駐データを第０ブロックに復帰させる（Ｓ６１）。
【００４９】
次に、この復帰した第０ブロックの常駐データを呼び出してチェックサムを実行する（Ｓ６２）。そして、この復帰後の常駐データのチェックサムの結果と、保存部３２に保存されているチェックサムの結果とを比較して両者が一致すれば（Ｓ６３；Ｙｅｓ）、第０ブロックの健全性が実証されて、外部信号１６を入力し、処理し、制御信号１７として出力する（Ｓ６５）。
【００５０】
次に、ブロックの識別番号ｎ＝１に更新して（Ｓ６６；Ｎｏ、Ｓ６７）、第１ブロックの診断を同様に実行してから、次の外部信号１６の入力、処理、出力がなされる（Ｓ５５〜Ｓ６５）。
そして、ブロックの識別番号ｎ＝Ｎに更新したところで（Ｓ６６；Ｙｅｓ）、識別番号ｎが初期化（ｎ＝０）され、同様にして第０〜第Ｎブロックの診断及び外部信号１６の入力、処理、出力が繰り返される（Ｓ５４〜Ｓ６５）。
【００５１】
一方において、パターンデータの比較が不一致であるか（Ｓ６０；Ｎｏ）、又はチェックサムの結果の比較が不一致であれば（Ｓ６３；Ｎｏ）、その旨を示すエラー信号が出力され（Ｓ６８）、フローが終了する。もしくは、運転員もしくは、他の系統からのシステム停止命令を受信した場合も（Ｓ６４；Ｎｏ）、フローが終了する。
【００５２】
以上述べた少なくともひとつの実施形態のプログラマブル制御装置によれば、プログラムが常駐するメモリを観念的にブロック分割し、制御ループが一巡する度にブロック単位で健全性診断を実施する。このように、メモリの健全性診断を分散実施することにより、制御ループの周期を長期化させることなく、プラントの信頼性と安全性を確保することができる。
【００５３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００５４】
１０…プログラマブル制御装置、１１…入力ポート、１２…出力ポート、１３…バス、１４…ＲＯＭ、１５…ＲＡＭ（メモリ）、１５ａ…固定データ記憶領域、１５ｂ…可変データ記憶領域、１６…外部信号、１６…外部信号、１７…制御信号、２０…ＣＰＵ、２１…外部信号入力部、２２…信号処理部、２３…制御信号出力部、２４…ブロック分割部、２５…ブロック指定部、２６…データ取得部、２７…エラー信号出力部、３０（３０Ａ，３０Ｂ）…診断部、３１…チェックサム実行部、３２…チェックサム結果保存部、３３…第１比較判定部、３４…パターンデータ送出部、３５…データ格納部、３６…第２比較判定部、３７ａ，３７ｂ…パターンデータ。
【図１】
2013134508.tif 000003
【図２】
2013134508.tif 000004
【図３】
2013134508.tif 000005
【図４】
2013134508.tif 000006
【図５】
2013134508.tif 000007
【図６】
2013134508.tif 000008
【図７】
2013134508.tif 000009