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

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

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

特許7188988数値制御装置および数値制御装置の制御方法
<図1>
  • 特許-数値制御装置および数値制御装置の制御方法 図1
  • 特許-数値制御装置および数値制御装置の制御方法 図2
  • 特許-数値制御装置および数値制御装置の制御方法 図3
  • 特許-数値制御装置および数値制御装置の制御方法 図4
  • 特許-数値制御装置および数値制御装置の制御方法 図5
  • 特許-数値制御装置および数値制御装置の制御方法 図6
  • 特許-数値制御装置および数値制御装置の制御方法 図7
  • 特許-数値制御装置および数値制御装置の制御方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-05
(45)【発行日】2022-12-13
(54)【発明の名称】数値制御装置および数値制御装置の制御方法
(51)【国際特許分類】
   G05B 19/409 20060101AFI20221206BHJP
【FI】
G05B19/409 C
【請求項の数】 10
(21)【出願番号】P 2018215678
(22)【出願日】2018-11-16
(65)【公開番号】P2020086587
(43)【公開日】2020-06-04
【審査請求日】2021-09-08
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100077665
【弁理士】
【氏名又は名称】千葉 剛宏
(74)【代理人】
【識別番号】100116676
【弁理士】
【氏名又は名称】宮寺 利幸
(74)【代理人】
【識別番号】100191134
【弁理士】
【氏名又は名称】千馬 隆之
(74)【代理人】
【識別番号】100136548
【弁理士】
【氏名又は名称】仲宗根 康晴
(74)【代理人】
【識別番号】100136641
【弁理士】
【氏名又は名称】坂井 志郎
(74)【代理人】
【識別番号】100180448
【弁理士】
【氏名又は名称】関口 亨祐
(72)【発明者】
【氏名】小山 泰明
【審査官】増山 慎也
(56)【参考文献】
【文献】特開2008-226113(JP,A)
【文献】特開平10-268926(JP,A)
【文献】特開2010-015316(JP,A)
【文献】特開平06-231036(JP,A)
【文献】特開平09-212227(JP,A)
【文献】特開2019-028518(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/409
G05B 19/18
G06F 9/06
(57)【特許請求の範囲】
【請求項1】
複数のソフトウェアをインストール可能な数値制御装置であって、
前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部と、
前記ソフトウェアの処理を規定するプログラムが記載された実行ファイルと、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイルとを、前記ソフトウェア毎に記憶するストレージと、
前記ソフトウェアを起動させるときに、メモリに前記実行ファイルのプログラムを展開し、前記プログラムに基づいてCPUに処理を行わせるソフトウェア管理部と、
前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、起動される前記ソフトウェアに対応する前記パラメータ情報ファイルの初期値の情報に基づいて書き換えるパラメータ管理部と、
を有する、数値制御装置。
【請求項2】
請求項1に記載の数値制御装置であって、
前記パラメータ管理部は、前記パラメータ格納部に格納されている前記パラメータのうち前記パラメータ情報ファイルに記憶されている前記ソフトウェアが使用するパラメータの値を、前記パラメータ情報ファイルの前記初期値の情報に基づいて書き換える、数値制御装置。
【請求項3】
請求項1または2に記載の数値制御装置であって、
前記パラメータ情報ファイルは、前記パラメータ毎の前記初期値の前記情報として、少なくとも一部の前記パラメータの各々について、前記初期値の値の情報、又は、前記初期値を前記メモリの退避領域に退避されている初期値とすることを示す情報、を有し、
前記ソフトウェア管理部は、前記ソフトウェアを終了させるときに、前記プログラムに基づく前記CPUの処理を終了させ、前記プログラムが展開されていた前記メモリの領域を解放し、
前記パラメータ管理部は、前記プログラムが展開されていた領域が解放されるときに、前記パラメータ情報ファイルが有する情報が、前記パラメータの値を前記退避領域に退避されている初期値とすることを示す情報である前記パラメータについて、記退避領域に前記ソフトウェアで使用されていた前記パラメータの値を前記初期値として退避させる、数値制御装置。
【請求項4】
請求項3に記載の数値制御装置であって、
前記パラメータ管理部は、終了された前記ソフトウェアが再び起動されるときに、前記パラメータ情報ファイルが有する情報が、前記初期値を前記退避領域に退避されている初期値とすることを示す情報である前記パラメータについて、前記パラメータ格納部に格納されている前記パラメータの値を、前記退避領域に退避されている前記初期値に書き換える、数値制御装置。
【請求項5】
請求項1~4のいずれか1項に記載の数値制御装置であって、
前記数値制御装置にインストールされる複数の前記ソフトウェアのすべては、所定のソフトウェア開発キットにより作成される、数値制御装置。
【請求項6】
請求項1~5のいずれか1項に記載の数値制御装置であって、
前記パラメータは、使用されているPLC信号、使用されている加工プログラムの番号、使用されているワーク座標の番号、使用されている工具オフセットの番号のうち少なくとも1つである、数値制御装置。
【請求項7】
複数のソフトウェアをインストール可能な数値制御装置の制御方法であって、
前記数値制御装置は、
前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部と、
前記ソフトウェアの処理を規定するプログラムが記載された実行ファイルと、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイルとを、前記ソフトウェア毎に記憶するストレージと、
ユーザに操作されることにより、前記ソフトウェアの起動または終了の指令を前記数値制御装置に入力する入力部と、
を有し、
前記入力部により前記ソフトウェアの起動の指令が入力された場合に、メモリに前記実行ファイルのプログラムを展開し、前記プログラムに基づいてCPUに処理を行わせて前記ソフトウェアを起動させる起動ステップと、
前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、起動される前記ソフトウェアに対応する前記パラメータ情報ファイルの初期値の情報に基づいて書き換える初期値設定ステップと、
を有する、数値制御装置の制御方法。
【請求項8】
請求項7に記載の数値制御装置の制御方法であって、
前記初期値設定ステップは、前記パラメータ格納部に格納されている前記パラメータのうち前記パラメータ情報ファイルに記憶されている前記ソフトウェアが使用するパラメータの値を、前記パラメータ情報ファイルの前記初期値の情報に基づいて書き換える、数値制御装置の制御方法。
【請求項9】
請求項7または8に記載の数値制御装置の制御方法であって、
前記パラメータ情報ファイルは、前記パラメータ毎の前記初期値の前記情報として、少なくとも一部の前記パラメータの各々について、前記初期値の値の情報、又は、前記初期値を前記メモリの退避領域に退避されている初期値とすることを示す情報、を有し、
前記入力部により前記ソフトウェアの終了の指令が入力された場合に、前記プログラムに基づく前記CPUの処理を終了させ、前記プログラムが展開されていた前記メモリの領域を解放する解放ステップと、
前記プログラムが展開されていた前記領域が解放されるときに、前記パラメータ情報ファイルが有する情報が、前記パラメータの値を前記退避領域に退避されている初期値とすることを示す情報である前記パラメータについて、記退避領域に前記ソフトウェアで使用されていた前記パラメータの値を前記初期値として退避させる初期値退避ステップと、
を有する、数値制御装置の制御方法。
【請求項10】
請求項9に記載の数値制御装置の制御方法であって、
前記初期値設定ステップは、前記入力部により終了された前記ソフトウェアの起動の指令が再び入力された場合に、前記パラメータ情報ファイルが有する情報が、前記初期値を前記退避領域に退避されている初期値とすることを示す情報である前記パラメータについて、前記パラメータ格納部に格納されている前記パラメータの値を、前記退避領域に退避されている前記初期値に書き換える、数値制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のソフトウェアをインストール可能な数値制御装置および数値制御装置の制御方法に関する。
【背景技術】
【0002】
下記特許文献1には、数値制御装置の記憶部にシステムソフトウェアの他に種々のアプリケーションソフトウェアがインストールされているものが開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-164721号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1の技術では、同じパラメータを使用するソフトウェアがインストールされた場合、ソフトウェアが正常に作動しないおそれがある。
【0005】
本発明は、上記の問題を解決するためになされたものであり、同じパラメータを使用する複数のソフトウェアを正常に作動させることができる数値制御装置および数値制御装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様は、複数のソフトウェアをインストール可能な数値制御装置であって、前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部と、前記ソフトウェアの処理を規定するプログラムが記載された実行ファイルと、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイルとを、前記ソフトウェア毎に記憶するストレージと、前記ソフトウェアを起動させるときに、メモリに前記実行ファイルのプログラムを展開し、前記プログラムに基づいてCPUに処理を行わせるソフトウェア管理部と、前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記パラメータ情報ファイルの初期値の情報に基づいて書き換えるパラメータ管理部と、を有する。
【0007】
本発明の第2の態様は、複数のソフトウェアをインストール可能な数値制御装置の制御方法であって、前記数値制御装置は、前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部と、前記ソフトウェアの処理を規定するプログラムが記載された実行ファイルと、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイルとを、前記ソフトウェア毎に記憶するストレージと、ユーザに操作されることにより、前記ソフトウェアの起動または終了の指令を前記数値制御装置に入力する入力部と、を有し、前記入力部により前記ソフトウェアの起動の指令が入力された場合に、メモリに前記実行ファイルのプログラムを展開し、前記プログラムに基づいてCPUに処理を行わせて前記ソフトウェアを起動させる起動ステップと、前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記パラメータ情報ファイルの初期値の情報に基づいて書き換える初期値設定ステップと、を有する。
【発明の効果】
【0008】
同じパラメータを使用する複数のソフトウェアを正常に作動させることができる。
【図面の簡単な説明】
【0009】
図1】数値制御装置の構成を示すブロック図である。
図2】ソフトウェアのパラメータ情報ファイルに記載されている情報の例を示す図である。
図3】表示部に表示される管理画面の表示例を示す図である。
図4】ソフトウェア管理部によるソフトウェア情報表示処理の流れを示すフローチャートである。
図5】ソフトウェア管理部およびパラメータ管理部によるソフトウェア起動/実行処理の流れを示すフローチャートである。
図6図6Aおよび図6Bは、ソフトウェアを起動させた場合の表示部の表示の切り換わりを示す図である。
図7図7Aおよび図7Bは、ソフトウェアを実行させた場合の表示部の表示の切り換わりを示す図である。
図8】ソフトウェア管理部およびパラメータ管理部によるメモリ解放処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
〔第1の実施の形態〕
[数値制御装置の構成]
図1は、数値制御装置10の構成を示すブロック図である。本実施の形態の数値制御装置10は、汎用パーソナルコンピュータに、図示しない工作機械の数値制御を行うNCソフトウェアやPLCソフトウェアがインストールされることによって、数値制御装置として機能させている。数値制御装置10は、NCソフトウェアやPLCソフトウェアの他に、クーラントタンクの液量の管理機能、タッチプローブによる測定機能等、工作機械の加工に対して補助的な機能を提供する様々なソフトウェアをインストールされる。これらのソフトウェアは、ユーザやサードパーティにより作成されたものであってもよい。なお、ユーザやサードパーティは、所定のソフトウェア開発キットを用いてソフトウェアを作成する。本実施の形態では、ソフトウェアA、ソフトウェアBおよびソフトウェアCが数値制御装置10にインストールされている。
【0011】
数値制御装置10は、ストレージ12、メモリ14、CPU16、パラメータ格納部18、ソフトウェア管理部20、パラメータ管理部22、入力部24および表示部26を有している。
【0012】
ストレージ12は、ソフトウェアA、ソフトウェアBおよびソフトウェアCの実行ファイル28a~28cとパラメータ情報ファイル30a~30cを記憶している。なお、1つの実行ファイル28a~28c、1つのパラメータ情報ファイル30a~30cを特定しない場合には、以下、実行ファイル28、パラメータ情報ファイル30と記載することがある。また、ソフトウェアA、ソフトウェアBおよびソフトウェアCをそれぞれ区別しない場合には、以下、単にソフトウェアと記載することがある。
【0013】
実行ファイル28とパラメータ情報ファイル30は、ソフトウェア毎にそれぞれ組にして同一のフォルダに入れられて管理されている。なお、実行ファイル28とパラメータ情報ファイル30は、必ずしも同一のフォルダに入れられている必要はなく、ソフトウェア毎に実行ファイル28とパラメータ情報ファイル30とを対応付ける情報を別に持っておけば、実行ファイル28とパラメータ情報ファイル30とが、異なるフォルダに入れられていてもよい。
【0014】
実行ファイル28は、ソフトウェアの処理を規定するプログラムが機械語で記載されたバイナリファイルである。パラメータ情報ファイル30は、各ソフトウェアが使用するパラメータに関する情報がXMLで記載されたテキストファイルである。
【0015】
図2は、ソフトウェアのパラメータ情報ファイル30に記載されている情報の例を示す図である。図2は、ソフトウェアAのパラメータ情報ファイル30aを例として示しているが、他のパラメータ情報ファイル30bおよびパラメータ情報ファイル30cも同様の情報が記載されている。
【0016】
informationタグはルート要素、nameタグはソフトウェアの製品名、versionタグはソフトウェアのバージョン、contactタグはソフトウェアの作成会社、parameterタグはソフトウェアが使用するパラメータ、pmc_r、pmc_dおよびmacro_valのタグはパラメータの種類、rangeタグはソフトウェアが使用するパラメータの格納領域の範囲、initialタグはパラメータの初期値を示す。
【0017】
なお、パラメータ情報ファイル30は、XMLに限らず、別の言語で記載されていてもよい。また、パラメータ情報ファイル30は、テキストファイルではなく、バイナリファイルであってもよい。
【0018】
ソフトウェアが起動されるときに、メモリ14に実行ファイル28のプログラムが展開される。メモリ14にプログラムが展開されると、プログラムが展開されるプログラム領域の他に、ヒープ領域やスタック領域等が設定される。以下、プログラム領域、ヒープ領域およびスタック領域等を総称してソフトウェアの使用領域32(ソフトウェアAの使用領域32a、ソフトウェアBの使用領域32b、ソフトウェアCの使用領域32c)と称する。ソフトウェアの使用領域32は、ソフトウェアが起動中である場合にはメモリ14上に設定されるが、ソフトウェアが停止中である場合にはメモリ14上には設定されない。
【0019】
また、ソフトウェアが起動されると、メモリ14にソフトウェア毎にパラメータの退避領域34a~34cが設定される。退避領域34a~34cは、該当するソフトウェアが一度も起動されていないときにはメモリ14上に設定されない。また、一度、メモリ14上に退避領域34a~34cが設定されると、数値制御装置10がシャットダウンされるまで、ソフトウェアの停止中も設定されている。なお、1つの退避領域34a~34cを特定しない場合には、以下では退避領域34と記載することがある。退避領域34には、パラメータの初期値の値が各パラメータに対応付けられて記憶されている。
【0020】
CPU16は、メモリ14に展開されているプログラムにしたがって、演算処理等を行う。
【0021】
パラメータ格納部18は、ソフトウェアの処理において使用される各種のパラメータが格納されている。パラメータ格納部18に格納されるパラメータの種類は、例えば、PLC信号、加工プログラム番号、マクロ変数、ワーク座標番号、工具オフセット番号等である。
【0022】
PLC信号は、NCソフトウェアとPLCソフトウェアとの間で入出力を行うためのF信号およびG信号、工作機械または図示しない外部機器との間で入出力を行うためのX信号およびY信号、PLCソフトウェアで実行されるシーケンスプログラムで使用される内部リレーR、拡張リレーE、タイマT、カウンタC、保持メモリK、Dである。パラメータ格納部18には、F信号、G信号、X信号、Y信号、内部リレーR、拡張リレーE、タイマT、カウンタCおよび保持メモリK、Dに対して、それぞれ複数のパラメータの格納領域が設けられている。
【0023】
加工プログラムは、NCソフトウェアで実行されるプログラムであって、MコードやGコードにより記述される。加工プログラムは1行毎に番号が振られており、加工プログラム番号のパラメータには、現在実行されている(使用されている)加工プログラムの番号が入力される。パラメータ格納部18には、加工プログラム番号に対して、複数のパラメータの格納領域が設けられている。
【0024】
マクロ変数は、加工プログラム内で使用される変数であって、マクロ変数のパラメータには変数の値が入力されている。パラメータ格納部18には、マクロ変数のパラメータに対して、複数のパラメータの格納領域が設けられている。
【0025】
ワーク座標は、加工プログラムにおいてワークの加工形状を規定するためのワーク上の位置を示す座標である。ワーク座標は1点毎に番号が振られており、ワーク座標番号のパラメータには、現在使用されているワークの座標の番号が入力される。パラメータ格納部18には、ワーク座標番号に対して、複数のパラメータの格納領域が設けられている。
【0026】
工具オフセットは、工作機械で用いられる工具の長さや、工具の径の大きさの値である。工具オフセットは工具毎に番号が振られており、工具オフセット番号のパラメータには、現在使用されている工具オフセットの番号が入力される。パラメータ格納部18には、工具オフセット番号に対して、複数のパラメータの格納領域が設けられている。
【0027】
前述のように、パラメータ格納部18には、パラメータの種類毎にパラメータの格納領域が設けられ、1つの格納領域毎に番地(アドレス)が設定されている。例えば、パラメータ格納部18には、R信号について400個分の格納領域が設定され、0番地~399番地のアドレスが設定される。
【0028】
また、パラメータの種類毎に、各ソフトウェアが使用する格納領域が設定されている。例えば、ソフトウェアAは、R信号については200番地~212番地の格納領域に格納されているパラメータを使用するように設定されている。
【0029】
ソフトウェア管理部20は、ソフトウェアを起動させるときに、起動されるソフトウェアの実行ファイル28のプログラムをメモリ14に展開し、CPU16にプログラムに基づいて処理を行わせる。また、ソフトウェア管理部20は、ソフトウェアを終了させるときに、CPU16に終了させるソフトウェアのプログラムに基づく処理を終了させ、メモリ14の終了させるソフトウェアの使用領域32を解放する。ソフトウェア管理部20における処理については、後に詳述する。
【0030】
パラメータ管理部22は、ソフトウェアを起動させるときに、パラメータ格納部18に格納されているパラメータのうち、起動されるソフトウェアが使用するパラメータの値を、パラメータ情報ファイル30の初期値の情報に基づいて書き換える。また、パラメータ管理部22は、終了させるソフトウェアのメモリ14の使用領域32が解放されるときに、メモリ14の退避領域34に、終了させるソフトウェアで使用されていたパラメータの値を初期値として退避させる。
【0031】
入力部24は、キーボード、マウス、タッチパネル等である。表示部26は、液晶ディスプレイ等である。入力部24および表示部26はソフトウェア管理部20により制御される。
【0032】
[ソフトウェア管理画面表示処理]
ソフトウェア管理部20は、各ソフトウェアのCPU16の使用率とメモリ14の占有率を算出し、算出した各ソフトウェアのCPU16の使用率とメモリ14の占有率の情報を表示させるように表示部26を制御する。また、ソフトウェア管理部20は、ストレージ12に記憶されている各ソフトウェアのパラメータ情報ファイル30を読み込んで、ソフトウェア情報を表示させるように表示部26を制御する。
【0033】
図3は、表示部26に表示される管理画面38の表示例を示す図である。表示部26には、資源情報表示部40、ソフトウェア情報表示部42、ソフトウェア選択ボタン44、起動/実行ボタン46および解放ボタン48が表示される。
【0034】
資源情報表示部40は、CPU使用率表示部50、メモリ占有率表示部52および凡例表示部54を有している。CPU使用率表示部50には、各ソフトウェアのCPU16の使用率が帯グラフとして表示される。メモリ占有率表示部52には、各ソフトウェアのメモリ14の占有率が帯グラフとして表示される。凡例表示部54には、CPU使用率表示部50およびメモリ占有率表示部52上において各ソフトウェアを識別する表示と、ソフトウェアの製品名との対応を示す凡例が表示される。
【0035】
ソフトウェア情報表示部42は、製品名表示部56、バージョン表示部58、使用格納領域表示部60およびソフトウェア状態表示部62を有している。製品名表示部56には、現在選択されているソフトウェアの製品名が表示される。なお、ソフトウェアの選択は、表示部26に表示されているソフトウェア選択ボタン44を、ユーザが入力部24を用いて操作することにより行われる。バージョン表示部58には、現在選択されているソフトウェアのバージョンが表示される。使用格納領域表示部60には、現在選択されているソフトウェアが使用するパラメータの格納領域が表示される。ソフトウェア状態表示部62には、現在選択されているソフトウェアが起動中または停止中である情報が表示される。
【0036】
起動/実行ボタン46は、ユーザが入力部24を用いて操作するボタンである。起動/実行ボタン46が操作されると、現在選択されているソフトウェアが起動または実行される。なお、ソフトウェアの起動とは、ソフトウェアの実行ファイル28に記載されたプログラムがメモリ14に展開し、CPU16にメモリ14に展開されたプログラムに基づいて処理を行わせることを示す。また、ソフトウェアの実行とは、起動済みのソフトウェアの情報を示す画面を表示部26に表示させることを示す。
【0037】
図4は、ソフトウェア管理部20によるソフトウェア情報表示処理の流れを示すフローチャートである。
【0038】
ステップS1において、ソフトウェア管理部20は、各ソフトウェアのCPU16の使用率およびメモリ14の占有率を算出し、CPU16の使用率をCPU使用率表示部50に、メモリ14の占有率をメモリ占有率表示部52、凡例を凡例表示部54に表示させるように表示部26を制御する。
【0039】
ステップS2において、ソフトウェア情報表示部42は、ユーザにより選択されているソフトウェアのパラメータ情報ファイル30を読み込む。
【0040】
ステップS3において、ソフトウェア管理部20は、パラメータ情報ファイル30から、ソフトウェアの製品名とバージョンを抽出し、製品名を製品名表示部56に表示させ、バージョンをバージョン表示部58に表示させるように表示部26を制御する。
【0041】
ステップS4において、ソフトウェア管理部20は、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了したか否かを判定する。パラメータの種類を示すタグが存在するか否かの判定とは、後に説明するステップS6における判定のことを示す。すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了した場合にはステップS10へ移行し、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了していない場合にはステップS5へ移行する。
【0042】
ステップS5において、ソフトウェア管理部20は、パラメータの種類を示すタグが存在するか否かの判定を行うパラメータの種類を設定する。判定を行うパラメータの種類の設定は、X信号、Y信号、F信号、G信号、内部リレーR、拡張リレーE、保持メモリD、保持メモリK、タイマT、カウンタC、加工プログラム番号、マクロ変数、ワーク座標番号、工具オフセット番号の順で行われる。
【0043】
ステップS6において、ソフトウェア管理部20は、パラメータ情報ファイル30内に、ステップS5において設定されたパラメータの種類を示すタグが存在するか否かを判定する。パラメータの種類を示すタグが存在する場合にはステップS7へ移行し、パラメータの種類を示すタグが存在しない場合にはステップS4へ戻る。
【0044】
ステップS7において、ソフトウェア管理部20は、使用格納領域表示部60に、設定されたパラメータの種類を示すラベルを表示させるように表示部26を制御する。
【0045】
ステップS8において、ソフトウェア管理部20は、パラメータ情報ファイル30内に、設定されたパラメータの種類の要素の下位にrangeタグが存在するか否かを判定する。rangeタグが存在する場合にはステップS9へ移行し、rangeタグが存在しない場合にはステップS4へ戻る。
【0046】
ステップS9において、ソフトウェア管理部20は、rangeタグの要素の内容に基づき、使用格納領域表示部60に、選択されているソフトウェアが使用するパラメータの格納領域を表示させるように表示部26を制御する。
【0047】
ステップS10において、ソフトウェア管理部20は、ソフトウェア状態表示部62に、選択されているソフトウェアが起動中または停止中である情報を表示させるように表示部26を制御して、ソフトウェア情報表示処理を終了する。
【0048】
[ソフトウェア起動/実行処理]
図5は、ソフトウェア管理部20およびパラメータ管理部22によるソフトウェア起動/実行処理の流れを示すフローチャートである。
【0049】
ステップS11において、ソフトウェア管理部20は、ユーザにより起動/実行ボタン46が操作されたか否かを判定する。起動/実行ボタン46が操作された場合にはステップS12へ移行し、起動/実行ボタン46が操作されていない場合にはステップS11の処理を繰り返す。
【0050】
ステップS12において、パラメータ管理部22は、ユーザにより選択されているソフトウェアは起動済みであるか否かを判定する。選択されているソフトウェアが起動済みである場合にはステップS23へ移行し、選択されているソフトウェアが起動されていない場合にはステップS13へ移行する。
【0051】
ステップS13において、パラメータ管理部22は、選択されているソフトウェアのパラメータ情報ファイル30を読み込む。
【0052】
ステップS14において、パラメータ管理部22は、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了したか否かを判定する。パラメータの種類を示すタグが存在するか否かの判定とは、後に説明するステップS16における判定のことを示す。すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了した場合にはステップS21へ移行し、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了していない場合にはステップS15へ移行する。
【0053】
ステップS15において、パラメータ管理部22は、パラメータの種類を示すタグが存在するか否かの判定を行うパラメータの種類を設定する。判定を行うパラメータの種類の設定は、X信号、Y信号、F信号、G信号、内部リレーR、拡張リレーE、保持メモリD、保持メモリK、タイマT、カウンタC、加工プログラム番号、マクロ変数、ワーク座標番号、工具オフセット番号の順で行われる。
【0054】
ステップS16において、パラメータ管理部22は、パラメータ情報ファイル30内に、ステップS15において設定されたパラメータの種類を示すタグが存在するか否かを判定する。パラメータの種類を示すタグが存在する場合にはステップS17へ移行し、パラメータの種類を示すタグが存在しない場合にはステップS14へ戻る。
【0055】
ステップS17において、パラメータ管理部22は、パラメータ情報ファイル30内に、設定されたパラメータの種類の要素の下位にinitialタグが存在するか否かを判定する。initialタグが存在する場合にはステップS18へ移行し、initialタグが存在しない場合にはステップS14へ戻る。
【0056】
ステップS18において、パラメータ管理部22は、initialタグのvalue属性の値がescapeであるか否かを判定する。value属性の値がescapeである場合にはステップS19へ移行し、value属性の値がescapeでない場合にはステップS20へ移行する。
【0057】
ステップS19において、パラメータ管理部22は、パラメータ格納部18に格納されているパラメータのうち、ステップS15において設定された種類のパラメータであって、initialタグのnumber属性の値の番地の格納領域に格納されているパラメータの値を、メモリ14の退避領域34に記憶されている対応するパラメータの初期値に変更する。なお、value属性の値がescapeであるinitialタグが複数あるときには、value属性の値がescapeである各initialタグについてステップS19の処理が行われる。
【0058】
ステップS20において、パラメータ管理部22は、パラメータ格納部18に格納されているパラメータのうち、ステップS15において設定された種類のパラメータであって、initialタグのnumber属性の値の番地の格納領域に格納されているパラメータの値を、value属性の値に変更し、ステップS14へ戻る。なお、value属性の値が数値であるinitialタグが複数あるときには、value属性の値が数値である各initialタグについてステップS20の処理が行われる。
【0059】
ステップS21において、ソフトウェア管理部20は、選択されているソフトウェアの実行ファイル28のプログラムをメモリ14に展開する。
【0060】
ステップS22において、ソフトウェア管理部20は、CPU16にメモリ14に展開されたプログラムに基づき処理を開始させる。
【0061】
ステップS23において、ソフトウェア管理部20は、選択されているソフトウェアの画面を最前面に表示させるように表示部26を制御して、ソフトウェア起動/実行処理を終了する。
【0062】
なお、選択されているソフトウェアが所定のソフトウェア開発キットを用いて作成されていない場合には、ソフトウェアの起動が行われないようにしてもよい。
【0063】
ここで、ソフトウェアを起動させた場合とソフトウェアを実行させた場合の表示部26の画面切り換わりについて説明する。
【0064】
図6Aおよび図6Bは、ソフトウェアを起動させた場合の表示部26の表示の切り換わりを示す図である。図6Aは、ソフトウェアAが起動済みであって、管理画面38が最前面に表示され、ソフトウェアAの情報画面64aが管理画面38の背面に隠れている状態を示している。図6Bは、管理画面38においてユーザによりソフトウェアBが選択された状態で起動/実行ボタン46が操作された後の状態を示している。
【0065】
ソフトウェアBが起動されていない状態で、ソフトウェアBが選択されて起動/実行ボタン46が操作されると、ソフトウェアBが起動される。そして、図6Bに示されるように、ソフトウェアBの情報画面64bが最前面に表示される。
【0066】
図7Aおよび図7Bは、ソフトウェアを実行させた場合の表示部26の表示の切り換わりを示す図である。図7Aは、ソフトウェアAおよびソフトウェアBが起動済みであって、管理画面38が最前面に表示され、ソフトウェアBの情報画面64bが管理画面38の背面に隠れ、ソフトウェアAの情報画面64aが管理画面38bの背面に隠れている状態を示している。図7Bは、管理画面38においてユーザによりソフトウェアAが選択された状態で起動/実行ボタン46が操作された後の状態を示している。
【0067】
ソフトウェアAが起動されている状態で、ソフトウェアAが選択されて起動/実行ボタン46が操作されると、ソフトウェアAが実行される。そして、図7Bに示されるように、ソフトウェアAの情報画面64aが最前面に表示される。
【0068】
[メモリ解放処理]
図8は、ソフトウェア管理部20およびパラメータ管理部22によるメモリ解放処理の流れを示すフローチャートである。
【0069】
ステップS31において、ソフトウェア管理部20は、ユーザにより解放ボタン48が操作されたか否かを判定する。解放ボタン48が操作された場合にはステップS32へ移行し、解放ボタン48が操作されていない場合にはステップS31の処理を繰り返す。
【0070】
ステップS32において、ソフトウェア管理部20は、CPU16に、ユーザにより選択されているソフトウェアのプログラムに基づく処理を終了させる。
【0071】
ステップS33において、パラメータ管理部22は、選択されているソフトウェアのパラメータ情報ファイル30を読み込む。
【0072】
ステップS34において、パラメータ管理部22は、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了したか否かを判定する。パラメータの種類を示すタグが存在するか否かの判定とは、後に説明するステップS36における判定のことを示す。すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了した場合にはステップS40へ移行し、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了していない場合にはステップS35へ移行する。
【0073】
ステップS35において、パラメータ管理部22は、パラメータの種類を示すタグが存在するか否かの判定を行うパラメータの種類を設定する。判定を行うパラメータの種類の設定は、X信号、Y信号、F信号、G信号、内部リレーR、拡張リレーE、保持メモリD、保持メモリK、タイマT、カウンタC、加工プログラム番号、マクロ変数、ワーク座標番号、工具オフセット番号の順で行われる。
【0074】
ステップS36において、パラメータ管理部22は、パラメータ情報ファイル30内に、ステップS35において設定されたパラメータの種類を示すタグが存在するか否かを判定する。パラメータの種類を示すタグが存在する場合にはステップS37へ移行し、パラメータの種類を示すタグが存在しない場合にはステップS34へ戻る。
【0075】
ステップS37において、ソフトウェア管理部20は、パラメータ情報ファイル30内に、設定されたパラメータの種類の要素の下位にinitialタグが存在するか否かを判定する。initialタグが存在する場合にはステップS38へ移行し、initialタグが存在しない場合にはステップS34へ戻る。
【0076】
ステップS38において、パラメータ管理部22は、initialタグのvalue属性の値がescapeであるか否かを判定する。value属性の値がescapeである場合にはステップS39へ移行し、value属性の値がescapeでない場合にはステップS34へ戻る。
【0077】
ステップS39において、パラメータ管理部22は、パラメータ格納部18に格納されているパラメータのうち、ステップS35において設定された種類のパラメータであって、initialタグのnumber属性の値の番地の格納領域に格納されているパラメータの値を、メモリ14の退避領域34に初期値としてパラメータに対応付けて記憶させて、ステップS34へ戻る。
【0078】
ステップS40において、ソフトウェア管理部20は、選択されているソフトウェアのメモリ14の使用領域32を解放する。
【0079】
ステップS41において、ソフトウェア管理部20は、選択されているソフトウェアの情報画面64を閉じて、メモリ解放処理を終了する。
【0080】
[作用効果]
本実施例の数値制御装置10は、数値制御装置メーカにより作成されたソフトウェア以外にも、ユーザやサードパーティにより作成されたソフトウェアがインストールされることが可能である。
【0081】
ユーザやサードパーティにとって、他のソフトウェアが使用するパラメータを考慮してソフトウェアを作成することは困難であり、複数のソフトウェアが共通のパラメータを使用するおそれがある。そのため、一のソフトウェアが使用していたパラメータの値を、他のソフトウェアが書き換えてしまうと、その後、一のソフトウェアが正常に作動することができないおそれがある。
【0082】
そこで、本実施の形態の数値制御装置10では、ストレージ12に、ソフトウェアが使用するパラメータの情報およびパラメータ毎の初期値の情報を有するパラメータ情報ファイル30をソフトウェア毎に記憶させるようにした。そして、ソフトウェアが起動されるときに、パラメータ管理部22によりパラメータ格納部18に格納されているパラメータの値を、パラメータ情報ファイル30の初期値の情報に基づいて書き換えるようにした。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【0083】
また、本実施の形態の数値制御装置10では、ソフトウェアが起動されるときに、パラメータ管理部22により、パラメータ格納部18に格納されているパラメータのうちパラメータ情報ファイル30に記憶されているソフトウェアが使用するパラメータの値を、パラメータ情報ファイル30の初期値の情報に基づいて書き換えるようにした。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【0084】
また、本実施の形態の数値制御装置10は、ソフトウェアが終了されるときに、ソフトウェア管理部20により、プログラムが展開されていたメモリ14のソフトウェア使用領域を解放し、パラメータ管理部22により、メモリ14の退避領域34にソフトウェアが使用していたパラメータの値を初期値として退避させるようにした。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、パラメータの値を退避領域34に保持することができる。
【0085】
また、本実施の形態の数値制御装置10は、ソフトウェアが起動されるときに、パラメータ管理部22により、パラメータ格納部18に格納されているパラメータの値を、退避領域34に退避されている初期値に書き換えるようにした。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、ソフトウェアが起動されたときには、パラメータの値を退避領域34に退避されている初期値を用いて、前回値に戻すことができる。
【0086】
また、本実施の形態の数値制御装置10にインストールされるソフトウェアは、ユーザやサードパーティによって所定のソフトウェア開発キットにより作成されるようにした。所定のソフトウェア開発キットによりフレームワークを提供することができ、統一されたデザインの情報画面64を作成することができる。
【0087】
〔実施の形態から得られる技術的思想〕
上記実施の形態から把握しうる技術的思想について、以下に記載する。
【0088】
複数のソフトウェアをインストール可能な数値制御装置(10)であって、前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部(18)と、前記ソフトウェアの処理を規定するプログラムが記載された実行ファイル(28)と、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイル(30)とを、前記ソフトウェア毎に記憶するストレージ(12)と、前記ソフトウェアを起動させるときに、メモリ(14)に前記実行ファイルのプログラムを展開し、前記プログラムに基づいてCPU(16)に処理を行わせるソフトウェア管理部(20)と、前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記パラメータ情報ファイルの初期値の情報に基づいて書き換えるパラメータ管理部(22)と、を有する。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【0089】
上記の数値制御装置であって、前記パラメータ管理部は、前記パラメータ格納部に格納されている前記パラメータのうち前記パラメータ情報ファイルに記憶されている前記ソフトウェアが使用するパラメータの値を、前記パラメータ情報ファイルの前記初期値の情報に基づいて書き換えてもよい。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【0090】
上記の数値制御装置であって、前記ソフトウェア管理部は、前記ソフトウェアを終了させるときに、前記プログラムに基づく前記CPUの処理を終了させ、前記プログラムが展開されていた前記メモリの使用領域(32)を解放し、前記パラメータ管理部は、前記プログラムが展開されていた使用領域が解放されるときに、前記メモリの退避領域(34)に前記ソフトウェアで使用されていた前記パラメータの値を前記初期値として退避させてもよい。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、パラメータの値を退避領域に保持することができる。
【0091】
上記の数値制御装置であって、前記パラメータ管理部は、前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記退避領域に退避されている前記初期値に書き換えてもよい。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、ソフトウェアが起動されたときには、パラメータの値を退避領域に退避されている初期値を用いて、前回値に戻すことができる。
【0092】
上記の数値制御装置であって、前記ソフトウェアは、所定のソフトウェア開発キットにより作成されてもよい。これにより、統一されたデザインの情報画面を作成することができる。
【0093】
上記の数値制御装置であって、前記パラメータは、使用されているPLC信号、使用されている加工プログラムの番号、使用されているワーク座標の番号、使用されている工具オフセットの番号のうち少なくとも1つであってもよい。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【0094】
複数のソフトウェアをインストール可能な数値制御装置(10)の制御方法であって、前記数値制御装置は、前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部(18)と、前記ソフトウェアの処理を規定するプログラムが記載された実行ファイル(28)と、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイル(30)とを、前記ソフトウェア毎に記憶するストレージ(12)と、ユーザに操作されることにより、前記ソフトウェアの起動または終了の指令を前記数値制御装置に入力する入力部(24)と、を有し、前記入力部により前記ソフトウェアの起動の指令が入力された場合に、メモリ(14)に前記実行ファイルのプログラムを展開し、前記プログラムに基づいてCPU(16)に処理を行わせて前記ソフトウェアを起動させる起動ステップと、前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記パラメータ情報ファイルの初期値の情報に基づいて書き換える初期値設定ステップと、を有する。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【0095】
上記の数値制御装置の制御方法であって、前記初期値設定ステップは、前記パラメータ格納部に格納されている前記パラメータのうち前記パラメータ情報ファイルに記憶されている前記ソフトウェアが使用するパラメータの値を、前記パラメータ情報ファイルの前記初期値の情報に基づいて書き換えてもよい。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【0096】
上記の数値制御装置の制御方法であって、前記入力部により前記ソフトウェアの終了の指令が入力された場合に、前記プログラムに基づく前記CPUの処理を終了させ、前記プログラムが展開されていた前記メモリの領域を解放する解放ステップと、前記プログラムが展開されていた前記領域が解放されるときに、前記メモリの退避領域(34)に前記ソフトウェアで使用されていた前記パラメータの値を前記初期値として退避させる初期値退避ステップと、を有してもよい。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、パラメータの値を退避領域に保持することができる。
【0097】
上記の数値制御装置の制御方法であって、前記初期値設定ステップは、前記入力部により前記ソフトウェアの起動の指令が入力された場合に、前記パラメータ格納部に格納されている前記パラメータの値を、前記メモリに退避されている前記初期値に書き換えてもよい。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、ソフトウェアが起動されたときには、パラメータの値を退避領域に退避されている初期値を用いて、前回値に戻すことができる。
【符号の説明】
【0098】
10…数値制御装置 12…ストレージ
14…メモリ 16…CPU
18…パラメータ格納部 20…ソフトウェア管理部
22…パラメータ管理部
28、28a、28b、28c…実行ファイル
30、30a、30b、30c…パラメータ情報ファイル
34、34a、34b、34c…退避領域
図1
図2
図3
図4
図5
図6
図7
図8