説明

NC工作機械の制御プログラムの更新方法及び装置

【課題】NC工作機械及びこれに付設された機器の動作を制御する制御プログラムの更新方法及び装置に関し、不要なバージョンアップを避け、稼動している各工作機械ごとに最適なバージョンの制御プログラムを通信ネットワークを使って配信することを可能にする。
【解決手段】NC工作機械の制御プログラムが実行した動作ないしモジュールを識別する履歴名を制御器にを記憶させ、配信サーバには当該制御プログラムの複数バージョンについての更新プログラムを更新された動作ないしモジュールを識別する照合名と共に記憶させ、上記制御器に搭載されている制御プログラムのバージョン情報と記憶した履歴名とを配信サーバに送信し、この送信を受けた配信サーバに前記照合名に前記履歴名が含まれる最新バージョンへのバージョンアッププログラムを制御器に送信させる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、NC工作機械及びこれに付設された機器の動作を制御する制御プログラムの更新方法及び装置に関するものである。
【背景技術】
【0002】
NC工作機械の制御器(NC装置ないしCNC装置)には、機械各部の動作を制御する制御プログラムが搭載されており、当該制御プログラムは、加工プログラム(NCプログラム)に記述されたコードを順次読み込んで当該コードに対応する動作を機械に実行させることにより、ワークの加工を行う。
【0003】
制御プログラムは、通常、加工プログラムのコードに対応する多数のモジュール(各コードに割当てられた動作ないし機能を実現するように纏められたプログラム又はプログラム群)で構成されており、例えば新たな種類の加工動作、新たな種類のワークハンドリング動作が追加されたときは、制御プログラムにその新たな動作に対応するモジュールが追加される。また、加工時間の短縮などを目的として既存の加工動作やハンドリング動作を修正するときや新たに発見されたプログラムバグを修正するときは、その動作に対応するモジュールを修正することにより行われる。
【0004】
このような制御プログラムの追加や修正により、制御プログラムには幾種類かのバージョンが生ずることになる。客先工場で稼働している既存の工作機械は、その販売時期や客先の注文に応じて、異なったバージョンの制御プログラムが搭載されている。プログラムバグが修正されたときなどは、新しい制御プログラムを配布して更新インストールしてもらうか、更新プログラムをインストールして実行してもらうことにより、制御プログラムを新しいものに更新するのが一般的である。
【0005】
インターネットを始めとするコンピュータ通信ネットワークが発達した今日では、バグの修正やセキュリティの改善を目的としたプログラムの更新は、プログラム製造元のサーバからネットワーク経由で配信され、旧バージョンの制御プログラムがインストールされたコンピュータに自動インストール(自動バージョンアップ)されるのが普通であり、制御器にネットワーク接続機能を持たせ、当該ネットワークを介したプログラム更新手順を登録しておくことにより、工作機械の制御プログラムもこのような方法でバージョンアップすることができる。
【特許文献1】特開2002−373079号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
NC装置やCNC装置で制御される近時の工作機械は、複雑で多様な形状のワークを同一機台上で連続加工できるように、非常に多くの機能(加工動作やハンドリング動作、緊急停止や自動段取替え動作など)を備えており、客先からの要求に応じて機能の修正や新たな機能の追加が行われ、そのたびに制御プログラムのバージョンアップが行われることになる。
【0007】
このような機能の追加や修正は、制御プログラムのモジュールの追加や修正により行われるので、ある機能に対応するモジュールの追加や修正があっても、他のモジュールで実現されている機能に影響が出ないのが本来であるが、プログラム言語に適切なコマンドがない、モジュールの独立性を完全に確保しようとすると、モジュールが膨大になるあるいは動作速度が低下する、複数のモジュール間で共通する制御の統一的な処理ができない、などに起因して、モジュールの完全な独立性を実現できないことも往々にして起こる。
【0008】
そのような場合に、機能の改良や追加のための制御プログラムのバージョンアップが、他の機能の実行を不安定にする等の問題を生じさせることがある。プログラマがこの影響を認識できれば、当然影響を受けるモジュールに対してもプログラムの修正を行うこととなるが、プログラマがその影響を見落とすと、ある機能の改良や追加のためになされたバージョンアップによって他の機能に旧バージョンでは存在しなかった不具合(バグ)が発生することになる。
【0009】
工作機械には、一般的に広く利用される機能と、特殊なワークの加工を行うときにしか用いられないような機能とがあり、これらを制御するモジュールがすべて制御プログラムに含まれている。一方、工作機械を使用するユーザは、そのユーザ又は工場ごとにワークの形状や加工方法に特徴があり、ある機能がある工場の工作機械ではよく使われるが、他の工場の工作機械では全く使われないということが起こる。
【0010】
ある機能の追加や修正を行うためのバージョンアップは、そのような機能を全く使わないユーザの工作機械の制御プログラムにとっては不要なバージョンアップであり、もしそのバージョンアップによって当該ユーザが常に使用する機能に予期しないバグが発生していたとしたら、当該バージョンアップは機能低下やトラブル発生の原因となりかねない。
【0011】
従って、制御プログラムの最新バージョンへのバージョンアップは、旧バージョンの制御プログラムを搭載しているすべての工作機械に対して有益であるとは言えない。この問題は、ユーザに配布するバージョンアップ用の更新プログラムに追加ないし修正された機能の一覧を表示させ、その表示画面で更新を希望する機能をユーザや工作機械のオペレータに選択させるようにすることで回避できると考えられる。
【0012】
しかし、現実には使用している工作機械がどの機能を使って動作しているかまでユーザやオペレータは認識していないので、更新すべき機能を適切に選択することは殆ど不可能であり、すべてを更新してしまう(最新バージョンにしてしまう)のが普通である。
【0013】
この発明は、上記のような問題、すなわち不要な、あるいは場合によっては不利益となるバージョンアップを避け、稼動している各工作機械ごとに最適なバージョンの制御プログラムを通信ネットワークを使って配信することが可能な技術手段を提供することを課題としている。
【課題を解決するための手段】
【0014】
この出願の請求項1の発明は、NC工作機械を制御している制御器にその制御器に搭載されている制御プログラムが実行した動作ないしモジュールの識別名(以下及び特許請求の範囲において「履歴名」と言う。)を記憶させ、配信サーバ1には当該制御プログラムの複数バージョンについての更新プログラムを更新された動作ないしモジュールの識別名(以下及び特許請求の範囲において「照合名」と言う。)と共に記憶させ、上記制御器に搭載されている制御プログラムのバージョン情報と記憶した履歴名とを通信ネットワークを介して上記配信サーバに送信し、この送信を受けた配信サーバに前記照合名に前記履歴名が含まれる最新バージョンへのバージョンアッププログラムを前記送信した制御器に送信させる、NC工作機械用制御プログラムの更新方法を提供することにより、上記課題を解決したものである。
【0015】
上記方法の実施に際しては、個々のNC工作機械5を制御する制御器4に、当該工作機械でどのような機能が実行されたかを記録する履歴テーブル14を持たせる。この履歴テーブル14には、制御プログラムが実行した機能に対応する動作名やモジュール名などを履歴名として記録する。各機能ごとにそれが実行された回数をカウントするようにすればよいが、実行されたことがあるかどうかを0と1とで記録するものであってもよい。履歴名は、実行された後に記録してもよいが、新しいワークの加工のための加工プログラムがロードされたときに、その加工プログラムで実行されるコードを先読みして記録するようにすれば更によい。
【0016】
バージョンアップのための更新プログラムを配信する配信サーバ1は、バージョン毎に、そのバージョンで追加ないし修正されたモジュールを含む更新プログラムとそれらの追加ないし修正モジュールの動作名ないしモジュール名を照合名として記憶している。
【0017】
配信サーバ1は、インターネットなどの通信ネットワーク2に接続され、制御器4は、それ自体が又はLANで接続された集中管理装置3を介して、前記通信ネットワーク2接続されている。
【0018】
個々の工作機械5を制御する制御器4又はこれに接続されている集中管理装置3は、定められた日時ないし期間毎に、あるいは新たにロードされた加工プログラムに履歴テーブルに記録されていない新規動作が検出されたりその動作に対応する履歴名が履歴テーブルに書き込まれたときに、制御プログラムのバージョン情報と記録した履歴名とを通信ネットワーク2を介して配信サーバ1に送信する。
【0019】
これを受けた配信サーバ1は、受信したバージョン情報より新しいバージョンについて、受信した履歴名が追加ないし修正されたモジュールを示す照合名に含まれているバージョンを検索し、抽出したバージョンの中で最も新しいバージョンに更新する更新プログラムを、送信してきた制御器又は集中管理装置に送信する。更新プログラムを受信した制御器4は、ディスプレイ6に更新を実行するかどうかの問い合わせ画面を表示する。実行キーが押されると、制御器4によって更新プログラムが実行され、当該制御器の制御プログラムを配信サーバ1によって最適と判断されたバージョンにバージョンアップし、そのバージョン情報を更新する。
【0020】
配信サーバ1は、制御器4から受信したバージョン情報が最新バージョンのものであったり、あるいは客先によって制御プログラムの一部が書き換えられていると判断した場合には、制御プログラムの更新を行わない。工作機械の制御プログラムには、シーケンス制御によるオプション動作を登録する部分があり、この部分に客先で独自の機能が登録されていると、バージョンアップしたときに、新たな障害が生ずるおそれがあるからである。
【0021】
本願の請求項2ないし4の発明は、上記制御プログラムの更新方法を実施するのに用いる装置に関するもので、請求項2の発明に係るNC工作機械用制御プログラムの更新装置は、複数バージョンの制御プログラムの各バージョンにおける追加ないし修正モジュールをそれらのモジュールの照合名と共に記憶している更新情報記憶手段と、通信ネットワークで接続された制御器から当該制御器に搭載されている制御プログラムのバージョン情報及び当該制御器が記録した履歴名を受信する受信手段と、前記記憶している各バージョンから受信したバージョンより新しいバージョンであってそのバージョンの前記照合名に受信した履歴名が含まれているバージョンを抽出するバージョン選択手段と、抽出したバージョンの内の最新バージョンへの更新に必要な更新プログラムを前記制御器に送信し、当該制御器にその実行を促すプログラム更新手段とを備えているというものである。
【0022】
また請求項3の発明に係るNC工作機械用制御プログラムの更新装置は、NC工作機械を制御する制御器とこの制御器に通信ネットワークで接続された請求項2記載の更新装置とを備え、上記制御器は、制御プログラムと、制御するNC工作機械及びこれに付設された機器の動作履歴を当該動作に対応する履歴名で記憶する履歴名記録手段と、前記制御プログラムのバージョン情報と記憶した履歴名とを設定された日時に送信する送信手段とを備えているというものである。
【0023】
本願の請求項4の発明は、上記請求項3記載のNC工作機械用制御プログラムの更新装置において、前記送信手段が、前記制御プログラムが実行しようとする加工プログラムから前記履歴名記録手段に記録されていない動作が検出されたときに当該記録されていない動作に対応する履歴名をを前記記憶した履歴名と共に即時送信することを特徴とするものである。
【発明の効果】
【0024】
この発明によれば、個々の工作機械の制御器ごとに当該工作機械の稼動状態から判断した最も適切なバージョンの制御プログラムを配信できるという効果がある。そして、ユーザやオペレータは、制御プログラムのバージョンアップ時に、その工作機械にとって必要なバージョンアップかどうかを考慮することなく、必要とする機能が最も的確に動作するバージョンの制御プログラムを各工作機械の制御器ごとに搭載することができるという効果がある。
【発明を実施するための最良の形態】
【0025】
以下、図面を参照して、この発明の実施形態を説明する。図1は装置構成を示すブロック図、図2は配信サーバにおける最適バージョンへの更新プログラム抽出手順を示すフローチャート、図3ないし図5は制御器での制御プログラムの更新手順を示すフローチャートである。
【0026】
図1において、1はプログラム配信サーバ、2はインターネット、3は集中管理装置、4・・・は集中管理装置3にLAN接続された制御器、5・・・は各制御器4・・・で制御されるNC工作機械である。配信サーバ1及び集中管理装置3は、インターネット2に接続されており、必要な各種の入出力装置や補助記憶装置など(図示せず)が接続されている。制御器4は、タッチパネル型のディスプレイ装置6を持っている。
【0027】
配信サーバ1は、集中管理装置3からのバージョン情報及びモジュール名の受信手段8を持っている。配信サーバ1は、制御プログラムの各バージョン9・・・毎に、当該バージョンで追加及び修正されたモジュールを含む更新プログラムと、これらの更新プログラムで更新されたモジュール名を記載した照合名リスト10・・・とを記憶している。配信サーバ1は、受信したバージョン情報と記憶している複数のバージョン情報とを順に比較し、受信したモジュール名が受信バージョンより新しいバージョンの照合名リスト10・・・に含まれているかどうかを調べ、含まれているときに当該バージョンへの更新プログラムを抽出する更新プログラム抽出手段11を持っている。
【0028】
配信サーバ1の受信手段8は、集中管理装置3が管理する各制御器4のバージョン情報と、各制御器4が実行した動作名やモジュール名からなる履歴名リストを受信する。配信サーバ1はこれらの情報を受信したら、更新プログラム抽出手段11によって、各制御器4に最も適している更新プログラムを抽出する。
【0029】
図2はモジュール抽出手段の処理手順を示すフローチャートである。モジュール抽出手段11は、受信手段8が受信したバージョン情報と履歴名を読込んだ後、配信サーバ1に記憶されている全てのバージョンから最も新しいバージョンを比較バージョンに設定する。
【0030】
最新バージョンを比較バージョンに設定した後、受信したバージョンと比較バージョンを比較する。制御器4のバージョンが最新バージョンであった場合、バージョンアップが不要の旨のデータを送り、処理を終了する。
【0031】
比較バージョンが受信バージョンより新しいものであった場合、その比較バージョンの照合名リスト10を参照して、履歴名が照合名リスト10にあるかどうかを調べる。照合名リスト10に履歴名が含まれなかった場合、当該比較バージョンでのバージョンアップ内容は制御器4の使用履歴にない機能についてのバージョンアップであるので、比較バージョンを一つ古いバージョンに設定し、比較を繰り返す。この繰返しの中で照合名リスト10に履歴名が含まれる最初の比較バージョンが、更新すべきバージョンとなる。
【0032】
これにより、配信サーバ1に記憶されたバージョンの中で各制御器4に最も適したバージョンが抽出される。上記繰返しの中で照合名リスト10に履歴名が含まれる比較バージョンが見つからないまま、比較バージョンと受信バージョンが一致するまで繰返しが進んだときは、更新照合した制御器の制御プログラムは更新する必要が無いこととなるので、バージョンアップが不要の旨のデータを送り、処理を終了する。
【0033】
更新すべきバージョンが見つかった場合、配信サーバ1は、受信バージョンの次のバージョンから更新すべきバージョンまでの更新プログラムを送信手段12に渡す。なお、更新プログラムに全ての制御プログラムが含まれており、制御プログラム全体を新しいものに置き換えるような更新方法の場合は、最も適したバージョンの更新プログラムのみを送信すればよい。
【0034】
配信サーバ1の送信手段12は、更新プログラム抽出手段11からデータが渡されたとき、当該データを、インターネット2を介して集中管理装置3に送信する。集中管理装置3は、更新問い合せをした制御器4に受信した更新プログラムまたはバージョンアップ不要の旨のデータを送信する。
【0035】
制御器4は、制御プログラムの更新手続15(図5)を備えている。制御プログラムの更新は、制御器4が起動したときと、ロードされた加工プログラムに履歴テーブルにないモジュールの使用が検出されたときとに行われる。
【0036】
制御器4は、実行された履歴名を記録するための履歴テーブル14を備えており、更に更新をどの程度の日数で行うかを設定する設定値と前回の更新日付とを記憶している。制御器4が起動したときの初期化中に、図3に示すように、現在日時と前回の更新日付を比較し、予め設定されている日数を経過していれば更新手続15が呼び出される。
【0037】
また、図4に示すように、制御器4に新しい加工プログラムがロードされたときに、当該加工プログラムに使用されている機能を先読みし、履歴テーブル14に記録のないモジュールの実行が検出されたときは、履歴テーブルに当該モジュール名を追加し、更新手続15を呼び出す。更新手続が終了したらロードされた加工プログラムを実行し、加工を開始する。
【0038】
更新手続15は、図5に示すように、呼び出されると履歴名テーブル14に記録された履歴名と制御器4の制御プログラムのバージョン情報を集中管理装置3を通じて配信サーバ1に送信する。配信サーバ1は、更新プログラム抽出手段11によって、バージョンアップ不要の旨のデータか最適なバージョンへの更新プログラムかのいずれかを抽出し、これをデータ送信手段12が集中管理装置3を介して制御器4に送る。
【0039】
更新手続は、バージョンアップ不要の旨のデータが送られたときは、前回の更新日時を現在日時に書き換えて処理を終了する。最適な更新プログラムが送られてきたときは、制御プログラムの更新があることを制御器4のディスプレイ装置に表示し、更新を行うかどうかをオペレータに問い合わせる。オペレータが更新を指示したときは制御器4は配信サーバ1から送られた更新プログラムを実行してプログラムの更新を行い、オペレータが更新しない事を指示したときは更新プログラムは破棄される。いずれの選択をした場合においても、最適な更新プログラムが無い旨のデータが送られたときと同様に、前回の更新日時を現在日時に書き換えて処理を終了する。
【0040】
なお以上の例では、制御プログラムの更新手順15が制御器4に設けられて当該手順を実行するようにしているが、履歴名テーブル14や更新手順15を集中管理装置に設けて集中管理装置3が各制御器の制御プログラムを更新するようにしても良い。
【図面の簡単な説明】
【0041】
【図1】装置構成の一例を示すブロック図
【図2】更新情報の抽出手順を示すフローチャート
【図3】起動時の更新手順を示すフローチャート
【図4】加工プログラムロード時の更新手順を示すフローチャート
【図5】更新手続を示すフローチャート
【符号の説明】
【0042】
1 配信サーバ
3 集中管理装置
4 制御器
5 NC工作機械
10 照合名リスト
11 モジュール抽出手段
14 履歴テーブル

【特許請求の範囲】
【請求項1】
NC工作機械を制御している制御器にその制御器に搭載されている制御プログラムが実行した動作ないしモジュールを識別するための履歴名を記憶させ、配信サーバ(1)には当該制御プログラムの複数バージョンについての更新プログラムを更新された動作ないしモジュールを識別するための照合名と共に記憶させ、上記制御器に搭載されている制御プログラムのバージョン情報と記憶した履歴名とを通信ネットワークを介して上記配信サーバに送信し、この送信を受けた配信サーバに前記照合名に前記履歴名が含まれる最新バージョンへのバージョンアッププログラムを前記送信した制御器に送信させる、NC工作機械用制御プログラムの更新方法。
【請求項2】
複数バージョンの制御プログラムの各バージョンにおける追加ないし修正モジュールをそれらのモジュールの照合名と共に記憶している更新情報記憶手段と、通信ネットワークで接続された制御器から当該制御器に搭載されている制御プログラムのバージョン情報及び当該制御器が記録した履歴名を受信する受信手段と、前記記憶している各バージョンから受信したバージョンより新しいバージョンであってそのバージョンの前記照合名に受信した履歴名が含まれているバージョンを抽出するバージョン選択手段と、抽出したバージョンの内の最新バージョンへの更新に必要な更新プログラムを前記制御器に送信し、当該制御器にその実行を促すプログラム更新手段とを備えている、NC工作機械用制御プログラムの更新装置。
【請求項3】
NC工作機械を制御する制御器とこの制御器に通信ネットワークで接続された請求項2記載の更新装置とを備え、上記制御器は、制御プログラムと、制御するNC工作機械及びこれに付設された機器の動作履歴を当該動作に対応する履歴名で記憶する履歴名記録手段と、前記制御プログラムのバージョン情報と記憶した履歴名とを設定された日時に送信する送信手段とを備えている、NC工作機械用制御プログラムの更新装置。
【請求項4】
前記送信手段が、前記制御プログラムが実行しようとする加工プログラムから前記履歴名記録手段に記録されていない動作が検出されたときに当該記録されていない動作に対応する履歴名をを前記記憶した履歴名と共に即時送信する、請求項3記載のNC工作機械用制御プログラムの更新装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2007−102625(P2007−102625A)
【公開日】平成19年4月19日(2007.4.19)
【国際特許分類】
【出願番号】特願2005−293707(P2005−293707)
【出願日】平成17年10月6日(2005.10.6)
【出願人】(000212566)中村留精密工業株式会社 (120)
【Fターム(参考)】