(57)【特許請求の範囲】
【請求項１】
複数のセグメントで構成され、セグメントを選択的に表示して数字または文字を１文字表示する表示器と、スイッチとを備え、前記表示器に１文字ずつ循環的に表示させ、前記スイッチが操作されＯＮになると、そのとき表示器に表示されている１文字に対応する項目の処理を行うことを特徴とする数値制御装置。
【請求項２】
複数のセグメントで構成され、セグメントを選択的に表示して数字または文字を１文字表示する表示器と、スイッチとを備え、前記表示器に１文字ずつ循環的に表示させ、前記スイッチが操作されＯＮになる毎に、そのときの表示器の１文字に対応する項目を順次階層的に選択して絞り込み操作を行い、最終的に選択された項目の処理を行うことを特徴とする数値制御装置。
【請求項３】
前記処理は、データ設定またはメンテナンス処理である請求項１または請求項２記載の数値制御装置。
【請求項４】
前記表示器が７セグメント表示器である請求項１，請求項２または請求項３記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値制御装置の改良に関する。
【０００２】
【従来の技術】
数値制御装置における各種設定操作やデータの入出力およびシステムソフトウェアのアップデート等の作業は、ＣＲＴ／ＭＤＩ等の表示装置付手動データ入力装置を使って行うのが一般的であるが、モーションコントローラ（モータ制御用の数値制御装置）等のなかには、ＣＲＴ／ＭＤＩ等が接続されていないものや、ＣＲＴ／ＭＤＩ等の取り付けを考慮していない設計のものもある。
【０００３】
これらの数値制御装置においては、設定操作やメンテナンス作業を数値制御装置単体で行えるようにという配慮から、数値制御装置本体にロータリースイッチやプッシュスイッチを設け、両者のコンビネーション操作によって何種類かの簡単な作業を行えるようにしている。例えば、ロータリースイッチによって作業項目を選び、プッシュスイッチを押して数値制御装置に処理を実行させるといった具合である。
【０００４】
しかし、既存のロータリースイッチの接点は１６極が限界であり、選択できる作業項目もロータリースイッチの接点数による制限を受けてしまう。もし、これよりも多くの作業項目を選択できるようにしようとすれば、複数のロータリースイッチを配備して、それらのコンビネーションによって作業項目を選択する以外にないが、部品点数の増大やロータリースイッチを配備するためのスペースが問題になる。
【０００５】
また、ネットワーク上に複数の数値制御装置を配備するような場合は、数値制御装置の各々にＩＤを設定してネットワーク上でのデータの衝突等を回避する必要があり、各数値制御装置毎にＩＤ設定用のロータリースイッチを設ける必要がある。ＩＤの値はロータリースイッチの接点の位置により一義的に決まるので、定められたＩＤを保持する必要上、必ず、ＩＤ設定用のロータリースイッチは前述した項目選択用のロータリースイッチと独立させて設けなければならない。従って、ネットワーク上に配備する数値制御装置の場合、最低でも、作業項目を選択するためのロータリースイッチと、選択した項目の実行を数値制御装置に許可するためのプッシュスイッチ、および、ＩＤ設定用のロータリースイッチと、最低でも３個のスイッチが必要となる。
【０００６】
【発明が解決しようとする課題】
本発明の課題は、前記従来技術の欠点を解消し、単一のスイッチのみで様々な種類の設定操作やメンテナンス作業を選択的に行うことのできる数値制御装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、複数のセグメントで構成され、セグメントを選択的に表示して数字または文字を１文字表示する表示器と、スイッチとを備え、前記表示器に１文字ずつ循環的に表示させ、前記スイッチが操作されＯＮになると、そのとき表示器に表示されている１文字に対応する項目の処理を行うことを特徴とする構成により前記課題を達成した。
【０００８】
更に、前記表示器に１文字ずつ循環的に表示させ、前記スイッチが操作されＯＮになる毎に、そのときの表示器の１文字に対応する項目を順次階層的に選択して絞り込み操作を行い、最終的に選択された項目の処理を行うことを特徴とする構成により、多数の項目、例えば、データ設定やメンテナンス処理を容易に選択できるようにした。
【０００９】
前記表示器としては７セグメント表示器（例えば７セグメントＬＥＤ等）を採用することができる。
【００１０】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態を説明する。図１は本発明を適用した一実施形態の数値制御装置（モーションコントローラ）１０の構成を概略で示すブロック図である。
【００１１】
ＣＰＵ１１は数値制御装置１０を全体的に制御するプロセッサであり、バス１７を介してＲＯＭ１２やＲＡＭ１３等に接続されている。ＲＯＭ１２には、少なくとも、ＣＰＵ１１の立ち上げに必要とされる最低限度の起動用プログラムが固定的に記録されており、数値制御装置１０への電源投入によってこのプログラムが自動的に起動され、その後、ＦＲＯＭ（フラッシュメモリ）１５に格納されているシステムソフトウェア等がＲＡＭ１３に読み込まれて数値制御装置１０の立ち上げが完了し、以下、必要に応じて各種のアプリケーションプログラム等がＦＲＯＭ１５からＲＡＭ１３に読み込まれ、これらのプログラムに基くＣＰＵ１１の処理が開始されるという構成である。当然、ＦＲＯＭ１５は、数値制御装置１０の電源がオフにされても記憶状態が保持されるようになっている。
【００１２】
また、ＣＭＯＳメモリ１４も一種の不揮発性メモリであり、このＲＡＭにはシステムにとって重要な各種のパラメータ等が保存されている。ＣＭＯＳメモリ１４もバッテリバックアップされており電源ＯＦＦにされても記憶状態が保持される。
【００１３】
インターフェイス１８は外部記憶装置やＣＲＴ／ＭＤＩ等の周辺機器を接続するためのインターフェイスであるが、モーションコントローラ等の数値制御装置１０の場合、常時ＣＲＴ／ＭＤＩが接続されているわけではない。
【００１４】
７セグメントＬＥＤ（表示器）２およびプッシュスイッチ（スイッチ）３は、ＣＲＴ／ＭＤＩ等の表示装置付手動データ入力装置に代えて簡単なデータ設定作業やメンテナンス作業を行うためのもので、各々、インターフェイス１９およびインターフェイス２０を介してバス１７に接続されている。７セグメントＬＥＤ２およびプッシュスイッチ３は、数値制御装置１０の筐体に設けられた操作パネル１上に図２に示すようにして隣接して配備されている。このプッシュスイッチ３はネットワーク上に配備される数値制御装置１０のＩＤ設定手段を兼ねる。従って、数値制御装置１０に配備するスイッチはプッシュスイッチ３のみでよく、従来のような単数または複数のロータリースイッチは必要としない。
【００１５】
メモリカード２２はデータの移植やバックアップデータの保存に用いられるリムーバブルの記憶手段であり、インターフェイス２１を介して数値制御装置１０に着脱可能に取り付けられている。
【００１６】
軸制御回路１６はＣＰＵ１１からの移動指令を受けて各軸のサーボモータＭを駆動制御するためのものである。図１においては１軸分の軸制御回路とサーボモータを示しているが、制御対象となる機械の構造によってその数は異なる。
【００１７】
図３はＦＲＯＭ１５内におけるデータ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムの登録状態を概念的に示す図である。つまり、ルートとなる第１階層には、７セグメントＬＥＤ２によって表示可能な１０種のアラビア数字“０”〜“９”に応じた１０項目の選択肢が登録されており、更に、第２階層には、第１階層の項目の各々から派生する細分化された項目の選択肢が前記各項目の各々に対応して各１０項目ずつ登録されている。以下、細分化の必要に応じ、更に、第３階層，第４階層，・・・と続くことになる。
【００１８】
従って、階層がｎ階層あるとすれば、理論上、１０ｎ  個のデータ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムが登録できることになるが、実際に登録されているデータ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムの数はこれよりも少ない。項目の内の幾つかのものが、実際のデータ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムを登録する手段としてではなく、選択モード切り替えのための手段として利用されているからである。
【００１９】
図４に第１階層の項目の一例を部分的に示す。第１階層の項目は、一般に、選択モード切り替えのための手段であって、それ自体が実際のデータ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムを提供することはない。図５は第２階層の部分的な登録例、図６は第３階層の部分的な登録例である。
【００２０】
選択肢毎の各項目の階層の数は、その選択肢が内包する選択的に実行したいデータ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムの数によって決まることになる。
【００２１】
例えば、図４に示す保守操作モード（図３のＳＵＢ３）の処理として１０未満のデータ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラム（図３のＳＵＢ３０〜ＳＵＢ３９）で足りるとするなら、少なくとも、保守操作モードのための階層に関しては、ルートから数えて２階層で足りることになる。実際は、保守操作モードの処理の内、図５に示すリストア処理（図３のＳＵＢ３５）のように、リストア対象となるデータを細かく特定する必要のあるものもあるので、リストア処理に関しては、更に第３階層にまで選択肢が設定されている（図３のＳＵＢ３５０〜ＳＵＢ３５９）。この例から明らかなように、実際に使用される階層は項目毎に異なっている場合がある。なお、保守操作モードに関する階層においてはＳＵＢ３とＳＵＢ３５が選択モード切り替えのための手段として利用されており、実際にメンテナンス作業用アプリケーションプログラムを提供するのはＳＵＢ３０〜ＳＵＢ３４とＳＵＢ３６〜ＳＵＢ３８およびＳＵＢ３５０〜ＳＵＢ３５８である。
【００２２】
いずれにしても、ＣＰＵ１１によって実施させるべき処理を一義的に決めるためには、各項目の選択肢を最下層まで指定する必要があり、実際のデータ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムを提供するためのアドレス指定は、全て各ブランチの最下層に登録されている（ＳＵＢ３０〜ＳＵＢ３４，ＳＵＢ３６〜ＳＵＢ３８，ＳＵＢ３５０〜ＳＵＢ３５８等）。
【００２３】
以下、図７および図８に示すシステムスタート時の立上げ処理を参照して本実施形態の処理動作を説明する。この段階では既に必要最小限度のシステムソフトウェアがＲＡＭ１３に読み込まれているものとする。
【００２４】
オペレータは、データ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムを起動する必要がある場合には、プッシュスイッチ３を押したままシステムに電源を投入し（７セグメントＬＥＤ２がアラビア数字“０”を表示するまで押し続ける）、また、通常の立上げ処理を行うのであれば、プッシュスイッチ３を操作せずにシステムに電源を投入するようにする。
【００２５】
必要最小限度のシステムソフトウェアを読み込んで処理を開始したＣＰＵ１１は、まず、プッシュスイッチ３が操作されているか否か、つまり、オペレータ側から簡単なデータ設定やメンテナンス作業等を行うための指令が入力されているか否かを判別する（ステップａ１）。
【００２６】
プッシュスイッチ３が操作されていなければ、データ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムを起動する必要がないことを意味するので、ＣＰＵ１１は、ＦＲＯＭ１５に格納されている他のシステムソフトウェアを従来と同様にしてＲＡＭ１３に読み込んで（ステップａ２３）、システムの立上げ処理を終了することになる。
【００２７】
また、プッシュスイッチ３が操作されていた場合、ＣＰＵ１１は、ステップａ２の処理に移行し、データ設定やメンテナンス作業等を行うためのアプリケーションプログラムを選択するための処理を開始する。
【００２８】
プッシュスイッチ３が操作されていた場合、ＣＰＵ１１は、まず、文字ストリングスを記憶するレジスタ＄（Ｒ）をヌルの状態にリセットし（ステップａ２）、階層を記憶する指標ｉを１に、また、階層における項目番号を記憶する指標ｊを０に初期化する（ステップａ３，ステップａ４）。
【００２９】
次いで、ＣＰＵ１１は、階層ｉで使用する文字点滅周期Ｔｉ（設定値）をタイマＴにセットして計時を開始すると共に（ステップａ５，ステップａ６）、指標ｊに対応するアラビア数字“ｊ”を７セグメントＬＥＤ２に表示し（ステップａ７）、タイマＴの計時終了、もしくは、オペレータによるプッシュスイッチ３の操作を待つ待機状態に入る（ステップａ８，ステップａ９）。
【００３０】
そして、オペレータがプッシュスイッチ３を操作せずにタイマＴの計時が終了した場合、ＣＰＵ１１は、指標ｊの値が７セグメントＬＥＤ２に表示可能な最大値“９”未満であるか否かを判別する（ステップａ１０）。
【００３１】
そして、指標ｊの値が９未満であれば、ＣＰＵ１１は、指標ｊの値を１インクリメントし（ステップａ１１）、該指標ｊの値に基いてステップａ５〜ステップａ９の処理を前記と同様に繰り返し実行し、また、指標ｊの値が９に達していれば、指標ｊの値を０に初期化して（ステップａ４）、前記と同様にしてステップａ５〜ステップａ９の処理を繰り返し実行する。
【００３２】
従って、オペレータがプッシュスイッチ３を操作しない限り、７セグメントＬＥＤ２には指標ｊの値に対応する“０”〜“９”のアラビア数字が周期Ｔｉで循環的に点滅表示されることになる。
【００３３】
なお、この実施形態では、文字表示周期Ｔｉを階層ｉ毎に設定して各階層における文字の表示周期を変化させることにより、選択操作を行っている階層をオペレータに確実に認識させるようにしているが、階層数が少ない場合、つまり、どの階層での選択操作を行っているかに関してオペレータの側に不用意な錯覚が生じないような場合には、ｉ＝１〜ｎの各階層の点滅周期Ｔｉを全て同一の値としても構わない。無論、オペレータは、その時点で表示されているアラビア数字“ｊ”の値を参照して操作を行うのであるから、周期Ｔｉとしては、少なくとも、所望するアラビア数字“ｊ”が表示されている間にオペレータがプッシュスイッチ３による選択操作を実施できる程度の時間、例えば、最低でも１秒前後の表示周期Ｔｉが必要である。
【００３４】
次に、オペレータは、７セグメントＬＥＤ２におけるアラビア数字の表示周期を観察し、現在の操作環境、要するに、自分が現在どの階層での選択操作を行っているかを知り、循環的に表示されるアラビア数字“ｊ”の値を参照してプッシュスイッチ３を操作し、各階層毎の項目番号を選択して、実行したい処理操作のアプリケーションプログラムの番号に相当する文字ストリングスをレジスタ＄（Ｒ）の中に生成してゆく。
【００３５】
前述のようにして７セグメントＬＥＤ２に“０”〜“９”のアラビア数字が循環的に表示される間に、オペレータがプッシュスイッチ３を操作すると、ＣＰＵ１１はステップａ９の判別処理でこの操作を検出し、指標ｊの値が９であるか否かを判別する（ステップａ１２）。
【００３６】
なお、アラビア数字“９”は項目番号の中でも特別な値であり、第１階層においてはアプリケーションプログラムの選択操作を中止して通常の立上げ処理を実施するための番号、また、第２階層以降の階層においては、１階層ぶん上位階層に遡って選択操作をやり直すための番号として定められている。
【００３７】
指標ｊが９以外の値であれば、ＣＰＵ１１は、指標ｊの現在値に対応する文字“ｊ”、要するに、この段階で７セグメントＬＥＤ２に表示されている文字“ｊ”をレジスタ＄（Ｒ）に文字ストリングスとして追加し（ステップａ１３）、文字ストリングス＄（Ｒ）の現在値に対応する項目ＳＵＢ〔＄（Ｒ）〕をＣＭＯＳメモリ１５から検索し（ステップａ１４）、この項目が実行プログラムであるか否か、つまり、データ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムのアドレスを記憶した項目であるのか、それとも、選択モード切り替えのための項目であるのかを判別する（ステップａ１５）。
【００３８】
ステップａ１５の判別結果が偽となった場合、つまり、この階層の項目が選択モード切り替えのためのものであった場合、この階層では、まだ、ＣＰＵ１１によって実施させるべき処理が一義的には決まらないということを意味する。例えば、図３の例で第１階層の“３”を選択したとしても、第１階層の“３”に対応する選択肢が第２階層においてＳＵＢ３０〜ＳＵＢ３９まで存在するので、ＣＰＵ１１によって実施させるべき処理は第１階層においては一義的には決まらないということである。
【００３９】
そこで、ステップａ１５の判別結果が偽となった場合、ＣＰＵ１１は、指標ｉの値が階層の最終値ｎに達しているか否かを判別し（ステップａ２１）、達していなければ、階層を記憶する指標ｉの値を１インクリメントし（ステップａ２２）、前述したステップａ４〜ステップａ１５の処理を繰り返し実行して、オペレータに次の階層の項目番号を入力させる。
【００４０】
なお、指標ｉの値が階層の最終値ｎに達しているにも関わらず文字ストリングス＄（Ｒ）の現在値に対応するＳＵＢ〔＄（Ｒ）〕のデータ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムが検出されない場合、文字ストリングス＄（Ｒ）に最下位層のブランチまで指定しても実行対象となるアプリケーションプログラムに行き当たらないことを意味し、明らかに選択肢の登録ミスである。従って、この場合、ＣＰＵ１１は、タイマＴに所定時間Ｔｘを設定して計時を開始し（ステップａ２４，ステップａ２５）、タイマＴの計時が終了するまでの間、７セグメントＬＥＤ２に英字の“Ａ”（但し天頂部は平ら）を点滅表示してエラーの発生をオペレータに知らせ（ステップａ２６，ステップａ２７）、ステップａ２の初期状態に復帰する。
【００４１】
一方、ステップａ４〜ステップａ１５およびステップａ２１とステップａ２２の繰り返し処理により、最終的に、オペレータが実施したい処理操作のアプリケーションプログラムの番号に相当する文字ストリングスがレジスタ＄（Ｒ）の中に生成され、データ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムのアドレスを記憶したＳＵＢ〔＄（Ｒ）〕がＦＲＯＭ１５から検索されてステップａ１５の判別結果が真となると、ＣＰＵ１１は、ＳＵＢ〔＄（Ｒ）〕に登録されたアドレス指定により、対応するデータ設定用アプリケーションプログラムなりメンテナンス作業用アプリケーションプログラムなりをＦＲＯＭ１５からＲＡＭ１３に読み込んで、このプログラムを起動させる（ステップａ１６）。
【００４２】
メンテナンス作業用アプリケーションプログラムの一例を図９に示す。ここで取り上げるアプリケーションプログラムは、１階層目の項目指定で“３”を指定し、更に、２階層目の項目指定で“８”を指定して特定されるＳＵＢ〔＄（Ｒ）〕＝ＳＵＢ３８のアプリケーションプログラム、つまり、ＳＲＡＭバックアップ処理である。
【００４３】
ＳＲＡＭバックアップ処理のアプリケーションプログラムを開始したＣＰＵ１１は、まず、タイマＴに待機許容時間Ｔｘ（６秒前後）を設定して計時を開始し（ステップｂ１，ステップｂ２）、指標ｊの現在値に対応するアラビア数字“ｊ”、要するに、＄（Ｒ）の文字ストリングスの最下位に位置する文字（この場合は“８”）を７セグメントＬＥＤ２に点滅表示して、最終的な選択結果（但し、最下位の文字ストリングスの値のみを表示）をオペレータに知らせ（ステップｂ３）、同一文字の点滅表示を繰り返しながら、タイマＴの計時終了、もしくは、オペレータによるプッシュスイッチ３の操作を待つ待機状態に入る（ステップｂ４，ステップｂ５，ステップｂ３）。
【００４４】
もし、待機許容時間Ｔｘの間にプッシュスイッチ３の操作が検出されなければ、ＣＰＵ１１は、ＳＲＡＭバックアップ処理の指令がオペレータによってキャンセルされたものと見做してＳＵＢ３８のアプリケーションプログラムを自動的に終了し（ステップｂ４の判別結果が真）、ステップａ１７の処理に移行する。
【００４５】
また、待機許容時間Ｔｘの間にプッシュスイッチ３の操作が検出された場合、ＣＰＵ１１は、当該アプリケーションプログラムの実行がオペレータによって認可されたものと見做し、ＳＲＡＭ１４のパラメータを読み込んでメモリカード２２に保存し（ステップｂ６）、その後、メモリカード２２の内容とＳＲＡＭ１４の元データとを比較して、正常なバックアップが取れているか否かを判定する（ステップｂ７）。
【００４６】
そして、正常なバックアップが取れていれば、ＣＰＵ１１は、ＳＵＢ３８のアプリケーションプログラムを終了し（ステップｂ７の判別結果が真）、ステップａ１７の処理に移行する。
【００４７】
また、もし、正常なバックアップが取れていなければ、ＣＰＵ１１は、タイマＴにＴｘを設定して計時を開始し（ステップｂ８，ステップｂ９）、タイマＴの計時が終了するまでの間、７セグメントＬＥＤ２にエラーの発生を示す英字の“Ａ”を点滅表示してバックアップの失敗をオペレータに知らせた後（ステップｂ１０，ステップｂ１１）、ＳＵＢ３８のアプリケーションプログラムを終了してステップａ１７の処理に移行する。
【００４８】
指定されたデータ設定用アプリケーションプログラムなりメンテナンス作業用アプリケーションプログラムなりを終了してステップａ１７の処理に移行したＣＰＵ１１は、レジスタ＄（Ｒ）の文字ストリングスの最下位に位置する１文字（ＳＵＢ３８の例によれば“８”）の記憶を消去し、再び、前記と同様にしてステップａ４以降の処理を開始する。
【００４９】
従って、この段階で、７セグメントＬＥＤ２に循環的に表示されるアラビア数字“ｊ”をプッシュスイッチ３の操作によって再選択すれば（ステップａ４〜ステップａ１５参照）、先に実施したアプリケーションプログラムと同じ階層内の他のアプリケーションプログラムを実行したり（ステップａ１６参照）、または、先に実施したアプリケーションプログラムと同一のアプリケーションプログラムを再実行したり（ステップａ１６参照）することができる。なお、先の例ではレジスタ＄（Ｒ）の文字ストリングス“３８”から“８”が消去され、文字ストリングス“３”に続けて改めて“０”〜“８”の任意の数字を付け足すことができるので、ＳＵＢ３８と同一階層内のＳＵＢ３０〜ＳＵＢ３８の任意の処理を選択的に実行させることができる。
【００５０】
同一階層内の他のアプリケーションプログラムを続けて実行する場合、または、エラーの発生によって目的の処理が達成されない場合のリトライ処理を行うときには、この操作手順によって同一階層内のアプリケーションプログラムを選択または再選択するようにする。
【００５１】
また、或る階層のアプリケーションプログラムを実行した後、システムを再起動せずに上位階層または系列の異なる他の処理を再選択して実行することも可能であり、その場合、オペレータは、７セグメントＬＥＤ２上にアラビア数字“９”が表示されたことを確認してプッシュスイッチ３を操作するようにする。
【００５２】
７セグメントＬＥＤ２にアラビア数字“９”が表示されたときにプッシュスイッチ３を操作すると、ＣＰＵ１１は前記と同様にしてステップａ９の判別処理でこの操作を検出し、指標ｊの値が９であるか否かを判別するが（ステップａ１２）、当然、この場合は指標ｊの値は９である。
【００５３】
そこで、ＣＰＵ１１は、更に、指標ｉの値が１であるか否か、つまり、アラビア数字“９”が第１階層における選択操作で選択されたものであるか否かを判別する（ステップａ１８）。
【００５４】
既に述べた通り、第１階層におけるアラビア数字“９”の選択はアプリケーションプログラムの選択操作を中止して通常の立上げ処理を実施するための番号であるから、ステップａ１８の判別結果が真となった場合、ＣＰＵ１１は、プッシュスイッチ３を操作せずにシステムに電源を投入した場合と同様、ステップａ２３の処理に移行して通常の立上げ処理を実施することになる。
【００５５】
また、指標ｉの値が２以上であってステップａ１８の判別結果が偽となった場合、つまり、第２階層以降の階層でアラビア数字“９”が選択された場合には、ＣＰＵ１１は、システムを再起動せずに上位階層の他の処理を再選択するための処理を開始することになる。この場合、ＣＰＵ１１は、まず、レジスタ＄（Ｒ）の文字ストリングスの最下位に位置する１文字の記憶を消去することにより１階層上位の階層で実施されたアラビア数字の選択操作を無効にすると共に（ステップａ１９）、階層を記憶する指標ｉの値を１ディクリメントして（ステップａ２０）、改めてステップａ４以降の処理を開始し、１階層上位の階層での選択操作のやり直しを可能にする。
【００５６】
一例として、最初に第１階層で“３”を第２階層で“８”を選択し、第２階層のＳＲＡＭバックアップ処理（ＳＵＢ３８）を実施してから第１階層に遡って別の処理、例えば、通常の立上げ処理を実施する場合について全体的な処理の流れを簡単に説明する。
【００５７】
まず、ＳＲＡＭバックアップ処理の起動時点におけるレジスタ＄（Ｒ）の文字ストリングスの値は前述の通り“３８”であり、これに対応するステップａ１６のＳＲＡＭバックアップ処理が完了すると、ステップａ１７の処理によってレジスタ＄（Ｒ）の文字ストリングス“３８”から“８”が消去され、レジスタ＄（Ｒ）の文字ストリングスの値が“３”に変化して、再び、ステップａ４以降の処理が開始される。いうまでもなく、このときの指標ｉの値は２である。
【００５８】
そして、ここでプッシュスイッチ３によりアラビア数字“９”が選択されると、ＣＰＵ１１はステップａ９の判別処理でこの操作を検出するが、この場合ｊ＝９であるからステップａ１２の判別結果は真となり、レジスタ＄（Ｒ）に“９”が読み込まれることはなく（ステップａ１３の処理が実行されない）、レジスタ＄（Ｒ）の値は、そのまま“３”に保持される。また、ｉ＝２であるから、ステップａ１８の判別結果は偽となり、ステップａ１９の処理によりレジスタ＄（Ｒ）から再び最終桁の１文字である“３”が消去されてヌルの状態に初期化され、更に、階層を記憶する指標ｉの値がステップａ２０の処理によってｉ＝１に変更される。
【００５９】
次いで、再びステップａ４以降の処理が開始されることになるが、指標ｉの値は１、また、レジスタ＄（Ｒ）の値はヌルに初期化されているので、改めて第１階層から“０”〜“９”の任意のアラビア数字を選択して、第１階層における選択操作のやり直しをしたり、または、第１階層の別のアプリケーションプログラムを実行させたりすることが可能となる。
【００６０】
ここで再び“９”を選択すれば、ステップａ９，ステップａ１２，ステップａ１８の判別処理を経てステップａ２３の通常の立上げ処理が実行されることになる。
【００６１】
つまり、この実施形態においては、システムを再起動させるような時間のかかる処理を行わなくても、先に実施したアプリケーションプログラムと同じ階層内の他のアプリケーションプログラムを続けて実行させたり、また、先に実施してエラーの発生したアプリケーションプログラムを再実行してエラーを解消したり、更には、上の階層に戻ってアプリケーションプログラムを再選択して実行させたり、メンテナンス作業終了後、システムを再起動せずにそのまま通常の立上げ処理を行ったりすることができるということである。
【００６２】
データ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムの一例としてＳＲＡＭバックアップ処理（図９参照）を取り上げて説明したが、他のデータ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラム、例えば、装置番号設定モードＳＵＢ２のアプリケーションプログラムについても、図３に示すようなインデックスファイルに対し、前述のレジスタ＄（Ｒ）によってアプリケーションプログラムのアドレスを指定することにより、ＳＲＡＭバックアップ処理の場合と同様にして実施することができる（ステップａ１６）。
【００６３】
【発明の効果】
本発明の数値制御装置によれば、文字を１文字ずつ表示する簡便な表示器と単一のスイッチのみによって数値制御装置に関する様々な種類の設定操作やメンテナンス作業の処理を選択的に行うことができる。また、処理項目選択用のスイッチとＩＤ設定用のスイッチとを共通化することができるので、スイッチ等の設定手段の部品点数が削減され、その設置スペースを節約することができる。
【００６４】
また、スイッチの操作で階層的な選択作業を繰り返すことによって最終的な処理項目を選択するようにしているので、表示器に表示可能な文字の数やスイッチの接点数の制限を受けることなく、多数の処理項目の選択肢を簡単に取り扱うことができる。
【図面の簡単な説明】
【図１】本発明を適用した一実施形態の数値制御装置の要部を示すブロック図である。
【図２】同数値制御装置上における表示器とスイッチの実装状態を簡単に示す図である。
【図３】データ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムの登録状態を概念的に示す図である。
【図４】データ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムの登録状態を示す図である（第１階層の部分的な登録例）。
【図５】データ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムの登録状態を示す図である（第２階層の部分的な登録例）。
【図６】データ設定用アプリケーションプログラムやメンテナンス作業用アプリケーションプログラムの登録状態を示す図である（第３階層の部分的な登録例）。
【図７】本実施形態の数値制御装置の処理動作の概要を示すフローチャートである。
【図８】数値制御装置の処理動作の概要を示すフローチャートの続きである。
【図９】メンテナンス作業用アプリケーションプログラムの一例を示すフローチャートである。
【符号の説明】
１  操作パネル
２  ７セグメントＬＥＤ（表示器）
３  プッシュスイッチ（スイッチ）
１０  数値制御装置（モーションコントローラ）
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ＣＭＯＳメモリ（不揮発性メモリ）
１５  ＦＲＯＭ（フラッシュメモリ）
１６  軸制御回路
１７  バス
１８  インターフェイス
１９  インターフェイス
２０  インターフェイス
２１  インターフェイス
２２  メモリカード
【図１】
0003631587.tif 000002
【図２】
0003631587.tif 000003
【図３】
0003631587.tif 000004
【図４】
0003631587.tif 000005
【図５】
0003631587.tif 000006
【図６】
0003631587.tif 000007
【図７】
0003631587.tif 000008
【図８】
0003631587.tif 000009
【図９】
0003631587.tif 000010