[go: up one dir, main page]

JP6068401B2 - 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置 - Google Patents

加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置 Download PDF

Info

Publication number
JP6068401B2
JP6068401B2 JP2014154975A JP2014154975A JP6068401B2 JP 6068401 B2 JP6068401 B2 JP 6068401B2 JP 2014154975 A JP2014154975 A JP 2014154975A JP 2014154975 A JP2014154975 A JP 2014154975A JP 6068401 B2 JP6068401 B2 JP 6068401B2
Authority
JP
Japan
Prior art keywords
machining program
buffering
numerical control
internal memory
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014154975A
Other languages
English (en)
Other versions
JP2016031725A (ja
Inventor
義人 宮▲崎▼
義人 宮▲崎▼
安藤 博篤
博篤 安藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2014154975A priority Critical patent/JP6068401B2/ja
Priority to US14/798,718 priority patent/US10018990B2/en
Priority to DE102015009583.8A priority patent/DE102015009583B4/de
Priority to CN201510455399.7A priority patent/CN105320066B/zh
Publication of JP2016031725A publication Critical patent/JP2016031725A/ja
Application granted granted Critical
Publication of JP6068401B2 publication Critical patent/JP6068401B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34376Management nc programs, files

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Geometry (AREA)

Description

本発明は、数値制御装置に関し、特に加工プログラムの転送速度が遅い場合において加工プログラムの読み出し・バッファリングと、当該加工プログラムに基づく運転実行のタイミングを制御する数値制御装置に関する。
数値制御装置は、内部のメモリに保持された加工プログラムを読み込み、自動運転を行っている。近年、CAD/CAMシステムの普及によって複雑な自由曲面加工形状を微小線分で補間した加工プログラムの作成が可能になり、これにより加工プログラムの巨大化が進んでいる。数値制御装置で巨大な加工プログラムを実行するためには、内部のメモリを大容量化する必要があるが、内部メモリの大容量化はコストの増大や速度の低下に繋がるため、その大容量化には限界がある。
一方数値制御装置には、補助記憶装置として市販のフロッピー(登録商標)ディスクドライブやコンパクトフラッシュ(登録商標)カード等の記憶媒体を接続し、これに加工プログラムを格納することもできる(例えば、特許文献1)。容量の限られた内部メモリを補うため、これらの補助記憶装置に保存された加工プログラムを読み出しながら運転を行うDNC運転などが一般に知られている(例えば、特許文献2)。
また、ホストとなるコンピュータと数値制御装置を通信接続する構成において、通信手段を介してホストから転送される加工プログラムデータを数値制御装置のファイル装置やメモリに蓄え、その蓄えられた加工プログラムデータを用いて数値制御装置が加工を制御するDNC運転も知られている(例えば、特許文献3)。
ところで前述のDNC運転における加工プログラムの読み出しにおいては、補助記憶装置からの読み出しの場合でもホストからの転送の場合でも、数値制御装置の内部メモリに比べて読み出し時間が長いので、一般に加工時間が増大する。加工時間の増大を防ぐには、補助記憶装置やホストからの読み出し結果を数値制御装置内部のメモリに蓄えつつ、メモリに蓄えた加工プログラムデータをブロック毎に処理して運転すれば良い。このような機能として特許文献4では、ホストから数値制御装置に転送される加工プログラムデータをメモリ内の運転バッファに蓄えつつ、運転バッファ内の加工プログラムデータをブロック単位に順次取り出して運転を行うリモート運転機能が紹介されている。
図13は、特許文献4におけるリモート運転機能を備えた数値制御装置100のリモート運転処理ブロック図である。ホスト200から転送される加工プログラムデータPDは、数値制御装置100の通信制御部140を介して運転バッファ150に転送される。運転バッファ150に転送された加工プログラムデータPDは、ブロック単位でブロック解析部110に取りだされて順次解析され、解析結果SRがブロック実行部120に渡されて加工が実行される。
図14は、ホスト200から加工プログラムデータを転送するかわりに、補助記憶装置300からの加工プログラムデータを読み出すリモート運転機能のブロック図である。運転バッファへ150の加工プログラムデータPDが補助記憶装置300から転送される点以外は、図13と同じである。
特開2005−135153号公報 特開2004−078476号公報 特開2003−195930号公報 特開平07−239707号公報
前述のようなリモート運転機能を備えた数値制御装置においては、ブロック解析部とブロック実行部が加工プログラムデータを取り出す処理に比べて、ホストないし補助記憶装置から運転バッファに転送される加工プログラムデータのブロック転送処理が遅い場合、運転バッファが空になって加工が停止してしまい、ワークにカッタマークが付いたり振動が発生したりする、という課題がある。
この課題に対して特許文献4では、運転バッファ内の加工プログラムデータの残りのデータ量が予め設定されたブロック数を下回った場合に、切削送り速度を低下させることで、加工の停止によるカッタマーク生成や振動を回避する、という方法が開示されている。
しかしながら、補助記憶装置の読み出し時間には上限の保証がないものが一般的である。またホストから数値制御装置への転送も、一般にはホストやネットワークの混雑状況に左右されるため、転送にかかる時間の上限は補助記憶装置からの読み出し時間と同様に保証できないのが一般的である。このため、特許文献4で開示されている方法を用いる場合には、実際にどれだけ切削送り速度を低下させれば運転バッファ内が空になることを回避できるかがわからない、という問題があった。
また特許文献4では、最悪の場合に運転バッファが空になってしまったとしても、切削中の工具を工具装着の軸方向に退避させることで、カッタマークの生成や振動を防ぐことができる、という解決手段も開示されているが、切削送り中に工具を一旦退避させその後工具を復帰させるという動作は加工面の品質に問題が生じるため、仕上げ加工などの場合に適用できず、課題が完全に解決されたとは言えない。また特許文献4では、前述の工具退避の有効無効を設定できるとなっているが、工具退避が無効に設定された箇所で実際に運転バッファ内の加工プログラムが空になってしまった場合には、結局カッタマークの生成や振動を防ぐことができない、という課題があった。
さらに特許文献4では、切削送り速度の速度低下(切削送りオーバライド)のパーセンテージや速度低下の可否、工具退避有効無効などを加工プログラム文中で指定しているが、加工プログラムが長大な場合、加工プログラムの全領域の細部にわたってこれらの設定をその都度変更するようにプログラムを編集するのは、手間がかかり現実的ではない、という課題もあった。
そこで、本発明の目的は、加工プログラムの転送速度が遅い場合において、加工プログラムの読み出し・バッファリングと、当該加工プログラムに基づく運転実行のタイミングを制御することを可能とする数値制御装置を提供することである。
本願の請求項1に係る発明は、外部記憶装置または外部制御装置から接続手段を介して加工プログラムを内部メモリにバッファリングし、バッファリングされた前記加工プログラムに基づいて自動運転実行部が自動運転を行う数値制御装置において、前記加工プログラムは一つまたは複数個のバッファリングポイントを含み、前記自動運転実行部は、前記内部メモリへの前記加工プログラムバッファリングにおいて、バッファリングする該加工プログラムに前記バッファリングポイントが含まれているか否かを確認し確認結果を保持するバッファリング完了確認結果保持手段と、前記内部メモリにバッファリングされた前記加工プログラムを前記自動運転実行部が実行する際に、実行する加工プログラムに前記バッファリングポイントが含まれているか否かを確認し結果を保持する実行確認結果保持手段と前記バッファリング完了確認結果保持手段と前記実行確認結果保持手段とを比較する比較手段と該比較結果に基づいて自動運転の継続または一時停止または再開のいずれかを行う実行手段と、を有することを特徴とする数値制御装置である。
本願の請求項2に係る発明は、前記バッファリングポイントの二点に挟まれた加工プログラムの部分領域が前記内部メモリの予め設定された領域の大きさを超えていないかを、前記外部記憶装置または前記外部制御装置に格納された前記加工プログラムの全領域にわたって前記部分領域毎に診断し、該診断結果として前記内部メモリの大きさを超えていた前記部分領域を示す情報を出力することを特徴とする請求項1に記載の数値制御装置である。
本願の請求項3に係る発明は、前記内部メモリの大きさを超えていた前記部分領域を新たに分割する前記バッファリングポイントを出力する、ことを特徴とした請求項2に記載の数値制御装置である。
本願の請求項4に係る発明は、自動運転の一時停止を行う際に工具退避を行うか否かを設定可能である、ことを特徴とする請求項1〜3のいずれか1つに記載の数値制御装置である。
本願の請求項5に係る発明は、専用の命令または汎用の切削を行わない命令の少なくとも一方を、バッファリングポイントとして使用可能である、ことを特徴とする請求項1〜4のいずれか1つに記載の数値制御装置である。
バッファリングポイント命令は内部メモリへの加工プログラムをバッファリングする区切りを指定する命令である。バッファリングポイント命令は、専用命令に加えて、工具退避命令や早送り命令など、自動運転を一時停止してもカッタマークが生成しないような非切削命令も、バッファリングポイント命令となる。数値制御装置は、バッファリングポイント命令に挟まれた加工プログラムの各部分領域が、数値制御装置の内部メモリにバッファリングできるサイズであるかどうかついて、自動運転開始前に予め診断を行う。診断の結果、サイズ違反となっている部分領域については、数値制御装置が加工プログラムを解析することで工具の運動方向が反転する位置、例えばワークの端面などを検出し、ここにバッファリングポイント専用命令を新規に挿入する。
このような構成を設けることにより、数値制御装置がホストからのデータ転送や補助記憶装置からの読み出しにより加工プログラムを内部メモリへのバッファリングする場合に、バッファリングポイント命令間の加工プログラムのバッファリングが完了してから運転を行い、バッファリングが未完了の場合には運転を一時停止し、設定に応じて工具を退避することができる。そのため、データ転送が遅く内部メモリが空になってしまう場合でも、予め指定したバッファリングポイント命令以外の箇所で加工が停止することはなく、ワークにカッタマークの生成や振動が発生する、という問題が発生しない。
また、バッファリングポイント命令の挿入位置について事前に診断し、問題のある箇所については、加工プログラムを解析し、自動的にバッファリングポイント命令を挿入するので、作業者は加工プログラムの作成時にバッファリングポイント命令の存在を意識することなく、長大なプログラムを作成することができる。
本発明の実施の形態における数値制御装置の要部ブロック図である。 本発明の実施の形態1における数値制御装置の機能ブロック図である。 本発明の実施の形態において使用する加工プログラムの例を示す図である。 本発明の実施の形態1における解析処理のフローチャートである。 本発明の実施の形態1における実行処理のフローチャートである。 本発明の実施の形態1における診断処理のフローチャートである。 本発明の実施の形態1におけるバッファリングポイント命令挿入位置出力処理のフローチャートである。 本発明の実施の形態2における数値制御装置の機能ブロック図である。 本発明の実施の形態2における解析処理のフローチャートである。 本発明の実施の形態2における実行処理のフローチャートである。 本発明の実施の形態2における診断処理のフローチャートである。 本発明の実施の形態2におけるバッファリングポイント命令挿入位置出力処理のフローチャートである。 従来技術におけるネットワークを介したリモート運転機能を備えた数値制御装置のブロック図である。 従来技術における補助記憶装置を用いたリモート運転機能を備えた数値制御装置のブロック図である。
以下、本発明の実施形態を図面と共に説明する。なお、従来技術と同一または類似する構成は同じ符号を用いて説明する。
<実施の形態1>
図1は、本発明の実施形態に係る数値制御装置100とホストコンピュータ200と補助記憶装置300(ここではメモリカード50及びUSBメモリ60)を含む周辺構成をブロック図で示したものである。
図1に示したように、工作機械の各軸を数値制御する数値制御装置100は、通常のハードウェア構成のもので、全体を制御するCPU11とそのチップセット12、チップセット12と内部バス25を介してCPU11に接続された内部メモリ13、不揮発性メモリ14、軸制御部15、軸接続部16、主軸制御部17、主軸接続部18、PMC制御部19、操作キー接続部20、表示器接続部21、外部通信制御部22、補助記憶装置接続部(ここではメモリカード接続制御部23及びUSB接続制御部24)を備えている。
操作キー接続部20にはオペレータがマニュアル操作を行うための操作キー30(キーボード)に接続され、表示器接続部21には表示器40が接続されている。補助記憶装置接続部には記憶媒体(ここではメモリカード50及びUSBメモリ60)が接続され、プログラムやパラメータその他の送受信に利用される。また、外部通信制御部22には通信手段を介してホストコンピュータ200が接続され、記憶媒体と同様にプログラムやその他のデータ通信に利用される。不揮発性メモリ14には、数値制御装置100の動作ソフトが格納されており、CPU11は電源投入後の動作開始時に、これを不揮発性メモリ14からローディングする(ブート動作)のに利用される。
この他、加工プログラムや各種設定データなども不揮発性メモリ14に格納されており、補助記憶装置や外部通信を利用しない自動運転の場合には、不揮発性メモリ14に格納された加工プログラムを内部メモリ13の加工プログラム格納領域に一括して読み出して自動運転が行われる。
工作機械も通常構成のもので、軸数(ここでは2を例示)分と主軸数(ここでは1を例示)分のアンプ70とモータ80の他、機械制御装置90、PMC制御部19と機械制御装置90を繋ぐ入出力装置91(I/O)を備えている。
図2は、本発明の実施形態に係る数値制御装置100の加工プログラムの処理を示したブロック図である。自動運転実行部は、ブロック解析部110、ブロック実行部120、内部メモリ160から構成されており、さらにバッファリングポイント命令を内部メモリに格納した回数を表すバッファリングポイントリードカウンタ170と、バッファリングポイント命令を実行した回数を表すバッファリングポイント実行カウンタ180と、工具退避の許可不許可や工具退避方向及び工具退避量などの設定情報が保存されている工具退避設定部190も、自動運転実行部に含まれている。
まずブロック解析部110は、1ブロックまたは複数のブロックの加工プログラムを、補助記憶装置300またはホストコンピュータ200からそれぞれの補助記憶装置接続制御部130または外部通信制御部140を通じて読み出す。次にブロック解析部110は、読み出した加工プログラムのブロックを解析し(解析処理)、解析結果を実行形式として加工プログラム実行形式格納領域161に格納する(バッファリング)。ここで加工プログラム実行形式格納領域161は、先入れ先出しバッファ(FirstInFirstOut:FIFO)となっており、先に格納された実行形式から順にブロック実行部に渡される。ブロック実行部120は、加工プログラム実行形式格納領域161に先に格納された実行形式から順にブロック解析結果を実行する(実行処理)。自動運転中において、軸及び主軸への指令を淀みなく行うために、一般に実行処理は所定の周期で実行される。一方解析処理は、所定の周期で所定回数行われても、実行処理の合間に行われても良い。いずれにしても解析処理と実行処理の両者は、順次行われるものではなく、それぞれ並行して行われる。
図3は、本発明の実施の形態の数値制御装置100で使用される加工プログラムの一例である。先頭のO0001はプログラム番号で、末尾のM30はプログラムエンドを表す。O0001とM30に挟まれた各行はブロックと呼ばれ、工具や主軸の動作令や、工具設定、各種補正機能など、数値制御装置100に与える指令が書き込まれている。各ブロックは、先頭にブロックを識別するためのシーケンス番号(図例ではN001〜N020)が書き込まれ、次に軸の移動の方法やその他の設定を数値制御装置100に指令するための準備機能を表すGコード(図例ではG00〜G01)と、Gコードに対応した座標値の指令であるディメンジョンワード(図例ではX、Z)が書き込まれている。
準備機能は一度指定すると変更されるまでずっと有効となる命令もあり(モーダル指令)、指令そのものを変更しない場合にはN013のブロックのように省略される場合もある。また、例では、マクロやサブプログラムの呼び出し、回転軸割り出しなどに使用される補助機能(例ではM)が書き込まれている。この他ブロックには、主軸への指令を表す主軸機能(S機能)、工具の設定を表す工具機能(T機能)なども書き込まれる(図示せず)。図例では、シーケンス番号N011のブロックとN020の末尾に書かれているM1000が、本発明において導入されるバッファリングポイントを表す補助命令である。
図4は、解析処理1回分の流れを表すフローチャートである。前述の通り、解析処理は所定の周期に所定回数だけ、または実行処理の合間の空き時間に開始される。
まず、内部メモリの加工プログラム実行形式格納領域161に空きがあるかどうかが確認され(ステップSA01)、空きがない場合には解析処理終了となる。空きがあった場合、補助記憶装置300またはホストコンピュータ200から加工プログラムを1ブロック読み込み解析する(ステップSA02)。解析したブロックがプログラムエンドの場合には(ステップSA03)、解析処理は終了となる。プログラムエンドではない場合、解析結果が実行形式として出力され、加工プログラム実行形式格納領域161に格納される(ステップSA04)。最後に、解析したブロックにバッファリングポイント命令が含まれていたかを確認し(ステップSA05)、含まれていない場合には解析処理終了、含まれていればバッファリングポイントリードカウンタ170がカウントアップされる(ステップSA06)。
バッファリングポイントリードカウンタ170は、自動運転の開始時にクリアされており、このようにバッファリングポイント命令を読み出す度に値がカウントアップされるので、何回バッファリングポイント命令を含むブロックを補助記憶装置300またはホストコンピュータ200から読み出したかの回数が記録されていることになる。つまり、内部メモリ160の加工プログラム実行形式格納領域161に格納済みの加工プログラムのうち、最新のバッファリングポイント命令を含むブロックが、加工プログラムの頭から数えて何番目のバッファリングポイントであったかを示している。
図5は、実行処理1回分の流れを表すフローチャートである。
まず、バッファリングポイント実行カウンタ180とバッファリングポイントリードカウンタ170の値を比較し(ステップSB01)、バッファリングポイント実行カウンタ180の値がバッファリングポイントリードカウンタ170の値以上の場合、実行処理が終了する。バッファリングポイントリードカウンタ170のほうが大きい場合には、工具が退避されているかどうかを確認し(ステップSB02)、工具が退避されていれば工具を復帰する(ステップSB03)。次にブロック実行部120は加工プログラム実行形式格納領域161に先に格納された実行形式から順にこれを読み出して実行する(ステップSB04)。この時、読み出した実行形式にバッファリングポイント命令が含まれていない場合は(ステップSB05)、読み出した実行形式が通常通り実行されて、1回分の実行処理が終了となる
一方、バッファリングポイント命令が含まれていた場合には、まずバッファリングポイント実行カウンタ180がカウントアップされる(ステップSB06)。ここで、バッファリングポイント実行カウンタ180とバッファリングポイントリードカウンタ170の比較が再度行われる(ステップSB07)。この比較により、現在実行中のバッファリングポイント命令よりも、一つ先のバッファリングポイント命令までをバッファリング完了済みであるかを確認することができる。この比較において、バッファリングポイント実行カウンタ180とバッファリングポイントリードカウンタ170の値が等しい場合には、工具退避設定部の内容を確認する(ステップSB08)。ここで工具退避が有効になっている場合には、設定された退避方向と退避量に従って工具を退避し(ステップSB09)、実行処理が終了となる。退避が有効でない場合には、工具退避を実行せずに実行処理が終了となる。
なお、工具退避有効無効/工具退避量/工具退避方向の各設定は、自動運転前に予め工具退避設定部190に設定しておくことが可能であり、また加工プログラム中の命令でも、自動運転中に随時変更することも可能である。
図6は、補助記憶装置300またはホストコンピュータ200に格納された加工プログラムに、バッファリングポイントが適切な間隔で挿入されているかを診断する診断処理の流れを表すフローチャートである。
まず、バッファリングポイントリードカウンタ170の値がクリアされる(ステップSC01)。次に、補助記憶装置300またはホストコンピュータ200から加工プログラムを1ブロック読み込み、これを解析する(ステップSC02)。読み込んだブロックがプログラムエンドの場合には(ステップSC03)、診断処理は終了となる。プログラムエンドでなかった場合には、解析結果を実行形式として出力し、内部メモリの加工プログラム実行形式格納領域161に格納する(ステップSC04)。
次に、加工プログラム実行形式格納領域161の格納データが溢れていないかをチェックし(ステップSC05)、溢れている場合には、現在のバッファリングポイントリードカウンタ170の値を記録する(ステップSC06)。溢れていない場合には、解析したブロックにバッファリングポイント命令が含まれていたかをチェックし(ステップSC07)、含まれていなかった場合には、加工ブロックの読み込みから再度同様の処理を行う。含まれていた場合には、バッファリングポイントリードカウンタ170の値をカウントアップした上で(ステップSC08)、加工プログラム実行形式格納領域161に格納された実行形式のデータを全てクリアした上で(ステップSC09)、加工ブロックの読み込みから再度同様の処理を行う。
ステップSC05において、加工プログラム実行形式格納領域161が溢れていた場合においても、同様に加工プログラム実行形式格納領域161のデータを全てクリアした上で(ステップSC09)、加工ブロックの読み込みから再度同様の処理を行う。
以上の流れを繰り返すことで、バッファリングポイント命令間のブロック数が多すぎるために内部メモリの加工プログラム実行形式格納領域161に収まらなくなってしまう箇所の、直前のバッファリングポイント命令の位置がバッファリングポイントリードカウンタ170の値の形で全て記録される。数値制御装置100は本処理を実行後、記録されたバッファリングポイントリードカウンタ170の値をユーザに出力し、加工プログラム実行形式格納領域161に収まらない箇所をユーザに通知することができる。
なお、加工プログラム実行形式格納領域161が溢れるか溢れないかのチェックについては、実際の格納領域の大きさよりも小さく設定して、診断処理を行うことも可能である。
図7は、図6の診断処理を実行した結果、内部メモリ160の加工プログラム実行形式格納領域161に収まらなかった箇所について、新たに追加すべきバッファリングポイント命令の位置を出力する処理の流れを表すフローチャートである。
まず、前述の診断処理で記録されたバッファリングポイント命令の位置まで加工プログラムをサーチする(ステップSD01)。サーチ位置から、加工プログラム実行形式格納領域161が溢れるまで加工プログラムの読み出しと解析、加工プログラム実行形式格納領域161への格納を繰り返す(ステップSD02)。ステップSD02の処理を繰り返している最中に、プログラムエンドまたはバッファリング命令が読み出されたら(ステップSD03)、正常終了する。途中で加工プログラム実行形式格納領域161が溢れたら(ステップSD04)、溢れた箇所から1ブロックずつ加工プログラムを遡り、早送りなどの非切削命令で構成されるブロック、または工具の運動方向が反転するブロックをサーチする(ステップSD05)。サーチの結果、一つ手前のバッファリングポイント命令または加工プログラムの先頭までにサーチ条件に該当するブロックが見つかれば(ステップSD06)、見つかったブロックの位置のサイクル番号を記録し(ステップSD07)、格納領域のデータをオールクリアし(ステップSD08)、ステップSD07で記録したサイクル番号の位置に戻り(ステップSD09)、そこから再度同様の処理を繰り返す。このように処理を繰り返すことで、検出したバッファリングポイントの挿入位置以降の領域が加工プログラム実行形式格納領域161に収まらない場合にも対応することができる。なお、ステップSD06において、早送りなどの非切削命令で構成されるブロック、または工具の運動方向が反転するブロックが見つからなければ、エラー終了となる。
以上の処理を行うことにより、加工プログラム実行形式格納領域161から溢れる加工ブロックの領域について、バッファリングポイントを追加すべき位置を出力し、ユーザに通知することができる。このような処理を、前述の診断箇所で加工プログラム実行形式格納領域161に収まらなかった箇所の全てにおいて実行することで、加工プログラムの全領域にわたってバッファリングポイントを挿入すべき箇所をユーザに通知することができる。なお、ユーザへの通知時には、実際に新規にバッファリングポイントを挿入して良いかも合わせて確認する。ユーザが許可すると、新規のバッファリングポイントが加工プログラムの該当箇所に自動挿入される。また、ユーザへの通知なしに自動でバッファリングポイント命令を挿入するように事前に設定しておくこともできる。
バッファリングポイント命令は、専用命令に加えて、工具退避命令や早送り命令など、自動運転を一時停止してもカッタマークが生成しないような非切削命令も、バッファリングポイント命令となる。また、ユーザ指定の任意の命令について、バッファリングポイント命令として扱うかどうかを事前に設定しておくこともできる。
なお本実施例では、バッファリングポイントリードカウンタ170とバッファリングポイント実行カウンタ180を自動運転実行部に持っていたが、両者を一つのバッファリングポイントカウンタで代用し、バッファリングポイント命令を加工プログラム実行形式格納領域161に格納したらカウンタを+1、バッファリングポイント命令を実行部で実行したらカウンタを−1、ブロック実行部120はカウンタが0になったら自動運転を一時停止、として実現することもできる。
<実施の形態2>
実施の形態1では、図2に示すように、ブロック解析部110の解析結果を内部メモリ160の加工プログラム実行形式格納領域161に格納するように構成した数値制御装置100の実施の形態を示した。実施の形態2では、ブロック解析部110の手前で、内部メモリ160の加工プログラム格納領域162に加工プログラムを格納する数値制御装置100についての例について説明する。
なお、使用する加工プログラムの例は図3と同様である。数値制御装置と周辺構成も図1と同様である。
図8は、本実施例に係る数値制御装置100の加工プログラムの処理を示したブロック図である。
図2と異なり、補助記憶装置300やホストコンピュータ200から読み出された加工プログラムは、まず内部メモリ160の加工プログラム格納領域162に格納される(読み出し処理、バッファリング)。格納された加工プログラムはブロック解析部110に渡される。ブロック解析部110が解析結果をブロック実行形式として出力し、これをブロック実行部120に渡す(解析処理)。ブロック実行部120は、渡されたブロック実行形式を実行する(実行処理)。
実施の形態1と同様、実行処理は所定の周期で実行される。解析処理は、実行処理と同様に所定の周期で実行処理に対応して実行される。一方読み出し処理は、所定の周期で所定回数行われる場合と、実行処理及び解析処理の合間に行われる場合がある。いずれにしても解析処理及び実行処理と読み出し処理の両者は、順次行われるものではなく、それぞれ平行して行われる。
図9は、読み出し処理1回分の流れを表すフローチャートである。前述の通り、読み出し処理は所定の周期に所定の回数だけ、または実行処理と解析処理の合間の空き時間に開始される。
まず、内部メモリ160の加工プログラム格納領域162に空きがあるかどうかが確認され(ステップSE01)、空きがない場合には読み出し処理終了となる。空きが合った場合、補助記憶装置300またはホストコンピュータ200から加工プログラムをブロック読み込む(ステップSE02)。読み込んだブロックがプログラムエンドの場合には(ステップSE03)、解析処理は終了となる。プログラムエンドではない場合、読み込んだブロックが内部メモリ160の加工プログラム格納領域162に格納される(ステップSE04)。最後に、読み込んだブロックにバッファリングポイント命令が含まれていたかを確認し(ステップSE05)、含まれていない場合には読み出し処理終了、含まれていればバッファリングポイントリードカウンタ170がカウントアップされる(ステップSE06)。
バッファリングポイントリードカウンタ170は、自動運転開始時にクリアされており、実施の形態1と同様に内部メモリ160に格納された加工プログラムのうち、最新のバッファリングポイント命令を含むブロックが、加工プログラムの頭から数えて何番目のバッファリングポイントであるかを示している。
図10は、実行処理1回分の流れを表すフローチャートである。
まず、バッファリングポイント実行カウンタ180とバッファリングポイントリードカウンタ170の値を比較し(ステップSF01)、バッファリングポイント実行カウンタ180の値がバッファリングポイントリードカウンタ170の値以上の場合、実行処理が終了する。バッファリングポイントリードカウンタ170のほうが大きい場合には、工具が退避されているかどうかを確認し(ステップSF02)、工具が退避されていれば工具を復帰する(ステップSF03)。次にブロック解析部110は加工プログラム格納領域162から先に格納されたブロックから順にこれを読み出して解析し、解析結果の指令をブロック実行部120へ渡す(ステップSF04)。この時、解析したブロックにバッファリングポイント命令が含まれていない場合は(ステップSF05)、解析したブロックが通常通り実行されて、1回分の実行処理が終了となる
一方、バッファリングポイント命令が含まれていた場合には、まずバッファリングポイント実行カウンタ180がカウントアップされる(ステップSF06)。ここで、バッファリングポイント実行カウンタ180とバッファリングポイントリードカウンタ170の比較が再度行われる(ステップSF07)。この比較により、現在実行中のバッファリングポイント命令よりも、一つ先のバッファリングポイント命令までをバッファリング完了済みであるかを確認することができる。この比較において、バッファリングポイント実行カウンタ180とバッファリングポイントリードカウンタ170の値が等しい場合には、工具退避設定部の内容を確認する(ステップSF08)。ここで工具退避が有効になっている場合には、現在の実行処理の終了後に設定された退避方向と退避量に従って工具を退避し(ステップSF09)、実行処理が終了となる。退避が有効でない場合には、工具退避を実行せずに実行処理が終了となる。
図11は、補助記憶装置300またはホストコンピュータ200に格納された加工プログラムに、バッファリングポイントが適切な間隔で挿入されているかを診断する診断処理の流れを表すフローチャートである。
まず、バッファリングポイントリードカウンタ170の値がクリアされる(ステップSG01)。次に、補助記憶装置300またはホストコンピュータ200から加工プログラムを1ブロック読み込む(ステップSG02)。読み込んだブロックがプログラムエンドの場合には(ステップSG03)、診断処理は終了となる。プログラムエンドでなかった場合には、加工プログラム格納領域162の格納データが溢れていないかをチェックし(ステップSG04)、溢れている場合には、現在のバッファリングポイントリードカウンタ170の値を記録する(ステップSG05)。溢れていない場合には、解析したブロックにバッファリングポイント命令が含まれていたかをチェックし(ステップSG06)、含まれていなかった場合には、加工ブロックの読み込みから再度同様の処理を行う。含まれていた場合には、バッファリングポイントリードカウンタ170の値をカウントアップした上で(ステップSG07)、加工プログラム格納領域162に格納されたデータを全てクリアした上で(ステップSG08)、加工ブロックの読み込みから再度同様の処理を行う。
ステップSG05において、加工プログラム格納領域162が溢れていた場合においても、同様に加工プログラム格納領域162のデータを全てクリアした上で(ステップSG08)、加工ブロックの読み込みから再度同様の処理を行う。
以上の流れを繰り返すことで、バッファリングポイント命令間のブロック数が多すぎるために内部メモリ160の加工プログラム格納領域162に収まらなくなってしまう箇所の、直前のバッファリングポイント命令の位置がバッファリングポイントリードカウンタ170の値の形で全て記録される。数値制御装置100は本処理を実行後、記録されたバッファリングポイントリードカウンタ170の値をユーザに出力し、加工プログラム格納領域162に収まらない箇所をユーザに通知することができる。
なお、加工プログラム格納領域162が溢れるか溢れないかのチェックについては、実際の格納領域の大きさよりも小さく設定して、診断処理を行うことも可能である。
図12は、図11の診断処理を実行した結果、内部メモリ160の加工プログラム格納領域162に収まらなかった箇所について、新たに追加すべきバッファリングポイント命令の位置を出力する処理の流れを表すフローチャートである。
まず、前述の診断処理で記録されたバッファリングポイント命令の位置まで加工プログラムをサーチする(ステップSH01)。サーチ位置から、加工プログラム格納領域162が溢れるまで加工プログラムの読み出しと、加工プログラム格納領域162への格納を繰り返す(ステップSH02)。ステップSH02の処理を繰り返している最中に、プログラムエンドまたはバッファリング命令が読み出されたら(ステップSH03)、正常終了する。途中で加工プログラム格納領域162が溢れたら(ステップSH04)、溢れた箇所から1ブロックずつ加工プログラムを遡り、早送りなどの非切削命令で構成されるブロック、または工具の運動方向が反転するブロックをサーチする(ステップSH05)。サーチの結果、一つ手前のバッファリングポイント命令または加工プログラムの先頭までにサーチ条件に該当するブロックが見つかれば(ステップSH06)、見つかったブロックの位置のサイクル番号を記録し(ステップSH07)、加工プログラム格納領域162のデータをオールクリアし(ステップSH08)、記録したサイクル番号の位置に戻り(ステップSH09)、そこから再度同様の処理を繰り返す。このように処理を繰り返すことで、検出したバッファリングポイントの挿入位置以降の領域が加工プログラム格納領域162に収まらない場合にも対応することができる。なお、ステップSH06において、早送りなどの非切削命令で構成されるブロック、または工具の運動方向が反転するブロックが見つからなければ、エラー終了となる。
以上の処理を行うことにより、加工プログラム格納領域162から溢れる加工ブロックの領域について、バッファリングポイントを追加すべき位置を出力し、ユーザに通知することができる。このような処理を、前述の診断箇所で加工プログラム格納領域162に収まらなかった箇所の全てにおいて実行することで、加工プログラムの全領域にわたってバッファリングポイントを挿入すべき箇所をユーザに通知することができる。なお、ユーザへの通知時には、実際に新規にバッファリングポイントを挿入して良いかも合わせて確認する。ユーザが許可すると、新規のバッファリングポイントが加工プログラムの該当箇所に自動挿入される。また、ユーザへの通知なしに自動でバッファリングポイント命令を挿入するように事前に設定しておくこともできる。
11 CPU
12 チップセット
13 メモリ
14 不揮発性メモリ
15 軸制御部
16 軸接続部
17 主軸制御部
18 主軸接続部
19 PMC制御部
20 操作キー接続部
21 表示器接続部
22 外部通信制御部
23 メモリカード接続制御部
24 USB接続制御部
25 内部バス
30 操作キー
40 表示器
50 メモリカード
60 USBメモリ
70 アンプ
80 モータ
90 機械制御装置
91 I/O
100 数値制御装置
110 ブロック解析部
120 ブロック実行部
130 補助記憶装置接続制御部
140 外部通信制御部
150 運転バッファ
160 内部メモリ
161 加工プログラム実行形式格納領域
162 加工プログラム格納領域
170 バッファリングポイントリードカウンタ
180 バッファリングポイント実行カウンタ
190 工具退避設定部
200 ホストコンピュータ
300 補助記憶装置

Claims (5)

  1. 外部記憶装置または外部制御装置から接続手段を介して加工プログラムを内部メモリにバッファリングし、バッファリングされた前記加工プログラムに基づいて自動運転実行部が自動運転を行う数値制御装置において、
    前記加工プログラムは一つまたは複数個のバッファリングポイントを含み、
    前記自動運転実行部は、
    前記内部メモリへの前記加工プログラムバッファリングにおいて、バッファリングする該加工プログラムに前記バッファリングポイントが含まれているか否かを確認し確認結果を保持するバッファリング完了確認結果保持手段と、
    前記内部メモリにバッファリングされた前記加工プログラムを前記自動運転実行部が実行する際に、実行する加工プログラムに前記バッファリングポイントが含まれているか否かを確認し結果を保持する実行確認結果保持手段と
    前記バッファリング完了確認結果保持手段と前記実行確認結果保持手段とを比較する比較手段と
    該比較結果に基づいて自動運転の継続または一時停止または再開のいずれかを行う実行手段と、
    を有することを特徴とする数値制御装置。
  2. 前記バッファリングポイントの二点に挟まれた加工プログラムの部分領域が前記内部メモリの予め設定された領域の大きさを超えていないかを、前記外部記憶装置または前記外部制御装置に格納された前記加工プログラムの全領域にわたって前記部分領域毎に診断し、該診断結果として前記内部メモリの大きさを超えていた前記部分領域を示す情報を出力することを特徴とする請求項1に記載の数値制御装置。
  3. 前記内部メモリの大きさを超えていた前記部分領域を新たに分割する前記バッファリングポイントを出力する、
    ことを特徴とした請求項2に記載の数値制御装置。
  4. 自動運転の一時停止を行う際に工具退避を行うか否かを設定可能である、
    ことを特徴とする請求項1〜3のいずれか1つに記載の数値制御装置。
  5. 専用の命令または汎用の切削を行わない命令の少なくとも一方を、バッファリングポイントとして使用可能である、
    ことを特徴とする請求項1〜4のいずれか1つに記載の数値制御装置。
JP2014154975A 2014-07-30 2014-07-30 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置 Active JP6068401B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014154975A JP6068401B2 (ja) 2014-07-30 2014-07-30 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置
US14/798,718 US10018990B2 (en) 2014-07-30 2015-07-14 Numerical controller including DNC operation unit
DE102015009583.8A DE102015009583B4 (de) 2014-07-30 2015-07-23 Numerische Steuerung mit DNC-Betriebseinheit
CN201510455399.7A CN105320066B (zh) 2014-07-30 2015-07-29 具备dnc运转单元的数值控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014154975A JP6068401B2 (ja) 2014-07-30 2014-07-30 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置

Publications (2)

Publication Number Publication Date
JP2016031725A JP2016031725A (ja) 2016-03-07
JP6068401B2 true JP6068401B2 (ja) 2017-01-25

Family

ID=55079640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014154975A Active JP6068401B2 (ja) 2014-07-30 2014-07-30 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置

Country Status (4)

Country Link
US (1) US10018990B2 (ja)
JP (1) JP6068401B2 (ja)
CN (1) CN105320066B (ja)
DE (1) DE102015009583B4 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6325625B2 (ja) * 2016-10-14 2018-05-16 ファナック株式会社 プログラム最適化システム
EP3438773B1 (de) * 2017-08-04 2020-09-30 Siemens Aktiengesellschaft Bearbeitung von werkstücken mit modellgestützter fehlerkompensation
JP6680741B2 (ja) * 2017-10-25 2020-04-15 ファナック株式会社 数値制御装置
JP7343340B2 (ja) * 2019-09-18 2023-09-12 ファナック株式会社 工作機械の加工制御装置及び加工制御方法
JP7316169B2 (ja) * 2019-09-25 2023-07-27 ファナック株式会社 数値制御装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61245207A (ja) * 1985-04-23 1986-10-31 Fanuc Ltd Ncプログラムデ−タ転送方法
JP2780729B2 (ja) * 1992-05-07 1998-07-30 三菱電機株式会社 数値制御装置
JP3230922B2 (ja) * 1994-02-25 2001-11-19 オークマ株式会社 リモート運転機能を備えた数値制御装置
JP3451594B2 (ja) * 1995-12-21 2003-09-29 株式会社森精機ハイテック 数値制御装置における記憶手段アクセス制御方法および数値制御装置
JP2003195930A (ja) 2001-12-28 2003-07-11 Amada Denshi:Kk Nc工作機のdnc運転方法及びそのシステム
JP2004078476A (ja) 2002-08-14 2004-03-11 Fanuc Ltd 数値制御装置
JP2004252844A (ja) * 2003-02-21 2004-09-09 Fanuc Ltd 数値制御装置
JP2005135153A (ja) 2003-10-30 2005-05-26 Fanuc Ltd 数値制御装置
JP2006172388A (ja) * 2004-12-20 2006-06-29 Fanuc Ltd 数値制御装置
JP4247264B2 (ja) * 2006-10-06 2009-04-02 ファナック株式会社 工作機械の制御装置
JP4271248B2 (ja) * 2007-05-24 2009-06-03 ファナック株式会社 先読み停止機能を有する数値制御装置
JP5037372B2 (ja) 2008-01-29 2012-09-26 ファナック株式会社 地震情報により工作機械を停止する機能を有する数値制御装置
JP4814365B2 (ja) * 2009-10-20 2011-11-16 ファナック株式会社 加工プログラムやバイナリデータが記憶されているメモリの領域を分割・結合することが可能な数値制御装置
JP5778430B2 (ja) 2011-01-12 2015-09-16 Dmg森精機株式会社 工作機械の制御装置
US9992745B2 (en) 2011-11-01 2018-06-05 Qualcomm Incorporated Extraction and analysis of buffered audio data using multiple codec rates each greater than a low-power processor rate
JP5657623B2 (ja) * 2012-09-21 2015-01-21 ファナック株式会社 系統間待合せ機能を有する数値制御装置
JP5681230B2 (ja) * 2013-04-18 2015-03-04 ファナック株式会社 Dnc運転装置

Also Published As

Publication number Publication date
DE102015009583B4 (de) 2019-05-09
DE102015009583A1 (de) 2016-02-04
US10018990B2 (en) 2018-07-10
JP2016031725A (ja) 2016-03-07
CN105320066A (zh) 2016-02-10
CN105320066B (zh) 2018-05-18
US20160033956A1 (en) 2016-02-04

Similar Documents

Publication Publication Date Title
JP6068401B2 (ja) 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置
JP5715217B2 (ja) プログラムの先読み機能を備えた数値制御装置
CN103240640B (zh) 机床的暖机运转控制装置
JP6200456B2 (ja) 工作機械とロボット間の干渉チェックシステム
JP5813058B2 (ja) 複合形固定サイクルの開始点経路短縮機能を有する数値制御装置
JP2016078207A (ja) 指定時刻に加工を中断する数値制御装置
CN103676772A (zh) 具有系统间等待功能的数值控制装置
CN104850059A (zh) 防止加工条件变更后的误加工的数值控制装置
JP5792254B2 (ja) 休止点が指定可能な数値制御装置
JP6088471B2 (ja) 加工動作の調整を容易にする数値制御装置
CN106346304A (zh) 机床的热位移修正装置
JP6472227B2 (ja) 数値制御装置
CN105446270A (zh) 机床的控制装置
JP5681230B2 (ja) Dnc運転装置
JP5752213B2 (ja) テーブル形式データで複数の指令を同時に実行する機能を備えた数値制御装置
CN105388848A (zh) 缩短加工程序的周期时间的数值控制装置
US4839817A (en) Numerically controlled apparatus including shunting controller
WO2022014535A1 (ja) 数値制御装置、及び制御方法
CN112147953B (zh) 数值控制装置
JP7277292B2 (ja) Plc装置
KR910007052B1 (ko) 수치제어장치
JP6568152B2 (ja) 数値制御装置
JP2009110223A (ja) 数値制御装置、数値制御プログラム及び数値制御プログラムを記憶した記憶媒体
EP1389748A2 (en) Numerical controller
JP5851684B2 (ja) Ncプログラム作成方法及び作成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160914

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160915

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161130

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161222

R150 Certificate of patent or registration of utility model

Ref document number: 6068401

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150