本発明によるデータ通信装置の実施の形態を、図面を参照しながら説明する。図面中、同一構成要素には同一符号を付す。
図1は、モータを制御するために本発明によるデータ通信装置を適用したシステムのブロック図である。図1に示すシステムは、工作機械において使用され、交流電源としての三相交流電源1と、コンバータ2と、DCリンク部としての平滑用コンデンサ3と、k(kは1以上の整数)個のインバータ4−1,...,4−kと、k個のモータ5−1,...,5−kと、k個の被駆動体6−1,...,6−kと、k個の回転角度検出部7−1,...,7−kと、スレーブ装置としてのk個のインバータ制御装置8−1,...,8−kと、本発明によるデータ通信装置に対応するマスタ装置としてのコンバータ制御装置9と、を有する。
図1に示すシステムは、モータ5−1,...,5−kを制御するために、コンバータ制御装置9とインバータ制御装置8−1,...,8−kとの間のモータのステータス情報、アラーム情報等のデータの送受信がシリアル通信バス10(例えば、I2C通信バス)を介して行われる。
コンバータ2は、例えば、複数(3相交流の場合は6個)の整流ダイオード及びこれらの整流ダイオードのそれぞれに逆並列に接続されたスイッチング素子としてのトランジスタによって構成され、三相交流電源1から供給される交流電力を直流電力に変換する。平滑用コンデンサ3は、コンバータ2の整流ダイオードによって整流された電圧を平滑化するためにコンバータ2に並列に接続される。インバータ4−1,...,4−kはそれぞれ、平滑用コンデンサ3に並列に接続され、例えば、複数(3相交流の場合は6個)の整流ダイオード及びこれらの整流ダイオードのそれぞれに逆並列に接続されたトランジスタによって構成され、後に説明するPWM信号VPWM1,...,VPWMkに基づいてトランジスタのオンオフ動作を行うことによって、コンバータ2によって変換された直流電力を交流電力に変換する。
モータ5−1,...,5−kは、平滑用コンデンサ3に蓄積されている電力で駆動される。モータ5−1,...,5−kとしては、工作機械の主軸をボールねじ/ナット機構等の送りねじ機構によって重力軸方向(Z軸方向)に駆動する重力軸用サーボモータ、工作機械の主軸に取り付けられた工具を駆動する主軸モータ、ワークが取り付けられた工作機械のテーブルをボールねじ/ナット機構等の送りねじ機構によって水平軸方向(例えば、X軸方向)に駆動する水平軸用サーボモータ等が用いられる。
被駆動体6−1,...,6−kは、モータ5−1,...,5−kによってそれぞれ駆動される。例えば、k=3であり、モータ5−1,...,5−kがそれぞれ重力軸用サーボモータ、主軸モータ及び水平軸用サーボモータである場合、被駆動体6−1,...,6−kは、工作機械の主軸、工具及び工作機械のテーブルである。
回転角度検出部7−1,...,7−kはそれぞれ、モータ5−1,...,5−kの回転角度θ1,...θkをモータの位置又は速度として検出するロータリーエンコーダによって構成される。
インバータ制御装置8−1,...,8−kはそれぞれ、インバータ4−1,...,4−kを制御するために、インバータ4−1,...,4−kの出力線に設けられた電流検出器4u−1;4v−1;4w−1,...,4u−k;4v−k;4w−kによって検出した三相のU相電流Iu-1,...,Iu-k,V相電流Iv-1,...,Iv-k及びW相電流Iw-1,...,Iw-kのそれぞれの電流値を、モータ5−1,...,5−kの電流値データとしてそれぞれサンプリングし、回転角度θ1,...,θkをモータの位置又は速度データとしてそれぞれサンプリングする。
そして、インバータ制御装置8−1,...,8−kはそれぞれ、モータ5−1,...,5−kを駆動するためのPWM信号VPWM1,...,VPWMkを、サンプリングした電流値データ及びモータの位置又は速度データと、明瞭のために図示しない上位制御装置からのモータの位置又は速度指令データとに基づいて生成する。
ここで、電流検出器4u−1;4v−1;4w−1,...,4u−k;4v−k;4w−kはそれぞれ、例えばホール素子によって構成され、図示しない上位制御装置は、例えば、CNC(数値制御装置)によって構成される。
図1に示すシステムにおいて、図示しない上位制御装置は、モータ5−1,...,5−kの減速時に生じる回生エネルギーを三相交流電源1側に回生する交流電源回生を行うために、交流電源回生指令信号をコンバータ制御装置9に出力する。
この場合、インバータ制御装置8−1,...,8−kがPWM信号VPWM1,...,VPWMkをインバータ4−1,...,4−kにそれぞれ出力してインバータ4−1,...,4−kのトランジスタをオンオフ制御するために、図示しない上位制御装置は、PWM信号VPWMに対応するモータの位置又は速度指令データをインバータ制御装置8−1,...,8−kにそれぞれ出力する。
コンバータ制御装置9は、モータ5−1,...,5−kの駆動の準備を完了してからモータ5−1,...,5−kを停止するまでの間に、コンバータ2に含まれるトランジスタのスイッチングを一定のスイッチング周期ごとに行うことによって制御するために、シリアル通信を行う。このために、コンバータ制御装置9は、交流電源回生指令信号に基づいてPWM信号VPWM’を生成し、交流電源回生を行うためにPWM信号VPWM’をコンバータ2に出力する。また、図1に示すシステムにおいて、交流電源回生を行うために、三相交流電源1とコンバータ2との間にリアクトル1u,1v,1wを配置する。
コンバータ制御装置9は、CPU9aと、ROM9bと、RAM9cと、クロック信号生成部9dと、クロック信号生成部9eと、シリアル通信部9fと、を有する。CPU9aは、各種動作を行うためにプログラムを実行する。ROM9bは、当該プログラム及びコンバータ制御装置9の性能等に関する各種データを予め格納する。RAM9cは、CPU9aによる演算結果のデータと、シリアル通信バス10を介してインバータ制御装置8−1,...,8−kから送信されるモータのステータス情報等のデータと、図示しない上位制御装置からのデータと、を一時的に記憶する。
クロック信号生成部9dは、コンバータ2に含まれるトランジスタがスイッチング動作を行う周期として設定される一定のスイッチング周期並びにコンバータ制御装置9がデータの送信及び受信を行う周期として設定される一定のデータ通信周期に対応する第1のシリアルクロックを生成する。そして、クロック信号生成部9dは、生成した第1のシリアルクロックをCPU9aに出力する。このために、クロック信号生成部9dは、発振素子、発振回路等によって構成される。スイッチング周期及びシリアル通信周期がいずれも第1のシリアルクロックに基づいて設定されるので、シリアル通信周期は、1又は複数のスイッチング周期と同一の時間を有し、シリアル通信周期の開始時は、任意のスイッチング周期の開始時と一致する。
クロック信号生成部9eは、コンバータ制御装置9が1回のシリアル通信(データの送信及び受信)を行うのに要するシリアル通信時間に対応する第2のシリアルクロックを生成する。そして、クロック信号生成部9eは、コンバータ制御部9を起動してからモータ5−1,...,5−kの駆動の準備を完了するまでの間に第2のシリアルクロック信号をCPU9aに出力する。ここで、モータ5−1,...,5−kの駆動の準備を完了したか否かは、例えば、モータ5−1,...,5−kの駆動に必要なデータの全てがシリアル通信バス10を介してコンバータ制御装置9とインバータ制御装置8−1,...,8−kとの間で送受信されたとCPU9aによって判断することによって行う。このために、クロック信号生成部9eは、発振素子、発振回路、ボーレート設定レジスタ、ボーレートジェネレータ等によって構成される。第2のシリアルクロックのクロック周波数は、第1のシリアルクロックのクロック周波数と異なる。
図1に示すシステムにおいて、コンバータ制御装置9は、図示しない電源から電力が供給され、図示しない電源からの電力の供給が開始されると同時に起動状態になり、図示しない電源からの電力の供給が停止されると同時に停止する。また、図1に示すシステムは、モータ5−1,...,5−kの駆動の準備を完了した後にモータ5−1,...,5−kを駆動し、図示しない上位制御装置からの指令に基づいてモータ5−1,...,5−kを停止する。
シリアル通信部9fは、シリアル通信バス10を介してコンバータ制御装置9とインバータ制御装置8−1,...,8−kとの間のシリアル通信を行う。このために、シリアル通信部9fは、データ送信部9f−1と、データ受信部9f−2と、帯域可変フィルタ9f−3と、データ取り込み部9e−4と、データ送信決定部9f−5と、を有する。
データ送信部9f−1は、アラーム情報等のデータ(第1のデータ)を、シリアル通信バス10を介してインバータ制御装置8−1,...,8−kに送信する。本実施の形態では、データ送信部9f−1がインバータ制御装置8−1,...,8−kに送信するデータは、第1の数としてのa個の立下りエッジとロー信号のいずれか一方又は両方(ローインピーダンスのためにスイッチングノイズの影響を受けないスイッチングノイズ耐性状態)及び第2の数としてのb個の立上がりエッジとハイ信号のいずれか一方又は両方(ハイインピーダンスのためにスイッチングノイズの影響を受けるスイッチングノイズ非耐性状態)の組合せからなり、データ送信部9f−1は、データのシリアル通信時間に亘る送信を、シリアル通信周期ごとに少なくとも1回行う。
データ受信部9f−2は、モータのステータス情報等のデータ(第2のデータ)を、シリアル通信バス10及び帯域可変フィルタ9f−3を介してインバータ制御装置8−1,...,8−kから受信する。本実施の形態では、データ送信部9f−1がインバータ制御装置8−1,...,8−kから受信するデータは、第3の数としてのc個の立下りエッジとロー信号のいずれか一方又は両方(スイッチングノイズ耐性状態)及び第4の数としてのd個の立上がりエッジとハイ信号の両方(スイッチングノイズ非耐性状態)の組合せからなり、データ受信部9f−2は、データのシリアル通信時間に亘る受信を、シリアル通信周期ごとに複数回行う。帯域可変フィルタ9f−3は、シリアル通信バス10を介してインバータ制御装置8−1,...,8−kから受信したデータをフィルタ処理する。
データ取り込み決定部9f−4は、データ受信部9f−2が受信した複数のデータのうちのいずれのデータをデータ通信装置9すなわちRAM9cに取り込むかを、データ受信部9f−2が受信したデータに対するスイッチングノイズの影響に基づいて決定する。本実施の形態では、データ取り込み決定部9f−4は、スイッチングノイズの影響を、既知の誤り検出法(例えば、巡回冗長検査(CRC))を用いてデータに誤りがあるか否かを判断することによって行い、誤りがないと判断したデータのみをRAM9cに取り込む。
データ送信決定部9f−5は、インバータ制御装置8−1,...,8−kにデータを送信するか否かを、データ送信部9f−1が送信する予定であるデータに対するスイッチングノイズの影響に基づいて決定する。本実施の形態では、データ送信決定部9f−5は、スイッチングノイズの影響を、既知の誤り検出法を用いてデータに誤りがあるか否かを判断することによって行い、誤りがないと判断したデータのみをデータ送信部9f−1に送信させる。
図1に示すシステムにおいて、クロック信号発生部9eは、シリアル通信時間設定部9e−1と、シリアル通信時間開始時設定部9e−2と、を有する。シリアル通信時間設定部9e−1は、データ受信部9f−2によるデータの複数回の受信のうちの少なくとも1回のデータの受信の際に、シリアル通信時間の開始時がスイッチング周期の開始時より後にあり、かつ、シリアル通信時間の終了時が次のスイッチング周期の開始時より前にあるように、又は、シリアル通信時間内にある全てのスイッチング周期の開始時がスイッチングノイズ耐性状態の受信時に一致するように、1又は複数のスイッチング周期と同一の時間と異なるシリアル通信時間を、スイッチング周期、シリアル通信周期及びデータ通信装置の通信速度に基づいて設定する。このようにシリアル通信時間が1又は複数のスイッチング周期と同一の時間と異なるので、大抵のシリアル通信時間の開始時は、スイッチング周期の開始時に一致しない。シリアル通信時間開始時設定部9e−2は、データ受信部9f−2が2回目又はそれ以降に受信するデータのシリアル通信時間の開始時を設定する。本実施の形態では、データ受信部9f−2が2回目又はそれ以降に受信するデータのシリアル通信時間の開始時は、データ送信部9f−1が2回目又はそれ以降に送信するデータのシリアル通信時間の開始時と一致する。
図2は、図1のデータ通信装置の動作を説明するための図である。図2に示す例において、シリアル通信周期P1は、スイッチング周期P2の8倍に設定され、時間t1,t2,t3,...,t15,t16,t17は、スイッチング周期P2の開始時にそれぞれ一致する。また、シリアル通信時間設定部9e−1は、シリアル通信時間Tを、シリアル通信周期P1の半分未満の時間であり、かつ、スイッチング周期P2よりも長くなるように設定する。さらに、シリアル通信時間開始時設定部9e−2は、データ送信部9e−1が2回目又はそれ以降に送信するデータのシリアル通信時間Tの開始時を、2回目又はそれ以降のデータの送信の直前に送信したデータのシリアル通信時間Tの終了直後に設定する。同様に、シリアル通信時間開始時設定部9e−2は、データ受信部9e−2が2回目又はそれ以降に受信するデータのシリアル通信時間Tの開始時を、2回目又はそれ以降のデータの受信の直前に受信したデータのシリアル通信時間Tの終了直後に設定する。
また、図2に示す例において、データ送信部9f−1は、データのシリアル通信時間Tに亘る送信を、シリアル通信周期P1ごとに3回行い、データ送信部9f−1が送信するデータの同一部分(16ビットからなるビット列の同一の位)には、スイッチングノイズ耐性状態d1−1,d1−2が予め設定されている。同様に、データ受信部9f−2は、データのシリアル通信時間Tに亘る送信を、シリアル通信周期P1ごとに3回行い、データ受信部9f−2が受信するデータの同一部分(16ビットからなるビット列の同一の位)には、スイッチングノイズ耐性状態d2−1,d2−2が予め設定されている。また、データ送信部9f−1が送信するデータは、データ受信部9f−2が受信するデータと同一の形式(例えば、16ビットからなるビット列)である。さらに、データ送信部9f−1が送信するデータにおいてスイッチングノイズ耐性状態d1−1,d1−2が設定される場所は、データ受信部9f−2が受信するデータにおいてスイッチングノイズ耐性状態d2−1,d2−2が設定される場所(例えば、16ビットからなるビット列の5列目及び16列目)にそれぞれ対応する。
図2に示す例では、データ送信部9f−1は、任意のシリアル通信周期P1において、データD1−1,D1−2,D1−3をインバータ制御装置8−1,...,8−kに送信することを予定し、次のシリアル通信周期P1において、データ送信部9f−1は、データD1−4,D1−5,D1−6をインバータ制御装置8−1,...,8−kに送信することを予定する。
データD1−1が送信される時間t1’(t1<t1’<t2)から時間t2’(t2<t2’<t3)までのシリアル通信時間T内にあるスイッチング周期P2の開始時t2は、スイッチングノイズ非耐性状態の送信時に一致する可能性がある。したがって、データD1−1の誤りを検出する場合、データ送信決定部9f−5は、データ送信部9f−1によるデータD1−1の送信を中止し、データ送信決定分9f−5に格納されているデータ送信部9f−1が前回送信したデータを、データ送信部9f−1に送信させる。それに対し、データD1−1の誤りを検出しない場合、データ送信決定部9f−5は、データD1−1をデータ送信部9f−1に送信させるとともにデータD1−1をコピーして一時的に格納する。
データD1−2が送信される時間t2’から時間t4’(t4<t4’<t5)までのシリアル通信時間T内にあるスイッチング周期P2の開始時t3,t4は、スイッチングノイズ非耐性状態の送信時に一致する可能性がある。したがって、データD1−2の誤りを検出する場合、データ送信決定部9f−5は、データ送信部9f−1によるデータD1−2の送信を中止し、データ送信決定分9f−5に格納されているデータ送信部9f−1が前回送信したデータ(データD1−1に誤りがなかった場合には、データD1−1)を、データ送信部9f−1に送信させる。それに対し、データD1−2の誤りを検出しない場合、データ送信決定部9f−5は、データD1−2をデータ送信部9f−1に送信させるとともにデータD1−2をコピーして一時的に格納する。
データD1−3が送信される時間t4’から時間t6’(t5<t6’<t6)までのシリアル通信時間T内にある全てのスイッチング周期P2の開始時t5,t6は、スイッチングノイズ耐性状態d1−1,d1−2の送信時にそれぞれ一致する。したがって、データD1−3は、スイッチングノイズの影響が及ぼされない。この場合、データ送信決定部9f−5は、データD1−3をデータ送信部9f−1に送信させるとともにデータD1−3をコピーして一時的に格納する。
データD1−4が送信される時間t9’(t9<t9’<t10)から時間t11’(t11<t11’<t12)までのシリアル通信時間T内にある全てのスイッチング周期P2の開始時t10,t11は、スイッチングノイズ耐性状態d1−1,d1−2の送信時にそれぞれ一致する。したがって、データD1−4は、スイッチングノイズの影響が及ぼされない。この場合、データ送信決定部9f−5は、データD1−4をデータ送信部9f−1に送信させるとともにデータD1−4をコピーして一時的に格納する。
データD1−5が送信される時間t11’(t11<t11’<t12)から時間t12’(t12<t12’<t13)までのシリアル通信時間T内にある全てのスイッチング周期P2の開始時t12は、スイッチングノイズ耐性状態d1−1の送信時に一致する。したがって、データD1−5は、スイッチングノイズの影響が及ぼされない。この場合、データ送信決定部9f−5は、データD1−5をデータ送信部9f−1に送信させるとともにデータD1−5をコピーして一時的に格納する。
データD1−6が送信される時間t12’から時間t14’(t14<t14’<t15)までのシリアル通信時間T内にあるスイッチング周期P2の開始時t13,t14は、スイッチングノイズ非耐性状態の送信時に一致する可能性がある。したがって、データD1−6の誤りを検出する場合、データ送信決定部9f−5は、データ送信部9f−1によるデータD1−6の送信を中止し、データ送信決定分9f−5に格納されているデータ送信部9f−1が前回送信したデータ(この場合には、データD1−5)を、データ送信部9f−1に送信させる。それに対し、データD1−6の誤りを検出しない場合、データ送信決定部9f−5は、データD1−6をデータ送信部9f−1に送信させるとともにデータD1−6をコピーして一時的に格納する。
上述したように、任意のシリアル通信周期P1において、データ送信部9f−1が、スイッチングノイズの影響が及ぼされないデータD1−3をインバータ制御装置8−1,...,8−kに送信し、次のシリアル通信周期P1において、データ送信部9f−1が、スイッチングノイズの影響が及ぼされないデータD1−4,D1−5をインバータ制御装置8−1,...,8−kに送信する。
また、図2に示す例では、データ受信部9f−2は、任意のシリアル通信周期P1において、データD2−1,D2−2,D2−3をインバータ制御装置8−1,...,8−kから受信し、次のシリアル通信周期P1において、データD2−4,D2−5,D2−6をインバータ制御装置8−1,...,8−kから受信する。
データD2−1を受信する時間t1’から時間t2’までのシリアル通信時間T内にあるスイッチング周期P2の開始時t2は、スイッチングノイズ非耐性状態の受信時に一致する可能性がある。したがって、データD2−1の誤りを検出する場合、データ取り込み決定部9f−4は、データD2−1のコンバータ制御部9すなわちRAM9cへの取り込みを中止する。それに対し、データD2−1の誤りを検出しない場合、データ取り込み決定部9f−4は、データD2−1をコンバータ制御部9すなわちRAM9cに取り込む。
データD2−2を受信する時間t2’から時間t4’までのシリアル通信時間T内にあるスイッチング周期P2の開始時t3,t4は、スイッチングノイズ非耐性状態の受信時に一致する可能性がある。したがって、データD2−2の誤りを検出する場合、データ取り込み決定部9f−4は、データD2−2のRAM9cへの取り込みを中止する。それに対し、データD2−2の誤りを検出しない場合、データ取り込み決定部9f−4は、データD2−2をRAM9cに取り込む。
データD2−3を受信する時間t4’から時間t6’までのシリアル通信時間T内にある全てのスイッチング周期P2の開始時t5,t6は、スイッチングノイズ耐性状態d2−1,d2−2の受信時にそれぞれ一致する。したがって、データD2−3は、スイッチングノイズの影響が及ぼされない。この場合、データ取り込み決定部9f−4は、データD2−3をRAM9cに取り込む。
データD2−4を受信する時間t9’から時間t11’までのシリアル通信時間T内にある全てのスイッチング周期P2の開始時t10,t11は、スイッチングノイズ耐性状態d2−1,d2−2の受信時にそれぞれ一致する。したがって、データD2−4は、スイッチングノイズの影響が及ぼされない。この場合、データ取り込み決定部9f−4は、データD2−4をRAM9cに取り込む。
データD2−5を受信する時間t11’から時間t12’までのシリアル通信時間T内にある全てのスイッチング周期P2の開始時t12は、スイッチングノイズ耐性状態d2−1,d2−2の受信時にそれぞれ一致する。したがって、データD2−5は、スイッチングノイズの影響が及ぼされない。この場合、データ取り込み決定部9f−4は、データD2−5をRAM9cに取り込む。
データD2−6を受信する時間t12’から時間t14’までのシリアル通信時間T内にあるスイッチング周期P2の開始時t13,t14は、スイッチングノイズ非耐性状態の受信時に一致する可能性がある。したがって、データD2−6の誤りを検出する場合、データ取り込み決定部9f−4は、データD2−6のRAM9cへの取り込みを中止する。それに対し、データD2−6の誤りを検出しない場合、データ取り込み決定部9f−4は、データD2−2をRAM9cに取り込む。
上述したように、データ受信部9f−1は、任意のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD2−3をインバータ制御装置8−1,...,8−kから受信し、次のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD2−4,D2−5をインバータ制御装置8−1,...,8−kから受信する。
図2に示す例によれば、シリアル通信周期P1において、予定されるデータの3回の送信(すなわち、任意のシリアル通信周期P1におけるデータD1−1,D1−2,D1−3の送信及び次のシリアル通信周期P1におけるデータD1−4,D1−5,D1−6の送信)のうちの少なくとも1回のデータの送信(すなわち、任意のシリアル通信周期P1におけるデータD1−3の送信及び次のシリアル通信周期P1におけるデータD1−4,D1−5の送信)の際に、シリアル通信時間T内にある全てのスイッチング周期P2の開始時がスイッチングノイズ耐性状態の受信時に一致する。このために、シリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータを少なくとも1回送信することができる。したがって、データを送信する際に、スイッチング検出回路を用いることなくスイッチングノイズの影響を回避することができる。
また、シリアル通信周期P1において、データの3回の受信(すなわち、任意のシリアル通信周期P1におけるデータD2−1,D2−2,D2−3の受信及び次のシリアル通信周期P1におけるデータD2−4,D2−5,D2−6の受信)のうちの少なくとも1回のデータの受信(すなわち、任意のシリアル通信周期P1におけるデータD2−3の受信及び次のシリアル通信周期P1におけるデータD2−4,D2−5の受信)の際に、シリアル通信時間T内にある全てのスイッチング周期P2の開始時がスイッチングノイズ耐性状態の受信時に一致する。このために、シリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータを少なくとも1回受信し、当該データをコンバータ制御装置9に取り込むことができる。したがって、データを受信する際に、スイッチング検出回路を用いることなくスイッチングノイズの影響を回避することができる。
図3は、図1のデータ通信装置の他の動作を説明するための図である。図3に示す例において、シリアル通信周期P1は、スイッチング周期P2の8倍に設定され、時間t1,t2,t3,...,t15,t16,t17は、スイッチング周期P2の開始時にそれぞれ一致する。また、シリアル通信時間設定部9e−1は、シリアル通信時間Tを、シリアル通信周期P1の1/3未満の時間であり、かつ、スイッチング周期P2よりも長くなるように設定する。さらに、シリアル通信時間開始時設定部9e−2は、データ送信部9e−1が2回目又はそれ以降に送信するデータのシリアル通信時間Tの開始時を、2回目又はそれ以降のデータの送信の直前に送信したデータのシリアル通信時間Tの終了時からシリアル通信時間Tに相当する時間を経過した直後に設定する。同様に、シリアル通信時間開始時設定部9e−2は、データ受信部9e−2が2回目又はそれ以降に受信するデータのシリアル通信時間Tの開始時を、2回目又はそれ以降のデータの受信の直前に受信したデータのシリアル通信時間Tの終了時からシリアル通信時間Tに相当する時間を経過した直後に設定する。
また、図3に示す例において、データ送信部9f−1は、データのシリアル通信時間Tに亘る送信を、シリアル通信周期P1ごとに2回行い、データ送信部9f−1が送信するデータの同一部分(ビット列の同一の位)には、スイッチングノイズ耐性状態d1−1’,d1−2’が予め設定されている。同様に、データ受信部9f−2は、データのシリアル通信時間Tに亘る送信を、シリアル通信周期P1ごとに2回行い、データ受信部9f−2が受信するデータの同一部分(ビット列の同一の位)には、スイッチングノイズ耐性状態d2−1’,d2−2’が予め設定されている。また、データ送信部9f−1が送信するデータは、データ受信部9f−2が受信するデータと同一の形式(例えば、16ビットからなるビット列)である。さらに、データ送信部9f−1が送信するデータにおいてスイッチングノイズ耐性状態d1−1’,d1−2’が設定される場所は、データ受信部9f−2が受信するデータにおいてスイッチングノイズ耐性状態d2−1’,d2−2’が設定される場所(例えば、16ビットからなるビット列の5列目及び16列目)にそれぞれ対応する。
図3に示す例では、データ送信部9f−1は、任意のシリアル通信周期P1において、データD1−1’,D1−2’をインバータ制御装置8−1,...,8−kに送信することを予定し、次のシリアル通信周期P1において、データD1−3’,D1−4’をインバータ制御装置8−1,...,8−kに送信することを予定する。
データD1−1’が送信される時間t1’から時間t2’までのシリアル通信時間T内にあるスイッチング周期P2の開始時t2は、スイッチングノイズ非耐性状態の送信時に一致する可能性がある。したがって、データD1−1’の誤りを検出する場合、データ送信決定部9f−5は、データ送信部9f−1によるデータD1−1’の送信を中止し、データ送信決定分9f−5に格納されているデータ送信部9f−1が前回送信したデータを、データ送信部9f−1に送信させる。それに対し、データD1−1’の誤りを検出しない場合、データ送信決定部9f−5は、データD1−1’をデータ送信部9f−1に送信させるとともにデータD1−1’をコピーして一時的に格納する。
データD1−2’が送信される時間t4’から時間t6’までのシリアル通信時間T内にある全てのスイッチング周期P2の開始時t5,t6は、スイッチングノイズ耐性状態d1−1’,d1−2’の送信時にそれぞれ対応する。したがって、データD1−2’は、スイッチングノイズの影響が及ぼされない。この場合、データ送信決定部9f−5は、データD1−2’をデータ送信部9f−1に送信させるとともにデータD1−2’をコピーして一時的に格納する。
データD1−3’が送信される時間t9’から時間t11’までのシリアル通信時間T内にある全てのスイッチング周期P2の開始時t10,t11は、スイッチングノイズ耐性状態d1−1’,d1−2’の送信時にそれぞれ一致する。したがって、データD1−3’は、スイッチングノイズの影響が及ぼされない。この場合、データ送信決定部9f−5は、データD1−3’をデータ送信部9f−1に送信させるとともにデータD1−3’をコピーして一時的に格納する。
データD1−4’が送信される時間t12’から時間t14’までのシリアル通信時間T内にあるスイッチング周期P2の開始時t13,t14は、スイッチングノイズ非耐性状態の送信時に一致する可能性がある。したがって、データD1−4’の誤りを検出する場合、データ送信決定部9f−5は、データ送信部9f−1によるデータD1−4’の送信を中止し、データ送信決定分9f−5に格納されているデータ送信部9f−1が前回送信したデータ(この場合には、データD1−3’)を、データ送信部9f−1に送信させる。それに対し、データD1−4’の誤りを検出しない場合、データ送信決定部9f−5は、データD1−4’をデータ送信部9f−1に送信させるとともにデータD1−4’をコピーして一時的に格納する。
上述したように、データ送信部9f−1は、任意のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD1−2’をインバータ制御回路8−1,...,8−kに送信し、次のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD1−3’をインバータ制御回路8−1,...,8−kに送信する。
また、図3に示す例では、データ受信部9f−2は、任意のシリアル通信周期P1において、データD2−1’,D2−2’をインバータ制御装置8−1,...,8−kから受信し、次のシリアル通信周期P1において、データD2−3’,D2−4’をインバータ制御装置8−1,...,8−kから受信する。
データD2−1’を受信する時間t1’から時間t2’までのシリアル通信時間T内にあるスイッチング周期P2の開始時t2は、スイッチングノイズ非耐性状態の受信時に一致する可能性がある。したがって、データD2−1’の誤りを検出する場合、データ取り込み決定部9f−4は、データD2−1’のRAM9cへの取り込みを中止する。それに対し、データD2−1’の誤りを検出しない場合、データ取り込み決定部9f−4は、データD2−1’をRAM9cに取り込む。
データD2−2’を受信する時間t4’から時間t6’までのシリアル通信時間T内にある全てのスイッチング周期P2の開始時t5,t6は、スイッチングノイズ耐性状態d2−1,d2−2の受信時にそれぞれ一致する。したがって、データD2−2’は、スイッチングノイズの影響が及ぼされない。この場合、データ取り込み決定部9f−4は、データD2−2’をRAM9cに取り込む。
データD2−3’を受信する時間t9’から時間t11’までのシリアル通信時間T内にある全てのスイッチング周期P2の開始時t10,t11は、スイッチングノイズ耐性状態d2−1,d2−2の受信時にそれぞれ一致する。したがって、データD2−3’は、スイッチングノイズの影響が及ぼされない。この場合、データ取り込み決定部9f−4は、データD2−3’をRAM9cに取り込む。
データD2−4’を受信する時間t12’から時間t14’までのシリアル通信時間Tに亘る内にあるスイッチング周期P2の開始時t13,t14は、スイッチングノイズ非耐性状態の受信時に一致する可能性がある。したがって、データD2−4’の誤りを検出する場合、データ取り込み決定部9f−4は、データD2−4’のRAM9cへの取り込みを中止する。それに対し、データD2−4’の誤りを検出しない場合、データ取り込み決定部9f−4は、データD2−2をRAM9cに取り込む。
上述したように、データ受信部9f−1は、任意のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD2−2’をインバータ制御装置8−1,...,8−kから受信し、次のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD2−3’をインバータ制御装置8−1,...,8−kから受信する。
図3に示す例によれば、シリアル通信周期P1において、予定されるデータの2回の送信(すなわち、任意のシリアル通信周期P1におけるデータD1−1’,D1−2の送信及び次のシリアル通信周期P1におけるデータD1−3’,D1−4’の送信)のうちの少なくとも1回のデータの送信(すなわち、任意のシリアル通信周期P1におけるデータD1−2’の送信及び次のシリアル通信周期P1におけるデータD1−3’の送信)の際に、シリアル通信時間T内にある全てのスイッチング周期P2の開始時は、スイッチングノイズ耐性状態の受信時に一致する。このために、シリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータを少なくとも1回送信することができる。したがって、データを送信する際に、スイッチング検出回路を用いることなくスイッチングノイズの影響を回避することができる。
また、シリアル通信周期P1において、データの2回の受信(すなわち、任意のシリアル通信周期P1におけるデータD2−1’D2−2’の受信及び次のシリアル通信周期P1におけるデータD2−3’,D2−4’の受信)のうちの少なくとも1回のデータの受信(すなわち、任意のシリアル通信周期P1におけるデータD2−2’の受信及び次のシリアル通信周期P1におけるデータD2−3’の受信)の際に、シリアル通信時間T内にある全てのスイッチング周期P2の開始時がスイッチングノイズ耐性状態の受信時に一致する。このために、シリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータを少なくとも1回受信することができ、受信したスイッチングノイズの影響が及ぼされないデータをコンバータ制御装置9に取り込むことができる。したがって、データを受信する際に、スイッチング検出回路を用いることなくスイッチングノイズの影響を回避することができる。
図4は、図1のデータ通信装置の他の動作を説明するための図である。図4に示す例において、シリアル通信周期P1は、スイッチング周期P2の8倍に設定され、時間t1,t2,t3,...,t15,t16,t17は、スイッチング周期P2の開始時にそれぞれ一致する。また、シリアル通信時間設定部9e−1は、シリアル通信時間T’を、シリアル通信周期P1の半分未満の時間であり、かつ、スイッチング周期P2よりも短くなるように設定する。さらに、シリアル通信時間開始時設定部9e−2は、データ送信部9e−1が2回目又はそれ以降に送信するデータのシリアル通信時間T’の開始時を、2回目又はそれ以降のデータの送信の直前に受信したデータのシリアル通信時間T’の終了直後に設定する。同様に、シリアル通信時間開始時設定部9e−2は、データ受信部9e−2が2回目又はそれ以降に受信するデータのシリアル通信時間T’の開始時を、2回目又はそれ以降のデータの受信の直前に受信したデータのシリアル通信時間T’の終了直後に設定する。
また、図4に示す例において、データ送信部9f−1は、データのシリアル通信時間T’に亘る送信を、シリアル通信周期P1ごとに3回行う。同様に、データ受信部9f−2は、データのシリアル通信時間Tに亘る送信を、シリアル通信周期P1ごとに3回行う。また、データ送信部9f−1が送信するデータは、データ受信部9f−2が受信するデータと同一の形式(例えば、16ビットからなるビット列)である。
図4に示す例では、データ送信部9f−1は、任意のシリアル通信周期P1において、データD3−1,D3−2,D3−3をインバータ制御装置8−1,...,8−kに送信することを予定し、次のシリアル通信周期P1において、データD3−4,D3−5,D3−6をインバータ制御装置8−1,...,8−kに送信することを予定する。
データD3−1の送信開始時t100は、スイッチング周期P2の開始時t1より後にあり、かつ、データD3−1の送信終了時t100’は、次のスイッチング周期P2の開始時t2より前にある。したがって、データD3−1は、スイッチングノイズの影響が及ぼされない。この場合、データ送信決定部9f−5は、データD3−1をデータ送信部9f−1に送信させるとともにデータD3−1をコピーして一時的に格納する。
データD3−2の送信開始時t100’は、スイッチング周期P2の開始時t2より前であり、かつ、データD3−2の送信終了時t200は、スイッチング周期P2の開始時t2より後にある。このために、シリアル通信時間T’内にあるスイッチング周期P2の開始時t2は、スイッチングノイズ非耐性状態の送信時に一致する可能性がある。したがって、データD3−2の誤りを検出する場合、データ送信決定部9f−5は、データ送信部9f−1によるデータD3−2の送信を中止し、データ送信決定分9f−5に格納されているデータ送信部9f−1が前回送信したデータ(この場合には、データD3−1)を、データ送信部9f−1に送信させる。それに対し、データD3−2の誤りを検出しない場合、データ送信決定部9f−5は、データD3−2をデータ送信部9f−1に送信させるとともにデータD3−2をコピーして一時的に格納する。
データD3−3の送信開始時t200は、スイッチング周期P2の開始時t3より前であり、かつ、データD3−3の送信終了時t300は、スイッチング周期P2の開始時t3より後にある。このために、シリアル通信時間T’内にあるスイッチング周期P2の開始時t3は、スイッチングノイズ非耐性状態の送信時に一致する可能性がある。したがって、データD3−3の誤りを検出する場合、データ送信決定部9f−5は、データ送信部9f−1によるデータD3−3の送信を中止し、データ送信決定分9f−5に格納されているデータ送信部9f−1が前回送信したデータ(データD3−2の誤りが検出されなかった場合には、データD3−2)を、データ送信部9f−1に送信させる。それに対し、データD3−3の誤りを検出しない場合、データ送信決定部9f−5は、データD3−3をデータ送信部9f−1に送信させるとともにデータD3−3をコピーして一時的に格納する。
データD3−4の送信開始時t400は、スイッチング周期P2の開始時t10より前であり、かつ、データD3−4の送信終了時t500は、スイッチング周期P2の開始時t10より後にある。このために、シリアル通信時間T’内にあるスイッチング周期P2の開始時t10は、スイッチングノイズ非耐性状態の送信時に一致する可能性がある。したがって、データD3−4の誤りを検出する場合、データ送信決定部9f−5は、データ送信部9f−1によるデータD3−4の送信を中止し、データ送信決定分9f−5に格納されているデータ送信部9f−1が前回送信したデータ(データD3−3の誤りが検出されなかった場合には、データD3−3)を、データ送信部9f−1に送信させる。それに対し、データD3−4の誤りを検出しない場合、データ送信決定部9f−5は、データD3−4をデータ送信部9f−1に送信させるとともにデータD3−4をコピーして一時的に格納する。
データD3−5の送信開始時t500は、スイッチング周期P2の開始時t11より前であり、かつ、データD3−5の送信終了時t600は、スイッチング周期P2の開始時t11より後にある。このために、シリアル通信時間T’内にあるスイッチング周期P2の開始時t11は、スイッチングノイズ非耐性状態の送信時に一致する可能性がある。したがって、データD3−5の誤りを検出する場合、データ送信決定部9f−5は、データ送信部9f−1によるデータD3−5の送信を中止し、データ送信決定分9f−5に格納されているデータ送信部9f−1が前回送信したデータ(データD3−4の誤りが検出されなかった場合には、データD3−4)を、データ送信部9f−1に送信させる。それに対し、データD3−5の誤りを検出しない場合、データ送信決定部9f−5は、データD3−5をデータ送信部9f−1に送信させるとともにデータD3−5をコピーして一時的に格納する。
データD3−6の送信開始時t600は、スイッチング周期P2の開始時t11より後にあり、かつ、データD3−6の送信終了時t600’は、次のスイッチング周期P2の開始時t12より前にある。したがって、データD3−6は、スイッチングノイズの影響が及ぼされない。この場合、データ送信決定部9f−5は、データD3−6をデータ送信部9f−1に送信させるとともにデータD3−6をコピーして一時的に格納する。
上述したように、データ送信部9f−1は、任意のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD3−1をインバータ制御装置8−1,..,8−kに送信し、次のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD3−6をインバータ制御装置8−1,..,8−kに送信する。
また、図4に示す例では、データ受信部9f−2は、任意のシリアル通信周期P1において、データD4−1,D4−2,D4−3をインバータ制御装置8−1,...,8−kから受信し、次のシリアル通信周期P1において、データD4−4,D4−5,D4−6をインバータ制御装置8−1,...,8−kから受信する。
データD4−1の受信開始時t100は、スイッチング周期P2の開始時t1より後にあり、かつ、データD4−1の受信終了時t100’は、次のスイッチング周期P2の開始時t2より前にある。したがって、データD4−1は、スイッチングノイズの影響が及ぼされない。この場合、データ取り込み決定部9f−4は、データD4−1をRAM9cに取り込む。
データD4−2の受信開始時t100’は、スイッチング周期P2の開始時t2より前であり、かつ、データD4−2の受信終了時t200は、スイッチング周期P2の開始時t2より後にある。このために、シリアル通信時間T’内にあるスイッチング周期P2の開始時t2は、スイッチングノイズ非耐性状態の受信時に一致する可能性がある。したがって、データD4−2の誤りを検出する場合、データ取り込み決定部9f−4は、データD4−2のRAM9cへの取り込みを中止する。それに対し、データD4−2の誤りを検出しない場合、データ取り込み決定部9f−4は、データD4−2をRAM9cに取り込む。
データD4−3の受信開始時t200は、スイッチング周期P2の開始時t3より前であり、かつ、データD4−3の受信終了時t300は、スイッチング周期P2の開始時t3より後にある。このために、シリアル通信時間T’内にあるスイッチング周期P2の開始時t3は、スイッチングノイズ非耐性状態の受信時に一致する可能性がある。したがって、データD4−3の誤りを検出する場合、データ取り込み決定部9f−4は、データD4−3のRAM9cへの取り込みを中止する。それに対し、データD4−3の誤りを検出しない場合、データ取り込み決定部9f−4は、データD4−3をRAM9cに取り込む。
データD4−4の受信開始時t400は、スイッチング周期P2の開始時t10より前であり、かつ、データD4−4の受信終了時t500は、スイッチング周期P2の開始時t10より後にある。このために、シリアル通信時間T’内にあるスイッチング周期P2の開始時t10は、スイッチングノイズ非耐性状態の受信時に一致する可能性がある。したがって、データD4−4の誤りを検出する場合、データ取り込み決定部9f−4は、データD4−4のRAM9cへの取り込みを中止する。それに対し、データD4−4の誤りを検出しない場合、データ取り込み決定部9f−4は、データD4−4をRAM9cに取り込む。
データD4−5の受信開始時t500は、スイッチング周期P2の開始時t11より前であり、かつ、データD4−5の受信終了時t600は、スイッチング周期P2の開始時t11より後にある。このために、シリアル通信時間T’内にあるスイッチング周期P2の開始時t11は、スイッチングノイズ非耐性状態の受信時に一致する可能性がある。したがって、データD4−5の誤りを検出する場合、データ取り込み決定部9f−4は、データD4−5のRAM9cへの取り込みを中止する。それに対し、データD4−5の誤りを検出しない場合、データ取り込み決定部9f−4は、データD4−5をRAM9cに取り込む。
データD4−6の受信開始時t600は、スイッチング周期P2の開始時t11より後にあり、かつ、データD4−6の受信終了時t600’は、次のスイッチング周期P2の開始時t12より前にある。したがって、データD4−6は、スイッチングノイズの影響が及ぼされない。この場合、データ取り込み決定部9f−4は、データD4−6をRAM9cに取り込む。
上述したように、データ受信部9f−1は、任意のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD4−1をインバータ制御装置8−1,...,8−kから受信し、次のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD4−6をインバータ制御装置8−1,...,8−kから受信する。
図4に示す例によれば、シリアル通信周期P1において、予定されるデータの3回の送信(すなわち、任意のシリアル通信周期P1におけるデータD3−1,D3−2,D3−3の送信及び次のシリアル通信周期P1におけるデータD3−4,D3−5,D3−6の送信)のうちの少なくとも1回のデータの送信(すなわち、任意のシリアル通信周期P1におけるデータD3−1の送信及び次のシリアル通信周期P1におけるデータD3−6の送信)の際に、シリアル通信時間T’の開始時がスイッチング周期P2の開始時より後にあり、かつ、シリアル通信時間T’の終了時が次のスイッチング周期P2の開始時より前にある。このために、シリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータを少なくとも1回送信することができる。したがって、データを送信する際に、スイッチング検出回路を用いることなくスイッチングノイズの影響を回避することができる。
また、シリアル通信周期P1において、データの3回の受信(すなわち、任意のシリアル通信周期P1におけるデータD4−1,D4−2,D4−3の受信及び次のシリアル通信周期P1におけるデータD4−4,D4−5,D4−6の受信)のうちの少なくとも1回のデータの受信(すなわち、任意のシリアル通信周期P1におけるデータD4−1の受信及び次のシリアル通信周期P1におけるデータD4−6の受信)の際に、シリアル通信時間T’の開始時がスイッチング周期P2の開始時より後にあり、かつ、シリアル通信時間T’の終了時が次のスイッチング周期P2の開始時より前にある。このために、シリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータを少なくとも1回受信することができ、受信したスイッチングノイズの影響が及ぼされないデータをコンバータ制御装置9に取り込むことができる。したがって、データを受信する際に、スイッチング検出回路を用いることなくスイッチングノイズの影響を回避することができる。
図5は、図1のデータ通信装置の他の動作を説明するための図である。図5に示す例において、シリアル通信周期P1は、スイッチング周期P2の8倍に設定され、時間t1,t2,t3,...,t15,t16,t17は、スイッチング周期P2の開始時にそれぞれ対応する。また、シリアル通信時間設定部9e−1は、シリアル通信時間T’を、シリアル通信周期P1の1/3未満の時間であり、かつ、スイッチング周期P2よりも短くなるように設定する。さらに、シリアル通信時間開始時設定部9e−2は、データ送信部9e−1が2回目又はそれ以降に送信するデータのシリアル通信時間T’の開始時を、2回目又はそれ以降のデータの送信の直前に受信したデータのシリアル通信時間T’の終了時からシリアル通信時間T’に相当する時間を経過した直後に設定する。同様に、シリアル通信時間開始時設定部9e−2は、データ受信部9e−2が2回目又はそれ以降に受信するデータのシリアル通信時間T’の開始時を、2回目又はそれ以降のデータの受信の直前に受信したデータのシリアル通信時間T’の終了時からシリアル通信時間T’に相当する時間を経過した直後に設定する。
また、図5に示す例において、データ送信部9f−1は、データのシリアル通信時間T’に亘る送信を、シリアル通信周期P1ごとに2回行う。同様に、データ受信部9f−2は、データのシリアル通信時間Tに亘る送信を、シリアル通信周期P1ごとに2回行う。また、データ送信部9f−1が送信するデータは、データ受信部9f−2が受信するデータと同一の形式(例えば、16ビットからなるビット列)である。
図5に示す例では、データ送信部9f−1は、任意のシリアル通信周期P1において、データD3−1’,D3−2’をインバータ制御装置8−1,...,8−kに送信することを予定し、次のシリアル通信周期P1において、データD3−3’,D3−4’をインバータ制御装置8−1,...,8−kに送信することを予定する。
データD3−1’の送信開始時t100は、スイッチング周期P2の開始時t1より後にあり、かつ、データD3−1の送信終了時t100’は、次のスイッチング周期P2の開始時t2より前にある。したがって、データD3−1は、スイッチングノイズの影響が及ぼされない。この場合、データ送信決定部9f−5は、データD3−1をデータ送信部9f−1に送信させるとともにデータD3−1をコピーして一時的に格納する。
データD3−2’の送信開始時t200は、スイッチング周期P2の開始時t3より前であり、かつ、データD3−2’の送信終了時t300は、スイッチング周期P2の開始時t3より後にある。このために、シリアル通信時間T’内にあるスイッチング周期P2の開始時t3は、スイッチングノイズ非耐性状態の送信時に一致する可能性がある。したがって、データD3−2’の誤りを検出する場合、データ送信決定部9f−5は、データ送信部9f−1によるデータD3−2’の送信を中止し、データ送信決定分9f−5に格納されているデータ送信部9f−1が前回送信したデータ(この場合には、データD3−1’)を、データ送信部9f−1に送信させる。それに対し、データD3−2’の誤りを検出しない場合、データ送信決定部9f−5は、データD3−2’をデータ送信部9f−1に送信させるとともにデータD3−2’をコピーして一時的に格納する。
データD3−3’の送信開始時t400は、スイッチング周期P2の開始時t10より前であり、かつ、データD3−3’の送信終了時t500は、スイッチング周期P2の開始時t10より後にある。このために、シリアル通信時間T’内にあるスイッチング周期P2の開始時t10は、スイッチングノイズ非耐性状態の送信時に一致する可能性がある。したがって、データD3−3’の誤りを検出する場合、データ送信決定部9f−5は、データ送信部9f−1によるデータD3−3’の送信を中止し、データ送信決定分9f−5に格納されているデータ送信部9f−1が前回送信したデータ(データD3−2’の誤りが検出されなかった場合には、データD3−2’)を、データ送信部9f−1に送信させる。それに対し、データD3−2’の誤りを検出しない場合、データ送信決定部9f−5は、データD3−3’をデータ送信部9f−1に送信させるとともにデータD3−3’をコピーして一時的に格納する。
データD3−4’の送信開始時t600は、スイッチング周期P2の開始時t11より後にあり、かつ、データD3−4’の送信終了時t600’は、次のスイッチング周期P2の開始時t12より前にある。したがって、データD3−4’は、スイッチングノイズの影響が及ぼされない。この場合、データ送信決定部9f−5は、データD3−4’をデータ送信部9f−1に送信させるとともにデータD3−4’をコピーして一時的に格納する。
上述したように、データ送信部9f−1は、任意のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD3−1’をインバータ制御装置8−1,...,8−kに送信し、次のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD3−4’ をインバータ制御装置8−1,...,8−kに送信する。
また、図5に示す例では、データ受信部9f−2は、任意のシリアル通信周期P1において、データD4−1’,D4−2’をインバータ制御装置8−1,...,8−kから受信し、次のシリアル通信周期P1において、データD4−3’,D4−4’をインバータ制御装置8−1,...,8−kから受信する。
データD4−1’の受信開始時t100は、スイッチング周期P2の開始時t1より後にあり、かつ、データD4−1’の受信終了時t100’は、次のスイッチング周期P2の開始時t2より前にある。したがって、データD4−1’は、スイッチングノイズの影響が及ぼされない。この場合、データ取り込み決定部9f−4は、データD4−1’をRAM9cに取り込む。
データD4−2’の受信開始時t200は、スイッチング周期P2の開始時t3より前であり、かつ、データD4−2’の受信終了時t300は、スイッチング周期P2の開始時t3より後にある。このために、シリアル通信時間T’内にあるスイッチング周期P2の開始時t3は、スイッチングノイズ非耐性状態の受信時に一致する可能性がある。したがって、データD4−2’の誤りを検出する場合、データ取り込み決定部9f−4は、データD4−2’のRAM9cへの取り込みを中止する。それに対し、データD4−2’の誤りを検出しない場合、データ取り込み決定部9f−4は、データD4−2’をRAM9cに取り込む。
データD4−3’の受信開始時t400は、スイッチング周期P2の開始時t10より前であり、かつ、データD4−3’の受信終了時t500は、スイッチング周期P2の開始時t10より後にある。したがって、シリアル通信時間T’内にあるスイッチング周期P2の開始時t10は、スイッチングノイズ非耐性状態の受信時に一致する可能性がある。したがって、データ取り込み決定部9f−4は、データD4−3’の誤りを検出する場合、データD4−3’のRAM9cへの取り込みを中止する。それに対し、データ取り込み決定部9f−4は、データD4−3’の誤りを検出しない場合、データD4−37をRAM9cに取り込む。
データD4−4’の受信開始時t600は、スイッチング周期P2の開始時t11より後にあり、かつ、データD4−4’の受信終了時t600’は、次のスイッチング周期P2の開始時t12より前にある。したがって、データD4−4’は、スイッチングノイズの影響が及ぼされない。この場合、データ取り込み決定部9f−4は、データD4−4’’をRAM9cに取り込む。
上述したように、データ受信部9f−1は、任意のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD4−1をインバータ制御装置8−1,...,8−kから受信し、次のシリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータD4−4’をインバータ制御装置8−1,...,8−kから受信する。
図5に示す例によれば、シリアル通信周期P1において、予定されるデータの2回の送信(すなわち、任意のシリアル通信周期P1におけるデータD3−1’,D3−2’の送信及び次のシリアル通信周期P1におけるデータD3−3’,D3−4’の送信)のうちの少なくとも1回のデータの送信(すなわち、任意のシリアル通信周期P1におけるデータD3−1’の送信及び次のシリアル通信周期P1におけるデータD3−4’の送信)の際に、シリアル通信時間T’の開始時がスイッチング周期P2の開始時より後にあり、かつ、シリアル通信時間T’の終了時が次のスイッチング周期P2の開始時より前にある。このために、シリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータを少なくとも1回送信することができる。したがって、データを送信する際に、スイッチング検出回路を用いることなくスイッチングノイズの影響を回避することができる。
また、シリアル通信周期P1において、データの2回の受信(すなわち、任意のシリアル通信周期P1におけるデータD4−1’,D4−2’の受信及び次のシリアル通信周期P1におけるデータD4−3’,D4−4’の受信)のうちの少なくとも1回のデータの受信(すなわち、任意のシリアル通信周期P1におけるデータD4−1’の受信及び次のシリアル通信周期P1におけるデータD4−4’の受信)の際に、シリアル通信時間T’の開始時がスイッチング周期P2の開始時より後にあり、かつ、シリアル通信時間T’の終了時が次のスイッチング周期P2の開始時より前にある。このために、シリアル通信周期P1において、スイッチングノイズの影響が及ぼされないデータを少なくとも1回受信することができ、受信したスイッチングノイズの影響が及ぼされないデータをコンバータ制御装置9に取り込むことができる。したがって、データを受信する際に、スイッチング検出回路を用いることなくスイッチングノイズの影響を回避することができる。
図6は、モータを制御するために本発明によるシリアル通信装置を適用した他のシステムのブロック図である。図6に示すシステムでは、図1のコンバータ制御装置8の代わりに、上位制御装置9’をマスタ装置として使用し、図1のリアクトル1u,1v,1w及びコンバータ2の代わりに複数の整流ダイオードによって構成されたコンバータ2’を三相交流電源1と平滑用コンデンサ3との間に配置し、図1のインバータ制御装置8−1,...,8−kの代わりに、本発明によるデータ通信装置に対応するスレーブ装置としてのインバータ制御装置8−1’,...,8−k’を配置する。
インバータ制御装置8−1’,...,8−k’はそれぞれ、図1のCPU9aと、ROM9bと、RAM9cと、クロック信号生成部9dと、クロック信号生成部9eと、シリアル通信部9fと、を有するが、図6に示すシステムでは、インバータ制御装置8−2’,...,8−k’内のCPU9a、ROM9b、RAM9c、クロック信号生成部9d、クロック信号生成部9e及びシリアル通信部9fを省略する。また、インバータ制御装置8−1’,...,8−k’はそれぞれ、モータ5−1,...,5−kを駆動するためのPWM信号VPWM1’,...,VPWMk’を、サンプリングした電流値データ及びモータの位置又は速度データと、上位制御装置9’からのモータの位置又は速度指令データとに基づいて生成する。
上位制御装置9’は、モータの位置又は速度指令等のデータを、シリアル通信バス10’を介してインバータ制御装置8−1’,...,8−k’に送信し、電流値データ、モータの位置又は速度データ等のデータを、シリアル通信バス10’を介してインバータ制御装置8−1’,...,8−k’から受信する。
図7は、モータを制御するために本発明によるシリアル通信装置を適用した他のシステムのブロック図である。図7に示すシステムは、三相交流電源1’と、コンバータ2”と、平滑用コンデンサ3’と、インバータ4’と、モータ5’と、被駆動体6’と、回転角度検出部7’と、マスタ装置としてのインバータ制御装置9”と、スレーブ装置としてのEEPROM11と、温度センサ12に接続したスレーブ装置としてのA/Dコンバータ13と、シリアルバス10”と、を有する。
三相交流電源1’、コンバータ2”及び平滑用コンデンサ3’は、図1又は図6の三相交流電源1、図6のコンバータ2’及び図1又は図6の平滑用コンデンサ3にそれぞれ対応する。電流検出器4u’;4v’;4w’はそれぞれ、図1又は図6の電流検出器4u−1;4v−1;4w−1,...,4u−k;4v−k;4w−kのうちの一つに対応する。モータ5’は、図1又は図6のモータ5−1,...5−kのうちの一つに対応する。被駆動体6’は、図1又は図6の被駆動体6−1,...6−kのうちの一つに対応する。回転角度検出部7’は、図1又は図6の回転角度検出部7−1,...,7−kのうちの一つに対応する。インバータ制御装置9”は、図1に示すインバータ制御装置8−1,...,8−kのうちの一つに対応する。EEPROM11には、インバータ制御装置9”を起動する前に取得した各種データが格納されている。温度センサ12は、図1又は図6に示すモータ5−1,..,5−kのうちの一つに対応するモータの温度を検知する。シリアルバス10”は、インバータ制御装置9”とEEPROM11及びA/Dコンバータ13との間でデータの送受信を行うために用いられる。U相電流Iu’、V相電流Iv’及びW相電流Iw’はそれぞれ、図1又は図6のU相電流Iu-1,...,Iu-k、V相電流Iv-1,...,Iv-k及びW相電流Iw-1,...,Iw-kのうちの一つに対応する。回転角度θ’は、図1又は図6の回転角度θ1,...,θnのうちの一つに対応する。
インバータ制御装置9”は、図1のCPU9a、ROM9b、RAM9c、クロック信号生成部9d、クロック信号生成部9e及びシリアル通信部9fを有し、PWM信号VPWM1,...,VPWMkのいずれか一つに対応するPWM信号VPWM”を生成する。また、インバータ制御装置9”は、EEPROM11に格納されたデータの読出し指令、CPU11aの演算結果等のデータを、シリアル通信バス10”を介してEEPROM11に送信し、EEPROM11に格納されたデータを、シリアル通信バス10”を介してEEPROM11から受信する。さらに、インバータ制御装置9”は、温度センサ13が取得した温度のアナログデータをA/D変換することによって得られる温度データの読出し指令等のデータを、シリアル通信バス10”を介してA/Dコンバータ13に送信し、A/Dコンバータ13が取得したデータを、シリアル通信バス10”を介してA/Dコンバータ13から受信する。
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。例えば、本発明によるシリアル通信装置を、工作機械以外の機械、産業用ロボット等で用いることができる。また、マスタ装置をコンバータ制御装置9、上位制御装置9’及びインバータ装置9”以外の装置において実現することができ、スレーブ装置をインバータ制御装置8−1,...,8−k,8−1’,...,8−k’、EEPROM11及びA/Dコンバータ13以外の装置で実現することができる。また、シリアル通信としてRS422シリアル通信等を用いることもできる。
また、図1及び図6に示すシステムにおいて、交流電源として三相交流電源1を用いたが、三相以外の多相交流電源を交流電源として用いることもできる。また、回転角度検出部7−1,...,7−kを、ロータリーエンコーダ以外の部品(例えば、ホール素子又はレゾルバ)によって構成することができる。また、U相電流、V相電流及びW相電流の全てを検出する代わりに、U相電流、V相電流及びW相電流のうちの2相の電流(例えば、U相電流及びV相電流)のみを検出してもよい。
また、本発明によるシリアル通信装置に対応するコンバータ制御装置9,9”又はインバータ制御装置8−1,...,8−k,8−1’,...,8−k’がデータ取り込み決定部9f−4とデータ送信決定部9f−5の両方を有する場合について説明したが、コンバータ制御装置9,9”又はインバータ制御装置8−1,...,8−k,8−1’,...,8−k’は、データ取り込み決定部9f−4とデータ送信決定部9f−5のいずれか一方を有すればよい。
さらに、図4及び図5に示す例において、シリアル通信時間T’の開始時を、その直前に受信したデータのシリアル通信時間T’の終了時からシリアル通信時間T’に相当する時間を経過した直後に設定する場合について説明したが、シリアル通信時間T’の開始時を、その直前に受信したデータのシリアル通信時間T’の終了時からシリアル通信時間T’の複数倍に相当する時間を経過した直後に設定することもできる。