(58)【調査した分野】(Int.Cl.,DB名)
NCプログラムと、時間あるいは基準となる軸の位置を基準にして各軸位置を指令するテーブル形式データとを用いて工作機械の各軸モータを駆動する数値制御装置において、前記NCプログラムにより指令される移動指令に基づいて、前記移動指令により制御される軸に対する補間データである第1の補間データを生成する第1補間手段と、
前記テーブル形式データに基づいて、前記テーブル形式データにより制御される軸に対する補間データである第2の補間データを生成する第2補間手段と、
前記第1の補間データと、前記第2の補間データとを重畳した第3補間データを生成する補間データ選択・重畳手段と、
を備えたことを特徴とする数値制御装置。
【背景技術】
【0002】
基準軸の運動に同期して各制御軸をそれぞれ同期して駆動制御する方法として、基準軸位置に対応して制御軸の位置情報をメモリ等に設けられたテーブル形式データに記憶しておき、このテーブル形式データに記憶された情報に基づいて、各制御軸を基準軸と同期運転するテーブル形式データによる運転機能は公知である。
テーブル形式データによる運転機能においては、時間、軸位置、あるいは主軸位置を基準にした軸の位置、あるいはMコード等の補助機能を設定したテーブル形式データをメモリ、またはネットワークで接続された記憶装置に格納しておき、テーブル形式データを順次読み出しながら各軸、および補助機能を制御している。
【0003】
このような機能を提案している従来例として、時間毎又は回転角度毎に対する可動軸の位置を数値制御データとして記憶しておき、時間又は回転角度を監視し、記憶した時間又は回転角度に達する毎に、可動軸に対応する数値制御データを出力するようにした発明が知られている(例えば、特許文献1)。
また、基準位置に対するX軸、Z軸の指令位置を記憶するデータテーブルを設けておき、基準パルスをカウントするカウンタの値にオーバライド値をかけて基準位置を求めて、該基準位置に基づいて、データテーブルに記憶されたX軸、Z軸の指令位置を出力してX軸、Z軸を同期制御することにより、データテーブルに記憶されたデータによって駆動制御する場合でもオーバライドがかけられるようにし、さらには、指令位置間を直線的に接続するか、2次関数接続、3次関数接続等を指令できると共に、補助機能も指令できるようにした発明も知られている(例えば、特許文献2)。
特許文献1,2に記載の発明により、加工プログラムにとらわれない自由な工具の動作が可能になり、加工時間の短縮や、加工の高精度化を実現することができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術には以下に説明する問題がある。
従来技術における数値制御装置では、テーブル形式データによる運転における前処理、および補間の方法が、NCプログラムによる運転における前処理、および補間の方法と異なり、それぞれの補間結果をまとめる手段がなかったため、同一の系統内でテーブル形式データによる運転とNCプログラムによる運転を同時に実行することはできなかった。従来技術においてNCプログラムによる運転とテーブル形式データによる運転を行う場合には、
図12に示すように、NCプログラムによる運転をしている最中に、系統内での加工状況や加工内容によって、Mコード等によりテーブル形式データによる運転へと切り換えて制御していた。
【0006】
図13は、このような運転の切換えを実行する数値制御装置の処理を説明するフローチャートである。
●[S1301]本処理が開始されると、最初に現在処理対象とするべきプログラムが、NCプログラムであるのか、またはテーブル形式データであるのかを判定する。現在処理対象とするべきプログラムがNCプログラムであると判定された場合にはS1302へ進み、テーブル形式データであると判定された場合にはS1305へと進む。
●[S1302]処理対象となるNCプログラムを読み出す。
●[S1303]NCプログラムから処理対象となるブロックを取り出して前処理を行う。
●[S1304]処理対象となるブロックの分配周期毎の各軸可動部へ指令する分配移動量を求め補間処理を実行する。
●[S1305]処理対象となるテーブル形式データを読み出す。なお、読み出すテーブル形式データは前処理済みのテーブル形式データとする。
●[S1306]読み出したテーブル形式データを用いて基準軸位置に基づいた制御対象軸の補間処理を実行し、補間結果を出力する。
【0007】
このように、従来の処理方法では、NCプログラムによる運転と、テーブル形式データによる運転を同時に実行することができなかったため、系統内で加工状況、または加工内容によって、テーブル形式データによる運転とNCプログラムによる運転を切換えて実行しており、NCプログラムの運転中に、テーブル形式データにより、特定の軸のみ実時間に準じて制御することはできなかった。
【0008】
また、従来のテーブル形式データによる運転では、NCプログラムで制御する軸の補間結果を参照する手段がなく、NCプログラムで制御する軸をテーブル形式データで用いる基準軸に指定することはできなかった。そのため、テーブル形式データで制御する軸とNCプログラムで制御する軸との間で同期する手段がなく、NCプログラムで制御する軸の動作に、テーブル形式データで制御する軸を追従させることはできなかった。
【0009】
そこで、本発明の目的は、テーブル形式データによる運転と、NCプログラムによる運転を同一の系統内で同時に実行する手段、およびテーブル形式データで制御する軸と、NCプログラムで制御する軸との間で同期する手段を備えた数値制御装置を提供することである。
【課題を解決するための手段】
【0010】
本願の請求項1に係る発明は、NCプログラムと、時間あるいは基準となる軸の位置を基準にして各軸位置を指令するテーブル形式データとを用いて工作機械の各軸モータを駆動する数値制御装置において、前記NCプログラムにより指令される移動指令に基づいて、前記移動指令により制御される軸に対する補間データである第1の補間データを生成する第1補間手段と、前記テーブル形式データに基づいて、前記テーブル形式データにより制御される軸に対する補間データである第2の補間データを生成する第2補間手段と、前記第1の補間データと、前記第2の補間データと
を重畳した第3補間データを生成する補間データ選択・重畳手段と、を備えたことを特徴とする数値制御装置である。
【0011】
本願の請求項2に係る発明は、前記第1補間手段が生成した前記第1の補間データを、前記テーブル形式データで用いる基準軸の基準値へと変換する基準値変換手段と、を更に備えたことを特徴とする請求項1に記載の数値制御装置である。
【発明の効果】
【0012】
本発明により、NCプログラムによる運転中に、特定の軸をテーブル形式データで制御することにより、前記特定の軸の動作を指令ブロックにとらわれず、任意のタイミングでオーバラップさせることや、コーナ部分の加工において、前記特定の軸を先回りさせることが可能になり、加工時間の短縮、およびより複雑な形状加工が実現できる。
また、Mコード等の補助機能を時間制御することが可能になるため、工作機械の固体差によりNCプログラムの進行状況に差が生じた場合でも、外部機器の制御などを指定の時間に実行できるようになる。
さらに、NCプログラムでメイン加工を行う基本軸の制御、テーブル形式データで周辺軸の制御といった形で、プログラムによる制御対象を区分することで、プログラムの作成が容易になり、保守性が向上する。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施の形態における数値制御装置の要部ブロック図である。
【
図2】本発明の実施の形態における数値制御装置の機能ブロック図である。
【
図3】本発明の実施の形態におけるNCプログラムによる運転とテーブル形式データによる運転との同時実行の概念を示す図である。
【
図4】本発明の実施の形態におけるNCプログラムとテーブル形式データの同時実行処理を示すフローチャートである。
【
図5】本発明の実施の形態におけるNCプログラムとテーブル形式データの同期実行処理を示すフローチャートである。
【
図6】従来技術におけるNCプログラムの一例を示す図である。
【
図7】
図6のNCプログラムを実行した場合の制御軸の動作を示す図である。
【
図8】本発明の実施の形態におけるNCプログラムとテーブル形式データの一例を示す図である。
【
図9】本発明の実施の形態における数値制御装置により
図8のNCプログラムとテーブル形式データを実行した場合の制御軸の動作を示す図である。
【
図10】従来技術におけるNCプログラム実行時の工作機械の個体差による問題を説明する図である。
【
図11】本発明の実施の形態における時間指定制御動作の例を説明する図である。
【
図12】従来技術におけるNCプログラムによる運転とテーブル形式データによる運転との切換え実行の概念を示す図である。
【
図13】従来技術におけるNCプログラムによる運転とテーブル形式データによる運転との切換え実行処理のフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態を図面と共に説明する。
図1は、本発明の任意の軸を動作させるテーブル形式データを有する工作機械を駆動する一実施形態の数値制御装置10の要部ブロック図である。CPU11は数値制御装置10を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムを、バス21を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。RAM13には一時的な計算データや表示データ及びLDC/MDIユニット70を介してオペレータが入力した各種データが格納される。SRAMメモリ14は図示しないバッテリでバックアップされ、数値制御装置10の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。SRAMメモリ14中には、インタフェース15を介して読み込まれた加工プログラムやLCD/MDIユニット70を介して入力された加工プログラム等が記憶される。さらに、前述した、任意の軸を動作させるテーブル形式データが予め格納されている。また、ROM12には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムが予め書き込まれている。
【0015】
インタフェース19は手動パルス発生器71に接続され、手動パルス発生器71は工作機械の操作盤に実装され、手動操作に基づく分配パルスによる各軸制御で工作機械の可動部を精密に位置決めするために使用される。
インタフェース15は、数値制御装置10と外部機器72との接続を可能とするものである。PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置10に内蔵されたシーケンスプログラムで工作機械の補助装置にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU11に渡す。
【0016】
各軸のサーボ制御回路30〜31はCPU11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ40〜41に出力する。サーボアンプ40〜41はこの指令を受けて、各軸のサーボモータ50〜51を駆動する。各軸のサーボモータ50〜51は、位置・速度検出器を内蔵し、この位置・速度検出器からの位置、速度フィードバック信号をサーボ制御回路30〜31にフィードバックし、位置・速度のフィードバック制御を行う。なお、
図1では位置・速度のフィードバックについては記載を省略している。
【0017】
また、スピンドル制御回路60は主軸指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はスピンドル速度信号を受けて、主軸を駆動するスピンドルモータ62を指令された回転速度で回転させる。ポジションコーダ63は、主軸の回転に同期して帰還パルス(基準パルス)及び1回転信号をスピンドル制御回路60にフィードバックし、速度制御を行う。65は現在時刻に同期するように調整された時計装置である。
なお、
図1に示される数値制御装置10は制御軸を2軸有しているが、制御軸としては、さらに増加してもよいことは勿論である。
【0018】
図2は、本発明の一実施形態における数値制御装置10の機能ブロック図である。数値制御装置10は、NCプログラム解析手段110、第1補間手段120、基準値変換手段130、第2補間手段140、補間データ選択・重畳手段150を備えている。NCプログラム解析手段110は、図示しないメモリに記憶されたNCプログラム100を読み出し、NCプログラム100を解析して移動指令を取得する。第1補間手段120は、NCプログラム解析手段110が解析した移動指令に基づいて動作経路に沿った多数の補間点を定める補間処理を行い、作成した第1補間データを図示しないメモリに一時的に記憶する。基準値変換手段130は、図示しないメモリに記憶された前処理済みのテーブル形式データ200を読み出すと共に、第1補間手段120が作成した第1補間データを取得し、テーブル形式データ200で指定されている基準軸がNCプログラムで制御されていた場合は、第1補間手段120が作成した第1補間データをテーブル形式データ200における基準値へと変換する。第2補間手段140は、基準値変換手段130から取得したテーブル形式データを用いて基準軸位置に基づいた制御対象軸の補間処理を行い、作成した第2補間データを図示しないメモリに一時的に記憶する。
【0019】
補間データ選択・重畳手段150は、第1補間手段120、第2補間手段140がそれぞれメモリに記憶した各補間データに基づいて、系統内の軸をどちらの補間データに基づいて制御するかの選択や、両補間データの重畳などを行い、作成した第3補間データに基づいてサーボモータを制御する。第1補間データ、第2補間データのいずれを選択するのか、或いは両補間データを重畳するのかについては、数値制御装置10に設定された設定状況や、NCプログラム、テーブル形式データの指令、またはセンサなどを介して得られた加工状況に関する情報に基づいて加工中において動的に決定するように構成してもよい。
【0020】
その場合において、設定状況または加工状況に応じて、第1補間データ(NCプログラムによる軸制御)、第2補間データ(テーブル形式データによる軸制御)のいずれかを優先して選択するようにしてもよい。また、テーブル形式データでNCプログラムの補正データを設定し、設定状況または加工状況に応じて、第2補間データを第1補間データに重畳するようにしてもよい。
【0021】
このような機能構成を備える数値制御装置10により、従来技術において選択的にしか実行できなかったNCプログラムによる運転とテーブル形式データによる運転を、
図3に示すように同時に実行することが可能となる。
図4は、本実施形態における数値制御装置10による、NCプログラムによる運転とテーブル形式データによる運転の同時実行を説明するフローチャートである。なお、本フローチャートは、テーブル形式データ200で指定されている基準軸がNCプログラムで制御されていない場合のフローを示している。
【0022】
●[S401]処理対象となるNCプログラムを読み出す。
●[S402]NCプログラムから処理対象となるブロックを取り出して前処理を行う。
●[S403]処理対象となるブロックの分配周期毎の各軸可動部へ指令する分配移動量を求め補間処理を実行する。
●[S404]S403で求めた補間処理の結果を第1補間データとしてメモリに記憶する。
●[S405]処理対象となるテーブル形式データを読み出す。なお、読み出すテーブル形式データは前処理済みのテーブル形式データとする。
●[S406]読み出したテーブル形式データを用いて基準軸位置に基づいた制御対象軸の補間処理を実行する。
●[S407]S406で求めた補間処理の結果を第2補間データとしてメモリに記憶する。
●[S408]S404,S407でそれぞれ記憶された各補間データを取得して、系統内の軸をどちらのプログラムで制御するかの選択や、両プログラムの補間データの重畳などを行い、第3補間データとして出力する。
【0023】
図5は、本実施形態における数値制御装置10による、NCプログラムによる運転とテーブル形式データによる運転の同時処理において、NCプログラムで制御する制御軸を基準軸としてテーブル形式データで制御する軸を動作させる処理を説明するフローチャートである。
【0024】
●[S501]処理対象となるNCプログラムを読み出す。
●[S502]NCプログラムから処理対象となるブロックを取り出して前処理を行う。
●[S503]処理対象となるブロックの分配周期毎の各軸可動部へ指令する分配移動量を求め補間処理を実行する。
●[S504]S503で求めた補間処理の結果を第1補間データとしてメモリに記憶する。
●[S505]処理対象となるテーブル形式データを読み出す。なお、読み出すテーブル形式データは前処理済みのテーブル形式データとする。
●[S506]S504でメモリに記録した第1補間データを取得する。
●[S507]S506で取得した第1補間データをテーブル形式データで用いる基準軸の基準値へと変換する。
●[S508]S507で変換した基準値とS505で読み出したテーブル形式データを用いて基準軸位置に基づいた制御対象軸の補間処理を実行する。
●[S509]S508で求めた補間処理の結果を第2補間データとしてメモリに記憶する。
●[S510]S504,S509でそれぞれ記憶された各補間データを取得して、系統内の軸をどちらのプログラムで制御するかの選択や、両プログラムの補間データの重畳などを行い、第3補間データとして出力する。
【0025】
このように、本発明では、テーブル形式データによる運転と、NCプログラムによる運転を同一の系統内で同時に実行可能にする。本発明では、NCプログラムとテーブル形式データの補間結果を別々に記憶する手段と、補間結果を1つにまとめる手段を具備し、従来の判別、および分岐処理を廃止して、NCプログラムの補間後に、テーブル形式データの補間を行う。系統内の軸をどちらのプログラムで制御するかの選択や、両プログラムの補間結果の重畳などを可能にする。
【0026】
また、テーブル形式データで制御する軸と、NCプログラムで制御する軸との間での同期を可能にする。記憶したNCプログラムの補間結果をテーブル形式データの補間前に読出し、テーブル形式データの基準値に変換する手段を具備し、NCプログラムにより動作する軸の座標を基準に、テーブル形式データを補間可能にする。
【0027】
本実施の形態における数値制御装置を用いた制御処理の効果について、
図6〜9を用いて説明する。
NCプログラムによる従来の運転方法では、早送りオーバラップや、インポジションチェックの設定などによって、ブロックエンドで軸が減速、または停止する。そのため、従来の運転方法において、
図6に示すNCプログラムO0201を作成した場合、
図7に示すグラフのように、NCプログラムO0201ではY50.0、X200.0(2)の指令ブロックの完了時、Y軸、X軸が一旦減速、または停止した後、Y100.0、X150.0(3)への移動を開始する。なお、
図7グラフ中の括弧付き各符号は、
図6のNCプログラムの各指令によって指示された軸位置を示している。
【0028】
これに対して、本実施の形態における数値制御装置を用いた軸制御では、このような制御軸の減速、停止を回避することができる。
図9は、
図8に示すNCプログラムO0202と、テーブル形式データ<AXIS_TABLE_0202_X>を本実施の形態の数値制御装置により同時に運転し、テーブル形式データで制御するX軸の動作をNCプログラムで制御するY軸の動作に同期させている場合の各軸の動作を示すグラフである。なお、
図9グラフ中の括弧付き各符号は、
図8のNCプログラム、テーブル形式データの各指令によって指示された軸位置を示している。
【0029】
NCプログラムO0202内のM1234はテーブル形式データの実行を開始するMコード、Q0202は実行するテーブル形式データの番号を、テーブル形式データ<AXIS_TABLE_0202_X>内のR98、R99はそれぞれテーブル形式データのヘッダ、およびフッタ、Lは基準とする軸の座標値、Xは制御する軸の座標値を示す。また、Y=0は基準にする軸をY軸に指定することを示す。
【0030】
NCプログラムO0202では、テーブル形式データの開始Mコード(1)を実行した後、Y軸を0.0(2)に位置決めし、100.0(3)まで移動させる。NCプログラムO0202でテーブル形式データの開始Mコードが実行されると、テーブル形式データ<AXIS_TABLE_0202_X>では、ヘッダ部に記述されたY=0(4)から、基準軸にY軸を設定し、Y軸の座標を基準にX軸の動作を制御する。X軸は、Y軸が0.0(2)に位置決めするのと同時に、0.0(5)に移動し、Y軸の座標が50.0(2’)、100.0(3)に移動するのに同期して、それぞれ200.0(6)、150.0(7)に位置決めするよう動作する。
【0031】
すなわち、本実施の形態の数値制御装置でNCプログラムとテーブル形式データを同期させることにより、
図7に示すように、Y軸が0.0(2)から100.0(3)へ減速、および停止することなく一定速度で移動中に、X軸が0.0(5)から200.0(6)、および200.0(6)から150.0(7)に移動することが分かる。
【0032】
このように、本発明では、NCプログラムによる運転中に、特定の軸をテーブル形式データで制御することにより、前記特定の軸の動作を指令ブロックにとらわれず、任意のタイミングでオーバラップさせることで、NCプログラムのブロックエンドで軸が減速、または停止せずに移動することを可能としている。
同様にして、本発明はコーナ部分の加工などに適用することで、特定の軸を先回りさせることにより、加工時間の短縮、およびより複雑な形状加工を実現できる。
【0033】
本実施の形態における数値制御装置を用いた制御処理の他の効果について、
図10,11を用いて説明する。
NCプログラムによる従来の運転方法では、工作機械の個体差、またはワークの重量などによる加工状況の変化により、指令ブロックの実行状況に時間差が生じる。そのため、加工開始から決まった時間に補助機能を出力する必要があっても、指令ブロックの実行状況により、実際に補助機能が出力されるタイミングにはばらつきがあった。
【0034】
例えば、
図10(a)のNCプログラムにおいて、G00 Y0.0(1)の指令ブロックの実行を開始後、実時間で1000msec経過後に冷却システムを稼動する補助機能M567を出力する場合、平均的な加工時間からY100.0 (2)の次ブロックにM567(3)を挿入する。
しかしながら、工作機械の個体差などが原因で、例えば、工作機械Aでは図(b)に示すようにY100.0(2)のブロックが完了するまでの所用時間が980msecとなり、別の工作機械Bでは図(c)に示すようにY100.0(2)のブロックが完了するまでの所要時間が1025msecとなることがあり、実時間で1000msec後に正確に補助機能を出力することはできない。
【0035】
これに対して、本実施の形態における数値制御装置を用いた軸制御では、NCプログラムの運転中に、Mコード等の補助機能を時間制御することにより、NCプログラムの運転状況によらずに実時間で正確に補助機能を出力することを可能にする。
本実施の形態の数値制御装置の制御方法により、NCプログラムO0302、テーブル形式データ<TIME_TABLE_0302_M>を同時に運転する例を以下に示す。ここで、NCプログラム内のM1234はテーブル形式データの実行を開始するMコード、Q0302は実行するテーブル形式データの番号、テーブル形式データ内のR98、R99はそれぞれテーブル形式データのヘッダ、およびフッタ、Lは基準とする時間(単位:msec)を示す。
【0036】
NCプログラムでは、テーブル形式データの開始Mコード(1)を実行した後、以降の指令ブロックを順次、実行していく。NCプログラムでテーブル形式データの開始Mコードが実行されると、テーブル形式データでは、基準時間のカウントを開始し、1000msec後にM567を出力する。
そのため、Y100.0(2)のブロックが完了するまでの所要時間が1025msecの場合であっても、テーブル形式データの開始Mコード(1)を実行後、つまり、G00Y0.0(1)の指令ブロックの実行を開始した後、実時間で1000msec後に確実に補助機能M567の出力が可能になる。
【0037】
このように、本発明では、Mコード等の補助機能を時間制御することが可能になるため、工作機械の固体差によりNCプログラムの進行状況に差が生じた場合でも、外部機器の制御などを指定の時間に実行できるようになる。