(57)【特許請求の範囲】
【請求項１】
数値制御装置との間で入出力される信号を制御する外部信号制御部と、
前記外部信号制御部からの信号である外部信号を出力ラインを介して外部に接続される機器に出力する外部信号出力部と、
前記出力ラインより分岐させた複数の外部出力信号を、前記複数の外部出力信号の数よりも少ない数の信号である第１診断用信号に変換し、前記外部信号制御部へ折り返す外部出力信号変換部と、
を備えることを特徴とする外部信号入出力ユニット。
【請求項２】
前記外部出力信号変換部は、前記複数の外部出力信号の数をＮ（ただし、Ｎは自然数である）とすると、Ｎ以上の分解能で前記複数の外部出力信号を前記第１診断用信号にデジタルアナログ変換することを特徴とする請求項１に記載の外部信号入出力ユニット。
【請求項３】
前記外部出力信号変換部は、デジタル信号である前記外部出力信号を、アナログ信号である前記第１診断用信号に変換するデジタルアナログ変換部を有することを特徴とする請求項１に記載の外部信号入出力ユニット。
【請求項４】
前記外部出力信号変換部は、前記デジタルアナログ変換部で変換された前記第１診断用信号のノイズを除去するノイズ除去部をさらに有することを特徴とする請求項３に記載の外部信号入出力ユニット。
【請求項５】
前記外部出力信号変換部は、前記デジタルアナログ変換部で変換されたアナログ信号を、パルス幅を示すデジタル信号に変換するパルス幅出力部をさらに有し、
前記第１診断用信号は、前記パルス幅出力部から出力されるデジタル信号であることを特徴とする請求項３または４に記載の外部信号入出力ユニット。
【請求項６】
前記第１診断用信号に基づいて、前記外部信号出力部または前記機器に異常があるか否かを診断する故障診断部をさらに備えることを特徴とする請求項１から５のいずれか１つに記載の外部信号入出力ユニット。
【請求項７】
前記数値制御装置と、
前記数値制御装置に接続される請求項１から６のいずれか１つに記載の外部信号入出力ユニットと、
を備えることを特徴とする制御システム。
【請求項８】
外部信号出力部の出力ラインより分岐させた外部信号制御部からの信号である複数の外部出力信号を、前記複数の外部出力信号の数よりも少ない数の信号である第１診断用信号に変換し、前記外部信号制御部へ折り返す外部出力信号変換部を有する外部信号入出力ユニットと、
前記第１診断用信号を受信し、前記外部信号入出力ユニットの前記出力ラインまたは前記出力ラインに接続される機器に異常があるか否かを診断する故障診断部を有する数値制御装置と、
を備えることを特徴とする制御システム。
【請求項９】
前記外部信号出力部から出力される前記複数の外部出力信号と、前記外部出力信号変換部で変換された前記第１診断用信号または前記第１診断用信号を前記複数の外部出力信号のループバック結果を含む情報に変換した信号であるである第１ループバック情報変換信号、および前記外部信号出力部または前記機器の故障診断結果を含む学習用データを取得する第１データ取得部と、
前記学習用データを用いて、前記複数の外部出力信号、前記第１診断用信号または前記第１ループバック情報変換信号から、前記外部信号出力部または前記機器の故障箇所の推論を行うための学習済モデルを生成するモデル生成部と、
を有する機械学習装置をさらに備えることを特徴とする請求項７または８に記載の制御システム。
【請求項１０】
前記複数の外部出力信号、前記第１診断用信号または前記第１ループバック情報変換信号を取得する第２データ取得部と、
前記学習済モデルを用いて、前記複数の外部出力信号、前記第１診断用信号または前記第１ループバック情報変換信号から、前記外部信号出力部または前記機器の故障箇所を出力する推論部と、
を有する推論装置をさらに備えることを特徴とする請求項９に記載の制御システム。
【請求項１１】
前記外部信号入出力ユニットは、
入力ラインを介して入力される前記機器からの信号を前記外部信号制御部に出力する外部信号入力部と、
前記入力ラインより分岐させた複数の外部入力信号を、前記複数の外部入力信号の数よりも少ない数の信号である第２診断用信号に変換し、前記外部信号制御部へ出力する外部入力信号変換部と、
をさらに備え、
前記学習用データは、前記複数の外部入力信号と、前記第２診断用信号または前記第２診断用信号を前記複数の外部入力信号のループバック結果を含む情報に変換した信号である第２ループバック情報変換信号と、前記外部信号入力部または前記機器の故障診断結果と、をさらに含み、
前記学習済モデルに、前記複数の外部入力信号、前記第２診断用信号または前記第２ループバック情報変換信号から、前記外部信号入力部または前記機器の故障箇所の推論が含まれ、
前記推論部は、前記学習済モデルを用いて、前記複数の外部入力信号と、前記第２診断用信号または前記第２ループバック情報変換信号と、から、前記外部信号入力部または前記機器の故障箇所をさらに出力することを特徴とする請求項１０に記載の制御システム。
【請求項１２】
数値制御装置と、前記数値制御装置からの複数の外部出力信号を外部信号出力部を介して機器に出力するとともに、前記複数の外部出力信号を分岐させ、前記複数の外部出力信号の数よりも少ない数の信号に変換した診断用信号を生成する外部信号入出力ユニットと、前記診断用信号を用いて前記外部信号出力部または前記機器の故障箇所を診断する故障診断部と、を備える制御システムにおける前記外部信号出力部または前記機器の故障箇所を学習する機械学習装置であって、
前記複数の外部出力信号と、前記診断用信号または前記診断用信号を前記複数の外部出力信号のループバック結果を含む情報に変換した信号であるループバック情報変換信号と、前記外部信号出力部または前記機器の故障診断結果と、を含む学習用データを取得するデータ取得部と、
前記学習用データを用いて、前記複数の外部出力信号、前記診断用信号または前記ループバック情報変換信号から、前記外部信号出力部または前記機器の故障箇所を推論するための学習済モデルを生成するモデル生成部と、
を備えることを特徴とする機械学習装置。
【請求項１３】
数値制御装置と、前記数値制御装置からの複数の外部出力信号を外部信号出力部を介して機器に出力するとともに、前記複数の外部出力信号を分岐させ、前記複数の外部出力信号の数よりも少ない数の信号に変換した診断用信号を生成する外部信号入出力ユニットと、前記診断用信号を用いて前記外部信号出力部または前記機器の故障箇所を診断する故障診断部と、を備える制御システムにおける前記外部信号出力部または前記機器の故障箇所を推論する推論装置であって、
前記複数の外部出力信号、前記診断用信号または前記診断用信号を前記複数の外部出力信号のループバック結果を含む情報に変換した信号であるループバック情報変換信号を取得するデータ取得部と、
前記複数の外部出力信号、前記診断用信号または前記ループバック情報変換信号から、前記外部信号出力部または前記機器の故障箇所を推論するための学習済モデルを用いて、前記複数の外部出力信号、前記診断用信号または前記ループバック情報変換信号から、前記外部信号出力部または前記機器の故障箇所を出力する推論部と、
を備えることを特徴とする推論装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、数値制御装置で工作機械等の制御対象を制御する際に用いられる外部信号入出力ユニット、制御システム、機械学習装置および推論装置に関する。
【背景技術】
【０００２】
数値制御装置によって工作機械等の制御対象を制御する場合には、様々な外部信号の入出力が行われる。外部信号の入出力は、外部信号入出力ユニットによって行われる。以下では、外部信号入出力ユニットは、Ｉ／Ｏ（Input/Output）ユニットと称される。外部信号には、スタート信号、各サーボ軸の同期信号等の制御対象の制御に関する信号のほかに、非常停止信号等の安全に関わる信号が含まれている。そのため、従来では、Ｉ／Ｏユニットの動作に異常が生じた場合に、瞬時に異常を検出することができる技術が提案されている。【０００３】
特許文献１には、制御対象を制御する数値制御装置に、外部信号の出力ラインと入力ラインとを有する複数のＩ／Ｏユニットを接続したシステムにおいて、Ｉ／Ｏユニットの動作が正常であるか否かを診断する診断方法が開示されている。特許文献１に記載の診断方法では、診断時には、入力ラインと出力ラインとを短絡させる短絡ループが形成され、数値制御装置から各Ｉ／Ｏユニットへの診断用信号が、Ｉ／Ｏユニットの出力ラインから短絡ループを介して入力ラインに入り、数値制御装置に戻される。そして、数値制御装置で、戻ってきた診断用信号に基づいてＩ／Ｏユニットの動作の異常の有無を診断する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１５２５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、入力ラインと出力ラインとの間に形成する短絡ループを、入力ラインと出力ラインとの組み合わせ数に応じて用意しなければならないという問題があった。例えば、１６個の入力ラインと１６個の出力ラインとを有するＩ／Ｏユニットの場合には、１６個の短絡ループを形成しなければならない。短絡ループの数が多いほど、回路内における短絡ループ用の配線およびスイッチを含む回路部品を配置するためのスペースが大きくなってしまう。【０００６】
本開示は、上記に鑑みてなされたものであって、自己診断で必要となる短絡ループの数を従来に比して少なくすることができる外部信号入出力ユニットを得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本開示の外部信号入出力ユニットは、外部信号制御部と、外部信号出力部と、外部出力信号変換部と、を備える。外部信号制御部は、数値制御装置との間で入出力される信号を制御する。外部信号出力部は、外部信号制御部からの信号である外部信号を出力ラインを介して外部に接続される機器に出力する。外部出力信号変換部は、出力ラインより分岐させた複数の外部出力信号を、複数の外部出力信号の数よりも少ない数の信号である第１診断用信号に変換し、外部信号制御部へ折り返す。
【発明の効果】
【０００８】
本開示にかかる外部信号入出力ユニットは、自己診断で必要となる短絡ループの数を従来に比して少なくすることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１による制御システムの構成の一例を模式的に示すブロック図
【図２】実施の形態１によるＩ／Ｏユニットの外部出力信号変換部がラダー抵抗で構成される場合の一例を模式的に示すブロック図
【図３】実施の形態１によるＩ／Ｏユニットの外部出力信号変換部が多入力１出力のＤ／Ａ変換器で構成される場合の一例を模式的に示すブロック図
【図４】実施の形態１によるＩ／Ｏユニットにおける故障診断の概要を示す図
【図５】実施の形態１による故障診断方法の手順の一例を示すフローチャート
【図６】実施の形態１によるＩ／Ｏユニットの外部出力信号変換部がラダー抵抗で構成される場合の他の例を模式的に示すブロック図
【図７】実施の形態２によるＩ／Ｏユニットの構成の一例を模式的に示すブロック図
【図８】実施の形態２によるＩ／Ｏユニットにおける故障診断の概要を示す図
【図９】実施の形態２による故障診断方法の手順の一例を示すフローチャート
【図１０】実施の形態４による制御システムの構成の一例を模式的に示すブロック図
【図１１】実施の形態４で用いられるニューラルネットワークの一例を模式的に示す図
【図１２】実施の形態４による制御システムにおける機械学習装置の学習処理の手順の一例を示すフローチャート
【図１３】実施の形態４による故障箇所の推定方法の手順の一例を示すフローチャート
【図１４】実施の形態５による制御システムの構成の一例を模式的に示すブロック図
【発明を実施するための形態】
【００１０】
以下に、本開示の実施の形態にかかる外部信号入出力ユニット、制御システム、機械学習装置および推論装置を図面に基づいて詳細に説明する。
【００１１】
実施の形態１．
図１は、実施の形態１による制御システムの構成の一例を模式的に示すブロック図である。実施の形態１による制御システム１は、数値制御装置１０と、数値制御装置１０に接続される外部信号入出力ユニットであるＩ／Ｏユニット２０と、を備える。Ｉ／Ｏユニット２０は、図示しない工作機械等の機器である接続機器に接続されている。接続機器は、制御対象とも称される。
【００１２】
数値制御装置１０は、Ｉ／Ｏユニット２０を介して接続機器との間でやり取りされる信号である外部信号の入出力を行い、機械加工を行う制御装置である。
【００１３】
Ｉ／Ｏユニット２０は、外部信号制御部２１と、外部信号出力部２２と、外部信号入力部２３と、外部出力信号変換部２４と、を有する。
【００１４】
外部信号制御部２１は、数値制御装置１０との間で入出力される信号を制御する。外部信号制御部２１は、接続機器に対してデータを出力する複数の出力ライン２１５と、接続機器からのデータの入力を受け付ける複数の入力ライン２１６と、外部出力信号変換部２４からの診断用信号の入力を受け付ける診断用信号入力ライン２１７と、を有する。複数の出力ライン２１５は外部信号出力部２２と接続され、複数の入力ライン２１６は外部信号入力部２３と接続されている。診断用信号入力ライン２１７は、外部出力信号変換部２４と接続されている。外部信号制御部２１は、数値制御装置１０とも接続されており、外部信号の入出力を行う。通常動作時、外部信号制御部２１から数値制御装置１０へ入力される外部信号は、「通常用ＤＩ（Digital  Input）データ」、すなわち通常用ＤＩ信号であり、数値制御装置１０から外部信号制御部２１へ出力される外部信号は、「通常用ＤＯ（Digital  Output）データ」、すなわち通常用ＤＯ信号である。
【００１５】
外部信号出力部２２は、複数の出力ライン２２１を有しており、接続機器に接続される。外部信号出力部２２は、出力ライン２２１を介して、外部信号である通常用ＤＯ信号を機器に出力する。以下では、Ｉ／Ｏユニット２０から出力される外部信号は、外部出力信号とも称される。
【００１６】
外部信号入力部２３は、複数の入力ライン２２２を有しており、接続機器に接続される。外部信号入力部２３は、入力ライン２２２を介して入力される機器からの外部信号である通常用ＤＩ信号を外部信号制御部２１に出力する。以下では、Ｉ／Ｏユニット２０に入力される外部信号は、外部入力信号とも称される。
【００１７】
外部出力信号変換部２４は、複数の出力ライン２２１から分岐させた通常用ＤＯ信号を、入力させた通常用ＤＯ信号の数よりも少ない数の信号である「診断用データ」、すなわち診断用信号へと変換する。第１診断用信号である診断用信号は、デジタル信号でもよいし、アナログ信号でもよい。Ｉ／Ｏユニット２０の構成に応じて、外部出力信号変換部２４は、通常用ＤＯ信号を、デジタル信号である診断用ＤＩ信号またはアナログ信号である診断用ＡＩ（Analog  Input）信号へと変換する。変換した診断用信号を、異常の有無を判別する故障診断部２１１を有する外部信号制御部２１へと出力する。これによって、外部信号制御部２１へループバックさせる信号の数、すなわち配線の数を従来に比して少なくすることができる。
【００１８】
一例では、外部出力信号変換部２４は、デジタルアナログ変換部によって構成される。以下では、デジタルアナログ変換は、Ｄ／Ａ（Digital-to-Analog）変換と称され、デジタルアナログ変換部は、Ｄ／Ａ変換部と称される。以下に、Ｄ／Ａ変換部の実現例を２つ示す。
【００１９】
１つ目は、Ｄ／Ａ変換部がラダー抵抗またはネットワーク抵抗で構成される場合である。図２は、実施の形態１によるＩ／Ｏユニットの外部出力信号変換部がラダー抵抗で構成される場合の一例を模式的に示すブロック図である。図２に示されるように、外部出力信号変換部２４は、ラダー抵抗２４２で構成されるＤ／Ａ変換部２４１を有する。Ｄ／Ａ変換部２４１は、外部信号出力部２２の出力ライン２２１の数に応じた入力を有している。Ｄ／Ａ変換部２４１は、各出力ライン２２１における通常用ＤＯ信号を、オンオフパターンに応じて一意のアナログ電圧値に変換し、アナログ電圧値を外部信号制御部２１へと出力する。アナログ電圧値が診断用信号となる。なお、診断用信号は、アナログ値であるので、診断用ＡＩ信号とも称される。また、Ｄ／Ａ変換部２４１中のダイオードは逆電流防止用である。さらに、図２のラダー抵抗２４２に代えて、ネットワーク抵抗を使用することも可能である。
【００２０】
２つ目は、Ｄ／Ａ変換部が多入力１出力のＤ／Ａ変換器で構成される場合である。図３は、実施の形態１によるＩ／Ｏユニットの外部出力信号変換部が多入力１出力のＤ／Ａ変換器で構成される場合の一例を模式的に示すブロック図である。図３に示されるように、Ｄ／Ａ変換部２４１は、複数の多入力１出力のＤ／Ａ変換器２４３で構成される。Ｄ／Ａ変換部２４１は、外部信号出力部２２の出力ライン２２１の数に応じた入力を有している。それぞれの出力ライン２２１は、いずれかのＤ／Ａ変換器２４３に接続される。それぞれのＤ／Ａ変換器２４３は、診断用信号を外部信号制御部２１に出力する。そして、複数の診断用信号の組み合わせに応じて、一意のアナログ電圧値が求まる。
【００２１】
図２および図３のいずれの場合でも、診断用ＡＩ信号の数が通常用ＤＯ信号の数よりも少なければ、ラダー抵抗２４２の組み合わせまたは多入力１出力のＤ／Ａ変換器２４３の個数等の構成要素は１つ以上の任意の数とすることができる。
【００２２】
図１に戻り、外部信号制御部２１は、外部出力信号変換部２４から入力される診断用信号を用いてＩ／Ｏユニット２０の故障診断を行う故障診断部２１１を有する。外部信号制御部２１は、故障診断部２１１により算出した故障診断結果を数値制御装置１０へ送信する。数値制御装置１０は、故障診断結果を受けとると、異常時には、アラームまたはブザー等の何らかの手段によってオペレータに異常を通知する。故障診断結果には、アナログ電圧値の標準値からのずれ量の情報が含まれており、オペレータはＩ／Ｏユニット２０の劣化状況を知ることができる。
【００２３】
外部出力信号変換部２４がＤ／Ａ変換部２４１である場合には、Ｄ／Ａ変換部２４１によって変換された診断用ＡＩ信号は、通常用ＤＯ信号のオンオフパターンに応じて一意のアナログ電圧値が求まるため、故障診断部２１１は、アナログ電圧値を用いて故障診断を行うことができる。故障診断部２１１は、パターン毎に得られるアナログ電圧の期待値を標準値とし、標準値からのずれ量が指定した範囲内に収まれば正常であり、範囲外であれば異常であると診断する。Ｉ／Ｏユニット２０の外部信号出力部２２を構成するＤＯ出力用部品、またはＩ／Ｏユニット２０の接続機器の経年劣化が進むと、アナログ電圧の標準値からのずれが大きくなるため、アナログ電圧の標準値からのずれによって部品または接続機器の劣化状況がどの程度かを把握することができる。一例では、標準値からのずれの度合が大きいほど、部品または接続機器の劣化度が大きいと判断することができる。
【００２４】
図４は、実施の形態１によるＩ／Ｏユニットにおける故障診断の概要を示す図である。ここでは、図２のラダー抵抗２４２で構成されるＤ／Ａ変換部２４１によって４出力のデジタル出力が診断用ＡＩ信号に変換される場合を示す。デジタル出力は４ｂｉｔであるため、オンオフパターンは「００００」から「１１１１」までの１６パターンある。通常用ＤＯ信号がオンであるときの電圧をＶ［Ｖ］とし、Ｄ／Ａ変換されたアナログ電圧をＶA［Ｖ］とすると、その標準値ＶA_typは次式（１）によって表される。
ＶA_typ＝｛（ＤＯ0×２3＋ＤＯ1×２2＋ＤＯ2×２1＋ＤＯ3×２0）／１６｝×Ｖ  ・・・（１）
【００２５】
ＤＯ0からＤＯ3は、出力ラインＤＯ００からＤＯ０３から出力される通常用ＤＯ信号の値である。ＤＯ0からＤＯ3は、通常用ＤＯ信号がオフの場合には０であり、オンの場合には１である。アナログ電圧の標準値からの許容ずれ量を（１／１６）Ｖ［Ｖ］±２７％と指定した場合、故障診断部２１１は、標準値からのずれの度合が±２７％以上である場合に、Ｉ／Ｏユニット２０が異常状態であると診断する。また、標準値からのずれの度合が±２７％未満であっても、±２７％に近い値である場合には、部品または接続機器が故障する可能性が高くなると診断することができる。
【００２６】
なお、ここでは、故障診断部２１１を外部信号制御部２１に設ける場合を示したが、故障診断部２１１を外部信号制御部２１の外に設けることもできる。この場合には、診断用信号を外部信号制御部２１から故障診断機能を有する故障診断部２１１に送信し、故障診断部２１１が故障診断を行う。
【００２７】
次に、具体的な故障診断方法について説明する。図５は、実施の形態１による故障診断方法の手順の一例を示すフローチャートである。ここでは、図２または図３に示されるように、外部出力信号変換部２４がデジタル信号をアナログ信号へ変換するＤ／Ａ変換部２４１で構成されており、診断用信号を用いて故障診断する場合を例に挙げて説明する。なお、図５の説明では、診断用信号は、診断用ＡＩ信号と称される。
【００２８】
まず、数値制御装置１０は、接続機器を制御するためのデータである通常用ＤＯデータをＩ／Ｏユニット２０に出力する。外部信号制御部２１は、通常用ＤＯデータを受信すると、通常用ＤＯデータを、出力先に対応する出力ライン２１５に通常用ＤＯ信号として出力する。外部信号出力部２２は、外部信号制御部２１からの通常用ＤＯ信号を、出力ライン２２１から出力する。この通常用ＤＯ信号は、接続機器に出力されるとともに、外部出力信号変換部２４にも出力される。
【００２９】
外部出力信号変換部２４であるＤ／Ａ変換部２４１は、入力された通常用ＤＯ信号を診断用ＡＩ信号へ変換する（ステップＳ１１）。このとき、診断用ＡＩ信号の数は、通常用ＤＯ信号の数よりも少ない。すなわち、Ｄ／Ａ変換部２４１は、入力される通常用ＤＯ信号から、入力される通常用ＤＯ信号の数よりも少ない数の診断用ＡＩ信号を生成する。
【００３０】
次いで、外部出力信号変換部２４は、生成した診断用ＡＩ信号を外部信号制御部２１へ出力する（ステップＳ１２）。診断用ＡＩ信号は、診断用信号入力ライン２１７を介して外部信号制御部２１の故障診断部２１１に入力される。このように、外部信号制御部２１が出力した通常用ＤＯ信号が、診断用ＡＩ信号として外部信号制御部２１にループバックされる。
【００３１】
その後、故障診断部２１１は、入力された診断用ＡＩ信号についてアナログデジタル変換を行い、デジタル信号を生成する（ステップＳ１３）。以下では、アナログデジタル変換は、Ａ／Ｄ（Analog-to-Digital）変換と称される。このとき、故障診断部２１１は、Ｄ／Ａ変換部２４１へ入力した信号数をＮとした場合、Ｎよりもｎ（ｎは自然数）ビット分だけ高い分解能になるように、診断用ＡＩ信号をＡ／Ｄ変換する。ｎの値が大きい程高分解能となり、劣化状況を細かく見ることができ、より精度の高い故障診断が可能となる。なお、ビット幅Ｎ，ｎは数値制御装置１０によって予め定められた設定値が伝送される。また、ビット幅をＮとしても、すなわちｎを０としてもよい。その場合には、劣化状況の確認はなく、故障診断のみを実施することができる。
【００３２】
次いで、故障診断部２１１は、Ａ／Ｄ変換された信号を用いて故障診断を開始する（ステップＳ１４）。Ａ／Ｄ変換された（Ｎ＋ｎ）ビットの信号構成は、上位Ｎビットが外部信号制御部２１より出力された通常用ＤＯ信号のループバック結果を示し、下位ｎビットが劣化状況を表すものとなる。以下では、ループバック結果を含むデジタル信号は、ループバック情報とも称される。故障診断部２１１は、アナログ電圧ＶAの診断用ＡＩ信号をＡ／Ｄ変換して得られる上位Ｎビットのビット値をＤ１UBとし、下位ｎビットのビット値をＤ１LBとし、パターン毎に得られるアナログ電圧の標準値であるアナログ電圧ＶA_typの診断用ＡＩ信号をＡ／Ｄ変換して得られる下位ｎビットのビット値を標準値Ｄ１LB_typとする。
【００３３】
その後、故障診断部２１１は、ループバック結果が正しいかを判定する（ステップＳ１５）。具体的には、故障診断部２１１は、ループバック結果であるビット値Ｄ１UBと、外部信号制御部２１に格納されている通常用ＤＯデータのビット値と、を比較し、両者が一致するかを判定する。なお、外部信号制御部２１に格納されている通常用ＤＯデータのビット値は、数値制御装置１０から出力された情報である。
【００３４】
ループバック結果が正しい場合（ステップＳ１５でＹｅｓの場合）には、故障診断部２１１は、劣化度合が許容範囲内であるかを判定する（ステップＳ１６）。具体的には、故障診断部２１１は、劣化状況を示すｎビットのビット値Ｄ１LBを、劣化状況の標準値Ｄ１LB_typで割る除算を行い、その除算結果から１を引き１００倍した結果を劣化度合として算出する。この劣化度合は、正の数にもなれば負の数にもなる。一例では、劣化度合は、正負の符号を示す１ビットと、７ビットの数値と、で表される。そして、故障診断部２１１は、算出した劣化度合、すなわち標準値からのずれの割合が、予め定められた許容範囲内であるかを判定する。一例では、許容範囲は±２７％とされる。
【００３５】
劣化度合が許容範囲内である場合（ステップＳ１６でＹｅｓの場合）には、故障診断部２１１は、Ｉ／Ｏユニット２０は正常であると判定する（ステップＳ１７）。一方、ステップＳ１５でループバック結果が正しくない場合（ステップＳ１５でＮｏの場合）またはステップＳ１６で劣化度合が許容範囲内でない場合（ステップＳ１６でＮｏの場合）には、故障診断部２１１は、Ｉ／Ｏユニット２０は異常であると判定する（ステップＳ１８）。
【００３６】
その後、またはステップＳ１７の後、故障診断部２１１は、ステップＳ１５からステップＳ１８までの結果を用いて、故障診断結果を生成する（ステップＳ１９）。故障診断結果は、ステップＳ１７またはステップＳ１８での故障診断の総合判定の結果を示す１ビットの診断結果ビットと、ステップＳ１５でのループバック結果を用いた出力一致判定の結果を示す１ビットの出力一致判定ビットと、ステップＳ１６からステップＳ１８で算出された劣化度合の正負符号を示す１ビットの正負符号ビットおよび劣化度合の絶対値を示す７ビットのずれ量ビットと、を少なくとも含む情報で構成されている。故障診断部２１１は、出力一致判定ビット、正負符号ビットおよびずれ量ビットの３つの情報を基に、Ｉ／Ｏユニット２０の外部信号出力部２２の正常または異常に関する結果である総合診断結果を診断する。そして、故障診断部２１１は、ステップＳ１５からステップＳ１８までの結果を定められたビットに格納した故障診断結果を生成する。
【００３７】
なお、出力一致判定ビットは、ループバック結果が正しい場合には出力が一致しているとし、ループバック結果が正しくない場合には出力が不一致であるとされる。出力一致判定ビットが不一致であるとして異常と診断された場合には、ループバック結果であるビット値Ｄ１UBと、外部信号制御部２１に格納されている通常用ＤＯデータのビット値と、を比較し、外部信号制御部２１に格納されている通常用ＤＯデータと異なるビットが故障個所であると特定できるので、故障箇所を一意に特定することができる。また、正負符号ビットおよびずれ量ビットが許容範囲内に収っていないために異常と診断された場合には、Ｄ／Ａ変換部２４１へ入力されたＮビットの信号のいずれかが故障箇所であると特定できる。以上のような故障箇所に関する情報が含まれるループバック結果または故障箇所を故障診断結果は含んでいてもよい。
【００３８】
次いで、外部信号制御部２１は、故障診断部２１１によって生成された故障診断結果を数値制御装置１０へ出力する（ステップＳ２０）。その後、数値制御装置１０は、入力された故障診断結果からＩ／Ｏユニット２０の外部信号出力部２２は異常であるかを判定する（ステップＳ２１）。Ｉ／Ｏユニット２０の外部信号出力部２２が異常である場合（ステップＳ２１でＹｅｓの場合）には、数値制御装置１０は、任意の手段でオペレータへ異常状態を通知する（ステップＳ２２）。なお、Ｉ／Ｏユニット２０の外部信号出力部２２が正常である場合でも、オペレータの操作によって故障診断結果の内容を参照して、Ｉ／Ｏユニット２０の外部信号出力部２２または接続機器の劣化状況を確認することができる。その後、またはＩ／Ｏユニット２０の外部信号出力部２２が異常ではない場合（ステップＳ２１でＮｏの場合）には、故障診断方法が終了する。
【００３９】
なお、外部出力信号変換部２４がＤ／Ａ変換部２４１で構成される場合、アナログ値のばらつきが経年劣化起因であるのかノイズ起因であるのかを識別する必要がある。図６は、実施の形態１によるＩ／Ｏユニットの外部出力信号変換部がラダー抵抗で構成される場合の他の例を模式的に示すブロック図である。図６では、外部出力信号変換部２４は、Ｄ／Ａ変換部２４１の後段にノイズ除去部２４４を備える。ノイズ除去部２４４によって、ノイズが除去され、ノイズ起因による診断精度の低下を防ぐことができる。例えば、ノイズ除去部２４４は、抵抗およびコンデンサを用いたアナログフィルタによって構成される。この他に、外部信号制御部２１にデジタルフィルタを備えてもよい。
【００４０】
実施の形態１では、Ｉ／Ｏユニット２０が、外部信号出力部２２の出力ライン２２１から分岐させた複数の外部出力信号を外部出力信号の数よりも少ない数の信号に変換し、外部信号制御部２１に折り返す外部出力信号変換部２４を備える。これによって、従来に比して、信号を折り返すための配線の数を少なくすることができ、省配線化することができる。すなわち、異常検出を含む自己診断で必要となる短絡ループの数を従来に比して少なくすることができるという効果を有する。
【００４１】
また、従来では、異常検出を含む自己診断を行う場合には、診断用の信号を使用して診断用の短絡ループを形成するために、動作モードを通常動作から自己診断動作へと切り替える必要があった。そのため、自己診断動作中では、外部信号の入出力といった通常動作を行うことができない。工作機械では、自己診断動作中では、機械加工を行うことができないので、一時的に生産が停滞することになる。しかし、実施の形態１では、通常動作時に数値制御装置１０から出力される外部信号である複数の通常用ＤＯ信号を外部信号出力部２２の出力ライン２２１から分岐させた複数の外部出力信号を用いて、故障診断を行う。このため、通常時と診断時の動作の切り替えを行う必要がなく、常にＩ／Ｏユニット２０およびその接続機器の状態監視を行うことができる。
【００４２】
外部出力信号変換部２４は、複数の外部出力信号のオンオフパターンに応じて一意のアナログ電圧値に変換するようにした。また、故障診断部２１１では、アナログ電圧値をＡ／Ｄ変換したループバック結果と、外部信号制御部２１に格納されている通常用ＤＯデータのビット値と、を比較する。これによって、従来では、故障箇所があるか否かがわかるのみであったものが、故障箇所を特定することができる。また、外部出力信号変換部２４がＤ／Ａ変換部２４１で構成される場合に、電圧等のデジタル入力値の標準値からのばらつきを判定することで、Ｉ／Ｏユニット２０の外部信号出力部２２または接続機器の劣化状況の把握および故障予知を行うことができる。
【００４３】
実施の形態２．
実施の形態１では、外部出力信号変換部２４は、Ｄ／Ａ変換部２４１で構成され、診断用ＡＩ信号を出力する場合について説明した。実施の形態２では、外部出力信号変換部２４がデジタルの診断用信号を出力する場合について説明する。
【００４４】
図７は、実施の形態２によるＩ／Ｏユニットの構成の一例を模式的に示すブロック図である。外部出力信号変換部２４は、パルス幅出力部２４５をさらに備える。パルス幅出力部２４５は、Ｄ／Ａ変換部２４１の後段に接続され、電圧−周波数変換を行い、デジタルの診断用信号を出力する。デジタルの診断用信号は、診断用ＤＩ信号と称される。外部信号制御部２１は、変換された診断用ＤＩ信号を用いて故障診断を行う。なお、実施の形態１と同一の構成要素には同一の符号を付し、その説明を省略する。
【００４５】
パルス幅出力部２４５は、タイマＩＣ（Integrated  Circuit）とコンパレータとの組み合わせ、またはＶ−Ｆ（Voltage  to  Frequency）コンバータによって実現される。実施の形態１の場合と同様に、診断用ＤＩ信号の数が通常用ＤＯ信号の数よりも少なければ、Ｖ−Ｆコンバータ等の構成要素は１つ以上の任意の数で構わない。
【００４６】
外部信号制御部２１の故障診断部２１１は、外部出力信号変換部２４から入力される診断用ＤＩ信号を用いてＩ／Ｏユニット２０の故障診断を行う。パルス幅出力部２４５は、入力されたアナログ値に応じて一意のパルス幅ｔplsを出力する。実施の形態１で説明した通り、アナログ電圧値は通常用ＤＯ信号のオンオフパターンに応じて一意に変換されるため、パルス幅もオンオフパターンに応じて一意の値をとる。そこで、実施の形態２では、このパルス幅の値を用いて故障診断が行われる。パターン毎に得られるパルス幅の値を標準値ｔpls_typとすることで、実施の形態１と同様に故障診断および劣化状況の把握が可能となる。
【００４７】
図８は、実施の形態２によるＩ／Ｏユニットにおける故障診断の概要を示す図である。ここでは、図７の構成の外部出力信号変換部２４によって４出力の通常用ＤＯ信号が診断用ＤＩ信号に変換される場合を示す。Ｄ／Ａ変換されたアナログ電圧ＶAの入力時に変換された周波数をｆplsとすると、通常用ＤＯ信号のオンオフパターンに応じて得られるパルス幅ｔplsは次式（２）によって表される。
ｔpls＝１／ｆpls  ・・・（２）
【００４８】
実施の形態２において、オンオフパターン毎に電圧−周波数変換された周波数の標準値をｆpls_xxxx（ただし、ｘｘｘｘは「００００」から「１１１１」までの２進数である）とすると、オンオフパターン毎のパルス幅の標準値ｔpls_typは次式（３）によって表される。
ｔpls_typ＝１／fpls_xxxx  ・・・（３）
【００４９】
そして、図４の場合と同様に、通常用ＤＯ信号のオンオフパターンに応じて得られるパルス幅ｔplsの標準値ｔpls_typからのずれが±２７％以上である場合に、故障診断部２１１は、Ｉ／Ｏユニット２０が異常状態であると診断する。
【００５０】
外部信号制御部２１へ入力された診断用ＤＩ信号のパルス幅ｔplsは、パルス入力中のクロック数をカウントすることによって値が算出される。クロック周波数ｆCLK、クロック数をＮplsとした場合には、診断用ＤＩ信号のパルス幅ｔplsは、次式（４）によって表される。
ｔpls＝Ｎpls×（１／ｆCLK）  ・・・（４）
【００５１】
つまり、クロック周波数ｆCLKが高い程、パルス幅ｔplsの値を細かく算出できる。オンオフパターン毎に得られるクロック数の標準値をＮpls_typとすると、オンオフパターン毎のパルス幅の標準値ｔpls_typは、次式（５）によって表される。
ｔpls_typ＝Ｎpls_typ×（１／ｆCLK）  ・・・（５）
【００５２】
図９は、実施の形態２による故障診断方法の手順の一例を示すフローチャートである。まず、外部出力信号変換部２４は、Ｄ／Ａ変換部２４１で入力された通常用ＤＯ信号をアナログ信号に変換し、パルス幅出力部２４５でアナログ信号を診断用ＤＩ信号へ変換する（ステップＳ３１）。
【００５３】
次いで、パルス幅出力部２４５は、生成した診断用ＤＩ信号を外部信号制御部２１へ出力する（ステップＳ３２）。
【００５４】
その後、故障診断部２１１は、診断用ＤＩ信号のパルス幅を通常用ＤＯ信号のループバック情報に変換する（ステップＳ３３）。パルス幅出力部２４５から出力される診断用ＤＩ信号のパルス幅は、通常用ＤＯ信号のオンオフパターンに応じて一意に決まる。そのため、パルス幅より通常用ＤＯ信号のループバック結果へ変換することができる。通常用ＤＯ信号の出力情報は（Ｎ＋ｎ）ビットのデータで構成されるように変換し、上位Ｎビットが外部信号制御部２１より出力された通常用ＤＯ信号のループバック結果となり、下位ｎビットが劣化状況を表す。ここでは、ループバック情報は、ループバック結果と劣化状況とを含むデジタル信号である。なお、実施の形態１同様、Ｎ,ｎは数値制御装置１０より予め定められた設定値が伝送される。
【００５５】
次いで、故障診断部２１１は、パルス幅から変換された通常用ＤＯ信号のループバック情報を用いて、故障診断を開始する（ステップＳ３４）。パルス幅がｔplsのときの通常用ＤＯ信号のループバック情報にて、上位Ｎビットのビット値をＤ２UBとし、下位ｎビットのビット値をＤ２LBとし、パターン毎に得られるパルス幅の標準値ｔpls_typのときの通常用ＤＯ信号の出力情報にて、上位Ｎビットのビット値をＤ２UB_typとし、下位ｎビットのビット値をＤ２LB_typとする。分解能が２(N+n)となるように、パルス幅ｔplsとビット値（Ｄ２UB，Ｄ２LB）を割り付ける。故障診断部２１１は、診断用ＤＩ信号のパルス幅ｔplsに割り付けられたビット値（Ｄ２UB，Ｄ２LB）と、オンオフパターン毎に得られるパルス幅の標準値ｔpls_typに割り付けられたビット値（Ｄ２UB_typ，Ｄ２LB_typ）と、を比較する。
【００５６】
その後、故障診断部２１１は、ループバック結果が正しいかを判定する（ステップＳ３５）。故障診断部２１１は、ループバック結果であるビット値ＤUBと外部信号制御部２１に格納されている通常用ＤＯデータのビット値と、を比較する。なお、外部信号制御部２１に格納されている通常用ＤＯデータのビット値は、数値制御装置１０より出力された情報である。
【００５７】
ループバック結果が正しい場合（ステップＳ３５でＹｅｓの場合）には、故障診断部２１１は、劣化度合が許容範囲内であるかを判定する（ステップＳ３６）。劣化度合は、劣化状況を示すｎビットのＤ２LBをパルス幅の標準値に対応付けられた劣化状況の標準値Ｄ２LB_typで割る除算を行い、その除算結果から１を引き１００倍した結果、すなわち、標準値からのずれの割合である。この劣化度合は、正の数にもなれば負の数にもなる。一例では、劣化度合は、正負の符号を示す１ビットと、７ビットの数値と、で表される。故障診断部２１１は、算出した劣化度合が、許容範囲であるかを判定する。一例では、許容範囲は±２７％とされる。
【００５８】
その後は、実施の形態１の図５のフローチャートのステップＳ１７以降の処理と同様の処理（ステップＳ３７からステップＳ４２）が行われるため、説明を省略する。
【００５９】
なお、上記した説明では、パルス幅出力部２４５はＤ／Ａ変換部２４１の後段に設けられる場合を示したが、図６のように、Ｄ／Ａ変換部２４１の後段にノイズ除去部２４４を設け、ノイズ除去部２４４の後段にパルス幅出力部２４５が設けられるようにしてもよい。
【００６０】
実施の形態２では、外部出力信号変換部２４に、Ｄ／Ａ変換部２４１またはノイズ除去部２４４の後段に、入力されたアナログ値に応じて一意のパルス幅を出力するパルス幅出力部２４５を配置した。これによって、パルス幅によってもＩ／Ｏユニット２０および接続機器の故障の有無および劣化状況を診断することができる。
【００６１】
実施の形態３．
実施の形態１，２では、故障診断結果を算出する故障診断部２１１をＩ／Ｏユニット２０が有する場合について説明した。実施の形態３では、故障診断部２１１を数値制御装置１０が有する場合について説明する。この場合、Ｉ／Ｏユニット２０は、外部出力信号変換部２４にて変換された診断用信号の情報を、数値制御装置１０へ伝送する。数値制御装置１０の故障診断部２１１は、受信した診断用信号を用いて故障診断結果を生成する。なお、数値制御装置１０には、予め定められた信号数Ｎが設定されている。数値制御装置１０は、予め定められた設定値を、必要に応じて参照したり、Ｉ／Ｏユニット２０へ伝送したりする。
【００６２】
外部出力信号変換部２４で変換された診断用信号が診断用ＡＩ信号である場合には、外部信号制御部２１と数値制御装置１０との間はデジタル信号で情報伝送されなければならない。そのため、外部信号制御部２１は、診断用ＡＩ信号をＡ／Ｄ変換し、Ａ／Ｄ変換したデジタル信号を数値制御装置１０に伝送する。実施の形態１で説明した通り、ビット幅Ｎ，ｎについては数値制御装置１０から設定値が伝送され、外部信号制御部２１は、設定値に従って、診断用ＡＩ信号をＡ／Ｄ変換する。Ａ／Ｄ変換で得られるデジタル信号は、実施の形態１で説明したように、（Ｎ＋ｎ）ビットの信号で構成され、上位Ｎビットが外部信号制御部２１より出力された通常用ＤＯ信号の出力結果、すなわちループバック結果を示し、下位ｎビットが劣化状況を示す。後の数値制御装置１０の故障診断部２１１における故障診断結果の生成、および故障診断方法は、実施の形態１と同様である。ただし、ステップＳ１５，Ｓ３５において、故障診断部２１１をＩ／Ｏユニット２０が有する場合は、ループバック結果を外部信号制御部２１に格納されている通常用ＤＯデータと比較していたが、故障診断部２１１を数値制御装置１０が有する場合は、ループバック結果を数値制御装置１０に格納されている通常用ＤＯデータと比較して、ループバック結果が正しいかを判定する。
【００６３】
一方、外部出力信号変換部２４で変換された信号が診断用ＤＩ信号である場合には、外部信号制御部２１は、カウントしたクロック数の情報を数値制御装置１０へ伝送する。数値制御装置１０への伝送後は、実施の形態２で説明したのと同様に、数値制御装置１０の故障診断部２１１は、パルス幅を算出し、算出したパルス幅の情報を基に故障診断結果の生成、および故障診断が行われる。このとき、故障診断部２１１は、ビット幅Ｎ，ｎについては数値制御装置１０に格納されている設定値を参照し、その参照値に従ってパルス幅から（Ｎ＋ｎ）ビットの信号へ変換する。
【００６４】
実施の形態３では、数値制御装置１０が故障診断部２１１を有するようにした。これによって、故障診断部２１１を有するのが数値制御装置１０のみで済むため、制御システム１全体で見ると実施の形態１，２と比べ低コスト化することができる。
【００６５】
実施の形態４．
実施の形態１から３では、Ｉ／Ｏユニット２０の劣化状況から異常の有無を判別した。しかし、出力一致判定が不一致にならない限り、劣化が進んでいる箇所を一意に特定することはできない。そこで、実施の形態４では、出力一致判定が不一致にならない場合でも、劣化が進んでいる箇所を一意に特定できる制御システム１について説明する。
【００６６】
図１０は、実施の形態４による制御システムの構成の一例を模式的に示すブロック図である。制御システム１は、数値制御装置１０と、実施の形態１または２に記載の外部出力信号変換部２４を有するＩ／Ｏユニット２０と、機械学習装置３０と、推論装置４０と、を備える。故障診断部２１１は、実施の形態１または２のように、Ｉ／Ｏユニット２０に設けられていてもよいし、実施の形態３のように数値制御装置１０に設けられていてもよい。機械学習装置３０は、外部出力信号、診断用信号および故障診断結果を用いて、外部信号出力部２２または接続機器の故障箇所を推論する学習済モデルを生成する。推論装置４０は、機械学習装置３０で生成された学習済モデルを用いて、外部出力信号および診断用信号から、外部信号出力部２２または接続機器の故障箇所の予知を行う。なお、図１０では、Ｉ／Ｏユニット２０の外部信号入力部２３の図示が省略されている。
【００６７】
機械学習装置３０は、第１データ取得部であるデータ取得部３１と、モデル生成部３２と、学習済モデル記憶部３３と、を備える。
【００６８】
データ取得部３１は、外部出力信号である通常用ＤＯ信号、診断用信号またはこの信号をループバック情報へ変換した信号、および故障診断結果を学習用データとして取得する。ループバック情報へ変換した信号は、以下ではループバック情報変換信号と称される。
【００６９】
モデル生成部３２は、データ取得部３１から出力される通常用ＤＯ信号、診断用信号または第１ループバック情報変換信号であるループバック情報変換信号、および故障診断結果の組合せに基づいて作成される学習用データに従って、Ｉ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を学習する。すなわち、Ｉ／Ｏユニット２０の通常用ＤＯ信号、診断用信号またはループバック情報変換信号、および故障診断結果からＩ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を推論する学習済モデルを生成する。ここで、学習用データは、通常用ＤＯ信号、診断用信号またはループバック情報変換信号、および故障診断結果を互いに関連付けたデータである。
【００７０】
モデル生成部３２が用いる学習アルゴリズムは教師あり学習、教師なし学習、強化学習等の公知のアルゴリズムを用いることができる。一例として、ニューラルネットワークを適用した場合について説明する。モデル生成部３２は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習により、Ｉ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を学習する。ここで、教師あり学習とは、入力と結果であるラベルとのデータの組を機械学習装置３０に与えることで、それらの学習用データにある特徴を学習し、入力から結果を推論する手法をいう。
【００７１】
図１１は、実施の形態４で用いられるニューラルネットワークの一例を模式的に示す図である。ニューラルネットワーク３００は、複数のニューロンＸ１，Ｘ２，Ｘ３からなる入力層３１０、複数のニューロンＹ１，Ｙ２からなる中間層３２０、および複数のニューロンＺ１，Ｚ２，Ｚ３からなる出力層３３０を有する。中間層３２０は、隠れ層とも称され、１層または２層以上である。図１１では、中間層３２０が１層である場合が示されている。
【００７２】
例えば、図１１に示されるような３層のニューラルネットワーク３００である場合には、入力層３１０の各ニューロンＸ１，Ｘ２，Ｘ３の出力値に対して重み係数Ｗ１が乗算され、乗算によって得られた結果の線形結合が中間層３２０の各ニューロンＹ１，Ｙ２に入力される。中間層３２０の各ニューロンＹ１，Ｙ２の出力値に対して重み係数Ｗ２が乗算され、乗算によって得られた結果の線形結合が出力層３３０の各ニューロンＺ１，Ｚ２，Ｚ３に入力される。図１１の例では、入力層３１０の出力値に乗じられる重み係数Ｗ１は、ｗ１１からｗ１６であり、中間層３２０の出力値に乗じられる重み係数Ｗ２は、ｗ２１からｗ２６である。出力層３３０から出力される出力結果は、重み係数Ｗ１，Ｗ２の値によって変わる。
【００７３】
実施の形態４において、ニューラルネットワーク３００は、データ取得部３１によって取得される通常用ＤＯ信号、診断用信号またはループバック情報変換信号、および故障診断結果の組合せに基づいて作成される学習用データに従って、いわゆる教師あり学習により、Ｉ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を学習する。
【００７４】
すなわち、ニューラルネットワーク３００は、入力層３１０に通常用ＤＯ信号、診断用信号またはループバック情報変換信号を入力して、出力層３３０から出力された結果が、故障診断結果に近づくように重み係数Ｗ１，Ｗ２を調整することで学習する。
【００７５】
モデル生成部３２は、以上のような学習を実行することで学習済モデルを生成し、出力する。
【００７６】
学習済モデル記憶部３３は、モデル生成部３２から出力された学習済モデルを記憶する。
【００７７】
推論装置４０は、第２データ取得部であるデータ取得部４１と、推論部４２と、を備える。
【００７８】
データ取得部４１は、外部出力信号である通常用ＤＯ信号と、診断用信号またはループバック情報変換信号と、を取得する。
【００７９】
推論部４２は、機械学習装置３０の学習済モデル記憶部３３に記憶されている学習済モデルを利用して得られるＩ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を推論する。すなわち、この学習済モデルにデータ取得部４１で取得した通常用ＤＯ信号と、診断用信号またはループバック情報変換信号と、を入力することで、通常用ＤＯ信号と、診断用信号またはループバック情報変換信号と、から推論されるＩ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を出力することができる。
【００８０】
なお、機械学習装置３０は、Ｉ／Ｏユニット２０の故障診断結果を学習するために使用され、推論装置４０は、Ｉ／Ｏユニット２０の故障箇所を推論するために使用される。しかし、機械学習装置３０および推論装置４０は、例えば、ネットワークを介して数値制御装置１０に接続され、この数値制御装置１０およびＩ／Ｏユニット２０とは別個の装置であってもよい。また、機械学習装置３０および推論装置４０は、数値制御装置１０またはＩ／Ｏユニット２０に内蔵されていてもよい。さらに、機械学習装置３０および推論装置４０は、クラウドサーバ上に存在していてもよい。
【００８１】
また、実施の形態４では、モデル生成部３２で学習した学習済モデルを用いてＩ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を出力するものとして説明したが、他のＩ／Ｏユニット２０および数値制御装置１０等の外部から学習済モデルを取得し、この学習済モデルに基づいてＩ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を出力するようにしてもよい。
【００８２】
次に、機械学習装置３０が学習する処理について説明する。図１２は、実施の形態４による制御システムにおける機械学習装置の学習処理の手順の一例を示すフローチャートである。まず、データ取得部３１は、外部出力信号である通常用ＤＯ信号と、診断用信号またはループバック情報変換信号と、故障診断結果と、を取得する（ステップＳ５１）。なお、通常用ＤＯ信号と、診断用信号またはループバック情報変換信号と、故障診断結果と、を同時に取得するものとしたが、通常用ＤＯ信号、診断用信号またはループバック情報変換信号、および故障診断結果を関連づけて入力できればよく、通常用ＤＯ信号、診断用信号またはループバック情報変換信号、および故障診断結果のデータをそれぞれ別のタイミングで取得してもよい。
【００８３】
次いで、モデル生成部３２は、データ取得部３１によって取得される通常用ＤＯ信号、診断用信号またはループバック情報変換信号、および故障診断結果の組合せに基づいて作成される学習用データに従って、教師あり学習により、外部信号出力部２２および接続機器の故障箇所を学習し、学習済モデルを生成する（ステップＳ５２）。
【００８４】
その後、モデル生成部３２は、生成した学習済モデルを学習済モデル記憶部３３に記憶し（ステップＳ５３）、学習処理が終了する。
【００８５】
次に、推論装置４０を使ってＩ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を得るための処理を説明する。図１３は、実施の形態４による故障箇所の推定方法の手順の一例を示すフローチャートである。
【００８６】
まず、データ取得部４１は、外部出力信号である通常用ＤＯ信号と、診断用信号またはループバック情報変換信号と、を取得する（ステップＳ７１）。次いで、推論部４２は、学習済モデルに、取得した通常用ＤＯ信号と、診断用信号またはループバック情報変換信号と、を入力し、Ｉ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を得る（ステップＳ７２）。学習済モデルは、機械学習装置３０の学習済モデル記憶部３３に記憶されたものである。その後、推論部４２は、学習済モデルにより得られたＩ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を数値制御装置１０に出力する（ステップＳ７３）。
【００８７】
そして、数値制御装置１０は、推論装置４０から入力されたＩ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を用いて、Ｉ／Ｏユニット２０または接続機器の故障予知を行う（ステップＳ７４）。これによって、Ｉ／Ｏユニット２０の外部信号出力部２２または接続機器の異常が検出される。一例では、外部信号出力部２２または接続機器の故障箇所または故障寸前箇所が異常として検出された場合には、数値制御装置１０は、故障箇所または故障寸前箇所を特定することができる。一例では、劣化状況の標準値からのずれが許容範囲外にあるとされた場合に、異常が特定された外部信号出力部２２の部品および接続機器のうちのいずれかが故障箇所となる。また、一例では、劣化状況の標準値からのずれが許容範囲内であるが、許容範囲外となる閾値に近い場合に、異常が特定された外部信号出力部２２の部品および接続機器のうちのいずれかが故障寸前箇所となる。故障予知によって異常を検出した場合には、数値制御装置１０は、アラーム等の任意の手段でオペレータへ異常状態を通知する。なお、正常時でも、オペレータの操作にて故障診断結果の内容を参照して、オペレータは、Ｉ／Ｏユニット２０の外部信号出力部２２または接続機器の劣化状況を確認することができる。
【００８８】
なお、実施の形態４では、モデル生成部３２が用いる学習アルゴリズムに教師あり学習を適用した場合について説明したが、これに限られるものではない。学習アルゴリズムについては、教師あり学習以外にも、教師なし学習、または半教師あり学習等を適用することも可能である。
【００８９】
また、モデル生成部３２は、複数のＩ／Ｏユニット２０に対して作成される学習用データに従って、Ｉ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を学習するようにしてもよい。このとき、モデル生成部３２は、同一のエリアで使用される複数のＩ／Ｏユニット２０から学習用データを取得してもよいし、異なるエリアで独立して動作する複数のＩ／Ｏユニット２０から収集される学習用データを利用してＩ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を学習してもよい。また、学習用データを収集するＩ／Ｏユニット２０を途中で対象に追加したり、対象から除去したりすることも可能である。さらに、あるＩ／Ｏユニット２０に関してＩ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を学習した学習装置を、これとは別のＩ／Ｏユニット２０に適用し、当該別のＩ／Ｏユニット２０に関してＩ／Ｏユニット２０の外部信号出力部２２または接続機器の故障箇所を再学習して更新するようにしてもよい。
【００９０】
さらに、モデル生成部３２に用いられる学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習（Deep  Learning）を用いることもでき、他の公知の方法、例えばサポートベクターマシンなどに従って機械学習を実行してもよい。
【００９１】
実施の形態４では、機械学習装置３０で、Ｉ／Ｏユニット２０の外部出力信号と、診断用信号またはループバック情報変換信号と、故障診断結果と、の相関関係に基づいて外部信号出力部２２またはその接続機器の劣化状況に関する特徴量を学習させる。これによって、推論装置４０で、Ｉ／Ｏユニット２０の外部信号出力部２２および接続機器の故障予知を行うことができる。
【００９２】
実施の形態５．
図１４は、実施の形態５による制御システムの構成の一例を模式的に示すブロック図である。なお、上記した実施の形態と同一の構成要素については、同一の符号を付し、その説明を省略する。以下では、上記した実施の形態と異なる部分について説明する。Ｉ／Ｏユニット２０は、外部入力信号変換部２６をさらに有する。外部入力信号変換部２６は、複数の入力ライン２２２より分岐させた外部入力信号である通常用ＤＩ信号を、入力させた通常用ＤＩ信号の数よりも少ない数の第２診断用信号である診断用信号へ変換する。診断用信号は、Ｉ／Ｏユニット２０の構成に応じて、アナログ信号またはデジタル信号の形態をとる。外部入力信号変換部２６は、変換した診断用信号を、外部信号制御部２１へ出力する。
【００９３】
なお、故障診断部２１１は、外部信号制御部２１に設けられてもよいし、数値制御装置１０に設けられてもよい。故障診断部２１１は、外部出力信号変換部２４からの第１診断用信号である診断用信号に加えて、外部入力信号変換部２６からの診断用信号を用いて故障診断を行う。外部入力信号変換部２６で変換された診断用信号を用いることによって、故障診断部２１１で、Ｉ／Ｏユニット２０の外部信号入力部２３の故障診断を行うことができる。外部入力信号変換部２６の構成例は、実施の形態１から３で説明した外部出力信号変換部２４と同様である。また、故障診断部２１１における故障診断は、Ｉ／Ｏユニット２０の外部信号出力部２２またはその制御対象である接続機器の故障診断時と同様の方法で行われる。
【００９４】
機械学習装置３０のデータ取得部３１は、外部出力信号である通常用ＤＯ信号、外部出力についての診断用信号または第１ループバック情報変換信号であるループバック情報変換信号、および外部出力についての故障診断結果に加えて、外部入力信号である通常用ＤＩ信号、外部入力についての診断用信号または第２ループバック情報変換信号であるループバック情報変換信号、および外部入力についての故障診断結果を学習用データとして取得する。
【００９５】
機械学習装置３０のモデル生成部３２は、データ取得部３１から出力される通常用ＤＩ信号および通常用ＤＯ信号、外部入力および外部出力についての診断用信号またはループバック情報変換信号、並びに外部入力および外部出力についての故障診断結果の組合せに基づいて作成される学習用データに従って、Ｉ／Ｏユニット２０の外部信号入力部２３、外部信号出力部２２または制御対象である接続機器の故障箇所を学習する。すなわち、モデル生成部３２は、Ｉ／Ｏユニット２０の通常用ＤＯ信号、外部出力についての診断用信号またはループバック情報変換信号、および外部出力についての故障診断結果から、Ｉ／Ｏユニット２０の外部信号出力部２２または制御対象である接続機器の故障箇所を推論する学習済モデルを生成し、Ｉ／Ｏユニット２０の通常用ＤＩ信号、外部入力についての診断用信号またはループバック情報変換信号、および外部入力についての故障診断結果から、Ｉ／Ｏユニット２０の外部信号入力部２３の故障箇所を推論する学習済モデルを生成する。ここで、学習用データは通常用ＤＩ信号および通常用ＤＯ信号、外部入力および外部出力についての診断用信号またはループバック情報変換信号、並びに外部入力および外部出力についての故障診断結果を互いに関連付けたデータである。
【００９６】
実施の形態４と異なる点は、データ取得部３１で取得する学習用データの種類およびモデル生成部３２で生成するモデルの種類が増えるという点のみであり、モデル生成部３２で行う学習済モデルの生成方法および機械学習装置３０の学習処理に関しては実施の形態４と同様である。
【００９７】
推論装置４０のデータ取得部４１は、外部出力信号である通常用ＤＯ信号、および外部出力についての診断用信号またはループバック情報変換信号に加えて、外部入力信号である通常用ＤＩ信号、および外部入力についての診断用信号またはループバック情報変換信号を取得する。
【００９８】
推論装置４０の推論部４２は、学習済モデルを利用して得られるＩ／Ｏユニット２０の外部信号入力部２３、外部信号出力部２２または制御対象である接続機器の故障箇所を推論する。すなわち、この学習済モデルにデータ取得部４１で取得した通常用ＤＩ信号および通常用ＤＯ信号、並びに外部入力および外部出力についての診断用信号またはループバック情報変換信号を入力することで、通常用ＤＩ信号および通常用ＤＯ信号、並びに外部入力および外部出力についての診断用信号またはループバック情報変換信号から推論されるＩ／Ｏユニット２０の外部信号入力部２３、外部信号出力部２２または制御対象である接続機器の故障箇所を出力することができる。
【００９９】
実施の形態４と異なる点は、データ取得部４１で取得する学習用データの種類および推論部４２で推論する情報が増えるという点のみであり、推論装置４０の推論処理に関しては実施の形態４と同様である。また、Ｉ／Ｏユニット２０の外部信号入力部２３を構成するＤＩ入力用部品またはＩ／Ｏユニット２０の接続機器の経年劣化が進むと、アナログ電圧の標準値からのずれが大きくなる。このため、実施の形態５でも、実施の形態４と同様に、アナログ電圧の標準値からのずれによってＤＩ入力用部品、また入力ライン２２２に接続される接続機器の劣化状況がどの程度かを把握することができる。
【０１００】
実施の形態５では、Ｉ／Ｏユニット２０が、外部信号入力部２３の入力ライン２２２から分岐させた複数の外部入力信号を外部入力信号の数よりも少ない本数の信号に変換し、外部信号制御部２１に折り返す外部入力信号変換部２６を備える。また、Ｉ／Ｏユニット２０の外部入力信号と、診断用信号またはループバック情報変換信号と、故障診断結果と、の相関関係に基づいて、外部信号入力部２３またはその接続機器の劣化状況に関する特徴量を学習させる。これによって、Ｉ／Ｏユニット２０の外部信号入力部２３についても故障予知を行うことができる。さらに、Ｉ／Ｏユニット２０の外部信号入力部２３、またその接続機器についても劣化状況の把握ができる。
【０１０１】
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１０２】
１  制御システム、１０  数値制御装置、２０  外部信号入出力ユニット（Ｉ／Ｏユニット）、２１  外部信号制御部、２２  外部信号出力部、２３  外部信号入力部、２４  外部出力信号変換部、２６  外部入力信号変換部、３０  機械学習装置、３１，４１  データ取得部、３２  モデル生成部、３３  学習済モデル記憶部、４０  推論装置、４２  推論部、２１１  故障診断部、２１５，２２１  出力ライン、２１６，２２２  入力ライン、２１７  診断用信号入力ライン、２４１  Ｄ／Ａ変換部、２４２  ラダー抵抗、２４３  Ｄ／Ａ変換器、２４４  ノイズ除去部、２４５  パルス幅出力部。
【要約】
外部信号入出力ユニット（２０）は、外部信号制御部（２１）と、外部信号出力部（２２）と、外部出力信号変換部（２４）と、を備える。外部信号制御部（２１）は、数値制御装置（１０）との間で入出力される信号を制御する。外部信号出力部（２２）は、外部信号制御部（２１）からの信号である外部信号を出力ライン（２２１）を介して外部に接続される機器に出力する。外部出力信号変換部（２４）は、出力ライン（２２１）より分岐させた複数の外部出力信号を、複数の外部出力信号の数よりも少ない数の信号である第１診断用信号に変換し、外部信号制御部（２１）へ折り返す。【図１】
0006880353.tif 000002
【図２】
0006880353.tif 000003
【図３】
0006880353.tif 000004
【図４】
0006880353.tif 000005
【図５】
0006880353.tif 000006
【図６】
0006880353.tif 000007
【図７】
0006880353.tif 000008
【図８】
0006880353.tif 000009
【図９】
0006880353.tif 000010
【図１０】
0006880353.tif 000011
【図１１】
0006880353.tif 000012
【図１２】
0006880353.tif 000013
【図１３】
0006880353.tif 000014
【図１４】
0006880353.tif 000015