(57)【特許請求の範囲】
【請求項１】
１つ以上の制御対象軸を含む複数の機構部が備える軸をそれぞれ制御する複数の軸制御プログラムを有し、教示操作によって前記軸の位置を前記複数の軸制御プログラムに反映し、前記複数の軸制御プログラムで前記機構部を制御する数値制御装置において、
前記複数の軸制御プログラムの中から教示対象の軸制御プログラムを選択するプログラム選択手段と、
前記プログラム選択手段によって選択された前記軸制御プログラムが制御する前記制御対象軸を抽出する制御対象軸抽出手段と、
手動運転により前記軸を移動させる手動運転手段と、
前記手動運転による前記軸の移動履歴を記録する操作履歴記録手段と、
教示操作を受け付ける教示操作手段と、
該操作履歴記録手段により記録された前記移動履歴に基づいて、教示対象軸を推定する教示対象軸推定手段と、
前記教示対象軸推定手段により推定された前記教示対象軸が前記制御対象軸抽出手段で抽出された前記制御対象軸に含まれない場合、前記教示操作によって前記軸の位置を前記軸制御プログラムに反映することを許可しない誤教示防止手段と、
を有することを特徴とする数値制御装置。
【請求項２】
前記誤教示防止手段は、前記教示操作によって前記軸の位置を前記軸制御プログラムに反映することが許可されていないことを通知する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記誤教示防止手段は、前記教示操作によって前記軸の位置を前記軸制御プログラムに反映することが許可されていない場合でも、前記教示操作を繰返し行うことで、前記教示操作によって前記軸の位置を前記軸制御プログラムに反映することを許可する、
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記教示対象軸推定手段は、前記移動履歴に記録されている軸の内、最後に前記手動運転が終了した軸のみを前記教示対象軸と推定する、
ことを特徴とする請求項１〜３のいずれか１つに記載の数値制御装置。
【請求項５】
前記教示対象軸推定手段は、前記移動履歴に記録されている軸の内、前記教示操作の直前の一定時間以内に前記手動運転を行った軸を前記教示対象軸と推定する、
ことを特徴とする請求項１〜３のいずれか１つに記載の数値制御装置。
【請求項６】
前記教示対象軸推定手段は、前記移動履歴に記録されている軸の内、直前の前記教示操作以降に前記手動運転を行った軸を前記教示対象軸と推定する、
ことを特徴とする請求項１〜３のいずれか１つに記載の数値制御装置。
【請求項７】
前記教示対象軸推定手段は、あらかじめ設定した軸を前記教示対象軸から除外する、
ことを特徴とする請求項１〜４のいずれか１つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に複数の機構部を制御する複数のプログラムに対する教示操作が可能な数値制御装置に関する。
【背景技術】
【０００２】
ティーチングプレイバック方式の機械制御プログラムを作成する際には、機械を所望の位置に移動させてからその位置情報を制御装置に記録させる。しかし、このようなプログラム作成手順により１台の操作盤で複数の機構部それぞれのプログラムを作成する場合に、どの機構部のプログラムを作成しているかが、操作者にわかりにくい。
【０００３】
また、画面に表示されていても操作者が注意しなければ、別の機械のプログラムを誤って変更してしまうことがある。教示時にあらかじめ選択した軸の位置を一括で記録するプログラムでは、どの機構部のプログラムであるかを意識せずに誤った教示操作をしてしまいやすい。
【０００４】
上記課題を解決するために、特許文献１では、複数の機構部を制御対象として順次教示する際、教示対象を特定する識別情報を同時に入力することで、誤入力を防止している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２８４５３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
１台の制御装置で複数の機構部を制御するために、各プログラムに制御する機構部の軸を制御対象軸として設定しておき教示操作により位置を記録することがある。しかしながら、プログラムに事前に設定してある軸がどの軸であっても同じ操作で教示操作ができるため、操作者が意図しない機構部を制御するプログラムに教示してしまうことがある。特許文献１に開示される従来技術では、位置を入力する機構部を区別するための識別情報を同時に入力することで誤入力を防止しているが、入力する内容が増えるために操作が煩雑になってしまう。
【０００７】
そこで本発明の目的は、複数の機構部を制御する複数のプログラムに対する教示操作において、容易に誤教示を防止することが可能な数値制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本願の請求項１に係る発明は、１つ以上の制御対象軸を含む複数の機構部が備える軸をそれぞれ制御する複数の軸制御プログラムを有し、教示操作によって前記軸の位置を前記複数の軸制御プログラムに反映し、前記複数の軸制御プログラムで前記機構部を制御する数値制御装置において、前記複数の軸制御プログラムの中から教示対象の軸制御プログラムを選択するプログラム選択手段と、前記プログラム選択手段によって選択された前記軸制御プログラムが制御する前記制御対象軸を抽出する制御対象軸抽出手段と、手動運転により前記軸を移動させる手動運転手段と、前記手動運転による前記軸の移動履歴を記録する操作履歴記録手段と、教示操作を受け付ける教示操作手段と、該操作履歴記録手段により記録された前記移動履歴に基づいて、教示対象軸を推定する教示対象軸推定手段と、前記教示対象軸推定手段により推定された前記教示対象軸が前記制御対象軸抽出手段で抽出された前記制御対象軸に含まれない場合、前記教示操作によって前記軸の位置を前記軸制御プログラムに反映することを許可しない誤教示防止手段と、を有することを特徴とする数値制御装置である。
【０００９】
本願の請求項２に係る発明は、前記誤教示防止手段は、前記教示操作によって前記軸の位置を前記軸制御プログラムに反映することが許可されていないことを通知する、ことを特徴とする請求項１に記載の数値制御装置である。
【００１０】
本願の請求項３に係る発明は、前記誤教示防止手段は、前記教示操作によって前記軸の位置を前記軸制御プログラムに反映することが許可されていない場合でも、前記教示操作を繰返し行うことで、前記教示操作によって前記軸の位置を前記軸制御プログラムに反映することを許可する、ことを特徴とする請求項１または２に記載の数値制御装置である。
【００１１】
本願の請求項４に係る発明は、前記教示対象軸推定手段は、前記移動履歴に記録されている軸の内、最後に前記手動運転が終了した軸のみを前記教示対象軸と推定する、ことを特徴とする請求項１〜３のいずれか１つに記載の数値制御装置である。
【００１２】
本願の請求項５に係る発明は、前記教示対象軸推定手段は、前記移動履歴に記録されている軸の内、前記教示操作の直前の一定時間以内に前記手動運転を行った軸を前記教示対象軸と推定する、ことを特徴とする請求項１〜３のいずれか１つに記載の数値制御装置である。
【００１３】
本願の請求項６に係る発明は、前記教示対象軸推定手段は、前記移動履歴に記録されている軸の内、直前の前記教示操作以降に前記手動運転を行った軸を前記教示対象軸と推定する、ことを特徴とする請求項１〜３のいずれか１つに記載の数値制御装置である。
【００１４】
本願の請求項７に係る発明は、前記教示対象軸推定手段は、あらかじめ設定した軸を前記教示対象軸から除外する、ことを特徴とする請求項１〜４のいずれか１つに記載の数値制御装置である。
【発明の効果】
【００１５】
本発明により、複数の機構部を１台の制御装置で制御する場合に、手動運転後のティーチングプレイバック方式のプログラムへの誤教示を防ぐことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態における数値制御装置の要部ブロック図である。
【図２】本発明の一実施形態における数値制御装置の機能ブロック図である。
【図３】本発明の実施形態１における数値制御装置が制御する機構について説明する図である。
【図４】本発明の実施形態１における数値制御装置上で実行される処理のフローチャートである。
【図５】本発明の実施形態２における数値制御装置上で実行される処理のフローチャートである。
【図６】本発明の実施形態３における数値制御装置の各機能手段と操作者の操作との関係を示す図である。
【図７】本発明の実施形態４における数値制御装置の各機能手段と操作者の操作との関係を示す図である。
【図８】本発明の実施形態５における数値制御装置の各機能手段と操作者の操作との関係を示す図である。
【図９】本発明の実施形態６における数値制御装置の各機能手段と操作者の操作との関係を示す図である。
【図１０】本発明の実施形態７における数値制御装置が制御する機構について説明する図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面と共に説明する。
本発明では、手動運転の履歴から教示対象軸を推定し、プログラムに設定された制御軸と推定教示対象軸とを比較して、教示操作を無効にすることで誤教示を防止する。より具体的には、手動運転で機構部を移動させるために軸の移動指令を行う際に、その軸の移動を手動運転操作の履歴として記録しておき、プログラムに位置を記録する教示操作を行う際に、手動運転の履歴から教示対象軸を推定する。この推定教示対象軸がこれから教示するプログラムの制御軸に含まれていない場合には、誤った教示操作であると判定して操作を行わないようにする。
【００１８】
図１は、本発明の一実施の形態における数値制御装置の要部ブロック図である。
本実施の形態の数値制御装置１０は、数値制御装置１０全体の動作を制御するＣＰＵ１１、システムプログラムなどが格納されているＲＯＭ１２、揮発性メモリであるＲＡＭ１３、バッテリ（図示せず）でバックアップされた不揮発性メモリであるＣＭＯＳ１４、インタフェース１５、ＰＭＣ（プログラマブル・マシン・コントローラ）１６、インタフェース１８、軸制御手段３０，３１、などがバス１９を介して接続されて構成されている。
【００１９】
ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを読み出し、該システムプログラムに従って数値制御装置１０全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／ＭＤＩユニット６０を介して操作者が入力した各種データ等が格納される。また、ＣＭＯＳ１４には、外部から読み込まれた、或いは表示器／ＭＤＩユニット６０を介して入力された機械制御用のプログラムなどが記憶される。
【００２０】
インタフェース１５は、数値制御装置１０とアダプタ等の外部機器（図示せず）を接続するためのインタフェースであり、該外部機器からは機械制御用のプログラムや各種パラメータ等が読み込まれる。また、数値制御装置１０内で編集した加工プログラムは、該外部機器を介して外部記憶手段に記憶させることができる。
【００２１】
ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１０に内蔵されたシーケンスプログラムで機械の補助装置などにＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤７０の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
インタフェース１８は、ディスプレイやキーボード等を備えた手動データ入力装置である表示器／ＭＤＩユニット６０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。
【００２２】
各軸の軸制御手段３０，３１はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０，４１に出力する。サーボアンプ４０，４１はこの指令を受けて、各軸のモータ５０，５１を駆動する。なお、図には軸制御手段は２つしか描画されていないが、実際には数値制御装置が制御する機械の複数の機構部が備えた軸の数に合わせて軸制御手段を備えるようにすればよい。
【００２３】
図２は、本発明の一実施の形態における数値制御装置１０の機能ブロック図である。
本実施形態の数値制御装置１０は、ＣＰＵ１１がシステムプログラム等を実行することにより、表示器／ＭＤＩユニット６０、操作盤７０を含む数値制御装置１０全体を制御して、プログラム選択手段１１０、制御対象軸抽出手段１２０、手動運転手段１３０、操作履歴記録手段１４０、教示操作手段１５０、教示対象軸推定手段１６０、誤教示防止手段１７０、の各機能手段として動作する。
【００２４】
プログラム選択手段１１０は、表示器／ＭＤＩユニット６０を介して操作者による教示対象となるプログラムの選択を受け付け、ＣＭＯＳ１４などのメモリ上に設けられたプログラム記憶領域２００から教示対象となるプログラムを選択する。
制御対象軸抽出手段１２０は、プログラム選択手段１１０により選択された教示対象となるプログラムから制御対象軸を抽出する。
【００２５】
手動運転手段１３０は、操作者による操作盤７０などの操作に基づいて機構部の軸を駆動する手動運転を制御する。
操作履歴記録手段１４０は、手動運転手段１３０により行われる手動運転に係る情報を手動運転手段１３０から取得して手動運転により移動した軸移動の履歴情報を生成し、ＲＡＭ１３等に設けられた操作履歴記憶領域２１０に記録する。軸移動の履歴情報には、操作者が手動運転により各軸を移動させた時刻などと関連付けて記録するようにしてもよい。また、後述する教示操作手段１５０による教示指示との時間的な前後関係を合わせて記録するようにしてもよい。
【００２６】
教示操作手段１５０は、表示器／ＭＤＩユニット６０を介して操作者による教示操作の教示対象プログラムへの反映指示を受け付け、教示操作の反映に関する一連の処理を実行するよう各機能手段に対して指令する。
教示対象軸推定手段１６０は、教示操作手段１５０からの指令を受けて操作履歴記憶領域２１０に記憶された軸移動の履歴情報から基づいて、操作者が行った手動運転の内容から教示対象軸を推定する。
【００２７】
誤教示防止手段１７０は、制御対象軸抽出手段１２０が抽出した制御対象軸と、教示対象軸推定手段１６０が推定した教示対象軸とを比較し、教示対象軸推定手段１６０が推定した教示対象軸が、制御対象軸抽出手段１２０が抽出した制御対象軸に含まれている場合には、教示対象となるプログラムに対して軸位置に反映することを許可するが、含まれていない場合には、教示対象となるプログラムに対して軸位置に反映することを許可しないように制御する。
【００２８】
＜実施形態１＞
以下では、図１，２に示す構成を備えた数値制御装置１０上で実現される、機械が備える複数の機構部を切替えて行う教示操作の基本動作について説明する。図３は、本実施形態における数値制御装置１０による教示操作の基本動作を、いずれも２軸からなる２つの機構部、機構部Ａ（Ｘａ，Ｙａ軸）、機構部Ｂ（Ｘｂ，Ｙｂ軸）を１台の数値制御装置１０で制御するシステムを例として説明する図である。
【００２９】
図３（ａ）に示すように、本実施形態ではそれぞれの機構部Ｂを移動させるためのプログラムとしてＭＯＶＥ−ＡとＭＯＶＥ−Ｂを作成しているものとする。ＭＯＶＥ−Ａには機構部Ａの２軸（Ｘａ，Ｙａ軸）を、ＭＯＶＥ−Ｂには機構部Ｂの２軸（Ｘｂ，Ｙｂ軸）を制御対象軸として設定しておく。数値制御装置１０において、操作盤７０を操作することで、機構部の各軸を手動で移動させることができるようになっている。手動運転により軸を移動させると、操作履歴記憶領域２１０に軸移動の履歴情報が保存される。
【００３０】
図３（ａ）に示す機構部を備えたシステムにおいて、以下の操作を行ったとする。
●操作１：操作者が機構部Ｂのプログラムを編集するつもりであるにもかかわらず、間違えてプログラムＭＯＶＥ−Ａを選択して画面に表示させて編集を開始した。
●操作２：機構部Ｂをプログラムに教示させたい位置へ移動しようとして、手動運転によりＸｂ軸を移動させた。
●操作３：プログラムＭＯＶＥ−Ａに機構部の現在位置を教示しようとする。
また、操作者が上記各操作と、数値制御装置１０の各機能手段との関係を表にまとめたものを図３（ｂ）に示す。
【００３１】
図３（ｂ）に示すように、操作者は操作１においてプログラム選択手段１１０により複数のプログラムの中から１つのプログラム（図３においてはＭＯＶＥ−Ａ）を選択する。プログラム選択手段１１０は、プログラム記憶領域２００から選択されたプログラムＭＯＶＥ−Ａを読み出して画面に編集可能に表示し、操作者による編集操作や教示操作を促す。
次に、操作者が操作２において操作者が操作盤７０を操作してＸｂ軸を移動させると、手動運転手段１３０が操作者による操作内容に基づいて機構部ＢのＸｂ軸を駆動制御すると共に、当該操作に基づくＸｂ軸の移動に係る情報を操作履歴記録手段１４０へと出力し、操作履歴記録手段１４０は当該情報からＸｂ軸移動の履歴情報を生成して操作履歴記憶領域２１０に格納する。
【００３２】
そして、操作者が操作３において表示器／ＭＤＩユニット６０を操作して教示操作の教示対象プログラムへの反映するように指示をすると、該指示を教示操作手段１５０が受け付け、教示対象軸推定手段１６０などに処理を開始するよう指令する。
【００３３】
教示操作手段１５０からの指令を受けた教示対象軸推定手段１６０は、操作履歴記憶領域２１０に格納されている手動運転による軸移動の履歴情報を参照する。該履歴情報にはＸｂ軸のみが含まれているため、推定教示対象軸はＸｂ軸となる。そして、Ｘｂ軸は教示対象のプログラムとして選択されたＭＯＶＥ−Ａの制御対象軸（Ｘａ，Ｙａ）には含まれていない軸なので、誤教示防止手段１７０は教示操作の反映を許可しないようにする。このようにしてプログラムＭＯＶＥ−Ａへの意図しない変更を防止することができる。
【００３４】
図４は、本実施の形態における数値制御装置１０上で実行される処理のフローチャートである。本処理は、操作者により教示対象となるプログラムが選択された以降（図３における操作２、操作３）における周期処理において実行される。
●［ステップＳＡ０１］操作者による手動運転の入力が行われているか否かを判定する。手動運転の入力が行われている場合にはステップＳＡ０２へ進み、行われていない場合にはステップＳＡ０４へ進む。
●［ステップＳＡ０２］操作者による操作に基づいて、手動運転手段１３０が手動運転機構部の軸を駆動する手動運転を制御する。
●［ステップＳＡ０３］操作履歴記録手段１４０が、手動運転に係る情報を手動運転手段１３０から取得して手動運転により移動した軸移動の履歴情報を生成し、操作履歴記憶領域２１０に記録する。
【００３５】
●［ステップＳＡ０４］操作者による教示操作の入力が行われたか否かを判定する。教示操作の入力が行われた場合にはステップＳＡ０５へ進み、行われない場合には今周期における本処理を終了する。
●［ステップＳＡ０５］操作履歴記録領域２１０から手動運転の履歴を取得して手動運転を行った軸を抽出し、抽出した軸を教示対象軸として推定する。
【００３６】
●［ステップＳＡ０６］教示対象として選択されたプログラムの制御対象軸が、ステップＳＡ０５で推定した教示対象軸を含んでいるか判定する。含んでいる場合にはステップＳＡ０７へ進み、含んでいない場合には今周期における本処理を終了する。
●［ステップＳＡ０７］教示対象として選択されたプログラムの制御対象軸の現在位置を、当該プログラムにおける操作者が指示した箇所へと記録する。
【００３７】
＜実施形態２＞
本実施形態では、実施形態１で示したシステムに、操作者に対して誤教示があったことを通知する機能を追加した場合における数値制御装置１０の動作を説明する。
実施形態１において図３に基づいて説明したように、操作者が操作１でプログラムＭＯＶＥ−Ａを選択して画面に表示させて編集を開始し、その後、操作２で手動運転により機構部ＢのＸｂ軸を移動させたとする。
【００３８】
この時、操作履歴記憶領域２１０に格納された軸移動の履歴情報にはＸａ軸およびＹａ軸の移動が記録されていないため、推定教示対象軸にＸａ軸とＹａ軸が含まれない。この推定教示対象軸がプログラムＭＯＶＥ−Ａの制御対象軸（Ｘａ，Ｙａ）に含まれていないため、操作者が操作３で教示操作をしたとしても、誤教示防止手段１７０はプログラムＭＯＶＥ−Ａへの教示操作の反映を許可しないようにすると共に、教示操作が無効であることを、プログラムの文字色を通常と異なる色にするなどの方法を用いて操作者に知らせる。
なお、操作者に対する警告は、プログラムの文字色を点滅させる、警告メッセージを表示する、警告音を鳴らすなど、操作者が教示操作が無効であることが把握できる方法であればどのような方法を採用してもよい。
【００３９】
図５は、本実施の形態における数値制御装置１０上で実行される処理のフローチャートである。本処理は、操作者により教示対象となるプログラムが選択された以降における周期処理（図３に示した操作２、操作３）において実行される。
●［ステップＳＢ０１］操作者による手動運転の入力が行われているか否かを判定する。手動運転の入力が行われている場合にはステップＳＢ０２へ進み、行われていない場合にはステップＳＢ０４へ進む。
●［ステップＳＢ０２］操作者による操作に基づいて、手動運転手段１３０が手動運転機構部の軸を駆動する手動運転を制御する。
●［ステップＳＢ０３］操作履歴記録手段１４０が、手動運転に係る情報を手動運転手段１３０から取得して手動運転により移動した軸移動の履歴情報を生成し、操作履歴記憶領域２１０に記録する。
【００４０】
●［ステップＳＢ０４］操作履歴記録領域２１０から手動運転の履歴を取得して手動運転を行った軸を抽出し、抽出した軸を教示対象軸として推定する。
●［ステップＳＢ０５］教示対象として選択されたプログラムの制御対象軸が、ステップＳＢ０４で推定した教示対象軸を含んでいるか判定する。含んでいる場合にはステップＳＢ０７へ進み、含んでいない場合にはステップＳＢ０６へ進む。
●［ステップＳＢ０６］操作者による教示操作が無効であることを操作者に対して通知する。
【００４１】
●［ステップＳＢ０７］操作者による教示操作の入力が行われたか否かを判定する。教示操作の入力が行われた場合にはステップＳＢ０８へ進み、行われない場合には今周期における本処理を終了する。
●［ステップＳＢ０８］操作履歴記録領域２１０から手動運転の履歴を取得して手動運転を行った軸を抽出し、抽出した軸を教示対象軸として推定する。
【００４２】
●［ステップＳＢ０９］教示対象として選択されたプログラムの制御対象軸が、ステップＳＢ０８で推定した教示対象軸を含んでいるか判定する。含んでいる場合にはステップＳＢ１０へ進み、含んでいない場合には今周期における本処理を終了する。
●［ステップＳＢ１０］教示対象として選択されたプログラムの制御対象軸の現在位置を、当該プログラムにおける操作者が指示した箇所へと記録する。
【００４３】
＜実施形態３＞
本実施形態では、実施形態１，２で示したシステムにおいて、操作者の教示操作が誤教示であると判定された場合であっても、強制的に教示操作を有効とする機能を追加する。このような機能は、例えば、図３で説明したシステムにおいて、操作者による手動運転以外の方法により機構部Ａを動作させ、その位置をプログラムに教示したい場合などに有効である。
【００４４】
実施形態１の図３（ａ）で説明した構成を備えたシステムにおいて、以下の操作を行ったとする。
●操作１：操作者はプログラムＭＯＶＥ−Ａを選択して画面に表示させて編集を開始した。
●操作２：機構部Ａの各軸の移動の邪魔にならないように、手動運転により機構部ＢのＸｂ軸を移動させた。
●操作３：（別のプログラムで動作させるなどして）手動運転を行わずにＸａ，Ｙａ軸の位置を移動させる。
●操作４：プログラムＭＯＶＥ−Ａに機構部の現在位置を教示しようとする。
●操作５：プログラムＭＯＶＥ−Ａに機構部の現在位置を教示しようとする。
また、操作者が上記各操作と、数値制御装置１０の各機能手段との関係を表にまとめたものを図６に示す。
【００４５】
図６において、操作者は操作２において操作盤７０等を操作した手動運転を行い機構部ＢのＸｂ軸を移動させているため、操作履歴記憶領域２１０にはＸｂ軸の移動履歴が記録されている。そのため、操作者が操作４において教示操作を行ったとしても、推定教示対象軸がＸｂ軸となり、プログラムＭＯＶＥ−Ａへの教示操作は無効となり、操作者に対しては、教示操作が無効であることが通知される。
【００４６】
その後、操作者が操作５において再度教示操作を行うと、誤教示防止手段１７０は、操作者による教示操作が誤りではないと判定し、教示対象として選択中のプログラムＭＯＶＥ−Ａに対する教示操作は無効とならずに、制御対象軸の現在位置をプログラムＭＯＶＥ−Ａの該当箇所へと反映する教示操作が行われる。
【００４７】
＜実施形態４＞
実施形態１では、説明を簡単にするために操作履歴記憶領域２１０に推定する対象となる軸移動の履歴情報が１つ格納されている場合の例を示したが、複数の機構部を切り替えて手動運転を行う場合には、切り替え以前操作した軸移動の履歴情報が含まれている場合がある。そこで、本実施形態では、最後に手動運転が終了した軸のみを教示対象軸と推定する。
【００４８】
実施形態１の図３（ａ）で説明した構成を備えたシステムにおいて、以下の操作を行ったとする。
●操作１：手動運転によりＸｂ軸を移動させた。
●操作２：操作者はプログラムＭＯＶＥ−Ｂを選択して画面に表示させて編集を開始した。
●操作３：機構部Ａをプログラムに教示させたい位置へ移動しようとして、手動運転によりＸａ軸を移動させた。
●操作４：プログラムＭＯＶＥ−Ｂに機構部の現在位置を教示しようとする。
また、操作者が上記各操作と、数値制御装置１０の各機能手段との関係を表にまとめたものを図７に示す。
【００４９】
この時、操作者が操作４で教示操作を行うと、教示対象軸推定手段１６０は操作履歴記憶領域２１０に格納された軸移動の履歴情報に基づいて教示対象軸を推定するが、操作履歴記憶領域２１０にはＸａ軸（機構部Ａの軸）とＸｂ軸（機構部Ｂの軸）の履歴情報が格納されている。本実施形態の教示対象軸推定手段１６０は、教示操作の直前において、手動運転でＸａ軸（機構部Ａの軸）を動かしているため、教示対象軸はＸａ軸と推定する。そのため、Ｘａ軸を制御対象軸に含んでいないプログラムＭＯＶＥ−Ｂへの教示操作は無効となる。
【００５０】
＜実施形態５＞
実施形態１では、説明を簡単にするために操作履歴記憶領域２１０に推定する対象となる軸移動の履歴情報が１つ格納されている場合の例を示したが、複数の機構部を切り替えて手動運転を行う場合には、切り替え以前操作した軸移動の履歴情報が含まれている場合がある。そこで、本実施形態では、過去の一定時間の間に手動運転を行った軸を教示対象軸と推定する。
【００５１】
実施形態１の図３（ａ）で説明した構成を備えたシステムにおいて、以下の操作を行ったとする。
●操作１：操作者はプログラムＭＯＶＥ−Ｂを選択して画面に表示させて編集を開始した。
●操作２：手動運転によりＸｂ軸を移動させた。
●操作３：プログラムＭＯＶＥ−Ｂに機構部の現在位置を教示しようとする。
また、操作者が上記各操作と、数値制御装置１０の各機能手段との関係を表にまとめたものを図８に示す。
【００５２】
この時、操作２と操作３の間において事前に設定された時間が経過した場合、操作３の教示操作は、以前に行った操作２で移動させたＸｂ軸の位置を教示したいとは限らない。そのため、教示対象軸推定手段１６０は、Ｘｂ軸を教示対象軸の推定結果としないように動作する。そのため、プログラムＭＯＶＥ−Ｂへの教示操作は無効となる。
【００５３】
＜実施形態６＞
実施形態１では、説明を簡単にするために操作履歴記憶領域２１０に推定する対象となる軸移動の履歴情報が１つ格納されている場合の例を示したが、複数の機構部を切り替えて手動運転を行う場合には、切り替え以前操作した軸移動の履歴情報が含まれている場合がある。そこで、本実施形態では、直近の教示操作後に一度でも手動運転を行った軸を教示対象軸と推定する。このようにすることで、前回の教示操作から制御対象部でない機構部を移動させて教示することは間違いと考えられるため、それを防ぐことができる。
【００５４】
実施形態１の図３（ａ）で説明した構成を備えたシステムにおいて、以下の操作を行ったとする。
●操作１：操作者はプログラムＭＯＶＥ−Ｂを選択して画面に表示させて編集を開始した。
●操作２：手動運転によりＸｂ軸を移動させた。
●操作３：プログラムＭＯＶＥ−Ｂに機構部の現在位置を教示しようとする。
●操作４：手動運転によりＸａ軸を移動させた。
●操作５：プログラムＭＯＶＥ−Ｂに機構部の現在位置を教示しようとする。
また、操作者が上記各操作と、数値制御装置１０の各機能手段との関係を表にまとめたものを図９に示す。
【００５５】
この時、操作２でＸｂ軸を手動運転で移動させているため、操作３の教示操作では、推定される教示対象軸はＸｂ軸となる。そのため、Ｘｂ軸を制御対象に含んでいるプログラムＭＯＶＥ−Ｂへの教示操作は有効となる。
その後、操作３における教示操作以降の操作における手動運転ではＸａ軸のみが移動している。そのため、教示対象軸推定手段１６０が推定する教示対象軸はＸａ軸のみとなる。そのため操作５では、Ｘａ軸を制御対象に含んでいないプログラムＭＯＶＥ−Ｂへの教示操作は無効となる。
【００５６】
＜実施形態７＞
これまで説明してきた実施形態では、手動運転の操作履歴から教示操作を行っている軸を推定しているが、同じ数値制御装置において教示操作とは直接関係ないところで頻繁に手動運転を行わなければならない軸が存在する場合がある。本実施形態では、このような教示操作中でも頻繁に手動運転を行う軸については、あらかじめ教示非対象軸として登録できる機能を設け、教示対象軸の推定処理から除外できるようにする。
【００５７】
図１０は、本実施形態における数値制御装置１０が制御する３つの機構部、機構部Ａ（Ｘａ，Ｙａ軸）、機構部Ｂ（Ｘｂ，Ｙｂ軸）、機構部Ｃを示している。これら機構部の内、機構部Ｃはプログラム編集中であっても教示操作とは直接関係なく頻繁に手動運転を行う必要がある軸であるため、教示非対象軸として登録しておく。
【００５８】
図１０（ａ）で説明した構成を備えたシステムにおいて、以下の操作を行ったとする。
●操作１：操作者はプログラムＭＯＶＥ−Ａを選択して画面に表示させて編集を開始した。
●操作２：機構部Ａをプログラムに教示させたい位置へ移動しようとして、手動運転によりＸａ軸を移動させた。
●操作３：手動運転によりＸｃ軸を移動させた。
●操作４：プログラムＭＯＶＥ−Ａに機構部の現在位置を教示しようとする。
また、操作者が上記各操作と、数値制御装置１０の各機能手段との関係を表にまとめたものを図１０（ｂ）に示す。
【００５９】
この時、本実施形態の機能を備えていない場合、例えば実施形態４のように最後に手動運転した軸を推定教示対象軸とすると、Ｘｃ軸が教示対象軸と推定されるため、操作４の教示操作を無効とすることになる。
しかしながら、本実施形態の機能を実装し、あらかじめ機構部Ｃの軸を教示非対象軸として登録しておくことにより、教示対象軸推定手段１６０による教示対象軸の推定の処理において、教示非対象軸として登録された機構部Ｃの軸を除外して軸を決定する。そのため、機構部Ｃの軸に対して手動運転を行っても、各プログラムへの教示操作が無効化されることはない。
【００６０】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより、その他の態様で実施することができる。
例えば、教示対象軸推定手段が実行する推定処理は、教示操作直前の一定時間内においてもっとも操作頻度が高かった軸を教示対象軸として推定するなど、操作者が意図する教示対象軸を推定できるのであればどのような手法を採用してもよい。また、複数の推定手法を矛盾のない範囲で適宜組み合わせて適用することも可能である。
【符号の説明】
【００６１】
１０    数値制御装置
１１    ＣＰＵ
１２    ＲＯＭ
１３    ＲＡＭ
１４    ＣＭＯＳ
１５，１８    インタフェース
１６    ＰＭＣ
１７    Ｉ／Ｏユニット
１９    バス
３０，３１    軸制御手段
４０，４１    サーボアンプ
５０，５１    モータ
６０    表示器／ＭＤＩユニット
７０    操作盤
１１０    プログラム選択手段
１２０    制御対象軸抽出手段
１３０    手動運転手段
１４０    操作履歴記録手段
１５０    教示操作手段
１６０    教示対象軸推定手段
１７０    誤教示防止手段
２００    プログラム記憶領域
２１０    操作履歴記憶領域
【図１】
0006046174.tif 000002
【図２】
0006046174.tif 000003
【図３】
0006046174.tif 000004
【図４】
0006046174.tif 000005
【図５】
0006046174.tif 000006
【図６】
0006046174.tif 000007
【図７】
0006046174.tif 000008
【図８】
0006046174.tif 000009
【図９】
0006046174.tif 000010
【図１０】
0006046174.tif 000011