(57)【要約】【課題】本発明は、産業用コントローラにおいて、シンプルな構成で、数値データの演算時のビットエラーを演算命毎にリアルタイムで検出・訂正することが可能な産業用コントローラを提供することを目的とする。【解決手段】産業用コントローラであって、第１の算術演算部１１は、中央制御部３１から出力された命令によって送信される数値データを符号化する第１のモジュラ算術符号生成部１１ｂと、符号化された数値データ（モジュラ算術符号）を入力オペランドとして、中央制御部１３からの指令に基づく演算を実行してモジュラ算術符号で出力する第１の算術演算処理部１１ａと、第１の算術演算処理部の出力データのビットエラーの有無を判定し、ビットエラーが検出された場合、検出されたビットエラーを訂正して復号化された数値データを出力する第１のモジュラ算術符号復号部１１ｃとを備えたことを特徴とする。【選択図】図１
2008282178.tif 000002
【特許請求の範囲】
【請求項１】
算術演算する数値データを符号化し、算術演算後のデータを復号化してビットエラーを訂正する第１の算術演算部と、論理データを論理演算する論理演算部と、予め記憶される制御プログラム及び演算パラメータを記憶するメモリ部と、前記数値データ及び前記論理データを入力し、前記算術演算及び前記論理演算後の数値データ及び論理データを出力する入出力部と、前記第１の算術演算部及び前記論理演算部に所定の演算を出力して、前記制御プログラムを実行する中央制御部と、これら各部を接続するバスとを備える産業用コントローラであって、
前記第１の算術演算部は、前記中央制御部から出力された命令によって送信される前記数値データを符号化する第１のモジュラ算術符号生成部と、
前記符号化された前記数値データ（モジュラ算術符号）を入力オペランドとして、前記中央制御部からの指令に基づく演算を実行してモジュラ算術符号で出力する第１の算術演算処理部と、
前記第１の算術演算処理部の出力データのビットエラーの有無を判定し、ビットエラーが検出された場合、検出されたビットエラーを訂正して復号化された数値データを出力する第１のモジュラ算術符号復号部と
を備え、
前記第１の算術演算部で発生するビットエラーの訂正を演算時に行なえるようにしたことを特徴とする産業用コントローラ。
【請求項２】
前記第１のモジュラ算術符号生成部は、前記数値データに対して、予め定められる２進巡回ＡＮ符号の生成数を乗ずる第１の乗算部と、該乗算出力を前記２進ＡＮ符号の前記生成数に対応する予め定められた法で除す第１の除算部とから成り、
前記第１のモジュラ算術符号複合部は、第１の算術演算処理部の出力を前記生成数で除し、商及び余り（シンドローム）を求める第２の除算部と、該第２の除算部の出力で余りが検出された場合、予め記憶されるシンドロームテーブルを参照してエラービット位置を判定するエラー位置判定部と、前記エラー位置判定部のエラービット位置出力に基づき、前記商のエラービットを訂正し数値データとして出力するエラービット訂正部と
を備えたことを特徴とする請求項１に記載の産業用コントローラ。
【請求項３】
符号化された数値データ（モジュラ算術符号）を演算する第２の算術演算部と、論理データを論理演算する論理演算部と、予め記憶される制御プログラム及び演算パラメータを記憶する第２のメモリ部と、前記数値データ及び前記論理データを入力し、前記算術演算及び前記論理演算後の数値データ及び論理データを出力する入出力部と、前記制御プログラムに基づき、前記算術演算部及び前記論理演算部に所定の命令を出力して、前記論理データとモジュ算術符号化された数値データとを識別して前記制御プログラムを実行する中央制御部と、これら各部を接続するバスとを備える産業用コントローラであって、
前記入出力部は、前記入力データに含まれる前記数値データを符号化する第２のモジュラ算術符号生成部と、出力データに含まれる前記数値データを復号化して、ビットエラーの有無を検出し、ビットエラーが検出された場合にはビットエラーを訂正し、復号化された数値データを出力する第２のモジュラ算術符号復号部とを備え、
前記第２のメモリ部は、前記中央制御部で指定される符号化されたアドレスデータを復号化して与える第３のモジュラ算術符号復号部と、前記産業用コントローラ内で演算処理する数値データを全てモジュラ算術符号として記憶するメモリと
を備え、
前記数値データを前記入出力部で符号化し、前期産業用コントローラ内の前記数値データを前記モジュラ算術符号として処理し、前記入出力部で復号化してエラービットを訂正して出力するようにしたことを特徴とする産業用コントローラ。
【請求項４】
前記第２のモジュラ算術符号生成部は、前記数値データに対して、予め定められる２進巡回ＡＮ符号の生成数を乗ずる第１の乗算部と、該乗算出力を前記２進巡回ＡＮ符号の前記生成数に対応する予め定められた法で除す第１の除算部とから成り、
前記第２のモジュラ算術符号複合部は、前記出力データを前記生成数で除し、商及び余り（シンドローム）を求める第２の除算部と、該第２の除算部の出力に余りが検出された場合、予め記憶されるシンドロームテーブルを参照してエラービット位置を判定するエラー位置判定部と、前記エラー位置判定部のエラービット位置出力に基づき、前記商のビットエラーを訂正し数値データとして出力するエラービット訂正部と
を備えたことを特徴とする請求項３に記載の産業用コントローラ。
【請求項５】
前記第２の算術演算部は、前記入出力部で符号化された前記数値データ（モジュラ算術符号）を入力オペランドとして演算する第２の算術演算処理部と、前記第２の算術演算処理部の出力を前記生成数で除し、商及び余り（シンドローム）を求め、該余りが検出された場合、予め記憶されるシンドロームテーブルを参照してエラービット位置を判定するとともに、該商のビットエラーを訂正し、該訂正された数値データに前記生成数を乗じ、さらに、前記法で除してモジュラ算術符号に復号された数値データを出力するモジュラ算術符号エラー訂正部と
を備えたことを特徴とする請求項３に記載の産業用コントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用コントローラに関し、特に、演算処理される数値データのフォルトトレラント技術に関する。
【背景技術】
【０００２】
社会インフラの制御に使用される産業用コントローラは、２４時間の稼働を前提として使用されるコントローラが大半を占める。このような産業用コントローラを使用するシステムでは、稼動中、誤りなく演算処理を行うことが要求されるため、システムの一部の故障に対して、正常に処理を続行することが出来るフォルトトレラントシステムが重要になってきている。
【０００３】
このような背景を基に符号理論の研究（例えば、非特許文献１参照）がされ、フォルトトレラントの技術としての誤り訂正符号が、主に、メモリなどの記憶システムを主体に導入されてきた（例えば、特許文献１参照）。
【０００４】
記憶システムの場合、（１）素子数が、（論理演算や、加減算や乗除算などの算術演算を行う演算回路及びその制御回路から成る）演算回路と比べて非常に多いことや、（２）稼働率が演算回路と比べて高いことなどから、これらのフォルトトレラント技術の実装は必要不可欠となっている。
【０００５】
これに対し、演算回路に関しては、記憶システムに比べ、（１)素子数が少ないこと、（２）稼働率が低いこと、また、（３）実装コストが大きいこと、などの理由から、フォルトトレラント技術の実装はあまり重要視されてこなかった。
【０００６】
ところが、半導体プロセス技術は、高密度化、高速化の要求に答えて、論理回路は一層の微細化が進んでいる。しかし、製造過程でのバラツキが大きく、演算回路は、従来のように十分なマージンを確保したロバストな回路設計を行うことが困難になっている。
【０００７】
また、プロセスが高密度化することによって、微粒子によるソフトエラーの発生が、近年、特に問題視されてきている。
【０００８】
産業用コントローラ等の演算回路においても、回路の微細化によってソフトエラーの発生する確率が増大し、無視できないものになっている。
【０００９】
一方、演算回路単体で、演算速度を上回る処理の高速化、処理量の増加の要求を満たすため、高信頼化を要求されるシステムにおいては、演算回路の並列化が積極的に行われている。
【００１０】
最近では、１つあるいは複数の入力オペランドに対してそれぞれ所望の論理演算を行う複数の演算器を備え、不良率が高い演算器をシステムから切り離すとともに、その演算器に割り当てられた演算処理を別の演算器に再実行させ、システムとしての機能を損なうことなく、セキュリティをも確保することが可能な演算処理装置が知られている（例えば、特許文献２参照）。
【非特許文献１】福村晃夫、後藤宗弘著、算術符号理論、（株）コロナ社、１９７８年４月、Ｐ３２−７２、Ｐ９７−１８１
【特許文献１】特許第２６６５１１３号公報
【特許文献２】特開２００６−２２８１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来、産業用コントローラにおいては、メモリに冗長ビットを付加したデータを記憶させ、エラーの検出・訂正を行なう技術が知られている。このような従来の方法では、算術演算を除く論理演算等のビットエラーの検出・訂正は可能であるが、算術演算時のビットエラーの検出・訂正が出来なかった。
【００１２】
また、特許文献２に示す演算器のフォルトトレラントシステムは、演算器を多重化して冗長システムを構成することを目的とするもので、複数の演算器を用意し、論理演算前の符号化により得られた符号と論理演算後の符号化により得られた符号とを比較して、両者の一致／不一致で演算の不良を検知し、不良回数が所定の頻度以上の演算回路をシステムから切り離すようにしている。
【００１３】
したがって、演算器が増えるため、エラーの確率が増すだけでなく構成も複雑になる問題がある。
【００１４】
また、産業用コントローラのように一過性のビットエラーに対して、演算毎に訂正し、訂正処理が所定の制御周期内で応答することが要求される場合には対応出来ない問題がある。
【００１５】
本発明は、このような問題点を解決するためになされたもので、産業用コントローラにおいて、シンプルな構成で、数値データの演算時のビットエラーを演算命令毎に、リアルタイムで検出・訂正することが可能な産業用コントローラを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明による請求項１に係る産業用コントローラは、算術演算する数値データを符号化し、算術演算後のデータを復号化してビットエラーを訂正する第１の算術演算部と、論理データを論理演算する論理演算部と、予め記憶される制御プログラム及び演算パラメータを記憶するメモリ部と、前記数値データ及び前記論理データを入力し、前記算術演算及び前記論理演算後の数値データ及び論理データを出力する入出力部と、前記第１の算術演算部及び前記論理演算部に所定の演算を出力して、前記制御プログラムを実行する中央制御部と、これら各部を接続するバスとを備える産業用コントローラであって、前記第１の算術演算部は、前記中央制御部から出力された命令によって送信される前記数値データを符号化する第１のモジュラ算術符号生成部と、前記符号化された前記数値データ（モジュラ算術符号）を入力オペランドとして、前記中央制御部からの指令に基づく演算を実行してモジュラ算術符号で出力する第１の算術演算処理部と、前記第１の算術演算処理部の出力データのビットエラーの有無を判定し、ビットエラーが検出された場合、検出されたビットエラーを訂正して復号化された数値データを出力する第１のモジュラ算術符号復号部とを備え、前記第１の算術演算部で発生するビットエラーの訂正を演算時に行なえるようにしたことを特徴とする。
【００１７】
上記目的を達成するために、本発明による請求項３に係る産業用コントローラは、符号化された数値データ（モジュラ算術符号）を演算する第２の算術演算部と、論理データを論理演算する論理演算部と、予め記憶される制御プログラム及び演算パラメータを記憶する第２のメモリ部と、前記数値データ及び前記論理データを入力し、前記算術演算及び前記論理演算後の数値データ及び論理データを出力する入出力部と、前記制御プログラムに基づき、前記算術演算部及び前記論理演算部に所定の命令を出力して、前記論理データとモジュ算術符号化された数値データとを識別して前記制御プログラムを実行する中央制御部と、これら各部を接続するバスとを備える産業用コントローラであって、前記入出力部は、前記入力データに含まれる前記数値データを符号化する第２のモジュラ算術符号生成部と、出力データに含まれる前記数値データを復号化して、ビットエラーの有無を検出し、ビットエラーが検出された場合にはビットエラーを訂正し、復号化された数値データを出力する第２のモジュラ算術符号復号部とを備え、前記第２のメモリ部は、前記中央制御部で指定される符号化されたアドレスデータを復号化して与える第３のモジュラ算術符号復号部と、前記産業用コントローラ内で演算処理する数値データを全てモジュラ算術符号として記憶するメモリとを備え、前記数値データを前記入出力部で符号化し、前期産業用コントローラ内の前記数値データを前記モジュラ算術符号として処理し、前記入出力部で復号化してエラービットを訂正して出力するようにしたことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、産業用コントローラにおいて、シンプルな構成で、数値データの演算時のビットエラーを演算命令毎にリアルタイムで検出・訂正することが可能な産業用コントローラを提供することが出来る。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して、本発明の実施例を説明する。
【実施例１】
【００２０】
以下に、本発明による実施例１の産業用コントローラについて、図１乃至図９を参照して説明する。
【００２１】
図１は、本発明の産業用コントローラの構成を示す。同図において、該産業用コントローラは、数値データを演算する第１の算術演算部１１、論理データを論理演算する論理演算部１２、制御対象とするプロセス等を制御するための制御プログラムを記憶する第1のメモリ部２０、制御対象の状態を検出するセンサ等からの入力信号入力する入力回路４０ａ及び制御対象を制御するアクチュエータ等への出力信号を出力する出力回路４０ｂとから成る入出力部４０、及び、制御プログラムにしたがって、入力回路４０ａから入力データを取り込み、所定の演算を論理演算部１２、第1の算術演算部１１に指令し、演算処理された出力データを入出回路４０ｂから出力させる中央制御部１３、及びこれら各部を結合するバス３０とから構成される。
【００２２】
第１の算術演算部１１、論理演算部１２、及び中央制御部１３は、これらを一括してＣＰＵ（中央演算処理部）と称する場合もある。
【００２３】
産業用コントローラで演算処理されるデータには、数値データと論理データがあるが、数値データは、例えば、温度センサなどからのアナログ信号をデジタル変換するＡＤＣ回路を介して、また、論理データは、例えば、警報信号等はデジタル回路を介して入力される。
【００２４】
そして、これらの数値データ、論理データは、中央制御部１３の命令に従って、論理演算部１２及び算術演算部１の入力オペランドとして与えられ、演算処理される。
【００２５】
次に、この数値データの演算を実行する第１の算術演算部１１の構成について、図２及び図３を参照して説明する。第１の算術演算部１１は、バス３０を介して入力される入力オペランドを後述する２進巡回ＡＮ符合で符号化する第１のモジュラ算術符号生成部１１ｂと、符号化された数値データ（モジュラ算術符号と言う）を中央制御部１３で指令された算術命令に従って演算する第１の算術演算処理部１１ａと、第１の算術演算処理部１１ａの演算出力を数値データに変換するとともに、出力されたモジュラ算術符号にビットエラーが無いか否かを判定し、判定されたエラービットの信号を訂正し、数値データに復号して出力する第１のモジュラ算術符号復号部１１ｃ３とから成る。
【００２６】
次に、第１の算術演算部１１の各部の詳細について説明する。２進巡回ＡＮ符合のモジュラ算術符号パラメータ選定は、例えば、非特許文献１に開示されたＡＮ符号（Ｐ２３８、付録Ｂ最適符号の例）から、処理する情報量の対象とするエラーの訂正能力から最適な符号が選定できる。
【００２７】
例えば、この２進巡回ＡＮ符号のパラメータとして、基数ｒ＝２、の場合において、１ビットエラーが検出可能な符号間最小モジュラ距離＝３の符号パラメータ、
生成数Ａ＝４７、
情報域Ｂ＝１７ビット、
符号のビット数ｎ＝２３、
即ち、法Ｍ＝Ａ・Ｂ＝２ｎ−１＝２２３−１
の場合の符号を使用した場合について説明する。
【００２８】
この場合、入力オペランドとして与えられる数値データを符号化する第１の算術符号生成部１１ｂは、図２に示すように、入力された数値データに生成数Ａを乗じる第１の乗算部１１ｂ１と、第１の乗算部１１ｂ１の出力を法Ｍで除す第１の除算部１１ｂ２とから成る。
【００２９】
また、第１のモジュラ算術符号復号部１１ｃは、図３に示すように、後述する第１の算術演算処理部１１ａで演算され、モジュラ算術符号で出力された信号を受信して、該モジュラ算術符号出力を生成数Ａで除し、その商と余り（シンドローム）を求める第２の除算部１１ｃ１と、余りから、予め記憶されるシンドロームテーブル１１ｃ２１を参照して、エラー位置を判定するエラー位置判定部１１ｃ２と、エラー位置判定部１１ｃ２で判定されたモジュラ算術符号のエラービット位置のビット信号を訂正するとともに、数値データとして出力するエラービット訂正部１１ｃ３とから成る。
【００３０】
次に、入力オペランドの指令毎の算術を実行する第１の算術演算処理部１１ａについて、算術命令毎の構成について説明する。先ず、中央制御部１３の命令が加算命令の場合、第１の算術演算処理部１１ａは、図４に示すように、入力オペランドＸとＹとを加算する加算部１１ａ１と、該加算部１１ａ１の出力を、法Ｍで除す除算部１１ａ２とで構成される。
【００３１】
また、算術命令が減算命令の場合、図５に示すように、第１の算術演算処理部１１ａは、入力オペランドＸからＹを減算する減算部１１ａ３と、該減算部１１ａ３の出力を法Ｍで除す除算部１１ａ２とで構成される。
【００３２】
また、算術命令が乗算命令の場合、図６に示すように、第１の算術演算処理部１１ａは、入力オペランドＸとＹとを乗じ、さらに、生成数Ａで割る乗算部１１ａ４と、該乗算部１１ａ４の出力を法Ｍで除す除算部１１ａ２とで構成される。
【００３３】
また、算術命令が除算命令の場合、図７に示すように、第１の算術演算処理部１１ａは、入力オペランドＸをＹで除し、さらに、生成数Ａを乗じる除算部１１ａ５と、該除算部１１ａ５の出力を法Ｍで除す除算部１１ａ２とで構成される。
【００３４】
次に、図８及び図９を参照して、本発明による第１の算術演算部１１の演算時のビットエラーの訂正動作について、例えば、入力オペランドＸ及びＹが、夫々２と３で、算術命令が加算命令の場合の演算動作について、符号を前述した２進巡回ＡＮ符号とした場合について説明する。
【００３５】
先ず、入第１のモジュラ算術符号生成部１１ｂ１で、生成数Ａ（＝４７）を乗じ、さらに、法Ｍ（２２３−１）で除してモジュラ算術符合とする。その結果は、図８に示すように、数値データ２及び３は、夫々、モジュラ算術符号９４、１４１に変換される。
【００３６】
そして、第１の算術演算処理部１１ａで、モジュラ算術符号での加算演算が実行され、第１の算術演算処理部１１ａでエラーが無い場合には、下記が出力される。  
９４＋１４１＝２３５
【００３７】
第１のモジュラ算術符号復号部１１ｃの第２除算部１１ｃ１で除算し、エラー位置判定部１１ｃ２からエラービット位置が通知されない場合、エラービット訂正部１１ｃ３から数値データ５が出力される。
【００３８】
ところが、演算途中で１ビットエラーが発生した場合について、モジュラ算術符号をビットデータで示すと、エラーが無ければ、
94 = 00000000000000001011110
141 = 00000000000000010001101
235 = 00000000000000011101011
となる。
【００３９】
ところが、演算結果が、
171 = 00000000000000010101011
となった場合、第１のモジュラ算術符号復号部１１ｃの第２除算部１１ｃ１で除算した結果、
１７１÷４７＝３余り３０となり、
エラー位置判定部１１ｃ２では、図９に示すシンドロームテーブル１１ｃ２１から、シンドローム３０に対応するエラービット位置が６と判定され、さらに、そのエラーが「Ｅ−」、即ち、エラー位置のビットが１であるが０の誤りであることが判定される。「Ｅ＋」の場合、即ち、エラー位置のビットが０であるが１の誤りであることが判定される。
【００４０】
その結果が、エラービット訂正部１１ｃ３に通知され、６に対応する７ビット目が０→１に書き換えられ、訂正されたモジュラ算術符号の数値データが出力される。
【００４１】
以上説明したように、２進巡回ＡＮ符号を使用して、数値データをモジュラ算術符合の復号化時のシンドロームの有無で、エラーの検出と訂正が、算術演算命令ごとに訂正が可能となる。
【実施例２】
【００４２】
以下に、本発明の実施例２に係る産業用コントローラについて、図１０を参照して説明する。図１０に示す実施例２の各部について、実施例１の産業用コントローラの各部と同一部分は同一符号で示し、その説明を省略する。
【００４３】
この実施例２が実施例１と異なる点は、実施例１では、第１の算術演算部１１で数値データをモジュラ算術符号に符号化し、演算出力（モジュラ算術符号）のシンドロームの有無からビットエラーを判定し、ビットエラーを訂正するようにしたが、実施例２では、入出力部４０に入力される入力データのうち数値データに対してモジュラ算術符合を生成し、バス３０を介して授受する数値データを全てモジュラ算術符号とし、入出力部４０から出力される数値データに対してモジュラ算術符号の復号化処理を行って、数値データのビットエラーを訂正するようにしたことにある。
【００４４】
実施例１と異なる各部の構成について説明すると、入出力部４０は、論理データ入力回路４０ａ１と数値データ入力回路４０ａ２とから成る入力回路４０ａと、論理データ出力回路４０ｂ１と数値データ出力回路４０ｂ２とから成る出力回路４０ｂとを備える。
【００４５】
そして、入力回路４０ａは、アナログ信号をデジタル信号に変換するＡＤＣを備えて数値データをデジタル化した数値データの入力回路４０ａ２の出力を受けてモジュラ算術符号を生成しバス３０に出力する第２のモジュラ算術符号生成部４１と、バス３０を介して出力されるモジュラ算術符号化された数値データを受信して、商と余りを求め、シンドロームの有無からビットエラーとその発生位置を判定し、ビットエラーがある場合には訂正して数値データとして出力する第２のモジュラ算術符号復号部４２とを備える。
【００４６】
このモジュラ算術符号生成部４１の構成は、モジュラ算術符号生成部１１ｂと、また、モジュラ算術符号復号部４２の構成は、モジュラ算術符号復号部１１ｃと同様の構成であるので、その詳細な説明を省略する。
【００４７】
算術演算に使用される数値データは、全て、モジュラ算術符号とされるので、中央処理部１３ａ、第２の算術演算部１４は、数値データをモジュラ算術符号として処理する。
【００４８】
また、第２のメモリ部２１は、中央制御部１３ａから指定される命令のアドレス情報がモジュラ算術符号で指定されるので、これを復号して数値データとしてアドレス信号とする第３のモジュラ算術復号部２１ａと、予め設定される演算パラメータなど、数値データ入力回路４０ａ２を介さない数値データもモジュラ算術符号として記憶するメモリ２１ｂとから成る。
【００４９】
即ち、中央制御部１３ａは、論理データとモジュラ算術符号化された数値データとを識別して、論理データは論理演算部１２で、数値データは第２の算術演算部１４で演算処理を実行する。
【００５０】
したがって、入出力部４０において、算術時の数値データのビットエラーだけでなく、バスエラー等によるによる数値データのビットエラーも訂正することが可能となる。
【実施例３】
【００５１】
以下に、本発明の実施例３に係る産業用コントローラについて、図１１及び図１２を参照して説明する。図１１に示す実施例の各部について、実施例２の産業用コントローラの各部と同一部分は同一符号で示し、その説明を省略する。
【００５２】
この実施例３が実施例２と異なる点は、実施例２では、入出力部４０に入力される数値データに対してモジュラ算術符合を生成し、バス３０を介して授受する数値データを全てモジュラ算術符号とし、入出力部４０から出力されるモジュラ算術符号とされた数値データに対して復号処理を行って、数値データのエラー訂正をするようにしたが、本実施例３では、さらに、第２の算術演算部１４ａに、モジュラ算術符号の数値データの演算を実行する第２の算術演算処理部１４ａ１と、演算後の出力のビットエラーを検出して訂正し、モジュラ算術符号として数値データをバス３０に出力するモジュラ算術符号エラー訂正部１４ａ２とを備えたことにある。
【００５３】
次に、次に、図１２を参照してモジュラ算術符号エラー訂正部１４ａ２の構成について説明する。
【００５４】
モジュラ算術符号エラー訂正部１４ａ２は、第２の算術演算処理部１４ａ１から出力されるモジュラ算術符号出力を受信して、モジュラ算術符号出力を生成数Ａで除して商と余りを出力する除算部１４ａ２１と、余りの出力からシンドロームテーブル１１ｃ２１を参照してエラーの有無とエラービットの位置とを出力するエラー位置判定部１４ａ２２と、このエラービットの位置の出力がある場合、除算部１４ａ２１の商出力を訂正して出力するエラービット訂正部１４ａ２３と、エラービット訂正部１４ａ２３の出力に生成数Ａを乗じる乗算部１４ａ２４と、さらに、法Ｍで除してモジュラ算術符合とする除算部１４ａ２５とを備える。
【００５５】
したがって、本実施例３に拠れば、第２の算術演算部の演算時のビットエラーの有無だけでなく、バスエラーによる数値データのエラーも一括して訂正することが可能となるだけでなく、数値データのエラーが算術演算部で発生したエラーか、その他で発生したエラーかを識別して認識することが可能となる。
【００５６】
本発明は、上述した実施例に何ら限定されるものではなく、数値データを演算する演算部を備える装置でれば、演算部のビットエラーの訂正が可能で、本発明の主旨を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の産業用コントローラの実施例１の構成図。
【図２】本発明の第１のモジュラ算術符号生成部の構成図。
【図３】本発明の第２のモジュラ算術符号復号部の構成図。
【図４】本発明の第１の算術演算処理部（加算）の構成図。
【図５】本発明の第１の算術演算処理部（減算）の構成図。
【図６】本発明の第１の算術演算処理部（乗算）の構成図。
【図７】本発明の第１の算術演算処理部（除算）の構成図。
【図８】本発明のモジュラ算術符号の例を説明する図。
【図９】本発明のシンドロームテーブルの例を説明する図。
【図１０】本発明の産業用コントローラの実施例２の構成図。
【図１１】本発明の産業用コントローラの実施例３の構成図。
【図１２】本発明の実施例３のモジュラ算術符号エラー訂正部の構成図。
【符号の説明】
【００５８】
１１  第１の算術演算部
１１ａ  第１の算術演算処理部
１１ａ１  加算部
１１ａ２  除算部
１１ａ３  減算部
１１ａ４  乗算部
１１ａ５  除算部
１１ｂ  第１のモジュラ算術符号生成部
１１ｂ１  第１の乗算部
１１ｂ２  第１の除算部
１１ｃ  第１のモジュラ算術符号復号部
１１ｃ１  第２の除算部
１１ｃ２  エラー位置判定部
１１ｃ３  エラービット訂正部
１１ｃ２１  シンドロームテーブル
１２、１２ａ  論理演算部
１３、１３ａ  中央制御部
１４，１４ａ  第２の算術演算部
１４ａ１  第２の算術演算処理部
１４ａ２  モジュラ算術符号エラー訂正部
１４ａ２１  除算部
１４ａ２２  エラー位置判定部除算部
１４ａ２３  エラービット訂正部
１４ａ２４  乗算部
１４ａ２５  除算部
２０  第１のメモリ
２１ａ  第３のモジュラ算術符号復号部
２１ｂ  メモリ部
３０  バス
４０  入出力部
４０ａ  入力回路
４０ａ１  論理データ入力回路
４０ａ２  数値データ入力回路
４０ｂ  出力回路
４０ｂ１  論理データ出力回路
４０ｂ２  数値データ出力回路
４１  第２のモジュラ算術符号生成部
４２  第２のモジュラ算術符号復号部
【図１】
2008282178.tif 000003
【図２】
2008282178.tif 000004
【図３】
2008282178.tif 000005
【図４】
2008282178.tif 000006
【図５】
2008282178.tif 000007
【図６】
2008282178.tif 000008
【図７】
2008282178.tif 000009
【図８】
2008282178.tif 000010
【図９】
2008282178.tif 000011
【図１０】
2008282178.tif 000012
【図１１】
2008282178.tif 000013
【図１２】
2008282178.tif 000014