(57)【要約】【課題】始点、終点となる制御点から算出する移動量とは別に、特定の基準値で指定した移動量を一度に出力し、出力後に前記移動量分だけ座標値をシフトする数値制御装置を提供すること。【解決手段】本発明のテーブル形式データを用いて基準値に同期して制御軸の位置を制御する数値制御装置は、テーブル形式データの指令に基づいて制御軸に対する移動量を生成する分配処理部を備えると共に、テーブル形式データの指令ブロックに特定の基準値で移動量を出力する指令が含まれている場合、当該指令の基準値及び移動量をシフトテーブルに関連付けて登録するテーブル解析部と、シフトテーブルに登録された基準値に到達した際に、到達した基準値に関連付けられた制御軸の移動量を出力する出力判定部と、出力判定部が出力した制御軸の移動量と、分配処理部が生成した移動量とを各制御軸の移動量として出力する出力制御部とを備える。【選択図】図１
2016122399.tif 000002
【特許請求の範囲】
【請求項１】
時間、軸位置、あるいは主軸位置を基準値として、各制御軸の位置を指令するテーブル形式データを用いて、前記基準値に同期して制御軸の位置を制御する数値制御装置において、
基準値と前記制御軸の移動量とを関連付けて記憶するシフトテーブルと、
前記テーブル形式データから指令ブロックを読み出す指令ブロック読出し部と、
前記指令ブロック読出し部が読み出した指令ブロックに特定の基準値で移動量を出力する指令が含まれている場合、前記指令ブロックの基準値及び移動量を前記シフトテーブルに関連付けて登録するテーブル解析部と、
前記シフトテーブルに登録された前記基準値に到達した際に、前記到達した基準値に関連付けられた前記制御軸の移動量を出力する出力判定部と、
前記指令ブロック読出し部が読み出した指令ブロックに基づいて、前記テーブル形式データにより制御される軸に対する移動量を生成すると共に、前記出力判定部が出力した前記制御軸の移動量に基づいて前記制御軸の座標値を更新する分配処理部と、
前記出力判定部が出力した前記制御軸の移動量と、前記分配処理部が生成した移動量とを前記各制御軸の移動量として出力する出力制御部と、
を備えたことを特徴とする数値制御装置。
【請求項２】
前記シフトテーブルには、キャンセルする基準値とキャンセル方法の種類とを関連付けて記憶することが可能であり、
前記テーブル解析部は、前記指令ブロック読出し部が読み出した指令ブロックに特定の基準値で移動量をキャンセルする指令が含まれている場合、前記指令ブロックの基準値及び前記キャンセルする指令の種類を前記シフトテーブルに関連付けて登録し、
前記出力判定部は、これまで出力した前記制御軸の移動量の累積値を記録すると共に、前記シフトテーブルに登録された前記キャンセルする特定の基準値に従って、前記キャンセル指令の種類および前記累積値を出力し、
前記分配処理部は、前記出力判定部が出力した前記キャンセル指令の種類および前記累積値に基づいて、前記制御軸の座標値を戻す、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記分配処理部が実行する前記制御軸の座標値を戻す処理は、前記累積値に基づいて前記座標値を戻す処理、または、前記制御軸の実位置にフォローアップする処理のいずれかである、
ことを特徴とする請求項２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に複数のテーブル形式データを重畳させて運転する数値制御装置に関する。
【背景技術】
【０００２】
基準軸の運動に同期して各制御軸をそれぞれ同期して駆動制御する方法として、基準軸位置に対応して制御軸の位置情報をメモリ等に設けられたテーブル形式データに記憶しておき、このテーブル形式データに記憶された情報に基づいて、各制御軸を基準軸と同期運転するテーブル形式データによる運転機能は周知である。
【０００３】
テーブル形式データによる運転機能においては、時間、軸位置、あるいは主軸位置を基準にした軸の位置、あるいはＭコード等の補助機能を設定したテーブル形式データをメモリ、またはネットワークで接続された記憶装置に格納しておき、テーブル形式データを順次読み出しながら各軸、および補助機能を制御している。
【０００４】
特許文献１及び２には、これらのテーブル形式データによる運転機能を利用したパステーブル運転機能、または電子カム制御といわれる数値制御装置が開示されている。これにより、加工プログラムにとらわれない自由な工具の動作が可能になり、加工時間の短縮や、加工の高精度化を実現できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭５９−１７７６０４号公報
【特許文献２】特開２００３−３０３００５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のテーブル形式データによる運転では、テーブル形式データに記述した基準値、および前記基準値に対応した軸、あるいは主軸の座標値を制御点とし、２つの制御点を始点、および終点として移動量の計算を行う。具体的には始点となる制御点の基準値、および軸、あるいは主軸の座標値と、終点となる制御点の基準値、および軸、あるいは主軸の座標値から、２点間の基準値の差分、および軸、あるいは主軸の座標値の差分を計算し、単位基準値あたりの移動量を算出する。
【０００７】
図７にテーブル形式データを用いた従来の軸制御の例を示す。テーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００１＿Ｘ＞は、時間基準でＸ軸を制御するテーブル形式データとし、Ｌは基準値（基準時間：ｍｓｅｃ単位）、Ｘは基準値に対応したＸ軸の座標値（ｍｍ単位）を示す。現在基準値が１０００ｍｓｅｃとすると、Ｘ軸は基準値１０００ｍｓｅｃ、座標値１００．０ｍｍを始点、基準値２０００ｍｓｅｃ、座標値２００．０ｍｍを終点とした２点の制御点間を移動する。
【０００８】
図８に移動量を算出するための数値制御装置の概略ブロック図を示す。従来技術の数値制御装置１００では、読み出し部（図示せず）で順次読み出した指令ブロックを始点、終点の２つの制御点として分配処理部１３０へ通知し、分配処理部１３０で２つの制御点間の基準値、および座標値の差分から単位基準値あたりの移動量を求め、モータ制御部（図示せず）へ通知する。
【０００９】
テーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００１＿Ｘ＞を用いたＸ軸の制御例では、分配処理部１３０において、基準値１０００ｍｓｅｃ、座標値１００．０ｍｍを始点、基準値２０００ｍｓｅｃ、座標値２００．０ｍｍを終点とし、基準値の差分１０００ｍｓｅｃ（２０００ｍｓｅｃ−１０００ｍｓｅｃ）と、座標値の差分１００．０ｍｍ（２００．０ｍｍ−１００．０ｍｍ）から、単位基準値あたりの移動量を０．１ｍｍ／１ｍｓｅｃと計算できる。
【００１０】
こうした従来技術では、テーブル形式データに記述された基準値、および軸、あるいは主軸の座標値は、移動量を計算するための始点、終点として扱うため、補正量などのように、特定の基準値で一度に移動量を出力する場合は、始点、終点となる制御点に、補正量を加味した座標値を記述する必要がある。また、移動量は始点、終点となる２つの制御点の差分から算出するため、１つのブロックの座標値を修正した場合、修正したブロック以降の座標値も相対的にずらす必要があり、テーブル形式データの修正量が増える。さらに、補正量を出力する直前に、前ブロックの終点となる制御点を追加する必要があり、テーブル形式データの容量が増える問題もある。
【００１１】
図９に、テーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００１＿Ｘ＞の基準値１５００ｍｓｅｃで補正量１．０ｍｍを出力するよう修正したテーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００２＿Ｘ＞の軸制御の例を示す。図９に示すように、基準値１５００ｍｓｅｃで補正量１．０ｍｍを出力するためには、補正量を出力する直前までの動作が、補正量を出力しないときと同じになるよう、補正量を出力する直前の基準値１４９９ｍｓｅｃで座標値１４９．０ｍｍを指定する必要がある。ここで、補正量を出力する直前に前記ブロックを追加することにより、テーブル形式データの容量が増える問題が発生する。
【００１２】
補正量を出力する基準値１５００ｍｓｅｃでは、補正量を出力しないときの座標値１５０．０ｍｍに、補正量１．０ｍｍを加算した座標値１５１．０ｍｍを指定する。こうすることで、補正量相当として１．０ｍｍの移動量が出力されることになる。また、基準値２０００ｍｓｅｃでは、基準値１５００ｍｓｅｃから基準値２０００ｍｓｅｃ間の相対的な移動量が、補正量を出力する前と同じになるように、補正量を出力しないときの座標値２００．０ｍｍに、補正量１．０ｍｍを加算した２０１．０ｍｍの座標値を指定する。
【００１３】
同様に、補正量を出力した後のブロックは、補正量を出力しないときの座標値に、補正量の累積を加算した座標値を指定する必要があり、一度作成したテーブル形式データを修正する際には、修正量が多くなることが分かる。
【００１４】
そこで本発明の目的は、始点、終点となる制御点から算出する移動量とは別に、特定の基準値で指定した移動量を一度に出力し、出力後に前記移動量分だけ座標値をシフトする数値制御装置を提供することである。
【課題を解決するための手段】
【００１５】
本願の請求項１に係る発明は、時間、軸位置、あるいは主軸位置を基準値として、各制御軸の位置を指令するテーブル形式データを用いて、前記基準値に同期して制御軸の位置を制御する数値制御装置において、基準値と前記制御軸の移動量とを関連付けて記憶するシフトテーブルと、前記テーブル形式データから指令ブロックを読み出す指令ブロック読出し部と、前記指令ブロック読出し部が読み出した指令ブロックに特定の基準値で移動量を出力する指令が含まれている場合、前記指令ブロックの基準値及び移動量を前記シフトテーブルに関連付けて登録するテーブル解析部と、前記シフトテーブルに登録された前記基準値に到達した際に、前記到達した基準値に関連付けられた前記制御軸の移動量を出力する出力判定部と、前記指令ブロック読出し部が読み出した指令ブロックに基づいて、前記テーブル形式データにより制御される軸に対する移動量を生成すると共に、前記出力判定部が出力した前記制御軸の移動量に基づいて前記制御軸の座標値を更新する分配処理部と、前記出力判定部が出力した前記制御軸の移動量と、前記分配処理部が生成した移動量とを前記各制御軸の移動量として出力する出力制御部と、を備えたことを特徴とする数値制御装置である。
【００１６】
本願の請求項２に係る発明は、前記シフトテーブルには、キャンセルする基準値とキャンセル方法の種類とを関連付けて記憶することが可能であり、前記テーブル解析部は、前記指令ブロック読出し部が読み出した指令ブロックに特定の基準値で移動量をキャンセルする指令が含まれている場合、前記指令ブロックの基準値及び前記キャンセルする指令の種類を前記シフトテーブルに関連付けて登録し、前記出力判定部は、これまで出力した前記制御軸の移動量の累積値を記録すると共に、前記シフトテーブルに登録された前記キャンセルする特定の基準値に従って、前記キャンセル指令の種類および前記累積値を出力し、前記分配処理部は、前記出力判定部が出力した前記キャンセル指令の種類および前記累積値に基づいて、前記制御軸の座標値を戻す、ことを特徴とする請求項１に記載の数値制御装置である。
【００１７】
本願の請求項３に係る発明は、前記分配処理部が実行する前記制御軸の座標値を戻す処理は、前記累積値に基づいて前記座標値を戻す処理、または、前記制御軸の実位置にフォローアップする処理のいずれかである、ことを特徴とする請求項２に記載の数値制御装置である。
【発明の効果】
【００１８】
本発明により、始点、終点となる制御点から算出する移動量と、特定の基準値で出力する移動量を１つのテーブル形式データで区別して指令することが可能になる。また、特定の基準値で出力した移動量の分だけ座標値をシフトすることで、修正したブロック以降の座標値を相対的にずらす必要がなくなる。その結果、テーブル形式データの容量を増やすことなく、少ない修正量で目的のテーブル形式データの作成が可能になる。
【図面の簡単な説明】
【００１９】
【図１】本発明における特定の基準値で指定した移動量を出力する手法を説明する図である。
【図２】本発明の実施の形態における数値制御装置の要部ブロック図である。
【図３】本発明の実施の形態におけるテーブル形式データに基づく制御例を示す図である。
【図４】本発明の実施の形態におけるテーブル形式データの修正例を示す図である。
【図５】本発明の実施の形態における他のテーブル形式データに基づく制御例を示す図である
【図６】本発明の実施の形態における数値制御装置上で実行される処理の概略フローチャートである。
【図７】従来技術におけるテーブル形式データに基づく制御例を示す図である。
【図８】従来技術における数値制御装置の要部ブロック図である。
【図９】従来技術におけるテーブル形式データに基づく制御の問題点を説明する図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態を図面と共に説明する。なお、従来技術と同一または類似する構成は同じ符号を用いて説明する。  
本発明では、始点、終点となる制御点から算出する移動量とは別に、特定の基準値で指定した移動量を一度に出力する技術、および出力後に、前記移動量分だけ座標値をシフトする技術を提供することで上記課題を解決する。
【００２１】
本発明では、始点、終点となる制御点と、特定の基準値で移動量を出力する点とを区別するための指令を導入する。図１に、本技術を用いてテーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００１＿Ｘ＞の基準値１５００ｍｓｅｃで補正量１．０ｍｍを出力するよう修正したテーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００３＿Ｘ＞の軸制御の例を示す。ここでは、Ｇ７０を特定の基準値で移動量を出力する指令の例とする。
【００２２】
Ｇ７０指令があるブロックは、始点、終点となる制御点としては扱わず、基準値１０００ｍｓｅｃ、座標値Ｘ１００．０ｍｍを始点、基準値２０００ｍｓｅｃ、座標値２００．０ｍｍを終点として移動量を計算し、Ｇ７０指令のある基準値１５００ｍｓｅｃでは、補正量として１．０ｍｍを前記移動量に加算するよう制御する。こうすることで、始点、終点となる制御点から算出する移動量とは別に、特定の基準値で指定した移動量を出力することが可能になる。
【００２３】
しかしながら、始点、終点となる制御点から算出する移動量に、特定の基準値で出力する前述の移動量を加算すると、テーブル形式データに記述した座標値と、軸の実位置が、前記移動量の分だけずれることになる。図１の例では、基準値２０００ｍｓｅｃでのテーブル形式データに記述した座標値は２００．０ｍｍ、軸の実位置は座標値２０１．０ｍｍになる。そこで、前記移動量をシフトテーブルで管理し、テーブル形式データに記述した座標値を前記移動量の累積値の分だけシフトすることにより、テーブル形式データに記述した座標値を軸の実位置に合わせて制御する。こうすることで、特定の基準値で前記移動量を出力しても、テーブル形式データに記述した制御点間の移動量は変わらないため、前記移動量の出力後の座標値を相対的にずらす必要がなくなる。
【００２４】
図２に、本発明の一実施の形態における数値制御装置の概略ブロック図を示す。本発明では、数値制御装置１００に対してテーブル解析部１２０、出力判定部１４０、出力制御部１５０を新たな機能手段として設け、各機能手段により以下の制御を行う。
【００２５】
テーブル解析部１２０では、読み出したブロックに、特定の基準値で移動量を出力する指令（図２の例ではＧ７０指令）があるかを判定し、前記指令がないブロックがくるまで、指令ブロック読出し部１１０へ読み出しを要求する。Ｇ７０指令があった場合は、そのブロックの基準値、および移動量をシフトテーブルに登録する。前記指令がないブロックを読み出したところで、制御点となる始点（現在位置としてＬ１０００ Ｘ１００．０）、終点（Ｌ２０００  Ｘ２００．０）を分配処理部１３０に通知する。同時に、更新したシフトテーブルを出力判定部１４０に通知する。
【００２６】
出力判定部１４０では、シフトテーブルに登録された基準値を参照し、現在基準値の到達判定を行う。現在基準値が、シフトテーブルに登録された基準値に到達すると、前記基準値に対応する移動量を出力制御部１５０、および分配処理部１３０に通知する。  
ここで、分配処理部１３０では、テーブル形式データに記述された座標値を、出力判定部１４０から通知された移動量の分だけシフトすることで、テーブル形式データに記述された座標値と軸の実位置との整合性を保つ。そして、分配処理部１３０は処理の結果を出力判定部１４０に返し、出力判定部１４０はシフトテーブルに登録された移動量が受理されたことを確認し、当該移動量をそれまでに出力した移動量に加算して累積値として記憶する。  
そして、出力制御部１５０では、分配処理部１３０、および出力判定部１４０から通知された移動量を重畳し、モータ制御部１６０に通知する。
【００２７】
座標値のシフトをキャンセルする場合も、上述した処理の流れと同様で処理される。テーブル解析部１２０は、読み出したブロックに、座標値のシフトをキャンセルする指令があると判定した際に、キャンセルする基準値、およびキャンセル方法の種類をシフトテーブルに登録する。キャンセルする基準値、およびキャンセル方法の種類に従って、出力判定部１４０から分配処理部１３０、および出力制御部１５０に、キャンセル指令の種類と共に、これまでにシフトした移動量の累積値を通知する。キャンセル方法の種別には、分配処理部１３０で管理する座標値（終点座標値など）をテーブル形式データに記述した座標値に戻す方法、および軸の実位置にフォローアップする方法などを含む。
【００２８】
本発明を適用した数値制御装置１００による軸制御の実施例を図３に示す。  
図３に示したテーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００４＿Ｘ＞では、基準値１０００ｍｓｅｃ、座標値１００．０ｍｍを始点、基準値３０００ｍｓｅｃ、座標値３００．０ｍｍを終点として２つ制御点間の移動を行い、基準値１５００ｍｓｅｃ、２５００ｍｓｅｃでそれぞれ５．０ｍｍ、２．０ｍｍの移動量を出力する。基準値３５００ｍｓｅｃでは、基準値１５００ｍｓｅｃ、２５００ｍｓｅｃで出力した移動量分の座標値のシフトをキャンセルする。Ｇ７１は、座標値のシフトをキャンセルし、制御軸の軸位置をテーブル形式データに記述した座標値に戻す指令とする。
【００２９】
加工状況の変化に応じて、図３に示したテーブル形式データの補正点を基準値２５００ｍｓｅｃから２０００ｍｓｅｃに変更する場合、本発明の技術を用いると基準値２５００ｍｓｅｃを２０００ｍｓｅｃに変更するだけでよく、テーブル形式データの変更が容易であることが分かる。このように修正したテーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００５＿Ｘ＞を図４に示す。
【００３０】
また、本発明を適用した数値制御装置１００による軸制御の実施例を図５に示す。  
図５に示したテーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００６＿Ｘ＞では、座標値のシフトをキャンセルする別の方法として、フォローアップを行う手法を用いている。Ｇ７２は、座標値のシフトをキャンセルし、制御軸の軸位置へフォローアップを行う指令とする。
【００３１】
図６は、本発明の一実施の形態における数値制御装置１００上で実行される処理の概略フローチャートである。
●［ステップＳＡ０１］指令ブロック読出し部１１０は、図示しないメモリ上に記憶されているテーブル形式データから指令ブロックを読み出す。
●［ステップＳＡ０２］テーブル解析部１２０は、ステップＳＡ０１で読み出された指令ブロックに、特定の基準値で移動量を出力する指令（Ｇ７０など）が含まれているか否かを判定する。特定の基準値で移動量を出力する指令が含まれている場合にはステップＳＡ０３へ進み、そうでない場合にはステップＳＡ０４へ進む。
●［ステップＳＡ０３］テーブル解析部１２０は、ステップＳＡ０２で、特定の基準値で移動量を出力する指令が含まれていると判定された指令ブロックから基準値と移動量を取得し、シフトテーブルに追加登録する。
【００３２】
●［ステップＳＡ０４］分配処理部１３０は、指令ブロック読出し部が読み出したブロックを受け取り、当該ブロックで用いられている時間基準、軸位置基準、主軸位置基準などの基準に合わせて分配処理の基準値を更新する。
●［ステップＳＡ０５］分配処理部１３０は、ブロックで指令されている移動量を、それぞれステップＳＡ０４で更新した基準値に基づいて分配周期毎に各軸可動部へ指令する移動量へと分配する。
●［ステップＳＡ０６］ステップＳＡ０５で分配処理された移動量を出力制御部１５０へと出力し、出力制御部１５０は当該移動量をそれぞれの軸毎に登録する。
【００３３】
●［ステップＳＡ０７］出力判定部１４０は、シフトテーブルに未処理の基準値及び移動量のデータが登録されているか否かを判定する。登録されている場合にはステップＳＡ０８へ進み、登録されていない場合にはステップＳＡ１１へ進む。
●［ステップＳＡ０８］出力判定部１４０は、シフトテーブルに登録されているデータの内、移動量を出力する指令基準値に、現在基準値が到達したデータがあるか否かを判定する。到達した場合にはステップＳＡ０９へ進み、到達していない場合にはステップＳＡ１１へ進む。
【００３４】
●［ステップＳＡ０９］出力判定部１４０は、移動量を出力する指令基準値に、現在基準値が到達したデータの移動量を出力制御部１５０へ出力する。
●［ステップＳＡ１０］出力判定部１４０は、移動量を出力する指令基準値に、現在基準値が到達したデータの移動量を分配処理部１３０へと出力し、分配処理部１３０は受け取った移動量に従って分割処理用の座標値をシフトする。
【００３５】
●［ステップＳＡ１１］出力制御部１５０は、分配処理部１３０から受け取った移動量と、出力判定部１４０から受け取った移動量とを重畳させた移動量を、モータ制御部１６０へと通知する。
●［ステップＳＡ１２］テーブル形式データが終了したか否かを判定する。終了した場合には運転処理を終了し、そうでない場合にはステップＳＡ０１へ戻る。
【００３６】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより、その他の態様で実施することができる。
【符号の説明】
【００３７】
１００    数値制御装置
１１０    指令ブロック読出し部
１２０    テーブル解析部
１３０    分配処理部
１４０    出力判定部
１５０    出力制御部
１６０    モータ制御部
【図１】
2016122399.tif 000003
【図２】
2016122399.tif 000004
【図３】
2016122399.tif 000005
【図４】
2016122399.tif 000006
【図５】
2016122399.tif 000007
【図６】
2016122399.tif 000008
【図７】
2016122399.tif 000009
【図８】
2016122399.tif 000010
【図９】
2016122399.tif 000011