(57)【要約】【課題】系統間での主軸制御の受け渡しを短時間で実行できるようにする。【解決手段】プログラム中に主軸に対する指令があるか判断する（ａ１）。主軸への指令があると、その指令を実行し、かつ主軸の制御モードが速度制御モードであれば、指令された主軸と指令回転数、回転方向を保存し、位置制御モードであれば、指令された主軸と指令速度、位置を保存する（ａ２〜ａ５）。系統変更指令があるか判断し（ａ６〜ａ８）、主軸放棄指令が読み込まれていると、指定された主軸の制御を放棄し取得する系統に渡し、そのとき保存していた制御状態情報も渡す（ａ９）。又、主軸制御の取得指令が読み込まれると、指定された主軸の制御状態情報を受け取りその主軸の制御を受け取った情報に基づいて開始する（ａ１０）。この処理を全ての系統のプログラムに対して実行する（ａ１１）。【選択図】図３
2007122461.tif 000002
【特許請求の範囲】
【請求項１】
多系統制御機能を有する数値制御装置において、一ないし複数個の主軸を制御する制御部を備え、前記主軸を制御する系統を切り換えるとき、そのときの主軸の制御状態情報も次に制御する系統に引き渡す手段を備え、引き渡された系統は引き渡される前の主軸の制御状態で該主軸の主軸の制御開始するようにしたことを特徴とする数値制御装置。
【請求項２】
引き渡す主軸の制御状態情報は、位置制御モードか速度制御モードかを含む、請求項１の数値制御装置。
【請求項３】
引き渡す主軸の制御状態情報は、位置制御モードのときは、主軸の位置、速度情報を含む、請求項２の数値制御装置。
【請求項４】
引き渡す主軸の制御状態情報は、速度制御モードのときは、主軸の回転数、回転方向の情報を含む、請求項２の数値制御装置。
【請求項５】
系統の制御下に置く主軸の選択はプログラム指令による、請求項１乃至４の内いずれか１項に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械等を制御する数値制御装置に関し、特に多系統を制御できる数値制御装置に関する。
【背景技術】
【０００２】
複数の制御系統を有する数値制御装置によって、系統毎に独立してまたは同期して工作機械等の産業機械を制御することが行われている。この場合、各系統毎に主軸を有する場合も、ある１つの主軸を異なる系統で交互に制御する場合もある。  
例えば、系統の異なる主軸に加工物を保持し、各系統の主軸を同期して運転するとき、各系統でそれぞれ制御する主軸の起動に時間的な遅れが生じ加工物に傷がつくことがある。これを防止するために、一方の系統のプログラム中に他方の系統の主軸制御指令を含むようにプログラムを構成し、一方の系統のプログラム解析に基づいて、一方の系統及び他方の系統への主軸制御指令データを同時に指令して、起動遅れをなくし、主軸を同時に運転制御できるようにした数値制御装置が知られている（特許文献１参照）。
【０００３】
【特許文献１】特開平３−７１２０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の複数の制御系統を有する数値制御装置では、一方の系統で制御していた主軸を他方の系統の制御に切り換えるとき、この主軸を停止させた状態で、制御系統の切換を行っている。  
そのため、主軸が停止している状態であれば問題はないが、一方の系統で制御され回転している状態で他方の系統にその制御を引き渡すとき、まずは主軸の回転を減速停止させ、その後、主軸制御を他方の系統に引き渡す必要がある。そのため、この主軸制御の引き渡しに時間を要するという欠点がある。  
そこで、本発明の目的は、系統間での主軸制御の受け渡しを短時間で実行できる数値制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、多系統制御機能を有する数値制御装置において、一ないし複数個の主軸を制御する制御部を備え、前記主軸を制御する系統を切り換えるとき、そのときの主軸の制御状態情報も次に制御する系統に引き渡す手段を備え、引き渡された系統は引き渡される前の主軸の制御状態で該主軸の主軸の制御開始するようにしたことを特徴とするものである。その引き渡す主軸の制御状態情報は、位置制御モードか速度制御モードかを含む。又、引き渡す主軸の制御状態情報には、位置制御モードのときは、主軸の位置、速度情報を、速度制御モードのときは、主軸の回転数、回転方向の情報を含む。又、系統の制御下に置く主軸の選択はプログラム指令によるものとした。
【発明の効果】
【０００６】
主軸の制御を停止させることなく、主軸を制御する系統を切り換えられるので、主軸を一旦、減速停止させて制御系統を切り換える必要がないことから、余分な時間を必要とせず、短期間で主軸を制御する系統を切り換えることができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の一実施形態について図面と共に説明する。  
図１は本発明の一実施形態の数値制御装置１０の要部ブロック図である。ＣＰＵ１１は数値制御装置１０を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを、バス１９を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及びＣＲＴや液晶等で構成される表示器とキーボート等で構成される手動入力手段とからなる表示器／手動入力ユニット２０を介してオペレータが入力した各種データが格納される。ＣＭＯＳメモリ１４は図示しないバッテリでバックアップされ、数値制御装置１０の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インターフェイス１５を介して読み込まれた、又は、表示器／手動入力ユニット２０を介して入力された系統１、系統２をそれぞれ制御するの加工プログラムや表示器／手動入力ユニット２０を介して入力された加工プログラム等が記憶される。また、ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集機能や各種システムプログラムが予め格納されている。
【０００８】
インターフェイス１５は、数値制御装置１０と外部機器との接続を可能とするものである。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１０に内蔵されたシーケンスプログラムで制御対象物の工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、数値制御装置で制御される制御対象物である工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。  
本実施形態では、制御系統１，２を有する数値制御装置の例を示しており、各軸の軸制御回路３０x1、３０z1、３０x2、３０z2はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０x1、４０z1、４０x2、４０z2に出力する。サーボアンプ４０x1、４０z1、４０x2、４０z2はこの指令を受けて、機械（制御対象物）の各軸のサーボモータ５０x1、５０z1、５０x2、５０z2を駆動する。各軸のサーボモータ５０x1、５０z1、５０x2、５０z2は位置・速度検出器を内蔵し、この位置・速度検出器からの位置、速度フィードバック信号を軸制御回路３０x1、３０z1、３０x2、３０z2にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１では、位置・速度のフィードバックについては省略している。
【０００９】
また、スピンドル制御回路６０s1、６０s2は主軸回転指令を受け、スピンドルアンプ７０s1、７０s2にスピンドル速度信号を出力する。スピンドルアンプ７０s1、７０s2はスピンドル速度信号を受けて、主軸モータＳＭ１、ＳＭ２を指令された回転速度で回転させる。ポジションコーダ８０s1、８０s2は、主軸モータ６２の回転に同期して帰還パルスをスピンドル制御回路６０s1、６０s2にフィードバックし、速度制御を行う。また、主軸位置（Ｃ軸）モードに切換られると、スピンドル制御回路６０s1、６０s2は、指令された回転位置とポジションコーダ８０s1、８０s2から帰還されてくる１回転信号と帰還パルスに基づいて、主軸の位置を制御する。
【００１０】
この実施形態では、系統１のＸ軸及びＺ軸を駆動するサーボモータ５０x1、５０z1及びその軸制御回路３０x1、３０z1、サーボアンプ４０x1、４０z1、及び、主軸モータＳＭ１とそのスピンドル制御回路６０s1、スピンドルアンプ７０s1、ポジションコーダ８０s1によって系統１を構成している。また、系統２のＸ軸及びＺ軸を駆動するサーボモータ５０x2、５０z2、その軸制御回路３０x2、３０z2、サーボアンプ４０x2、４０z2、及び、主軸モータＳＭ２とそのスピンドル制御回路６０s2、スピンドルアンプ７０s2、ポジションコーダ８０s2によって系統２を構成している。
【００１１】
上述した、数値制御装置の構成は、従来の２つの制御系統を有する数値制御装置の構成と変わりはなく同一である。相違する点は、後述するように、主軸制御を一方の系統から他の系統に引き渡すときの制御が異なるものである。  
図２は、この実施形態におけるプログラム例である。系統１用のプログラム、系統２用のプログラムは予めＣＭＯＳメモリ１４に格納されている。ＣＰＵ１１はこのプログラムを読み出し実行する。
【００１２】
図２に示すプログラムにおいて、「Ｎ」とそれに続く数値はプログラムのシーケンス番号である。又、「Ｓ」とそれに続く数値は主軸への速度指令であり、「Ｐ」とそれに続く数値で主軸を指定する。Ｐ１は系統１の主軸をＰ２は系統２の主軸を指す。Ｍ０３は主軸正回転方向（主軸時計方向）回転指令、Ｍ０４は主軸逆回転方向（主軸反時計方向）回転指令、Ｇ０１は直線補間（切削送り）指令、「Ｚ」とそれに続く数値は、Ｚ軸の位置指令、「Ｆ」は送り軸（Ｘ軸、Ｚ軸）の速度指令、Ｍ１００は待ち合わせコード、Ｋ０は主軸制御の放棄を指令するコード、Ｋ１は主軸制御の開始を指令するコード、Ｍ５０は主軸を位置制御モードに切り換える指令、Ｍ５１は主軸を速度制御モードに切り換える指令、「Ｃ」は、主軸の回転位置を指令するコードである。
【００１３】
図２において、系統１のプログラムではシーケンス番号Ｎ１０００で、主軸１（Ｐ１）を速度１００回転／ｍｉｎで正回転方向（Ｍ０３）に回転させる指令が指令され、シーケンス番号Ｎ１０１０で、系統１のＺ軸を主軸１回転当たり１０ｍｍの速度で１００ｍｍの位置に移動するよう指令されている。その間、系統２のプログラムでは、シーケンス番号Ｎ２０００で、主軸２（Ｐ２）を速度６００回転／ｍｉｎで逆回転方向（Ｍ０４）に回転させる指令が指令され、シーケンス番号Ｎ２０１０で、系統２のＺ軸を主軸１回転当たり１０ｍｍの速度で−５０ｍｍの位置に移動するよう指令されている。なお、最初は両系統共に主軸１、主軸２の速度制御モードに切り換えられているものとする。
【００１４】
系統１のプログラムの「Ｎ１１００  Ｍ１００  Ｐ２  Ｋ１；」の指令により、系統１は系統間の待ち合わせ（Ｍ１００）を行う。すなわち、系統１と系統２は系統間の待ち合わせコードＭ１００がそれぞれ読み込まれるまで待ち合わせを行い、その後、系統１では、主軸２（Ｐ２）の制御を該系統１で制御開始（Ｋ１）させることが指令されている。一方、系統２のプログラムの「Ｎ２１００  Ｍ１００  Ｐ２  Ｋ０；」の指令により、系統間の待ち合わせ（Ｍ１００）を行い、主軸２（Ｐ２）の制御を放棄（Ｋ０）することが指令されている。その結果、主軸２の制御は系統１に引き渡される。このとき、主軸２の制御状態情報をも系統１に引き渡される。この例では、主軸２の逆回転（Ｍ０４）で６００回転／ｍｉｎ（Ｓ６００）の状態情報も系統１に引き渡される。系統１では、引き渡された主軸２の制御状態情報（逆回転方向に６００回転／ｍｉｎ）で主軸２の制御を開始する。その結果、系統１によって主軸１も主軸２も制御されることになる。その結果、主軸２は、系統２で制御された状態のまま、系統１で制御されることになるから、主軸制御の受け渡しが短時間ですむことになる。
【００１５】
そして系統１のシーケンス番号「Ｎ１２００」での「Ｍ５０  Ｐ１」の指令により、主軸１は位置制御モードに切り換られる。そして、シーケンス番号「Ｎ１２１０」での「Ｐ１  Ｃ１５０．  Ｆ５００；」の指令により、主軸１は送り速度５００ｄｅｇ／ｍｉｎで１５０度の位置に移動するよう指令されている。そして、シーケンス番号「Ｎ１３００」での「Ｍ１００  Ｐ１  Ｋ０；」の指令により、系統間の待ち合わせを行い、主軸１の制御を放棄する。一方、系統２ではシーケンス番号「Ｎ２３００」での「Ｍ１００  Ｐ１  Ｋ１；」の指令により、系統間の待ち合わせを行い、主軸１の制御を開始する。この際、系統１から、主軸１の制御状態情報である、主軸１の回転位置１５０度及び送り速度５００ｄｅｇ／ｍｉｎを受け取る。そしてシーケンス番号「Ｎ２３１０」での「Ｐ１  Ｃ−５０．；」の指令により系統２は、主軸１を−５０度の位置に位置決めを指令している。
【００１６】
また、系統１では、シーケンス番号「Ｎ１４００」で示すように、主軸２に対する制御は継続している。そして、系統１のプログラムのシーケンス番号「Ｎ１５００」での「Ｍ１００  Ｐ２  Ｋ０；」の指令により、系統間の待ち合わせを行い、系統１は主軸２の制御を放棄し、系統２のプログラムのシーケンス番号「Ｎ２５００」での「Ｍ１００  Ｐ２  Ｋ１；」の指令で、系統間の待ち合わせを行い系統２は主軸２の制御を開始する。このとき、主軸２の制御状態情報（「Ｎ１４００」の「Ｓ５００  Ｐ２  Ｍ０３；」で指令されている状態）を系統２に受け渡しして、系統２では主軸２を正回転方向に５００回転／ｍｉｎで駆動制御する。
【００１７】
図３は、ＣＰＵ１１が、主軸を制御する系統を切り換える際の処理フローチャートである。ＣＰＵ１１は、系統のプログラムを読みとり、主軸に対する指令があるか判断する（ステップａ１）。すなわち、プログラム中に、主軸（Ｐ１、Ｐ２）に対する速度指令のコード「Ｓ」、または回転位置指令コード「Ｃ」が指令されているかを判断し、主軸への指令ではないと、ステップａ６に移行する。また、主軸に対する指令がなされていると、該指令中のＰコードで指定された主軸に対する指令の処理を行う（ステップａ２）。例えば、系統１のプログラムからシーケンス番号Ｎ１０００の「Ｓ１００  Ｐ１  Ｍ０３；」の指令が読み込まれると主軸１を正回転方向に１００回／ｍｉｎで回転させる速度指令をＣＰＵ１１は系統１のスピンドル制御回路６０s1に出力し、該スピンドル制御回路６０s1は、主軸１を駆動制御する主軸ＳＭ１を１００回／ｍｉｎで正回転方向に回転するよう制御する。
【００１８】
そして、指定された主軸の現在の制御モードが速度制御モードか、位置制御モードか判別し（指令コードが「Ｓ」ならば、速度制御モード、「Ｃ」ならば位置制御モード）（ステップａ３）、速度制御モードであれば、指令された主軸（Ｐ１、Ｐ２）と指令回転数、回転方向を記憶保存する（ステップａ４）。また、位置制御モードであれば指令された主軸（Ｐ１、Ｐ２）と指令速度と指令位置を記憶保存する（ステップａ５）。そして、ステップａ６に移行する。
【００１９】
ステップａ６では、主軸制御系統の変更の指令かを判断する。すなわち、読み出した指令中に指令「Ｋ０」、「Ｋ１」があるか判断し、指令がなければ（ステップａ７）、ステップａ１１に移行する。一方、指令があると、その指令が主軸制御の放棄（Ｋ０）か取得（Ｋ１）か判断し（ステップａ８）、放棄（Ｋ０）指令であれば、待ち合わせを行い（主軸制御の放棄、取得のコードＫ０，Ｋ１は待ち合わせコードＭ１００と共に指令されている）、該放棄指令と共に指令されている制御を放棄する主軸（Ｐ１、Ｐ２）を、その主軸を制御開始しようとする系統に渡す。このとき、ステップａ４，ａ５で記憶保存している、この指定された主軸の現在の制御状態をも受け渡し先の系統に渡す。すなわち、速度制御モードであれば、主軸指令回転数と回転方向を、位置制御モードであれば、指令速度と位置を引き渡し（ステップａ９）、ステップａ１１に移行する。
【００２０】
一方、ステップａ８で、主軸制御放棄指令ではなく主軸制御開始指令（Ｋ１）が指令されていると判別されたとき、待ち合わせを行い、主軸制御開始指令（Ｋ１）と共に指令されている制御開始する主軸（Ｐ１、Ｐ２）を、その主軸制御を放棄する系統から取り込む。このとき、その主軸の制御状態をも、取り込み主軸制御機能に設定し、以後、指定主軸をこの制御状態に制御開始し（ステップａ１０）、ステップａ１１に移行する。  
例えば、図２に示したプログラム例で説明すると、系統１のシーケンス番号「Ｎ１１００」で「Ｍ１００  Ｐ２  Ｋ０」の指令が読み込まれると、系統２が「Ｍ１００」のコードを読み出すまで待ち合わせを行った後、すなわち、系統２のシーケンス番号「Ｎ２１００」で「Ｍ１００  Ｐ２  Ｋ１」の指令が読み込まれるまで待った後、系統２から系統１に主軸２の制御が引き渡され、かつ、そのときの主軸２の制御状態である。逆回転で６００回転／ｍｉｎの情報が系統１に引き渡されることになる。
【００２１】
ステップａ１１では、全ての系統のプログラムについて、主軸制御のチェックが完了したか判断し、終了してなければステップａ１に戻り上述した制御処理を実行する。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態の数値制御装置の要部ブロック図である。
【図２】同実施形態におけるプログラム例とその説明図である。
【図３】同実施形態における主軸を制御する系統を切り換える際の処理フローチャートである。
【符号の説明】
【００２３】
１０  数値制御装置
４０x1  系統１のＸ軸用のサーボモータ
４０z1  系統１のＺ軸用のサーボモータ
４０x2  系統２のＸ軸用のサーボモータ
４０z2  系統２のＺ軸用のサーボモータ
ＳＭ１  系統１の主軸モータ
ＳＭ２  系統２の主軸モータ
【図１】
2007122461.tif 000003
【図２】
2007122461.tif 000004
【図３】
2007122461.tif 000005
【手続補正書】
【提出日】平成18年8月22日(2006.8.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
多系統制御機能を有する数値制御装置において、一ないし複数個の主軸を制御する制御部を備え、前記主軸を制御する系統を切り換えるとき、そのときの主軸の制御状態情報も次に制御する系統に引き渡す手段を備え、引き渡された系統は引き渡される前の主軸の制御状態で該主軸の制御を開始するようにしたことを特徴とする数値制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本発明は、多系統制御機能を有する数値制御装置において、一ないし複数個の主軸を制御する制御部を備え、前記主軸を制御する系統を切り換えるとき、そのときの主軸の制御状態情報も次に制御する系統に引き渡す手段を備え、引き渡された系統は引き渡される前の主軸の制御状態で該主軸の制御を開始するようにしたことを特徴とするものである。その引き渡す主軸の制御状態情報は、位置制御モードか速度制御モードかを含む。又、引き渡す主軸の制御状態情報には、位置制御モードのときは、主軸の位置、速度情報を、速度制御モードのときは、主軸の回転数、回転方向の情報を含む。又、系統の制御下に置く主軸の選択はプログラム指令によるものとした。