(57)【要約】  自動化システムから自動化データを取得するシステムおよび方法は、コントローラクロックによって規定されるタイミングデータを含む自動化データを自動化コントローラによってポピュレートされる多重アレイを使用する。前記多重アレイは、メンバの状態を感知するセンサに対応する少なくとも１つのメンバと、複数のメンバにより規定されるデータ要素とを備え、メンバ状態の開始時間および終了時間に対応することができる。自動化データは、コントローラメモリから自動化データを効率的に収集するためのコントローラ多重アレイと対応する第１のデータテーブルと、各データ要素を、その規定するメンバと関連づけ、自動化システムのメンバ、デバイス、または動作のサイクル時間データを解析するために使用することができる履歴データベース内の関連づけられたデータを格納するための第２のデータテーブルとを備えるコントローラと通信するコンピューティングデバイスによって、コントローラ多重アレイから取得される。
2015505086.tif 000002
【特許請求の範囲】
【請求項１】
自動化コントローラとして構成されたコントローラから自動化データを取得する方法であって、前記方法は、
前記コントローラを使用してスキャンサイクルを実行するステップと、
前記スキャンサイクル中に、前記コントローラと通信する少なくとも１つのセンサから、入力データを収集するステップと、を含み、
前記少なくとも１つのセンサは、少なくとも１つのメンバに対応し、
前記少なくとも１つのメンバは、複数の要素によって規定され、
前記複数の要素の各それぞれの要素は、前記入力データによって決定される各要素値を有し、
前記方法はさらに、
前記それぞれの要素と、前記スキャンサイクル中に収集した前記入力データとを使用して、前記スキャンサイクルについての各それぞれの要素値を決定するステップと、
前記コントローラを使用して多重アレイを構成するステップと、を含み、
前記多重アレイは、前記少なくとも１つのメンバと、前記少なくとも１つのメンバによって規定される前記複数の要素とを備え、
前記多重アレイを構成するステップは、
前記コントローラに前記多重アレイを格納するために多重アレイメモリ位置を割り当てることを含み、
前記多重アレイメモリ位置は、前記少なくとも１つのメンバによって規定される前記複数の要素の各それぞれの要素に対するそれぞれのコントローラメモリ位置を含み、
前記方法はさらに、
前記多重アレイ内の前記それぞれのコントローラメモリ位置に、前記スキャンサイクルについての各それぞれの要素の前記要素値を格納するステップを含む、方法。
【請求項２】
前記コントローラは、コントローラクロックを備え、
前記複数の要素のうちの少なくとも１つの前記要素値は、前記要素および前記コントローラクロックによって規定されるタイミングデータである、請求項１に記載の方法。
【請求項３】
前記コントローラは、コントローラクロックを備え、
前記スキャンサイクルは、一連の動作によって規定され、
前記少なくとも１つのメンバは、前記一連の動作のうちの１つの動作に対応し、
前記少なくとも１つのメンバによって規定される前記複数の要素が、第１の要素および第２の要素を備え、
第１の要素は、前記動作の開始によって規定され、
第２の要素は，前記動作の終了によって規定され、
第１の要素の前記要素値は、前記コントローラクロックによって決定される動作の前記開始時間によって規定され、
第２の要素の前記要素値は、前記コントローラクロックによって決定される前記動作の前記終了時間によって規定される、請求項１に記載の方法。
【請求項４】
前記方法はさらに、現在のスキャンサイクルと以前のスキャンサイクルとを含む複数のスキャンサイクルをもたらすために、前記コントローラを使用して、前記スキャンサイクルを複数回実行するステップを含み、
前記以前のスキャンサイクルは、前記現在のスキャンサイクルに先行し、
前記方法はさらに、
前記それぞれのスキャンサイクル中に収集された前記入力データを使用して、前記複数のスキャンサイクルの各それぞれのスキャンサイクルについての前記それぞれの要素値を決定するステップと、
前記複数の要素の各それぞれの要素について、前記現在のスキャンサイクルから決定した前記それぞれの要素の現在の要素値と、前記以前のスキャンサイクルから決定した前記それぞれの要素の以前の要素値とを比較して、前記現在の要素値が、前記以前の要素値から変更されたか否かを判断するステップと、
前記現在の要素値が前記以前の要素値から変更された場合に、前記それぞれの要素に対する前記それぞれのコントローラメモリ位置に、前記スキャンサイクルについての各それぞれの要素の前記現在の要素値を格納するステップと、
を含む、請求項１に記載の方法。
【請求項５】
前記少なくとも１つのセンサは、複数のセンサを備え、
前記スキャンサイクル中に入力データを収集するステップは、前記複数のセンサから入力データを収集することを含み、
前記少なくとも１つのメンバが、前記複数のセンサに対応し、
前記スキャンサイクルについての前記少なくとも１つの値に対する各それぞれの要素値を決定するステップが、前記スキャンサイクル中に前記複数のセンサから収集した入力データを使用することを含む、請求項１に記載の方法。
【請求項６】
前記少なくとも１つのセンサが、第１の入力と、第１の入力とは異なる少なくとも第２の入力を含む入力データをもたらすよう構成されたセンサであり、
前記少なくとも１つのメンバは、
前記センサに対応するとともに、第１の入力によって決定したそれぞれの要素値をそれぞれが有する第１の複数の要素によって規定される第１のメンバと、
前記センサに対応するとともに、前記少なくとも第２の入力によって決定したそれぞれの要素をそれぞれが有する少なくとも第２の複数の要素によって規定される少なくとも第２のメンバとを含み、
前記多重アレイが、第１のメンバおよび前記少なくとも第２のメンバ、ならびに第１の複数の要素および前記少なくとも第２の複数の要素を備え、
前記多重アレイメモリ位置が、第１の複数の要素および前記少なくとも第２の複数の要素の各それぞれの要素に対するそれぞれのコントローラメモリ位置を含み、
前記方法はさらに、
前記多重アレイ内の第１の複数の要素および前記少なくとも第２の複数の要素の各それぞれの要素の前記それぞれのコントローラメモリ位置に、前記スキャンサイクルについての第１の複数の要素および前記少なくとも第２の複数の要素の各それぞれの要素の前記それぞれの要素値を格納するステップを含む、請求項１に記載の方法。
【請求項７】
前記センサが、アナログセンサとして構成されている、請求項６に記載の方法。
【請求項８】
前記少なくとも１つのメンバは、前記少なくとも１つのセンサと通信するデバイスによって規定され、
前記複数の要素のそれぞれが、前記デバイスの状態によって規定される、請求項１に記載の方法。
【請求項９】
前記少なくとも１つのメンバは、デバイスのグループによって規定され、
前記少なくとも１つのセンサは、前記デバイスのグループと通信し、
第１の要素が前記デバイスのグループの第１の状態に対応し、第２の要素が前記デバイスのグループの第２の状態に対応する、請求項１に記載の方法。
【請求項１０】
前記コントローラを使用して、複数のスキャンサイクルを実行するステップをさらに含み、
前記複数のスキャンサイクルを実行するステップが、スキャンサイクルの繰り返しセットを実行することを含み、
前記少なくとも１つのメンバが、メンバのセットを含み、
前記多重アレイが、前記メンバのセットを含み、
前記メンバのセットの各それぞれのメンバが、前記スキャンサイクルの繰り返しセットの各スキャンサイクルと関連づけられ、
前記メンバのセットの前記各それぞれのメンバについての各それぞれの要素値を決定するステップが、前記スキャンサイクルの繰り返しセットの前記それぞれのスキャンサイクル中に収集される入力データを使用することを含む、請求項１に記載の方法。
【請求項１１】
前記方法はさらに、
前記コントローラを使用して複数のスキャンサイクルを実行するステップを含み、
前記多重アレイは、第１のデータマトリクスおよび少なくとも第２のデータマトリクスを備え、
前記少なくとも１つのメンバは、少なくとも１つの第１のマトリクスメンバおよび少なくとも１つの第２のマトリクスメンバを備え、
第１のデータマトリクスは、前記少なくとも１つの第１のマトリクスメンバと、前記少なくとも１つの第１のマトリクスメンバによって規定される前記複数の要素とを備え、
第２のデータマトリクスは、前記少なくとも１つの第２のマトリクスメンバと、前記少なくとも１つの第２のマトリクスメンバによって規定される前記複数の要素とを備え、
前記多重アレイメモリ位置は、前記少なくとも１つの第１のマトリクスメンバと、前記少なくとも１つの第２のマトリクスメンバとによって規定される前記複数の要素の各それぞれの要素に対するそれぞれのコントローラメモリ位置を含むよう構成され、
前記方法はさらに、
第１のデータマトリクスおよび前記少なくとも第２のデータマトリクスについての収集周波数を規定するステップと、
前記収集周波数に従って、第１のデータマトリクスおよび前記少なくとも第２のデータマトリクス内の前記それぞれのコントローラメモリ位置に、前記複数のスキャンサイクルについての各それぞれの要素の前記要素値を格納するステップと、
を含む、請求項１に記載の方法。
【請求項１２】
前記少なくとも１つの第１のマトリクスメンバおよび前記少なくとも１つの第２のマトリクスメンバは、同様に構成されている、請求項１１に記載の方法。
【請求項１３】
前記スキャンサイクルは、スキャンレートによって特徴づけられ、
前記収集周波数は、前記スキャンレートに対して規定される、請求項１１に記載の方法。
【請求項１４】
前記方法はさらに、
前記コントローラと通信するコンピューティングデバイスを提供するステップと、
前記コンピューティングデバイスを使用して第１のデータテーブルを構成するステップと、を含み、
第１のデータテーブルを構成するステップは、前記コンピューティングデバイス内に各それぞれの要素に対する前記それぞれのコントローラメモリ位置を格納することを含み、各それぞれの要素に対する前記コントローラメモリ位置のそれぞれは、第１のデータテーブルにおける対応する位置と関連していて、複数の対応する位置をもたらし、
前記方法はさらに、
前記コンピューティングデバイスを使用してデータ取得サイクルを実行するステップと、
前記データ取得サイクル中に、前記コンピューティングデバイスを使用して、前記コントローラの前記多重アレイメモリ位置を読み取るステップと、
第１のデータテーブルの前記対応する位置に、前記コントローラの前記多重アレイメモリ位置から読み取られる各それぞれの要素値を書き込むステップと、
を含む、請求項１に記載の方法。
【請求項１５】
前記スキャンサイクルは、スキャンレートによって特徴づけられ、
前記取得サイクルは、前記スキャンレートよりも長い期間の取得レートによって特徴づけられる、請求項１４に記載の方法。
【請求項１６】
前記コントローラの前記多重アレイメモリ位置を読み取るステップは、前記多重アレイメモリ位置の各それぞれのコントローラメモリ位置を読み取ることを含む、請求項１４に記載の方法。
【請求項１７】
前記方法はさらに、
現在のデータ取得サイクルと以前のデータ取得サイクルとを含む複数のデータ取得サイクルをもたらすように、前記コンピューティングデバイスを使用して、前記データ取得サイクルを複数回実行するステップを含み、
前記以前のデータ取得サイクルは、前記現在のデータ取得サイクルに先行し、
前記方法はさらに、
前記多重アレイ内の各それぞれのコントローラメモリ位置について、前記現在のデータ取得サイクル中に各それぞれのコントローラメモリ位置から読み取られる現在の要素値と、第１のデータテーブル内のそれぞれの対応する位置に格納されている以前の要素値とを比較して、前記現在の要素値が、前期以前の要素値から変更されたか否かを判断するステップと、
前記現在の要素値が前記以前の要素値から変更された場合に、第１のデータテーブルの前記それぞれの対応する位置に、前記それぞれのコントローラメモリ位置から読み取られる各それぞれの要素の前記現在の要素値を格納するステップと、
を含む、請求項１６に記載の方法。
【請求項１８】
前記方法はさらに、
前記コンピューティングデバイスを使用して第２のデータテーブルを構成するステップを含み、
第２のデータテーブルが、第１のデータテーブルの複数の対応する位置に書き込まれた前記複数の要素の前記それぞれの要素値を第２のテーブルに変換することで、前記少なくとも１つのメンバが、前記少なくとも１つのメンバによって規定される前記複数の要素の前記それぞれの要素値と関連づけられるように構成され、
前記コンピューティングデバイスを使用して前記データ取得サイクルを実行するステップはさらに、第１のデータテーブルに書き込まれる前記要素値を、第２のデータテーブルに変換するステ含みを備え、
前記方法はさらに、
前記コンピューティングデバイスを使用して、データベースに第２のデータテーブルを格納するステップを備え、
前記少なくとも１つのメンバによって規定される前記複数の要素の前記それぞれの要素値が、前記データベース内の前記少なくとも１つのメンバと関連づけられる、請求項１４に記載の方法。
【請求項１９】
前記方法はさらに、
複数のデータ取得サイクルをもたらすために、前記コンピューティングデバイスを使用して、前記データ取得サイクルを複数回実行するステップを含み、
前記コンピューティングデバイスを使用してデータベースに第２のデータテーブルを格納するステップが、前記複数のデータ取得サイクルから前記複数の要素の前記それぞれの要素値を格納することを含むことで、前記複数のデータ取得サイクルの１つからの前記少なくとも１つのメンバと関連している前記それぞれの要素値を、前記複数のデータ取得サイクルのもう１つからの前記少なくとも１つのメンバと関連している前記それぞれの要素値と比較することができる、請求項１８に記載の方法。
【請求項２０】
前記コントローラは、コントローラクロックを備え、
前記少なくとも１つのメンバによって規定される前記複数の要素は、第１の要素および第２の要素を備え、
第１の要素は、前記メンバの開始状態によって規定され、
第２の要素は、前記メンバの終了状態によって規定され、
第１の要素の要素値は、前記入力データによって決定され、前記コントローラクロックによって測定される開始条件の前記時間によって規定される開始時間であり、
第２の要素の要素値は、前記入力データによって決定され、前記コントローラクロックによって測定される終了条件の前記時間によって規定される終了時間であり、
前記メンバについてのサイクル時間は、前記開始時間および前記終了時間によって規定され、
前記方法はさらに、
前記コンピューティングデバイスを使用して、前記少なくとも１つのメンバについての第１のサイクル時間を決定するステップを含み、
第１のサイクル時間が、前記複数のデータ取得サイクルの１つから、前記少なくとも１つのメンバと関連している前記それぞれの第１および第２の要素値によって規定される、請求項１９に記載の方法。
【請求項２１】
前記方法はさらに、
前記コンピューティングデバイスを使用して、前記少なくとも１つのメンバについての第２のサイクル時間を決定するステップを含み、
第２のサイクル時間が、前記複数のデータ取得サイクルのもう１つから前記少なくとも１つのメンバと関連している前記それぞれの第１および第２の要素値によって規定され、
前記方法はさらに、
前記コンピューティングデバイスを使用して、第１のサイクル時間と、第２のサイクル時間とを比較するステップを含む、請求項２０に記載の方法。
【請求項２２】
自動化コントローラとして構成されるコントローラから自動化データを取得するシステムであって、前記システムは、
メモリを含むコントローラを備え、前記コントローラは、
前記スキャンサイクルによって規定されるスキャン周波数でスキャンサイクルを実行し、
前記スキャンサイクル中に、前記コントローラと通信する少なくとも１つのセンサから入力データを収集し、
前記少なくとも１つのセンサに対応する少なくとも１つのメンバによって規定される複数の要素のそれぞれに対する要素値を、前記スキャンサイクル中に収集される前記入力データを使用して決定し、
前記少なくとも１つのメンバと、前記複数の要素とを含む多重アレイを構成し、
前記多重アレイを格納するために前記コントローラメモリ内に多重アレイメモリ位置を割り当てるように構成され、
前記多重アレイメモリ位置が、前記複数の要素の各それぞれの要素に対するそれぞれのコントローラメモリ位置を規定し、
前記コントローラはさらに、
前記それぞれのコントローラメモリ位置に、前記複数の要素の各それぞれの要素に対する前記要素値を格納するように構成され、
前記システムはさらに、
メモリを備えるコンピューティングデバイスを備え、前記コンピューティングデバイスは、
前記コントローラと通信し、
前記コンピューティングデバイスメモリに、各それぞれの要素に対する前記それぞれのコントローラメモリ位置を格納し、
各それぞれの要素に対する前記コントローラメモリ位置のそれぞれが、第１のデータテーブル内の対応する位置と関連していて、複数の対応する位置をもたらすように、第１のデータテーブルを構成し、
前記スキャンサイクルによって規定されるデータ取得周波数で、データ取得サイクルを実行し、
前記データ取得サイクルが、
前記コントローラの前記多重アレイメモリ位置を読み取り、
第１のデータテーブルの前記対応する位置に、前記コントローラの前記多重アレイメモリ位置から読み取られる各それぞれの要素値を書き込むように構成されている、システム。
【請求項２３】
前記コントローラは、コントローラクロックを備え、
前記少なくとも１つのメンバによって規定される前記複数の要素の少なくとも１つの要素の前記要素値が、時間値であり、
前記時間値が、前記コントローラクロックによって規定される、請求項２２に記載のシステム。
【請求項２４】
前記コントローラが、
現在のスキャンサイクルと以前のスキャンサイクルを含む複数のスキャンサイクルをもたらすために、前記スキャン周波数で前記スキャンサイクルを実行するように構成され、
前記以前のスキャンサイクルは、前記現在のスキャンサイクルに先行し、
前記コントローラはさらに、
前記それぞれのスキャンサイクル中に収集された前記入力データを使用して、前記複数のスキャンサイクルの各それぞれのスキャンサイクルについて前記それぞれの要素値を決定し、
前記複数の要素の各それぞれの要素について、前記現在のスキャンサイクルから決定した前記それぞれの要素の現在の要素値と、前記以前のスキャンサイクルから決定した前記それぞれの要素の以前の要素値とを比較して、前記現在の要素値が、前記以前の要素値から変更されたか否かを判断し、
前記現在の要素値が前記以前の要素値から変更された場合に、前記それぞれの要素に対する前記それぞれのコントローラメモリ位置に、前記スキャンサイクルについての各それぞれの要素の前記現在の要素値を格納するように構成され、
前記コンピューティングデバイスは、
現在のデータ取得サイクルと、以前のデータ取得サイクルとを含む複数のデータ取得サイクルをもたらすように、前記データ取得周波数で前記データ取得サイクルを実行するよう構成され、
前記以前のデータ取得サイクルは、現在のデータ取得サイクルに先行し、
前記コンピューティングデバイスはさらに、
前記多重アレイ内の各それぞれのコントローラメモリ位置について、前記現在のデータ取得サイクル中に各それぞれのコントローラメモリ位置から読み取られる現在の要素値と、第１のデータテーブル内のそれぞれの対応する位置に格納されている以前の要素値とを比較して、前記現在の要素値が、前期以前の要素値から変更されたか否かを判断し、
前記現在の要素値が前記以前の要素値から変更された場合に、第１のデータテーブルの前記それぞれの対応する位置に、前記それぞれのコントローラメモリ位置から読み取られる各それぞれの要素の前記現在の要素値を格納するように構成されている、請求項２２に記載のシステム。
【請求項２５】
前記コンピューティングデバイスは、前記コンピューティングデバイスによって構成された第２のデータテーブルを備え、
前記コンピューティングデバイスは、
前記少なくとも１つのメンバが、前記少なくとも１つのメンバによって規定される前記複数の要素の前記それぞれの要素値と関連づけられるように、第１のデータテーブルの前記複数の対応する位置を、第２のテーブルに変換するように構成され、
前記データ取得サイクルが、第１のデータテーブルに書き込まれる前記要素値を、第２のテーブルに変換するように構成され、
前記コンピューティングデバイスがさらに、
前記少なくとも１つのメンバによって規定される前記複数の要素の前記それぞれの要素値が、前記データベース内の前記少なくとも１つのメンバと関連づけられるように、前記コンピューティングデバイスと通信するデータベースに第２のデータテーブルを格納するように構成されている、請求項２２に記載のシステム。
【請求項２６】
前記少なくとも１つのメンバが、メンバのセットを含み、
前記多重アレイが、前記メンバのセットを含み、
スキャン周波数で前記スキャンサイクルを実行するステップが、スキャンサイクルの繰り返しセットを実行することを含み、
前記メンバのセットの各それぞれのメンバが、前記スキャンサイクルの繰り返しセットの各スキャンサイクルと関連していて、
前記コントローラが、前記スキャンサイクルの繰り返しセットの前記それぞれのスキャンサイクル中に収集される入力データを使用して、前記メンバのセットの前記各それぞれのメンバについての各それぞれの要素値を決定するように構成されている、請求項２２に記載のシステム。
【請求項２７】
前記多重アレイが、第１のデータマトリクスおよび少なくとも第２のデータマトリクスを備え、
前記少なくとも１つのメンバが、少なくとも１つの第１のマトリクスメンバおよび少なくとも１つの第２のマトリクスメンバを備え、
第１のデータマトリクスは、前記少なくとも１つの第１のマトリクスメンバと、前記少なくとも１つの第１のマトリクスメンバによって規定される前記複数の要素とを備え、
第２のデータマトリクスは、前記少なくとも１つの第２のマトリクスメンバと、前記少なくとも１つの第２のマトリクスメンバによって規定される前記複数の要素とを備え、
前記多重アレイメモリ位置が、前記少なくとも１つの第１のマトリクスメンバと、前記少なくとも１つの第２のマトリクスメンバとによって規定される前記複数の要素の各それぞれの要素に対するそれぞれのコントローラメモリ位置を含むように構成され、
前記コントローラが、第１のデータマトリクスと第２のデータマトリクスとのそれぞれに対して規定される収集周波数に従って、第１のデータマトリクスおよび前記少なくとも第２のデータマトリクス内の前記それぞれのコントローラメモリ位置に、各それぞれの要素の前記要素値を格納するように構成されている、請求項２２に記載のシステム。
【請求項２８】
自動化コントローラとして構成されるコントローラから自動化データを取得する方法であって、前記方法は、
前記コントローラを使用して、スキャン周波数でスキャンサイクルを実行するステップを含み、
前記コントローラは、コントローラクロックを備え、
前記スキャンサイクルは、少なくとも１つの動作を含む一連の動作によって規定され、
前記方法はさらに、
前記コントローラと通信する複数のセンサから前記スキャンサイクル中に入力データを収集するステップを含み、
前記少なくとも１つの動作が、前記複数のセンサの少なくとも１つのセンサに対応し、
前記方法はさらに、
少なくとも１つのメンバ、ならびに前記少なくとも１つのメンバによって規定される第１の要素および第２の要素を含む多重アレイを構成するステップを含み、
前記少なくとも１つのメンバが、前記少なくとも１つの動作に対応し、
第１の要素は、前記少なくとも１つの動作の開始時間に対応し、前記入力データによって規定される第１の要素値を有し、
第２の要素は、前記少なくとも１つの動作の終了時間に対応し、前記入力データによって規定される第２の要素値を有し、
前記スキャンサイクル中に第１および第２の要素値が、前記入力データおよび前記コントローラクロックによって決定され、
前記多重アレイを構成するステップは、
前記コントローラに多重アレイメモリ位置を割り当てることを含み、
前記多重アレイメモリ位置は、前記少なくとも１つのメンバによって規定される第１の要素および第２の要素のそれぞれに対するそれぞれのコントローラメモリ位置を含み、
前記方法はさらに、
前記スキャンサイクル中に前記コントローラを使用して、第１および第２の要素値を決定するステップと、
前記多重アレイ内の前記それぞれのコントローラメモリ位置に、前記スキャンサイクルについての前記少なくとも１つのメンバによって規定される各それぞれの要素の前記要素値を格納するステップと、
前記コントローラと通信するコンピューティングデバイスを提供するステップと、
前記コンピューティングデバイスを使用して第１のデータテーブルを構成するステップと、を含み、
第１のデータテーブルを構成するステップが、前記コンピューティングデバイス内の各それぞれの要素に対する前記それぞれのコントローラメモリ位置を格納することを含むことで、各それぞれの要素に対する前記コントローラメモリ位置のそれぞれは、第１のデータテーブルにおける対応する位置と関連していて、複数の対応する位置をもたらし、
前記方法はさらに、
前記コンピューティングデバイスを使用してデータ取得周波数でデータ取得サイクルを実行するステップと、
前記コンピューティングデバイスを使用して、前記データ取得サイクル中に、前記コントローラの前記多重アレイメモリ位置を読み取るステップと、
第１のデータテーブルの前記対応する位置に、前記コントローラの前記多重アレイメモリ位置から読み取られる各それぞれの要素値を書き込むステップと、
を含む、方法。
【請求項２９】
第１および第２の要素が、値−時間スタンプペアとして、前記多重アレイに格納されている、請求項２８に記載の方法。
【請求項３０】
前記少なくとも１つのセンサが、少なくとも２つのデバイスと通信し、
前記一連の動作が、少なくとも２つの並列動作を含み、
前記少なくとも２つの並列動作の各それぞれの動作が、前記少なくとも２つのデバイスのそれぞれのデバイスによって実行され、
前記少なくとも１つのメンバが、前記少なくとも２つのデバイスに対応する少なくとも２つのメンバを含み、
前記少なくとも２つのメンバの各それぞれのメンバが、第１の要素および第２の要素を規定し、
前記少なくとも２つのメンバの第１の要素が、前記入力データによって規定されるとともに、前記少なくとも２つのメンバのそれぞれに対して同じ開始時間である、前記少なくとも２つの並列動作の開始時間に対応する第１の要素を有し、
前記少なくとも２つのメンバの各それぞれのメンバの第２の要素が、前記入力データによって規定されるとともに、前記それぞれのメンバによって実行される前記少なくとも２つの並列動作の前記それぞれについてのそれぞれの終了時間に対応する第２の要素を有する、請求項２８に記載の方法。
【請求項３１】
前記方法はさらに、
前記コンピューティングデバイスを使用して第２のデータテーブルを構成するステップを含み、
前記少なくとも１つのメンバが、前記少なくとも１つのメンバによって規定される第１および第２の要素と関連しているように、第２のデータテーブルは、第１のデータテーブルの前記複数の対応する位置を、第２のテーブルに変換するように構成され、
前記コンピューティングデバイスを使用してデータ取得サイクルを実行するステップはさらに、第１のデータテーブルに書き込まれる前記要素値を、第２のデータテーブルに変換することを含み、
前記方法はさらに、
前記コンピューティングデバイスを使用して、データベースに第２のデータテーブルを格納するステップを含み、
前記少なくとも１つのメンバによって規定される前記複数の要素の前記それぞれの要素値が、前記データベース内の前記少なくとも１つのメンバと関連している、請求項２８に記載の方法。
【請求項３２】
前記コンピューティングデバイスを使用して、前記少なくとも１つのメンバに対応する前記動作についてのサイクル時間を決定するステップをさらに含み、
前記サイクル時間が、前記データベース内の前記少なくとも１つのメンバと関連している第１および第２の要素によって規定されている、請求項２８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１１年１２月６日に出願された米国仮特許出願第６１／５６７２０８号の利益を主張し、参照によりその全体が本明細書に組み込まれる。
【０００２】
本発明は、一般に、コンピューティングデバイスと通信する自動化コントローラを使用して、自動化装置から自動化データを収集および取得することに関する。
【背景技術】
【０００３】
自動化がより複雑になるにつれ、自動化システム内で作動して、自動化システムのある状態が存在するかどうかを判断し、自動化システムの実行を監視および制御する自動化コントローラに入力データをもたらさなければならないセンサの数および種類が劇的に増加している。例えば、ポイント・ツー・ポイント・データ収集法を使用して、数の増えたセンサから入力データを収集することは、サイクル時間分析のために過去の自動化タイミングデータを含む入力データを保管するために、大きなデータ構造およびメモリ容量を必要とする可能性があり、または過去の自動化タイミングデータの収集および分析を、自動化システムのサイクル時間挙動および変動の限定分析をもたらす可能性のある動作サイクルのサンプルから生じた部分的なデータに、実質的に限定する可能性がある。収集された自動化データの精度は、例えば、ポイント・ツー・ポイント・データ収集法、コンピューティングデバイス構成、コントローラからタイミングデータを取得するコンピューティングデバイスによってタイムスタンプが決定される場合のコントローラから収集されたタイムスタンピング自動化データ、およびコントローラとコンピューティングデバイスとの間の通信待ち時間のために、自動化コントローラのスキャン速度よりもデータ取得速度が遅いコンピューティングデバイスを使用することによって、マイナスの影響を及ぼす可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
コントローラのクロックによって規定されるタイミングデータを含む自動化データを自動化コントローラによってポピュレートされた多重アレイを使用して、自動化装置から自動化データを取得するためのシステムおよび方法が提供される。多重アレイに含まれる自動化データは、コントローラによって制御される自動化システムの少なくとも１つのセンサに対応する少なくとも１つのメンバを含み、センサは、メンバと関連した自動化動作の状態と、メンバ動作の開始時間および終了時間に対応する第１および第２のデータ要素を含む可能性のある、メンバによって規定された複数のデータ要素とを感知することができる。自動化データは、タイミングデータ、アナログデータ、または、少なくとも１つのセンサによって規定された他のデータを含んでもよい。自動化データは、コントローラと通信するコンピューティングデバイスによって取得され、例えば、データベース内で保管、および分析するために収集、および変換される。この場合、コンピュータデバイスは、コントローラ多重アレイと対応して、コントローラメモリの多重アレイメモリ位置から、コンピューティングデバイスメモリの対応するテーブル位置に、自動化データを効率的に収集するよう構成された第１のデータテーブルを備える。コンピューティングデバイスは、各データ要素を、データ要素を規定する各メンバと関連づけ、データベース内に関連データを格納するための第２のデータテーブルを備えてもよい。データ要素に対して決定したデータ値は、データ値が、自動化システムの動作サイクル、コントローラのスキャンサイクル、およびコンピューティングデバイスのデータ取得サイクルの少なくとも１つに対して識別可能であり、これらのサイクルの上記した１つと関連したデータ値が、現在サイクルと関連する同じメンバについて、自動化システムのデバイスまたは動作のサイクル時間データの分析を含む過去データを分析するために、データ値と比較することができるよう、格納してもよい。
【０００５】
自動化データを取得する方法およびシステムは、コントローラを使用してスキャンサイクルを実行することを含む。この場合、スキャンサイクルは、自動化システムの実行を制御および監視するためにコントローラにもたらされたロジックによって、およびコントローラと通信する少なくとも１つのセンサからのスキャンサイクルの間に入力データを収集することによって、規定することができる。少なくとも１つのセンサは、複数の要素によって規定された少なくとも１つのメンバに対応する。この場合、複数の要素の各それぞれの要素は、入力データによって決まるそれぞれの要素値を有する。コントローラは、それぞれの要素と、スキャンサイクル中に収集した入力データとを使用して、スキャンサイクルについての各それぞれの要素値を決定するよう構成される。本方法は、コントローラを使用して、多重アレイを構成することを含む。この場合、多重アレイは、少なくとも１つのメンバと、少なくとも１つのメンバによって規定される複数の要素とを備える。多重アレイを構成することは、さらに、多重アレイメモリ位置を割り当てて、コントローラ内に多重アレイを格納することを含んでもよい。この場合、多重アレイメモリ位置は、少なくとも１つのメンバによって規定された複数の要素の各それぞれの要素に対するそれぞれのコントローラメモリ位置を含む。本方法は、多重アレイ内のそれぞれのコントローラメモリ位置に、スキャンサイクルについての各それぞれの要素の要素値を格納することを続ける。コントローラは、コントローラクロックを備えるよう構成される。本方法は、少なくとも１つの要素値を決定することを含み、要素値は、タイミングデータとして構成され、タイミングデータの値は、コントローラクロックによって決定される。
【０００６】
一例において、コントローラによって実行されるスキャンサイクルは、一連の動作によって規定され、多重アレイの少なくとも１つのメンバは、一連の動作のうちの１動作に対応し、少なくとも１つのメンバによって規定される複数の要素は、動作の開始によって規定される第１の要素および動作の終了によって規定される第２の要素を含む。第１の要素の要素値は、コントローラクロックによって決定される動作の開始時間によって規定され、第２の要素の要素値は、コントローラクロックによって決定される動作の終了時間によって規定される。
【０００７】
本方法は、さらに、コントローラと通信するコンピューティングデバイスを提供すること、およびコンピューティングデバイスを使用して第１のデータテーブルを構成することを含む。この場合、第１のデータテーブルを構成することは、コンピューティングデバイス内に各それぞれの要素に対するそれぞれのコントローラメモリ位置を格納することを備え、各それぞれの要素に対するコントローラメモリ位置のそれぞれは、第１のデータテーブルにおける対応する位置と関連づけられて、複数の対応する位置をもたらす。コンピューティングデバイスは、コンピューティングデバイスを使用して、データ取得サイクルの間に、コントローラの多重アレイメモリ位置を読み取ること、およびコントローラの多重アレイメモリ位置から読み取った各それぞれの要素値を、第１のデータテーブルの対応する位置に書き込みことを含む、データ取得サイクルを実行するよう構成される。
【０００８】
コンピューティングデバイスは、第２のデータテーブルを構成して、第１のデータテーブルの複数の対応する位置に書き込まれた複数の要素のそれぞれの要素値を処理し、第２のテーブルに変換してもよい。少なくとも１つのメンバは、少なくとも１つのメンバによって規定された複数の要素のそれぞれの要素値と関連づけられ、コンピューティングデバイスを使用してデータ取得サイクルを実行することは、さらに、第１のデータテーブルに書き込まれた要素値を、第２のデータテーブルに変換して、少なくとも１つのメンバによって規定された複数の要素のそれぞれの要素値がデータベース内の少なくとも１つのメンバと関連づけられるように、コンピューティングデバイスを使用してデータベース内の第２のデータテーブルを格納することを含む。
【０００９】
本発明の上記した特徴ならびに他の特徴および利点は、添付図面と関連して、本発明を実行するための最良の態様についての以下の詳細な説明から容易に明らかとなる。
【図面の簡単な説明】
【００１０】
【図１】少なくとも１つの自動化コントローラによって制御される自動化システムからのタイミングデータを取得するためのシステムの略図である。
【図２】図１の自動化コントローラおよび自動化システムと関連した、一連の動作についての略図である。
【図３】図３Ａは、データマトリクスを含むコントローラ多重アレイの例示的構成の略図である。図３Ｂは、データマトリクスのセットを含むコントローラ多重アレイの例示的構成の略図である。
【図４】図４Ａは、図２に示す一連の動作の略図である。図４Ｂは、図２に示す一連の動作によって規定されるコントローラ多重アレイの略図である。図４Ｃは、図１のコントローラによって制御されるデータ要素をポピュレートした、図４Ｂのコントローラアレイの略図である。
【図５】図５Ａ、５Ｂおよび５Ｃは、第２のデータテーブルに処理するために、図１に示すコンピューティングデバイスの第１のデータテーブルにおける図１の自動化システムから、図４Ｂのコントローラ多重アレイに格納されたデータ要素を取得する方法の略図である。
【図６】図６Ａ、６Ｂおよび６Ｃは、例示的な第２のデータテーブルに処理するために、コントローラと通信するコンピューティングデバイスの例示的な第１のデータテーブルに、図３Ａの例示的なコントローラ多重アレイに格納されたデータ要素を取得する例示的方法の略図である。
【発明を実施するための形態】
【００１１】
図面を参照すると、同様の参照番号は、いくつかの図面を通じて同様の、または同じ構成要素に対応し、図１では、概して１０で示した自動化システムから自動化データを取得する、概して１００で示したデータ取得システムを示し、またシステム１００を使用して自動化システム１０から自動化データを取得する方法を本明細書で説明する。本明細書で説明する自動化装置から自動化データを取得するためのシステムおよび方法は、自動化装置を制御するコントローラによって実行されたスキャンサイクルの間に収集された自動化データをポピュレートした多重アレイを使用し、自動化データは、例えば、コントローラクロックによって決定されるか、またはタイムスタンプされた、測定されたタイミングデータを含んでもよい。多重アレイは、コンピューティングデバイスによって実行されるデータ取得サイクルの間に、コントローラと通信するコンピューティングデバイスによって読み取られ、コントローラの多重アレイに対応するよう構成されたコンピューティングデバイス内の第１のデータテーブルに書き込まれる。コントローラ多重アレイおよびコントローラクロックを使用して、自動化データが、対応するデータテーブルに多重アレイを読み取るコンピューティングデバイスによって取得することができるように、自動化データを収集し、次いで、対応するデータテーブルからの自動化データをデータベース内に保管するために第２のデータテーブルにさらに処理することは、大量のセンサを備える複雑な自動化装置から自動化データを効率的に収集すること、ならびに、装置および／またはセンサの、多数の、全てではなく、ほとんどの動作サイクルを表すための大量のセンサのそれぞれから自動化データを効率的に収集することを可能にする。多重アレイのさまざまな構成を使用して、本明細書で説明するように、データ取得サイクル間の多重アレイにおけるスキャンサイクルの複数セットからのタイミングデータを含む自動化データを保管することが可能になる。ここで、タイミングデータは、自動化システムから収集したタイミングデータの精度を高め、そこから決定されるサイクル時間の精度を高めるために、コントローラクロックによって測定される。
【００１２】
さらに図１を参照すると、自動化システム１０は、概して２０で示される自動化コントローラによって実行されるロジックによって制御することができる。自動化システム１０は、コントローラ２０と通信する１つまたは複数のデバイス１２、および１つまたは複数のセンサ１４を備えることができる。図１から図２および図４Ａから図５Ｃに示す非限定の例において、例示のために、複数のデバイス１２は、Ｄ１からＤ５として個別に識別され、複数のセンサ１４は、Ｓ１からＳ１０として個別に識別される。データ取得システム１００は、コントローラ２０と通信するコンピューティングデバイス３０を備えてもよい。コンピューティングデバイス３０およびコントローラ２０は、コンピューティングデバイス３０とコントローラ２０との間でデータをやりとりすることを可能にする必要がある場合、共有ネットワークなどを通じて、有線または無線通信で構成することができる。例示は非限定であり、デバイス１２、センサ１４、自動化コントローラ２０、およびコンピューティングデバイス３０の数および組合せは、自動化システム１０の構成により異なっていてもよいことが理解されよう。
【００１３】
１つまたは複数のセンサ１４および１つまたは複数のデバイス１２は、機械（図示せず）を規定することができ、自動化システム１０は、少なくとも１つの機械を備えることができる。自動化システム１０は、デバイス１２と通信するわずか１つのセンサ１４を備えることができる。自動化システム１０は、少なくとも１つの他のコントローラ２０および／または少なくとも１つのセンサ１４と通信することができる１つまたは複数の自動化コントローラ２０を備えることができる。例えば、自動化システム１０は、装置の一部、または材料ハンドリング装置などの１つもしくは複数のデバイス、機械、および他の自動化装置を含む組立ラインもしくは製造ラインを備えるか、またはそれらとして構成することができ、あるいは１つまたは複数の組立ライン、製造ライン、機械、モータ、材料ハンドリング装置、および／または１つもしくは複数のセンサ１４と関連し、１つまたは複数の自動化コントローラ２０によって制御される他のデバイス１２を含む工場として構成してもよい。
【００１４】
１つまたは複数のデバイス１２は、単一のセンサ１４と関連づけられてもよい。１つまたは複数のセンサ１４は、単一のデバイス１２と関連づけられてもよい。非限定の例として、センサ１４は、リミットスイッチ、近接スイッチ、エリアセンサ、温度センサ、圧力センサ、フロースイッチ、あるいは１つまたは複数の状態が自動化システム１０の動作中に満たされたかどうかを判断するよう構成することができる任意の他の種類のセンサとして、また、センサ１４によって判断された状態に対応する少なくとも１つの自動化コントローラ２０に出力をもたらすよう構成することができる。センサ１４の出力は、例えば、コントローラ２０にもたらされ、入力データを含む入力としてコントローラ２０に受信される信号として構成することができる。センサ１４は、離散出力またはビット型出力をもたらすよう構成することができる。センサ１４は、アナログセンサとして構成してもよく、デバイス１２、またはセンサ１４と関連したデバイスのグループの複数の状態の１つまたは複数、あるいは自動化システム１０の環境についての複数の状態の１つまたは複数に対応するアナログ出力信号をもたらすことができる。本明細書で使用する「状態」という用語は、デバイス１２、デバイス１２のグループ、センサ１４、センサ１４のグループ、１つもしくは複数のデバイス１２または１つもしくは複数のセンサ１４を含む機械もしくは装置のうちの１つの、状態、条件、状況、位置、または他の特性、あるいはデバイス１２もしくはセンサ１４の一方が動作している環境を含むことができる自動化システム１０の環境を含むことができる。状態についての非限定の例には、オン、オフ、開始、終了、停止、オープン、クローズ、自動、手動、故障、ブロック、不足、高、低、などを挙げることができる。状態についての他の非限定の例には、温度、圧力、力、距離、時間などの測定値などのアナログ値を挙げることができる。
【００１５】
自動化コントローラ２０は、例えば、自動化コントローラ２０にもたらすことができるコントローラロジック２８を実行することによって、自動化システム１０の動作を制御するよう構成することができる。自動化コントローラ２０は、本明細書では、コントローラと称することもある。コントローラロジック２８は、自動化システム１０の動作を制御、および／または実行するのに適切な任意の形式で構成することができ、本明細書では、ロジックと称することもある。例えば、ロジック２８は、ラダーロジック、状態ロジック、またはプログラミング言語で表される他のロジックとして、コントローラ２０にもたらしてもよい。ロジック２８は、自動化システム１０によって実行される一連の動作、または一連の動作１６の一部（図２参照）に対応することができ、一連の動作１６の実行は、本明細書では、自動化システム１０の動作サイクルと称することもある。自動化システム１０は、動作中、コントローラ２０の制御下で、一連の動作１６を備える動作サイクルを繰り返し実行することが理解されよう。コントローラ２０は、スキャンサイクル（図示せず）を実行するよう構成することができ、スキャンサイクルは、一連の動作１６および／またはロジック２８によって規定されてもよい。スキャンサイクル中、コントローラ２０は、自動化システム１０に、１つまたは複数の出力をもたらすことができ、自動化システム１０から１つまたは複数の入力を受け取ることができる。スキャンサイクルは、スキャン周波数で、コントローラ２０によって、繰り返し実行することができ、ここでスキャン周波数は、自動化コントローラ２０がスキャンサイクルを繰り返し実行するよう構成された時間間隔である。スキャン周波数は、スキャンレートによって規定してもよく、ここでスキャンレートは、スキャンサイクルを実行するのに必要な時間量によって規定され、スキャン周波数とスキャンレートとが等しい場合、スキャンサイクルは連続的に実行され、例えば、スキャンサイクルの実行は、連続的に繰り返される。スキャン周波数は、必要とされるものではないが、スキャンレートによって規定してもよい。自動化コントローラ２０は、例えば、プログラマブル・ロジック・コントローラ（ＰＬＣ）として構成してもよい。
【００１６】
コントローラ２０は、中央処理装置（ＣＰＵ）２２を備えることができ、中央処理装置（ＣＰＵ）２２は、本明細書では、プロセッサと称することもあり、例えば、ロジック２８を実行し、自動化システム１０からの入力および自動化システム１０への出力を処理し、値、タイミングデータ、タイムスタンプ、および／または要素データを含むことができるデータを読み取り、書き込み、および／またはコントローラメモリ２６に格納し、データマトリクス４２およびアレイ４０を構成し、データを分析、および／または計算し、および／またはコントローラクロック２４とインターフェースするよう構成することができ、コントローラクロック２４とインターフェースすることは、コントローラクロック２４によって提供または規定された時間を使用して、またはコントローラクロック２４を使用してタイミングデータを決定する、コントローラ２０によって収集された時間スタンピングデータを含むことができる。例えば、コントローラ２０は、スキャンサイクルの間、自動化システム１０にコントローラ２０によって提供された１つまたは複数の出力をタイムスタンプするよう構成してもよく、タイムスタンプの形式のタイミングデータは、コントローラ２０によって提供された各出力と関連づけられ、各出力に対応するタイミングデータ、例えば、出力タイムスタンプは、入力データがコントローラ２０によって検出または受信されるスキャンサイクル中に、コントローラクロック２４によって決定される時間であり、それによって、スキャンサイクルの間、正確なタイミングデータと関連づけられたタイムスタンプを提供する。コントローラ２０は、スキャンサイクルの間に自動化システム１０によってコントローラ２０にもたらされた１つまたは複数の入力をタイムスタンプするよう構成してもよく、タイムスタンプの形式のタイミングデータは、各入力と関連づけられ、各入力に対応するタイミングデータ、例えばタイムスタンプは、コントローラクロック２４によって決定される時間である。
【００１７】
コントローラ２０のコントローラメモリ２６は、少なくとも一部は、有形の、非一時的メモリであり、例えば、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭなどを含むことができ、ロジック２８を実行して、自動化システム１０の自動化を制御するために、および／または自動化システム１０の自動化のために、スキャンサイクルを実行するために、入力、要素、およびタイミングデータを含むデータを格納するために、１つもしくは複数の多重アレイ４０および／またはデータマトリクス４２（図３Ａから図３Ｂおよび図４Ｂから図４Ｃ参照）、およびそこで規定されたデータメンバおよび要素を格納するために、コンピューティングデバイス３０とインターフェースするために、およびコントローラクロック２４を動作させるために、十分なサイズと速度を備えることができる。
【００１８】
コンピューティングデバイス３０は、自動化システム１０の１つまたは複数のコントローラ２０と通信するよう構成してもよい。コンピューティングデバイス３０は、コントローラメモリ２６に格納されたデータを読み取り、収集、分析、および／または計算するよう構成することができる、１つまたは複数のデータコレクタ３４を備えてもよい。データコレクタ３４は、１つまたは複数のアレイ４０、および／またはデータマトリクス４２、およびそこに格納された要素データを読み取り、コントローラ２０から受信したデータを読み取り、書き込み、収集、分析、計算、格納、および／または、その他の方法で操作するよう構成してもよく、このことはデータを操作して、少なくとも１つのデータテーブル５０、５２（図５Ｂから図５Ｃおよび図６Ｂから図６Ｃ参照）にデータを格納する、および／またはコンピューティングデバイス３０によって構成されたデータベース３８にデータを格納することを含むことができる。
【００１９】
コンピューティングデバイス３０は、データ取得サイクル（図示せず）を提供、および／または実行するよう構成することができ、データ取得サイクルは、コントローラメモリ２６に格納された多重アレイ４０からデータを取得することを含むことができる。データ取得サイクルは、コンピューティングデバイス３０またはコンピューティングデバイス３０のデータコレクタ３４によって、コンピューティングデバイス３０により決定されるデータ取得周波数で、繰り返し実行することができ、ここで、データ取得周波数は、データコレクタ３４がデータ取得サイクルを繰り返し実行するよう構成された時間間隔である。データ取得周波数は、データ取得レートによって規定してもよく、ここでデータ取得レートは、データ取得サイクルを実行するのに必要な時間量によって規定され、これによりデータ取得周波数とデータ取得レートとが等しい場合、データ取得サイクルは連続的に実行され、例えば、データ取得サイクルの実行が、連続的に繰り返される。データ取得周波数は、例えば、コントローラ２０から取得されるデータの構成および量を含む、他の要因によって規定することができ、データ取得レートと異なっていてもよい。データ取得レートは、例えば、コントローラ２０から取得されるデータの構成および量、コンピューティングデバイス３０の処理速度を含むコンピューティングデバイス３０の構成、および／またはコントローラ２０およびコンピューティングデバイス３０が互いに通信するインターフェースの構成によって、影響される可能性がある。
【００２０】
コンピューティングデバイス３０のデータ取得レートは、コントローラ２０のスキャンサイクルレートとは異なる可能性がある。コンピューティングデバイス３０によって規定されるデータ取得周波数は、コントローラ２０によって規定されるスキャン周波数と異なる可能性がある。例えば、データ取得レートは、スキャンレートよりも期間が長くなる可能性があり、データ取得周波数は、スキャン周波数未満の周波数となる可能性がある。一例において、データ取得周波数およびスキャン周波数は、互いに比例する可能性があり、データ取得周波数は、スキャン周波数によって規定される可能性がある。一例において、スキャンレートは、１０ミリ秒（ｍｓ）である可能性があり、データ取得レートは、５０ｍｓである可能性があり、この結果スキャンサイクルは、後続のデータ取得サイクルの間で５回実行される可能性がある。これらの例は非限定的であり、本明細書における例で使用されたもの以外の期間のスキャンレートおよびデータ取得レートも可能であり、本明細書で説明するシステムおよび方法の範囲内で使用することができることが理解されよう。
【００２１】
コンピューティングデバイス３０は、本明細書ではプロセッサとも称することもある中央処理装置（ＣＰＵ）３２を含んでもよく、例えば、データコレクタ３４を構成するよう、値、タイムスタンプ、タイミングおよび／もしくは要素データを含むことができるコントローラ２０から受信したデータを処理するよう、コンピューティングデバイスメモリ３６へデータを読み取り、書き込み、および／もしくは格納するよう、未処理および処理済みデータテーブルを含むデータテーブルを構成するよう、ならびに／または、コントローラ２０から収集したデータによって規定されるサイクル時間を決定、および格納することを含むことができるデータを分析、および／もしくは計算するよう構成される。コンピューティングデバイス３０のメモリ３６は、少なくとも一部が有形の非一時的メモリであり、例えば、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭなどを含むことができ、データコレクタ３４を構成かつ動作させ、要素およびタイミングデータを含むデータを収集、分析、計算、および格納し、１つまたは複数のデータテーブル５０、５２（図５Ｂから図５Ｃ、図６Ｂから図６Ｃ参照）、およびそこで規定された、および／または１つまたは複数のデータベース３８で規定されたメンバおよび要素を格納し、かつコントローラ２０とインターフェースするために十分なサイズと速度を有することができる。
【００２２】
図１に示す例は、非限定的である。例えば、コントローラ２０の機能は、単一のコントローラ２０によってもたらしてもよく、またはコンピューティングデバイス３０と通信する、および／または互いに通信する複数のコントローラ２０の間で分散して、本明細書で説明するようなコントローラ２０の機能をもたらしてもよいことが理解されよう。コンピューティングデバイス３０の機能は、単一のコンピューティングデバイス３０によってもたらしてもよく、または１つまたは複数のコントローラ２０と通信する、および／または互いに通信する複数のコンピューティングデバイス３０に分散して、コンピューティングデバイス３０の機能をもたらしてもよいことが理解されよう。例えば、１つまたは複数のデータベース３８は、１つまたは複数のコントローラ２０からデータを収集するよう構成された１つまたは複数のコンピューティングデバイス３０と通信する、サードパーティーのサーバを含むサーバとして構成することができる複数のコンピューティングデバイス３０の間に分散してもよい。
【００２３】
データ取得システム１００を使用して自動化データを取得する方法およびシステムを本明細書で提供し、図１から図２および図４Ａから図５Ｃで示す例示的な自動化システム１０に関して説明する。示した例は、非限定的であり、本明細書で説明するシステムおよび方法は、本明細書で提供する説明の範囲内でさまざまな構成で使用することができ、本明細書ですでに述べたように、デバイス１２、センサ１４、ならびにコントローラ２０の他の構成および組合せを有する自動化システム１０と共に使用することができることが理解されよう。図１から図２を参照すると、図１に示す例において、各デバイス１２は、２つのセンサ１４と関連づけられて、デバイスＤ１は、センサＳ１およびＳ２と関連づけられ、デバイスＤ２は、センサＳ３およびＳ４と関連づけられ、デバイスＤ３は、センサＳ５およびＳ６と関連づけられ、デバイスＤ４は、センサＳ７およびＳ８と関連づけられ、デバイスＤ５は、センサＳ９およびＳ１０と関連づけられる。図１から図２および図４Ａから図５Ｃに示す例において、図１のデバイスＤ１は、図２および図４Ａから図５Ｃに示す「デバイス１」に対応し、図２のデバイスＤ２は、図２および図４Ａから図５Ｃに示す「デバイス２」に対応し、以下同様である。各デバイス１２は、自動化システム１０で使用することができる、任意の種類の、空気圧的、機械的、電気的、または電気機械的デバイスとして構成することができる。非限定的な例において、デバイスＤ１からＤ５は、個々にデバイス１２と称され、それぞれが、本明細書の各図でホームポジションとも呼ばれる第１のポジションから、本明細書の各図でワークポジションとも呼ばれる第２のポジションに移動可能な空気圧駆動クランプとして構成することができる。現在の例におけるデバイス１２の位置は、デバイス１２の状態を考慮してもよく、デバイス１２の第１の状態は、第１の（ホーム）ポジションにあるデバイス１２に対応し、デバイス１２の第２の状態は、第２の（ワーク）ポジションにあるデバイス１２に対応する。
【００２４】
示した例において、センサＳ１からＳ１０は、互いに関連しあう各デバイスＤ１からＤ５の状態を感知するよう構成された、近接センサとしてもよい。センサＳ１、Ｓ２およびデバイスＤ１を使用して、センサおよびデバイスの各それぞれが関連するセット（Ｓ１、Ｓ２、Ｄ１）、（Ｓ３、Ｓ４、Ｄ２）、（Ｓ５、Ｓ６、Ｄ３）、（Ｓ７、Ｓ８、Ｄ４）および（Ｓ９、Ｓ１０、Ｄ５）の動作を説明すると、図１から図２および図４Ａから図５Ｃに示す例において、センサＳ１は、デバイスＤ１がホームポジションに到達した場合に感知するよう構成することができ、デバイスＤ１がホーム（第１の）ポジションに動いた、および／またはホーム（第１の）ポジションに到達した場合、センサＳ１は、出力をコントローラ２０に送信する。センサＳ１からの出力は、例えば、デバイスＤ１の動作を監視、および／または制御することを含むスキャンサイクルの実行中に、コントローラ２０による入力として受信される可能性のある電気信号としてもよい。センサＳ２は、デバイスＤ１がワーク（第２の）ポジションに到達した場合に感知するよう構成することができ、デバイスＤ１がワークポジションに動いた、および／またはワークポジションに到達した場合、センサＳ２は、コントローラ２０に出力を送信する。センサＳ２からの出力は、例えば、デバイスＤ１の動作を監視、および／または制御することを含むスキャンサイクルの実行中に、コントローラ２０による入力として受信される可能性のある電気信号としてもよい。コントローラ２０は、出力をデバイスＤ１に送信して、ロジック２８、および／またはセンサＳ１、Ｓ２から受信した各入力によって規定されるように、ホームポジションからワークポジションに進むか、または、ワークポジションからホームポジションに戻るよう構成される。同様に、センサＳ３、Ｓ４は、それぞれ、デバイスＤ２の各ホームポジションおよびワークポジションに、デバイスＤ２が到達した場合などを感知するよう構成することができる。
【００２５】
図２を参照すると、概して１６で一連の動作の一例が示される。コントローラ２０は、一連の動作１６に対応するコントローラロジック２８と共に構成され、一連の動作１６およびコントローラロジック２８に対応するスキャンサイクルを使用して、図１の自動化システム１０の制御、および監視を行うができる。一連の動作１６は、動作１から動作１０と、各動作についての記述と、各動作の存続期間とを含む、動作のリストを含む。例えば、第１の動作は、一連の動作１６では、動作１として識別され、「ワークポジションへの進行デバイス１」として記述され、コントローラ２０は、開始時間Ｔ０で、動作１を開始するために、出力をもたらす。開始時間Ｔ０のタイムスタンプは、コントローラクロック２４によって決定され、コントローラ２０によって、多重アレイ４０に記録されることができる（図４Ｂから図４Ｃ参照）。多重アレイ４０は、本明細書でさらに詳しく説明するように、一連の動作１６に対応する自動化データを受信するよう構成してもよい。多重アレイ４０は、コントローラメモリ２４内に、多重アレイ４０に割り当てられたコントローラメモリ２４におけるメモリ位置内に格納される。
【００２６】
動作１が終了した場合、例えば、デバイス１がホームポジション（第１の状態）から進んで、ワークポジション（第２の状態）に到達した場合、センサＳ２が起動し、時間Ｔ１でスキャンサイクルの実行中にコントローラ２０による入力データとして検出される出力を生成し、ここで、時間Ｔ１は、動作１の終了時間として識別されるとともに、コントローラクロック２４によって決定され、コントローラ２０がワークポジションにあるデバイス１を報知するセンサＳ２からの入力データを検出する時間に対応するタイムスタンプによって測定される。コントローラ２０は、タイミングデータ、例えば、多重アレイ４０およびコントローラメモリ２４内の指定された位置に到達する終了時間Ｔ１に対するタイムスタンプを格納する。
【００２７】
図３Ａおよび図４Ｂから図４Ｃを参照すると、図３Ａは、データマトリクス４２を含む、例示的な多重アレイ４０を示す。データマトリクス４２は、少なくとも１つのメンバ４４と、少なくとも１つのメンバ４４によって規定される複数のデータ要素４６、４８とを備える。図３Ａの例に示すように、データ要素４６、４８は、コントローラ２０内に、値−タイムスタンプフォーマットで、または値−タイムスタンプペアとして構成することができ、この名称および／または用語は、限定することを意図しない。本明細書の例で示すように、値−タイムスタンプペアを規定する各データ要素４６、４８の各値、例えば、第１および第２のデータ要素４６、４８の各それぞれの値は、タイミングデータとして構成してもよく、データ要素ペア４６、４８は、データ要素ペア４６、４８を規定するメンバ４４に対応する開始および終了時間を規定する。メンバ４４は、自動化システム１０によって規定され、自動化システム１０に含まれて、さらにコントローラ２０と通信する、少なくとも１つのセンサ１４に対応する。例えば、メンバ４４は、１つまたは複数のセンサ１４に対応し、あるいはデバイス１２、自動化システム１０によって実行される動作、または組立ラインもしくは製造ライン、少なくとも１つのデバイス１２を含む機械、およびデバイス１２のグループなどの自動化システム１０のサブシステムの少なくとも１つと通信するか、または感知、および／または監視するよう構成される１つまたは複数のセンサ１４に対応することができる。
【００２８】
図４Ｂから図４Ｃは、図２で示した一連の動作１６を実行する自動化システム１０から自動化データを取得する場合に使用するよう構成される、多重アレイ４０を示す。図４Ｂから図４Ｃに示すように、多重アレイ４０は、単一のデータマトリクス４２から成り、多重アレイ４０の各メンバ４４は、一連の動作１６の各動作と関連づけられ、各メンバ４４は、各動作の開始時間に対応する第１の要素４６を規定し、各動作の終了時間に対応する第２の要素４８を規定する。したがって、多重アレイ４０の各メンバ４４は、自動化システム１０の少なくとも１つのセンサ１４と関連づけられ、関連づけられたセンサ１４は、コントローラ２０に入力データをもたらして、第１および第２の要素４６、４８を規定する各開始時間および終了時間を決定する。例えば、図４Ｃに示す多重アレイ４０の第１のメンバ４４は、一連の動作１６の動作１と関連づけられ、多重アレイにおいて、「デバイス１ワークポジション」とラベル付けされ、開始時間Ｔ０（第１の要素４６）および終了時間Ｔ１（第２の要素４８）によって規定される。多重アレイ４０の第２のメンバ４４は、一連の動作１６の動作２と関連づけられ、多重アレイにおいて、「デバイス２ワークポジション」とラベル付けされ、開始時間Ｔ１’（第１の要素４６）および終了時間Ｔ２（第２の要素４８）によって規定される。多重アレイ４０は、動作１から動作１０の１０の動作のそれぞれに対応するメンバ４４と、各動作の開始および終了時間によってそれぞれ規定される第１および第２の要素４６、４８とを備えるよう構成される。
【００２９】
再び図２を参照すると、終了時間Ｔ１で動作１の終了を検出すると、コントローラ２０は、一連の動作１６に従い、動作２および３を、同じ開始時間Ｔ１’で開始し（図４Ｃ参照）、動作２および３は、並列動作と考えることができ、および／または、デバイス２および３は、デバイスのグループと称することができる。開始時間Ｔ１’は、コントローラクロック２４によって測定されるとともに、動作２と関連する「デバイス２ワークポジション」および動作３と関連する「デバイス３ワークポジション」の各メンバによって規定された各第１のデータ要素４６の要素値として各開始位置時間における多重アレイ４０内のコントローラ２０によって記録される。動作２が終了した場合、例えば、デバイス２が、ワークポジションに進み、およびワークポジションに到達した場合、センサＳ４が起動し、コントローラクロック２４によって決定される終了時間Ｔ２で、スキャンサイクル中にコントローラ２０によって入力データとして検出される出力を生成する。終了時間Ｔ２は、コントローラクロック２４によって測定されるとともに、「デバイス２ワークポジション」とラベル付けされた第２のメンバ４４によって規定される第２のデータ要素４８の要素値として、終了時間位置で多重アレイ４０内のコントローラ２０によって記録される。同様に、動作３が終了した場合、例えば、デバイス３がワークポジションに進み、ワークポジションに到達した場合、センサＳ６が起動し、コントローラ２０によって入力データとして時間Ｔ２’で検出される出力を生成する。終了時間Ｔ２は、コントローラクロック２４によって測定されるとともに、「デバイス３ワークポジション」とラベル付けされた第３のメンバ４４の第２のデータ要素４８の要素値として、終了時間位置で多重アレイ４０内のコントローラ２０によって記録される。
【００３０】
並列動作２および３のグループの完了を検出すると、コントローラ２０は、一連の動作１６に従って、時間Ｔ２”で動作４を起動する（図４Ｃ参照）。時間Ｔ２”は、コントローラクロック２４によって測定されるとともに、動作４と関連づけられた第４のメンバ「デバイス４ワークポジション」の第１のデータ要素４６の要素値として開始時間位置で多重アレイ４０内に記録される。動作４が終了した場合、例えば、デバイス４が、ワークポジションに進み、ワークポジションに到達した場合、センサＳ８が起動するとともに、コントローラクロック２４によって決定される終了時間Ｔ３でスキャンサイクル中にコントローラ２０によって入力データとして検出される出力を生成する。終了時間Ｔ３は、コントローラクロック２４によって測定されるとともに、「デバイス４ワークポジション」とラベル付けされた第４のメンバ４４によって規定される第２のデータ要素４８の要素値として、終了時間位置で多重アレイ４０内のコントローラ２０によって記録される。
【００３１】
時間Ｔ３での動作４の完了を検出すると、コントローラ２０は、一連の動作１６に従って、時間Ｔ３”で動作５を起動する（図４Ｃ参照）。時間Ｔ３’は、コントローラクロック２４によって測定されるとともに、動作５と関連づけられた第５のメンバ「デバイス５ワークポジション」の第１のデータ要素４６の要素値として開始時間位置で多重アレイ４０内に記録される。動作５が終了した場合、例えば、デバイス５が、ワークポジションに進み、およびワークポジションに到達した場合、センサＳ１０が起動するとともに、コントローラクロック２４によって決定される終了時間Ｔ４でスキャンサイクル中にコントローラ２０によって入力データとして検出される出力を生成する。終了時間Ｔ４は、コントローラクロック２４によって測定されるとともに、「デバイス５ワークポジション」とラベル付けされた第５のメンバ４４によって規定される第２のデータ要素４６の要素値として、終了時間位置で多重アレイ４０内のコントローラ２０によって記録される。
【００３２】
図１および図４Ａから図４Ｃによって示されるように、コントローラ２０は、終了時間Ｔ４で動作５の完了を検知すると、開始時間Ｔ４’で動作６「デバイス１をホームポジションに戻す」の開始を誘起する。開始時間Ｔ４’は、コントローラクロック２４によって測定されるとともに、「デバイス１をホームポジションに戻す」ラベル付けされた第６のメンバ４４によって規定される第１の要素４６の要素値として記録される。動作６が終了した場合、例えば、デバイス１がホームポジションに戻り、ホームポジションに到達した場合、センサＳ１が起動するとともに、コントローラクロック２４によって決定される終了時間Ｔ５でスキャンサイクル中にコントローラ２０によって入力データとして検出される出力を生成し、この出力が「デバイス１をホームポジションに戻す」ラベル付けされた第６のメンバ４４の第２の要素４８の要素値として多重アレイ４０に記録される。
【００３３】
本処理は、多重アレイ４０の第７から第１０のメンバとそれぞれ関連づけられた動作７から動作１０の残りの動作に対して同様に繰り返され、コントローラ２０は、コントローラによって規定されるスキャン周波数でスキャンサイクルを実行し続け、スキャンサイクルを実行することは、コントローラ２０によって前の動作の完了が検出されると、コントローラ２０にもたらされるロジック２８を使用して一連の動作１６の各次の動作を起動すること、コントローラクロック２４によって測定された各開始時間（図４Ｃで示したΤ５’、Τ５’、Ｔ６”、Ｔ７’）を記録すること、各動作７から１０と関連づけられた各メンバ４４の各第１の要素４６の各要素値として多重アレイ４０内に各それぞれの開始時間を格納すること、各デバイスＤ７からＤ１０がそのホームポジションに戻ったことを示すスキャンサイクル中の各センサＳ３、Ｓ５、Ｓ７、Ｓ９によってもたらされるセンサ入力データを検出すること、スキャンサイクル中にコントローラ２０によって受信される各センサ入力データに対応する各終了時間（図４Ｃで示したＴ６、Ｔ６’、Ｔ７、Ｔ８）を記録することを備え、ここで、各それぞれの終了時間はコントローラクロック２４によって測定され、スキャンサイクルを実行することはさらに、各動作７から１０と関連づけられた各メンバ４４の各第２の要素４８の各要素値として多重アレイ４０に、各それぞれの終了時間を格納することを備える。図４Ａから図４Ｃに示すように、動作７および８は、並列動作であり、どちらも、同じ開始時間Ｔ５’で開始するように、コントローラによって起動される。
【００３４】
コントローラ２０は、コントローラロジック２８およびスキャンサイクルを実行し続けることができ、自動化システム１０は、一連の動作１６を繰り返し続け、ここで、自動化システム１０による一連の動作１６の各実行は、自動化システム１０の動作サイクルと称することができる。コントローラ２０は、スキャン周波数と、各要素４６、４８と関連づけられた少なくとも１つのセンサ１４からコントローラ２０によって受信した入力データとに従って、多重アレイ４０内の各要素４６、４８の値を更新し、要素４６、４８に対応するコントローラメモリ位置内に各要素４６、４８の更新値を格納する。示した例において、スキャンレートは１０ｍｓとすることができ、例えば、コントローラは、１つのスキャンサイクルを完了するために１０ｍｓのスキャン時間を有することができ、スキャン周波数は、スキャンレートと等しくすることができ、これにより、コントローラ２０は、多重アレイ４０における第１および第２の要素４６、４８の各要素値を、１０ｍｓ毎に監視および／または更新する。ストレージ、メモリ、およびスキャンサイクル効率を提供するために、コントローラ２０は、要素値を定義するデータ要素４６、４８に対応するコントローラメモリ位置に格納された要素値、例えば、各データ要素４６、４８の以前の要素値と、現在のスキャンサイクル中に収集された各データ要素４６、４８の現在要素値とを比較して、現在の要素値が以前の要素値から変化したか否かを判断するよう構成してもよい。変更がなかった場合、以前の要素値は、各要素４６、４８に対するコントローラメモリ位置に格納されたままとなる。現在の要素値が、以前の要素値から変わっていた場合、コントローラメモリ位置に格納された要素値は、各要素４６、４８に対するコントローラメモリ位置に現在の要素値を格納することによって更新される。
【００３５】
本明細書でさらに詳細に説明するように、コンピューティングデバイス３０は、多重アレイ４０に格納されたデータを読み取り、収集すること、および多重アレイ４０に対応するようコンピューティングデバイス３０のメモリ３６に構成された第１のデータテーブルに、収集されたデータを格納することを含む、データ取得サイクルを実行するよう構成することができ、第１のデータテーブルは、例えば、図５Ｂに示した未処理データテーブル５０として構成することができ、図５Ａに示した多重アレイ４０に対応することができる。多重アレイ４０内の各要素４６、４８の要素値が、データ取得サイクル間に少なくとも１度、変更してもよいように、コンピューティングデバイス３０のデータ取得レートは、コントローラ２０のスキャンレートよりも期間が長くてもよく、および／またはコンピューティングデバイス３０によって規定されるデータ取得周波数は、コントローラ２０のスキャン周波数より短くてもよい。例えば、図５Ａおよび図５Ｂを参照すると、例えば、スキャンレートが１０ｍｓで、スキャン周波数と等しく、データ取得レートは５０ｍｓで、データ取得周波数に等しいと仮定すると、要素値が、後続のデータ取得サイクル間で、５回まで変更してもよいように、５スキャンサイクルがデータ取得サイクル間の経過時間で完了することが理解されるであろう。
【００３６】
データ取得サイクルの間に多重アレイ４０に格納された要素値によって表されたタイミングデータを含む自動化データの損失を防ぐために、例えば、自動化装置１０によって実行された動作サイクルのほとんど、または全てからのタイミングデータを含む自動化データの収集を可能にするために、多重アレイ４０の他の構成を使用して、異なる周波数および時間間隔で、センサ１４からタイミングデータを含む自動化データを取得してもよい。例えば、多重アレイ４０は、各センサ１４、または一連の動作１６の各動作が、多重アレイ４０内のメンバ４４のセットと関連づけられ得るよう構成することができ、データ取得方法でのフレキシビリティを可能にし、タイミングデータを含む自動化データを収集することができる自動化システム１０の動作サイクルの数を増やす。一例において、メンバ４４のセットが、スキャンサイクルのセットつまりパターンと関連していて、このセットつまりパターンから、要素値が多重アレイ４０間へ記録される。例として、スキャンサイクルのセットは、コントローラ２０によって実行される５つの連続的なスキャンサイクルを含むことができ、各スキャンサイクルは、１０ｍｓのスキャンレートを有し、スキャンサイクルは、スキャンレートと等しいスキャン周波数で実行され、これにより５つのスキャンサイクルのセットは、コントローラ２０によって、５０ｍｓ毎に繰り返し実行される。メンバ４４のセットは、５つのメンバ４４を含んでもよく、各５つのメンバ４４は、それぞれ、同じセンサ１４または動作と関連づけられ、かつスキャンサイクルのセットの異なるスキャンサイクルと関連づけられる。
【００３７】
例えば、メンバ４４のセットは、動作４「デバイス４をワークポジションに進める」などの動作と、デバイス４がワークポジションに進行した場合に感知するよう構成されたセンサＳ８と関連づけることができる。次に、図３Ａおよび図６Ａに示す多重アレイ４０を参照すると、メンバ４から８のそれぞれは、動作４とスキャンサイクルのセットの異なるスキャンサイクルと関連づけることができ、メンバ４は、５つのスキャンサイクルのセットの第１のスキャンサイクル中に記録された開始時間Ｔ２”および終了時間Ｔ３に対応する第１および第２の要素４６、４８を含むことができ、メンバ５は、５つのスキャンサイクルのセットの第２のスキャンサイクル中に記録された開始時間Ｔ２”および終了時間Ｔ３に対応する第１および第２の要素４６、４８を含むことができ、メンバ６は、５つのスキャンサイクルのセットの第３のスキャンサイクル中に記録された開始時間Ｔ２”および終了時間Ｔ３に対応する第１および第２の要素４６、４８を含むことができ、メンバ７は、５つのスキャンサイクルのセットの第４のスキャンサイクル中に記録された開始時間Ｔ２”および終了時間Ｔ３に対応する第１および第２の要素４６、４８を含むことができ、メンバ８は、５つのスキャンサイクルのセットの第５のスキャンサイクル中に記録された開始時間Ｔ２”および終了時間Ｔ３に対応する第１および第２の要素４６、４８を含むことができる。
【００３８】
コンピューティングデバイスによって５０ｍｓ毎に実行されるデータ取得サイクルの例を使用して、未処理データテーブル５０は、本例で説明した多重アレイ４０と対応するよう構成することができ、未処理データテーブル５０は、本明細書では、第１のデータテーブルと称することもあり、多重アレイ４０におけるデータ要素４６、４８のそれぞれに対応する位置を含み、例えば、各メンバ４４によって規定された、例えば、図３Ａおよび図６Ａで示す、コンピューティングデバイス３０によって実行される後続のデータ取得サイクル間でコントローラ２０によって実行される動作４の５つのスキャンサイクルのセットの異なるスキャンサイクルとそれぞれが関連づけられたメンバ４から８のそれぞれを含む、メンバ１〜メンバＮのそれぞれによって規定された、データ要素４６、４８のそれぞれの要素値を受信するための位置を含む。
【００３９】
多重アレイ４０の他の構成を使用して、タイミングデータを含む自動化データを、コンピューティングデバイス３０によって実行される後続のデータ取得サイクル間でコントローラ２０によって実行されるスキャンサイクルから収集してもよい。例えば、図３Ｂを参照すると、多重アレイ４０は、マトリクス１からマトリクス４として識別される複数のデータマトリクス４２を含むよう構成することができ、データマトリクス４２のそれぞれは、１つまたは複数の所定の時間間隔によって、またはコントローラ２０によって実行されるスキャンサイクルの所定のセットもしくはパターンによって規定される収集周波数で、コントローラ２０によって実行されるスキャンサイクルから自動化データを収集するよう構成される。一例において、図３Ｂに示す多重アレイ４０のデータマトリクス４２のそれぞれは、図１および図２の自動化システム１０および一連の動作１６に対応する図４Ｃのデータマトリクス４２に対して示すように構成することができる。コントローラ１２は、多重アレイ４０に対する収集周波数を規定するよう構成することができ、４つのスキャンサイクルのセットの第１のスキャンサイクル中に収集された自動化データが、多重アレイ４０のマトリクス１（図３Ｂ参照）に格納され、スキャンサイクルのセットの第２のスキャンサイクル中に収集された自動化データが、マトリクス２に格納され、スキャンサイクルのセットの第３のスキャンサイクル中に収集された自動化データが、マトリクス３に格納され、スキャンサイクルのセットの第４のスキャンサイクル中にコントローラ２０によって収集された自動化データが、マトリクス４に格納される。図３Ｂに示した多重アレイ４０に対応するようコンピューティングデバイス３０によって構成される第１のデータテーブル５０を使用して、コンピューティングデバイス３０によって実行される各データ取得サイクル中に４つのデータマトリクス４２から、コンピューティングデバイス３０によって読み取られる自動化データを受信する。したがって、一連の動作１６の４つの動作サイクルに対応する４つのスキャンサイクルからの自動化データは、各データ取得サイクル中に収集され、それにより、データ収集効率と、自動化システム１０によって行われる総動作サイクル数の割合として収集される自動化データの動作サイクルの数とを増やす。他の例において、多重アレイ４０のデータマトリクス４２のそれぞれは、規定の間隔で実行されるスキャンサイクルからデータを収集するように構成してもよい。例えば、マトリクス１、２、および３は、後続の１０ｍｓ間隔でスキャンサイクルから自動化データを収集するよう構成してもよく、マトリクス４は、自動化データがマトリクス４で絶えず更新され得るよう全てのスキャンサイクルから自動化データを収集するよう構成してもよい。
【００４０】
図３Ｂに示す例は、非限定的であり、多重アレイ４０に含まれる複数のデータマトリクス４２は、本明細書で提供される例で示す４つのデータマトリクス４２より多くても少なくてもよく、スキャンレート、データ取得レート、データストレージ構成、通信ネットワーク構成などに対してデータ収集にフレキシビリティをもたらす。多重アレイ４０のマトリクス４２のそれぞれは、上記のように、センサ１４に対応する複数のメンバ４４を含むように構成してもよい。多重アレイ４０の各マトリクス４２は、メンバ４４およびそれにより規定されるデータ要素の異なるセットを含むことができる。例えば、図３Ｂで示した多重アレイを再び参照すると、マトリクス１は、マトリクス２、３、および４にそれぞれ含まれるＮ２、Ｎ３、Ｎ４メンバ４４の第２、第３、および第４のセットとは異なる可能性のあるＮ１メンバ４４の第１のセットを含む可能性がある。例えば、マトリクス１に含まれるＮ１メンバの第１のセットは、図１から図２に示す複数のデバイスＤ１からＤ５、およびセンサＳ１からＳ１０、および一連の動作１６に対応することができ、マトリクス２に含まれるＮ２メンバの第２のセットは、自動化システム１０に含まれる機械（図示せず）と関連づけられる１つまたは複数のセンサに対応することができ、マトリクス３に含まれるＮ３メンバの第３のセットは、自動化システム１０に含まれる組立ラインもしくは製造ライン（図示せず）と関連づけられる１つまたは複数のセンサに対応することができ、メンバＮ１、Ｎ２、Ｎ３の３つのセットのメンバのそれぞれによって規定されるデータ要素は、自動化システム１０によって行われる各自動化動作と関連づけられる自動化データを規定する。メンバセットＮ４のメンバのそれぞれによって規定されるデータ要素が、タイミングデータ以外の値を表すように、マトリクス４に含まれるＮ４メンバの第４のセットは、自動化システム１０の動作環境を感知するよう構成される複数のセンサ１４と対応することができる。タイミングデータ以外の値を規定するメンバおよびデータ要素の非限定的な例には、周囲温度、空気圧もしくは湿度、光強度、機械温度、流体温度、圧力もしくは流れなどの環境要因を監視または感知するよう構成されるセンサを含んでもよい。
【００４１】
図５Ａから図５Ｃおよび図６Ａから図６Ｃを参照すると、コントローラ２０によって構成される多重アレイ４０、多重アレイ４０に対応するようコンピューティングデバイス３０によって構成される第１の、もしくは未処理データテーブル５０、および第１のデータテーブル５０から処理され、自動化システム１０の動作もしくはメンバと関連づけられるデータを受信するようコンピューティングデバイスによって構成される第２の、もしくは処理済みデータテーブル５２が示され、処理済みデータは、データベース３８に保存され、および／またはさらに、コンピューティングデバイス３０によって分析され、例えば、自動化システム１０の動作、デバイス１２、またはメンバ４４に対応するサイクル時間を決定することができる。図５Ｂから図５Ｃは、図２に示す例示的な一連の動作１６によって規定される図５Ａおよび図４Ｃで示す多重アレイ４０に対応する第１および第２のデータテーブル５０、５２の構成を示す。図６Ｂから図６Ｃは、図６Ａおよび図３Ａで示す単一のデータマトリクス４２を含む多重アレイ４０に対応する第１および第２のデータテーブル５０、５２の構成を示す。
【００４２】
図５Ａから図６Ｃに示す例は、非限定的であり、第１および第２のデータテーブル５０、５２の他の構成は、コントローラ２０によって構成される多重アレイ４０に対応するようコンピューティングデバイス３０によって提供することができる。例えば、第１および第２のデータテーブル５０、５２は、図３Ｂで示す多重アレイ４０と対応するようコンピューティングデバイス３０によって構成することができ、コントローラ２０によって収集された多重アレイ４０の各それぞれのデータマトリクス４２の各それぞれのメンバ４４の各それぞれのデータ要素４６、４８によって規定されるデータ要素値が、コンピューティングデバイス３０によって構成される第１のデータテーブル５０内の対応する位置を有し、コンピューティングデバイス３０は、データベース３８内のそれぞれのメンバ４４およびストレージと対応するために第１のデータテーブル５０から処理されたデータを受信するよう第２のデータテーブル５２を構成することができる。
【００４３】
上記のように、コンピューティングデバイス３０は、コントローラメモリ２６に格納された多重アレイ４０から要素値を収集するために、データ取得サイクルを実行するとともに、多重アレイ４０に対応するようコンピューティングデバイス３０によって構成される第１のデータテーブル５０に取得データを書き込むように構成することができる。コンピューティングデバイス３０は、データ取得周波数でデータ取得サイクルを実行するように構成されるデータコントローラ３４を含むことができ、必要とされるものではないが、データ取得サイクルによって規定されるデータ取得レートと同等としてもよい。データ取得レートは、さらに、コンピューティングデバイス３０の構成、ならびにコンピューティングデバイス３０およびコントローラ２０が互いに通信する通信ネットワークの構成または通信の方法などにより規定、および／または影響される可能性がある。
【００４４】
多重アレイ４０は、少なくとも１つのメンバ４４、および少なくとも１つのメンバ４４によって規定される複数の要素４６、４８を含むようコントローラ２０によって構成される。多重アレイ４０は、メモリ位置が、多重アレイ４０を格納するようコントローラメモリ２６内に割り当てられるように構成され、多重アレイ４０を格納するメモリ位置は、本明細書では、多重アレイメモリ位置と称することもある。多重アレイメモリ位置内で、各コントローラメモリ位置は、多重アレイ４０の各それぞれのメンバ４４によって規定される各それぞれの要素４６、４８に対して規定される。各要素４６、４８に対するメモリのサイズは、各要素によって規定される要素値を格納するのに必要となる、バイト、ワード、またはそれ以上とすることができる。
【００４５】
第１のデータテーブル５０は、コンピューティングデバイス３０が、データ取得サイクルを用いてデータを収集する多重アレイ４０の構成と対応するよう、コンピューティングデバイス３０によって構成される。第１のデータテーブル５０は、未処理データテーブルとも称され、データ取得サイクル中に多重アレイ４０からコンピューティングデバイス３０によって読み取られた各それぞれの要素４６、４８に対する要素値を受信するよう構成され、要素値は、未処理データテーブル５０によって規定され、各要素４６、４８に対するコントローラメモリ位置に対応するテーブル位置で、未処理データテーブル５０にコンピューティングデバイス３０によって書き込まれ得る。未処理データテーブル５０を構成することは、コンピューティングデバイス３０内に各それぞれの要素４６、４８に対する各コントローラメモリ位置を格納することを含むことができ、各それぞれの要素４６、４８に対するコントローラメモリ位置のそれぞれは、第１のデータテーブル５０における対応する位置と関連づけられて、第１のデータテーブル５０によって規定され、かつコンピューティングデバイスメモリ３６に格納される複数の対応する位置をもたらす。図５Ａから図５Ｂおよび図６Ａから図６Ｂに示すように、第１のデータテーブル５０は、多重アレイ４０とは異なるように構成してもよく、参照図面に示すように、１つより多くの位置４４Ａ、４４Ｂを提供して、要素４６、４８に対応するようデータテーブル５０に割り当てられるテーブル位置のそれぞれと関連づけられるメンバ４４を識別することを含んでもよい。
【００４６】
コンピューティングデバイス３０が、多重アレイ４０を読み取り、例えば、コントローラメモリ２６において多重アレイ４０に対して割り当てられた多重アレイメモリ位置を読み取り、未処理データテーブル５０の対応するテーブル位置に多重アレイメモリ位置のコントローラメモリ位置から読み取られた要素値を書き込むよう、データ取得サイクルを構成することによって、データ取得効率は、ポイントツーポイントデータ収集方法を使用して、個々のデータポイントを読み取り、格納することと比較して、本明細書で説明する多重アレイ４０およびテーブルデータ構造を使用して実現することができる。効率的なデータストレージ、メモリの使用、およびデータ取得レートを提供するために、コンピューティングデバイス３０は、現在のデータ取得サイクル中に、以前のデータ取得サイクル中に第１のデータテーブル５０のテーブル位置に格納された以前の要素値と、各それぞれのデータ要素４６、４８の対応するコントローラメモリ位置に格納されている現在の要素値とを比較するよう構成してもよく、現在の要素値は、現在のデータ取得サイクル中に多重アレイ４０から読み取られた要素値であり、現在の要素値が、以前の要素値から変化したか否かを判断する。変更がなかった場合、以前の要素値は、各要素４６、４８に対するコンピューティングデバイスメモリ３６の第１のテーブル位置に格納されたままである。現在の要素値が、以前の要素値から変更された場合、コンピューティングデバイスメモリ３６の対応する第１のテーブル位置に格納された要素値は、変更された各要素４６、４８に対するコントローラメモリ位置に対応するコンピューティングデバイスメモリ３６における第１のテーブル位置に現在の要素値を格納することによって更新される。
【００４７】
再び図５Ａから図５Ｃおよび図６Ａから図６Ｃを参照すると、コンピューティングデバイス３０は、本明細書で、処理済みデータテーブル５２と称されることもある第２のデータテーブル５２を構成して、第１のデータテーブル５０から第２のデータテーブル５２に各要素値を変換することができ、データ取得サイクル中に第１のデータテーブル５０に読み取られた各要素値のそれぞれは、第２のデータテーブル５２で、各要素値に対応する要素４６、４８を規定するメンバ４４と関連づけられる。例えば、図５Ａから図５Ｃに示すように、スキャンサイクル中にコントローラ２０によって受信された入力データに応じて、コントローラ２０は、スキャンサイクル中にスキャンされた動作１の動作サイクルについての開始時間および終了時間Ｔ０、Ｔ１にそれぞれ対応する要素値を決定することができ、第１および第２の要素４６、４８に対するコントローラメモリ２６に割り当てられた各コントローラメモリ位置にこれらの要素値を格納することができる。後続のデータ取得サイクル中に、コンピューティングデバイス３０は、多重アレイ４０を読み取り、コントローラ２０によってスキャンされ、多重アレイメモリ位置に格納された、動作１の動作サイクルに対して決定した開始時間および終了時間Ｔ０、Ｔ１の要素値を収集し、これらの要素値を、未処理データテーブル５０に書き込む。未処理データテーブル５０は、例えば、「デバイス１、ワークポジション０」として示される名前４４Ａと関連づけられた第１のテーブル位置をもたらすよう構成されており、第１のテーブル位置は、メンバ４４「デバイス１ワークポジション」によって規定される第１の要素４６に対応する。多重アレイ４０から読み取られた開始時間Ｔ０の要素値は、第１の要素４６に対応する第１のテーブル位置に書き込まれる。同様に、第２のテーブル位置は、「デバイス１、ワークポジション１」として示される名前４４Ｂと関連づけられ、第２のテーブル位置は、メンバ４４「デバイス１ワークポジション」によって規定される第２の要素４８に対応する。多重アレイ４０から読み取られた終了時間Ｔ１の要素値は、メンバ４４「デバイス１ワークポジション」によって規定される第２の要素４８に対応する、図５Ｂに示したテーブル位置に書き込まれる。
【００４８】
コンピューティングデバイス３０は、第１のデータテーブル５０を処理して、第１のデータテーブル５０に格納された開始時間および終了時間Ｔ０、Ｔ１に対する要素値を、第２のデータテーブル５２に変換することができる。図５Ｃに示すように、第２のデータテーブルは、図２で「デバイス１をワークポジションに進める」として説明した動作１の開始時間および終了時間Ｔ０、Ｔ１としてそれぞれメンバ４４によって規定される第１および第２の要素４６、４８と関連づけられる「デバイス１、ワークポジション」と名付けられた第１のメンバ４４を含み、第１のメンバ４４は、動作１に対応する。動作サイクルについて開始時間および終了時間Ｔ０、Ｔ１を決定するようスキャンされた動作サイクルの開始時間および終了時間Ｔ０、Ｔ１に対して第１のデータテーブル５０に書き込まれた要素値、例えば、タイミングデータまたはタイムスタンプは、コンピューティングデバイス３０によって変換され、メンバ「デバイス１、ワークポジション」と関連づけられる。スキャンされた動作サイクルについての開始時間および終了時間Ｔ０、Ｔ１の要素値を含む第２のデータテーブル５２は、コンピューティングデバイス３０を使用してデータベース３８に格納することができ、および／または、スキャンされた動作サイクルについて決定された開始時間および終了時間Ｔ０、Ｔ１の要素値は、例えば、開始時間および終了時間Ｔ０、Ｔ１が決定された、関連づけられたメンバ４４および動作サイクルを識別するメタデータと関連づけてもよい。データ取得サイクルを完了するために、コンピューティングデバイス３０は、多重アレイ４０から図５Ａの多重アレイ４０に示した残りのデータ要素Ｔ１’からＴ８の残りの要素値を読み取り、これらの残りの要素値を、図５Ｂに示した第１のデータテーブル５０に書き込み、残りの要素値を、各残りの要素値に対応する各メンバ４４と関連するよう第２のデータテーブル５２に変換し、変換された要素値を格納することができ、これにより各要素値、および格納された要素値を決定した動作サイクルおよび／またはスキャンサイクルに対応する各メンバ４４と関連づけられる。データ取得サイクルは、繰り返される可能性があり、自動化システム１０によって実行される一連の動作１６の後続の動作サイクルと関連づけられ、および／またはコントローラ１０によって実行される後続のスキャンサイクルによって決定される要素値は、要素４６、４８および要素値を規定する各メンバと関連して変換され、要素４６、４８に対する要素値の履歴をもたらすように格納することができる。
【００４９】
コンピューティングデバイス３０は、要素値を分析するよう構成してもよく、動作サイクルまたはスキャンサイクルについてのメンバ４４の開始時間値および終了時間値を分析して、メンバ４４に対するサイクル時間を決定することを含んでもよい。例えば、動作１のサイクル時間は、開始時間Ｔ０の要素値（タイミングデータまたはタイムスタンプ）と、終了時間Ｔ１の要素値（タイミングデータまたはタイムスタンプ）との間の差を判断することによって算出することができ、これらの値のそれぞれは、コントローラクロック２４と、スキャンサイクルの実行および／または一連の動作１６の動作サイクルの実行中に、コントローラ２０によって受信される入力データとを使用して判断される。動作／スキャンサイクルについてのサイクル時間および／または関連したタイミングデータは、上記のように、以前の動作／スキャンサイクルとして、データベース３８に格納してもよい。データ取得サイクルは、データ取得周波数に従って繰り返され、複数の以前の動作サイクルからのタイミングデータを変換および格納して、データベース３８に格納された履歴サイクル時間およびタイミングデータをもたらすことができる。現在の動作サイクルについてのサイクル時間および／または関連したタイミングデータは、コンピューティングデバイス３０による履歴データの分析および／または比較のために決定してもよい。
【００５０】
本明細書で説明した用例は、非限定的であることを意図する。例えば、デバイス１２の少なくとも１つは、他のデバイス１２とは異なる可能性があり、センサ１４の少なくとも１つは、他のセンサ１４と異なる可能性がある。自動化システム１０は、単一のセンサ１４が、関連づけられたデバイス１２の第１の状態および第２の状態を感知し、第１および第２の状態の感知した一方に対応する信号を出力するよう構成および使用することができるよう構成してもよい。単一のセンサ１４は、デバイス１２のグループの指定された状態を感知し、デバイス１２のグループの感知した状態に対応する信号を出力するよう構成してもよい。一例において、センサ１４からの出力を誘起するデバイス１２のグループの感知された状態は、指定された状態に達したデバイス１２のグループの第１のデバイス１２を感知するセンサ１４に対応することができる。別の例において、センサ１４からの出力を誘起するデバイス１２のグループの感知された状態は、指定された状態に達したデバイス１２のグループの最後のデバイス１２を感知する、例えば、デバイス１２のグループの全てのデバイスが指定された状態に達したことを感知するセンサ１４に対応することができる。
【００５１】
詳細な説明および図面は、本発明を支持し、説明するが、本発明の範囲は、特許請求の範囲によってのみ規定される。請求項に係る発明を実施するための最良の形態および他の実施形態のいくつかを詳細に説明してきたが、さまざまな代替の設計および実施形態が、添付の特許請求の範囲に規定される発明を実施するために存在する。
【図１】
2015505086.tif 000003
【図２】
2015505086.tif 000004
【図３】
2015505086.tif 000005
【図４】
2015505086.tif 000006
【図５】
2015505086.tif 000007
【図６】
2015505086.tif 000008
【国際調査報告】
2015505086.tif 000009
2015505086.tif 000010
2015505086.tif 000011