(57)【特許請求の範囲】
【請求項１】
機械に備わったモータを駆動するモータ駆動用アンプとそのモータ駆動用アンプと通信で接続された数値制御装置とから構成される数値制御システムであって、
前記数値制御装置は、
移動指令を出力する数値制御用プロセッサと、
前記数値制御用プロセッサからの移動指令に基づいて前記モータを駆動する指令を出力するモータ制御用プロセッサと、
前記モータ制御用プロセッサからの指令に基づいて前記モータを駆動する前記モータ駆動用アンプの通信インタフェースと、
前記数値制御用プロセッサと前記モータ制御用プロセッサと接続するアンプインタフェース部とを備え、
前記モータ制御用プロセッサは、マルチコアプロセッサであることを特徴とする数値制御装置システム。
【請求項２】
前記数値制御用プロセッサを前記マルチコアプロセッサのコアに割り当てることを特徴とする請求項１に記載の数値制御装置システム。
【請求項３】
前記数値制御装置は、さらに、前記機械へのＤＩ／ＤＯ信号を制御しまた前記数値制御部とデータのやり取りを行うプログラマブル・マシン・コントローラ用プロセッサを有し、
そのプログラマブル・マシン・コントローラ用プロセッサを前記マルチコアプロセッサのコアに割り当てたことを特徴とする請求項１または２のいずれか一つに記載の数値制御装置システム。
【請求項４】
前記モータ制御用プロセッサであるマルチコアプロセッサの各コアに、制御する軸を割り当てたことを特徴とする請求項１乃至３のいずれか一つに記載の数値制御装置システム。
【請求項５】
前記モータ制御用プロセッサは、前記数値制御装置システムの制御軸数と１つのコアプロセッサが処理可能な軸数によって決まる最小の数量のコアプロセッサを有することを特徴とする請求項１乃至４のいずれか一つに記載の数値制御装置システム。
【請求項６】
前記マルチコアプロセッサと前記アンプインタフェース部との接続がシリアル通信であることを特徴とする請求項１乃至５にいずれか一つに記載の数値制御装置システム。
【請求項７】
前記シリアル通信がPCIExpress、HyperTransport、RapidIOのいずれか一つであることを特徴とする請求項６に記載の数値制御装置システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械に備わったモータを駆動するモータ駆動用アンプと通信で接続され、モータを制御するモータ制御部が数値制御装置内に実装される該数値制御装置を有する数値制御システムに関する。
【背景技術】
【０００２】
数値制御装置の装置内では、例えば、特許文献１に示されているように、数値制御部、モータ制御部、ＰＭＣ（プログラマブル・マシン・コントローラ）部などの機能がバスで接続されている。図６は、従来技術を用いた数値制御装置の概略構成を示す図である。モータ制御部で用いられるモータ制御用プロセッサは、一般的に低価格なＤＳＰ（ディジタル・シグナル・プロセッサ）が使われることが多い。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−６９００４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
モータ駆動用アンプの接続が通信で行われ、モータ制御用プロセッサが数値制御装置内に集約して実装される構成においては、モータ制御用プロセッサ１個あたりの制御軸数の上限から、数値制御装置内の制御軸数が増加するにつれて実装されるモータ制御用プロセッサの個数も増やしていく必要がある。なぜなら、数値制御装置はその制御する工作機械によって軸数が大きく変わるからである。
【０００５】
モータ制御部に低価格なＤＳＰをモータ制御用プロセッサとして用いると、制御軸数に合わせてプロセッサの数を調整しやすいとうい点では好都合であるが、低価格なＤＳＰは汎用的なパラレルバスを介して外部リソースに接続するのが一般的であり、そのためローカルバスに直接接続することができないためバスブリッジが必要である。そのため、接続ピン数が多くなり、低価格なＤＳＰの増加に伴ってバスブリッジのＬＳＩの数も増やさなければならず、実装できるＤＳＰの個数にも限界がある。また、制御軸数の増加をＤＳＰの個数で調整するため小型で低消費電力のＤＳＰを選択しなければならない問題がある。
【０００６】
上述したように、低価格なＤＳＰをモータ制御用プロセッサとして用いてそのモータ制御用プロセッサ、つまり低価格なＤＳＰ、を用いる数を増加して、数値制御装置のスケーラビリティを高める方法は、最近の工作機械における多軸化や高機能化への対応が困難になってきている。実装できるプロセッサの数に限界があるし、昨今の半導体技術では動作周波数を上げるのが非常に難しくなっており、プロセッサ１個あたりの制御軸数を増加させるのも困難である。
【０００７】
そこで、本発明の目的は、マルチコアプロセッサの技術を利用して、コストを抑えつつ多軸化や高機能化が可能な機械を制御する数値制御装置システムを提供することである。
【課題を解決するための手段】
【０００８】
本願の請求項１に係る発明は、機械に備わったモータを駆動するモータ駆動用アンプとそのモータ駆動用アンプと通信で接続された数値制御装置とから構成される数値制御システムであって、前記数値制御装置は、移動指令を出力する数値制御用プロセッサと、前記数値制御用プロセッサからの移動指令に基づいて前記モータを駆動する指令を出力するモータ制御用プロセッサと、前記モータ制御用プロセッサからの指令に基づいて前記モータを駆動する前記モータ駆動用アンプの通信インタフェースと、前記数値制御用プロセッサと前記モータ制御用プロセッサと接続するアンプインタフェース部とを備え、前記モータ制御用プロセッサは、マルチコアプロセッサであることを特徴とする数値制御装置システムである。  
請求項２に係る発明は、前記数値制御用プロセッサを前記マルチコアプロセッサのコアに割り当てることを特徴とする請求項１に記載の数値制御装置システムである。  
請求項３に係る発明は、前記数値制御装置は、さらに、前記機械へのＤＩ／ＤＯ信号を制御しまた前記数値制御部とデータのやり取りを行うプログラマブル・マシン・コントローラ用プロセッサを有し、そのプログラマブル・マシン・コントローラ用プロセッサを前記マルチコアプロセッサのコアに割り当てたことを特徴とする請求項１または２のいずれか一つに記載の数値制御装置システムである。
【０００９】
請求項４に係る発明は、前記モータ制御用プロセッサであるマルチコアプロセッサの各コアに、制御する軸を割り当てたことを特徴とする請求項１乃至３のいずれか一つに記載の数値制御装置システムである。  
請求項５に係る発明は、前記モータ制御用プロセッサは、前記数値制御装置システムの制御軸数と１つのコアプロセッサが処理可能な軸数によって決まる最小の数量のコアプロセッサを有することを特徴とする請求項１乃至４のいずれか一つに記載の数値制御装置システムである。  
請求項６に係る発明は、前記マルチコアプロセッサと前記アンプインタフェース部との接続がシリアル通信であることを特徴とする請求項１乃至５にいずれか一つに記載の数値制御装置システムである。  
請求項７に係る発明は、前記シリアル通信がPCIExpress、HyperTransport、RapidIOのいずれか一つであることを特徴とする請求項６に記載の数値制御装置システムである。
【発明の効果】
【００１０】
本発明により、マルチコアプロセッサの技術を利用して、コストを抑えつつ多軸化や高機能化が可能な機械を制御する数値制御装置システムを提供できる。
【図面の簡単な説明】
【００１１】
【図１】本発明による、マルチコアプロセッサを用いた数値制御システムを構成する数値制御装置の一形態を説明する図である。
【図２】図１の数値制御装置におけるモータ制御用プロセッサにおいて、Ｘ軸及びＹ軸に関する処理ＡとＸ軸及びＹ軸に関する処理Ｂとを別々のコアで行うことを説明する図である。
【図３】図１の数値制御装置におけるモータ制御用プロセッサにおいて、コアごとに担当する制御軸を割り当てる、本発明による数値制御システムの一実施形態を説明する図である。
【図４】制御軸数が少ない低価格の数値制御装置を含む、本発明にかかる数値制御装置システムの他の実施形態を説明する図である。
【図５】本発明にかかる数値制御システムの一実施形態の構成の概略をブロック図で示したものである。
【図６】従来技術の数値制御装置の概略構成図である。
【発明を実施するための形態】
【００１２】
本発明による、マルチコアプロセッサを用いた数値制御システムを構成する数値制御装置を図１を用いて説明する。
数値制御装置１は工作機械や産業用機械などの機械に備わったモータ（図示せず）を制御する。数値制御装置１は、数値制御部１０、ＰＭＣ部２０、アンプインタフェース部３０、モータ制御部４０、及びメモリ等部５０を備える。数値制御部１０、ＰＭＣ部（プログラマブル・マシン・コントローラ部）２０、アンプインタフェース部３０、及びメモリ等部５０はローカルバス６０により相互に接続されている。なお、ここで、メモリ等部５０とは、図１に示されるように、ＲＯＭ、２３２Ｃインタフェース、ＤＩ／ＤＯ回路、その他のオプション回路を総称したものである。
【００１３】
数値制御部１０は、数値制御用プロセッサ１１、ＤＲＡＭ１２、及びバスブリッジ１３を備えており、これらは内部バス１４を介して相互に接続されている。数値制御用プロセッサ１１は、加工プログラム等から指令される動作指令を解釈して各軸のサーボモータに対する移動指令を計算する機能と、動作指令を解釈して機械との間でＯＮ／ＯＦＦ信号の送受信を行う機能と、キーボード及び液晶表示装置等の表示部を通じて機械のオペレータとコミュニケーションを行う機能等を実行するプロセッサである。ＤＲＡＭ１２はワーキングメモリとして用いるＤＲＡＭ１２である。また、数値制御部１０は、バスブリッジ１３を介してＰＭＣ部２０、アンプインタフェース部３０、及びメモリ等部５０とローカルバス６０を経由して相互に接続されている。数値制御用プロセッサ１１、ＤＲＡＭ１２、バスブリッジ１３はそれぞれＬＳＩとして構成されている。
【００１４】
ＰＭＣ部２０は、機械へのＤＩ／ＤＯ信号を制御するシーケンス制御機能と、数値制御部１０とデータのやり取りを行う機能とを有する。ＰＭＣ部２０は、ＰＭＣ用プロセッサ２１、ＤＲＡＭ２２、バスブリッジ２３を備えており、これらは内部バス２４を介して相互に接続されている。ＰＭＣ部２０はバスブリッジ２３を介してローカルバス６０に接続されている。
【００１５】
アンプインタフェース部３０は、通信制御兼バスブリッジ３３を備えており、その通信制御兼バスブリッジ３３を介してローカルバス６０に接続される。また、通信制御兼バスブリッジ３３はマルチコアＤＳＰとのインタフェース７０を備えている。アンプインタフェース部３０は通信制御兼バスブリッジ３３のインタフェース７０を介してモータ駆動用アンプ１００と接続されている。
【００１６】
モータ制御部４０は、モータ制御用プロセッサであるマルチコアＤＳＰ４１、ＤＲＡＭ４２、及びＦＲＯＭ４３を備えている。マルチコアＤＳＰ４１は複数（図１の例では４つ）のＣＰＵコアと、内部ＲＡＭとを有する。マルチコアＤＳＰ４１はインタフェース７０を介してアンプインタフェース部３０の通信制御兼バスブリッジ３３と接続されている。マルチコアＤＳＰ４１は、数値制御部１０から指令される各軸の移動指令と、各軸のサーボモータに内蔵された位置／速度検出器からフィードバックされる位置、速度、電流の各フィードバック信号とによって、各軸のサーボモータの位置のフィードバック制御、速度のフィードバック制御、及び電流制御を行い、モータ駆動用アンプ１００への指令を生成するプロセッサである。モータ制御部４０は、モータ駆動用アンプ１００とアンプインタフェース部３０のアンプ通信、アンプインタフェース部３０とモータ制御用プロセッサとのインタフェースにより前記フィードバック信号を取得する。
【００１７】
上述したように、数値制御装置１は１つのマルチコアＤＳＰ４１を用いて構成されている。従来技術では複数のＤＳＰを用いてモータ制御部を構成していたが、本発明による数値制御装置の一実施形態では、１つのマルチコアＤＳＰにより構成することで、ＤＳＰのチップ数を少なくしている。これによって、マルチコアＤＳＰのパッケージサイズが多少大きくなっても、また消費電力がある程度増大しても問題にならなくなるため、高性能なマルチコアＤＳＰを実装することができる。
【００１８】
また、インタフェース７０が高速シリアル通信を適用するとパラレルバスに比較して信号ピン数が少なくなるため、コストを低くすることができ、また、実装面積を狭くすることができる。従来技術で用いられるパラレルバスは信号ピンの数が多く、使用するＤＳＰ数が増えるに従ってバスブリッジを増やす必要があった。これに対して本発明による数値制御装置の一実施形態では高速シリアル通信を用いることにより、従来技術の問題を解決することができる。
なお、高速シリアル通信は、PCIExpress、HyperTransport、RapidIO というような規格のものを用いることができるが、これらの規格に限定されるものではない。
【００１９】
図１の数値制御装置におけるモータ制御部４０において、Ｘ軸及びＹ軸に関する処理ＡとＸ軸及びＹ軸に関する処理Ｂとを別々のコアで行うことを図２を用いて説明する。
【００２０】
一つの軸制御の処理を並行して行うのが困難であるため、ある制御軸の処理（例えば、Ｘ軸及びＹ軸の処理）を複数のコアにまたがって行うと（例えば、図２のように、Ｘ軸及びＹ軸に関する処理ＡとＸ軸及びＹ軸に関する処理Ｂとを別々のコアで行う場合には）、各コア間でデータのやり取りや待ち合わせが多く発生することによって、処理効率が低下する。
【００２１】
モータ制御部４０はマルチコアＤＳＰ４１を備えており、そのマルチコアＤＳＰ４１は２つのＣＰＵコア、ＣＰＵ♯１とＣＰＵ♯２、を有する。ＣＰＵ♯１でＸ軸及びＹ軸の処理Ａを実行し、ＣＰＵ♯２でＸ軸及びＹ軸の処理Ｂを実行する。すなわち、Ｘ軸及びＹ軸の制御軸に対する処理が２つのＣＰＵコアにまたがって行われる。このため、各コア間でデータのやり取りや待ち合わせが多く発生する。
【００２２】
図１の数値制御装置におけるモータ制御部４０において、コアごとに担当する制御軸を割り当てる、本発明による数値制御システムの一実施形態を図３を用いて説明する。この図３に示すモータ制御部４０は、図２に示すモータ制御部４０の有する上記問題点を解決している。
【００２３】
モータ制御部４０は、図３に示すように、マルチコアＤＳＰ４１を備えており、そのマルチコアＤＳＰ４１は４つのＣＰＵコア、ＣＰＵ♯１、ＣＰＵ♯２、ＣＰＵ♯３及びＣＰＵ♯４、を有する。そして、ＣＰＵ♯１にはＸ１軸とＹ１軸の処理、ＣＰＵ♯２にはＸ２軸とＹ２軸の処理、ＣＰＵ♯３にはＸ３軸とＹ３軸の処理、ＣＰＵ♯４にはＸ４軸とＹ４軸の処理を割り当て、かつ、それらＣＰＵ♯１〜ＣＰＵ♯４にはそれぞれ担当する制御軸を割り当てる。各制御軸の処理は基本的に独立して行うことができるため、このように制御軸単位で処理を割り当てると、各コア間でのデータのやり取りや待ち合わせを最小限にすることができ、１コアあたりの処理効率の低下を防ぐことができる。
【００２４】
図４は、制御軸数が少ない低価格の数値制御装置を含む、本発明にかかる数値制御装置システムの他の実施形態を説明する図である。
機械に備わったモータの数が少ない、つまり、制御軸数が少ない場合、制御軸数が少ない低価格の数値制御装置が用いられる。モータ制御に必要となるＣＰＵの数が少ないため、数値制御部とＰＭＣ部とモータ制御部とをマルチコアＣＰＵに統合することが可能となる。
【００２５】
数値制御装置２は、アンプインタフェース部３０、数値制御部／モータ制御部／ＰＭＣ部９０、メモリ等部５０を備え、これらはローカルバス６０を介して相互に接続されている。
【００２６】
数値制御部／モータ制御部／ＰＭＣ部９０は、マルチコアＣＰＵ９１、ＤＲＡＭ９２、ＦＲＯＭ９３を備えている。マルチコアＣＰＵ９１は複数（図５の例では３つ）のＣＰＵと、内部ＲＡＭとを有する。この数値制御部／モータ制御部／ＰＭＣ部９０のマルチコアＣＰＵ９１を構成する複数のＣＰＵには、前述した数値制御部１０の機能、ＰＭＣ部２０の機能及びモータ制御部４０の機能が割り当てられている。マルチコアＣＰＵ９１はインタフェース７０を介してアンプインタフェース部３０の通信制御兼バスブリッジ３３と接続されている。
【００２７】
なお、図４には、マルチコアＣＰＵ９１の各コアに、数値制御部、モータ制御部、及びＰＭＣ部の３つの機能が割り当てられた数値制御装置２が示されているが、マルチコアＣＰＵ９１の各コアに数値制御部とモータ制御部の機能を割り当てる形態としてもよい。
【００２８】
本発明にかかる数値制御システムの一実施形態の構成の概略を図５のブロック図を用いて説明する。
プロセッサであるＣＰＵ１１１は、ＲＯＭ１１２に格納されたシステムプログラムに従って数値制御装置１の全体を制御する。ＲＡＭ１１３には各種のデータあるいは入出力信号が格納される。不揮発性メモリ１１４に格納された各種のデータは電源切断後もそのまま保存される。グラフィック制御回路１１５はデジタル信号を表示用の信号に変換して表示装置１１６に与える。キーボード１１７は、数値キー、文字キーなどを有する各種設定データを入力する手段である。
【００２９】
モータ制御部１１８は、ＣＰＵ１１１から各軸の移動指令を受けて軸の指令をサーボアンプ１１９に出力する。このサーボアンプ１１９は、この移動指令を受けて工作機械１２０のサーボモータ（図示せず）を駆動する。これらの構成要素はバス１２１で互いに結合されている。ＰＭＣ１２２は、加工プログラムの実行時に、バス１２１経由でＴ機能信号（工具選択指令）などを受け取る。そして、この信号を、シーケンス・プログラムで処理して、動作指令として信号を出力し、工作機械１２０を制御する。また、工作機械１２０から状態信号を受けて、ＣＰＵ１１１に必要な入力信号を転送する。更に、バス１２１には、システムプログラム等によって機能が変化するソフトウェアキー１２３と、ＮＣデータを記憶装置などの外部機器に送るインタフェース１２４とが接続されている。このソフトウェアキー１２３は、表示装置１１６とキーボード１１７と共に、表示装置／ＭＤＩパネル１２５に設けられている。なお、モータ制御部１１８とサーボアンプ１１９とは図１に示されるようにインタフェース７０によって接続されている。
【符号の説明】
【００３０】
１  数値制御装置
２  数値制御装置
１０  数値制御部
１１  ＣＰＵ
１２  ＤＲＡＭ
１３  バスブリッジ
２０  ＰＭＣ部
２１  ＣＰＵ
２２  ＤＲＡＭ
２３  バスブリッジ
３０  アンプインタフェース部
３３  通信制御兼バスブリッジ
４０  モータ制御部
４１  マルチコアＤＳＰ
４２  ＤＲＡＭ
４３  ＦＲＯＭ
５０  メモリ等部
６０  ローカルバス
７０  インタフェース
９０  数値制御部／モータ制御部／ＰＭＣ部
９１  マルチコアＣＰＵ
９２  ＤＲＡＭ
９３  ＦＲＯＭ
１００  モータ駆動用アンプ
【図１】
0005266412.tif 000002
【図２】
0005266412.tif 000003
【図３】
0005266412.tif 000004
【図４】
0005266412.tif 000005
【図５】
0005266412.tif 000006
【図６】
0005266412.tif 000007