(58)【調査した分野】(Int.Cl.,DB名)
前記起動判定手段、前記バックアップ手段、前記誤設定登録手段、前記起動設定復元手段、前記再起動手段の各手段は、前記数値制御装置の起動を制御するプロセッサとは異なるプロセッサ上で機能する、
ことを特徴とする請求項1に記載の数値制御装置。
【背景技術】
【0002】
数値制御装置(CNC)において、起動に関わる設定を誤って変更したことにより数値制御装置が起動しなくなった場合、起動していた時にバックアップした設定を手動で数値制御装置にロードして、数値制御装置を起動できるようにしているが、その場合、バックアップした設定はバックアップした当時の設定値となっており、最新の設定値が反映されていないため、バックアップした設定をロードした後で一部の設定について再設定をやり直す必要があり、時間がかかるという課題があった。
【0003】
このような課題を解決するために、最新の設定値が反映されている設定をバックアップする技術として、数値制御装置の電源投入時などに自動で設定を記憶装置にバックアップする技術が提案されている(例えば、特許文献1)。
【0004】
図14は、従来技術の実施形態を説明する図である。数値制御装置100は、演算処理を行うプロセッサであるCPU110と、外部入力機器500を制御する入力機器コントローラ120、数値制御装置100の起動設定のバックアップを記憶している記憶装置200を制御する記憶装置コントローラ130、RAMやROMなどのメモリ140、SRAMなどで構成され数値制御装置100の起動に関わる設定など記憶している不揮発性メモリ150、表示器300を制御する表示コントローラ160、電源スイッチ600からのオン・オフ信号により数値制御装置100の電源をオン・オフ制御する電源コントローラ170、および、工作機械400との信号の授受を制御する信号インタフェース180がバス190を介して接続される。
従来技術における数値制御装置100は、電源スイッチ600が操作されて電源が投入されると、現在数値制御装置に設定されている各設定の設定値を、自動的に記憶装置の設定値記憶領域にバックアップしている。
【0005】
また、起動しなくなった装置を自動で復旧する技術として、コンピュータの動作環境を変更し再起動する場合に、変更前の動作環境をバックアップしておき起動できなくなったら変更前の動作環境を自動で復元する技術が提案されている(例えば、特許文献2)。
更に、設定を管理する技術として、デフォルトの設定とオペレータが変更した設定との差異をリストで管理する技術が提案されている(例えば、特許文献3)。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来技術には以下に説明する問題があった。
特許文献1に記載の技術では、数値制御装置の電源投入時などに自動で設定を記憶装置にバックアップすることで、最新の設定値が反映されている設定をバックアップしているが、誤った設定が存在する場合でも設定を無条件にバックアップしているため、記憶装置に誤った設定が記憶されてしまった場合、バックアップした設定をロードした後で従来通り一部の再設定をやり直す必要があるという問題があった。
【0008】
また、特許文献2に記載の技術では、コンピュータの動作環境を変更し再起動する場合に、変更前の動作環境をバックアップしておくことで、起動しなくなった装置を自動で復旧しているが、単に自動的に復旧する処理をするだけでは起動しなくなった原因となる動作環境の変更を特定することが困難であるという問題があった。
更に、特許文献3に記載の技術では、設定の差異を検出できるが、変更した設定が正しいかを判別することや誤った設定への変更を防止することはできなかった。
【0009】
そこで、本発明の目的は、起動に関わる設定を変更したことが原因で装置が起動完了しなくなった場合に、装置が起動しなくなった原因となる動作環境の変更を容易に特定できる数値制御装置を提供することである。
【課題を解決するための手段】
【0010】
本願の請求項1に係る発明は、動作環境を設定する起動設定に基づいて起動を制御するプロセッサを備えた数値制御装置において、前記数値制御装置が起動完了しない原因となる起動設定の設定値を記憶する誤設定検出データベースと、前記数値制御装置が起動可能な起動設定を格納する起動可能設定記憶部と、を備え、前記数値制御装置の起動時に起動完了を判定する起動判定手段と、前記起動判定手段が起動完了と判定した場合、現在の起動設定を起動可能設定データとして前記起動可能設定記憶部に格納するバックアップ手段と、前記起動判定手段が起動完了しなかったと判定した場合、起動完了しない原因となった起動設定を検出し、前記誤設定検出データベースに登録する誤設定登録手段と、前記起動可能設定記憶部に記憶された前記起動可能設定データに基づいて前記数値制御装置の現在の設定を起動可能な設定へと復元する起動設定復元手段と、前記数値制御装置を再起動する再起動手段と、前記数値制御装置の前記起動設定を変更した際に、前記変更した起動設定に基づいて前記誤設定検出データベースを検索し、前記変更した起動設定と同一の起動設定が検索された場合、前記検索された起動設定を出力する誤設定検出手段と、を有することを特徴とする数値制御装置である。
【0011】
本願請求項2に係る発明は、前記起動判定手段、前記バックアップ手段、前記誤設定登録手段、前記起動設定復元手段、前記再起動手段の各手段が、前記数値制御装置の起動を制御するプロセッサとは異なるプロセッサ上で機能する、ことを特徴とする請求項1に記載の数値制御装置である。
【0012】
本願請求項3に係る発明は、前記起動判定手段が、一定時間内に加工サイクルが1回完了した場合に起動完了したと判定する、ことを特徴とする請求項1または2に記載の数値制御装置である。
本願請求項4に係る発明は、前記起動判定手段が、一定時間内に特定の信号が入力された場合に起動完了したと判定する、ことを特徴とする請求項1または2に記載の数値制御装置である。
本願請求項5に係る発明は、前記起動判定手段が、一定時間内に前記数値制御装置に組み込まれているアプリケーションからの指令を受信した場合に起動完了したと判定する、ことを特徴とする請求項1または2に記載の数値制御装置である。
本願請求項6に係る発明は、前記起動判定手段が、一定時間内にサーボモータの準備が完了した場合に起動完了したと判定する、ことを特徴とする請求項1または2に記載の数値制御装置である。
本願請求項7に係る発明は、前記起動判定手段が、一定時間内にスピンドルモータの準備が完了した場合に起動完了したと判定する、ことを特徴とする請求項1または2に記載の数値制御装置である。
本願請求項8に係る発明は、前記起動判定手段が、一定時間内にネットワーク通信の準備が完了した場合に起動完了したと判定する、ことを特徴とする請求項1または2に記載の数値制御装置である。
【発明の効果】
【0013】
本発明により、起動に関わる設定を変更したことが原因で装置が起動完了しなくなった際に、現在の設定から誤設定を検出して誤設定検出データベースに登録し、現在の設定を起動可能な設定へと復元して再起動し、再起動後に登録した誤設定をオペレータに提示することで、装置が起動しなくなった原因となる動作環境の変更を容易に特定できる。
また、起動に関わる設定を変更した際に誤設定検出データベースを参照することで、起動しなくなる原因となる誤設定を検出してオペレータに警告することが可能となる。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態を図面と共に説明する。なお、従来技術と同一または類似する構成は同じ符号を用いて説明する。
図1は、本発明に係る実施形態の数値制御装置の要部ブロック図である。数値制御装置100は、従来技術における数値制御装置と同様に、演算処理を行うプロセッサであるCPU110と、外部入力機器500を制御する入力機器コントローラ120、記憶装置200を制御する記憶装置コントローラ130、RAMやROMなどのメモリ140、SRAMなどで構成され数値制御装置100の起動に関わる設定など記憶している不揮発性メモリ150、表示器300を制御する表示コントローラ160、電源スイッチ600からのオン・オフ信号により数値制御装置100の電源をオン・オフ制御する電源コントローラ170、および、工作機械400との信号の授受を制御する信号インタフェース180がバス190を介して接続される。
【0016】
本実施の形態の記憶装置200は、起動可能設定格納領域210と、誤設定検出データベース220を備えている。
起動可能設定格納領域210には、数値制御装置100を起動する際に、数値制御装置100の起動が完了した時点での数値制御装置100の起動に関わる設定がバックアップされている。すなわち、起動可能設定格納領域210には、常に数値制御装置100が起動可能な設定が格納される。
一方で、誤設定検出データベース220には、数値制御装置100を起動する際に、数値制御装置100の起動が正常に行われなかった場合における数値制御装置100の起動に関わる設定を蓄積して管理するデータベースである。
【0017】
本実施の形態の数値制御装置100の起動時の動作について、
図2〜5を用いて説明する。
図2は、本実施の形態の数値制御装置100が起動に成功した場合の動作の概要を示している。
図2に示すように、本実施の形態の数値制御装置100上では、数値制御装置100の起動を制御するタスクとして、制御タスクと起動判定処理を有するタスク(以下、起動判定タスク)が動作している。数値制御装置100の起動に成功した場合、各タスクは以下の手順で動作する。
●[SA01]電源コントローラ170をオペレータが操作するなどして数値制御装置100が起動を開始すると、制御タスクから起動判定タスクに対して起動処理を開始したことを示す起動開始信号が送信される。
●[SA02]数値制御装置100の起動処理が完了すると、制御タスクから起動判定タスクに対して起動処理が完了したことを示す起動完了信号が送信される。
●[SA03]起動判定タスクは、制御タスクから起動開始信号を受信した後、一定時間内に起動完了信号を受信した場合、数値制御装置の起動が完了したと判定する。なお、起動完了を判定する条件としては、工作機械の加工サイクルが1回完了した場合、工作機械などからPMCなどを介して起動完了信号などの特定の信号が入力された場合、数値制御装置100に組み込まれているアプリケーションからの指令を受信した場合、サーボモータ、スピンドルモータが起動条件を満たし、励磁状態になったことを検出した場合、ネットワーク通信の接続が確立し、データの送受信が可能となった場合など、数値制御装置100が利用できる状態になったと判断される条件であればどのような条件により判定してもよい。
●[SA04]起動判定タスクは、現在数値制御装置100に設定されている起動に関わる設定を、起動可能設定データとして記憶装置200の起動可能設定格納領域210にバックアップする。
【0018】
本実施の形態の数値制御装置100は、このように動作することにより常に最新の設定値が反映された起動可能設定データをバックアップすることができる。
【0019】
図3は、本実施の形態の数値制御装置100が起動に失敗した場合の動作の概要を示している。数値制御装置100の起動に失敗した場合、各タスクは以下の手順で動作する。
●[SB01]電源コントローラ170をオペレータが操作するなどして数値制御装置100が起動を開始すると、制御タスクから起動判定タスクに対して起動処理を開始したことを示す起動開始信号が送信される。
●[SB02]起動判定タスクは、制御タスクから起動開始信号を受信した後、一定時間経過しても起動完了信号を受信できなかった場合、数値制御装置100が正常に起動しなかったと判定する。
●[SB03]起動判定タスクは、後述する処理手順により現在の起動に関わる設定から起動しない原因となった設定を検出し、誤設定検出データベース220に追加する。
●[SB04]起動判定タスクは、記憶装置200の起動可能設定格納領域210から、数値制御装置100が起動可能設定データを取得して不揮発性メモリに150設定されている起動に関わる設定を復元する。
●[SB05]起動判定タスクは、数値制御装置100を再起動する。
【0020】
図4は、
図3の手順で再起動した数値制御装置100の動作の概要を示している。数値制御装置100の起動失敗後における最初の再起動時に、各タスクは以下の手順で動作する。
●[SB06]数値制御装置100の再起動時に、制御タスクから起動判定タスクに対して起動処理を開始したことを示す起動開始信号が送信される。
●[SB07]数値制御装置100の起動処理が完了すると、制御タスクから起動判定タスクに対して起動処理が完了したことを示す起動完了信号が送信される。
●[SB08]起動判定タスクは、制御タスクから起動開始信号を受信した後、一定時間内に起動完了信号を受信した場合、数値制御装置の起動が完了したと判定する。
●[SB09]制御タスクは、SB03で検出した起動に関わる設定の差異を数値制御装置100に接続されている表示器300に表示する。
【0021】
以下で、
図2〜4で説明した数値制御装置100の起動処理について、
図5のフローチャートを用いて詳細に説明する。
<制御タスクの処理フロー>
●[S501]電源コントローラ170をオペレータが操作するなどして数値制御装置100が起動を開始すると、制御タスクは、起動判定タスクに対して起動処理を開始したことを示す起動開始信号を送信する。
●[S502]制御タスクは、不揮発性メモリ150に記憶されている現在の起動に関わる設定を読み込んで、数値制御装置100を起動する処理を実行する。
●[S503]S502の処理により、数値制御装置100の起動が完了した場合、制御タスクは、起動判定タスクに対して起動処理を開始したことを示す起動完了信号を送信する。
●[S504]制御タスクは、今回の起動が誤設定に基づく再起動であるか否かを判定する。本判定処理は、例えば不揮発性メモリ150内に再起動を示すフラグなどを設けることで実現するようにしてもよい。今回の起動が誤設定に基づく再起動である場合にはS505へと進み、通常の起動である場合には制御タスクの処理を終了する。
●[S505]制御タスクは、誤設定検出データベース220から、前回起動時に誤設定検出データベース220に追加したデータを読み出し、誤設定と正設定との差異がわかるように数値制御装置100に接続された表示器300へと表示する。
【0022】
<起動判定タスクの処理フロー>
●[S511]起動判定タスクは、制御タスクから起動開始信号を受信するまで待機する。制御タスクから起動開始信号を受信するとS512へと進む。
●[S512]起動判定タスクは、起動完了待ち時間を計測するためのタイマをスタートさせる。
●[S513]起動判定タスクは、起動完了信号を受信したか否かを判定する。起動完了信号を受信したらS514へと進み、起動完了信号が受信されていない場合にはS515へと進む。
●[S514]起動判定タスクは、起動完了信号を受信したら現在不揮発性メモリ150に設定されている設定を起動可能設定データとして記憶装置200の起動可能設定格納領域210に格納する。
●[S515]起動判定タスクは、タイマの値を読み出し、起動完了待ち時間がタイムアップしたか否かを判定する。タイムアップしていない場合はS513へと進み、タイムアップした場合にはS516へと進む。
●[S516]起動判定タスクは、後述する処理手順により起動処理の状態から起動完了しない原因となったパラメータ群を検出して、検出したパラメータ群の中から設定を誤ったパラメータの値を誤設定検出データベース220に追加し、記憶装置200の起動可能設定格納領域210に格納されている起動可能設定データに基づいて、現在の設定を起動可能となるように復元する。
●[S517]起動判定タスクは、S516で復元した設定に基づいて数値制御装置100を再起動する。
【0023】
本実施の形態の数値制御装置100は、このように動作することにより起動に関わる設定を誤った設定に変更にした場合でも、数値制御装置100を自動的に再起動させることができるので、緊急時における保守性が向上する。
また、誤った設定をしてしまった場合でも、起動に失敗した際の変更箇所を表示させることで、オペレータは起動しなくなった原因を特定し易くなり、再設定に必要となる時間を短縮させることができる。
【0024】
図6は、本実施の形態の数値制御装置100上でオペレータが設定を変更した際に、誤設定を検出する動作概要を示している。数値制御装置100が誤動作を検出する場合、各タスクは以下の手順で動作する。
●[SC01]オペレータが数値制御装置100の設定を変更した場合、制御タスクは、後述する処理手順によりオペレータが変更した設定に基づいて誤設定検出データベース220を検索する。
●[SC02]SC01において誤設定検出データベース220と同じ設定が検索された場合、制御タスクは該当する設定を数値制御装置100に接続された表示器300の画面に表示する。
【0025】
以下で、
図6で説明した数値制御装置100の起動処理について、
図7のフローチャートを用いて詳細に説明する。
●[S701]制御タスクは、数値制御装置100が備える操作盤(図示せず)などを介してオペレータより不揮発性メモリ150に記憶されている起動に関わる設定を変更する操作を受け付ける。
●[S702]制御タスクは、後述する処理手順によりオペレータが変更した設定に基づいて誤設定検出データベース220を検索する。
●[S703]S702においてオペレータが変更した設定と同じ設定が検索された場合はS704へと進み、検索されなかった場合は制御タスクによる設定変更処理を終了する。
●[S704]制御タスクは、誤設定検出データベース220より検索された設定を、数値制御装置100に接続された表示器300に表示する。
●[S705]制御タスクは、S704で表示した設定について、オペレータによる設定変更を受け付ける。
【0026】
本実施の形態の数値制御装置100は、このように動作することにより起動に関わる設定の変更時に以前と同じ設定の誤りを検出し、数値制御装置100が起動しなくなることを防止している。
【0027】
図8は、本実施の形態の数値制御装置100における、誤設定パラメータの誤設定検出データベース220への登録処理の概要を説明する図である。
数値制御装置100の起動に失敗した場合、最初に現在の設定の中で誤設定されていると推定されるパラメータ群を特定する。そして、誤設定されていると推定されるパラメータ群からそれぞれのパラメータを順に誤設定検出データベース220に設定するとともに、記憶装置200の起動可能設定格納領域210に記憶されている、起動可能設定データから取得した設定値へと変更して起動可能かどうかを内部処理で判定し、起動しないと判定された場合には次の誤設定パラメータについて同様の処理を繰り返す。
【0028】
以下で、
図8で説明した誤設定検出データベース220への登録処理について、
図9のフローチャートを用いて詳細に説明する。
●[S901]制御タスクの起動処理の進捗状態から起動完了しない原因となったパラメータ群を検出する。起動完了しない原因となったパラメータ群を検出する手法としては、例えば現在の設定の内で、記憶装置200内の起動可能設定格納領域210に記憶されている起動可能設定データから変更されているパラメータを、起動完了しない原因となったパラメータ群として検出してもよいし、数値制御装置100のシステムが出力するエラーに基づいて起動完了しない原因となったパラメータを検出してもよい。
●[S902]S901で検出された、起動完了しない原因となったパラメータ群に含まれる各パラメータについて、S903〜S906までの処理を繰り返し実行するために用いる変数であるインデックスiを設定する。初期値は1とする。
●[S903]起動完了しない原因となったパラメータ群のi番目のパラメータのパラメータ番号nを取得する。
●[S904]不揮発メモリに設定されている現在の起動に関わる設定のうち、パラメータ番号nの設定値を誤設定検出データベース220へ登録する。
●[S905]不揮発メモリに設定されている現在の起動に関わる設定のうち、パラメータ番号nの設定値を、記憶装置200の起動可能設定格納領域210に記憶されている起動可能設定データから取得した値へと変更する。
●[S906]装置の内部処理によりS905で変更を加えた現在の起動に関わる設定に基づいて数値制御装置100が起動可能か否かを判定する。起動可能か否かの判定処理には、誤設定検出データベース220を検索する手法などを用いてもよい。起動可能であると判定された場合にはS909へと進み、起動不可能と判定された場合にはS907へと進む。
●[S907]インデックスiの値をインクリメントする。
●[S908]インデックスiの値がS901で検出された誤設定パラメータの数を超えた場合には、全ての検出された誤設定パラメータを誤設定検出データベースへ登録したことになるので、繰り返し処理を抜けてS909へと進み、そうでない場合にはS903へと戻る。
●[S909]今回の処理において誤設定検出データベース220に登録されたパラメータにグループ番号を付与してグループ化する。グループ番号はご設定検出データベースへの登録処理が実行される毎に異なる数値を付与し、1回の登録処理においてS903〜S908の処理が繰り返されて複数の誤設定パラメータが登録された場合には、当該複数の誤設定パラメータには同じグループ番号が付与される。
【0029】
図10は、本実施の形態の数値制御装置100における、オペレータが変更した起動に関わる設定と、誤検出データベースとの比較処理の概要を説明する図である。
数値制御装置100の操作盤(図示せず)などをオペレータが操作して、数値制御装置100の起動に関わる設定を変更すると、設定を変更したパラメータと同じパラメータ番号が誤設定検出データベース220に登録されているか否かを、誤設定検出データベース220をパラメータ番号で検索することで判定する。
そして、同じパラメータ番号が登録されている場合には、変更したパラメータの設定値が誤設定検出データベース220に登録されている誤設定値と同一か否かを判定する。パラメータ番号が複数登録されている場合には、それぞれについて判定する。
【0030】
また、変更したパラメータの設定値が誤設定検出データベース220に登録されている誤設定値と同一である場合には、検索されたパラメータと同じグループ番号が設定されている他のパラメータについても同様に、パラメータの設定値が誤設定値と同一か否か判定する。そして、すべての設定値が同一であるグループが誤設定検出データベースに登録されている場合には、現在の設定は誤設定であると判定する。
【0031】
以下で、
図10で説明したオペレータが変更した起動に関わる設定と、誤検出データベースとの比較処理について、
図11のフローチャートを用いて詳細に説明する。
●[S1101]制御タスクは、オペレータが変更した設定のパラメータ番号nを取得する。
●[S1102]制御タスクは、S1101で取得したパラメータ番号nに基づいて誤設定検出データベースを検索する。
●[S1103]制御タスクは、誤設定フラグを論理値falseに設定する。
●[S1104]制御タスクは、誤設定検出データベースから検索された各パラメータについて、S1105〜S1107の繰り返し処理を実行する。
●[S1105]制御タスクは、パラメータ番号nのパラメータの設定値と、誤設定検出データベースから検索されたパラメータの誤設定値とを比較して一致するか否かを判断する。一致する場合にはS1106へ進み、一致しない場合には次の検索されたパラメータについて繰り返し処理を続ける。
●[S1106]制御タスクは、誤設定検出データベースから検索されたパラメータと同じグループの他のパラメータについて、他のパラメータの誤設定値が現在のパラメータの設定値と一致するか否かを判定する。他のパラメータがすべて一致する場合にはS1107へと進み、1つでも一致しないパラメータがある場合には次の検索されたパラメータについて繰り返し処理を続行する。
●[S1107]制御タスクは、現在の設定が誤設定であると判定し、誤設定フラグに論理値trueを設定する。
【0032】
図11で説明した処理を実行した後、誤設定フラグを参照することで現在の設定が誤設定であるか否かを検出することができる。誤設定フラグが論理値trueとなっている場合には、現在の設定が誤設定であると判定できる。
【0033】
以上、1つのCPU110上で制御タスクと起動判定タスクを動作させる一例を示したが、本実施の形態では制御タスクと起動判定タスクとをそれぞれ独立のCPU上で動作させるように構成してもよい。
図12は、マルチプロセッサを備えた数値制御装置100において、制御タスクをメインCPU700上で動作させ、起動判定タスクをサブCPU710上で動作させた場合の本実施の形態の一例である。
このように構成することにより、メインCPU700そのものがハングアップした場合であっても、サブCPU710で起動判定タスクを実行可能となり、緊急時の保守性が向上する。
【0034】
図13は、本発明の他の実施形態の数値制御装置を説明する図である。
図13に示す数値制御装置100は、電子計算機800を備えている。電子計算機800は、演算処理を行うプロセッサであるCPU810と、外部入力機器500を制御する入力機器コントローラ820、記憶装置200を制御する記憶装置コントローラ830、RAMやROMなどのメモリ840、表示器300を制御する表示コントローラ850、電源スイッチ610からのオン・オフ信号により電子計算機800の電源をオン・オフ制御する電源コントローラ860、および、数値制御装置100とのデータの授受を制御する数値制御装置との通信コントローラ870がバス880を介して接続される。
【0035】
通信コントローラ870上では起動判定タスクが動作しており、数値制御装置用のスイッチ620を制御することにより数値制御装置100を再起動することができるように構成されている。また、数値制御装置100上で動作する制御タスクから数値制御装置100の起動開始信号、および起動完了信号を受信する。
このように構成することにより、数値制御装置100がハングアップした場合であっても、電子計算機800上で起動判定タスクを実行可能となり、緊急時の保守性が向上する。