JP2008135005A - 動作制御タイミングモデル - Google Patents

動作制御タイミングモデル Download PDF

Info

Publication number
JP2008135005A
JP2008135005A JP2007250723A JP2007250723A JP2008135005A JP 2008135005 A JP2008135005 A JP 2008135005A JP 2007250723 A JP2007250723 A JP 2007250723A JP 2007250723 A JP2007250723 A JP 2007250723A JP 2008135005 A JP2008135005 A JP 2008135005A
Authority
JP
Japan
Prior art keywords
data
drive
controller
update
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007250723A
Other languages
English (en)
Inventor
Mark A Chaffee
マーク エー. チャフィー,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockwell Automation Technologies Inc
Original Assignee
Rockwell Automation Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rockwell Automation Technologies Inc filed Critical Rockwell Automation Technologies Inc
Publication of JP2008135005A publication Critical patent/JP2008135005A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25472Synchronise controllers, sensors, measurement with data bus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33273DCS distributed, decentralised controlsystem, multiprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34208Motion controller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34413Add time stamp to command message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Numerical Control (AREA)
  • Programmable Controllers (AREA)
  • Selective Calling Equipment (AREA)
  • Toys (AREA)

Abstract

【課題】ネットワーク上のタイムスタンピングプロトコルを利用する動作制御タイミングモデルを提供する。
【解決手段】特許請求された本発明の内容は、産業オートメーション環境内の動作制御に関連する動作を調整するための動作制御タイミングモデルの利用を容易にするシステムおよび/または方法を提供する。例えば、周期タイミング構成要素は、タイミングモデル(例えば、それは選択、プリセット等をすることができる)によって定められたタイミングを実行することができる。一例では、周期タイミング構成要素は、タイミングモデルを利用して、データの送信、データの受信、データに関連する計算の実行(例えばコマンドを生成するため)、データの取り込み、受信されたコマンドの適用等を調整することができる。
【選択図】 図1

Description

本発明は産業制御システムに関し、より詳しくはネットワーク上のタイムスタンピングプロトコルを利用する動作制御を可能にすることに関する。
コンピュータ技術の進歩により、今日の企業は、わずか数年前の本質的に同様の企業に比べてより効率的に業務を行うことができる。例えば、内部ネットワーキングにより、会社の従業員は電子メールで瞬時に通信し、データファイルを速やかに異なる従業員へ転送し、データファイルを操作し、プロジェクトに関連するデータを共有して仕事の生産物等中の重複を減らすことができる。さらに、工場アプリケーションは、技術の進歩によって部分的にあるいは完全に自動化できるようになった。例えば、かつて労働者が重機械や他の様々な危険な条件の近くで行わなければならなかった操作も、いまでは、それらから安全な距離を保って行うことができる。
さらに、人間の行動に付随する不完全性は、高精密な機械の利用を通じて最小限度に抑えられている。これらの工場の装置の多くは、生産に関するデータを、作業現場のシステム/プロセス/プロジェクトマネージャーがアクセスできるデータベースに供給する。例えば、センサーおよび関連するソフトウェアは、ある特定の機械が、決まった時間を与えられた作業を完了した回数を検知することができる。さらに、センサーからのデータをシステム警報に関係のある処理装置に伝達することができる。したがってファクトリーオートメーションシステムは、収集したデータを検討し、自動的かつ/または半自動的な装置の保守、装置の入れ替え、およびプロセスの自動化に関係する他の様々な工程のスケジュールを作成することができる。
産業プロセスの自動化に関してはさまざまな進歩があったが、コントローラの利用および設計にはほとんど変化がなかった。産業用コントローラは、産業プロセス、製造機器、およびネットワーク化されたシステムによるデータ収集のような他のファクトリーオートメーションプロセスの制御のために利用される専用コンピュータである。コントローラは、しばしば他のコンピュータシステムと協力して稼動し、大多数の近代的で自動化された生産工程が行われる環境を形成する。これらの工程は、鉄鋼生産のような材料のフロントエンド処理から、事前に処理された材料の組み立てを含む自動車生産のようなより入り組んだ製作過程までを含んでいる。しばしば、自動車の場合のように、複雑な組み立て品は産業制御プロセスを支援する先端技術ロボット工学で製造することができる。
制御システムは、ロボットなどの機械に関連する動作を制御するために使用することができる。これらのシステムの多くは、対象システム中の動作を命じるソースを含んでいる。例えば、ソース(例えばコントローラ)は対象物(例えば駆動装置、モータ等)を動作させるために利用することができる。動作制御は、コントローラから駆動装置へ送られるコマンドデータ、および駆動装置からコントローラへ送られる実データを定期的に更新することにより達成することができる。従来の動作制御ネットワークは、高性能の協調動作を達成するため、コントローラおよび多数の駆動装置間の正確な、時間的に同期したデータ交換を用いている。従来のネットワーク解決法は、ネットワーク更新周期がタイムスロットに分割されるタイムスロット手法を使用している。ネットワーク内の各ノードは、対応する、割り当てられたタイムスロットを利用してそのデータを送信する。
タイムスロット手法の利用は、イーサネット(登録商標)のようなオープンスタンダードネットワークとともに使用された場合、問題が多い。例えば、ノードがネットワーク上でいつ交信することができるか制限すると、標準イーサネット(登録商標)プロトコルが侵害され、通常、これらの動作制御プロトコルが一般ネットワークから切断された状態に留まるか、あるいはゲートウェイ装置を適用することが必要になる。さらに、タイムスロットプロトコルは、組み立てに対して広範囲な構成および調停を必要とし、通常ネットワークが動作している間、修正できない。したがって、ノードは実行中にネットワークに追加したり、ネットワークから取り除いたりすることができない。その結果、ネットワークの更新に関連する中断時間が高価なものになる。さらに、タイムスロットプロトコルを採用している装置は、コントローラの更新周期と同期して動作するようにせざるを得ない。したがって、駆動装置は、コントローラの更新期間の整数倍である1セットの更新頻度に限定される。
さらに、タイムスロット法はネットワークの全帯域幅をスケジュールする傾向があるため、従来の動作制御技術は、ネットワーク上の非動作制御データの通信を許容しない。従来の動作制御ネットワークプロトコルは、各ドライブノードがその実データを送るための特定のタイムスロット、およびコントローラがコマンドデータを送るためのタイムスロットを、形成するか交渉することができる。プロトコルによっては、更新周期の一部を、非動作制御データを渡すために確保しておくことができる。しかし、通常、複数の非動作ノードがネットワーク上で共存することはできない。なぜなら、それらノードは動作に関するタイムスロットスケジューリングに関連する送信と干渉するからである。したがって、非動作メッセージは、非動作メッセージ・タイムスロットが利用できるようになるまでその送信を遅らせるゲートウェイ経由でのみ、ネットワークを通して伝達することができる。
さらに、動作制御ネットワークは、従来、サイズと内容が固定されているデータ構造によって制約されてきた。そのような制約は、部分的には時間同期および決定性データ転送を提供するためにこれらのネットワークによって使用されるタイムスロットプロトコルに起因している。データ構造が、関連するタイムスロットに関するサイズ限度を越えると、送信が次のタイムスロットに割り当てられたネットワークノードからのデータと衝突するおそれがある。現在の動作制御プロトコルは、通常実行中に変更することができない、構成時間における固定長データ構造を定義する。なぜなら、タイムスロッティングは駆動装置とコントローラのノード間で受け渡しされるデータパケットのサイズに基づいて決定されるからである。したがって、ネットワーク帯域幅はしばしば不適当なサイズであるデータパケットにより浪費される(例えば、もしデータパケットが大きすぎれば、余分な「パッド」データがネットワーク上を送信され、もしデータパケットが小さすぎれば、データを伝えるために複数の送信が要求される場合もある)。
ここに記述されたいくつかの態様の基本的理解を与えるために、以下に特許請求された発明の内容の簡単な要約を示す。この要約は広範囲にわたる概観ではなく、鍵となる/重大な要素を識別することとか、あるいは特許請求された発明の内容の範囲を正確に描写することを意図するものではない。その唯一の目的は、後に述べるより詳細な説明の序論として、単純化した形式でいくつかの概念を示すことにある。
ここに記述された、特許請求された発明の内容は、産業オートメーション環境内の動作の制御に関連する工程を連携させるための動作制御タイミングモデルの利用に関する。例えば、周期タイミング構成要素は、タイミングモデルによって述べられるタイミング(例えば、選択されたり、プリセットされたりできる、等)を実行することができる。さらに説明すれば、周期タイミング構成要素は、タイミングモデルを利用して、データの送信、データの受信、データに関連する計算の実行(例えばコマンドの生成)、データの取り込み、受け取ったコマンドの適用などを連携させることができる。例えば、タイミングモデルは、粗い更新期間内の更新を行なうことができる、1サイクルタイミングモデルであってよい。さらに、2つの粗い更新期間内の更新を達成することができる、2サイクルタイミングモデルを利用することができる。さらに、更新を行なうために3つの粗い更新期間を使用する、3サイクルタイミングモデルを利用することができる。
1つ以上の態様によれば、動作制御は、産業オートメーション環境中でタイムスタンピングプロトコルを利用することによってネットワーク上で可能になる。コントローラと駆動装置は、動作制御をサポートするオープンネットワーク経由で交信できる。例えば、コントローラと駆動装置はイーサネット(登録商標)に基づくネットワーク上で交信することができる。コントローラおよび/または駆動装置は、動作に関連する通信を生成することができる。駆動装置は、例えば、関連する物理的性質(例えば実データ)を測定することができ、コントローラは、特別の駆動装置によって実施することができるコマンド(例えばコマンドデータ)を生成することができる。動作に関連するデータは、測定が行われた時間に関係しているかもしれないタイムスタンプ(例えば実データ)、および/またはデータがもたらされることになっている時間(例えばコマンドデータ)を含むことができる。さらに、動作制御ネットワーク内の各ノード(例えばコントローラ、制御軸オブジェクト、駆動装置、駆動軸オブジェクト等)は、異種のネットワークノードに関連する他の異種のクロックと同期できるクロックを利用することができる。したがって、動作制御ネットワーク内のノードは、時間についての共通の理解を得ることができる。ネットワーク時刻を利用すると、駆動装置は新しいコマンドを実行することができ、それらコマンドは、タイムスタンプに関連する時間に、受け取ったコマンドと関係付けることができる。さらに、駆動装置は、分析されるコントローラへ後に転送することができる実データとともに、測定が行われる時刻に関連するタイムスタンプを含むことができる。
1つの態様によれば、平衡更新周期を使用して、動作関連データおよび非動作関連データをネットワーク上で送信することができる。例えば、更新周期は、入力転送区間、計算区間および出力転送区間のようなさまざまな区間に分割することができる。動作関連データは入力転送区間(例えば、駆動装置からコントローラに実データを送信する)、および/または出力転送区間(例えば、コントローラから駆動装置にコマンドデータを送信する)中に転送することができる。これらの区間中において、非動作関連データと比較して、動作関連データにはより高い優先順位を割り当てることができる。したがって、動作関連データおよび非動作関連データの両方がこれらの区間中にネットワークを通して送信される場合に動作関連データの配送が最小の待ち時間で行われることを容易にするために、より高い優先順位の動作関連データは待ち行列において非動作関連データの前に並べることができる。さらに、計算区間中に、コントローラは受信された実データを評価することができ、さらにその後動作関連データの送信が静止している間に、動作入力データの後に送信するように待ち行列に入れられた、より低い優先順位の非動作データは、ネットワークを通して送信することができる。したがって当然、より低い優先順位の非動作データパケットのトラフィックは更新周期期間中の計算区間中に送信するように再編成される。データを転送する特別の時間に特別のノードを割り当てるためにタイムスロッティングを利用しないで更新周期を別個の区間へ分割すると、動作制御データおよび非動作制御データが同じネットワークを通して送信されることが可能になり、動作制御データがネットワークのリソースのすべてあるいは大多数を利用しないで済むようになる。
さらに、任意のサイズおよび/または構造に関連する動的データは、ここに説明される特許請求された発明の内容のタイムスタンピングプロトコルに関連して、利用することができる。例えば、データ構造のサイズおよび/または内容は更新ごとに変化することができる。一実施例によれば、データはその構造について記述するデータパケットのヘッダーに情報を含むことができ、受信ノードが受信データを利用することを可能にする。
タイムスロッティングプロトコルと異なり、タイムスタンプ動作制御データを利用すると、動作制御ネットワークの効率が向上する。例えば、タイムスタンピングによって、種々のサイズのデータパケットを使用することが可能になる。したがって、タイムスロッティング技術に関連する固定データ構造にはよくあることだが、ネットワーク上で追加のデータおよび/またはパケットを転送する必要はない。さらに、タイムスタンピングプロトコルの利用によって複雑さを低減することができる。さらに、タイムスタンピングプロトコルを利用すると、ノードを付加したりおよび/または動作制御ネットワークから取り除いたりすることができる。
前述の、およびそれに関連する目的の遂行のために、本発明の説明に役立つ態様を、以下の説明および付加された図面と関連して記述する。しかしながら、これらの態様は発明の原理が使用されうる少数のいろいろな方法のみを示すものであり、本発明は、そのような態様およびそれらと等価なものすべて含むことを意図している。本発明のその他の利点および新奇な特徴は、図面に関連して考えれば、以下の本発明の詳細な説明から明白になるであろう。
附属書Aは、タイムスタンピング動作制御に関連する様々な典型的な態様について記述する―この附属書は本出願の明細書の一部と見なされるべきである。
特許請求された発明の内容を、図面を参照して説明する。図中、同じ要素を指す場合には同じ参照番号を使用する。以下の説明では、説明の目的で、特許請求された発明の内容について完全に理解できるよう、特定の詳細が多数述べられている。しかしながら、そのような内容がこれらの特定の詳細なしで実行できることは明白である場合もある。他の例では、発明の説明を容易にするために、周知の構造物および装置をブロック図の形で示す。
この出願中で使用されるとき、「構成要素」、「システム」等の用語はコンピュータ関連の実体、すなわちハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェアあるいは実行中のソフトウェアのいずれかを指すものとする。例えば、構成要素はプロセッサ上で作動するプロセス、プロセッサ、オブジェクト、インスタンス、実行可能なもの、実行のスレッド、プログラムおよび/またはコンピュータであり得るが、これらに限定されるわけではない。実例として、コンピュータ上で作動するアプリケーションとコンピュータの両方が構成要素であり得る。1つ以上の構成要素がプロセスおよび/または実行のスレッド内に存在してもよく、また、構成要素は1つのコンピュータに局在しおよび/または2つ以上のコンピュータ間に分散してもよい。
さらに、特許請求された発明の内容は、標準プログラミングおよび/またはエンジニアリング技術を使用して、開示された発明の内容を実施するコンピュータを制御するソフトウェア、ファームウェア、ハードウェアあるいはそれらの任意の組合せを生産する方法、装置、あるいは製品として実施されてもよい。ここに使用される「製品」という用語は、任意のコンピュータが読める素子、キャリヤーあるいは媒体からアクセス可能なコンピュータプログラムを包含するものとする。例えば、コンピュータ読取り可能な媒体は磁気記憶装置(例えばハードディスク、フロッピー(登録商標)ディスク、磁気テープ等)、光ディスク(例えばコンパクトディスク(CD)、デジタル汎用ディスク(DVD)等)、スマートカードおよびフラッシュメモリ素子(例えば、カード、スティック、主要駆動装置等)を含むことができるが、これらに限定されない。さらに、なお、電子メールを送受信するか、インターネットあるいはローカルエリアネットワーク(LAN)のようなネットワークにアクセスするのに使用されるようなコンピュータ可読の電子データを搬送するために、搬送波を使用することができる。勿論、当業者は、特許請求された発明の内容の趣旨から逸脱せずに、多くの変更がこの構成になされる可能性があることを認めるだろう。さらに、「例示的な」という単語は、ここでは、例、過去の例あるいは説明の意味で使用される。「例示的である」としてここに説明された態様あるいは設計については、必ずしも他の態様あるいは設計より好ましいまたは有利であるとは解釈されない。
図1は、産業オートメーション環境中で動作制御に関連するタイミングを調整するシステム100を図示する。システム100は、異種の動作制御構成要素(図示せず)と交信する動作制御構成要素102を含む。動作制御構成要素102は、例えば駆動装置、駆動軸オブジェクト、コントローラ、制御軸オブジェクトなどであり得る。一例では、動作制御構成要素102は、コントローラと(例えばネットワーク接続経由で)交信できる駆動装置であり得る。そのようなものとして、駆動装置はコントローラに実データ(例えば、位置および/または速度へ関連づけられている)を送信することができる。また、コントローラは、1つ以上の駆動装置に送信することができるコマンドを生成するために実データを利用することができる。そのあと、この1つ以上の駆動装置は、このコマンドを利用して位置および/またはそれと関連する速度を更新することができる。しかしながら、特許請求された発明の内容が前述の例に限定されない。システム100は、動作制御構成要素102に関係した動作制御と関連する工程のタイミングを調整するためにタイミングモデルを利用する周期タイミング構成要素104をさらに含む。例えば、周期タイミング構成要素104は、データ送信、データ受信、データに関連する計算の実行(例えばコマンドを生成すること)、データの取り込み、受信コマンドの適用等を調整することができる。
動作制御構成要素102および異種の動作制御構成要素は、時間について共通の理解を有することができる。さらに、周期タイミング構成要素104は、時間についての共通の理解を利用して、特定のタイミングモデルに従ったタスクの遂行を達成することができる。例えば、このタイミングモデルは、入力トラフィックがネットワーク接続上で転送されうる(例えば、駆動装置がコントローラにデータを送信することができる)第1期間、動作トラフィックが生じない第2の期間、出力トラフィックが通信される(例えばコントローラが駆動装置へコマンドのようなデータを送信する)第3期間、などを提供することができる。しかしながら、特許請求された発明の内容はそのように限定されない(例えば、動作トラフィックがネットワークを横断しない期間を設ける必要はない、等)。したがって、タイムスロッティングにより各ノード(例えば各コントローラ、駆動装置、等)に独自の送信時間を割り当てる従来の技術とは対照的に、動作制御構成要素102は、複数のノード(例えば動作制御構成要素102および/または任意の異種の動作制御構成要素)が、共通の時間を利用して動作関連データ(および/または異なるタイプのデータ)をネットワーク接続経由で送信および/または受信できるようにする。
動作制御構成要素102からは分離しているものとして図示されているが、動作制御構成要素102は周期タイミング構成要素104および/またはその一部を含むことができると想定される。動作制御構成要素102のそれぞれは、図示されたように対応する周期タイミング構成要素104と結合されることができる。さらに/あるいは、周期タイミング構成要素104は複数の動作制御構成要素102と結合することができる。
周期タイミング構成要素104はいかなる形式のタイミングモデル(例えばいかなる形式の共通産業プロトコル(Common Industrial Protocol (CIP))動作タイミングモデル)も使用することができる。例えば周期タイミング構成要素104は、1つの粗い更新期間(Coarse Update Period (CUP))(例えばコントローラ更新期間、接続更新期間等)、2つのCUP、3つのCUPなどにおいて更新する位置および/または速度(例えば駆動装置の)をもたらすタイミングモデルを利用することができる。一例では、CUPは1ミリ秒であり得る。しかし、特許請求された発明の内容はこれに限定されない。
一例によれば、動作制御構成要素102は、実位置および/または速度と関連するデータを取り込むことができる駆動装置であり得る。周期タイミング構成要素104は、駆動装置がCUPの開始時期の実位置および/または速度と関係するデータを取得することが可能なようにすることができる。その後、駆動装置は、実位置および/または速度データをコントローラに送信することができ、またコントローラ(例えば周期タイミング構成要素104によって連携している)からデータ(例えばコマンド)を受信することができる。受信されたデータは駆動装置に関連する実位置および/または実速度を更新するために利用することができる。更新(例えば駆動装置での実データの取り込みから、取り込まれたデータに対応するコマンドデータを適用するまでの時間(それは位置更新遅延と呼ぶことができる))を行なうことに関連するCUPの数は、周期タイミング構成要素104によって利用されるタイミングモデルに依存することができる。
一例では、周期タイミング構成要素104はいかなる動作制御タイミングモデルも利用することができる。例えば、周期タイミング構成要素104はタイミングモデルを用いて予め設定できる。別の例によれば、周期タイミング構成要素104は一組のタイミングモデルの中から一つのタイミングモデルを選ぶことを可能にすることができる。そのような選択は、自動的に(例えば周期タイミング構成要素104によって)および/またはユーザー入力に応じて達成することができる。さらに、周期タイミング構成要素104によって利用されたタイミングモデルは更新することができる。しかしながら、特許請求された発明の内容は上述の例に限定されない。
図2−図4は、産業オートメーション環境中での動作制御データの転送および/または更新を調整するために周期タイミング構成要素(例えば図1の周期タイミング構成要素104)によって使用されるタイミングモデルの例を示す。これら図示されたタイミングモデルは例として用意されたものであり、特許請求された発明の内容がそのように限定されるわけではない。
図2は、産業オートメーション環境中の動作制御に関して利用される単一サイクルタイミングモデル200の一例を示す。単一サイクルタイミングモデル200は、位置および/または速度更新を1サイクル(例えば1つの粗い更新期間(CUP)、例えば1ミリ秒)で行なうために利用することができる。したがって、動作制御更新は最小の位置更新遅延で起こり得るため、単一サイクルタイミングモデル200は、複数の駆動軸間のマスタ−スレーブ関係に関して使用することができる。1 202で、駆動装置の粗い割込サービスは、サイクルの初めの駆動装置位置および/または速度を読むことによりスタートすることができる。例えば、駆動装置はフィードバックカウント数を取り込み、実位置および/または速度を計算することができる。図示されてはいないが、任意の数の駆動装置が同時に単一サイクルタイミングモデル200(および/またはここに説明されたいずれのタイミングモデルも)を利用することができると想定されている。2 204で、駆動装置はコントローラに(例えば媒体(ネットワーク)経由で)実際の入力データ(例えば、位置および/または速度に関連する)を送信することができる。3 206で、コントローラタスクは位相オフセット遅延の後にスタートすることができる。図示されたように、位相オフセット遅延は約330マイクロ秒であり得る。しかしながら、本発明の請求項はこの位相オフセット遅延の利用に限定されているわけではなく、代わりに、どんな位相オフセット遅延も使用することができる。コントローラは、駆動装置から得られた実データを読むことができる。さらに他の例によれば、コントローラの動作プランナは、駆動装置および/または異なる駆動装置からの位置データに基づきコマンド出力データ(例えば、位置および/または速度に関連する)を計算することができる。4 208で、コントローラは駆動装置にコマンド出力データを送信することができる。さらに5 210で、駆動装置の粗い割込サービスがスタートできる。例えば、駆動装置はコマンド出力データを読み、そのようなデータを駆動装置の制御構造に適用することができる。
コントローラがコマンド出力データを生成する時間セグメント(例えば3 206の)中に、非動作パケットはネットワーク経由で転送することができる。したがって、例えば、もしイーサネット(登録商標)モジュールが全負荷状態であっても、単一サイクルタイミングモデル200は非動作関連データのためにCUPの33%を留保しておくことができる。さらに、ネットワーク帯域幅の33%を駆動装置からコントローラへの入力データのために留保しておくことができ、また別の33%をコントローラから駆動装置への出力データ送信に利用することができる。したがって、単一サイクルタイミングモデル200は、バランスのとれた配信時間および入出力のためのネットワーク負荷を提供することができる。しかしながら、特許請求された発明の内容は前述の例に限定されるものではない。
次に図3を参照して、産業オートメーション環境中の動作制御(例えばCIP動作)のために使用することができる2サイクルタイミングモデル300の例を示す。1 302で、駆動装置の粗い割込サービスがスタートできる(例えば、フィードバックカウント値は取り込むことができ、実位置および/または速度を計算することができる)。2 304で、駆動装置はコントローラに実際の入力データを送信することができる。一例によれば、2サイクルタイミングモデル300は、入力データが駆動装置からコントローラへ送られる粗い更新期間すべてを利用することができる。例えば、入力データは、粗い更新期間の全期間中いつでも駆動装置からコントローラへ送ることができる。
3 306で、コントローラタスクは、コントローラに関連する次の更新期間中にスタートすることができる。例えば、コントローラは、直近の更新期間(例えば、2 304でコントローラへ実際の入力を転送するために利用される粗い更新期間)から直ちに実際の入力データを読むことができ、また、動作プランナは対応するコマンド出力データ(例えば、位置および/または速度に関係する)を計算することができる。4 308で、コントローラは駆動装置にコマンド出力データを送信することができる。コマンド出力データの転送は、例えばコントローラのコマンド出力データの計算の後に続くこの第2の粗い更新期間のどの時間にでも生じてもよい。5 310では、駆動装置の粗い割込サービスが始まり得る。こうして、駆動装置はコマンド出力データを読んで、それを駆動装置の制御構造に適用することができる。
2サイクルタイミングモデル300は、2つの粗い更新期間の位置更新遅延に関係付けられる。一例では、2サイクルタイミングモデル300は、入力通信用のネットワーク帯域幅の50%、および出力通信用のネットワーク帯域幅の50%を利用することができる。さらに、入出力配信時刻はバランスが取れていないことがある。例えば入力データに関連する送信は粗い更新期間全体を利用することができる一方、出力データ転送は粗い更新期間の一部だけしか利用できず、残りの粗い更新期間をコントローラがコマンド出力データの生成に関連して使用することができる。なお、入力と出力は、同じ粗い更新期間(例えばネットワーク経由の双方向トラフィック)中に送信することができる。したがって(図示されていないが)、駆動装置は図3に示されている両方の粗い更新期間中に実際の入力データを送信することができる。
図4は、動作制御(例えばCIP動作)に関して産業オートメーション環境の中で使用することができる3サイクルタイミングモデル400の例を示す。3サイクルタイミングモデル400は、第一の粗い更新期間を入力のために、第二の粗い更新期間を計算のために、および第三の粗い更新期間を出力のために利用することができる。一例によれば、第一、第二および第三の粗い更新期間は各々完全な粗い更新期間であり得る。3サイクルタイミングモデル400は、上述の2サイクルタイミングモデル(例えば図3の2サイクルタイミングモデル300)と次の点で、すなわち3サイクルタイミングモデル400は、出力転送のために利用されるサイクルの始まりにそのような計算を行なう場合と異なり、計算のための追加的な完全なサイクルを含むことができるという点で、異なり得る。
1 402で、駆動装置の粗い割込サービスは、フィードバックカウント数を取り込み、実位置および/または実速度を計算することによりスタートすることができるが、その一方で2 204では、コントローラタスクは同時にスタートすることができる。コントローラタスクは最後の粗い更新期間から実位置および/または実速度を読むことを可能にすることができる。さらに、3 406で、駆動装置はコントローラに実位置および/または実速度を送信することができる。さらに、4 408で、コントローラは最後のタスク実行から駆動装置に計算されたコマンド出力データ(例えば、位置および/または速度に関連づけられた)を送信することができる。5 410で、コントローラ動作プランナは、次の更新のためのコマンド出力データを計算することができる。さらに6 412で、コマンドデータを読み駆動装置の制御構造にそのようなデータを適用すること(例えば位置および/または速度を更新すること)により、粗い割込サービスがスタートできる。
3サイクルタイミングモデル400は、駆動装置からコントローラに実データを、およびコントローラから駆動装置にコマンド出力データ(例えば、前の粗い更新期間に受け取られた実データから計算された)を同時に移送することを可能にでき、また、両方の送信は、それらが有効にされる粗い更新期間全体を利用することができる。したがって、3サイクルタイミングモデル400は、ネットワーク接続(例えば、切り替えられたイーサネット(登録商標))の全二重性を活用することができる。3サイクルタイミングモデル400は、全二重ネットワーク帯域幅の100%を動作トラフィックのために使用することができる。しかしながら、特許請求された発明の内容はそのように限定されない。さらに、入出力パケットの並行処理を達成することができる(例えばネットワークが全負荷状態の場合)。さらに、3サイクルタイミングモデル400はバランスの取れた入力と出力の配信時刻を提供する。それらは各々1つの粗い更新期間であり得る。前述の単一および2サイクルタイミングモデルと比較して、3サイクルタイミングモデル400は、ミリ秒当たりより多数の軸をサポートすることができる。しかし、3サイクルタイミングモデル400は、3つの粗い更新期間の位置更新遅延に関係付けられる可能性がある。例えば、3サイクルタイミングモデル400(例えば、100メガビット/秒のイーサネット(登録商標)を使用する、125バイト/軸のパケットに基づいている)は100軸/msecをサポートでき、図3の2サイクルタイミングモデル300は50軸/msecをサポートでき、また、図2の単一サイクルタイミングモデル200は30軸/msecをサポートすることができる。したがって、3サイクルタイミングモデル400を利用して、多数の軸が使用可能になる。しかしながら、特許請求された発明の内容は、それぞれのタイミングモデルがある軸数/msec(またはバイト/軸)をサポートできるというようには限定されていない。
図5は、産業オートメーション環境中での動作制御に関連する入力送信をシリアル化するシステム500を示す。システム500は、同時(例えばタイミングモデルにが示す入力期間中の)に、あるいは同時に近い状態で入力データを送信することができる駆動装置502をいくつでも含むことができる。例えば、駆動装置502は、粗い更新期間の始め、あるいはその近くで入力データを送信することができる。この例によれば、駆動装置502の各々は、粗い更新期間の最初あるいはその近くに実データ(例えば、位置および/または速度に関連づけられている)を取り込むことができる。さらに別の例によると、これらのデータパケットは、高優先順位データパケットであり得る(例えば、非動作関連データパケットと比較して、動作関連データパケットはより高い優先順位に結びつき得る)。データはイーサネット(登録商標)スイッチ504に送信することができる。イーサネット(登録商標)スイッチ504は、その後駆動装置502からのデータをシリアル化し、このシリアル化データをさらにコントローラ506に転送することができる。
以下の説明全体を通して単一サイクルタイミングモデル(例えば図2の単一サイクルタイミングモデル200)が説明されているが、どんなタイミングモデルも使用することができる。例えば、単一サイクルタイミングモデルに加えてあるいはその代わりに、図3の2サイクルのタイミングモデル300および/または図4の3サイクルタイミングモデル400を利用することができる。
図6を見ると、産業オートメーション環境中で動作の制御を容易にするタイムスタンピングの仕組みを利用するシステム600が図示されている。システム600は、制御ネットワーク(図示せず)上でデータを受信および/または送信するインターフェース602を含む。インターフェース602は動作制御構成要素604にデータを供給する。同構成要素は受信したデータを使用して、あとでネットワーク上を異種の動作制御構成要素(図示せず)に逆送信され得る出力を生成する。動作制御構成要素604はクロック606、およびタイムスタンプ構成要素610を利用する更新構成要素608を含む。
インターフェース602は、ネットワークに交信可能に結合でき、そのネットワーク経由でデータを受信および/または送信できる。インターフェース602はハードウェア、ソフトウェアあるいはそれらの組合せであり得る。さらに、インターフェース602は、有線接続、無線接続、ポートなどであり得る。インターフェース602はネットワークからデータを得、かつ/またはネットワークにデータを供給する。そのネットワークは、例えばイーサネット(登録商標)系のネットワークのようなオープンスタンダードネットワークであってよい。さらに、このネットワークはDeviceNetおよび/またはControlNetネットワークであり得る。しかしながら、特許請求された発明の内容は、そのような例に限定されるものではない。ネットワークは、動作制御(例えば共通産業プロトコル(Common Industrial Protocol(CIP))ネットワーク)をサポートするどのネットワークであってもよい。インターフェース602はどのような形式のデータも受け取りかつ/または提供することができる。例えば、インターフェース602は、コマンドデータおよび/または実データ(例えば実際の第一位置、実際の第二位置、実際の速度、実際の加速度、実際のトルク、実際の電流、実際の電圧、実際の周波数等のような駆動装置に関連する実データ)を送受信できる。さらに他の例によれば、入出力データ、ヒューマン−マシンインターフェースデータ、ストリームビデオデータ、メッセージデータなども、インターフェース602経由で交換することができる。
インターフェース602は、動作制御構成要素604に交信可能に接続されている。動作制御構成要素604は動作制御ネットワーク中でノードに関係している。例えば、動作制御構成要素604は、コントローラ、駆動装置、制御軸オブジェクト、駆動軸オブジェクトなどであり得る。駆動装置はモータの動力を制御するように設計されている装置であり得る。制御軸オブジェクトは、コントローラに基づく軸の属性、サービスおよび挙動を定義するオブジェクトであり得る。さらに、駆動軸オブジェクトは、駆動装置に基づく軸の属性、サービスおよび挙動を定義するオブジェクトであり得る。軸は、ある形の動作を示す動作制御システムの論理素子であり得る。軸は、回転するもの、線形のもの、物理的なもの、仮想的なものが可能であり、制御、観察されることが可能である。オブジェクトは、例えばCommon Industrial Protocol(CIP)動作標準のような動作標準を利用することができる。ネットワークは、動作制御構成要素604に加え、同様の、任意数の異種の動作制御構成要素も含むことができると想定される。ここでそれぞれの動作制御構成要素は、ネットワークの異種のノードに関係付けられている。
動作制御構成要素604はクロック606を含む。クロック606は、動作制御ネットワーク内の様々なノードに位置する異種の動作制御構成要素に関連する、他のすべてのクロックと同期することができる。または、ネットワーク中の全ノードのサブセットのクロックは同期させることができる。IEEE 1588精密時間プロトコルは、例えば、クロック606と、他のネットワークノードに関連するクロックとの同期を可能にできる。クロック606を同期させるために考えられる他のプロトコルはNTM、NTPなどである。しかしながら、ここに付加された請求項はそのように限定されるわけではない。クロック606を他のノードと同期させることによって、ネットワーク全体に渉って時間についての共通の理解が存在することになる。例を挙げれば、クロック606は、精度がナノ秒の範囲(例えば50‐100ナノ秒の精度)にあるようにネットワーク中の異種のクロックと同期させることができる。クロック606はインターフェース602経由でマルチキャストパケットを受け取ることにより同期させることができる。一つの例では、マルチキャストパケットは、1ミリ秒毎、2ミリ秒毎等に動作制御ネットワーク上を送信されるタイムスタンプを含むことができる。クロック606はマルチキャストパケットを取得して、タイムスタンプに同期することができる。さらに、クロック606は、受信したマルチキャストパケットに同期する場合、ネットワーク遅延を補償することができる。
動作制御構成要素602はさらに、動作制御構成要素604に関連する特性を修正することができる更新構成要素608を含んでいる。実例として、更新構成要素608は、動作制御構成要素604によって利用されるコマンドの修正、異種の動作制御構成要素によって利用されるべきコマンドの生成、動作制御構成要素604に関連する測定データの更新等を容易にすることができる。例えば、動作制御構成要素602は、コントローラによって生成された新しいコマンドデータのセットを受け取ることができる駆動装置および/または駆動軸オブジェクトであり得る。インターフェース602はコマンドデータを受け取り、更新構成要素608はそのデータを処理することができる。実例として、コマンドデータは、駆動装置が特別の位置、速度、トルク等と関連付けられること、また、更新構成要素608はそのような変更を実行できること、を示すことができる。さらに、更新構成要素608は、駆動装置に関連する実データを測定し、その実データを、インターフェース602経由でネットワーク上をコントローラおよび/または制御軸オブジェクトに送ることができる。別の例によれば、動作制御構成要素604は、インターフェース602経由で駆動装置および/または駆動軸オブジェクトから実データを受け取るコントローラおよび/または制御軸オブジェクトであり得る。したがって、コントローラおよび/または制御軸オブジェクトは、更新構成要素608を利用して、駆動装置に関連する受信実データの評価に基づいたコマンドデータを生成することができる。その後、コマンドデータは、そのような変化を達成するためにインターフェース602経由でネットワーク上で適切な駆動装置および/または駆動軸オブジェクトに送ることができる。
更新構成要素608はタイムスタンプ構成要素610を用いて動作制御構成要素604および/または対応するデータの更新を実施することができる。タイムスタンプ構成要素610は、インターフェース602経由のネットワーク上の転送のために生成されたデータ中へタイムスタンプを組み込むことができる。さらに/あるいは、タイムスタンプ構成要素610はインターフェース602経由で受信したデータを評価して、そのデータと関連するタイムスタンプを識別することができる。データ中にタイムスタンプを含ませると、データを厳格な配信タイミングなしに配信することが可能になる。時間はタイムスタンプをデータ中に組み込むことにより明示的に搬送される。新しいデータが動作制御構成要素604によって受信されると、更新構成要素608はそのデータを、タイムスタンプ構成要素610によって識別されたタイムスタンプに対応する適切な時間に、そのタイムスタンプ値をクロック606によって特定された時間と比較することによって、利用することができる。さらに、クロック606が示す、測定が行われた時間は、タイムスタンプ構成要素610によって実データ中に組み込むことができる。これと対照的に、従来のタイムスロットプロトコルは時間を更新周期の一部として明示的ではなく搬送する。これは、通常いろいろな動作制御構成要素の厳格な、または「硬い」同期を必要とする。あるタイムスロットプロトコルに関連するデータが遅いと、それはもはやその本来の更新周期またはタイムスロットに関係付けられないため、そのデータは実際上失われる。
システム600上を転送されるデータ中にタイムスタンプを組み込むと、従来技術では一般的であるような、動作制御ネットワーク上の送信をタイムスロットへ時間的に組み込む必要性は軽減される。したがって、タイムスタンピングプロトコルは、特定のノードが通信を許される周期内の個々のタイムスロットの複雑な構成やネゴシエーションを要求しない。さらに、ネットワーク上を送信されるタイムスタンピングデータによって、スケジューリングの要求はネットワークに課せられないので、動作制御は非動作ネットワークのトラフィックをも含むネットワーク上で機能することができる。
図7に、動作制御ネットワーク中のネットワークリソース利用のバランスをとることを可能とするシステム700を示す。システム700はコマンドデータ、実データ、非動作関連データ等をネットワーク上で他のノードからまたは他のノードへ受信および/または送信するインターフェース702を含む。インターフェース702は動作制御構成要素704と結合されており、この構成要素はクロック706と更新構成要素708を含む。動作制御構成要素704は、動作制御ネットワーク中のノードと関連するハードウェアおよび/またはオブジェクトであり得る。更新構成要素708は動作制御構成要素704と関連するコマンドおよび/またはデータの更新を容易にする。更新構成要素708はさらにタイムスタンプをデータに組み込みかつ/またはデータと関連するタイムスタンプを評価することができるタイムスタンプ構成要素710を含む。
動作制御構成要素712は、接続更新期間の明確な区間への分割を可能にする周期タイミング構成要素712をさらに含む。例えば、接続更新期間は、3個の明確な区間、すなわち入力転送区間、計算区間、および出力転送区間に分割できる。実例として、クロック706は現在の時間を識別できるが、この時間は動作制御ネットワークのノードに渉って均一である。周期タイミング構成要素712は現在の時間に対応する区間を決定でき、したがって動作制御構成要素704が特定のアクションを遂行することを可能にできる。周期タイミング構成要素712は、動作制御構成要素704に含まれているものとして表される場合であっても、動作制御構成要素704から分離していたり、動作制御ネットワーク中の動作制御構成要素の一部だけに含まれたりしてもよいと考えられる。
一例では、周期タイミング構成要素712は、現在の時間が入力転送区間内にあることを認識することができる。したがって、周期タイミング構成要素712により、駆動装置および/または駆動軸オブジェクトからコントローラおよび/または制御軸オブジェクトへ、インターフェース702を介してネットワーク上でデータを送信することができる。したがって、もし動作制御構成要素704が駆動装置および/または駆動軸オブジェクトである場合、周期タイミング構成要素712は、インターフェース702および/または動作制御構成要素704がこの時間区間中に実データをコントローラおよび/または制御軸オブジェクトに送信できるようにすることができる。
他の例によれば、周期タイミング構成要素712は計算区間および/または出力転送区間を識別することができる。計算区間中に、コントローラは、入力転送区間中に受け取られた駆動装置入力データを処理し、駆動装置に返送すべき新しい出力データを計算する。このデータの送信は、計算区間の終わりまでに開始することができる。さらに、出力転送区間中に、出力データパケットは駆動装置に送られ、次の接続更新周期の開始に先立って到着することができる。
周期タイミング構成要素712は、各ノードがタイムスロッティング技術によって異なる時にデータを送信するよう予定するのではなく、動作制御ネットワーク内の駆動ノード(例えば動作制御構成要素704、異種の動作制御構成要素)が類似の時間および/または同時に実データを送信することができるようにする。周期タイミング構成要素712が、スイッチされる全二重イーサネット(登録商標)と関連して使用される場合、タイムスロッティング技術を利用せずに、駆動パケットをネットワークセグメント上で中央スイッチとコントローラの間で背中合わせにパックすれば、ネットワーク帯域幅をより効率的に使用できる。さらに、パケットは、タイムスタンピングプロトコルの使用によって、ネットワークのパケット間ギャップを用いて分離することができる。それに比べて、タイムスロットプロトコルは、タイムベース歪みおよび/または他の待ち時間の影響を吸収するために、送信されたパケットとパケットの間にさらに余裕部分を必要とする。
周期タイミング構成要素712を利用すると、非動作対応データ(例えば入出力データ、ヒューマン−マシンインターフェースデータ、ストリームビデオデータ、コントローラからコントローラへの明示的なあるいは非明示的なメッセージデータ等)を、動作関連データ(例えばコマンドデータ、実データ等)に加えてネットワーク上で送信することが可能になる。例えば、周期タイミング構成要素712は現在の時間が計算区間に関係しているという識別を容易にすることができる。計算区間に先立って、入力データ(例えば実データ)は駆動装置からコントローラに到着できる。計算区間中に、優先順位がより低いデータ(例えば非動作関連データ)はネットワーク全体にわたって通信することができる。
さらに、計算区間中に、コントローラ(例えば動作制御構成要素704)は入力データを評価し、駆動ノードのための新しいコマンド位置を計算することができる。入力データを評価できるのは、マスタ駆動装置とスレーブ駆動装置間がギヤおよび/またはカムで結ばれていることが多いからである。したがって、スレーブ駆動装置のために計算される新しいコマンドのために、マスタ駆動装置の現在位置が決定される。
更新周期は例えば周期タイミング構成要素712を用いて3分割することができる。しかしながら、どんな分割も利用可能であり、したがって、本発明の請求項はこの例に限定されない。この例によれば、最初の3分の1は、駆動装置からコントローラへの入力トラフィック用とし、最後の3分の1は、コントローラから駆動装置へ転送されるデータ用とすることができる。計算区間中に、より低い優先順位の非動作データは、ネットワーク中の様々なノードへ、およびノードから、送ることができる。
一例によれば、動作制御パケットはネットワーク上の転送用の最高優先順位と、そして非動作関連パケットはより低い優先順位と、対応付けることができる。駆動装置パケットを同時に送信すると、イーサネット(登録商標)スイッチに組み込まれたサービスの質(QoS)の機能性を効果的に使用して、より低い優先順位の非動作パケットの発信を、スピードが重視される高優先順位駆動パケットがコントローラに送信された後まで延ばすことができる。その後、非動作パケットはコントローラが計算を行なっている計算区間中に送信することができる。このような動作および非動作パケットの分離は、あるパケットが送信されることになっている特定のタイムスロットを利用せずに、自動的に達成することができる。
周期タイミング構成要素712が計算区間の終了を確認すると、動作制御パケットはネットワーク上で駆動装置に送信できる。したがって、新しいコマンドデータが次のサイクル中に使用するために駆動装置に提供される。周期タイミング構成要素712は、同期サービスを有するドライブ装置、および同期サービスを持たないドライブ装置をサポートすることができる。例えば、同期している駆動装置はタイマイベントの利用によりコントローラ介在のないコントローラへデータを送ることができる。別の例によれば、同期のない駆動装置はコントローラに実データを送り返す前にコントローラからのコマンド更新を待つことができる。
周期タイミング構成要素712は単一サイクルタイミングモデルの利用を可能にできる。例えば、スレーブコマンド位置配送によるマスタ実位置取り込みは、周期タイミング構成要素712経由で単一サイクル内に完了させることができる。これと対照的に、タイムスロッティングに関連している従来の技術では、タイムスロッティングプロトコルが、処理される実位置データのための時間を一般に見込んでおかないので、通常2サイクルタイミングモデルを使用し、また、コントローラのコマンドデータの前に送信されるべき新しいコマンドデータが、送信される。
図8は、動作制御ネットワーク中で動的に構造化されたデータの転送を可能にするシステム800を示す。システム800は、ネットワーク(例えばイーサネット(登録商標)、DeviceNet、ControlNet等)上でデータを受け取りかつ/または送信するインターフェース802と、動作制御ネットワーク内の特定のノードと関連している動作制御構成要素804(例えばコントローラ、制御軸オブジェクト、駆動軸オブジェクト等)とを含んでいる。動作制御構成要素804は、動作制御ネットワーク内の異種の動作制御構成要素(図示せず)に関係している他のクロックと同期しているクロック806を含んでいて、時間についての共通の理解を提供する。動作制御構成要素804は、さらに動作制御構成要素804に関連するコマンドおよび/またはデータの更新を可能にする更新構成要素808を含む。更新構成要素808はタイムスタンプ構成要素810、動的データジェネレーター812およびデータ形式評価装置814を含むことができる。
更新構成要素808は、例えば動作制御構成要素804(例えば駆動装置、駆動軸オブジェクト等)に関連するコマンドを、動作制御ネットワーク内の遠隔ノードに位置するコントローラによって生成され受信されたコマンドデータに基づいて、更新できる。さらに/あるいは、更新構成要素808は動作制御構成要素804(例えば、駆動装置、軸オブジェクト等)に関連する特性(例えば位置、速度、トルク等)を測定するために使用することができる。これら測定値は、その後動作制御ネットワーク上の異なるノードに位置する異種の動作制御構成要素に送信することができる。さらに、更新構成要素808は、コマンドデータを生成するために動作制御ネットワーク内の様々なノードに位置する任意の数の駆動装置から動作制御構成要素804(例えばコントローラ、制御軸オブジェクト等)が受信した実データを分析するために利用することができる。このコマンドデータは対応する駆動装置および/または駆動軸オブジェクトに送信することができる。動作制御構成要素804および/または更新構成要素808によって生成されたデータは、タイムスタンプを含んでいる。そのタイムスタンプはタイムスタンプ構成要素810によってパケットに組み入れることができる。さらに、タイムスタンプ構成要素810は、タイムスタンプを評価して、クロック806によって決定される特定の時間にアクションを行なうことを可能にする。
更新構成要素808は、任意のサイズおよび/または内容に関係し得る動的データを生成する動的データジェネレーター812を含んでいる。データ構造は更新ごとにサイズおよび/または内容が変化することがあり得る。動的データジェネレーター812は、データ内の構造の記述を含むことができる。例えば、動的データジェネレーター812は、データの構造を示すデータブロックヘッダーに情報を含むことができる。
さらに、動的データジェネレーター812は、単一の動的データパケット内に、異なる優先レベルを備えたデータブロックを生成することができる。優先レベルは、駆動装置(例えば受信動作制御構成要素経由で)においてデータが適用される割合を決定することができる。例えば、動的データジェネレーター812は、優先順位の高い周期的データブロック、優先順位が中程度のイベントデータブロック、および優先順位の低いサービスデータブロックを生成することができる。単一の動的データパケット内のこれら3つのデータブロックを組み合わせると、各タイプのデータ用の個々のパケットを送る場合と比較して、イーサネット(登録商標)帯域幅を効率的に使用することができる。
周期的データは、周期的にCIP動作接続によって転送することができる高優先順位リアルタイムデータでありえる。イベントデータは、指定されたイベントが生じた後、CIP動作接続によって転送することができる中間優先順位のリアルタイムデータであり得る。イベントは例えば登録、市場入力トランザクションなどであり得る。サービスデータは、コントローラによって要求された時、周期的にCIP動作接続によって転送することができる、より低い優先順位のリアルタイムデータであり得る。サービスデータは駆動軸オブジェクト属性にアクセスし、駆動装置に基づいた動作プランナを実行し、駆動装置診断などを行なうサービス要求メッセージを含むことができる。
更新構成要素808は、形式設定を決定するために動作制御ネットワーク内の異種のノードからインターフェース802経由で受信したデータを評価するために利用できるデータ形式評価装置814をさらに含んでいる。例えば、受信された動的データは、異なる処理優先順位を持つ異種のデータブロックが、動作制御構成要素804(例えばコントローラ、駆動装置等)内の定番地バッファ(図示せず)にコピーされることを可能にするオフセットをヘッダーに含むことができる。データ形式評価装置814は受信されたデータパケットの構造の理解を容易にすることができる。このデータパケットはその後更新構成要素808で使用することができる。
データパケットのサイズは、多くの理由で、更新の間に変化する場合がある。例えば、駆動装置の動作モードは、位置ループコントローラからトルクループコントローラへのように変化する場合がある。異なるデータがこれら異種の動作モードの各々に必要であり、したがって、変更が生じる時、データサイズは変化する。さらに、定期情報(例えば、診断情報、駆動装置の位置誤差の傾向と関連するデータ等)が駆動装置からコントローラに提供された場合、パケットのサイズは変化しうる。したがって、動的データジェネレーター812はこの情報を送信データに加えることができる。
従来の動作制御プロトコルは、構成時に固定サイズのデータ構造を利用するが、これは実行時間には変更することができない。したがって、データ構造の固定部分は頻繁に転送されるわけではないイベントデータおよびサービスデータと関連付けられるので、ネットワーク帯域幅は浪費される傾向がある。これに対して、動的データジェネレーター812および/またはデータ形式評価装置814を利用すると、ネットワーク上で送信されるデータのための柔軟で動的な形式が提供される。
図9は、動作制御ネットワークに対するノードの追加および/または削除を容易にするシステム900を示す。システム900は、ネットワーク上の交信を受信し、かつ/または送信するインターフェース902を含んでいる。例えば、実データ、コマンドデータおよび/または非動作関連のデータは、インターフェース902経由で送信しかつ/または獲得することができる。システム900はさらに動作制御構成要素904を含む。この要素は動作制御ネットワーク中のノードに関連付けることができる。例えば、動作制御構成要素904はコントローラ、制御軸オブジェクト、駆動装置、駆動軸オブジェクト、等であり得る。一例では、動作制御構成要素904が駆動装置であるなら、それはモータの動力の制御を達成することができる。他の態様によれば、動作制御構成要素904は、ネットワーク中の遠隔ノードに位置する駆動装置および/または駆動軸オブジェクトにインターフェース902を介して送信できるコマンドデータを生成できるコントローラであり得る。
動作制御構成要素904は異なる動作制御構成要素(図示せず)と関連するクロックと同期しているクロック906を含み、ネットワークを通じて時間の共通の理解を提供する。さらに、動作制御構成要素は、動作制御構成要素904と関連するコマンド、データ等の更新を容易にする更新構成要素908を含む。例えば、動作制御構成要素904は、特定の更新周期のためのコマンドデータを、インターフェース902を介して異なるネットワークノードに位置するコントローラから受け取る駆動装置であり得る。更新構成要素908は、駆動装置と関連するコマンドを修正して、受信したコマンドデータに従うようにすることを可能にできる。コントローラによって生成され受信されたコマンドデータは、そのコマンドデータが制御ループに適用されるべき時を示す関連するタイムスタンプを持っていることがあり得る。したがって、更新構成要素908は、受信されたコマンドデータに関連するタイムスタンプを評価するタイムスタンプ構成要素910を利用することができる。消費側ノードの動作制御構成要素(例えば、動作制御構成要素904、駆動装置、駆動軸オブジェクト等)は、タイムスタンプ構成要素910の利用によって、タイムスタンプを備えたコマンドデータを受け取ることができ、もしデータがネットワーク上の待ち時間により遅く到着したとしても、動作制御構成要素904はデータの待ち時間を補償し、データを適切な方法で制御ループに適用することができる。したがって、タイムスタンププロトコルは、遅延データの受信を見込んで、その遅延データの適用を可能にする。一方、硬く同期化された従来のタイムスロットプロトコルは、通常遅延データを許容せず、したがって一般的にはそのような遅延データを廃棄する。さらに、タイムスタンプ構成要素910は、駆動装置からコントローラへ送られるべき実データにタイムスタンプを組み入れることができる。そのような場合、タイムスタンプは、データが取り込まれた時刻と関係付けることができる。
動作制御構成要素904はさらにノード母集団構成要素912を含むことができ、これは動作制御ネットワークに対するノード(例えば様々な遠隔ネットワーク位置での異種の動作制御構成要素)の追加および/または削除をサポートすることができる。例を挙げれば、新しい駆動ノードをネットワークに加えることができ、ノード母集団構成要素912は新しい駆動ノードアドレスに割り当てられたコントローラの中の新しい制御軸オブジェクトの実例を示す助けになる。なお、ネットワーク構成に続いて、ネットワークに新しい駆動ノードを加えることができる。これと比較して、従来の技術は、構成ツールが動作制御更新周期をスケジューリングした後に、あるノードがあるタイムスロット内に通信することを許すためにノードを加えるか削除することをサポートしない。したがって、一般に従来の技術は、タイムスロットマッピングを再構成してネットワーク内のノード数の変更を可能にすることを必要としていた。対照的に、ノード母集団構成要素912は、構成の後および/またはネットワークが動作中に、ネットワークに対するノードの付加および/または除去を許容する。なお、ノード母集団構成要素912は動作制御構成要素904(例えばコントローラ)に含まれるものとして図示されているが、動作制御ネットワークおよびその組合せ等の中のいかなる場所にも位置するスタンドアローン構成要素であってもよい。
図10は、産業オートメーション環境中のオープンネットワーク上の動作制御を可能にするシステム1000を示す。システム1000は、タイムスタンプを備えたデータ(例えばコマンドデータ、実データ等)を受信し、そのデータを動作制御構成要素1004(例えば、駆動装置、駆動軸オブジェクト、コントローラ、制御軸オブジェクト、等)に提供するインターフェース1002を含んでいる。動作制御構成要素1004は、動作制御ネットワーク内の他のクロックと同期しているクロック1006を含むことができる。さらに、動作制御構成要素1004は、タイムスタンプ構成要素1010を含む更新構成要素1008を含むことができる。更新構成要素1008はタイムスタンプ構成要素1010を含み、タイムスタンプ構成要素1010は、動作制御構成要素1004の更新に関してインターフェース1002経由で送受信されるデータに関連するタイムスタンプを評価しかつ/または含むことができる。
動作制御構成要素1004は、タイムスタンプを利用している受信データを補間しかつ/または補外することができるデータ調節構成要素1012をさらに含むことができる。実例として、動作制御構成要素1004(例えばコントローラ)は、駆動装置からタイムスタンプを備えた実データを受信し、また、データ調節構成要素1012は、実データタイムスタンプを使用して実データからコントロール更新期間の開始に関連する時間を補外することができる。したがって、コントローラによって表現される実データは、コントロール更新期間開始時刻に関連付けることができる。別の例によれば、動作制御構成要素1004(例えば駆動装置)によって受信されたコマンドデータは、コマンドが制御ループに適用されることになっている場合に、データ調節構成要素1012経由で駆動装置更新期間の開始と揃えられるように補外されることができる。動作制御構成要素1004(例えば駆動装置)は、もし新しい駆動装置更新期間のための新しいコマンドデータがコントローラによって提供されない場合に、データ調節構成要素1012を利用して駆動装置の更新のためのコマンドデータを補外することもできる。したがって、データ調節構成要素1012は、送信待ち時間が乱れている間も継続的な動作を可能にすることができる。
図11は、時間スタンピングプロトコルを利用する動作制御ネットワーク上でコントローラおよび駆動装置の間の通信を容易にするシステム1100を示す。システム1100は、ネットワーク1106上でデータを送信するコントローラ1102(例えば制御軸オブジェクト)および駆動装置1104(例えば、駆動軸オブジェクト)を含んでいる。コントローラ1102は、受信された実データを評価し、かつ/またはそのような評価に基づいたコマンドデータを生成できる更新構成要素1108を含む。更新構成要素1108は、受信された実データに関連するタイムスタンプを評価することができ、かつ/またはネットワーク1106経由で駆動装置1104に送信されるべきコマンドデータを備えたタイムスタンプを含むことができる、タイムスタンプ構成要素1110を利用する。実データのタイムスタンプは、駆動装置が実際の特性を測定した時間と対応付けることができる。さらに、コマンドデータのタイムスタンプは、駆動装置が関連するコマンドを実行するべき時間と関係付けられる。
駆動装置1104はさらに、更新構成要素1112およびタイムスタンプ構成要素1114を含むことができる。更新構成要素1108および更新構成要素1112は実質的に類似したものにすることができ、かつ/または、タイムスタンプ構成要素1110およびタイムスタンプ構成要素1114は、実質的に類似したものにすることができることは認識しておく必要がある。しかしながら、特許請求された本発明の内容はそのように限定されていない。
周期タイミング構成要素(図示せず)(例えば図2の周期タイミング構成要素212)は、システム1110に関連して利用して更新周期を異種の区間へ分割することを可能にすることができる。例えば、周期タイミング構成要素は更新周期を3つの区間、すなわち、入力転送区間、計算区間、および出力転送区間、に分割することができる。本例によれば、入力転送区間中に、駆動装置1104は測定値に対応する実データをネットワーク1106上でコントローラ1102へ転送することができる。さらに、計算区間は、コントローラ1102が送信された実データを評価し、かつ/または駆動装置1104によって使用される新しいコマンドデータを生成する時間を提供することができる。計算区間の経過中に、非動作関連データをネットワーク1106上で送信することができる。さらに出力転送区間中に、コントローラ1102は、ネットワーク1106経由で、生成されたコマンドデータを駆動装置1104に提供することができる。3つの区間は相互の比較で任意の長さの時間になり得る。例えば、更新周期の3分の1が区間の各々に割り当てられることもあり得る。しかしながら、特許請求された本発明の内容はそのように限定されておらず、その代り、任意の比率の使用を想定している。さらに、区間の長さは実行中に変化する可能性がある。実例を挙げれば、もしネットワーク1106がほんの少量の動作制御データしか転送せず、一方大量のI/Oデータを通信する場合、計算区間はより高いI/Oトラフィックを収容するために拡大されるかもしれない。別の例によれば、最適化は、計算区間がI/O要求、動作制御トラフィック、計算上の要求、軸の数等に基づいて決定されるように、リアルタイムで達成されることができる。
周期タイミング構成要素を利用するさらに別の例によれば、非動作データは、更新周期の任意の区間中に送ることができると想定される。例えば、スイッチはデータを待ち行列に並べて、高優先順位の動作関連データが適切な区間中にバッファの前方に配置される一方、低優先順位の非動作関連データは計算区間中に送信することができるようにすることができる。さらに、インプット転送区間および/または出力転送区間が動作関連データで完全には満たされていない場合、動作関連データの送信の後に非動作関連データを送信して、ネットワーク帯域幅を最大限に利用することができる。
図12は、タイムスタンピングプロトコルの使用を通じて、動作制御データおよび/または非動作データをネットワーク上でコントローラと駆動装置の間で通信することを可能にするシステム1200を示す。システム1200はM台のコントローラ1202とN台の駆動装置1204とを含む。ここにMとNは任意の正の整数である。コントローラ1202はネットワーク1206を経由して駆動装置と交信する。コントローラ1202は更新構成要素1208を含むことができ、この構成要素はコントローラ1202の更新に関してタイムスタンプ構成要素1210を利用する。さらに、駆動装置は更新構成要素1208に実質的に同様であり得る更新構成要素1212と、タイムスタンプ構成要素1210と実質的に同様であり得るタイムスタンプ構成要素1214とを含むことができる。さらに、CIP動作は、ピアコントローラ1202同士間、あるいはピア駆動装置1204同士間のピアツーピア接続をサポートすることができる。例えば、マルチキャストのピアツーピア接続を使用することができる。
システム1200は例えば複数のコントローラ1202の利用をサポートする。これに比べ、従来のタイムスロッティングプロトコルは、通常1つのネットワーク上で複数のコントローラを使用することができない。コントローラ1202は実質的に同様の更新期間あるいは異なる更新期間で動作することができる。一例によれば、これらのコントローラ1202は、位相シフトを利用してコントローラ1202の各々に対応する動作データトラフィックのバランスを保つことができる。しかしながら、特許請求された本発明の内容はそのように限定されていない。
システム1200は、いかなる時でも駆動装置1204の追加および/または削除をサポートする。一例では、駆動装置1204は構成が行われた後に追加することができる。これは、タイムスロッティングを使用する従来の動作制御プロトコルでは許容されない。さらに、システム1200が動作中でも、駆動装置1204は追加および/または削除することができる。したがって、通常タイムスロットプロトコルの再構成に見られる休止時間は削減される。
図13は、CIP動作駆動接続上でのデータ交信を容易にするシステム1300を示す。CIP動作駆動接続は二つの一方向ユニキャスト接続を含むことができ、1つはコントローラ1302から駆動装置1304へのデータの送信であり、もう一つは駆動装置1304からコントローラ1302へのデータの送信である。両接続とも、タイムスタンプ(例えば32ビットのタイムスタンプ)からなるヘッダーと、駆動ノードにサポートされた各軸インスタンスのための一連のデータブロックとを含むデータ構造を利用することができる。インスタンスは、さらに多軸駆動プラットホーム用のラックスロットによって構成することができる。
駆動装置1304とコントローラ1302の間のデータ交換のペースは、コントローラから駆動装置へのデータパケットが1つ受信されるごとに駆動装置からコントローラへ1つのデータパケットが送信されるように、コントローラ1302によって調整される。コントローラ対駆動装置接続パケットは、構成されたコントローラ更新期間にしたがって周期的に送ることができる。このコントローラ更新期間は接続更新期間と同じである。駆動装置がそのコントロール計算を行なう更新期間に対応する駆動装置更新期間は、コントローラ更新期間より速くてもよく、また通常はコントローラ更新期間より速い。従来の時間スロット動作制御プロトコルは硬く同期されており、駆動装置更新期間の整数倍であるコントローラ更新期間を利用する。しかしながら、CIP動作駆動接続パケットはタイムスタンプを含んでいるので、コントローラ更新期間が駆動装置更新期間と整数関係を持つことは要求されない。
CIP動作駆動接続パケット内のインスタンスデータブロックは、それぞれ周期的データチャネル1306、イベントデータチャネル1308、およびサービスデータチャネル1310に関連する3セットのデータブロックを含むことができる。ある一定の更新用データブロックのサイズは可変で、接続およびインスタンスデータブロックヘッダーによって決定することができる。さらに、一例によれば、データチャネル(例えば周期的データチャネル1306、イベントデータチャネル1308、サービスデータチャネル1310)は異種のデータ処理優先順位を持つことがあり得る。
周期的データチャネル1306は、接続更新期間中にサンプリングおよび/または計算できる周期的なデータブロックを搬送することができる。さらに、周期的データチャネル1306は、配分されたシステム時間の利用によって動作制御システム中の他のノードと同期を取ることができる。周期的なデータは、直ちに処理されかつ/または駆動装置更新期間内の駆動軸に適用される、高優先順位データであり得る。
イベントデータチャネル1308は、駆動イベント(例えば登録、ホーミング等)に関連するデータを搬送することができる。これらのイベントは接続更新期間内に生じる可能性がある。イベントデータの優先順位は中程度でよく、イベントデータは接続更新期間内に処理されかつ/または適用されることができる。
サービスデータチャネル1310は、オンライン構成および/または診断の機能性の一部として駆動軸オブジェクトの属性値を読みかつ/または書くために、サービスリクエストに関連するデータを搬送することができる。さらに、サービスデータチャネル1310は、コントローラ命令実行の一部として駆動軸オブジェクトの挙動に影響を与えるサービスリクエストを提供することができる。サービスデータの優先順位は最下位でよく、またサービスデータはバックグラウンドタスクとしてバッファに格納し、かつ/または処理することができる。さらにサービスリクエストは、接続更新期間内あるいはそれより遅い任意の時点で処理することができる。
CIP動作駆動接続の構造は、サイズおよび/または内容において動的であり得る。各ブロックの構造は接続構造内のヘッダーの内容によって決定することができ、したがって、コネクションデータを解釈する駆動装置に個別の構造形式の定義を送る必要性は軽減される。さらに、CIP動作コネクションデータ構造内のデータはすべて例えば単一のオブジェクトを目標とすることができる。
図14−図16には、特許請求された本発明の種々の態様に従う諸手法が図示されている。説明を簡潔にするために、各手法は一連の行為として示され説明されているが、特許請求された本発明の内容は行為の順序によって限定されない。なぜなら、ここに示され記述されたものとは異なり、いくつかの行為が異なる順序で生じる場合および/または他の行為と同時に生じる場合があるからである。例えば、当業者には当然のことであるが、手法というものは、状態図のように一連の相互に関連する状態あるいはイベントとして、別の形で表わされる可能性もある。さらに、特許請求された本発明の内容に従う手法を実行するために、図示された行為のすべてが必要とされるとは限らない可能性もある。また、以下およびこの明細書の全体にわたって開示された諸手法を製品に格納し、コンピュータにそのような方法を送り転送することを容易にすることもできる。ここに使用されている製品という用語は、任意のコンピュータが読める素子、キャリヤーあるいは媒体からアクセス可能なコンピュータプログラムを包含することを意図している。
図14は、産業オートメーション環境中のネットワーク上のタイムスタンピングプロトコルによって動作制御を容易にする手法1400を示す。1402で、タイムスタンプは動作関連データに組み入れられる。動作関連データは、例えば駆動装置に使用されて動作における変化をもたらす、コントローラによって生成されたコマンドデータであってもよい。別の例によれば、動作関連データは、実データ(例えば、実際の第一位置、実際の第二位置、実際の速度、実際の加速度、実際のトルク、実際の電流、実際の電圧、実際の周波数等の、駆動装置に関連する実際のデータ)であり得る。実データはある測定可能な値であって、次の更新周期で使用される適切なコマンドを生成するために、コントローラが使用することができるものである。動作関連データに組み入れられたタイムスタンプは、コマンドが実施されるべき時間(例えばコマンドデータの利用)および/または測定(例えば実データの利用)に関連する時間に関連付けることができる。タイムスタンプは、例えば動作関連データパケットのヘッダーに含まれる。
1404で、タイムスタンプを備えた動作関連データはネットワーク上を送信される。任意のネットワークおよび/またはネットワーク接続の利用は特許請求された本発明の範囲以内にあると想定される。一例によれば、データは、CIPネットワークのような、動作制御をサポートするネットワーク上を転送できる。例えば、データはコントローラから駆動装置(例えばコマンドデータ)に、および/または駆動装置からコントローラ(例えば実データ)に送信することができる。1406では、タイムスタンプを備えた動作関連データが受信される。1408では、受信装置(例えばコントローラ、制御軸オブジェクト、駆動装置、駆動軸オブジェクト等)はタイムスタンプを含む動作関連データを利用して更新することができる。例を挙げれば、コントローラは、測定が駆動装置でなされた時間に対応するタイムスタンプを備える実データを受け取ることができる。したがって、コントローラはこのデータを使用して、駆動装置に逆転送できかつ/または次の更新周期の間に駆動装置によって実行することができる、新しいコマンドを生成することができる。他の説明によれば、駆動装置はコマンドが実行されることになっている時間(例えば、駆動装置には、特定の位置、速度、加速度、トルク、電流、周波数、電圧等を変更する命令を与えることができる)に対応付けられたタイムスタンプを備えるコマンドデータを受け取ることができる。その時間は動作制御ネットワーク内のノードを同期させることにより決定することができる。したがって、時間についての共通の理解が存在することになる。対応する時間が来ると、駆動装置は新しいコマンドを実行することができる。したがって、タイムスロッティング技術とは対照的に、厳格な構成要求は軽減でき、構成の後に続いてノードの追加または削除ができ、そして今回のスタンピングを使用することにより、ネットワーク待ち時間により遅延したとしても、データをやはり利用することができる。
図15は、動作制御ネットワークのための動作制御更新に関連する、バランスのとれた単一サイクルタイミングを可能にする手法1500を示す。1502で、タイムスタンプは動作関連データに関係付けられる。1504で、タイムスタンプを備えた動作関連データを送信するための適切な区間が識別される。例えば、ノードに関連するクロックは、異種のノードと関係する異種のクロックと同期させてネットワーク内の時間についての共通の理解を生み出すことができる。さらに、現在時間に基づいて、特定の区間を識別することができる。一態様によれば、更新周期は入力転送区間、計算区間および出力転送区間に分割することができる。入力転送区間中には、動作関連データは駆動装置からコントローラに送信することができ(例えば実データの送信)、一方出力転送区間中には、動作関連データはコントローラから駆動装置に送信することができる(例えばコマンドデータの送信)。計算区間中では、動作関連データの発信は静止していて、それによって、非動作関連データは利用可能なネットワーク帯域幅を利用できる。1506では、動作関連データは識別された時間区間中にネットワーク上をタイムスタンプ付きで送信される。1508で、タイムスタンプ付き動作関連データは受信ノードによって受信される。1510で、受信ノード(例えば受信装置)は、受信されたタイムスタンプ付き動作関連データに基づいて更新することができる。
図16は、動作制御ネットワーク上で動的な動作関連データの送信を可能にする手法1600を示す。1602で、動的な動作関連データが生成される。データ構造のサイズおよび/または内容は、1つの更新から次の更新の間で変化することができる。動的な動作関連データは、構造の説明をデータ自身内、例えばデータパケットのヘッダー中に含むことができる。1604では、タイムスタンプは動作関連データ中に組み込まれる。例えば、タイムスタンプは、アクションが実行されるべき時間(例えば新しいコマンドデータの利用)および/またはアクションが行われた時間(例えば実データに関連する測定)に関係付けることができる。1606では、タイムスタンプを備えた動作関連データは、ネットワーク上を(例えばコントローラから駆動装置まで、駆動装置からコントローラまで)送信される。1608では、タイムスタンプ付き動作関連データが受信される。1610では、タイムスタンプ付き動作関連データの形式が決定される。例えば、受信データのヘッダーを評価して、構造を識別することができる。そのような決定は、データの復元を容易にするために実施することができる。1612では、タイムスタンプ付き動作関連データは受信装置を更新するために利用される。
図17−図25は、タイムスタンピング動作制御に関連する種々の態様を図示する典型的なタイミングダイヤグラムである。なお、これらのタイミングダイヤグラムは例として示されるものであり、特許請求された発明の内容はこれらの例に限定されない。
個別にみていくと、図17は、コントローラ対駆動装置接続によって送られたコマンドデータとタイムスタンプを精密な補間を利用する駆動軸に適用する方法を示す例示的なタイミングダイヤグラムである。この例によれば、接続データは、コントローラ更新期間(CUP)が駆動装置更新期間の整数倍でない接続サイクル中に、コントローラから駆動装置に転送される。制御タスクの一部として、コントローラは、新しいコマンドデータを備えたコントローラ対駆動装置接続パケットの送信を、インクリメンタルな更新IDおよび現在のコントローラ更新期間の開始時を参照する新しいコントローラタイムスタンプを備えた駆動装置をターゲットとして開始する。目標軸のためのインスタンスデータブロックはさらに指令目標時間を含んでいるが、それはこの例においてはコントローラタイムスタンプに加算されるべき2*コントローラ更新期間(CUP)の細かい補間遅延をサポートするために、2にセットされている。駆動装置は、新しいコントローラ対駆動装置接続のパケットデータのためのすべての駆動装置更新期間をチェックする周期的な駆動タスクを作動させるが、これは変更された更新IDをチェックすることにより遂行することができる。もし駆動タスクが新しいデータを発見した場合、これはコマンドデータ更新周期であり、コマンドデータはさらに処理することができる。
その後、駆動装置は同期動作をチェックすることができる。もし駆動装置が同期されていない場合、遅い更新チェックを行なう必要はない。これは、遅い更新チェックを省略することで、始動時あるいは駆動装置が時間同期サービスを持たないときに、駆動装置の制御が可能になるからである。もし駆動装置が同期されていれば、駆動装置は現在の駆動装置更新タイムスタンプと、コントローラ対駆動装置接続パケット中のコントローラタイムスタンプとの間の差を計算する。もしその差がコントローラ更新遅延上限*コントローラ更新期間より大きい場合、駆動装置はコントローラ更新の障害を投げる。さらに、もし時間差が接続更新期間の2倍を超過している場合、現在の精密補間多項式は事実上、新しいデータが到着するまで駆動装置が遅いデータ条件に乗ることを許容する、補外多項式となる。
コマンドデータはその後に適用することができる。この例では精密な補間器が使用されるので、駆動装置は、コントローラタイムスタンプのターゲット時間に適用されているコマンドリファレンス(Tctr1)と、指令目標時間とコントローラ更新期間の積(2*CUP)との和に基づいて、精密補間多項式用係数を計算する。もしターゲット時間が駆動装置中の現在のシステム時間未満である場合、このコマンドデータに基づいて多項式への新しい係数がさらに計算され、補外計算の精度を向上させる。一般に、コマンドデータが遅い場合はいつでも、データはまだ利用可能な最も新しいコマンドデータを表わし、できるだけ早く適用されるべきである。
図18は、コントローラ更新期間(CUP)が駆動装置更新期間の整数倍ではない、別の例示的なタイミングダイヤグラムを示す。この例に示されるように、指令目標時間は1にセットされ、計算された多項式は、精密補間ではなくむしろ補外の目的で適用される。この補外により、駆動装置は、前の軸軌跡に基づいてその制御計算を行なう時に正確なコマンドデータ値を計算することができる。
図19は、異なる駆動装置更新期間を有する2つの駆動軸と、これら駆動装置更新期間のどちらの整数倍でもない1つの関連するコントローラ更新期間との間の連携を示す例示的なタイミングダイヤグラムである。コントローラの動作プランナタスクは、同一のコマンド位置およびタイムスタンプを、システム時間と同期してはいるが異なる駆動装置更新レートで作動している2つのスレーブ駆動軸に送る。コマンド位置データが2つの駆動装置に到着すると、それらはコントローラタイムスタンプ、指令目標時間およびコントローラ更新期間を使用して、(コントローラタイムスタンプ+指令目標時間*コントローラ更新期間)に等しい時間の多項式値は指定されたコマンド位置値であるという制約に基づいて、補間多項式への新しい係数を計算する。駆動装置更新レートへの依存性がないので、各駆動装置によって計算された多項式の係数は同一であり得る。いずれの駆動装置もこの目標時間と一致する更新を持たないので、駆動装置は、新しいコマンド位置がコントローラから受信されるまで、精密補間多項式を使用して各駆動装置更新のコマンド位置参照値を計算する。もし新しいコマンド位置が目標時間のかなり後まで到着しない場合、駆動装置は同じ多項式を使用し続けて、上記のダイヤグラム中に示されるような後続の駆動装置更新のためのコマンド位置を「補外」する。この補外は、新しいデータが到着し、新しい係数を計算することができるまで継続する。このようにして、補間によると補外によるとに関わらず、各スレーブ軸は滑らかに作動し、2つの軸はマスタ軸と位相固定された状態を保つ。
図20は、コントローラ対駆動装置接続パケットがCIPネットワークを伝わる間に著しい遅延を招く場合であっても、多数のCIP運動駆動軸の正確な協調を維持することができることを示す例示的なタイミングダイヤグラムである。この例によれば、スレーブ駆動軸2用のパケットは送信の間に重要な遅延を招いている。その結果、この軸に対するコマンド位置は最後の精密補間多項式から補外される。これにより、軸は送信待ち時間の乱れを通って滑らかに移動することができる。新しいコマンドデータが到着すると、新しい指令値が補外エラーのために補外値に合わないことがある。このエラーは結果として動作プロファイルへの乱れをもたらす場合がある。補外エラーの大きさは、動作プロファイルの動力学およびコントローラ更新レートに依存する。現実世界の応用においては、ほとんどの場合、いくつかの更新期間にわたって続く送信待ち時間は、関連する動作プロファイルを大きく乱すことなしに生じ得る。
図21は、駆動装置とコントローラの間の相対タイムスタンプに基づいて、コントローラが駆動装置からの軸位置データを調節する方法を説明する例示的なタイミングダイヤグラムである。例えば、もしドライブタイムスタンプがコントローラのローカルな更新タイムスタンプと一致しない場合、コントローラは軌跡に基づいてコントローラのタイムスタンプに対応するように実際の応答データ値を補外することができる。
図22は、実データと、駆動装置対コントローラ接続によって配信されたタイムスタンプとをどのように使用して駆動軸の実際位置をコントローラのタイムベースに調節できるかを示す例示的なタイミングダイヤグラムである。軸が同期されていると、駆動装置は、現在の駆動タスクタイムスタンプを最後のコマンドデータ更新中に決定される実際の更新ウィンドウと比較する。実際の更新ウィンドウは、1つの駆動装置更新期間分存続し、次のコントローラ更新の計算された時間に終了する。タイムスタンプがタイムウィンドウ内にあれば、これは実データ更新周期である。タイムスタンプがウィンドウの前にあれば、駆動装置は後続の駆動タスクを待ってコントローラへ実データを送る(これは、フィードバックの取り込みと、次のコントローラタスクの開始の間に過度の時間があるような状況を防ぐ)。軸が同期されておらず、コマンド更新がコントローラ対駆動装置接続を介して受信される場合、これもまた実際の更新周期であり、駆動装置は以下のように進む。この他の場合には、いかなるアクショもとられず、タスクは終了する。
もし実際の更新周期が識別される場合、駆動装置は、現在の駆動装置の更新タイムスタンプおよびインクリメントされた更新IDを含むこの駆動タスクからの最新の実データと共に、駆動装置対コントローラ接続パケットをコントローラへ送る。このパケット中のコントローラへ送られた追加のデータはすべて前の駆動タスクに由来していてもよい。これにより駆動タスク実行中の最も初期の時点で駆動送信が生じる。コントローラはさらに変更された更新IDをチェックすることにより、駆動装置からの新しいデータをチェックする。下記は更新IDが変わったかどうかにかかわらず行なわれる。ある態様によれば、更新IDは駆動装置が同期されていない場合に新しい実データを検出する唯一の方法である場合がある。
さらに、駆動装置は、駆動ノード制御バイトの同期されたビットをチェックして、駆動軸が同期されているかどうかを判断する。もし駆動軸が同期されていない場合、コントローラは、実データを適用して遅い更新チェックおよびタイムスタンプ補正を回避する。こうした回避をすると、始動時、あるいは駆動装置が同期サービスを全く持っていない場合でも、駆動装置の作動が可能になる。
遅い更新チェックを利用して、コントローラが現在の接続更新期間タイムスタンプと、駆動装置対コントローラ接続パケット中のタイムスタンプとの間の差を計算することもできる。その差が逃した更新の許容範囲*更新期間より大きい場合、コントローラはコントローラ同期の障害を投げる。さらに、以前に計算された時間差が0でない場合、実データ値を前の軸の実際の軌跡に基づいて補外し、コントローラのタイムスタンプと並べることができる。動作プランナは実際の入力が暗黙の中にコントローラ更新期間の始めにタイムスタンプされていると考えるので、この補正は必要な場合もあり。さらに、コントローラは実データを動作プランナへの入力として適用することができ、動作プランナは新しいコマンド参照データを計算する。
図23は、駆動装置対駆動装置ピア接続によって配信された実データおよびタイムスタンプを、駆動軸の実際位置をコントローラのタイムベースに合わせるのに使用する方法を示す例示的なタイミングダイヤグラムである。この例において、マスタ軸位置は生産側駆動装置によって捕捉され、マルチキャストCIP動作ピア駆動装置対駆動装置接続(例えば伝導軸システムアプリケーション中の)を経由して、1つ以上の消費側駆動装置に送られる。マスタ実位置が別の駆動装置によって消費される場合、接続上に生じた遅延を補うために、補外は消費側によって行われる。これは、消費されている実データ要素に関連する生産側のタイムスタンプTproと、消費側のコントローラによってラッチされた消費側のタイムスタンプTconとを使用して行われる。ひとたびピア接続遅延の補正がなされれば、消費側駆動装置に関連する遠隔スレーブ軸は電子伝動装置によってマスタ軸に対して正確に同期させることができる。これは、消費側と生産側の駆動装置が異なる更新レートで作動している場合に利用することができる。さらに、消費側と生産側の双方の駆動装置が分配されたシステム時間から離れて作動する限り、消費側の駆動装置の更新期間は生産側駆動装置より長かったり短かったりする。
図24は、生産側駆動装置が多数の消費側駆動装置にコマンド位置を分配する場合の、例示的なタイミングダイヤグラムである。マスタコマンド位置が別の駆動装置によって消費される場合、消費側によって補外が行われ接続上に生じた遅延を補償する。これは、消費されている実データ要素に関連する生産側のタイムスタンプTproと、消費側のコントローラによってラッチされた消費側のタイムスタンプTconとを使用して行われる。ひとたびピア接続遅延の補正がなされれば、消費側駆動装置に関連する遠隔スレーブ軸は、電子伝動装置によってマスタ軸に対して正確に同期させることができる。
図25は、生産側の駆動装置が、ローカルなマスタコマンド位置参照の適用をマスタコマンドの遅延を表わす生産側更新期間Tmcd1個分だけ遅延させるように構成されている場合の、例示的なタイミングダイヤグラムである。これはピア接続上に生じた遅延を補償するため必要とされる補外量を最小限度に抑える。この例において、マスタコマンドの遅延は250マイクロ秒である。消費側駆動装置の更新期間も250マイクロ秒なので、正味の補外時間は0である。
図26では、発明の種々の態様を実施するための例示的な環境2610は、コンピュータ2612を含む。コンピュータ2612は演算処理装置2614、システムメモリ2616およびシステムバス2618を含む。システムバス2618は、システムメモリ2616を含むがこれに限定されないシステム構成要素を、演算処理装置2614に結合する。演算処理装置2614は様々な利用可能なプロセッサのどれでもよい。2重のマイクロプロセッサおよび他のマルチプロセッサアーキテクチャも演算処理装置2614として使用することができる。
システムバス2618は、メモリーバスまたはメモリーコントローラー、周辺バスか外部バス、および/または、8ビットバス、工業標準アーキテクチャ(ISA)、マイクロチャネルアーキテクチャ(MSA)、拡張ISA(EISA)、インテリジェント駆動装置エレクトロニクス(IDE)、VESAローカルバス(VLB)、周辺構成要素相互接続(PCI)、ユニバーサルシリアルバス(USB)、高度なグラフィックスポート(AGP)、パーソナルコンピュータメモリーカード国際機関バス(PCMCIA)および小コンピュータシステムインターフェース(SCSI)を含むがこれに限定されない利用可能なバスアーキテクチャを使用するローカルバス、を含む数種のバス構造のうちのどれであってもよい。
システムメモリ2616は揮発性メモリ2620および不揮発性メモリ2622を含む。起動時などにコンピュータ2612内の構成要素間で情報を転送する基本ルーチンを含む基本入出力システム(BIOS)は、不揮発性メモリ2622に格納されている。限定としてではなく例としてあげれば、不揮発性メモリ2622は読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的にプログラマブルなROM(EPROM)、電気的に消去可能なROM(EEPROM)あるいはフラッシュメモリを含むことができる。揮発性メモリ2620はランダムアクセスメモリ(RAM)を含むが、それは外部キャッシュメモリとして働く。限定としてではなく例としてあげれば、RAMは、同期RAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、エンハンストSDRAM(ESDRAM)、シンクリンクDRAM(SLDRAM)およびダイレクトラムバスRAM(DRRAM)など、さまざまな形で利用可能である。
コンピュータ2612は、取外し可能な/取外し可能でない、揮発性の/不揮発性のコンピュータ記憶媒体も含んでいる。図26は、例えばディスク記憶装置2624を示す。ディスク記憶装置2624は、磁気ディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、Jazドライブ、Zipドライブ、LS−100ドライブ、フラッシュ・メモリカードあるいはメモリースティックのような装置を含むが、これらに限定されない。さらに、ディスク記憶装置2624は記憶媒体を、他の記憶媒体と分離したあるいは結合した状態で含むことができる。他の記憶媒体としては、コンパクトディスクROM装置(CD-ROM)、CD記録可能ドライブ(CD-Rドライブ)、CD-書き換え可能なドライブ(CD-RWドライブ)あるいはデジタル汎用ディスクROMドライブ(DVD-ROM)のような光ディスクドライブが含まれるが、これに限定されない。ディスク記憶装置2624をシステムバス2618に容易に接続するため、通常インターフェース2626のような取外し可能か取外し不可能なインターフェースが使用される。
図26は、ユーザーと、適切な操作環境2610に記述された基礎的なコンピュータリソースとの間の仲介者として働くソフトウェアを示す。そのようなソフトウェアはオペレーティングシステム2628を含む。オペレーティングシステム2628はディスク記憶装置2624上に格納することができ、コンピュータシステム2612のリソースを制御し割り付ける働きを有する。システムアプリケーション2630は、システムメモリ2616またはディスク記憶装置2624上に格納されたプログラム・モジュール2632およびプログラムデータ2634を通してオペレーティングシステム2628によってリソースの管理を利用する。なお、本発明の内容は、様々なオペレーティングシステムあるいはオペレーティングシステムの組合せで実行することができる。
ユーザーは入力装置2636を通してコンピュータ2612へコマンドまたは情報を入力する。入力装置2636はマウス等のポインティング装置、トラックボール、スタイラス、タッチパッド、キーボード、マイクロホン、ジョイスティック、ゲームパッド、衛星放送アンテナ、スキャナ、テレビジョンチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラ等を含むが、しかしこれらに限定されない。これらおよび他の入力装置はインタフェースポート2638経由でシステムバス2618を通して演算処理装置2614に接続する。インタフェースポート2638は、例えばシリアルポート、パラレルポート、ゲームポートおよびユニバーサルシリアルバス(USB)を含んでいる。出力装置2640は、入力装置2636として同一形式のポートのうちのいくつかを使用する。したがって、例えばUSBポートは、コンピュータ2612に対して入力をし、またコンピュータ2612から出力装置2640へ情報を出力するために使用されてもよい。出力アダプタ2642は、他の出力装置2640の中でも、モニター、スピーカーおよびプリンターのようないくつかの出力装置2640が特別のアダプタを要求することを示すために図示されている。出力アダプタ2642は、出力装置2640とシステムバス2618との間の接続の手段を提供するビデオおよびサウンドカードを含むが、これらは例示のために挙げたものであって、これに限定されるものではない。なお、他の装置および/または装置のシステムは、遠隔コンピュータ2644のように、入力と出力能力の双方を提供する。
コンピュータ2612は、遠隔コンピュータ2644のような1つ以上の遠隔コンピュータへの論理的接続を使用して、ネットワーク化された環境中で作動することができる。遠隔コンピュータ2644は、パーソナルコンピュータ、サーバー、ルーター、ネットワークPC、ワークステーション、マイクロプロセッサベースの機器、ピア装置あるいは他の共通ネットワークノード等であり、また通常コンピュータ2612に関連して記述した構成要素の多くあるいはすべてを含む。簡潔にする目的で、遠隔コンピュータ2644では記憶装置2646だけが図示されている。遠隔コンピュータ2644は、ネットワークインターフェイス2648を通してコンピュータ2612に論理的に接続され、また、通信接続2650経由で物理的に接続される。ネットワークインターフェイス2648は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)のような通信網を包含する。LAN技術はファイバー分配データインターフェース(FDDI)、銅分配データインターフェース(CDDI)、イーサネット(登録商標)/IEEE 802.3、トークンリング/IEEE 802.5などを含んでいる。WAN技術は二地点間リンク、統合サービスデジタルネットワーク(ISDN)のような回線交換網およびその変形、パケット交換ネットワーク、またデジタル加入者回線(DSL)を含んでいるが、これらに限定されない。
通信接続2650は、ネットワークインターフェイス2648をバス2618に接続するために使用されるハードウェア/ソフトウェアを指す。通信接続2650は、図面を明確にするためにコンピュータ2612の内部に示されているが、それはコンピュータ2612の外部にあってもよい。ネットワークインターフェイス2648への接続に必要なハードウェア/ソフトウェアは、例を挙げる目的だけのために言うなら、通常の電話級モデム、ケーブルモデムおよびDSLモデムを含むモデム、ISDNアダプタおよびイーサネット(登録商標)カードなどのような内部および外部技術を含む。
図27は、本発明が関与することができる、サンプルを計算する環境2700の概要ブロック図である。システム2700は1つ以上のクライアント2710を含む。クライアント2710はハードウェアおよび/またはソフトウェア(例えばスレッド、プロセス、計算装置)であり得る。システム2700はさらに1つ以上のサーバー2730を含んでいる。サーバー2730もまたハードウェアおよび/またはソフトウェア(例えばスレッド、プロセス、計算装置)であり得る。サーバー2730は、例えば、本発明を使用して変換を行なうためにスレッドを収容することができる。クライアント2710とサーバー2730との間の1つの可能な通信は、2つ以上のコンピュータプロセス間で送信されるのに適したデータパケットの形とすることができる。システム2700は、クライアント2710とサーバー2730との間の通信を容易にするために使用することができるコミュニケーションの枠組み2750を含む。クライアント2710は、クライアント2710の局所的情報を格納するために使用することができる1つ以上のクライアントデータ記憶装置2760に操作可能に接続される。同様に、サーバー2730は、サーバー2730の局所的情報を格納するために使用することができる1つ以上のサーバーデータ記憶装置2740に操作可能に接続される。
上の説明は、発明の実施例を含んでいる。本発明を説明する目的のために、構成要素または手法のすべての考えられる組合せを述べることはもちろん不可能であるが、当業者には、多くのさらなる本発明の組合せおよび置換が可能であることが認識できるであろう。したがって、本発明は、添付の特許請求の範囲の精神および範囲内におけるすべての変更、修正および変形を包含することを意図している。さらに、「を含む」という用語が詳細な説明または請求項のどちらかで使用されるかぎりにおいて、この用語は、請求項中で転換句として使用されたときの「からなる」の解釈と同様に包括的である。
附属書A
1 接続
CIP動作は、駆動軸オブジェクトがサポートする3つの異なる接続構造を定義する。コントローラ対駆動装置の接続、駆動装置対コントローラの接続および駆動装置のピアツーピア接続である。初めの2つの接続構造は、コントローラ軸オブジェクトと駆動軸オブジェクトとの間に双方向接続を提供し、ともにCIP動作駆動接続と呼ばれる。駆動装置のピアツーピア接続は、それが駆動装置に適用されるように、等しくピアコントローラに適用されるCIP動作ピア接続の特定の応用である。
1.1 CIP動作駆動接続
次のセクションに、動作コントローラと駆動装置間の双方向データ転送のためのコントローラ対駆動装置接続および駆動装置対コントローラ接続を含むCIP動作駆動接続形式について記述する。
1.1.1 駆動接続の特徴
以下はCIP動作駆動接続に関連する特徴のリストである:
1. 1つのコントローラ更新期間の待ち時間付き周期的なデータおよびイベントを通過させる能力。
2. 駆動構成、チューニングおよび診断用の駆動装置に低優先順位サービスを要求する能力。
3. 双方向ユニキャスト接続を用いたスター形またはディジーチェーン型ネットワークトポロジに適用可能。
4. 1つのネットワークノード当たり軸インスタンスを255まで扱う能力。
5. 1つの通信ノードがサービスする多数の軸インスタンスを有する駆動装置を扱う能力。
6. 要素定義はベンダ固有の拡張のみならず標準拡張の余地を提供する。
7. 個々の軸インスタンスは異なる接続データ構造を持ちうる。
8. 駆動動作モードおよび周期的コマンドの双方ならびに実データセット構成は、駆動動作モードが進行中にその同期変更を可能とする周期的データ構造に組み込まれている。
9. 多チャンネルのパラメータの周期的リード/ライトアクセスをサポートする。各データチャネルの内容は周期的な接続データの一部として明確に定義されているので、関連データがどんな属性をマップしているかについて曖昧さがない。
10. データバッファ/配列転送サービスをサポートする。この配列データの転送能力は、高速化する駆動装置から配列データを得るために使用するか、高速ゲインスケジューリングまたはカムテーブル構築用に配列データを駆動装置に設定するために使用することができる。
11. 障害およびシャットダウン要求のクリア等の様々な基本状態制御機能を開始するためのエラー報告付き駆動制御および駆動応答ビットのハンドシェーキングメカニズムをサポートする。
12. 接続ヘッダはタイムスタンプを含み、コントローラまたは駆動装置のコントローラの更新タイマイベントが発生した時にシステム時間を提供する。
13. 接続タイミングモデルは、タイムスタンプ付きデータを用いて、異なる更新レートおよび位相オフセットを有する駆動装置およびコントローラをサポートすることができる。従って、コントローラの更新期間は駆動装置の更新期間の整数倍である必要はなくなった。
14. 接続タイミングモデルは、低価格VFD駆動装置等の時間同期サービスを持たない駆動装置で動作する能力をも含む。
15. 標準イーサネット(登録商標)トランスポートプロトコル(例えばTCPおよびUDP)を用いた重要なHMI、I/O、メッセージングおよび他のイーサネット(登録商標)トラッフィック、CIPまたは非CIPの存在下で確実に動作する能力。
16. 既存のノードへのCIP動作駆動接続動作に悪影響を与えることなく、実行中にイーサネット(登録商標)ノードを加えるか取り除く能力。(ネットワークトポロジ依存)。
17. 他の駆動ノードの動作を混乱させることなくオンラインでCIP動作駆動ノードを加えるか取り除く能力。(ネットワークトポロジ依存)。
18. 送信されたコマンドデータを実現できる限り最大限に利用する遅れたまたは逃した更新パケットの存在下での動作制御性能の向上。
19. 既存の駆動装置および制御装置ならびにCIP動作駆動接続データ構造の旧バージョンとの上位互換を容易にする組み込み型接続形式改訂。
20. 接続形式は、32ビットワードが32ビットで配列し、16ビットワードが16ビットで配列されるように組織されている。これによりメモリアクセスが容易になる。
Figure 2008135005
Figure 2008135005
1.1.2 CIP動作駆動接続の概要
CIP動作駆動接続は、実際には2つの一方向性ユニキャスト接続から成る。1つはコントローラから駆動装置へとデータを渡し、他方は駆動装置からコントローラへとデータを渡す。双方の接続データ構造は、駆動ノードがサポートする各軸インスタンス毎に一連のデータブロックが後に続く32ビットのタイムスタンプを含む接続ヘッダから始まる。

駆動装置とコントローラ間のデータ交換は、受信されたコントローラ対駆動装置のデータパケットごとに送信される駆動装置対コントローラの1つのデータパケットを用いてコントローラがペースを定める。コントローラ対駆動装置の接続パケットは、構成されたコントローラ更新期間に従って定期的に送信される。駆動装置更新期間、即ち駆動装置がその制御演算を行なう更新期間は、通常コントローラ更新期間よりはるかに早く、ほとんどの動作制御プロトコルは、コントローラ更新期間が駆動装置更新期間の整数倍であることを必要とする。しかし、CIP動作駆動接続パケットがタイムスタンプを包含しているので、コントローラの更新期間は駆動装置の更新期間といかなる固定関係をも持つ必要はない。詳細なタイミングダイヤグラムがこの文献の終わりに含まれている。

CIP動作駆動接続パケット内のインスタンスデータブロックはそれぞれ、周期的、イベントおよびサービスデータ・チャネルに関連する3セットのデータブロックから成る。これら所与の更新用データブロックのサイズは可変であり、接続およびインスタンスデータブロックのヘッダによって決定される。駆動装置の観点から、これら別個の3つのデータチャネルは、図8に示すような異なるデータ処理優先順位を有する。

これら3つのデータチャネルに固有の機能性は以下のとおりである:

●周期的データチャネル−コントローラ更新期間毎にサンプリングまたは演算され、かつ分配されたシステム時間の使用を通じて動作制御システムにおける他のノードと同期した周期的なデータブロックを運ぶ。周期的データは、直ちに処理されねばならず、1つの駆動装置更新期間内の駆動軸に適用されねばならない高優先順位のデータである。

●イベントデータチャネル−最後のコントローラ更新期間内に発生した駆動イベント(例えば登録、ホーミング等)に関連するイベントデータを運ぶ。イベントデータは中間の優先順位を有し、1つのコントローラ更新期間内に処理され適用されるべきデータである。

●サービスデータチャネル−駆動軸オブジェクトの属性値をオンライン構成および診断機能性の一部として読み取りまたは書き込むサービス要求に加え、コントローラ命令実行の一部として駆動軸オブジェクトの挙動に影響するサービス要求と関連するデータを運ぶ。サービスデータは最下位の優先順位にあり、通常バックグラウンドタスクとしてバッファされ処理される。サービス要求がコントローラ更新期間内に処理されるという保証はない。

まとめると、これら3つのデータチャネルは産業用動作制御の駆動データ接続ソリューションに包括的なコントローラを提供する。
1.2 コントローラ対駆動装置接続
その構成データ要素の個々の詳細な説明を容易にするために、CIP動作コントローラ対駆動装置の接続を以下のように組織する:
Figure 2008135005
1.2.1 コントローラ対駆動装置の接続ヘッダ
コントローラ対駆動装置の接続ヘッダは、インスタンスデータブロックの解析に必要とされる重要な軸構成情報を含む。接続ヘッダの固定部分を以下のように定義する。
Figure 2008135005
●接続形式:この列挙されたバイトは、次の定義によるCIP動作接続形式を決定する:
Figure 2008135005
●接続方式:この4ビットの列挙は下に示すようなCIP動作接続方式を定義する。コントローラ対駆動装置の接続に対する有効値は2と6である。固定接続は操作中の固定接続サイズを有し、ControlNetおよびDeviceNetのように低性能かつ通常、時間同期サービスをサポートしない単純な単軸駆動装置に関連するCIPネットワークをサポートする。可変接続は、接続データ構造のサイズが動作中に変化することを許容し、またEtherNet/IPのような高性能CIPネットワークを対象とする。

0=固定式コントローラ・ピアツーピア接続
1=固定式駆動装置ピアツーピア接続
2=固定式コントローラ対駆動装置接続
3=固定式駆動装置対コントローラ接続
4=可変式コントローラ・ピアツーピア接続
5=可変式駆動装置ピアツーピア接続
6=可変式コントローラ対駆動装置接続
7=可変式駆動装置対コントローラ接続
8−15=予備

●形式改訂:最初は1から始まり、この値はインターフェースに影響を及ぼすコントローラ対駆動装置接続の形式の改訂ごとに1ずつ増える。形式改訂は、新しい駆動装置が古いコントローラによって生成される接続形式をサポートできるようにする。また、古い駆動装置が、サポートできないコントローラからの新しい接続形式を認識して適切なエラーを生成することを可能にする。

●更新ID:この周期的なトランザクション番号は更新期間ごとにインクリメントされる。更新IDはCIPシーケンスカウントに似ており、接続バッファに新しいデータが含まれているかどうかを判断するために駆動装置が使用する。更新IDが変化していない場合、駆動装置は新しいデータが到着するまで、前の軌跡に基づく補外によって、更新を逃していてもそれなしで乗り切ろうとする。駆動軸が同期していないか、時間同期サービスをサポートしない場合、タイムスタンプデータは含まれていないか無効のいずれかであり、補外の乗り切りは試みられない。その場合、駆動装置にとっては更新IDが新しい接続データを検出する唯一の手段となる。

●ノード制御:関連する駆動装置用通信ノードの状態を制御するのに使用されるビットが含まれる。
Figure 2008135005
遠隔操作ビットは、駆動ノードが駆動装置の完全な制御をコントローラに渡すことを要求するのに使用される。このビットが空である場合、駆動装置はローカルインタフェースの排他的制御の下にある;CIP動作コントローラは、駆動装置を遠隔制御モードに切り替えること以外、駆動装置の挙動に何ら影響を及ぼすことはできない。

同期制御ビットは駆動装置の同期動作を要求するためにコントローラが使用する。同期動作はシステム時間に同期した駆動ノードのローカルタイマを有し、かつ駆動ノードは、接続データを処理するためにコントローラタイムスタンプを使用していると定義される。同期制御ビットは、またコントローラタイムスタンプが有効であることを暗に示す。ビットは同期動作の継続中引き続き設定されているものとする。非同期モードにおいて、ローカルタイマが同期されていることは要求されないし、タイムスタンピングは必要でなく、有効であることすら要求されない。

コントローラデータ有効ビットは、駆動ノードがインスタンスデータブロックを処理するように設定されねばならない。接続初期設定シーケンス中には、インスタンスデータブロックにおいて接続データがまだ初期化されていない期間がありうる。駆動装置は、このビットをまずチェックして空であると見いだすことにより、この状態を認識することができる。

ノード障害リセットビットは、駆動装置が通信ノードをリセットしてノード障害ビットのクリアを試みるよう要求するのに用いる。コントローラがノード障害ビットが空であると検出すると、ノード障害リセットビットがクリアされる。通信障害が続く場合、ノード障害ビットはセットされたままでよく、その場合、電力サイクルまたは完全な再構成処理を行なわねばならない。
1.2.1.1 固定接続ヘッダ
接続形式が固定式コントローラ対駆動装置接続である場合、インスタンスデータブロックが上記ヘッダの直後に続く。
1.2.1.2 可変接続ヘッダ
接続形式が可変式コントローラ対駆動装置接続である場合、接続ヘッダは多軸駆動装置のアドレス指定およびタイムスタンピングと関連する追加フィールドを含む。
Figure 2008135005
●インスタンスカウント:この値は、CIP動作コントローラ対駆動装置の接続データ構造内にあるインスタンスデータブロックの数を反映する。

●タイムコンフィギュレーション:このビットマップバイトは、コントローラのタイミング情報の使用法および形式を決定するフラグを含んでいる。
Figure 2008135005
●コントローラ更新期間:この要素は、コントローラデータの更新期間をナノ秒で指定する。接続が同期しているとき、駆動装置はコントローラタイムスタンプと共にコントローラ更新期間を用いて、逃したまたは遅れた更新をチェックすることができる。最後のコントローラタイムスタンプと現在のローカル駆動装置タイムスタンプとの間の差が、下記により与えられる極大値を越える場合、

最大遅延=コントローラ・更新遅延上限*コントローラ更新期間

駆動軸オブジェクトのノード障害クラス属性にコントローラ更新障害ビットを設定する。また、オプションコントローラ更新遅延下限属性も利用できる。最後のコントローラタイムスタンプと現在のローカル駆動装置タイムスタンプとの間の差が、下記により与えられる極大値を越える場合、

最大遅延=コントローラ更新遅延下限*コントローラ更新期間

駆動軸オブジェクトのノード警報クラス属性にコントローラ更新警報ビットが設定される。

接続が同期され微細な補間が可能であるとき、駆動装置はコントローラタイムスタンプ値と共にコントローラ更新期間を用いて補間/補外多項式に対して新しい係数を計算する。

接続が同期しない場合、駆動装置は遅延更新チェックを行なわない。この場合、コマンドデータは直ちに適用されるべきであり、このことは指令リファレンスとしてのデータを直ちに適用することを意味する。

●コントローラタイムスタンプ:この要素は、コントローラの更新タイマイベントが発生したとき、コントローラ更新期間の初めに64ビットのシステム時間値の下位32ビットを運ぶ。従って、コントローラタイムスタンプは、接続に含まれるコマンドデータと直接関連付けられている。駆動装置は駆動装置のローカルシステム時間値の上位32ビットを使用してこの値を元の64ビットの表現に戻す。単位タイムスタンプはナノ秒で表わされる。コントローラ更新期間と一緒にすると、駆動装置は、駆動装置とコントローラ間の更新タイミングの差に対してコマンドデータ値を修正するためのコマンド補間/補外多項式の計算に必要な情報をすべて所有する。これらの差は、コントローラ更新期間が駆動装置の更新期間の整数倍でないか、駆動装置の更新がコントローラに対して位相ずれを起こしたときに発生しうる。
1.2.2 インスタンスデータブロック
接続ヘッダの後に、上記インスタンスカウントによって決定される1つ以上のインスタンスデータブロックがある。インスタンスデータブロックは次の基本構造を有する:
Figure 2008135005
1.2.2.1 インスタンスデータヘッダ
インスタンスデータヘッダは、3つのデータチャネルに含まれるデータを解析し適用するのに必要な重大な軸構成情報を含んでいる。このヘッダは多軸駆動装置の用途に対応するために可変接続形式に含まれているだけである。駆動装置通信用インタフェースは、ヘッダ内の情報を使用して処理用に別々の固定記憶装置の位置に個別データブロックをコピーすることができる。

固定接続形式に対して構成されれば、単軸インスタンス用の周期的データブロックだけがサポートされ、どの情報もインスタンス番号かブロックサイジングを指定する必要はない。従って、インスタンスデータヘッダは含まれない。
Figure 2008135005
●インスタンス番号:これは次のインスタンスデータブロックが適用される固有の駆動軸オブジェクトインスタンスを識別する番号である。駆動軸オブジェクトインスタンスは、インスタンス1から始まる連続的な一連のインスタンス番号として作成される。接続データ構造内では、個々の連続のインスタンスデータブロックのインスタンス番号は序数のシーケンス、即ち1、2、3等とすべきである。(ただし、インスタンス0はクラスインスタンスとして定義され、一般に接続データの一部として使用されない。)このように、CIP動作駆動接続は理論上255のインスタンスにサービスすることができる。

●インスタンスブロック長:この値は、ヘッダを含む32ビットワードのインスタンスデータブロックのサイズを表わす。インスタンスブロック長は、駆動装置が周期的、イベントおよびサービスのブロックのサイズを追加する必要なく次のインスタンスデータブロックに直接アクセスしたいときに有用である。

●周期的ブロック長:この値は周期的データブロックに対するサイズをヘッダを含む32ビットワード単位で表わす。

●周期的コマンドブロック長:この値は周期的コマンドデータブロックに対するサイズをヘッダを含む32ビットワード単位で表わす。

●周期的書込ブロック長:この値は周期的書込データブロックに対するサイズをヘッダを含む32ビットワード単位で表わす。周期的書込ブロック長0は、駆動装置が周期的読書き機能性をサポートする必要がないことを示す。

●イベントブロック長:この値はイベントデータブロックに対するサイズをヘッダを含む32ビットワード単位で表わす。イベントブロック長が0である場合、駆動装置はイベント機能性をサポートする必要はない。

●サービスブロック長:この値はサービスデータブロックに対するサイズをヘッダを含む32ビットワード単位で表わす。サービスブロック長の値0は、処理するサービス要求がないことを示す。
1.2.2.2 周期的データブロック
周期的データブロックの最上部の周期的データヘッダは接続形式にかかわらず常に含まれている。このヘッダは、コントローラ対駆動装置接続および駆動装置対コントローラ接続の双方の周期的データブロックの内容と関連した重要な要素および制御モードとフィードバックコンフィギュレーションによって決定されるデータのコンテキストを含む。ヘッダは、また対象とする駆動軸の状態を制御するメカニズムを提供する。
Figure 2008135005

●制御モード:この8ビットの列挙値は、動作コントローラに現在構成されているコマンドデータの制御モードのコンテキストを決定する。この値はオンライン中に、また駆動軸が作動状態にある間でも変更することができる。駆動装置が特定の制御モード遷移をサポートしない場合、不正な遷移に応じて多くのアクションのいずれか1つを行なうように構成できる例外が発生する。

●フィードバックコンフィギュレーション:この8ビットの列挙値は、動作コントローラに現在構成されているコマンドデータのフィードバックコンテキストを示す。コマンドデータはフィードバック1、フィードバック2のいずれかのフィードバックチャンネル、またはセンサレス動作用のノーフィードバックを基準とすることができる。オンライン中に、また駆動軸が作動状態にある間でも、この値を変更することができる。特定のフィードバックコンフィギュレーションの遷移が駆動装置によってサポートされていない場合、不正な遷移に応じて多くのアクションのいずれか1つを行なうように構成することができる例外を発生する。

●駆動制御:この8ビットのワードは、駆動パラメータを渡すか返すことを必要とせず、従って、CIPサービスの開始を要求しない駆動動作を直接実行するのに使用することができる列挙されたパラメータである。このデータ要素に有効な列挙を以下に示す:
Figure 2008135005
駆動制御メカニズムを介した駆動操作の実行は以下のように動作する:

1.コントローラは所望の駆動制御要求コードを設定する。
2.駆動装置は新しい駆動制御要求コードを検出し、要求された動作を開始する。
3.一旦要求された動作が完了すると、駆動装置は動作を承認するために、駆動装置対コントローラ接続の駆動応答要素に、適合した肯定応答コードを設定する。同時に、要求されたアクションが成功している場合、駆動装置は応答コードを0に設定し、要求された動作が失敗した場合、適切なエラーコードを設定する。
4.コントローラは一致する駆動応答肯定応答コードを見て応答コードを処理し、次の更新周期の発信駆動制御要求コードをゼロにする。(あるいは、異なる駆動制御要求コードを発行することができ、ステップ2と共に繰り返す。)
5.駆動装置は駆動制御要求コードがゼロであることを見て、次の更新周期の前に対応する駆動応答肯定応答コードをゼロにする。

●コマンドデータの構成:このビットマップ値は、個々の可能なリアルタイム指令リファレンスごとにビットを定義する。コマンドデータはコマンドデータセット内でビット数と同順で現われるので、指令位置はコントローラ対駆動装置接続のリアルタイムデータ構造における指令トルクの前に現われる。
Figure 2008135005
コマンドデータブロックは、アクティブ動作プランナの位置により、コントローラ対駆動装置接続または駆動装置対コントローラ接続のいずれかに現われうる。アクティブ動作プランナの位置は、駆動制御モード属性に含まれるプランナモード値によって決定される。

コントローラで動作プランナが作動中であることをプランナモードが示す場合、上記コントローラコマンドデータ要素はコントローラ対駆動装置接続の周期的データ構造に適用され、下表に示すように駆動軸オブジェクトにおける対応する属性に対応付けられる。コマンドデータ要素の単位は、関連する駆動軸オブジェクトの属性に定義された単位と一致する。
Figure 2008135005
プランナモードが、動作プランナが駆動装置において作動中であることを示す場合、上記コントローラコマンドデータ要素は駆動装置対コントローラ接続の周期的データ構造に適用され、次表に示すように駆動軸オブジェクトにおける対応する属性に対応付けられる。
Figure 2008135005
指定された駆動オペレーティングモードをサポートするために必要なコマンドデータ要素が接続データに含まれていることを保証することがコントローラの仕事である。

●実データコンフィギュレーション:このビットマップ値は、次の更新における駆動装置対制御接続のインスタンスデータブロックの実データセットに含まれる個々の可能なリアルタイム実データ属性ごとに定義されたビットを有する。実データがビット数と同順に現われるので、実位置が実データセット構造における実トルクの前に現われる。このメカニズムを使用して、実データセットの内容は、駆動動作中のいかなる時にも変更することができる。
Figure 2008135005
上記実データ要素は、下表に示す駆動軸オブジェクトにおいて対応する属性に対応付けられる。実データ要素の単位は、関連する駆動軸オブジェクト属性に定義された単位と一致する。
Figure 2008135005
●状態データ構成:このビットマップバイトは、次の更新において駆動装置対制御接続のインスタンスデータブロックの状態データセットの内容を決定するフラグを含む。状態データはビット数と同順に現われるので、駆動状態は例えば状態データ構造内の故障履歴データセットの前に現われる。これら状態データ要素の個々の定義は、対応する駆動軸オブジェクトの属性仕様を調べることで分かる。
Figure 2008135005
●補間制御:バイトは微細な補間アルゴリズムを制御し、かつ駆動制御構造に対するコマンドデータの目標時間を決定するのに必要な情報を含む。
Figure 2008135005
指令目標時間−コントローラの動作プランナによって定義されているように、この2ビットの整数はコマンドデータが対象とする接続タイムスタンプに関連する固有の時間を定義する。絶対指令目標時間は、コントローラからのコントローラタイムスタンプと、指令ターゲット時間*コントローラ更新期間の積との和である。

指令目標時間0は、コマンドデータが現在の更新サイクルの開始を目標としていることを暗示し、従って制御構造に直ちに適用される必要がある。この場合、微細補間は必要としない。この状態は、コントローラ更新期間が駆動装置更新期間より著しく短いとき、または制御された軸の動作がコントローラ更新期間の範囲内でほぼ一定であるときに発生しうる。

指令目標時間1は、コマンドデータの目標が次の接続更新タイマイベントであることを暗示する。この場合、指令補間器はまず軸の現在の軌跡に基づいた次のコマンドデータ値を予測する補外器として機能する。これは、コントローラ更新期間が駆動装置更新期間とほぼ同じであるか、制御された軸の動作がコントローラ更新期間中、比較的一定であるときの典型的な設定である。

指令目標時間2は、コマンドデータの目標が接続タイムスタンプからの2つの接続更新タイマイベントであることを暗示する。この場合、指令補間器は、目標とされる時間にコマンドデータ値に達する、モータの現在の動力に基づいた滑らかな軌跡を算出することができる。これはまさしく微細な補間であり、コントローラ更新期間が駆動装置更新期間より著しく大きいときに適用可能である。

●周期的コマンドデータ:周期的なコマンドデータは、次の駆動装置更新中に関連する駆動軸インスタンスに適用される必要がある高優先順位のデータを含む。このブロックは、駆動装置の制御アルゴリズムへの参照として適用され、周期的コマンドデータヘッダにおいてコマンドデータセット要素によって明示的に決定されるコマンドデータ要素から成る。
1.2.2.3. 周期的書込データブロック
周期的書込データブロックは、駆動装置内の目標とする1つ以上の駆動軸オブジェクトの設定パラメータを同期更新するのに使用することができる。このメカニズムを機能ブロックプログラムと連動して使用して、高度な外側ループ制御、ゲインスケジューリングおよび動的制限アルゴリズムを実行することができる。処理にいくつかの駆動更新周期がかかる、サービスチャネルのセット駆動属性サービス要求とは異なり、周期的書込データメカニズムは、目標のパラメータが次に利用可能な駆動装置更新で適用されることを保証する。

周期的書込データブロックは可変接続形式でサポートされるだけである。
Figure 2008135005
このブロックに関連するヘッダは、周期的書込データブロックの内容と関連する重要な要素を含んでいる。

●周期的書込ブロックID:この16ビットのIDは、予め定義された周期的書込ブロックの構造を決定して、この更新のための周期的書込データに適用する。周期的書込ブロック構造は設定周期的書込データリスト(Set Cyclic Write Data List)サービスを用いて定義される。このサービスに対する成功応答は、周期的データをこの形式で渡すために次の接続更新において使用することができる新しい周期的書込ブロックIDを含む。

●周期的読取ブロックID:この16ビットのIDは、予め定義された周期的読取ブロックの構造を決定して、駆動装置対コントローラの次の接続更新用の周期的読取データに適用する。周期的読取ブロック構造は設定周期的読取データブロック(Set Cyclic Read Data Block)サービスを用いて定義される。このサービスに対する成功応答は、駆動装置が新しい周期的読取データ形式を次の利用可能な駆動装置対コントローラの接続更新に使用することを可能にするために次の接続更新で使用することができる新しい周期的読取ブロックIDを含む。

●周期的書込データ:周期的書込データは、次の駆動装置更新中に関連する駆動軸インスタンスに適用される必要がある高優先順位のデータを含んでいる。このブロックは、制御アルゴリズムが使用する駆動軸オブジェクト属性に適用されるパラメータのデータ要素から成る。周期的書込データの内容は、周期的書込データヘッダに見出される周期的書込ブロックIDによって識別される構造によって明示的に決定される。
1.2.3. イベントデータブロック
イベントデータブロックはイベントチャンネルに関する情報を伝達するのに使用される。特に駆動装置対コントローラ接続用のイベントデータブロックは、駆動装置対コントローラ接続のイベントデータブロックを介して送信される駆動装置からのイベント通知の肯定応答受領と同様、駆動装置においてイベントチェック機能のアーミングを制御するために使用される。

コントローラ対駆動接続用のイベントデータブロックには次の形式がある。
Figure 2008135005
●イベントチェック制御:この32ビットのワードは様々な駆動入力、例えばマーカおよび登録入力にイベントを発生させることを可能にするために使用される同じ名前の駆動軸オブジェクト属性にコピーされる。これらのイベントが発生すると、駆動装置はイベントが発生した時の時間と正確な軸位置の双方を取り込む。イベントチェック制御の最後の4ビットはアクティブなイベント数を指定する2進値であり、文字通りこのイベントデータブロックに記録されたイベント肯定応答IDの数である。

イベント制御のメカニズムは以下のように動作する:
1. コントローラは適切なイベントチェックビットを設定し発生する特定のイベント条件を探す。イベントチェック制御ワードのマルチビットは任意の時間に設定されてよい。
2. 駆動装置はイベントチェック制御要求ビットが設定されていることを検出し、要求されたイベントチェックアクションを開始する。
3. 駆動装置は対応するイベントチェック状態ビットを設定し、駆動装置が今、指定されたイベント条件を積極的にチェックしていることを確認応答する。
4. コントローラは、指定されたイベントトリガーが駆動装置で「装備された」ことを示す駆動装置からのイベントチェック状態ビットが設定されていることを確認する。この更新をはじめ、コントローラは、指定されたイベント条件と一致する駆動装置からのいかなるイベント通知をも処理することができる。
5. 駆動装置は指定されたイベント条件を検出し、コントローラにイベント通知データブロックを送信する。イベントチェック制御ワードに、関連する自動再装備ビットが空である場合、駆動装置は指定されたイベントのチェックを中止する。しかしながら、コントローラがイベントチェック要求ビットをクリアするまで、イベントチェック状態ビットは設定されたままとなる。なお、同じ更新において他のイベント用の通知も送信することができる。
6. コントローラはイベント通知を処理してイベント肯定応答を駆動装置に送信し、自動再装備ができない場合、次のコントローラ対駆動接続の更新のために、関連するイベントチェックビットをクリアする。
7. 駆動装置は、イベントチェック要求ビットが空であることを検出し、次の駆動装置対コントローラの接続更新の前に対応するイベントチェック状態ビットをクリアする。
8. コントローラは、関連するイベントチェック状態ビットがリセットされたことを確認するとすぐにイベントチェックビットを再び設定することができる。従って、コントローラがイベント通知を受信した時から駆動装置が次のイベントのために再装備されるまでの最短時間が、1つのコントローラ更新期間となる。

自動再装備イベントチェックが要求される登録イベントの場合、イベント取り扱いシーケンスは以下のようになる:

1. コントローラは適切なイベントチェックビットを設定し、発生する特定のイベント条件を探し、かつそのイベント条件のために自動再装備ビットも設定する。
2. 駆動装置は、イベントチェック制御要求ビットが設定されたことを検出し、要求されたイベントチェックアクションを開始する。
3. 駆動装置は対応するイベントチェック状態と自動再装備ビットを設定し、駆動装置が今、指定されたイベント条件を積極的にチェックしていると応答する。
4. コントローラは、指定されたイベントトリガーが駆動装置に「装備」されていることを示す駆動装置からのイベントチェック状態ビットが設定されていることを確認する。この更新をはじめ、コントローラは、指定されたイベント条件と一致する駆動装置からのいかなるイベント通知も処理することができる。
5. 駆動装置は指定されたイベント条件を検出し、コントローラにイベント通知データブロックを送信する。対応する自動再装備ビットが設定されるので、駆動装置は指定されたイベントを引き続きチェックする。コントローラがイベントチェック要求ビットをクリアするまで、イベントチェック状態ビットは設定された状態を保つ。
6. コントローラはイベント通知を処理して駆動装置にイベント肯定応答を送信するが、自動再装備ビットが有効であるので、次のコントローラ対駆動接続の更新のために関連するイベントチェックビットを設定されたままにしておく。
7. 駆動装置はコントローラからイベント肯定応答を受信する。指定されたイベントが再び発生している場合、駆動装置は今度は別のイベント通知を送信することができる。
さもなければ・・・
8. 駆動装置は指定されたイベント条件を引き続きチェックし、イベント条件が発生するといつでもコントローラにイベント通知データブロックを送信する。コントローラがイベントチェック要求ビットをクリアするまでイベントチェック状態ビットは設定されたままとなる。自動再装備の特性により、イベントチェックは引き続き有効であり、イベントチェックメカニズムを再装備する際、通常の1サイクル遅延中に登録イベントの見逃しがないことが保証される。自動再装備特性の好ましくない点は、自動再装備が理論的にコントローラ更新期間当たり1つ指定されたイベントを処理するのに数多くの興味のないイベントを発生しうるということである。

●イベント肯定応答ID:元のイベント通知によってこのイベントに割り当てられたトランザクション番号。駆動装置に保存されている現イベントIDをインクリメントして各イベントに新しいイベントIDを割り当てる。駆動装置はイベントIDを用いてイベントデータトランザクションを完了するためにイベント肯定応答を適切なイベント通知に適合させることができる。

●イベント肯定応答状態:イベントに対するコントローラの応答を示す列挙値。値0は、イベントが成功裡に処理されたことを示す。0でない値は、イベント処理でエラーが発生し、イベントが再送されるべきであることを示す。
1.2.4 サービスデータブロック
サービスデータブロックは、ある更新において1つのインスタンス当たり1つのサービス要求が駆動装置に送信されることを可能にする。サービス要求は、成功またはエラーを示す駆動装置からの特定サービス応答を要求する。応答サービスが要求データを含む場合もある。いずれの場合にも、コントローラが駆動装置から関連するサービス応答を受信するまで、サービス要求データはコントローラ対駆動装置接続のデータ構造の中に存続する。

各サービス要求は下に示すように組織されたデータブロックによって表わされる。

サービスデータブロックの最初の4バイトは従来のCIP標準の通信形式に従わないこともある。これは、この接続構造が基本的に明示的な通信接続ではなくてCIPの暗黙のI/O接続だからである。しかしながら、固定接続形式の場合、下に定義するサービス特定要求データは明示的通信接続を介して送信され、また明示的サービス要求形式のためのCIP規則に従う。
Figure 2008135005
●トランザクションID:コントローラがこのサービス要求に割り当てるトランザクション番号。コントローラに保存されている現トランザクションIDをインクリメントして各サービス要求に新しいトランザクションIDを割り当てる。コントローラはトランザクションIDを用いて、サービス応答と適切なサービス要求を適合させ、サービストランザクションを完成することができる。

●サービスコード:後続のオブジェクト特定サービス要求を決定する識別子。サポートされるサービスコードのリストを本書類のオブジェクト特定サービスのセクションに示す。CIP共通サービスは一般にサービスデータブロックに適用することはできない。

●サービス特定要求データ:サービス特定要求データの形式と構文は指定されたサービスコードに依存する。これはサービス特定要求データがコントローラ対駆動装置接続で渡されるか、明示的通信接続の一部として渡されるかにかかわらず当てはまる。
1.2.5 コントローラ対駆動装置接続のタイミング
CIP動作駆動接続データ交換は、コントローラがコントローラ対駆動装置接続パケットを介して開始する。コマンドデータと共にタイムスタンプ情報をこのパケットに含めることで、他の動作制御ネットワークプロトコルが課す厳しいタイミング要求が緩和される。図12のダイヤグラムは、微細な補間が必要なとき、コントローラ対駆動装置接続によって運ばれるコマンドデータとタイムスタンプが駆動軸にどのように適用されるかを示す。

下記ステップは、コントローラ更新期間(CUP)が駆動装置更新期間の整数倍でない一般的なケースの典型的な接続サイクル中に、接続データがコントローラから駆動装置までどのように転送されるかを詳細に記述するものである。

1. コントローラ送信:制御タスクの一部として、コントローラは、現在のコントローラ更新期間の開始時に時間を参照するインクリメントされた更新IDと新規のコントローラタイムスタンプを用いて、目標駆動装置に新規のコマンドデータと共にコントローラ対駆動装置接続パケットの送信を開始する。目標軸用のインスタンスデータブロックは指令目標時間をも含み、この例においては2*コントローラ更新期間(CUP)の微細な補間間隔をサポートするために2に設定している。

2. 指令更新IDチェック:駆動装置は、新規のコントローラ対駆動装置接続パケットデータ用のあらゆる駆動装置更新期間をチェックする周期的な駆動タスクを実行する。これは、変更された更新IDをチェックすることにより容易に行うことができる。駆動タスクが新規データを見出すと、これはコマンドデータ更新周期であり、コマンドデータは次のシーケンスに従ってさらに処理されねばならない。

3. 同期動作チェック:次に、駆動装置は自身が同期しているかどうかをチェックする。同期していない場合、遅い更新チェックを行なう必要がないので、適用コマンドデータステップにスキップする。遅い更新チェックを回避することにより、始動中、または駆動装置が何らの時刻同期サービスも有さない場合でも、駆動装置の制御が可能になる。

4. 遅延更新チェック:駆動装置が同期している場合、駆動装置はコントローラ対駆動装置接続パケット内の現在の駆動更新タイムスタンプとコントローラタイムスタンプ間の差を算出する。差がコントローラ更新遅延上限*コントローラ更新期間より大きい場合、駆動装置はコントローラ更新障害を投げる。時間差が接続更新期間の2倍を越えている場合、現在の微細な補間器多項式は、新規データが到着するまで、事実上、駆動装置が遅延データ条件を乗り切ることを可能にする補外器多項式になっている。

5. 適用コマンドデータ:この例においては微細な補間器が用いられているので、駆動装置は、コントローラタイムスタンプ、Tctr1プラス指令目標時間とコントローラ更新期間の積、2*CUPの目標時間に適用されているコマンドリファレンスに基づき、微細な補間多項式用の係数を算出する。目標時間が駆動装置において現在のシステム時間未満である場合、やはり多項式に対する新規の係数が補外計算の正確さを向上させるためにこのコマンドデータに基づいて算出される。一般に、コマンドデータが遅れている場合は常に、データは利用可能な最新のコマンドデータをやはり表わしており、できるだけ早く適用されるべきである。

指令目標時間を1に設定すると、ステップ5で算出された多項式は微細補間の目的ではなくむしろ補外に適用される。補外多項式は、駆動装置が前の軸軌跡に基づいてその制御演算を行なう時に、駆動装置が正確なコマンドデータ値を算出することを可能にする。図13のダイヤグラムに、コントローラ更新期間(CUP)が駆動装置更新期間の整数倍ではない一般の場合におけるこのタイミングモデルを示す。

なお上記の例においては、所与のコントローラ更新期間に多くの駆動装置更新期間はない。この場合、微細な補間は駆動装置の性能にとって決定的とはならず、コマンドデータを、微細な補間のサポートに必要な余分な遅延なしに駆動装置の制御構造に、より直接的に適用することができる。しかしながら、補外にはコマンドデータに補外エラーがより直接的に現れるという欠点があり、結果として微細な補間を用いるときよりも粗い動作が得られる。

新規の多項式係数を算出して、新規コマンドデータをできるだけ早期に使用するために、コントローラ対駆動装置接続パケットに関連するすべての周期的データを指令目標時間にかかわらず駆動タスク指令更新に適用すべきである。
1.2.5.1 駆動装置更新期間独立
図14のタイミングダイヤグラムは、駆動装置更新期間が異なるにもかかわらず、かつ一方の駆動装置更新期間の整数倍ではない関連するコントローラ更新期間を有するにもかかわらず、2つの駆動軸をいかに緊密に連携させることができるかを示す。

図14のタイミングダイヤグラムにおいては、コントローラの動作プランナのタスクは、システム時間と同期しつつ、異なる駆動更新レートで作動している2つのスレーブ駆動軸に同一の指令位置およびタイムスタンプを送信する。指令位置データが2台の駆動装置に到着すると、これら駆動装置は、(コントローラタイムスタンプ+指令目標時間*コントローラ更新期間)に等しい時間の多項式の値は指定された指令位置値であるという制約に基づき、コントローラタイムスタンプ、指令目標時間およびコントローラ更新期間を用いて補間多項式に対する新規の係数を算出する。駆動装置更新レートへの依存性はないので、各駆動装置が算出した多項式の係数は同一である。どちらの駆動装置にもこの目標時間と一致する更新がないので、駆動装置は、新規の指令位置をコントローラから受信するまで、微細な補間多項式を用いて各駆動装置更新の指令位置参照を計算する。目標時間のしばらく後まで、新規の指令位置が到着しない場合、駆動装置は、引き続き同じ多項式を用いて上記ダイヤグラムに示すように後の駆動装置更新のための指令位置を「補外する」。新規のデータが到着し、新規の係数を計算することができるまで、この補外は継続する。このように、補間または補外によって、スレーブ軸はそれぞれ円滑に動き、2つの軸はマスタ軸と共に位相ロックされている。
1.2.5.2 送信待ち時間独立
コントローラ対駆動装置接続パケットがCIPネットワークを移動する間に著しい遅延を招くときでも、多くのCIP動作駆動軸の正確な連携を維持することができる。図15のダイヤグラムにおいては、スレーブ駆動軸2用のパケットは送信中に有意な遅延を引き起こしている。その結果、この軸用の指令位置は最後の微細な補間多項式から補外されねばならない。これは、軸が送信待ち時間の障害の中で円滑に動くことを可能にする。新規コマンドデータが到着するとき、新規の指令値が補外エラーのために補外値と一致しないこともある。このエラーは動作プロファイルに障害をもたらしうる。補外エラーの大きさは、動作プロファイルの動力学およびコントローラ更新レートに依存する。ほとんどの現実世界の応用においては、いくつかの更新期間の間持続する送信待ち時間は、関連する動作プロファイルに顕著な外乱なしに発生する場合がある。
1.3 駆動装置対コントローラ接続
上述のコントローラ対駆動装置接続のデータ構造のように、CIP動作コントローラ対駆動装置接続は以下のように組織される:
Figure 2008135005
1.3.1 駆動装置対コントローラ接続ヘッダ
駆動装置対コントローラ接続ヘッダは、駆動装置対コントローラ接続データブロックを解析するのに必要な重大な軸構成情報を含む。接続ヘッダの固定部分は以下のように定義されている:
Figure 2008135005
●接続形式:接続方式に対する要求値が、固定式駆動装置対コントローラ接続方式を示す要求値3、または固定式駆動装置対コントローラの接続方式を示す要求値7のいずれかであることを除き、コントローラ対駆動装置の定義と同じである。

0=固定式コントローラ・ピアツーピア接続
1=固定式駆動装置ピアツーピア接続
2=固定式コントローラ対駆動装置接続
3=固定式駆動装置対コントローラ接続
4=可変式コントローラ・ピアツーピア接続
5=可変式駆動装置ピアツーピア接続
6=可変式コントローラ対駆動装置接続
7=可変式駆動装置対コントローラ接続
8-15=予備

●形式改訂:コントローラ対駆動装置の定義と同じ。

●更新ID:駆動装置対コントローラ接続の更新IDは、先のコントローラ対駆動装置更新IDの更新IDと一致するべきであり、従って更新期間ごとにインクリメントされるべきである。関連するコントローラ対駆動装置パケットが失われるか遅延する場合、あたかもコントローラ対駆動装置パケットが時間通りに到着したかのように、駆動装置対コントローラ更新IDはインクリメントされるべきである。これは、CIP動作制御システムが失われたか逃したコントローラ対駆動装置パケットを乗り切り、適合する更新IDとの同期を維持することを可能にする。

更新IDはCIPメッセージシーケンスカウントに似ており、接続バッファに新規のデータが含まれているかどうかを判断するためにコントローラが使用する。更新IDが変化していない場合、コントローラは新規更新が到来するまで、前の軌跡に基づいた補外によって、更新を逃していてもそれなしで乗り切ることを試みる。軸が同期していないか、時間同期サービスをサポートしていない場合、タイムスタンプデータは含まれていないか無効であり、補外による乗り切りは試みられない。その場合、更新IDはまたコントローラにとっては新規の接続データを検出する唯一の手段となる。

●ノードステータス:関連する駆動通信ノードの状態を示すために用いられるビットを含む。
Figure 2008135005
遠隔モードビットは駆動ノードが駆動装置の総合制御をコントローラに引き渡したことを示すために使用される。このビットが空である場合、駆動装置はコントローラ対駆動装置の周期的またはサービスチャンネルに含まれるいかなるデータにも作用しない。

同期モードビットは、ドライブノードが同期しているかどうかを示す。同期動作はシステム時間と同期した駆動ノードのローカルタイマを有し、駆動ノードは接続データを処理するために接続タイムスタンプを使用していると定義される。設定されている同期モードビットはまた、駆動タイムスタンプが有効であることを示唆している。ビットは同期動作中は設定されたままとする。同期モードビットが空である場合、駆動は非同期モードにあると言う。非同期モードでは、ローカルタイマを同期すべき要求はないし、タイムスタンピングは必要でないか、有効でさえない。

駆動データ有効ビットは、駆動ノードからのインスタンスデータブロックを処理するためにコントローラに設定されねばならない。接続初期設定シーケンス中にインスタンスデータブロック内の接続データがまだ初期化されない期間があってもよい。コントローラは最初にこのビットをチェックすることによりこの条件を認識することができる。

駆動ノード障害ビットは、駆動装置が通信ノードと関連する1つ以上の障害状態を検出したことを示すために使用される。ノード障害属性によって特定の障害状態を決定することができる。このビットが空である場合、障害状態は存在しない。駆動ノード障害ビットは、ノード制御ワードにノード障害リセットビットを設定することによりクリアすることができる。ノード障害状態が存在する場合、関連する軸はすべて働かなくなる。
1.3.1.1 固定接続ヘッダ
接続形式が固定式駆動装置対コントローラ接続である場合、上記ヘッダの直後にインスタンスデータブロックが続く。
1.3.1.2 可変接続ヘッダ
接続形式が可変式駆動装置対コントローラ接続である場合、接続ヘッダは、多軸駆動装置アドレシングおよびタイムスタンピングと関連した追加フィールドを含んでいる。
Figure 2008135005
●インスタンスカウント:コントローラ対駆動装置の定義と同じ。

●ノード警報:関連する駆動通信ノードの警報状態を示すために使用されるビットを含む。
Figure 2008135005
同期更新警報ビットは、コントローラからの更新が過度に遅いことを示す。

プロセッサ警報は、駆動装置に関連したプロセッサが最終的に障害に至りうる過負荷状態下にあることを示す。

ハードウェア障害は、駆動ノードに関連した重要な支援ハードウェア(FPGA、ASIC等)が障害に至りうる状態下にあることを示す。

●ノード障害:関連する駆動装置通信ノードの障害状態を示すために使用されるビットを含む。
Figure 2008135005
同期更新障害ビットは、コントローラからの更新が過度に遅いことを示す。

プロセッサ障害は、駆動ノードに関連したプロセッサが関連するプロセッサ監視メカニズムを妨害する過度の過負荷状態のような障害状態下にあることを示す。

ハードウェア障害は、駆動ノードに関連した重要な支援ハードウェア(FPGA、ASIC等)が障害状態下にあることを示す。

●時間構成:コントローラ対駆動装置の定義と同じ。

●駆動装置更新期間:この要素は、コマンドデータを適用する駆動制御演算間の現在の期間を表わす。この値は、コマンドデータに適用される微細な補間ブロックの挙動を構成するためにコントローラが使用する。コントローラ更新期間が駆動装置更新期間よりはるかに長い場合、一般に微細な補間が適用される。コントローラ更新期間が駆動装置更新期間と同程度の場合、微細な補間を必要とせず、タイムスタンプ修正を行なうために補外のみが要求される。

●駆動タイムスタンプ:駆動装置の更新タイマイベントが発生した時、このタイムスタンプ値は64ビットのシステム時間値の下位32ビットをナノ秒で反映する。コントローラは、コントローラのローカルシステム時間値の上位32ビットを用いて、この値をその元の64ビットの表現に戻す。駆動タイムスタンプにより、コントローラは、コントローラ更新期間が駆動装置更新期間の整数倍でない時、または駆動装置更新がコントローラに対して位相シフトされている時に生ずる駆動装置およびコントローラの更新タイミング間の差に対する実応答データ値を修正するのに必要とする情報をすべて持っている。このタイミングモデルにおいては、駆動タイムスタンプは駆動装置更新期間の先頭に登録されており、またフィードバックを最後に捕捉した時であると仮定されている。駆動タイムスタンプがコントローラのローカルの更新タイムスタンプと一致しない場合、コントローラは、コントローラのタイムスタンプに対応させるために軌道に基づいた実応答データ値を補外する。図16のタイミングダイヤグラムに、コントローラが駆動装置とコントローラ間の相対タイムスタンプに基づき駆動装置からの軸位置データをどのように調節するかを示す。
1.3.2 インスタンスデータブロック
接続ヘッダの後に、上記インスタンスカウントによって決定された1つ以上のインスタンスデータブロックがある。インスタンスデータブロックは、コントローラ対駆動装置接続のブロックに極めて似ており、次の基本構造を有する:
Figure 2008135005
1.3.2.1 インスタンスデータヘッダ
インスタンスデータヘッダは、3つのデータチャネルに含まれるデータを解析し適用するために必要とされる重要な軸構成情報を含む。このヘッダは単に多軸駆動アプリケーションを収容するために可変接続形式にのみ含まれている。ヘッダ内の情報は、駆動通信用インターフェースにより、個別データブロックを処理用に別々の固定記憶域にコピーするために使用することができる。

固定接続形式用に構成されれば、単軸インスタンス用の周期的データブロックのみがサポートされるので、インスタンス番号かブロックサイジングに関する情報は必要としない。従って、インスタンスデータヘッダは接続構造に含まれていない。
Figure 2008135005
●インスタンス番号:コントローラ対駆動装置の定義と同じ。

●インスタンスブロック長:コントローラ対駆動装置の定義と同じ。

●周期的ブロック長:コントローラ対駆動装置の定義と同じ。

●周期的実ブロック長:コントローラ対駆動装置の定義と同じ。

●周期的読取ブロック長:コントローラ対駆動装置の定義と同じ。

●イベントブロック長:コントローラ対駆動装置の定義と同じ。

●サービスブロック長:コントローラ対駆動装置の定義と同じ。
1.3.2.2 周期的データブロック
駆動装置対コントローラ接続の周期的データブロックの最上部の周期的データヘッダは、接続形式にかかわらず常に含まれている。このヘッダは、駆動に関する周期的データブロックの内容およびブロック内データのコンテキストと関連する主要な要素を含んでいる。これら要素の大半は直前のコントローラ対駆動装置接続の周期的データブロックに対応する要素によって構築され、従ってそのダイレクトコピーである。このように、駆動装置対コントローラ接続用の周期的データブロックの内容は、究極的にコントローラによって決定される。
Figure 2008135005
●制御モード:コントローラ対駆動装置の定義と同じ。

●フィードバックコンフィグ:コントローラ対駆動装置の定義と同じ。

●駆動応答:8ビットの駆動応答は、CIPサービス要求を要求しない駆動動作を直接開始するために、コントローラ対駆動装置接続の対応する駆動制御要素とのハンドシェーキングのために使用される列挙値である。有効な肯定応答コードは、駆動制御要素の対応する要求コードと一致し、下に示されている:
Figure 2008135005
駆動制御/応答配列についての詳細は、駆動制御用のコントローラ対駆動装置の定義を参照のこと。

●応答コード:駆動応答に0でない肯定応答コードがある場合、要求された駆動制御動作の成功または失敗を示すために応答コード値も提供される。応答コード0は成功を示し、一方0でない値はエラーを示す。応答コード値は一般状態コード用のCIP共通基準に従う。

●コマンドデータ構成:コントローラ対駆動装置の定義と同じ。

●実データ構成:コントローラ対駆動装置の定義と同じ。

●状態データ構成:コントローラ対駆動装置の定義と同じ。

●補間器状態:バイトは、下に示す表に従った補間ブロックの現在の状態を示すフラグを含む。
Figure 2008135005
指令目標時間はこの軸インスタンス用の微細な補間器による指令位置に適用されている現在の目標時間を決定するのに使用される。この知識は、コントローラの動作プランナ更新遅延補償アルゴリズムの固有関数にとって重要である。

●周期的コマンド/実/状態データ:周期的コマンド/実/状態データは、次の駆動更新中に関連する駆動軸インスタンスに適用する必要のある高優先順位データを含む。このブロックは、周期的実/状態データヘッダ内の実データセットと状態データセットの要素によって明示的に決定されるコントローラが消費する実データ要素と状態データ要素から成る。
1.3.2.3 周期的読取データブロック
周期的読取データブロックは、駆動装置内の関連属性の現在値に基づきコントローラ内の1つ以上の目標コントローラ軸オブジェクト属性を同期更新するのに使用することができる。このメカニズムは、多種多様な利用可能な駆動制御信号に基づき、光度な外側ループ制御を実行する機能ブロックプログラムと共に使用することができる。処理するのにいくつかの駆動更新周期がかかるサービスチャンネルの取得駆動属性(Get Drive Attribute)サービス要求と異なり、周期的読取データメカニズムは接続サイクルごとに目標のパラメータが更新されることを保証する。

周期的読取データブロックは可変接続形式でサポートされているだけである。
Figure 2008135005
このブロック用の関連ヘッダは、周期的書込データブロックの内容と関連する主要な要素を含んでいる。

●周期的読取ブロックID:この16ビットのIDは、この更新用の周期的読取データに適用される、予め定義された周期的読取ブロック構造を決定する。周期的読取ブロック構造は設定周期的読取データリスト(Set Cyclic Read Data List)サービスを利用して定義される。このサービスに対する成功した応答は、この形式で周期的データを手渡すために次の接続更新の中で使用することができる新規の周期的読取ブロックIDを含む。

●周期的読取データ:周期的読取データは、関連するコントローラ軸インスタンスに適用するのに必要な高優先順位データを含む。このブロックは、測定され対応する動作軸オブジェクト属性に適用される信号と状態データの要素から成る。周期的読取データの内容は、周期的読取データヘッダに見出される周期的読取ブロックIDによって識別される構造によって明示的に決定される。
1.3.3 イベントデータブロック
イベントデータブロックは、多数のイベント通知が所定の更新において駆動装置に送られることを可能にする。イベント通知はそれぞれ成功またはエラーを示す特定のイベント肯定応答を要求する。イベント通知データは、駆動装置が対応するイベント肯定応答をコントローラから受信するまで駆動装置対コントローラ接続データ構造の中に存続する。

駆動装置対コントローラ接続用のイベントデータブロックには次の形式がある。
Figure 2008135005
●イベントチェック状態:この32ビットのワードは、駆動装置が様々な駆動入力、例えばマーカ、ホームおよび登録入力に基づきイベントを現在チェックしているかどうかを示すのに使用されるビットマップパラメータである。対応するイベントチェック制御ビットがコントローラ対駆動装置接続に設定されると、イベントチェックが開始される。イベントが発生すると、駆動装置は時間および正確な軸位置の双方を取り込み、この情報をイベントデータブロック内のコントローラに渡す。しかし、イベントデータを処理するコントローラにとっては、対応するイベントチェック状態ビットが設定されていなければならない。

●イベントID:元のイベント通知によってこのイベントに割り当てられたトランザクション番号。イベントにはそれぞれ駆動装置に記憶された現イベントIDのインクリメントにより、新しいイベントIDが割り当てられる。イベントIDを使用して、駆動装置は、イベントデータトランザクションを完了するためにイベント肯定応答と適切なイベント通知を適合させることができる。

●イベント状態:イベントに対するコントローラ応答を示す列挙値。値0はイベントが成功裡に処理されたことを示す。0でない値は、イベント処理にエラーが発生し、イベントを再送信すべきことを示す。

●イベントタイプ:この列挙値は、発生したイベントのタイプを記述する。有効なイベントタイプは以下のとおりである:
Figure 2008135005
●イベント位置:指定イベントが発生した時の軸位置の64ビットの整数表現。

●イベントタイムスタンプ:この要素は指定されたイベントが発生した時、システム時間の低位32ビットを運ぶ。単位はナノ秒で表現される。絶対64ビットのイベントタイムスタンプを生成するために、イベントタイムスタンプをコントローラでシステム時間の上位32ビットと結合することができる。
1.3.4 サービスデータブロック
サービスデータブロックは、所定の更新において1つのインスタンス当たり1つのサービス応答がコントローラに送信されることを可能にする。サービス要求はそれぞれ、成功またはエラーを示す駆動装置からの特定サービス応答を要求する。応答サービスが要求データを含む場合もある。いずれの場合にも、駆動装置がコントローラ対駆動装置接続インスタンスデータブロック(サービスブロック長=0)から関連するサービス要求が取り除かれたのを確認するか、新しいサービス要求がコントローラによって発行される(インクリメントされたトランザクションID)まで、サービス応答データは、駆動装置対コントローラ接続データ構造の中に存続する。

サービス応答はそれぞれ下に示すように組織されたデータブロックによって表わされる。

要求構造と同様に、サービス応答の構造は従来のCIP標準通信形式に従わないこともある。これは、主としてこの接続構造が基本的に明示的な通信接続ではなくてCIPの暗黙のI/O接続であるからである。しかしながら、固定接続形式の場合、下に定義されたサービス特定要求データは明示的な通信接続を介して送信され、明示的なサービス要求形式のCIP規則に従う。
Figure 2008135005
●トランザクションID:元の要求のトランザクションIDから導かれこのサービス応答に割り当てられたトランザクション番号。各サービス要求には、コントローラに記憶された現在のトランザクションIDのインクリメントにより、新しいトランザクションIDが割り当てられる。コントローラは、応答でトランザクションIDを用いて、サービス応答と適切なサービス要求を適合させることができる。

●サービスコード:サービス要求元のサービスコードと適合するべき後続の特定サービス応答を決定する識別子。CIP駆動装置軸オブジェクト用の有効なサービスコードのリストをコントローラ対駆動装置セクションに示す。

●応答コード:応答コード値は要求されたサービス要求の成功または失敗を示すために提供される。応答コード0は成功を示し、0でない値はエラーを示す。応答コード値は一般状態コード用のCIP共通基準に従う。

●拡張応答コード:拡張応答コードは、ベンダ固有またはサービス固有のエラーコードを定義する方法を提供する。現在これらのコード用の標準定義はない。

●サービス固有の応答データ:サービス固有の応答データの形式と構文は指定されたサービスコードに依存する。
1.4 固定駆動装置接続形式
固定接続形式を指定することにより、CIP動作駆動接続を、DeviceNetおよびControlNetのように低性能のCIPネットワークに容易に適用可能なサイズに縮小することができる。DeviceNetまたはControlNetのネットワークのコンテキストでは、固定接続サイズおよび制限されたネットワーク帯域幅の必要条件をサポートするために、次の特性が接続構造から取り除かれている。

●タイムスタンプ
●ノード障害/警報
●1つのインスタンスのみ
●動的ブロックサイジング
●周期的読書きデータブロック
●イベントデータブロック
●サービスデータブロック

駆動軸オブジェクトに対するサービス要求は明示的なメッセージサービスとしてのみサポートされる。
Figure 2008135005
Figure 2008135005
1.4.1 駆動装置対コントローラ接続タイミング
同期モードの場合は、CIP動作駆動装置対コントローラ接続には、コントローラがコントローラタスク更新発生時に駆動軸の位置を決定できるようにする実データを備えた駆動タイムスタンプが含まれている。タイムスタンピングは、駆動装置がフィードバックをサンプリングし、他の動作制御ネットワークプロトコルと異なり、厳密にはコントローラ更新期間と関連する必要のない自身の駆動装置更新期間に基づいた実データ値を計算することを可能にする。図17のダイヤグラムに、コントローラのタイムベースに駆動軸の実位置を調節するために、駆動装置対コントローラ接続によって配信された実データとタイムスタンプがどのように使用されるかを示す。

以下のステップは、コントローラ更新期間(CUP)が駆動装置更新期間の整数倍でない一般的な場合の典型的な接続サイクル中にコントローラから駆動装置まで接続データがどのように転送されるかを詳細に説明するものである。

1. 実更新ウィンドウチェック:軸が同期している場合、駆動装置は、現在の駆動タスクタイムスタンプを最後のコマンドデータ更新中に決定される実更新ウィンドウと比較する。実更新ウィンドウには1つの駆動装置更新期間分の持続時間があり、次のコントローラ更新の計算された時間に終了する。タイムスタンプが時間ウィンドウ内にある場合、これは実データ更新周期である。タイムスタンプがウィンドウの前にある場合、駆動装置は次の駆動タスクがコントローラに実データを送信するのを待たなければならない。(これにより、フィードバック捕捉と次のコントローラタスクの開始間の時間が過度になる状態が防止される。)軸が同期されていず、コントローラ対駆動装置接続を介して指令更新をたった今受信した場合、これもまた実更新周期であり、駆動送信ステップに移る。さもなければ、何も行うことはなく、このタスクを終了する。
2. 駆動送信:これが実更新周期である場合、駆動装置は、現在の駆動更新タイムスタンプとインクリメントされた更新IDを含むこの駆動タスクからの最新の実データと共に駆動装置対コントローラ接続パケットをコントローラに送信する。このパケット内のコントローラに送信された追加データはすべて、直前の駆動タスクから算出することができる。これは、駆動タスク実行の最も早い時点での伝動の発生を可能にする。
3. 実更新IDチェック:次のコントローラタスクでは、コントローラは変更された更新IDをチェックすることにより駆動装置からの新しいデータをチェックする。以下のステップは、更新IDの変更の如何にかかわらず実施される。なお、駆動装置が同期していない時、更新IDは新しい実データを検出する唯一の方法である。
4. 同期フラグチェック:駆動装置は、駆動軸が同期しているかどうかを判断するために、駆動ノード制御バイトの同期ビットをチェックする。同期していない場合、遅い更新チェックとタイムスタンプ修正を回避するために適用実データ(Apply Actual Data)ステップにスキップする。これら次のステップを回避することにより、駆動装置の始動中に、あるいは駆動装置が同期サービスを何ら持たない場合にさえ駆動装置が動作することを可能にする。
5. 最新更新チェック:コントローラは、現在の接続更新期間タイムスタンプと駆動装置対コントローラ接続パケット内のタイムスタンプとの差を計算する。差が欠落更新許容値*更新期間より大きい場合、コントローラはコントローラ同期障害を投げる。
6. タイムスタンプ修正:先に計算された時間差が0でない場合、その後、軸の以前の実軌跡に基づいて実データ値を補外し、コントローラのタイムスタンプと合わせる。実入力はコントローラ更新期間の始めに暗黙にタイムスタンプされていると動作プランナが仮定するので、この修正が必要となる。
7. 適用実データ:コントローラは入力として動作プランナに実データを適用し、動作プランナは新しいコマンドリファレンスデータを計算する。
1.5 CIP動作ピア接続
以下のセクションで駆動軸オブジェクトに適用可能な駆動装置対駆動装置ピア接続を含むCIP動作ピア接続形式を説明する。
1.5.1 ピア接続特性
以下は、CIP動作ピア接続と関連した特性のリストである:

1. プロポーザルは、多数の軸が連動しているか共通のマスタ軸から外れている伝導軸系アプリケーションであり、また負荷の共有を目的としてマスタ駆動装置の指令トルクが多数のスレーブ駆動装置に配給されるトルクスレーブアプリケーションである、ピアツーピア接続のための主要な使用ケースの要求に効果的に取り組む。
2. モニタのみの哲学に従う;消費側は生成された軸の状態のみをモニタでき、生成された軸の状態や動作に作用することはできない。
3. 一方向のマルチキャスト生産側対消費側接続を用いたスター型またはデイジーチェーン型ネットワークトポロジに適用可能。
4. マスタが登録イベントをチェックし、位相補正のための下流のスレーブに対する登録イベント情報を生成する使用ケースを扱う消費側に、生成された軸に関連したイベント通知データを渡す能力。
5. 生成された軸を構成し、消費側に対する追加のアプリケーション特定属性を生成する能力。生成された属性の同一性は接続データ構造の一部として定義されるので、どの消費された軸属性に生成された属性データをマッピングするかについて曖昧さはない。配列トランスファーメカニズムもサポートされる。
6. 消費側が生成されたデータの内容を決定することを可能にするために、生産側のリアルタイムデータ形式がCIP動作ピア接続のデータ構造に組み込まれており、データ構造をいつでも変更することができる。
7. 消費側が単一の生産側からの異なるリアルタイムデータを消費したい場合もあるので、CIP動作ピア接続はリアルタイムデータ要素の構成可能な組み合わせを提供するよう設計されている。個別の消費側は、どの実データ要素を消費するかの決定に責任を負う。
8. リアルタイムの接続データは、ナノ秒の分解能と〜1秒のダイナミックレンジを有するPTP(精密タイムプロトコル)に典型的に由来するシステム時間に基づきタイムスタンプされている。
9. 接続は、ピア装置内の位相オフセットと同様に、異なるピア更新レートの可能性ならびに位置、速度およびトルクデータのためのサンプル遅延をサポートする。タイムスタンプおよび/または遅延は個々の軸インスタンスに関連づけられている。
10. 標準イーサネット(登録商標)トランスポートプロトコル(例えばTCPとUDP)を用いる重要なHMI、I/O、メッセージングおよび他のイーサネット(登録商標)トラフィックの存在下で確実に動作する能力。
11. 既存のノードに対するCIP動作ピア接続の動作に悪影響を及ぼすことなく、実行中にイーサネット(登録商標)ノードを追加するか削除する能力。(ネットワークトポロジ依存)。
12. 動作を混乱させずにオンライン中にCIP動作消費側を追加するか除去する能力。(ネットワークトポロジ依存)。
13. 既存のピア装置およびCIP動作ピア接続データ構造の旧バージョンとの上位互換を容易にするために組み込みまれた接続形式改訂。
14. 接続形式は、32ビットのワードは32ビットで整列し、16ビットのワードは16ビットで整列するように組み立てられている。これにより容易にメモリアクセスが促進される。
1.5.2 CIP動作ピア接続形式
Figure 2008135005
1.5.3 ピア接続形式の概観
CIP動作ピア接続形式は、生成された軸インスタンスに関連したデータブロックが後続する一般的なヘッダから成る。データブロックの内容は周期的に更新され、生産側の指定されたコントローラ更新期間にマルチキャスト接続を介して消費側に送信される。この更新は分配されたシステム時間、例えばPTPの使用を通じて動作制御システム内の他のピア装置と同期している。タイムスタンプが接続データに含まれているので、生産側更新期間は様々な消費側の更新期間といかなる固定関係も持つ必要はない。

続くディスカッションのコンテキストにおいて重要なのは、駆動軸オブジェクト仕様の場合には、ピア接続の生産側と消費側はコントローラか駆動装置のいずれかになりうる一方、駆動装置のピアツーピアの機能性のみが真に適用可能であることを知ることである。

その構成データ要素の各々の詳細な記述を容易にするために、CIP動作ピア接続データブロックは以下のように組織されている:
Figure 2008135005
1.5.4 接続ヘッダ
接続ヘッダは、インスタンスデータブロックを解析するのに必要な生産側からの重要な軸構成情報を含んでいる。
Figure 2008135005
●形式改訂:最初のリリース1と共に、この値は、インターフェースに影響を及ぼすCIP動作ピア接続形式の改訂ごとに1だけインクリメントされる。形式改訂は、新しい消費側に古い生産側が生成した接続形式をサポートすることを可能にする。また、古い消費側に、サポートできずに適切なエラーを生成することができない生産側からの新しい接続形式を認識させることができる。

●更新ID:この周期的なトランザクション番号は、生産側の更新ごとにインクリメントされる。更新IDは、データブロックが新規のデータを含むかどうかを判断するために消費側の制御か駆動装置が用いる。更新IDが変更されていない場合、消費側制御あるいは駆動装置は生産側軸の更新期間が消費側軸より長い時の規則的な発生については、生成された先の軸軌跡に基づき新しいデータの不足を介して補外することができる。生産側が同期していない場合、タイムスタンプデータは含まれていないか無効である。そのような場合、消費側にとっては、更新IDが新規データの存在を検出する唯一の手段となる。同期またはタイムスタンピングのないCIP動作ピア接続の動作は勧められない。

●接続形式:この列挙されたバイトは、次の定義に従ってCIP動作接続の形式は何かを決定する:
Figure 2008135005
接続タイプ:この4ビットの列挙はCIP動作の接続タイプを定義する。この接続用有効値は、固定駆動装置のピアツーピアの接続で1、可変駆動装置のピアツーピア接続で5である。

0=固定式コントローラ・ピアツーピア接続
1=固定式駆動装置ピアツーピア接続
2=固定式コントローラ対駆動装置接続
3=固定式駆動装置対コントローラ接続
4=可変式コントローラ・ピアツーピア接続
5=可変式駆動装置ピアツーピア接続
6=可変式コントローラ対駆動装置接続
7=可変式駆動装置対コントローラ接続
8−15=予備

●ノードステータス:関連する駆動装置通信ノードの状態を示すのに用いるビットを含む。
Figure 2008135005
同期モードビットは、生産側駆動ノードが同期しているかどうかを示す。同期動作は、システム時間と同期した生産側駆動ノードのローカルタイマを有しており、有効な接続タイムスタンプが接続ヘッダに供給されているものとして定義される。ビットは同期動作の間、設定されたままとする。同期モードビットが空である場合、駆動装置は非同期モードにあると言う。非同期モードにおいては、ローカルタイマが同期されるべき要求はないし、タイムスタンピングも必要でないか有効でさえない。

駆動データ有効ビットは、コントローラが駆動ノードからのインスタンスデータブロックを処理するために設定されねばならない。接続初期設定シーケンス中に、インスタンスデータブロック内の接続データが有効でない期間があってもよい。消費側駆動ノードはまずこのビットをチェックすることによりこの状態を認識することができる。

駆動ノード障害ビットは、生産側駆動装置が通信ノードと関連する1つ以上の障害状態を検出したことを示すのに用いられる。特定の障害状態はノード障害属性によって決定することができる。このビットが空の場合、障害状態は存在しない。駆動ノード障害ビットは、ノード制御ワード内にノード障害リセットビットを設定することによりクリアされてもよい。ノード障害状態が存在するとき、関連する軸はすべて無効になる。
1.5.4.1 固定接続ヘッダ
接続形式が固定式ピアツーピア接続である場合、上記ヘッダの直後にインスタンスデータブロックが続く。
1.5.4.2 可変接続ヘッダ
接続形式が可変ピアツーピア接続である場合、接続ヘッダは、ノード診断およびタイムスタンピングと関連する追加のフィールドを含んでいる。
Figure 2008135005
●タイムスタンプコンフィギュレーション:このビットマップバイトは、生産側のタイミング情報の使用法および形式を決定するフラグを含んでいる。
Figure 2008135005
●生産側更新期間:この要素は、生成された軸データの更新期間をナノ秒で指定する。消費側はこの値を用いて消費側があまりにも多くの接続更新を逃したかどうかを判断する。接続が同期している場合、消費側は生産側タイムスタンプを自身のローカルタイムスタンプと簡単に照合することができる。2つのタイムスタンプの差が、

最大遅延=ピア更新遅延上限*プロデューサ更新期間

で与えられる極大値を超える場合、ピア更新障害ビットは、駆動軸オブジェクトのノード障害クラス属性に設定される。任意のピア更新遅延下限属性も利用可能である。最後の生産側タイムスタンプと現在のローカル駆動タイムスタンプの差が、

最大遅延=ピア更新遅延下限*生産側更新期間

で与えられる極大値を越える場合、ピア更新警報ビットが、駆動軸オブジェクトのノード警報クラス属性に設定される。接続が同期しない場合、消費側は遅延更新チェックを行なわない。

●生産側タイムスタンプ:生産側の更新タイマイベントが発生した時、この要素は、64ビットのシステム時間値の下位32ビットを運ぶ。この値は、消費側により、消費側のローカルシステム時間値の上位32ビットを用いてその元の64ビットに復元される。生産側タイムスタンプ用の単位はナノ秒である。この値は事実上、生成された軸の実データ(例えば位置フィードバック)がサンプリングされたか、コマンドデータが計算された時間である。生成されたデータを受信した時、消費側は、消費側自身のタイムスタンプと共にこの値を用いて、生産側の現在の実際の位置および指令位置を補外することができる。
1.5.5 インスタンスデータブロック
接続ヘッダの後ろに、自身の形式を定義するインスタンスデータヘッダのついたインスタンスデータブロックが続く。インスタンスデータブロックは以下の基本構造を有する:
Figure 2008135005
1.5.6 インスタンスデータヘッダ
下に示すインスタンスヘッダは、従うべき周期的データの完全な記述を含む。
Figure 2008135005
●軸コンフィギュレーション:バイトは、下に示す表に従って生成された軸ヘッダに含まれたコンフィギュレーションデータを示すフラグを含んでいる。
Figure 2008135005
●コマンドデータコンフィギュレーション:このビットマップ値は個々の可能なリアルタイムコマンドリファレンスごとに定義されたビットを有する。コマンドデータがビット数と同順に出現するので、指令位置はリアルタイムデータ構造において指令トルクの前に現われる。消費側装置は、生産側の過去のコマンドデータ構成を消費側の軸オブジェクトに含まれている自身のコマンドデータ構成属性と比較することにより、どのリアルタイムデータ要素を消費するかを決定することができる。
Figure 2008135005

●実データコンフィギュレーション:このビットマップ値は可能なリアルタイムの実際の値ごとに定義されたビットを有する。実データがビット数と同順に現われるので、実位置がリアルタイムデータ構造において実トルクの前に現われる。消費装置は、生産側の過去の実データ構成を消費側の軸オブジェクトに含まれている自身の実データ構成属性と比較することにより、どのリアルタイムデータ要素を消費するかを決定することができる。
Figure 2008135005
●ステータスコンフィギュレーション:このビットマップ値は、CIPピア接続データ構造の一部として渡すことができる個々の基礎的な軸状態属性ごとに定義されたビットを有する。状態データは駆動装置対駆動装置ピア接続の一部として転送されないので、この値は常にゼロである。
Figure 2008135005
●周期的属性カウント:周期的属性データセットに含まれる周期的属性ブロックの数。

●イベントカウント:イベントデータブロックに含まれるイベントブロックの数。イベントは駆動装置対駆動装置ピア接続には適用できない。

●遅延制御:バイトは、微細な補間アルゴリズムを制御し、かつ駆動制御構造に対するコマンドデータの目標時間を決定するのに必要な情報を含んでいる。
Figure 2008135005
指令目標時間−この2ビットの整数は、生産側の動作プランナが定義しているように、コマンドデータが目標とする生産側タイムスタンプに関連する特定の時間を定義する。絶対指令目標時間は、生産側駆動装置からの生産側タイムスタンプと、指令目標時間*生産側更新期間の積と、の和である。この値は、マスタとして生成された軸を参照するギヤリングまたはカミングに関連した更新遅延補償アルゴリズムによって用いられる。

指令目標時間0は、コマンドデータが現在の更新サイクルの開始を目標としており、制御構造に直ちに適用される必要があることを暗示する。この場合、微細補間は必要としない。生産側更新期間が消費側更新期間より著しく短いとき、または軸の制御された動作が生産側更新期間の範囲中ほぼ一定であるとき、この状態が発生しうる。

指令目標時間1は、コマンドデータの目標が次の生産側更新タイマイベントであることを暗示する。この場合、指令補間器はまず軸の現在の軌跡に基づいた次のコマンドデータ値を予測する補外器として機能する。これは、生産側更新期間が消費側更新期間と同等のとき、または軸の制御された動作が生産側更新期間の範囲中、比較的一定であるときの典型的な設定である。

指令目標時間2は、コマンドデータの目標が生産側タイムスタンプからの2つの接続更新タイマイベントであることを暗示する。この場合、指令補間器は、目標時間にコマンドデータ値に達するためにモータの現在の原動力に基づいた滑らかな軌跡を算出することができる。これは真の微細補間であり、生産側更新期間が消費側更新期間より著しく大きいときに適用できる。

マスタ指令遅延−この2ビットの整数は、生産側の動作プランナが定義しているように、局部的制御構造に適用する前に生産側駆動装置においてコマンドデータが遅れている生産側更新期間がどれだけあるかを決定する。この値は、消費側が受信した時に生産側のコマンドデータ値に適用される必要のある補外の量を決定するのに用いられる。マスタ指令遅延は消費側のタイムスタンプとの比較の前に生産側のタイムスタンプに追加される。生産側更新期間が消費側更新期間と同等であるとき、マスタ指令遅延に対する値1は生成されたコマンドデータに適用される補外の量を最小限にする。

●巻き戻し:ロータリビットが軸コンフィギュレーションバイトで設定されている場合、生産側の構成巻き戻し値(32ビットのUINT)がインスタンス形式ヘッダに追加される。この値は、適用可能な場合、消費側が補外された絶対的実位置または指令位置データを巻き戻すために用いる。この値は駆動装置対駆動装置ピア接続には適用できない。
1.5.7 周期的データブロック
周期的データブロックは、CIP動作ピア接続データ構造の主データペイロードである。それは6つの異なるデータセットに組織されている。
Figure 2008135005
1.5.7.1 コマンドデータセット
このデータセットは、生産側の指令リファレンスデータと関連する要素を含んでいる。生産側と消費側のオブジェクト属性に対するこれらデータ要素のマッピングは、ピア接続方式、即ちコントローラのピアツーピア接続、または駆動装置のピアツーピア接続に依存する。下の表は、各ピア接続方式のマッピングを定義する。
Figure 2008135005
Figure 2008135005
なお、マップされた名前は、C対Cの場合には同一であるが、D対Dの場合にはそうでない。これはおもに、コントローラにおいて軸インスタンスは消費されたデータ専用だからであり、従って、それは生成された軸の「イメージ」であるためである。駆動装置においては、生成されたデータを別々の信号として一次駆動軸インスタンスに直接持ち込んでいる。個々のコマンドデータ要素の要約を以下に示す:

●指令位置:この要素には、生産側の絶対指令位置がカウントで含まれている。最後の更新以後の指令位置の変化(デルタ指令位置)を決定するために消費側がこの値を用いる。消費された軸の指令位置にギヤリングまたはカミングするときにこの情報を用いる。デルタ指令位置は、次式により与えられる。

デルタ指令位置=指令位置−最後の指令位置

●指令速度:この要素には生産側の指令速度がカウント/秒単位で含まれている。

●指令加速度:この要素には生産側の指令加速度がカウント/秒単位で含まれている。

●指令トルク:この要素には生産側の指令トルクが%定格トルク単位で含まれている。
1.5.7.2 実データセット
このデータセットは、生産側の指令リファレンスデータと関連する要素を含む。これらデータ要素の生産側と消費側のオブジェクト属性に対するマッピングは、ピア接続方式、即ちコントローラのピアツーピア接続、駆動装置のピアツーピアの接続に依存する。下の表に、各ピア接続方式のマッピングを定義する。
Figure 2008135005
●実位置:この要素には生産側の絶対的な実位置がカウントで含まれている。消費側は、またこの値を用いて最後の更新以後の実位置の変化(デルタ実位置)を決定する。この情報は、消費軸の実位置へのギヤリングまたはカミングに用いられる。デルタ実位置は、次式により与えられる。

デルタ実位置=実位置−最後の実位置

●実速度:この要素には生産側の実速度がカウント/秒単位で含まれている。

●実加速度:この要素には生産側の実加速度がカウント/秒単位で含まれている。

●実トルク:この要素には生産側の実トルクが%定格トルク単位で含まれている。
1.5.7.3 状態データセット
状態データセットは、インスタンスデータヘッダにおいて状態構成バイトによって決定される生成軸の状態データ値を含み、コントローラ軸オブジェクト(別名、動作軸オブジェクト)の中で定義される。現在サポートされている属性は軸状態、障害状態および動作状態である。状態データセットは駆動装置対駆動装置ピア接続には適用できない。
1.5.7.4 属性データセット
属性データセットは、生産側における対応する属性の現在値によって目標CIP動作オブジェクト属性を周期的に更新するために用いることができる。属性が与えられた消費側によってサポートされない場合、データブロックは単純に無視される。接続ヘッダに指定された属性カウントは、セットにおいて生成された属性の数を決定する。渡された属性はそれぞれ下に示す構造を有する:
Figure 2008135005
●属性ID−その値が拡張データブロックに含まれる特定の生産軸状態属性を識別する。

●属性次元−属性配列の次元を決定する。次元ゼロは、属性が一つだけのデータ要素であることを意味し、従って実際には全く配列ではない。多次元配列(次元>1)は、属性データシーケンスの前に追加の属性スタートインデックスおよびアドレスデータ要素値を追加することによりサポートされる。

●属性要素サイズ−生成された属性データ要素のサイズをバイトで決定する。

●属性スタートインデックス−属性データセクションにおいて属性値の配列のための開始インデックスを識別する。属性データ型が配列(即ち、次元>0)であるときのみ、このフィールドは存在する。

●属性データ要素−属性データセクションにおいてデータ要素値の数を決定する。このフィールドは属性データ型が配列(即ち、次元>0)であるときのみ存在する。

●属性データ−属性IDにより与えられた消費動作軸オブジェクト属性に適用される生成値を表わす。属性が配列である場合、新規の値は、スタートインデックスおよびデータ要素の数に従って適用される。多次元配列(次元>1)については、データのシーケンスはインデックスを介して左から右に順次移動する。例えば、
Figure 2008135005
この配列通過機構は、標準指令か実データセットに含まれていない特定の生産側属性に対するリアルタイムアクセスを必要とするアプリケーションに特に有用である。
1.5.8 駆動装置対駆動装置のピア接続タイミング
同期モードにおいて、CIP動作駆動装置対駆動装置接続は生成されたデータを有するドライブタイムスタンプを含み、コントローラタスク更新の発生時点にコントローラが駆動軸の指令または実データ値を決定することを可能にする。タイムスタンピングは、駆動装置がフィードバックをサンプリングし、他の動作制御ネットワークプロトコルと異なり、生産側更新期間と厳密に関連する必要のない自身の駆動装置更新期間に基づいて実データ値を算出することを可能にする。図18のダイヤグラムに、コントローラの時間基準に駆動軸の実位置を調整するために、駆動装置対駆動装置ピア接続によって配信された実データとタイムスタンプがどのように用いられるかを図示する。

この例においては、マスタ軸位置は生産側駆動装置によって取り込まれ、例えば伝導軸系アプリケーションにおけるマルチキャストCIP動作ピア駆動装置対駆動装置接続を介して1つ以上の消費側駆動装置に送信される。マスタ実位置が別の駆動装置によって消費されると、消費側は補外を行って接続以降に被った遅延を補償する。これは、消費されている実データ要素に関連した生産側のタイムスタンプ、Tpro、および消費側コントローラがラッチした消費側のタイムスタンプ、Tconを用いて行われる。一旦ピア接続遅延に対する補正がなされると、消費側駆動装置に関連した遠隔のスレーブ軸は電子ギヤリングを介してマスタ軸に対する位相を正確に合わせることができる。消費し生産する駆動装置が異なる更新レートで動いているときでも、この方法は機能する。事実、方法の注意深い検討により、双方が分散システム時間からはずれて動作する限り消費側駆動装置の更新期間は生産側駆動装置より大または小でありうることが明らかになる。

図19のダイヤグラムにおいて、生産側駆動装置は、多数の消費側駆動装置に、実位置ではなくて指令位置を配信している。マスタ指令位置が別の駆動装置によって消費されると、消費側は補外を行い接続以後に被った遅延を補償する。この場合も、これは、消費されている実データ要素に関連した生産側のタイムスタンプ、Tpro、および消費コントローラがラッチした消費側のタイムスタンプ、Tconを用いて行われる。一旦ピア接続遅延に対する補正がなされると、消費側駆動装置に関連した遠隔のスレーブ軸は電子ギヤリングを介してマスタ軸に対する位相を正確に合わせることができる。

あるいは、生産側駆動装置はマスタ指令遅延を表わす1つの生産側更新期間、Tmcd分だけローカルなマスタ指令位置リファレンスの適用を遅らせるように構成することができる。これにより、ピア接続以降に被った遅延を補償するために必要な補外の量が最小限になる。図20の例においては、マスタ指令遅延は250マイクロ秒である。消費側駆動装置の更新期間も250マイクロ秒であるので、正味の補外タイムは0である。これにより、できる限り円滑なギヤリング性能がもたらされる。
図1は、産業オートメーション環境中の動作制御に関連するタイミングを調整するシステムの一例を示す図である。 図2は、産業オートメーション環境内の動作制御データの転送および/または更新を調整するために周期タイミング構成要素によって使用されるタイミングモデルの例を示す図である。 図3は、産業オートメーション環境内の動作制御データの転送および/または更新を調整するために周期タイミング構成要素によって使用されるタイミングモデルの例を示す図である。 図4は、産業オートメーション環境内の動作制御データの転送および/または更新を調整するために周期タイミング構成要素によって使用されるタイミングモデルの例を示す図である。 図5は、産業オートメーション環境中の動作制御に関連する入力送信をシリアル化するシステムの一例を示す図である。 図6は、産業オートメーション環境の動作の制御を容易にするタイムスタンピング体系を利用するシステムの一例を示す図である。 図7は、動作制御ネットワーク中のネットワーク資源の利用の平衡を保つことを可能にするシステムの一例を示す図である。 図8は、動作制御ネットワーク中で動的に構造化されたデータを転送することを可能にするシステムの一例を示す図である。 図9は、動作制御ネットワークへのノードの付加および/または削除を容易にするシステムの一例を示す図である。 図10は、産業オートメーション環境中のオープンネットワーク上の動作の制御を可能にするシステムの一例を示す図である。 図11は、タイムスタンピングプロトコルを利用する動作制御ネットワーク上のコントローラおよび駆動装置間の交信を容易にするシステムの一例を示す図である。 図12は、タイムスタンピングプロトコルの使用によってネットワーク上でコントローラと駆動装置の間の動作制御データおよび/または非動作データの交信を可能にするシステムの一例を示す図である。 図13は、CIP動作駆動接続上でデータの交信を容易にするシステムの一例を示す図である。 図14は、産業オートメーション環境中のネットワーク上でタイムスタンピングプロトコルをもって動作のコントロールを容易にする手法の代表的なフローダイヤグラムを示す図である。 図15は動作制御ネットワークのための動作制御更新に関連する平衡型の単一サイクルタイミングを可能にする手法の代表的なフローダイヤグラムを示す図である。 図16は、動作制御ネットワーク上で動的な動作に関連するデータの送信を可能にする手法の代表的なフローダイヤグラムを示す図である。 図17は、タイムスタンピング動作制御に関連する種々の態様の典型的なタイミングダイヤグラムである。 図18は、タイムスタンピング動作制御に関連する種々の態様の典型的なタイミングダイヤグラムである。 図19は、タイムスタンピング動作制御に関連する種々の態様の典型的なタイミングダイヤグラムである。 図20は、タイムスタンピング動作制御に関連する種々の態様の典型的なタイミングダイヤグラムである。 図21は、タイムスタンピング動作制御に関連する種々の態様の典型的なタイミングダイヤグラムである。 図22は、タイムスタンピング動作制御に関連する種々の態様の典型的なタイミングダイヤグラムである。 図23は、タイムスタンピング動作制御に関連する種々の態様の典型的なタイミングダイヤグラムである。 図24は、タイムスタンピング動作制御に関連する種々の態様の典型的なタイミングダイヤグラムである。 図25は、タイムスタンピング動作制御に関連する種々の態様の典型的なタイミングダイヤグラムである。 図26はここに説明された様々な特色を実行することができるオペレーティングシステムの一例を示す図である。 図27はここに説明された様々な特色が相互作用することができる典型的なコンピュータ環境を示す図である。
符号の説明
100 システム
102 動作制御構成要素
104 周期タイミング構成要素

Claims (20)

  1. 産業オートメーション環境での動作制御に関連するタイミングの調整を容易にするシステム(100、500、600、700、800、900、1000、1100、1200、1300)であって、前記システムは
    ネットワーク接続経由で異種の動作制御構成要素(102、502、506、604、704、804、904、1004、1102、1104、1202、1204、1302、1304)と通信する動作制御構成要素(102、502、506、604、704、804、904、1004、1102、1104、1202、1204、1302、1304)と、
    タイミングモデルを利用して、動作制御と関連する動作制御構成要素の動作のタイミングを調整する周期タイミング構成要素(104、712)と、
    を含む、動作制御に関連するタイミングの調整を容易にするシステム。
  2. 前記動作制御構成要素は、コントローラ、制御軸オブジェクト、駆動装置、および駆動軸オブジェクトの少なくとも1つである、請求項1に記載のシステム。
  3. 前記動作制御構成要素および前記異種の動作制御構成要素は、時間についての共通の理解を利用して、前記タイミングモデルにしたがって前記動作を遂行する、請求項1に記載のシステム。
  4. 前記動作は、データの送信、データの受信、データに関連する計算の遂行、データの取り込み、および受信したコマンドの適用の1つ以上である、請求項1に記載のシステム。
  5. 前記周期タイミング構成要素は、1つの粗い更新期間において駆動装置の位置および速度の1つ以上の更新を実施する単一サイクルタイミングモデルを使用し、前記周期タイミング構成要素は、前記単一サイクルタイミングモデルを利用して前記1つの粗い更新期間のバランスのとれた部分を入力データの送信、出力データの送信および非動作関連データの送信に割り当てる、請求項1に記載のシステム。
  6. 前記周期タイミング構成要素は、2つの粗い更新期間において駆動装置の位置および速度の少なくとも一つの更新を実施する2サイクルタイミングモデルを使用し、前記周期タイミング構成要素は、前記2サイクルのタイミングモデルを利用して、入力データ送信に1つの粗い更新期間を、かつコマンドの生成および前記コマンドの出力データ送信に第2の粗い更新期間を割り振る、請求項1に記載のシステム。
  7. 前記周期タイミング構成要素は、3つの粗い更新期間において駆動装置の位置および速度の1つ以上の更新を実施する3サイクルタイミングモデルを使用し、前記周期タイミング構成要素は、前記3サイクルタイミングモデルを利用して、入力データ転送のために1つの粗い更新期間を、前記入力データ上で計算を行なうために第2の粗い更新期間を、および出力データ転送のために第3の粗い更新期間を配分する、請求項1に記載のシステム。
  8. 前記動作制御構成要素は、前記タイミングモデルに基づき粗い更新期間の始めに実データを取り込む駆動装置であり、前記駆動装置は少なくとも1つの異種の駆動装置と同時にイーサネット(登録商標)(登録商標)スイッチに前記実データを送信し、また前記イーサネット(登録商標)(登録商標)スイッチは、前記駆動装置および前記少なくとも1つの異種の駆動装置からの前記実データを、コントローラへの送信のためにシリアル化する、請求項1に記載のシステム。
  9. 前記周期タイミング構成要素は前記タイミングモデルを用いてプリセットされる、請求項1に記載のシステム。
  10. 前記周期タイミング構成要素は、1組のタイミングモデルから前記タイミングモデルを選択する、請求項1に記載のシステム。
  11. 産業オートメーション環境で動作制御の調整を容易にする方法(200、300、400)であって、前記方法は
    タイミングモデル(202、302、402)に関連する粗い更新期間の始めに駆動装置に関連する実データを取り込むことと、
    前記タイミングモデル(204、304、406)にしたがってネットワーク経由でコントローラに前記実データを送信することと、
    前記実データに対応する、前記コントローラによって生成されたコマンド出力データを、前記タイミングモデル(208、308、408)にしたがって前記ネットワーク経由で受信することと、
    前記コマンド出力データ(210、310、412)を適用することと、
    を含む、動作制御の調整を容易にする方法。
  12. 前記実データおよび前記コマンド出力データは、前記駆動装置の位置および前記駆動装置の速度の少なくとも1つに関連する、請求項11に記載の方法
  13. 単一サイクルタイミングモデルの利用によって、実データ取り込みからの前記粗い更新期間中に前記コマンド出力データを適用することをさらに含む、請求項11に記載の方法。
  14. 請求項11に記載の方法であって、前記方法は
    2サイクルのタイミングモデルを使用して前記粗い更新期間中に前記実データを送信することと、
    前記2サイクルのタイミングモデルを利用して次の粗い更新期間中に前記コマンド出力データを受信することと、
    をさらに含む、請求項11に記載の方法。
  15. 請求項11に記載の方法であって、前記方法は
    3サイクルのタイミングモデルを使用して前記粗い更新期間中に前記実データを送信することと、
    前記粗い更新期間中に用意される前記実データに対応する前記コマンド出力データを受信することと、をさらに含み、前記コマンド出力データは、前記粗い更新期間の後に続く2つの粗い更新期間である異種の粗い更新期間に受信される、請求項11に記載の方法。
  16. 動作に関連するデータトラフィック用の全二重ネットワーク帯域幅を利用することをさらに含む、請求項15に記載の方法。
  17. 入力および出力データパケットの並行処理を実施することをさらに含む、請求項15に記載の方法。
  18. 産業オートメーション環境での動作制御の調整を容易にするシステム(100、500、600、700、800、900、1000、1100、1200、1300)であって、前記システムは
    タイミングモデル(102、506、604、704、804、904、1004、1102、1202、1302)に関連する第一の時間セグメント中に実データを受信するための手段と、
    前記タイミングモデル(102、506、604、704、804、904、1004、1102、1202、1302)に関連する第二の時間セグメント中に前記実データに対応するコマンド出力データを生成するための手段と、
    前記タイミングモデル(102、506、604、704、804、904、1004、1102、1202、1302)に関連する第三の時間セグメント中に前記コマンド出力データを送信するための手段と、
    を含む、動作制御の調整を容易にするシステム。
  19. 前記タイミングモデルは、単一サイクルタイミングモデル、2サイクルタイミングモデルあるいは3サイクルタイミングモデルの少なくとも一つである、請求項18記載のシステム。
  20. 前記実データおよび前記コマンド出力データは、前記駆動装置の位置および前記駆動装置の速度の少なくとも1つに関連する、請求項18記載のシステム。
JP2007250723A 2006-09-29 2007-09-27 動作制御タイミングモデル Pending JP2008135005A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/536,870 US7904184B2 (en) 2004-11-23 2006-09-29 Motion control timing models

Publications (1)

Publication Number Publication Date
JP2008135005A true JP2008135005A (ja) 2008-06-12

Family

ID=38920692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007250723A Pending JP2008135005A (ja) 2006-09-29 2007-09-27 動作制御タイミングモデル

Country Status (4)

Country Link
US (1) US7904184B2 (ja)
EP (1) EP1906283B1 (ja)
JP (1) JP2008135005A (ja)
CN (1) CN101196731B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227097A (zh) * 2016-08-25 2016-12-14 常州市翔云智能控制系统有限公司 多总线多轴运动控制器
KR20190122125A (ko) * 2017-03-01 2019-10-29 플레토라 Iiot, 에스.엘. 산업 설비의 기계의 감독 및 제어를 위한 다중 장치를 포함하는 시스템 및 장치

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100234969A1 (en) * 2007-06-12 2010-09-16 Ulvac, Inc. Process management system
TWI403126B (zh) * 2008-10-21 2013-07-21 Ind Tech Res Inst 網路連線設備與應用其之通訊系統與方法
TWI411277B (zh) * 2009-12-23 2013-10-01 Ind Tech Res Inst 網路從節點與網路系統精確時間同步之方法
JP5137984B2 (ja) * 2010-02-12 2013-02-06 株式会社日立ハイテクインスツルメンツ フィールドネットワークシステム
EP2537322B1 (en) * 2010-02-16 2014-12-17 iRobot Corporation Internal communication system for a mobile robot
US8352641B2 (en) * 2010-04-21 2013-01-08 General Electric Company Systems and methods for identifying fieldbus devices in a control system
US10135900B2 (en) * 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US8677029B2 (en) 2011-01-21 2014-03-18 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US9582239B2 (en) 2011-01-21 2017-02-28 Qualcomm Incorporated User input back channel for wireless displays
JP4807475B1 (ja) * 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
US9323235B2 (en) * 2011-04-11 2016-04-26 Rockwell Automation Technologies, Inc. Industrial control system with distributed motion planning
WO2013059513A1 (en) * 2011-10-18 2013-04-25 Reconrobotics, Inc. Robot control translation and gateway system
WO2013099031A1 (ja) * 2011-12-28 2013-07-04 株式会社安川電機 エンジニアリングツール
CN104126287B (zh) * 2011-12-29 2017-10-27 施耐德电器工业公司 更新网络中的参数
US9977416B2 (en) 2012-06-20 2018-05-22 Rockwell Automation Technologies, Inc. Industrial hardware installation base reporting and failure monitoring
US9054863B2 (en) * 2012-09-04 2015-06-09 Rockwell Automation Asia Pacific Business Center Pte. Ltd. Industrial protocol system authentication and firewall
US9513617B2 (en) * 2012-10-03 2016-12-06 Rockwell Automation Technologies, Inc. Industrial control system with position offsets embedded in remote devices
US20140126583A1 (en) * 2012-11-08 2014-05-08 General Electric Company Systems and Methods for Segment Synchronization
CN104518483A (zh) * 2013-09-26 2015-04-15 鸿富锦精密工业(深圳)有限公司 过载保护系统
CN104519123B (zh) * 2013-10-02 2017-05-31 菲特比特公司 用于使活动跟踪设备与计算设备数据同步的方法、系统和设备
US9300430B2 (en) 2013-10-24 2016-03-29 Harris Corporation Latency smoothing for teleoperation systems
US9144907B2 (en) * 2013-10-24 2015-09-29 Harris Corporation Control synchronization for high-latency teleoperation
US10116488B2 (en) 2014-10-09 2018-10-30 Rockwell Automation Technologies, Inc. System for analyzing an industrial control network
US9811072B2 (en) * 2014-10-09 2017-11-07 Rockwell Automation Technologies, Inc. Apparatus and method for analyzing a control network
JP2016178601A (ja) * 2015-03-23 2016-10-06 セイコーエプソン株式会社 データ処理回路、物理量検出用回路、物理量検出装置、電子機器及び移動体
US10351255B2 (en) * 2016-01-18 2019-07-16 Pratt & Whitney Canada Corp. Digital communications between aircraft computer and engine computer
TWI715635B (zh) * 2016-09-21 2021-01-11 達明機器人股份有限公司 馬達控制命令的保護方法
US10412041B2 (en) * 2016-09-21 2019-09-10 Rockwell Automation Technologies, Inc. Internet protocol (IP) addressing using an industrial control program
US10317888B2 (en) 2017-03-01 2019-06-11 PLETHORA IloT, S.L. Device and system including multiple devices for supervision and control of machines in industrial installation
US10375216B2 (en) * 2017-09-29 2019-08-06 Rockwell Automation Technologies, Inc. Method and apparatus for communication in a motor drive application
JP2019101480A (ja) * 2017-11-28 2019-06-24 オムロン株式会社 制御装置および制御方法
EP3561621B1 (de) * 2018-04-26 2023-01-04 Siemens Aktiengesellschaft Bestimmen eines angepassten leitwertes einer leitachse
JP6806737B2 (ja) * 2018-06-15 2021-01-06 ファナック株式会社 同期装置、同期方法及び同期プログラム
JP7188950B2 (ja) 2018-09-20 2022-12-13 株式会社Screenホールディングス データ処理方法およびデータ処理プログラム
JP6988773B2 (ja) * 2018-11-15 2022-01-05 オムロン株式会社 制御システムおよび制御装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200106A (ja) * 1998-12-03 2000-07-18 Agilent Technol Inc 時間同期を使用する動作制御

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4333153A (en) 1979-11-26 1982-06-01 Eltra Corporation Scanning and control system for electro optical printer
US5204942A (en) 1989-01-10 1993-04-20 Kabushiki Kaisha Kobe Seiko Sho Robot control system for controlling a set of industrial robots for cooperative operation
EP0640231A4 (en) 1992-05-01 1995-11-02 Zev Galel AUTONOMOUS SELECTIVE CUTTING, METHOD AND DEVICE.
US5391970A (en) 1993-09-30 1995-02-21 Allen-Bradley Company, Inc. Motion controller with remote linking and time disturbance correction
US5508596A (en) * 1993-10-07 1996-04-16 Omax Corporation Motion control with precomputation
US5887029A (en) 1994-05-31 1999-03-23 Allen-Bradley Company, Llc Method of scheduling spatially separated control events with an industrial controller
US5533695A (en) * 1994-08-19 1996-07-09 Harmon Industries, Inc. Incremental train control system
US5566180A (en) 1994-12-21 1996-10-15 Hewlett-Packard Company Method for recognizing events and synchronizing clocks
IL112818A (en) * 1995-02-28 1999-10-28 Iscar Ltd Tool holder having a grooved seat
US6209037B1 (en) 1995-05-30 2001-03-27 Roy-G-Biv Corporation Motion control systems using communication map to facilitating communication with motion control hardware
JPH10326107A (ja) 1997-03-25 1998-12-08 Mitsubishi Electric Corp サーボ制御方法およびサーボ制御システム
US6173207B1 (en) 1997-09-22 2001-01-09 Agilent Technologies, Inc. Real-time control system with non-deterministic communication
JP3384314B2 (ja) * 1997-12-02 2003-03-10 ヤマハ株式会社 楽音応答画像生成システム、方法、装置、及び、そのための記録媒体
US6411770B1 (en) * 1998-07-02 2002-06-25 Sony Corporation Data recording method and apparatus
US6505247B1 (en) 1998-08-21 2003-01-07 National Instruments Corporation Industrial automation system and method for efficiently transferring time-sensitive and quality-sensitive data
US6411987B1 (en) 1998-08-21 2002-06-25 National Instruments Corporation Industrial automation system and method having efficient network communication
US6609080B1 (en) * 1999-11-22 2003-08-19 Nokia Mobile Phones Ltd Multiple-model navigation filter with hybrid positioning
US6487680B1 (en) 1999-12-03 2002-11-26 International Business Machines Corporation System, apparatus, and method for managing a data storage system in an n-way active controller configuration
US6698022B1 (en) 1999-12-15 2004-02-24 Fujitsu Limited Timestamp-based timing recovery for cable modem media access controller
US7183480B2 (en) * 2000-01-11 2007-02-27 Yamaha Corporation Apparatus and method for detecting performer's motion to interactively control performance of music or the like
US6697681B1 (en) 2000-03-22 2004-02-24 Trellis Software & Controls, Inc. Shared operating unit for a network of programmable equipment
US7310678B2 (en) * 2000-07-28 2007-12-18 Kasenna, Inc. System, server, and method for variable bit rate multimedia streaming
US7042834B1 (en) * 2000-07-28 2006-05-09 Cisco Technology, Inc. Method and system for routing communications among computer networks
DE10058524A1 (de) 2000-11-24 2002-06-13 Siemens Ag System und Verfahren zur parallelen Übertragung von echtzeitkritischen und nicht echtzeitkritischen Daten über schaltbare Datennetze, insbesondere Ethernet
DE10065418A1 (de) 2000-12-27 2002-07-18 Siemens Ag Integrationsverfahren für Automatisierungskomponenten
US7024257B2 (en) 2001-02-09 2006-04-04 Motion Engineering, Inc. System for motion control, method of using the system for motion control, and computer-readable instructions for use with the system for motion control
US7463643B2 (en) 2001-03-16 2008-12-09 Siemens Aktiengesellschaft Applications of a switched data network for real-time and non-real time communication
DE10113261C2 (de) * 2001-03-16 2003-07-10 Siemens Ag Synchrones, getaktetes Kommunikationssystem mit dezentralen Ein-/Ausgabe-Baugruppen und Verfahren zur Einbindung dezentraler Ein-/Ausgabe-Baugruppen in ein solches System
US7797062B2 (en) 2001-08-10 2010-09-14 Rockwell Automation Technologies, Inc. System and method for dynamic multi-objective optimization of machine selection, integration and utilization
WO2003028258A1 (de) 2001-09-26 2003-04-03 Siemens Aktiengesellschaft Verfahren zur synchronisation von knoten eines kommunikationssystems
KR100442877B1 (ko) * 2002-06-15 2004-08-06 삼성전자주식회사 HomePNA를 위한 수신기에서의 채널 등화 및 반송파복원 시스템과 그 방법
US7096076B2 (en) * 2002-06-19 2006-08-22 Rockwell Automation Technologies, Inc. Output cam system and method
US20040019393A1 (en) 2002-07-25 2004-01-29 Eileen Heider System and method for model base control
DE10235943A1 (de) * 2002-08-06 2004-02-19 Kuka Roboter Gmbh Verfahren und Vorrichtung zum synchronen Steuern von Handhabungsgeräten
US20060164771A1 (en) 2002-08-16 2006-07-27 Sebastian Heidepriem Device for transmitting, exchanging and/or routing data and/or information
US6983393B2 (en) 2002-12-11 2006-01-03 National Instruments Corporation Deterministically handling asynchronous events in a time triggered system
DE10314025B4 (de) 2003-03-28 2010-04-01 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern einer Mehrzahl von Handhabungsgeräten
US6804580B1 (en) 2003-04-03 2004-10-12 Kuka Roboter Gmbh Method and control system for controlling a plurality of robots
US20040225382A1 (en) * 2003-05-09 2004-11-11 Phil Brown Jerk profile, vector motion control and real time position capture in motion control systems
US20050083970A1 (en) * 2003-08-14 2005-04-21 Jeff Glickman Apparatus, system and method of transmitting data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200106A (ja) * 1998-12-03 2000-07-18 Agilent Technol Inc 時間同期を使用する動作制御

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227097A (zh) * 2016-08-25 2016-12-14 常州市翔云智能控制系统有限公司 多总线多轴运动控制器
CN106227097B (zh) * 2016-08-25 2018-11-30 常州市翔云智能控制系统有限公司 多总线多轴运动控制器
KR20190122125A (ko) * 2017-03-01 2019-10-29 플레토라 Iiot, 에스.엘. 산업 설비의 기계의 감독 및 제어를 위한 다중 장치를 포함하는 시스템 및 장치
JP2020502596A (ja) * 2017-03-01 2020-01-23 プレソラ アイアイオーティー ソシエダッド リミターダ 産業設備における機械の監視及び制御のための装置、及び複数のこのような装置を含むシステム
KR102599872B1 (ko) * 2017-03-01 2023-11-07 플레토라 Iiot, 에스.엘. 산업 설비의 기계의 감독 및 제어를 위한 다중 장치를 포함하는 시스템 및 장치

Also Published As

Publication number Publication date
US7904184B2 (en) 2011-03-08
EP1906283B1 (en) 2013-06-26
CN101196731A (zh) 2008-06-11
EP1906283A3 (en) 2010-12-22
US20070058929A1 (en) 2007-03-15
CN101196731B (zh) 2013-03-27
EP1906283A2 (en) 2008-04-02

Similar Documents

Publication Publication Date Title
JP2008135005A (ja) 動作制御タイミングモデル
EP1659465B1 (en) Time stamped motion control network protocol that enables balanced single cycle timing and utilization of dynamic data structures
US8340790B2 (en) Methods and apparatus to adjust control loop timing in a process control system
KR102148943B1 (ko) 프로그래머블 컨트롤러 시스템, 그 컨트롤러
US7383458B2 (en) Method and device for synchronizing the cycle time of a plurality of TTCAN buses based on determined global time deviations and corresponding bus system
JP4691601B2 (ja) データのサイクリック伝送のための方法、通信ネットワーク、及び制御装置
US6959017B2 (en) Synchronizing system using IEEE 1394 serial bus standard
JP6984482B2 (ja) 通信システム、通信装置および通信方法
JP6897462B2 (ja) 制御システムおよび通信方法
JP7484912B2 (ja) 制御システム
US11977362B2 (en) Control device and distributed control system
WO2019107022A1 (ja) 制御装置および制御方法
JP7396393B2 (ja) 制御システム、装置および制御方法
KR20030084984A (ko) 버스 시스템의 적어도 하나의 노드의 동기화를 위한 방법및 장치 및 이에 상응하는 버스 시스템
WO2020054477A1 (ja) 制御システムおよび制御装置
JP2004523972A (ja) 実時間通信および非実時間通信のための切換可能なデータ網の応用
US20130070717A1 (en) Method and Apparatus for Interchanging Data Between Two Devices in an Automation Network
Gutiérrez et al. Time synchronization in modular collaborative robots
JP2006520118A (ja) イーサネットメッセージを周期的に送信するための方法、インタフェース、およびネットワーク
CN117499175A (zh) 基于TSN与EtherCAT异构网络的多电机同步控制方法
CN214480655U (zh) 一种兼容可定义确定性通信以太网的嵌入式设备
EP2253088A1 (en) Method of correction of network synchronisation
CN106647574B (zh) 一种多轴伺服驱动器同步系统控制方法
KR20090038709A (ko) 나노제어를 위한 고속디지털네트워크 인터페이스장치
WO2024079892A1 (ja) データ収集装置、データ収集システム、データベース作成方法及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100723

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100728

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100824

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100827

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100921

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110621

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110624

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110720

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110725

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111018