IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許7391629モータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステム
<>
  • 特許-モータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステム 図1
  • 特許-モータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステム 図2
  • 特許-モータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステム 図3
  • 特許-モータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステム 図4
  • 特許-モータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステム 図5
  • 特許-モータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-27
(45)【発行日】2023-12-05
(54)【発明の名称】モータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステム
(51)【国際特許分類】
   H02P 4/00 20060101AFI20231128BHJP
   G05B 19/414 20060101ALI20231128BHJP
【FI】
H02P4/00
G05B19/414 P
【請求項の数】 10
(21)【出願番号】P 2019211402
(22)【出願日】2019-11-22
(65)【公開番号】P2021083282
(43)【公開日】2021-05-27
【審査請求日】2022-07-20
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】三浦 真広
(72)【発明者】
【氏名】伊藤 貴亮
【審査官】柏崎 翔
(56)【参考文献】
【文献】特開2016-101643(JP,A)
【文献】特開2017-97474(JP,A)
【文献】特開2014-211721(JP,A)
【文献】特開平11-266287(JP,A)
【文献】特開2008-159020(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 4/00
G05B 19/414
(57)【特許請求の範囲】
【請求項1】
複数のモータに対する位置指令値を出力するメインCPUと、
前記メインCPUに接続され、前記複数のモータの数に応じて設けられる複数の集積回路と、
前記複数の集積回路の各々に対応して接続された複数のサブCPUと、
を備え、
前記複数の集積回路の各々は、
記モータが前記位置指令値の位置に移動するよう前記モータを駆動するアンプに対して駆動指令値を出力するモータインタフェース制御部と、
前記メインCPUと前記モータインタフェース制御部との間で通信を行うメインCPU用シリアルインタフェースと、
当該集積回路に接続された前記サブCPUと前記モータインタフェース制御部との間で通信を行うサブCPU用シリアルインタフェースと、
前記メインCPU用シリアルインタフェースと前記モータインタフェース制御部とを接続する内部バスと、
前記内部バスに接続されたオプション用シリアルインタフェースと、
を有し、
前記複数のサブCPUの各々は、当該サブCPUに接続された前記集積回路を介して読み取った前記位置指令値及び前記モータの位置フィードバック値に基づいて、当該サブCPUに接続された前記集積回路内の前記モータインタフェース制御部による前記駆動指令値の出力を制御し、
前記複数の集積回路の各々の前記モータインタフェース制御部が、前記オプション用シリアルインタフェースを介して互いに接続される、モータ制御装置。
【請求項2】
前記複数の集積回路の各々は、
前記内部バスに接続され、外部信号の入出力を行う入出力制御部を有する、請求項に記載のモータ制御装置。
【請求項3】
前記メインCPUは、マルチコアCPUである、請求項1または2に記載のモータ制御装置。
【請求項4】
前記サブCPUは、マルチコアDSPである、請求項1~のいずれか一項に記載のモータ制御装置。
【請求項5】
前記集積回路は、特定用途向け集積回路である、請求項1~のいずれか一項に記載のモータ制御装置。
【請求項6】
機械を制御する数値制御装置であって、
請求項1~のいずれか一項に記載のモータ制御装置を備え、
前記集積回路と当該集積回路に対応して接続された前記サブCPUとからなる複数の組の各々は、前記機械内の前記モータのうちの当該組に対応する少なくとも1つのモータを制御する、数値制御装置。
【請求項7】
前記機械は工作機械であり、
前記複数の組のうちの少なくとも1組にて、前記工作機械内の前記モータのうちの前記工作機械の加工軸を駆動する少なくとも1つのモータを制御し、
前記複数の組のうちの前記少なくとも1組とは異なる組にて、前記工作機械内の前記モータのうちの前記工作機械の周辺軸を駆動する少なくとも1つのモータを制御する、請求項に記載の数値制御装置。
【請求項8】
少なくとも1つのロボットを制御するロボットコントローラであって、
請求項1~のいずれか一項に記載のモータ制御装置を備え、
前記集積回路と当該集積回路に対応して接続された前記サブCPUとからなる複数の組の各々にて、前記ロボットの駆動源となる少なくとも1つのモータを制御する、ロボットコントローラ。
【請求項9】
少なくとも1つの機械及び少なくとも1つのロボットの両方を制御する統合コントローラシステムであって、
請求項1~のいずれか一項に記載のモータ制御装置を備え、
前記集積回路と当該集積回路に対応して接続された前記サブCPUとからなる複数の組のうちの少なくとも1組にて、前記機械内の前記モータのうちの当該組に対応する少なくとも1つのモータを制御し、
前記複数の組のうちの前記少なくとも1組とは異なる組にて、前記ロボットの駆動源となる少なくとも1つのモータを制御する、統合コントローラシステム。
【請求項10】
前記機械は工作機械であり、
前記複数の組のうちの少なくとも1組にて、前記工作機械内の前記モータのうちの前記工作機械の加工軸及び周辺軸のうち少なくとも一方を駆動する少なくとも1つのモータを制御し、
前記複数の組のうちの前記少なくとも1組とは異なる組にて、前記ロボットの駆動源となる少なくとも1つのモータを制御する、請求項に記載の統合コントローラシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステムに関する。
【背景技術】
【0002】
近年、プロセッサは、マルチコア化が進められている。また、集積回路間の通信の一部は、従来のパラレル通信から高品質のシリアル通信への変更が行われている。このようなマルチコア化したプロセッサやシリアルインタフェースを用いて、例えば工作機械、鍛圧機械、射出成形機、及び産業機械などの機械を制御する制御装置やロボットを制御するロボットコントローラに要求される仕様を満足するモータ制御装置を実現している。以下、集積回路については「IC」と表記することがあり、インタフェースについては「I/F」と表記することがある。
【0003】
数値制御装置は、例えば工作機械、射出成形機、及び産業機械などの機械内のモータを制御するのに用いられる。ロボットコントローラは、ロボット内のモータを制御するのに用いられ、数値制御装置と類似の構成を有する。数値制御装置及びロボットコントローラは、モータ制御及び入出力制御(I/O制御)を担っている。数値制御装置及びロボットコントローラ内に設けられるモータ制御装置では、制御する軸数はモータ数に対応し、仕様に応じて制御対象のモータ数が変化するため、モータインタフェース制御部は個別のIC(集積回路)とし、仕様に応じて接続する集積回路の個数を変化させることが望ましい。特に数値制御装置及びロボットコントローラでは、コストを考慮しつつ、要求される仕様を十分満足する構成を実現することが求められるが、この際に使用する部品の性能向上及び供給体制の変化等も考慮しスケーラブルに実現することが望ましい。
【0004】
数値制御装置やロボットコントローラを製作する場合、メイン制御部及びPLC(Programmable Logic Control)部の形成に使用するCPU(プロセッサ)及びモータ制御部として通常用いられるDSPは、汎用品を使用するのが一般的である。一方、部品点数を減らすことはコスト低減に有効であることから、CPU及びDSP以外の部分、すなわちモータインタフェース制御部については、1つのICにて実現することが行われる。このようなモータインタフェース制御部を実現するICは、ASICと呼ばれる特定用途向けに設計された集積回路で実現されるのが一般的である。ASICからなるモータインタフェース制御ICを設計する場合、モータインタフェース制御部のみを搭載してもよいが、さらに他の機能部分を合わせて搭載することによりモータインタフェース制御ICの多機能化を図ることも行われている。数値制御装置及びロボットコントローラ内に設けられるモータ制御装置をCPU、DSP、及びASICを用いて構成する場合、CPUとASICとの間を通信ラインで接続し、ASICとDSPとの間を通信ラインで接続する。
【0005】
例えば、サーボモータの位置指令値を出力するCPUと、サーボモータを駆動するアンプに対して電流指令値を出力するサーボ制御部および外部信号の入出力を行うI/O部を備えた集積回路と、位置指令値を読み取り、サーボモータを位置指令値の位置に移動させるための制御を行うDSPと、前記CPUと前記集積回路間のデバイス間通信経路と、を有し、前記集積回路は、前記デバイス間通信経路に接続される通信インタフェースおよび前記I/O部に接続される内部バスと、前記内部バスを介さずに、前記サーボ制御部と前記I/O部の間で直接信号を伝送する内部通信経路と、を備えることを特徴とする数値制御装置が知られている(例えば、特許文献1参照。)。
【0006】
例えば、論理回路から構成された複数のASICの外部同時起動出力信号が"ハイ-インピーダンス"の状態で、外部から"ハイ"状態の外部同時起動入力信号の入力を受けて同時起動を遂行する外部同時起動入力フィンを包含して構成されることを特徴とする位置決定モジュールの同時起動装置が知られている(例えば、特許文献2参照。)。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2017-097474号公報
【文献】特開2003-288120号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
一般的な工作機械などの機械内やロボット内に設けられるモータによって駆動される軸の数は3軸~32軸程度であることから、モータ制御装置の最大制御軸数は32軸程度に設計されることが多い。一方で、32軸を大幅に超える非常に制御軸数の多い工作機械やロボットも存在することから、最大制御軸数が非常に多いモータ制御装置に対する需要も存在する。例えば、複数の部品加工工程が統合され、ワークの一連の加工に最適化された専用工作機械(インデックスマシン)は、制御軸数が非常に多い。
【0009】
制御軸数が非常に多いモータ制御装置を実現するためには、標準的な制御軸数(例えば3軸~32軸程度)を有するモータ制御装置の基本構成に対して、CPU及び集積回路の更なる性能向上及び各種インタフェースの更なる追加などといった設計変更が必要になる。しかしながら、標準的な制御軸数を有するモータ制御装置の基本構成を設計変更して、制御軸数が非常に多いモータ制御装置に対応させることは、容易ではない。例えば、標準的な制御軸数用に構成されたASICとは別に、非常に多い制御軸数用に構成されたASICを新たに開発する場合は、開発コストが増大する。また例えば、非常に多い制御軸数用に構成されたASICを、標準的な制御軸数用に構成されたASICの用途にも適用する場合は、標準的な制御軸数を有するモータ制御装置についてオーバースペックで価格の高いASICを用いることになり、モータ制御装置自体の価格が増大する。また例えば、標準的な制御軸数を有するモータ制御装置を複数台用いてネットワーク経由でこれらを協調制御して非常に多い制御軸数に対応させる場合は、モータ制御装置間において制御軸の同期及び補間の複雑化を招く。したがって、モータ制御装置の制御軸数に対するスケーラビリティを向上させることが望まれている。
【課題を解決するための手段】
【0010】
本開示の一態様によれば、モータ制御装置は、複数のモータに対する位置指令値を出力するメインCPUと、メインCPUに接続され、複数のモータの数に応じて設けられる複数の集積回路と、複数の集積回路の各々に対応して接続された複数のサブCPUと、を備え、複数の集積回路の各々は、モータが位置指令値の位置に移動するようモータを駆動するアンプに対して駆動指令値を出力するモータインタフェース制御部と、メインCPUとモータインタフェース制御部との間で通信を行うメインCPU用シリアルインタフェースと、当該集積回路に接続されたサブCPUとモータインタフェース制御部との間で通信を行うサブCPU用シリアルインタフェースと、メインCPU用シリアルインタフェースとモータインタフェース制御部とを接続する内部バスと、内部バスに接続されたオプション用シリアルインタフェースと、を有し、複数のサブCPUの各々は、当該サブCPUに接続された集積回路を介して読み取った位置指令値及びモータの位置フィードバック値に基づいて、当該サブCPUに接続された集積回路内のモータインタフェース制御部による駆動指令値の出力を制御し、複数の集積回路の各々のモータインタフェース制御部が、オプション用シリアルインタフェースを介して互いに接続される。
【0011】
また、本開示の一態様によれば、機械を制御する数値制御装置は、上記モータ制御装置を備え、集積回路と当該集積回路に対応して接続されたサブCPUとからなる複数の組の各々は、機械内のモータのうちの当該組に対応する少なくとも1つのモータを制御する。
【0012】
また、本開示の一態様によれば、少なくとも1つのロボットを制御するロボットコントローラは、上記モータ制御装置を備え、集積回路と当該集積回路に対応して接続されたサブCPUとからなる複数の組の各々にて、ロボットの駆動源となる少なくとも1つのモータを制御する。
【0013】
また、本開示の一態様によれば、少なくとも1つの機械及び少なくとも1つのロボットの両方を制御する統合コントローラシステムは、上記モータ制御装置を備え、集積回路と当該集積回路に対応して接続されたサブCPUとからなる複数の組のうちの少なくとも1組は、機械内のモータのうちの当該組に対応する少なくとも1つのモータを制御し、複数の組のうちの少なくとも1組とは異なる組にて、ロボットの駆動源となる少なくとも1つのモータを制御する。
【発明の効果】
【0014】
本開示の一態様によれば、制御軸数に対するスケーラビリティが向上したモータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステムを実現することができる。
【図面の簡単な説明】
【0015】
図1】本開示の実施形態によるモータ制御装置を示す構成図である。
図2】本開示の実施形態によるモータ制御装置において、m番目の集積回路に入出力制御部を設けた例を示す構成図である。
図3】本開示の実施形態によるモータ制御装置において、集積回路間を接続した例を示す構成図である。
図4】本開示の実施形態によるモータ制御装置を備える数値制御装置を示す構成図である。
図5】本開示の実施形態によるモータ制御装置を備えるロボットコントローラを示す構成図である。
図6】本開示の実施形態によるモータ制御装置を備える統合コントローラシステムを示す構成図である。
【発明を実施するための形態】
【0016】
以下図面を参照して、モータ制御装置、数値制御装置、ロボットコントローラ及び統合コントローラシステムについて説明する。各図面において、同様の要素には同様の参照符号が付けられている。また、理解を容易にするために、これらの図面は縮尺を適宜変更している。図面に示される形態は実施をするための一つの例であり、図示された形態に限定されるものではない。また、以下の説明において、モータの「位置」及び「位置指令値」は、モータの「回転子の位置」及び「回転子に対する位置指令値」を意味し、モータの「位置制御」は、モータの「回転子に対する位置制御」を意味する。また、「位置」を微分すれば「速度(回転速度)」になることから、本開示の実施形態において、モータの「位置」にはモータの「速度」が包含され、モータの「位置指令値」にはモータの「速度指令値」が包含され、モータの「位置フィードバック値」にはモータの「速度フィードバック値」が包含される。モータの「速度」及び「速度指令値」は、モータの「回転子の速度」及び「回転子に対する速度指令値」を意味する。また、モータの「速度制御」は、モータの「回転子に対する速度制御」を意味する。
【0017】
図1は、本開示の実施形態によるモータ制御装置を示す構成図である。
【0018】
本開示の実施形態によるモータ制御装置1は、後述するように機械(例えば工作機械)の数値制御装置やロボットコントローラなどに用いられる。モータ制御装置1により制御されるモータ(図示せず)は、例えば工作機械においては加工軸及び周辺軸の駆動源として用いられ、ロボットにおいては、アーム等の駆動源やロボット自体を移動させるための駆動源として用いられる。
【0019】
本開示の実施形態によるモータ制御装置1は、メインCPU11と、集積回路(IC)12と、サブCPU13とを備える。メインCPU11は、シリアル通信部41を介して集積回路12に接続される。サブCPU13は、シリアル通信部42を介して集積回路12に接続される。また、モータ制御装置1は、例えば、メインCPU11に接続されるDRAM31と、集積回路12に接続されるストレージデバイス32、ストレージクラスメモリ(Storage-class memory:SCM)33、及び表示インタフェース(表示I/F)34と、を備える。
【0020】
メインCPU11は、例えばマルチコア(マルチスレッド)のCPUで実現される。メインCPU11は、一般的にはソフトウェアにより形成されるメイン制御部(図示せず)と、PLC(Programmable Logic CONTROL)部(図示せず)と、周辺機器と通信を行うためのペリフェラル(図示せず)と、を備える。
【0021】
メインCPU11は、複数のモータ(図示せず)に対する位置指令値を出力する。上述したように、本開示の実施形態においてはモータの「位置指令値」にはモータの「速度指令値」が包含され、すなわち「位置指令値」は「速度指令値」と解釈されてもよい。
【0022】
より詳しくは、メインCPU11のメイン制御部は、数値制御装置における加工プログラム及びシーケンスプログラムまたはロボットコントローラにおけるロボット動作プログラム等から指令される動作指令を解析して複数のモータの全てに対する位置指令値を計算して出力する機能、動作指令を解析して機械との間でON/OFF信号の送受信を行う機能、及び、機械への信号の入出力(I/O)を制御するシーケンス機能などを実行する。また、メインCPU11は、高速シリアル通信インタフェース(例えば、PCI Express(登録商標))等の機能を有する。また、メインCPU11内のペリフェラルは、外部接続されるSDおよびUSB等の記憶デバイスとのデータ入出力およびRS232C(232C#1&#2)等を介しての通信によるデータ入出力を行うためのインタフェースを含み、外部接続された機器との通信を行う。
【0023】
DRAM31は、メインCPU11が処理を実行するのに使用する主記憶メモリである。図1に示す例では、メインCPUの外部にDRAM31を接続しているが、集積回路12に外部接続してもよい。
【0024】
メインCPU11と集積回路12とはシリアル通信部41を介して接続される。シリアル通信部41の例としてはPCI Express(登録商標)がある。
【0025】
集積回路(IC)12は、例えば特定用途向けの集積回路(ASIC)として実現される。あるいは、集積回路12を、FPGAで実現してもよく、プリント基板上に複数の集積回路を搭載したものとして実現してもよい。
【0026】
複数の集積回路12が、モータ制御装置1の制御対象である複数のモータの数に応じて設けられる。集積回路12の個数を変更することで、モータ制御装置1は様々な数のモータの制御に対応可能である。よって、例えば、メインCPU11に、標準的な数(例えば3軸~32軸など)の制御軸用に構成されたASICからなる集積回路12を複数接続することで、非常に数の多い制御軸(例えば33軸~数百軸程度など)についても制御可能である。よって、本開示の実施形態によれば、制御軸数に対するスケーラビリティを向上させることができる。なお、図1に示す例では、複数の集積回路12を、n個の集積回路(ただし、nは2以上の整数)で表し、すなわち、第1の集積回路12-1、第2の集積回路12-2、・・・、第nの集積回路12-nと表記している。
【0027】
集積回路12は、モータインタフェース制御部(モータI/F制御部)21と、メインCPU用シリアルインタフェース(I/F)22と、サブCPU用シリアルインタフェース(I/F)23と、内部バス24と、オプション用シリアルインタフェース(I/F)25と、入出力(I/O)制御部26と、ペリフェラル27とを備える。集積回路12は、図示した以外に、RAMなどを内蔵してもよい。なお、図1では、図面を簡明なものにするために、オプション用シリアルインタフェース25、入出力制御部26、及びペリフェラル27については、第1の集積回路12-1に関してのみ表記し、第2の集積回路12-2及び第nの集積回路12-nについてはこれらの図示を省略している。
【0028】
モータインタフェース制御部21と、メインCPU用シリアルインタフェース22と、オプション用シリアルインタフェース25と、入出力制御部26と、ペリフェラル27とは、内部バス24を介して接続される。
【0029】
メインCPU用シリアルインタフェース22は、シリアル通信部41を介してメインCPU11に接続され、メインCPU11とモータインタフェース制御部21との間で通信を行う。内部バス24で接続されるメインCPU用シリアルインタフェース22以外の各要素にはアドレスが割り当てられている。メインCPU用シリアルインタフェース22は、メインCPU11から送信されたシリアル信号に含まれる送信先のアドレスを検出し、データおよびアドレスをパラレルデータに変換した後、内部バス24を介して送信先の要素に送る。また、メインCPU用シリアルインタフェース22は、各要素から内部バス24に出力されたメインCPU11を送信先アドレスとするデータをシリアル変換してメインCPU11に送る。
【0030】
なお、集積回路12内の各要素へのメインCPU11からのデータ送信、メインCPU用シリアルインタフェース22からメインCPU11へのデータ送信が同時に発生する場合があり得る。そこで、メインCPU用シリアルインタフェース22は、各データ通信の優先度に応じて通信するデータの順番を調停するアービタ、およびこれらのデータを一時的に保持するバッファメモリを有する。モータ制御装置1では、モータ制御に関係するデータ信号の優先度が高く、モータ制御に関係するデータ信号は周期的に発生するので、モータ制御に関係するデータ信号の通信を優先する。しかし、これに限定されず、より緊急性の高いデータ通信をさらに優先するようにしてもよい。
【0031】
集積回路12とサブCPU13とはシリアル通信部42を介して接続される。シリアル通信部42の例としてはPCI Express(登録商標)がある。
【0032】
集積回路12内のサブCPU用シリアルインタフェース23は、シリアル通信部42を介してサブCPU13に接続され、サブCPU13とモータインタフェース制御部21との間で通信を行う。モータインタフェース制御部21と当該モータインタフェース制御部21に接続されるサブCPU13との間に、サブCPU用シリアルインタフェース23及びシリアル通信部42が設けられる。
【0033】
モータインタフェース制御部21は、モータが位置指令値の位置に移動するよう(あるいはモータが速度指令値の速度で回転するよう)モータを駆動するアンプに対して駆動指令値(例えば電流指令値)を出力する。モータインタフェース制御部21から出力された駆動指令値は、集積回路12の外部にあるモータインタフェース(I/F)を介してアンプに送られる。一連の流れをより詳細に説明すると、メインCPU11からの位置指令値はモータインタフェース制御部21を介してサブCPU13へ送られ、サブCPU13はこの位置指令値に基づいてモータの駆動指令値を生成してモータインタフェース制御部21へ送り、モータインタフェース制御部21は駆動指令値をモータインタフェースを介してアンプに出力する。
【0034】
集積回路12は、少なくとも1つのモータインタフェース制御部21を有する。モータインタフェース制御部21で、複数のモータの各々に対応する複数の駆動指令値を出力することができる性能を有する。1つの集積回路12で複数のモータを制御する場合、当該1つの集積回路12は、1つのモータインタフェース制御部21を有してもよく、あるいは、モータの数と同じ数の複数のモータインタフェース制御部21を有してもよく、あるいは、モータの数よりの少ない数の複数のモータインタフェース制御部21を有してもよい。集積回路12内に設けられるモータインタフェース制御部21の数は、例えば、モータの制御周期や制御精度などに応じて、適宜設定すればよい。
【0035】
モータインタフェース制御部21に外部で接続されるモータインタフェースは、アンプを接続するためのインタフェースであり、モータインタフェースを介して、アンプ制御、ディジタル信号入出力処理、アナログ信号入出力処理、各種センサの制御などが行われる。アンプには、工作機械またはロボットの各制御軸を駆動するモータへの動力線と、各モータの位置の検出値である位置フィードバック値が伝送されるフィードバック入力信号が接続される。モータインタフェース制御部21の数は、モータインタフェースの数と同じである。また、1つのモータインタフェースに、複数のモータに対応して設けられる複数のアンプを直列に接続することができる。
【0036】
モータインタフェース制御部21の処理動作についてより詳細に説明すると次の通りである。モータインタフェース制御部21の内蔵のRAM領域(図示せず)には、メインCPU11からの位置指令値が、シリアル通信部41、メインCPU用シリアルインタフェース22および内部バス24を介して書き込まれる。モータインタフェース制御部21は、位置指令値から生成されたアンプに対する駆動指令値(例えば電流指令値)を、モータインタフェースを介してアンプに送る。なお、位置指令値から駆動指令値を生成する処理は、多くの演算処理が必要で高速に行う必要がある。したがって、集積回路12には、後述するようにサブCPU13としてのマルチコアDSPが接続される。マルチコアDSPからなるサブCPU13は、シリアル通信部42を介して位置指令値を読み取り、モータを位置指令値の位置に移動させるための制御に必要なモータの駆動指令値の演算処理を行う。
【0037】
アンプは、モータインタフェースを介して受け取った駆動指令値に基づき例えばPWM信号による電流制御を行うとともに、アンプに内蔵された電流センサの値をモータインタフェースに通じてモータインタフェース制御部21に送る。また、モータで検出された位置フィードバック値も、モータインタフェースを通じてモータインタフェース制御部21に送られ、位置フィードバック値はモータインタフェース制御部21に書き込まれる。サブCPU13は、モータインタフェース制御部21を介して受け取った電流センサの値や位置フィードバック値を元に次の電流制御指令値を演算し、当該電流制御指令値をモータインタフェース制御部21に送る。モータインタフェース制御部21は、サブCPU13から電流制御指令値を受け取って、モータインタフェースを介してアンプに送る。
【0038】
集積回路12内のオプション用シリアルインタフェース(I/F)25は、オプションボードなどの外部オプション機器との接続に用いられるインタフェースである。
【0039】
集積回路12内の入出力(I/O)制御部26は、入出力(I/O)通信を制御するものであり、例えば入出力信号データ(DI/DO)を格納するためのI/O用RAM(図示せず)を有する。I/O用上の入出力信号データは、メインCPU11上で実行されるシーケンスプログラムにより、内部バス24、メインCPU用シリアルインタフェース22、及びシリアル通信部41を介して、リード/ライトされる。
【0040】
集積回路12内のペリフェラル27は、キーボード、アナログ出力、センサ用データ入力(例えば、実行中の加工プログラムをスキップさせるためのスキップ信号入力、タッチセンサ信号の入力等)、およびRTC(リアルタイムデジタルクロック)(バッテリやキャパシタで動作する水晶発振器とそのカウント回路で構成されるクロック回路のクロック信号)等の信号のインタフェースを有している。さらに、ペリフェラル27は、ストレージデバイス32、ストレージクラスメモリ33及び表示インタフェース(I/F)34に対するインタフェースも有している。
【0041】
複数のサブCPU13が、複数の集積回路12の各々に対応して接続される。より詳細に言えば、1つのモータインタフェース制御部21には複数のサブCPU13を接続することができ、1つの集積回路12内には上述したようにモータインタフェースの数に対応して少なくとも1つのモータインタフェース制御部21が設けられる。モータインタフェース制御部21とサブCPU13とは、サブCPU用シリアルインタフェース23及びシリアル通信部42を介して接続される。1つのモータインタフェース制御部21に接続されるサブCPU13の数は、サブCPU13の演算処理能力や制御周期などに応じて適宜設定すればよい。例えば、非常に数の多いモータ(例えば100個程度のモータ)を制御したりモータを高精度に制御したりする必要がある場合、集積回路12に割り当てられる演算処理量は膨大なものとなる。このように集積回路12に割り当てられる演算処理量が膨大となる場合は、多数のサブCPU13を接続して当該多数のサブCPU13にて演算処理を分担してもよい。また例えば、少ない数のモータ(例えば数個のモータ)を制御したりモータの制御精度が要求されなかったりするような場合、集積回路12に割り当てられる演算処理量は少ない。このように集積回路12に割り当てられる演算処理量は少ない場合は、1つまたは少数のサブCPU13を接続して当該1つまたは少数のサブCPU13にて演算処理を分担してもよい。
【0042】
サブCPU13は、例えばマルチコア(マルチスレッド)のDSPで実現される。サブCPU13は、当該サブCPU13に接続された集積回路12を介して読み取った位置指令値及びモータの位置フィードバック値に基づいて、当該サブCPU13に接続された集積回路12内のモータインタフェース制御部21による駆動指令値の出力を制御する。より詳しくは、サブCPU13は、サブCPU用シリアルインタフェース23及びシリアル通信部42を介して位置指令値及び位置フィードバック値を読み取り、モータを位置指令値の位置に移動させるための制御に必要なモータの駆動指令値(例えば電流指令値)の演算処理を行う。サブCPU13は、生成された駆動指令値を、シリアル通信部42及びサブCPU用シリアルインタフェース23を介してモータインタフェース制御部21へ送り、さらにモータインタフェース制御部21は、駆動指令値をモータインタフェースを介してアンプに送る。サブCPU13はこのような演算処理を繰り返し実行する。
【0043】
集積回路12に接続されるストレージデバイス32は、モータインタフェース制御部21が動作するのに必要なソフトウェア(プログラム)を格納するものであり、ペリフェラル27によってその動作が制御される。ストレージデバイス32の例としては、EMMC(登録商標)、SD、ESSDなどがある。なお、図示していないが、集積回路12にはブートローダソフトを格納したブートROMが接続されており、集積回路12は、起動時にブートローダソフトを読み取り、自身の初期設定等を行うとともに、ストレージデバイス32に格納されているソフトウェアをローディングし、DRAM31やサブCPU13の内蔵メモリなどに展開する。
【0044】
集積回路12に接続されるストレージクラスメモリ33は、モータインタフェース制御部21の処理における算出値等を記憶する動作用メモリとして機能するものであり、不揮発性メモリである。ストレージクラスメモリ33の例としては、MRAM(Magnetoresistive Random Access Memory)、ReRAM(Resistive Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、バッテリでバックアップされたSRAMなどがある。
【0045】
集積回路12に接続される表示インタフェース34は、外部の表示器が描画データを生成するためのデータを送受信するためのインタフェースである。表示インタフェース34から出力されたデータに基づいて、液晶ディスプレイ(LCD)や有機ELディスプレイなどの表示器(図示せず)において描画データの生成及び表示が行われる。表示インタフェース34の例としては、イーサネット(登録商標)などがある。
【0046】
以上説明したように、本開示の実施形態によれば、複数の集積回路12が、モータ制御装置1の制御対象である複数のモータの数に応じて設けられる。集積回路12の個数を変更することで、モータ制御装置1は様々な数のモータの制御に対応可能である。よって、例えば、メインCPU11に、標準的な数(例えば3軸~32軸など)の制御軸用に構成されたASICからなる集積回路12を複数接続することで、複数の軸を制御するための処理リソースを増やすことができ、非常に数の多い制御軸(例えば33軸~数百軸程度など)についても制御可能である。よって、本開示の実施形態によれば、制御軸数に対するスケーラビリティを向上させることができる。非常に数の多い制御軸のモータ制御装置1を構成する場合は、1つのメインCPU11(例えばマルチコアCPU)に接続される集積回路12(例えば標準的な制御軸数用に構成された特定用途目的集積回路)の数を増やすだけでよいので、非常に多い制御軸数用に構成されたASICを新たに開発する必要はない。逆に、制御軸がそれほど多くないモータ制御装置1を構成する場合は、1つのメインCPU11(例えばマルチコアCPU)に接続される集積回路12(例えば標準的な制御軸数用に構成された特定用途目的集積回路)の数を適宜調整するだけでよいので、オーバースペックで価格の高い集積回路12を用いる機会を削減することができ、結果として、モータ制御装置自体の価格の上昇を抑制することができる。また、複数のモータの各々に対応する複数の集積回路12は、いずれも1つのメインCPU11に接続されるので、メインCPU11において、複数のモータのうちのいずれかで発生し得るエラーの一元管理が可能である。また、集積回路12ごとに個別に制御周期を設定することが容易であるので、モータの用途に応じて最適化された制御を実現することができる。
【0047】
モータの用途に応じて、当該モータに対応する集積回路に対して、オプション用シリアルインタフェース25、入出力制御部26、及びペリフェラル27並びにこれ以外の機能を追加してもよい。図2は、本開示の実施形態によるモータ制御装置において、m番目の集積回路に入出力制御部を設けた例を示す構成図である。例えば、複数の集積回路12のうち、第1の集積回路12-1に加えて第mの集積回路12-m(ただし、mは2以上の自然数)にも入出力(I/O)制御部26が設けられてもよい。これにより、メインCPU11は、第1の集積回路12-1及び第mの集積回路12-mのいずれの入出力制御部26を介して、入出力通信を制御することができる。
【0048】
図3は、本開示の実施形態によるモータ制御装置において、集積回路間を接続した例を示す構成図である。複数の集積回路12の全ての間、または複数の集積回路12のうちのいくつかの間を、シリアル通信部43及びオプション用シリアルインタフェース25を介して互いに接続してもよい。図3に示す例では、第1の集積回路12-1内のオプション用シリアルインタフェース25と第2の集積回路12-2内のオプション用シリアルインタフェース25とが、シリアル通信部43を介して接続されている。このように集積回路12間を接続することで、メインCPU11を介さずに当該集積回路12間でデータを直接にやり取りすることができるのでデータ伝送の遅延を低減することができ、また、メインCPU11の演算処理の負担を軽減することができる。なお、シリアル通信部43の例としてはPCI Express(登録商標)がある。またシリアル通信部43に代えて、例えばイーサネット(登録商標)にて集積回路12間を互いに接続してもよく、この場合は集積回路12内にはイーサネット(登録商標)に対応したインタフェースが設けられる。
【0049】
本開示の実施形態によるモータ制御装置1は、機械を制御する数値制御装置に用いることができる。機械を制御する数値制御装置は、モータ制御装置1を備え、集積回路と当該集積回路に対応して接続されたサブCPUとからなる複数の組の各々にて、機械内のモータのうちの当該組に対応する少なくとも1つのモータを制御する。機械には、例えば工作機械、鍛圧機械、射出成形機、及び産業機械などがある。ここでは一例として、本開示の実施形態によるモータ制御装置1を、加工軸及び周辺軸を備える工作機械を制御する数値制御装置に用いた例について説明する。図4は、本開示の実施形態によるモータ制御装置を備える数値制御装置を示す構成図である。
【0050】
集積回路と当該集積回路に対応して接続されたサブCPUとからなる1つの組にて、1つのモータを制御してもよく、複数のモータを制御してもよい。集積回路12と当該集積回路12に対応して接続されたサブCPU13とからなる組の数は、モータの数及び制御精度、並びにサブCPU13の演算処理能力及び制御周期などに応じて、適宜設定される。モータは、工作機械(図示せず)の加工軸及び周辺軸の駆動源として用いられる。モータ制御装置1を備える数値制御装置100は、集積回路12と当該集積回路12に対応して接続されたサブCPU13とからなる複数の組のうちの少なくとも1組にて、工作機械内のモータのうちの工作機械の加工軸を駆動する少なくとも1つのモータ(図示せず)を制御し、これらの複数の組のうち上記少なくとも1組とは異なる組にて、工作機械の周辺軸を駆動する少なくとも1つのモータ(図示せず)を制御する。
【0051】
図4に示す例では、一例として、モータ制御装置1を備える数値制御装置100により、工作機械の加工軸を駆動するモータ(図示せず)と工作機械の周辺軸を駆動するモータ(図示せず)とを制御する場合を示している。メインCPU11には、シリアル通信部41を介して加工軸用集積回路12A及び周辺軸用集積回路12Bが接続される。メインCPU11は、工作機械内の複数のモータに対する位置指令値を出力する。メインCPU11に接続されるDRAM31については図示を省略している。加工軸用集積回路12A及び/または周辺軸用集積回路12Bは、複数設けてもよい。加工軸用集積回路12A及び周辺軸用集積回路12Bには、シリアル通信部42を介してサブCPU13が接続される。加工軸用集積回路12A及び周辺軸用集積回路12Bはそれぞれ、モータインタフェース制御部21、メインCPU用シリアルインタフェース22、及びサブCPU用シリアルインタフェース23を備える。なお、図4では、図面を簡明なものにするために、加工軸用集積回路12A及び周辺軸用集積回路12B内に設けられるオプション用シリアルインタフェース25、入出力制御部26及びペリフェラル27、並びに、加工軸用集積回路12A及び周辺軸用集積回路12B内に接続されるストレージデバイス32、ストレージクラスメモリ33及び表示インタフェース34については、図示を省略している。
【0052】
なお、周辺軸用集積回路12Bは、工作機械におけるローダなどの周辺軸の位置制御に限定されず、例えば、レーザ発振器の出力制御、レーザ光の反射に用いるミラーの角度制御、プレス機構の圧力制御、放電パルス電圧のタイミング制御、あるいは機械の温度補正制御などを行ってもよい。例えば、集積回路と当該集積回路に対応して接続されたサブCPU13とからなる複数の組のうちの少なくとも1組(加工軸用集積回路12Aを含む第1の組)にて、工作機械内のモータのうちの工作機械の加工軸を駆動する少なくとも1つのモータを制御する場合において、これらの複数の組のうち上記少なくとも1組とは異なる組(周辺軸用集積回路12Bを含む第2及び第3の組)のうち、いくつかの組(第2の組)にて工作機械の周辺軸を駆動する少なくとも1つのモータを駆動し、他の組(第3の組)にてレーザ発振器の出力制御、レーザ光の反射に用いるミラーの角度制御、プレス機構の圧力制御、放電パルス電圧のタイミング制御、あるいは機械の温度補正制御などを行ってもよい。
【0053】
本開示の実施形態によるモータ制御装置1を備える数値制御装置100によれば、1つのメインCPU11にて、工作機械が有する多数の軸の位置指令値を計算できるので、複数のCPUにて多数の軸の位置指令値を計算する場合に比べ、データ通信のオーバーヘッド無く各軸の位置指令の同期及び補間が可能となる。
【0054】
また、本開示の実施形態によるモータ制御装置1を備える数値制御装置100によれば、1つのメインCPU11において、工作機械の加工軸及び周辺軸のいずれかで発生し得る各種エラーの一元管理が可能であるので、例えば加工軸及び周辺軸のいずれかで異常が発生しても、迅速に工作機械の各種リトラクト動作や停止動作をとることができる。リトラクト動作とは、ワークと工具が同期して数値制御される工作機械において、エラー発生時に、ワークと工具の同期を保持したまま、互いに干渉しない位置まで待避する動作であり、これにより、ワークと工具の同期ずれによる破損の発生を防止することができる。
【0055】
また、本開示の実施形態によるモータ制御装置1を備える数値制御装置100によれば、加工軸及び周辺軸の数に応じて(すなわちモータの数に応じて)1つのメインCPU11接続される集積回路12(例えば標準的な制御軸数用に構成された特定用途目的集積回路)の数を適宜調整するだけで数値制御装置100を構成することができるので、制御軸数に応じた数値制御装置100の設計が容易であり、数値制御装置100自体の価格の上昇を抑制することができる。例えば、市場に多く出回る標準的な数の制御軸数を有する数値制御装置100を大量に生産しつつ、市場にはあまり出回らない非常に多くの数の制御軸数を有する数値制御装置100については標準的な数の制御軸数を有する数値制御装置100において集積回路12の数を適宜増やすことで生産する、といった生産管理が可能となるので、数値制御装置100自体の価格の上昇を抑制することができる。
【0056】
また、本開示の実施形態によるモータ制御装置1を備える数値制御装置100によれば、加工軸用集積回路12Aと周辺軸用集積回路12Bとで個別に制御周期を設定することが容易であり、加工軸及び周辺軸の各々を駆動する各モータのモータインタフェースに対応して通信周期を設定することも容易であるので、加工軸用集積回路12Aと周辺軸用集積回路12Bの処理性能及び通信帯域の効率な使用が可能となる。これにより、例えば、加工軸用集積回路12Aでは高速な制御周期で少数の加工軸駆動用のモータの制御を行い、周辺軸用集積回路12Bでは低速な制御周期で多数の周辺軸用のモータの制御を行うといった使い分けが可能である。
【0057】
本開示の実施形態によるモータ制御装置1は、ロボットを制御するロボットコントローラに用いることができる。図5は、本開示の実施形態によるモータ制御装置を備えるロボットコントローラを示す構成図である。
【0058】
上述したように、集積回路12と当該集積回路12に対応して接続されたサブCPU13とからなる組にて、1つのモータを制御してもよく、複数のモータを制御してもよい。ロボット(図示せず)のアーム等の駆動源やロボット自体を移動させるための駆動源としてモータが用いられてもよい。また、協調動作するロボット内に設けられる駆動源としてモータが用いられてもよい。モータ制御装置1を備えるロボットコントローラ200は、集積回路12と当該集積回路12に対応して接続されたサブCPU13とからなる複数の組の各々にて、ロボットの駆動源となる少なくとも1つのモータ(図示せず)を制御する。
【0059】
図5に示す例では、一例として、モータ制御装置1を備えるロボットコントローラ200により、2つのロボットを制御する場合を示している。メインCPU11には、シリアル通信部41を介して第1のロボット用集積回路12C及び第2のロボット用集積回路12Dが接続される。メインCPU11は、ロボット内の複数のモータに対する位置指令値を出力する。メインCPU11に接続されるDRAM31については図示を省略している。第1のロボット用集積回路12C及び第2のロボット用集積回路12Dには、シリアル通信部42を介してサブCPU13が接続される。第1のロボット用集積回路12C及び第2のロボット用集積回路12Dはそれぞれ、モータインタフェース制御部21、メインCPU用シリアルインタフェース22、及びサブCPU用シリアルインタフェース23を備える。なお、図5では、図面を簡明なものにするために、第1のロボット用集積回路12C及び第2のロボット用集積回路12D内に設けられるオプション用シリアルインタフェース25、入出力制御部26及びペリフェラル27、並びに、加工軸用集積回路12A及び周辺軸用集積回路12B内に接続されるストレージデバイス32、ストレージクラスメモリ33及び表示インタフェース34については、図示を省略している。
【0060】
本開示の実施形態によるモータ制御装置1を備えるロボットコントローラ200によれば、1つのメインCPU11にて、少なくとも1つのロボット内の複数のモータの位置指令値や複数のロボット内の複数のモータの位置指令値を計算できるので、複数のCPUにてロボット内の複数のモータの位置指令値を計算する場合に比べ、データ通信のオーバーヘッド無く各軸の位置指令の同期及び補間が可能となる。
【0061】
また、本開示の実施形態によるモータ制御装置1を備えるロボットコントローラ200によれば、1つのメインCPU11において、複数のロボットのいずれかで発生し得る各種エラーの一元管理が可能であるので、例えば複数のロボットのいずれかで異常が発生しても、迅速にロボットの各種リトラクト動作や停止動作をとることができる。
【0062】
また、本開示の実施形態によるモータ制御装置1を備えるロボットコントローラ200によれば、ロボットの数及び当該ロボット内に設けられるモータの数に応じて1つのメインCPU11接続される集積回路12(例えば標準的な制御軸数用に構成された特定用途目的集積回路)の数を適宜調整するだけでロボットコントローラ200を構成することができるので、モータの数(制御軸数)に応じたロボットコントローラ200の設計が容易であり、ロボットコントローラ200自体の価格の上昇を抑制することができる。例えば、市場に多く出回る標準的な数の制御軸数を有するロボットコントローラ200を大量に生産しつつ、市場にはあまり出回らない非常に多くの数の制御軸数を有するロボットコントローラ200については標準的な数の制御軸数を有するロボットコントローラ200において集積回路12の数を適宜増やすことで生産する、といった生産管理が可能となるので、ロボットコントローラ200自体の価格の上昇を抑制することができる。
【0063】
また、本開示の実施形態によるモータ制御装置1を備えるロボットコントローラ200によれば、ロボットごとあるいはロボット内のモータごとで個別に制御周期を設定することが容易であり、ロボットを駆動する各モータのモータインタフェースに対応して通信周期を設定することも容易であるので、集積回路12の処理性能及び通信帯域の効率な使用が可能となる。これにより、例えば、ある集積回路12では高速な制御周期で高速ロボット内のモータの制御を行い、他の集積回路12では低速な制御周期で低速ロボット内のモータの制御を行うといった使い分けが可能である。
【0064】
本開示の実施形態によるモータ制御装置1は、少なくとも1つの機械及び少なくとも1つのロボットの両方を制御する統合コントローラシステムに用いることができる。統合コントローラシステムは、モータ制御装置1を備え、集積回路と当該集積回路に対応して接続されたサブCPUとからなる複数の組のうちの少なくとも1組にて、機械内のモータのうちの当該組に対応する少なくとも1つのモータを制御し、これら複数の組のうちの上記少なくとも1組とは異なる組にて、ロボットの駆動源となる少なくとも1つのモータを制御する。機械には、例えば工作機械、鍛圧機械、射出成形機、産業機械などがある。ここでは一例として、本開示の実施形態によるモータ制御装置1を、加工軸及び周辺軸を備える少なくとも1つの工作機械及び少なくとも1つのロボットの両方を制御する統合コントローラシステムに用いた例について説明する。図6は、本開示の実施形態によるモータ制御装置を備える統合コントローラシステムを示す構成図である。
【0065】
本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300は、少なくとも1つの工作機械及び少なくとも1つのロボットの両方を制御するものである。すなわち、統合コントローラシステム300は、工作機械を制御する数値制御装置100及びロボットを制御するロボットコントローラ200の両方の機能を、1つのメインCPU11を介して統合したものである。メインCPU11には、数値制御装置100の機能を実現する工作機械用集積回路12-100及びこれに接続されるサブCPU13と、ロボットコントローラ200の機能を実現するロボット用集積回路12-200及びこれに接続されるサブCPU13と、が接続される。
【0066】
上述したように、集積回路12と当該集積回路12に対応して接続されたサブCPU13とからなる組にて、1つのモータを制御してもよく、複数のモータを制御してもよい。モータは、工作機械(図示せず)の加工軸及び周辺軸の駆動源として用いられる。また、モータは、ロボット(図示せず)のアーム等の駆動源やロボット自体を移動させるための駆動源として用いられる。また、協調動作するロボット内に設けられる各モータの駆動源として用いられてもよい。統合コントローラシステム300内の数値制御装置100において、集積回路12と当該集積回路12に対応して接続されたサブCPU13とからなる複数の組のうちの少なくとも1組にて、工作機械内のモータのうちの工作機械の加工軸及び周辺軸のうち少なくとも一方を駆動するモータ(図示せず)を制御する。また、統合コントローラシステム300内のロボットコントローラ200において、これら複数の組のうち上記少なくとも1組とは異なる組にて、ロボットの駆動源となる少なくとも1つのモータ(図示せず)をそれぞれ制御する。
【0067】
図6に示す例では、一例として、統合コントローラシステム300内の数値制御装置100は、工作機械用集積回路12-100を有し、統合コントローラシステム300内のロボットコントローラ200は、ロボット用集積回路12-200を有する。工作機械用集積回路12-100及び/またはロボット用集積回路12-200は、複数設けてもよい。また、工作機械用集積回路12-100には、図4を参照して説明した加工軸用集積回路12A及び周辺軸用集積回路12Bが含まれる。メインCPU11には、シリアル通信部41を介して工作機械用集積回路12-100及びロボット用集積回路12-200が接続される。メインCPU11は、工作機械内の複数のモータ及びロボット内の複数のモータに対する位置指令値を出力する。メインCPU11に接続されるDRAM31については図示を省略している。工作機械用集積回路12-100及びロボット用集積回路12-200には、シリアル通信部42を介してサブCPU13が接続される。工作機械用集積回路12-100及びロボット用集積回路12-200はそれぞれ、モータインタフェース制御部21、メインCPU用シリアルインタフェース22、及びサブCPU用シリアルインタフェース23を備える。なお、図6では、図面を簡明なものにするために、工作機械用集積回路12-100及びロボット用集積回路12-200内に設けられるオプション用シリアルインタフェース25、入出力制御部26及びペリフェラル27、並びに、工作機械用集積回路12-100及びロボット用集積回路12-200内に接続されるストレージデバイス32、ストレージクラスメモリ33及び表示インタフェース34については、図示を省略している。
【0068】
なお、工作機械用集積回路12-100は、工作機械におけるモータの位置制御に限定されず、例えば、レーザ発振器の出力制御、レーザ光の反射に用いるミラーの角度制御、プレス機構の圧力制御、放電パルス電圧のタイミング制御、あるいは機械の温度補正制御などを行ってもよい。例えば、集積回路と当該集積回路に対応して接続されたサブCPU13とからなる複数の組のうちの少なくとも1組(工作機械用集積回路12-100を含む第1~第3の組)において、第1の組にて工作機械内のモータのうちの工作機械の加工軸を駆動する少なくとも1つのモータを制御し、第2の組にて工作機械の周辺軸を駆動する少なくとも1つのモータを駆動し、第3の組にてレーザ発振器の出力制御、レーザ光の反射に用いるミラーの角度制御、プレス機構の圧力制御、放電パルス電圧のタイミング制御、あるいは機械の温度補正制御などを行ってもよい。
【0069】
本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300によれば、1つのメインCPU11にて、工作機械内の複数のモータ及びロボット内の複数のモータに対する多数のモータの位置指令値を計算できるので、複数のCPUにて工作機械及びロボット内の複数のモータの位置指令値を計算する場合に比べ、データ通信のオーバーヘッド無く各軸の位置指令の同期及び補間が可能となる。
【0070】
また、本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300によれば、1つのメインCPU11において、工作機械の加工軸及び周辺軸並びにロボットのいずれかで発生し得る各種エラーの一元管理が可能であるので、例えば加工軸及び周辺軸並びにロボットのいずれかで異常が発生しても、迅速に工作機械及び/またはロボットの各種リトラクト動作や停止動作をとることができる。
【0071】
また、本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300によれば、加工軸及び周辺軸の数並びにロボットの数に応じて(すなわちモータの数に応じて)1つのメインCPU11接続される集積回路12(例えば標準的な制御軸数用に構成された特定用途目的集積回路)の数を適宜調整するだけで統合コントローラシステム300を構成することができるので、モータの数(制御軸数)に応じた統合コントローラシステム300の設計が容易であり、統合コントローラシステム300自体の価格の上昇を抑制することができる。例えば、市場に多く出回る標準的な数の制御軸数を有する統合コントローラシステム300を大量に生産しつつ、市場にはあまり出回らない非常に多くの数の制御軸数を有する統合コントローラシステム300については標準的な数の制御軸数を有する統合コントローラシステム300において集積回路12の数を適宜増やすことで生産する、といった生産管理が可能となるので、統合コントローラシステム300自体の価格の上昇を抑制することができる。
【0072】
また、本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300によれば、工作機械用集積回路12-100とロボット用集積回路12-200とで個別に制御周期を設定することが容易であり、加工軸及び周辺軸並びにロボットの各々を駆動する各モータのモータインタフェースに対応して通信周期を設定することも容易であるので、工作機械用集積回路12-100とロボット用集積回路12-200の処理性能及び通信帯域の効率な使用が可能となる。これにより、例えば、工作機械用集積回路12-100では高速な制御周期で工作機械の加工軸駆動用のモータの制御を行い、ロボット用集積回路12-200では低速な制御周期でロボット内のモータの制御を行うといった使い分けが可能である。
【0073】
また、本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300によれば、1つのメインCPU11に工作機械用集積回路12-100及びロボット用集積回路12-200が接続される。数値制御装置100の各種処理の実行は、工作機械用集積回路12-100及びこれに接続されるサブCPU13が担い、ロボットコントローラ200の各種処理の実行は、ロボット用集積回路12-200及びこれに接続されるサブCPU13が担う。メインCPU11にて、工作機械及びロボットの両方に含まる全てのモータの位置指令値を計算することから、メインCPU11の制御ソフトウェアプログラムの構成がシンプルになる。すなわち、工作機械及びロボットについて別々の制御ソフトウェアプログラムを別々に設計する必要なく、工作機械とロボットとを分け隔てなく同一概念の下で制御ソフトウェアプログラムを設計することができるので、プログラムの開発効率が向上する。
【0074】
一般に工作機械やロボットの分野においては、ソフトウェアプログラムの改善などにより数ミリ秒単位のサイクルタイム短縮効果を積み上げる努力が行われている。本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300では、メインCPU11と工作機械用集積回路12-100及びロボット用集積回路12-200とが、シリアル通信部41で接続される。シリアル通信部41及び42としてPCI Express(登録商標)を用いた場合、その信号伝送遅延時間は、数十マイクロ秒程度であり、イーサネット(登録商標)の信号伝送遅延時間である数十~数百ミリ秒に比べて、非常に短い。統合コントローラシステム300によれば、シリアル通信部41及び42における信号伝送遅延時間が上記の通り非常に短いので、サイクルタイム短縮に非常に大きな効果がある。これに関し、統合コントローラシステム300における工作機械とロボットとの連携動作における同期及び補間について、以下に具体例をいくつか列挙する。
【0075】
例えば、工作機械のロード及びアンロードをロボットが行う場合、工作機械によるワークの加工前にロボットによるロード動作が行われ、工作機械によるワークの加工後にロボットによるアンロード動作が行われる。工作機械によるワークの加工の前後において、ロボットに対してロード要求信号及びアンロード要求信号が送られる。従来は、工具やワークの位置情報がロボットに伝わるまでに比較的大きい時間遅れ(例えば数十~数百ミリ秒)が存在することを考慮し、ロボットはその時間遅れを考慮して工具とワークとの衝突を回避しつつ移動させていたので、ロード動作及びアンロード動作に際してロボットをワーク直近に待機させることが難しく、また、ロボットの移動経路も遠回りになりがちであった。これに対し、本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300によれば、統合コントローラシステム300において、ワークの位置情報は、シリアル通信部41を介してメインCPU11と工作機械用集積回路12-100及びロボット用集積回路12-200との間で即座に伝送され、シリアル通信部42を介して工作機械用集積回路12-100及びロボット用集積回路12-200とサブCPU13との間で即座に伝送される。また、シリアル通信部41及び42における信号伝送遅延時間が上記の通り非常に短いことから、より「新鮮な」ワークの位置情報に基づいて、工作機械による加工並びにロボットによるロード動作及びアンロード動作の開始時間を決定することができる。ここで、「新鮮な」とは、センサがワークの位置情報を検出した時点と、メインCPU11が当該ワークの位置情報を取得した時点との時間差が短いという意味であり、この時間差が短いほどワークの位置情報は「より新鮮である」ということである。本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300によれば、工作機械における工具とワークの位置関係を考慮し両者が衝突しないようにしながら、工作機械による加工中においてもロボットによるロード動作及びアンロード動作を行うといったことが可能であり、サイクルタイムを短縮することができる。
【0076】
例えば、工作機械においてワークの移動中にバリ取りをロボットが行う場合、従来はバリ取り精度を維持するためには、ワークの移動速度を下げる必要があり、サイクルタイムが伸びてしまう問題があった。本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300によれば、シリアル通信部41及び42における信号伝送遅延時間が上記の通り非常に短いことから、より「新鮮な」バリ取りのためのワークの位置情報をメインCPU11は取得することができるので、ワークが移動中であっても、ワークの移動に追従して高精度なバリ取りが可能である。例えば、回転テーブル上のワークを全方位からバリ取りすることも容易である。よって、ワークに要求される精度の範囲内でワークの移動速度を早くするほど、サイクルタイムはより短縮される。
【0077】
例えば、工作機械においてエラーが発生した場合、工作機械は停止動作またはリトラクト動作を行う。工作機械にエラーが発生してからロボットコントローラへのエラーを通知するまで時間がかかると、その間にロボットは動作を続けるため、ロボットが工作機械の工具やワークに衝突したり想定外の箇所をバリ取りしたりしてしまう問題があった。本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300によれば、メインCPU11において工作機械でエラーの一元管理が可能であり、また、シリアル通信部41及び42における信号伝送遅延時間が上記の通り非常に短いことから、メインCPU11は即座にロボット用集積回路12-200にエラー情報を通知し、これに応じてロボット用集積回路12-200はロボットが即座に停止動作またはリトラクト動作をとるよう当該ロボット内のモータを制御するので、ロボットが工作機械の工具やワークに衝突することを回避することができる。
【0078】
例えば、工作機械においてエラーが発生した場合の工作機械のリトラクト動作として、正常時のアプローチと逆方向に工具を回避する動作が行われる場合がある。これはロボットからすると予見できない急な動作であり、ロボットが工作機械の工具やワークに衝突してしまう問題があった。本開示の実施形態によるモータ制御装置1を備える統合コントローラシステム300によれば、メインCPU11において工作機械でエラーの一元管理が可能であり、また、シリアル通信部41及び42における信号伝送遅延時間が上記の通り非常に短いことから、メインCPU11は即座にロボット用集積回路12-200にエラー情報とワークの位置情報を通知し、これに応じてロボット用集積回路12-200はこれに応じてロボット用集積回路12-200はロボットが即座に停止動作またはリトラクト動作をとるよう当該ロボット内のモータを制御するので、ロボットが工作機械の工具やワークに衝突することを回避することができる。
【0079】
以上、本開示の実施形態を説明したが、各種の変形例があり得るのはいうまでもない。例えば、各ICにどのような機能部分を統合するかは、仕様に応じて適宜定められるべきであり、それに応じて各種の変形例があり得る。
【符号の説明】
【0080】
1 モータ制御装置
11 メインCPU
12、12-1、12-2、12-m、12-n 集積回路
12-100 工作機械用集積回路
12-200 ロボット用集積回路
12A 加工軸用集積回路
12B 周辺軸用集積回路
12C 第1のロボット用集積回路
12D 第2のロボット用集積回路
13 サブCPU
21 モータインタフェース制御部
22 メインCPU用シリアルインタフェース(メインCPU用シリアルI/F)
23 サブCPU用シリアルインタフェース(サブCPU用シリアルI/F)
24 内部バス
25 オプション用シリアルインタフェース(オプション用シリアルI/F)
26 入出力(I/O)制御部
27 ペリフェラル
31 DRAM
32 ストレージデバイス
33 ストレージクラスメモリ
34 表示インタフェース(表示I/F)
41、42、43 シリアル通信部
100 数値制御装置
200 ロボットコントローラ
300 統合コントローラシステム
図1
図2
図3
図4
図5
図6