(57)【要約】      （修正有）【課題】少なくとも２つの系統に属している軸を系統間で待ち合わせなくても軸の再構成が可能な数値制御装置を提供すること。【解決手段】プログラムのブロックを読み込み解析し、軸交換指令ブロックであるか否か判断し、軸交換指令ブロックの場合は、軸交換指令の第一引数と第二引数は存在するか否か判断し、存在する場合は第一引数と第二引数の識別番号の軸は存在するか否か判断し、存在する場合は、第一引数で指定された識別番号の軸を非動作軸属性に変更し、次に、第二引数で指定された識別番号の軸を自系統の指定系統動作軸属性に変更し、指定系統動作軸属性になると解析するブロックは存在するか否か判断し、存在する場合にステップＳＦ１へ戻り処理を継続し、解析するブロックが存在しない場合には処理を終了する（ＳＦ８〜ＳＦ１３）。【選択図】図１６
2010211566.tif 000002
【特許請求の範囲】
【請求項１】
制御軸を制御する少なくとも２つの系統を有し、プログラムの指令により前記系統の制御軸の軸構成を変更する機能を有する数値制御装置において、
前記制御軸がいずれかの前記系統に属して動作する場合は指定系統動作軸属性軸として記憶し、どの系統にも属さない場合は非動作軸属性軸として記憶する制御軸属性記憶手段と、
前記プログラムのブロックを解析し、ある系統から指定された制御軸を取外すための制御軸取外し指令のブロックであるか判断する判断手段と、
前記判断手段により該ブロックが制御軸取外し指令のブロックと判断された場合には、該制御軸取外し指令のブロックで指定される制御軸の指定系統動作軸属性を非動作軸属性に変更し前記制御軸属性記憶手段に記憶する非動作軸属性変更手段と、
を備えたことを特徴とする数値制御装置。
【請求項２】
制御軸を制御する少なくとも２つの系統を有し、プログラムの指令により前記系統の制御軸の軸構成を変更する機能を有する数値制御装置において、
前記制御軸がいずれかの前記系統に属して動作する場合は指定系統動作軸属性軸として記憶しどの系統にも属さない場合は非動作軸属性軸として記憶する制御軸属性記憶手段と、
前記プログラムのブロックを解析し、ある系統から指令された制御軸を割付けるための制御軸割付け指令のブロックであるか判断する判断手段と、
前記制御軸割付け指令により指定された制御軸が非動作軸属性であるか否か判断する非動作軸属性判断手段と、を有し、
前記判断手段により該ブロックが割付け指令のブロックと判断され、かつ、前記非動作軸属性判断手段により指定された制御軸が非動作軸属性と判断された場合には、
該制御軸割付け指令のブロックで指定される制御軸の非動作軸属性を指定系統動作軸属性に変更し前記制御軸属性記憶手段に記憶する指定系統動作軸属性変更手段と、
を備えたことを特徴とする数値制御装置。
【請求項３】
制御軸を制御する少なくとも２つの系統を有し、プログラムの指令により前記系統の制御軸の軸構成を変更する機能を有する数値制御装置において、
前記制御軸がいずれかの前記系統に属して動作する場合は指定系統動作軸属性軸として記憶しどの系統にも属さない場合は非動作軸属性軸として記憶する制御軸属性記憶手段と、
前記プログラムのブロックを解析し、自系統内の制御軸と他系統内の制御軸を指定して制御軸を交換するブロックであるか判断する判断手段と、
前記判断手段により制御軸を交換するブロックと判断された場合には、自系統内の該指定された制御軸を非動作軸属性軸として前記制御軸属性記憶手段に記憶する非動作軸属性変更手段と、
前記ブロックの交換指令により指定された他系統の制御軸が非動作軸属性軸であるか否か判断する非動作軸属性判断手段と、
前記非動作軸属性判断手段により前記交換指令により指定された制御軸が非動作軸属性と判断された場合には、非動作軸属性の制御軸を前記交換指令により指定された指定系統制御軸属性として前記制御軸属性記憶手段に記憶する指定系統動作軸属性変更手段と、
を備えたことを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の系統を制御する数値制御装置に関し、特に、系統間で軸の再構成機能を有する数値制御装置に関する。
【背景技術】
【０００２】
少なくとも２つの系統を有する多系統数値制御装置において、系統間で軸を移動したり軸を交換することによって、それぞれの系統に属する軸を再構成し加工能率を向上させる技術が知られている。この技術は例えば特許文献１に開示されている。
【０００３】
また、加工プログラムの任意軸交換指令により軸の制御権を各系統毎に変更可能に設定し、任意軸交換が指令された時点の各系統毎の軸アドレスを示す軸所属構成を記憶しておき、制御権を任意軸交換前の系統に復帰させる指令があったとき、軸所属構成に基づいて任意軸交換前の系統に復帰させるようにした数値制御装置に関する技術も知られている。この技術は、特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３１９９３１９号公報
【特許文献２】特開平１０−１１１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術である系統間で軸の再構成機能を有する数値制御装置は、系統間で軸の交換を行う場合、軸交換指令とは別にお互いの系統で待ち合わせ指令を行い、その待ち合わせ指令によってお互いの系統のプログラム実行を停止した状態を作りだし、その状態で軸交換指令を実行して軸の再構成を行っている。このため、待ち合わせ指令を行う分、加工サイクルタイムが長くなる問題があった。同様に、軸の移動指令も系統間で待ち合わせ指令が実行されている時に軸を移動する処理を実行していたので、同じように加工サイクルタイムが長くなる問題があった。
【０００６】
例えば、軸の再構成を行う機械は自動盤と呼ばれる精密なワークを大量に生産する機械に使用されることが多い。そのため、この精密なワークを削るために従来は待ち合わせ指令と軸の再構成指令を１組で指令する方式の場合、この待ち合わせ指令が余分な指令となる。待ち合わせ指令が１６ｍｓｅｃで終了とするとした場合で、待ち合わせ指令と軸の再構成指令の組み合わせ指令がプログラム中に４回あったとすると、１個の精密ワークで６４ｍｓｅｃの無駄時間となる。また、この精密なワークを１万個削る時などは、（６４ｍｓｅｃ＊１００００個）／１０００ｍｓｅｃ＝６４０秒もの無駄な時間を消費することになる。
【０００７】
特許文献２に開示される技術は、軸を交換して所定の処理を行った後に、再度元の軸構成に復帰させる場合に軸交換が可能かどうかを任意軸交換禁止フラグを用い、このフラグの状態を判断することで軸の交換を禁止したり禁止状態が解除されるまで待つ、という技術である。しかし、この禁止状態を解除するには任意軸交換復帰禁止解除指令という別の指令を行わなくてはいけないため、加工サイクルタイムが長くなり、軸交換指令そのものの加工サイクルタイムを短縮するものではない、という問題がある。
【０００８】
そこで本発明は、少なくとも２つの系統を有する数値制御装置において、それぞれの系統に属している軸を他系統の軸の再構成の処理とは切り離して軸の再構成が可能な数値制御装置を提供することを目的とする。さらに、少なくとも２つの系統を有する数値制御装置において、それぞれの系統に属している軸を系統間で待ち合わせなくても軸の再構成が可能な数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の請求項１に係る発明は、制御軸を制御する少なくとも２つの系統を有し、プログラムの指令により前記系統の制御軸の軸構成を変更する機能を有する数値制御装置において、前記制御軸がいずれかの前記系統に属して動作する場合は指定系統動作軸属性軸として記憶し、どの系統にも属さない場合は非動作軸属性軸として記憶する制御軸属性記憶手段と、前記プログラムのブロックを解析し、ある系統から指定された制御軸を取外すための制御軸取外し指令のブロックであるか判断する判断手段と、前記判断手段により該ブロックが制御軸取外し指令のブロックと判断された場合には、該制御軸取外し指令のブロックで指定される制御軸の指定系統動作軸属性を非動作軸属性に変更し前記制御軸属性記憶手段に記憶する非動作軸属性変更手段と、を備えたことを特徴とする数値制御装置である。
【００１０】
請求項２に係る発明は、制御軸を制御する少なくとも２つの系統を有し、プログラムの指令により前記系統の制御軸の軸構成を変更する機能を有する数値制御装置において、前記制御軸がいずれかの前記系統に属して動作する場合は指定系統動作軸属性軸として記憶し、どの系統にも属さない場合は非動作軸属性軸として記憶する制御軸属性記憶手段と、前記プログラムのブロックを解析し、ある系統から指令された制御軸を割付けるための制御軸割付け指令のブロックであるか判断する判断手段と、前記制御軸割付け指令により指定された制御軸が非動作軸属性であるか否か判断する非動作軸属性判断手段と、を有し、前記判断手段により該ブロックが割付け指令のブロックと判断され、かつ、前記非動作軸属性判断手段により指定された制御軸が非動作軸属性と判断された場合には、該制御軸割付け指令のブロックで指定される制御軸の非動作軸属性を指定系統動作軸属性に変更し前記制御軸属性記憶手段に記憶する指定系統動作軸属性変更手段と、を備えたことを特徴とする数値制御装置である。
【００１１】
請求項３に係る発明は、制御軸を制御する少なくとも２つの系統を有し、プログラムの指令により前記系統の制御軸の軸構成を変更する機能を有する数値制御装置において、前記制御軸がいずれかの前記系統に属して動作する場合は指定系統動作軸属性軸として記憶し、どの系統にも属さない場合は非動作軸属性軸として記憶する制御軸属性記憶手段と、前記プログラムのブロックを解析し、自系統内の制御軸と他系統内の制御軸を指定して制御軸を交換するブロックであるか判断する判断手段と、前記判断手段により制御軸を交換するブロックと判断された場合には、自系統内の該指定された制御軸を非動作軸属性軸として前記制御軸属性記憶手段に記憶する非動作軸属性変更手段と、前記ブロックの交換指令により指定された他系統の制御軸が非動作軸属性軸であるか否か判断する非動作軸属性判断手段と、前記非動作軸属性判断手段により前記交換指令により指定された制御軸が非動作軸属性と判断された場合には、非動作軸属性の制御軸を前記交換指令により指定された指定系統制御軸属性として前記制御軸属性記憶手段に記憶する指定系統動作軸属性変更手段と、を備えたことを特徴とする数値制御装置である。
【発明の効果】
【００１２】
本発明により、少なくとも２つの系統を有する数値制御装置において、それぞれの系統に属している軸を他系統の軸の再構成の処理とは切り離して軸の再構成が可能な数値制御装置を提供できる。さらに、少なくとも２つの系統を有する数値制御装置において、それぞれの系統に属している軸を系統間で待ち合わせなくても軸の再構成が可能な数値制御装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態の概念を説明する概略のブロック図である。
【図２】本発明の一実施形態の数値制御装置の要部ブロックを説明する図である。
【図３】初期状態の系統１と系統２の軸構成を説明する図である。
【図４】系統１のＣ軸に対して軸取外し指令を実行した場合の軸構成を説明する図である。
【図５】軸割付け指令を系統２でＣ軸に対して行った場合の軸構成を説明する図である。
【図６】初期状態の系統１と系統２の軸構成を説明する図である。
【図７】割付け時に待ち合わせを実行しないで系統１と系統２の軸構成を変更したことを説明する図である。
【図８】割付け時に待ち合わせを実行し系統１と系統２の軸構成を変更したことを説明する図である。
【図９】軸交換指令を実行する前の系統１と系統２の軸構成を説明する図である。
【図１０】軸交換指令を実行し系統１と系統２の軸構成を変更したことを説明する図である。
【図１１】指定系統動作軸属性を非動作軸属性に変更する処理を含むプログラムを実行した場合の処理のアルゴリズムを示すフローチャートである。
【図１２】ある系統から指定された制御軸を割付けるための軸割付け指令を含むプログラムを実行した場合の処理のアルゴリズムを示すフローチャートである。
【図１３】自系統内の制御軸と他系統内の制御軸を指定して制御軸を交換する軸制御指令を含むプログラムを実行した場合の処理のアルゴリズムを示すフローチャートである。
【図１４】図１１に示す指定系統動作軸属性を非動作軸属性に変更する処理を含むプログラムを実行した場合の処理のアルゴリズムを示すフローチャートにおいて、アラーム処理等の処理を含むアルゴリズムを示すフローチャートである。
【図１５】図１２に示すある系統から指定された制御軸を割付けるための軸割付け指令を含むプログラムを実行した場合の処理のアルゴリズムを示すフローチャートにおいて、アラーム処理等の処理を含むアルゴリズムを示すフローチャートである。
【図１６】図１３に示す自系統内の制御軸と他系統内の制御軸を指定して制御軸を交換する軸交換指令を含むプログラムを実行した場合の処理のアルゴリズムを示すフローチャートにおいて、アラーム処理等の処理を含むアルゴリズムを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面と共に説明する。図１は、本発明の実施形態の概念を説明する概略のブロック図である。数値制御装置１００は、プログラム格納手段１、解析・処理手段２、制御軸属性記憶手段３、軸制御手段４を備えている。本発明の実施形態において制御軸属性記憶手段３を数値制御装置の構成要素として付加することが従来技術と相違している。制御軸属性記憶手段３の機能については後述する。
【００１５】
プログラム格納手段１には、系統毎に対応した数値制御プログラム（ＮＣプログラム）１ａ，１ｂ・・・が格納されている。これらのＮＣプログラム１ａ，１ｂ・・・には、それぞれ軸取外し指令や軸割付け指令１ｃ，１ｄが書き込まれている。  
解析・処理手段２は、各系統のＮＣプログラム１ａ、１ｂ・・・を解析し処理する。本発明の実施形態において解析・処理手段２は、非動作軸属性変更手段２ａ，非動作軸属性確認手段２ｂ，指定系統動作軸属性確認手段２ｃ，待ち合わせ手段２ｄ，指定系統動作軸属性変更手段２ｅを有する。なお、非動作軸属性変更手段２ａ，待ち合わせ手段２ｄ，指定系統動作軸属性変更手段２ｅは、各系統のＮＣプログラムに書き込まれている指令によって解析・処理手段２に与えられる手段である。
【００１６】
軸制御手段４は、解析し処理されたＮＣプログラムを並行して実行し、機械５の各系統ＳＹ１、ＳＹ２・・・ＳＹｎの軸を制御する。制御軸属性記憶手段３は、ＮＣプログラム１ａ，１ｂに書き込まれた軸取外し指令や軸割付け指令１ｃ，１ｄに従って各系統の軸の再構成を行うため用いられる各制御軸の制御軸属性を記憶する記憶手段である。
【００１７】
次に各系統の軸の再構成を説明する。制御軸属性記憶手段３は、数値制御装置内に存在する軸に動作軸と非動作軸の２つの軸属性を設定し、さらに非動作軸同士をグループ（例えば、後述する「００００」を指標とするグループ）にして管理し、各系統の軸の再構成を行うために用いられる記憶手段である。この制御軸属性記憶手段３を介することで、従来の多系統数値制御装置が行っていた系統間の待ち合わせ指令を実行しなくても、軸の移動や軸の交換が可能となる。
【００１８】
図２は本発明の複数の系統を制御する数値制御装置１００のブロック図である。ＣＰＵ１１は数値制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２０を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には、インターフェイス１５を介して入力された又は表示器／ＭＤＩユニット７０を介して入力された各系統が行う機能の実行に必要なデータ、一時的な計算データ等が格納される。
【００１９】
ＳＲＡＭメモリ１４は図示しないバッテリでバックアップされ、数値制御装置１００の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＳＲＡＭメモリ１４中には、インターフェイス１５を介して入力された又は表示器／ＭＤＩユニット７０を介して入力された、各系統別に使用されるデータと２つ以上の系統で共通に使用されるデータが格納される。又、加工プログラム等が記憶される。ＲＯＭ１２には、メモリの分割、メモリへのデータの入出力、複写、転送等メモリ管理のためのプログラムや、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。インターフェイス１５には外部記憶装置７２が接続され、各系統のデータを外部記憶媒体に入出力する。
【００２０】
ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１００に内蔵されたシーケンスプログラムで工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２１】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インターフェイス１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インターフェイス１９は操作盤７１に接続され各種指令が入力される。
【００２２】
さらに、ｎ個の軸制御回路３０−１〜３０−ｎが接続され、かつ各軸制御回路３０−１〜３０−ｎにはそれぞれサーボアンプ４０−１〜４０−ｎを介してサーボモータ５０−１〜５０−ｎが接続される。各軸のサーボモータ５０−１〜５０−ｎは位置・速度検出器を備え、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０−１〜３０−ｎにフィードバックし、位置・速度のフィードバック制御を行う。なお、図２では、位置・速度のフィードバックについては省略している。
【００２３】
上述した軸制御回路、サーボアンプ、サーボモータの組み合わせは１つの制御軸を構成する。例えば、軸制御回路３０−１、サーボアンプ４０−１、およびサーボモータ５０−１で１つの制御軸を構成する。他の軸制御回路３０−２〜３０−ｎ、サーボアンプ４０−２〜４０−ｎ、およびサーボモータ５０−２〜５０−ｎを組み合わせて各制御軸を構成する。よって、図２に示される数値制御装置１００は、制御軸１〜ｎを有する。そして、制御軸１〜ｎはそれぞれ識別番号が予め設定されており、数値制御装置１００全体で固有の番号で管理されている。後述する本発明の実施形態の説明では、識別番号は００１〜００７の３桁の数字で表している。
【００２４】
これら制御軸１〜ｎの１つ又は複数の組み合わせで１つの系統を構成し、２つ以上の複数の系統が設定される。そして、各系統別に使用されるデータと２つ以上の系統で共通に使用されるデータが設定され、ＣＰＵ１１はこの設定データに従って、各系統をそれぞれ制御する。
【００２５】
上述した数値制御装置１００の構成及び作用は、従来の複数の系統を制御する数値制御装置と同一であり差異はない。そして、本発明は、軸の属性として、指定系統動作軸属性と非動作軸属性の２つの種類の軸の属性を記憶する軸属性記憶手段を備える。指定系統動作軸属性を指定された軸は、指定された系統からの動作指令で軸が動作する。また、非動作軸属性を指定された軸は、どの系統にも属さずどの系統からの動作指令によっても動作させることが不可能な軸となる。
【００２６】
図３を用いて、各制御軸に対して設定される本発明において用いられる指定系統動作軸属性と非動作軸属性について説明する。指定系統動作軸属性は、指定された系統からの動作指令で軸が動作することを意味する。非動作軸属性は、どの系統にも属さずどの系統からの動作指令でも動作させることが不可能な軸であることを意味する。
【００２７】
図３に示されるように、系統１と系統２が設定された２系統の数値制御装置１００を例として説明する。図３（ａ）に示されるように系統１の指定系統動作軸属性の軸は、Ｘ軸、Ｙ軸、Ｚ軸、及びＣ軸が設定されている。また、図３（ｃ）に示されるように系統２の指定系統動作軸属性の軸は、Ｘ軸、Ｙ軸、及びＺ軸が設定されている。どの系統にも属さない非動作軸属性の制御軸は図３（ｂ）に示されるように最初は存在しない状態とする。
【００２８】
各制御軸には、軸名称（Ｘ、Ｙ、Ｚ、Ｃ）、４桁の属性、及び３桁の識別番号の各データが設定されている。属性は、指定系統動作軸属性の時は千の位と百の位が系統番号を表し、十の位と一の位の２桁でその系統内における軸の順番を表す。例えば、属性が０１０２であれば、系統１の２番目の軸で動作する指定となる。また、それぞれの軸には、３桁の識別番号があらかじめ設定されている。この識別番号は数値制御装置全体で管理されている。非動作軸属性はこの属性部分が「００００」の軸とする。非動作軸属性の属性を「００００」とすることにより、非動作軸をグループとして管理することができる。なお、図３に示される系統１と系統２に同じＸの軸名称があるが、これは軸名称を一緒にしているだけであり、同じ軸を意味するわけではなく、系統１の軸名称Ｘ軸と系統２の軸名称Ｘ軸とは物理的に異なる軸である。
【００２９】
後述して説明する軸取外し指令を系統１のＣ軸に対して行うと、図４（ｂ）に示されるように、Ｃ軸は非動作軸属性の軸となり属性が与えられ、系統１の管理から外される。しかし、識別番号の管理は引き継がれる。非動作軸属性となった系統１のＣ軸は、軸名称Ｃと、属性「００００」と、識別番号「００４」で管理される。指定系統動作軸の属性から非動作軸の属性に変更されても、識別番号「００４」は軸固有の値でありこの値は変わらない。非動作軸属性に軸属性が変更されたことから、系統１の指定系統動作軸属性は図４（ａ）となる。系統２の指定系統動作軸属性は変化していない。
【００３０】
図５に示されるように、軸割付け指令を系統２でＣ軸に対して行うと、非動作軸属性の制御軸のＣ軸は系統２の指定系統動作軸属性となり、系統２の管理下に置かれる（図５（ｃ））。そして、系統２からのプログラムのブロック指令によりＣ軸が動作するように変更される。非動作軸属性であったＣ軸（図４（ｂ）を参照）は、系統２の指定系統動作軸（図５（ｃ）を参照）に軸の再構成がなされ、非動作軸属性に該当する制御軸はなくなる（図５（ｂ）を参照）。
【００３１】
ここで、「軸取外し指令」と「軸割付け指令」について説明する。まず、軸取外し指令について説明する。
【００３２】
パラメータで軸取外し指令のコードをＧ１０１で定義し、取外したい軸の指定をＰのコードに続く識別番号で指定する。  
例１）Ｇ１０１Ｐ００４；
例１に示す指令は、系統１の識別番号「００４」、すなわち系統１のＣ軸を取外す場合である（図３（ａ））。例１では指定軸を識別番号で指定したが、例２に示すように軸名称で指定するようにしてもよい。
例２）Ｇ１０１Ｃ１； 
系統１のＣ軸を取外す場合
【００３３】
次に、軸割付け指令について説明する。  
パラメータで軸割付け指令をＧ１０２で設定し、第一引数として割付けたい軸をＰコードに続く識別番号で指定する。また、第一引数で割付けた軸（指定軸）を、第二引数として自系統内のどのような軸として割付けるかを軸名称に続く数字で指定する。数字の意味は割付けたい軸を系統内の何番目に割付けるかを指定する。
例３）Ｇ１０２Ｐ００４Ｃ０２０４；
第一引数はＰ００４で、非動作軸属性となっているか確認する軸を識別番号００４で指定し、第二引数Ｃ０２０４においてＣで始まるので軸名称をＣ軸とし、属性０２０４が指定されているので系統２の第４番目の軸として割付けることを意味する。例３で第二引数をＡ０２０４とすれば系統２の４番目の軸としてＡ軸を割付けることができる。なお、例３では第一引数を「００４」の識別番号で指定したが、軸名称で指定してもよい。
例４）Ｇ１０２Ｃ１Ｃ０２０４
第一引数をＣ１で非動作軸属性となっているか確認する軸を１で系統１を、ＣでＣ軸を指定し、第二引数Ｃ０２０４において、Ｃで軸名称をＣ軸として、０２０４で第２系統の第４番目の軸として割付けることを意味する。
【００３４】
（１）割付け時の待ち合わせ手段を実行しない場合の例
図６（ａ）に示されるように系統１に４軸、図６（ｂ）に示されるように系統２に３軸の軸が構成されている。下記のプログラム例１と例２は系統１からＣ軸を取外しして系統２に割付ける場合で、指定軸割付け時の待ち合わせ手段を実行しない場合である。プログラムは系統１と系統２が同時に動作したとする。つまり、系統２のプログラムのシーケンス番号Ｎ２０３よりも、系統１のプログラムのシーケンス番号Ｎ１０２の方が、早く実行されるようにした。
【００３５】
系統１のプログラム例１を説明する。  
Ｏ０００１；
Ｎ１０１Ｇ９０Ｇ０１Ｘ１００Ｙ１００Ｆ１０００；
Ｎ１０２Ｇ１０１Ｐ００４；
Ｎ１０３Ｘ−１００Ｙ１００；
Ｎ１０４Ｘ−１００Ｙ−１００；
Ｎ１０５Ｍ３０；
プログラム名「Ｏ０００１」であり、シーケンス番号Ｎ１０１は直線移動指令ブロック、シーケンス番号Ｎ１０２は軸取外し指令ブロック、シーケンス番号Ｎ１０３は直線移動指令ブロック、シーケンス番号Ｎ１０４は直線移動ブロック、シーケンス番号Ｎ１０５はプログラムエンドを表すブロックである。系統１のシーケンス番号Ｎ１０２で軸取外し指令Ｇ１０１が実行されると、指定軸が識別番号００４であるので系統１のＣ軸の軸取外しを行う。この時、非動作軸属性変更手段２ａはＣ軸の属性を非動作軸属性の００００に設定する。系統１は非動作軸属性確認手段２ｂでＣ軸の属性が非動作軸属性になったことを確認したら、シーケンス番号Ｎ１０３のブロックからプログラムを再開する。
【００３６】
系統２のプログラム例２を説明する。  
Ｏ０００２；
Ｎ２０１Ｇ９０Ｇ０１Ｘ１００Ｙ１００Ｆ１０００；
Ｎ２０２Ｘ−１００Ｙ１００；
Ｎ２０３Ｇ１０２Ｐ００４Ｃ０２０４；
Ｎ２０４Ｃ１００；
Ｎ２０５Ｍ３０；
プログラム名「Ｏ０００２」であり、シーケンス番号Ｎ２０１は直線移動指令ブロック、シーケンス番号Ｎ２０２は直線移動ブロック、シーケンス番号Ｎ２０３は軸割付け指令ブロック、シーケンス番号Ｎ２０４は回転移動指令ブロックであり、シーケンス番号Ｎ２０５はプログラムエンドを表すブロックである。系統２は系統１のシーケンス番号Ｎ１０２のブロックの実行より後で、シーケンス番号Ｎ２０３の軸割付け指令Ｇ１０２が実行される。非動作軸属性確認手段２ｂで第一引数の指定軸の識別番号が００４であるので、Ｃ軸の属性が非動作軸属性の００００になっているか確認する。確認の結果、非動作軸属性が００００であったら、第二引数の割付け位置指定軸がＣ０２０４であるので、指定系統動作軸属性変更手段２ｅで系統２の４番目の軸として属性を指定系統動作軸属性０２０４に設定し、軸名称をＣ軸として割付ける。指定系統動作軸属性確認手段２ｃで指定軸が系統２の指定系統動作軸属性になったことが確認されると、シーケンス番号Ｎ２０４のブロックからプログラムが再開する。系統１と系統２のプログラムを実行後の系統１と系統２の軸構成は図７に示されるようになる。
【００３７】
（２）指定軸割付け時の待ち合わせ手段が実行される場合の例
下記のプログラム例３と例４は系統１からＣ軸を取外し系統２に割付ける場合で、指定軸割付け時の待ち合わせ手段が実行される例である。プログラムは系統１と系統２が同時に動作するとする。この例では、系統１のシーケンス番号Ｎ１０３より系統２のシーケンス番号Ｎ２０２の方が早く実行される例である。  
系統１のプログラム例３を説明する。  
Ｏ０００３；
Ｎ１０１Ｇ９０Ｇ０１Ｘ１００Ｙ１００Ｆ１０００；
Ｎ１０２ＧＸ−１００Ｙ１００；
Ｎ１０３Ｇ１０１Ｐ００４；
Ｎ１０４Ｘ−１００Ｙ−１００；
Ｎ１０５Ｍ３０；
プログラム名「Ｏ０００３」であり、シーケンス番号Ｎ１０１は直線移動指令ブロック、シーケンス番号Ｎ１０２は直線移動指令ブロック、シーケンス番号Ｎ１０３は軸取外し指令ブロック、シーケンス番号Ｎ１０４は直線移動ブロック、シーケンス番号Ｎ１０５はプログラムエンドを表すブロックである。系統１のシーケンス番号Ｎ１０３で軸取外し指令Ｇ１０１が実行されると、指定軸が識別番号００４であるので系統１のＣ軸の軸取外しを行う。この時、非動作軸属性変更手段２ａはＣ軸の属性を非動作軸属性の００００に設定する。系統１は非動作軸属性確認手段２ｂでＣ軸の属性が非動作軸属性になったことを確認したら、シーケンス番号Ｎ１０４のブロックからプログラムを再開する。
【００３８】
次に系統２のプログラム例４を説明する。  
Ｏ０００４；
Ｎ２０１Ｇ９０Ｇ０１Ｘ１００Ｙ１００Ｆ１０００；
Ｎ２０２Ｇ１０２Ｐ００４Ｃ０２０４； 
Ｎ２０３Ｘ−１００Ｙ１００；
Ｎ２０４Ｃ１００；
Ｎ２０５Ｍ３０；
プログラム名「Ｏ０００４」であり、シーケンス番号Ｎ２０１は直線移動指令ブロック、シーケンス番号Ｎ２０２は軸割付け指令ブロック、シーケンス番号Ｎ２０３は直線移動ブロック、シーケンス番号Ｎ２０４は回転移動指令ブロックであり、シーケンス番号Ｎ２０５はプログラムエンドを表すブロックである。  
系統２は、系統１のシーケンス番号Ｎ１０３のブロックの実行より先にシーケンス番号Ｎ２０２の軸割付け指令Ｇ１０２が実行される。第一引数の指定軸が識別番号００４であるのでＣ軸となる。
【００３９】
非動作軸属性確認手段２ｂを実行し、Ｃ軸の属性が非動作軸属性の００００になっているか確認する。確認の結果、Ｃ軸の属性がまだ非動作軸属性になっていないと確認されると、非動作軸属性になるまで軸割付け指令で待つ指定軸割付け時の待ち合わせ手段２ｄを実行し、指定軸割付け時の待ち合わせ手段２ｄから非動作軸属性確認手段２ｂを定期的に実行し、Ｃ軸の属性が非動作軸属性の００００になるまで、シーケンス番号Ｎ２０２の軸割付け指令で待ち合わせを行う。この内部的に実行される指定軸割付け時の待ち合わせ手段２ｄを用いることによって、従来技術で必要とされた待ち合わせ指令ブロックをプログラムに書き込む必要がなくなる。軸割付け指令で待ち合わせを起動する分、プログラムの１ブロック分の処理時間を短縮することができる。
【００４０】
プログラム例３では、系統１は系統２のシーケンス番号Ｎ２０２よりも後から、シーケンス番号Ｎ１０３の軸取外し指令Ｇ１０１が実行され、指定軸が識別番号００４であるので、系統１のＣ軸の取外しを行う。  
この時、Ｃ軸の属性を非動作軸属性変更手段２ａによって非動作軸属性の００００に設定し、取外し指定された軸が非動作軸属性の００００になっているか確認する非動作軸属性確認手段２ｂで非動作軸属性の００００になっていることが確認されると、系統１はシーケンス番号Ｎ１０４からプログラムの続きを再開する。再構成後の軸構成は図８に示されるようになる。
【００４１】
次に、軸交換指令について説明する。パラメータで軸交換指令のコードをＧ１０３と設定する。各系統の軸構成は図９に示されているとおりであるとする。交換したい軸の指定は第一引数にＰコードに続く自系統の軸を識別番号で指定し、第二引数にＱコードに続く相手の軸の識別番号を指定する。交換指令は交換を行う軸が存在する２つの系統の両方で指定する。
例５）Ｇ１０３Ｐ００１Ｑ００４；
この場合はＧ１０３の第一引数として、識別番号００１の軸を取外し、取外した軸の位置に第二引数の識別番号００４の軸を割付ける。軸名称と軸の割付け位置を変更したい場合は、例６に示すように第三引数を指定してもよい。
例６）Ｇ１０３Ｐ００１Ｑ００４Ｙ１；
この場合、第一引数で指定した軸名称がＸであった場合、第三引数がＹ１であるので、交換後は軸名称をＹに変更し、系統の第１軸に割付けることになる。
例７）Ｇ１０３Ｘ１Ｙ２；
この例は、軸名称で第一引数と第二引数を指定する例である。第一引数のＸ１は１が系統１，ＸがＸ軸を表し、系統１のＸ軸という意味になる。第二引数のＹ２は、２が系統２で、ＹがＹ軸で、よって、系統２のＹ軸という意味になる。例６と同様に、第三引数を指定すれば軸名称を変更することもできる。
【００４２】
次に、軸交換指令を、プログラム例５と例６を元に説明する。系統１と系統２の軸構成は図９に示されるように構成されているとする。軸交換指令を含む系統１と系統２のプログラムの例として、「Ｏ０００５」と「Ｏ０００６」を示す。
【００４３】
系統１のプログラム例５を説明する。
Ｏ０００５；
Ｎ１０１Ｇ９０Ｇ０１Ｘ１００Ｆ１０００；
Ｎ１０２Ｇ１０３Ｐ００１Ｑ００４；
Ｎ１０３Ｙ−１００；
Ｎ１０４Ｙ−２００；
Ｎ１０５Ｍ３０；
系統２のプログラム例６を説明する。
Ｏ０００６；
Ｎ２０１Ｇ９０Ｇ０１Ｙ１００Ｆ１０００；
Ｎ２０２Ｇ１０３Ｐ００４Ｑ００１；
Ｎ２０３Ｘ−１００；
Ｎ２０４Ｘ−２００；
Ｎ２０５Ｍ３０；
【００４４】
系統１のプログラム「Ｏ０００５」と系統２のプログラム「Ｏ０００６」とを同時に動作させる。それぞれの系統で軸交換指令の引数で指定されている自系統の取外したい軸の属性を非動作軸属性の００００に設定する。プログラム「Ｏ０００５」とプログラム「Ｏ０００６」では、系統１は識別番号００１のＸ軸の属性が非動作軸属性となり、系統２は識別番号００４のＹ軸の属性が非動作軸属性になる。  
次に、それぞれの系統の軸交換指令の第二引数で指定されている、割付けを行いたい軸を非動作軸属性確認手段２ｂによって、属性が非動作軸属性の００００になっているか確認する。確認した結果、
ア）非動作軸属性になっている場合、軸交換指令で指定された割付けを行いたい軸の属性を指定系統動作軸属性変更手段２ｅで自系統の指定系統動作軸属性に変更する。プログラム「Ｏ０００５」とプログラム「Ｏ０００６」では、系統１は識別番号００４のＹ軸の属性を０１０１に変更し、系統２は識別番号００１のＸ軸の属性を０２０１へ変更する。
イ）非動作軸属性になっていない場合、割付けたい軸の属性が非動作軸属性の００００になるまで、指定軸交換指令で待つ指定軸交換時の待ち合わせ手段２ｄを実行し、その指定軸交換時の待ち合わせ手段２ｄから、非動作軸属性確認手段２ｂを定期的に実行して、割付けたい軸の属性が非動作軸属性の００００になったことが確認されたところで、ア）に記載の属性変更を行う。属性変更を行った後、指定系統動作軸属性確認手段２ｃを実行し、指定の属性になっていることが確認された系統は指定軸交換指令の次のブロックからプログラムを再開する。系統１は次のシーケンス番号Ｎ１０３からプログラムの続きを再開し、系統２は次のシーケンス番号Ｎ２０３からプログラムの続きを再開する。系統１と系統２の再構成された軸構成を図１０に示す。
【００４５】
図１１は、ある系統において、指定系統動作軸属性を非動作軸属性に変更する処理を含むプログラムを実行した場合の処理のアルゴリズムを示すフローチャートである。以下、各ステップに従って説明する。
●［ステップＳＡ１］プログラムのブロックを読み込み、ステップＳＡ２へ移行する。
●［ステップＳＡ２］ステップＳＡ１で読み込んだブロックを解析し、ステップＳＡ３へ移行する。ブロックの解析は、プログラムのブロックを英記号と数値記号とに分け、指令された英記号と数値の組み合わせは何を意味するかを判定し、指令された英記号と数値により、その機能を特定し機能グループの情報を作成することを意味する。この解析は数値制御装置が通常行う処理である。
●［ステップＳＡ３］ステップＳＡ２で解析したブロックは軸取外し指令ブロックか否か判断し、軸取外し指令ブロックの場合はステップＳＡ５へ移行し、軸取外し指令ブロックではない場合にはステップＳＡ４へ移行する。
●［ステップＳＡ４］軸取外し指令ブロック以外のブロックの処理を実行し、ステップＳＡ６へ移行する。
●［ステップＳＡ５］軸取外し指令で指定された軸を指定系統動作軸属性から非動作軸属性への変更処理を実行し、ステップＳＡ６へ移行する。
●［ステップＳＡ６］解析するブロックは存在するか否か判断し、解析するブロックが存在しない場合には処理を終了し、解析するブロックが存在する場合にはステップＳＡ１に戻り処理を継続する。
【００４６】
図１２は、ある系統から指定された制御軸を割付けるための軸割付け指令を含むプログラムを実行した場合の処理のアルゴリズムを示すフローチャートである。以下、各ステップに従って説明する。
●［ステップＳＢ１］プログラムのブロックを読み込み、ステップＳＢ２へ移行する。
●［ステップＳＢ２］ステップＳＢ１で読み込んだブロックを解析し、ステップＳＢ３へ移行する。
●［ステップＳＢ３］ステップＳＢ２で解析したブロックは軸割付け指令ブロックか否か判断し、軸割付け指令ブロックの場合にはステップＳＢ５へ移行し、軸割付け指令ブロックではない場合にはステップＳＢ４へ移行する。
●［ステップＳＢ４］軸割付け指令ブロック以外のブロックの処理を実行し、ステップＳＢ７へ移行する。
●［ステップＳＢ５］軸割付け指令で指定された制御軸は非動作軸属性になったか否か判断し、軸割付け指令で指定された制御軸が非動作軸属性でない場合には非動作軸属性になるまで待ち、非動作軸属性の場合にはステップＳＢ６へ移行する。
●［ステップＳＢ６］指定系統動作軸属性への変更処理を実行し、ステップＳＢ７へ移行する。
●［ステップＳＢ７］解析するブロックは存在するか否か判断し、解析するブロックが存在しない場合には処理を終了し、解析するブロックが存在する場合にはステップＳＢ１に戻り処理を継続する。
【００４７】
図１３は、ある系統において自系統内の制御軸と他系統内の制御軸を指定して制御軸を交換する軸交換指令を含むプログラムを実行した場合の処理のアルゴリズムを示すフローチャートである。以下、各ステップに従って説明する。
●［ステップＳＣ１］プログラムのブロックを読み込み、ステップＳＣ２へ移行する。
●［ステップＳＣ２］ステップＳＣ１で読み込んだブロックを解析し、ステップＳＣ３へ移行する。
●［ステップＳＣ３］軸交換指令ブロックか否か判断し、軸交換指令ブロックではない場合にはステップＳＣ４移行し、軸交換指令ブロックの場合にはステップＳＣ５へ移行する。
●［ステップＳＣ４］軸交換指令ブロック以外のブロックの処理を実行し、ステップＳＣ８へ移行する。
●［ステップＳＣ５］軸交換指令ブロックで指令された自系統の指定動作軸属性の軸を非動作軸属性に変更処理を行い、ステップＳＣ６へ移行する。
●［ステップＳＣ６］軸交換指令ブロックで指令された他系統の指定動作軸属性の軸は非動作軸になったか否か判断し、非動作軸になっていない場合にはなるまで待ってステップＳＣ７へ移行する。
●［ステップＳＣ７］軸交換指令ブロックで指定された非動作軸属性の軸を自系統の指定動作軸属性に変更処理し、ステップＳＣ８へ移行する。
●［ステップＳＣ８］解析するブロックは存在するか否か判断し、存在する場合にステップＳＣ１へ戻り処理を継続し、解析するブロックが存在しない場合には処理を終了する。
【００４８】
次に、図１４に示すアラーム処理などを含む処理のアルゴリズムを示すフローチャートを説明する。図１４に示すフローチャートは図１１に示すフローチャートの処理においてアラーム処理、軸が非動作軸属性になったかを確認する処理を更に含む。以下、各ステップに従って説明する。
●［ステップＳＤ１］プログラムのブロックを読み込み、ステップＳＤ２へ移行する。
●［ステップＳＤ２］ステップＳＤ１で読み込んだブロックを解析し、ステップＳＤ３へ移行する。
●［ステップＳＤ３］ステップＳＤ２で解析したブロックは軸取外し指令ブロックか否か判断し、軸取外し指令ブロックの場合はステップＳＤ５へ移行し、軸取外し指令ブロックではない場合にはステップＳＤ４へ移行する。
●［ステップＳＤ４］軸取外し指令ブロック以外のブロックの処理を実行し、ステップＳＤ１０へ移行する。
●［ステップＳＤ５］軸取外し指令の第一引数は存在するか否か判断し、存在しない場合にはステップＳＤ７へ移行し、存在する場合はステップＳＤ６へ移行する。
●［ステップＳＤ６］第一引数の識別番号の軸は存在するか否かを判断し、存在しない場合にはステップＳＤ７へ移行し、存在する場合はステップＳＤ８へ移行する。
●［ステップＳＤ７］アラーム処理を実行し、処理を終了する。アラーム処理としては、数値制御装置１００が備える表示手段に軸取外し処理に異常発生を表示するなどを行う。
●［ステップＳＤ８］第一引数で指定された識別番号の軸を非動作軸属性に変更し、ステップＳＤ９へ移行する。
●［ステップＳＤ９］第一引数の識別番号の軸が非動作軸属性になったか否か判断し、第一引数の識別番号の軸が非動作軸属性になるまで待ち、ステップＳＤ１０へ移行する。
●［ステップＳＤ１０］解析するブロックは存在するか否か判断し、存在する場合にステップＳＤ１へ戻り処理を継続し、解析するブロックが存在しない場合には処理を終了する。
【００４９】
上述のアルゴリズムを示すフローチャートの処理を実行することにより、制御軸を制御する少なくとも２つの系統を有し、プログラムの指令により前記系統の軸構成を変更する機能を有する数値制御装置において、前記制御軸が前記系統に属して動作する場合は指定系統動作軸属性として記憶し、どの系統にも属さない場合は非動作軸属性として記憶する制御軸属性記憶手段と、前記プログラムを解析し、ある系統から指定された軸を取外すための軸取外し指令がプログラムで実行された時、該指定された制御軸を非動作軸属性に変更する非動作軸属性変更手段と、前記軸取外し指令を実行した系統は取外し指定された軸が非動作軸属性になっているか確認する非動作軸属性確認手段と、非動作軸属性確認手段で非動作軸属性になっていることが確認されると、軸取外し指令の次のプログラムの実行を再開する再開手段、とを有する本発明の実施形態である数値制御装置を実現できる。
【００５０】
次に、図１５に示されるアルゴリズムのフローチャートを説明する。図１５のフローチャートは、図１２に示すある系統から指定された制御軸を割付けるための軸割付け指令を含むプログラムを実行した場合の処理のアルゴリズムを示すフローチャートにおいて、アラーム処理等の処理を含む。
●［ステップＳＥ１］プログラムのブロックを読み込みステップＳＥ２へ移行する。
●［ステップＳＥ２］ステップＳＥ１で読み込んだブロックを解析し、ステップＳＥ３へ移行する。
●［ステップＳＥ３］ステップＳＥ２で解析したブロックは軸割付け指令ブロックか否か判断し、軸割付け指令ブロックの場合はステップＳＥ５へ移行し、軸割付け指令ブロックではない場合にはステップＳＥ４へ移行する。
●［ステップＳＥ４］軸割付け指令ブロック以外のブロックの処理を実行し、ステップＳＥ１１へ移行する。
●［ステップＳＥ５］軸割付け指令の第一引数と第二引数は存在するか否か判断し、存在しない場合にはステップＳＥ７へ移行し、存在する場合はステップＳＥ６へ移行する。
●［ステップＳＥ６］第一引数の識別番号の軸は存在するか否かを判断し、存在しない場合にはステップＳＥ７へ移行し、存在する場合はステップＳＥ８へ移行する。
●［ステップＳＥ７］アラーム処理を実行し、処理を終了する。アラーム処理としては、数値制御装置１００が備える表示手段に軸割付け処理に異常発生を表示するなどを行う。
●［ステップＳＥ８］軸割付け指令の第一引数で指定された識別番号の軸が非動作軸属性になったか否か判断し、軸割付け指令の第一引数で指定された識別番号の軸が非動作軸属性となるのを待って、ステップＳＥ９へ移行する。なお、非動作軸属性となったか否かは制御軸属性記憶手段３（図１参照）の記憶内容を確認すればよい。
●［ステップＳＥ９］第一引数で指定された識別番号の軸を自系統の指定系統動作軸属性に変更し、ステップＳＥ１０へ移行する。
●［ステップＳＥ１０］第一引数の識別番号の軸が指定系統動作軸属性になったか否か判断し、第一引数の識別番号の軸が指定系統動作軸属性になるまで待ち、ステップＳＥ１１へ移行する。
●［ステップＳＥ１１］解析するブロックは存在するか否か判断し、存在する場合にステップＳＥ１へ戻り処理を継続し、解析するブロックが存在しない場合には処理を終了する。
【００５１】
上述のアルゴリズムを示すフローチャートの処理を実行することにより、制御軸を制御する少なくとも２つの系統を有し、プログラムの指令により前記系統の軸構成を変更する機能を有する数値制御装置において、前記制御軸が前記系統に属して動作する場合は指定系統動作軸属性として記憶し、どの系統にも属さない場合は非動作軸属性として記憶する制御軸属性記憶手段と、前記プログラムを解析し、ある系統から指定された制御軸を割付けるための軸割付け指令がプログラムで実行された時、該制御軸が非動作軸軸属性になっているか確認する非動作軸属性確認手段と、非動作軸属性確認手段で非動作軸属性になっていると確認されると、割付け指定した制御軸を指定系統動作軸属性に変更する指定系統動作軸属性変更手段と、非動作軸属性確認手段で非動作軸属性になっていないと確認されると、非動作軸属性になるまで軸割付け指令で待つ指定軸割付け時の待ち合わせ手段と、指定軸割付け時の待ち合わせ手段から非動作軸属性確認手段を定期的に実行し、制御軸が非動作軸属性になっていることが確認されれば、該指定系統動作軸属性変更手段を使用して割付け指定した制御軸を指定系統動作軸属性に変更し、指定系統動作軸属性になったことを確認する指定系統動作軸属性確認手段と、指定系統動作軸属性確認手段によって、指定系統動作軸属性になっていることが確認されると、軸割付け指令の次のプログラムを実行する再開手段とを有する本発明の実施形態である数値制御装置を実現できる。
【００５２】
次に、図１６に示されるアルゴリズムのフローチャートを説明する。図１６に示すフローチャートは、図１３に示す自系統内の制御軸と他系統内の制御軸を指定して制御軸を交換する軸交換指令を含むプログラムを実行した場合の処理のアルゴリズムを示すフローチャートにおいて、アラーム処理等の処理を含む。
●［ステップＳＦ１］プログラムのブロックを読み込み、ステップＳＦ２へ移行する。
●［ステップＳＦ２］ステップＳＦ１で読み込んだブロックを解析し、ステップＳＦ３へ移行する。
●［ステップＳＦ３］ステップＳＦ２で解析したブロックは軸交換指令ブロックであるか否か判断し、軸交換指令ブロックでない場合はステップＳＦ４へ移行し、軸交換指令ブロックの場合はステップＳＦ５へ移行する。
●［ステップＳＦ４］軸交換指令ブロック以外のブロックの処理を実行し、ステップＳＦ１３へ移行する。
●［ステップＳＦ５］軸交換指令の第一引数と第二引数は存在するか否か判断し、存在しない場合はステップＳＦ７へ移行し、存在する場合はステップＳＦ６へ移行する。
●［ステップＳＦ６］第一引数と第二引数の識別番号の軸は存在するか否か判断し、存在しない場合はステップＳＦ７へ移行し、存在する場合はステップＳＦ８へ移行する。
●［ステップＳＦ７］アラーム処理を実行し、処理を終了する。アラーム処理としては、数値制御装置１００が備える表示手段に軸交換処理に異常発生を表示するなどを行う。
●［ステップＳＦ８］第一引数で指定された識別番号の軸を非動作軸属性に変更し、ステップＳＦ９へ移行する。
●［ステップＳＦ９］第一引数の識別番号の軸が非動作軸属性になったか否か判断し、第一引数の識別番号の軸が非動作軸属性になるとステップＳＦ１０へ移行する。
●［ステップＳＦ１０］第二引数の識別番号の軸が非動作軸属性になったか否か判断し、第二引数の識別番号の軸が非動作軸属性になるとステップＳＦ１１へ移行する。
●［ステップＳＦ１１］第二引数で指定された識別番号の軸を自系統の指定系統動作軸属性に変更し、ステップＳＦ１２へ移行する。
●［ステップＳＦ１２］軸交換指令で指定された他系統の軸が指定系統動作軸属性になっているか確認するため、第二引数の識別番号の軸が指定系統動作軸属性になったか否か判断し、指定系統動作軸属性になるとステップＳＦ１３へ移行する。
●［ステップＳＦ１３］解析するブロックは存在するか否か判断し、存在する場合にステップＳＦ１へ戻り処理を継続し、解析するブロックが存在しない場合には処理を終了する。
【００５３】
上述のアルゴリズムを示すフローチャートの処理を実行することにより、制御軸を制御する少なくとも２つの系統を有し、プログラムの指令により前記系統の軸構成を変更する機能を有する数値制御装置において、前記制御軸が前記系統に属して動作する場合は指定系統動作軸属性として記憶し、どの系統にも属さない場合は非動作軸属性として記憶する制御軸属性記憶手段と、前記プログラムを解析し、１つ以上の系統で、自系統内の制御軸と他系統内の制御軸を指定して制御軸を交換する軸交換指令がプログラムで実行された時、該指定された自系統内の制御軸を非動作軸属性に変更する非動作軸属性変更手段と、軸交換指令で指定された他系統内の制御軸が非動作軸属性になっているか確認する非動作軸属性確認手段と、非動作軸属性確認手段で非動作軸属性になっていると確認されると、軸交換指令で指定された他系統内の制御軸を指定系統動作軸属性に変更する指定系統動作軸属性変更手段と、非動作軸属性確認手段で非動作軸属性になっていないと確認されると、非動作軸属性になるまで軸交換指令で待つ指定軸交換時の待ち合わせ手段と、指定軸交換時の待ち合わせ手段から非動作軸属性確認手段を定期的に実行し、軸交換指令で指定された他系統内の制御軸が非動作軸属性になっていることが確認されれば、該指定系統動作軸属性変更手段を使用して軸交換指令で指定された他系統内の制御軸を指定系統動作軸属性に変更し、指定系統動作軸属性になったことを確認する指定系統動作軸属性確認手段と、指定系統動作軸属性確認手段によって、指定系統動作軸属性になっていることが確認されると、軸交換指令の次のプログラムを実行する再開手段とを有する本発明の実施形態である数値制御装置を実現できる。
【００５４】
上述したように、本発明は、例えば系統１と系統２の２つの系統間で軸を移動する場合は、第１のステップとして系統１から軸を指定して取外す軸取外し指令を実行し、この指令を実行することにより、指定された軸が軸の属性を指定系統動作軸属性から非動作軸属性に変更される。系統１は軸取外し指令が完了すれば時に待ち合わせ指令を実行しなくても次のプログラムの指令を実行することができる。
【００５５】
第２のステップとして、系統２で軸を指定して割付ける軸割付け指令を実行することにより、指定された軸が非動作軸属性であるかを確認し、非動作軸属性であれば指定系統動作軸属性に変更し指定系統動作軸として割付け軸を再構成することで、系統１から系統２への軸移動が完了する。
【００５６】
軸割付け指令で指定された軸が非動作軸属性になければ系統２は軸割付け指令で指定された軸が非動作軸属性になるまで待つ処理を系統２は実行する。これによって、系統間で待ち合わせをする必要はなくなり、軸取外し指令や軸割付け指令や軸交換指令を行う系統間で待ち合わせ指令を必要としない軸の再構成機能を実現できる。
【符号の説明】
【００５７】
１  プログラム格納手段
２  解析・処理手段
３  制御軸属性記憶手段
４  軸制御手段
５  機械
１００  数値制御装置
【図１】
2010211566.tif 000003
【図２】
2010211566.tif 000004
【図３】
2010211566.tif 000005
【図４】
2010211566.tif 000006
【図５】
2010211566.tif 000007
【図６】
2010211566.tif 000008
【図７】
2010211566.tif 000009
【図８】
2010211566.tif 000010
【図９】
2010211566.tif 000011
【図１０】
2010211566.tif 000012
【図１１】
2010211566.tif 000013
【図１２】
2010211566.tif 000014
【図１３】
2010211566.tif 000015
【図１４】
2010211566.tif 000016
【図１５】
2010211566.tif 000017
【図１６】
2010211566.tif 000018