(57)【要約】【課題】伝送遅延によるスレーブでの受信データ処理タイミングのバラツキをなくす。【解決手段】マスタとスレーブからなり、Ｉｓｏｃｈｒｏｎｏｕｓ通信によるデータ処理を行うＩＥＥＥ１３９４によるネットワークにおいて、マスタはスレーブに対して通信サイクル内のＩｓｏｃｈｒｏｎｏｕｓ通信における受信データの処理タイミングを設定する機能と、スレーブは通信サイクル内の一定のタイミングでＩｓｏｃｈｒｏｎｏｕｓ受信データの処理を行う機能とを備え、スレーブはマスタから設定された通信サイクル内の一定タイミングでＩｓｏｃｈｒｏｎｏｕｓ受信データを処理する。【選択図】    図１
2004320523.tif 000002
【特許請求の範囲】
【請求項１】
マスタとスレーブからなり、Ｉｓｏｃｈｒｏｎｏｕｓ通信によるデータ処理を行うＩＥＥＥ１３９４によるネットワークにおいて、
マスタはスレーブに対して通信サイクル内のＩｓｏｃｈｒｏｎｏｕｓ通信における受信データの処理タイミングを設定する機能と、
スレーブは通信サイクル内の一定のタイミングでＩｓｏｃｈｒｏｎｏｕｓ受信データの処理を行う機能とを備え、
スレーブはマスタから設定された通信サイクル内の一定タイミングでＩｓｏｃｈｒｏｎｏｕｓ受信データを処理することを特徴とする通信データ処理方法。
【請求項２】
前記ＩＥＥＥ１３９４によるネットワークにおいて、
マスタはネットワーク初期化時にＩｓｏｃｈｒｏｎｏｕｓ期間の時間の測定と、マスタと全てのスレーブ間の伝送遅延時間の測定を行い、Ｉｓｏｃｈｒｏｎｏｕｓ期間の時間とスレーブ間の伝送遅延時間からスレーブ毎の受信データ処理時間の算出を行うことを特徴とする通信データ処理方法。
【請求項３】
前記ＩＥＥＥ１３９４によるネットワークにおいて、
スレーブは通信制御用ＣＰＵと、ＩＥＥＥ１３９４通信用ＬＩＮＫ層ＩＣと、ＩＥＥＥ１３９４通信用物理層ＩＣとを備え、
ＬＩＮＫ層ＩＣに通信サイクル毎に一定時間の経過のタイミングをＣＰＵに通知する機能と、
ＬＩＮＫ層ＩＣに前記通信サイクル毎のタイミング通知の時間をＣＰＵから設定する機能と、
を備えたことを特徴とするＩＥＥＥ１３９４ネットワーク用通信データ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＥＥＥ１３９４の通信を行うＩＥＥＥ１３９４通信ネットワークのデータ処理に関する。
【０００２】
【従来の技術】
従来のＩＥＥＥ１３９４ネットワークのデータ処理について、図を用いて説明する。図６は、コントローラとドライブからなるＩＥＥＥ１３９４による制御系ネットワークの構成を示す図である。図７はネットワークにおけるデータ転送のタイミングを示す図である。
図６はコントローラがマスタ、ドライブはスレーブの関係となるネットワークの一例であり、コントローラはドライブに対して制御指令を送信し、モータの動作を制御するものである。図６において、１１１はコントローラ、１１２、１１３、１１４はドライブであり、コントローラ、ドライブ間は伝送路１１５で接続される。コントローラ１１１とドライブ１１２、１１３、１１４間のデータ転送は通信周期に同期したＩｓｏｃｈｒｏｎｏｕｓ（等時性）通信によって行われる。
【０００３】
図７に示すようにＩｓｏｃｈｒｏｎｏｕｓ通信は一定の通信周期毎にデータ転送を行う通信方法であり、通信周期内においてデータ転送に必要な帯域（時間）が確保され、一定周期での転送が保証される。コントローラ１１１はＩｓｏｃｈｒｏｎｏｕｓ通信によるデータ転送のための通信周期１２５μｓを決定するサイクルマスタの機能を持ち、通信周期の開始を示すＣｙｃｌｅ  ｓｔａｒｔパケットを通信周期毎に送信する。Ｃｙｃｌｅ  ｓｔａｒｔパケットによってＩｓｏｃｈｒｏｎｏｕｓ通信の開始を検出すると通信ノードであるコントローラ１１１とドライブ１１２，１１３，１１４はデータ転送のため伝送路１１５に対してバス調停を行う。Ｉｓｏｃｈｒｏｎｏｕｓ通信ではノードの通信の優先順位は決定されないため、送信したいノードはバス調停により送信権を獲得する必要がある。バス調停は送信したいノードが他のノードに対して送信することを宣言し、他のノードが宣言していなければ伝送路（バス）への送信権を獲得することで、最初にバス調停を行ったノードが送信できる。また、同一の通信周期内で一度送信したノードは次の通信周期まで送信できないようになっており、バス使用の公平性を確保している。このように、通信周期に同期したＩｓｏｃｈｒｏｎｏｕｓ通信により、一定周期でのデータ転送を行うことができる。
【０００４】
また、複数ノードでＩｓｏｃｈｒｏｎｏｕｓ  の資源の共有を可能として、Ｉｓｏｃｈｒｏｎｏｕｓの資源を有効活用が可能になるとともに、複数ノード宛てに同じデータを送信する場合に、ａｓｙｎｃｈｒｏｎｏｕｓ  ｂｒｏａｄｃａｓｔ通信や、複数回数のａｓｙｎｃｈｒｏｎｏｕｓ通信を使用することなく、Ｉｓｏｃｈｒｏｎｏｕｓ通信で行うことが容易に可能となるネットワークシステムを提供するものに特開２０００−２６１４５５公報がある。即ち、ＩＥＥＥ１３９４バスシステムのＩｓｏｃｈｒｏｎｏｕｓ通信において、ＩＥＥＥ１３９４バスに接続され、少なくともサイクル・マスタの機能を有し、サイクル・タイム・データを含むＣｙｃｌｅ  Ｓｔａｒｔ  パケットを送信し、ノードＩＤが割り付けられたサイクル・マスタと、上記ＩＥＥＥ１３９４バスに接続され、同一のＩｓｏｃｈｒｏｎｏｕｓ  チャネル番号の共有を希望し、それぞれ別にノードＩＤが割り付けられた複数ノードと、上記ＩＥＥＥ１３９４バスに接続され、同一のＩｓｏｃｈｒｏｎｏｕｓチャネル番号と１サイクルで必要とする最大の帯域で帯域幅を取得し、その取得したＩｓｏｃｈｒｏｎｏｕｓチャネル番号を上記複数ノードに知らせるノードＩＤが割り付けられた代表者ノードとを備えることを特徴とする。そのため、ＩＥＥＥ１３９４規格のバスシステムのＩｓｏｃｈｒｏｎｏｕｓ  通信において、サイクル・マスタが発信するＣｙｃｌｅ  Ｓｔａｒｔパケットに含まれるサイクル・タイム・データの情報を利用して同一のＩｓｏｃｈｒｏｎｏｕｓチャネル番号を複数のノードで共有するようにしたので、複数ノードでＩｓｏｃｈｒｏｎｏｕｓ通信のチャネル番号や帯域幅などの資源を供することが可能になり、Ｉｓｏｃｈｒｏｎｏｕｓの資源を有効に活用することができる。また、複数ノード宛てに同じデータを送信する場合に、ａｓｙｎｃｈｒｏｎｏｕｓ  ｂｒｏａｄｃａｓｔ通信や複数回のａｓｙｎｃｈｒｏｎｏｕｓ通信を使用せずに，Ｉｓｏｃｈｒｏｎｏｕｓ  通信で行うことが容易にできる。（例えば、特許文献１参照）。
【０００５】
【特許文献１】
特開２０００−２６１４５５号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、従来の通信データ処理は、Ｉｓｏｃｈｒｏｎｏｕｓ通信の優先順位がなく、通信周期での送信するノードの順序が特定できないため、特定のノードからの受信処理のタイミングが一定とならないという問題があった。
図６において、Ｉｓｏｃｈｒｏｎｏｕｓ通信を開始する場合、送信したい各ノードの物理層ＩＣ１１９が伝送路１１５に対してバス調停を行い、バス調停に勝って送信権を獲得すると、物理層ＩＣ１１９はＬＩＮＫ層ＩＣ１１８からの送信データを伝送路１１５に送信する。バス調停の結果は物理層ＩＣ１１９からのバス調停開始のタイミングで決定され、バス調停動作を最初に行った物理層ＩＣ１１９が勝つことになる。図６のネットワークにおいて図７に示すように▲１▼の通信サイクルではバス調停の結果コントローラ１１１、ドライブ１１３、１１２、１１４の順に送信を行い、▲２▼の通信サイクルではドライブ１１２、コントローラ１１１、ドライブ１１３、１１４の順に送信するというように通信サイクル毎に送信する通信装置の順序が異なることがある。そのため、ドライブ１１２、１１３、１１４ではコントローラ１１１からの受信のタイミングは図７に示すｔ１、ｔ２、ｔ３のように一定とはならない。ドライブの通信処理部１１６内部のＬＩＮＫ層ＩＣ１１８は伝送路１１５から物理層ＩＣ１１９を介してコントローラ１１１からのデータを受信すると割込み信号１２２をＣＰＵ１１７に出力する。ＣＰＵ１１７は割込み信号１２２を検出すると受信処理を起動して受信データの指令値の解析処理などを行い、その結果の制御出力１２４をドライブのモータ制御部１２３に対して出力する。ドライブ１１２、１１３、１１４でのコントローラ１１１からの受信のタイミングが通信周期毎に一定とならないため、ドライブ１１２、１１３、１１４、でのコントローラ１１１からの受信による制御指令の処理のタイミング、すなわちモータ１２５、１２６、１２７の制御タイミングが一定とならず、コントローラ１１１からの精密な制御ができない。また、図７に示すようにコントローラ１１１からドライブ１１２、１１３、１１４までの伝送路による伝送遅延ｔｄ１、ｔｄ２、ｔｄ３により各ドライブ１１２、１１３、１１４では通信周期内での受信するタイミングがそれぞれｔ２１、ｔ２２、ｔ２３となり、制御タイミングが異なってしまうという問題もあった。
【０００７】
そこで、本発明はこのような問題点に鑑みてなされたものであり、全てのスレーブにおける受信データ処理のタイミングをマスタから統一して設定するとともに、伝送遅延を測定してそのタイミングを設定し、伝送遅延によるスレーブでの受信データ処理タイミングのバラツキをなくすことができる通信データ処理方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記問題を解決するため、本発明は、次のように構成したものである。
請求項１に記載の発明は、マスタはスレーブに対して受信データ処理のタイミングを設定する機能を持ち、スレーブは設定されたタイミングで受信データの処理を行うことを特徴とするものである。
このようになっているため、マスタからスレーブでの受信データの処理時間を設定することができる。
請求項２に記載の発明は、マスタとなる通信装置はネットワークの初期化時にＩｓｏｃｈｒｏｎｏｕｓ通信に要する時間の算出と、全スレーブ間の伝送遅延を測定し、各スレーブ毎に伝送遅延を考慮した受信データの処理時間を設定することを特徴とするものである。
このようになっているため、マスタは通信周期において一定となるスレーブでの受信データの処理時間を設定することができ、また伝送遅延によるスレーブ毎のバラツキもなくすことができる。
請求項３はスレーブにおいてＬＩＮＫ層ＩＣにより通信周期開始からの一定時間経過の検出をハードウェアで行い、またその検出タイミングをＣＰＵから設定可能とすることを特徴とするものである。
このようになっているため、スレーブでは通信周期内における一定時間経過のタイミングを精度よく検出し、このタイミングを受信データの処理タイミングとすることができ、またこのタイミングをマスタからの受信データ処理の設定タイミングとすることでマスタからの設定タイミングでの受信データ処理を実行することができる。
【０００９】
【発明の実施の形態】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。図１は本発明によるドライブにおける通信処理部のブロック図、図２はその動作タイミングを示す図である。図３は図６に示すネットワークにおける本発明によるドライブの通信処理部の動作を示す。ドライブの通信処理部１１６の中には、ＬＩＮＫ層ＩＣ１１８があり、その内部にサイクルタイマカウント部１とカウント値設定部２、比較部７があり、サイクルタイマカウント部１のサイクルタイマカウント出力４とカウント値設定部２の設定値が比較部７に入力されている。サイクルタイマカウント部１には物理層ＩＣ１１９から出力される通信用システムクロック５と通信制御部３からの通信制御出力６が入力される。システムクロック５は物理層ＩＣ１１９で受信データから再生されたクロックであり、コントローラのもつ通信用システムクロックに同期している。通信制御部３からはコントローラからＣｙｃｌｅ  Ｓｔａｒｔパケットを受信するとＣｙｃｌｅ  Ｓｔａｒｔパケットで転送されるコントローラのサイクルタイマ値が通信制御出力６を介してサイクルタイマカウント部１にカウント値としてロードされ、サイクルタイマカウント部１はこのロードされた値からカウントを行う。このようにコントローラから転送されたサイクルタイマ値をロードして、コントローラから受信して再生したシステムクロックでカウントすることによりドライブでコントローラと同じサイクルタイマ値のカウントを行うことができる。図２に示すようにサイクルタイマ値はＣｙｃｌｅ  Ｓｔａｒｔパケットの送信による通信周期の開始からカウントを開始する値であり、その値によって通信周期内の通信周期開始からの特定のタイミングを設定することができる。
【００１０】
カウント値設定部２にはＣＰＵ１１７からデータバス１２０を介してカウント値を設定することができ、そのカウント値設定部２の値とサイクルタイマカウント部１の出力４が比較部７で比較され、設定されたカウント値と一致した場合、一致出力８を出力する。このように通信周期開始から一定時間経過のタイミングで一致出力を出力することができる。このＬＩＮＫ層ＩＣ１１８によるサイクルタイマカウント値と設定値の一致比較による信号出力については特開２００２−１８５４６９で出願されている。
【００１１】
コントローラがＬＩＮＫ層ＩＣ１１８のカウント値設定部２のカウント設定値を各ドライブのＣＰＵ１１７にＩＥＥＥ１３９４通信によって送信し、ドライブは受信した設定値をカウント値設定部２に設定することでコントローラからドライブの一致出力８の出力のタイミングを設定する。一致出力８のタイミングをドライブの受信処理のタイミングとし、全てのドライブに対して同じタイミングを設定することでコントローラから各ドライブに対して同一の受信処理のタイミングを設定することが可能である。一致出力８のタイミングをドライブの受信処理のタイミングとする場合、コントローラからドライブに設定するカウント値設定部２のカウント設定値は、ドライブでの受信タイミングとすることが考えられるが、ドライブの受信タイミングが特定できないため、コントローラでは図２の▲３▼の通信周期のようにコントローラが最後に送信する場合、すなわちドライブでの通信周期開始から受信までの時間が最大となる場合を想定し、通信周期開始から全てのノードがＩｓｏｃｈｒｏｎｏｕｓ送信を行っている時間であるＩｓｏｃｈｒｏｎｏｕｓ期間をカウント値として設定する。図２はコントローラからドライブへカウント値設定部２の設定値をＩｓｏｃｈｒｏｎｏｕｓ期間の時間とした場合のタイミングを示し、各通信周期において通信周期の開始からサイクルタイマカウント部１でカウントされるサイクルタイマ値とカウント値設定部２の設定値が一致したＩｓｏｃｈｒｏｎｏｕｓ期間の時間ｔで一致出力８が出力されている。
【００１２】
このようにコントローラから全てのドライブに通信周期に対して一定となる処理タイミングを設定することができるが、前述のようにドライブのサイクルタイマ値はＣｙｃｌｅ  Ｓｔａｒｔパケットで送信されるコントローラのサイクルタイマ値をＬＩＮＫ層ＩＣ１１７の通信制御部３で受信し、再生したものである。コントローラと各ドライブ間の転送時には伝送路１１５による伝播遅れと、ドライブにおける受信データの中継動作のための伝送遅れが発生する。そのため、各ドライブで再生されるサイクルタイマ値はコントローラの値に対してコントローラと各ドライブ間の伝送遅延の時間だけ遅れた値となる。そのため、ドライブ毎に同じカウント設定値を設定しても一致検出出力の時間がずれることになる。そのため、コントローラは初期化時に各ドライブ間の伝送遅延を測定し、各ドライブ毎にカウント値設定部に設定する値を伝送遅延を補正した値とする。伝送遅延の測定についてはｐｉｎｇパケットの送信による方法があり、ＩＥＥＥ１３９４ａの中で規格化されている。
【００１３】
このようにコントローラで各ドライブでの伝送遅延を補正した値を設定した場合を図３に示す。図３に示すようにカウント設定値を各ドライブ毎に伝送遅延で補正した値とすることにより、全てのドライブは通信周期内の同一のタイミングで一致出力を出力することができる。この一致出力のタイミングをＣＰＵ１１７の受信処理のタイミングとすることで全てのドライブで受信処理を同じタイミングで行うことができる。
図４は前記コントローラにおいてネットワーク初期化時にドライブでの受信処理タイミングを設定する処理手順を示すフローチャートである。この図を用いて、以下、本発明の方法を順を追って説明する。
はじめにネットワークの初期化のｓｅｌｆ−ＩＤプロセスが完了すると、各ドライブ間の伝送遅延を測定し、各ドライブ毎の伝送遅延データとして格納する。全てのドライブの伝送遅延を測定後、Ｉｓｏｃｈｒｏｎｏｕｓ通信を開始し、Ｉｓｏｃｈｒｏｎｏｕｓ期間の時間を測定して、測定した伝送遅延データから各ドライブへの受信処理時間設定用のカウント値の算出を行う。このときコントローラからドライブに対してＩｓｏｃｈｒｏｎｏｕｓ通信による制御指令の送信は行わない。全てのドライブへの設定値の算出後、各ドライブに対して通信によってカウント値の設定を行い、設定終了後制御指令送信を開始する。
【００１４】
図５はドライブにおける受信処理タイミング設定の処理手順を示すフローチャートである。Ｉｓｏｃｈｒｏｎｏｕｓ通信開始後、通信によってコントローラより受信処理タイミング設定用のカウント値の受信があった場合、受信したカウント値をＬＩＮＫ層ＩＣのカウント値設定部に設定し、一致出力により受信データ処理を開始する。このように、コントローラでスレーブ間の伝送遅延とＩｓｏｃｈｒｏｎｏｕｓ期間の時間を測定し、各ドライブで同一となる受信処理タイミングを決定し、ドライブに受信処理タイミングを設定するので、各ドライブ間で遅れのない制御動作をすることができ、コントローラからのドライブの精密な制御動作ができるのである。
【００１５】
【発明の効果】
以上述べたように、本発明の方法によれば、コントローラで通信周期でのドライブの受信処理タイミングを決定するとともにドライブ間の伝送遅延を測定し、伝送遅延を補正した受信処理タイミングをドライブに設定するという手順をとっているので、伝送遅延によるスレーブでの受信データ処理タイミングのバラツキをなくすことができ、モータドライブシステムにおいて遅れのない同期した制御動作をすることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の方法を適用するドライブの通信処理部のブロック図
【図２】本発明の方法を適用するドライブの通信処理部の処理タイミング図
【図３】本発明の方法による制御系ネットワークでの処理タイミング図
【図４】本発明によるコントローラの処理手順を示すフローチャート
【図５】本発明によるドライブの処理手順を示すフローチャート
【図６】制御系ネットワークの構成を示すブロック図
【図７】従来の方法による制御系ネットワークでの処理タイミング図
【符号の説明】
１  サイクルタイマカウント部
２  カウント値設定部
３  通信制御部
４  サイクルタイマカウント出力
５  システムクロック
６  通信制御部出力
７  比較部
８  一致出力
１１１  コントローラ
１１２、１１３、１１４  ドライブ
１１５  伝送路
１１６  ドライブ通信処理部
１１７  ＣＰＵ
１１８  ＬＩＮＫ層ＩＣ
１１９  物理層ＩＣ
１２０、１２１  データバス
１２２  割込み出力
１２３  モータ制御部
１２４  制御出力
１２５、１２６、１２７  モータ
【図１】
2004320523.tif 000003
【図２】
2004320523.tif 000004
【図３】
2004320523.tif 000005
【図４】
2004320523.tif 000006
【図５】
2004320523.tif 000007
【図６】
2004320523.tif 000008
【図７】
2004320523.tif 000009