(57)【要約】【課題】ディジーチェーン方式によるシリアルバスで接続されたユニット間のケーブル長による制約を受けず、データの送受信ができるデータ送受信方式を提供する。【解決手段】ディジーチェーン方式のシリアルバスで結合されたアンプ（ユニット）で、送信開始信号ＳＣを送信した後、自己のデータＤＡＴＡ１〜３を送信し、該自己のデータを送信完了する前に、下流のアンプからのデータが受信されないような場合には、アイドルタイムデータＴＩＤＤを付加し、各アンプからのデータの区切を変更する。図９の例では、アンプＡ１では、アンプＡ２からのデータの受信が間に合わないので、アイドルタイムデータＴＩＤＤ１が付加され、データの区切が変更される。数値制御装置では、このデータの区切により、データがどのアンプからのものかを判別する。ケーブル長によるデータ伝播遅延あっても、正常にデータの送受信ができる。【選択図】図９
2008135855.tif 000002
【特許請求の範囲】
【請求項１】
ディジーチェーン方式のシリアルバスで結合され、データ送受信する複数のユニット間でのデータ送受信方式であって、送受信されるデータ信号は、送信開始コードと該送信開始コードからの所定基本ビット数のビット位置によって区切られたデータで構成され、他の全てのユニットからデータを受信する第１のユニット以外の第２のユニットは、送信開始コードを送信した後、最初の区切で自己のデータを送信し、他の第２のユニットからの受信データ信号があるときは、次のビット位置より、受信したデータ信号の内、送信開始コードを除いたビット位置で区切られたデータを続けて送信し、前記第１のユニットは、受信したデータの内、ビット位置による区切により、各ユニットのデータを判別するようにしたデータ送受信方式において、
前記第２のユニットは、自己のデータを送る区切のビット位置を変更とする区切位置手段を備え、前記第１のユニットは、各区切のビット位置を設定記憶する手段を備え、該手段で設定された区切のビット位置によって、各ユニットのデータを判別するようにしたことを特徴とするデータ送受信方式。
【請求項２】
前記区切位置手段は、ビット位置変更単位を送信データのビット長とした請求項１に記載のデータ送受信方式。
【請求項３】
前記区切位置手段は、前記基本ビット数単位の区切を増加することによって区切位置を変更し、前記各区切のビット位置を設定記憶する手段では、増加した基本ビット数単位の区切に対応するダミーのユニットを設定し、区切のビット位置によって、各ユニットのデータを判別するようにした請求項１に記載のデータ送受信方式。
【請求項４】
ユニットのケーブルの線長による伝播遅延時間をエコーバックによって計測する手段を備え、前記区切位置手段は、該測定した伝播遅延時間に基づいて、自己のデータを送る区切のビット位置を自動的に変更し、前記各区切のビット位置を設定記憶する手段は、変更されたビット位置を自動的に設定記憶するようにした請求項１乃至３の内いずれか１項に記載のデータ送受信方式。
【請求項５】
前記第１のユニットは数値制御装置であり、前記第２のユニットは、該数値制御装置で制御される各軸のサーボモータを駆動するサーボアンプである請求項１乃至４の内いずれか１項に記載のデータ送受信方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジーチェーン方式によるシリアルバスで接続されたユニット間におけるデータ送受信に関するものである。
【背景技術】
【０００２】
複数のユニット間でデータを送受信する装置やシステムにおいて、データ送受信方式、システム、方法として、ユニット間をシリアルバスで接続し、ディジーチェーン方式で行う方法が知られている。
例えば、数値制御装置で制御される工作機械において、数値制御装置と各送り軸を駆動するサーボモータのサーボアンプ間をシリアルバスで接続し、ディジーチェーン方式によって、各サーボアンプで検出した送り軸の位置や速度データを数値制御装置に送信するようにしたシステムが知られている（特許文献１参照）。
【０００３】
図１は、このようなシステム構成例である。  
数値制御装置１とサーボアンプ（以下アンプという）Ａ１、Ａ２、Ａ３は、シリアルバスのケーブル２でディジーチェーン方式に接続されている。各アンプＡ１、Ａ２、Ａ３は、数値制御装置１に対して、自身のデータを送信するために、一斉に数値制御装置１の方向（上流）のシリアルバスのケーブル２に向けて、第２のコネクタＣ２から、送信開始コードに続いて、モータの電流値やモータに取り付けられたパルスコーダ等の位置・速度検出器からフィードバックされる位置、速度情報の各アンプのデータを上流のユニット（アンプもしくは数値制御装置）に送る。第１のコネクタＣ１を介して下流のユニット（アンプ）から受信したアンプデータは、自己のアンプデータの後に続けて上流のユニットに送信され、最終的に数値制御装置１はディジーチェーン方式で接続された各アンプＡ１、Ａ２、Ａ３からのデータを受信するようになっている。
【０００４】
図２は、この従来のアンプＡ１、Ａ２、Ａ３における本発明に関するデータの送受信に関係する部分の構成例である。数値制御装置１から見て遠い位置（下流）にあるサーボアンプとシリアルバスのケーブル２で接続された第１のコネクタＣ１からは、送信開始コードに続いて、下流のアンプからのアンプデータが受信される。送信開始コードが送信コード検出回路１０で検出されると、受信制御回路１１に送信開始コードの受信タイミングが通知され、受信制御回路１１は、送信開始コードからのビット位置によってデータの区切を決定し、以後、このデータの区切で、下流のアンプからのデータを区切り、受信バッファ１２に保存するよう指令する。
【０００５】
一方、第２のコネクタＣ２からは、上流側のサーボアンプまたは数値制御装置１に向かって、送信が開始される。送信は、送信制御回路１５によって制御されており、どのデータを送るかは、セレクタ１４により選択される。セレクタ１４は、最初に送信開始コードを選択し、次に、アンプデータ記憶部１３に記憶するアンプのデータ、ついで、受信バッファ１２に保存されていた他のアンプのデータが選択し、送信回路１６はこの選択順次で送信開始コード及びアンプデータを送信する。送信開始のタイミングは、各サーボアンプで同時とされている。
【０００６】
図３は、シリアルバスのケーブル２に送信されるシリアルデータの説明図であり、数値制御装置１から見て近い順（上流）のｎ番目のアンプＡｎからシリアルバスのケーブル２に送信されるシリアルデータの１例を示している。送信の開始を伝えるコードである送信開始コードＳＣ（Start Code）及び各アンプデータＤＡＴＡn、ＤＡＴＡn+1、ＤＡＴＡn+2は、ビット位置によって決められている。図３の例では、送信開始コードＳＣは６０ビットで区切られ、アンプデータは７０ビットで区切られ、送信開始コードＳＣの受信タイミングの次のビット位置から、７０ビットずつ区切られて、自己のアンプデータＤＡＴＡn、続いて、下流のサーボアンプから送られてきたアンプデータＤＡＴＡn+1、ＤＡＴＡn+2、が送信される。
【０００７】
第１のコネクタＣ１を介して下流のサーボアンプから送られてきたシリアルデータを受信し、送信コード検出回路１０で送信開始コードＳＣを受信したことが検出されたとき、受信制御回路１１は、６０ビットの送信開始コードＳＣに続いて受信される７０ビットずつに区切られたアンプデータを受信バッファ１２に取り込む。
【０００８】
図４は、図１に示したシステム例で、各アンプＡ１、Ａ２、Ａ３から上流側に出力するシリアルデータを表しており、自己のアンプデータＤＡＴＡnを送信した後、自分より下流のアンプから受信したアンプデータＤＡＴＡn+1、ＤＡＴＡn+2、を送信している。アンプＡ３は、送信開始コードＳＣとそれに続いてアンプＡ３のアンプデータ記憶部１３に記憶する自己のアンプデータＤＡＴＡ３を送信し、アンプＡ２は、送信開始コードＳＣと、アンプデータ記憶部１３に記憶する自己のアンプデータＤＡＴＡ２、それに続けて、受信バッファ１２に格納している下流のアンプＡ３から受信したアンプデータＤＡＴＡ３を送信する。アンプＡ１は、送信開始コードＳＣと、自己のアンプＡ２のアンプデータ記憶部１３に記憶するアンプデータＤＡＴＡ１、それに続けて、受信バッファ１２に格納している下流のアンプから送られてきた下流のアンプのアンプデータＤＡＴＡ２、ＤＡＴＡ３をこの順序で７０ビット毎の区切をつけて送信する。各アンプは、送信開始のタイミングを合わせることにより、下流からの受信データをスムーズに上流に対して送信できる。
【０００９】
アンプＡ１が送出するデータは、数値制御装置１が受信するデータであって、数値制御装置１においても各アンプと同様に、アンプの第１のコネクタに相当するコネクタＣ１を介して下流のアンプから送信開始コードＳＣ、その後に送信されるアンプデータＤＡＴＡ１〜ＤＡＴＡ３を受信する。ただし数値制御装置１では、更に上流のサーボアンプや数値制御装置は存在しないので、アンプの第２のコネクタＣ２に相当するコネクタはない。
【００１０】
図５は、この従来の数値制御装置１のシリアルデータを受信する受信回路に関する部分の構成例である。第１のコネクタＣ１からは、送信開始コードＳＣに続いて、下流のアンプからのアンプデータＤＡＴＡ１〜ＤＡＴＡ３が受信される。送信開始コードＳＣは、送信コード検出回路２０で検出されると、受信制御回路２１に送信開始コードの受信タイミングが通知され、受信制御回路２１は、送信開始コードからのビット位置によってデータの区切が決定し、受信バッファ２２に保存するように指令する。この受信アンプデータを区切ることによって、アンプデータとアンプの関係を対応させている。
【００１１】
受信バッファ２２に保存されたデータは、各アンプで駆動されるサーボモータを制御する軸制御プロセッサが使用できるように、各軸のプロセッサが参照可能なメモリにデータ伝送回路２３により転送される。転送の際には、受信したアンプデータＤＡＴＡ１〜ＤＡＴＡ３の順番（サーボアンプ）と各軸のプロセッサ間の関係を表したパラメータを記憶するパラメータ設定記憶部２４を参照し、パラメータで設定されたアンプデータＤＡＴＡ１〜ＤＡＴＡ３の順番（サーボアンプ）と各軸のプロセッサ間の関係に基づいてプロセッサにデータが転送されるようにする。下記の例では、１は最初に受信したアンプＡ１からの受信データＤＡＴＡ１がプロセッサＰ１に転送されることを表している。同様に、２は２番目に受信したアンプＡ２からの受信データＤＡＴＡ２がプロセッサＰ２に転送されることを表している。３は、３番目に受信したアンプＡ３からの受信データＤＡＴＡ３がプロセッサＰ３に転送されることを表している。
【００１２】
図４で示した例は、各アンプ間のケーブル２による伝播遅延がない理想的な状態を示したものであるが、実際は、ケーブル２による伝播遅延があることから、このケーブル２の遅延時間を考慮すると、各アンプＡ１、Ａ２、Ａ３間と数値制御装置１間でやりとりされるシリアルデータは、図６に示すようなものとなる。
【００１３】
各アンプＡ１〜Ａ３からは、同じ送信開始タイミングで、シリアルデータが送信される。アンプＡ３から出力されたシリアルデータはシリアルバスのケーブル２による伝播遅延で、遅れてアンプＡ２で受信される。アンプＡ２では送信開始コードＳＣを送信し、自己のアンプデータＤＡＴＡ２の送信が完了する前に、アンプＡ３からのアンプデータＤＡＴＡ３の受信を開始しておれば、図６に示すように、自己のアンプデータＤＡＴＡ２に続いてアンプＡ３のアンプデータＤＡＴＡ３を送信できる。同様に、アンプＡ１では、自己のアンプデータＤＡＴＡ１の送信が完了する前に、アンプＡ２からのアンプデータＤＡＴＡ２及びＤＡＴＡ３の受信を開始しておれば、自己のアンプデータＤＡＴＡ１に続いてアンプＡ２、Ａ３のアンプデータＤＡＴＡ２、ＤＡＴＡ３を送信できる。
そして、数値制御装置１は、図６に示すように、送信開始コードＳＣに続いて、アンプデータＤＡＴＡ１、ＤＡＴＡ２、ＤＡＴＡ３を順次受信することになる。
以上のように、従来は、数値制御装置とアンプ間、即ち、データ送受信を行うユニット間のシリアルバスのケーブル長が短く、その伝播遅延が小さくデータの送受信が正常に行われるように、ケーブルの長さを制限していた。
【００１４】
【特許文献１】特開平１０−１３３９４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
上述したように、シリアルバスのケーブル２による伝播遅延が小さい場合には、数値制御装置は、ディジーチェーン方式で接続された各サーボアンプからのアンプデータを受信することができる。
しかし、各アンプ間のケーブルが長い場合、各アンプが送信するデータが上流のアンプあるいは数値制御装置に受信されるまでの遅延時間が大きくなり、データの受信タイミングが後ろにずれていき、最後は、自己のアンプデータを送信した後、下流のアンプのアンプデータを送信するのに間に合わなくなるという問題が発生する。
【００１６】
図７は、アンプＡ１とアンプＡ２の間のケーブルが長すぎて、下流のアンプＡ２、アンプＡ３のアンプデータＤＡＴＡ２、ＤＡＴＡ３をアンプＡ１の第２のコネクタＣ２から送信するのに間に合わない状態が生じたときのシリアルデータの送受信タイミングの例である。
アンプＡ１は、下流のアンプＡ２からのシリアルデータの受信タイミングが遅すぎ、送信開始コードＳＣ、自己のアンプデータＤＡＴＡ１を送信完了した状態となっているにも拘わらず、下流のアンプＡ２からアンプデータＤＡＴＡ２、ＤＡＴＡ３の受信を開始しておらず、受信バッファにはアンプデータＤＡＴＡ２、ＤＡＴＡ３は入力されていない。そのため、下流のアンプＡ２、Ａ３のアンプデータＤＡＴＡ２、ＤＡＴＡ３は送信することができないという問題がある。
【００１７】
そこで、本発明の目的は、上述した問題を解決することにあり、ディジーチェーン方式によるシリアルバスで接続されたユニット間のケーブル長による制約を受けず、ケーブル長が長くなっても、データの送受信ができるデータ送受信方式を提供することにある。
【課題を解決するための手段】
【００１８】
本発明は、ディジーチェーン方式のシリアルバスで結合され、データ送受信する複数のユニット間でのデータ送受信方式であって、送受信されるデータ信号は、送信開始コードと該送信開始コードからの所定基本ビット数のビット位置によって区切られたデータで構成され、他の全てのユニットからデータを受信する第１のユニット以外の第２のユニットは、送信開始コードを送信した後、最初の区切で自己のデータを送信し、他の第２のユニットからの受信データ信号があるときは、次のビット位置より、受信したデータ信号の内、送信開始コードを除いたビット位置で区切られたデータを続けて送信し、前記第１のユニットは、受信したデータの内、ビット位置による区切により、各ユニットのデータを判別するようにしたデータ送受信方式において、請求項１に係る発明は、前記第２のユニットは、自己のデータを送る区切のビット位置を変更とする区切位置手段を設け、前記第１のユニットは、各区切のビット位置を設定記憶する手段を備え、該手段で設定された区切のビット位置によって、各ユニットのデータを判別するようにしたものである。
【００１９】
又、請求項２に係る発明は、前記区切位置手段によるビット位置変更単位を送信データのビット長としたものであり、請求項３に係る発明は、前記区切位置手段より、前記基本ビット数単位の区切を増加することによって区切位置を変更するようにし、前記各区切のビット位置を設定記憶する手段では、増加した基本ビット数単位の区切に対応するダミーのユニットを設定し、区切のビット位置によって、各ユニットのデータを判別するようにした。
さらに、請求項４に係る発明は、ユニットのケーブルの線長による伝播遅延時間をエコーバックによって計測する手段を備え、前記区切位置手段は、該測定した伝播遅延時間に基づいて、自己のデータを送る区切のビット位置を自動的に変更し、前記各区切のビット位置を設定記憶する手段は、変更されたビット位置を自動的に設定記憶するようにした。又、請求項５に係る発明は、前記第１のユニットを数値制御装置とし、前記第２のユニットを、該数値制御装置で制御される各軸のサーボモータを駆動するサーボアンプとしたものである。
【発明の効果】
【００２０】
ケーブル長によるデータの伝播遅延が大きくても、データの送受信を正常に行うことができるので、ユニット間に接続するケーブル長を任意に長くすることができ、ディジーチェーン方式によるシリアルバスで接続されたデータ送受信を行うシステムの構築が容易となる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態について図面と共に説明する。
複数のユニットをディジーチェーン方式でシリアルバスのケーブルで結合し、データ送受信するシステムに本発明を適用した実施形態として、図１に示した数値制御装置１と複数（３つ）のサーボアンプＡ１〜Ａ３で構成した例で以下説明する。即ち、数値制御装置１とサーボアンプＡ１〜Ａ３間が、ディジーチェーン方式でリアルバスのケーブル２によって接続され、データの送受信を行う例を示す。
【００２２】
下流のアンプがアンプデータを送信し、上流のユニット（アンプ又は数値制御装置）がそのデータを受信し該受信データを送信する動作を問題なくできるか否かは、ケーブル２の線長の他に、図１、２において、第１のコネクタＣ１で受信したデータを第２のコネクタＣ２で送信できるまでの、回路的な処理にかかる時間も考慮する必要がある。
送信よりも受信が遅れていることは、ケーブル等によって伝播遅延が発生したことを表しており、高速なデータ転送では、この遅延により、線長に対して制限がかかる。また、各ユニットは下流から受信したデータを一旦受信バッファ１２に受け、上流に対して送信するが、受信から送信にかかるまでの時間も線長に対する制限になる。
【００２３】
そこで、
Ｌｎ    ：アンプｎと該アンプｎに接続される下流のアンプｎ＋１の間のケーブル
（シリアルバス）の線長（m）
Ｔdata-n：アンプｎ＋１が、アンプｎ＋１のデータをアンプｎに送信し始めてから、ア            ンプｎがアンプｎ＋１のデータを上流側に送信し始めるまでの時間（sec）            。なお、アンプ間の送信タイミングは同期しているので、このＴdata-nは、            ＤＡＴＡｎの送信時間に等しい。
【００２４】
Ｔrts    :下流のアンプからのデータを受信して上流のアンプに送信できるまでの回路            的な処理時間（sec）
Ｔｖ      :線長１mのケーブルを信号が通過するのに要する時間（sec）
とすると、図８に示すように、問題なくデータの受信、送信が実現できるか否かは、次の（１）式が成立するか否かによって判定できる。
【００２５】
Ｌｎ×Ｔｖ＜（Ｔdata-n−Ｔrts）        …（１）
そこで、上記（１）式が成立せず、線長Ｌｎが長いときには、アイドルタイム（付加時間）ＴＩＤを付加し、該アイドルタイムＴＩＤに対応するビット数のアイドルタイムデータＴＩＤＤを送信するシリアルデータに付加し、データの区切のビット位置を変更し、データの受信、送信が正常に行われるようにする。即ち、次の（２）式が設立するようにアイドルタイムＴＩＤを付加し、データの区切のビット位置を変更する。
【００２６】
Ｌｎ×Ｔｖ＜（Ｔdata-n−Ｔrts＋ＴＩＤ）        …（２）
上述した時間Ｔdata-n及び時間Ｔrtsは、アンプの構成が決まれば確定するもので回路構成が設計された時点で既知となる値である。又、ケーブル長Ｌｎや線長１mのケーブルを信号が通過するのに要する時間Ｔｖも測定することによって、求めることができるものであり、前もって計算によって、上記（２）式を満たすようなアイドルタイムＴＩＤを求めて設定することができる。又、前述した特許文献１に記載されているエコーバックによる測定方法を用いて、伝播遅延時間（Ｌｎ×Ｔｖ）を求めることができ、こうして求めた伝播遅延時間（Ｌｎ×Ｔｖ）により、上記（２）式を満たすようなアイドルタイムＴＩＤを自動的に求め、アイドルタイムデータＴＩＤＤを自動設定することもできる。
【００２７】
即ち、特許文献１に記載されているように、遅延測定用の信号を下流のアンプに送信し、下流のアンプがこの遅延測定用の信号を受信して、返信用の信号を送り返し、これを受信し、この遅延測定用の信号を送信してから返信用の信号を受信するまでの時間を測定し、この測定時間に基づいて、伝播遅延時間（Ｌｎ×Ｔｖ）は測定できる。この測定伝播遅延時間（Ｌｎ×Ｔｖ）に基づいてアイドルタイムＴＩＤを求め、アイドルタイムデータＴＩＤＤを自動設定することができる。
【００２８】
図９は、本実施形態において、アンプＡ２とアンプＡ１間の線長が長く、アンプＡ１におけるデータの到着時間が遅くなり、そのままでは、アンプＡ１から数値制御装置への送信に間に合わないため、アンプＡ１で、アンプデータＤＡＴＡ１を送信する基本ビット数の区切の後に、アイドルタイムＴＩＤ１を挿入し、アンプデータＤＡＴＡ２をアイドルタイムデータＴＩＤＤ１の後に送信している例を示している。即ち、アンプＡ１から数値制御装置１に送信する送信開始コード以下のシリアルデータにおいて、アンプデータＤＡＴＡ２以下のデータを送信し始めるデータの区切のビット位置を変更し、アンプデータＤＡＴＡ２を受信バッファ１２に格納開始するまでアイドルタイムデータＴＩＤＤ１を送信し、その後アンプデータＤＡＴＡ２、ＤＡＴＡ３を送信するようにしているものである。
【００２９】
このアイドルタイムデータＴＩＤＤ１は、上記（２）式が成立するようなアイドルタイムＴＩＤを求めて、ビット数に変換して設定すればよいものであり、アナログ量のように細かい値を設定することもできるが、通常データのビット長の整数倍にしておけば、アンプや数値制御装置に細かい値を設定しなくても良いので、回路が簡単になるメリットがある。
【００３０】
図１０は、本実施形態におけるアンプＡ１〜Ａ３における、データの送受信に関係する部分の構成を示す図である。図２に示した従来例と比較し、アイドルタイムバッファ１７を設け、及びセレクタ１４がアンプデータ記憶部１３、アイドルタイムバッファ１７、受信バッファ１２の順に選択するようにした点で、従来例と相違する。
【００３１】
当該アンプとその１つ下流のアンプまでのケーブル長Ｌｎによる伝播遅延時間（Ｌｎ×Ｔｖ）が上述した（１）式を満たすような場合には、アイドルタイムバッファ１７には、アイドルタイムデータは設定されず（又は０が設定される）、（１）式を満たさない場合には、上記（２）式を満たすようなアイドルタイムＴＩＤを求め、このアイドルタイムＴＩＤをビット数に変換してデータのビット長単位で求めて、アイドルタイムデータＴＩＤＤとしてアイドルタイムバッファ１７に設定する。
【００３２】
一方、数値制御装置１のシリアルデータを受信する受信回路に関する部分の構成は図５に示した従来例と同じであるが、パラメータ設定記憶部２４に設定される受信するアンプデータＤＡＴＡ１〜ＤＡＴＡ３の順番（サーボアンプ）と各軸のプロセッサ間の関係を設定する内容が相違する。受信データにおいて、アンプデータの区切のビット位置が、アイドルタイムが設定されることで基本ビット数の区切の位置から異なるものとなることから、区切位置をも設定するようにしている。
【００３３】
図９に示すように、アンプＡ１とアンプＡ２間のケーブル長が長く、上記（１）式を満足しなく、アイドルタイムのビット数がアンプＡ１のアイドルタイムバッファ１７に設定されたときの例を取って説明する。
【００３４】
この場合、数値制御装置１のパラメータ設定記憶部２４には、図１１に示すように、１番目に受信するアンプデータＤＡＴＡ１に対してアイドルタイムデータＴＩＤＤ１が設定され、１番目に受信するアンプデータＤＡＴＡ１とその次に受信されるアンプデータＤＡＴＡ２の間には、アイドルタイムの付加時間（付加されたむだ時間のデータ）があり、データの区切位置がその分変更され、アンプデータＤＡＴＡ２が格納されているビット位置は、アンプデータＤＡＴＡ１が格納されている基本ビット数の７０ビットの位置より、アイドルタイムデータＴＩＤＤ１分、遅いビット位置になっていることが設定されている。
【００３５】
各アンプＡ１〜Ａ３は、図９に示すように、同一発信開始タイミングで、送信開始コードＳＣを送信し、次にセレクタ１４は、アンプデータ記憶部１３、アイドルタイムバッファ１７、受信バッファ１２を順に選択し、アンプデータ記憶部１３に記憶する自己のアンプデータ（電流値やパルスコーダで検出された位置、速度データ等）ＤＡＴＡ、アイドルタイムバッファ１７にアイドルタイムデータＴＩＤＤが設定されていれば、そのデータ、次に受信バッファ１２に保存されていた他のサーボアンプのデータを送信回路１６、第２のコネクタＣ２、シリアルバスのケーブル２を介して上流のアンプ、又は数値制御装置１に送信する。
【００３６】
図９に示した例では、アンプＡ３は該アンプより下流にアンプが接続されていないことから、送信開始コードＳＣに続いてアンプデータ記憶部１３に記憶する自己のアンプデータＤＡＴＡ３を送信する。アンプＡ２は送信開始コードＳＣに続いてアンプデータ記憶部１３に記憶する自己のアンプデータＤＡＴＡ２を送信した後、アイドルタイムバッファ１７にはアイドルタイムデータＴＩＤＤが設定されていないこと、又は設定値が０であることから、受信バッファ１２に格納されたアンプＡ３のアンプデータＤＡＴＡ３を送信する。
【００３７】
又、アンプＡ１は送信開始コードＳＣに続いてアンプデータ記憶部１３に記憶する自己のアンプデータＤＡＴＡ１を送信した後、アイドルタイムバッファ１７に設定されたアイドルタイムデータＴＩＤＤ１を送信し、次に受信バッファ１２に格納されたアンプＡ２，Ａ３のアンプデータＤＡＴＡ２、ＤＡＴＡ３を送信する。
【００３８】
その結果、数値制御装置１は、送信開始コードＳＣ、アンプＡ１のアンプデータＤＡＴＡ１、アイドルタイムデータＴＩＤＤ１、アンプＡ２，Ａ３のアンプデータＤＡＴＡ２、ＤＡＴＡ３をこの順序で受信し、数値制御装置１の受信バッファ２２にはアンプデータＤＡＴＡ１、アイドルタイムデータＴＩＤＤ１、アンプデータＤＡＴＡ２、アンプデータＤＡＴＡ３とこの順序で格納されることになる。
【００３９】
数値制御装置１のプロセッサは、パラメータ設定記憶部２４に設定される受信するアンプデータＤＡＴＡ１〜ＤＡＴＡ３の順番（サーボアンプ）と各軸のプロセッサ間の関係に基づいて、各軸を制御するプロセッサに設定されたアンプデータＤＡＴＡを転送する。この例では、図１１に示すようにパラメータ設定されていることから、受信バッファ２２の先頭から７０ビット位置までに記憶されているアンプデータＤＡＴＡ１が、プロセッサ番号が「１」として設定されている第１の軸を制御するプロセッサＰ１に転送されることになる。そして、該アンプデータＤＡＴＡ１の次にアイドルタイムデータＴＩＤＤ１が記憶されているから、このアイドルタイムデータＴＩＤＤ１の分ビット位置をずらし、このビット位置から始まるアンプＡ２のアンプデータＤＡＴＡ２を設定される第２の軸のプロセッサＰ２に転送する。さらに、７０ビット後に記憶されているアンプＡ３のアンプデータＤＡＴＡ３を設定される第３の軸のプロセッサＰ３に転送する。
【００４０】
即ち、受信バッファ２２に格納されている先頭から７０ビット位置までのアンプデータＤＡＴＡ１を第１の軸を制御するプロセッサＰ１に転送し、アイドルタイムデータＴＩＤＤ１のデータ分後のビット位置から７０ビット位置までのアンプデータＤＡＴＡ２を第２の軸を制御するプロセッサＰ２に転送し、その後、７０ビット位置までのアンプデータＤＡＴＡ３を第３の軸を制御するプロセッサＰ３に転送することになる。
【００４１】
上述した実施形態において、アイドルタイムデータＴＩＤＤの長さを通常のアンプデータＤＡＴＡの区切の基本ビット数（７０ビット）の整数倍にすれば、実際のシリアルサーボバスのシステムにおいては、ダミーのアンプを付加したことになる。上述した例で、アンプＡ２とＡ１の間のケーブル長が長く、この間にダミーアンプを１つ挿入したとして、アンプＡ１のアイドルタイムバッファ１７に７０ビットのアイドルタイムデータＴＩＤＤを設定し、数値制御装置１においては、各アンプとプロセッサ間の関係を表したパラメータ設定記憶部２４には、ダミーのアンプが存在するかのように設定すればよい。
【００４２】
この場合における各アンプＡ１〜Ａ３、及び数値制御装置１でのデータの送受信の関係を図１２に示す。
又、図１３は、この場合に数値制御装置１のパラメータ設定記憶部２４に設定される受信するアンプデータＤＡＴＡの順番（サーボアンプ）と各軸のプロセッサ間の関係の設定例を示している。受信バッファ２２の先頭から７０ビット位置までの最初のアンプデータＤＡＴＡ１が第１の軸を制御するプロセッサＰ１用とし、次の７０ビット位置までのデータはダミーアンプのアイドルタイムデータＴＩＤＤ１であり、これに対しては、プロセッサの指定はなされていない。そして次の７０ビットのアンプデータＤＡＴＡ２は第２の軸のプロセッサＰ２、その次の７０ビットのアンプデータＤＡＴＡ３は第３の軸のプロセッサＰ３に指定され、それぞれ指定されたプロセッサに各アンプデータが転送されるようになされる。
【００４３】
各サーボアンプＡ１〜Ａ３においてアイドルタイムＴＩＤを挿入するか否かについては、前述した特許文献１に開示されているような、エコーバックによるケーブル長による伝播遅延時間の測定を実施し、測定した伝播遅延時間（Ｌｎ×Ｔｖ）が前述の（１）式を満たすかどうか判別し、線長Ｌｎが長すぎて（１）式を満さない場合には、自動的にアイドルタイムＴＩＤを算出し、このアイドルタイムＴＩＤに対応するアイドルタイムデータＴＩＤＤを自動設定するようにしてもよい。即ち、測定した伝播遅延時間（Ｌｎ×Ｔｖ）と既知の時間Ｔdata-n、Ｔrtsより、上述した（２）式より求められる次の（３）式を満たすような最小のアイドルタイムＴＩＤを求める。この場合、アイドルタイムＴＩＤをビット長単位で求めてもよく、さらには、前述したように、アンプデータＤＡＴＡの区切の基本ビット数（７０ビット）の整数倍単位で求めアイドルタイムデータＴＩＤＤを設定する。
【００４４】
Ｌｎ×Ｔｖ−Ｔdata-n＋Ｔrts＜ＴＩＤ      …（３）
図１４は、各サーボアンプのプロセッサが実施するアイドルタイム測定、設定処理のアルゴリズムのフローチャートである。
特許文献１に開示されている遅延時間測定指令と同じように、数値制御装置１から図示していない通信回路を介して、アイドルタイム測定、設定指令が出力されると、各サーボアンプは図１４の処理を開始する。即ち、特許文献１に開示されている遅延時間測定処理と同じように、エコーバック方式による、遅延時間測定指令を下流のアンプに送信してから下流のアンプから、この遅延時間測定指令を受信したことを示す返信信号を受信するまでの時間を測定し、この時間よりケーブル長Ｌｎによる伝播遅延時間（Ｌｎ×Ｔｖ）を求める（ステップａ１）。
求めた伝播遅延時間（Ｌｎ×Ｔｖ）と既知の時間（Ｔdata-n−Ｔrts）より、上記（１）式の「Ｌｎ×Ｔｖ＜（Ｔdata-n−Ｔrts）」を満足するか判断し（ステップａ２）、この（１）式を満足せず、伝播遅延時間（Ｌｎ×Ｔｖ）が長い場合には、上記（３）式によって、アイドルタイムＴＩＤを算出し（ステップａ３）、アイドルタイムデータＴＩＤＤを求め、これをアイドルタイムバッファ１７にセットする（ステップａ４）。
一方、ステップａ２の判断で、上記（１）式を満たし、伝播時間が長くはない場合には、アイドルタイム無しの設定、即ち、アイドルタイムバッファ１７には設定しない、又は、「０」を設定する（ステップａ５）。
【００４５】
図１５は、数値制御装置１において、受信するアンプデータＤＡＴＡの順番（サーボアンプ）と各軸のプロセッサ間の関係に設定されたパラメータ設定記憶部２４に、アイドルタイムデータを挿入設定する処理のアルゴリズムを示すフローチャートである。
数値制御装置１のプロセッサは、各アンプに対して遅延時間測定指令を出力して、各アンプにアイドルタイムデータＴＩＤＤを設定させた後、図１５に示す処理を開始する。まず、アンプを指定する指標ｉを「１」にセットし（ステップｂ１）、アンプＡｉにアイドルタイムデータ送信指令を出力する（ステップｂ２）。なお、数値制御装置に近い順にアンプＡ１、Ａ２…としており、指標ｉは、数値制御装置に近いアンプの順番を示すものであり、アンプデータＤＡＴＡの受信順序をも示すものである。
【００４６】
アンプＡｉは、数値制御装置１からアイドルタイムデータ送信指令を受信すると、アイドルタイムバッファ１７に設定されているアイドルタイムデータＴＩＤＤｉを送信する。
【００４７】
数値制御装置１は、アンプＡｉから返信があるまで待ち（ステップｂ３）、返信があると、アイドルタイムデータＴＩＤＤｉがあるか否か判断し（ステップｂ４）、アイドルタイムデータＴＩＤＤｉがある場合には、この送られてきたアイドルタイムデータＴＩＤＤｉをパラメータ設定記憶部２４に記憶されているアンプのアンプデータに対応して設定記憶する（ステップｂ５）。図１１に示す例では、数値制御装置に一番近いアンプＡ１からアイドルタイムデータＴＩＤＤ１が送信され、これをアンプＡ１のアンプデータＤＡＴＡ１に対応して設定記憶されている。
【００４８】
又、図１２に示すように、アンプデータＤＡＴＡの区切の基本ビット数（７０ビット）の整数倍として、アイドルタイムバッファ１７にアイドルタイムデータＴＩＤＤが設定されるものであれば、図１３に示すように、このアイドルタイムデータＴＩＤＤが送られてきたアンプの後、即ち、そのアンプのアンプデータの後に、アイドルタイムデータＴＩＤＤをアンプデータＤＡＴＡの長さ（７０ビット）で区切って、ダミーアンプとして設定する。
【００４９】
次に指標ｉを１インクリメントし（ステップｂ６）、該指標ｉの値が、ディジーチェーン方式で接続されたアンプ数を超えたか判断し（ステップｂ７）、超えていなければ、ステップｂ２に戻る。また、ステップｂ４で、アイドルタイムデータＴＩＤＤｉが無いと判断されたときは、ステップｂ５の設定処理は行わず、ステップｂ４からステップｂ６に移行する。
【００５０】
以下、指標ｉが、アンプ数を超えるまで、ステップｂ２からステップｂ７を繰り返し実行し、受信するアンプデータＤＡＴＡの順番（サーボアンプ）と各軸のプロセッサ間の関係の設定されたパラメータ設定記憶部２４に、アイドルタイムデータＴＩＤＤを挿入設定する。
【００５１】
上述した実施形態は、数値制御装置と複数のサーボアンプをディジーチェーン方式のシリアルバスのケーブルで接続したときのデータ送受信方式の例を示したが、数値制御装置やサーボアンプの代わりに、制御装置等の各種ユニットとし、ディジーチェーン方式のシリアルバスのケーブルで接続されるユニット間のデータ送受信方式に本発明は適用できるものである。
【図面の簡単な説明】
【００５２】
【図１】ディジーチェーン方式でシリアルバスで接続された数値制御装置とサーボアンプ間のデータ送受信を行うシステムの構成の一例を示す概要図である。
【図２】図１に示すシステム例において従来のサーボアンプにおけるデータの送受信に関係する部分の構成例を示す図である。
【図３】シリアルバスに送信されるシリアルデータの説明図である。
【図４】図１に示したシステム例での各アンプから上流側に出力するシリアルデータの説明図である。
【図５】図１に示したシステム例での数値制御装置におけるシリアルデータを受信する受信回路に関する部分の構成例を示す図である。
【図６】図１に示したシステム例で、ケーブルによる伝播遅延を考慮した各アンプから上流側に出力するシリアルデータの説明図である。
【図７】図１に示したシステム例で、従来のデータ送受信方式では、ケーブルによる伝播遅延が大きく、シリアルデータの送受信が正常に行われないことを説明する説明図である。
【図８】アンプからのシリアルデータが正常に送受信されるか否かの判定を説明するための説明図である。
【図９】本発明の一実施形態におけるデータ送受信方式の説明図である。
【図１０】図１のシステムに本発明のデータ送受信方式を適用したときのサーボアンプにおけるデータの送受信に関係する部分の構成例を示す図である。
【図１１】図１のシステムに本発明の実施形態におけるデータ送受信方式を適用したときの数値制御装置に設定される受信するアンプデータの順番と各軸のプロセッサ間の関係の設定値及びアイドルタイムデータの設定を説明する説明図である。
【図１２】本発明の別の実施形態におけるデータ送受信方式の説明図である。
【図１３】図１のシステムに本発明の別の実施形態におけるデータ送受信方式を適用したときの数値制御装置に設定される受信するアンプデータの順番と各軸のプロセッサ間の関係の設定値及びアイドルタイムデータの設定を説明する説明図である。
【図１４】アイドルタイム測定、設定処理のアルゴリズムのフローチャートである。
【図１５】数値制御装置において、受信するアンプデータの順番（サーボアンプ）と各軸のプロセッサ間の関係が設定されたパラメータ記憶部に、アイドルタイムデータを挿入設定する処理のアルゴリズムを示すフローチャートである。
【符号の説明】
【００５３】
１  数値制御装置
２  シリアルバスのケーブル
Ａ１、Ａ２、Ａ３  サーボアンプ
Ｃ１  第１のコネクタ
Ｃ２  第２のコネクタ
２４  パラメータ設定記憶部
【図１】
2008135855.tif 000003
【図２】
2008135855.tif 000004
【図３】
2008135855.tif 000005
【図４】
2008135855.tif 000006
【図５】
2008135855.tif 000007
【図６】
2008135855.tif 000008
【図７】
2008135855.tif 000009
【図８】
2008135855.tif 000010
【図９】
2008135855.tif 000011
【図１０】
2008135855.tif 000012
【図１１】
2008135855.tif 000013
【図１２】
2008135855.tif 000014
【図１３】
2008135855.tif 000015
【図１４】
2008135855.tif 000016
【図１５】
2008135855.tif 000017