"電動機の可動子の位置または速度を検出する検出器による検出データを、前記検出器との間のシリアル通信により取得し、前記検出データを用いて前記電動機を駆動する駆動装置において、複数の前記検出器がそれぞれ有する複数種類の通信プロトコルに従って前記検出データを送受信可能な複数の通信部と、これらの通信部を介して受信した前記検出データを処理する複数の検出プログラムと、を備えたことを特徴とする電動機の駆動装置。請求項1に記載した電動機の駆動装置において、前記駆動装置は、シリアル通信により、複数種類の通信プロトコルに従って複数の前記検出器に順次送信したデータ要求コマンドに対する前記検出器からの応答データを受信し、正しい応答データが返信されたことをもって当該駆動装置に接続されている前記検出器の通信プロトコルを自動的に選択する自動選択プログラムを実行し、選択された通信プロトコルに従って当該検出器とシリアル通信を行うことを特徴とする電動機の駆動装置。請求項2に記載した電動機の駆動装置において、前記自動選択プログラムを、前記検出器を接続した際に所定回数実行することを特徴とする電動機の駆動装置。請求項2に記載した電動機の駆動装置において、前記自動選択プログラムの実行の要否を、選択可能としたことを特徴とする電動機の駆動装置。請求項2~4のいずれか1項に記載した電動機の駆動装置において、前記検出プログラムが、低速の不揮発メモリに格納されており、選択された通信プロトコルに対応する前記検出プログラムを前記不揮発性メモリから高速メモリに転送して実行することを特徴とする電動機の駆動装置。図6に示した従来技術では、通常、駆動装置3に電解コンデンサ等の寿命部品が搭載されており、これらの部品を含む駆動装置3を所定期間経過後に交換する必要がある。その際、ユーザは、エンコーダ2の通信プロトコルに適合した駆動装置を選定しなければならず、これを誤ると電動機1を駆動できないばかりか、エンコーダ2や駆動装置内の通信回路の故障等を招く恐れがあった。また、特許文献1に記載されているように、エンコーダの内部に複数の通信フォーマットを備えてこれを切り替える場合、電動機エンコーダは基本的にエンドユーザによる設定変更を想定していないため、ユーザインターフェイスがなく、通信フォーマットの切り替え等に当たっては電動機の分解エンコーダカバーの取り外し等を伴うことが多い。また、電動機等は機械装置に複雑に組み込まれていることも多く、電動機を分解する場合には、まず電動機自体を機械装置から取り外さなくてはならず、煩雑で困難な作業が必要になる。一方、特許文献2に記載された従来技術によれば、複数の通信フォーマットを外部メモリに内蔵しているので、特許文献1のような問題は一応、解消可能である。しかし、これらの通信フォーマットは、通常、エンコーダメーカごとに異なっている場合が多いため、ユーザ側ではエンコーダの種類によって使用できる駆動装置が限られてしまい、駆動装置の選択肢が少なくなるという問題がある。特に、ユーザにとっては、分解能や応答などの機能、性能、コスト面を考慮して特定の通信フォーマットのエンコーダを使用したい場合があり、特許文献2の従来技術ではこのような要請に十分応えることができない。そこで、本発明の解決課題は、駆動装置側に複数種類の通信プロトコルを備え、接続されたエンコーダ等の検出器に応じて通信プロトコルを自動的に選択可能とすることにより、使用可能なエンコーダの選択肢を増やすことができる電動機の駆動装置を提供することにある。上記課題を解決するため、請求項1に係る発明は、電動機の可動子の位置または速度を検出する検出器による検出データを、前記検出器との間のシリアル通信により取得し、前記検出データを用いて前記電動機を駆動する駆動装置において、複数の前記検出器がそれぞれ有する複数種類の通信プロトコルに従って前記検出データを送受信可能な複数の通信部と、これらの通信部を介して受信した前記検出データを処理する複数の検出プログラムと、を備えたものである。請求項2に係る発明は、請求項1に記載した電動機の駆動装置において、前記駆動装置は、シリアル通信により、複数種類の通信プロトコルに従って複数の前記検出器に順次送信したデータ要求コマンドに対する前記検出器からの応答データを受信し、正しい応答データが返信されたことをもって当該駆動装置に接続されている前記検出器の通信プロトコルを自動的に選択する自動選択プログラムを実行し、選択された通信プロトコルに従って当該検出器とシリアル通信を行うものである。請求項3に係る発明は、請求項2に記載した電動機の駆動装置において、前記自動選択プログラムを、前記検出器を接続した際に所定回数実行するものである。請求項4に係る発明は、請求項2に記載した電動機の駆動装置において、前記自動選択プログラムの実行の要否を、選択可能としたものである。請求項5に係る発明は、請求項2~4のいずれか1項に記載した電動機の駆動装置において、前記検出プログラムが低速の不揮発メモリに格納されており、選択された通信プロトコルに対応する前記検出プログラムを前記不揮発性メモリから高速メモリに転送して実行するものである。請求項1に係る発明によれば、駆動装置が、検出器の複数の通信プロトコルに対応した通信部及び検出プログラムを備えることにより、ユーザやメーカが保守用に持つ駆動装置の在庫を、必要最小限に減らすことができる。また、請求項2に係る発明によれば、駆動装置が自動的に通信プロトコルを選択することにより、誤接続がなくなり、ユーザは検出器の通信プロトコルを意識することなく駆動装置に電動機を接続して駆動することができる。また、駆動装置と検出器との間で通信プロトコルの齟齬がないため、通信回路の部品劣化を招く恐れもない。請求項3に係る発明によれば、ユーザが最初に駆動装置と検出器電動機とを接続した際に通信プロトコルを自動的に選択することができる。このため、電動機が組み込まれた機械が実際に運用状態に入って駆動されるときの通信プロトコルの切り替え操作を不要とし、電源投入から電動機が動作可能になるまでの時間を短縮することができる。請求項4に係る発明によれば、通信プロトコルの自動選択プログラムの実行の可否を選択可能にすることにより、ユーザは、電動機を交換する必要が生じたときに、検出器の通信プロトコルを意識することなく電動機の交換が可能となる。請求項5に係る発明によれば、接続された検出器の通信プロトコルに対応する部分だけを低速の不揮発性メモリから高速のプログラム実行用メモリに転送して実行するので、プログラム実行用メモリとして小容量のものを使用することができ、コストの低下が可能になる。以下、図に沿って本発明の実施形態を説明する。図1は、本発明の第1実施形態におけるエンコーダ通信処理部33Xの構成を示しており、図6,図7と同一の構成要素には同一の符号を付してある。この第1実施形態は、請求項1,2に係る発明に相当する。図1のエンコーダ通信処理部33Xは、図6におけるエンコーダ通信処理部33と同様に駆動装置の内部に設けられるが、図1では、駆動装置全体や電動機の図示を省略してある。図1において、図7との主な相違点は、ASIC333X及びCPU334Xにおける処理である。ここでは、電動機の駆動装置が、通信プロトコルが異なる3種類のエンコーダ2a,2b,2cに対応する場合の例を示す。以下では、これら3種類のエンコーダを、エンコーダA,B,Cと呼ぶものとする。なお、3種類のエンコーダA,B,Cのシリアル通信規格は、何れもRS485またはRS422に準拠しており、通信用トランシーバ332やエンコーダケーブル4には共通のものを使用可能であるが、通信プロトコル通信のフォーマットや同期方法、通信符号などがそれぞれ異なっている。図1のASIC333X内の通信回路3331Xには、エンコーダ用通信部3331a、エンコーダB用通信部3331b、エンコーダC用通信部3331cと、これらの通信部と通信用トランシーバ332との間で送受信される信号を切り替えるための切替スイッチ手段3332が内蔵されている。なお、切替スイッチ手段3332は、後述する自動選択プログラム3343により切り替え可能となっている。ここで、各通信部3331a,3331b,3331cは、各通信プロトコルのシリアル信号とパラレルデータとを変換する回路である。一方、CPU334Xは、エンコーダA用の位置速度検出プログラム3342a、エンコーダB用の位置速度検出プログラム3342b、エンコーダC用の位置速度検出プログラム3342cに加え、これらのプログラムとASIC333X内の各通信部3331a,3331b,3331cとのデータ送受信をオン/オフするスイッチ手段3341a,3341b,3341cと、これらのスイッチ手段3341a,3341b,3341c及び前記切替スイッチ手段3332を操作し、エンコーダ通信処理部33Xに接続されたエンコーダAまたはBまたはCに合わせて通信プロトコルを切り替えるための自動選択プログラム3343と、を備えている。なお、上記各プログラム及びスイッチ手段は、主としてソフトウェアにより実現されるものである。ここで、位置速度検出プログラムとは、ASIC333Xから受け取った信号からデータを抽出し、bitを並び替えるなどして電動機の可動子の位置データに変換し、速度データを演算するプログラムである。また、スイッチ手段3341a,3341b,3341cによりデータ送受信をオフした場合には、各エンコーダ用の位置速度検出プログラム3342a,3342b,3342cの動作も停止するようになっている。自動選択プログラム3343は、ASIC333X内の各通信部3331a,3331b,3331cにデータ要求コマンドの送信を順次指令し、エンコーダから受信した応答データに基づき、駆動装置に接続されたエンコーダの通信プロトコルを判断する。次に、図2のフローチャートを用いて、自動選択プログラム3343の処理を説明する。自動選択プログラム3343は、駆動装置に電源が投入された直後に動作する。エンコーダは、その電源が供給されてからシリアル通信を開始するまでに所定の時間を要するため、まず、エンコーダの起動を待つ図6のステップS01。ここでは、エンコーダA,B,Cの中で起動に最も時間がかかるエンコーダの起動時間以上、待つものとする。上述した所定の待機時間を経過したら、エンコーダA用のデータ要求コマンドをエンコーダAの通信プロトコルに従って送信する指令を発生する。ASIC333X内のエンコーダA用通信部3331aは、上記送信指令を受け、駆動装置に接続されているエンコーダに対してデータ要求コマンドをシリアルデータとして送信するステップS02。このとき、切替スイッチ手段3332は通信部3331aと通信用トランシーバ332とを接続するように機能している。上記データ要求コマンドに対して、エンコーダは応答データを返信し、自動選択プログラム3343は、上記応答データをA用通信部3331aから読み出して正常に受信したか否かを判断するステップS03。仮に、エンコーダから受信した応答データがエンコーダAの通信プロトコルに従っていて正常でありステップS03Yes、それが所定回数n回,nは複数繰り返されたこと、すなわち、受信した正常な応答データがn回一致した場合ステップS04Yes、駆動装置に接続されているエンコーダとしてエンコーダAを選択同定するステップS11。また、エンコーダから応答データが返信されない場合、または通信異常となる場合には、正常受信できないと判断するステップS03No。次いで、エンコーダBのデータ要求コマンドをエンコーダBの通信プロトコルに従って送信する指令を発生し、そのデータ要求コマンドを送信するステップS05。なお、上記の通信異常は、規定のデータ長であることのチェック、断線チェック、更にはCRC巡回冗長検査やパリティなどのチェックを行い、これらのうちの何れかが異常である場合とする。次に、エンコーダから応答データの返信があり、かつ、その応答データがエンコーダBの通信プロトコルに従っていて正常でありステップS06Yes、正常な応答データがn回一致した場合ステップS07Yesには、駆動装置に接続されているエンコーダとしてエンコーダBを選択するステップS12。同様に、駆動装置に接続されているエンコーダがエンコーダAでもエンコーダBでもない場合には、エンコーダCの通信プロトコルについて前記同様の処理ステップS08~S10,S13を実行するが、エンコーダからの応答データを正常受信できないと判断した場合ステップS09Noには、エンコーダ通信異常としてアラームを出力するステップS14。この場合、ユーザは、駆動装置に接続されているエンコーダの通信プロトコルがA,B,C以外のものであるため、エンコーダ電動機の交換が必要であることを認識する。この実施形態では、エンコーダA,B,Cの通信プロトコルの順番で、データ要求コマンドを送信し、その応答データの正常、異常を判断している。この順番は、そのデータ要求コマンドのデータ送信時間によって、エンコーダが誤って応答データを返信した場合に、要求コマンドデータと、応答データが衝突しないように決定している。例えば、エンコーダAのデータ要求コマンドのデータ送信時間よりもエンコーダBのデータ要求コマンドの送信時間が長い場合、エンコーダAが接続されている場合に、エンコーダBのデータ要求コマンドを先に送信すると、駆動装置がデータ送信中に、エンコーダAが応答データを返信する可能性があり、要求コマンドデータと応答データとが衝突して通信用トランシーバ332の劣化を招く恐れがある。このため、データ要求コマンドのデータ送信時間が短いエンコーダから、すなわちエンコーダA→B→Cの順で、図2の処理を周期的に繰り返し行う。次に、図3は本発明の第2実施形態におけるエンコーダ通信処理部33Yの構成図である。この第2実施形態は、請求項3,4に係る発明に相当している。図3と図1との相違点は、駆動装置内の不揮発性メモリであるEEPROM335内に、通信選択パラメータ3351を設けると共に、CPU334Yに、通信選択パラメータ3351に応じて、前記自動選択プログラム3343の実行またはスイッチ手段3341a~3341c,3332の操作を行う通信選択プログラム3344を実装した点にある。ここで、通信選択プログラム3344には、前記自動選択プログラム3343が含まれるものとする。図4は、第2実施形態における通信選択プログラム3344の処理を示すフローチャートである。ここでは、通信選択パラメータ3351として自動選択自動選択プログラム3343の実行,エンコーダA用通信プロトコル,エンコーダB用通信プロトコル,エンコーダC用通信プロトコルの4つのパラメータを有し、通信選択プログラム3344はこれら4つのパラメータのうちの何れかに従って処理を行う。まず、工場出荷時の状態では、通信選択パラメータ3351として自動選択が選ばれているものとする。このため、ユーザが購入した駆動装置に電動機及びエンコーダを接続して最初に電源を投入した場合、図4の最初のステップSA1ではYes側に分岐する。このため、通信選択プログラム3344により、先に説明した自動選択プログラム3343が実行されるステップSA2。自動選択プログラム3343を実行した後、前述した通信異常図2のステップS14と判断された場合図4のステップSA4Yes、通信選択パラメータ3351を自動選択のままにすることにより、次回の電源投入時にも再び自動選択プログラム3343が実行されることとなる。この自動選択プログラム3343の実行回数は、任意に設定可能となっている。一方、自動選択プログラム3343を実行した後に通信異常と判断されない場合図4のステップSA4Noには、自動選択プログラム3343の実行結果、すなわち、エンコーダA,B,Cの何れかの通信プロトコルを通信選択パラメータ3351にセットするステップSA5。従って、それ以後、通信選択パラメータ3351には、駆動装置に接続されたエンコーダの通信プロトコルが選択されることになり、次の制御周期において図4のステップSA1ではNo側に分岐し、通信選択プログラム3344は通信選択パラメータ3351を読み出して通信プロトコルを選択するステップSA3。以後は、その通信プロトコルに該当するエンコーダAまたはBまたはCに応じてスイッチ手段3341a~3341c,3332を操作し、当該エンコーダとの間で通信を行う。仮に、駆動装置に接続された電動機をエンコーダと共に交換する場合、ユーザは通信選択パラメータ335において自動選択を選択し、改めて通信プロトコルの自動選択動作を行えばよい。次いで、図5は本発明の第3実施形態におけるエンコーダ通信処理部33Zの構成図である。この第3実施形態は、請求項5に係る発明に相当している。図5と図1,図3との大きな相違点は、エンコーダA用位置速度検出プログラム3342a、エンコーダB用位置速度検出プログラム3342b、エンコーダC用位置速度検出プログラム3342cを、CPU334Zの外部に設けられた低速の不揮発メモリとしてのフラッシュROM336に格納した点、及び、これらの位置速度検出プログラムのうちのいずれかを切替スイッチ手段337により選択してCPU334Z内のRAMに転送し、位置速度検出プログラム3342として切替スイッチ手段3341を介し各通信部3331a~3331cの何れかの動作を有効にした点にある。ここで、位置速度検出プログラム3342の転送先であるCPU334Z内のRAMは、高速のプログラム実行用メモリとして機能している。図5に示すように、駆動装置エンコーダ通信処理部33ZにエンコーダAが接続されている場合、自動選択プログラムの実行により、通信選択パラメータ3351ではエンコーダA用通信プロトコルが選択される。従って、通信選択プログラム3344は、通信選択パラメータ3351を参照した結果、フラッシュROM336内のエンコーダA用位置速度検出プログラム3342aを読み出すように切替スイッチ手段337を制御し、この位置速度検出プログラム3342aがCPUの内蔵RAMに転送されて位置速度検出プログラム3342として動作することとなる。同時に、通信選択プログラム3344により切替スイッチ手段3341を制御し、位置速度検出プログラム3342、つまりエンコーダA用位置速度検出プログラム3342aを実行してエンコーダA用通信部3331aの送受信データを処理するものである。このとき、切替スイッチ手段3332は、通信選択プログラム3344により通信部3331a側に接続される。以上のように各実施形態によれば、駆動装置が、エンコーダの複数の通信プロトコルに対応した通信部及び検出プログラムを備えることにより、ユーザは通信プロトコルごとに駆動装置を用意する必要がなく、駆動装置の管理やコスト上の負担を軽減可能であると共に、エンコーダを接続するだけで適切な通信プロトコルを自動的に確立することができ、通信プロトコルの不一致に起因する回路部品の故障等を防ぐことができる。"