(57)【要約】【課題】受信ノードにおいて正常にパケットを受信しつつ、受信の遅延を抑制することができる通信システムを提供する。【解決手段】ＣＮＣ１２と、ＣＮＣ１２とシリアル通信回路１６により接続されたアンプ１４とを有し、ＣＮＣ１２からアンプ１４へ所定周期毎にパケットを送信する通信システム１０であって、パケットは、少なくともデータと誤り検出コードとを備え、ＣＮＣ１２は、所定周期のうち、パケットを送信することが可能な送信可能回数を算出し、送信可能回数内で同一のパケットを複数回送信し、アンプ１４は、受信したパケットの誤り検出コードをチェックして、誤りが検出されなかったパケットのデータを取得する。【選択図】図２
2018148337.tif 000002
【特許請求の範囲】
【請求項１】
送信ノードと、前記送信ノードと通信回路により接続された受信ノードとを有し、前記送信ノードから前記受信ノードへ所定周期毎にパケットを送信する通信システムであって、
前記パケットは、少なくともデータと誤り検出コードとを備え、
前記送信ノードは、前記所定周期内で前記パケットを送信することができる送信可能回数を算出し、前記送信可能回数内で同一の前記パケットを複数回送信し、
前記受信ノードは、受信した前記パケットの前記誤り検出コードをチェックして、誤りが検出されなかった前記パケットのデータを取得する、通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記受信ノードを複数有し、
前記送信ノードは、同一の前記通信回路により、同一周期内で、それぞれの前記受信ノードに異なる前記パケットを送信するとともに、それぞれの前記受信ノードに送信する前記パケットを、前記送信可能回数内で複数回送信する、通信システム。
【請求項３】
請求項１に記載の通信システムであって、
前記受信ノードは、受信した前記パケットの前記誤り検出コードをチェックして、誤りが検出されたときには、前記送信ノードに誤り検出信号を送信し、
前記送信ノードは、前記受信ノードが送信した前記誤り検出信号を受信したときには、次の周期以降において、誤り検出信号を送信した前記受信ノードへ同一の前記パケットを複数回送信する、通信システム。
【請求項４】
請求項３に記載の通信システムであって、
前記受信ノードを複数有し、
前記送信ノードは、同一の前記通信回路により、同一周期内で、それぞれの前記受信ノードに異なる前記パケットを送信するとともに、前記誤り検出信号を送信した前記受信ノードに送信する前記パケットを、前記送信可能回数内で複数回送信する、通信システム。
【請求項５】
請求項１ないし４のいずれか１項に記載の通信システムであって、
前記受信ノードは、受信した信号の振幅の大きさが所定振幅以下、前記受信ノード内のノイズの振幅が所定振幅以上、前記受信ノード内の温度が所定温度以上、または、前記受信ノードの振動が所定振幅以上であるときには、前記送信ノードに誤り予兆信号を送信し、
前記送信ノードは、前記受信ノードが送信した前記誤り予兆信号を受信したときには、次の周期以降において、前記受信ノードへ送信するパケットを複数回送信する、通信システム。
【請求項６】
請求項５に記載の通信システムであって、
前記受信ノードを複数有し、
前記送信ノードは、同一の前記通信回路により、同一周期内で、それぞれの前記受信ノードに異なる前記パケットを送信するとともに、前記誤り予兆信号を送信した前記受信ノードに送信する前記パケットを、前記送信可能回数内で複数回送信する、通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
下記特許文献１には、ターミナル装置は、マスタ装置が送信したパケットを正常に受信できなかったときには、マスタ装置に否定応答を送信し、マスタ装置は否定応答を受信したときには、ターミナル装置にパケットを再送するものが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−１１６３３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の技術では、マスタ装置（送信ノード）は、否定応答の受信を待ってターミナル装置（受信ノード）にパケットを再送しているため、受信ノードにおいて正常にパケットを受信できるまで時間を要するおそれがあった。
【０００５】
本発明は、上記の問題を解決するためになされたものであり、受信ノードにおいて正常にパケットを受信しつつ、受信の遅延を抑制することができる通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の態様は、送信ノードと、前記送信ノードと通信回路により接続された受信ノードとを有し、前記送信ノードから前記受信ノードへ所定周期毎にパケットを送信する通信システムであって、前記パケットは、少なくともデータと誤り検出コードとを備え、前記送信ノードは、前記所定周期内で前記パケットを送信することができる送信可能回数を算出し、前記送信可能回数内で同一の前記パケットを複数回送信し、前記受信ノードは、受信した前記パケットの前記誤り検出コードをチェックして、誤りが検出されなかった前記パケットのデータを取得する。
【発明の効果】
【０００７】
本発明によれば、受信ノードにおいて正常にパケットを受信しつつ、受信の遅延を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施の形態の通信システムの構成を示す図である。
【図２】第１の実施の形態のＣＮＣから送信されるパケットの送信タイミングを示すタイムチャートである。
【図３】第１の実施の形態のＣＮＣの構成を示すブロック図である。
【図４】第１の実施の形態の送受信回路において行われるパケット送信処理の流れを示すフローチャートである。
【図５】第１の実施の形態のパケットの例を示す図である。
【図６】第１の実施の形態のアンプの構成を示す図である。
【図７】第１の実施の形態の送受信回路において行われるパケット受信処理の流れを示すフローチャートである。
【図８】従来のＣＮＣから送信されるパケットの送信タイミングを示すタイムチャートである。
【図９】第２の実施の形態の通信システムの構成を示す図である。
【図１０】第２の実施の形態のＣＮＣから送信されるパケットの送信タイミングを示すタイムチャートである。
【図１１】第２の実施の形態の送受信回路において行われるパケット送信処理の流れを示すフローチャートである。
【図１２】第２の実施の形態の送受信回路において行われるパケット受信処理の流れを示すフローチャートである。
【図１３】第３の実施の形態の通信システムの構成を示す図である。
【図１４】第３の実施の形態のＣＮＣから送信されるパケットの送信タイミングを示すタイムチャートである。
【図１５】第３の実施の形態の送受信回路において行われるパケット送信処理の流れを示すフローチャートである。
【図１６】第３の実施の形態のアンプの構成を示す図である。
【図１７】第３の実施の形態の送受信回路において行われるパケット受信処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、発明の実施の形態を通じて本発明を説明する。下記の実施の形態は特許請求の範囲に係る発明を限定するものではない。実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１０】
〔第１の実施の形態〕
［通信システムについて］
図１は通信システム１０の構成を示す図である。通信システム１０は、コンピュータ数値制御装置（以下、ＣＮＣ）１２、アンプＡ１４ａ、アンプＢ１４ｂおよびアンプＣ１４ｃを有している。以下、アンプＡ１４ａ、アンプＢ１４ｂおよびアンプＣ１４ｃを特に区別しないときには、アンプ１４と記載することがある。ＣＮＣ１２、アンプＡ１４ａ、アンプＢ１４ｂおよびアンプＣ１４ｃは、シリアル通信回路１６によりデイジーチェーン接続されている。アンプ１４は、ＣＮＣ１２から遠い方からアンプＡ１４ａ、アンプＢ１４ｂ、アンプＣ１４ｃの順にシリアル通信回路１６に接続されている。
【００１１】
ＣＮＣ１２は、工作機械や産業機械等を制御する制御装置である。アンプ１４は、ＣＮＣ１２から送られるモータ指令値にしたがって、工作機械や産業機械等のサーボモータに供給する電力を制御するサーボアンプである。アンプＡ１４ａ、アンプＢ１４ｂ、アンプＣ１４ｃは、それぞれサーボモータＡ１８ａ、サーボモータＢ１８ｂ、サーボモータＣ１８ｃに供給する電力を制御する。以下、サーボモータＡ１８ａ、サーボモータＢ１８ｂ、サーボモータＣ１８ｃを特に区別しないときには、サーボモータ１８と記載することがある。
【００１２】
本実施の形態の通信システム１０では、ＣＮＣ１２からシリアル通信回路１６を介して、各アンプＡ１４ａ、アンプＢ１４ｂ、アンプＣ１４ｃ宛てに、モータ指令値等を含むパケットが送信される。図２は、ＣＮＣ１２から送信されるパケットの送信タイミングを示すタイムチャートである。例えば、図２中の「パケットＡ−１」と「パケットＡ−２」とは、パケットの宛先はアンプＡ１４ａであるが、パケットの中身は異なることを示している。一方、「パケットＡ−１」と「パケットＡ−１」とは、パケットの宛先はアンプＡ１４ａであり、パケットの中身も同じ同一のパケットであることを示している。
【００１３】
ＣＮＣ１２は、一定の所定周期毎に、アンプＡ１４ａ、アンプＢ１４ｂ、アンプＣ１４ｃのそれぞれに宛てて、パケットを送信する。パケットには、前述のようにモータ指令値が含まれており、時間の経過によりモータ指令値の値は異なるため、周期毎に送信されるパケットの中身も異なるものとなる。
【００１４】
ＣＮＣ１２は、例えば、図２に示す例では、同一周期において、同一のアンプ１４宛てに同一のパケットを２回送信する。本実施の形態の通信システム１０は、ＣＮＣ１２から各アンプ１４に対して、同一周期内に同一のパケットを複数回送信することで、通信データの冗長性を高め、通信の信頼性を向上させるものである。
【００１５】
［ＣＮＣについて］
図３はＣＮＣ１２の構成を示すブロック図である。ＣＮＣ１２は、処理部２０、送受信回路２２および記憶部２４を備えている。処理部２０は、プロセッサ、メモリ等から構成されており、モータ指令値演算部３０を備えている。モータ指令値演算部３０は、記憶部２４に記憶されているＮＣプログラムを読み出し、ＮＣプログラムを実行し、サーボモータ１８を制御するためのモータ指令値を演算する。
【００１６】
送受信回路２２は、プロセッサおよびメモリ等から構成されており、シリアル通信回路１６を介した通信処理を行う。具体的には、送受信回路２２は、あらかじめ決められた通信プロトコルにしたがって、処理部２０から指定されたモータ指令値等のデータを含むパケットを生成し、生成したパケットをシリアル通信回路１６に流す送信処理を行う。また送受信回路２２は、シリアル通信回路１６を介して受信したパケットからデータを取り出して処理部２０に送る受信処理を行う。記憶部２４は、半導体メモリ等であり、処理部２０において実行されるＮＣプログラム等が記憶されている。
【００１７】
図４は、送受信回路２２において行われるパケット送信処理の流れを示すフローチャートである。ステップＳ１では、あらかじめ決められた通信プロトコルにしたがって、パケットを生成する。図５は、パケットの例を示す図である。図５に示すように、パケットはヘッダ部、データ部、フッタ部から構成されている。ヘッダ部には、パケットを送る宛先であるアンプ１４の識別情報等が格納されている。データ部には、モータ指令値等が格納されている。フッタ部には、パケットに符号誤りが含まれるか否かを検出するための誤り検出コードであるＣＲＣ等が格納されている。
【００１８】
ステップＳ２では、各アンプ１４宛てのパケットの送信回数を設定する。送受信回路２２は、１周期内において、パケットを送信することができる送信可能回数を算出する。図２の例では、ＣＮＣ１２は、１周期においてパケットを６回送信することができる。１周期において送信することができるパケットの回数は、１周期の長さ、１つのパケットの容量、送信クロック等から算出される。さらに、送受信回路２２は、送信可能回数内で、各アンプ１４宛てのパケットの送信回数を割り当てる。図２の例では、各アンプ１４宛てのパケットの送信回数を２回に設定している。
【００１９】
なお、例えば、パケットの送信可能回数が７回であり、各アンプ１４宛てのパケットの送信回数を同じ回数に設定できないときには、例えば、ＣＮＣ１２から遠い位置に接続されているアンプＡ１４ａ宛てのパケットの送信回数を３回に設定し、アンプＢ１４ｂ、アンプＣ１４ｃ宛のパケットの送信回数を２回に設定する等、各アンプ１４宛てのパケットの送信回数については適宜設定してよい。
【００２０】
ステップＳ３では、アンプＡ１４ａ宛てのパケット、アンプＢ１４ｂ宛てのパケット、アンプＣ１４ｃ宛てのパケットの順に送信する。上記のステップＳ１〜ステップＳ３の処理は、一定の所定周期毎に行われる。
【００２１】
［アンプについて］
図６はアンプ１４の構成を示す図である。アンプ１４の構成は、アンプＡ１４ａ、アンプＢ１４ｂ、アンプＣ１４ｃにおいて共通である。アンプ１４は、送受信回路４０およびモータ制御回路４２を有している。
【００２２】
送受信回路４０は、プロセッサおよびメモリ等から構成されており、シリアル通信回路１６を介した通信処理を行う。具体的には、送受信回路４０は、あらかじめ決められた通信プロトコルにしたがって、データを含むパケットを生成し、生成したパケットをシリアル通信回路１６に流す送信処理を行う。また送受信回路４０は、シリアル通信回路１６を介して受信したパケットからデータを取り出してモータ制御回路４２に送る受信処理を行う。モータ制御回路４２は、送受信回路４０から送られてきたモータ指令値に基づいて、サーボモータ１８に電力を供給する。
【００２３】
図７は、送受信回路４０において行われるパケット受信処理の流れを示すフローチャートである。ステップＳ１１では、受信したパケットのヘッダ部の宛先を確認して、パケットの宛先が自分であるか否かを判定する。宛先が自分であるときにはステップＳ１２へ移行し、宛先が自分以外であるときにはステップＳ１４へ移行する。
【００２４】
ステップＳ１２では、受信したパケットのフッタ部の誤り検出コードを確認して、パケットの符号誤りが検出されたか否かを判定する。符号誤りが検出されたときにはステップＳ１５へ移行し、符号誤りが検出されなかったときにはステップＳ１３へ移行する。
【００２５】
ステップＳ１３では、パケットのデータ部からモータ指令値等のデータを取得して、取得したデータを、モータ制御回路４２に送る。ステップＳ１１に続く、ステップＳ１４では、受信したパケットを、そのまま通過させて、他のアンプ１４に転送する。ステップＳ１２に続く、ステップＳ１５では、受信したパケットを破棄する。
【００２６】
［作用効果］
図８は、従来のＣＮＣ１２から送信されるパケットの送信タイミングを示すタイムチャートである。図８に示す例では、一定の所定周期毎に、アンプＡ１４ａ、アンプＢ１４ｂ、アンプＣ１４ｃのそれぞれに宛てて、１回ずつパケットを送信している。
【００２７】
例えば、シリアル通信回路１６を介して「パケットＡ−１」をアンプＡ１４ａに送る間に、「パケットＡ−１」に符号誤りが生じた場合には、アンプＡ１４ａでは「パケットＡ−１」を破棄する。そのため、アンプＡ１４ａで受信するデータに抜けが生じることとなる。アンプＡ１４ａでは、データに抜けが生じた場合、前後に受信したデータから抜けたデータを補完する等の処理を行うが、サーボモータ１８ａの制御精度が悪化するおそれがある。また、抜けが生じたデータの内容によっては、アンプ１４は、サーボモータ１８の駆動を止めてＣＮＣ１２に異常発生信号を送り、ＣＮＣ１２が図示しない報知部を制御することにより作業員に異常が発生した旨を報知する必要があった。
【００２８】
「パケットＡ−１」に符号誤りが生じた場合に、アンプＡ１４ａからＣＮＣ１２に誤り検出信号を送信し、ＣＮＣ１２から「パケットＡ−１」を再送することも考えられるが、パケットを再送しても、サーボモータ１８ａの制御が遅れることとなり、サーボモータ１８ａの制御精度の悪化を避けることはできなかった。
【００２９】
そこで本実施の形態では、ＣＮＣ１２において、パケットを送信する一定の所定周期内で、パケットを送信することができる送信可能回数を算出し、送信可能回数内で各アンプ１４に対して同一のパケットを複数回送信するようにした。これにより、シリアル通信回路１６の通信データの冗長性を高め、通信の信頼性を向上させるとともに、通信の遅延を抑制することができる。
【００３０】
〔第２の実施の形態〕
図９は通信システム１０の構成を示す図である。第１の実施の形態の通信システム１０の構成と同様、通信システム１０は、ＣＮＣ１２、アンプＡ１４ａ、アンプＢ１４ｂおよびアンプＣ１４ｃを有している。ＣＮＣ１２、アンプＡ１４ａ、アンプＢ１４ｂおよびアンプＣ１４ｃは、シリアル通信回路１６により接続されている。アンプ１４は、ＣＮＣ１２から遠い方からアンプＡ１４ａ、アンプＢ１４ｂ、アンプＣ１４ｃの順にシリアル通信回路１６に接続されている。
【００３１】
図１０はＣＮＣ１２から送信されるパケットの送信タイミングを示すタイムチャートである。本実施の形態の通信システム１０では、ＣＮＣ１２からシリアル通信回路１６を介して、各アンプＡ１４ａ、アンプＢ１４ｂ、アンプＣ１４ｃ宛てに、モータ指令値等を含むパケットが送信される。第１の実施の形態と異なり、当初は、ＣＮＣ１２から各アンプ１４に対して、同一周期内にパケットを１回送信する。例えば、アンプＡ１４ａ宛ての「パケットＡ−１」に符号誤りが含まれていたとする。その場合、アンプＡ１４ａからＣＮＣ１２に、アンプＡ１４ａが受信した「パケットＡ−１」に符号誤りが含まれていたことを示す、誤り検出信号が返信される。ＣＮＣ１２は、誤り検出信号を受信した時間以降の周期において、誤り検出信号を返信したアンプＡ１４ａ宛てのパケットについては、同一周期内に同一のパケットを複数回送信する。本実施の形態の通信システム１０は、ＣＮＣ１２は、誤り検出信号を返信したアンプ１４宛ての同一のパケットを同一周期において複数回送信することで、通信の信頼性を向上させるものである。
【００３２】
［ＣＮＣの構成］
ＣＮＣ１２の構成自体は、第１の実施の形態と同じであるものの、送受信回路２２において行われる送信処理が、第１の実施の形態と異なる。
【００３３】
図１１は、送受信回路２２において行われるパケット送信処理の流れを示すフローチャートである。ステップＳ２１では、あらかじめ決められた通信プロトコルにしたがって、パケットを生成する。ステップＳ２２では、アンプ１４からの誤り検出信号を受信したか否かを判定する。誤り検出信号を受信したときにはステップＳ２３へ移行する。誤り検出信号を受信していないときにはステップＳ２４へ移行する。
【００３４】
ステップＳ２３では、誤り検出信号を返信したアンプ１４宛てのパケットの送信回数を設定する。送受信回路２２は、１周期内において、パケットを送信することができる送信可能回数を算出する。図１０の例では、ＣＮＣ１２は、１周期においてパケットを６回送信することができる。１周期において送信することができるパケットの回数は、１周期の長さ、１つのパケットの容量、送信クロック等から算出される。さらに、送受信回路２２は、１周期において、各アンプ１４宛てのパケットの送信回数の合計が、送信可能回数内に収まる範囲で、誤り検出信号を返信したアンプ１４宛てのパケットの送信回数を設定する。図１０の例では、ＣＮＣ１２がアンプ１４ａからの誤り検出信号を受信した後の周期において、アンプ１４ａ宛てのパケットの送信回数を３回に設定している。なお、誤り検出信号を返信したアンプ１４宛てのパケットの送信回数は２回以上であればよく、適宜設定すればよい。
【００３５】
ステップＳ２４では、アンプＡ１４ａ宛てのパケット、アンプＢ１４ｂ宛てのパケット、アンプＣ１４ｃ宛てのパケットの順に送信する。なお、図１０の例では、アンプＡ１４ａ宛てのパケットは３回送信され、アンプＢ１４ｂおよびアンプＣ１４ｃ宛のパケットは１回ずつ送信される。上記のステップＳ２１〜ステップＳ２４の処理は、一定の所定周期毎に行われる。
【００３６】
［アンプについて］
アンプ１４の構成自体は、第１の実施の形態と同じであるものの、送受信回路４０において行われる受信処理が、第１の実施の形態と異なる。
【００３７】
図１２は、送受信回路４０において行われるパケット受信処理の流れを示すフローチャートである。ステップＳ３１では、受信したパケットのヘッダ部の宛先を確認して、パケットの宛先が自分であるか否かを判定する。宛先が自分であるときにはステップＳ３２へ移行し、宛先が自分以外であるときにはステップＳ３４へ移行する。
【００３８】
ステップＳ３２では、受信したパケットのフッタ部の誤り検出コードを確認して、パケットの符号誤りが検出されたか否かを判定する。符号誤りが検出されたときにはステップＳ３５へ移行し、符号誤りが検出されなかったときにはステップＳ３３へ移行する。
【００３９】
ステップＳ３３では、パケットのデータ部からモータ指令値等のデータを取得して、取得したデータを、モータ制御回路４２に送る。ステップＳ３４では、受信したパケットを、そのまま通過させて、他のアンプ１４に転送する。ステップＳ３５では、受信したパケットを破棄する。ステップＳ３６では、ＣＮＣ１２に誤り検出信号を返信する。
【００４０】
［作用効果］
本実施の形態では、ＣＮＣ１２がアンプ１４からの誤り検出信号を受信したときには、ＣＮＣ１２は、同一周期において、誤り検出信号を返信したアンプ１４宛てに同一のパケットを複数回送信するようにした。パケットの符号誤りは、シリアル通信回路１６内で発生することが多いため、符号誤りを含むパケットと、同じ宛先のパケットには符号誤りが発生しやすい。過去に符号誤りを含むパケットと、同じ宛先のパケットのみを複数回送信するようにすることにより、１周期内で符号誤りが発生しやすい宛先のパケットの送信回数を多くすることが可能となる。これにより、シリアル通信回路１６の通信の信頼性および安定性を向上させることができる。
【００４１】
さらに、ＣＮＣ１２は、誤り検出信号を返信したアンプ１４宛てのパケットの送信回数のみを増やすため、ＣＮＣ１２が送信するパケット数を全体として少なくすることができる。これにより、シリアル通信回路１６内の通信の輻輳を抑制することができる。
【００４２】
〔第３の実施の形態〕
図１３は通信システム１０の構成を示す図である。第１の実施の形態の通信システム１０の構成と同様、通信システム１０は、ＣＮＣ１２、アンプＡ１４ａ、アンプＢ１４ｂおよびアンプＣ１４ｃを有している。ＣＮＣ１２、アンプＡ１４ａ、アンプＢ１４ｂおよびアンプＣ１４ｃは、シリアル通信回路１６により接続されている。アンプ１４は、ＣＮＣ１２から遠い方からアンプＡ１４ａ、アンプＢ１４ｂ、アンプＣ１４ｃの順にシリアル通信回路１６に接続されている。
【００４３】
図１４はＣＮＣ１２から送信されるパケットの送信タイミングを示すタイムチャートである。本実施の形態の通信システム１０では、ＣＮＣ１２からシリアル通信回路１６を介して、各アンプＡ１４ａ、アンプＢ１４ｂ、アンプＣ１４ｃ宛てに、モータ指令値等を含むパケットが送信される。第１の実施の形態と異なり、当初は、ＣＮＣ１２から各アンプ１４に対して、同一周期内にパケットを１回送信する。例えば、アンプＡ１４ａが「パケットＡ−１」を受信したときの信号の振幅が所定値以下であったとする。その場合、アンプＡ１４ａが受信した「パケットＡ−１」には符号誤りが含まれなくても、以降に受信するパケットに符号誤りが含まれる可能性が高い。その場合、アンプＡ１４ａからＣＮＣ１２に、パケットの符号誤りが生じる可能性が高いことを示す、誤り予兆信号が送信される。ＣＮＣ１２は、誤り予兆信号を受信した時間以降の次の周期において、誤り予兆信号を送信したアンプＡ１４ａ宛てのパケットについては、同一周期内に同一のパケットを複数回送信する。本実施の形態の通信システム１０は、ＣＮＣ１２は、誤り予兆信号を送信したアンプ１４宛ての同一のパケットを同一周期において複数回送信することで、通信の信頼性を向上させるものである。
【００４４】
［ＣＮＣについて］
ＣＮＣ１２の構成自体は、第１の実施の形態と同じであるものの、送受信回路２２において行われる送信処理が、第１の実施の形態と異なる。
【００４５】
図１５は、送受信回路２２において行われるパケット送信処理の流れを示すフローチャートである。ステップＳ４１では、あらかじめ決められた通信プロトコルにしたがって、パケットを生成する。ステップＳ４２では、アンプ１４からの誤り予兆信号を受信したか否かを判定する。誤り予兆信号を受信したときにはステップＳ４３へ移行する。誤り予兆信号を受信していないときにはステップＳ４４へ移行する。
【００４６】
ステップＳ４３では、誤り予兆信号を送信したアンプ１４宛てのパケットの送信回数を設定する。送受信回路２２は、１周期内において、パケットを送信することができる送信可能回数を算出する。図１４の例では、ＣＮＣ１２は、１周期においてパケットを６回送信することができる。１周期において送信することができるパケットの送信可能回数は、１周期の長さ、１つのパケットの容量、送信クロック等から算出される。さらに、送受信回路２２は、１周期において、各アンプ１４宛てのパケットの送信回数の合計が、送信可能回数内に収まる範囲で、誤り予兆信号を送信したアンプ１４宛てのパケットの送信回数を設定する。図１４の例では、ＣＮＣ１２がアンプ１４ａからの誤り予兆信号を受信した後の周期において、アンプ１４ａ宛てのパケットの送信回数を３回に設定している。なお、誤り予兆信号を送信したアンプ１４宛てのパケットの送信回数は２回以上であればよく、適宜設定すればよい。
【００４７】
ステップＳ４４では、アンプＡ１４ａ宛てのパケット、アンプＢ１４ｂ宛てのパケット、アンプＣ１４ｃ宛てのパケットの順に送信する。なお、図１４の例では、アンプＡ１４ａ宛てのパケットは３回送信され、アンプＢ１４ｂおよびアンプＣ１４ｃ宛のパケットは１回ずつ送信される。上記のステップＳ４１〜ステップＳ４４の処理は、一定の所定周期毎に行われる。
【００４８】
［アンプについて］
図１６はアンプ１４の構成を示す図である。本実施の形態のアンプ１４は、第１の実施の形態のアンプ１４（図６参照）に対して、誤り予兆検出部４６が追加されている。
【００４９】
誤り予兆検出部４６は、アンプ１４が受信するパケットに符号誤りが含まれるおそれがある状況を検出する。具体的には、誤り予兆検出部４６は、アンプ１４が受信した信号の振幅の大きさが所定振幅以下、アンプ１４内のノイズの振幅が所定振幅以上、アンプ１４内の温度が所定温度以上、または、アンプ１４の振動が所定振幅以上であること（以下、誤り予兆と称する）を検出する。誤り予兆検出部４６が、誤り予兆を検出したときには、送受信回路４０に指令して、ＣＮＣ１２に誤り予兆信号を送信する。
【００５０】
図１７は、送受信回路４０において行われるパケット受信処理の流れを示すフローチャートである。ステップＳ５１では、誤り予兆検出部４６において、誤り予兆が検出されたか否かを判定する。誤り予兆が検出されたときにはステップＳ５２へ移行し、誤り予兆が検出されないときにはステップＳ５３へ移行する。ステップＳ５２では、ＣＮＣ１２に誤り予兆信号を送信する。
【００５１】
ステップＳ５３では、受信したパケットのヘッダ部の宛先を確認して、パケットの宛先が自分であるか否かを判定する。宛先が自分であるときにはステップＳ５４へ移行し、宛先が自分以外であるときにはステップＳ５６へ移行する。
【００５２】
ステップＳ５４では、受信したパケットのフッタ部の誤り検出コードを確認して、パケットの符号誤りが検出されたか否かを判定する。符号誤りが検出されたときにはステップＳ５７へ移行し、符号誤りが検出されなかったときにはステップＳ５５へ移行する。
【００５３】
ステップＳ５５では、パケットのデータ部からモータ指令値等のデータを取得して、取得したデータを、モータ制御回路４２に送る。ステップＳ５６では、受信したパケットを、そのまま通過させて、他のアンプ１４に転送する。ステップＳ５７では、受信したパケットを破棄する。
【００５４】
［作用効果］
本実施の形態では、ＣＮＣ１２がアンプ１４からの誤り予兆信号を受信したときには、ＣＮＣ１２は、同一周期において、誤り予兆信号を送信したアンプ１４宛ての同一のパケットを複数回送信するようにした。誤り予兆を検出したアンプ１４が受信するパケットには符号誤りが発生しやすい。誤り予兆を検出したアンプ１４宛てのパケットのみを複数回送信するようにすることにより、１周期内で、符号誤りが発生しやすい宛先のパケットの送信回数を多くすることが可能となる。また、パケットに符号誤りが生じる前に、パケットを複数回送ることができる。これにより、シリアル通信回路１６の通信の信頼性および安定性を向上させることができる。
【００５５】
さらに、ＣＮＣ１２は、誤り予兆信号を送信したアンプ１４宛てのパケットの送信回数のみを増やすため、ＣＮＣ１２が送信するパケット数を全体として少なくすることができる。これにより、シリアル通信回路１６内の通信の輻輳を抑制することができる。
【００５６】
〔他の実施の形態〕
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることはもちろんである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００５７】
上記実施の形態では、ＣＮＣ１２からアンプ１４に送信するパケットの送信回数の設定方法について述べたが、アンプ１４からＣＮＣ１２、またはアンプ１４から他のアンプ１４へ送信するパケットについても同様に送信回数を設定するようにしてもよい。
【００５８】
〔実施の形態から得られる技術的思想〕
上記実施の形態から把握しうる技術的思想について、以下に記載する。
【００５９】
送信ノード（１２）と、前記送信ノード（１２）と通信回路により接続された受信ノード（１４）とを有し、前記送信ノード（１２）から前記受信ノード（１４）へ所定周期毎にパケットを送信する通信システム（１０）であって、前記パケットは、少なくともデータと誤り検出コードとを備え、前記送信ノード（１２）は、前記所定周期内で前記パケットを送信することができる送信可能回数を算出し、前記送信可能回数内で同一の前記パケットを複数回送信し、前記受信ノード（１４）は、受信した前記パケットの前記誤り検出コードをチェックして、誤りが検出されなかった前記パケットのデータを取得する。これにより、通信回路（１６）の通信データの冗長性を高め、通信の信頼性を向上させるとともに、通信の遅延を抑制することができる。
【００６０】
上記通信システム（１０）であって、前記受信ノード（１４）を複数有し、前記送信ノード（１２）は、同一の前記通信回路（１６）により、同一周期内で、それぞれの前記受信ノード（１４）に異なる前記パケットを送信するとともに、それぞれの前記受信ノード（１４）に送信する前記パケットを、前記送信可能回数内で複数回送信してもよい。これにより、通信回路（１６）の通信データの冗長性を高め、通信の信頼性を向上させることができる。
【００６１】
上記通信システム（１０）であって、前記受信ノード（１４）は、受信した前記パケットの前記誤り検出コードをチェックして、誤りが検出されたときには、前記送信ノード（１２）に誤り検出信号を送信し、前記送信ノード（１２）は、前記受信ノード（１４）が送信した前記誤り検出信号を受信したときには、次の周期以降において、誤り検出信号を送信した前記受信ノード（１４）へ同一の前記パケットを複数回送信してもよい。これにより、通信回路（１６）の限られた帯域の中で、符号誤りが発生するときにのみパケットの送信回数を多くすることができ、通信回路（１６）における輻輳を抑制し、通信回路（１６）の通信の安定性を向上させることができる。
【００６２】
上記通信システム（１０）であって、前記受信ノード（１４）を複数有し、前記送信ノード（１２）は、同一の前記通信回路（１６）により、同一周期内で、それぞれの前記受信ノード（１４）に異なる前記パケットを送信するとともに、前記誤り検出信号を送信した前記受信ノード（１４）に送信する前記パケットを、前記送信可能回数内で複数回送信してもよい。これにより、１周期内で、符号誤りが発生しやすい宛先のパケットの送信回数を多くすることができ、通信回路（１６）の通信の信頼性を向上させることができる。
【００６３】
上記通信システム（１０）であって、前記受信ノード（１４）は、受信した信号の振幅の大きさが所定振幅以下、前記受信ノード（１４）内のノイズの振幅が所定振幅以上、前記受信ノード（１４）内の温度が所定温度以上、または、前記受信ノード（１４）の振動が所定振幅以上であるときには、前記送信ノード（１２）に誤り予兆信号を送信し、前記送信ノード（１２）は、前記受信ノード（１４）が送信した前記誤り予兆信号を受信したときには、次の周期以降において、前記受信ノード（１４）へ送信するパケットを複数回送信してもよい。これにより、通信回路（１６）の限られた帯域の中で、符号誤りが発生するおそれがあるときにのみ、パケットの送信回数を多くすることができ、通信回路（１６）における輻輳を抑制し、通信回路（１６）の通信の安定性を向上させることができる。
【００６４】
上記通信システム（１０）であって、前記受信ノード（１４）を複数有し、前記送信ノード（１２）は、同一の前記通信回路（１６）により、同一周期内で、それぞれの前記受信ノード（１４）に異なる前記パケットを送信するとともに、前記誤り予兆信号を送信した前記受信ノード（１４）に送信する前記パケットを、前記送信可能回数内で複数回送信してもよい。これにより、１周期内で符号誤りが発生しやすい宛先のパケットの送信回数を多くすることができ、通信回路（１６）の通信の信頼性を向上させることができる。
【符号の説明】
【００６５】
１０…通信システム
１２…コンピュータ数値制御装置（送信ノード）
１４、１４ａ〜１４ｃ…アンプ（受信ノード）
１６…シリアル通信回路（通信回路）
【図１】
2018148337.tif 000003
【図２】
2018148337.tif 000004
【図３】
2018148337.tif 000005
【図４】
2018148337.tif 000006
【図５】
2018148337.tif 000007
【図６】
2018148337.tif 000008
【図７】
2018148337.tif 000009
【図８】
2018148337.tif 000010
【図９】
2018148337.tif 000011
【図１０】
2018148337.tif 000012
【図１１】
2018148337.tif 000013
【図１２】
2018148337.tif 000014
【図１３】
2018148337.tif 000015
【図１４】
2018148337.tif 000016
【図１５】
2018148337.tif 000017
【図１６】
2018148337.tif 000018
【図１７】
2018148337.tif 000019