(57)【特許請求の範囲】
【請求項１】
インバータ主回路と、
一対の通信線を通じた半二重通信により外部機器との間でデータの送受信を行うとともに前記インバータ主回路の制御を行う制御手段と、
前記制御手段から与えられる送信用データを一対の差動信号に変換して前記一対の通信線に出力する送信信号変換手段と、
前記一対の通信線から取得される一対の差動信号を受信用データに変換して前記制御手段に出力する受信信号変換手段と、
前記一対の通信線から取得される一対の差動信号を観測用データに変換する観測信号変換手段と、を備え、
前記制御手段は、
前記送信信号変換手段が送信可能状態とされて前記送信用データの送信が指令される第１時点から所定の待ち時間だけ、前記送信用データの出力を待機させ前記待ち時間が経過すると前記送信用データを出力する待機手段と、
前記送信用データと、その送信用データに対応した前記観測用データとを比較し、各データが一致しない場合、前記半二重通信においてコリジョンが発生していると判断する検出手段と、
前記待機手段により前記待ち時間が経過して前記送信用データが出力された後、前記検出手段により前記コリジョンの発生が検出されると、そのコリジョンの発生が検出された第２時点より前であり且つ前記送信信号変換手段が送信可能状態になった時点以降の第３時点から、そのコリジョンの発生が検出されなくなる第４時点までの時間を前記待ち時間として設定する時間設定制御を実行する待ち時間設定手段と、を備えていることを特徴とするインバータ装置。
【請求項２】
前記制御手段は、前記待ち時間設定手段による前記時間設定制御の実行を許可または禁止する時間設定制御可否手段を備えていることを特徴とする請求項１に記載のインバータ装置。
【請求項３】
前記制御手段は、前記コリジョンの発生が検出された際における送信用データを再度送信するリトライ制御を実行するリトライ手段を備えていることを特徴とする請求項１または２に記載のインバータ装置。
【請求項４】
前記制御手段は、前記リトライ手段による前記リトライ制御の実行を許可または禁止するリトライ制御可否手段を備えていることを特徴とする請求項３に記載のインバータ装置。
【請求項５】
前記待ち時間設定手段は、
前記時間設定制御の実行中、前記検出手段による前記コリジョンの検出動作の実行回数をカウントするカウンタを備え、
前記カウンタのカウント値が所定のしきい値を超えると、前記第３時点から前記カウント値が前記しきい値を超えた第５時点までの時間を前記待ち時間に設定して前記時間設定制御を終了することを特徴とする請求項１〜４のいずれか一つに記載のインバータ装置。
【請求項６】
前記制御手段は、
マイクロコンピュータであり、
前記受信信号変換手段から出力される前記受信用データと、前記観測信号変換手段から出力される前記観測用データとを同一の入力ポートを通じて受信するように構成され、
前記外部機器からのデータを受信する際に前記入力ポートを前記受信用データの受信用に設定し、前記外部機器に対しデータを送信する際に前記入力ポートを前記観測用データの受信用に設定するポート設定切替手段を備えていることを特徴とする請求項１〜５のいずれか一つに記載のインバータ装置。
【請求項７】
前記送信信号変換手段、前記受信信号変換手段および前記観測信号変換手段は、１組のドライバおよびレシーバを有するトランシーバにより構成されていることを特徴とする請求項１〜５のいずれか一つに記載のインバータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、インバータ装置に関する。
【背景技術】
【０００２】
インバータ装置と、インバータ装置を制御するＰＬＣ（Programmable Logic Controller）などの上位側コントローラとの間では、通信によりデータを送受信してパラメータの設定やインバータの駆動制御などが行われる。その通信としては、例えばＲＳ４８５通信などの一対の差動信号を用いた半二重通信方式が広く用いられている。半二重通信方式は、データの送受信を同時に行うことはできない。また、通信に差動信号が用いられるため、差動信号とデータ（ディジタル信号）との相互変換を行うためのレシーバ／ドライバが必要となる。そのため、送受信が切り替わる際にはレシーバ／ドライバの切り替えが行われる。このような通信の際、インバータ装置および上位側コントローラの双方が送信状態であると、コリジョンの発生により通信データ（送信データ）が破損する。
【０００３】
例えば、上位側コントローラからインバータ装置に対し、所定のデータを送信した後、インバータ装置から上位側コントローラに対し、返信データを送信する状況を想定する。この場合、インバータ装置がデータを受信してから返信データを送信するまでの時間よりも、上位側コントローラのレシーバ／ドライバの切り替えに要する時間のほうが長いと、双方が送信状態となる期間が生じてコリジョンが発生することになる。従って、インバータ装置と、レシーバ／ドライバの切り替え時間が比較的長い上位側コントローラとの間で通信が行われる際、コリジョンが多発して伝送効率が著しく低下することが懸念される。
【０００４】
そのため、インバータ装置には、データを受信した後、上位側コントローラに対する返信データの送信を所定の待ち時間だけ待機する機能が設けられていることが多い。その機能により、通信データのコリジョンの発生を未然に防ぐことを可能としている。上記待ち時間は、例えばパラメータなどの設定を通じてユーザにより指定されるようになっている。その理由は、通信対象の上位側コントローラの仕様などにより、レシーバ／ドライバの切り替え時間は様々であり、待ち時間を一義的に決定することが難しいからである。なお、このような半二重通信を行う際における送信待ち時間を設定する機能については、例えば特許文献１に記載されている。
【０００５】
上記構成においては、インバータ装置および上位側コントローラの仕様を十分に理解したユーザでなければ、適切な待ち時間を設定することが難しい。しかし、毎回、各装置に関する知識を豊富に持つユーザ（熟練者）により待ち時間の設定が行われるとは限らず、知識を十分に持たないユーザ（初心者）により待ち時間が設定されることも有り得る。このような場合、コリジョンの発生を防止できなかったり、あるいは、むやみに長い待ち時間が設定されてしまい逆に通信効率が低下したりするといった問題の発生が考えられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１７８１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、外部機器との間で行われる半二重通信における通信データのコリジョンの発生を容易に且つ効果的に防止することができるインバータ装置を提供する。
【課題を解決するための手段】
【０００８】
本実施形態のインバータ装置は、インバータ主回路、制御手段、送信信号変換手段、受信信号変換手段および観測信号変換手段を備えている。制御手段は、一対の通信線を通じた半二重通信により外部機器との間でデータの送受信を行うとともにインバータ主回路の制御を行う。送信信号変換手段は、制御手段から与えられる送信用データを一対の差動信号に変換して一対の通信線に出力する。受信信号変換手段は、一対の通信線から取得される一対の差動信号を受信用データに変換して制御手段に出力する。観測信号変換手段は、一対の通信線から取得される一対の差動信号を観測用データに変換する。また、制御手段は、待機手段、検出手段および待ち時間設定手段を備えている。待機手段は、送信信号変換手段が送信可能状態とされて送信用データの送信が指令される第１時点から所定の待ち時間だけ、送信用データの出力を待機させ待ち時間が経過すると送信用データを出力する。検出手段は、送信用データと、その送信用データに対応した観測用データとを比較し、各データが一致しない場合、半二重通信においてコリジョンが発生していると判断する。待ち時間設定手段は、待機手段により待ち時間が経過して送信用データが出力された後、検出手段によりコリジョンの発生が検出されると、そのコリジョンの発生が検出された第２時点より前であり且つ送信信号変換手段が出力可能な状態になった時点以降の第３時点から、そのコリジョンの発生が検出されなくなる第４時点までの時間を待ち時間として設定する時間設定制御を実行する。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態を示すもので、インバータ装置およびＰＬＣの構成を概略的に示すブロック図
【図２】インバータ装置の通信に関する動作の流れを示すフローチャート
【図３】時間設定制御の内容を示すフローチャート
【図４】時間設定制御によって設定される待ち時間を示す図
【図５】一対の通信線間の電圧波形を示す図
【図６】第２の実施形態を示す図１相当図
【図７】図２相当図
【図８】第３の実施形態を示す図１相当図
【発明を実施するための形態】
【００１０】
（第１の実施形態）
以下、本発明の第１の実施形態について図１〜図５を参照しながら説明する。
図１は、インバータ装置およびＰＬＣの構成を示すブロック図であり、主に通信に関する部分を示している。インバータ装置１は、ドライバ２（送信信号変換手段に相当）、レシーバ３（受信信号変換手段に相当）、レシーバ４（観測信号変換手段に相当）、制御回路５（制御手段に相当）、インバータ主回路６などを備えている。ＰＬＣ７（外部機器に相当）は、ドライバ８、レシーバ９、制御回路１０などを備えている。インバータ装置１の通信端子１１、１２とＰＬＣ７の通信端子１３、１４とは一対の通信線１５、１６（差動信号伝送路）により互いに接続されている。インバータ装置１およびＰＬＣ７の間では、通信線１５、１６を通じた半二重通信方式の通信（例えばＲＳ４８５通信）が行われる。上記通信によりデータの送受信が行われることで、各種パラメータの設定やインバータ主回路６の駆動制御など、ＰＬＣ７によるインバータ装置１の制御が実施される。
【００１１】
インバータ装置１において、ドライバ２は、制御回路５から与えられる送信用ディジタル信号Ｓｄ１を一対の差動信号に変換して出力する。それら差動信号は、通信端子１１、１２を介して通信線１５、１６に与えられる。具体的には、ドライバ２は、制御回路５から与えられる送信用ディジタル信号Ｓｄ１を互いに逆位相となる一対の差動信号に変換し、それら差動信号が伝送されるように通信線１５、１６をドライブする。一対の差動信号は、例えば一方が＋５．０Ｖであるときには他方が０Ｖになるものである。
【００１２】
レシーバ３は、通信端子１１、１２を介して通信線１５、１６から取得される一対の差動信号を受信用ディジタル信号Ｓｄ３に変換して出力する。受信用ディジタル信号Ｓｄ３は、制御回路５に与えられる。レシーバ４は、通信端子１１、１２を介して通信線１５、１６から取得される一対の差動信号を観測用ディジタル信号Ｓｄ２に変換して出力する。観測用ディジタル信号Ｓｄ２は、制御回路５に与えられる。なお、本実施形態では、ドライバ２およびレシーバ３、４は、それぞれ個別に構成されているが、ドライバ２およびレシーバ３として、ドライバ／レシーバが一体構成された一般的なトランシーバＩＣなどを用いてもよい。また、レシーバ４として、トランシーバＩＣのレシーバを用いてもよい。各ディジタル信号Ｓｄ１〜Ｓｄ３は、いずれもシリアルデータを示すものである。具体的には、送信用ディジタル信号Ｓｄ１は後述する送信用データＤ１を表す信号であり、観測用ディジタル信号Ｓｄ２は後述する観測用データＤ２を表す信号であり、受信用ディジタル信号Ｓｄ３は後述する受信用データＤ３を表す信号である。
【００１３】
ドライバ２は、差動信号を出力可能な状態、つまり通信線１５、１６をドライブする送信可能状態と、差動信号を出力できない状態、つまり通信線１５、１６をドライブしない送信不可状態とを切り替え可能に構成されている。インバータ装置１は、ドライバ２が送信可能状態に設定されることにより、ドライバ２を通じてＰＬＣ７にデータを送信する送信状態となる。また、インバータ装置１は、ドライバ２が送信不可状態に設定されることにより、レシーバ３を通じてＰＬＣ７から送信されるデータを受信する受信状態となる。このようなドライバ２およびレシーバ３の状態切り替え、つまりインバータ装置１におけるレシーバ／ドライバの切り替えは、制御回路５により制御される。
【００１４】
制御回路５は、例えばＣＰＵやメモリなどの基本構成の他、Ａ／Ｄ変換器、Ｉ／Ｏポート、通信Ｉ／Ｆなどの周辺回路を備えたマイクロコンピュータを主体として構成されている。制御回路５は、フラッシュメモリなどの不揮発性メモリに記憶されたプログラムを実行することにより、制御部１７、データ送信部１８、データ受信部１９、観測用データ受信部２０、通信データ処理部２１、待機部２２（待機手段に相当）、記憶部２３、パラメータ設定部２４、検出部２５（検出手段に相当）、待ち時間設定部２６（待ち時間設定手段に相当）、リトライ部２７（リトライ手段に相当）などの機能を実現するようになっている。制御部１７は、ＰＬＣ７との間において通信によりデータの送受信を行うとともに、インバータ主回路６の駆動などを制御する。
【００１５】
データ送信部１８、データ受信部１９および観測用データ受信部２０は、マイクロコンピュータのＩ／Ｏポートがそれぞれ次のように割り当てられることで実現されている。すなわち、データ送信部１８は、通信データ処理部２１から待機部２２を介して与えられる送信用データＤ１を送信用ディジタル信号Ｓｄ１に変換して出力するための出力ポートとして割り当てられている。データ送信部１８から出力される送信用ディジタル信号Ｓｄ１は、ドライバ２に与えられる。データ受信部１９は、レシーバ３から与えられる受信用ディジタル信号Ｓｄ３を受信用データＤ３に変換して入力するための入力ポートとして割り当てられている。データ受信部１９から出力される受信用データＤ３は、通信データ処理部２１に与えられる。観測用データ受信部２０は、レシーバ４から与えられる観測用ディジタル信号Ｓｄ２を観測用データＤ２に変換して入力するための入力ポートとして割り当てられている。観測用データ受信部２０から出力される観測用データＤ２は、記憶部２３に順次記憶される。
【００１６】
通信データ処理部２１は、制御部１７からデータの送信を指令するコマンドが与えられると、送信用データＤ１を待機部２２に出力する。また、このとき、その送信用データＤ１は、記憶部２３に順次記憶される。待機部２２は、送信用データＤ１が与えられると、所定の待ち時間Ｔｗだけ待機した後、その送信用データＤ１をデータ送信部１８に出力する。通信データ処理部２１は、データ受信部１９から受信用データＤ３が与えられると、その受信用データＤ３に応じた内容のコマンドを制御部１７に出力する。
【００１７】
記憶部２３は、不揮発性のメモリにより構成されており、その記憶内容はインバータ装置１に対する電源供給が遮断されても消去されないようになっている。記憶部２３には、インバータ主回路６の駆動制御に関する各種パラメータ、通信に関する各種パラメータを含む種々のパラメータの値が記憶される。また、記憶部２３には、前述したとおり、送信用データＤ１および観測用データＤ２も記憶される。
【００１８】
記憶部２３に記憶される各種パラメータの値は適宜変更可能になっている。すなわち、ユーザによる操作に応じてパラメータの値が変更され、その変更後の値が記憶部２３に記憶されるようになっている。このようなパラメータ値の変更は、パラメータ設定部２４により実施される。パラメータ設定部２４は、ユーザによりパラメータを設定するための操作が行われると、その操作に応じてパラメータの値を変更し、その変更後の値を記憶部２３に記憶する。
【００１９】
送信用データＤ１（送信用ディジタル信号Ｓｄ１）と、その送信用データＤ１に対応する観測用データＤ２（観測用ディジタル信号Ｓｄ２）とは、通信に何らかの不具合が生じていない限り一致するはずである。検出部２５は、このようなことを利用して通信におけるコリジョンの発生を検出するようにしている。すなわち、検出部２５は、送信用データＤ１と、その送信用データＤ１に対応する観測用データＤ２とを比較し、各データが一致しない場合、通信においてコリジョンが発生していると判断する。具体的には、検出部２５は、送信用データＤ１と、その送信用データＤ１が送信されたタイミングから所定の遅延時間だけ経過した後のタイミングで受信された観測用データＤ２とを記憶部２３から順次読み出し、それら各データＤ１、Ｄ２を比較する。上記した遅延時間は、待ち時間Ｔｗの設定値、ドライバ２、レシーバ４などにおける信号処理に要する時間などに基づいて求められる。また、本実施形態では、送信用データＤ１が１バイト単位で送信されるようになっているとともに、送信用データＤ１および観測用データＤ２の比較が１バイト毎に行われるようになっている。
【００２０】
検出部２５は、上記比較の結果を表す検出信号Ｓａを出力する。本実施形態では、検出信号Ｓａは、各データＤ１、Ｄ２が一致する場合（コリジョン発生していないと判断された場合）にはＬレベルになり、各データＤ１、Ｄ２が一致しない場合（コリジョンが発生していると判断された場合）にはＨレベルになる。検出部２５から出力される検出信号Ｓａは、待ち時間設定部２６およびリトライ部２７に与えられる。
【００２１】
待ち時間設定部２６は、検出部２５から与えられる検出信号Ｓａのレベルなどに基づいて、待ち時間Ｔｗを設定する時間設定制御（詳細は後述する）を実行可能に構成されている。待ち時間設定部２６は、制御部１７から与えられる指令に応じて上記時間設定制御を実行するようになっている。すなわち、制御部１７は、待ち時間設定部２６による時間設定制御の実行を許可または禁止する時間設定制御可否手段として機能する。待ち時間設定部２６により設定された待ち時間Ｔｗは、記憶部２３に記憶される。また、待ち時間設定部２６は、時間設定制御において用いるためのカウンタ２８を備えている。
【００２２】
リトライ部２７は、検出部２５から与えられる検出信号Ｓａのレベルなどに基づいて、コリジョン発生期間に送信された送信用データＤ１を再度送信するリトライ制御（詳細は後述する）を実行可能に構成されている。リトライ部２７は、制御部１７から与えられる指令に応じて上記リトライ制御を実行するようになっている。すなわち、制御部１７は、リトライ部２７によるリトライ制御の実行を許可または禁止するリトライ制御可否手段として機能する。なお、制御部１７は、記憶部２３に記憶されるパラメータの値に応じてリトライ制御の実行を許可または禁止する。なお、そのパラメータ値は、インバータ装置１の仕様として固定値にしてもよいし、ユーザによる値の変更が可能なパラメータとしてもよい。
【００２３】
インバータ主回路６は、交流電源２９に接続される整流回路３０、直流電源線３１、３２間に接続される平滑用のコンデンサ３３、負荷である電動機３４が接続されるインバータ部３５などを備えている。整流回路３０は、直流電源線３１、３２間にダイオードをブリッジ接続して構成されている。インバータ部３５は、直流電源線３１、３２間にスイッチング素子をブリッジ接続して構成されている。インバータ部３５のスイッチング素子の制御端子には、制御部１７から図示しない駆動回路を介して制御信号が与えられている。
【００２４】
ＰＬＣ７において、ドライバ８は、制御回路１０から与えられる送信用ディジタル信号を一対の差動信号に変換して出力する。それら差動信号は、通信端子１３、１４を介して通信線１５、１６に与えられる。ドライバ８の具体的な動作としてはインバータ装置１のドライバ２と同様である。レシーバ９は、通信端子１３、１４を介して通信線１５、１６から取得される一対の差動信号を受信用ディジタル信号に変換して出力する。その受信用ディジタル信号は、制御回路１０に与えられる。なお、本実施形態では、ドライバ８およびレシーバ９は、それぞれ個別に構成されているが、ドライバ８およびレシーバ９として、ドライバ／レシーバが一体構成された一般的なトランシーバＩＣなどを用いてもよい。また、上記した送信用ディジタル信号および受信用ディジタル信号は、いずれもシリアルデータを示すものである。
【００２５】
ドライバ８は、インバータ装置１のドライバ２と同様に、差動信号を出力可能な送信可能状態と、差動信号を出力できない送信不可状態とを切り替え可能に構成されている。ＰＬＣ７は、ドライバ８が送信可能状態に設定されることにより、ドライバ８を通じてインバータ装置１にデータを送信する送信状態となる。また、ＰＬＣ７は、ドライバ８が送信不可状態に設定されることにより、レシーバ９を通じてインバータ装置１から送信されるデータを受信する受信状態となる。このようなドライバ８およびレシーバ９の状態切り替え、つまりＰＬＣ７におけるレシーバ／ドライバの切り替えは、制御回路１０により制御される。
【００２６】
制御回路１０は、インバータ装置１の制御回路５と同様に、マイクロコンピュータを主体として構成されている。制御回路１０は、不揮発性メモリに記憶されたプログラムを実行することにより、制御部３６、データ送信部３７、データ受信部３８、通信データ処理部３９などの機能を実現するようになっている。制御部３６は、インバータ装置１との間において通信によりデータの送受信を行うとともに、ＰＬＣ７の動作全般を制御する。
【００２７】
データ送信部３７およびデータ受信部３８は、マイクロコンピュータのＩ／Ｏポートがそれぞれ次のように割り当てられることで実現されている。すなわち、データ送信部３７は、通信データ処理部３９から与えられる送信用データを送信用ディジタル信号に変換して出力するための出力ポートとして割り当てられている。データ送信部３７から出力される送信用ディジタル信号は、ドライバ８に与えられる。データ受信部３８は、レシーバ９から与えられる受信用ディジタル信号を受信用データに変換して入力するための入力ポートとして割り当てられている。データ受信部３８から出力される受信用データは、通信データ処理部３９に与えられる。
【００２８】
通信データ処理部３９は、制御部３６からデータの送信を指令するコマンドが与えられると、送信用データをデータ送信部３７に出力する。通信データ処理部３９は、データ受信部３８から受信用データが与えられると、その受信用データに応じた内容のコマンドを制御部３６に出力する。
【００２９】
次に、本実施形態の作用および効果について図２〜図５も参照して説明する。
ここでは、ＰＬＣ７からインバータ装置１に対し、インバータ装置１を制御するための制御データが送信された後、インバータ装置１からＰＬＣ７に対し、返信データが送信される、という状況におけるインバータ装置１側の動作を主体に説明する。図２は、上記状況におけるインバータ装置１の通信に関する動作の流れを表すフローチャートである。
【００３０】
まず、ＰＬＣ７の制御回路１０から制御データが出力されると、ドライバ８からその制御データを表す差動信号が出力される。なお、このとき、インバータ装置１は受信状態であり、ドライバ２は送信不可状態に設定されている。このようにして差動信号が出力されると、インバータ装置１の制御回路５には、通信線１５、１６およびレシーバ３などを通じて制御データを表す受信用ディジタル信号Ｓｄ３が与えられる（ステップＳ１）。そして、これを受けて、制御回路５において返信データが生成される（ステップＳ２）。
【００３１】
続いて、ドライバ２が送信可能状態に設定されるとともに、制御部１７が返信データである送信用データＤ１の送信を指令する（ステップＳ３）。ただし、送信用データＤ１の実際の送信は、待機部２２の機能によって、受信用データＤ３（制御データ）を受信した時点（第１時点に相当）から待ち時間Ｔｗの間だけ待機される（ステップＳ４）。なお、待ち時間Ｔｗの初期値はゼロ（＝待ち時間無し）に設定されている。待ち時間Ｔｗが経過すると（ステップＳ４で「ＹＥＳ」になると）、待機部２２から送信用データＤ１が出力される。これにより、データ送信部１８を通じてドライバ２から返信データを表す差動信号が出力される。また、この際、制御回路５は、レシーバ４などを介して観測用ディジタル信号Ｓｄ２を取得する（ステップＳ５）。その後、検出部２５において、送信用データＤ１およびそれに対応した観測用データＤ２が比較されることにより、コリジョンの発生が監視される（ステップＳ６）。
【００３２】
上記監視の結果、コリジョンの発生が検出されない場合（ステップＳ６で「ＮＯ」）、ステップＳ７に進む。ステップＳ７では、ドライバ２が送信不可状態に設定され（インバータ装置１が受信状態に設定され）、処理が終了する（ＥＮＤ）。一方、上記監視の結果、コリジョンの発生が検出された場合（ステップＳ６で「ＹＥＳ」）、ステップＳ８に進む。ステップＳ８では、時間設定制御の実行が許可されているか否かが判断される。
【００３３】
本実施形態では、インバータ装置１の起動後、最初にデータ送信が行われる際、つまり図２のフローチャートに示す制御が実行される際には必ず時間設定制御の実行が許可される。その後は、時間設定制御が実行された結果、待ち時間Ｔｗの更新がＮ回（Ｎは１以上の整数）無ければ、次からは時間設定制御の実行が禁止されるようになっている。また、Ｎの値は、インバータ装置１の仕様として固定値にしてもよいし、ユーザによる値の変更が可能なパラメータとして記憶部２３に記憶するようにしてもよい。また、待ち時間Ｔｗの更新回数の判定については、累積回数でもよいし、連続回数でもよい。
【００３４】
時間設定制御の実行が許可されている場合（ステップＳ８で「ＹＥＳ」）、時間設定制御が実行される（ステップＳ９）。図３は、時間設定制御の内容を表すフローチャートである。時間設定制御が開始されると、ステップＴ１において、カウンタ２８のカウント値cntがゼロに初期化される（cnt=0）。続くステップＴ２では、カウント値cntがインクリメントされる（cnt=cnt+1）。
【００３５】
そして、制御部１７は、さきほど送信した送信用データＤ１の先頭１バイト分のデータの送信を指令する（ステップＴ３）。この際、待機部２２においてデータの送信は待機されず、直ちにドライバ２から送信用データＤ１の先頭１バイト分のデータに対応した差動信号が出力される。また、この際、制御回路５は、レシーバ４などを介して観測用ディジタル信号Ｓｄ２を取得する。なお、ここで送信される送信用データＤ１の先頭１バイト分のデータは、例えば送信バッファに残されたものを利用すればよい。その後、検出部２５において、送信用データＤ１の先頭１バイト分のデータと、それに対応した１バイト分の観測用データＤ２とが比較されることにより、コリジョンの発生が監視される（ステップＴ４）。
【００３６】
上記監視の結果、コリジョンの発生が検出された場合（ステップＴ４で「ＹＥＳ」）、ステップＴ５に進む。ステップＴ５では、カウント値cntがしきい値ｎより大きいか否かが判断される。カウント値cntがしきい値ｎ以下である場合（ステップＴ５で「ＮＯ」）、ステップＴ２に戻り、ステップＴ２〜Ｔ４の処理が再度実行される。一方、コリジョンの発生が検出されない場合（ステップＴ４で「ＮＯ」）、あるいは、カウント値cntがしきい値ｎより大きい場合（ステップＴ５で「ＹＥＳ」）、ステップＴ６に進む。ステップＴ６では、ドライバ２が送信可能状態に設定された時点から現時点までの時間が待ち時間Ｔｗに設定され、処理が終了する（ＲＥＴＵＲＮ）。
【００３７】
時間設定制御が終了した場合、あるいは、時間設定制御の実行が禁止されている場合（ステップＳ８で「ＮＯ」）、ステップＳ１０に進む。ステップＳ１０では、リトライ制御の実行が許可されているか否かが判断される。リトライ制御の実行が禁止されている場合（ステップＳ１０で「ＮＯ」）、リトライ制御が実行されることなく、ステップＳ７に進む。一方、リトライ制御の実行が許可されている場合（ステップＳ１０で「ＹＥＳ」）、リトライ制御が実行される（ステップＳ１１）。リトライ制御においては、さきほど送信を試みた返信データである送信用データＤ１の送信が再度実行される。なお、ここで送信される送信用データＤ１は、例えば送信バッファに残されたものを利用すればよい。リトライ制御の実行後はステップＳ７に進み、その後処理が終了する（ＥＮＤ）。
【００３８】
図４は、上記処理により設定される待ち時間Ｔｗを表すタイミング図である。なお、図４では、ＰＬＣ７側のレシーバ／ドライバの切り替え、つまりドライバ８およびレシーバ９の状態切り替え時間が比較的長い場合を想定しており、このときに設定されている待ち時間Ｔｗ（例えば初期値であるゼロ）ではコリジョンが発生する、と仮定している。図４の時刻ｔ１の時点は、図２におけるステップＳ３の時点であり、ドライバ２が送信可能状態に設定される時点である。この時刻ｔ１の時点においては、インバータ装置１から返信データに相当する差動信号が出力されていないため、ＰＬＣ７側の状態にかかわらず、コリジョンは発生していない。そして、時刻ｔ２の時点は、図２におけるステップＳ４で「ＹＥＳ」となる時点であり、待機部２２から送信用データＤ１が出力される時点である。この時刻ｔ２の時点においても、未だ差動信号は出力されていないため、コリジョンは発生していない。
【００３９】
時刻ｔ３の時点は、図３におけるステップＳ５の時点であり、ドライバ２から差動信号の出力が開始される時点である。この時刻ｔ３の時点以降は、ＰＬＣ７側が送信状態である限りコリジョンが発生することになる。そして、時刻ｔ４の時点は、図３におけるステップＳ６で「ＹＥＳ」となる時点であり、最初にコリジョンが検出される時点（第２時点に相当）である。この時刻ｔ４の時点以降、時間設定制御が実行されることになる。その時間設定制御において、時刻ｔ５の時点までコリジョンが検出される。そして、時刻ｔ６の時点は、ＰＬＣ７においてレシーバ／ドライバの切り替えが完了し、ＰＬＣ７が受信状態となる時点である。従って、この時刻ｔ６の時点以降は、コリジョンが発生しない。そのため、時刻ｔ７の時点（第４時点に相当）では、コリジョンが検出されなくなる。
【００４０】
本実施形態の時間設定制御によれば、ドライバ２が送信可能状態に設定される時刻ｔ１の時点から、時間設定制御が開始された後に初めてコリジョンが検出されなくなる時刻ｔ７の時点までの期間が待ち時間Ｔｗとして設定される。一方、このときのコリジョン発生期間は、図４の時刻ｔ３〜時刻ｔ６までの期間となる。すなわち、設定される待ち時間Ｔｗは、このときのコリジョン発生期間に比べて確実に長い期間となる。このようにして設定された待ち時間Ｔｗが次回以降の通信において用いられることにより、コリジョンの発生を回避することが可能となる。
【００４１】
図５は、通信線１５、１６間の電圧波形、つまり差動信号の波形を示している。図５において、（ａ）はコリジョンが発生する通信異常状態を示し、（ｂ）はコリジョンが発生しない通信正常状態を示している。なお、ここでも、ＰＬＣ７からインバータ装置１に対して制御データが送信された後、インバータ装置１からＰＬＣ７に対して返信データが送信されるという状況を想定している。
【００４２】
従来技術では、待ち時間をユーザが設定するため、ＰＬＣ７側のレシーバ／ドライバの切り替え時間に対し、設定された待ち時間が十分長くない場合には、図５（ａ）に示すようにコリジョンが発生するおそれがある。図５（ａ）では、２度目の通信時、ＰＬＣ７側のレシーバ／ドライバの切り替えが完了する前に、インバータ装置１から返信データを表す差動信号が送信されてしまい、コリジョンが発生している。一方、本実施形態によれば、時間設定制御により自動的に最適な待ち時間が設定されるため、コリジョンの発生を防止できる。図５（ｂ）に示すように、時間設定制御により設定される待ち時間がＰＬＣ７側のレシーバ／ドライバの切り替え時間よりも十分に長いため、１度目の通信時および２度目の通信時のいずれにおいても返信データを表す差動信号が正常に送信されている。
【００４３】
以上説明したように、本実施形態のインバータ装置１は、ＰＬＣ７からのデータを受信した後、ＰＬＣ７に対して返信データを送信する際、上記データを受信した時点から待ち時間Ｔｗだけ待機した後、返信データを送信するようになっている。また、待ち時間Ｔｗは、データ送信時に時間設定制御が実行されることにより、その際にコリジョンが発生している期間よりも確実に長く、且つ、むやみに長くない時間に自動的に設定される。つまり、本実施形態のインバータ装置１は、ＰＬＣ７側のレシーバ／ドライバの切り替え時間に合わせて最適な待ち時間Ｔｗを設定する。そのため、ＰＬＣ７側のレシーバ／ドライバの切り替え時間に関係なく、インバータ装置１とＰＬＣ７との間で行われる半二重通信における通信データのコリジョンの発生を容易に且つ効果的に防止することができる。
【００４４】
通信において、遅延が生じる要因としては待ち時間Ｔｗの設定ミスだけでなく、他のパラメータ（例えば、ボーレート、通信対象とするインバータ装置を表す番号など）の設定ミス、通信経路の断線、通信経路において重畳する外乱ノイズの影響など、様々な要因が考えられる。このように数多く存在する要因の中から、通信遅延がコリジョンによるものであるか否かを正確に判断することは極めて困難である。本実施形態のインバータ装置１によれば、前述したように最適な待ち時間が自動的に設定されるので、仮に通信遅延が生じた場合には、待ち時間Ｔｗの設定以外の要因を調査すればよい。そのため、通信遅延の原因究明を比較的容易に行い得るようになるという効果も得られる。
【００４５】
コリジョン発生期間の長さは、同一のシステム構成であっても、毎回同じ長さであるとは限らない。本実施形態の時間設定制御においては、前回よりもコリジョン発生期間が長い場合には待ち時間Ｔｗが随時更新される。そのため、待ち時間Ｔｗは、その時点における最も長いコリジョン発生期間よりも確実に長い時間に設定されることになる。従って、時間設定制御が繰り返し実行されることにより、コリジョンの発生を防止するという効果を一層確実に得ることが可能な待ち時間Ｔｗが設定されることになる。
【００４６】
また、時間設定制御が実行された結果、待ち時間Ｔｗの更新がＮ回無ければ、次からは時間設定制御の実行が禁止されるようになっている。このような構成により、次のような効果が得られる。すなわち、時間設定制御が何度か実行されたにもかかわらず、待ち時間Ｔｗが更新されない場合、待ち時間Ｔｗは、想定される最も長いコリジョン発生期間よりも長い時間に既に設定されている可能性が高い。このような場合、時間設定制御を実行する必要性が低い。このような条件でもって時間設定制御の実行を禁止することで、例えば、コリジョン以外の通信異常（例えば通信経路における断線やノイズによる影響など）が生じたことにより、意図せず時間設定制御が実行されてしまう事態を未然に防止できる。
【００４７】
リトライ部２７は、コリジョン発生期間に送信が試みられた送信用データＤ１を再度送信するリトライ制御を実行可能に構成されている。このリトライ制御が実行されることにより、コリジョンの発生により破棄されるはずであったデータをＰＬＣ７に対し正常に送信することが可能となる。また、リトライ部２７によるリトライ制御の実行は、制御部１７から与えられる指令に応じて許可または禁止されるようになっている。インバータ装置１とＰＬＣ７との間にて送受信されるデータが、リアルタイム性が要求されるものである場合、リトライ制御により正常にデータ送信が行われたとしても、データ送信に遅延があるため、そのデータが意味をなさない可能性が高い。そして、再送信されるデータは、リトライ制御が繰り返されるほど意味をなさないことになる。このような場合、リトライ制御の実行を完全に禁止したり、あるいは、リトライ制御の実行回数を制限したりするとよい。これにより、コリジョンが発生している期間は正常にデータが送信されない可能性が高くなるが、コリジョンの発生が解消されれば、直ちにデータがリアルタイムで送信されることになる。
【００４８】
待ち時間設定部２６が備えるカウンタ２８は、時間設定制御の実行中、検出部２５によるコリジョンの検出動作（ステップＴ４）の実行回数をカウントするためのものである。そして、待ち時間設定部２６は、カウント値cntが所定のしきい値ｎを超えると（ステップＴ５での「ＹＥＳ」）、ドライバ２を送信状態に設定した時点からカウント値cntがしきい値ｎを超えた時点（第５時点に相当）までの時間を待ち時間Ｔｗに設定して時間設定制御を強制的に終了する。このようにすれば、コリジョン以外の通信異常（通信経路における断線やノイズによる影響）が原因で正常に通信できない状態が継続するような事態が生じている場合に、時間設定制御において無限ループに陥ることを回避することができる。なお、しきい値ｎは、想定される最も長いコリジョン発生期間に合わせて設定すればよい。
【００４９】
（第２の実施形態）
以下、本発明の第２の実施形態について図６および図７を参照しながら、第１の実施形態と異なる部分を主体に説明する。
図６は、第１の実施形態における図１相当図であり、本実施形態の構成を示すブロック図である。本実施形態のインバータ装置４１は、第１の実施形態のインバータ装置１に対し、制御回路５に代えて制御回路４２（制御手段に相当）を備えている点が異なっている。制御回路４２は、基本的な構成については制御回路５と同様であるが、観測用データ受信部２０に代えて受信信号切替部４３（ポート設定切替手段に相当）を備えている点が異なっている。
【００５０】
受信信号切替部４３は、レシーバ３から与えられる受信用ディジタル信号Ｓｄ３およびレシーバ４から与えられる観測用ディジタル信号Ｓｄ２を同一のＩ／Ｏポート（入力ポート）を通じて受信するために設けられたものである。具体的には、受信信号切替部４３は、インバータ装置４１が受信状態に設定される場合には受信用ディジタル信号Ｓｄ３をデータ受信部１９に与え、インバータ装置４１が送信状態に設定される場合には観測用ディジタル信号Ｓｄ２をデータ受信部１９に与える。このように、本実施形態のデータ受信部１９は、ＰＬＣ７からのデータを受信する際に受信用ディジタル信号Ｓｄ３を受信用データＤ３に変換して入力するための入力ポートとして割り当てられ、ＰＬＣ７に対しデータを送信する際に観測用ディジタル信号Ｓｄ２を観測用データＤ２に変換して入力するための入力ポートとして割り当てられる。データ受信部１９から出力される受信用データＤ３は、通信データ処理部２１に与えられる。また、データ受信部１９から出力される観測用データＤ２は、記憶部２３に順次記憶される。
【００５１】
次に、本実施形態の作用および効果について図７も参照して説明する。
図７は、第１の実施形態における図２相当図であり、インバータ装置４１の通信に関する動作の流れを表すフローチャートである。図２に示すフローチャートは、図１に示すフローチャートに対し、ステップＳ２、Ｓ３間にステップＵ１が追加されている点と、ステップＳ６、Ｓ７間にステップＵ２が追加されている点とが異なっている。
【００５２】
図７のフローチャートが実行される際、受信信号切替部４３は、受信用ディジタル信号Ｓｄ３をデータ受信部１９に与えられる状態となっている。そして、ステップＳ２が実行された後、受信信号切替部４３は、観測用ディジタル信号Ｓｄ２をデータ受信部１９に与える状態に切り替えられる（ステップＵ１）。なお、ステップＳ３が実行された後にステップＵ１が実行されるように変更してもよい。また、ステップＳ６で「ＮＯ」となった後、ステップＳ１０で「ＮＯ」となった後、または、ステップＳ１１が実行された後、ステップＵ２が実行される。ステップＵ２において、受信信号切替部４３は、受信用ディジタル信号Ｓｄ３をデータ受信部１９に与える状態に切り替えられる。なお、ステップＳ７が実行された後にステップＵ２が実行されるように変更してもよい。
【００５３】
以上説明したように、本実施形態のインバータ装置４１は、マイクロコンピュータを主体として構成された制御回路４２を備えている。そして、レシーバ３から出力される受信用ディジタル信号Ｓｄ３と、レシーバ４から出力される観測用ディジタル信号Ｓｄ２とを、データ受信部１９を通じて受信するように構成されている。このような構成によれば、第１の実施形態と同様の作用および効果が得られる。さらに、観測用ディジタル信号Ｓｄ２および受信用ディジタル信号Ｓｄ３を同一のＩ／Ｏポートを通じて受信可能となるため、制御回路４２を構成するマイクロコンピュータにおいて使用される通信リソースが削減されるという効果が得られる。
【００５４】
（第３の実施形態）
以下、本発明の第３の実施形態について図８を参照しながら、第１の実施形態と異なる部分を主体に説明する。
図８は、第１の実施形態における図１相当図であり、本実施形態の構成を示すブロック図である。本実施形態のインバータ装置５１は、第１の実施形態のインバータ装置１に対し、制御回路５に代えて制御回路５２（制御手段に相当）を備えている点と、ドライバ２およびレシーバ３に代えてドライバ５３（送信信号変換手段に相当）およびレシーバ５４（受信信号変換手段および観測信号変換手段に相当）を備えている点と、レシーバ４が省かれている点とが異なっている。制御回路５２は、基本的な構成については制御回路５と同様であるが、データ受信部１９に代えてデータ受信部５５を備えている点と、観測用データ受信部２０が省かれている点とが異なっている。
【００５５】
本実施形態のドライバ５３およびレシーバ５４は、一体的に構成された１チップのトランシーバ５６であり、ドライバ５３側で通信線１５、１６をドライブしながらレシーバ５４側で通信線１５、１６から差動信号を取得することが可能となっている。そのため、レシーバ５４は、インバータ装置５１が受信状態に設定される場合には受信用ディジタル信号Ｓｄ３をデータ受信部５５に与え、インバータ装置５１が送信状態に設定される場合には観測用ディジタル信号Ｓｄ２をデータ受信部５５に与えることができる。
【００５６】
データ受信部５５は、受信用ディジタル信号Ｓｄ３および観測用ディジタル信号Ｓｄ２を受信用データＤ３および観測用データＤ２に変換して入力するための入力ポートとして割り当てられている。データ受信部５５は、インバータ装置５１が受信状態に設定されている状態で与えられるディジタル信号（受信用ディジタル信号Ｓｄ３）を受信用データＤ３に変換して通信データ処理部２１に出力する。また、データ受信部５５は、インバータ装置５１が送信状態に設定されている状態で与えられるディジタル信号（観測用ディジタル信号Ｓｄ２）を観測用データＤ２に変換して記憶部２３に順次記憶する。本実施形態では、このような構成により、レシーバ５４から与えられる受信用ディジタル信号Ｓｄ３および観測用ディジタル信号Ｓｄ２を同一のＩ／Ｏポート（入力ポート）を通じて受信することを可能としている。
【００５７】
以上説明したように、本実施形態のインバータ装置５１は、マイクロコンピュータを主体として構成された制御回路５２およびトランシーバ５６を備えている。トランシーバ５６は、ドライバ５３側で通信線１５、１６をドライブしながらレシーバ５４側で差動信号を取得することが可能となっている。そして、レシーバ５４から出力される受信用ディジタル信号Ｓｄ３および観測用ディジタル信号Ｓｄ２は、データ受信部５５を通じて受信される。このような構成によれば、第１の実施形態と同様の作用および効果が得られる上、次のような効果が得られる。すなわち、本実施形態によれば、レシーバ４を省いた分だけ回路構成が簡素化されるという効果が得られる。また、本実施形態によれば、観測用ディジタル信号Ｓｄ２および受信用ディジタル信号Ｓｄ３を同一のＩ／Ｏポートを通じて受信可能となるため、制御回路５２を構成するマイクロコンピュータにおいて使用される通信リソースが削減されるという効果が得られる。
【００５８】
（その他の実施形態）
以上、本発明のいくつかの実施形態を説明したが、これら実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。
必ずしも送信用データＤ１および観測用データＤ２を記憶部２３に記憶させるような構成とする必要はなく、検出部２５において、送信用データＤ１と、その送信用データＤ１に対応した観測用データＤ２との比較ができる構成であればよい。
【００５９】
待ち時間設定部２６による時間設定制御の実行を常に許可してもよい。つまり、図２および図７におけるステップＳ８による判断を省いてもよい。リトライ部２７によるリトライ制御の実行を常に許可してもよい。つまり、図２および図７におけるステップＳ１０による判断を省いてもよい。また、リトライ部２７によるリトライ制御の実行を常に禁止してもよい。つまり、リトライ部２７としての機能自体（図２および図７におけるステップＳ１０、Ｓ１１）を省いてもよい。
【００６０】
インバータ装置１の起動後、データが所定回（少なくとも１回）送信されるまで時間設定制御の実行を許可し、その後に禁止するようにしてもよい。すなわち、インバータ装置１の起動後、待ち時間設定制御がＭ回（Ｍは１以上の整数）実行されると、時間設定制御の実行が禁止されるようにしてもよい。なお、Ｍの値は、インバータ装置１の仕様として固定値にしてもよいし、ユーザによる値の変更が可能なパラメータとして記憶部２３に記憶するようにしてもよい。また、装置の起動直後は、ＣＰＵの動作負荷が軽くなる傾向があるため、通信においてコリジョンが発生し難い。そこで、インバータ装置１の起動後、実際にインバータ主回路６の駆動制御が開始されてから（インバータを実動作させてから）所定回数は時間設定制御の実行が許可され、その後に禁止するようにしてもよい。また、ステップＳ６で「ＮＯ」となる（コリジョンが検出されない）ケースが所定回数続いた場合には、待ち時間Ｔｗが既に最適値である可能性が高いため、時間設定制御の実行が禁止されるようにしてもよい。
【００６１】
待ち時間Ｔｗの初期値は適宜変更可能である。
待ち時間Ｔｗは、受信用データＤ３を受信した後であり且つコリジョンの発生が検出される時点より前の時点（第３時点に相当）から、時間設定制御が開始された後に初めてコリジョンが検出されなくなる時点（図４の時刻ｔ７の時点）までの時間に設定されればよい。例えば、待機部２２から送信用データＤ１が出力される時点（図４の時刻ｔ２の時点）から時間設定制御が開始された後に初めてコリジョンが検出されなくなる時点までの期間を待ち時間Ｔｗとして設定してもよい。
【００６２】
送信用データＤ１の送信単位は、例えば１ワード、１ブロックなど、他のデータ単位であってもよい。また、送信用データＤ１の送信単位を変更した場合には、送信用データＤ１および観測用データＤ２の比較についても、その変更に合わせてデータ単位を変更すればよい。図３におけるステップＴ３では、送信用データＤ１の先頭１バイト分のデータの送信を指令するようになっていたが、例えば１ワードや１ブロックなど、他のデータ単位であってもよい。
【００６３】
上記各実施形態では、１台のＰＬＣと１台のインバータ装置との間の通信動作について本発明を適用した例を説明したが、本発明は１台のＰＬＣと複数のインバータ装置との間の通信動作についても適用可能である。
これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６４】
図面中、１、４１、５１はインバータ装置、２、５３はドライバ（送信信号変換手段）、３はレシーバ（受信信号変換手段）、４はレシーバ（観測信号変換手段）、５、４２、５２は制御回路（制御手段、マイクロコンピュータ）、６はインバータ主回路、７はＰＬＣ（外部機器）、１５、１６は通信線、１７は制御部（時間設定制御可否手段、リトライ制御可否手段）、２２は待機部（待機手段）、２５は検出部（検出手段）、２６は待ち時間設定部（待ち時間設定手段）、２７はリトライ部（リトライ手段）、２８はカウンタ、４３は受信信号切替手段（ポート設定切替手段）、５４はレシーバ（受信信号変換手段、観測信号変換手段）、５６はトランシーバを示す。
【図１】
0005654418.tif 000002
【図２】
0005654418.tif 000003
【図３】
0005654418.tif 000004
【図４】
0005654418.tif 000005
【図５】
0005654418.tif 000006
【図６】
0005654418.tif 000007
【図７】
0005654418.tif 000008
【図８】
0005654418.tif 000009