(57)【特許請求の範囲】
【請求項１】
複数の制御対象をそれぞれ制御するための複数の制御軸部と、前記複数の制御軸部からの位置指令を単一の駆動部に伝達する制御軸切換え部とを有し、前記制御軸切換え部で前記複数の制御軸部からの前記位置指令を前記単一の駆動部に伝達することによって前記複数の制御対象を前記単一の駆動部により駆動制御する数値制御装置において、
前記複数の制御軸部はそれぞれ、
前記単一の駆動部に設けられた位置検出部から出力されるサーボモータの移動量を前記複数の制御軸部の各制御軸部に対応する移動量へ換算する軸移動量換算部と、
前記軸移動量換算部で換算した移動量を前記制御対象の位置として記憶する軸位置データ記憶部と、
前記制御対象が前記単一の駆動部から切り離された時点での前記制御対象の軸位置を記憶する制御対象軸位置データ記憶部とを備え、
前記複数の制御軸部はそれぞれ、前記制御軸切換え部によって前記制御対象と接続されているか接続されていないかに関わらず、前記軸位置データ記憶部を前記位置検出部から出力される前記サーボモータの移動量で更新することにより、制御軸切換え時に、前記位置データ記憶部に記憶された制御対象の位置と、前記制御対象軸位置データ記憶部に記憶された軸位置とに基づいて、前記単一の駆動部の位置を前記制御対象と接続可能な位置へ移動することで、前記単一の駆動部が前記制御対象と接続することを可能とする、
ことを特徴とする数値制御装置。
【請求項２】
前記位置検出部は前記サーボモータの軸位置の絶対位置を検出する絶対位置検出器であって、
前記制御軸部は、前記単一の駆動部に設けられた前記位置検出部から出力されるサーボモータの絶対位置と前記軸位置データ記憶部に記憶された軸位置とに基づいて位置検出部の異常を検出する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記複数の制御対象はそれぞれ前記制御対象の絶対位置を検出する絶対位置検出器を備え、
前記複数の制御軸部はそれぞれ、前記複数の制御対象に設けられた前記絶対位置検出器から出力される絶対位置に基づいて、前記制御対象軸位置データ記憶部を逐次更新することを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に複数の制御対象部・制御軸部組に対して単一の駆動部を設け、当該駆動部をそれぞれ必要な場合に制御軸切換え部によって接続する構成において、駆動部と各制御対象部とが特定の位置で接続する必要がある構造にでも接続できるように制御する数値制御装置に関する。
【背景技術】
【０００２】
工作機械に複数の制御対象部分がある場合、各制御対象部分はそれぞれ専用の駆動源で駆動される場合が多く、この場合、制御対象数分だけ機械重量が大きくなるほか、コストアップに繋がるという問題があった。
【０００３】
このような問題を解決するために、従来技術として、複数の制御対象部・制御軸部組に対して単一の駆動部を設け、当該駆動部をそれぞれ必要な場合に制御軸切換部によって所望の制御対象部・制御軸部で接続する構成が提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−３１１７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の構成では、制御対象部と再接続するときのサーボモータの軸位置を、前回切り離されたときの軸位置へ変更して制御を行っている。そのため、サーボモータと各制御対象部との接続は、任意の軸位置で接続できる構造に限られるという問題があった。
また、特許文献１に記載の構成では、制御対象が軸駆動モータと接続されていない間に動作してしまうと、各軸制御部で記憶している軸位置データと、対応する制御対応部の実際の位置にずれが生じてしまうという問題を解決することができない。
【０００６】
そこで、本発明の目的は、複数の制御対象部・制御軸部組に対して、単一の駆動部を設け、この駆動部をそれぞれ必要な場合に制御軸切換え部によって所望の制御対象部・制御軸部で接続する構成で、駆動部と各制御対象部が特定の位置で接続する必要がある構造でも接続できるように制御を行う数値制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本願請求項１に係る発明は、複数の制御対象をそれぞれ制御するための複数の制御軸部と、前記複数の制御軸部からの位置指令を単一の駆動部に伝達する制御軸切換え部とを有し、前記制御軸切換え部で前記複数の制御軸部からの前記位置指令を前記単一の駆動部に伝達することによって前記複数の制御対象を前記単一の駆動部により駆動制御する数値制御装置において、前記複数の制御軸部はそれぞれ、前記単一の駆動部に設けられた位置検出部から出力されるサーボモータの移動量を前記複数の制御軸部の各制御軸部に対応する移動量へ換算する軸移動量換算部と、前記軸移動量換算部で換算した移動量を前記制御対象の位置として記憶する軸位置データ記憶部と、前記制御対象が前記単一の駆動部から切り離された時点での前記制御対象の軸位置を記憶する制御対象軸位置データ記憶部とを備え、前記複数の制御軸部はそれぞれ、前記制御軸切換え部によって前記制御対象と接続されているか接続されていないかに関わらず、前記軸位置データ記憶部を前記位置検出部から出力される前記サーボモータの移動量で更新することにより、制御軸切換え時に、前記位置データ記憶部に記憶された制御対象の位置と、前記制御対象軸位置データ記憶部に記憶された軸位置とに基づいて、前記単一の駆動部の位置を前記制御対象と接続可能な位置へ移動することで、前記単一の駆動部が前記制御対象と接続することを可能とする、ことを特徴とする数値制御装置である。
【０００８】
本願請求項２に係る発明は、前記位置検出部は前記サーボモータの軸位置の絶対位置を検出する絶対位置検出器であって、前記制御軸部は、前記単一の駆動部に設けられた前記位置検出部から出力されるサーボモータの絶対位置と前記軸位置データ記憶部に記憶された軸位置とに基づいて位置検出部の異常を検出する、ことを特徴とする請求項１に記載の数値制御装置である。
【０００９】
本願請求項３に係る発明は、前記複数の制御対象はそれぞれ前記制御対象の絶対位置を検出する絶対位置検出器を備え、前記複数の制御軸部はそれぞれ、前記複数の制御対象に設けられた前記絶対位置検出器から出力される絶対位置に基づいて、前記制御対象軸位置データ記憶部を逐次更新することを特徴とする請求項１に記載の数値制御装置である。
【発明の効果】
【００１０】
本発明により、複数の制御対象部・制御軸部組に対して、単一の駆動部を設け、この駆動部をそれぞれ必要な場合に制御軸切換え部によって所望の制御対象部・制御軸部で接続する構成で、駆動部と各制御対象部が特定の位置で接続する必要がある構造でも接続できるように制御を行う数値制御装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１における数値制御装置のブロック図である。
【図２】本発明の実施の形態１における制御処理のフローチャートである。
【図３】本発明の実施の形態２における数値制御装置のブロック図である。
【図４】本発明の実施の形態２における制御処理のフローチャートである。
【図５】本発明の実施の形態３における数値制御装置のブロック図である。
【図６】本発明の実施の形態３における制御処理のフローチャートである。
【図７】本発明の他の実施の形態における数値制御装置のブロック図である。
【図８】本発明を更に他の実施の形態における装置の動作例を説明する図である。
【発明を実施するための形態】
【００１２】
（実施の形態１）
以下、本発明の一実施形態の数値制御装置について図面と共に説明する。
図１は、本発明の一実施形態における数値制御装置１０と、数値制御装置１０により制御される駆動部４０及び制御対象部５０の要部を示すブロック図である。数値制御装置１０は、複数の制御軸部２０と制御軸切換え部３０を備えている。各制御軸部２０は、指令プログラムの指令に従って位置指令を駆動部に出力することでそれぞれが制御対象とする制御対象部５０を駆動する機能を有している。また、各制御軸部２０は、駆動部４０の軸位置を制御対象となる制御対象部５０の位置へと換算した換算位置を記憶する軸位置データ記憶部２１、制御対象となる制御対象部５０と駆動部４０とを切り離した時の駆動部４０の換算位置を記憶する制御対象部切離し時軸位置データ記憶部２２、駆動部４０からフィードバックされたサーボモータ４２の位置を制御対象となる制御対象部５０の位置へと換算する軸移動量換算部２３を備えている。
【００１３】
制御軸切換え部３０は、駆動部４０と、制御軸部２０、制御対象部５０を切換えて接続する機能を有しており、指令プログラムの指令により駆動させるべき制御対象部５０を制御する制御軸部２０を駆動部４０と接続すると共に、図示しない軸切換え装置に対して指令を出力することで、駆動部４０のサーボモータ４２を制御対象とする制御対象部５０に接続部４３を介して接続する。
【００１４】
駆動部４０は、サーボモータ制御部４１、サーボモータ４２、位置検出器４４、接続部４３から構成されている。サーボモータ制御部４１は、制御軸切換え部３０に接続されている制御軸部２０から位置指令を受け取り、駆動指令を出力することでサーボモータ４２を駆動する。接続部４３は、サーボモータ４２の軸と制御対象となる制御対象部５０と接続する役割を持ち、サーボモータ４２が駆動することにより生ずる動力を制御対象部５０に伝達する。位置検出器４４はサーボモータ４２の軸の移動量を制御軸部へとフィードバックする。
制御対象部５０は、ギアやボールねじで結合された工作機械のヘッドやテーブルなどからなり、それぞれ駆動部４０と接続部４３を介して接続されることにより駆動可能に構成されている。数値制御装置１０のシステム領域内には、それぞれの制御対象部５０と組となる制御軸部２０が、数値制御装置１０の起動時にシステムプログラムにより用意される。
【００１５】
本実施の形態では、数値制御装置１０の制御対象となる装置が、制御対象部５０として第１制御対象部５０ａ、第２制御対象部５０ｂを備えており、数値制御装置１０内で、それぞれの制御対象部と組となる、第１制御軸部２０ａ、第２制御軸部２０ｂが機能している。また、本実施の形態では、第１制御対象部５０ａと第２制御対象部５０ｂ、サーボモータ４２の接続部４３が切欠きとなっており、サーボモータ４２とそれぞれの制御対象部５０を特定の軸位置で接続しなければならない構造となっている。更に、第１制御軸部２０ａが備える軸移動量換算部２３ａは、サーボモータ４２の軸移動量を第１制御対象部５０ａの移動量へと換算するための軸移動量換算係数Ｋ１を記憶しており、また第２制御軸部２０ｂが備える軸移動量換算部２３ｂは、サーボモータ４２の軸移動量を第２制御対象部５０ｂの移動量へと換算するための軸移動量換算係数Ｋ２を記憶している。
【００１６】
このような構成を備えた数値制御装置１０において、指令プログラムにより第１制御対象部５０ａへ接続する指令が出されると、制御軸切換え部３０は第１制御軸部２０ａと駆動部４０、駆動部４０と第１制御対象部５０ａとをそれぞれ接続する。各部間の接続がなされると、指令プログラムに従って第１制御軸部２０ａから位置指令がサーボモータ制御部４１へと出力され、当該位置指令に従って出力される駆動指令によりサーボモータ４２が駆動する。サーボモータ４２が駆動することにより、接続部４３を介して第１制御対象部へと動力が伝達され、第１制御対象部５０ａが指令された位置へと移動するが、その際に、位置検出器４４がサーボモータ４２の軸位置の移動量を第１制御軸部２０ａに対してフィードバックすると共に、駆動部４０に接続されていない第２制御軸部２０ｂに対しても位置検出器４４からサーボモータ４２の軸位置の移動量がフィードバックされる。
【００１７】
第１制御軸部２０ａが備える軸移動量換算部２３ａ、第２制御軸部２０ｂが備える軸移動量換算部２３ｂは、位置検出器４４からフィードバックされた移動量を、それぞれが制御対象としている制御対象部５０ａ，５０ｂの移動量へと換算する。例えば、位置検出器４４から出力されるサーボモータ４２の軸位置の移動量をφとすると、第１制御軸部２０ａが備える軸移動量換算部２３ａは換算量Ｋ１φを出力し、第２制御軸部２０ｂが備える軸移動量換算部２３ｂは換算量Ｋ２φを出力する。そして、第１制御軸部２０ａは、軸移動量換算部２３ａから出力された換算量Ｋ１φを軸位置データ記憶部２１ａに記憶されている位置データに加算することで、第１制御対象部５０ａの現在位置を記憶する。また、第２制御軸部２０ｂは、軸移動量換算部２３ｂから出力された換算量Ｋ２φを軸位置データ記憶部２１ｂに記憶されている位置データに加算することで、駆動部４０が第２制御対象部５０ｂに接続されていたと仮定した場合の第２制御対象部５０ｂが移動した位置を記憶する。
【００１８】
このような状態で、指令プログラムにより制御軸切換え指令が出されると、制御軸切換え部３０は第１制御軸部２０ａと駆動部４０、駆動部４０と第１制御対象部５０ａとをそれぞれ切離す。この時、第１制御軸部２０ａは、切離した時点で軸位置データ記憶部２１ａに記憶されている第１制御対象部５０ａの位置データを取得し、制御対象部切離し時軸位置データ記憶部２２ａへと記憶する。その後、制御軸切換え部３０は第２制御軸部２０ｂと駆動部４０とを接続するが、起動部４０と第２制御対象部５０ｂとを接続する前に、第２制御軸部２０ｂが備える軸位置データ記憶部２１ｂと、制御対象部切離し時軸位置データ記憶部２２ｂを参照し、駆動部４０と第２制御対象部５０ｂを切り離した際の第２制御対象部５０ｂの位置と、第２制御対象部５０ｂに対する駆動部４０の位置の差分を算出する。そして、第２制御軸部２０ｂは位置指令を出力し、第２制御対象部５０ｂに対するサーボモータ４２の軸位置を、駆動部４０と第２制御対象部５０ｂを切り離した際の第２制御対象部５０ｂの位置となるように移動させる。なお、当該軸位置調整のための移動の際にも、位置検出器４４から移動量がフィードバックされ、第１軸位置データ記憶部２１ａ、第２軸位置データ記憶部２１ｂに記憶されている軸位置データは更新される。
【００１９】
そして、接続部４３と第２制御対象部５０ｂの切欠きが噛み合う位置へと移動した時点で、制御軸切換え部３０は、駆動部４０と第２制御対象部５０ｂとを接続し、第２制御軸部５０ｂは指令プログラムに従って第２制御対象部５０ｂの制御を実行する。
【００２０】
図２は、本実施の形態における数値制御装置１０が指令プログラムの指令ブロックを処理する際の処理手順を示すフローチャートである。
数値制御装置１０は、指令プログラムから指令ブロックを読み出し、当該指令ブロックによる指令が第１制御軸部２０ａの移動指令であるか否かを判定する（Ｓ２０１）。Ｓ２０１において判定した指令が第１制御軸部２０ａの移動指令である場合には、第１制御軸部２０ａが駆動部４０と現在接続されているか否かを判定する（Ｓ２０２）。
Ｓ２０２において、第１制御軸部２０ａが駆動部４０と接続されていない場合には、当該指令が実行できないので当該指令ブロックの処理を終了する。Ｓ２０２において、第１制御軸部２０ａが駆動部４０と接続されていると判定された場合には、指令ブロックの指令に基づいて第１制御対象部５０ａの移動を実行する（Ｓ２０３）。
【００２１】
第１制御対象部５０ａが移動した際に、位置検出器４４からサーボモータ４２の移動量が第１制御軸部２０ａ、第２制御軸部２０ｂへとフィードバックされるので（Ｓ２０４）、第１制御軸部２０ａが備える軸移動量換算部２３ａと、第２制御軸部２０ｂが備える軸移動量換算部２３ｂは、フィードバックされたサーボモータ４２の移動量に対して、それぞれの制御軸部が制御している制御対象部５０ａ，５０ｂの軸移動量換算係数Ｋ１、Ｋ２をそれぞれ積算し、積算した結果を軸位置データ記憶部２１ａ，２１ｂに加算することで各軸位置データを更新し（Ｓ２０５）、当該指令ブロックの処理を終了する。
【００２２】
Ｓ２０１において判定した指令が第１制御軸部２０ａの移動指令でなかった場合には、次に当該指令が第２制御軸部２０ｂの移動指令であるか否かを判定する（Ｓ２０６）。Ｓ２０６において判定した指令が第２制御軸部２０ｂの移動指令である場合には、第２制御軸部２０ｂが駆動部４０と現在接続されているか否かを判定する（Ｓ２０７）。
Ｓ２０７において、第２制御軸部２０ｂが駆動部４０と接続されていない場合には、当該指令が実行できないので当該指令ブロックの処理を終了する。Ｓ２０７において、第２制御軸部２０ｂが駆動部４０と接続されていると判定された場合には、指令ブロックの指令に基づいて第２制御対象部５０ｂの移動を実行する（Ｓ２０８）。その後、Ｓ２０４，Ｓ２０５と同様に軸位置データの更新を行い、当該指令ブロックの処理を終了する。
【００２３】
Ｓ２０６において判定した指令が第２制御軸部２０ｂの移動指令でなかった場合には、次に当該指令が制御軸切換えを指令するものであるか否かを判定する（Ｓ２０９）。Ｓ２０９において判定した指令が制御軸切換えを指令するものであった場合には、制御軸切換え部３０は駆動部４０から現在接続されている制御軸部２０と制御対象部５０とを切離して、駆動部４０を切換え先の制御軸部２０と切換え先の制御対象部５０と接続するが（Ｓ２１０）、その際、駆動部４０を切換え先の制御軸部２０と切換え先の制御対象部５０と接続する前に、切換え接続する制御対象部５０の軸位置データ記憶部２１に記憶されている軸位置データと、切換え接続する制御対象部５０の制御対象部切離し時軸位置データ記憶部に記憶されている軸位置データの値に基づいて、当該制御対象部５０と駆動部４０を前回切離した時の軸位置にサーボモータの軸位置を戻す制御処理を行うと共に、当該移動に伴いフィードバックされる移動量に基づいて各制御軸部２０の軸位置データ記憶部２１に記憶されている軸位置データの更新を行い、その後駆動部４０と切換え接続する制御軸部２０、制御対象部５０とを接続する。
【００２４】
そして、切離した制御対象部５０の切離し時点での軸位置データを、切離した制御軸部２０の軸位置データ記憶部２１から取得して、切離した制御軸部２０の制御対象部切離し時軸位置データ記憶部２２へと保存する（Ｓ２１１）。
【００２５】
このように、本実施の形態では、駆動部４０に接続されている制御軸部２０が備える軸位置データ記憶部２１の更新を行うと共に、駆動部４０に接続されていない制御軸部２０が備える軸位置データ記憶部２１の更新を行うことで、各制御対象部５０に対する駆動部４０の位置を確認することができるので、特定の位置で接続しなければならない構造となっている接続部４３を有する場合においても、制御軸の切換えを容易に行うことができる。
【００２６】
（実施の形態２）
本実施の形態では、サーボモータの位置検出器として絶対位置検出器を用いる点が実施の形態１と大きく異なる。本実施の形態では、絶対位置検出器から取得されるサーボモータの移動量を換算して更新した制御軸部の軸位置データと、絶対位置データから換算された制御軸部の軸位置とが一致するか否かで、絶対位置検出器からの移動量のフィードバックが破損しているかどうかを検出することができる。
【００２７】
図３は、本実施の形態における数値制御装置１０と、数値制御装置１０により制御される駆動部４０及び制御対象部５０の要部を示すブロック図である。本実施の形態では、実施の形態１の位置検出器４４に代えて、サーボモータ４２の軸位置を検出する検出器として絶対位置検出器４５を用いている。絶対位置検出器４５から第１制御軸部２０ａ、第２制御軸部２０ｂに対して、移動量に加えてサーボモータ４２の絶対位置データがフィードバックされている。
【００２８】
このような構成を備えた数値制御装置１０における指令プログラムの指令ブロックを処理する際の処理手順を図４のフローチャートに基づいて説明する。
本実施の形態の第１制御軸部の移動指令の処理（Ｓ４０１〜Ｓ４０５）、第２制御軸部の移動指令の処理（Ｓ４０６〜Ｓ４０８，Ｓ４０４，Ｓ４０５）および制御軸切換え指令による制御軸切換え処理（Ｓ４０９〜Ｓ４１１）については、図２で説明した実施の形態１における第１制御軸部の移動指令の処理（Ｓ２０１〜Ｓ２０５）、第２制御軸部の移動指令の処理（Ｓ２０６〜Ｓ２０８，Ｓ２０４，Ｓ２０５）および制御軸切換え指令による制御軸切換え処理（Ｓ２０９〜Ｓ２１１）と同様である。
【００２９】
本実施の形態の数値制御装置１０は、Ｓ４１１において軸位置データの制御対象部切離し時軸位置データ記憶部への保存処理が終了すると、軸位置データ記憶部に保存されている軸位置データと、絶対位置検出器から取得した絶対位置データから換算された制御軸の軸位置データとを比較する（Ｓ４１２）。そして、Ｓ４１２において比較結果が同一であれば、当該指令ブロックの処理を終了するが、Ｓ４１２において比較結果が異なる場合、軸位置データのずれを検出し（Ｓ４１３）、絶対位置検出器４５がレファレンス点を失ったことをアラームとして出力する（Ｓ４１４）。
【００３０】
このように、本実施の形態では、絶対位置検出器から取得される移動量から更新した制御軸部の軸位置データ記憶部と絶対位置データとを比較することで、断線などが原因で絶対位置検出器からの移動量のフィードバックが破損し、フィードバックが不正な値となっている場合を検出することができる。
【００３１】
（実施の形態３）
本実施の形態では、各制御対象部に絶対位置検出器を設けている点が実施の形態１と大きく異なる。本実施の形態では、各制御対象部に設けられた絶対位置検出器から取得される絶対位置データから、制御対象部の位置を算出することで、制御軸部の軸位置データ記憶部を現在の制御対象部の位置へ更新することが可能となる。
【００３２】
図５は、本実施の形態における数値制御装置１０と、数値制御装置１０により制御される駆動部４０及び制御対象部５０の要部を示すブロック図である。本実施の形態では、第１制御対象部５０ａと、第２制御対象部５０ｂに対して、それぞれ絶対値検出器５１ａ，５１ｂが設けられている。絶対位置検出器５１ａから第１制御対象部５０ａの移動量と絶対位置データが第１制御軸部２０ａに、絶対位置検出器５１ｂから第２制御対象部５０ｂの移動量と絶対位置データが第２制御軸部２０ｂに、それぞれフィードバックされている。
また、各制御軸部２０ａ，２０ｂは、制御対象部切離し時軸位置データ記憶部２２ａ，２２ｂに代えて制御対象部軸位置データ記憶部２４ａ，２４ｂを備えている。制御対象部軸位置データ記憶部２４ａ，２４ｂは、当該制御軸部が制御対象としている制御対象部の軸位置を記憶している。
【００３３】
本実施の形態では、絶対位置検出部５１ａ，５１ｂからフィードバックされる各制御対象部５０ａ，５０ｂの絶対位置データを制御軸部２０ａ，２０ｂの制御対象部軸位置データ記憶部２４ａ，２４ｂに記憶する。また、制御軸切換え部３０により駆動部４０へと接続されていない制御軸部では、位置検出器４４からフィードバックされる移動量を軸移動量換算部で当該制御軸部が制御対象としている制御対象部の移動量へと換算し、当該換算された移動量により当該制御軸部の軸位置データ記憶部を更新しているが、制御軸切換え部３０により駆動部４０に接続されている制御軸部においては、当該制御軸部が制御対象としている制御対象部に設けられた絶対値検出器からフィードバックされる移動量に基づいて当該制御軸部の軸位置データ記憶部を更新する。軸位置データ記憶部の更新に位置検出器４４からフィードバックされる移動量を用いるか、或いは絶対位置検出器５１ａ，５１ｂからフィードバックされる移動量を用いるかの判断は、それぞれの制御軸部２０ａ，２０ｂが備える軸移動量換算部２３ａ，２３ｂが行う。
【００３４】
このような構成を備えた数値制御装置１０における指令プログラムの指令ブロックを処理する際の処理手順を図６のフローチャートに基づいて説明する。
数値制御装置１０は、指令プログラムから指令ブロックを読み出し、当該指令ブロックによる指令が第１制御軸部２０ａの移動指令であるか否かを判定する（Ｓ６０１）。Ｓ６０１において判定した指令が第１制御軸部２０ａの移動指令である場合には、第１制御軸部２０ａが駆動部４０と現在接続されているか否かを判定する（Ｓ６０２）。
Ｓ６０２において、第１制御軸部２０ａが駆動部４０と接続されていない場合には、当該指令が実行できないので当該指令ブロックの処理を終了する。Ｓ６０２において、第１制御軸部２０ａが駆動部４０と接続されていると判定された場合には、指令ブロックの指令に基づいて第１制御対象部５０ａの移動を実行する（Ｓ６０３）。
【００３５】
第１制御対象部５０ａが移動した際に絶対位置検出器５１ａの移動量が第１制御軸部２０ａへとフィードバックされる（Ｓ６０４）。第１制御軸部２０ａが備える軸移動量換算部２３ａは、フィードバックされた第１制御対象部５０ａの移動量に基づいて、第１制御対象部５０ａの軸位置データ記憶部２１ａの値を更新する（Ｓ６０５）。次に、第１制御対象部５０ａが移動した際のサーボモータ４２の移動量が位置検出器４４から第２制御軸部２０ｂへとフィードバックされるので（Ｓ６０６）、第２制御軸部２０ｂが備える軸移動量換算部２３ｂは、フィードバックされたサーボモータ４２の移動量に対して第２制御対象部５０ｂの軸移動量換算係数Ｋ２を積算し、積算した結果を軸位置データ記憶部２１ｂに加算することで軸位置データを更新する（Ｓ６０７）。
【００３６】
最後に、各制御対象部５０ａ，５０ｂが備える絶対位置検出器５１ａ，５１ｂから、それぞれの制御対象部５０ａ，５０ｂの絶対位置データが、制御軸部２０ａ，２０ｂにフィードバックされ（Ｓ６０８）、各制御軸部２０ａ，２０ｂはフィードバックされたそれぞれの制御対象となる制御対象部５０ａ，５０ｂの絶対位置データにより、制御対象部軸位置データ記憶部２４ａ，２４ｂの値を更新し（Ｓ６０９）、当該指令ブロックの処理を終了する。
【００３７】
Ｓ６０１において判定した指令が第１制御軸部２０ａの移動指令でなかった場合には、次に当該指令が第２制御軸部２０ｂの移動指令であるか否かを判定する（Ｓ６１０）。Ｓ６１０において判定した指令が第２制御軸部２０ｂの移動指令である場合には、第２制御軸部２０ｂが駆動部４０と現在接続されているか否かを判定する（Ｓ６１１）。
Ｓ６１１において、第２制御軸部２０ｂが駆動部４０と接続されていないと判定された場合には、当該指令が実行できないので当該指令ブロックの処理を終了する。Ｓ６１１において、第２制御軸部２０ｂが駆動部４０と接続されていると判定された場合には、指令ブロックの指令に基づいて第２制御対象部５０ｂの移動を実行する（Ｓ６１２）。
【００３８】
第２制御対象部５０ｂが移動した際に絶対位置検出器５１ｂの移動量が第２制御軸部２０ｂへとフィードバックされる（Ｓ６１３）。第２制御軸部２０ｂが備える軸移動量換算部２３ｂは、フィードバックされた第２制御対象部５０ｂの移動量に基づいて、第２制御対象部５０ｂの軸位置データ記憶部２１ｂの値を更新する（Ｓ６１４）。次に、第２制御対象部５０ｂが移動した際のサーボモータ４２の移動量が位置検出器４４から第１制御軸部２０ａへとフィードバックされるので（Ｓ６１５）、第１制御軸部２０ａが備える軸移動量換算部２３ａは、フィードバックされたサーボモータ４２の移動量に対して制御対象部５０ａの軸移動量換算係数Ｋ１を積算し、積算した結果を軸位置データ記憶部２１ａに加算することで軸位置データを更新する（Ｓ６１６）。その後、Ｓ６０８，Ｓ６０９と同様に各制御対象部軸位置データ記憶部２４ａ，２４ｂの更新を行い、当該指令ブロックの処理を終了する。
【００３９】
Ｓ６１０において判定した指令が第２制御軸部２０ｂの移動指令でなかった場合には、次に当該指令が制御軸切換えを指令するものであるか否かを判定する（Ｓ６１７）。Ｓ６１７において判定した指令が制御軸切換えを指令するものであった場合には、制御軸切換え部３０は駆動部４０から現在接続されている制御軸部２０と制御対象部５０とを切離して、駆動部４０を切換え先の制御軸部２０と切換え先の制御対象部５０と接続するが（Ｓ６１８）、その際、駆動部４０を切換え先の制御軸部２０と切換え先の制御対象部５０と接続する前に、切換え接続する制御対象部５０の軸位置データ記憶部２１に記憶されている軸位置データと、切換え接続する制御対象部５０の制御対象部軸位置データ記憶部に記憶されている軸位置データの値に基づいて、当該制御対象部５０の現在の軸位置にサーボモータの軸位置を戻す制御処理を行うと共に、当該移動に伴い位置検出器４４からフィードバックされる移動量に基づいて各制御軸部２０の軸位置データ記憶部２１に記憶されている軸位置データの更新を行い、その後駆動部４０と切換え接続する制御軸部２０、制御対象部５０とを接続する。
そして、接続した制御軸部２０の軸位置データ記憶部の値を、当該制御軸部が制御対象としている制御対象部５０の絶対位置検出器５１からフィードバックされる絶対位置データにより更新する（Ｓ６１９）。
【００４０】
本実施の形態では、駆動部４０に接続されていない制御対象部５０から当該制御対象部５０の絶対位置データが常にフィードバックされるため、制御対象部５０が駆動部４０と切り離されている間に駆動部４０以外の要因で移動する場合などに有効である。
【００４１】
（他の実施の形態）
これまで説明してきた実施の形態では、第１制御対象部５０ａと第２制御対象部５０ｂとが互いに独立に移動する例を示したが、第１制御対象部５０ａと第２制御対象部５０ｂとが同時に動作する場合においても本発明の軸制御手法を適用することができる。
図７は、第２制御対象部５０ｂと駆動部４０とが第１制御対象部５０ａを介して接続される例を示している。
【００４２】
本実施の形態では、制御軸切換え部３０により第１制御対象部５０ａのみを動作させるように制御される場合には、接続部４３と第１制御対象部５０ａとが接続され、第１制御対象部５０ａと第２制御対象部５０ｂとは切り離された状態でサーボモータ４２が駆動し、図示しない第１制御対象部５０ａのギアと咬合している制御対象のみが移動する。また、制御軸切換え部３０により第１制御対象部５０ａと第２制御対象部５０ｂとを動作させるように制御される場合には、接続部４３と第１制御対象部５０ａ、第１制御対象部５０ａと第２制御対象部５０ｂとがそれぞれ接続された状態でサーボモータ４２が駆動し、図示しない第１制御対象部５０ａのギアと咬合している制御対象と、第２制御対象部５０ｂのギアと咬合している制御対象の両方が移動する。
このような構成においても、第２制御軸部２０ｂの軸位置データ記憶部２１ｂと制御対象部切離し時軸位置データ記憶部２２ｂの値を適切に管理することで、他の実施形態と同様の効果を得ることができる。
【００４３】
また、図８に示すように、サーボモータ４２により送りねじで接続部４３を移動させ、移動位置において接続部４３と各制御対象部５０ａ，５０ｂとを接続するように構成した装置に対して本発明の軸制御手法を適用することもできる。
本実施の形態では、＜１＞の示す位置において接続部４３と第１制御対象部５０ａとを接続して駆動させる。このとき、第２制御対象部は停止位置にある。第１制御軸部２０ａ（図示せず）から第２制御軸部２０ｂ（図示せず）へと切換える場合には、＜２＞に示すように接続部４３を第２制御対象部５０ｂとの接続位置へと移動させ、接続部４３と第２制御対象部５０ｂを接続し、制御軸部の切換えを行う。このとき、第２制御軸部２０ｂの軸位置データ記憶部２１ｂは第２制御対象部５０ｂに備え付けられた絶対位置検出器５１ｂからフィードバックされた絶対位置データに基づいて、現在の第２制御対象部５０ｂの位置へと更新される。
そして、第１制御対象部５０ａと第２制御対象部５０ｂとが接続部４３と接続されている状態で、第１制御対象部５０ａを＜３＞に示す停止位置へ移動させ、接続部４３と第１制御対象部５０ａの接続を切り離すことで、制御対象部の切換えが完了し、その後、第２制御対象部５０ｂを駆動させる。
【符号の説明】
【００４４】
１０    数値制御装置
２０ａ、２０ｂ    制御軸部
２１ａ、２１ｂ    軸位置データ記憶部
２２ａ、２２ｂ    制御対象部切離し時軸位置データ記憶部
２３ａ、２３ｂ    軸移動量換算部
２４ａ、２４ｂ    制御対象部軸位置データ記憶部
３０    制御軸切換え部
４０    駆動部
４１    サーボモータ制御部
４２    サーボモータ
４３    接続部
４４    位置検出器
４５    絶対位置検出器
５０ａ、５０ｂ    制御対象部
５１ａ、５１ｂ    絶対位置検出器
【図１】
0005919329.tif 000002
【図２】
0005919329.tif 000003
【図３】
0005919329.tif 000004
【図４】
0005919329.tif 000005
【図５】
0005919329.tif 000006
【図６】
0005919329.tif 000007
【図７】
0005919329.tif 000008
【図８】
0005919329.tif 000009