(57)【特許請求の範囲】
【請求項１】
多重化された信号のうち、２以上の信号の値を所定周期で取得する取得部と、
所定時間における前記２以上の信号それぞれの変化回数をカウントするカウント部と、
前記２以上の信号において、１の信号と他の信号との前記変化回数の差を順次算出する算出部と、
前記変化回数の差が許容値を超えた場合、前記１の信号と前記他の信号との不一致を示す出力を行う出力部と、を備える信号検査装置。
【請求項２】
前記カウント部は、前記所定時間の経過後に新たにカウントを開始する請求項１に記載の信号検査装置。
【請求項３】
前記カウント部は、前記所定周期毎に、最新の前記所定時間における前記２以上の信号それぞれの変化回数をカウントする請求項１に記載の信号検査装置。
【請求項４】
前記出力部は、前記１の信号及び前記他の信号のうち、前記変化回数が多い方の信号を指し示す出力を行う請求項１から請求項３のいずれかに記載の信号検査装置。
【請求項５】
前記多重化された信号のそれぞれに対応して、請求項１から請求項４のいずれかに記載の信号検査装置を複数備え、
前記信号検査装置は、対応する信号に基づく制御信号を生成して出力する信号検査システム。
【請求項６】
多重化された信号のうち、２以上の信号の値を所定周期で取得する取得ステップと、
所定時間における前記２以上の信号それぞれの変化回数をカウントするカウントステップと、
前記２以上の信号において、１の信号と他の信号との前記変化回数の差を順次算出する算出ステップと、
前記変化回数の差が許容値を超えた場合、前記１の信号と前記他の信号との不一致を示す出力を行う出力ステップと、をコンピュータが実行する信号検査方法。
【請求項７】
多重化された信号のうち、２以上の信号の値を所定周期で取得する取得ステップと、
所定時間における前記２以上の信号それぞれの変化回数をカウントするカウントステップと、
前記２以上の信号において、１の信号と他の信号との前記変化回数の差を順次算出する算出ステップと、
前記変化回数の差が許容値を超えた場合、前記１の信号と前記他の信号との不一致を示す出力を行う出力ステップと、をコンピュータに実行させるための信号検査プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多重化された信号の不一致を検査する信号検査装置、信号検査システム、信号検査方法及び信号検査プログラムに関する。
【背景技術】
【０００２】
従来、工作機械などを制御するプログラマブルコントローラにおいては、例えば非常停止用のスイッチ又はリミットスイッチなどから発信される信号のように、高い安全性が要求される信号は、多重化され誤動作が抑制される。
【０００３】
これらの多重化された信号は、複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によりそれぞれ処理されるが、ＣＰＵ同士が互いに信号の値を一定周期でクロスチェックすることで安全性を高める技術が知られている。
例えば、特許文献１では、ＣＮＣ（Ｃｏｍｐｕｔｅｒｉｚｅｄ  Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）装置に内蔵された２つのＣＰＵを用いて、二重化された信号の値を互いにクロスチェックし、信号間の不一致時間が許容時間を超えた場合、駆動回路への動力を遮断する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２２７８７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、スイッチの可動接点などが接触状態になる際に、微細な非常に速い機械的振動を起こす、チャタリングという現象が知られている。
しかしながら、従来の技術のように、多重化された信号間の不一致状態が許容時間を超えた場合に信号異常を検出する方法では、チャタリングなど、許容時間を超えない短い周期の信号異常を検出することができなかった。
【０００６】
本発明は、多重化された信号間の不一致を適切に検知できる信号検査装置、信号検査システム、信号検査方法及び信号検査プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）  本発明に係る信号検査装置（例えば、後述の信号検査装置１）は、多重化された信号のうち、２以上の信号の値を所定周期で取得する取得部（例えば、後述の取得部１１）と、所定時間における前記２以上の信号それぞれの変化回数をカウントするカウント部（例えば、後述のカウント部１２）と、前記２以上の信号において、前記変化回数の差を算出する算出部（例えば、後述の算出部１３）と、前記変化回数の差が許容値を超えた場合、前記２以上の信号の不一致を示す出力を行う出力部（例えば、後述の出力部１４）と、を備える。
【０００８】
（２）  （１）に記載の信号検査装置において、前記カウント部は、前記所定時間の経過後に新たにカウントを開始してもよい。
【０００９】
（３）  （１）に記載の信号検査装置において、前記カウント部は、前記所定周期毎に、最新の前記所定時間における前記２以上の信号それぞれの変化回数をカウントしてもよい。
【００１０】
（４）  （１）から（３）のいずれかに記載の信号検査装置において、前記出力部は、前記変化回数が他より多い信号を指し示す出力を行ってもよい。
【００１１】
（５）  本発明に係る信号検査システム（例えば、後述の信号検査システム１００）は、前記多重化された信号のそれぞれに対応して、（１）から（４）のいずれかに記載の信号検査装置を複数備え、前記信号検査装置は、対応する信号に基づく制御信号を生成して出力する。
【００１２】
（６）  本発明に係る信号検査方法は、多重化された信号のうち、２以上の信号の値を所定周期で取得する取得ステップと、所定時間における前記２以上の信号それぞれの変化回数をカウントするカウントステップと、前記２以上の信号において、前記変化回数の差を算出する算出ステップと、前記変化回数の差が許容値を超えた場合、前記２以上の信号の不一致を示す出力を行う出力ステップと、をコンピュータが実行する。
【００１３】
（７）  本発明に係る信号検査プログラムは、多重化された信号のうち、２以上の信号の値を所定周期で取得する取得ステップと、所定時間における前記２以上の信号それぞれの変化回数をカウントするカウントステップと、前記２以上の信号において、前記変化回数の差を算出する算出ステップと、前記変化回数の差が許容値を超えた場合、前記２以上の信号の不一致を示す出力を行う出力ステップと、をコンピュータに実行させる。
【発明の効果】
【００１４】
本発明によれば、多重化された信号間の不一致を適切に検知できる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る信号検査装置の機能構成を示すブロック図である。
【図２】実施形態に係る多重化された信号の一例を示す図である。
【図３】実施形態に係る第１のサンプリング方式を例示する図である。
【図４】実施形態に係る第２のサンプリング方式を例示する図である。
【図５】実施形態に係る信号検査処理の一例を示すフローチャートである。
【図６】実施形態に係る信号検査システムの構成例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態の一例について説明する。
図１は、本実施形態に係る信号検査装置１の機能構成を示すブロック図である。
信号検査装置１は、制御部（例えば、ＣＰＵ）を備えた情報処理装置（コンピュータ）であり、多重化された信号を入力として、所定の処理（信号検査方法）を実行する。
【００１７】
制御部は、取得部１１と、カウント部１２と、算出部１３と、出力部１４とを備える。これらの各部は、信号検査装置１に記憶されている所定のソフトウェア（信号検査プログラム）を制御部が実行することにより実現される。
【００１８】
取得部１１は、多重化された信号のうち、２以上の信号の値を所定のサンプリング周期で取得し、サンプリング値を記録する。
【００１９】
カウント部１２は、所定時間に記録されたサンプリング値の変化回数を、２以上の信号それぞれについてカウントする。
カウントする所定時間の設け方として、例えば以下の２通りのサンプリング方式が採用可能である。
【００２０】
（１）カウント部１２は、所定時間のサンプリング値を処理した後に、後続の所定時間のサンプリング値を処理する。すなわち、カウント部１２は、所定時間の経過後に新たにカウントを開始する。
【００２１】
（２）カウント部は、サンプリング周期毎に、最新の所定時間における２以上の信号それぞれの変化回数をカウントする。すなわち、カウント部１２は、最新のサンプリング値を取得する毎に古いサンプリング値を切り捨て、所定時間分のサンプリング値を対象とする。
【００２２】
図２は、本実施形態に係る多重化された信号の一例を示す図である。
この例では、信号は二重化されている。
信号１は、値が０の状態から１の状態に変化した後、再度０の状態に変化している。これに対して、信号２は、値が０の状態から１の状態に変化した後、符号Ａの時間帯にチャタリングが発生している。
【００２３】
図３は、本実施形態に係る多重化された信号の第１のサンプリング方式を例示する図である。
この例では、破線で示したサンプリング周期で、二重化された信号の値が連続する所定時間毎に取得されている。
【００２４】
具体的には、信号１からは、所定時間にサンプリング値［０００００００００１１１１１１１１１１１］が記録される。また、信号２からは、所定時間にサンプリング値［０００００００００００１１０１０１０１１］が記録される。
このとき、各信号の所定時間内での変化回数、すなわち値が０から１へ、又は１から０へ変化した回数は、信号１では１回、信号２では７回となる。
【００２５】
図４は、本実施形態に係る多重化された信号の第２のサンプリング方式を例示する図である。
この例では、破線で示したサンプリング周期毎に、最古のデータを切り捨てて最新のサンプリング値を含む所定時間が設定される。
【００２６】
第１のサンプリング方式では、所定時間毎に信号検査処理が実行されるのに対して、第２のサンプリング方式では、サンプリング周期毎に信号検査処理が実行される。
【００２７】
算出部１３は、２以上の信号のサンプリング値において、変化回数の差を算出する。
具体的には、算出部１３は、図３の例において、｜信号１の変化回数（１）−信号２の変化回数（７）｜＝６を算出する。
【００２８】
出力部１４は、算出部１３で算出された変化回数の差が予め設定された許容値を超えた場合、２以上の信号の不一致を示す出力を行う。
例えば、許容値が５の場合、図３の例における変化回数の差＝６は、許容値を超えているため、出力部１４は、信号の不一致を示すステータス信号の出力、又はアラームメッセージ、ランプ若しくは音声などの出力を行う。
【００２９】
ここで、出力部１４は、例えば、多重化された信号のうち、特定の信号に対して他の信号の不一致を判定して報知する。
また、出力部１４は、変化回数が他より多い信号を指し示す出力を行ってもよい。これにより、チャタリングなどの短い周期の信号異常が検知される。
【００３０】
図５は、本実施形態に係る信号検査処理の一例を示すフローチャートである。
本処理例では、信号検査装置１は、前述の第１のサンプリング方式によって、特定の信号に対して他の信号の不一致を判定して報知する。
なお、本処理に先立って、予め変化回数の差の許容値、及び信号の変化回数の監視時間である所定時間として、サンプリング数が設定されているものとする。また、サンプリングカウンタｍ１、及び多重化された全ての信号の変化回数カウンタｃ［ｉ］（０≦ｉ≦多重化信号数）は０に初期化されているものとする。
【００３１】
ステップＳ１において、取得部１１は、多重化された信号ｎ１（０≦ｎ１＜多重信号数）それぞれのサンプリング値（ｎ１［ｍ１］）を取得すると共に、サンプリングカウンタｍ１をカウントアップ（１を加算）する。
【００３２】
ステップＳ２において、取得部１１は、サンプリングカウンタｍ１が予め設定されたサンプリング数に達したか否かを判定する。この判定がＮＯの場合、処理は終了し、判定がＹＥＳの場合、処理はステップＳ３に移る。
【００３３】
ステップＳ３において、カウント部１２は、多重化された信号毎に付与された番号ｎ２を０から順次カウントアップし、信号数についてループ処理Ａを行う。
【００３４】
ステップＳ４において、カウント部１２は、サンプリングカウンタｍ２を１から順次カウントアップし、サンプリング数についてループ処理Ｂを行う。
【００３５】
ステップＳ５において、カウント部１２は、ステップＳ１で取得したサンプリング値（ｎ２［ｍ２］）が直前のサンプリング値（ｎ２［ｍ２−１］）と異なっているか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ６に移り、判定がＮＯの場合、処理はステップＳ４のループ判定に移る。
【００３６】
ステップＳ６において、カウント部１２は、変化回数カウンタｃ［ｎ２］をカウントアップする。
【００３７】
ステップＳ７において、算出部１３は、任意の信号（ｘ番目の信号）とｎ２番目の信号とで、変化回数の差（｜ｃ［ｎ２］−ｃ［ｘ］｜）を算出し、出力部１４は、この差が予め設定された許容値を超えているか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ８に移り、判定がＮＯの場合、処理はステップＳ３のループ判定に移る。
【００３８】
ステップＳ８において、出力部１４は、信号間で許容値を超える変化回数の不一致があったことから、信号ｘ又は信号ｎ２に異常があると判断し、アラーム出力を行う。
【００３９】
ステップＳ９において、信号検査装置１は、サンプリングカウンタｍ１及び多重化された全ての信号の変化回数カウンタｃ［ｉ］（０≦ｉ≦多重化信号数）を０に初期化する。
【００４０】
図６は、本実施形態に係る信号検査装置１を備えた信号検査システム１００の構成例を示す図である。
【００４１】
信号検査システム１００は、複数の処理ユニットとして信号検査装置１（１ａ及び１ｂ）を備える。各処理ユニットには、外部信号インタフェースを介して入出力ユニット２（２ａ及び２ｂ）が接続され、制御装置３から入力信号を受け取り、処理ユニットで生成された制御信号を出力する。
【００４２】
各処理ユニットは、多重化された信号のうち、いずれかの信号に対応して設けられ、それぞれのＣＰＵが入力信号に基づく制御信号を生成して出力する。
なお、処理ユニットはそれぞれ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及び不揮発性メモリなどの記憶デバイスを備え、これらに記憶されているソフトウェアをＣＰＵがＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に読み込んで実行することにより、入力信号に基づく各種制御機能及び本実施形態に係る信号検査機能が実現される。また、ＲＡＭは、取得したサンプリングデータを記憶し、各処理ユニットへ提供する。
【００４３】
例えば、制御装置３に設けられたドアスイッチ３１により発生した信号が多重化され、それぞれの信号が入出力ユニット２を介して処理ユニットへ送信される。複数のＣＰＵにより生成された制御信号は、外部信号インタフェースから入出力ユニット２を介して、それぞれ制御装置３に入力される。
制御装置３は、例えば動力遮断機３２において、制御信号をＡＮＤ演算し、いずれかの制御信号に基づいて制御対象である工作機械などに供給する電力を遮断する。
【００４４】
なお、信号検査システム１００の構成は一例であり、これには限られない。
例えば、多重信号数が増えれば、これに従って処理ユニットは３つ以上であってもよい。また、各処理ユニットは、制御装置３の内部にあってもよい。
さらに、入出力ユニット２は、信号の種類に応じて複数設けられてもよい。
【００４５】
本実施形態によれば、信号検査装置１は、多重化された信号それぞれの所定時間における変化回数を比較し、これらの差が許容値を超えた場合に不一致を示す出力を行う。したがって、信号検査装置１は、不一致が発生している時間の長さによらず、短い周期の信号異常を検出できるので、多重化された信号間の不一致を適切に検知できる。
【００４６】
信号検査装置１は、変化回数をカウントする所定時間を、状況により適宜設定できる。例えば、信号検査装置１は、所定時間を連続して設け、所定時間の経過後に新たにカウントを開始するようにして、周期的に信号検査処理を実行することもできる。
さらに、信号検査装置１は、サンプリング周期毎に、最新のサンプリング値を含む所定時間でカウントすることで、より短い周期で、かつ、所定時間を連続して設けた場合に比べて境界での信号異常の検出漏れを抑制できる。
【００４７】
また、信号検査装置１は、変化回数が他より多い信号を指し示す出力を行うことにより、チャタリングのような振動が発生した信号を容易に特定できる。
【００４８】
また、信号検査装置１は、制御装置における信号の処理ユニットとして構成できるので、多重化された信号それぞれに対応する処理ユニットが互いにクロスチェックを実行して安全性を向上できる。
【００４９】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００５０】
信号検査装置１による制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ（信号検査装置１）にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【符号の説明】
【００５１】
１  信号検査装置
１１  取得部
１２  カウント部
１３  算出部
１４  出力部
１００  信号検査システム
【図１】
0006396349.tif 000002
【図２】
0006396349.tif 000003
【図３】
0006396349.tif 000004
【図４】
0006396349.tif 000005
【図５】
0006396349.tif 000006
【図６】
0006396349.tif 000007