JP2009077111A - Ieee1394応用マスタ・スレーブ同期通信システムおよびその方法 - Google Patents

Ieee1394応用マスタ・スレーブ同期通信システムおよびその方法 Download PDF

Info

Publication number
JP2009077111A
JP2009077111A JP2007243502A JP2007243502A JP2009077111A JP 2009077111 A JP2009077111 A JP 2009077111A JP 2007243502 A JP2007243502 A JP 2007243502A JP 2007243502 A JP2007243502 A JP 2007243502A JP 2009077111 A JP2009077111 A JP 2009077111A
Authority
JP
Japan
Prior art keywords
cycle
master
slave
asynchronous transfer
transfer
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
JP2007243502A
Other languages
English (en)
Inventor
Mamoru Fukuda
守 福田
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2007243502A priority Critical patent/JP2009077111A/ja
Publication of JP2009077111A publication Critical patent/JP2009077111A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】IEEE1394に接続された1台のマスタと1台以上のスレーブが、アイソクロナス転送により基底サイクルの整数倍の通信周期で定周期の同期通信を行うシステムにおいて、メッセージ通信の目的でアシンクロナス転送を行っても、通信周期が揺らがない同期通信システムを提供する。
【解決手段】
マスタおよび全てのスレーブに、IEEE1394の基底サイクルで更新される基底サイクルカウンタと送信タイミング管理情報テーブルを備え、マスタおよびスレーブが、送信タイミング管理情報テーブルに基づいて通信周期内の所定の基底サイクルで、アイソクロナス転送またはアシンクロナス転送のいずれかの送信処理を実行する。
【選択図】図1

Description

本発明は、IEEE1394に接続されたマスタとスレーブが、所定の周期でデータ交換する通信方式に関する。
一般に製造装置では、PLCやパソコンなどの制御機器をマスタとして、複数台のセンサ、リレー、モータなどのスレーブ機器が周期的にマスタと制御データの交換を行う。制御データの交換は定周期で行われるため、帯域が保証された通信手段が採用される。中でも、工作機械やマウンタなどのモーション制御システムでは、マスタであるモーションコントローラが、通信を介してスレーブ機器と制御ループを組むため、揺らぎのない通信周期での制御データの交換が実現可能な同期通信手段が要求される。
帯域保証のある、高速な汎用ネットワークの一つに、パソコンやAV機器などで一般的なIEEE1394がある。IEEE1394には、アイソクロナス・リソースマネージャ(IRM)により、帯域およびチャネル(以下、両方を合わせて、アイソクロナス・リソースと呼ぶ)が管理されるアイソクロナス転送があり、125μsの基底サイクル毎にアイソクロナスパケットの送信を行うことができる。
このIEEE1394を応用した同期通信方式の例として、特開2005−45672号公報がある。特開2005−45672号公報は、IEEE1394の基底サイクルの整数倍を通信周期として、アイソクロナス転送を使用したマスタ-スレーブ間の同期通信方式を提案している。図10は、特開2005−45672号公報に記載されている、基底サイクルの(m+1)倍を通信周期として、マスタとn台のスレーブが同期通信を行う実施例となる通信タイミングチャートである。特開2005−45672号公報では、各機器の送信処理が固有周期125μsで発信される同期信号Cycle_Syncにより起動され、この処理の中で更新される基底サイクルカウンタの現在値が所定の値の場合にアイソクロナスパケットを送信することで、周期的な同期通信を実現している。
特開2005−45672号公報では定周期のデータ交換にしか触れていないが、制御機器の通信には、前述の制御データ交換以外に、エンジニアリングやモニタを目的とした、非同期で周期性も持たないメッセージ通信がある。IEEE1394でも、これに対応するものとしてアシンクロナス転送があるが、前記IRMがリソースを管理するアイソクロナス転送とは異なり、アシンクロナス転送は各機器が任意のタイミングで転送権を調停して実行するため、アシンクロナス転送のタイミングによってはサイクルタイムに揺らぎを発生させることがあった。
図11は従来の通信システムの伝送タイミングを示す図であり、アイソクロナス転送による制御データの交換と、アシンクロナス転送によるメッセージの交換を行なう場合のサイクルタイムが変動する例である。図11で、サイクルタイムは、サイクルスタートパケットから次のサイクルスタートパケットまでの時間のことである。
サイクル(k-1)に示される様に、割り当てられているアシンクロナス転送帯域に収まるサイズのメッセージlをアシンクロナス転送した場合、アシンクロナス転送を実行したサイクル(k-1)および継続するサイクルkのサイクルタイムは変動しない。
しかしながら、サイクル(k+1)に示される様に、前記アシンクロナス転送帯域を超過するサイズのメッセージ(l+1)をアシンクロナス転送した場合、アシンクロナス転送を実行したサイクル(k+1)の超過にともないサイクル(k+1)のサイクルタイムが長くなり、継続するサイクル(k+2)のサイクルタイムが、前記サイクル(k+1)のサイクルタイムが長くなった分だけ短くなるという現象が発生する。
上述の通り、アシンクロナス転送によりサイクルタイムは揺らぐのに対し、IEEE1394の同期信号Cycle_Syncの発信周期は揺らぎがないため、各スレーブが自分自身の同期信号Cycle_Syncにより受信処理を実行する場合、所定のタイミングで受信できない問題が発生する。一般に制御機器の通信処理は、通信周期毎に実行されるため、この揺らぎが通信周期の境界となる場合は、特定のサイクルの揺らぎとしてでなく、通信周期1周期分の揺らぎとして扱われてしまう。
このようなサイクルタイムの変動を回避するための技術が特開2004−179974号公報において開示されている。特開2004−179974号公報では、アシンクロナス転送管理部を特定の機器に持たせ(図12)、サイクルタイムを超えない範囲にアシンクロナス転送が収まる様に帯域の計算と割り当てを行い、その他の機器は前記アシンクロナス転送管理部を持つ機器から予めアシンクロナス転送のための帯域を確保した後にアシンクロナス転送を行なうことで、サイクルタイムを変動させることなくアイソクロナス転送とアシンクロナス転送を実現している。
特開2005−45672号公報(10頁、図1) 特開2004−179974号公報(12頁、図3)
しかしながら、特開2004−179974号公報において開示されているアシンクロナス転送を管理する技術をメッセージの交換に適用した場合、アシンクロナス転送管理部を持つ機器がアシンクロナス転送のための帯域計算部、帯域割り当て部と帯域記録部を備える必要があり、かつ、アイソクロナス転送に利用可能な帯域から利用可能なアシンクロナス転送帯域を計算する必要があった。また、この利用可能なアシンクロナス転送帯域を計算するには、アシンクロナスパケットの転送以外に費やされるサブアクション・ギャップ、アックノリッジ・ギャップおよびアックノリッジ・パケットの転送も考慮した複雑な計算を行なう必要があるという問題もあった。また、複雑な計算の後確保できるアシンクロナス転送の帯域は、IEEE1394の基底サイクルである125μsからアイソクロナス転送に必要な帯域を除いた時間しか、連続して確保できない制限もあった。
本発明はこのような問題点に鑑みてなされたものであり、簡易な仕組みで、アイソクロナス転送のタイミングに影響を与えないアシンクロナス転送によるメッセージ通信が実現できる通信システムを提供することを目的とする。
上記問題を解決するため、本発明は、次のようにしたのである。
請求項1に記載の発明は、1つのマスタと、1つまたは複数のスレーブがIEEE1394ネットワークに接続され、IEEE1394固有周期の整数倍の通信周期で定周期の通信を行うマスタ・スレーブ同期通信システムにおいて、
前記マスタは、前記IEEE1394固有周期を基底サイクルとしてカウントし前記通信周期毎にリセットされる基底サイクルカウンタと、アイソクロナス転送またはアシンクロナス転送を実行するタイミングを前記基底サイクル単位で規定する送信タイミング管理情報テーブルと、アイソクロナス転送の送受信タイミングおよび使用するアイソクロナス・チャネルをスレーブ毎に割り付けた情報を格納した接続スレーブ情報テーブルとを具備する送信タイミング管理部を備え、
前記スレーブは、前記IEEE1394固有周期をカウントし前記通信周期毎にリセットされる基底サイクルカウンタと、アイソクロナス転送またはアシンクロナス転送を実行するタイミングを前記基底サイクル単位で規定する送信タイミング管理情報テーブルとを具備する送信タイミング管理部を備えることを特徴としたものである。
請求項2に記載の発明は、請求項1に記載の発明において、前記送信タイミング管理情報テーブルは、前記基底サイクルを単位として、前記基底サイクルの個数で示された前記通信周期、アイソクロナス転送に割り付けられる最後の前記基底サイクルの前記基底サイクルカウンタの値を示すアイソクロナス転送サイクル、アシンクロナス転送に割り付けられる最初の前記基底サイクルの前記基底サイクルカウンタの値を示すアシンクロナス転送開始サイクル、アシンクロナス転送に割り付けられる最後の前記基底サイクルの前記基底サイクルカウンタの値を示すアシンクロナス転送制限サイクルを有するものであることを特徴としたものである。
請求項3に記載の発明は、請求項1に記載の発明において、前記送信タイミング管理情報テーブルは、前記基底サイクルの個数で示された前記通信周期、アイソクロナス転送に割り付けられる最後の前記基底サイクルの前記基底サイクルカウンタの値を示すアイソクロナス転送サイクル、アシンクロナス転送を開始できる時間をIEEE1394のCYCLE_TIMEレジスタのフォーマットで示したアシンクロナス転送開始時間、アシンクロナス転送ができる最終時間をIEEE1394のCYCLE_TIMEレジスタのフォーマットで示したアシンクロナス転送制限時間を有するものであることを特徴としたものである。
請求項4に記載の発明は、請求項2または請求項3に記載の発明において、前記送信タイミング管理情報テーブルは、稼動前に、前記マスタおよび全ての前記スレーブの不揮発性メモリに個別に設定されることを特徴としたものである。
請求項5に記載の発明は、請求項2または請求項3に記載の発明において、前記マスタの送信タイミング管理情報テーブルは、稼動前に予め不揮発メモリに設定され、前記スレーブの送信タイミング管理情報テーブルは、前記マスタが稼動前にスレーブ毎に設定することを特徴としたものである。
請求項6に記載の発明は、1つのマスタと、1つまたは複数のスレーブがIEEE1394ネットワークに接続され、IEEE1394固有周期の整数倍の通信周期で通信を行うマスタ・スレーブ同期通信方法において、
前記マスタは、前記IEEE1394固有周期を基底サイクルとしてカウントし前記通信周期毎にリセットされる基底サイクルカウンタの値と、送信タイミング管理情報テーブルのアイソクロナス転送サイクルを比較し、アイソクロナス転送送信タイミングと判断したときは、接続スレーブ情報テーブルに格納されたスレーブに対してアイソクロナス転送の送信処理を実行し、アイソクロナス転送送信タイミングでないと判断したときは、アシンクロナス転送制限時間内であればアシンクロナス転送によるメッセージを前記スレーブへ送信し、
前記スレーブは、前記IEEE1394固有周期を前記基底サイクルとしてカウントし前記通信周期毎にリセットされる基底サイクルカウンタの値と、送信タイミング管理情報テーブルのアイソクロナス転送サイクルを比較し、アイソクロナス転送送信タイミングと判断したときは、前記マスタからアイソクロナス転送による受信があったときは前記マスタへアイソクロナス転送の送信処理を実行し、アイソクロナス転送送信タイミングでないと判断したときは、アシンクロナス転送開始サイクルを経過しアシンクロナス転送制限サイクル内であって前期マスタから受信した前記メッセージの応答があるときに、該応答をアシンクロナス転送によるメッセージとして前記マスタへ送信することを特徴としたものである。
請求項7に記載の発明は、1つのマスタと、1つまたは複数のスレーブがIEEE1394ネットワークに接続され、IEEE1394固有周期の整数倍の通信周期で通信を行うマスタ・スレーブ同期通信方法において、
前記マスタは、前記IEEE1394固有周期を基底サイクルとしてカウントし前記通信周期毎にリセットされる基底サイクルカウンタの値と、送信タイミング管理情報テーブルのアイソクロナス転送サイクルを比較し、アイソクロナス転送送信タイミングと判断したときは、接続スレーブ情報テーブルに格納されたスレーブに対してアイソクロナス転送の送信処理を実行し、アイソクロナス転送送信タイミングでないと判断したときであって、アシンクロナス転送開始時間を経過しかつアシンクロナス転送制限時間内であるときは、アシンクロナス転送によるメッセージを前記スレーブへ送信し、
前記スレーブは、前記IEEE1394固有周期を前記基底サイクルとしてカウントし前記通信周期毎にリセットされる基底サイクルカウンタの値と、送信タイミング管理情報テーブルのアイソクロナス転送サイクルを比較し、アイソクロナス転送送信タイミングと判断したときは、前記マスタからアイソクロナス転送による受信があったときは前記マスタへアイソクロナス転送の送信処理を実行し、アイソクロナス転送送信タイミングでないと判断したときは、アシンクロナス転送開始時間を経過しかつアシンクロナス転送制限時間内であるときに、前期マスタから受信した前記メッセージの応答があるときは該応答をアシンクロナス転送によるメッセージとして前記マスタへ送信することを特徴としたものである。
請求項8に記載の発明は、1つのマスタと、1つまたは複数のスレーブがIEEE1394ネットワークに接続され、IEEE1394固有周期の整数倍の通信周期で通信を行うマスタ・スレーブ同期通信方法において、
前記マスタは、アシンクロナス転送開始時間を経過しかつアシンクロナス転送制限時間内であってメッセージ送信の要求があるときは、アシンクロナス転送によって前記メッセージを前記スレーブへ送信し、
前記スレーブは、アシンクロナス転送開始時間を経過しかつアシンクロナス転送制限時間内であるときに、前期マスタから受信した前記メッセージの応答があるときは該応答をアシンクロナス転送によるメッセージとして前記マスタへ送信することを特徴としたものである。
請求項1、請求項2、請求項4、請求項5または請求項6に記載の発明によると、基底サイクルの整数倍の通信周期内にアイソクロナス転送のみに使う基底サイクルとアシンクロナス転送にのみ使う基底サイクルを分離して設け、最後にアイソクロナス転送もにアシンクロナス転送にも使わない基底サイクルを1個設ける。従って、あらかじめ決められた通信周期を揺るがすことなく、アイソクロナス転送およびアシンクロナス転送を実行することができる。
請求項3、請求項7または請求項8に記載の発明によると、基底サイクルの整数倍の通信周期内にアイソクロナス転送のみに使う基底サイクルを設け、該通信周期内の残りの基底サイクルにおいてアシンクロナス転送に使用する時間をIEEE1394に規程されたCYCLE_TIMEレジスタのフォーマットで規定する。従って、基底サイクル2個からなる通信周期のシステムにおいても、該通信周期を揺るがすことなく、アイソクロナス転送とアシンクロナス転送を実行することができある。
以下、本発明の実施の形態について図を参照して説明する。以下、異なる図においても同一の構成要素を示す場合、同じ番号を割り当てている。
図9は、本発明を適用する通信システムの例である。図9に示す通り、1台のマスタと、1台以上のスレーブが、IEEE1394ネットワークを介して接続されている。
図1は、本発明を適用したマスタ10の構成を示すブロック図である。図1において、IEEE1394ネットワークに近いレベルから順にIEEE1394PHY140、IEEE1394LINK130、通信制御部120があり、その上位に機器固有制御部110が存在する。
通信制御部は、アイソクロナス転送を使用して制御データの交換を行う制御データ送受信処理部121、アシンクロナス転送を使用してメッセージの交換を行うメッセージ送受信処理部122、および、アイソクロナス転送およびアシンクロナス転送のパケット送信タイミングを制御する、送信タイミング管理部123から構成される。
送信タイミング管理部123は、IEEE1394LINK130からIEEE1394の固有周期125μsで発信される同期信号Cycle_Sync(不図示)により起動される処理の中で更新される基底サイクルカウンタ1231、アイソクロナス転送およびアシンクロナス転送の送信処理の基底サイクルカウンタ1231の値を格納した送信タイミング管理情報テーブル1232、および、制御対象となるスレーブの情報を格納した接続スレーブ情報テーブル1233を具備する。
なお、基底サイクルカウンタ1231は、初期に0にリセットされ、以降、通信周期毎にリセットされるものとする。
また、接続スレーブ情報テーブル1233は、アイソクロナス転送の送受信を実行する各基底サイクル毎に、アイソクロナス転送の対象となるスレーブおよびアイソクロナス転送のために使用するアイソクロナス・チャネルを格納したものである。この接続スレーブ情報テーブルは、あらかじめエンジニアリングツール(不図示)によって設定されるか、マスタによって生成されるものであるが、その詳細については省略する。
マスタ10が制御データをスレーブ21〜2nに送信する場合、機器固有制御部110で作成したデータは通信制御部120に渡され、通信制御部の制御データ送受信処理部121によりアイソクロナス・パケットが作成される。作成されたアイソクロナス・パケットは、送信タイミング管理部123により、所定のタイミングでIEEE1394LINK130、および、IEEE1394PHY140を経由して、IEEE1394ネットワーク30へ送出される。
マスタ10がメッセージをスレーブ21〜2nに送信する場合、前記制御データと同様に処理される。ただし、メッセージの場合、機器固有制御部で作成されたメッセージは、通信制御部120のメッセージ送受信処理部122によりアシンクロナス・パケットとして作成される。また、IEEE1394ネットワークからアイソクロナス・パケットおよびアシンクロナス・パケットを受信する場合は、それぞれ、上記制御データおよびメッセージと逆の流れを介して機器固有制御部110で処理される。
図3は、前記送信タイミング管理情報テーブル1232の第1の実施例である。本例では、従来例の通信タイミングの図10に合わせて、(m+1)の基底サイクルで通信周期を構成している。図3の単位は、いずれも基底サイクルで、通信周期先頭の基底サイクルを0としている。アイソクロナス転送サイクル12322は、通信周期先頭から基底サイクルiまでを、アイソクロナス転送専用に割り付けることを意味する。
また、アシンクロナス転送開始時間12323およびアシンクロナス転送制限時間12324により、基底サイクルが(i+1)から (m−1)までをアシンクロナス転送専用に割り付けることを意味する。ここで、通信周期最後の基底サイクルmを、いずれの転送にも割付ていないのは、アシンクロナス転送の揺らぎにより、次の通信周期開始が揺らぐことを防ぐためである。
前記送信タイミング管理情報テーブル1232は、通信システムの構成決定時にエンジニアリングツール(不図示)を使って予め作成し、マスタ10の不揮発メモリ(不図示)に格納しておいても良いし、マスタの通信制御部120が接続されたスレーブを検出後、スレーブから収集した情報を元に稼動前に作成し、マスタ10の不揮発メモリ(不図示)に格納しても良い。
図2は、本発明のスレーブのブロック図である。図2ではスレーブ21と表記しているが、図9の他のスレーブも同様の構造をもつ。図2において、マスタ10の図1と名称が同じものは、マスタ10と同等に機能するものなので、ここでの説明は省略する。
マスタ10と異なるのは、スレーブ21の送信タイミング管理部223は接続スレーブ情報テーブル1233を具備していない点である。
制御機器で一般に使用されているマスタ・スレーブ通信方式の場合、スレーブはマスタとのみ通信するため、他スレーブの情報は必要ない。このため、スレーブ21は接続スレーブ情報テーブル1233を具備しない。
また、基底サイクルカウンタ2231は、初期にマスタ10からの指令によって0にリセットされ、以降、通信周期毎にリセットされるものとする。
スレーブ21の送信タイミング管理情報テーブル2232は、マスタ10と同様に通信システムの構成決定時にエンジニアリングツール(不図示)を使って予め作成し、スレーブ21の不揮発メモリ(不図示)に格納しておいても良いし、マスタ10が稼動前にスレーブに通知しても良い。スレーブ21に通知する手段としては、前記送信タイミング管理情報テーブル2232をスレーブ21がIEEE1394規格に従いCSR(Control Status Register)として実装し、マスタ10が稼動前に、自身の送信タイミング管理情報テーブル1232の内容をアシンクロナス転送にて書き込むことがあげられる。
図6は、本発明を適用した通信システムにおける通信タイミングを示す図である。図6の通信タイミング図は、図3の送信タイミング管理情報テーブル1232に基づいて、基底サイクルカウンタが0からiでアイソクロナス転送のみを実行し、基底サイクル(i+1)から(m−1)でアシンクロナス転送のみを実行していることを示している。
図7は、マスタ10の送信タイミング管理部123の動作を示すフローチャートである。図7の処理は、IEEE1394LINK130からIEEE1394の固有周期125μsで発信される同期信号Cycle_Syncにより起動される。処理が起動されると、基底サイクルカウンタ1231の現在値と前記送信タイミング管理情報テーブル1232とからアイソクロナス転送送信タイミングかを判断する(S101)。
アイソクロナス転送送信タイミングの場合、制御データ送受信処理部121が接続スレーブ情報テーブル1233に格納されているスレーブに対し順にアイソクロナス・パケットを送信する(S102)。
S101で、アイソクロナス転送送信タイミングでなかった場合、メッセージ送受信処理部122からアシンクロナス転送の送信要求があるか確認し(S103)、要求があれば、前記送信タイミング管理情報テーブル1232に格納されているアシンクロナス転送開始サイクル12323およびアシンクロナス転送制限サイクル12324からアシンクロナス転送サイクル内であるかを判断し(S104およびS105)、アシンクロナス転送サイクル内であればアシンクロナス転送の送信処理を実行する(S106)。
図8は、スレーブ21の送信タイミング管理部223の動作を示すフローチャートである。スレーブ21の動作は、基本的にはマスタ10と同じである。ただし、前述の通りスレーブ21は、マスタ10からアイソクロナス転送による受信があった基底サイクルで、マスタ10とのみの通信を行うため、アイソクロナス転送の送信処理の繰り返しはない。
また、アシンクロナス転送は、マスタ10からのアシンクロナス転送によって受信したメッセージへの応答という形態をとるものとする。つまり、アシンクロナス転送が可能な時間において、マスタ10は、各スレーブ21〜2nとの間でメッセージを送信し、その応答を受信するという動作を実行する。
第1の実施例では、通信周期1231が基底サイクル2個からなる場合、最初の基底サイクルでアイソクロナス転送を行い、次の基底サイクルは揺らぎ防止のためにアイソクロナス転送もアシンクロナス転送も割り付けない。つまり、第1の実施例では、アイソクロナス転送のみが実行され、アシンクロナス転送によるメッセージ通信を行うことができない。
第2の実施例は、このような場合でも、アシンクロナス転送によるメッセージ通信を可能にするものである。この場合、送信タイミング管理情報テーブル1232の要素は図4に示すようになる。
通信周期12321は、第1の実施例と同様に、基底サイクルm+1個で通信周期が構成されることを示す。アイソクロナス転送サイクル12322も、第1の実施例と同様に、通信周期先頭から基底サイクルiまでをアイソクロナス転送専用に割り付けることを意味する。
第1の実施例と異なるのは、第1の実施例のアシンクロナス転送開始サイクル12323の代わりにアシンクロナス転送開始時間12325を、アシンクロナス転送制限サイクル12324の代わりにアシンクロナス転送制限時間12326を設けたことである。
アシンクロナス転送開始時間12325には、アシンクロナス転送を開始できる時間、すなわち、アイソクロナス転送サイクル12322の次の基底サイクルの開始時間を、図5に示すCYCLE_TIMEレジスタと同じフォーマットで格納する。
アシンクロナス転送制限時間12326には、アシンクロナス転送を終了する時間を、図5に示すCYCLE_TIMEレジスタと同じフォーマットで格納する。
ここで、IEEE1394LINK 130または230に具備するCYCLE_TIMEレジスタについて説明する。
CYCLE_TIMEレジスタは、IEEE1394スタンダードにて規定されていて、IEEE1394機器は実装必須のレジスタである。CYCLE_TIMEレジスタは、図5に示すように、12bitのcycle_offset部、13bitのcy c l e _ c o u n t 部、および7bitのs e c o n d _ c o u n t部から構成される。c y c l e _ o f f s e t部は、24.576MHzのクロックをカウントし、値が3072になると、つまり固有周期の125μs毎にキャリーを出す。c y c l e _ c o u n t はc y c l e _ o f f s e tからのキャリーをカウントし、8000 になると、つまり1s 毎にキャリーを出す。
従って、アシンクロナス転送制限時間12326の下位の12bitには、CYCLE_TIMEレジスタのclcle_offset部に対応して約40.6nsの分解能でアシンクロナス転送を終了する時間を設定することができる。
図4の場合のように、アシンクロナス転送制限時間12326の下位の12bitに1536(約62μs)を格納しておくと、アシンクロナス転送に起因する揺らぎが次の基底サイクルまで及ぶことはない。IEEE1394スタンダード(IEEE Std 1394−1995)により、アシンクロナス転送の1パケットで転送できるデータ長は、伝送速度に別に規定されているが、上限値の根拠はデータの最大バイト数が2のべき乗、かつ、パケットの送信全体が62μs未満で済む範囲であるので、揺らぎは最大で固有周期125μsの半分程度に押さえられているからである。
つまり、図4において、m=1、i=0に設定すれば、通信周期1231が基底サイクル2個の場合でも、アイソクロナス転送とアシンクロナス転送を実行することが可能である。
なお、アシンクロナス転送開始時間12325またはアシンクロナス転送制限時間12326に設定された値とCYCLE_TIMEレジスタ1301の現在値とを比較する際は、CYCLE_TIMEレジスタ1301のs e c o n d _ c o u n t部をマスクして0にし、c y c l e _ c o u n t 部を通信周期12321の基底サイクル数で除した剰余にし、c y c l e _ o f f s e t部はそのままにした値を使用する。
第2の実施例のフローチャートについて説明する。図13(a)はマスタ10のアイソクロナス転送処理であるが、第1の実施例と同様に、Cycle_Syncで起動される。まず、c y c l e _ c o u n t 部を通信周期を構成する基底サイクル数で除した剰余とアイソクロナス転送サイクル12322に格納されたiを比較し、アイソクロナス転送送信タイミングであるか否かを判断する。
アイソクロナス転送送信タイミングの場合、第1の実施例と同様に、制御スレーブ情報テーブル1233に格納されているスレーブに対してアイソクロナス転送を実行する。
アイソクロナス転送送信タイミングでない場合、アイソクロナス転送処理を実行しない。
図13(b)はマスタ10のアシンクロナス転送処理である。第1の実施例とは、優先度の低いバックグラウンド処理の1つとして実行されることが異なる。
たとえば、優先度の高いアイソクロナス転送が終了した時や、他のバックグラウンド処理が終了した時に起動される。
起動されると、アシンクロナス転送開始時間12325、アシンクロナス転送制限時間12326に格納された値とCYCLE_TIMEレジスタの現在値を比較して、アシンクロナス転送送信処理を実行するか否かを判断する。
そして、アシンクロナス転送送信が可能な時間であって、アシンクロナス転送の要求がある場合、メッセージとして送信する。
図14(a)はスレーブ21〜2nのアイソクロナス転送処理である。第1の実施例と同様に、Cycle_Syncで起動される。まず、c y c l e _ c o u n t 部を通信周期を構成する基底サイクル数で除した剰余とアイソクロナス転送サイクル12322に格納されたiを比較し、アイソクロナス転送送信タイミングであるか否かを判断する。
アイソクロナス転送送信タイミングの場合、第1の実施例と同様にアイソクロナス転送を実行する。
アイソクロナス転送送信タイミングでない場合、アイソクロナス転送処理を実行しない。
図14(b)はスレーブ21〜2nのアシンクロナス転送処理である。第1の実施例とは、優先度の低いバックグラウンド処理の1つとして実行されることが異なる。
たとえば、優先度の高いアイソクロナス転送が終了した時や、他のバックグラウンド処理が終了した時に実行される。そして、アシンクロナス転送が可能な時間であるか否かを判断し、アシンクロナス転送が可能な時間であって、マスタ10から受信したメッセージの応答がある場合、その応答をマスタ10へメッセージとして送信する。
このように、IEEE1394に接続されたマスタとスレーブが定周期で制御データを交換する通信システムにおいて、通信周期内の各サイクルで、アイソクロナス転送またはアシンクロナス転送のいずれかしか実行しないため、サイクルタイムおよび通信周期を揺らがせることがない。
1台のコントローラと複数のサーボアンプを備えた多軸の同期制御システム、たとえば、双腕マニピュレータや多指ハンド等を同期制御するようなシステムを構築するのに利用可能である。
本発明のマスタのブロック図 本発明のスレーブのブロック図 本発明の送信タイミング管理情報テーブルの第1の例 本発明の送信タイミング管理情報テーブルの第2の例 IEEE1394で規定されたCYCLE_TIMEレジスタ 本発明を適用した通信システムにおける通信タイミングを示す図 本発明のマスタの送信タイミング管理部の送信処理を示すフローチャートの第1の例 本発明のスレーブの通信制御部の送信処理を示すフローチャートの第1の例 本発明を適用する通信システムを示す図 従来の通信システムにおける通信タイミングの例1 従来の通信システムにおける通信タイミングの例2 従来の機器のブロック図 本発明のマスタの送信タイミング管理部の送信処理を示すフローチャートの第2の例 本発明のスレーブの通信制御部の送信処理を示すフローチャートの第2の例
符号の説明
10 マスタ
21, 22, 23 スレーブ
30 IEEE1394ネットワーク
120、220 通信制御部
121、221 制御データ送受信処理部
122、222 制御データ送受信処理部
123、223 送信タイミング管理部
130、230 IEEE1394LINK
140、240 IEEE1394PHY
1231、2231 基底サイクルカウンタ
1232、2232 送信タイミング管理情報テーブル
1233 接続スレーブ情報テーブル
1301、2301 CYCLE_TIMEレジスタ
9221 アシンクロナス転送管理機能部
9222 帯域計算部
9223 帯域割り当て部
9224 帯域割り当て記憶部
12321 送信タイミング管理部の通信周期
12322 送信タイミング管理部のアイソクロナス転送サイクル
12323 送信タイミング管理部のアシンクロナス転送開始時間
12324 送信タイミング管理部のアシンクロナス転送制限時間

Claims (8)

  1. 1つのマスタと、1つまたは複数のスレーブがIEEE1394ネットワークに接続され、IEEE1394固有周期の整数倍の通信周期で定周期の通信を行うマスタ・スレーブ同期通信システムにおいて、
    前記マスタは、前記IEEE1394固有周期を基底サイクルとしてカウントし前記通信周期毎にリセットされる基底サイクルカウンタと、アイソクロナス転送またはアシンクロナス転送を実行するタイミングを前記基底サイクル単位で規定する送信タイミング管理情報テーブルと、アイソクロナス転送の送受信タイミングおよび使用するアイソクロナス・チャネルをスレーブ毎に割り付けた情報を格納した接続スレーブ情報テーブルとを具備する送信タイミング管理部を備え、
    前記スレーブは、前記IEEE1394固有周期をカウントし前記通信周期毎にリセットされる基底サイクルカウンタと、アイソクロナス転送またはアシンクロナス転送を実行するタイミングを前記基底サイクル単位で規定する送信タイミング管理情報テーブルとを具備する送信タイミング管理部を備えることを特徴としたマスタ・スレーブ同期通信システム。
  2. 前記送信タイミング管理情報テーブルは、前記基底サイクルを単位として、前記基底サイクルの個数で示された前記通信周期、アイソクロナス転送に割り付けられる最後の前記基底サイクルの前記基底サイクルカウンタの値を示すアイソクロナス転送サイクル、アシンクロナス転送に割り付けられる最初の前記基底サイクルの前記基底サイクルカウンタの値を示すアシンクロナス転送開始サイクル、アシンクロナス転送に割り付けられる最後の前記基底サイクルの前記基底サイクルカウンタの値を示すアシンクロナス転送制限サイクルを有するものであることを特徴とする請求項1に記載のマスタ・スレーブ同期通信システム。
  3. 前記送信タイミング管理情報テーブルは、前記基底サイクルの個数で示された前記通信周期、アイソクロナス転送に割り付けられる最後の前記基底サイクルの前記基底サイクルカウンタの値を示すアイソクロナス転送サイクル、アシンクロナス転送を開始できる時間をIEEE1394のCYCLE_TIMEレジスタのフォーマットで示したアシンクロナス転送開始時間、アシンクロナス転送ができる最終時間をIEEE1394のCYCLE_TIMEレジスタのフォーマットで示したアシンクロナス転送制限時間を有するものであることを特徴とする請求項1に記載のマスタ・スレーブ同期通信システム。
  4. 前記送信タイミング管理情報テーブルは、稼動前に、前記マスタおよび全ての前記スレーブの不揮発性メモリに個別に設定されることを特徴とする請求項2または請求項3に記載のマスタ・スレーブ同期通信システム。
  5. 前記マスタの送信タイミング管理情報テーブルは、稼動前に予め不揮発メモリに設定され、前記スレーブの送信タイミング管理情報テーブルは、前記マスタが稼動前にスレーブ毎に設定することを特徴とする請求項2または請求項3に記載のマスタ・スレーブ同期通信システム。
  6. 1つのマスタと、1つまたは複数のスレーブがIEEE1394ネットワークに接続され、IEEE1394固有周期の整数倍の通信周期で通信を行うマスタ・スレーブ同期通信方法において、
    前記マスタは、前記IEEE1394固有周期を基底サイクルとしてカウントし前記通信周期毎にリセットされる基底サイクルカウンタの値と、送信タイミング管理情報テーブルのアイソクロナス転送サイクルを比較し、アイソクロナス転送送信タイミングと判断したときは、接続スレーブ情報テーブルに格納されたスレーブに対してアイソクロナス転送の送信処理を実行し、アイソクロナス転送送信タイミングでないと判断したときは、アシンクロナス転送制限時間内であればアシンクロナス転送によるメッセージを前記スレーブへ送信し、
    前記スレーブは、前記IEEE1394固有周期を前記基底サイクルとしてカウントし前記通信周期毎にリセットされる基底サイクルカウンタの値と、送信タイミング管理情報テーブルのアイソクロナス転送サイクルを比較し、アイソクロナス転送送信タイミングと判断したときは、前記マスタからアイソクロナス転送による受信があったときは前記マスタへアイソクロナス転送の送信処理を実行し、アイソクロナス転送送信タイミングでないと判断したときは、アシンクロナス転送開始サイクルを経過しアシンクロナス転送制限サイクル内であって前期マスタから受信した前記メッセージの応答があるときに、該応答をアシンクロナス転送によるメッセージとして前記マスタへ送信することを特徴としたマスタ・スレーブ同期通信方法。
  7. 1つのマスタと、1つまたは複数のスレーブがIEEE1394ネットワークに接続され、IEEE1394固有周期の整数倍の通信周期で通信を行うマスタ・スレーブ同期通信方法において、
    前記マスタは、前記IEEE1394固有周期を基底サイクルとしてカウントし前記通信周期毎にリセットされる基底サイクルカウンタの値と、送信タイミング管理情報テーブルのアイソクロナス転送サイクルを比較し、アイソクロナス転送送信タイミングと判断したときは、接続スレーブ情報テーブルに格納されたスレーブに対してアイソクロナス転送の送信処理を実行し、アイソクロナス転送送信タイミングでないと判断したときであって、アシンクロナス転送開始時間を経過しかつアシンクロナス転送制限時間内であるときは、アシンクロナス転送によるメッセージを前記スレーブへ送信し、
    前記スレーブは、前記IEEE1394固有周期を前記基底サイクルとしてカウントし前記通信周期毎にリセットされる基底サイクルカウンタの値と、送信タイミング管理情報テーブルのアイソクロナス転送サイクルを比較し、アイソクロナス転送送信タイミングと判断したときは、前記マスタからアイソクロナス転送による受信があったときは前記マスタへアイソクロナス転送の送信処理を実行し、アイソクロナス転送送信タイミングでないと判断したときは、アシンクロナス転送開始時間を経過しかつアシンクロナス転送制限時間内であるときに、前期マスタから受信した前記メッセージの応答があるときは該応答をアシンクロナス転送によるメッセージとして前記マスタへ送信することを特徴としたマスタ・スレーブ同期通信方法。
  8. 1つのマスタと、1つまたは複数のスレーブがIEEE1394ネットワークに接続され、IEEE1394固有周期の整数倍の通信周期で通信を行うマスタ・スレーブ同期通信方法において、
    前記マスタは、アシンクロナス転送開始時間を経過しかつアシンクロナス転送制限時間内であってメッセージ送信の要求があるときは、アシンクロナス転送によって前記メッセージを前記スレーブへ送信し、
    前記スレーブは、アシンクロナス転送開始時間を経過しかつアシンクロナス転送制限時間内であるときに、前期マスタから受信した前記メッセージの応答があるときは該応答をアシンクロナス転送によるメッセージとして前記マスタへ送信することを特徴としたマスタ・スレーブ同期通信方法。
JP2007243502A 2007-09-20 2007-09-20 Ieee1394応用マスタ・スレーブ同期通信システムおよびその方法 Pending JP2009077111A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007243502A JP2009077111A (ja) 2007-09-20 2007-09-20 Ieee1394応用マスタ・スレーブ同期通信システムおよびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007243502A JP2009077111A (ja) 2007-09-20 2007-09-20 Ieee1394応用マスタ・スレーブ同期通信システムおよびその方法

Publications (1)

Publication Number Publication Date
JP2009077111A true JP2009077111A (ja) 2009-04-09

Family

ID=40611676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007243502A Pending JP2009077111A (ja) 2007-09-20 2007-09-20 Ieee1394応用マスタ・スレーブ同期通信システムおよびその方法

Country Status (1)

Country Link
JP (1) JP2009077111A (ja)

Similar Documents

Publication Publication Date Title
EP3116166B1 (en) Control system, control device, and control method
US8065455B2 (en) Method for data communication of bus users in an open automation system
EP3691193B1 (en) Control system and communication method
JP2006217476A (ja) 通信方法、通信システム及び有線/無線ブリッジ装置
JP6428805B2 (ja) 演算装置、制御装置および制御方法
JP7396393B2 (ja) 制御システム、装置および制御方法
US8792518B2 (en) Automation system
JP5795667B2 (ja) ネットワークトラフィック制御装置
JP4594124B2 (ja) 通信システム及び通信方法
KR20070039937A (ko) 메시지 메모리 내에서 메시지를 저장하기 위한 방법 및상응하는 메시지 메모리
Scharbarg et al. CAN-Ethernet architectures for real-time applications
WO2012056537A1 (ja) プログラマブルコントローラ
JP2023162391A (ja) ワイヤレスメッシュネットワークにおけるデータ収集の方法、及びその実行のためのデバイス
JP4961589B2 (ja) ネットワークシステムおよびスレーブ同期方法
JP2009077111A (ja) Ieee1394応用マスタ・スレーブ同期通信システムおよびその方法
JP4040654B2 (ja) 通信制御回路および通信制御方法
EP3869745B1 (en) Production system, communication method, and program
US8126008B2 (en) Communication system and communication apparatus
JP5815660B2 (ja) 数値制御システム
JP5534711B2 (ja) 情報処理装置、情報処理方法およびプログラム
KR100597436B1 (ko) 무선 1394 시스템의 사이클 타임 동기화 장치 및 그 방법
TWI606738B (zh) Wireless communication device, wireless communication device, wireless communication method, and wireless communication program product
Monforte et al. Designing Real-Time Systems Based on Mono-Master Profibus-DP Networks
JP4834148B2 (ja) データ転送方法及びデータ転送装置
Bartolini et al. Using priority inheritance techniques to override the size limit of CAN messages