(57)【要約】【課題】搬送の過程で生じたワークの状態の変化を判定することができるセンサシステムを提供する。【解決手段】センサシステムは、ラインに沿って配置され、ライン上を搬送されるワークの通過を示すデータを測定する複数のセンサと、複数のセンサそれぞれに接続され、複数のセンサにより測定されるデータを取得する複数のスレーブユニットと、複数のスレーブユニットと接続されているマスタユニットと、を備え、マスタユニットは、データと、データが測定されたタイミングに関する情報とを関連付けて記憶する記憶部と、複数のスレーブユニットのうち２以上のスレーブユニットから伝送されたデータを、タイミングに関する情報を用いて比較して、ワークの状態の変化を判定する判定部と、を有する。【選択図】図１
2019196271.tif 000002
【特許請求の範囲】
【請求項１】
ラインに沿って配置され、前記ライン上を搬送されるワークの通過状況を示すデータを測定する複数のセンサと、
前記複数のセンサそれぞれに接続され、前記複数のセンサにより測定されるデータを取得する複数のスレーブユニットと、
前記複数のスレーブユニットと接続されているマスタユニットと、を備え、
前記マスタユニットは、
前記データと、前記データが測定されたタイミングに関する情報とを関連付けて記憶する記憶部と、
前記複数のスレーブユニットのうち２以上のスレーブユニットから伝送された前記データを、前記タイミングに関する情報を用いて比較して、前記ワークの状態の変化を判定する判定部と、を有する、
センサシステム。
【請求項２】
前記判定部は、前記ラインの搬送速度及び前記複数のセンサの配置に基づいて、前記ワークが前記複数のセンサの検出範囲を通過すべきタイミングを算出し、前記複数のセンサのうち前記ラインの上流に配置されたセンサにより測定された前記データと、前記複数のセンサのうち前記ラインの下流に配置されたセンサにより、前記通過すべきタイミングに測定された前記データとを比較し、前記ワークの位置ずれを判定する、
請求項１に記載のセンサシステム。
【請求項３】
前記判定部は、前記ラインの上流に配置されたセンサにより前記ワークが検出された期間と、前記ラインの下流に配置されたセンサにより前記ワークが検出された期間との差に基づき、前記ワークの搬送速度の変化を判定する、
請求項２に記載のセンサシステム。
【請求項４】
前記判定部は、前記ラインの上流に配置されたセンサにより測定された前記データと、前記ラインの下流に配置されたセンサにより測定された前記データとの対応関係に基づき、前記ワークの脱落を判定する、
請求項２に記載のセンサシステム。
【請求項５】
前記記憶部は、前記ラインの上流に配置されたセンサにより測定された前記データと、前記ラインの下流に配置されたセンサにより測定された前記データと、前記ワークの状態の変化を示す情報とを含む学習用データを用いた機械学習により生成された学習済みモデルを記憶し、
前記判定部は、少なくとも、前記ラインの上流に配置されたセンサにより測定された前記データと、前記ラインの下流に配置されたセンサにより測定された前記データとを前記学習済みモデルに入力し、前記学習済みモデルの出力に基づいて前記ワークの状態の変化を判定する、
請求項１から４のいずれか一項に記載のセンサシステム。
【請求項６】
前記マスタユニットは、タイマを有し、
前記記憶部は、前記タイマにより測定される時刻と、前記データとを関連付けて記憶する、
請求項１から５のいずれか一項に記載のセンサシステム。
【請求項７】
前記マスタユニットは、時刻の基準となるトリガ信号を前記複数のスレーブユニットに対して発信するトリガ発信部を有し、
前記複数のスレーブユニットは、それぞれタイマを有し、前記トリガ信号を受信してからの経過時間を前記タイマにより測定し、前記経過時間を前記データとともに前記マスタユニットに伝送し、
前記記憶部は、前記経過時間と、前記データとを関連付けて記憶する、
請求項１から５のいずれか一項に記載のセンサシステム。
【請求項８】
前記複数のスレーブユニットは、前記複数のスレーブユニット間で同期するタイマをそれぞれ有し、前記タイマにより測定される時刻を前記データとともに前記マスタユニットに伝送し、
前記記憶部は、前記タイマにより測定された時刻と、前記データとを関連付けて記憶する、
請求項１から５のいずれか一項に記載のセンサシステム。
【請求項９】
前記マスタユニットは、時刻の基準となる信号を外部機器から受信する受信部を有し、
前記記憶部は、前記時刻の基準となる信号に基づき算出される時刻と、前記データとを関連付けて記憶する、
請求項１から５のいずれか一項に記載のセンサシステム。
【請求項１０】
前記マスタユニットは、前記センサの応答時間及び前記スレーブユニットから前記マスタユニットへの伝送遅延時間の少なくともいずれかに基づき、前記タイミングに関する情報を補正する補正部をさらに有する、
請求項１から９のいずれか一項に記載のセンサシステム。
【請求項１１】
前記データは、前記ライン上を搬送される前記ワークの通過状況に応じた立ち上がり波形又は立ち下がり波形を含む時系列データであり、
前記マスタユニットは、前記複数のスレーブユニットのうち２以上のスレーブユニットにより取得された前記時系列データに含まれる前記立ち上がり波形の間隔又は前記立ち下がり波形の間隔に基づいて、同一の前記ワークに関して前記２以上のスレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形を対応付ける対応部をさらに備える、
請求項１から１０のいずれか一項に記載のセンサシステム。
【請求項１２】
前記対応部は、前記複数のスレーブユニットのうち第１スレーブユニットにより取得された前記立ち上がり波形の間隔又は前記立ち下がり波形の間隔と、前記複数のスレーブユニットのうち第２スレーブユニットにより取得された前記立ち上がり波形の間隔又は前記立ち下がり波形の間隔との差の平均値が小さくなるように、前記第１スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形と、前記第２スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形とを対応付ける、
請求項１１に記載のセンサシステム。
【請求項１３】
前記対応部は、前記第１スレーブユニットに接続されているセンサが、前記第２スレーブユニットに接続されているセンサより前記ラインの上流に配置されている場合、前記第１スレーブユニットにより取得された前記立ち上がり波形の間隔又は前記立ち下がり波形の間隔と、その後に前記第２スレーブユニットにより取得された前記立ち上がり波形の間隔又は前記立ち下がり波形の間隔との差の平均値が小さくなるように、前記第１スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形と、前記第２スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形とを対応付ける、
請求項１２に記載のセンサシステム。
【請求項１４】
前記対応部は、前記平均値を算出するための項数が所定数以上となる組み合わせの中から、前記第１スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形と、前記第２スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形との対応付けを行う、
請求項１２又は１３に記載のセンサシステム。
【請求項１５】
前記対応部は、前記平均値を算出するための項数が多くなるように、前記第１スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形と、前記第２スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形との対応付けを行う、
請求項１２から１４のいずれか一項に記載のセンサシステム。
【請求項１６】
前記対応部は、前記判定部により前記ワークの状態が変化したと所定期間にわたって判定され続けた場合に、前記立ち上がり波形又は前記立ち下がり波形の対応付けを行う、
請求項１１から１５のいずれか一項に記載のセンサシステム。
【請求項１７】
前記対応部は、前記複数のスレーブユニットのうち選択された一部について、前記立ち上がり波形又は前記立ち下がり波形の対応付けを行う、
請求項１１から１６のいずれか一項に記載のセンサシステム。
【請求項１８】
前記マスタユニットは、前記対応部による対応付けを実行中であることを表示する表示部をさらに備える、
請求項１１から１７のいずれか一項に記載のセンサシステム。
【請求項１９】
前記データは、前記ライン上を搬送される前記ワークの通過状況に応じた立ち上がり波形又は立ち下がり波形を含む時系列データであり、
前記判定部は、前記複数のスレーブユニットのうち第１スレーブユニットにより取得された前記時系列データと、前記複数のスレーブユニットのうち第２スレーブユニットにより取得された前記時系列データとのいずれか一方を所定の時間シフトして比較して、前記第１スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形と、前記第２スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形との時間差に基づいて、前記ワークの状態の変化を判定する、
請求項１から１８のいずれか一項に記載のセンサシステム。
【請求項２０】
前記判定部は、前記第１スレーブユニットに接続されているセンサが、前記第２スレーブユニットに接続されているセンサより前記ラインの上流に配置されている場合、前記第１スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形に対して、対応する前記第２スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形が存在しない場合に、前記ワークが前記ラインから脱落したと判定する、
請求項１９に記載のセンサシステム。
【請求項２１】
前記判定部は、前記第１スレーブユニットに接続されているセンサが、前記第２スレーブユニットに接続されているセンサより前記ラインの上流に配置されている場合、前記第２スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形に対して、対応する前記第１スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形が存在しない場合に、前記ワークが前記ラインに混入したと判定する、
請求項１９又は２０に記載のセンサシステム。
【請求項２２】
前記判定部は、前記複数のスレーブユニットのうち第１スレーブユニットにより取得された前記時系列データと、前記複数のスレーブユニットのうち第２スレーブユニットにより取得された前記時系列データとのいずれか一方を所定の時間シフトし、１以下の前記立ち上がり波形又は前記立ち下がり波形が含まれるように、それぞれの前記時系列データを複数の区間に分割する、
請求項１９から２１のいずれか一項に記載のセンサシステム。
【請求項２３】
前記判定部は、前記複数の区間のうち第１区間に含まれる前記第１スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形と、前記第１区間に含まれる前記第２スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形との第１時間差及び前記複数の区間のうち第２区間に含まれる前記第１スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形と、前記第２区間に含まれる前記第２スレーブユニットにより取得された前記立ち上がり波形又は前記立ち下がり波形との第２時間差を算出し、前記第１時間差と前記第２時間差の差に基づいて、前記ワークの状態の変化を判定する、
請求項２２に記載のセンサシステム。
【請求項２４】
前記判定部は、前記複数のスレーブユニットのうち前記ラインに沿って順に配置されている３以上のスレーブユニットにより取得された前記時系列データを所定の時間シフトして比較して前記ワークの状態の変化を判定し、前記ワークの状態が変化したと判定された区間に基づいて、前記ラインの異常区間を判定する、
請求項１９から２３のいずれか一項に記載のセンサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、センサシステムに関する。
【背景技術】
【０００２】
従来、ラインに沿って複数のセンサを配置して、ライン上を搬送されるワークの有無を測定することがある。複数のセンサにより測定されたデータは、複数のスレーブユニットにより取得されてマスタユニットに転送され、マスタユニットに接続されたＰＬＣ（Programmable Logic Controller）等の制御装置に集約されることがある。
【０００３】
下記特許文献１には、複数のスレーブユニットと、各々のスレーブユニットから受信した情報を制御装置に向けて送信する通信装置とを備えるセンサシステムが記載されている。各スレーブユニットは、いずれかのスレーブユニットから発信される同期信号を起点として、スレーブユニット毎に定められる待機時間が経過してから、センシングデータ等の検出情報を通信装置に送信する。ここで、各スレーブユニットの待機時間は、他のスレーブユニットの待機時間とは異なるように定められている。特許文献１に記載の技術によって、複数のセンサにより測定したデータを制御装置に集約する場合に、制御装置からのコマンドを待たずにデータを送信することができ、通信速度を向上させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−９６０３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来、複数のセンサにより時々刻々とワークの有無に関するデータが測定される場合であっても、それぞれのデータは独立に活用されることが多い。異なるセンサにより測定されたデータを独立に活用する場合、マスタユニットはそれぞれのデータの測定時刻に関する情報を有していないため、異なるセンサにより測定されたデータがどのような前後関係で測定されたのか判別できなかった。そのため、ラインに異常があり、搬送の過程でワークの位置ずれや脱落等の状態の変化が生じても、その変化を検出することが難しかった。
【０００６】
そこで、本発明は、搬送の過程で生じたワークの状態の変化を判定することができるセンサシステムを提供する。
【課題を解決するための手段】
【０００７】
本開示の一態様に係るセンサシステムは、ラインに沿って配置され、ライン上を搬送されるワークの通過状況を示すデータを測定する複数のセンサと、複数のセンサそれぞれに接続され、複数のセンサにより測定されるデータを取得する複数のスレーブユニットと、複数のスレーブユニットと接続されているマスタユニットと、を備え、マスタユニットは、データと、データが測定されたタイミングに関する情報とを関連付けて記憶する記憶部と、複数のスレーブユニットのうち２以上のスレーブユニットから伝送されたデータを、タイミングに関する情報を用いて比較して、ワークの状態の変化を判定する判定部と、を有する。
【０００８】
この態様によれば、複数のセンサにより測定されたデータと、そのデータが測定されたタイミングに関する情報とが関連付けられて記憶されることで、異なるセンサにより測定されたデータがどのような前後関係で測定されたのかが明らかとなり、ライン上を搬送されるワークの状態の変化を判定することができる。
【０００９】
上記態様において、判定部は、ラインの搬送速度及び複数のセンサの配置に基づいて、ワークが複数のセンサの検出範囲を通過すべきタイミングを算出し、複数のセンサのうちラインの上流に配置されたセンサにより測定されたデータと、複数のセンサのうちラインの下流に配置されたセンサにより、通過すべきタイミングにおいて測定されたデータとの比較に基づき、ワークの位置ずれを判定してもよい。
【００１０】
この態様によれば、ラインの上流に配置されたセンサにより測定されたデータと、ラインの下流に配置されたセンサにより測定されたデータとを、ワークの搬送による時間遅れを考慮して比較することで、搬送の過程でワークの位置が変化したかを判定することができる。
【００１１】
上記態様において、判定部は、ラインの上流に配置されたセンサによりワークが検出された期間と、ラインの下流に配置されたセンサによりワークが検出された期間との差に基づき、ワークの搬送速度の変化を判定してもよい。
【００１２】
この態様によれば、ラインの上流に配置されたセンサによりワークが検出された期間と、ラインの下流に配置されたセンサによりワークが検出された期間とを比較することで、ワークの搬送速度が変化したかを判定することができる。
【００１３】
上記態様において、判定部は、ラインの上流に配置されたセンサにより測定されたデータと、ラインの下流に配置されたセンサにより測定されたデータとの対応関係に基づき、ワークの脱落を判定してもよい。
【００１４】
この態様によれば、ラインの上流に配置されたセンサにより測定されたデータと、ラインの下流に配置されたセンサにより測定されたデータとが一対一に対応しない場合に、ワークの脱落が生じていると判定することができる。
【００１５】
上記態様において、記憶部は、ラインの上流に配置されたセンサにより測定されたデータと、ラインの下流に配置されたセンサにより測定されたデータと、ワークの状態の変化を示す情報とを含む学習用データを用いた機械学習により生成された学習済みモデルを記憶し、判定部は、少なくとも、ラインの上流に配置されたセンサにより測定されたデータと、ラインの下流に配置されたセンサにより測定されたデータとを学習済みモデルに入力し、学習済みモデルの出力に基づいてワークの状態の変化を判定してもよい。
【００１６】
この態様によれば、必ずしもラインの搬送速度及び複数のセンサの配置を知らなくても、実測されたデータに基づき生成された学習済みモデルによって、ワークの状態が変化したかを判定することができる。
【００１７】
上記態様において、マスタユニットは、タイマを有し、記憶部は、タイマにより測定される時刻と、データとを関連付けて記憶してもよい。
【００１８】
この態様によれば、複数のスレーブユニットにタイマを設けずに、マスタユニットのみにタイマを設けることで、簡素な構成によって、複数のセンサにより測定されたデータと、そのデータが測定されたタイミングとを関連付けて記憶することができる。
【００１９】
上記態様において、マスタユニットは、時刻の基準となるトリガ信号を複数のスレーブユニットに対して発信するトリガ発信部を有し、複数のスレーブユニットは、それぞれタイマを有し、トリガ信号を受信してからの経過時間をタイマにより測定し、経過時間をデータとともにマスタユニットに伝送し、記憶部は、経過時間と、データとを関連付けて記憶してもよい。
【００２０】
この態様によれば、マスタユニットにタイマを設けずに、複数のセンサにより測定されたデータと、そのデータが測定されたタイミングとを関連付けて記憶することができる。
【００２１】
上記態様において、複数のスレーブユニットは、複数のスレーブユニット間で同期するタイマをそれぞれ有し、タイマにより測定される時刻をデータとともにマスタユニットに伝送し、記憶部は、タイマにより測定された時刻と、データとを関連付けて記憶してもよい。
【００２２】
この態様によれば、マスタユニットの処理負荷を減らして、複数のセンサにより測定されたデータと、そのデータが測定されたタイミングとを関連付けて記憶することができる。
【００２３】
上記態様において、マスタユニットは、時刻の基準となる信号を外部機器から受信する受信部を有し、記憶部は、時刻の基準となる信号に基づき算出される時刻と、データとを関連付けて記憶してもよい。
【００２４】
この態様によれば、複数のスレーブユニット及びマスタユニットにタイマを設けずに、複数のセンサにより測定されたデータと、そのデータが測定されたタイミングとを関連付けて記憶することができる。
【００２５】
上記態様において、マスタユニットは、センサの応答時間及びスレーブユニットからマスタユニットへの伝送遅延時間の少なくともいずれかに基づき、タイミングに関する情報を補正する補正部をさらに有してもよい。
【００２６】
この態様によれば、複数のセンサによりデータが測定されたタイミングに関する情報がより正確に記憶され、ライン上を搬送されるワークの状態の変化をより高い精度で判定することができる。
【００２７】
上記態様において、データは、ライン上を搬送されるワークの通過状況に応じた立ち上がり波形又は立ち下がり波形を含む時系列データであり、マスタユニットは、複数のスレーブユニットのうち２以上のスレーブユニットにより取得された時系列データに含まれる立ち上がり波形の間隔又は立ち下がり波形の間隔に基づいて、同一のワークに関して２以上のスレーブユニットにより取得された立ち上がり波形又は立ち下がり波形を対応付ける対応部をさらに備えてもよい。
【００２８】
この態様によれば、同一のワークに関して２以上のスレーブユニットにより取得された立ち上がり波形又は立ち下がり波形を対応付けることで、複数のセンサにより測定された時系列データの適切な比較が可能となり、ライン上を搬送されるワークの状態の変化を適切に判定することができる。
【００２９】
上記態様において、対応部は、複数のスレーブユニットのうち第１スレーブユニットにより取得された立ち上がり波形の間隔又は立ち下がり波形の間隔と、複数のスレーブユニットのうち第２スレーブユニットにより取得された立ち上がり波形の間隔又は立ち下がり波形の間隔との差の平均値が小さくなるように、第１スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形とを対応付けてもよい。
【００３０】
この態様によれば、２つのセンサにより測定された立ち上がり波形又は立ち下がり波形の間隔の差の平均値を評価値とすることで、ラインの搬送速度が一時的に遅くなったり、速くなったりする場合であっても、２つのセンサにより測定された時系列データを適切に対応付けることができる。
【００３１】
上記態様において、対応部は、第１スレーブユニットに接続されているセンサが、第２スレーブユニットに接続されているセンサよりラインの上流に配置されている場合、第１スレーブユニットにより取得された立ち上がり波形の間隔又は立ち下がり波形の間隔と、その後に第２スレーブユニットにより取得された立ち上がり波形の間隔又は立ち下がり波形の間隔との差の平均値が小さくなるように、第１スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形とを対応付けてもよい。
【００３２】
この態様によれば、複数のセンサの配置に応じて算出すべき平均値の組み合わせを制限することで、演算負荷を低減することができる。
【００３３】
上記態様において、対応部は、平均値を算出するための項数が所定数以上となる組み合わせの中から、第１スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形との対応付けを行ってもよい。
【００３４】
この態様によれば、立ち上がり波形又は立ち下がり波形の対応付けを誤る確率を低減させることができ、より適切な対応付けが行われるようにすることができる。
【００３５】
上記態様において、対応部は、平均値を算出するための項数が多くなるように、第１スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形との対応付けを行ってもよい。
【００３６】
この態様によれば、多数のデータを用いた対応付けを優先させて、対応付けの信頼性を向上させることができる。
【００３７】
上記態様において、対応部は、判定部によりワークの状態が変化したと所定期間にわたって判定され続けた場合に、立ち上がり波形又は立ち下がり波形の対応付けを行ってもよい。
【００３８】
この態様によれば、立ち上がり波形の対応付けが不適切であるために、ラインに異常が有ると誤って判定され続けている場合に、自動的に立ち上がり波形の対応付けを修正することができ、ラインの状態を正しく判定できるようになる。
【００３９】
上記態様において、対応部は、複数のスレーブユニットのうち選択された一部について、立ち上がり波形又は立ち下がり波形の対応付けを行ってもよい。
【００４０】
この態様によれば、対応付けを実行するスレーブユニットを選択することで、必ずしも必要でないデータの対応付けを省略して、処理負荷を低減することができる。
【００４１】
上記態様において、マスタユニットは、対応部による対応付けを実行中であることを表示する表示部をさらに備えてもよい。
【００４２】
この態様によれば、マスタユニットが一時的にワークの状態を判定することができない状態にあることを視覚的に伝えることができる。
【００４３】
上記態様において、データは、ライン上を搬送されるワークの通過状況に応じた立ち上がり波形又は立ち下がり波形を含む時系列データであり、判定部は、複数のスレーブユニットのうち第１スレーブユニットにより取得された時系列データと、複数のスレーブユニットのうち第２スレーブユニットにより取得された時系列データとのいずれか一方を所定の時間シフトして比較して、第１スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形との時間差に基づいて、ワークの状態の変化を判定してもよい。
【００４４】
この態様によれば、ラインの搬送速度が一時的に遅くなったり、速くなったりする場合であっても、２つのセンサにより測定された時系列データを適切に比較して、データのずれを検出することができる。
【００４５】
上記態様において、判定部は、第１スレーブユニットに接続されているセンサが、第２スレーブユニットに接続されているセンサよりラインの上流に配置されている場合、第１スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形に対して、対応する第２スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形が存在しない場合に、ワークがラインから脱落したと判定してもよい。
【００４６】
この態様によれば、ラインの上流に配置されたセンサによりワークが検出されているが、ラインの下流に配置されたセンサによりワークが検出されない場合を特定し、ワークの脱落が生じていると判定することができる。
【００４７】
上記態様において、判定部は、第１スレーブユニットに接続されているセンサが、第２スレーブユニットに接続されているセンサよりラインの上流に配置されている場合、第２スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形に対して、対応する第１スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形が存在しない場合に、ワークがラインに混入したと判定してもよい。
【００４８】
この態様によれば、ラインの上流に配置されたセンサによりワークが検出されていないが、ラインの下流に配置されたセンサによりワークが検出されている場合を特定し、ワークの混入が生じていると判定することができる。
【００４９】
上記態様において、判定部は、複数のスレーブユニットのうち第１スレーブユニットにより取得された時系列データと、複数のスレーブユニットのうち第２スレーブユニットにより取得された時系列データとのいずれか一方を所定の時間シフトし、１以下の立ち上がり波形又は立ち下がり波形が含まれるように、それぞれの時系列データを複数の区間に分割してもよい。
【００５０】
この態様によれば、複数の区間毎に時系列データの比較を行い、ワークの状態の変化を判定することができる。
【００５１】
上記態様において、判定部は、複数の区間のうち第１区間に含まれる第１スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形と、第１区間に含まれる第２スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形との第１時間差及び複数の区間のうち第２区間に含まれる第１スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形と、第２区間に含まれる第２スレーブユニットにより取得された立ち上がり波形又は立ち下がり波形との第２時間差を算出し、第１時間差と第２時間差の差に基づいて、ワークの状態の変化を判定してもよい。
【００５２】
この態様によれば、ラインの搬送速度が一時的に遅くなったり、速くなったりする場合であっても、２つのセンサにより測定された時系列データを適切に比較して、データのずれを検出することができる。
【００５３】
上記態様において、判定部は、複数のスレーブユニットのうちラインに沿って順に配置されている３以上のスレーブユニットにより取得された時系列データを所定の時間シフトして比較してワークの状態の変化を判定し、ワークの状態が変化したと判定された区間に基づいて、ラインの異常区間を判定してもよい。
【００５４】
この態様によれば、ラインに異常が生じていることのみならず、異常が発生している区間を特定することができ、異常の原因を早期に特定するための情報を発信することができる。
【発明の効果】
【００５５】
本発明によれば、搬送の過程で生じたワークの状態の変化を判定することができるセンサシステムが提供される。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施形態に係るセンサシステムの概要を示す図である。
【図２】本実施形態に係るマスタユニットの機能ブロックを示す図である。
【図３】本実施形態に係るセンサシステムの物理的構成を示す図である。
【図４】本実施形態に係るセンサシステムにより測定されるデータの第１例を示す図である。
【図５】本実施形態に係るセンサシステムにより測定されるデータの第２例を示す図である。
【図６】本実施形態に係るマスタユニットにより実行される第１処理のフローチャートである。
【図７】本実施形態に係るセンサシステムにより測定されるデータの第３例を示す図である。
【図８】本実施形態に係るマスタユニットにより実行される第２処理のフローチャートである。
【図９】本実施形態に係るセンサシステムにより測定されるデータの第４例を示す図である。
【図１０】本実施形態に係るマスタユニットにより実行される第３処理のフローチャートである。
【図１１】本実施形態に係るマスタユニットにより実行される第４処理のフローチャートである。
【図１２】本実施形態の第１変形例に係るセンサシステムの機能ブロックを示す図である。
【図１３】本実施形態の第２変形例に係るセンサシステムの機能ブロックを示す図である。
【図１４】本実施形態の第３変形例に係るセンサシステムの機能ブロックを示す図である。
【図１５】本実施形態の第４変形例に係るセンサシステムの機能ブロックを示す図である。
【図１６】本実施形態の第４変形例に係るセンサシステムにより測定されるデータの第５例を示す図である。
【図１７】本実施形態の第４変形例に係るマスタユニットにより実行される第５処理のフローチャートである。
【図１８】本実施形態の第４変形例に係るマスタユニットにより実行される第６処理のフローチャートである。
【図１９】本実施形態の第５変形例に係るセンサシステムにより測定されるデータの第６例を示す図である。
【図２０】本実施形態の第５変形例に係るセンサシステムにより測定されるデータの第７例を示す図である。
【図２１】本実施形態の第５変形例に係るマスタユニットにより実行される第７処理のフローチャートである。
【図２２】本実施形態の第５変形例に係るセンサシステムにより測定されるデータの第８例を示す図である。
【図２３】本実施形態の第５変形例に係るマスタユニットにより実行される第８処理のフローチャートである。
【図２４】本実施形態の第５変形例に係るセンサシステムにより測定されるデータの第９例を示す図である。
【図２５】本実施形態の第５変形例に係るマスタユニットにより実行される第９処理のフローチャートである。
【発明を実施するための形態】
【００５７】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」と表記する。）を、図面に基づいて説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００５８】
図１は、本発明の実施形態に係るセンサシステム１の概要を示す図である。センサシステム１は、マスタユニット１０、第１スレーブユニット２０ａ、第２スレーブユニット２０ｂ、第３スレーブユニット２０ｃ、第１センサ３０ａ、第２センサ３０ｂ、第３センサ３０ｃ及びＰＬＣ４０を備える。ここで、第１センサ３０ａ、第２センサ３０ｂ及び第３センサ３０ｃは、ラインＬに沿って配置され、ラインＬ上を搬送されるワークの通過状況を示すデータを測定する複数のセンサに相当する。また、第１スレーブユニット２０ａ、第２スレーブユニット２０ｂ、第３スレーブユニット２０ｃは、複数のセンサそれぞれに接続され、複数のセンサにより測定されるデータを取得する複数のスレーブユニットに相当する。より具体的には、第１スレーブユニット２０ａは第１センサ３０ａに接続され、第２スレーブユニット２０ｂは第２センサ３０ｂに接続され、第３スレーブユニット２０ｃは第３センサ３０ｃに接続されている。ＰＬＣ４０は、制御装置に相当する。そして、マスタユニット１０は、複数のスレーブユニット及び制御装置と接続されているマスタユニットに相当する。本明細書では、第１スレーブユニット２０ａ、第２スレーブユニット２０ｂ、第３スレーブユニット２０ｃをスレーブユニット２０と総称し、第１センサ３０ａ、第２センサ３０ｂ、第３センサ３０ｃをセンサ３０と総称する。
【００５９】
なお、本実施形態に係るセンサシステム１の構成は一例であり、センサシステム１が備える複数のセンサの数、複数のスレーブユニットの数は任意である。また、制御装置は、必ずしもＰＬＣ４０でなくてもよい。
【００６０】
マスタユニット１０は、ＬＡＮ（Local Area Network）等の通信ネットワークを介してＰＬＣ４０に接続されてよい。スレーブユニット２０は、マスタユニット１０に物理的かつ電気的に接続される。本実施形態において、マスタユニット１０は、スレーブユニット２０から受信した情報を記憶部に記憶し、記憶された情報をＰＬＣ４０に送信する。従って、スレーブユニット２０により取得されたデータは、マスタユニット１０によって一元化されてＰＬＣ４０に伝送される。
【００６１】
一例として、スレーブユニット２０からマスタユニット１０には、判定信号及び検出情報が伝送される。判定信号とは、センサ３０により測定されたデータに基づき、スレーブユニット２０によって判定された、ワークに関する判定結果を示す信号である。例えばセンサ３０が光電センサである場合、判定信号は、センサ３０により測定された受光量と閾値とを、スレーブユニット２０によって比較して得られるオン信号又はオフ信号であってよい。検出情報は、スレーブユニット２０の検出動作によって得られる検出値である。例えばセンサ３０が光電センサである場合、検出動作は、投光及び受光の動作であり、検出情報は、受光量であってよい。
【００６２】
スレーブユニット２０は、マスタユニット１０の側面に取り付けられてよい。マスタユニット１０とスレーブユニット２０との通信には、パラレル通信又はシリアル通信が用いられてよい。すなわち、マスタユニット１０と、スレーブユニット２０とがシリアル伝送路及びパラレル伝送路で物理的に接続されてよい。例えば、パラレル伝送路上でスレーブユニット２０からマスタユニット１０に判定信号が送信され、シリアル伝送路上で、スレーブユニット２０からマスタユニット１０に検出情報が送信されてよい。なお、マスタユニット１０とスレーブユニット２０とを、シリアル伝送路及びパラレル伝送路のうちのいずれか一方で接続してもよい。
【００６３】
図２は、本実施形態に係るマスタユニット１０の機能ブロックを示す図である。マスタユニット１０は、取得部１１、タイマ１２、補正部１３、記憶部１４、判定部１５、表示部１６及び通信部１７を備える。
【００６４】
取得部１１は、複数のスレーブユニット２０からデータを取得する。取得部１１は、パラレル伝送路によってスレーブユニット２０からワークの通過状況を示す判定信号を取得したり、シリアル伝送路によってスレーブユニット２０から複数のセンサ３０により測定された検出情報を取得したりしてよい。
【００６５】
タイマ１２は、時間を測定するものであり、例えば所定の周波数に基づいて時間を測定する電子時計であってよい。タイマ１２は、例えば、年月日と時分秒をミリ秒単位で測定するものであってよい。また、タイマ１２は、基準時刻からの経過時間を測定するものであってもよい。
【００６６】
補正部１３は、複数のセンサ３０の応答時間及び複数のスレーブユニット２０からマスタユニット１０への伝送遅延時間の少なくともいずれかに基づき、データが測定されたタイミングに関する情報を補正する。ここで、タイミングに関する情報は、データが測定されたタイミングを表す情報であればどのようなものであってもよく、データが測定された時刻を絶対的に表す情報であってもよいし、データが測定された時刻を相対的に表す情報であってもよい。複数のセンサ３０が検出動作を行ってから、ワークの通過を検出して検出情報を出力するまでの間には僅かなタイムラグが生じる。また、複数のスレーブユニット２０からマスタユニット１０にデータを伝送する際にも僅かなタイムラグが生じる。補正部１３は、それらのタイムラグを考慮して、データが測定されたタイミングに関する情報をより正確に記録できるように、タイマ１２によって測定された時刻から、複数のセンサ３０の応答時間及び複数のスレーブユニット２０からマスタユニット１０への伝送遅延時間の少なくともいずれかを減算してよい。これにより、複数のセンサ３０によりデータが測定されたタイミングに関する情報がより正確に記憶され、ラインＬ上を搬送されるワークの状態の変化をより高い精度で判定することができる。
【００６７】
なお、複数のセンサ３０の応答時間は、センサの種類毎に異なり得るため、補正部１３は、スレーブユニット２０に接続されているセンサ３０の種類に応じて、応答時間を調整してよい。また、複数のスレーブユニット２０からマスタユニット１０への伝送遅延時間は、マスタユニット１０から遠いスレーブユニット２０ほど長くなるため、データを送信したスレーブユニット２０が何段目に接続されているかに応じて、伝送遅延時間を調整してもよい。
【００６８】
記憶部１４は、複数のスレーブユニット２０から取得されたデータと、当該データが複数のセンサ３０により測定されたタイミングに関する情報とを関連付けて記憶する。同図では、複数のスレーブユニット２０から取得されたデータをセンシングデータ１４ａと表し、当該データが複数のセンサ３０により測定されたタイミングを測定タイミング１４ｂと表している。
【００６９】
記憶部１４は、タイマ１２により測定される時刻と、センシングデータ１４ａとを関連付けて記憶してよい。なお、記憶部１４は、タイマ１２により測定される時刻を補正部１３により補正した時刻を、センシングデータ１４ａと関連付けて記憶してよい。このように、複数のスレーブユニット２０にタイマを設けずに、マスタユニット１０のみにタイマ１２を設けることで、簡素な構成によって、複数のセンサ３０により測定されたデータと、そのデータが測定されたタイミングに関する情報とを関連付けて記憶することができる。
【００７０】
判定部１５は、複数のスレーブユニット２０のうち２以上のスレーブユニット２０から伝送されたデータを、それらのデータが測定されたタイミングに関する情報を用いて比較して、ワークの状態の変化を判定する。より具体的には、あるスレーブユニット２０から伝送されたデータと、他のスレーブユニット２０から伝送されたデータとの測定タイミングに関する情報を比較して、先に測定されたデータと後に測定されたデータとのずれを検出する。判定部１５は、ラインＬの搬送速度及び複数のセンサ３０の配置に基づいて、ワークが複数のセンサ３０の検出範囲を通過すべきタイミングを算出し、先に測定されたデータと後に測定されたデータとの正常なずれを算出して、正常なずれと実際に測定されたデータのずれを比較して、ワークの位置ずれを判定してよい。
【００７１】
このように、複数のセンサ３０により測定されたデータと、そのデータが測定されたタイミングに関する情報とが関連付けられて記憶されることで、異なるセンサにより測定されたデータがどのような前後関係で測定されたのかが明らかとなり、ラインＬ上を搬送されるワークの状態の変化を判定することができる。そのため、搬送の過程でワークの状態が変化した場合に、ラインＬに関する異常を検知することができる。
【００７２】
記憶部１４は、ラインＬの上流に配置されたセンサにより測定されたデータと、ラインＬの下流に配置されたセンサにより測定されたデータと、ワークの状態の変化を示す情報とを含む学習用データを用いた機械学習により生成された学習済みモデル１４ｃを記憶してもよい。ここで、学習用データは、マスタユニット１０に記憶されてもよいし、他の装置に記憶されてもよく、学習済みモデルを生成する処理は、マスタユニット１０によって実行されてもよいし、他の装置によって実行されてもよい。例えば学習モデルがニューラルネットワークの場合、マスタユニット１０又は他の装置は、学習用データに含まれる入力データをニューラルネットワークに入力し、その出力と学習用データに含まれるラベルデータとの差に基づいて、誤差逆伝播法によりニューラルネットワークの重みを更新してよい。なお、学習モデルは、ニューラルネットワークに限られず、回帰モデルであったり、決定木であったりしてよく、任意のアルゴリズムによって機械学習が実行されてよい。
【００７３】
判定部１５は、少なくとも、ラインＬの上流に配置されたセンサにより測定されたデータと、ラインＬの下流に配置されたセンサにより測定されたデータとを学習済みモデル１４ｃに入力し、学習済みモデル１４ｃの出力に基づいてワークの状態の変化を判定してよい。なお、学習済みモデル１４ｃによって、ワークの状態が変化したことのみならず、ワークの位置ずれや脱落等の状態変化の種類を判定することとしてもよい。このように、必ずしもラインＬの搬送速度及び複数のセンサ３０の配置を知らなくても、実測されたデータに基づき生成された学習済みモデル１４ｃによって、ワークの状態が変化したかを判定することができる。
【００７４】
表示部１６は、判定部１５による判定結果を表示する。表示部１６は、例えばラインＬに関する異常の有無を示す２値のランプであってよく、判定部１５による判定結果を詳細に表示する液晶表示装置であってもよい。
【００７５】
通信部１７は、ＰＬＣ４０との通信を行うインターフェースである。通信部１７は、ＰＬＣ４０以外の外部機器との通信を行うものであってもよい。
【００７６】
図３は、本実施形態に係るセンサシステム１の物理的構成を示す図である。マスタユニット１０は、ＰＬＣ４０との接続に用いられる入力／出力コネクタ１０１，１０２と、スレーブユニット２０との接続に用いられる接続コネクタ１０６と、電源入力コネクタとを備える。
【００７７】
また、マスタユニット１０は、ＭＰＵ（Micro Processing Unit）１１０、通信ＡＳＩＣ（Application Specific Integrated Circuit）１１２、パラレル通信回路１１６、シリアル通信回路１１８及び電源回路を備える。
【００７８】
ＭＰＵ１１０は、マスタユニット１０における全ての処理を統括して実行するように動作する。通信ＡＳＩＣ１１２は、ＰＬＣ４０との通信を管理する。パラレル通信回路１１６は、マスタユニット１０とスレーブユニット２０との間でのパラレル通信に用いられる。同様に、シリアル通信回路１１８は、マスタユニット１０とスレーブユニット２０との間でのシリアル通信に用いられる。
【００７９】
スレーブユニット２０は、両側壁部分に、マスタユニット１０又は他のスレーブユニット２０との接続コネクタ３０４，３０６が設けられている。スレーブユニット２０は、マスタユニット１０に対して一列に複数接続することが可能である。複数のスレーブユニット２０からの信号は、隣り合うスレーブユニット２０に伝送され、マスタユニット１０に伝送される。
【００８０】
スレーブユニット２０の両側面には、赤外線による光通信用の窓が設けられ、接続コネクタ３０４，３０６を利用して複数のスレーブユニット２０を一つずつ連結して一列に配置すると、互いに対向する光通信用の窓により、隣り合うスレーブユニット２０間で赤外線を利用した双方向光通信が可能となる。
【００８１】
スレーブユニット２０は、ＣＰＵ（Central Processing Unit）４００によって実現される各種の処理機能と、専用の回路によって実現される各種の処理機能とを有する。
【００８２】
ＣＰＵ４００は、投光制御部４０３を制御し、発光素子（ＬＥＤ）４０１から赤外線を放出させる。受光素子（ＰＤ）４０２が受光することによって生じた信号は、増幅回路４０４を介して増幅された後、Ａ／Ｄコンバータ４０５を介してデジタル信号に変換されて、ＣＰＵ４００に取り込まれる。ＣＰＵ４００では、受光データ、すなわち受光量をそのまま検出情報としてマスタユニット１０に向けて送信する。また、ＣＰＵ４００では、受光量が予め設定された閾値よりも大きいか否かを判定することによって得られるオン信号又はオフ信号を、判定信号としてマスタユニット１０に向けて送信する。
【００８３】
さらにＣＰＵ４００は、左右の投光回路４１１，４１３を制御することにより、左右の通信用発光素子（ＬＥＤ）４０７，４０９から隣接するスレーブユニット２０に対して赤外線を放出する。隣接する左右のスレーブユニット２０から到来する赤外線は左右の受光素子（ＰＤ）４０６，４０８で受光された後、受光回路４１０，４１２を介しＣＰＵ４００へと到来する。ＣＰＵ４００では、所定のプロトコルに基づいて、送受信信号を制御することにより、左右の隣接するスレーブユニット２０との間で光通信を行なう。
【００８４】
受光素子４０６、通信用発光素子４０９、受光回路４１０、投光回路４１３は、スレーブユニット２０間の相互干渉を防止するための同期信号を送受信するために利用される。具体的には、各スレーブユニット２０において、受光回路４１０と投光回路４１３とは直接結線される。この構成により、受信した同期信号が、ＣＰＵ４００による遅延処理が施されずに速やかに投光回路４１３を経て通信用発光素子４０９から隣接する別のスレーブユニット２０に送信される。
【００８５】
ＣＰＵ４００は、さらに、表示部４１４を点灯制御する。また、ＣＰＵ４００は、設定スイッチ４１５からの信号を処理する。ＣＰＵ４００の動作に必要な各種のデータは、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）４１６等の記録媒体に記憶される。リセット部４１７から得られた信号は、ＣＰＵ４００へと送られ、計測制御のリセットが行われる。発振器（ＯＳＣ）４１８からＣＰＵ４００には、基準クロックが入力される。
【００８６】
出力回路４１９は、受光量を閾値と比較して得られた判定信号の送信処理を行なう。前述したように、本実施の形態において、判定信号はパラレル通信によってマスタユニット１０に向けて送信される。
【００８７】
パラレル通信用の伝送路は、マスタユニット１０と各スレーブユニット２０とが個別に接続された伝送路である。すなわち、複数のスレーブユニット２０は、それぞれ、別々のパラレル通信線によって、マスタユニット１０に接続される。ただし、マスタユニット１０に隣接するスレーブユニット２０以外のスレーブユニット２０と、マスタユニット１０とを接続するパラレル通信線は、他のスレーブユニット２０を通過し得る。
【００８８】
シリアル通信ドライバ４２０は、マスタユニット１０から送信されたコマンド等の受信処理、検出情報（受光量）の送信処理を行なう。本実施形態においては、シリアル通信にＲＳ−４２２プロトコルが用いられる。シリアル通信にＲＳ−４８５プロトコルを利用してもよい。
【００８９】
シリアル通信用の伝送路は、マスタユニット１０及び全てのスレーブユニット２０が接続された伝送路である。すなわち、全てのスレーブユニット２０は、マスタユニット１０に対して、シリアル通信線によってバス形式で信号伝達可能に接続される。
【００９０】
図４は、本実施形態に係るセンサシステム１により測定されるデータの第１例を示す図である。本例では、第１センサ３０ａ、第２センサ３０ｂ及び第３センサ３０ｃにより測定されたデータを、時系列順に示している。ここで、第１センサ３０ａは、これら３つのセンサのうち、ラインＬの最も上流に配置されたセンサであり、第３センサ３０ｃは、これら３つのセンサのうち、ラインＬの最も下流に配置されたセンサであり、第２センサ３０ｂは、第１センサ３０ａより下流に配置され、第３センサ３０ｃより上流に配置されたセンサである。本例では、第１センサ３０ａが設置された箇所と第２センサ３０ｂが設置された箇所との間でラインＬに異常があり、搬送の過程でワークに位置ずれが生じている場合に測定されるデータを示している。
【００９１】
第１センサ３０ａにより測定されたデータは、第１データＡ１及び第２データＡ２を含む。第１データＡ１及び第２データＡ２は、それぞれワークの通過状況を示すデータであり、ワークが第１センサ３０ａの検出範囲内にある場合に出力されたオン信号である。
【００９２】
第２センサ３０ｂにより測定されたデータは、第１データＢ１及び第２データＢ２を含む。第１データＢ１及び第２データＢ２は、それぞれワークの通過状況を示すデータであり、ワークが第２センサ３０ｂの検出範囲内にある場合に出力されたオン信号である。ここで、第２センサ３０ｂにより測定された第１データＢ１は、第１センサ３０ａにより測定された第１データＡ１と比較して、時間Ｔだけ遅れている。時間Ｔは、第１センサ３０ａと第２センサ３０ｂとの間の距離をラインＬの搬送速度で割った値である。
【００９３】
一方、第２センサ３０ｂにより測定された第２データＢ２は、第１センサ３０ａにより測定された第２データＡ２と比較して、時間Ｔ＋δだけ遅れている。図４では、時間Ｔだけ遅れて第２データＢ２が測定された場合に表れる波形Ｂ２ａを破線で示している。
【００９４】
判定部１５は、ラインＬの搬送速度及び複数のセンサ３０の配置に基づいて、ワークが複数のセンサ３０の検出範囲を通過すべきタイミングを算出し、複数のセンサ３０のうちラインＬの上流に配置されたセンサにより測定されたデータと、複数のセンサ３０のうちラインＬの下流に配置されたセンサにより、通過すべきタイミングにおいて測定されたデータとの比較に基づき、ワークの位置ずれを判定してよい。本例の場合、ラインＬが正常に動作していれば、ラインＬの上流に配置された第１センサ３０ａにより測定された第２データＡ２と、ラインＬの下流に配置された第２センサ３０ｂにより測定された第２データＢ２とは、センサの設置間隔とラインＬの搬送速度に応じた時間Ｔの遅れを除いて一致するはずである。判定部１５は、時間Ｔの遅れを考慮して、ラインＬの上流に配置された第１センサ３０ａにより測定された第２データＡ２と、ラインＬの下流に配置された第２センサ３０ｂにより測定された第２データＢ２とにδだけ差があることを検出し、δが閾値以上である場合に、ワークに位置ずれが生じていると判定してよい。
【００９５】
ラインＬの上流に配置されたセンサにより測定されたデータと、ラインＬの下流に配置されたセンサにより測定されたデータとを、ワークの搬送による時間遅れを考慮して比較することで、ワークの位置が変化したかを判定することができる。
【００９６】
また、判定部１５は、ラインＬの上流に配置された第１センサ３０ａにより測定されたデータと、ラインＬの下流に配置された第２センサ３０ｂにより測定されたデータと、それらのデータが測定された場合におけるワークの状態の変化を示す情報とを含む学習用データを用いた機械学習により生成された学習済みモデル１４ｃによって、ワークの状態の変化を判定してもよい。本例の場合、判定部１５は、ラインＬの上流に配置された第１センサ３０ａにより測定された第２データＡ２と、ラインＬの下流に配置された第２センサ３０ｂにより測定された第２データＢ２とを学習済みモデル１４ｃに入力し、学習済みモデル１４ｃの出力に基づいてワークの位置ずれを判定してよい。ここで、学習済みモデル１４ｃの出力は、ワークの状態に変化が生じている確率であったり、ワークの位置ずれの量であったりしてよい。
【００９７】
第３センサ３０ｃにより測定されたデータは、第１データＣ１及び第２データＣ２を含む。第１データＣ１及び第２データＣ２は、それぞれワークの通過状況を示すデータであり、ワークが第３センサ３０ｃの検出範囲内にある場合に出力されたオン信号である。ここで、第３センサ３０ｃにより測定された第１データＣ１は、第２センサ３０ｂにより測定された第１データＢ１と比較して、時間Ｔだけ遅れている。
【００９８】
一方、第３センサ３０ｃにより測定された第２データＣ２は、第１センサ３０ａにより測定された第２データＡ２と比較して、時間２Ｔ＋δだけ遅れている。図４では、時間２Ｔだけ遅れて第２データＣ２が測定された場合に表れる波形Ｃ２ａを破線で示している。
【００９９】
判定部１５は、時間Ｔの遅れを考慮して、ラインＬの上流に配置された第１センサ３０ａにより測定された第２データＡ２と、ラインＬの下流に配置された第３センサ３０ｃにより測定された第２データＣ２とにδだけ差があることを検出し、δが閾値以上である場合に、ワークに位置ずれが生じていると判定してよい。なお、判定部１５は、時間Ｔの遅れを考慮して、ラインＬの上流に配置された第２センサ３０ｂにより測定された第２データＢ２と、ラインＬの下流に配置された第３センサ３０ｃにより測定された第２データＣ２とにδだけ差があることを検出し、δが閾値以上である場合に、ワークに位置ずれが生じていると判定してもよい。また、判定部１５は、第１センサ３０ａ、第２センサ３０ｂ及び第３センサ３０ｃにより測定されたデータを学習済みモデル１４ｃに入力して、学習済みモデル１４ｃの出力に基づいてワークの状態の変化を判定してもよい。
【０１００】
このように、第２センサ３０ｂにより測定されたデータが、第１センサ３０ａにより測定されたデータに対してずれている場合、判定部１５は、第１センサ３０ａが設置された箇所と第２センサ３０ｂが設置された箇所の間において、ラインＬの搬送装置に異常が存在すると判定してよい。また、判定部１５は、第３センサ３０ｃにより測定されたデータのずれが、第２センサ３０ｂにより測定されたデータのずれと同程度である場合、第２センサ３０ｂが設置された箇所と第３センサ３０ｃが設置された箇所の間において、ラインＬの搬送装置に異常は存在しないと判定してもよい。
【０１０１】
なお、ラインは複数あってもよく、ワークを多列搬送するものであってもよい。その場合、判定部１５は、それぞれのラインに配置された複数のセンサにより測定されたデータを比較して、それぞれのラインの動作が不安定になっているか否かを判定してもよい。また、判定部１５は、複数のラインに配置された複数のセンサにより測定されたデータを学習済みモデル１４ｃに入力して、学習済みモデル１４ｃの出力に基づいてラインの不安定性を判定してもよい。
【０１０２】
図５は、本実施形態に係るセンサシステム１により測定されるデータの第２例を示す図である。本例における第１センサ３０ａ、第２センサ３０ｂ及び第３センサ３０ｃの配置は、図４に示した第１例と同様である。本例では、第１センサ３０ａが設置された箇所と第２センサ３０ｂが設置された箇所との間でラインＬに異常があり、ワークの搬送速度が慢性的に遅くなって、ワークの流れに滞留が生じている場合に測定されるデータを示している。
【０１０３】
第１センサ３０ａにより測定されたデータは、第１データＡ１、第３データＡ３、第４データＡ４、第５データＡ５及び第６データＡ６を含む。第１データＡ１、第３データＡ３、第４データ、第５データ及び第６データＡ６は、それぞれワークの通過状況を示すデータであり、ワークが第１センサ３０ａの検出範囲内にある場合に出力されたオン信号である。ここで、第３データＡ３の立ち下がりから第４データＡ４の立ち上がりまでの時間はｔ１であり、第４データＡ４の立ち下がりから第５データＡ５の立ち上がりまでの時間はｔ２であり、第５データＡ５の立ち下がりから第６データＡ６の立ち上がりまでの時間はｔ３である。
【０１０４】
第２センサ３０ｂにより測定されたデータは、第１データＢ１、第３データＢ３、第４データＢ４、第５データＢ５及び第６データＢ６を含む。第１データＢ１、第３データＢ３、第４データＢ４、第５データＢ５及び第６データＢ６は、それぞれワークの通過状況を示すデータであり、ワークが第２センサ３０ｂの検出範囲内にある場合に出力されたオン信号である。ここで、第２センサ３０ｂにより測定された第１データＢ１は、第１センサ３０ａにより測定された第１データＡ１と比較して、時間Ｔだけ遅れている。時間Ｔは、第１センサ３０ａと第２センサ３０ｂとの間の距離をラインＬの搬送速度で割った値である。
【０１０５】
一方、第２センサ３０ｂにより測定された第３データＢ３、第４データＢ４、第５データＢ５及び第６データＢ６は、第１センサ３０ａにより測定された第３データＢ３、第４データＢ４、第５データＢ５及び第６データＢ６と比較して、立ち下がりと立ち上がりの間隔が短く、ほとんど連続して測定されている。すなわち、第３データＢ３の立ち下がりから第４データＢ４の立ち上がりまでの時間はほとんど０であり、第４データＢ４の立ち下がりから第５データＢ５の立ち上がりまでの時間はほとんど０であり、第５データＢ５の立ち下がりから第６データＢ６の立ち上がりまでの時間はほとんど０である。
【０１０６】
判定部１５は、ラインＬの搬送速度及び複数のセンサ３０の配置に基づいて、ワークが複数のセンサ３０の検出範囲を通過すべきタイミングを算出し、複数のセンサ３０のうちラインＬの上流に配置されたセンサにより測定されたデータと、複数のセンサ３０のうちラインＬの下流に配置されたセンサにより、通過すべきタイミングにおいて測定されたデータとの比較に基づき、ワークの位置ずれを判定してよい。本例の場合、ラインＬが正常に動作していれば、ラインＬの上流に配置された第１センサ３０ａにより測定された第３データＡ３、第４データＡ４、第５データＡ５及び第６データＡ６の立ち下がりと立ち上がりの間隔と、ラインＬの下流に配置された第２センサ３０ｂにより測定された第３データＢ３、第４データＢ４、第５データＢ５及び第６データＢ６の立ち下がりと立ち上がりの間隔とは、センサの設置間隔とラインＬの搬送速度に応じた時間Ｔの遅れを除いて一致するはずである。判定部１５は、時間Ｔの遅れを考慮して、ラインＬの上流に配置された第１センサ３０ａにより測定された波形の間隔と、ラインＬの下流に配置された第２センサ３０ｂにより測定された波形の間隔とに差があることを検出し、差が閾値以上である場合に、ワークの位置ずれが生じていると判定してよい。また、判定部１５は、第３データＢ３、第４データＢ４、第５データＢ５及び第６データＢ６の立ち下がりと立ち上がりの間隔がほとんど０であることを検出し、ワークの流れに滞留が生じていると判定してよい。
【０１０７】
ラインＬの上流に配置されたセンサにより測定されたデータと、ラインＬの下流に配置されたセンサにより測定されたデータとを、ワークの搬送による時間遅れを考慮して比較することで、搬送の過程でワークの位置が変化したかを判定することができる。また、ラインＬの上流に配置されたセンサにより測定されたデータの立ち下がりと立ち上がりの間隔と、ラインＬの下流に配置されたセンサにより測定されたデータの立ち下がりと立ち上がりの間隔とを、ワークの搬送による時間遅れを考慮して比較することで、ワークの流れに滞留が生じているかを判定することができる。
【０１０８】
また、第３センサ３０ｃにより測定されたデータは、第１データＣ１、第３データＣ３、第４データＣ４、第５データＣ５及び第６データＣ６を含む。第１データＣ１、第３データＣ３、第４データＣ４、第５データＣ５及び第６データＣ６は、それぞれワークの通過状況を示すデータであり、ワークが第３センサ３０ｃの検出範囲内にある場合に出力されたオン信号である。ここで、第３センサ３０ｃにより測定された第１データＣ１は、第２センサ３０ｂにより測定された第１データＢ１と比較して、時間Ｔだけ遅れている。また、第３データＣ３、第４データＣ４、第５データＣ５及び第６データＣ６は、第２センサ３０ｂにより測定された第３データＢ３、第４データＢ４、第５データＢ５及び第６データＢ６と同様に、波形の立ち下がりと立ち上がりとの間隔がほとんど０であり、ワークの滞留を示している。
【０１０９】
このように、第２センサ３０ｂにより測定されたデータが、第１センサ３０ａにより測定されたデータに対してずれている場合、判定部１５は、第１センサ３０ａが設置された箇所と第２センサ３０ｂが設置された箇所の間において、ラインＬの搬送装置に異常が存在すると判定してよい。また、判定部１５は、第３センサ３０ｃにより測定されたデータのずれが、第２センサ３０ｂにより測定されたデータのずれと同程度である場合、第２センサ３０ｂが設置された箇所と第３センサ３０ｃが設置された箇所の間において、ラインＬの搬送装置に異常は存在しないと判定してもよい。
【０１１０】
なお、判定部１５は、第１センサ３０ａ、第２センサ３０ｂ及び第３センサ３０ｃにより測定されたデータを学習済みモデル１４ｃに入力して、学習済みモデル１４ｃの出力に基づいてワークの流れに滞留が生じているかを判定してもよい。また、判定部１５は、第１センサ３０ａ、第２センサ３０ｂ及び第３センサ３０ｃにより測定されたデータを学習済みモデル１４ｃに入力して、学習済みモデル１４ｃの出力に基づいて、ワークの滞留が生じる確率が比較的高い搬送装置の箇所を判定してもよい。
【０１１１】
図６は、本実施形態に係るマスタユニット１０により実行される第１処理のフローチャートである。はじめに、マスタユニット１０は、複数のスレーブユニット２０から、複数のセンサ３０により測定されたデータを取得する（Ｓ１０）。そして、タイマ１２により測定される時刻を補正部１３により補正し（Ｓ１１）、補正された時刻とセンシングデータとを関連付けて記憶する（Ｓ１２）。
【０１１２】
その後、マスタユニット１０は、上流に配置されたセンサにより測定されたデータと、下流に配置されたセンサにより測定されたデータとを学習済みモデル１４ｃに入力する（Ｓ１３）。そして、マスタユニット１０は、学習済みモデル１４ｃの出力に基づき、ワークの位置ずれを判定する（Ｓ１４）。なお、マスタユニット１０は、必ずしも学習済みモデルを用いた判定を行わなくてもよく、ラインＬの搬送速度及び複数のセンサ３０の配置に基づいて、ワークが複数のセンサ３０の検出範囲を通過すべきタイミングを算出し、上流に配置されたセンサにより測定されたデータと、下流に配置されたセンサにより、通過すべきタイミングにおいて測定されたデータとのずれを閾値と比較することで、ワークの位置ずれを判定してもよい。
【０１１３】
最後に、マスタユニット１０は、ワークの位置ずれの有無、位置ずれの量を表示部１６に表示する（Ｓ１５）。マスタユニット１０は、ラインＬの搬送装置のどの箇所に異常が存在すると推定されるかを表示部１６に表示してもよい。なお、ワークの位置ずれの有無は、音によって出力することとしてもよい。また、ワークの位置ずれの量及び搬送装置の異常箇所は、ＰＬＣ４０に送信することとしてもよい。
【０１１４】
図７は、本実施形態に係るセンサシステム１により測定されるデータの第３例を示す図である。本例における第１センサ３０ａ、第２センサ３０ｂ及び第３センサ３０ｃの配置は、図４に示した第１例と同様である。本例では、第２センサ３０ｂが設置された箇所でラインＬに異常があり、ワークの搬送速度が一時的に遅くなっている場合に測定されるデータを示している。
【０１１５】
第１センサ３０ａにより測定されたデータは、第１データＡ１及び第７データＡ７を含む。第１データＡ１及び第７データＡ７は、それぞれワークの通過状況を示すデータであり、ワークが第１センサ３０ａの検出範囲内にある場合に出力されたオン信号である。ここで、第７データＡ７のオン期間はｔ４である。
【０１１６】
第２センサ３０ｂにより測定されたデータは、第１データＢ１及び第７データＢ７を含む。第１データＢ１及び第７データＢ７は、それぞれワークの通過状況を示すデータであり、ワークが第２センサ３０ｂの検出範囲内にある場合に出力されたオン信号である。ここで、第２センサ３０ｂにより測定された第１データＢ１は、第１センサ３０ａにより測定された第１データＡ１と比較して、時間Ｔだけ遅れている。時間Ｔは、第１センサ３０ａと第２センサ３０ｂとの間の距離をラインＬの搬送速度で割った値である。
【０１１７】
一方、第２センサ３０ｂにより測定された第７データＢ７は、オン期間がｔ５であり、第１センサ３０ａにより測定された第７データＡ７と比較して、オン期間が長い。
【０１１８】
判定部１５は、ラインＬの上流に配置されたセンサによりワークが検出された期間と、ラインＬの下流に配置されたセンサによりワークが検出された期間との差に基づき、ワークの搬送速度の変化を判定してよい。本例の場合、ラインＬが正常に動作していれば、ラインＬの上流に配置された第１センサ３０ａにより測定された第７データＡ７のオン期間ｔ４と、ラインＬの下流に配置された第２センサ３０ｂにより測定された第７データＢ７のオン期間ｔ５とは、等しいはずである。判定部１５は、時間Ｔの遅れを考慮して、ラインＬの上流に配置された第１センサ３０ａにより測定された第７データＡ７のオン期間と、ラインＬの下流に配置された第２センサ３０ｂにより測定された第７データＢ７のオン期間とに差があることを検出し、差が閾値以上である場合に、ワークの搬送速度に変化があると判定してよい。
【０１１９】
このように、ラインＬの上流に配置されたセンサによりワークが検出された期間と、ラインＬの下流に配置されたセンサによりワークが検出された期間とを比較することで、ワークの搬送速度が変化したかを判定することができる。
【０１２０】
第３センサ３０ｃにより測定されたデータは、第１データＣ１及び第２データＣ２を含む。第１データＣ１及び第２データＣ２は、それぞれワークの通過状況を示すデータであり、ワークが第３センサ３０ｃの検出範囲内にある場合に出力されたオン信号である。ここで、第３センサ３０ｃにより測定された第１データＣ１は、第２センサ３０ｂにより測定された第１データＢ１と比較して、時間Ｔだけ遅れている。
【０１２１】
一方、第３センサ３０ｃにより測定された第２データＣ２は、第１センサ３０ａにより測定された第２データＡ２と比較して、時間２Ｔ＋δだけ遅れている。図７では、時間２Ｔだけ遅れて第２データＣ２が測定された場合に表れる波形Ｃ２ａを破線で示している。ここで、第３センサ３０ｃにより測定された第２データＣ２のオン期間はｔ４であり、第１センサ３０ａにより測定された第２データＡ２のオン期間と同じである。また、ｔ５＝ｔ４＋δである。
【０１２２】
判定部１５は、時間Ｔの遅れを考慮して、ラインＬの上流に配置された第１センサ３０ａにより測定された第２データＡ２と、ラインＬの下流に配置された第３センサ３０ｃにより測定された第２データＣ２とにδだけ差があることを検出し、δが閾値以上である場合に、ワークに位置ずれが生じていると判定してよい。
【０１２３】
このように、第２センサ３０ｂにより測定されたデータのオン期間が、第１センサ３０ａにより測定されたデータのオン期間に対してずれている場合、判定部１５は、第２センサ３０ｂが設置された箇所において、ラインＬの搬送装置に異常が存在すると判定してよい。また、判定部１５は、第３センサ３０ｃにより測定されたデータのオン期間が、第１センサ３０ａにより測定されたデータのオン期間と同程度であり、第３センサ３０ｃにより測定されたデータのずれとオン期間の和が、第２センサ３０ｂにより測定されたデータのオン期間と同程度である場合、第２センサ３０ｂが設置された箇所と第３センサ３０ｃが設置され箇所の間において、ラインＬの搬送装置に異常は存在しないと判定してもよい。
【０１２４】
なお、判定部１５は、第１センサ３０ａ、第２センサ３０ｂ及び第３センサ３０ｃによりワークが検出された期間を学習済みモデル１４ｃに入力して、学習済みモデル１４ｃの出力に基づいてワークの搬送速度の変化を判定してもよい。その場合、判定部１５は、学習済みモデル１４ｃによって、ワークの搬送速度の変化量を判定してもよい。
【０１２５】
図８は、本実施形態に係るマスタユニット１０により実行される第２処理のフローチャートである。はじめに、マスタユニット１０は、複数のスレーブユニット２０から、複数のセンサ３０により測定されたデータを取得する（Ｓ２０）。そして、タイマ１２により測定される時刻を補正部１３により補正し（Ｓ２１）、補正された時刻とセンシングデータとを関連付けて記憶する（Ｓ２２）。
【０１２６】
その後、マスタユニット１０は、上流に配置されたセンサによりワークが検出された期間と、下流に配置されたセンサによりワークが検出された期間との差を算出する（Ｓ２３）。そして、マスタユニット１０は、検出期間の差に基づき、ワークの搬送速度の変化を判定（Ｓ２４）。なお、マスタユニット１０は、上流に配置されたセンサによりワークが検出された期間と、下流に配置されたセンサによりワークが検出された期間とを学習済みモデルに入力し、学習済みモデルの出力に基づき、ラインに関する異常の有無を判定してもよい。
【０１２７】
最後に、マスタユニット１０は、ワークの搬送速度の変化の有無、変化量を表示部１６に表示する（Ｓ２５）。マスタユニット１０は、ラインＬの搬送装置のどの箇所に異常が存在すると推定されるかを表示部１６に表示してもよい。なお、ワークの搬送速度の変化の有無は、音によって出力することとしてもよい。また、ワークの搬送速度の変化及び変化量をＰＬＣ４０に送信することとしてもよい。
【０１２８】
図９は、本実施形態に係るセンサシステム１により測定されるデータの第４例を示す図である。本例における第１センサ３０ａ、第２センサ３０ｂ及び第３センサ３０ｃの配置は、図４に示した第１例と同様である。本例では、第１センサ３０ａが設置された箇所と、第２センサ３０ｂが設置された箇所との間でラインＬに異常があり、ワークが脱落した場合に測定されるデータを示している。
【０１２９】
第１センサ３０ａにより測定されたデータは、第１データＡ１及び第２データＡ２を含む。第１データＡ１及び第２データＡ２は、それぞれワークの通過状況を示すデータであり、ワークが第１センサ３０ａの検出範囲内にある場合に出力されたオン信号である。
【０１３０】
第２センサ３０ｂにより測定されたデータは、第１データＢ１を含み、第１データＢ１は、ワークの通過状況を示すデータであり、ワークが第２センサ３０ｂの検出範囲内にある場合に出力されたオン信号である。ここで、第２センサ３０ｂにより測定された第１データＢ１は、第１センサ３０ａにより測定された第１データＡ１と比較して、時間Ｔだけ遅れている。時間Ｔは、第１センサ３０ａと第２センサ３０ｂとの間の距離をラインＬの搬送速度で割った値である。
【０１３１】
一方、第２センサ３０ｂにより測定されたデータは、第２データＡ２に対応するデータを含まない。図９では、時間Ｔだけ遅れて第２データＡ２に対応するデータが測定された場合に表れる波形Ｂ２ａを破線で示している。
【０１３２】
判定部１５は、ラインＬの上流に配置されたセンサにより測定されたデータと、ラインＬの下流に配置されたセンサにより測定されたデータとの対応関係に基づき、ワークの脱落を判定してよい。本例の場合、ラインＬが正常に動作していれば、ラインＬの上流に配置された第１センサ３０ａにより測定された第２データＡ２に対応して、ラインＬの下流に配置された第２センサ３０ｂによって、波形Ｂ２ａに相当するデータが測定されるはずである。判定部１５は、時間Ｔの遅れを考慮して、ラインＬの上流に配置された第１センサ３０ａにより測定された第２データＡ２と、ラインＬの下流に配置された第２センサ３０ｂにより測定されたデータとの対応関係を検出し、第２センサ３０ｂによって第２データＡ２に対応するデータが測定されていない場合に、ワークの脱落が生じたと判定してよい。なお、ワークの脱落とは、ラインＬからワークが落下した場合のみならず、ワークが横倒しになって搬送されたり、ワークが異常な姿勢となって搬送されたりしている場合も含む。
【０１３３】
このように、ラインＬの上流に配置されたセンサにより測定されたデータと、ラインＬの下流に配置されたセンサにより測定されたデータとが一対一に対応しない場合に、ワークの脱落が生じていると判定することができる。
【０１３４】
第３センサ３０ｃにより測定されたデータは、第１データＣ１を含み、第１データＣ１は、ワークの通過状況を示すデータであり、ワークが第３センサ３０ｃの検出範囲内にある場合に出力されたオン信号である。ここで、第３センサ３０ｃにより測定された第１データＣ１は、第２センサ３０ｂにより測定された第１データＢ１と比較して、時間Ｔだけ遅れている。
【０１３５】
一方、第３センサ３０ｃにより測定されたデータは、第２データＡ２に対応するデータを含まない。図９では、時間Ｔだけ遅れて第２データＡ２に対応するデータが測定された場合に表れる波形Ｃ２ａを破線で示している。
【０１３６】
判定部１５は、時間Ｔの遅れを考慮して、ラインＬの上流に配置された第１センサ３０ａにより測定された第２データＡ２と、ラインＬの下流に配置された第３センサ３０ｃにより測定された第２データＣ２とが一対一に対応しないことを検出し、ワークの脱落が生じたと判定してよい。
【０１３７】
このように、第２センサ３０ｂにより測定されたデータのオン信号の数が、第１センサ３０ａにより測定されたデータのオン信号の数よりも少ない場合、判定部１５は、第１センサ３０ａが設置された箇所と、第２センサ３０ｂが設置された箇所との間でワークが脱落したと判定してよい。また、判定部１５は、第３センサ３０ｃにより測定されたデータのオン信号の数が、第２センサ３０ｂにより測定されたデータのオン信号の数と等しい場合、第２センサ３０ｂが設置された箇所と第３センサ３０ｃが設置され箇所の間において、ラインＬの搬送装置に異常は存在しないと判定してもよい。
【０１３８】
なお、判定部１５は、第１センサ３０ａ、第２センサ３０ｂ及び第３センサ３０ｃによりワークが検出された期間を学習済みモデル１４ｃに入力して、学習済みモデル１４ｃの出力に基づいてワークの脱落を判定してもよい。その場合、判定部１５は、学習済みモデル１４ｃによって、ワークの脱落が生じたラインＬの箇所を判定してもよい。
【０１３９】
図１０は、本実施形態に係るマスタユニット１０により実行される第３処理のフローチャートである。はじめに、マスタユニット１０は、複数のスレーブユニット２０から、複数のセンサ３０により測定されたデータを取得する（Ｓ３０）。そして、タイマ１２により測定される時刻を補正部１３により補正し（Ｓ３１）、補正された時刻とセンシングデータとを関連付けて記憶する（Ｓ３２）。
【０１４０】
その後、マスタユニット１０は、上流に配置されたセンサにより測定されたデータと、下流に配置されたセンサにより測定されたデータとの対応関係を特定する（Ｓ３３）。そして、マスタユニット１０は、データの対応関係に基づき、ワークの脱落を判定する（Ｓ３４）。なお、マスタユニット１０は、上流に配置されたセンサにより測定されたデータと、下流に配置されたセンサにより測定されたデータとを学習済みモデルに入力し、学習済みモデルの出力に基づき、ワークの脱落を判定してもよい。
【０１４１】
最後に、マスタユニット１０は、ワークの脱落の有無を表示部１６に表示する（Ｓ３５）。マスタユニット１０は、ラインＬの搬送装置のどの箇所に異常が存在すると推定されるかを表示部１６に表示してもよい。なお、ワークの脱落の有無は、音によって出力することとしてもよいし、ＰＬＣ４０に送信することとしてもよい。
【０１４２】
図１１は、本実施形態に係るマスタユニット１０により実行される第４処理のフローチャートである。同図に示す処理は、マスタユニット１０により学習用データを収集し、学習済みモデルを生成する処理である。
【０１４３】
はじめに、マスタユニット１０は、複数のスレーブユニット２０から、複数のセンサ３０により測定されたデータを取得する（Ｓ４０）。そして、タイマ１２により測定される時刻を補正部１３により補正し（Ｓ４１）、補正された時刻とセンシングデータとを関連付けて記憶する（Ｓ４２）。
【０１４４】
その後、マスタユニット１０は、上流に配置されたセンサにより測定されたデータと、下流に配置されたセンサにより測定されたデータと、ワークの状態の変化を示す情報を含む学習用データを生成する（Ｓ４３）。そして、マスタユニット１０は、学習用データを用いた機械学習により生成された学習済みモデルを記憶する（Ｓ４４）。なお、学習用データを用いた学習モデルの機械学習は、マスタユニット１０により実行されてもよいし、他の装置によって実行されてもよい。
【０１４５】
図１２は、本実施形態の第１変形例に係るセンサシステム１Ａの機能ブロックを示す図である。第１変形例に係るセンサシステム１Ａは、マスタユニット１０がタイマを有さず、トリガ発信部１８を有し、第１スレーブユニット２０ａがタイマ２１ａを有し、第２スレーブユニット２０ｂがタイマ２１ｂを有し、第３スレーブユニット２０ｃがタイマ２１ｃを有する点で、センサシステム１と相違する。それ以外の構成について、第１変形例に係るセンサシステム１Ａは、センサシステム１と同様の構成を有する。
【０１４６】
トリガ発信部１８は、時刻の基準となるトリガ信号を複数のスレーブユニット２０に対して発信する。ここで、トリガ信号は、時刻の基準となるものであればどのようなものであってもよい。
【０１４７】
複数のスレーブユニット２０は、それぞれタイマ２１ａ，２１ｂ，２１ｃを有し、トリガ信号を受信してからの経過時間をタイマ２１ａ，２１ｂ，２１ｃにより測定し、経過時間を複数のセンサ３０により測定されたデータとともにマスタユニット１０に伝送する。そして、マスタユニット１０の記憶部１４は、複数のスレーブユニット２０から受信した経過時間と、データとを関連付けて記憶する。
【０１４８】
このようにして、マスタユニット１０にタイマを設けずに、複数のセンサ３０により測定されたデータと、そのデータが測定されたタイミングに関する情報とを関連付けて記憶することができる。
【０１４９】
図１３は、本実施形態の第２変形例に係るセンサシステム１Ｂの機能ブロックを示す図である。第２変形例に係るセンサシステム１Ｂは、マスタユニット１０がタイマを有さず、第１スレーブユニット２０ａがタイマ２１ａを有し、第２スレーブユニット２０ｂがタイマ２１ｂを有し、第３スレーブユニット２０ｃがタイマ２１ｃを有する点で、センサシステム１と相違する。それ以外の構成について、第２変形例に係るセンサシステム１Ｂは、センサシステム１と同様の構成を有する。
【０１５０】
複数のスレーブユニット２０は、複数のスレーブユニット２０間で同期するタイマ２１ａ，２１ｂ，２１ｃをそれぞれ有し、タイマ２１ａ，２１ｂ，２１ｃにより測定される時刻を複数のセンサ３０により測定されたデータとともにマスタユニット１０に伝送する。ここで、タイマ２１ａ，２１ｂ，２１ｃの同期は、隣り合うスレーブユニット２０間で行われてよい。記憶部１４は、タイマ２１ａ，２１ｂ，２１ｃにより測定された時刻と、データとを関連付けて記憶する。
【０１５１】
このようにして、マスタユニット１０の処理負荷を減らして、複数のセンサ３０により測定されたデータと、そのデータが測定されたタイミングに関する情報とを関連付けて記憶することができる。
【０１５２】
図１４は、本実施形態の第３変形例に係るセンサシステム１Ｃの機能ブロックを示す図である。第３変形例に係るセンサシステム１Ｃは、マスタユニット１０がタイマを有さず、ＰＬＣ４０がタイマ４１を有する点で、センサシステム１と相違する。それ以外の構成について、第３変形例に係るセンサシステム１Ｃは、センサシステム１と同様の構成を有する。
【０１５３】
マスタユニット１０は、時刻の基準となる信号を外部機器から受信する受信部を有する。本変形例の場合、マスタユニット１０は、時刻の基準となる信号をＰＬＣ４０から受信する通信部１７を有する。なお、時刻の基準となる信号は、ＰＬＣ４０のタイマ４１で測定された時刻であってよい。記憶部１４は、時刻の基準となる信号に基づき算出される時刻と、複数のセンサ３０により測定されたデータとを関連付けて記憶する。
【０１５４】
これにより、複数のスレーブユニット２０及びマスタユニット１０にタイマを設けずに、複数のセンサ３０により測定されたデータと、そのデータが測定されたタイミングに関する情報とを関連付けて記憶することができる。
【０１５５】
図１５は、本実施形態の第４変形例に係るセンサシステム１Ｄの機能ブロックを示す図である。第４変形例に係るセンサシステム１Ｄは、マスタユニット１０が対応部１９を有する点で、センサシステム１と相違する。それ以外の構成について、第４変形例に係るセンサシステム１Ｄは、センサシステム１と同様の構成を有する。
【０１５６】
第４変形例に係るセンサシステム１Ｄにより測定されるデータは、ラインＬ上を搬送されるワークの通過状況に応じた立ち上がり波形又は立ち下がり波形を含む時系列データである。本例では、ワークがセンサ３０の検出範囲に侵入する際にセンシングデータとして立ち上がり波形が出力され、ワークがセンサ３０の検出範囲から抜け出る際にセンシングデータとして立ち下がり波形が出力される。
【０１５７】
対応部１９は、複数のスレーブユニット２０のうち２以上のスレーブユニットにより取得された時系列データに含まれる立ち上がり波形の間隔又は立ち下がり波形の間隔に基づいて、同一のワークに関して２以上のスレーブユニットにより取得された立ち上がり波形又は立ち下がり波形を対応付ける。対応部１９によって同一のワークに関して２以上のスレーブユニットにより取得された立ち上がり波形又は立ち下がり波形を対応付けることで、複数のセンサ３０により測定された時系列データの適切な比較が可能となり、ラインＬ上を搬送されるワークの状態の変化を適切に判定することができる。
【０１５８】
図１６は、本実施形態の第４変形例に係るセンサシステム１Ｄにより測定されるデータの第５例を示す図である。本例における第１センサ３０ａ、第２センサ３０ｂ及び第３センサ３０ｃの配置は、図４に示した第１例と同様である。本例では、第２センサ３０ｂが設置された箇所でラインＬの搬送速度が一時的に遅くなり、第２センサ３０ｂの検出範囲をワークが通過する際に測定される波形の幅が、第１センサ３０ａ及び第３センサ３０ｃの検出範囲をワークが通過する際に測定される波形の幅より広い。なお、本例において第２センサ３０ｂが設置された箇所でラインＬの搬送速度が一時的に遅くなることは正常であるものとする。
【０１５９】
第１センサ３０ａにより測定されたデータは、ワークが第１センサ３０ａの検出範囲を通過する際に出力された６つの矩形波を含み、それぞれ立ち上がり波形と立ち上がり波形を含む。６つの矩形波は、それぞれ異なるワークに対応する。なお、本例では、立ち上がり波形と立ち下がり波形をほぼ垂直な直線により表しているが、実際には曲線であってよい。
【０１６０】
対応部１９は、複数のスレーブユニット２０のうち第１スレーブユニット２０ａにより取得された立ち上がり波形の間隔又は立ち下がり波形の間隔と、複数のスレーブユニット２０のうち第２スレーブユニット２０ｂにより取得された立ち上がり波形の間隔又は立ち下がり波形の間隔との差の平均値が小さくなるように、第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形とを対応付けてもよい。
【０１６１】
本例では、第１スレーブユニット２０ａにより取得された立ち上がり波形の間隔は、ＴＡ１、ＴＡ２、ＴＡ３、ＴＡ４及びＴＡ５である。また、第２スレーブユニット２０ｂにより取得された立ち上がり波形の間隔は、ＴＢ１、ＴＢ２、ＴＢ３、ＴＢ４、ＴＢ５及びＴＢ６である。そして、立ち上がり波形の間隔の差の平均値は、｜ＴＡ１−ＴＢ６｜であったり、（｜ＴＡ１−ＴＢ５｜＋｜ＴＡ２−ＴＢ６｜）／２であったり、（｜ＴＡ１−ＴＢ４｜＋｜ＴＡ２−ＴＢ５｜＋｜ＴＡ３−ＴＢ６｜）／３であったり、（｜ＴＡ１−ＴＢ３｜＋｜ＴＡ２−ＴＢ４｜＋｜ＴＡ３−ＴＢ５｜＋｜ＴＡ４−ＴＢ６｜）／４であったり、（｜ＴＡ１−ＴＢ２｜＋｜ＴＡ２−ＴＢ３｜＋｜ＴＡ３−ＴＢ４｜＋｜ＴＡ４−ＴＢ５｜＋｜ＴＡ５−ＴＢ６｜）／５であったりしてよい。対応部１９は、このように、２つのセンサ３０により測定された立ち上がり波形又は立ち下がり波形の間隔の差を算出して、その平均値が小さくなる組み合わせを探索する。本例の場合、（｜ＴＡ１−ＴＢ２｜＋｜ＴＡ２−ＴＢ３｜＋｜ＴＡ３−ＴＢ４｜＋｜ＴＡ４−ＴＢ５｜＋｜ＴＡ５−ＴＢ６｜）／５が最も小さくなるため、対応部１９は、第１センサ３０ａにより測定された第１０データＡ１０の立ち上がり波形と、第２センサ３０ｂにより測定された第１０データＢ１０の立ち上がり波形とを対応付け、その後に測定される立ち上がり波形を順次対応付ける。
【０１６２】
同様に、第３スレーブユニット２０ｃにより取得された立ち上がり波形の間隔は、ＴＣ１、ＴＣ２、ＴＣ３、ＴＣ４、ＴＣ５、ＴＣ６及びＴＣ６である。そして、第１スレーブユニット２０ａにより取得された立ち下がり波形の間隔と第３スレーブユニット２０ｃにより取得された立ち上がり波形の間隔の差の平均値は、｜ＴＡ１−ＴＣ７｜であったり、（｜ＴＡ１−ＴＣ６｜＋｜ＴＡ２−ＴＣ７｜）／２であったり、（｜ＴＡ１−ＴＣ５｜＋｜ＴＡ２−ＴＣ６｜＋｜ＴＡ３−ＴＣ７｜）／３であったり、（｜ＴＡ１−ＴＣ４｜＋｜ＴＡ２−ＴＣ５｜＋｜ＴＡ３−ＴＣ６｜＋｜ＴＡ４−ＴＣ７｜）／４であったり、（｜ＴＡ１−ＴＣ３｜＋｜ＴＡ２−ＴＣ４｜＋｜ＴＡ３−ＴＣ５｜＋｜ＴＡ４−ＴＣ６｜＋｜ＴＡ５−ＴＣ７｜）／５であったりしてよい。本例の場合、（｜ＴＡ１−ＴＣ３｜＋｜ＴＡ２−ＴＣ４｜＋｜ＴＡ３−ＴＣ５｜＋｜ＴＡ４−ＴＣ６｜＋｜ＴＡ５−ＴＣ７｜）／５が最も小さくなるため、対応部１９は、第１センサ３０ａにより測定された第１０データＡ１０の立ち上がり波形と、第３センサ３０ｃにより測定された第１０データＣ１０の立ち上がり波形とを対応付け、その後に測定される立ち上がり波形を順次対応付ける。
【０１６３】
このようにして、２つのセンサ３０により測定された立ち上がり波形又は立ち下がり波形の間隔の差の平均値を評価値とすることで、ラインＬの搬送速度が一時的に遅くなったり、速くなったりする場合であっても、２つのセンサ３０により測定された時系列データを適切に対応付けることができる。
【０１６４】
立ち上がり波形又は立ち下がり波形の対応付けが行えることで、マスタユニット１０は、２つのセンサ３０の間をワークが通過する時間を算出することもできる。また、マスタユニット１０は、算出した通過時間を表示部１６に表示して、その妥当性をユーザに確認させ、ひいては立ち上がり波形又は立ち下がり波形の対応付けの妥当性をユーザに確認させることができる。さらに、マスタユニット１０は、２つのセンサ３０の配置間隔が既知である場合に、ラインＬの平均搬送速度を算出して、表示部１６に表示し、その妥当性をユーザに確認させることもできる。反対に、マスタユニット１０は、予めユーザから２つのセンサ３０の間をワークが通過する時間の概算値の入力を受け付けて、対応部１９によって立ち上がり波形又は立ち下がり波形の間隔の差の平均値を算出する組み合わせを限定してもよく、これにより演算負荷を低減することができる。また、マスタユニット１０は、複数のセンサ３０により同一のワークを測定した場合の波形の幅に基づいて、ラインＬの局所的な搬送速度を算出することもできる。これにより、順に並んで配置された２つのセンサ３０について、上流のセンサ３０によりワークが検出されてから、下流のセンサ３０によりワークが検出されるまでの時間を予測することができ、予測した時間と実測した時間の差を算出することもできる。
【０１６５】
対応部１９は、複数のスレーブユニット２０のうち選択された一部について、立ち上がり波形又は立ち下がり波形の対応付けを行ってもよい。本例の場合、対応部１９は、第１スレーブユニット２０ａ、第２スレーブユニット２０ｂ及び第３スレーブユニット２０ｃのうち、選択された２つのスレーブユニットについて、立ち上がり波形又は立ち下がり波形の対応付けを行ってもよい。このように、対応付けを実行するスレーブユニット２０を選択することで、必ずしも必要でないデータの対応付けを省略して、処理負荷を低減することができる。
【０１６６】
また、対応部１９は、第１スレーブユニット２０ａに接続されている第１センサ３０ａが、第２スレーブユニット２０ｂに接続されている第２センサ３０ｂよりラインＬの上流に配置されている場合、第１スレーブユニット２０ａにより取得された立ち上がり波形の間隔又は立ち下がり波形の間隔と、その後に第２スレーブユニット２０ｂにより取得された立ち上がり波形の間隔又は立ち下がり波形の間隔との差の平均値が小さくなるように、第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形とを対応付けてもよい。言い換えると、対応部１９は、第１センサ３０ａにより測定された立ち上がり波形又は立ち下がり波形の間隔と、第１センサ３０ａによる測定のタイミングより後に第２センサ３０ｂにより測定された立ち上がり波形又は立ち下がり波形の間隔との差の平均値を小さくなるように、第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形とを対応付けてもよい。
【０１６７】
具体的には、対応部１９は、（｜ＴＡ２−ＴＢ１｜＋｜ＴＡ３−ＴＢ２｜＋｜ＴＡ４−ＴＢ３｜＋｜ＴＡ５−ＴＢ４｜）／４であったり、（｜ＴＡ３−ＴＢ１｜＋｜ＴＡ４−ＴＢ２｜＋｜ＴＡ５−ＴＢ３｜）／３であったり、（｜ＴＡ４−ＴＢ１｜＋｜ＴＡ５−ＴＢ２｜）／２であったり、｜ＴＡ５−ＴＢ１｜であったりを評価する必要がなく、これらの平均値は算出しなくてもよい。また、対応部１９は、（｜ＴＡ２−ＴＣ１｜＋｜ＴＡ３−ＴＣ２｜＋｜ＴＡ４−ＴＣ３｜＋｜ＴＡ５−ＴＣ４｜）／４であったり、（｜ＴＡ３−ＴＣ１｜＋｜ＴＡ４−ＴＣ２｜＋｜ＴＡ５−ＴＣ３｜）／３であったり、（｜ＴＡ４−ＴＣ１｜＋｜ＴＡ５−ＴＣ２｜）／２であったり、｜ＴＡ５−ＴＣ１｜であったりを評価する必要がなく、これらの平均値は算出しなくてもよい。
【０１６８】
このように、複数のセンサ３０の配置に応じて算出すべき平均値の組み合わせを制限することで、演算負荷を低減することができる。
【０１６９】
また、対応部１９は、平均値を算出するための項数が所定数以上となる組み合わせの中から、第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形との対応付けを行ってもよい。対応部１９は、例えば、平均値を算出するための項数が３以上となる組み合わせの中から、第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形との対応付けを行ってもよい。
【０１７０】
これにより、立ち上がり波形又は立ち下がり波形の対応付けを誤る確率を低減させることができ、より適切な対応付けが行われるようにすることができる。
【０１７１】
２つのセンサ３０により測定された立ち上がり波形又は立ち下がり波形の間隔の差の平均値が、差を算出する異なる組み合わせについて等しい場合があり得る。例えば、（｜ＴＡ１−ＴＢ５｜＋｜ＴＡ２−ＴＢ６｜）／２と、（｜ＴＡ１−ＴＢ４｜＋｜ＴＡ２−ＴＢ５｜＋｜ＴＡ３−ＴＢ６｜）／３とが等しい値となることがあり得る。そのような場合、対応部１９は、平均値を算出するための項数が多くなるように、第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形との対応付けを行ってもよい。すなわち、上記の例であれば、（｜ＴＡ１−ＴＢ４｜＋｜ＴＡ２−ＴＢ５｜＋｜ＴＡ３−ＴＢ６｜）／３を採用して、第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形との対応付けを行ってもよい。
【０１７２】
このようにして、多数のデータを用いた対応付けを優先させて、対応付けの信頼性を向上させることができる。
【０１７３】
図１７は、本実施形態の第４変形例に係るマスタユニット１０により実行される第５処理のフローチャートである。はじめに、マスタユニット１０は、複数のスレーブユニット２０から、複数のセンサ３０により測定されたデータを取得する（Ｓ５０）。そして、タイマ１２により測定される時刻を補正部１３により補正し（Ｓ５１）、補正された時刻とセンシングデータとを関連付けて記憶する（Ｓ５２）。
【０１７４】
その後、マスタユニット１０は、上流の第１スレーブユニット２０ａから取得した立ち上がり波形の間隔と、その後に下流の第２スレーブユニット２０ｂから取得した立ち上がり波形の間隔との差の平均値を算出する（Ｓ５３）。
【０１７５】
算出された平均値の項数が所定数以上である場合（Ｓ５４：ＹＥＳ）、マスタユニット１０は、平均値が最小となる組み合わせが一意に定まるか否かを判定する（Ｓ５５）。平均値が最小となる組み合わせが一意に定まる場合（Ｓ５５：ＹＥＳ）、マスタユニット１０は、平均値が最小となる組み合わせにより、立ち上がり波形を対応付ける（Ｓ５６）。一方、平均値が最小となる組み合わせが一意に定まらない場合（Ｓ５５：ＮＯ）、マスタユニット１０は、平均値が最小かつ平均値を算出するための項数が最大となる組み合わせにより、立ち上がり波形を対応付ける（Ｓ５７）。なお、算出された平均値の項数が所定数以上でない場合（Ｓ５４：ＮＯ）データの蓄積を待って、再び対応付けを実行してよい。
【０１７６】
図１８は、本実施形態の第４変形例に係るマスタユニット１０により実行される第６処理のフローチャートである。はじめに、マスタユニット１０は、ラインＬに関する異常の有無を判定する（Ｓ６０）。ラインＬに関する異常の有無を判定（Ｓ６０）は、例えば図６に示す第１処理であってよい。
【０１７７】
対応部１９は、判定部１５によりワークの状態が変化したと所定期間にわたって判定され続けた場合に、立ち上がり波形又は立ち下がり波形の対応付けを行ってもよい。本例では、所定期間にわたって異常と判定されない場合（Ｓ６１：ＮＯ）、ラインＬに関する異常の有無の判定（Ｓ６０）を繰り返して、所定期間にわたって異常と判定された場合（Ｓ６１：ＹＥＳ）、マスタユニット１０は、立ち上がり波形の対応付けを実行する（Ｓ６２）。このようにして、立ち上がり波形の対応付けが不適切であるために、ラインＬに異常が有ると誤って判定され続けている場合に、自動的に立ち上がり波形の対応付けを修正することができ、ラインＬの状態を正しく判定できるようになる。
【０１７８】
最後に、マスタユニット１０は、対応付けの処理（Ｓ６２）を実行中であることを表示部１６に表示する（Ｓ６３）。これにより、マスタユニット１０が一時的にワークの状態を判定することができない状態にあることを視覚的に伝えることができる。なお、マスタユニット１０は、対応付けの処理（Ｓ６２）を実行している間、判定部１５による判定処理を実行しなくてもよいが、複数のスレーブユニット２０は、複数のセンサ３０からのデータ取得を継続してよい。
【０１７９】
図１９は、本実施形態の第５変形例に係るセンサシステム１Ｅにより測定されるデータの第６例を示す図である。第５変形例に係るセンサシステム１Ｅは、ラインＬ上を搬送されるワークの通過状況に応じた立ち上がり波形又は立ち下がり波形を含む時系列データを取得する。同図では、第１センサ３０ａにより測定されたデータを実線で示し、第２センサ３０ｂにより測定されたデータを破線で示し、第２センサ３０ｂにより測定されたデータをＴABだけシフトしたデータを実線で示している。なお、本実施形態の第５変形例に係るセンサシステム１Ｅは、センサシステム１と同様の構成を有する。
【０１８０】
判定部１５は、複数のスレーブユニット２０のうち第１スレーブユニット２０ａにより取得された時系列データと、複数のスレーブユニット２０のうち第２スレーブユニット２０ｂにより取得された時系列データとのいずれか一方を所定の時間シフトして比較して、第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形と、第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形との時間差に基づいて、ワークの状態の変化を判定してもよい。判定部１５は、図１９に示すように、第１センサ３０ａにより測定されたデータの立ち上がり波形と、第２センサ３０ｂにより測定されたデータの立ち上がり波形とを揃えるように、第２センサ３０ｂにより測定されたデータをＴABだけシフトしてよい。ここで、シフト量ＴABは、予め設定されてもよいし、ラインＬにテストワークを流して決定してもよい。判定部１５は、シフト後のデータに含まれる立ち上がり波形の立ち上がりタイミングを比較して、タイミングにずれが生じていたり、立ち下がり波形の対応付けができなかったりする場合に、ワークの状態に変化が生じていると判定してよい。
【０１８１】
図２０は、本実施形態の第５変形例に係るセンサシステム１Ｅにより測定されるデータの第７例を示す図である。同図では、第２センサ３０ｂにより測定されたデータをＴABだけシフトした後のデータを示している。また、同図では、データを、第１区間Ｉｎｔ１、第２区間Ｉｎｔ２、第３区間Ｉｎｔ３、第４区間Ｉｎｔ４及び第５区間Ｉｎｔ５に分割して示している。
【０１８２】
判定部１５は、複数のスレーブユニット２０のうち第１スレーブユニット２０ａにより取得された時系列データと、複数のスレーブユニット２０のうち第２スレーブユニット２０ｂにより取得された時系列データとのいずれか一方を所定の時間シフトし、１以下の立ち上がり波形又は立ち下がり波形が含まれるように、それぞれの時系列データを複数の区間に分割してもよい。すなわち、判定部１５は、一区間に、立ち上がり波形又は立ち上がり波形が一つ含まれるか、立ち上がり波形又は立ち上がり波形が含まれないように、時系列データを分割してよい。これにより、複数の区間毎に時系列データの比較を行い、ワークの状態の変化を判定することができる。本例の場合、第１区間Ｉｎｔ１、第３区間Ｉｎｔ３及び第５区間Ｉｎｔ５には、第１センサ３０ａにより測定された立ち上がり波形及び第２センサ３０ｂにより測定された立ち上がり波形がそれぞれ１つ含まれ、第２区間Ｉｎｔ２及び第４区間Ｉｎｔ４には、第１センサ３０ａにより測定された立ち上がり波形及び第２センサ３０ｂにより測定された立ち上がり波形がいずれも含まれない。
【０１８３】
判定部１５は、第３区間Ｉｎｔ３に含まれる第１センサ３０ａにより測定されたデータの立ち上がり波形と、第２センサ３０ｂにより測定されたデータの立ち上がり波形との時間差（ＴA−ＴB）に基づいて、ワークの状態の変化を判定してよい。判定部１５は、第２センサ３０ｂにより測定されたデータをＴABだけシフトした後、第３区間Ｉｎｔ３に含まれる第１センサ３０ａにより測定されたデータの立ち上がり波形のタイミングＴAと、第３区間Ｉｎｔ３に含まれる第２センサ３０ｂにより測定されたデータの立ち上がり波形のタイミングＴBとの間の差（ＴA−ＴB）が閾値ＴＨ以上である場合に、ラインＬ上でワークの位置ずれが発生したと判定してよい。このようにして、ラインＬの搬送速度が一時的に遅くなったり、速くなったりする場合であっても、２つのセンサ３０により測定された時系列データを適切に比較して、データのずれを検出することができる。
【０１８４】
図２１は、本実施形態の第５変形例に係るマスタユニット１０により実行される第７処理のフローチャートである。はじめに、マスタユニット１０は、第２センサ３０ｂにより測定されたデータを所定時間シフトする（Ｓ７０）。なお、マスタユニット１０は、複数のセンサ３０により測定されたデータのうちいずれかを基準として、他のデータの立ち上がり波形が基準とするデータの立ち上がり波形と合うように、他のデータをシフトしてもよい。
【０１８５】
マスタユニット１０は、シフト後のデータを複数の区間に分割して、一区間内において、第１センサ３０ａのオン数＝１かつ第２センサ３０ｂのオン数＝１であるか否かを判定する（Ｓ７１）。ここで、オン数とは、センサ３０によりワークが検出されたことを表す信号が得られた回数である。一区間内において、第１センサ３０ａのオン数＝１かつ第２センサ３０ｂのオン数＝１である場合（Ｓ７１：ＹＥＳ）、マスタユニット１０は、その区間における第１センサ３０ａにより測定されたデータの立ち上がり波形と、第２センサ３０ｂにより測定されたデータの立ち上がり波形との差が閾値以上であるか（｜ＴA−ＴB｜≧ＴＨ）判定する（Ｓ７２）。差が閾値以上である場合（Ｓ７２：ＹＥＳ）、マスタユニット１０は、ワークに位置ずれ有りと判定し（Ｓ７３）、外部に警告を出力したり、表示部１６に位置ずれが生じている旨を表示したりする。一方、差が閾値以上でない場合（Ｓ７２：ＮＯ）、マスタユニット１０は、ワークに位置ずれが生じていないと判定する（Ｓ７４）。
【０１８６】
一方、第１センサ３０ａのオン数＝１かつ第２センサ３０ｂのオン数＝１でない場合（Ｓ７１：ＮＯ）、マスタユニット１０は、第１センサ３０ａのオン数≧１かつ第２センサ３０ｂのオン数＝０であるか否かを判定する（Ｓ７５）。判定部１５は、第１スレーブユニット２０ａに接続されている第１センサ３０ａが、第２スレーブユニット２０ｂに接続されている第２センサ３０ｂよりラインＬの上流に配置されている場合、第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形に対して、対応する第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形が存在しない場合に、ワークがラインＬから脱落したと判定してもよい。ここで、第１センサ３０ａのオン数≧１かつ第２センサ３０ｂのオン数＝０である場合（Ｓ７５：ＹＥＳ）、上流の第１スレーブユニット２０ａによりワークが検出されているが、下流の第２スレーブユニット２０ｂによりワークが検出されていないため、マスタユニット１０は、ワークが脱落したと判定し（Ｓ７６）、外部に警告を出力したり、表示部１６に脱落が生じている旨を表示したりする。これにより、ラインＬの上流に配置されたセンサ３０によりワークが検出されているが、ラインＬの下流に配置されたセンサ３０によりワークが検出されない場合を特定し、ワークの脱落が生じていると判定することができる。
【０１８７】
一方、第１センサ３０ａのオン数≧１かつ第２センサ３０ｂのオン数＝０でない場合（Ｓ７５：ＮＯ）、マスタユニット１０は、第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数≧１であるか否かを判定する（Ｓ７７）。判定部１５は、第１スレーブユニット２０ａに接続されている第１センサ３０ａが、第２スレーブユニット２０ｂに接続されている第２センサ３０ｂよりラインＬの上流に配置されている場合、第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形に対して、対応する第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形が存在しない場合に、ワークがラインＬに混入したと判定してもよい。ここで、第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数≧１である場合（Ｓ７７：ＹＥＳ）、上流の第１スレーブユニット２０ａによりワークが検出されていないが、下流の第２スレーブユニット２０ｂによりワークが検出されているため、マスタユニット１０は、ワークが混入したと判定し（Ｓ７８）、外部に警告を出力したり、表示部１６に混入が生じている旨を表示したりする。これにより、ラインＬの上流に配置されたセンサ３０によりワークが検出されていないが、ラインＬの下流に配置されたセンサ３０によりワークが検出されている場合を特定し、ワークの混入が生じていると判定することができる。
【０１８８】
さらに、第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数≧１でない場合（Ｓ７７：ＮＯ）、マスタユニット１０は、第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数＝０であるか否かを判定する（Ｓ７９）。第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数＝０である場合（Ｓ７９）、マスタユニット１０は、ワークが無いと判定する（Ｓ８０）。一方、第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数＝０でない場合（Ｓ７９：ＮＯ）、設定した区間の幅が広すぎるため、マスタユニット１０は、区間幅を狭める（Ｓ８１）。マスタユニット１０は、その後、処理Ｓ７１以降を繰り返してよい。
【０１８９】
図２２は、本実施形態の第５変形例に係るセンサシステム１Ｅにより測定されるデータの第８例を示す図である。同図では、第２センサ３０ｂにより測定されたデータをＴABだけシフトした後のデータを示している。また、同図では、データを、第１区間Ｉｎｔ１、第２区間Ｉｎｔ２、第３区間Ｉｎｔ３、第４区間Ｉｎｔ４及び第５区間Ｉｎｔ５に分割して示している。
【０１９０】
判定部１５は、複数の区間のうち第１区間Ｉｎｔ１に含まれる第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形と、第１区間Ｉｎｔ１に含まれる第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形との第１時間差（ＴA1−ＴB1）及び複数の区間のうち第３区間Ｉｎｔ３に含まれる第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形と、第３区間Ｉｎｔ３に含まれる第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形との第２時間差（ＴA2−ＴB2）を算出し、第１時間差と第２時間差の差｜（ＴA1−ＴB1）−（ＴA2−ＴB2）｜に基づいて、ワークの状態の変化を判定してもよい。判定部１５は、第１時間差と第２時間差の差｜（ＴA1−ＴB1）−（ＴA2−ＴB2）｜が閾値ＴＨ以上である場合に、ラインＬ上でワークの位置ずれが発生したと判定してよい。このようにして、ラインＬの搬送速度が一時的に遅くなったり、速くなったりする場合であっても、２つのセンサ３０により測定された時系列データを適切に比較して、データのずれを検出することができる。また、このような方法で判定を行うことで、ラインＬの搬送速度を徐々に変えた場合であっても、誤って異常と判定されることがなくなる。
【０１９１】
図２３は、本実施形態の第５変形例に係るマスタユニット１０により実行される第８処理のフローチャートである。はじめに、マスタユニット１０は、第２センサ３０ｂにより測定されたデータを所定時間シフトする（Ｓ９０）。なお、マスタユニット１０は、複数のセンサ３０により測定されたデータのうちいずれかを基準として、他のデータの立ち上がり波形が基準とするデータの立ち上がり波形と合うように、他のデータをシフトしてもよい。
【０１９２】
マスタユニット１０は、シフト後のデータを複数の区間に分割して、一区間内において、第１センサ３０ａのオン数＝１かつ第２センサ３０ｂのオン数＝１であるか否かを判定する（Ｓ９１）。一区間内において、第１センサ３０ａのオン数＝１かつ第２センサ３０ｂのオン数＝１である場合（Ｓ９１：ＹＥＳ）、マスタユニット１０は、その区間における第１センサ３０ａにより測定されたデータの立ち上がり波形と、第２センサ３０ｂにより測定されたデータの立ち上がり波形との第１時間差（ＴA1−ＴB1）と、その区間から１区間空けて隣接する他の区間における第１センサ３０ａにより測定されたデータの立ち上がり波形と、第２センサ３０ｂにより測定されたデータの立ち上がり波形との第２時間差（ＴA2−ＴB2）との差が閾値以上であるか（｜（ＴA1−ＴB1）−（ＴA2−ＴB2）｜≧ＴＨ）判定する（Ｓ９２）。差が閾値以上である場合（Ｓ９２：ＹＥＳ）、マスタユニット１０は、ワークに位置ずれ有りと判定し（Ｓ９３）、外部に警告を出力したり、表示部１６に位置ずれが生じている旨を表示したりする。一方、差が閾値以上でない場合（Ｓ９２：ＮＯ）、マスタユニット１０は、ワークに位置ずれが生じていないと判定する（Ｓ９４）。
【０１９３】
一方、第１センサ３０ａのオン数＝１かつ第２センサ３０ｂのオン数＝１でない場合（Ｓ９１：ＮＯ）、マスタユニット１０は、第１センサ３０ａのオン数≧１かつ第２センサ３０ｂのオン数＝０であるか否かを判定する（Ｓ９５）。判定部１５は、第１スレーブユニット２０ａに接続されている第１センサ３０ａが、第２スレーブユニット２０ｂに接続されている第２センサ３０ｂよりラインＬの上流に配置されている場合、第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形に対して、対応する第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形が存在しない場合に、ワークがラインＬから脱落したと判定してもよい。ここで、第１センサ３０ａのオン数≧１かつ第２センサ３０ｂのオン数＝０である場合（Ｓ９５：ＹＥＳ）、上流の第１スレーブユニット２０ａによりワークが検出されているが、下流の第２スレーブユニット２０ｂによりワークが検出されていないため、マスタユニット１０は、ワークが脱落したと判定し（Ｓ９６）、外部に警告を出力したり、表示部１６に脱落が生じている旨を表示したりする。これにより、ラインＬの上流に配置されたセンサ３０によりワークが検出されているが、ラインＬの下流に配置されたセンサ３０によりワークが検出されない場合を特定し、ワークの脱落が生じていると判定することができる。
【０１９４】
一方、第１センサ３０ａのオン数≧１かつ第２センサ３０ｂのオン数＝０でない場合（Ｓ９５：ＮＯ）、マスタユニット１０は、第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数≧１であるか否かを判定する（Ｓ９７）。判定部１５は、第１スレーブユニット２０ａに接続されている第１センサ３０ａが、第２スレーブユニット２０ｂに接続されている第２センサ３０ｂよりラインＬの上流に配置されている場合、第２スレーブユニット２０ｂにより取得された立ち上がり波形又は立ち下がり波形に対して、対応する第１スレーブユニット２０ａにより取得された立ち上がり波形又は立ち下がり波形が存在しない場合に、ワークがラインＬに混入したと判定してもよい。ここで、第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数≧１である場合（Ｓ９７：ＹＥＳ）、上流の第１スレーブユニット２０ａによりワークが検出されていないが、下流の第２スレーブユニット２０ｂによりワークが検出されているため、マスタユニット１０は、ワークが混入したと判定し（Ｓ９８）、外部に警告を出力したり、表示部１６に混入が生じている旨を表示したりする。これにより、ラインＬの上流に配置されたセンサ３０によりワークが検出されていないが、ラインＬの下流に配置されたセンサ３０によりワークが検出されている場合を特定し、ワークの混入が生じていると判定することができる。
【０１９５】
さらに、第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数≧１でない場合（Ｓ９７：ＮＯ）、マスタユニット１０は、第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数＝０であるか否かを判定する（Ｓ９９）。第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数＝０である場合（Ｓ９９）、マスタユニット１０は、ワークが無いと判定する（Ｓ１００）。一方、第１センサ３０ａのオン数＝０かつ第２センサ３０ｂのオン数＝０でない場合（Ｓ９９：ＮＯ）、設定した区間の幅が広すぎるため、マスタユニット１０は、区間幅を狭める（Ｓ１０１）。マスタユニット１０は、その後、処理Ｓ７１以降を繰り返してよい。
【０１９６】
図２４は、本実施形態の第５変形例に係るセンサシステム１Ｅにより測定されるデータの第９例を示す図である。同図では、第１センサ３０ａにより測定されたデータを実線で示し、第２センサ３０ｂにより測定されたデータを破線で示し、第２センサ３０ｂにより測定されたデータをＴABだけシフトしたデータを実線で示し、第３センサ３０ｃにより測定されたデータを破線で示し、第３センサ３０ｃにより測定されたデータをＴACだけシフトしたデータを実線で示している。
【０１９７】
判定部１５は、第１センサ３０ａにより測定されたデータの立ち上がり波形と、第２センサ３０ｂにより測定されたデータの立ち上がり波形とを揃え、第１センサ３０ａにより測定されたデータの立ち上がり波形と、第３センサ３０ｃにより測定されたデータの立ち上がり波形とを揃えるように、第２センサ３０ｂにより測定されたデータをＴABだけシフトし、第３センサ３０ｃにより測定されたデータをＴACだけシフトしてよい。ここで、シフト量ＴAB及びＴACは、予め設定されてもよいし、ラインＬにテストワークを流して決定してもよい。
【０１９８】
本例の場合、シフト後のデータを比較すると、１番目の立ち上がり波形を揃えると、２番目の立ち上がり波形が、第１センサ３０ａにより測定されたデータと第２センサ３０ｂにより測定されたデータとの間で揃わず、ＴA−ＴBのずれが生じている。一方、第２センサ３０ｂにより測定されたデータと第３センサ３０ｃにより測定されたデータとの間では、２番目の立ち上がり波形が揃っている。すなわち、２番目の立ち上がり波形が、第１センサ３０ａにより測定されたデータと第３センサ３０ｃにより測定されたデータとの間で揃わず、ＴA−ＴBのずれが生じている。
【０１９９】
判定部１５は、複数のスレーブユニット２０のうちラインＬに沿って順に配置されている３以上のスレーブユニット２０により取得された時系列データを所定の時間シフトして比較してワークの状態の変化を判定し、ワークの状態が変化したと判定された区間に基づいて、ラインの異常区間を判定してもよい。本例の場合、判定部１５は、第１センサ３０ａにより測定された立ち上がり波形と第２センサ３０ｂにより測定された立ち上がり波形との差｜ＴA−ＴB｜が閾値以上である場合に、ワークに位置ずれが生じていると判定し、第２センサ３０ｂにより測定された立ち上がり波形と第３センサ３０ｃにより測定された立ち上がり波形との差がほぼ０であるため、ラインＬの異常区間を第１センサ３０ａが配置された位置から第２センサ３０ｂが配置された位置までの区間であると判定してよい。
【０２００】
このようにして、ラインＬに異常が生じていることのみならず、異常が発生している区間を特定することができ、異常の原因を早期に特定するための情報を発信することができる。
【０２０１】
図２５は、本実施形態の第５変形例に係るマスタユニット１０により実行される第９処理のフローチャートである。はじめに、マスタユニット１０は、第２センサ３０ｂにより測定されたデータを所定の時間ＴABだけシフトし（Ｓ１１０）、第３センサ３０ｃにより測定されたデータを所定の時間ＴACだけシフトし（Ｓ１１１）する。
【０２０２】
その後、マスタユニット１０は、第１センサ３０ａにより測定されたデータに対する、第２センサ３０ｂにより測定されたデータの時間差からワークの状態変化を判定し（Ｓ１１２）、第２センサ３０ｂにより測定されたデータに対する、第３センサ３０ｃにより測定されたデータの時間差からワークの状態変化を判定する（Ｓ１１３）。なお、処理Ｓ１１２及びＳ１１３は、例えば図２１に示す第７処理であってよい。
【０２０３】
マスタユニット１０は、ワークの状態が変化したと判定された区間に基づいて、ラインＬの異常区間を判定する。例えば、処理Ｓ１１２によりワークの状態が変化したと判定され、処理Ｓ１１３によりワークの状態が変化していないと判定された場合、マスタユニット１０は、第１センサ３０ａが配置された位置から第２センサ３０ｂが配置された位置までの区間においてラインＬに異常が発生したと判定してよい。同様に、処理Ｓ１１２によりワークの状態が変化していないと判定され、処理Ｓ１１３によりワークの状態が変化してたと判定された場合、マスタユニット１０は、第２センサ３０ｂが配置された位置から第３センサ３０ｃが配置された位置までの区間においてラインＬに異常が発生したと判定してよい。
【０２０４】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【０２０５】
［附記１］
ライン（Ｌ）に沿って配置され、前記ライン（Ｌ）上を搬送されるワークの通過状況を示すデータを測定する複数のセンサ（３０ａ，３０ｂ，３０ｃ）と、
前記複数のセンサ（３０ａ，３０ｂ，３０ｃ）それぞれに接続され、前記複数のセンサ（３０ａ，３０ｂ，３０ｃ）により測定されるデータを取得する複数のスレーブユニット（２０ａ，２０ｂ，２０ｃ）と、
前記複数のスレーブユニット（２０ａ，２０ｂ，２０ｃ）と接続されているマスタユニット（１０）と、を備え、
前記マスタユニット（１０）は、
前記データと、前記データが測定されたタイミングに関する情報とを関連付けて記憶する記憶部（１４）と、
前記複数のスレーブユニット（２０ａ，２０ｂ，２０ｃ）のうち２以上のスレーブユニットから伝送された前記データを、タイミングに関する情報を用いて比較して、前記ワークの状態の変化を判定する判定部（１５）と、を有する、
センサシステム（１）。
【符号の説明】
【０２０６】
１…センサシステム、１Ａ…第１変形例に係るセンサシステム、１Ｂ…第２変形例に係るセンサシステム、１Ｃ…第３変形例に係るセンサシステム、１Ｄ…第４変形例に係るセンサシステム、１Ｅ…第５変形例に係るセンサシステム、１０…マスタユニット、１１…取得部、１２…タイマ、１３…補正部、１４…記憶部、１４ａ…センシングデータ、１４ｂ…測定タイミング、１４ｃ…学習済みモデル、１５…判定部、１６…表示部、１７…通信部、１８…トリガ発信部、２０ａ…第１スレーブユニット、２１ａ…タイマ、２０ｂ…第２スレーブユニット、２１ｂ…タイマ、２０ｃ…第３スレーブユニット、２１ｃ…タイマ、３０ａ…第１センサ、３０ｂ…第２センサ、３０ｃ…第３センサ、４０…ＰＬＣ、４１…タイマ、１０１，１０２…入力／出力コネクタ、１０６…接続コネクタ、１１０…ＭＰＵ、１１２…通信ＡＳＩＣ、１１６…パラレル通信回路、１１８…シリアル通信回路、３０４，３０６…接続コネクタ、４００…ＣＰＵ、４０１…発光素子、４０２，４０６，４０８…受光素子、４０３…投光制御部、４０４…増幅回路、４０５…Ａ／Ｄコンバータ、４０７，４０９…通信用発光素子、４１０，４１２…受光回路、４１１，４１３…投光回路、４１９…出力回路、４２０…シリアル通信ドライバ
【図１】
2019196271.tif 000003
【図２】
2019196271.tif 000004
【図３】
2019196271.tif 000005
【図４】
2019196271.tif 000006
【図５】
2019196271.tif 000007
【図６】
2019196271.tif 000008
【図７】
2019196271.tif 000009
【図８】
2019196271.tif 000010
【図９】
2019196271.tif 000011
【図１０】
2019196271.tif 000012
【図１１】
2019196271.tif 000013
【図１２】
2019196271.tif 000014
【図１３】
2019196271.tif 000015
【図１４】
2019196271.tif 000016
【図１５】
2019196271.tif 000017
【図１６】
2019196271.tif 000018
【図１７】
2019196271.tif 000019
【図１８】
2019196271.tif 000020
【図１９】
2019196271.tif 000021
【図２０】
2019196271.tif 000022
【図２１】
2019196271.tif 000023
【図２２】
2019196271.tif 000024
【図２３】
2019196271.tif 000025
【図２４】
2019196271.tif 000026
【図２５】
2019196271.tif 000027