(57)【要約】【課題】【解決手段】本開示は、各データエントリが、データエントリＩＤ、データエントリバージョン識別子、およびコントローラまたは他のコントローラの動作情報を表すデータペイロードを含む、複数のデータエントリを格納するように構成されたデータ記憶部（１０１）と、処理部（１０２）と、他のコントローラと通信する第１のインタフェース（１０３）と、を含む、運搬システムコントローラ（１１、１２、１３、１４）を提供する。コントローラは、データ記憶部内のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む第１のデータパケットを、他のコントローラに送信し、他のコントローラにより送信された第２のデータパケットを受信し、第２のデータパケットは、他のコントローラのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み、第２のデータパケットの受信したデータエントリバージョン識別子を、第２のデータパケットと同じデータエントリＩＤを有するデータ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較するように構成される。【選択図】図１
2021510889.tif 000002
【特許請求の範囲】
【請求項１】
各データエントリが、データエントリＩＤ、データエントリバージョン識別子、およびコントローラまたは他のコントローラの動作情報を表すデータペイロードを含む、複数のデータエントリを格納するように構成されたデータ記憶部（１０１）と、
処理部（１０２）と、
前記他のコントローラと通信する第１のインタフェース（１０３）と、を含み、
前記コントローラは、
前記データ記憶部内のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む第１のハートビートデータパケットを、前記第１のインタフェース（１０３）を介して、他のコントローラに送信し、
前記第１のインタフェース（１０３）を介して、前記他のコントローラにより送信された第２のハートビートデータパケットを受信し、前記第２のハートビートデータパケットは、前記他のコントローラのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み、
前記第２のハートビ―トデータパケットの受信したデータエントリバージョン識別子を、前記第２のハートビートデータパケットと同じデータエントリＩＤを有する前記データ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較するように構成され、
前記コントローラは、その記憶部に格納された前記データエントリが前記他のコントローラの前記対応するデータエントリよりも新しいと判断した場合、前記コントローラは、前記データ記憶部内の前記対応するデータエントリの前記データエントリＩＤ、前記データエントリバージョン識別子、および前記データペイロードの少なくとも一部を含む第１の同期データパケットを前記他のコントローラに送信するように構成され、
前記第１の同期データパケットのサイズは、前記第１のハートビートデータパケットのサイズより大きい、
運搬システムコントローラ（１１、１２、２３、２４）。
【請求項２】
前記コントローラ（１１、１２、１３、１４）は、さらに、前記他のコントローラのデータ記憶部内の第２のデータエントリの、第２のデータエントリＩＤ、第２のデータエントリバージョン識別子、および第２のデータペイロードの少なくとも一部、を含む第２の同期データパケットを受信するように構成され、
前記第２の同期データパケットのサイズは、前記第２のハートビートデータパケットのサイズよりも大きく、
前記第２の同期データパケットの前記第２のデータエントリバージョン識別子が、前記データ記憶部内の対応するデータエントリのデータエントリバージョン識別子よりも新しいと示されている場合、前記第２のデータペイロードの一部と前記第２の同期データパケットの前記第２のデータエントリバージョン識別子に応じて、前記コントローラ（１１、１２、１３、１４）は、前記データ記憶部内の前記対応するデータエントリの前記データペイロードおよび前記データエントリバージョン識別子を更新するように構成される、
請求項１に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項３】
前記コントローラ（１１、１２、１３、１４）は、そのデータペイロードの変更および／またはそのデータバージョン識別子の変更に基づいて、その記憶部に格納された前記データエントリが、前記他のコントローラの前記対応するデータエントリよりも新しいと決定するように構成される請求項１又は２に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項４】
前記コントローラ（１１、１２、１３、１４）は、前記第２のハートビートデータパケットの前記データエントリバージョン識別子が、前記データ記憶部内の前記対応するデータエントリの前記データエントリバージョン識別子よりも古いと示されることに基づいて、その記憶部に格納された前記データエントリが、前記他のコントローラの前記対応するデータエントリよりも新しいと決定するように構成される請求項１又は２に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項５】
前記コントローラ（１１、１２、１３、１４）は、前期第１の同期データパケットが前記データペイロードの一部を含み、前記一部がデータペイロードのサブセットであるように構成され、
前記第１の同期データパケットは、前記データエントリのための総データペイロードサイズの表示および／またはデータペイロード部分順序表示をさらに含む、
請求項１〜４いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項６】
前記コントローラは、データエントリＩＤまたはデータエントリＩＤの範囲など、所定の基準を満たすデータエントリに対してのみ前記第１のハートビートデータパケットを送信するように構成される、請求項１〜５いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項７】
前記コントローラは、前記第２のハートビートデータパケットの前記データエントリＩＤが、データエントリＩＤまたはデータエントリＩＤの範囲など、所定の基準を満たしている場合にのみ、前記第２のハートビートデータパケットを受信するように構成される、請求項１〜６いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項８】
外部ユニット（１５、１６）と通信する第２のインタフェース（１０４）をさらに備える、請求項１〜７いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項９】
前記コントローラ（１１、１２、１３、１４）は、
前記データ記憶部内のデータエントリのデータペイロードを更新するために、前記第２のインタフェース（１０４）を介して前記外部ユニット（１５、１６）から第１の信号を受信するように、および／または
前記外部ユニット（１５、１６）を制御するために、前記第２のインタフェース（１０４）を介して前記外部ユニット（１５、１６）に第２の信号を提供するように、
さらに構成される請求項８に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項１０】
前記第１の信号が受信されると、前記コントローラは、
前記第１の信号に従って、前記データ記憶部内の前記データエントリの前記データペイロードを更新し、
更新されたデータエントリの前記データエントリバージョン識別子を更新して、より新しいバージョンを示す、
ように構成される請求項９に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項１１】
前記データエントリバージョン識別子は、カウンタまたはタイムスタンプを含む、請求項１〜１０いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項１２】
前記動作情報は、コントローラ構成などの動作モード、および／またはセンサ状態又はエラー状態などの動作状態を含む、請求項１〜１１いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項１３】
前記コントローラは、
前記コントローラと前記他のコントローラとは異なる少なくとも１つのコントローラに、前記第１のハートビートデータパケットを送信するように構成される、
請求項１〜１２いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項１４】
前記コントローラは、
前記第１のインタフェースを介して、前記少なくとも１つのコントローラにより送信されたハートビートデータパケットを受信し、前記ハートビートデータパケットは、前記少なくとも１つのコントローラのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み、
前記ハートビ―トデータパケットの受信したデータエントリバージョン識別子を、前記ハートビートデータパケットと同じデータエントリＩＤを有する前記データ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較するように構成され、
前記コントローラは、その記憶部に格納された前記データエントリが前記少なくとも１つのコントローラの前記対応するデータエントリよりも新しいと判断した場合、前記コントローラは、前記データ記憶部内の前記対応するデータエントリの前記データエントリＩＤ、前記データエントリバージョン識別子、および前記データペイロードの少なくとも一部を含む同期データパケットを前記少なくとも１つのコントローラに送信するように構成され、
前記同期データパケットのサイズは、前記第１のハートビートデータパケットのサイズより大きい、
請求項１３に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項１５】
前記データペイロードはさらに、前記コントローラおよび前記他のコントローラとは異なる少なくとも１つのコントローラの動作情報を表す、
請求項１〜１４いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項１６】
第１および第２の運搬システムコントローラ（１１、１２、１３、１４）を含む運搬システム（１）であって、
前記第１の運搬システムコントローラは、
各第１のデータエントリが、データエントリＩＤ、データエントリバージョン識別子、および前記第１のコントローラまたは前記第２のコントローラの動作情報を表すデータペイロードを含む、複数の第１のデータエントリを格納するように構成された第１のデータ記憶部と、
第１の処理部と、
前記第２のコントローラと通信する第１のインタフェースと、を含み、
前記第２の運搬システムコントローラは、
各第２のデータエントリが、データエントリＩＤ、データエントリバージョン識別子、および前記第１のコントローラまたは前記第２のコントローラの動作情報を表すデータペイロードを含む、複数の第２のデータエントリを格納するように構成された第２のデータ記憶部と、
第２の処理部と、
前記第１のコントローラと通信する第２のインタフェースと、を含み、
前記第１のコントローラは、
前記第１のデータ記憶部内の第１のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む第１のハートビートデータパケットを、前記第１のインタフェースを介して、前記第２のコントローラに送信し、
前記第１のインタフェースを介して、前記第２のコントローラにより送信された第２のハートビートデータパケットを受信し、前記第２のデータパケットは、前記第２のコントローラの第２データエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み、
前記第２のハートビ―トデータパケットの受信したデータエントリバージョン識別子を、前記第２のデータパケットと同じデータエントリＩＤを有する前記データ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較するように構成され、
前記第１のコントローラは、その記憶部に格納された前記データエントリが前記第２のコントローラの前記対応するデータエントリよりも新しいと判断した場合、前記第１のコントローラは、
前記データ記憶部内の前記対応する第１のデータエントリの前記データエントリＩＤ、前記データエントリバージョン識別子、および前記データペイロードの少なくとも一部を含む第１の同期データパケットを前記第２のコントローラに送信するよう構成され、
前記第１の同期データパケットのサイズは、前記第１のハートビートデータパケットのサイズより大きく、
前記第２のコントローラは、
前記第２のコントローラの前記第２のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む前記第２のハートビートデータパケットを送信し、
前記第１のデータ記憶部内の前記対応する第１のデータエントリの前記データエントリＩＤ、前記データエントリバージョン識別子、および前記データペイロードの少なくとも一部を含む第１の同期データパケットを受信し、
前記第１の同期データパケットの受信したデータエントリバージョン識別子を、前記第２のデータ記憶部内の前記第２のデータエントリのデータエントリバージョン識別子と比較するよう構成され、
前記第１の同期データパケットの前記データエントリバージョン識別子が、前記第２のデータ記憶部内の前記第２のデータエントリの前記第２のデータエントリバージョン識別子よりも新しいと示される場合、および前記第１の同期データパケットが、前記第２のデータ記憶部の前記第２のデータエントリと同じデータエントリＩＤに関連付けられたデータペイロードの一部を含む場合、前記第２のコントローラは、
前記第１の同期データパケットの前記データペイロードの一部および前記データエントリバージョン識別子に従って、前記第２のデータ記憶部内の前記第２のデータエントリの前記データペイロードおよび前記データエントリバージョン識別子を更新する、ように構成される、運搬システム。
【請求項１７】
運搬システム（１）の複数の運搬システムコントローラ（１１、１２、１３、１４）間のデータ同期の方法であって、
各運搬システムコントローラ（１１、１２、２３、２４）は、
各データエントリが、データエントリＩＤ、データエントリバージョン識別子、およびコントローラまたは他のコントローラの動作情報を表すデータペイロードを含む、複数のデータエントリを格納するように構成されたデータ記憶部（１０１）と、
処理部（１０２）と、
前記他のコントローラと通信する第１のインタフェース（１０３）と、を含み、
前記方法は、各コントローラにおいて、
前記データ記憶部内のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む第１のハートビートデータパケットを、前記第１のインタフェースを介して、他のコントローラに送信し（ｓ１）、
前記第１のインタフェースを介して、前記他のコントローラにより送信された第２のハートビートデータパケットを受信し、前記第２のデータパケットは、前記他のコントローラのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み（ｓ２）、
前記第２のハートビ―トデータパケットの受信したデータエントリバージョン識別子を、前記第２のハートビートデータパケットと同じデータエントリＩＤを有する前記データ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較する（ｓ３）、ことを含み、
前記コントローラは、その記憶部に格納された前記データエントリが前記他のコントローラの前記対応するデータエントリよりも新しいと判断した場合、前記方法は、
前記データ記憶部内の前記対応するデータエントリの前記データエントリＩＤ、前記データエントリバージョン識別子、および前記データペイロードの少なくとも一部を含む第１の同期データパケットを前記他のコントローラに送信し（ｓ４）、
前記第１の同期データパケットのサイズは、前記第１のハートビートデータパケットのサイズより大きい、方法。
【請求項１８】
前記他のコントローラのデータ記憶部内の第２のデータエントリの、第２のデータエントリＩＤ、第２のデータエントリバージョン識別子、および第２のデータペイロードの少なくとも一部、を含む第２の同期データパケットを受信し、
前記第２の同期データパケットのサイズは、前記第２のデータパケットのサイズよりも大きく、
前記第２の同期データパケットの前記第２のデータエントリバージョン識別子が、前記データ記憶部（１０１）内の対応するデータエントリのデータエントリバージョン識別子よりも新しいと示されている場合、前記方法は、前記第２のデータペイロードの一部と前記第２の同期データパケットの前記第２のデータエントリバージョン識別子に応じて、前記データ記憶部（１０１）内の前記対応するデータエントリの前記データペイロードおよび前記データエントリバージョン識別子を更新する、
請求項１７に記載の方法。
【請求項１９】
前記第１のハートビートデータパケットを、前記コントローラおよび前記他のコントローラとは異なる少なくとも１つのコントローラ送信する、ことをさらに含む、
請求項１７又は１８に記載の方法。
【請求項２０】
前記第１のインタフェースを介して、前記少なくとも１つのコントローラにより送信されたハートビートデータパケットを受信し、前記ハートビートデータパケットは、前記少なくとも１つのコントローラのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み、
前記ハートビートデータパケットの受信したデータエントリバージョン識別子を、前記ハートビートデータパケットと同じデータエントリＩＤを有する前記データ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較する、ことをさらに含み、
前記コントローラは、その記憶部に格納された前記データエントリが前記少なくとも１つのコントローラの前記対応するデータエントリよりも新しいと判断した場合、前記方法は、
前記データ記憶部内の前記対応するデータエントリの前記データエントリＩＤ、前記データエントリバージョン識別子、および前記データペイロードの少なくとも一部を含む同期データパケットを前記少なくとも１つのコントローラに送信し、
前記同期データパケットのサイズは、前記第１のハートビートデータパケットのサイズより大きい、
請求項１９に記載の方法。
【請求項２１】
前記データペイロードは、前記コントローラおよび前記他のコントローラとは異なる少なくとも１つのコントローラの動作情報をさらに表す、請求項１７〜２０いずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本文書は、運搬システムコントローラ、運搬システム、および運搬システムの複数の運搬システムコントローラ間のデータ同期方法に関する。
【０００２】
運搬システムコントローラは、自律生産システムを提供する運搬システム、すなわち、人間の介入なしにおよび中央コントローラなしで、ワークピースが操作ステーション間で輸送されるシステムでの使用に適している。
【背景技術】
【０００３】
運搬システムは、ワークピースなどの材料を、通常は同じ敷地内のある場所から別の場所に、移動するシステムである。運搬システムは多種多様な材料の迅速かつ効率的な輸送で知られているため、鉱業、自動車、農業、コンピューター、電子、食品加工、マテリアルハンドリング、製薬、化学、瓶詰めおよび缶詰め、印刷仕上げおよびパッケージングなど、多くの産業で広く使用されている。
【０００４】
運搬システムは、一般的に、ワークピースに関連する特定の操作を実行する複数のワークステーション、および／または複数の運搬システムコントローラを含む。
【０００５】
ＥＰ３２１４０２４は、それぞれが機械可読および書き込み可能タグを示し、輸送中に少なくとも１つのワークピースを支持するように適合された複数のワークピース運搬機を含む、そのような運搬システムを開示する。このシステムはさらに、それぞれが前記ワークピース運搬機を輸送および循環するように適合されたエンドレス運搬装置の形態の分配ハイウェイ運搬装置、フローバランシング運搬装置および操作ユニット運搬装置を含む。システムの制御は、運搬装置間の各交差点に配置された自律スイッチ制御装置によって達成され、それぞれの交差点でのワークピース運搬機のフローを制御する。
【０００６】
このような運搬システムは、各ワークステーションと運搬システムコントローラが運搬システムの中央コントローラと通信することなく特定のタスクを自動的に実行できるという意味で自律的である。
【０００７】
しかしながら、運搬システムの動作中、および／または停止などの特定のイベントが動作中に発生した時に、検出されたイベントを、他のワークステーションおよび他の運搬システムコントローラなどのシステム内の他のユニットに通知し得、システムの他のユニットが検出されたイベントを処理するために準備できるようにすることが望ましい。例えば、あるワークステーションで停止が発生したことが他のワークステーションに通知された場合、停止したステーションにおけるワークピースのキューの形成を回避し得るように、停止したステーションに追加のワークピースを送ることを停止し得る。その結果、通常、中央コントローラと相当量の労力を要することになる、停止によるシステム内のワークステーション容量の再調整の必要性が回避され得、運搬システムの効率とロバスト性を向上させることができる。
【０００８】
さらに、ロバストな手順でコントローラを再構成できることが望ましい。
したがって、人間の介入を減らし、運搬システムの効率とロバスト性を向上させることができる運搬システムコントローラが必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本開示の目的は、改善された運搬システムコントローラ、および特に人間の介入を減らして運搬システムの効率およびロバスト性を改善することができるコントローラを提供することである。
【課題を解決するための手段】
【００１０】
本発明は、添付の独立請求項によって定義され、実施形態は、添付の従属請求項および以下の説明および図面に記載されている。
【００１１】
第１の態様によれば、各データエントリが、データエントリＩＤ、データエントリバージョン識別子、およびコントローラまたは他のコントローラの動作情報を表すデータペイロードを含む、複数のデータエントリを格納するように構成されたデータ記憶部を備えた運搬システムコントローラが提供される。コントローラは、処理部と、前記他のコントローラと通信する第１のインタフェースとをさらに備える。コントローラは、データ記憶部内のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む第１のハートビートデータパケットを、第１のインタフェースを介して、他のコントローラに送信するよう構成される。コントローラは、第１のインタフェースを介して、前記他のコントローラにより送信された第２のハートビートデータパケットを受信するよう構成され、第２のハートビートデータパケットは、前記他のコントローラのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む。コントローラは、第２のハートビ―トデータパケットの受信したデータエントリバージョン識別子を、第２のハートビートデータパケットと同じデータエントリＩＤを有するデータ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較するように構成される。コントローラは、その記憶部に格納されたデータエントリが前記他のコントローラの対応するデータエントリよりも新しいと判断した場合、コントローラは、データ記憶部内の対応するデータエントリのデータエントリＩＤ、データエントリバージョン識別子、およびデータペイロードの少なくとも一部を含む第１の同期データパケットを前記他のコントローラに送信するように構成される。第１の同期データパケットのサイズは、第１のハートビートデータパケットのサイズより大きい。
【００１２】
第１のデータパケットは、本質的に、データ記憶部内のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子からなり得る。
【００１３】
データエントリＩＤおよび１つまたは複数のデータエントリの対応するデータエントリバージョン識別子のみを含むことにより、第１のデータパケットは、少量のデータのみでデータエントリのデータエントリバージョン識別子をブロードキャストするために使用され得る。
【００１４】
あるコントローラが他のコントローラの同期を引き起こす場合、送信された第１の同期データパケットは、データペイロードの一部など、同期用の追加データを含むことにより、より大きなサイズになる場合がある。
【００１５】
送信されたデータパケットの内容および／またはサイズを制御する利点は、他のすべてのデータパケットは比較的小さいサイズである一方、同期を引き起こすコントローラのみがより大きなサイズのデータパケットを送信できるため、システムが、多数のコントローラ、すなわち、コントローラ間で同時に通信される多数のデータパケットを含んでいた場合であっても、標準化されたシリアルバス、例えば、ＣＡＮバスは、コントローラ間のデータパケットの通信を処理することができる。
【００１６】
さらに、本開示の方法および運搬システムコントローラの柔軟性は、送信および／または受信されたデータパケットの数またはサイズが大きいことによって引き起こされる問題を処理するために必要な変更なしに、多数のコントローラを含む運搬システムで使用できるように改善される。
【００１７】
複数の現在の運搬システムコントローラを含むシステムに新しいコントローラを設置する必要がある場合、または既存のコントローラを再構成する必要がある場合、コントローラは、「新しい」データエントリを有するコントローラにより引き起こされる同期によって、他のコントローラと自動的に同期され得る。従って、システム内の新しいコントローラの設置および既存のコントローラの再構成を容易にし得る。
【００１８】
本発明の１つのコントローラは、定期的に他のコントローラからハートビートデータパケットを送受信する。あるコントローラは、コントローラの新しい操作情報など、他のコントローラよりも新しいデータエントリがあることを学習すると、同期データパケットを、古いデータエントリを有する他のコントローラに更新のために送信する。従って、同期サイクル中に２つのコントローラ間で送信するために必要なデータパケットは２種類だけである。１）ハートビートデータパケット、および２）同期データパケット。
【００１９】
さらに、２つのコントローラ間の同期は、一のコントローラが他のコントローラよりも新しいデータエントリを有することに気付いたときに、一のコントローラにより自動的に初期化できる。すなわち、本発明では、２つのコントローラ間の同期を初期化するために特別な「同期の要求」は必要とされない。その結果、本発明の全てのコントローラは、同期を初期化するために同じ状態を有する。
【００２０】
また、一のコントローラが他のコントローラの同期を引き起こすために一時的な「マスタ」コントローラとして機能し、「マスタ」コントローラで同期するために他のコントローラが「スレーブ」コントローラとして機能する場合も有利である。従って、データ同期は、中央マスタまたは人間の介入なしに、システム内の複数のコントローラ間で達成することができる。
【００２１】
各コントローラは、他のコントローラの同期を引き起こす「マスタ」コントローラとして機能し得るため、フローティングマスタ運搬システムが実現される。
【００２２】
運搬システムコントローラは、前記他のコントローラのデータ記憶部内の第２のデータエントリの、第２のデータエントリＩＤ、第２のデータエントリバージョン識別子、および第２のデータペイロードの少なくとも一部、を含む第２の同期データパケットを受信するようさらに構成され得る。第２の同期データパケットのサイズは、第２のデータパケットのサイズよりも大きい。第２の同期データパケットの第２のデータエントリバージョン識別子が、データ記憶部内の対応するデータエントリのデータエントリバージョン識別子よりも新しいと示されている場合、第２のデータペイロードの一部と第２の同期データパケットの第２のデータエントリバージョン識別子に応じて、コントローラは、データ記憶部内の対応するデータエントリのデータペイロードおよびデータエントリバージョン識別子を更新するように構成される。
【００２３】
運搬システムコントローラは、そのデータペイロードの変更および／またはそのデータバージョン識別子の変更に基づいて、その記憶部に格納されたデータエントリが、前記他のコントローラの対応するデータエントリよりも新しいと決定するように構成され得る。
前記運搬システムコントローラは、第２のハートビートデータパケットのデータエントリバージョン識別子が、データ記憶部内の対応するデータエントリのデータエントリバージョン識別子よりも古いと示されることに基づいて、その記憶部に格納されたデータエントリが、前記他のコントローラの対応するデータエントリよりも新しいと決定するように構成され得る。
【００２４】
運搬システムコントローラは、第１の同期データパケットがデータペイロードの一部を含み、前記一部がそのデータエントリのデータペイロードのサブセットであるように構成され、第１の同期データパケットは、前記データエントリのための総データペイロードサイズの表示および／またはデータペイロード部分順序表示をさらに含む。
【００２５】
この場合、コントローラは、２以上の同期パケットからのデータペイロードを併合するように構成され得る。このような併合は、データペイロードサイズおよびデータペイロード部分順序表示に基づいて実行され得る。
【００２６】
さらに、この場合、コントローラは、データエントリに関して少なくとも２つ、好ましくは全ての同期パケットが受信された後にのみ、データエントリバージョン識別子を更新するように構成され得る。
【００２７】
前記運搬システムコントローラは、データエントリＩＤまたはデータエントリＩＤの範囲など、所定の基準を満たすデータエントリに対してのみ第１のハートビートデータパケットを送信するように構成され得る。
【００２８】
前記運搬システムコントローラは、第２のハートビートデータパケットの前記データエントリＩＤが、データエントリＩＤまたはデータエントリＩＤの範囲など、所定の基準を満たしている場合にのみ、前記第２のハートビートデータパケットを受信するように構成され得る。
【００２９】
運搬システムコントローラは、外部ユニットと通信する第２のインタフェースをさらに含み得る。
【００３０】
運搬システムコントローラは、データ記憶部内のデータエントリのデータペイロードを更新するために、第２のインタフェースを介して外部ユニットから第１の信号を受信するように、および／または外部ユニットを制御するために、前２のインタフェースを介して外部ユニットに第２の信号を提供するように、さらに構成され得る。
【００３１】
運搬システムコントローラは、第１の信号が受信されると、コントローラが、第１の信号に従って、データ記憶部内のデータエントリのデータペイロードを更新し、更新されたデータエントリのデータエントリバージョン識別子を更新して、より新しいバージョンを示す、ように構成され得る。
【００３２】
外部ユニットは、アクチュエータ、センサ、タグライタ、タグリーダ、カメラ、フォトアイ、押しボタン、キーボード、携帯電話、スマートデバイス、スキャナなどであり得る。
【００３３】
データエントリバージョン識別子はカウンタまたはタイムスタンプであり得る。
【００３４】
動作情報は、コントローラ構成などの動作モード、および／またはセンサ状態またはエラー状態などの動作状態を含み得る。
第１のインタフェースは、限定されないが、ＣＡＮ、イーサネット、ＰＲＯＦＩＢＵＳ、ＰｒｏｆｉＮＥＴ、Ｉ２Ｃ、ＳＰＩ、およびＲＳ−４８５で構成されるグループから選択されたプロトコルを使用するシリアルインタフェースなどの無線インタフェースまたは有線インタフェースを備えてもよい。
【００３５】
第２のインタフェースは、単一のインタフェース、または２つ以上の別個のインタフェースであり得る。
【００３６】
更新されたデータエントリのデータエントリバージョン識別子は、カウンタの値に対して演算動作を実行することにより更新し得、演算動作は、カウンタの値に、および／またはカウンタの値から所定の数を加算および／または減算することを含み、所定の数は１である。
【００３７】
動作情報は、動作モードおよび／または動作状態を含み得る。
【００３８】
コントローラは、第１のハートビートデータパケットを、コントローラおよび他のコントローラとは異なる少なくとも１つのコントローラに送信するように構成され得る。コントローラは、アクセス可能な全てのコントローラに第１のハートビートデータパケットを送信するように構成され得る。
【００３９】
コントローラは、第１のインタフェースを介して、前記少なくとも１つのコントローラにより送信されたハートビートデータパケットを受信し、前記ハートビートデータパケットは、前記少なくとも１つのコントローラのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み、前記ハートビートデータパケットの受信したデータエントリバージョン識別子を、前記ハートビートデータパケットと同じデータエントリＩＤを有するデータ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較するよう構成され得、コントローラは、その記憶部に格納されたデータエントリが前記少なくとも１つのコントローラの対応するデータエントリよりも新しいと判断した場合、コントローラは、前記少なくとも１つのコントローラに、記憶部内の対応するデータエントリの、データエントリＩＤおよびデータエントリバージョン識別子、およびデータペイロードの少なくとも一部を含む同期データパケットを送信するように構成され、同期データパケットのサイズは、第１のハートビートデータパケットのサイズよりも大きい。
【００４０】
データペイロードは、コントローラおよび前記他のコントローラとは異なる少なくとも１つのコントローラの動作情報をさらに表し得る。データペイロードは、全てのコントローラの動作情報を表し得る。
【００４１】
第２の態様によれば、第１および第２の運搬システムコントローラを含む運搬システムが提供される。
【００４２】
第１の運搬システムコントローラは、各第１のデータエントリが、データエントリＩＤ、データエントリバージョン識別子、および第１のコントローラまたは第２のコントローラの動作情報を表すデータペイロードを含む、複数の第１のデータエントリを格納するように構成された第１のデータ記憶部と、第１の処理部と、第２のコントローラと通信する第１のインタフェースと、を含む。
【００４３】
第２の運搬システムコントローラは、各第２のデータエントリが、データエントリＩＤ、データエントリバージョン識別子、および第１のコントローラまたは第２のコントローラの動作情報を表すデータペイロードを含む、複数の第２のデータエントリを格納するように構成された第２のデータ記憶部と、第２の処理部と、第１のコントローラと通信する第２のインタフェースと、を含む。
【００４４】
第１のコントローラは、第１のデータ記憶部内の第１のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む第１のハートビートデータパケットを、第１のインタフェースを介して、第２のコントローラに送信し、第１のインタフェースを介して、第２のコントローラにより送信された第２のハートビートデータパケットを受信し、第２のデータパケットは、第２のコントローラの第２データエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み、第２のハートビ―トデータパケットの受信したデータエントリバージョン識別子を、第２のデータパケットと同じデータエントリＩＤを有するデータ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較するように構成される。第１のコントローラは、その記憶部に格納されたデータエントリが第２のコントローラの対応するデータエントリよりも新しいと判断した場合、第１のコントローラは、データ記憶部内の対応する第１のデータエントリのデータエントリＩＤ、データエントリバージョン識別子、およびデータペイロードの少なくとも一部を含む第１の同期データパケットを第２のコントローラに送信するように構成され、第１の同期データパケットのサイズは、第１のハートビートデータパケットのサイズより大きい。
【００４５】
第２のコントローラは、第２のコントローラの第２のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む第２のハートビートデータパケットを送信し、第１のデータ記憶部内の対応する第１のデータエントリのデータエントリＩＤ、データエントリバージョン識別子、およびデータペイロードの少なくとも一部を含む第１の同期データパケットを受信し、第１の同期データパケットの受信したデータエントリバージョン識別子を、第２のデータ記憶部内の第２のデータエントリのデータエントリバージョン識別子と比較するよう構成され、第１の同期データパケットのデータエントリバージョン識別子が、第２のデータ記憶部内の第２のデータエントリのデータエントリバージョン識別子よりも新しいと示されている場合、および第１の同期データパケットが、第２のデータ記憶部内の第２のデータエントリと同じデータエントリＩＤに関連付けられたデータペイロードの一部を含む場合、データペイロードの一部と第１の同期データパケットのデータエントリバージョン識別子に応じて、第２のコントローラは、データ記憶部内の第２のデータエントリのデータペイロードおよびデータエントリバージョン識別子を更新するように構成される。
【００４６】
導入により定義された２つ以上の運搬システムコントローラを運搬システムで使用し得る。
【００４７】
第１の運搬システムコントローラは、外部ユニットと通信する第２のインタフェースをさらに含み得る。
【００４８】
第３の態様によれば、運搬システムの一部を形成する複数の運搬システムコントローラ間のデータ同期の方法が提供され、各運搬システムコントローラは、複数のデータエントリを格納するように構成されたデータ記憶部を含み、各データエントリはデータエントリＩＤ、データエントリバージョン識別子、およびコントローラまたは他のコントローラの動作情報を表すデータペイロードを含み、処理ユニットおよび、前記他のコントローラと通信する第１のインタフェースを含む。
【００４９】
方法は、各コントローラにおいて、データ記憶部内のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む第１のハートビートデータパケットを、第１のインタフェースを介して、他のコントローラに送信し、第１のインタフェースを介して、前記他のコントローラにより送信された第２のハートビートデータパケットを受信し、第２のデータパケットは、前記他のコントローラのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み、第２のハートビ―トデータパケットの受信したデータエントリバージョン識別子を、第２のハートビートデータパケットと同じデータエントリＩＤを有するデータ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較するように構成される。前記コントローラが、その記憶部に格納されたデータエントリが他のコントローラの対応するデータエントリよりも新しいと判断した場合、方法は、データ記憶部内の対応するデータエントリのデータエントリＩＤ、データエントリバージョン識別子、およびデータペイロードの少なくとも一部を含む第１の同期データパケットを前記他のコントローラに送信するように構成される。第１の同期データパケットのサイズは、第１のハートビートデータパケットのサイズより大きい。
【００５０】
第１および第２のハートビートデータパケットは、本質的に、それぞれのデータエントリＩＤおよびデータエントリバージョン識別子からなり得る。
【００５１】
方法は、他のコントローラのデータ記憶部内の第２のデータエントリの、第２のデータエントリＩＤ、第２のデータエントリバージョン識別子、および第２のデータペイロードの少なくとも一部、を含む第２の同期データパケットを受信し、第２の同期データパケットのサイズは、第２のデータパケットのサイズよりも大きく、第２の同期データパケットの第２のデータエントリバージョン識別子が、データ記憶部内の対応するデータエントリのデータエントリバージョン識別子よりも新しいと示されている場合、第２のデータペイロードの一部と第２の同期データパケットの第２のデータエントリバージョン識別子に応じて、方法は、データ記憶部内の対応するデータエントリのデータペイロードおよびデータエントリバージョン識別子を更新するようにさらに構成される。
【００５２】
方法は、第１のハートビートデータパケットを、コントローラおよび他のコントローラとは異なる少なくとも１つのコントローラに送信するようにさらに構成され得る。方法は、アクセス可能な全てのコントローラに第１のハートビートデータパケットを送信するようにさらに構成され得る。
【００５３】
方法は、第１のインタフェースを介して、前記少なくとも１つのコントローラにより送信されたハートビートデータパケットを受信し、前記ハートビートデータパケットは、前記少なくとも１つのコントローラのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み、前記ハートビートデータパケットの受信したデータエントリバージョン識別子を、前記ハートビートデータパケットと同じデータエントリＩＤを有するデータ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較するようさらに構成され得、コントローラは、その記憶部に格納されたデータエントリが前記少なくとも１つのコントローラの対応するデータエントリよりも新しいと判断した場合、方法は、前記少なくとも１つのコントローラに、記憶部内の対応するデータエントリの、データエントリＩＤおよびデータエントリバージョン識別子、およびデータペイロードの少なくとも一部を含む同期データパケットを送信するように構成され、同期データパケットのサイズは、第１のハートビートデータパケットのサイズよりも大きい。
【００５４】
データペイロードは、コントローラおよび前記他のコントローラとは異なる少なくとも１つのコントローラの動作情報をさらに表し得る。データペイロードは、全てのコントローラの動作情報を表し得る。
【００５５】
方法は、導入として説明したように、運搬システムコントローラおよび２つ以上のそのような運搬システムコントローラを含むシステムによって実行することができる。
【図面の簡単な説明】
【００５６】
【図１】本開示に係る運搬システムの概略図である。
【図２】本開示に係る運搬システムコントローラの概略図である。
【図３】本開示による運搬システムコントローラのデータ記憶部に記憶されたデータエントリの第１の例である。
【図４ａ−４ｃ】本開示による運搬システムコントローラのデータ記憶部に記憶されたデータエントリの第２の例である。
【図５】本開示に係る方法フローチャートである。
【発明を実施するための形態】
【００５７】
図１は、本開示に係る運搬システム１の概略図を示す。システム１は、複数の運搬システムコントローラを含み得る。例えば、図１のシステム１は、４つの運搬システムコントローラ１１、１２、１３、１４を含む。
【００５８】
システム１は、特定のタスクを実行するワークステーション、またはオペレータからの指示を受信するおよび／またはオペレータにフィードバックを提供するＨＭＩ装置などの、コントローラ（図示せず）以外の装置を含み得る。コントローラは、運搬フロー制御装置（分岐装置、停止装置）、ロードまたはアンロード装置、タグリーダおよび／またはライタ、またはワークピースに作業を実行する機械など、特定のタスクを実行するそれぞれの装置に関連付けられ得る。コントローラ１１、１２、１３、１４は、システムの１つまたは複数のワークステーションを制御および／または監視する装置であり得る。
【００５９】
図２に示すように、各コントローラ１１、１２、１３、１４は、データ記憶部１０１、処理部１０２、および第１のインタフェース１０３を備え得る。
【００６０】
データ記憶部１０１は、その中にデータまたは情報を記録するように適合された任意の種類の装置または媒体であり得る。データ記憶部に保存されているデータは、読み取り可能である。新しいデータは、データ記憶部に書き込み可能である。そのようなデータ記憶部の例は、ＣＤ‐ＲＷディスク、ハードドライブ、およびフラッシュメモリを含むがこれらに限定されない、揮発性または不揮発性メモリ装置であり得る。
【００６１】
処理部１０２は、命令によって指定された基本的な演算、論理、制御、および入出力操作を実行することにより命令を実行するように適合された任意の種類の装置であり得る。処理部は、ＣＰＵ、ＭＣＵ、ＤＳＰ、ＰＬＣ、または単一の集積回路であり得る。
【００６２】
第１のインタフェース１０３は、１つまたは複数の他のコントローラと通信するために使用し得る。コントローラは、第１のインタフェース１０３を介して、システム内の他のコントローラまたは複数の他のコントローラに第１のデータパケットを送信し得る。コントローラは、第１のインタフェース１０３を介して、他のコントローラの１つにより送信された第２のデータパケットを受信し得る。
【００６３】
第１のインタフェース１０３は、無線インタフェースを含み得る。第２のインタフェースは、有線インタフェースを含み得る。その結果、１つのコントローラと他のコントローラ間の通信は有線および／または無線であり得る。有線インタフェースは、ＣＡＮ、イーサネット、ＰＲＯＦＩＢＵＳ、Ｉ２Ｃ、ＳＰＩ、またはＲＳ−４８５から選択されたプロトコルを含むシリアルインタフェースであってもよい。
【００６４】
図２に示されるように、各コントローラ１１、１２、１３、１４は、外部ユニットと通信する第２のインタフェース１０４を備え得る。図２では、第２のインタフェース１０４は、２つの外部ユニット１５および１６と通信する。
【００６５】
第２のインタフェースは、単一のインタフェース、または２つ以上の別個のインタフェースであり得る。
【００６６】
外部ユニット１５、１６は、アクチュエータ、センサ、タグライタ、タグリーダ、カメラ、フォトアイ、押しボタン、キーボード、携帯電話、スマートデバイス、スキャナなどであり得る。
【００６７】
従って、コントローラ１１、１２、１３、１４は、第２のインタフェース１０４を介して、外部ユニット１５、１６から第１の信号を受信し得る。そのような信号を受信すると、処理部は、データ記憶部１０１内のデータエントリのデータペイロードを更新し得る。
【００６８】
例えば、ワークピース運搬機が停止制御装置に到着したことを示す信号を受信すると、プロセッサは、対応するデータエントリを更新して、ワークピース運搬機がコントローラに関連する運搬システムの部分に存在することを示し得る。
【００６９】
コントローラは、第２のインタフェース１０４を介して、タスクを実行する外部ユニットを制御する命令などの第２の信号を外部ユニットに提供し得る。
【００７０】
例えば、コントローラは、アクチュエータを係合または解放させて、コントローラに関連するコンベヤシステムの部分に到着するかまたはそこに存在するワークピース運搬機を停止または解放させるための信号を外部ユニットに提供することができる。
【００７１】
第２のインタフェース１０４は、無線インタフェースを含み得る。あるいは、第２のインタフェースは、シリアルインタフェースなどの有線インタフェースを含み得る。その結果、第２のインタフェースを介したコントローラと外部ユニットとの間の通信は、有線または無線であり得る。
【００７２】
本開示は、共通の通信ネットワークを介して情報を送信するように構成されたコントローラ１１、１２、１３、１４に特に適用可能である。コントローラ１１、１２、１３、１４は、全てのコントローラが共通の通信ネットワークを介して通信される全ての情報を受信できるように通信するように構成され得る。
【００７３】
データ記憶部１０１には、複数のデータエントリが記憶されている。図３は、運搬システムコントローラ１１、１２、１３、１４のデータ記憶部１０１に記憶されたデータエントリの例である。
【００７４】
各データエントリは、データエントリＩＤ、データエントリバージョン識別子、およびデータペイロードを含み得る。
【００７５】
図３および４ａ−４ｃに示すように、各データエントリのデータエントリＩＤはユニークであり得る。従って、ユニークなデータエントリＩＤを使用して、あるデータエントリを他のデータエントリと区別し得る。
【００７６】
データペイロードは、１つのコントローラの動作情報を表し得る。動作情報は、コントローラの動作モードおよび／または動作状態を含み得る。
【００７７】
動作モードは、動作構成情報、例えば、このまたは他の運搬システムコントローラが実行する機能の情報を含み得る。
【００７８】
動作状態は、コントローラがフル稼働しているか、誤動作しているかなど、コントローラの実際の状態の情報を含み得る。動作状態は、非限定的な例として、センサの近くのワークピース運搬機の存在など、センサによって検出された情報、ワークピースまたはワークピース運搬機のタグから読み取られたデータ、停止アクチュエータまたは分岐装置アームの位置などを示し得る。
【００７９】
データエントリバージョン識別子は、データエントリのバージョンを示し得る。従って、例えば他のコントローラの対応するデータエントリと比較するときに、データエントリがより新しいかより古いかを表すために使用され得る。
【００８０】
図３および４ａ−４ｃに示すように、データエントリバージョン識別子は、カウンタであり得る。データエントリが更新されたとき、例えば、更新されたデータペイロードとともに、カウンタの値に対して演算動作を実行することにより、カウンタを更新し得る。カウンタの値は、全てのデータエントリに対して最初は「０」に設定し得る。１つのデータエントリの更新ごとに、そのデータエントリバージョン識別子、すなわちカウンタは、所定の値だけ増加され得る。所定の値は「１」であり得る。あるいは、減算などの他の算術動作も、カウンタの値に対して実行され得る。
【００８１】
データエントリバージョン識別子はタイムスタンプであり得る。タイムスタンプは、システムの起動時に全てのデータエントリに対して最初は「０」に設定し得る。システム起動後のデータエントリの更新ごとに、データエントリバージョン識別子としてタイムスタンプが付与され得る。付与されたタイムスタンプは、システムが起動してから更新が行われるまでに計算された時間間隔であり得る。
【００８２】
リアルタイムシステムが使用される場合、システム内の各コントローラは、例えば、システムのグローバルクロック信号、外部の共通タイムサーバ、または外部のＧＰＳ信号によって同期され得、これにより必然的にシステム全体の複雑さが増加する。さらに、システムは、全てのコントローラをリアルタイムで同期させる中央コントローラをさらに備え得る。従って、データエントリバージョン識別子を使用すると、運搬システムが簡素化され得る。
【００８３】
さらに、リアルタイムシステムを使用する場合、２つのコントローラ間のわずかな同期ミスにより、データエントリの時系列にエラーが発生し、システムが希望どおりに機能しなくなる可能性がある。ただし、リアルタイムの代わりにタイムスタンプを使用することにより、システムの起動時にタイムスタンプを初期値「０」に設定するだけで、正しい時系列を保証できる。従って、データエントリバージョン識別子を使用すると、運搬システムのロバスト性が向上され得る。
【００８４】
各運搬システムコントローラは、システム内の全ての運搬システムコントローラの全てのデータエントリを含むデータセット全体を格納し得る。あるいは、各運搬システムコントローラは、データセット全体の一部のみを格納し得る。例えば、各運搬システムコントローラは、それ自体に関連するシステム内のいくつかの運搬システムコントローラのデータエントリのみを格納し得る。特に、運搬システムコントローラの特定のグループは、各運搬システムコントローラがそのグループの一部を形成する運搬システムコントローラに関する完全な情報を格納するように構成され得る。
【００８５】
図４ａ−４ｃは、運搬システムコントローラのデータ記憶部に記憶されたデータエントリの第２の例である。
【００８６】
図４ａでは、上記の動作情報の１つまたは複数の変数を表すために各データエントリをどのように工夫し得るかが示されている。この例では、最初のデータエントリであるデータエントリＩＤ１００は、１０桁の長さで、４つの異なる変数を表す場合があり得る。従って、データ構造は、データペイロードの最初の２桁が変数１を表し、次の３桁が変数２を表し、次の２桁が変数３を表し、最後の３桁が変数４を表すように定義される。このデータ構造定義は、このデータエントリを処理できる必要がある全てのコントローラに認識される。
【００８７】
同様の方法で、第２のデータエントリ１０１は１５桁の長さを有し、そして５つの異なる変数を表すように定義され得、第３のデータエントリ１０２は４桁のデータペイロードを有し、単一の変数を表し得る。
【００８８】
ハートビートデータパッケージは、
１００  １、
の形式となり、ここで「１００」はデータエントリＩＤを表し、「１」はデータエントリバージョン識別子を表す。
【００８９】
データ同期パケットは、データエントリのデータペイロード全体が１つの同期データパケットで送信され得るように定義され得る。このようなデータ同期パケットには、データエントリＩＤ、データエントリバージョンＩＤ、およびデータペイロードを含めるだけで済む。
【００９０】
従って、図４ａに基づく同期データパケットは、
１００  １  １２３４５６７８９０、
の形式を取り得る。
【００９１】
図４ｂでは、送信されているデータペイロード長が４桁に制限されている状況でのデータ同期パケット送信のためのデータ構造が示されている。つまり、データペイロード長は、特定のデータエントリに関連付けられているデータペイロードの合計よりも短くなる。従って、データエントリは３つのメッセージに分割される。このような場合、データペイロードの一部を含む２つ以上のパケットに基づいて、受信コントローラがデータエントリのデータペイロード全体を正しくつなぎ合わせることができるようにする情報を提供する必要がある。
【００９２】
図４ｂには、データペイロードサイズの表示と、データペイロードのどの部分が送信されているかを示すフラグが提供されている。従って、受信コントローラは、最大データペイロードサイズが４であるという知識に基づいて、パケットからのデータペイロードをつなぎ合わせるべき順序を決定できる。従って、データ同期パケットは、
１００  １  １５  １  １２３４、
１００  １  １５  ２  ５６７８、
１００  １  １５  ３  ９０、
という形式を取り得る。
【００９３】
他の方法として、各データエントリのペイロードサイズを全てのコントローラが認識し得、その場合、フラグのみが必要となる。
【００９４】
上記の例では、ペイロードフラグは、別個のデータフィールドまたはデータエントリ内の所定の位置を形成することに留意されたい。
【００９５】
他の方法として、ペイロードフラグは、データエントリＩＤフィールドなどの他のデータフィールドの１つに含まれ得る。例えば、上記の例による第１のデータエントリ１００の同期データパケットは、
１００１  １  １５  １２３４、
１００２  １  １５  ５６７８、
１００３  １  １５  ９０、
であり得る。
【００９６】
すなわち、データエントリＩＤを示すデータフィールドは、このデータエントリのどの部分がデータパケットに含まれるかを示すために展開され得る。
【００９７】
図４ｃを参照すると、さらに他の方法として、ペイロードフラグは、特定の範囲のデータエントリＩＤが、その範囲内のＩＤを有する各同期データパッケージがそのデータエントリに属するものとして識別できるように、一緒に１つのデータエントリを形成することを決定することにより完全に省略され得、これにより、受信コントローラは、前記範囲内のデータエントリＩＤを有する同期データパケットのデータペイロードを併合する。この場合、第１のデータエントリ１００の対応するデータパケットは、
１００  １  １５  １２３４、
１０１  １  １５  ５６７８、
１０２  １  １５  ９０、
であり得る。
【００９８】
また、この例では、データペイロードサイズを省略し得る。
【００９９】
次に、図５を参照して、システム１の動作について説明する。
コントローラ１１、１２、１３、１４は、データ記憶部内の１つまたは複数、好ましくは全てのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む第１のデータパケットを、第１のインタフェース１０３を介して、他のコントローラに送信するように構成され得る、ステップｓ１。この送信は、ハートビート信号として定期的に実行し得る。
【０１００】
コントローラ１１、１２、１３、１４は、第１のインタフェース１０３を介して、他のコントローラの１つ、一部、または全てにより送信される１つまたは複数の第２のデータパケットを受信するように構成され得、ここで、第２のデータパケットは、他のコントローラのうちの前記１つのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む、ステップｓ２。従って、各コントローラは、それ自体のハートビート信号を送信するだけでなく、他のコントローラの１つまたは全てからハートビート信号を受信し得る。
【０１０１】
コントローラ１１、１２、１３、１４は、受信した第２のデータパケットのデータエントリバージョン識別子を、第２のデータパケットと同じデータエントリＩＤを有するデータ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較するように構成され得る、ステップｓ３。通常、このような比較は、受信した第２のデータパケットごとに実行され得る。
【０１０２】
コントローラは、例えば、データペイロードを更新する第１の信号を受信したときに、データ記憶部内のデータエントリのデータペイロードを更新し、更新されたデータエントリのデータエントリバージョン識別子を更新して、より新しいバージョンを示すように構成され得る。
【０１０３】
ステップｓ３において、第２のデータパケットのデータエントリバージョン識別子が、データ記憶部内の対応するデータエントリのデータエントリバージョン識別子よりも古いと示される場合、コントローラは、データエントリＩＤ、データエントリバージョン識別子、およびデータ記憶部内の対応するデータエントリのデータペイロードの少なくとも一部、好ましくは全てを含む第１の同期データパケットを送信するように構成され得、第１の同期データパケットのサイズは第１のデータパケットのサイズよりも大きい、ステップｓ４。
【０１０４】
従って、コントローラは、コントローラのデータ記憶部内の対応するデータエントリと比較して古いデータエントリを含むデータパケットを受信すると、全てのコントローラがデータエントリに関して更新するまで、最新の対応するデータエントリを送信する。
【０１０５】
第２のデータパケットのデータエントリバージョン識別子が、データ記憶部内の対応するデータエントリのデータエントリバージョン識別子よりも新しいと示されている場合、および第２のデータパケットが、データ記憶部内の対応するデータエントリと同じデータエントリＩＤに関連付けられたデータペイロードの一部を含む場合、データペイロードの一部と第２のデータパケットのデータエントリバージョン識別子に応じて、コントローラは、データ記憶部内の対応するデータエントリのデータペイロードおよびデータエントリバージョン識別子を更新するように構成され得る、ステップｓ５。
【０１０６】
一方、第２のデータパケットのデータエントリバージョン識別子が、記憶部内の対応するデータエントリのデータエントリバージョン識別子と同じである場合、同期操作を実行する必要はない。
【０１０７】
運搬システム１の複数の運搬システムコントローラ１１、１２、１３、１４間のデータ同期は、２つのコントローラ１１、１２を含む以下の例で説明される。
【０１０８】
第１のコントローラ１１は、そのデータ記憶部に記憶されたデータエントリＡ−１１を有し得る。データエントリＡ−１１は、データエントリＩＤ１００、データエントリバージョン識別子１、および第１のコントローラ１１の動作状態の情報を含むデータペイロードを有し得る。
【０１０９】
第２のコントローラ１２は、そのデータ記憶部に記憶されたデータエントリＡ−１２を有し得る。データエントリＡ−１２は、データエントリＡ−１１のコピーであり得る。その結果、データエントリＡ−１２は、データエントリＡ−１１として、データエントリＩＤ１００、データエントリバージョン識別子１、および第１のコントローラ１１の動作状態の情報を含むデータペイロードを有し得る。
【０１１０】
第１のコントローラ１１は、第１のコントローラ１１に関連する運搬システムの一部へのワークピース運搬機の到着を示す外部センサからの信号を受信することができる。
【０１１１】
信号を受信すると、コントローラ１１の処理部１０２は、データエントリＡ−１１のデータペイロードの更新を発生させ得る。従って、更新されたデータエントリＡ’−１１では、更新されたデータペイロードは、外部センサにより検出されたワークピース運搬機の到着を示し得る。結果として、コントローラ１１は、更新されたデータエントリＡ’−１１のデータエントリバージョン識別子を更新して、より新しいバージョンを示し得る。例えば、Ａ’−１１のデータエントリバージョン識別子が１から２に更新され得る。
【０１１２】
つまり、データエントリのデータペイロードの変更は、同期データパケットの送信を発生させ得る。
【０１１３】
あるいは、受信したハートビートデータパケットが古いデータエントリバージョン識別子を有することを第１のコントローラが発見したことに応答して、データ同期パケットの送信を発生することができる。
【０１１４】
第２のコントローラ１２は、データエントリＡ−１２のデータエントリＩＤ１００およびデータエントリバージョン識別子１を含む第２のデータパケットを第１のコントローラ１１に送信し得る。
【０１１５】
第１のコントローラ１１は、第２のコントローラ１２により送信された第２のデータパケットを受信し得る。受信したデータエントリＩＤが１００であるため、第１のコントローラ１１は、受信した第２のデータパケットの受信したデータエントリバージョン識別子１を、同じデータエントリＩＤ１００を有するそのデータ記憶部内の対応するデータエントリＡ’−１１のデータエントリバージョン識別子２と比較し得る。
【０１１６】
比較後、第２のデータパケットのデータエントリバージョン識別子１は、対応するデータエントリＡ’−１１のデータエントリバージョン識別子２よりも古いと示されていると結論付けられる。すなわち、データエントリＡ−１１に対応する第２のコントローラ１２のデータエントリＡ−１２は、第１のコントローラ１１の更新されたデータエントリＡ’−１１ほど更新されていない。
【０１１７】
受信した第２のデータパケットの古いバージョンのデータエントリＡ−１２を検出すると、第１のコントローラ１１は、更新されたデータエントリＡ’−１１の、データエントリＩＤ１００、データエントリバージョン識別子２、およびワークピース運搬機の到着を示すデータペイロードの少なくとも一部を含む第１の同期データパケットを送信することができる。
【０１１８】
更新のための追加のデータペイロードを構成するので、第１の同期データパケットのサイズは、それが以前に送信したデータパケットのサイズよりも大きくてもよい。
【０１１９】
第２のコントローラ１２は、第１のコントローラ１１により送信された第１の同期データパケットを受信し得る。第１の同期データパケットは、第１のコントローラ１１の更新されたデータエントリＡ’−１１の、データエントリＩＤ１００、データエントリバージョン識別子２、およびワークピース運搬機の到着を示すデータペイロードの一部を含み得る。
【０１２０】
受信した第１の同期データパケットのデータエントリＩＤが１００であるため、第２のコントローラ１２は、第１の同期データパケットの受信したデータエントリバージョン識別子２を、同じデータエントリＩＤ１００を有するそのデータ記憶部内の対応するデータエントリＡ−１２のデータエントリバージョン識別子１と比較し得る。
【０１２１】
比較後、第１の同期データパケットのデータエントリバージョン識別子２は、対応するデータエントリＡ‐１２のデータエントリバージョン識別子１よりも新しいと示されていると結論付けられる。すなわち、第２のコントローラ１２に記憶されたデータエントリＡ−１２は、データエントリＡ−１１のコピーであり、第１のコントローラ１１に記憶された更新されたデータエントリＡ’−１１ほど更新されていない。
【０１２２】
コントローラ１１のデータエントリＡ’−１１の新しいバージョンであること、および第１の同期データパケットが、コントローラ１１のデータ記憶部内の対応するデータエントリＡ’−１１に属するデータペイロードの一部を含むことが検出されると、第２のコントローラ１２は、受信した第１の同期データパケットに従って、データエントリＡ‐１２データペイロードおよびのデータエントリバージョン識別子１を更新し得る。
【０１２３】
更新されたデータエントリＡ’−１２は、データエントリＩＤ１００、更新されたデータエントリバージョン識別子２、およびデータエントリＡ’−１１の到着としてワークピース運搬機の到着を示す更新されたデータペイロードを有し得る。すなわち、第２のコントローラ１２に格納された更新されたデータエントリＡ’−１２は、第１のコントローラ１１の更新されたデータエントリＡ’−１１のコピーとして更新される。
【０１２４】
第２のコントローラ１２は、データ入力が更新されるまで、古いデータエントリバージョンを示す第２のデータパケットを送信し続ける。データエントリが更新された後、コントローラ１２は、データエントリバージョン識別子も更新する。
【０１２５】
複数のデータ同期パケットを送信する必要がある場合、第２のコントローラは、全てのデータ同期パケットが受信され、対応するデータペイロードが完全に受信されるまで、データエントリバージョン識別子の更新を延期する場合がある。
【０１２６】
任意で、コントローラ１２は、第１の通知をコントローラ１１に送信して、第１の同期データパケットが完全に受信され、完全に格納され、および／または更新が正常に行われたことをコントローラ１１に通知し得る。第１の通知は、データエントリＩＤ１００および更新されたデータエントリＡ’−１２の更新されたデータエントリバージョン識別子２を含むデータパケットであり得る。
【０１２７】
任意で、第２のコントローラ１２は、第１の同期データパケットが完全に受信され、完全に格納され、および／または更新が正常に行われるまで、データエントリバージョン識別子１およびデータエントリＡ−１２のデータエントリＩＤ１００を含む第２の通知を第１のコントローラ１１に送信し得る。第２の通知は、第１の同期データパケットが完全に受信されていない、完全に格納されていない、および／または更新がまだ完了していないことを第１のコントローラ１１に通知するために使用され得る。
【０１２８】
システム１内の他のコントローラ１３、１４はそれぞれ、コントローラ１１のデータエントリＡ−１１のコピーとして、それぞれデータエントリＡ−１３およびＡ−１４を含み得る。他のコントローラ１３、１４もまた、コントローラ１１、１２と同じ同期を実行することができ、その結果、更新されたデータエントリＡ’−１３およびＡ’−１４の更新されたデータエントリバージョン識別子もまた、更新されたデータエントリＡ’−１２として２に更新され得る。その後、第１のコントローラ１１は、データエントリＩＤ１００を有するデータエントリのデータエントリバージョン識別子が、データエントリバージョン識別子２よりも古いものとして示される第２のコントローラ１２および他のコントローラ１３、１４からデータパケットを受信し得ない。
【０１２９】
第１のコントローラ１１は、そのデータ記憶部内のデータエントリＡ’−１１のデータエントリＩＤ１００およびデータエントリバージョン識別子２を含む第２の同期データパケットを送信し得る。第２の同期データパケットのサイズは、第１の同期データパケットのサイズよりも小さくても良い。
【０１３０】
すなわち、システム内の全てのコントローラ１２、１３、１４が更新されたデータエントリＡ’−１１に同期された後、コントローラ１１が任意のデータペイロードを含む第１の同期データパケットを送信し続ける必要はない。第１のコントローラ１１は、更新されたデータエントリＡ’−１１のデータエントリＩＤ１００およびデータエントリバージョン識別子２のみを含む、または更新されたデータエントリＡ’−１１のデータエントリＩＤ１００、データエントリバージョン識別子２、データペイロードのごく一部を含む、より小さなサイズのデータパケットの送信を開始し得る。
【０１３１】
複数の現在の運搬システムコントローラ１１、１２、１３、１４を含むシステム１に新しいコントローラを設置する必要がある場合、新しいコントローラは、古いデータエントリバージョン識別子、例えば「０」、を有するデータエントリを含むように構成し得る。従って、新しいコントローラは、「新しい」データエントリを有するコントローラにより引き起こされる同期により、他の既存のコントローラ１１、１２、１３、１４に自動的に同期され得る。従って、システム内の新しいコントローラの設置を容易にし得る。
【０１３２】
コントローラ１１を再構成する必要がある場合、コントローラは、人間の介入なしに、「新しい」データエントリを有するコントローラにより引き起こされる同期によって、他のコントローラに自動的に同期され得る。従って、既存のコントローラの再構成が容易になり得る。
【０１３３】
図４ａ〜４ｃに開示されているデータ入力構造には、コントローラがこのデータエントリを必要とするかどうかを示すために使用され得る追加のフィールドが含まれ得る。このようなフィールドに基づいて、コントローラは、不要なデータエントリに関連する全てのデータパケットを無視することができる。
【０１３４】
本明細書に開示される複数のコントローラは、ネットワークを形成するために接続され得る。そのようなネットワークは、フローコンフィギュレータ、すなわち、各コントローラの機能を決定するために使用される装置をさらに含み得る。このような決定は、ユーザインタフェースからの入力に基づいて、または受信した構成計画に基づいて行い得る。フローコンフィギュレータは、コントローラに関して上記と同じ方法で通信し得るが、そのペイロードはユーザインタフェースまたは構成プランを介して操作できる点が異なる。    
【０１３５】
従って、コントローラの構成は、フローコンフィギュレータのデータエントリの一部また全てを更新することで達成され得る。従って、フローコンフィギュレータは、他のコントローラから古いデータエントリがあることを示すメッセージの受信を開始するとすぐに、更新されたデータエントリの送信を開始する。
【０１３６】
さらに、コントローラは、特定の機能を割り当てることにより導入され得、受信および格納する必要のあるデータを認識し、そのデータエントリは０または１などの非常に低いデータエントリバージョン表示値にリセットされ得、これにより、既存のネットワークに導入され、第１のハートビートデータパケットの送信を開始すると、他のコントローラは古いデータバージョンのコントローラがあることを認識し、そして同期データパケットの送信を開始して、新しいコントローラがデータエントリを更新できるようにする。
【図１】
2021510889.tif 000003
【図２】
2021510889.tif 000004
【図３】
2021510889.tif 000005
【図４ａ】
2021510889.tif 000006
【図４ｂ】
2021510889.tif 000007
【図４ｃ】
2021510889.tif 000008
【図５】
2021510889.tif 000009
【手続補正書】
【提出日】令和2年11月25日(2020.11.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
各データエントリが、データエントリＩＤ、データエントリバージョン識別子、およびコントローラまたは他のコントローラの動作情報を表すデータペイロードを含む、複数のデータエントリを格納するように構成されたデータ記憶部（１０１）と、
処理部（１０２）と、
前記他のコントローラと通信する第１のインタフェース（１０３）と、を含み、
前記コントローラは、
前記データ記憶部内のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む第１のハートビートデータパケットを、前記第１のインタフェース（１０３）を介して、他のコントローラに送信し、
前記第１のインタフェース（１０３）を介して、前記他のコントローラにより送信された第２のハートビートデータパケットを受信し、前記第２のハートビートデータパケットは、前記他のコントローラのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み、
前記第２のハートビ―トデータパケットの受信したデータエントリバージョン識別子を、前記第２のハートビートデータパケットと同じデータエントリＩＤを有する前記データ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較するように構成され、
前記コントローラは、その記憶部に格納された前記データエントリが前記他のコントローラの前記対応するデータエントリよりも新しいと判断した場合、前記コントローラは、前記データ記憶部内の前記対応するデータエントリの前記データエントリＩＤ、前記データエントリバージョン識別子、および前記データペイロードの少なくとも一部を含む第１の同期データパケットを前記他のコントローラに送信するように構成され、
前記第１の同期データパケットのサイズは、前記第１のハートビートデータパケットのサイズより大きく、
前記コントローラ（１１、１２、１３、１４）は、さらに、前記他のコントローラのデータ記憶部内の第２のデータエントリの、第２のデータエントリＩＤ、第２のデータエントリバージョン識別子、および第２のデータペイロードの少なくとも一部、を含む第２の同期データパケットを受信するように構成され、
前記第２の同期データパケットのサイズは、前記第２のハートビートデータパケットのサイズよりも大きく、
前記第２の同期データパケットの前記第２のデータエントリバージョン識別子が、前記データ記憶部内の対応するデータエントリのデータエントリバージョン識別子よりも新しいと示されている場合、前記第２のデータペイロードの一部と前記第２の同期データパケットの前記第２のデータエントリバージョン識別子に応じて、前記コントローラ（１１、１２、１３、１４）は、前記データ記憶部内の前記対応するデータエントリの前記データペイロードおよび前記データエントリバージョン識別子を更新するように構成され、
前記コントローラ（１１、１２、１３、１４）は、外部ユニット（１５、１６）と通信する第２のインタフェース（１０４）をさらに備え、
前記コントローラ（１１、１２、１３、１４）は、
前記データ記憶部内のデータエントリのデータペイロードを更新するために、前記第２のインタフェース（１０４）を介して前記外部ユニット（１５、１６）から第１の信号を受信し、
前記第１の信号に従って、前記データ記憶部内の前記データエントリの前記データペイロードを更新し、
更新されたデータエントリの前記データエントリバージョン識別子を更新して、より新しいバージョンを示す、
ようにさらに構成されることを特徴とする運搬システムコントローラ（１１、１２、２３、２４）。
【請求項２】
前記コントローラ（１１、１２、１３、１４）は、そのデータペイロードの変更および／またはそのデータバージョン識別子の変更に基づいて、その記憶部に格納された前記データエントリが、前記他のコントローラの前記対応するデータエントリよりも新しいと決定するように構成される請求項１に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項３】
前記コントローラ（１１、１２、１３、１４）は、前記第２のハートビートデータパケットの前記データエントリバージョン識別子が、前記データ記憶部内の前記対応するデータエントリの前記データエントリバージョン識別子よりも古いと示されることに基づいて、その記憶部に格納された前記データエントリが、前記他のコントローラの前記対応するデータエントリよりも新しいと決定するように構成される請求項１に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項４】
前記コントローラ（１１、１２、１３、１４）は、前期第１の同期データパケットが前記データペイロードの一部を含み、前記一部がデータペイロードのサブセットであるように構成され、
前記第１の同期データパケットは、前記データエントリのための総データペイロードサイズの表示および／またはデータペイロード部分順序表示をさらに含む、
請求項１〜３いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項５】
前記コントローラは、データエントリＩＤまたはデータエントリＩＤの範囲など、所定の基準を満たすデータエントリに対してのみ前記第１のハートビートデータパケットを送信するように構成される、請求項１〜４いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項６】
前記コントローラは、前記第２のハートビートデータパケットの前記データエントリＩＤが、データエントリＩＤまたはデータエントリＩＤの範囲など、所定の基準を満たしている場合にのみ、前記第２のハートビートデータパケットを受信するように構成される、請求項１〜５いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項７】
前記コントローラ（１１、１２、１３、１４）は、
前記外部ユニット（１５、１６）を制御するために、前記第２のインタフェース（１０４）を介して前記外部ユニット（１５、１６）に第２の信号を提供するように、
さらに構成される請求項１〜６いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項８】
前記データエントリバージョン識別子は、カウンタまたはタイムスタンプを含む、請求項１〜７いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項９】
前記動作情報は、コントローラ構成などの動作モード、および／またはセンサ状態又はエラー状態などの動作状態を含む、請求項１〜８いずれか一項に記載の運搬システムコントローラ（１１、１２、１３、１４）。
【請求項１０】
運搬システム（１）の複数の運搬システムコントローラ（１１、１２、１３、１４）間のデータ同期の方法であって、
各運搬システムコントローラ（１１、１２、２３、２４）は、
各データエントリが、データエントリＩＤ、データエントリバージョン識別子、およびコントローラまたは他のコントローラの動作情報を表すデータペイロードを含む、複数のデータエントリを格納するように構成されたデータ記憶部（１０１）と、
処理部（１０２）と、
前記他のコントローラと通信する第１のインタフェース（１０３）と、を含み、
前記方法は、各コントローラにおいて、
前記データ記憶部内のデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含む第１のハートビートデータパケットを、前記第１のインタフェースを介して、他のコントローラに送信し（ｓ１）、
前記第１のインタフェースを介して、前記他のコントローラにより送信された第２のハートビートデータパケットを受信し、前記第２のデータパケットは、前記他のコントローラのデータエントリのデータエントリＩＤおよびデータエントリバージョン識別子を含み（ｓ２）、
前記第２のハートビ―トデータパケットの受信したデータエントリバージョン識別子を、前記第２のハートビートデータパケットと同じデータエントリＩＤを有する前記データ記憶部内の対応するデータエントリのデータエントリバージョン識別子と比較する（ｓ３）、ことを含み、
前記コントローラは、その記憶部に格納された前記データエントリが前記他のコントローラの前記対応するデータエントリよりも新しいと判断した場合、前記方法は、
前記データ記憶部内の前記対応するデータエントリの前記データエントリＩＤ、前記データエントリバージョン識別子、および前記データペイロードの少なくとも一部を含む第１の同期データパケットを前記他のコントローラに送信し（ｓ４）、
前記第１の同期データパケットのサイズは、前記第１のハートビートデータパケットのサイズより大きく、
前記他のコントローラのデータ記憶部内の第２のデータエントリの、第２のデータエントリＩＤ、第２のデータエントリバージョン識別子、および第２のデータペイロードの少なくとも一部、を含む第２の同期データパケットを受信し、
前記第２の同期データパケットのサイズは、前記第２のデータパケットのサイズよりも大きく、
前記第２の同期データパケットの前記第２のデータエントリバージョン識別子が、前記データ記憶部（１０１）内の対応するデータエントリのデータエントリバージョン識別子よりも新しいと示されている場合、前記方法は、前記第２のデータペイロードの一部と前記第２の同期データパケットの前記第２のデータエントリバージョン識別子に応じて、前記データ記憶部（１０１）内の前記対応するデータエントリの前記データペイロードおよび前記データエントリバージョン識別子を更新する、
各コントローラ（１１、１２、１３、１４）は、外部ユニット（１５、１６）と通信する第２のインタフェース（１０４）をさらに備え、
前記方法は、各コントローラにおいて、
前記データ記憶部内のデータエントリのデータペイロードを更新するために、前記第２のインタフェース（１０４）を介して前記外部ユニット（１５、１６）から第１の信号を受信し、
前記第１の信号に従って、前記データ記憶部内の前記データエントリの前記データペイロードを更新し、
更新されたデータエントリの前記データエントリバージョン識別子を更新して、より新しいバージョンを示す、
ことを含むことを特徴とする方法。
【国際調査報告】
2021510889.tif 000010
2021510889.tif 000011