(57)【要約】【課題】入力モジュールにおける一過性の誤動作に起因してコントローラが異常と判定してしまう可能性を低減する。【解決手段】実施形態の入力モジュールは、外部機器を制御するコントローラに対してデータを受け渡す入力モジュールであって、外部機器からデータを入力して記憶する入力部と、前記入力部から受け取ったデータを所定の形式に変換する変換部と、前記変換部が変換したデータが異常か否かを判定し、異常の場合は、前記入力部に対して、記憶している前記データを再送するように要求する再送要求を送信し、正常の場合は、前記変換したデータを前記コントローラに送信する異常判定部と、同一のデータについて前記異常判定部が再送要求を前記入力部に送信した回数をカウントするカウンタと、前記カウンタがカウントする前記回数が所定の回数を超えた場合に、ユーザに対してエラーの発生を報知する報知部と、を備える。【選択図】図３
2018060365.tif 000002
【特許請求の範囲】
【請求項１】
外部機器を制御するコントローラに対してデータを受け渡す入力モジュールであって、
外部機器からデータを入力して記憶する入力部と、
前記入力部から受け取ったデータを所定の形式に変換する変換部と、
前記変換部が変換したデータが異常か否かを判定し、異常の場合は、前記入力部に対して、記憶している前記データを再送するように要求する再送要求を送信し、正常の場合は、前記変換したデータを前記コントローラに送信する異常判定部と、
同一のデータについて前記異常判定部が再送要求を前記入力部に送信した回数をカウントするカウンタと、
前記カウンタがカウントする前記回数が所定の回数を超えた場合に、ユーザに対してエラーの発生を報知する報知部と、
を備える入力モジュール。
【請求項２】
前記異常判定部は、過去のデータの値の傾向に基づいて、前記変換部が変換したデータが異常か否かを判定する、請求項１に記載の入力モジュール。
【請求項３】
前記変換部は２つ以上であり、それぞれが前記入力部から受け取ったデータを所定の形式に変換し、
前記異常判定部は、前記２つ以上の変換部それぞれが変換したデータを比較し、一致した場合に、当該データを正常と判定する、請求項１または請求項２に記載の入力モジュール。
【請求項４】
前記異常判定部は、判定対象のデータの値である現在の出力値と、前記過去のデータの値の傾向に関する情報として記憶している、前回の出力値、および、データごとの値の変化の平均値と、に基づいて、前記現在の出力値と前記前回の出力値との差と、前記変化の平均値とを比較することにより、前記判定対象のデータが異常か否かを判定する、請求項２に記載の入力モジュール。
【請求項５】
請求項１から請求項４のいずれか一項に記載の入力モジュールと、前記コントローラと、を備える制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、入力モジュール、および、制御装置に関する。
【背景技術】
【０００２】
従来から、各種設備、プラント等の制御を行うために制御装置（制御システム）が用いられている。制御装置は、例えば、ＰＬＣ（Programmable  Logic  Controller）等のコントローラと、このコントローラに接続された入力モジュール、出力モジュールとを備えている。入力モジュールは、制御対象である外部機器からデータ（信号）を入力し、コントローラに受け渡す。出力モジュールは、コントローラからのデータを外部機器に送信する。
【０００３】
コントローラは、入力モジュールを介して受信した外部機器からのデータに異常があるか否かを判定する。外部機器からのデータが電圧値であれば、例えば、コントローラは、電圧値が所定の範囲内であれば正常、電圧値が所定の範囲外であれば異常、と判定する。
【０００４】
なお、コントローラが外部機器からのデータを異常と判定した場合でも、ユーザによる対応が不要な場合がある。例えば、入力モジュールに入力された外部機器からのデータ自体は正常であって、入力モジュール内の部品が一過性の誤動作をしたことでコントローラが異常と判定した場合である。一例としては、入力モジュール内のＡ（Analog）／Ｄ（Digital）コンバータによってデータをＡＤ変換して得られた電圧値に一過性のノイズが乗ってしまった場合である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−８７３１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術において、例えば、ファームウェアやユーザアプリケーションを搭載したコントローラでは、外部機器からのデータを異常と判定した場合に、それが対応不要なものであるか否かを判定することは難しい。したがって、コントローラが異常と判定すると、ユーザはその都度対応しなければならず、不要な手間が生じることがあった。
【０００７】
そこで、本発明が解決しようとする課題は、入力モジュールにおける一過性の誤動作に起因してコントローラが異常と判定してしまう可能性を低減する入力モジュール、および、その入力モジュールを備える制御装置を提供することである。
【課題を解決するための手段】
【０００８】
実施形態の入力モジュールは、外部機器を制御するコントローラに対してデータを受け渡す入力モジュールであって、外部機器からデータを入力して記憶する入力部と、前記入力部から受け取ったデータを所定の形式に変換する変換部と、前記変換部が変換したデータが異常か否かを判定し、異常の場合は、前記入力部に対して、記憶している前記データを再送するように要求する再送要求を送信し、正常の場合は、前記変換したデータを前記コントローラに送信する異常判定部と、同一のデータについて前記異常判定部が再送要求を前記入力部に送信した回数をカウントするカウンタと、前記カウンタがカウントする前記回数が所定の回数を超えた場合に、ユーザに対してエラーの発生を報知する報知部と、を備える。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施形態の制御装置の外観模式図である。
【図２】図２は、第１の実施形態の制御装置におけるコントローラ、入力モジュール、および、出力モジュールの接続関係を示す図である。
【図３】図３は、第１の実施形態の入力モジュールの構成例を示す図である。
【図４】図４は、第２の実施形態の入力モジュールの構成例を示す図である。
【図５】図５は、第２の実施形態の第１比較部の構成例を示す図である。
【図６】図６は、第２の実施形態の記憶部が記憶する情報例を示す図である。
【図７】図７は、第２の実施形態の第２比較部の構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の第１の実施形態、第２の実施形態について説明する。
【００１１】
（第１の実施形態）
まず、第１の実施形態について説明する。図１は、第１の実施形態の制御装置１の外観模式図である。図２は、第１の実施形態の制御装置１におけるコントローラ２、入力モジュール３、および、出力モジュール４の接続関係を示す図である。制御装置１は、各種設備、プラント等の制御を行うための装置であり、バス５を介して互いに接続されたコントローラ２と、入力モジュール３と、出力モジュール４と、を備えている。
【００１２】
コントローラ２は、例えば、ＰＬＣであり、入力モジュール３から受け取ったデータ（信号）等を用いて演算を行い、演算結果を記憶したり、出力モジュール４に対してデータ（制御対象である外部機器（不図示）に対する指示データ等）を送信したりする。入力モジュール３は、外部機器を制御するコントローラ２に対して、外部機器からのデータを受け渡す。出力モジュール４は、コントローラ２からのデータを外部機器に送信する。
【００１３】
図３は、第１の実施形態の入力モジュール３の構成例を示す図である。入力モジュール３は、入力Ｉ／Ｆ（インタフェース）３１（入力部の一例）、変換部３２、異常判定部３３、バスＩ／Ｆ３４、カウンタ３５、および、ユーザＩ／Ｆ３６（報知部の一例）を備える。
【００１４】
入力Ｉ／Ｆ３１は、外部機器からのデータの入力ポートであり、入力の制御を行う。入力Ｉ／Ｆ３１は、外部機器からデータを入力し（Ｓ１）、そのデータを変換部３２に送信する（Ｓ２）。また、入力Ｉ／Ｆ３１は、データを一時的に記憶する機能を有する。なお、入力Ｉ／Ｆ３１は、１つのデータを変換部３２に送信した後、そのデータに関する再送要求を異常判定部３３から受信していないことを確認してから、次のデータを変換部３２に送信する。
【００１５】
変換部３２は、入力Ｉ／Ｆ３１から受け取ったデータを、コントローラ２に合わせた所定の形式（データの種類、フォーマット等を合わせた形式）に変換する。変換部３２は、例えば、Ａ／Ｄコンバータや、シリアル符号のエンコーダ等である。変換部３２は、変換したデータを異常判定部３３に送信する（Ｓ３）。
【００１６】
異常判定部３３は、変換部３２が変換したデータが異常（不正な値）か否かを判定する。異常判定部３３は、例えば、データが電圧値であれば、電圧値が所定の範囲内であれば正常、電圧値が所定の範囲外であれば異常、と判定する。なお、所定の範囲内とは、例えば、過去（直近の所定時間内）のデータの値の傾向に基づいたものであってもよいし、あるいは、固定のものであってもよい。
【００１７】
異常判定部３３は、正常なデータと判定した場合、そのデータをバスＩ／Ｆ３４に送信する（Ｓ４）。バスＩ／Ｆ３４は、異常判定部３３から受信したデータを、バス５を介してコントローラ２に送信する（Ｓ５）。
【００１８】
異常判定部３３は、異常なデータと判定した場合、入力Ｉ／Ｆ３１に対して、入力Ｉ／Ｆ３１が記憶している同一データの再送要求を送信する（Ｓ６）。再送要求を受信した入力Ｉ／Ｆ３１は記憶している同一データを変換部３２に送信し（Ｓ２）、変換部３２はそのデータを変換して異常判定部３３に送信する（Ｓ３）。
【００１９】
カウンタ３５は、同一のデータについて異常判定部３３が入力Ｉ／Ｆ３１に再送要求を送信した回数をカウントする（Ｓ７）。カウンタ３５は、このカウントした再送要求の回数が所定の回数（例えば数回程度）を超えたときに、エラー通知を入力Ｉ／Ｆ３１とユーザＩ／Ｆ３６に送信する（Ｓ８）。
【００２０】
ユーザＩ／Ｆ３６は、例えばＬＥＤ（Light  Emitting  Diode）やＬＣＤ（Liquid  Crystal  Display）等であり、カウンタ３５からエラー通知を受信すると、ユーザに対してエラーの発生を報知する。また、入力Ｉ／Ｆ３１は、カウンタ３５からエラー通知を受信すると、異常判定部３３からの再送要求に基づくデータの再送を終了し、次のデータを変換部３２に送信する（Ｓ２）。
【００２１】
このようにして、第１の実施形態の制御装置１によれば、入力モジュール３における一過性の誤動作に起因してコントローラ２が異常と判定してしまう可能性を低減することができる。つまり、入力モジュール３に入力された外部機器からのデータ自体が正常であって、入力モジュール３内の部品（例えば変換部３２）が一過性の誤動作をした場合には、異常判定部３３から入力Ｉ／Ｆ３１に同一データの再送要求を送信し、その後、変換部３２によって正常な変換データが得られる可能性が高い。したがって、コントローラ２が異常と判定する可能性を低減することができる。
【００２２】
また、入力モジュール３に入力された外部機器からのデータ自体が正常であって、入力モジュール３内の部品（例えば変換部３２）が故障していることにより異常なデータとなっている場合には、異常判定部３３から入力Ｉ／Ｆ３１に同一データの再送要求を何度送信しても、変換部３２によって正常な変換データは得られない。その場合には、カウンタ３５からのエラー通知を受信したユーザＩ／Ｆ３６がユーザにエラーの発生を報知するので、ユーザはエラーの発生を認識することができる。
【００２３】
また、異常判定部３３が、過去のデータの値の傾向に基づいて、変換部３２が変換したデータが異常か否かを判定するようにすれば、より高精度に異常を判定できる。
【００２４】
（第２の実施形態）
次に、第２の実施形態について説明する。第１の実施形態の場合と比較して、同様（同一または類似）の構成には同様の符号を付し、重複する説明を適宜省略する。なお、第１の実施形態では、変換部を１つ備えている場合について説明した。しかしながら、第１の実施形態は変換部を１つ備えた場合に制限するものではない。そこで、第２の実施形態では変換部を２つ備えた場合について説明する。なお、第２の実施形態では変換部を２つ備えた場合について説明するが、複数の変換部を備えていればよく、３つ以上備えても良い。
【００２５】
図４は、第２の実施形態の入力モジュール３の構成例を示す図である。入力モジュール３は、入力Ｉ／Ｆ３１、２つの変換部３２ａ、３２ｂ、異常判定部３３、バスＩ／Ｆ３４、カウンタ３５、および、ユーザＩ／Ｆ３６を備える。なお、変換部３２ａ、３２ｂの構成は同じである。
【００２６】
また、異常判定部３３は、第１比較部３３１、第２比較部３３２、記憶部３３３、および、ＭＵＸ（マルチプレクサ）３３４を備え、２つの変換部３２ａ、３２ｂそれぞれが変換したデータを比較し、一致した場合に、当該データを正常と判定する。より詳細には、異常判定部３３は、判定対象のデータの値である現在の出力値と、過去のデータの値の傾向に関する情報として記憶している、前回の出力値、および、データごとの値の変化の平均値と、に基づいて、現在の出力値と前回の出力値との差と、変化の平均値とを比較することにより、判定対象のデータが異常か否かを判定する（詳細は後述）。
【００２７】
入力Ｉ／Ｆ３１は、外部機器からデータを入力し（Ｓ１）、そのデータを変換部３２ａ、３２ｂに送信する（Ｓ２１）。
【００２８】
変換部３２ａ、３２ｂは、それぞれ、入力Ｉ／Ｆ３１から受信したデータを、コントローラ２に合わせた所定の形式に変換し、変換したデータを異常判定部３３の第１比較部３３１に送信する（Ｓ３１）。
【００２９】
第１比較部３３１は、入力された２つのデータを比較し、一致しているか不一致であるかを判定する。一致している場合、第１比較部３３１は、データを記憶部３３３とＭＵＸ３３４に送信する（Ｓ１０１）。このように、本実施形態では、変換部３２ａ、３２ｂが、同じ処理を行った後、処理後のデータが一致しているか否かを判定することとした。
【００３０】
記憶部３３３は、第１比較部３３１から受信したデータを記憶（蓄積）する。記憶部３３３は、例えば、ストレージ記憶装置である。ＭＵＸ３３４は、選択信号にしたがって選択したデータをバスＩ／Ｆ３４に送信する（Ｓ４）。バスＩ／Ｆ３４は、ＭＵＸ３３４から受信したデータを、バス５を介してコントローラ２に送信する（Ｓ５）。
【００３１】
第１比較部３３１は、入力された２つのデータが不一致の場合、比較した２つのデータを第２比較部３３２に送信する（Ｓ１０２）。第２比較部３３２は、記憶部３３３のデータベースを参照し（Ｓ１０３）、不一致だった２つのデータをそれぞれ、過去のデータの値の傾向と比較する。そして、第２比較部３３２は、両方のデータが正常であると判定したときはより正常なデータ（過去のデータの値の傾向とより合致するデータ）を選択し、また、一方のデータのみが正常であると判定したときはその正常なデータを選択する。
【００３２】
第２比較部３３２は、選択したデータを、記憶部３３３とＭＵＸ３３４に送信する（Ｓ１０４）。記憶部３３３は、第２比較部３３２から受信したデータを記憶（蓄積）する。また、ＭＵＸ３３４は、第２比較部３３２から受信したデータをバスＩ／Ｆ３４に送信する（Ｓ４）。
【００３３】
第２比較部３３２は、両方のデータがいずれも異常であると判定したときは、入力Ｉ／Ｆ３１に同一データの再送要求を送信する（Ｓ６）。再送要求を受信した入力Ｉ／Ｆ３１は同一データを変換部３２ａ、３２ｂに送信し（Ｓ２１）、変換部３２ａ、３２ｂはそのデータを変換して第１比較部３３１に送信する（Ｓ３１）。
【００３４】
カウンタ３５は、第２比較部３３２が入力Ｉ／Ｆ３１に送信した再送要求の回数をカウントする（Ｓ７）。カウンタ３５は、このカウントした再送要求の回数が所定の回数を超えたときに、エラー通知を入力Ｉ／Ｆ３１とユーザＩ／Ｆ３６に送信する（Ｓ８）。
【００３５】
ユーザＩ／Ｆ３６は、カウンタ３５からエラー通知を受信すると、ユーザにエラーが発生したことを報知する。また、入力Ｉ／Ｆ３１は、カウンタ３５からエラー通知を受信すると、異常判定部３３からの再送要求に基づくデータの再送を終了し、次のデータを変換部３２ａ、３２ｂに送信する（Ｓ２１）。
【００３６】
次に、第１比較部３３１の構成例（回路例）について説明する。図５は、第２の実施形態の第１比較部３３１の構成例を示す図である。第１比較部３３１は、第１スイッチ３３１１、減算器３３１２、論理回路３３１３、および、第２スイッチ３３１４を備える。
【００３７】
減算器３３１２は、変換部３２ａ（図４）からの入力＃１と、変換部３２ｂ（図４）からの入力＃２との差を求める。減算器３３１２は、その差が０の場合、２つのデータは等しい（正常）と判定し、第１スイッチ３３１１をオンし、一致データがＭＵＸ３３４（図４）と記憶部３３３に出力される。その際、論理回路３３１３は、選択信号を出力する。
【００３８】
また、減算器３３１２は、その差が０でない場合、２つのデータは異なると判定し、第２スイッチ３３１４をオンし、不一致データが第２比較部３３２に出力される。
【００３９】
次に、記憶部３３３が記憶する情報例について説明する。図６は、第２の実施形態の記憶部３３３が記憶する情報例を示す図である。図６において、出力＃１は、図４において第１比較部３３１からＳ１０１で送信される一致データに相当する。また、出力＃２は、図４において第２比較部３３２からＳ１０４で送信されるデータに相当する。
【００４０】
記憶部３３３は、現在の出力値、前回の出力値、変化の平均値、および、データ個数という４つの値を保持している。現在の出力値とは、出力＃１または出力＃２である。前回の出力値とは、現在のデータの１つ前のデータに関する出力データ（出力＃１または出力＃２）である。変化の平均値とは、１つ目の出力データと２つ目の出力データの差（絶対値。以下同様）、２つ目の出力データと３つ目の出力データの差、・・・、前回の出力データと現在の出力データの差の平均値である。データ個数は、比較処理が行われた回数、すなわち、入力モジュール３に外部機器からデータが入力された回数である。例えば、ｎ回目の処理における変化の平均値Ａｎは、データ個数（＝ｎ）を使って次の式（１）により求めることができる。
Ａｎ＝｛Ａｎ−１＊（ｎ−１）＋｜現在の出力値−前回の出力値｜｝／ｎ・・・式（１）
【００４１】
この式（１）を用いることで、データ個数（＝ｎ）が増えていっても、記憶する情報量を増やさずに変化の平均値Ａｎを更新し続けることができる。なお、記憶部３３３の記憶容量が大きくて記憶する情報量が増えても良いのであれば、例えば、毎回の出力値をすべて記憶して、変化の平均値を別の式により算出するようにしてもよい。
【００４２】
また、前回の出力値と変化の平均値は、第２比較部３３２において、データの値の比較に使用される。ここで、第２比較部３３２の構成例（回路例）について説明する。図７は、第２の実施形態の第２比較部３３２の構成例を示す図である。第２比較部３３２は、第１比較回路３３２１、第２比較回路３３２２、第３比較回路３３２３、再送要求送信部３３２４、ＭＵＸ３３２５、および、ＭＵＸ３３２６を備える。
【００４３】
第１比較回路３３２１は、記憶部３３３から出力された前回の出力値と不一致データ＃１の差を求める。また、第２比較回路３３２２は、記憶部３３３から出力された前回の出力値と不一致データ＃２の差を求める。これらにより、不一致データ＃１、＃２が前回の出力値と比べてどの程度変動しているかを知ることができる。
【００４４】
次に、第３比較回路３３２３は、第１比較回路３３２１と第２比較回路３３２２のそれぞれが計算した差と、記憶部３３３から出力された変化の平均値に基づいて比較を行い、不一致データ＃１、＃２それぞれが正常（妥当）であるか否かを判定する。第３比較回路３３２３は、例えば、差が変化の平均値のα倍（例えば１．５倍程度。外部機器の特性、用途、データの種類などにより異なる。）以下であれば正常、それ以外の場合を異常と判定する。
【００４５】
第３比較回路３３２３は、不一致データ＃１、＃２のいずれも正常であった場合、変化の平均値により近かったほうを採用データと決定し、その採用データとなった不一致データを示す選択信号をＭＵＸ３３２５に送信する。また、第３比較回路３３２３は、不一致データ＃１、＃２のいずれかが正常であった場合、正常な不一致データを採用データと決定し、その採用データとなった不一致データを示す選択信号をＭＵＸ３３２５に送信する。この選択信号を受信したＭＵＸ３３２５は、採用データとなった不一致データをＭＵＸ３３２６に出力する。
【００４６】
第３比較回路３３２３が不一致データ＃１、＃２のいずれも異常であると判定した場合、再送要求送信部３３２４は、入力Ｉ／Ｆ３１（図４）、カウンタ３５（図４）、ＭＵＸ３３２６に同一データの再送要求を送信する。ＭＵＸ３３２６は、再送要求送信部３３２４から再送要求を受信している間、記憶部３３３から受信する前回の出力値を出力する。
【００４７】
その後、第１比較部３３１または第３比較回路３３２３で正常なデータが選択された場合、再送要求送信部３３２４は再送要求の送信を中止する。第３比較回路３３２３で正常なデータが選択された場合、ＭＵＸ３３２６は、ＭＵＸ３３２５から受信した不一致データを出力する。
【００４８】
このようにして、第２の実施形態の制御装置１によれば、第１の実施形態の制御装置１による効果に加えて、次のような効果を奏する。すなわち、第１比較部３３１に入力された２つのデータが一致した場合に、過去のデータの値の傾向を参照することなく正常であると判定できるので、処理が軽く済む。そして、不一致の場合よりも一致の場合のほうが圧倒的に多いことから、処理が有意に軽く済む。
【００４９】
本発明の２つの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５０】
１        制御装置
２        コントローラ
３        入力モジュール
３１      入力Ｉ／Ｆ
３２      変換部
３３      異常判定部
３３１    第１比較部
３３１１  第１スイッチ
３３１２  減算器
３３１３  論理回路
３３１４  第２スイッチ
３３２    第２比較部
３３２１  第１比較回路
３３２２  第２比較回路
３３２３  第３比較回路
３３２４  再送要求送信部
３３２５  ＭＵＸ
３３２６  ＭＵＸ
３３３    記憶部
３３４    ＭＵＸ
３４      バスＩ／Ｆ
３５      カウンタ
３６      ユーザＩ／Ｆ
４        出力モジュール
５        バス
【図１】
2018060365.tif 000003
【図２】
2018060365.tif 000004
【図３】
2018060365.tif 000005
【図４】
2018060365.tif 000006
【図５】
2018060365.tif 000007
【図６】
2018060365.tif 000008
【図７】
2018060365.tif 000009