(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0017】
(実施形態)
本実施形態に係る数値制御システム1000の構成について説明する。本実施形態では、「産業機械に含まれる装置」として、工作機械及び産業用ロボット等に搭載されるモータ駆動装置を例示して説明するが、モータ駆動装置に限定されない。本実施形態は、モータ駆動装置以外の、「産業機械に含まれる装置」(すなわち、加工部又は加工部を含む工作機械及び産業用ロボット等(サービス用ロボットや鍛圧機械及び射出成形機といった様々な機械を含む)機械に含まれる装置)に適用できる。
図1は、本実施形態の数値制御システム1000における基本構成図並びに数値制御装置100及びモータ駆動装置200の機能ブロック図である。
図1に示す数値制御システム1000は、数値制御装置(CNC:Computerized Numerical Control)100と、n台のモータ駆動装置200−1〜200−nとを備えている。ここで、nは1以上の整数である。したがって、以下の説明において、特に断らない限り、数値制御システム1000は、1台のモータ駆動装置を備える場合、及び複数のモータ駆動装置を備える場合について適用される。
【0018】
この数値制御システム1000では、数値制御装置100が、モータ駆動装置200−1〜200−nを動作させるための制御ソフトウェアを含む各種プログラム(以下「制御プログラム」ともいう。)を管理する。そして、数値制御システム1000内のモータ駆動装置200−1〜200−nにおいて、それぞれ異なるバージョン(版数)の制御プログラムがインストールされている状態で、例えば、モータ駆動装置200−1〜200−nの制御プログラムを最新のバージョンに統一したいときに、数値制御システム1000は、数値制御装置100が、モータ駆動装置200−1〜200−nのうち最新のバージョンでない制御プログラムがインストールされているモータ駆動装置200の制御プログラムを最新のバージョンのプログラムに更新させる。
以下の説明において、個々のモータ駆動装置200−1〜200−nを特に指定しない場合には、単にモータ駆動装置200という。
【0019】
数値制御装置100と、複数のモータ駆動装置200とは、通信可能に接続されている。なお、数値制御装置100と、複数のモータ駆動装置200とは、接続インタフェースを介して直接接続されても、また、LAN(Local Area Network)等のネットワークを介して接続されてもよい。以下、この通信可能に接続する部分を接続インタフェースともいう。
数値制御装置100は、各モータ駆動装置200を制御することにより、各モータ駆動装置200に所定の動作を行わせるための装置である。
また、本実施形態の数値制御装置100は、モータ駆動装置200に対してモータ駆動装置200の制御プログラムを書き込む。さらに、数値制御装置100は、モータ駆動装置200の制御プログラムに係るプログラム本体及び当該制御プログラムのバージョン情報を管理する。
【0020】
まず、数値制御装置100について説明する。
図1を参照すると、数値制御装置100は、制御部110と、記憶部120と、表示部130と、入力部140と、通信部150とを備える。
制御部110は、CPU(中央処理装置)であってよく、記憶部120に記憶された数値制御装置100を制御する各種制御プログラムを実行することにより数値制御装置100を統括制御する。
本実施形態では、制御部110は、記憶部120に記憶されたプログラムに基づく機能部として、データ取得部111と、記憶制御部112と、照合部114と、表示制御部115と、受付部116と、プログラム決定部117と、プログラム書込部118とを備える。なお、数値制御装置100は、これらの機能部以外に、数値制御装置特有の機能部を含むが、当業者にとって公知であることから、説明は省略する。
制御部110の各機能部の説明の前に、まず、記憶部120について説明する。
【0021】
記憶部120は、例えば、不揮発性メモリである。記憶部120は、制御部110により実行される各種制御プログラムの他、プログラム管理記憶部121と、装置管理記憶部122とを備える。
図4に記憶部120に記憶される概要を示す。
図4に示すように、プログラム管理記憶部121は、制御プログラムのプログラム本体と、当該制御プログラムのバージョン情報とを対応付けて記憶する記憶領域である。プログラム管理記憶部121は、バージョン情報に対応付けられた制御プログラムを複数記憶可能である。これにより、プログラム管理記憶部121は、制御プログラムの世代管理を行うことができる。なお、プログラム管理記憶部121は、後述のデータ取得部111により取得される各モータ駆動装置200に記憶されている制御プログラム、及び外部装置(例えばPC)により書き込まれた制御プログラム等を記憶管理する。
【0022】
図4に示すように、装置管理記憶部122は、モータ駆動装置200を識別する装置ID(IDentification)に対応付けて、各モータ駆動装置200に記憶されている制御プログラムのバージョン情報を記憶する記憶領域である。装置管理記憶部122は、各モータ駆動装置200ごとに対応付けるバージョン情報として、各モータ駆動装置200で実行中の制御プログラムに対応するバージョン情報を対応付けて記憶してもよいし、各モータ駆動装置200の記憶領域に記憶された全ての制御プログラムに対応するバージョン情報を対応付けて記憶してもよい。また、装置管理記憶部122は、各モータ駆動装置200に記憶された制御プログラムの最新のバージョン情報のみを対応付けて記憶してもよい。
【0023】
次に、制御部110の各機能部について説明する。
データ取得部111は、各モータ駆動装置200に既に記憶されている制御プログラムを、各モータ駆動装置200から取得する。また、データ取得部111は、各モータ駆動装置200に既に記憶されている制御プログラムのバージョン情報を、各モータ駆動装置200から取得する。
記憶制御部112は、データ取得部111が各モータ駆動装置200から取得した制御プログラムを、取得した制御プログラムのバージョン情報に対応付けてプログラム管理記憶部121に記憶させる。また、記憶制御部112は、データ取得部111が各モータ駆動装置200から取得した制御プログラムのバージョン情報を、各モータ駆動装置200の装置IDに対応付けて、装置管理記憶部122に記憶させる。
照合部114は、データ取得部111が各モータ駆動装置200から取得した制御プログラムのバージョン情報と、プログラム管理記憶部121に記憶されている各制御プログラムのバージョン情報とを照合する。
【0024】
表示制御部115は、例えば、装置管理記憶部122に記憶された各モータ駆動装置200に記憶されている制御プログラムのバージョン情報と、プログラム管理記憶部121に記憶された制御プログラムのうち、最新のバージョン情報とを表示部130に表示させる。
また、表示制御部115は、例えば、照合部114による照合の結果、装置管理記憶部122に記憶された、あるモータ駆動装置200に記憶されている制御プログラムのバージョン情報が、プログラム管理記憶部121に記憶された制御プログラムの最新のバージョン情報と一致しない場合に、装置管理記憶部122に記憶された、当該モータ駆動装置200に記憶されている制御プログラムのバージョン情報と、プログラム管理記憶部121に記憶された制御プログラムの最新のバージョン情報とを表示部130に表示させてもよい。
受付部116は、入力部140から、ユーザの指示データを受け付ける。例えば、指示データは、表示部130に表示された表示画面を介して入力されてもよい。
【0025】
プログラム決定部117は、例えば、受付部116が受け付けた指示データに基づいてモータ駆動装置200を特定し、特定したモータ駆動装置200に対して、指示データに基づく制御プログラムを書き込むことを決定する。
また、プログラム決定部117は、例えば、受付部116が受け付けた指示データに基づいて、特定したモータ駆動装置200に最新のバージョン情報を有する制御プログラムを書き込むことを決定してもよい。
さらに、プログラム決定部117は、例えば、受付部116が受け付けたバージョン情報を有する制御プログラムを、全てのモータ駆動装置200に書き込むことを決定してもよい。
さらにまた、プログラム決定部117は、例えば、受付部116による指示に基づかなくても、プログラム管理記憶部121に記憶された最新のバージョン情報を有する制御プログラムを、該当の制御プログラムを有していないモータ駆動装置200に書き込むことを決定してもよい。
プログラム書込部118は、プログラム決定部117により決定した制御プログラムを、決定したモータ駆動装置200に書き込む。
【0026】
表示部130は、例えば、LCD(Liquid Crystal Display)等の表示装置である。
入力部140は、例えば、キーボードやマウス等の入力装置である。
通信部150は、接続インタフェースを介して、モータ駆動装置200との間で通信を行う。
【0027】
次に、モータ駆動装置について説明する。
モータ駆動装置200は、数値制御装置100が出力する、例えば位置指令に基づいて、部品等のワークに対して切削加工等の所定の加工を行うために各軸のモータを駆動させる装置である。
【0028】
モータ駆動装置200は、制御部210と、記憶部220と、通信部250とを備える。
制御部210は、記憶部220に記憶された制御プログラムを含む各種プログラムを実行することによりモータ駆動装置200を統括制御する。
本実施形態では、制御部210は、記憶部220に記憶されたプログラムに基づく機能部として、データ送出部211と、書込許可部212と、切替部213とを備える。
なお、モータ駆動装置200は、これらの機能部以外に、モータ駆動装置200に特有の機能部を含むが、当業者にとって公知であることから、説明は省略する。制御部210の各機能部の説明の前に、記憶部220について説明する。
【0029】
記憶部220は、例えば、不揮発性メモリである。記憶部220は、制御部210により実行されるプログラムを含む制御プログラムを記憶するプログラム記憶部221を備える。
制御プログラムは、モータ駆動装置200を制御する制御プログラムである。
プログラム記憶部221は、第1領域222と、第2領域223とを備えてもよい。
【0030】
第1領域222と、第2領域223とは、共に制御プログラムを記憶する記憶領域である。一般にモータ駆動装置200のプログラム記憶部221は、記憶領域が小さい。そのため、制御プログラムを、第1領域222と、第2領域223との少なくとも一方に記憶させる。第1領域222と、第2領域223とは、同じ大きさであってよい。そして、第1領域222と、第2領域223とのいずれか一方に制御プログラムを記憶してもよいし、両方に制御プログラムを記憶してもよい。但し、両方に制御プログラムを記憶させる場合には、第1領域222と、第2領域223とは、異なるバージョン情報の制御プログラムにする。
【0031】
なお、プログラム記憶部221は、2つの記憶領域(第1領域222及び第2領域223)を備えることに限定されない。2以上の複数の第m領域(2≦m)を備えてもよい。この場合、プログラム記憶部221にm世代分の制御プログラムを記憶することができる。その際、制御プログラムを書き込む場合、ラウンドロビン方式で、古いバージョン情報の制御プログラムを記憶した記憶領域に、上書きをするようにしてもよい。
より具体的には、現在使用しているバージョンの機械工作プログラムを記憶している現世代の記憶領域、前回使用したバージョンの機械工作プログラムを記憶している1世代前の記憶領域等を判別できるように、例えば世代情報を各記憶領域に記憶する等により管理することができる。
【0032】
次に、制御部210の備える各機能部について説明する。
データ送出部211は、数値制御装置100からの要求に応じて、プログラム記憶部221に記憶された制御プログラム本体を送出する。また、データ送出部211は、数値制御装置100からの要求に応じて、プログラム記憶部221に記憶された制御プログラム本体及び/又は、当該プログラムのバージョン情報を送出する。プログラム記憶部221に複数の制御プログラムが記憶されている場合、データ送出部211は、複数の制御プログラムの本体及びバージョン情報を送出してもよいし、最新のバージョン情報の制御プログラム本体及び/又は、バージョン情報を送出してもよい。
書込許可部212は、数値制御装置100から書き込み指示を受け付けた制御プログラムのプログラム記憶部221への書き込みを許可する。そうすることで、制御プログラムは、プログラム記憶部221に書き込まれる。
切替部213は、プログラム記憶部221に記憶された複数の制御プログラムのうち、実行する制御プログラムを切り替える。
より具体的には、切替部213は、第1領域222及び第2領域223の世代の切り替えを行う。すなわち、現在実行中の制御プログラムの記憶されている領域を1世代前とし、新たに制御プログラムの書き込まれた領域を現世代とするように世代情報を更新する。この切替のタイミングは、書き込みが終了したタイミングでもよいし、実行中の制御プログラムが待機状態になったときでもよい。
なお、制御プログラムの書き込みに失敗した場合、切替部213は、切り替えを行わずに、現在実行中の制御プログラムを現世代として維持する。
通信部250は、接続インタフェースを介して、数値制御装置100との間で通信を行う。
【0033】
以上、数値制御システム1000の各装置の概略と、数値制御装置100及びモータ駆動装置200に含まれる機能ブロックと、について説明した。
なお、上記の数値制御システム1000に含まれる各装置のそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
具体例として、数値制御装置100は、一般的な数値制御装置に、本実施形態を実現するためのアプリケーションソフトウェアを組み込むことにより実現できる。また、モータ駆動装置200は、一般的なモータ駆動装置に、本実施形態を実現するためのアプリケーションソフトウェアを組み込むことにより実現できる。
【0034】
(処理例1)
次に、本実施形態に係る数値制御装置100を用いてモータ駆動装置200の制御プログラムを管理する場合の処理の一例を、
図2から
図5を参照しながら説明する。ここでは、数値制御装置100に対して2以上のモータ駆動装置200が、接続インタフェースを介して通信可能に接続されている。
数値制御装置100とモータ駆動装置200とが双方向に制御プログラムを書き換えることを利用して、例えば、いずれかのモータ駆動装置200に最新のバージョン情報の制御プログラムが書き込まれている場合に、他のモータ駆動装置200に記憶された制御プログラムを、当該最新のバージョン情報の制御プログラムに変更する処理について説明する。
図2及び
図5は、本実施形態における数値制御装置100での表示画面例を示す図である。
図3は、本実施形態における数値制御装置100の制御プログラム更新処理を示すフローチャートである。
図4は、本実施形態における数値制御装置の記憶部120の例を示す図である。
【0035】
まず、数値制御装置100は、各モータ駆動装置200との間で通信が確立されているものとする。そして、数値制御装置100は、この制御プログラム更新処理を、例えば、数値制御装置100の入力部140を介して入力される作業者の指示によって開始する。
具体的には、数値制御装置100の作業者が、入力部140を操作することで、表示制御部115は、例えば、
図2に示すような全体メニュー画面410を、表示部130に表示させる。そして、作業者が「モータ駆動装置の制御ソフトウェア更新」を選択操作することで、数値制御装置100の制御部110は、本処理を開始する。
【0036】
以下、
図3を参照しながら、各ステップにおける処理内容を説明する。ここで、「Snn」は、ステップSnnを意味する。
S10において、数値制御装置100のデータ取得部111は、各モータ駆動装置200に対して制御プログラムのバージョン情報を要求する。
各モータ駆動装置200は、数値制御装置100からの要求を受けて、データ送出部211が、プログラム記憶部221の第1領域222及び第2領域223に記憶されている制御プログラムのバージョン情報を送出する。ここで、第1領域222及び第2領域223のいずれか一方にのみ制御プログラムが記憶されている場合には、データ送出部211は、記憶されている1つの制御プログラムのバージョン情報を送出する。他方、第1領域222及び第2領域223の両方に制御プログラムが記憶されている場合には、データ送出部211は、両方の制御プログラムのバージョン情報を送出してもよいし、最新のバージョン情報のみを送出してもよい。
【0037】
S11において、データ取得部111は、各モータ駆動装置200が送出したバージョン情報を取得する。そして、記憶制御部112は、取得したバージョン情報を、取得元のモータ駆動装置200の装置IDに対応付けて、装置管理記憶部122に記憶させる。
図4に示す装置管理記憶部122は、S11によって記憶されたものである。
図4の例では、数値制御装置100は、装置IDがSID01〜SID05に対応するモータ駆動装置200−1〜200−5の5台のモータ駆動装置200に対して通信接続されている。そして、モータ駆動装置200−5は、例えば、新しく導入した装置であるため、制御プログラムのバージョン情報が、他のモータ駆動装置200よりも新しい。
【0038】
S12において、照合部114は、プログラム管理記憶部121に記憶されている各制御プログラムのバージョン情報と、装置管理記憶部122に記憶された各モータ駆動装置200に記憶されている制御プログラムのバージョン情報とを照合する。そして、照合部114は、装置管理記憶部122に記憶された各モータ駆動装置200に記憶されている制御プログラムのバージョン情報の制御プログラムを、プログラム管理記憶部121が記憶しているか否かを判断する。各モータ駆動装置200から取得したバージョン情報の制御プログラムがプログラム管理記憶部121に記憶されている場合(S12:YES)には、照合部114は、処理をS15に移し、他方、プログラム管理記憶部121に記憶されていない場合(S12:NO)には、照合部114は、処理をS13に移す。
例えば、
図4に示すプログラム管理記憶部121は、制御プログラムのバージョン情報が「1」と「2」とについての制御プログラムを記憶している。しかし、装置管理記憶部122に記憶されたバージョン情報が「3」の制御プログラムを記憶していない。そのため、S12では、NOと判定され、S13に遷移する。
【0039】
S13において、データ取得部111は、装置管理記憶部122に記憶されているが、プログラム管理記憶部121に記憶されていないバージョン情報を、装置管理記憶部122から抽出し、抽出したバージョン情報に対応したモータ駆動装置200に対して、抽出したバージョン情報の制御プログラム本体を要求する。
数値制御装置100からの要求を受けたモータ駆動装置200は、データ送出部211が、プログラム記憶部221に記憶されている該当のバージョン情報が「3」の制御プログラムを送出する。
【0040】
図4に示す具体例で説明すると、データ取得部111は、装置管理記憶部122に記憶されているが、プログラム管理記憶部121に記憶されていないバージョン情報として「3」を抽出する。そして、データ取得部111は、バージョン情報が「3」に対応する装置IDがSID05のモータ駆動装置200−5に対して、バージョン情報が「3」の制御プログラム本体を要求する。
数値制御装置100からの要求を受けたモータ駆動装置200−5は、データ送出部211が、プログラム記憶部221に記憶されているバージョン情報が「3」の制御プログラムを送出する。
【0041】
S14において、データ取得部111は、該当のモータ駆動装置200が送出した制御プログラムを取得する。そして、記憶制御部112は、取得した制御プログラムを、バージョン情報に対応付けてプログラム管理記憶部121に記憶させる。
こうして、
図4に示すプログラム管理記憶部121には、バージョン情報が「3」の制御プログラムが、追加して記憶される。
【0042】
S15において、照合部114は、プログラム管理記憶部121に記憶されている各制御プログラムのバージョン情報と、装置管理記憶部122に記憶された各モータ駆動装置200に記憶されている制御プログラムのバージョン情報とを照合する。
S16において、照合部114は、装置管理記憶部122に記憶された各モータ駆動装置200に記憶されている制御プログラムのバージョン情報が、プログラム管理記憶部121に記憶されている制御プログラムの最新のバージョン情報に一致するか否かを判断する。一致する場合(S16:YES)には、数値制御装置100は、本処理を終了する。一致する場合とは、各モータ駆動装置200には、最新のバージョン情報の制御プログラムが記憶されている場合であり、モータ駆動装置200に制御プログラムを書き込む必要がない。
他方、一致しない場合(S16:NO)には、照合部114は、処理をS17に移す。
S17において、表示制御部115は、作業者が確認するための画面を生成し、表示部130に表示させる。
【0043】
以上のように、例えば、
図4に示すように、モータ駆動装置200−5を除くモータ駆動装置200−1〜200−4の制御プログラムのバージョンが、最新のバージョン情報の「3」ではない(S16がNO)。そこで、表示制御部115は、
図2に示す更新メニュー画面420を、表示部130に表示させる。
作業者は、更新メニュー画面420を参照し、制御プログラムの更新方法を決定する。ここで、作業者が更新メニュー画面420で「システム内の適切な最新ソフトウェアで統一」を選択することで、表示制御部115は、次に、選択指定画面430を表示させる。選択指定画面430は、最新の制御プログラムのバージョン情報と、それを全てのモータ駆動装置200に対して転送する旨を問い合わせるものである。作業者が選択指定画面430で「はい」を選択することで、バージョン情報が「3」の制御プログラムが、バージョン情報が「3」の制御プログラムを有さないモータ駆動装置200−1〜200−4に転送されることになる。
【0044】
S18において、受付部116は、作業者による入力部140を介した選択操作を受け付ける。そして、プログラム決定部117は、受付部116が受け付けた選択操作に対応したバージョン情報の制御プログラムを、モータ駆動装置200に書き込むものとして決定する。
S19において、プログラム書込部118は、決定したバージョン情報の制御プログラムを、そのバージョン情報の制御プログラムを有さない全てのモータ駆動装置200に対して書き込む。その後、表示制御部115は、例えば、
図2に示す処理結果画面440を表示部130に表示させ、本処理を終了する。
【0045】
制御プログラムの更新対象となるモータ駆動装置200(
図4の例では、モータ駆動装置200−1〜200−4)では、数値制御装置100からの要求に基づいて、書込許可部212が、プログラム記憶部221への制御プログラムの書き込みを許可する。そうすることで、モータ駆動装置200のプログラム記憶部221には、制御プログラムが書き込まれる。
ここで、モータ駆動装置200は、制御プログラムを書き込むための書込プログラムを予め有しており、書込プログラムによって、制御プログラムがプログラム記憶部221に書き込まれる。
【0046】
なお、制御プログラムの書き込みをする領域は、第1領域222及び第2領域223のうち、制御プログラムが書き込まれていない方の領域である。ここで、第1領域222と、第2領域223との両方に制御プログラムが書き込まれている場合には、制御部210は、制御プログラムの書き込みをする領域を、第1領域222及び第2領域223のうち、古いバージョン情報の制御プログラムが書き込まれている方の領域に自動的に決定してもよい。また、数値制御装置100の表示部130に、
図5に示すような、消去指定画面435を表示させ、作業者に消去方法を指定させてもよい。
【0047】
そして、切替部213は、実行中の制御プログラムと、数値制御装置100によって書き込まれた制御プログラムとを切り替える。つまり、実行中の制御プログラムから、新たにモータ駆動装置200に書き込みがされた制御プログラムに、実行する制御プログラムを切り替える。
より具体的には、切替部213は、第1領域222及び第2領域223の世代の切り替えを行う。すなわち、現在実行中の制御プログラムの記憶されている領域を1世代前とし、新たに制御プログラムの書き込まれた領域を現世代とするように世代情報を更新する。この切替のタイミングは、書き込みが終了したタイミングでもよいし、実行中の制御プログラムが待機状態になったときでもよい。
なお、制御プログラムの書き込みに失敗した場合、切り替えを行わずに、現在実行中の制御プログラムを現世代として維持する。
【0048】
(処理例2)
処理例1では、全てのモータ駆動装置200に書き込む制御プログラムのバージョン情報を指定するケースについて説明したが、これに対して、制御プログラムのバージョン情報の他に、書き込みをするモータ駆動装置200を個々に指定して、指定に基づく制御プログラムを、指定に基づくモータ駆動装置200に書き込むこともできる。処理例2では、制御プログラムのバージョン情報と、モータ駆動装置200とを個々に指定するものについての動作例を説明する。なお、説明に際しては、処理例1と同じ処理内容については、説明を省略し、処理例1と異なる処理について説明する。
【0049】
図6は、本実施形態における数値制御装置100での他の表示画面例を示す図である。
処理例2においては、例えば、S17において、表示部130に、
図2に示す更新メニュー画面420が表示された際に、作業者が、更新メニュー画面420で「対象とソフトウェアを選択して更新」を選択することで、表示制御部115は、
図6に示す選択指定画面430−2を、表示部130に表示させる。
そこで、作業者は、表示部130を参照し、モータ駆動装置200の名称と、制御プログラムのバージョン情報とを1つずつ指定することで、S18において、プログラム決定部117は、受付部116が受け付けた選択操作に対応したバージョン情報の制御プログラムを、受付部116が受け付けたモータ駆動装置200に書き込むものとして決定する。
【0050】
以上のように、作業者が、制御プログラムのバージョン情報とモータ駆動装置200とを指定することで、数値制御装置100のプログラム書込部118は、指定に基づく制御プログラムを、指定に基づくモータ駆動装置200に書き込ませることができる。よって、作業者が確認をしながら、モータ駆動装置200ごとに異なるバージョン情報の制御プログラムを書き込ませることができる。
【0051】
以上のように、数値制御システム1000においては、数値制御装置100と、各モータ駆動装置200との間で制御プログラムの双方向通信を行うことができるので、モータ駆動装置200から数値制御装置100に対して制御プログラムを送信し、数値制御装置100から他のモータ駆動装置200に対して制御プログラムを送信することができる。
【0052】
また、数値制御システム1000においては、数値制御装置100が、各モータ駆動装置200に記憶された制御プログラムを、バージョン情報を含めて記憶するので、数値制御装置100は、モータ駆動装置200の制御プログラムについて、世代管理を行うことができる。
これは、モータ駆動装置200では、制御プログラムを記憶させるプログラム記憶部221の記憶容量が小さいのに対し、数値制御装置100の記憶容量が比較的大きいことを利用するものである。よって、数値制御装置100が、モータ駆動装置200の制御プログラムをバックアップする役目を担うことができる。
【0053】
そして、数値制御システム1000においては、数値制御システム1000の内部(数値制御装置100又はモータ駆動装置200)で最新のバージョン情報の制御プログラムがあれば、外部装置等を繋ぐことなく、数値制御システム1000の内部で最新のバージョン情報の制御プログラムに自己更新をすることができる。
【0054】
モータ駆動装置200は、プログラム記憶部221に少なくとも2つの制御プログラムを記憶する領域を有することで、数値制御装置100による制御プログラムの書き込みに失敗した場合であっても、予め記憶された制御プログラムを実行させればよく、書込み失敗時に、早期に回復を行うことができる。
【0055】
本発明で使用する制御プログラムを初めとするプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0056】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0057】
(変形例1)
上述した実施形態では、数値制御装置100が複数台のモータ駆動装置200に対して通信接続されたものとして説明したが、これに限定されない。数値制御装置100が1台のモータ駆動装置200に対して通信接続されたものであってもよい。
【0058】
(変形例2)
上述した実施形態では、モータ駆動装置200が新たに設置され、数値制御装置100に接続された場合を例に説明したが、これに限定されない。既設のモータ駆動装置200を、新しいモータ駆動装置200にリプレースした場合等であっても同様である。
【0059】
(変形例3)
上述した実施形態では、新たに設置されたモータ駆動装置200に、最新のバージョン情報の制御プログラムが記憶された場合について説明したが、これに限定されない。数値制御装置100に端子部を設けて外部装置を接続し、外部装置から最新のバージョン情報の制御プログラムを数値制御装置100にインストールさせてもよい。
同様に、モータ駆動装置200に端子部を設けて外部装置を接続し、外部装置から最新バージョンの制御プログラムをモータ駆動装置200にインストールさせてもよい。
【0060】
(変形例4)
上述した実施形態では、モータ駆動装置200の型番(種類情報)が同じ(同種類)のものである例を説明したが、これに限定されない。モータ駆動装置200の型番が異なる場合であってもよい。その場合には、数値制御装置100は、制御プログラムに、適用可能なモータ駆動装置200の型番情報を対応付けて記憶する。そして、モータ駆動装置200の型番に応じて、最新のバージョン情報の制御プログラムを転送するようにすればよい。
【0061】
(変形例5)
上述した実施形態の具体例では、作業者が指定することで、制御プログラム更新処理を開始するものを説明したが、これに限定されない。制御プログラム更新処理を、例えば、月に1回等の所定のタイミングで開始するものであってもよい。その場合には、例えば、システム内の適切なソフトウェアで統一するものとすれば、作業者による選択操作を行うことなく、自動で最新のバージョン情報の制御プログラムを、数値制御システム1000の全てのモータ駆動装置200に適用できる。
【0062】
(変形例6)
上述した実施形態の具体例では、数値制御装置100が、まず、各モータ駆動装置200に記憶された制御プログラムのバージョン情報を取得し、当該バージョン情報の制御プログラムを数値制御装置100が有していない場合に、そのバージョン情報の制御プログラム本体を当該モータ駆動装置200に対して要求するケースを説明したが、これに限定されない。数値制御装置100は、各モータ駆動装置200に記憶された制御プログラムとバージョン情報とを同時に取得してもよい。
【0063】
(変形例7)
上述した実施形態及び各変形例は、「産業機械に含まれる装置」としてのモータ駆動装置200を例に説明したが、これに限定されない。モータ駆動装置以外の他の産業機械(すなわち、工作機械及び産業用ロボット等(サービス用ロボットや鍛圧機械及び射出成形機といった様々な機械を含む)の機械)に含まれる装置、例えば、工作機械等に搭載されるレーザ加工装置に含まれるレーザ発振器等に対しても適用することができる。その場合、モータ駆動装置200の制御プログラムに換えて、当該装置(例えば、レーザ発振器等)の制御プログラムに適用することができる。