"入力する外部信号をメモリ上のプログラムに基づいて逐次的に処理する信号処理部と、前記メモリの領域を分割してなる複数のブロックのうち指定された第nブロックからデータを取得するデータ取得部と、前記取得したデータに基づいて前記第nブロックの健全性を診断し次の外部信号の処理を促す診断部と、前記次の外部信号を処理した後に第n1ブロックの健全性を診断させるブロック指定部と、を備えることを特徴とするプログラマブル制御装置。請求項1に記載のプログラマブル制御装置において、前記診断部は、前記ブロックを単位に前記データのチェックサムを実行する実行部と、前記複数のブロックの各々のチェックサム結果を保存する保存部と、前記実行したチェックサムの結果及び前記保存されているチェックサムの結果を比較する第1比較判定部と、を備えることを特徴とするプログラマブル制御装置。請求項1又は請求項2に記載のプログラマブル制御装置において、前記診断部は、前記指定された第nブロックにパターンデータを送出する送出部と、前記指定された第nブロックから取得したパターンデータ及び前記送出されたパターンデータを比較する第2比較判定部と、前記指定された第nブロックのデータを一時的に退避させ前記比較後に復帰させる格納部と、を備えることを特徴とするプログラマブル制御装置。請求項3に記載のプログラマブル制御装置において、前記診断部は、前記パターンデータが記録される前の第nブロックのデータのチェックサムの結果と、前記一時的に退避させた後に復帰させた第nブロックのデータとのチェックサムの結果と、を比較することを特徴とするプログラマブル制御装置。入力する外部信号をメモリ上のプログラムに基づいて逐次的に処理するステップと、前記メモリの領域を分割してなる複数のブロックのうち指定された第nブロックからデータを取得するステップと、前記取得したデータに基づいて前記第nブロックの健全性を診断し次の外部信号の処理を促すステップと、前記次の外部信号を処理した後に第n1ブロックの健全性を診断するステップと、を含むことを特徴とするプログラマブル制御方法。コンピュータに、入力する外部信号をメモリ上のプログラムに基づいて逐次的に処理するステップと、前記メモリの領域を分割してなる複数のブロックのうち指定された第nブロックからデータを取得するステップと、前記取得したデータに基づいて前記第nブロックの健全性を診断し次の外部信号の処理を促すステップと、前記次の外部信号を処理した後に第n1ブロックの健全性を診断するステップと、を実行させることを特徴とするプログラマブル制御プログラム。一方において産業用のプログラマブル制御装置の多くは、マルチタスクをサポートしており、マルチタスクを実現するプログラムは、タスクの切替えにタイマー割込みを用いている。このタイマー割込みによるタスクの切り替えは、複雑な処理が発生し、この処理が常に想定通り機能することを実証することは容易でなく、また動作の健全性が損なわれる原因にもなる。そこで、割込み処理が避けられないマルチタスクを諦めて、全ての処理をシングルループで実行することを検討する。しかし、自己診断処理をシングルループに組み込むとなると、ループ周期が長くなる課題がある。高性能CPUを使えば、診断時間を短くすることが可能であるが、高性能CPUは発熱量が多く、部品の信頼性が低下する。本発明はこのような事情を考慮してなされたもので、短周期のシングルループで自己診断処理も実行するプログラマブル制御技術を提供することを目的とする。プログラマブル制御装置において、入力する外部信号をメモリ上のプログラムに基づいて逐次的に処理する信号処理部と、前記メモリの領域を分割してなる複数のブロックのうち指定された第nブロックからデータを取得するデータ取得部と、前記取得したデータに基づいて前記第nブロックの健全性を診断し次の外部信号の処理を促す診断部と、前記次の外部信号を処理した後に第n1ブロックの健全性を診断させるブロック指定部と、を備えることを特徴とする。本発明により、短周期のシングルループで自己診断処理も実行するプログラマブル制御技術が提供される。第1実施形態以下、本発明の実施形態を添付図面に基づいて説明する。図1に示すように、第1実施形態に係るプログラマブル制御装置10は、プラントに設置されたセンサ図示略が計測したプロセス信号外部信号16を受信する入力ポート11と、原子炉を緊急停止させるためのトリップ信号や工学的安全施設の起動信号等の制御信号17を送信する出力ポート12と、受信した外部信号16を処理して制御信号17の送信の可否を判定するCPU20と、不揮発性メモリでありプログラマブル制御装置10を動作させるためのプログラム及びパラメータを保存するROM14と、このROM14に保存されているプログラム及びパラメータがプログラマブル制御装置10の起動時にコピーされるRAMメモリ15と、入力ポート11,出力ポート12,ROM14,RAMメモリ15及びCPU20が各々の間でデータを伝送するバス13と、から構成されている。図2に示すように、各実施形態のプログラマブル制御装置に実装されるメモリ15RAMは、システムプログラム,アプリケーションプログラム及びパラメータ等のように装置起動後もデータ内容が不変のまま記憶されている固定データ記憶領域15aと、外部信号16に基づく処理や自己診断処理等のように装置起動後はデータ内容が変化しながら記憶される可変データ記憶領域15bと、から構成されている。第1実施形態に係るプログラマブル制御装置10は、主にメモリ15RAMの固定データ記憶領域15aの健全性診断を実施する。図3に示すように、第1実施形態に係るプログラマブル制御装置に実装されるCPU20は、入力する外部信号16をメモリ15上のプログラムに基づいて逐次的に処理する信号処理部22と、メモリ15の領域を分割してなる複数のブロック図2のうち指定された第nブロックからデータを取得するデータ取得部26と、この取得したデータに基づいて第nブロックの健全性を診断し次の外部信号16の処理を促す診断部30A30と、前記次の外部信号16を処理した後に第n1ブロックの健全性を診断させるブロック指定部25と、を備えている。そして、診断部30Aは、ブロックを単位にデータのチェックサムを実行する実行部31と、複数のブロックの各々のチェックサム結果を保存する保存部32と、実行したチェックサムの結果及び保存されているチェックサムの結果を比較する第1比較判定部33と、を備えている。信号処理部22は、入力ポート11図1からバス13を経由して外部信号入力部21に逐次的に入力する外部信号16をメモリ15上のプログラムに基づいて処理し、この処理結果である制御信号17を制御信号出力部23からバス13図1を経由して出力ポート12に出力させる。この制御信号17は、外部制御機器図示略を制御するための信号であって、例えば工学的安全施設全体の起動信号、工学的安全施設を構成するポンプの起動信号、あるいはいくつかの弁の開閉信号等である。外部信号入力部21は、診断部30における健全性診断処理の終了タイミングに同期して、次の外部信号16を信号処理部22に転送する。そして、制御信号出力部23は、制御信号17の出力タイミングに同期して、ブロック指定部25に次の診断対象となるブロックを指定させる。ブロック分割部24は、第1実施形態で検査対象とする固定データ記憶領域15a図2を分割図ではN1分割し、各々のブロックに識別番号n0≦n≦N;n整数を付与する。各々のブロックのサイズは、健全性診断が制限時間内に終了する大きさであれば、任意であり等分割される必要もないが、2の指数で表される数であれば固定データ記憶領域15aのアドレス範囲を適切に分割することができる。ブロック指定部25は、制御信号出力部23から制御信号17が出力される度に、健全性の診断対象となるブロックの指定を更新する。つまりブロック指定部25は、プログラマブル制御装置10の起動直後は、第0ブロックを指定し、一つの外部信号16の処理ループが繰り返される毎に、診断対象の指定を第nブロックから第n1ブロックへと更新する。そして、処理ループが繰り返されて第Nブロックが指定された後は、元に戻って第0ブロックを指定する。このブロック指定部25は、メモリ15上のプログラムとして実現され、ブロック番号を記憶するブロックカウンタ部図示略と、ブロックカウンタをカウントアップするカウントアップ部図示略と、から構成される。この場合、CPU20が起動するとブロックカウンタ部は、固定データ記憶領域15aのブロックの識別番号をn=0に設定する。そして、診断部30における処理が終了し、次の外部信号16が入力する度に、ブロックカウンタ部は、ブロックの識別番号を一つずつカウントアップする。そして、カウントアップした識別番号が、診断対象となるブロックの総数Nに達したところで、カウントを0に戻す。データ取得部26は、メモリ15の領域を分割してなる複数のブロック図2のうちブロック指定部25で指定された第nブロックからデータを取得し診断部30に転送する診断部30Aは、チェックサム実行部31と、その結果保存部32と、第1比較判定部33とから構成され、メモリ15の第nブロックから取得したデータに基づいて第nブロックの健全性を診断する。さらに、この健全性診断を終了してから外部信号入力部21に次の外部信号16の入力処理を促す。チェックサム実行部31は、メモリ15の領域を構成するブロックを単位に、データ取得部26で取得されたデータのチェックサムを実行する。なお、チェックサムそのものもメモリ15上のプログラムの一部で実現されるものであり、固定データ記憶領域15aに格納されている。ここでチェックサムとは、データのエラーを検出する手法であり、具体的には巡回冗長検査CRC、IETFのMD5、米国NISTのSHA等の暗号学的ハッシュ関数をチェックサムの計算に使用することができる。なお、暗号学的ハッシュ関数を使用することで、悪意を持った改ざんに対する耐性を高めることができる。なお、チェックサム実行部31は、CPU20が起動してROM14からRAMメモリ15にプログラムのデータがコピーされた直後に、メモリ15の固定データ記憶領域15aにおける診断対象となる全てのブロックのチェックサムを実行する。そして、この起動時における全てのブロックのチェックサム結果の各々は、対応するブロックの識別番号に関連付けされて保存部32に保存される。第1比較判定部33は、逐次的に出力される制御信号17に同期して実行されたブロックのチェックサムの結果と、結果保存部32に保存されている該当ブロックのチェックサムの結果と、を比較するものである。そして、チェックサムの比較結果が一致していれば、該当ブロックの健全性が確認され、外部信号入力部21に次の外部信号16の入力が促される。一方、チェックサムの比較結果が不一致であれば、該当ブロックの健全性が否定され、その旨のエラー信号が出力部27から出力される。図4図1~図3適宜参照に基づいて第1実施形態に係るプログラマブル制御装置の動作を説明する。プログラマブル制御装置10がシステム起動するとS11、ROM14上のプログラム及びパラメータのデータがRAMメモリ15上にコピーされるS12。そして以降は、RAMメモリ15上のプログラムに従って処理が進められる。さらに、RAM上の固定データ記憶領域15aは、プログラム等のデータを常駐させた状態で、第0ブロックから第Nブロックまで、観念的にN1分割されるS13。これら全ての第0~第Nブロックは、チェックサムが実行されS14、各々のチェックサム結果が対応するブロックに関連付けて読み出せるよう保存部32に保存されるS15。制御ルーチンが開始すると、ブロックの識別番号nが初期化n=0されS16、診断対象である第0ブロックに常駐するデータを取得してチェックサムを実行するS17。そして、この取得した常駐データのチェックサムの結果と、起動時に実施して保存部32に保存されているチェックサムの結果とを比較する。そして、両者が一致すればS18;Yes、第0ブロックの健全性が実証されて、外部信号16を入力し、処理し、制御信号17が出力されるS20。次に、ブロックの識別番号n=1に更新してS21;No、S22、第1ブロックの診断を同様に実行してから、次の外部信号16の入力、処理、出力がなされるS17~S20。そして、ブロックの識別番号n=Nに更新されたところでS21;Yes、識別番号nが初期化n=0され、同様にして第0~第Nブロックの診断及び外部信号16の入力、処理、出力が繰り返されるS16~S20。一方において、チェックサムの比較が不一致であればS18;No、その旨を示すエラー信号が出力されS23、フローが終了する。もしくは、運転員もしくは、他の系統からのシステム停止命令を受信した場合もS19;No、フローが終了する。この制御ルーチンにおけるループ周期は、システム応答の要求を満たす範囲で決められる。例えば、プログラマブル制御装置10が外部信号16を入力してから外部制御機器図示略が応答するまでの時間が1sec以内に要求されている場合は、ループ周期は0.5sec以下である必要がある。このように各実施形態によれば、シングルループで制御ルーチンが実行されるために、マルチタスクのようなタイマー割込みによる複雑な処理が発生せず、プログラムの信頼性および安全性が確保される。さらに、一回のシングルループで実行されるチェックサムは、メモリ領域の1/N1の領域が対象となるために、この分割数Nを適宜調整して、システム応答の要求を満たすようにループ周期を調整することができる。第2実施形態図5に示すように、第2実施形態に係るプログラマブル制御装置に実装されるCPU20は、入力する外部信号16をメモリ15上のプログラムに基づいて逐次的に処理する信号処理部22と、メモリ15の領域を分割してなる複数のブロック図2のうち指定された第nブロックからデータを取得するデータ取得部26と、この取得したデータに基づいて第nブロックの健全性を診断し次の外部信号16の処理を促す診断部30B30と、前記次の外部信号16を処理した後に第n1ブロックの健全性を診断させるブロック指定部25と、を備えている。なお、図5において図3と同一又は相当する部分は、同一符号で示し、重複する説明を省略する。ブロック分割部24は、第2実施形態で検査対象とする可変データ記憶領域15b図2を分割し、各々のブロックに識別番号n0≦n≦Nを付与する。診断部30Bは、指定された第nブロックにパターンデータ37aを送出する送出部34と、指定された第nブロックから取得したパターンデータ37b及び送出されたパターンデータ37aを比較する第2比較判定部36と、指定された第nブロックのデータを一時的に退避させ前記比較後に復帰させる格納部35と、を備えている。診断部30Bは、メモリ15の第nブロックに既知のパターンデータ37aを一度記憶させてから取得して、一致しているか否か基づいてこの第nブロックの健全性を診断する。さらに、この健全性診断を終了してから外部信号入力部21に次の外部信号16の入力処理を促す。パターンデータ送出部34は、ブロック指定部25で指定されたRAMの第nブロックにパターンデータ37aを送出するものである。ここでパターンデータ37aとは、例えば、各ブロックが8ビットで構成されているとすれば各ビットを00000000、11111111、01010101及び10101010のように表したものが挙げられる。データ格納部35は、メモリの可変データ記憶領域15bの一つのブロックとして実現され、指定された第nブロックにパターンデータ37aが送出される前に、この第nブロックに常駐するデータを一時的に退避させるものである。さらに、格納部35は、退避した常駐データを、第nブロックの診断が終了するまで保持し、この診断の終了後、再び第nブロックに復帰させる。第2比較判定部36は、逐次的に出力される制御信号17に同期して第nブロックに送出されたパターンデータ37aと、この第nブロックに記録してから取得したパターンデータ37bと、を比較するものである。なお、ブロックに送出されるパターンデータ37aは、一種類に限らず多種類が送出されて、複数回の比較を実行することができる。そして、二つのパターンデータ37a,37bの比較結果が一致していれば、該当ブロックの健全性が確認され、外部信号入力部21に次の外部信号16の入力が促される。一方、二つのパターンデータ37a,37bの比較結果が不一致であれば、該当ブロックの健全性が否定され、その旨のエラー信号が出力部27から出力される。図6図5適宜参照に基づいて第2実施形態に係るプログラマブル制御装置の動作を説明する。プログラマブル制御装置10がシステム起動するとS31、ROM14上のプログラム及びパラメータのデータがRAMメモリ15上にコピーされるS32。そして以降は、RAMメモリ15上のプログラムに従って処理が進められる。さらに、RAM上の可変データ記憶領域15bは、プログラム等のデータを常駐させた状態で、第0ブロックから第Nブロックまで、観念的にN1分割されるS33。制御ルーチンが開始すると、ブロックの識別番号nが初期化n=0されS34、診断対象である第0ブロックに常駐するデータを格納部35に退避させるS35。次にこの第0ブロックにパターンデータ37aを送出しS36、引き続きこの第0ブロックに記録されたパターンデータ37bを取得するS37。そして、この送出したパターンデータ37aと、記録後に取得したパターンデータ37bとを比較するS38。そして、両者が一致すればS38;Yes、第0ブロックの健全性が実証されて、格納部35に退避した常駐データを第0ブロックに復帰させS39、外部信号16を入力し、処理し、制御信号17として出力するS41。次に、ブロックの識別番号n=1に更新してS42;No、S43、第1ブロックの診断を同様に実行してから、次の外部信号16の入力、処理、出力がなされるS35~S41。そして、ブロックの識別番号n=Nに更新したところでS42;Yes、識別番号nが初期化n=0され、同様にして第0~第Nブロックの診断及び外部信号16の入力、処理、出力が繰り返されるS34~S41。一方において、ブロックに記録される前後のパターンデータの比較が不一致であればS38;No、その旨を示すエラー信号が出力されS44、フローが終了する。もしくは、運転員もしくは、他の系統からのシステム停止命令を受信した場合もS40;No、フローが終了する。第3実施形態第3実施形態に係るプログラマブル制御装置における診断部図示略は、第1実施形態の診断部30A図3と第2実施形態の診断部30B図5とを併せ持つ構成となっている。そして、パターンデータ37aが記録される前の第nブロックの常駐データのチェックサムの結果と、データ格納部35に一時的に退避した後に復帰した第nブロックの常駐データのチェックサムの結果と、を比較する。図7に基づいて第3実施形態に係るプログラマブル制御装置の動作を説明する。プログラマブル制御装置10がシステム起動するとS51、ROM14上のプログラム及びパラメータのデータがRAMメモリ15上にコピーされるS52。そして以降は、RAMメモリ15上のプログラムに従って処理が進められる。さらに、RAM上の可変データ記憶領域15bは、プログラム等のデータを常駐させた状態で、第0ブロックから第Nブロックまで、観念的にN1分割されるS53。制御ルーチンが開始すると、ブロックの識別番号nが初期化n=0されS54、診断対象である第0ブロックに常駐するデータを取得してチェックサムを実行するS55。そして、このチェックサム結果は、対応するブロックに関連付けて読み出せるよう保存部32に保存されるS56。次に、第0ブロックに常駐するデータを格納部35に退避させてからS57、この第0ブロックにパターンデータ37aを送出するS58。そして、この第0ブロックに記録されたパターンデータ37bを取得しS59、この送出したパターンデータ37aと、記録後に取得したパターンデータ37bとを比較するS60。そして、両者が一致すればS60;Yes、格納部35に退避した常駐データを第0ブロックに復帰させるS61。次に、この復帰した第0ブロックの常駐データを呼び出してチェックサムを実行するS62。そして、この復帰後の常駐データのチェックサムの結果と、保存部32に保存されているチェックサムの結果とを比較して両者が一致すればS63;Yes、第0ブロックの健全性が実証されて、外部信号16を入力し、処理し、制御信号17として出力するS65。次に、ブロックの識別番号n=1に更新してS66;No、S67、第1ブロックの診断を同様に実行してから、次の外部信号16の入力、処理、出力がなされるS55~S65。そして、ブロックの識別番号n=Nに更新したところでS66;Yes、識別番号nが初期化n=0され、同様にして第0~第Nブロックの診断及び外部信号16の入力、処理、出力が繰り返されるS54~S65。一方において、パターンデータの比較が不一致であるかS60;No、又はチェックサムの結果の比較が不一致であればS63;No、その旨を示すエラー信号が出力されS68、フローが終了する。もしくは、運転員もしくは、他の系統からのシステム停止命令を受信した場合もS64;No、フローが終了する。以上述べた少なくともひとつの実施形態のプログラマブル制御装置によれば、プログラムが常駐するメモリを観念的にブロック分割し、制御ループが一巡する度にブロック単位で健全性診断を実施する。このように、メモリの健全性診断を分散実施することにより、制御ループの周期を長期化させることなく、プラントの信頼性と安全性を確保することができる。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。"