(57)【要約】【課題】同じパラメータを使用する複数のソフトウェアを正常に作動させることができる数値制御装置を提供する。【解決手段】複数のソフトウェアをインストール可能な数値制御装置１０であって、ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部１８と、ソフトウェアが使用するパラメータの情報およびパラメータ毎の初期値の情報を有するパラメータ情報ファイル３０をソフトウェア毎に記憶するストレージ１２と、ソフトウェアが起動されるときに、パラメータ格納部１８に格納されているパラメータの値を、パラメータ情報ファイル３０の初期値の情報に基づいて書き換えるパラメータ管理部２２と、を有する。【選択図】図１
2020086587.tif 000002
【特許請求の範囲】
【請求項１】
複数のソフトウェアをインストール可能な数値制御装置であって、
前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部と、
前記ソフトウェアの処理を規定するプログラムが記載された実行ファイルと、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイルとを、前記ソフトウェア毎に記憶するストレージと、
前記ソフトウェアを起動させるときに、メモリに前記実行ファイルのプログラムを展開し、前記プログラムに基づいてＣＰＵに処理を行わせるソフトウェア管理部と、
前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記パラメータ情報ファイルの初期値の情報に基づいて書き換えるパラメータ管理部と、
を有する、数値制御装置。
【請求項２】
請求項１に記載の数値制御装置であって、
前記パラメータ管理部は、前記パラメータ格納部に格納されている前記パラメータのうち前記パラメータ情報ファイルに記憶されている前記ソフトウェアが使用するパラメータの値を、前記パラメータ情報ファイルの前記初期値の情報に基づいて書き換える、数値制御装置。
【請求項３】
請求項１または２に記載の数値制御装置であって、
前記ソフトウェア管理部は、前記ソフトウェアを終了させるときに、前記プログラムに基づく前記ＣＰＵの処理を終了させ、前記プログラムが展開されていた前記メモリの領域を解放し、
前記パラメータ管理部は、前記プログラムが展開されていた領域が解放されるときに、前記メモリの退避領域に前記ソフトウェアで使用されていた前記パラメータの値を前記初期値として退避させる、数値制御装置。
【請求項４】
請求項３に記載の数値制御装置であって、
前記パラメータ管理部は、前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記退避領域に退避されている前記初期値に書き換える、数値制御装置。
【請求項５】
請求項１〜４のいずれか１項に記載の数値制御装置であって、
前記ソフトウェアは、所定のソフトウェア開発キットにより作成される、数値制御装置。
【請求項６】
請求項１〜５のいずれか１項に記載の数値制御装置であって、
前記パラメータは、使用されているＰＬＣ信号、使用されている加工プログラムの番号、使用されているワーク座標の番号、使用されている工具オフセットの番号のうち少なくとも１つである、数値制御装置。
【請求項７】
複数のソフトウェアをインストール可能な数値制御装置の制御方法であって、
前記数値制御装置は、
前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部と、
前記ソフトウェアの処理を規定するプログラムが記載された実行ファイルと、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイルとを、前記ソフトウェア毎に記憶するストレージと、
ユーザに操作されることにより、前記ソフトウェアの起動または終了の指令を前記数値制御装置に入力する入力部と、
を有し、
前記入力部により前記ソフトウェアの起動の指令が入力された場合に、メモリに前記実行ファイルのプログラムを展開し、前記プログラムに基づいてＣＰＵに処理を行わせて前記ソフトウェアを起動させる起動ステップと、
前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記パラメータ情報ファイルの初期値の情報に基づいて書き換える初期値設定ステップと、
を有する、数値制御装置の制御方法。
【請求項８】
請求項７に記載の数値制御装置の制御方法であって、
前記初期値設定ステップは、前記パラメータ格納部に格納されている前記パラメータのうち前記パラメータ情報ファイルに記憶されている前記ソフトウェアが使用するパラメータの値を、前記パラメータ情報ファイルの前記初期値の情報に基づいて書き換える、数値制御装置の制御方法。
【請求項９】
請求項７または８に記載の数値制御装置の制御方法であって、
前記入力部により前記ソフトウェアの終了の指令が入力された場合に、前記プログラムに基づく前記ＣＰＵの処理を終了させ、前記プログラムが展開されていた前記メモリの領域を解放する解放ステップと、
前記プログラムが展開されていた前記領域が解放されるときに、前記メモリの退避領域に前記ソフトウェアで使用されていた前記パラメータの値を前記初期値として退避させる初期値退避ステップと、
を有する、数値制御装置の制御方法。
【請求項１０】
請求項９に記載の数値制御装置の制御方法であって、
前記初期値設定ステップは、前記入力部により前記ソフトウェアの起動の指令が入力された場合に、前記パラメータ格納部に格納されている前記パラメータの値を、前記メモリに退避されている前記初期値に書き換える、数値制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のソフトウェアをインストール可能な数値制御装置および数値制御装置の制御方法に関する。
【背景技術】
【０００２】
下記特許文献１には、数値制御装置の記憶部にシステムソフトウェアの他に種々のアプリケーションソフトウェアがインストールされているものが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１６４７２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の技術では、同じパラメータを使用するソフトウェアがインストールされた場合、ソフトウェアが正常に作動しないおそれがある。
【０００５】
本発明は、上記の問題を解決するためになされたものであり、同じパラメータを使用する複数のソフトウェアを正常に作動させることができる数値制御装置および数値制御装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様は、複数のソフトウェアをインストール可能な数値制御装置であって、前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部と、前記ソフトウェアの処理を規定するプログラムが記載された実行ファイルと、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイルとを、前記ソフトウェア毎に記憶するストレージと、前記ソフトウェアを起動させるときに、メモリに前記実行ファイルのプログラムを展開し、前記プログラムに基づいてＣＰＵに処理を行わせるソフトウェア管理部と、前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記パラメータ情報ファイルの初期値の情報に基づいて書き換えるパラメータ管理部と、を有する。
【０００７】
本発明の第２の態様は、複数のソフトウェアをインストール可能な数値制御装置の制御方法であって、前記数値制御装置は、前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部と、前記ソフトウェアの処理を規定するプログラムが記載された実行ファイルと、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイルとを、前記ソフトウェア毎に記憶するストレージと、ユーザに操作されることにより、前記ソフトウェアの起動または終了の指令を前記数値制御装置に入力する入力部と、を有し、前記入力部により前記ソフトウェアの起動の指令が入力された場合に、メモリに前記実行ファイルのプログラムを展開し、前記プログラムに基づいてＣＰＵに処理を行わせて前記ソフトウェアを起動させる起動ステップと、前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記パラメータ情報ファイルの初期値の情報に基づいて書き換える初期値設定ステップと、を有する。
【発明の効果】
【０００８】
同じパラメータを使用する複数のソフトウェアを正常に作動させることができる。
【図面の簡単な説明】
【０００９】
【図１】数値制御装置の構成を示すブロック図である。
【図２】ソフトウェアのパラメータ情報ファイルに記載されている情報の例を示す図である。
【図３】表示部に表示される管理画面の表示例を示す図である。
【図４】ソフトウェア管理部によるソフトウェア情報表示処理の流れを示すフローチャートである。
【図５】ソフトウェア管理部およびパラメータ管理部によるソフトウェア起動／実行処理の流れを示すフローチャートである。
【図６】図６Ａおよび図６Ｂは、ソフトウェアを起動させた場合の表示部の表示の切り換わりを示す図である。
【図７】図７Ａおよび図７Ｂは、ソフトウェアを実行させた場合の表示部の表示の切り換わりを示す図である。
【図８】ソフトウェア管理部およびパラメータ管理部によるメモリ解放処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
〔第１の実施の形態〕
［数値制御装置の構成］
図１は、数値制御装置１０の構成を示すブロック図である。本実施の形態の数値制御装置１０は、汎用パーソナルコンピュータに、図示しない工作機械の数値制御を行うＮＣソフトウェアやＰＬＣソフトウェアがインストールされることによって、数値制御装置として機能させている。数値制御装置１０は、ＮＣソフトウェアやＰＬＣソフトウェアの他に、クーラントタンクの液量の管理機能、タッチプローブによる測定機能等、工作機械の加工に対して補助的な機能を提供する様々なソフトウェアをインストールされる。これらのソフトウェアは、ユーザやサードパーティにより作成されたものであってもよい。なお、ユーザやサードパーティは、所定のソフトウェア開発キットを用いてソフトウェアを作成する。本実施の形態では、ソフトウェアＡ、ソフトウェアＢおよびソフトウェアＣが数値制御装置１０にインストールされている。
【００１１】
数値制御装置１０は、ストレージ１２、メモリ１４、ＣＰＵ１６、パラメータ格納部１８、ソフトウェア管理部２０、パラメータ管理部２２、入力部２４および表示部２６を有している。
【００１２】
ストレージ１２は、ソフトウェアＡ、ソフトウェアＢおよびソフトウェアＣの実行ファイル２８ａ〜２８ｃとパラメータ情報ファイル３０ａ〜３０ｃを記憶している。なお、１つの実行ファイル２８ａ〜２８ｃ、１つのパラメータ情報ファイル３０ａ〜３０ｃを特定しない場合には、以下、実行ファイル２８、パラメータ情報ファイル３０と記載することがある。また、ソフトウェアＡ、ソフトウェアＢおよびソフトウェアＣをそれぞれ区別しない場合には、以下、単にソフトウェアと記載することがある。
【００１３】
実行ファイル２８とパラメータ情報ファイル３０は、ソフトウェア毎にそれぞれ組にして同一のフォルダに入れられて管理されている。なお、実行ファイル２８とパラメータ情報ファイル３０は、必ずしも同一のフォルダに入れられている必要はなく、ソフトウェア毎に実行ファイル２８とパラメータ情報ファイル３０とを対応付ける情報を別に持っておけば、実行ファイル２８とパラメータ情報ファイル３０とが、異なるフォルダに入れられていてもよい。
【００１４】
実行ファイル２８は、ソフトウェアの処理を規定するプログラムが機械語で記載されたバイナリファイルである。パラメータ情報ファイル３０は、各ソフトウェアが使用するパラメータに関する情報がＸＭＬで記載されたテキストファイルである。
【００１５】
図２は、ソフトウェアのパラメータ情報ファイル３０に記載されている情報の例を示す図である。図２は、ソフトウェアＡのパラメータ情報ファイル３０ａを例として示しているが、他のパラメータ情報ファイル３０ｂおよびパラメータ情報ファイル３０ｃも同様の情報が記載されている。
【００１６】
informationタグはルート要素、nameタグはソフトウェアの製品名、versionタグはソフトウェアのバージョン、contactタグはソフトウェアの作成会社、parameterタグはソフトウェアが使用するパラメータ、pmc_r、pmc_dおよびmacro_valのタグはパラメータの種類、rangeタグはソフトウェアが使用するパラメータの格納領域の範囲、initialタグはパラメータの初期値を示す。
【００１７】
なお、パラメータ情報ファイル３０は、ＸＭＬに限らず、別の言語で記載されていてもよい。また、パラメータ情報ファイル３０は、テキストファイルではなく、バイナリファイルであってもよい。
【００１８】
ソフトウェアが起動されるときに、メモリ１４に実行ファイル２８のプログラムが展開される。メモリ１４にプログラムが展開されると、プログラムが展開されるプログラム領域の他に、ヒープ領域やスタック領域等が設定される。以下、プログラム領域、ヒープ領域およびスタック領域等を総称してソフトウェアの使用領域３２（ソフトウェアＡの使用領域３２ａ、ソフトウェアＢの使用領域３２ｂ、ソフトウェアＣの使用領域３２ｃ）と称する。ソフトウェアの使用領域３２は、ソフトウェアが起動中である場合にはメモリ１４上に設定されるが、ソフトウェアが停止中である場合にはメモリ１４上には設定されない。
【００１９】
また、ソフトウェアが起動されると、メモリ１４にソフトウェア毎にパラメータの退避領域３４ａ〜３４ｃが設定される。退避領域３４ａ〜３４ｃは、該当するソフトウェアが一度も起動されていないときにはメモリ１４上に設定されない。また、一度、メモリ１４上に退避領域３４ａ〜３４ｃが設定されると、数値制御装置１０がシャットダウンされるまで、ソフトウェアの停止中も設定されている。なお、１つの退避領域３４ａ〜３４ｃを特定しない場合には、以下では退避領域３４と記載することがある。退避領域３４には、パラメータの初期値の値が各パラメータに対応付けられて記憶されている。
【００２０】
ＣＰＵ１６は、メモリ１４に展開されているプログラムにしたがって、演算処理等を行う。
【００２１】
パラメータ格納部１８は、ソフトウェアの処理において使用される各種のパラメータが格納されている。パラメータ格納部１８に格納されるパラメータの種類は、例えば、ＰＬＣ信号、加工プログラム番号、マクロ変数、ワーク座標番号、工具オフセット番号等である。
【００２２】
ＰＬＣ信号は、ＮＣソフトウェアとＰＬＣソフトウェアとの間で入出力を行うためのＦ信号およびＧ信号、工作機械または図示しない外部機器との間で入出力を行うためのＸ信号およびＹ信号、ＰＬＣソフトウェアで実行されるシーケンスプログラムで使用される内部リレーＲ、拡張リレーＥ、タイマＴ、カウンタＣ、保持メモリＫ、Ｄである。パラメータ格納部１８には、Ｆ信号、Ｇ信号、Ｘ信号、Ｙ信号、内部リレーＲ、拡張リレーＥ、タイマＴ、カウンタＣおよび保持メモリＫ、Ｄに対して、それぞれ複数のパラメータの格納領域が設けられている。
【００２３】
加工プログラムは、ＮＣソフトウェアで実行されるプログラムであって、ＭコードやＧコードにより記述される。加工プログラムは１行毎に番号が振られており、加工プログラム番号のパラメータには、現在実行されている（使用されている）加工プログラムの番号が入力される。パラメータ格納部１８には、加工プログラム番号に対して、複数のパラメータの格納領域が設けられている。
【００２４】
マクロ変数は、加工プログラム内で使用される変数であって、マクロ変数のパラメータには変数の値が入力されている。パラメータ格納部１８には、マクロ変数のパラメータに対して、複数のパラメータの格納領域が設けられている。
【００２５】
ワーク座標は、加工プログラムにおいてワークの加工形状を規定するためのワーク上の位置を示す座標である。ワーク座標は１点毎に番号が振られており、ワーク座標番号のパラメータには、現在使用されているワークの座標の番号が入力される。パラメータ格納部１８には、ワーク座標番号に対して、複数のパラメータの格納領域が設けられている。
【００２６】
工具オフセットは、工作機械で用いられる工具の長さや、工具の径の大きさの値である。工具オフセットは工具毎に番号が振られており、工具オフセット番号のパラメータには、現在使用されている工具オフセットの番号が入力される。パラメータ格納部１８には、工具オフセット番号に対して、複数のパラメータの格納領域が設けられている。
【００２７】
前述のように、パラメータ格納部１８には、パラメータの種類毎にパラメータの格納領域が設けられ、１つの格納領域毎に番地（アドレス）が設定されている。例えば、パラメータ格納部１８には、Ｒ信号について４００個分の格納領域が設定され、０番地〜３９９番地のアドレスが設定される。
【００２８】
また、パラメータの種類毎に、各ソフトウェアが使用する格納領域が設定されている。例えば、ソフトウェアＡは、Ｒ信号については２００番地〜２１２番地の格納領域に格納されているパラメータを使用するように設定されている。
【００２９】
ソフトウェア管理部２０は、ソフトウェアを起動させるときに、起動されるソフトウェアの実行ファイル２８のプログラムをメモリ１４に展開し、ＣＰＵ１６にプログラムに基づいて処理を行わせる。また、ソフトウェア管理部２０は、ソフトウェアを終了させるときに、ＣＰＵ１６に終了させるソフトウェアのプログラムに基づく処理を終了させ、メモリ１４の終了させるソフトウェアの使用領域３２を解放する。ソフトウェア管理部２０における処理については、後に詳述する。
【００３０】
パラメータ管理部２２は、ソフトウェアを起動させるときに、パラメータ格納部１８に格納されているパラメータのうち、起動されるソフトウェアが使用するパラメータの値を、パラメータ情報ファイル３０の初期値の情報に基づいて書き換える。また、パラメータ管理部２２は、終了させるソフトウェアのメモリ１４の使用領域３２が解放されるときに、メモリ１４の退避領域３４に、終了させるソフトウェアで使用されていたパラメータの値を初期値として退避させる。
【００３１】
入力部２４は、キーボード、マウス、タッチパネル等である。表示部２６は、液晶ディスプレイ等である。入力部２４および表示部２６はソフトウェア管理部２０により制御される。
【００３２】
［ソフトウェア管理画面表示処理］
ソフトウェア管理部２０は、各ソフトウェアのＣＰＵ１６の使用率とメモリ１４の占有率を算出し、算出した各ソフトウェアのＣＰＵ１６の使用率とメモリ１４の占有率の情報を表示させるように表示部２６を制御する。また、ソフトウェア管理部２０は、ストレージ１２に記憶されている各ソフトウェアのパラメータ情報ファイル３０を読み込んで、ソフトウェア情報を表示させるように表示部２６を制御する。
【００３３】
図３は、表示部２６に表示される管理画面３８の表示例を示す図である。表示部２６には、資源情報表示部４０、ソフトウェア情報表示部４２、ソフトウェア選択ボタン４４、起動／実行ボタン４６および解放ボタン４８が表示される。
【００３４】
資源情報表示部４０は、ＣＰＵ使用率表示部５０、メモリ占有率表示部５２および凡例表示部５４を有している。ＣＰＵ使用率表示部５０には、各ソフトウェアのＣＰＵ１６の使用率が帯グラフとして表示される。メモリ占有率表示部５２には、各ソフトウェアのメモリ１４の占有率が帯グラフとして表示される。凡例表示部５４には、ＣＰＵ使用率表示部５０およびメモリ占有率表示部５２上において各ソフトウェアを識別する表示と、ソフトウェアの製品名との対応を示す凡例が表示される。
【００３５】
ソフトウェア情報表示部４２は、製品名表示部５６、バージョン表示部５８、使用格納領域表示部６０およびソフトウェア状態表示部６２を有している。製品名表示部５６には、現在選択されているソフトウェアの製品名が表示される。なお、ソフトウェアの選択は、表示部２６に表示されているソフトウェア選択ボタン４４を、ユーザが入力部２４を用いて操作することにより行われる。バージョン表示部５８には、現在選択されているソフトウェアのバージョンが表示される。使用格納領域表示部６０には、現在選択されているソフトウェアが使用するパラメータの格納領域が表示される。ソフトウェア状態表示部６２には、現在選択されているソフトウェアが起動中または停止中である情報が表示される。
【００３６】
起動／実行ボタン４６は、ユーザが入力部２４を用いて操作するボタンである。起動／実行ボタン４６が操作されると、現在選択されているソフトウェアが起動または実行される。なお、ソフトウェアの起動とは、ソフトウェアの実行ファイル２８に記載されたプログラムがメモリ１４に展開し、ＣＰＵ１６にメモリ１４に展開されたプログラムに基づいて処理を行わせることを示す。また、ソフトウェアの実行とは、起動済みのソフトウェアの情報を示す画面を表示部２６に表示させることを示す。
【００３７】
図４は、ソフトウェア管理部２０によるソフトウェア情報表示処理の流れを示すフローチャートである。
【００３８】
ステップＳ１において、ソフトウェア管理部２０は、各ソフトウェアのＣＰＵ１６の使用率およびメモリ１４の占有率を算出し、ＣＰＵ１６の使用率をＣＰＵ使用率表示部５０に、メモリ１４の占有率をメモリ占有率表示部５２、凡例を凡例表示部５４に表示させるように表示部２６を制御する。
【００３９】
ステップＳ２において、ソフトウェア情報表示部４２は、ユーザにより選択されているソフトウェアのパラメータ情報ファイル３０を読み込む。
【００４０】
ステップＳ３において、ソフトウェア管理部２０は、パラメータ情報ファイル３０から、ソフトウェアの製品名とバージョンを抽出し、製品名を製品名表示部５６に表示させ、バージョンをバージョン表示部５８に表示させるように表示部２６を制御する。
【００４１】
ステップＳ４において、ソフトウェア管理部２０は、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了したか否かを判定する。パラメータの種類を示すタグが存在するか否かの判定とは、後に説明するステップＳ６における判定のことを示す。すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了した場合にはステップＳ１０へ移行し、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了していない場合にはステップＳ５へ移行する。
【００４２】
ステップＳ５において、ソフトウェア管理部２０は、パラメータの種類を示すタグが存在するか否かの判定を行うパラメータの種類を設定する。判定を行うパラメータの種類の設定は、Ｘ信号、Ｙ信号、Ｆ信号、Ｇ信号、内部リレーＲ、拡張リレーＥ、保持メモリＤ、保持メモリＫ、タイマＴ、カウンタＣ、加工プログラム番号、マクロ変数、ワーク座標番号、工具オフセット番号の順で行われる。
【００４３】
ステップＳ６において、ソフトウェア管理部２０は、パラメータ情報ファイル３０内に、ステップＳ５において設定されたパラメータの種類を示すタグが存在するか否かを判定する。パラメータの種類を示すタグが存在する場合にはステップＳ７へ移行し、パラメータの種類を示すタグが存在しない場合にはステップＳ４へ戻る。
【００４４】
ステップＳ７において、ソフトウェア管理部２０は、使用格納領域表示部６０に、設定されたパラメータの種類を示すラベルを表示させるように表示部２６を制御する。
【００４５】
ステップＳ８において、ソフトウェア管理部２０は、パラメータ情報ファイル３０内に、設定されたパラメータの種類の要素の下位にrangeタグが存在するか否かを判定する。rangeタグが存在する場合にはステップＳ９へ移行し、rangeタグが存在しない場合にはステップＳ４へ戻る。
【００４６】
ステップＳ９において、ソフトウェア管理部２０は、rangeタグの要素の内容に基づき、使用格納領域表示部６０に、選択されているソフトウェアが使用するパラメータの格納領域を表示させるように表示部２６を制御する。
【００４７】
ステップＳ１０において、ソフトウェア管理部２０は、ソフトウェア状態表示部６２に、選択されているソフトウェアが起動中または停止中である情報を表示させるように表示部２６を制御して、ソフトウェア情報表示処理を終了する。
【００４８】
［ソフトウェア起動／実行処理］
図５は、ソフトウェア管理部２０およびパラメータ管理部２２によるソフトウェア起動／実行処理の流れを示すフローチャートである。
【００４９】
ステップＳ１１において、ソフトウェア管理部２０は、ユーザにより起動／実行ボタン４６が操作されたか否かを判定する。起動／実行ボタン４６が操作された場合にはステップＳ１２へ移行し、起動／実行ボタン４６が操作されていない場合にはステップＳ１１の処理を繰り返す。
【００５０】
ステップＳ１２において、パラメータ管理部２２は、ユーザにより選択されているソフトウェアは起動済みであるか否かを判定する。選択されているソフトウェアが起動済みである場合にはステップＳ２３へ移行し、選択されているソフトウェアが起動されていない場合にはステップＳ１３へ移行する。
【００５１】
ステップＳ１３において、パラメータ管理部２２は、選択されているソフトウェアのパラメータ情報ファイル３０を読み込む。
【００５２】
ステップＳ１４において、パラメータ管理部２２は、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了したか否かを判定する。パラメータの種類を示すタグが存在するか否かの判定とは、後に説明するステップＳ１６における判定のことを示す。すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了した場合にはステップＳ２１へ移行し、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了していない場合にはステップＳ１５へ移行する。
【００５３】
ステップＳ１５において、パラメータ管理部２２は、パラメータの種類を示すタグが存在するか否かの判定を行うパラメータの種類を設定する。判定を行うパラメータの種類の設定は、Ｘ信号、Ｙ信号、Ｆ信号、Ｇ信号、内部リレーＲ、拡張リレーＥ、保持メモリＤ、保持メモリＫ、タイマＴ、カウンタＣ、加工プログラム番号、マクロ変数、ワーク座標番号、工具オフセット番号の順で行われる。
【００５４】
ステップＳ１６において、パラメータ管理部２２は、パラメータ情報ファイル３０内に、ステップＳ１５において設定されたパラメータの種類を示すタグが存在するか否かを判定する。パラメータの種類を示すタグが存在する場合にはステップＳ１７へ移行し、パラメータの種類を示すタグが存在しない場合にはステップＳ１４へ戻る。
【００５５】
ステップＳ１７において、パラメータ管理部２２は、パラメータ情報ファイル３０内に、設定されたパラメータの種類の要素の下位にinitialタグが存在するか否かを判定する。initialタグが存在する場合にはステップＳ１８へ移行し、initialタグが存在しない場合にはステップＳ１４へ戻る。
【００５６】
ステップＳ１８において、パラメータ管理部２２は、initialタグのvalue属性の値がescapeであるか否かを判定する。value属性の値がescapeである場合にはステップＳ１９へ移行し、value属性の値がescapeでない場合にはステップＳ２０へ移行する。
【００５７】
ステップＳ１９において、パラメータ管理部２２は、パラメータ格納部１８に格納されているパラメータのうち、ステップＳ１５において設定された種類のパラメータであって、initialタグのnumber属性の値の番地の格納領域に格納されているパラメータの値を、メモリ１４の退避領域３４に記憶されている対応するパラメータの初期値に変更する。なお、value属性の値がescapeであるinitialタグが複数あるときには、value属性の値がescapeである各initialタグについてステップＳ１９の処理が行われる。
【００５８】
ステップＳ２０において、パラメータ管理部２２は、パラメータ格納部１８に格納されているパラメータのうち、ステップＳ１５において設定された種類のパラメータであって、initialタグのnumber属性の値の番地の格納領域に格納されているパラメータの値を、value属性の値に変更し、ステップＳ１４へ戻る。なお、value属性の値が数値であるinitialタグが複数あるときには、value属性の値が数値である各initialタグについてステップＳ２０の処理が行われる。
【００５９】
ステップＳ２１において、ソフトウェア管理部２０は、選択されているソフトウェアの実行ファイル２８のプログラムをメモリ１４に展開する。
【００６０】
ステップＳ２２において、ソフトウェア管理部２０は、ＣＰＵ１６にメモリ１４に展開されたプログラムに基づき処理を開始させる。
【００６１】
ステップＳ２３において、ソフトウェア管理部２０は、選択されているソフトウェアの画面を最前面に表示させるように表示部２６を制御して、ソフトウェア起動／実行処理を終了する。
【００６２】
なお、選択されているソフトウェアが所定のソフトウェア開発キットを用いて作成されていない場合には、ソフトウェアの起動が行われないようにしてもよい。
【００６３】
ここで、ソフトウェアを起動させた場合とソフトウェアを実行させた場合の表示部２６の画面切り換わりについて説明する。
【００６４】
図６Ａおよび図６Ｂは、ソフトウェアを起動させた場合の表示部２６の表示の切り換わりを示す図である。図６Ａは、ソフトウェアＡが起動済みであって、管理画面３８が最前面に表示され、ソフトウェアＡの情報画面６４ａが管理画面３８の背面に隠れている状態を示している。図６Ｂは、管理画面３８においてユーザによりソフトウェアＢが選択された状態で起動／実行ボタン４６が操作された後の状態を示している。
【００６５】
ソフトウェアＢが起動されていない状態で、ソフトウェアＢが選択されて起動／実行ボタン４６が操作されると、ソフトウェアＢが起動される。そして、図６Ｂに示されるように、ソフトウェアＢの情報画面６４ｂが最前面に表示される。
【００６６】
図７Ａおよび図７Ｂは、ソフトウェアを実行させた場合の表示部２６の表示の切り換わりを示す図である。図７Ａは、ソフトウェアＡおよびソフトウェアＢが起動済みであって、管理画面３８が最前面に表示され、ソフトウェアＢの情報画面６４ｂが管理画面３８の背面に隠れ、ソフトウェアＡの情報画面６４ａが管理画面３８ｂの背面に隠れている状態を示している。図７Ｂは、管理画面３８においてユーザによりソフトウェアＡが選択された状態で起動／実行ボタン４６が操作された後の状態を示している。
【００６７】
ソフトウェアＡが起動されている状態で、ソフトウェアＡが選択されて起動／実行ボタン４６が操作されると、ソフトウェアＡが実行される。そして、図７Ｂに示されるように、ソフトウェアＡの情報画面６４ａが最前面に表示される。
【００６８】
［メモリ解放処理］
図８は、ソフトウェア管理部２０およびパラメータ管理部２２によるメモリ解放処理の流れを示すフローチャートである。
【００６９】
ステップＳ３１において、ソフトウェア管理部２０は、ユーザにより解放ボタン４８が操作されたか否かを判定する。解放ボタン４８が操作された場合にはステップＳ３２へ移行し、解放ボタン４８が操作されていない場合にはステップＳ３１の処理を繰り返す。
【００７０】
ステップＳ３２において、ソフトウェア管理部２０は、ＣＰＵ１６に、ユーザにより選択されているソフトウェアのプログラムに基づく処理を終了させる。
【００７１】
ステップＳ３３において、パラメータ管理部２２は、選択されているソフトウェアのパラメータ情報ファイル３０を読み込む。
【００７２】
ステップＳ３４において、パラメータ管理部２２は、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了したか否かを判定する。パラメータの種類を示すタグが存在するか否かの判定とは、後に説明するステップＳ３６における判定のことを示す。すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了した場合にはステップＳ４０へ移行し、すべてのパラメータについて、パラメータの種類を示すタグが存在するか否かの判定が終了していない場合にはステップＳ３５へ移行する。
【００７３】
ステップＳ３５において、パラメータ管理部２２は、パラメータの種類を示すタグが存在するか否かの判定を行うパラメータの種類を設定する。判定を行うパラメータの種類の設定は、Ｘ信号、Ｙ信号、Ｆ信号、Ｇ信号、内部リレーＲ、拡張リレーＥ、保持メモリＤ、保持メモリＫ、タイマＴ、カウンタＣ、加工プログラム番号、マクロ変数、ワーク座標番号、工具オフセット番号の順で行われる。
【００７４】
ステップＳ３６において、パラメータ管理部２２は、パラメータ情報ファイル３０内に、ステップＳ３５において設定されたパラメータの種類を示すタグが存在するか否かを判定する。パラメータの種類を示すタグが存在する場合にはステップＳ３７へ移行し、パラメータの種類を示すタグが存在しない場合にはステップＳ３４へ戻る。
【００７５】
ステップＳ３７において、ソフトウェア管理部２０は、パラメータ情報ファイル３０内に、設定されたパラメータの種類の要素の下位にinitialタグが存在するか否かを判定する。initialタグが存在する場合にはステップＳ３８へ移行し、initialタグが存在しない場合にはステップＳ３４へ戻る。
【００７６】
ステップＳ３８において、パラメータ管理部２２は、initialタグのvalue属性の値がescapeであるか否かを判定する。value属性の値がescapeである場合にはステップＳ３９へ移行し、value属性の値がescapeでない場合にはステップＳ３４へ戻る。
【００７７】
ステップＳ３９において、パラメータ管理部２２は、パラメータ格納部１８に格納されているパラメータのうち、ステップＳ３５において設定された種類のパラメータであって、initialタグのnumber属性の値の番地の格納領域に格納されているパラメータの値を、メモリ１４の退避領域３４に初期値としてパラメータに対応付けて記憶させて、ステップＳ３４へ戻る。
【００７８】
ステップＳ４０において、ソフトウェア管理部２０は、選択されているソフトウェアのメモリ１４の使用領域３２を解放する。
【００７９】
ステップＳ４１において、ソフトウェア管理部２０は、選択されているソフトウェアの情報画面６４を閉じて、メモリ解放処理を終了する。
【００８０】
［作用効果］
本実施例の数値制御装置１０は、数値制御装置メーカにより作成されたソフトウェア以外にも、ユーザやサードパーティにより作成されたソフトウェアがインストールされることが可能である。
【００８１】
ユーザやサードパーティにとって、他のソフトウェアが使用するパラメータを考慮してソフトウェアを作成することは困難であり、複数のソフトウェアが共通のパラメータを使用するおそれがある。そのため、一のソフトウェアが使用していたパラメータの値を、他のソフトウェアが書き換えてしまうと、その後、一のソフトウェアが正常に作動することができないおそれがある。
【００８２】
そこで、本実施の形態の数値制御装置１０では、ストレージ１２に、ソフトウェアが使用するパラメータの情報およびパラメータ毎の初期値の情報を有するパラメータ情報ファイル３０をソフトウェア毎に記憶させるようにした。そして、ソフトウェアが起動されるときに、パラメータ管理部２２によりパラメータ格納部１８に格納されているパラメータの値を、パラメータ情報ファイル３０の初期値の情報に基づいて書き換えるようにした。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【００８３】
また、本実施の形態の数値制御装置１０では、ソフトウェアが起動されるときに、パラメータ管理部２２により、パラメータ格納部１８に格納されているパラメータのうちパラメータ情報ファイル３０に記憶されているソフトウェアが使用するパラメータの値を、パラメータ情報ファイル３０の初期値の情報に基づいて書き換えるようにした。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【００８４】
また、本実施の形態の数値制御装置１０は、ソフトウェアが終了されるときに、ソフトウェア管理部２０により、プログラムが展開されていたメモリ１４のソフトウェア使用領域を解放し、パラメータ管理部２２により、メモリ１４の退避領域３４にソフトウェアが使用していたパラメータの値を初期値として退避させるようにした。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、パラメータの値を退避領域３４に保持することができる。
【００８５】
また、本実施の形態の数値制御装置１０は、ソフトウェアが起動されるときに、パラメータ管理部２２により、パラメータ格納部１８に格納されているパラメータの値を、退避領域３４に退避されている初期値に書き換えるようにした。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、ソフトウェアが起動されたときには、パラメータの値を退避領域３４に退避されている初期値を用いて、前回値に戻すことができる。
【００８６】
また、本実施の形態の数値制御装置１０にインストールされるソフトウェアは、ユーザやサードパーティによって所定のソフトウェア開発キットにより作成されるようにした。所定のソフトウェア開発キットによりフレームワークを提供することができ、統一されたデザインの情報画面６４を作成することができる。
【００８７】
〔実施の形態から得られる技術的思想〕
上記実施の形態から把握しうる技術的思想について、以下に記載する。
【００８８】
複数のソフトウェアをインストール可能な数値制御装置（１０）であって、前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部（１８）と、前記ソフトウェアの処理を規定するプログラムが記載された実行ファイル（２８）と、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイル（３０）とを、前記ソフトウェア毎に記憶するストレージ（１２）と、前記ソフトウェアを起動させるときに、メモリ（１４）に前記実行ファイルのプログラムを展開し、前記プログラムに基づいてＣＰＵ（１６）に処理を行わせるソフトウェア管理部（２０）と、前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記パラメータ情報ファイルの初期値の情報に基づいて書き換えるパラメータ管理部（２２）と、を有する。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【００８９】
上記の数値制御装置であって、前記パラメータ管理部は、前記パラメータ格納部に格納されている前記パラメータのうち前記パラメータ情報ファイルに記憶されている前記ソフトウェアが使用するパラメータの値を、前記パラメータ情報ファイルの前記初期値の情報に基づいて書き換えてもよい。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【００９０】
上記の数値制御装置であって、前記ソフトウェア管理部は、前記ソフトウェアを終了させるときに、前記プログラムに基づく前記ＣＰＵの処理を終了させ、前記プログラムが展開されていた前記メモリの使用領域（３２）を解放し、前記パラメータ管理部は、前記プログラムが展開されていた使用領域が解放されるときに、前記メモリの退避領域（３４）に前記ソフトウェアで使用されていた前記パラメータの値を前記初期値として退避させてもよい。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、パラメータの値を退避領域に保持することができる。
【００９１】
上記の数値制御装置であって、前記パラメータ管理部は、前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記退避領域に退避されている前記初期値に書き換えてもよい。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、ソフトウェアが起動されたときには、パラメータの値を退避領域に退避されている初期値を用いて、前回値に戻すことができる。
【００９２】
上記の数値制御装置であって、前記ソフトウェアは、所定のソフトウェア開発キットにより作成されてもよい。これにより、統一されたデザインの情報画面を作成することができる。
【００９３】
上記の数値制御装置であって、前記パラメータは、使用されているＰＬＣ信号、使用されている加工プログラムの番号、使用されているワーク座標の番号、使用されている工具オフセットの番号のうち少なくとも１つであってもよい。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【００９４】
複数のソフトウェアをインストール可能な数値制御装置（１０）の制御方法であって、前記数値制御装置は、前記ソフトウェアの処理において使用されるパラメータを格納するパラメータ格納部（１８）と、前記ソフトウェアの処理を規定するプログラムが記載された実行ファイル（２８）と、前記ソフトウェアが使用する前記パラメータの情報および前記パラメータ毎の初期値の情報を有するパラメータ情報ファイル（３０）とを、前記ソフトウェア毎に記憶するストレージ（１２）と、ユーザに操作されることにより、前記ソフトウェアの起動または終了の指令を前記数値制御装置に入力する入力部（２４）と、を有し、前記入力部により前記ソフトウェアの起動の指令が入力された場合に、メモリ（１４）に前記実行ファイルのプログラムを展開し、前記プログラムに基づいてＣＰＵ（１６）に処理を行わせて前記ソフトウェアを起動させる起動ステップと、前記ソフトウェアが起動されるときに、前記パラメータ格納部に格納されている前記パラメータの値を、前記パラメータ情報ファイルの初期値の情報に基づいて書き換える初期値設定ステップと、を有する。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【００９５】
上記の数値制御装置の制御方法であって、前記初期値設定ステップは、前記パラメータ格納部に格納されている前記パラメータのうち前記パラメータ情報ファイルに記憶されている前記ソフトウェアが使用するパラメータの値を、前記パラメータ情報ファイルの前記初期値の情報に基づいて書き換えてもよい。これにより、同じパラメータを使用する他のソフトウェアがインストールされている場合であってもソフトウェアを正常に作動させることができる。
【００９６】
上記の数値制御装置の制御方法であって、前記入力部により前記ソフトウェアの終了の指令が入力された場合に、前記プログラムに基づく前記ＣＰＵの処理を終了させ、前記プログラムが展開されていた前記メモリの領域を解放する解放ステップと、前記プログラムが展開されていた前記領域が解放されるときに、前記メモリの退避領域（３４）に前記ソフトウェアで使用されていた前記パラメータの値を前記初期値として退避させる初期値退避ステップと、を有してもよい。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、パラメータの値を退避領域に保持することができる。
【００９７】
上記の数値制御装置の制御方法であって、前記初期値設定ステップは、前記入力部により前記ソフトウェアの起動の指令が入力された場合に、前記パラメータ格納部に格納されている前記パラメータの値を、前記メモリに退避されている前記初期値に書き換えてもよい。これにより、同じパラメータを使用する他のソフトウェアにパラメータの値を書き換えられたとしても、ソフトウェアが起動されたときには、パラメータの値を退避領域に退避されている初期値を用いて、前回値に戻すことができる。
【符号の説明】
【００９８】
１０…数値制御装置                      １２…ストレージ
１４…メモリ                            １６…ＣＰＵ
１８…パラメータ格納部                  ２０…ソフトウェア管理部
２２…パラメータ管理部
２８、２８ａ、２８ｂ、２８ｃ…実行ファイル
３０、３０ａ、３０ｂ、３０ｃ…パラメータ情報ファイル
３４、３４ａ、３４ｂ、３４ｃ…退避領域
【図１】
2020086587.tif 000003
【図２】
2020086587.tif 000004
【図３】
2020086587.tif 000005
【図４】
2020086587.tif 000006
【図５】
2020086587.tif 000007
【図６】
2020086587.tif 000008
【図７】
2020086587.tif 000009
【図８】
2020086587.tif 000010