JP6696383B2 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP6696383B2
JP6696383B2 JP2016187765A JP2016187765A JP6696383B2 JP 6696383 B2 JP6696383 B2 JP 6696383B2 JP 2016187765 A JP2016187765 A JP 2016187765A JP 2016187765 A JP2016187765 A JP 2016187765A JP 6696383 B2 JP6696383 B2 JP 6696383B2
Authority
JP
Japan
Prior art keywords
version
function
update
cpu
control program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016187765A
Other languages
English (en)
Other versions
JP2018055211A (ja
Inventor
大士 堀岡
大士 堀岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2016187765A priority Critical patent/JP6696383B2/ja
Publication of JP2018055211A publication Critical patent/JP2018055211A/ja
Application granted granted Critical
Publication of JP6696383B2 publication Critical patent/JP6696383B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Stored Programmes (AREA)

Description

本発明は数値制御装置に関する。
数値制御装置の制御プログラムのバージョンを管理する様々な方向が提案されている。特許文献1は、制御器の制御プログラムの更新方法を開示する。配信サーバは、制御プログラムのバージョン毎に更新プログラムを複数記憶する。更新プログラムは、機能が追加及び修正されたモジュールを含む。配信サーバは、制御器の制御プログラムのバージョン情報を、集中管理装置から受信する。配信サーバは、受信したバージョン情報よりも新しく、且つ、制御器が実行するモジュールについて機能が追加及び修正された更新プログラムを特定し、集中管理装置に送信する。集中管理装置は、受信した更新プログラムを制御器に送信する。制御器は、受信した更新プログラムに基づいて、機能が追加及び修正されたモジュールを実行する。
特許第4799114号公報
配信サーバが集中管理装置を介して制御器に送信する更新プログラムのバージョンは、最新のバージョンに限らない。制御器が実行するモジュールによっては、古いバージョンの更新プログラムを配信サーバが送信する時もある。その理由は、最新のバージョンの更新プログラムにおいて機能が追加及び修正されたモジュールが、制御器が備えていない機器を使用して実行される時がある為である。このため配信サーバは、最新のバージョンの更新プログラムだけでなく、古いバージョンの更新プログラムも記憶する必要がある。従って、複数の更新プログラムを記憶することになるので、更新プログラムの管理が煩雑になる時がある。
本発明の目的は、制御プログラムの管理を容易に実行できる数値制御装置を提供することである。
本発明に係る数値制御装置は、制御プログラムに基づいて駆動する数値制御装置であって、前記制御プログラムを記憶する第一記憶部と、前記制御プログラムに実装された実装機能に対応する値であって前記実装機能の追加に伴い昇順で増加する第一値で示される第一バージョン、及び、前記実装機能のうち有効な有効機能に対応する値であって前記第一値以下の第二値で示される第二バージョンを含むバージョンを記憶する第二記憶部と、指令を受け付ける第一受付手段と、前記第二値の第一バージョンに対応する前記実装機能を、前記第二バージョンによって示される前記有効機能として特定し、特定された前記有効機能によって、前記第一受付手段によって受け付けられた前記指令に対応する処理を実行することが可能か否かを判定する第一判定手段と、前記第一判定手段によって、前記有効機能によって前記処理を実行することが可能と判定した時、前記有効機能に基づいて前記処理を実行する実行手段とを備えたことを特徴とする。
数値制御装置は、制御プログラム、第一バージョン、及び、第二バージョンを記憶部に記憶する。数値制御装置は、受け付けた指令に対応する処理を有効機能によって実行することが可能かを、第二バージョンに基づいて判定する。数値制御装置は、実行することが可能と判定した時、有効機能に基づいて処理を実行する。このように、数値制御装置は、一つの制御ブログラムのバージョンとして第一バージョン及び第二バージョンを記憶することによって、制御プログラムの実装機能のうち有効機能以外の機能の実行を制限できる。従って、数値制御装置は、制御プログラムを有効機能毎に複数記憶する必要がない。このため、数値制御装置は、制御プログラムを容易に管理できる。
又、数値制御装置は、第一バージョン及び第二バージョンを簡易な方法で管理できる。
本発明において、前記第一判定手段によって、前記有効機能によって前記処理を実行することが不可能と判定した時、使用者に通知する通知手段を更に備えてもよい。該時、数値制御装置は、指令に対応する処理を有効機能によって実行できないことを、使用者に通知できる。
本発明において、更新制御プログラムを受け付ける第二受付手段と、前記第二受付手段によって受け付けられた前記更新制御プログラムに実装された実装機能を示す第一更新バージョン、及び、前記更新制御プログラムに実装された前記実装機能のうち有効な有効機能を示す第二更新バージョンを取得する取得手段と、前記第二受付手段によって受け付けられた前記更新制御プログラムを、前記制御プログラムとして前記第一記憶部に記憶する制御手段と、前記第二記憶部に記憶した前記第一バージョンを、前記取得手段によって取得した前記第一更新バージョンに更新する第一更新手段と、前記第二記憶部に記憶した前記第二バージョンを更新する指示を受け付けたか判定する第二判定手段と、前記第二判定手段によって、前記第二バージョンを更新する指示を受け付けたと判定した時、前記第二記憶部に記憶した前記第二バージョンを、前記取得手段によって取得した前記第二更新バージョンに更新する第二更新手段と、前記第二受付手段によって、前記第二バージョンを更新する指示を受け付けないと判定した時、前記第二記憶部に記憶した前記第二バージョンの更新を禁止する禁止手段とを備えてもよい。該時、数値制御装置は、制御プログラムを更新制御プログラムに更新する時、第二バージョンを更新するか選択できる。数値制御装置は、第二バージョンを更新する指示を受け付けたと判定した時、更新制御プログラムの第二更新バージョンによって、第二バージョンを更新する。一方、数値制御装置は、第二バージョンを更新する指示を受け付けないと判定した時、第二バージョンの更新を禁止する。これによって、数値制御装置は、実装機能が追加された更新制御プログラムによって制御プログラムを更新する時でも、有効機能を元のまま維持できる。
本発明において、前記第二記憶部に記憶した前記第二バージョンを前記第一バージョンに更新する指示を受け付ける第三受付手段と、前記第三受付手段によって前記指示を受け付けた時、前記第二記憶部に記憶した前記第二バージョンを前記第一バージョンに更新する第三更新手段とを備えてもよい。該時、数値制御装置は、実装機能と有効機能とを一致させることができる。従って、使用者は、実装機能を全て用いて数値制御装置に処理を実行させることができる。
工作機械1の斜視図。 数値制御装置40と工作機械1の電気的構成を示すブロック図。 バージョン及びテーブル44Aを説明する図。 バージョン設定処理のフローチャート。 バージョン変更処理のフローチャート。 指令実行処理のフローチャート。
本発明の実施形態を図面を参照し説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は夫々、工作機械1のX軸方向、Y軸方向、Z軸方向である。図1に示す工作機械1は、被削材(図示略)の切削加工と旋削加工ができる複合機である。
<工作機械1の構造>
図1を参照し、工作機械1の構造を説明する。工作機械1は基台2、Y軸移動機構(図示略)、X軸移動機構(図示略)、Z軸移動機構(図示略)、移動体15、立柱5、主軸ヘッド6、主軸(図示略)、被削材支持装置8、数値制御装置40(図2参照)等を備える。基台2は架台11、主軸基台12、右側基台13、左側基台14等を備える。架台11は前後方向に長い略直方体状の構造体である。主軸基台12は前後方向に長い略直方体状に形成し、架台11上面後方に設ける。右側基台13は架台11上面右前方に設ける。左側基台14は架台11上面左前方に設ける。右側基台13と左側基台14は夫々、上面に被削材支持装置8を支持する。
Y軸移動機構は主軸基台12上面に設け、Y軸モータ62(図2参照)等を備える。Y軸移動機構はY軸モータ62の駆動により、略平板状の移動体15をY軸方向に移動する。X軸移動機構は移動体15上面に設け、X軸モータ61(図2参照)等を備える。X軸移動機構はX軸モータ61の駆動により、立柱5をX軸方向に移動する。立柱5は、Y軸移動機構、移動体15、X軸移動機構により、基台2上をX軸方向とY軸方向に移動可能である。Z軸移動機構は立柱5前面に設け、Z軸モータ63(図2参照)等を備える。Z軸移動機構はZ軸モータ63の駆動により、主軸ヘッド6をZ軸方向に移動する。主軸(図示略)は主軸ヘッド6内部に設け、主軸下部に工具装着穴(図示略)を備える。工具装着穴は工具を装着する。故に、X軸移動機構、Y軸移動機構、Z軸移動機構は夫々、主軸に装着した工具を、X軸方向、Y軸方向、Z軸方向に移動できる。主軸は主軸ヘッド6上部に設けた主軸モータ66(図2参照)で回転する。
数値制御装置40(図2参照)は制御箱の内側に格納する。数値制御装置40はNCプログラムに基づき工作機械1の動作を制御する。NCプログラムはGコード、Mコードの指令で構成する行を複数行有する。工作機械1を覆うカバーは外壁面に操作盤10(図2参照)を備える。操作盤10は操作部17、表示部18、接続口19(図2参照)を備える。操作部17は数値制御装置40の各種設定を行う。表示部18は各種画面、メッセージ、アラーム等を表示する。接続口19は外部記憶媒体46A(図2参照)を装着する端子を含む。外部記憶媒体46Aの一例はUSBメモリである。
被削材支持装置8は右側基台13と左側基台14の上面に固定する。被削材支持装置8はA軸台20、左側支持台27、右側駆動機構部28、回転台29、C軸駆動部50等を備える。A軸台20は、傾斜角度が0度で上面が水平面となる平面視略長方形状の板状部である。左側支持台27は、X軸方向に対して平行な支軸(図示略)を回転可能に支持する。左側支持台27の底部は、左側基台14の上面に固定する。
右側駆動機構部28はA軸台20右側に位置する。右側駆動機構部28は内側にA軸モータ64(図2参照)等を格納する。A軸モータ64が回転すると、A軸台20は支軸を中心に回転する。A軸台20を回転する軸はA軸である。右側駆動機構部28は工具に対して被削材を、A軸を中心として回転できる。A軸台20はA軸回りに任意角度で傾くことで、主軸に装着する工具に対して被削材を任意方向に傾けることができる。
回転台29はA軸台20上面略中央に回転可能に設ける。回転台29は円盤状を有する。C軸駆動部50はA軸台20下面に設け且つA軸台20の略中央に設けた穴(図示略)を介して回転台29と連結する。C軸駆動部50は内部に回転軸(図示略)、C軸モータ65(図2参照)等を備える。回転軸は回転台29に対して直交する方向に延びる。回転軸は回転台29に固定する。C軸モータ65は回転軸に固定する。故に、C軸モータ65が回転軸を回転すると、回転台29はZ軸方向に平行な軸を中心に回転可能である。回転台29を回転する軸はC軸である。回転台29上面の冶具200は、被削材を固定する。C軸駆動部50は工具に対して被削材を、C軸を中心として回転できる。
<電気的構成>
図2を参照し数値制御装置40と工作機械1の電気的構成を説明する。数値制御装置40はCPU41、ROM42、RAM43、フラッシュメモリ44、入出力部45、外部インタフェース(I/F)46、駆動回路51〜56を備える。工作機械1はX軸モータ61、Y軸モータ62、Z軸モータ63、A軸モータ64、C軸モータ65、主軸モータ66を備える。
CPU41は工作機械1の動作を制御する。CPU41はフラッシュメモリ44に記憶した制御プログラムを実行する。ROM42は各種設定情報を記憶する。RAM43は各種処理実行中に発生する各種データを記憶する。フラッシュメモリ44は、ブートプログラム、制御プログラム、バージョン、NCプログラム、テーブル44A(図3参照、後述)を記憶する。ブートプログラムは、数値制御装置40の電源投入時に起動する。バージョンは、制御プログラムの版数を示す文字列である。バージョンの詳細は後述する。入出力部45は駆動回路51〜56、操作部17、表示部18との間で各種信号の入出力を行う。駆動回路51とX軸モータ61、駆動回路52とY軸モータ62、駆動回路53とZ軸モータ63、駆動回路54とA軸モータ64、駆動回路55とC軸モータ65、駆動回路56と主軸モータ66は夫々接続する。駆動回路51〜56はCPU41が出力するパルス信号を、モータ61〜66に出力する。モータ61〜66は何れもサーボモータである。外部I/F46は、接続口19に装着した外部記憶媒体46Aから情報を読み出す為のインタフェース素子である。例えばCPU41は、外部記憶媒体46Aに記憶した制御プログラムとバージョンを、外部I/F46により読み出す。
以下、フラッシュメモリ44に記憶した制御プログラム、バージョンを「導入済プログラム」「導入済バージョン」という。外部記憶媒体46Aに記憶した制御プログラム、バージョンを「更新プログラム」「更新バージョン」という。
<バージョン>
図3を参照し、バージョンについて具体例を挙げて説明する。図3のバージョン「WB00.05.001F03.000」は、第一共通識別子「WB00.」、第一バージョン「05.001」、第二共通識別子「F」、第二バージョン「03.000」が順番に配列した文字列である。
第一共通識別子は、制御ブログラムの種別を識別する文字列である。第一共通識別子は、種別毎に共通の文字列(例えば、「WA00.」「WA01.」「WB00.」「WB01.」「WC00.」等)を有する。第二共通識別子は、後述する第一バージョンと第二バージョンとの境界位置を明示する為の文字である。第二共通識別子は全てのバージョンで共通である。
第一バージョンは、制御プログラムに実装された機能(以下、「実装機能」という。)を示す。第一バージョンは、実装機能の追加に伴い昇順で増加する。第一バージョンは、第一メインバージョン、ピリオド「.」、第一サブバージョンが、左から順番に配列した文字列である。第一メインバージョンは、ピリオド「.」に対して左側の二桁の数字である。第一メインバージョンは、相対的に大きい規模の機能の追加に伴い、昇順で増加する。第一サブバージョンは、ピリオド「.」に対して右側の三桁の数字である。第一サブバージョンは、相対的に小さい規模の機能の追加に伴い、昇順で増加する。第一サブバージョンは、第一メインバージョンが更新した時にリセットし、「000」に戻る。
具体例を挙げて説明する。バージョン「WB00.05.001F03.000」の第一バージョンは「05.001」である。第一メインバージョンは「05」であり、第一サブバージョンは「001」である。第一バージョン「05.001」の制御プログラムには、実装機能「機能1〜機能5、機能5−1」が実装されている。該時、制御プログラムは、機能1〜機能5、機能5−1を実行するためのプログラムコードを含む。
図3において、第一バージョンは「05.001」となる前に次のように複数回更新されている。第一バージョン「01.000」〜「03.000」間の更新の詳細は省略する。実装機能「機能1〜機能3」が実装された第一バージョン「03.000」の制御プログラムに対し、規模の大きい「機能4」を追加で実装したものが第一バージョン「04.000」である(S1)。実装機能「機能1〜機能4」が実装された第一バージョン「04.000」の制御プログラムに対し、規模の大きい「機能5」を追加で実装したものが第一バージョン「05.000」である(S2)。実装機能「機能1〜機能5」が実装された第一バージョン「05.000」の制御プログラムに対し、規模の小さい「機能5−1」を追加で実装したものが第一バージョン「05.001」である(S3)。
上記の各実装機能は、例えば、工作機械1において駆動可能な軸の種類が夫々相違する。具体的には次の通りである。機能1は、X軸方向の早送り指令を実行する機能を示す。機能2は、Y軸方向の早送り指令を実行する機能を示す。機能3は、Z軸方向の早送り指令を実行する機能を示す。機能4は、A軸方向の早送り指令を実行する機能を示す。機能5は、C軸方向の早送り指令を実行する機能を示す。機能5−1は、早送り指令と切削送り指令を実行する機能を示す。上記において、早送り指令とは、工具の移動経路に関係無く軸毎に最高速で目的位置まで移動する指令である。切削送り指令とは、正確な切削経路をたどりながら移動する指令である。
各実装機能を上記のように定義した時、例えば第一バージョン「05.001」の制御プログラムは、X軸(機能1)、Y軸(機能2)、Z軸(機能3)、A軸(機能4)、C軸(機能5)のそれぞれの早送り送り指令及び切削送り指令(機能5−1)を実行するためのプログラムコードを含む。
フラッシュメモリ44は、バージョンの更新時に追加した機能(以下、「追加機能」という。)を第一バージョン毎に示すテーブル44Aを記憶する。CPU41は、テーブル44Aに基づいて、第一バージョンから追加機能、実装機能を特定できる。
第二バージョンは、制御プログラムに実装された実装機能のうち有効な機能(以下、「有効機能」という。)を示す。第二バージョンは、第二メインバージョン、ピリオド「.」、及び、第二サブバージョンが、左から順番に配列した文字列である。第二メインバージョンは、ピリオド「.」に対して左側の二桁の数字である。第二サブバージョンは、ピリオド「.」に対して右側の三桁の数字である。第二メインバージョンは、第一バージョンの第一メインバージョンに対応する。第二サブバージョンは、第一バージョンの第一サブバージョンに対応する。第二バージョンが示す有効機能は、同一の文字列を有する第一バージョンの実装機能に対応する。第二バージョンは、常に第一バージョン以下の値となる。
具体例を挙げて説明する。バージョン「WB00.05.001F03.000」の第二バージョンは、「03.000」である。第二メインバージョンは「03」であり、第二サブバージョンは「000」である。「03.000」と同一の文字列を有する第一バージョンの実装機能は、機能1〜機能3である。このため、第二バージョン「03.000」が示す有効機能は、機能1〜機能3となる。つまり、バージョン「WB00.05.001F03.000」の制御プログラムは、機能1〜機能5、機能5−1を実行するためのプログラムコードを含んでいるにも関わらず、機能1〜機能3の実行のみに制限され、機能4、機能5、機能5−1の実行は禁止される。
以下、図2に示すように、フラッシュメモリ44に記憶した導入済バージョンの第一バージョン及び第二バージョンを、「第一導入済バージョン」「第二導入済バージョン」という。外部記憶媒体46Aに記憶した更新バージョンの第一バージョン及び第二バージョンを、「第一更新バージョン」「第二更新バージョン」という。
<制御プログラムの修正>
バージョンの更新の過程で、機能が追加で実装されると同時に、更新時点で判明している制御プログラムの不具合等が修正する時がある。例えば図3に示す例では、第一バージョンを「03.000」から「04.000」に更新する過程(S1)で、制御プログラムを修正する。以下、この修正を「修正1」という。第一バージョン「04.000」の制御プログラムには、修正1が含まれる。第一バージョンを「04.000」から「05.000」に更新する過程(S2)で、制御プログラムを修正する。以下、この修正を「修正2」という。第一バージョン「05.000」の制御プログラムには、修正1、修正2が含まれる。第一バージョンを「05.000」から「05.001」に更新する過程(S3)で、制御プログラムを修正する。以下、この修正を「修正3」「修正4」という。第一バージョン「05.001」の制御プログラムには、修正1〜修正4が含まれる。
なお、制御プログラムの実装機能のうち実行可能な機能を、第二バージョンが示す有効機能に制限した場合でも、上記の修正は制限されない。このため、例えばCPU41は、バージョン「WB00.05.001F03.000」の制御プログラムを、「修正1〜修正4」が修正された状態で実行する。
<バージョン設定処理>
図4を参照しバージョン設定処理を説明する。CPU41は、接続口19(図2参照)に外部記憶媒体46Aを装着したことを検出した時、フラッシュメモリ44のうち、ブートプログラムから呼び出すプログラム開始番地のアドレスに記憶した導入済プログラムを実行することによりバージョン設定処理を開始する。
CPU41は、フラッシュメモリ44に記憶した導入済バージョンを読み出す(S11)。以下、S11の処理により読み出した導入済バージョンの第一導入済バージョンを、「V1a」と表記する。S11の処理により読み出した導入済バージョンの第二導入済バージョンを、「V2a」と表記する。CPU41は、外部記憶媒体46Aに記憶した更新プログラムを読み出す(S13)。CPU41は、読み出した更新プログラムを、RAM43に一時的に記憶する。CPU41は、外部記憶媒体46Aに記憶した更新バージョンを読み出す(S15)。以下、S15の処理により読み出した更新バージョンの第一更新バージョンを、「V1b」と表記する。S15の処理により読み出した更新バージョンの第二更新バージョンを、「V2b」と表記する。
CPU41は、S13の処理により読み出してRAM43に記憶した更新プログラムを、新たな導入済プログラムとして、フラッシュメモリ44に記憶する(S17)。この時、新たな導入済プログラムを上書きすると、実行中の導入済プログラムが制御不能となってしまうので、導入済プログラムとは異なる領域に記憶する。CPU41は、処理をS23に進める。この時、電源投入時に起動するブートプログラムから呼び出すプログラム開始番地のアドレスも新たな導入済プログラムの開始番地に変更する。
CPU41は、S11の処理により読み出した導入済バージョンの第一導入済バージョンV1aと、S15の処理により読み出した更新バージョンの第一更新バージョンV1bが相違すると判定した時(S23:YES)、処理をS25に進める。CPU41は、第一更新バージョンV1bを、新たな第一導入済バージョンとして、V1aの代わりにフラッシュメモリ44に記憶し、第一導入済バージョンを更新し、第二導入済バージョンを更新せず、V2aのまま維持する(S25)。CPU41は、処理をS29に進める。
CPU41は、第一導入済バージョンV1aと第一更新バージョンV1bが一致すると判定した時(S23:NO)、処理をS27に進める。CPU41は、第一導入済バージョンを更新せず、V1aのまま維持し、第二導入済バージョンを更新せず、V2aのまま維持する(S27)。CPU41は、処理をS29に進める。
使用者は、第二導入済バージョンの更新を所望する時、操作部17を介して所定の第一操作を入力する。CPU41は、操作部17を介して第一操作を検出したか判定する(S29)。CPU41は、第一操作を検出したと判定した時(S29:YES)、処理をS35に進める。CPU41は、S11の処理により読み出した第二導入済バージョンV2aと第二更新バージョンV2bが相違するか判定する(S35)。第二導入済バージョンV2aと第二更新バージョンV2bが相違すると判定した時(S35:YES)、処理をS37に進める。CPU41は、第二更新バージョンV2bを、新たな第二導入済バージョンとして、V2aの代わりにフラッシュメモリ44に記憶し、第二導入済バージョンを更新し、第一導入済バージョンを更新せず、V1a又はV2aのまま維持する(S37)。CPU41は、バージョン設定処理を終了する。
CPU41は、操作部17を介して第一操作を検出しないと判定した時(S29:NO)、処理をS39に進める。CPU41は、第二導入済バージョンV2aと第二更新バージョンV2bが一致すると判定した時(S35:NO)、処理をS39に進める。CPU41は、第二導入済バージョンと第一導入済バージョンを更新せず、V1a又はV2aのまま維持する(S39)。CPU41は、バージョン設定処理を終了する。
<バージョン変更処理>
図5を参照し、バージョン変更処理を説明する。CPU41は、操作部17を介した操作を検出した時、フラッシュメモリ44に記憶した導入済プログラムを実行することによりバージョン変更処理を開始する。
使用者は、導入済プログラムのバージョンの第二導入済バージョンを、第一導入済バージョンに更新することを所望する時、操作部17を介して所定の第二操作を入力する。CPU41は、操作部17を介して第二操作を検出したか判定する(S71)。CPU41は、第二操作を検出しないと判定した時(S71:NO)、バージョン変更処理を終了する。
CPU41は、第二操作を検出したと判定した時(S71:YES)、処理をS73に進める。CPU41は、フラッシュメモリ44に記憶した導入済バージョンを読み出す(S73)。以下、S73の処理により読み出した導入済バージョンの第一導入済バージョン及び第二導入済バージョンを、夫々、バージョン設定処理(図4参照)の時と同様「V1a」「V2a」と表記する。CPU41は、第一導入済バージョンV1aを、新たな第二導入済バージョンとして、V2aの代わりにフラッシュメモリ44に記憶し、第二導入済バージョンを更新する(S75)。該時、第一導入済バージョンと第二導入済バージョンとは一致する。CPU41は、第一導入済バージョンを更新せず、V1aのまま維持する(S75)。CPU41はバージョン変更処理を終了する。
<指令実行処理>
図6を参照し、指令実行処理を説明する。CPU41は、フラッシュメモリ44に記憶したNCプログラムに基づいてモータ61〜66を駆動する動作の開始指示を、操作部17を介して検出した時、フラッシュメモリ44に記憶した制御プログラムを実行することにより指令実行処理を開始する。NCプログラムに含まれる指令は、制御プログラムの実装機能により全て実行可能であることを前提とする。
CPU41は、フラッシュメモリ44に記憶した導入済バージョンを読み出す(S51)。以下、S51の処理により読み出した導入済バージョンの第一導入済バージョン及び第二導入済バージョンを、夫々、バージョン設定処理(図4参照)の時と同様「V1a」「V2a」と表記する。CPU41は、RAM43に記憶した変数n(nは整数)に1を設定する。CPU41は、フラッシュメモリ44に記憶したNCプログラムのn行目の指令を取得する(S53)。以下、NCプログラムのn行目の指令を、「X(n)」と表記する。CPU41は、S53の処理により取得した指令X(n)に基づき、指令に対応するモータ61〜66の駆動方法を解析する(S55)。
CPU41は、S51の処理により読み出した第一導入済バージョンV1aと第二導入済バージョンV2aが一致するか判定する(S57)。V1aとV2aが一致する時、第一導入済バージョンが示す実装機能と第二導入済バージョンが示す有効機能とは一致するので、制御プログラムに実装された実装機能は全て実行可能である。CPU41は、V1aとV2aが一致すると判定した時(S57:YES)、処理をS61に進める。
S57にてV1aとV2aが一致しない時、制御プログラムの実装機能に有効機能以外の機能が含まれるので、実行が禁止された実装機能が存在する。CPU41は、V1aとV2aが一致しないと判定した時(S57:NO)、処理をS59に進める。
CPU41は、第二導入済バージョンが示す有効機能を、テーブル44A(図3参照)に基づいて特定する。具体的には次の通りである。CPU41は、テーブル44Aのうち、第二導入済バージョンV2a以下の値の第一バージョンの夫々に対応する追加機能を累積する。累積した追加機能は、第二導入済バージョンと同値の第一導入済バージョンに対応する実装機能を示す。CPU41は、累積した追加機能を、第二導入済バージョンが示す有効機能として特定する。つまり、CPU41は、第二導入済バージョンと同値の第一導入済バージョンの実装機能を、第二導入済バージョンが示す有効機能として特定する。例えば、図3に示す例において、第二導入済バージョンが「03.000」の時、テーブル44Aにおいて「03.000」以下の第一バージョン「01.000」「02.000」「03.000」に対応する追加機能「機能1」(第一バージョン「01.000」)、「機能2」(第一バージョン「02.000」)、「機能3」(第一バージョン「03.000」)を、有効機能として特定する。
CPU41は、指令X(n)が特定した有効機能に該当するか否か判断する(S59)。CPU41は、指令X(n)が特定した有効機能であると判定した時(S59:YES)、処理をS61に進める。CPU41は、指令X(n)に対応する駆動方法でモータ61〜66を駆動し(S61)、処理をS65に進める。
CPU41は、指令X(n)が特定した有効機能ではないと判定した時(S59:NO)、処理をS63に進める。CPU41は、指令X(n)は実行できない旨を使用者に通知するアラーム画面を、表示部18に表示する(S63)。CPU41は処理をS65に進める。
CPU41は、NCプログラムの全ての指令に対してS61又はS63の処理を実行したか判定する(S65)。CPU41は、処理を実行していない指令が残存すると判定した時(S65:NO)、nに1を加算し更新する(S67)。CPU41は処理をS53に戻す。CPU41は、更新したnに応じた指令X(n)を取得し(S53)、処理を繰り返す。CPU41は、NCプログラムの全ての指令に対応する処理を実行したと判定した時(S65:YES)、指令実行処理を終了する。
<本実施形態の主たる作用、効果>
数値制御装置40のCPU41は、導入済プログラム、及び、導入済バージョン(第一導入済バージョン及び第二導入済バージョン)をフラッシュメモリ44に記憶する。CPU41は、NCプログラムの指令X(n)に対応する処理(モータ61〜66の駆動)を、第二導入済バージョンが示す有効機能により実行することが可能か判定する(S59)。CPU41は、実行可能と判定した時(S59:YES)、指令X(n)に対応する処理を実行する(S61)。このように、CPU41は、一つの導入済ブログラムの導入済バージョンとして、第一導入済バージョンと第二導入済バージョンを記憶することにより、制御プログラムに実装された実装機能のうち有効機能以外の機能を禁止できる。従って、更新プログラムを有効機能毎に複数保持する必要がない。このため、工作機械製造メーカは、制御プログラムを容易に管理できる。
なお、CPU41は、制御プログラムに実装された実装機能のうち有効機能以外の機能を禁止しても、制御プログラムに対する修正は全て有効とする。このため、CPU41は、不具合等を修正した最新の制御プログラムを実行しつつ、実装機能のうち有効機能以外の機能を禁止できる。
CPU41は、第二導入済バージョンが示す有効機能により、指令X(n)を実行できないと判定した時(S59:NO)、アラーム画面を表示部18に表示する(S63)。該時、CPU41は、指令に対応する処理を有効機能により実行できないことを、使用者に通知できる。
CPU41は、外部記憶媒体46Aに記憶した更新プログラムを読み出し(S13)、新たな導入済プログラムとしてフラッシュメモリ44に記憶する(S17)。CPU41は、第一操作を検出したと判定した時(S29:YES)、導入済バージョンと更新バージョンの夫々の第二バージョン(V2a、V2b)を比較する。CPU41は、第二導入済バージョンV2aと第二更新バージョンV2bが相違すると判定した時(S35:YES)、第二更新バージョンV2bを、新たな第二導入済バージョンとして、V2aの代わりにフラッシュメモリ44に記憶し、第二導入済バージョンを更新する(S37)。このため、使用者は、第一操作を入力することにより、第二導入済バージョンの更新を数値制御装置40に指示できる。CPU41は、第一操作を検出しないと判定した時(S29:NO)、第二導入済バージョンを更新せず維持する(S39)。このため、CPU41は、機能が追加で実装された更新プログラムにより導入済プログラムを更新する時でも、有効機能を元のまま維持できる。
CPU41は、第二操作を検出したと判定した時(S71:YES)、第一導入済バージョンを、新たな第二導入済バージョンとしてフラッシュメモリ44に記憶し、第二導入済バージョンを更新する(S75)。該時、CPU41は、実装機能と有効機能とを一致させることができる。従って、使用者は、実装機能を全て用いて数値制御装置40に処理を実行させることができる。
第一バージョンは、制御プログラムの実装機能を示す。第一バージョンは、実装機能の追加に伴い昇順で増加する。第二バージョンは、制御プログラムの実装機能のうち有効機能を示す。CPU41は、第二導入済バージョンと同値の第一導入済バージョンの実装機能を、第二導入済バージョンが示す有効機能として特定する。該時、CPU41は、第一バージョン及び第二バージョンを簡易な方法で管理できる。
<変形例>
本発明は上記実施形態に限らない。数値制御装置40は、導入済プログラムと導入済バージョン(第一導入済バージョン及び第二導入済バージョン)を、異なる記憶媒体に記憶してもよい。例えば数値制御装置40は、複数のフラッシュメモリ44を備えてもよい。数値制御装置40は、導入済プログラムと導入済バージョンとを、別のフラッシュメモリ44に記憶してもよい。CPU41は、NCプログラムの指令X(n)を順番に実行するのでなく、操作部17を介して使用者が入力した指令を、指令を検出する度に実行してもよい。
CPU41は、第二導入済バージョンが示す有効機能により、指令X(n)を実行できないと判定した時(S59:NO)、非図示のスピーカから警告音を出力してもよい。CPU41は、実行できない指令X(n)を表示部18に表示してもよい。CPU41は、指令X(n)が実行可能な第二バージョンを、表示部18に表示してもよい。
CPU41は、バージョン設定処理において、新たな導入済プログラムとして更新プログラムをフラッシュメモリ44に記憶した後(S17)、使用者が第一操作を入力した時(S29:YES)、第二導入済バージョンを更新する(S37)。これに対し、CPU41は、第二導入済バージョンの更新を、バージョン設定処理と異なる処理により実行してもよい。例えば、CPU41は、通常動作時において使用者が所定の第三操作を入力した時、第二導入済バージョンを更新してもよい。
CPU41は、第二操作を検出したと判定した時(S71:YES)、新たな第二導入済バージョンとして第一導入済バージョンをフラッシュメモリ44に記憶する(S75)。これに対し、使用者は、第二操作の入力と同時に、所望する第二導入済バージョンを入力してもよい。CPU41は、新たな第二導入済バージョンとして、検出した第二導入バージョンをフラッシュメモリ44に記憶してもよい。これにより、使用者は、第二導入済バージョンを任意の値に変更できる。
バージョンを構成する文字列(「第一共通識別子」「第一バージョン」「第二共通識別子」「第二バージョン」)の構成は、上記実施形態に限定されないことはいうまでもない。例えば、バージョンは、第一共通識別子及び第二共通識別子を含まず、第一バージョン及び第二バージョンのみの構成でもよい。
テーブル44Aは、第一バージョン毎に実装機能を示してもよい。具体的には、図3において、第一バージョン「05.001」に実装機能「機能1」〜「機能5」「機能5−1」を対応付けてテーブル44に記憶してもよい。第一バージョン「01・000」〜「05.000」についての具体的な説明は省略する。尚、各実装機能は他に、使用する時に代金を支払う有料オプション機能であってもよい。
<その他>
導入済プログラム及び導入済バージョンを記憶するフラッシュメモリ44は本発明の「第一記憶部」「第二記憶部」の一例である。S53の処理を行うCPU41は本発明の「第一受付手段」の一例である。S59の処理を行うCPU41は本発明の「第一判定手段」の一例である。S61の処理を行うCPU41は本発明の「実行手段」の一例である。
S63の処理を行うCPU41は本発明の「通知手段」の一例である。S13の処理を行うCPU41は本発明の「第二受付手段」の一例である。S15の処理を行うCPU41は本発明の「取得手段」の一例である。S17の処理を行うCPU41は本発明の「制御手段」の一例である。S25の処理を行うCPU41は本発明の「第一更新手段」の一例である。S29の処理を行うCPU41は本発明の「第二判定手段」の一例である。S37の処理を行うCPU41は本発明の「第二更新手段」の一例である。S39の処理を行うCPU41は本発明の「禁止手段」の一例である。S71の処理を行うCPU41は本発明の「第三受付手段」の一例である。S75の処理を行うCPU41は本発明の「第三更新手段」の一例である。
1 :工作機械
40 :数値制御装置
41 :CPU
44 :フラッシュメモリ
44A :テーブル
V1a :第一導入済バージョン
V1b :第一更新バージョン
V2a :第二導入済バージョン
V2b :第二更新バージョン
X(n) :指令

Claims (4)

  1. 制御プログラムに基づいて駆動する数値制御装置であって、
    前記制御プログラムを記憶する第一記憶部と、
    前記制御プログラムに実装された実装機能に対応する値であって前記実装機能の追加に伴い昇順で増加する第一値で示される第一バージョン、及び、前記実装機能のうち有効な有効機能に対応する値であって前記第一値以下の第二値で示される第二バージョンを含むバージョンを記憶する第二記憶部と、
    指令を受け付ける第一受付手段と、
    前記第二値の第一バージョンに対応する前記実装機能を、前記第二バージョンによって示される前記有効機能として特定し、特定された前記有効機能によって、前記第一受付手段によって受け付けられた前記指令に対応する処理を実行することが可能か否かを判定する第一判定手段と、
    前記第一判定手段によって、前記有効機能によって前記処理を実行することが可能と判定した時、前記有効機能に基づいて前記処理を実行する実行手段と
    を備えたことを特徴とする数値制御装置。
  2. 前記第一判定手段によって、前記有効機能によって前記処理を実行することが不可能と判定した時、使用者に通知する通知手段を更に備えたことを特徴とする請求項1に記載の数値制御装置。
  3. 更新制御プログラムを受け付ける第二受付手段と、
    前記第二受付手段によって受け付けられた前記更新制御プログラムに実装された実装機能を示す第一更新バージョン、及び、前記更新制御プログラムに実装された前記実装機能のうち有効な有効機能を示す第二更新バージョンを取得する取得手段と、
    前記第二受付手段によって受け付けられた前記更新制御プログラムを、前記制御プログラムとして前記第一記憶部に記憶する制御手段と、
    前記第二記憶部に記憶した前記第一バージョンを、前記取得手段によって取得した前記第一更新バージョンに更新する第一更新手段と、
    前記第二記憶部に記憶した前記第二バージョンを更新する指示を受け付けたか判定する第二判定手段と、
    前記第二判定手段によって、前記第二バージョンを更新する指示を受け付けたと判定した時、前記第二記憶部に記憶した前記第二バージョンを、前記取得手段によって取得した前記第二更新バージョンに更新する第二更新手段と、
    前記第二受付手段によって、前記第二バージョンを更新する指示を受け付けないと判定した時、前記第二記憶部に記憶した前記第二バージョンの更新を禁止する禁止手段と
    を備えたことを特徴とする請求項1又は2に記載の数値制御装置。
  4. 前記第二記憶部に記憶した前記第二バージョンを前記第一バージョンに更新する指示を受け付ける第三受付手段と、
    前記第三受付手段によって前記指示を受け付けた時、前記第二記憶部に記憶した前記第二バージョンを前記第一バージョンに更新する第三更新手段と
    を備えたことを特徴とする請求項1から3の何れかに記載の数値制御装置。
JP2016187765A 2016-09-27 2016-09-27 数値制御装置 Active JP6696383B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016187765A JP6696383B2 (ja) 2016-09-27 2016-09-27 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016187765A JP6696383B2 (ja) 2016-09-27 2016-09-27 数値制御装置

Publications (2)

Publication Number Publication Date
JP2018055211A JP2018055211A (ja) 2018-04-05
JP6696383B2 true JP6696383B2 (ja) 2020-05-20

Family

ID=61835764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016187765A Active JP6696383B2 (ja) 2016-09-27 2016-09-27 数値制御装置

Country Status (1)

Country Link
JP (1) JP6696383B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023195108A1 (ja) * 2022-04-06 2023-10-12 ファナック株式会社 産業機械制御装置、及びコンピュータが読み取り可能な記憶媒体

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3270238B2 (ja) * 1994-03-14 2002-04-02 株式会社東芝 プログラマブルコントローラ及びそのプログラムツール
JP3307119B2 (ja) * 1994-11-08 2002-07-24 三菱電機株式会社 数値制御装置及びそのオプション管理システム
JPH11161479A (ja) * 1997-11-28 1999-06-18 Brother Ind Ltd データ処理装置およびデータ処理方法ならびに記録媒体
JP2006260607A (ja) * 2003-09-26 2006-09-28 Omron Corp プログラマブルコントローラおよびcpuユニットおよび二重化運転開始方法
JP4799114B2 (ja) * 2005-10-06 2011-10-26 中村留精密工業株式会社 Nc工作機械の制御プログラムの更新方法及び装置
JP4983815B2 (ja) * 2009-01-30 2012-07-25 ブラザー工業株式会社 情報処理装置及び制御プログラム
US8806470B2 (en) * 2010-09-29 2014-08-12 Mitsubishi Electric Corporation System, method, and apparatus for software maintenance of sensor and control systems
US9965599B2 (en) * 2013-07-23 2018-05-08 Panasonic Intellectual Property Management Co., Ltd. Function setting method
JP6252198B2 (ja) * 2014-01-22 2017-12-27 ブラザー工業株式会社 数値制御装置
JP6520545B2 (ja) * 2015-08-10 2019-05-29 オムロン株式会社 サポート装置およびサポートプログラム

Also Published As

Publication number Publication date
JP2018055211A (ja) 2018-04-05

Similar Documents

Publication Publication Date Title
CN100464266C (zh) 数控机床
JP6107306B2 (ja) 数値制御装置及び駆動制御方法
US10671046B2 (en) Method and apparatus for applying vibration and machining an object
EP3117929B1 (en) Self-hardening mold-making apparatus
JP6696383B2 (ja) 数値制御装置
CN104965524A (zh) 增稳装置及增稳装置初始姿态控制系统、方法
JP5670525B1 (ja) 工作機械の制御装置
CN109562499B (zh) 选择装置、选择方法及程序
CN1874671B (zh) 对电路基板作业系统
CN110320858B (zh) 机床、平滑化方法
JP2009531756A (ja) 機械モデルを組み込まれた制御装置
WO2019186917A1 (ja) 対基板作業機の管理装置
JP6769219B2 (ja) 数値制御装置
JP3872183B2 (ja) カセット配設位置指定装置、方法、及び記録媒体
JPS6052405A (ja) 部品供給方法及び装置
JP7096286B2 (ja) 作業処理支援方法
JP2022117393A (ja) 制御装置、制御方法、制御プログラム、及び記憶媒体
JP2006313559A (ja) 数値制御工作機械設備の運転方法
CN100567608C (zh) 缝纫机驱动控制装置及缝纫机驱动控制方法
US6480754B1 (en) Numerical control data creating device and numerical control data creating method
JP2019175027A (ja) 数値制御装置と制御方法
JP6424517B2 (ja) 工作機械
JP2013193187A (ja) 工作機械
EP4006664A1 (en) Tool information setting device and machine tool
JP3956281B2 (ja) メモリカード搭載式刺繍制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200406

R150 Certificate of patent or registration of utility model

Ref document number: 6696383

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150