(57)【要約】【課題】制御点間の基準値の差分を保持したまま、特定の制御点の基準値を修正可能とする数値制御装置を提供すること。【解決手段】本発明の数値制御装置１は、テーブル形式データから指令ブロックを順次読み出し、該指令ブロックを解析して制御点の基準値、および座標値を取得して出力する読み出し部１０と、読み出し部１０が読み出した指令ブロックに基準値をシフトするシフト指令が含まれている場合、指令ブロック以降の指令ブロックにおいて、基準値のシフトを有効とし、シフト指令により指定されたシフト量に基づいてシフトされた制御点の基準値を出力する基準値解析部１１と、基準値解析部が出力した基準値、および読み出し部が出力した制御点の座標値に基づいて、テーブル形式データにより制御される軸に対する移動量を生成する分配処理部１２と、を備える。【選択図】図３
2016206883.tif 000002
【特許請求の範囲】
【請求項１】
時間、軸位置、または主軸位置を基準値として、各制御軸の位置を指令するテーブル形式データを用いて、前記基準値に同期して制御軸の位置を制御する数値制御装置において、
前記テーブル形式データから指令ブロックを順次読み出し、該指令ブロックを解析して制御点の基準値、および座標値を取得して出力する読み出し部と、
前記読み出し部が読み出した指令ブロックに基準値をシフトするシフト指令が含まれている場合、前記指令ブロック以降の指令ブロックにおいて、基準値のシフトを有効とし、前記シフト指令により指定されたシフト量に基づいてシフトされた前記制御点の基準値を出力する基準値解析部と、
前記基準値解析部が出力した基準値、および前記読み出し部が出力した制御点の座標値に基づいて、前記テーブル形式データにより制御される軸に対する移動量を生成する分配処理部と、
を備え、
前記基準値解析部は、基準値のシフトを有効でない時は、前記読み出し部が出力する前記制御点の基準値をそのまま出力する、
ことを特徴とする数値制御装置。
【請求項２】
前記シフト指令により指定されるシフト量は、パラメータ、マクロ変数、または信号により間接的に指定できる、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記基準値解析部は、基準値のシフトが有効である時に前記読み出し部が読み出した指令ブロックに基準値をシフトするシフト指令が含まれている場合には、それまでのシフト量に前記シフト指令により指定されるシフト量を積算する、
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記基準値解析部は、前記読み出し部が読み出した指令ブロックにシフトキャンセル指令が含まれている場合、前記指令ブロック以降の指令ブロックにおいて、基準値のシフトを無効とする、
ことを特徴とする請求項１〜３のいずれか１つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に制御点間の基準値の差分を保持したまま、特定の制御点の基準値を修正可能とする数値制御装置に関する。
【背景技術】
【０００２】
基準軸の運動に同期して各制御軸をそれぞれ同期して駆動制御する方法として、基準軸位置に対応して制御軸の位置情報をメモリ等に設けられたテーブル形式データに記憶しておき、このテーブル形式データに記憶された情報に基づいて、各制御軸を基準軸と同期運転するテーブル形式データによる運転機能は周知である。前記機能においては、時間、軸位置、あるいは主軸位置を基準にした軸の位置、あるいはＭコード等の補助機能を設定したテーブル形式データをメモリ、またはネットワークで接続された記憶装置に格納しておき、テーブル形式データを順次読み出しながら各軸、および補助機能を制御している。
【０００３】
特許文献１及び２には、これらのテーブル形式データによる運転機能を利用したパステーブル運転機能、または電子カム制御といわれる数値制御装置が開示されている。これにより、加工プログラムにとらわれない自由な工具の動作が可能になり、加工時間の短縮や、加工の高精度化を実現できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭５９−１７７６０４号公報
【特許文献２】特開２００３−３０３００５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のテーブル形式データによる運転では、テーブル形式データに記述した基準値、および前記基準値に対応した軸、あるいは主軸の座標値を制御点とし、２つの制御点を始点、および終点として移動量の計算を行う。具体的には始点となる制御点の基準値、および軸、あるいは主軸の座標値と、終点となる制御点の基準値、および軸、あるいは主軸の座標値から、２点間の基準値の差分、および軸、あるいは主軸の座標値の差分を計算し、単位基準値あたりの移動量を算出する。
【０００６】
図７にテーブル形式データを用いた従来の軸制御の例を示す。テーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００１＿Ｘ＞は、時間基準でＸ軸を制御するテーブル形式データとし、Ｌは基準値（基準時間：ｍｓｅｃ単位）、Ｘは基準値に対応したＸ軸の座標値（ｍｍ単位）を示す。現在基準値が１０００ｍｓｅｃとすると、Ｘ軸は基準値１０００ｍｓｅｃ、座標値１００．０ｍｍを始点、基準値２０００ｍｓｅｃ、座標値２００．０ｍｍを終点とした２点の制御点間を移動する。
【０００７】
図８に移動量を算出するための数値制御装置の概略ブロック図を示す。従来技術の数値制御装置１００では、読み出し部（図示せず）で順次読み出した指令ブロックを始点、終点の２つの制御点として分配処理部１３０へ通知し、分配処理部１３０で２つの制御点間の基準値、および座標値の差分から単位基準値あたりの移動量を求め、モータ制御部（図示せず）へ通知する。
【０００８】
テーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００１＿Ｘ＞を用いたＸ軸の制御例では、分配処理部１３０において、基準値１０００ｍｓｅｃ、座標値１００．０ｍｍを始点、基準値２０００ｍｓｅｃ、座標値２００．０ｍｍを終点とし、基準値の差分１０００ｍｓｅｃ（２０００ｍｓｅｃ−１０００ｍｓｅｃ）と、座標値の差分１００．０ｍｍ（２００．０ｍｍ−１００．０ｍｍ）から、単位基準値あたりの移動量を０．１ｍｍ／１ｍｓｅｃと計算できる。
【０００９】
こうした従来のテーブル形式データによる運転では、ある制御点の基準値を変更した場合、その制御点の基準値と、次の制御点の基準値との差分が変わるため、変更した制御点の基準値をもとに、制御点間の基準値の差分が変わらないよう、以降の制御点の基準値も全て変更する必要がある。
【００１０】
図９に、例として、テーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００１＿Ｘ＞の基準値Ｌ２０００を基準値Ｌ１８００に変更した場合のテーブル形式データを＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００２＿Ｘ＞に示す。テーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０００２＿Ｘ＞の＜１＞を修正する場合、＜１＞と＜２＞の間、＜２＞と＜３＞の間の基準値の差分が変わらないようにＬ３０００をＬ２８００（＜２＞）、Ｌ４０００をＬ３８００（＜３＞）に修正が必要になる。
【００１１】
このような変更を行う場合、オペレータが制御点間の基準値の差分を考慮しながら各データを修正するが、複数の数値を確認しながら修正する必要があるため変更に手間がかかり、オペレータにとって大きな負荷となるという課題があった。
【００１２】
なお、従来技術では、特定の制御点の基準値を修正しても、インクレメンタル指令であれば、以降の制御点の基準値との差分は変わらない。しかしながら、テーブル形式データでは、全体のサイクルタイムを見通すためや、系統間、制御軸間で同期したテーブル形式データを作るために、基準値にはアブソリュート指令を用いることが多く、単純にインクレメンタル指令を用いることで上記問題を解決するということができない事情がある。
【００１３】
そこで本発明の目的は、制御点間の基準値の差分を保持したまま、特定の制御点の基準値を修正可能とする数値制御装置を提供することである。
【課題を解決するための手段】
【００１４】
本願の請求項１に係る発明は、時間、軸位置、または主軸位置を基準値として、各制御軸の位置を指令するテーブル形式データを用いて、前記基準値に同期して制御軸の位置を制御する数値制御装置において、前記テーブル形式データから指令ブロックを順次読み出し、該指令ブロックを解析して制御点の基準値、および座標値を取得して出力する読み出し部と、前記読み出し部が読み出した指令ブロックに基準値をシフトするシフト指令が含まれている場合、前記指令ブロック以降の指令ブロックにおいて、基準値のシフトを有効とし、前記シフト指令により指定されたシフト量に基づいてシフトされた前記制御点の基準値を出力する基準値解析部と、前記基準値解析部が出力した基準値、および前記読み出し部が出力した制御点の座標値に基づいて、前記テーブル形式データにより制御される軸に対する移動量を生成する分配処理部と、を備え、前記基準値解析部は、基準値のシフトを有効でない時は、前記読み出し部が出力する前記制御点の基準値をそのまま出力する、ことを特徴とする数値制御装置である。
【００１５】
本願の請求項２に係る発明は、前記シフト指令により指定されるシフト量は、パラメータ、マクロ変数、または信号により間接的に指定できる、ことを特徴とする請求項１に記載の数値制御装置である。
【００１６】
本願の請求項３に係る発明は、前記基準値解析部は、基準値のシフトが有効である時に前記読み出し部が読み出した指令ブロックに基準値をシフトするシフト指令が含まれている場合には、それまでのシフト量に前記シフト指令により指定されるシフト量を積算する、ことを特徴とする請求項１または２に記載の数値制御装置である。
【００１７】
本願の請求項４に係る発明は、前記基準値解析部は、前記読み出し部が読み出した指令ブロックにシフトキャンセル指令が含まれている場合、前記指令ブロック以降の指令ブロックにおいて、基準値のシフトを無効とする、ことを特徴とする請求項１〜３のいずれか１つに記載の数値制御装置である。
【発明の効果】
【００１８】
本発明により、制御点間の基準値の差分を保持したまま、特定の制御点の基準値を修正可能になり、その結果として、作成したテーブル形式データの編集が容易になるため、機械の立上げ、調整時間の短縮に効果がある。また、特定の制御点の基準値をパラメータ、マクロ変数、信号状態で指定することにより、テーブル形式データを修正することなく、基準値の調整が可能になる。更に、基準値をシフトすることにより、コーナ部の内回り量の設定や、オーバラップのタイミング調整が容易になる。
【図面の簡単な説明】
【００１９】
【図１】本発明における制御点の基準値の修正方法を説明する図である。
【図２】本発明のシフト指令とシフトキャンセル指令の記載例を示す図である。
【図３】本発明の実施形態における数値制御装置の概略ブロック図である。
【図４】本発明の実施形態における数値制御装置上で実行される処理のフローチャートである。
【図５】本発明の実施形態における数値制御装置の具体的な動作例（１）を示す図である。
【図６】本発明の実施形態における数値制御装置の具体的な動作例（２）を示す図である。
【図７】テーブル形式データを用いた従来の軸制御の例を示す図である。
【図８】移動量を算出するための従来の数値制御装置の概略ブロック図である。
【図９】従来のテーブル形式データの修正方法を説明する図である。
【発明を実施するための形態】
【００２０】
本発明では、制御点間の基準値の差分を保持したまま、特定の制御点の基準値を修正可能にする。実現方法として、基準値のシフト指令（ＳＦＴ指令）、シフトキャンセル指令（ＳＦＴＣＡＮ指令）を追加し、基準値の修正量を指定することで、以降の制御点の基準値を修正量の分だけシフトする技術を提供することで、前記問題の解決を目的とする。
【００２１】
図１は、従来技術における制御点の基準値の修正方法と、本発明において提案する制御点の基準値の修正方法を示した図である。
従来技術では、オペレータがテーブル形式データの基準値を全て修正（図１（ａ）においては、Ｌ２０００をＬ１８００、Ｌ３０００をＬ２８００、Ｌ４０００をＬ３８００へ修正）していたが、本発明で導入したシフト指令を用いる場合、図１（ｂ）に示すように、修正する制御点の基準値にシフト量を指定するだけで、内部処理において、シフト量が指定された制御点以降の基準値をシフト量の分だけシフトして処理する。
【００２２】
図２は、本発明のシフト指令とシフトキャンセル指令の記載例を示す図である。
図２（ａ）は、基準値のシフト量を指定したシフト指令の記述例であり、このように直接シフト量を数値で指定することで、シフト指令を記述した指令行以降において、指定したシフト量（図では、ＳＦＴ−２００）だけ基準値がシフトされるように処理される。なお、シフト指令により基準値をシフトしている間に、さらにシフト指令がされた場合は、シフト量は積算される。
【００２３】
また、シフト量はパラメータ、マクロ変数、信号により間接的に指定可能とする。パラメータ、マクロ変数、信号によりシフト量を指定する際には、例えばＳＦＴ指令の後に＝で繋げてパラメータ、マクロ変数、信号アドレスを指定する。図２（ｂ）は、基準値を信号アドレスで指定したシフト量指定の記述例である。この例では、内部リレーであるアドレスＲの１００１番の信号（Ｒ１００１）でシフト量を指定しており、当該指令が読み込まれると、シフト指令を解析後、指定の信号状態（Ｒ１００１の信号状態）が読み出されてシフト量に変換される。
【００２４】
次に、シフトキャンセル指令（ＳＦＴＣＡＮ指令）について説明する。上記したシフト指令により指定されたシフト量をキャンセルする際には、図２（ｃ）に示すように、シフト量のキャンセルを行う指令行の後ろにシフトキャンセル指令（ＳＦＴＣＡＮ指令）を記述する。このように記述することにより、当該指令行を処理する時点以降においてシフト量が０にクリアされる。図２（ｃ）では、指令行Ｌ２０００  Ｘ２００．０にシフト指令（シフト量−５００）が記述されているので、当該指令行においてＬ１５００  Ｘ２００．０にシフトされるが、指令行Ｌ３０００  Ｘ３００．０にシフトキャンセル指令が記述されているので、当該指令行を処理する時にシフト量は０にクリアされ、Ｌ３０００  Ｘ３００．０の指令の通り、基準値３０００ｍｓｅｃ、座標値３００．０ｍｍを終点として移動する。
【００２５】
図３は、上記したシフト指令、シフトキャンセル指令を実行可能な本発明の一実施形態における数値制御装置の機能ブロック図である。従来技術においては、読み出し部１０がテーブル形式データ２０を図示しないメモリなどから読み出し、制御点の基準値、および座標値を読み出し、分配処理部１２にそのまま通知していた。本発明では、基準値解析部１１を新たに設け、読み出し部１０が読み出した制御点の基準値を指定のシフト量だけシフトして分配処理部１２に通知する。
【００２６】
基準値解析部１１では、シフト指令、シフトキャンセル指令の解析、および制御点の基準値の算出を行う。
基準値解析部１１は、読み出し部１０が読み出したブロックにシフト指令が含まれている場合、図示しないメモリ上に設けられたシフト指令有効フラグを有効となるよう変更すると共に、該シフト指令で指令されたシフト量を図示しないメモリ上に設けられたシフト量記憶領域に積算する。なお、シフト指令有効フラグが無効の状態においてはシフト量記憶領域には０が設定されており、基準値をシフトしていない状態においてシフト指令が指令された場合、シフト量記憶領域にはシフト指令で指令されたシフト量が設定される。
【００２７】
この時、基準値解析部１１は、シフト量が直接指定されている場合には、指定されたシフト量をシフト量記憶領域に記憶、または積算し、シフト量がパラメータ、マクロ変数、信号により間接的に指定されている場合には、指定されたパラメータ、マクロ変数、信号を読み出して基準値のシフト量へと変換してから、該シフト量をシフト量記憶領域に記憶、または積算する。
【００２８】
また、基準値解析部１１は、読み出し部１０が読み出したブロックにシフトキャンセル指令が含まれている場合には、シフト量記憶領域に記憶されているシフト量を０にクリアする。なお、基準値解析部１１は、読み出したブロックにシフトキャンセル指令が含まれている場合に、上記したようにシフト量記憶領域に記憶されているシフト量を０にクリアする代わりに、基準値の実時間をシフト量分リセットしてもよい。
【００２９】
このように指令の解析を行った後、シフト指令有効フラグが有効である場合には、基準値解析部１１は、シフト量記憶領域に記憶されているシフト量に基づいて読み出し部１０が読み出した制御点の基準値をシフトし、その結果を分配処理部１２に対して制御点の基準値として制御点の座標値と共に出力する。なお、シフト指令有効フラグが無効である場合には、読み出し部１０が読み出した制御点の基準値をそのまま分配処理部１２に対して制御点の座標値と共に出力する。
【００３０】
そして、分配処理部１２は、基準値解析部１１から受け取った制御点の基準値、および座標値に基づいて、各軸の移動量を分配周期毎に各軸の可動部へと指令する移動量へと分配する。そして、該分配された移動量に基づいて各軸が制御される。
【００３１】
図４は、本実施形態の数値制御装置１上で実行されるテーブル形式データに基づく制御処理のフローチャートである。
●［ステップＳＡ０１］読み出し部１０が、メモリなどに記憶されたテーブル形式データから各指令ブロックを順次読み出し、該指令ブロックを解析して制御点の基準値、および座標値を取得して出力する。
【００３２】
●［ステップＳＡ０２］基準値解析部１１は、ステップＳＡ０１で読み出された指令ブロックにシフトキャンセル指令が含まれているか否かを判定する。シフトキャンセル指令が含まれている場合にはステップＳＡ０９へ進み、シフトキャンセル指令が含まれていない場合にはステップＳＡ０３へ進む。
●［ステップＳＡ０３］基準値解析部１１は、ステップＳＡ０１で読み出された指令ブロックにシフト指令が含まれているか否かを判定する。シフト指令が含まれている場合にはステップＳＡ０５へ進み、シフト指令が含まれていない場合にはステップＳＡ０４へ進む。
●［ステップＳＡ０４］基準値解析部１１は、シフト指令有効フラグを参照して基準値のシフトが有効であるかを判定する。シフトが有効である場合にはステップＳＡ０８へ進み、有効でない場合には制御点の基準値を指令ブロックにより指令される制御点の基準値としてステップＳＡ１１へ進む。
【００３３】
●［ステップＳＡ０５］基準値解析部１１は、シフト指令有効フラグに有効値１を設定し、基準値のシフトを有効にする。
●［ステップＳＡ０６］基準値解析部１１は、シフト指令を解析し、シフト量が直接指定されている場合には指定されている値を基準値のシフト量とし、パラメータ、マクロ変数、信号により間接的に指定されている場合には、パラメータ、マクロ変数、信号から取得した値を基準値のシフト量へと変換する。
●［ステップＳＡ０７］基準値解析部１１は、ステップＳＡ０６で求めた基準値のシフト量をシフト量記憶領域に積算する。
●［ステップＳＡ０８］基準値解析部１１は、シフト量記憶領域に記憶されている基準値のシフト量によりステップＳＡ０１で取得した制御点の基準値をシフトした値を基準値として求める。
【００３４】
●［ステップＳＡ０９］基準値解析部１１は、シフト指令有効フラグに無効値０を設定し、基準値のシフトを無効にする。
●［ステップＳＡ１０］基準値解析部１１は、シフト量記憶領域に記憶されている基準値のシフト量を０にクリアして制御点の基準値を指令ブロックにより指令される制御点の基準値とし、ステップＳＡ１１へ進む。
【００３５】
●［ステップＳＡ１１］分配処理部１２は、制御点の基準値、および座標値に基づいて分配処理を実行し、分配処理の結果に基づいて各軸が運転制御される。
●［ステップＳＡ１２］テーブル形式データが終了したか否かを判定する。終了している場合には運転処理を終了し、終了していない場合にはステップＳＡ０１へ戻って運転処理を継続する。
【００３６】
本実施形態の数値制御装置１の具体的な動作例を図５，６に示す。
図５は、テーブル形式データに基づいて制御される工具のＸＺ平面での工具経路を示す図である。図５（ａ）に示したＸ軸、Ｚ軸の基準軸に対する位置情報を定義するテーブル形式データを運転した場合、Ｘ軸、Ｚ軸は基準軸に対して、それぞれ図５（ｂ）に示すような座標値を取るように移動し、ＸＺ平面においては、図５（ｃ）に示すように、ＸＺ平面で角を出すような工具経路になる。
【００３７】
ここで、図５（ｃ）に示す工具経路に対して、図６（ｃ）に示す工具経路を通るように内回り制御してサイクルタイムの短縮を図る場合、本発明の技術を用いて、図６（ａ）に示すように、テーブル形式データにマクロ変数でシフト量を指定するシフト指令を挿入し、マクロ変数に以下の値を設定する。
＃５０１＝−２００：Ｚ軸の動作を−２００先行させる
＃５０２＝−４００：Ｘ軸の動作を−４００先行させる
（Ｚ軸の動作の先行分（−２００）＋Ｘ軸の動作の先行分（−２００））
＃５０３＝−２００：Ｚ軸の動作を−２００先行させる
（Ｘ軸の動作の先行分（−２００）を反映）
【００３８】
なお、先行させる基準値の関係は以下のようになる。
＃５０２（Ｘ軸の動作の先行分）＝＃５０１＋＃５０３（Ｚ軸の動作の先行分）
【００３９】
このようにテーブル形式データを修正し、マクロ変数を設定することにより、結果として、実時間に換算すると、基準値Ｌ３６００相当で工具の移動が完了し、全体としてサイクルタイムが短縮される。
【００４０】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施形態では、シフト量を０にクリアすることでシフトキャンセルを行っているが、それ以外にも、基準値の実時間をシフト量分だけリセットすることでシフトキャンセルを行うようにすることもできる。その場合、図２（ｃ）では、Ｌ３０００  Ｘ３００．０の指令は、基準値２５００ｍｓｅｃ、座標値３００．０ｍｍとして移動し、Ｌ４０００  Ｘ４００．０の指令は、基準値３５００ｍｓｅｃ、座標値４００．０ｍｍとして移動する。
【００４１】
また、上記した実施形態では、基準値として時間を用いる例を示したが、その他の値を基準値として用いてもよく、例えば、基準軸の位置や主軸の位置を用いることも可能である。
【符号の説明】
【００４２】
１  数値制御装置
１０  読み出し部
１１  基準値解析部
１２  分配処理部
２０  テーブル形式データ
【図１】
2016206883.tif 000003
【図２】
2016206883.tif 000004
【図３】
2016206883.tif 000005
【図４】
2016206883.tif 000006
【図５】
2016206883.tif 000007
【図６】
2016206883.tif 000008
【図７】
2016206883.tif 000009
【図８】
2016206883.tif 000010
【図９】
2016206883.tif 000011