JP2019012472A - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP2019012472A
JP2019012472A JP2017129591A JP2017129591A JP2019012472A JP 2019012472 A JP2019012472 A JP 2019012472A JP 2017129591 A JP2017129591 A JP 2017129591A JP 2017129591 A JP2017129591 A JP 2017129591A JP 2019012472 A JP2019012472 A JP 2019012472A
Authority
JP
Japan
Prior art keywords
command
program
execution
order
unit
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.)
Granted
Application number
JP2017129591A
Other languages
English (en)
Other versions
JP6568152B2 (ja
Inventor
学 斉藤
Manabu Saito
学 斉藤
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 JP2017129591A priority Critical patent/JP6568152B2/ja
Priority to US16/015,700 priority patent/US11226609B2/en
Priority to DE102018005007.7A priority patent/DE102018005007B4/de
Priority to CN201810701516.7A priority patent/CN109213084A/zh
Publication of JP2019012472A publication Critical patent/JP2019012472A/ja
Application granted granted Critical
Publication of JP6568152B2 publication Critical patent/JP6568152B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • 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/4155Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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/32Operator till task planning
    • G05B2219/32128Gui graphical user interface
    • 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/34013Servocontroller
    • 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/34216Programmable motion controller

Abstract

【課題】NCプログラムの指令の間で実行順序の指定をすることが可能な数値制御装置を提供すること。【解決手段】本発明の数値制御装置1は、少なくとも1つのNCプログラムを実行して複数の系統を制御しており、該NCプログラムには、複数の系統のそれぞれを制御するための指令の間の実行順序を指定できる順序指定指令が含まれ、NCプログラムに含まれる指令を読み出して解析し、該指令の実行順序が順序指定指令で指定されている場合に、実行順序を付した指令データを出力する少なくとも1つの指令解析部100と、指令解析部100が出力した実行順序を付した指令データに基づいて、該実行順序に従って各系統の指令処理を実行する少なくとも1つの指令実行部120と、を備える。【選択図】図2

Description

本発明は、数値制御装置に関し、特に指令の順序指定が可能な数値制御装置に関する。
数値制御装置による工作機械の制御に用いる多系統プログラムにおいては、系統間での待合せ命令を指令することで同期を取ることができる。これは、系統間で同時に加工を開始したいブロックがある場合や、待合せ後に経路の計算が必要な場合などに有効な命令である。従来の系統間の待合せ処理は、図11に示すように、待合せをするそれぞれの系統のNCプログラムに予め待合せ命令を埋め込んでおき、プログラム解析処理において待合せ命令を検知した時に、検知した系統のNCプログラム解析処理を一時停止するものである。その後、指定された他の系統の待合せ命令の到達を待って処理を再開する(例えば、特許文献1など)。
特開平01−295741号公報
近年、工程の集約が進むことにより1台の制御装置で、加工だけでなくワークのハンドリングや測定処理などを行うことが求められている。ワークのハンドリングや測定処理の制御では、他の系統との間での同時性は必要とされないことが多いが、処理の順序関係を指定通りに保ちながら、他の系統と並行して制御する必要がある。
例えば、図12に示すように、切削加工後にワークの搬送を行うような場合には、搬送装置の動作Bの開始を待つことなく、工具の退避行動Aを開始することが可能であり、一方で、搬送装置は工具の退避Aが開始されたあとであればいつでも搬送動作Bを開始しても干渉することは無い。また、図13に示すように、工具による退避行動Aよりも搬送装置の搬送動作Bが遅く、搬送動作Bにおけるブロックb−1の終了時点で工具の退避Aが開始されている場合には、ブロックb−1の終了時点で待合わせをすることなく、ブロックb−1とブロックb−2をオーバラップさせて搬送動作Bを行っても問題は無い。
しかしながら、従来技術を用いる場合、各系統間での干渉を防ぐためにはNCプログラム中に待合せ命令を追加しておく必要があり、待合せ命令を用いると、工具も搬送装置も待合せブロックにおいて一旦停止する瞬間が発生してしまい、サイクルタイムが伸びる原因となるという問題があった。お互いの干渉を防ぐなどの目的で、片方の系統だけがもう一方の系統の動作を待つ必要がある場合には、図12,13で説明したように両系統が同期する待合せ処理を行う必要はない。
このような課題を解決するために、従来はラダープログラムなどで機械座標を監視して、状況を判断してインタロックを掛けたり、制御指令の開始処理を抑制(シングルブロック停止)したりすることで、無駄の排除を実現してきたが、並列実行されているNCプログラムとラダープログラムの処理を組み合わせると、それぞれのプログラムが相手のプログラムの処理結果を待つ必要があるため、応答性の低下が引き起こされるという別の問題が生じる。
そこで本発明の目的は、NCプログラムの指令の間で実行順序の指定をすることが可能な数値制御装置を提供することである。
本発明では、異なる系統のNCプログラムで待合せ指令において、実行順序関係を指定する手段を提供することにより上記課題を解決する。本発明の数値制御装置は、例えば2つの系統のそれぞれの指令の間で実行順序関係を指定する場合、系統1のNCプログラム中のブロックA(指令A)に1番、系統2のNCプログラム中のブロックB(指令B)に2番を指定する。このように指定した場合、本発明の数値制御装置は、NCプログラムの実行時に、指令Aの開始後に指令Bが開始する場合には、指令A,指令B共に待合せの処理は行わず、指令Aの開始前に指令Bが開始しようとする場合には、指令Bの開始処理を抑制して指令Aの実行開始を待つように制御する。
本発明による順序関係の指定は、複数のブロックの開始タイミングに対してのみでなく、1番の指令Aの実行の終了と、2番の指令Bの実行の開始とに順序関係を指定できるようにしても良い。また、本発明による順序関係の指定は、3系統以上での各指令間の順序の指定も、1番→2番→3番と番号を続けることで指定することが出来る。
そして、本発明の一態様は、少なくとも1つのNCプログラムを実行して複数の系統を制御する数値制御装置において、前記NCプログラムには、前記複数の系統のそれぞれを制御するための指令の間の実行順序を指定できる順序指定指令が含まれ、前記NCプログラムに含まれる指令を読み出して解析し、該指令の実行順序が前記順序指定指令で指定されている場合に、実行順序を付した指令データを出力する少なくとも1つの指令解析部と、前記指令解析部が出力した実行順序を付した指令データに基づいて、該実行順序に従って各系統の指令処理を実行する少なくとも1つの指令実行部と、を備える数値制御装置である。
本発明により、NCプログラム作成者は複雑な制御を入力することなく、処理の順序関係を指定通りに保ちながら複数の系統を並行して制御することが可能となるため、余分な待合せや一時停止が発生しなくなり、プログラム処理の応答性を低下させること無く加工におけるサイクルタイムを向上させることができる。
第1の実施形態による数値制御装置と該数値制御装置によって駆動制御される加工機の要部を示す概略的なハードウェア構成図である。 第1の実施形態による数値制御装置の概略的な機能ブロック図である。 位置実施形態による数値制御装置が実行する実行順序指定処理の概略的なフローチャートである。 2系統間の実行順序指定の例を示す図である。 2系統間の実行順序指定時のタイムチャートを示す図である。 1プログラムで2系統を制御する場合の実行順序指定の例を示す図である。 1プログラムで2系統を制御する場合の実行順序指定時のタイムチャートを示す図である。 多系統間の実行順序指定の例を示す図である。 多系統間の実行順序指定時のタイムチャートを示す図である。 第2の実施形態による数値制御装置の概略的な機能ブロック図である。 従来技術による系統間の待合せ処理の例を示す図である。 従来技術による系統間の待合せ処理の問題を説明する図である。 従来技術による系統間の待合せ処理の他の問題を説明する図である。
以下に本発明を実現するための数値制御装置の構成例を示す。
図1は本発明の第1の実施形態による数値制御装置と該数値制御装置によって駆動制御される加工機の要部を示す概略的なハードウェア構成図である。本実施形態による数値制御装置1が備えるCPU11は、数値制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従って数値制御装置1全体を制御する。RAM13には一時的な計算データや表示データ及び後述する表示器/MDIユニット70を介してオペレータが入力した各種データ等が格納される。
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされるなどして、数値制御装置1の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ14には、インタフェース15を介して読み込まれたNCプログラムや後述する表示器/MDIユニット70を介して入力されたNCプログラムに加えて、加工に使用する工具の切削条件の推奨値を含む工具データなどが記憶されている。不揮発性メモリ14には更に、NCプログラムを運転するために用いられるNCプログラム運転処理用プログラム等が記憶されるが、これらプログラムは実行時にはRAM13に展開される。また、ROM12には、NCプログラムの作成及び編集のために必要とされる編集モードの処理などを実行するための各種のシステム・プログラム(指令実行順序指定機能のシステム・プログラムを含む)があらかじめ書き込まれている。
インタフェース15は、数値制御装置1とアダプタ等の外部機器72と接続するためのインタフェースである。外部機器72側からはNCプログラムや各種パラメータ等が読み込まれる。また、数値制御装置1内で編集したNCプログラムは、外部機器72を介して外部記憶手段に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置1に内蔵されたシーケンス・プログラムで加工機の周辺装置(例えば、工具交換用のロボットハンドといったアクチュエータ)にI/Oユニット17を介して信号を出力し制御する。また、加工機の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU11に渡す。
表示器/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース18は表示器/MDIユニット70のキーボードからの指令,データを受けてCPU11に渡す。インタフェース19は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤71に接続されている。
加工機が備える軸を制御するための軸制御回路30はCPU11からの軸の移動指令量を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、加工機が備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。なお、図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる軸の数に応じて複数用意される。
スピンドル制御回路60は、加工機への主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、加工機のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ62にはポジションコーダ63が結合され、ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
図2は、本発明の実行順序指定機能を実現するためのシステム・プログラムを図1で示した数値制御装置1に実装した場合の、本発明の第1の実施形態による数値制御装置の要部を示す概略的な機能ブロック図である。図2に示した各機能ブロックは、図1に示した数値制御装置1が備えるCPU11が、実行順序指定機能のシステム・プログラムを実行し、数値制御装置1の各部の動作を制御することにより実現される。本実施形態の数値制御装置1は、指令解析部100、指令実行部120、補間部122、サーボ制御部124を備える。本実施形態の数値制御装置1では、指令解析部100、指令実行部120、補間部122は各系統に用意するようにしており、また、サーボ制御部124は、制御対象となる軸を駆動するサーボモータ50毎に用意している。また、不揮発性メモリ14にはNCプログラムを記憶するためのNCプログラム格納領域200が確保されており、NCプログラム格納領域200には各系統を制御するNCプログラムが予め格納されている。なお、NCプログラム格納領域200に格納されているNCプログラムは、系統毎に1つのNCプログラムを用意するようにしても良いが、1つのNCプログラムに複数の系統を制御するための指令を含めるようにしても良く、その場合、指令解析部100は、同時に実行するNCプログラムの数だけ用意される。
指令解析部100は、NCプログラム格納領域200からNCプログラムに含まれる指令ブロックを逐次読み出して、読み出した指令ブロックを解析し、指令データを作成する。指令解析部100が作成する指令データには、例えば制御対象となる各系統の軸を制御するために用いられる移動指令データが含まれる。指令解析部100は、NCプログラムから読み出したブロックに、指令の実行順序を指定する順序指定指令が含まれている場合には、該順序指定指令により指定された実行順序を付与した指令データを作成する。指令解析部100が指令データに付与する実行順序は、所定の順序を特定できるラベル(1,2,3…など)として示すことができる。また、指令解析部100が指令データに付与する実行順序は、実行順序を指定する指令の組毎に識別可能な所定の順序を特定できるラベル(1A,2A,3A…、1B,2B,3B…、など)として示すようにしても良く、このようにすることでNCプログラムの中に複数組の実行順序を指定することも可能となる。指令解析部100は、作成した指令データを系統ごとに用意されている指令実行部120に対して出力する。
指令実行部120は、指令解析部100から受けた指令データについて、実行順序を考慮したタイミングでの実行を制御する機能手段である。指令実行部120は、例えば指令データに移動指令データが含まれている場合には、該移動指令データを補間部122へと引き渡す。指令実行部120は、例えば指令解析部100から受けた指令データをキューに蓄え、キューの先頭にある指令データを補間部122へと引き渡すようにしても良い。この場合、指令実行部120は、指令の実行順序が指定されていない指令データについては実行順序チェックをすることなく補間部122へと引き渡し、指令の実行順序が指定されている指令データについては他の系統の指令実行部120との間で実行順序チェック行い、実行する順番が来ている場合に補間部122へと引き渡す。指令実行部120による実行順序チェックの方法については、例えば各系統の指令実行部120の間で共有される共有カウンタを用いる方法や、各系統の指令実行部120の間でのプロセス間通信により実行が開始された実行順序のラベル値を他の系統の指令実行部120へ通知する(そして、それぞれの指令実行部120が実行開始済みの実行順序のラベル値を記憶しておく)方法等が挙げられるが、指定した実行順番に従って指令データを引き渡せるのであれば、どのような方法を用いても良い。なお、複数の指令の組毎に識別可能な所定の順序を特定できるラベル(A1,A2,A3…、B1,B2,B3…、など)を用いる場合には、例えば複数の指令の組毎に共有カウンタを用意したりするなど、複数の順序ラベルの組に対応できるように実装すれば良い。
補間部122は、指令実行部120から引き渡された指令データ(に含まれる移動指令データ)により指令される指令経路を補間周期毎の移動距離により分割し、補間データを生成する。
サーボ制御部124は、補間部122が生成した補間データに基づいて制御対象となる軸を駆動するサーボモータ50を制御する。
図3は、実行順序のチェックにカウンタを用いる場合の、指令解析部100及び指令実行部120の制御周期毎の処理動作を例示するフローチャートである。図3に示す例では、指令実行部120は、指令データの管理にキューを用いており、また、系統間での実行順序チェックに、各系統の指令実行部120が共有する1つの共有カウンタCを用いている。処理の開始時点で、共有カウンタCには、初期値として順序を示すラベルの最も小さな順番(順番を示すラベルが1,2,3…の場合には、1)がセットされる。
●[ステップSA01]指令解析部100は、NCプログラム格納領域200に格納されたNCプログラムから指令Aを取得する。
●[ステップSA02]指令解析部100は、ステップSA01で取得した指令Aに順序指定が有るか否かを判定する。順序指定が有る場合にはステップSA03へ処理を移行し、無い場合にはステップSA04へ処理を移行する。
●[ステップSA03]指令解析部100は、指令Aに指定されている順序ラベルである順序ラベルCAを付した指令データAを作成し、指令Aを実行する系統の指令実行部120へと出力する。
●[ステップSA04]指令解析部100は、指令Aに基づいて指令データAを作成し、指令Aを実行する系統の指令実行部120へと出力する。
●[ステップSA05]指令実行部120は、キューに指令データAを蓄積する。
●[ステップSA06]指令実行部120は、補間部122が実行中の指令が無いかどうかを判定する。実行中の移動指令が無い場合にはステップSA07へ処理を移行し、実行中の指令が有る場合には今回の制御周期の処理を終了する。
●[ステップSA07]指令実行部120は、キューの先頭の指令データである指令データBを参照する。
●[ステップSA08]指令実行部120は、指令データBが順序ラベル付きであるか否かを判定する。指令データBが順序ラベル付きである場合にはステップSA09へ処理を移行し、順序ラベルが付いていない場合にはステップSA11へ処理を移行する。
●[ステップSA09]指令実行部120は、指令データBに付されている順序番号CBの値と共有カウンタCが示す値とが一致するか否かを判定する。一致する場合にはステップSA10へ処理を移行し、一致しない場合には今回の制御周期の処理を終了する。
●[ステップSA10]指令実行部120は、共有カウンタCが示す値を1増加させる。
●[ステップSA11]指令実行部120は、キューから指令データBを取り出して補間部122へと引き渡す。
図4,5は、2系統プログラム間で実行順序を指定した場合における本発明の実施例を示している。
図4において、NCプログラムO1001は第1の系統である搬送装置を、NCプログラムO2001は第2の系統である工具を備えた加工機を、それぞれ制御するためのNCプログラムである。図4に示す例では、ワークを工具で加工した後でワークから工具を退避させる動作(NCプログラムO2001のブロックN20〜N40)と、その後、搬送装置でワークを取り出す動作(NCプログラムO1001のブロックN20〜N40)とがそれぞれのNCプログラムに規定されている。図4に示す例における、指令「M100P3」は順序指定指令の例であり、該指令の後ろにJ1,J2,J3…を付与することで次のブロックの指令に対して実行順序を指定するための順序ラベル1,2,3…が指定するものである。図4に示す例におけるNCプログラムO2001の順序指定指令「M100P3J1」は、次のブロックであるNCプログラムO2001のブロックN40の実行順序を1番に、NCプログラムO1001の順序指定指令「M100P3J2」は、次のブロックであるNCプログラムO1001のブロックN40の実行順序を2番に、それぞれ指定する。
このような各系統のNCプログラムを本発明の数値制御装置1で実行すると、図5のタイムチャートに示されるように、NCプログラムO2001のブロックN20の実行がNCプログラムO1001のブロックN20の実行に先立って完了し、NCプログラムO2001のブロックN40の実行が開始された場合(共有カウンタCの値が1増加する)、NCプログラムO1001のブロックN40の指令データが指令実行部120のキューの先頭に来た時、既に共有カウンタCの値は2となっているため、該指令データはそのまま補間部122へと引き渡されて実行される。
一方で、NCプログラムO2001のブロックN20の実行が完了しておらず、NCプログラムO2001のブロックN40の実行が開始されていない場合(共有カウンタCの値が初期値のまま)、NCプログラムO1001のブロックN40の指令データが指令実行部120のキューの先頭に来た時点で共有カウンタCの値が1であるため、NCプログラムO2001のブロックN20の実行が完了してNCプログラムO2001のブロックN40の実行が開始されるまでは該指令データの実行は行われずに待たされることとなる。
図6,7は、1つのプログラムで2系統の制御を行っている場合において実行順序を指定する本発明の実施例を示している。
図6において、NCプログラムO1001は第1の系統である搬送装置と第2の系統である工具を備えた加工機の両方を制御するためのNCプログラムであり、第1の系統を制御するブロックは指令「PATH1」を含み、第2の系統を制御するブロックは指令「PATH2」を含んでいる。また、図6に示した例では、指令間の実行順序を指定するための順序指定指令「//−>」を導入しており、該順序指定指令を用いることで、該順序指定指令の前に記載された指令が実行開始されるまでは、該記号の後に記載された指令を開始することができないことを指定できる。順序指定指令「//−>」は、1つのブロックに複数記載しても良く、例えば、3つの系統を1つのプログラムで制御する場合には、各系統を制御する3つの指令を2つの順序指定指令「//−>」で区切ることで、3つの系統の指令の間に任意の実行順序を指定することができる。なお、全ての系統を1つのNCプログラムにより制御する場合には、指令解析部100は上記したように全ての系統に対して1つだけ用意され、1つの指令解析部100が全系統の指令データを作成する。例えば、指令解析部100は、図6に示したN40ブロックを読み込んで解析すると、系統1用の順序ラベル付きの指令データと、系統2用の順序ラベル付きの指令データとをそれぞれ作成し、それぞれの系統の指令実行部120へと出力する。
このような各系統のNCプログラムを本発明の数値制御装置1で実行すると、図7のタイムチャートに示されるように、ブロックN21の実行がブロックN22の実行に先立って完了し、ブロックN40の系統2の指令(順序指定指令「//−>」の左に記載された指令)の実行が開始された場合(共有カウンタCの値が1増加する)、ブロックN40の系統1の指令データ(順序指定指令「//−>」の右に記載された指令「G01Z−100」に基づく指令データ)が指令実行部120のキューの先頭に来た時、既に共有カウンタCの値は2となっているため、該指令データはそのまま補間部122へと引き渡されて実行される。
一方で、ブロックN21の実行が完了しておらず、ブロックN40の系統2の指令(順序指定指令「//−>」の左に記載された指令)の実行が開始されていない場合(共有カウンタCの値が初期値のまま)、ブロックN40の系統1の指令データ(順序指定指令「//−>」の右に記載された指令「G01Z−100」に基づく指令データ)が指令実行部120のキューの先頭に来た時、共有カウンタCの値が1であるため、ブロックN22の実行が完了してブロックN40の系統2の指令が開始されるまでは該指令データの実行は行われずに待たされることとなる。
図8,9は、多系統のプログラムの間で実行順序を指定した場合における本発明の実施例を示している。
図8では、NCプログラムO1001は第1の系統を、NCプログラムO2001は第2の系統を、NCプログラムO3001は第3の系統を、NCプログラムO4001は第4の系統を、それぞれ制御するためのNCプログラムであり、それぞれのNCプログラムのブロックN30の順序指定指令「M100P3」で各NCプログラムのブロックN40の指令の実行順序が指定されている。図8に示した例では、NCプログラムO2001のブロックN40が実行順序1、NCプログラムO1001のブロックN40及びNCプログラムO4001のブロックN40が実行順序2、NCプログラムO3001のブロックN40が実行順序3に指定されている。なお、この例では、同じ実行順序が指定された指令が複数有る場合には、これら指令の間には順序関係を定義せず、実行順序1に指定された指令が実行された後であれば、実行順序2に指定された指令のいずれも実行可能になるものとする。
このような各系統のNCプログラムを本発明の数値制御装置1で実行すると、図8のタイムチャートに示されるように、NCプログラムO1001のブロックN20の実行が完了した時点でNCプログラムO2001のブロックN40の実行が開始されていない場合は、NCプログラムO1001のブロックブロックN40の実行は待たされることとなり、一方で、NCプログラムO4001のブロックN20が完了した時点でNCプログラムO2001のブロックN40の実行が開始されている場合には、NCプログラムO4001のブロックN40は待たされることなく実行されることとなる。また、NCプログラムO3001のブロックN40については、NCプログラムO1001のブロックN40,NCプログラムO2001のブロックN40、NCプログラムO4001のブロックN40の実行が開始されるまでその実行を待たされることになる。
このように、上記構成を備えた本発明の数値制御装置1では、NCプログラムに対して簡単な記載を追加することにより、各系統を制御するNCプログラムの指令の間で実行順序を指定することが可能となる。本発明の数値制御装置1では、ラダープログラムなどで機械座標を監視して、状況を判断してインタロックを掛けたり、制御指令の開始処理を抑制(シングルブロック停止)したりする必要が無いため、プログラムの実行における応答性を低下させること無く、実行順序の指定が可能である。
上記した実施の形態では、実行順序が指定された指令が主に移動指令である場合の実施例を示したが、本発明の実行順序指定機能は移動指令以外の指令に対しても適用可能である。図11は、本発明の第2の実施形態による数値制御装置の要部を示す概略的な機能ブロック図である。図11に示した各機能ブロックは、図1に示した数値制御装置1が備えるCPU11が、実行順序指定機能のシステム・プログラムを実行し、数値制御装置1の各部の動作を制御することにより実現される。本実施形態の数値制御装置1は、指令解析部100、指令実行部120、補間部122、サーボ制御部124、計測部126を備える。本実施形態の数値制御装置1では、指令解析部100、指令実行部120は各系統に用意するようにしており、また、補間部122は移動指令を処理する各系統に、計測部126は図示しない計測装置を取り扱う各系統に、それぞれ用意され、更に、サーボ制御部124は、制御対象となる軸を駆動するサーボモータ50毎に用意している。その他の構成については第1の実施形態と同様である。
このように構成された本実施形態による数値制御装置1では、第1の実施形態と同様に、それぞれの指令解析部100は、NCプログラム格納領域200からNCプログラムに含まれる指令ブロックを解析して、順序指定指令に従って実行順序を付与した指令データを作成し、それぞれの指令実行部120は、実行順序が付与された指令データを実行する際に、指定された実行順番が守られるように補間部122乃至計測部126に対して指令データを引き渡すように動作する。このような各機能手段の動作により、例えば工具の移動完了後に計測装置の値を取得する、といったような、移動制御と計測制御などの他の処理とを組み合わせた実行順序の制御も容易に行うことができるようになる。
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施形態ではNCプログラム内に順序指定指令「M100P3」を追記したり、順序指定指令//−>」を追記したりすることで実行順序の指定ができるようにしているが、この順序指定指令としては、他の指令と識別可能な文字列であればNCプログラムの仕様の範囲内でどのようなものを用いても良い。また、実行順序を示すラベルについても、J1,J2,J3…以外の文字列を用いても良く、更に、複数の指令の組毎に識別可能な所定の順序を特定できるラベルを用いる場合においても、他の指令等と識別可能であれば、NCプログラムの仕様の範囲内でどのような文字列を用いても良い。
また、上記した実施形態では、複数の指令の開始タイミングに対して実行順序の指定を行う例を示しているが、前の実行順序の指令が完了した時点で、次の実行順序の指令を開始できるような順序関係を指定できるようにしても良い。また、このような順序関係の指定方法と、複数の指令の開始タイミングに対して実行順序の指定とを、異なる指令や記号を用いて使い分けられるようにしても良い。
更に、上記した実施形態では、複数の系統のそれぞれを個別のプログラムで制御する例と、複数の系統全体を1つのプログラムで制御する例を示したが、これらを混在させ、複数の系統をグループ分けし(各グループには1以上の系統が含まれる)、それぞれのグループを個別のプログラムで制御するようにしてもよい。このようにした場合でも、順序指定指令を適宜用いることで、各指令の実行順序を制御することが可能となる。
1 数値制御装置
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15,18,19 インタフェース
16 PMC
17 I/Oユニット
20 バス
30 軸制御回路
40 サーボアンプ
50 サーボモータ
60 スピンドル制御回路
61 スピンドルアンプ
62 スピンドルモータ
63 ポジションコーダ
70 表示器/MDIユニット
71 操作盤
72 外部機器
100 指令解析部
120 指令実行部
122 補間部
124 サーボ制御部
200 プログラム格納領域

Claims (1)

  1. 少なくとも1つのNCプログラムを実行して複数の系統を制御する数値制御装置において、
    前記NCプログラムには、前記複数の系統のそれぞれを制御するための指令の間の実行順序を指定できる順序指定指令が含まれ、
    前記NCプログラムに含まれる指令を読み出して解析し、該指令の実行順序が前記順序指定指令で指定されている場合に、実行順序を付した指令データを出力する少なくとも1つの指令解析部と、
    前記指令解析部が出力した実行順序を付した指令データに基づいて、該実行順序に従って各系統の指令処理を実行する少なくとも1つの指令実行部と、
    を備える数値制御装置。
JP2017129591A 2017-06-30 2017-06-30 数値制御装置 Active JP6568152B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017129591A JP6568152B2 (ja) 2017-06-30 2017-06-30 数値制御装置
US16/015,700 US11226609B2 (en) 2017-06-30 2018-06-22 Numerical controller
DE102018005007.7A DE102018005007B4 (de) 2017-06-30 2018-06-22 Numerische Steuervorrichtung
CN201810701516.7A CN109213084A (zh) 2017-06-30 2018-06-29 数值控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017129591A JP6568152B2 (ja) 2017-06-30 2017-06-30 数値制御装置

Publications (2)

Publication Number Publication Date
JP2019012472A true JP2019012472A (ja) 2019-01-24
JP6568152B2 JP6568152B2 (ja) 2019-08-28

Family

ID=64662040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017129591A Active JP6568152B2 (ja) 2017-06-30 2017-06-30 数値制御装置

Country Status (4)

Country Link
US (1) US11226609B2 (ja)
JP (1) JP6568152B2 (ja)
CN (1) CN109213084A (ja)
DE (1) DE102018005007B4 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6381509A (ja) * 1986-09-25 1988-04-12 Toyoda Mach Works Ltd 並行動作機能を備えた数値制御装置
JPH01226004A (ja) * 1988-03-07 1989-09-08 Okuma Mach Works Ltd 数値制御方式
JPH0239302A (ja) * 1988-07-29 1990-02-08 Mitsubishi Electric Corp 複数の刃物台の同期制御方法
JPH03196306A (ja) * 1989-12-26 1991-08-27 Yaskawa Electric Mfg Co Ltd 多系列制御nc装置
JPH06314109A (ja) * 1993-04-28 1994-11-08 Mitsubishi Electric Corp 数値制御装置
JPH1049216A (ja) * 1996-08-06 1998-02-20 Fanuc Ltd 装置間データ通信方法
JP2003288107A (ja) * 1996-02-14 2003-10-10 Mitsubishi Electric Corp 数値制御装置
US20040138776A1 (en) * 2002-09-27 2004-07-15 Siemens Aktiengesellschaft Method and device for numerical control
JP2010157095A (ja) * 2008-12-26 2010-07-15 Amada Co Ltd 数値制御装置及び数値制御方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3739157A (en) * 1970-09-30 1973-06-12 Bendix Corp Method for preparing program medium for multiple controlled element machine
JPS62105202A (ja) * 1985-10-31 1987-05-15 Fanuc Ltd Ncデ−タ作成方法
JPS62199338A (ja) * 1986-02-27 1987-09-03 Fanuc Ltd 工具衝突自動防止方法
JPH07115278B2 (ja) 1988-05-19 1995-12-13 ファナック株式会社 複合工作機械の制御装置
JPH03158908A (ja) * 1989-11-17 1991-07-08 Fanuc Ltd 複合加工機における自動プログラミング方式
JP3679844B2 (ja) * 1995-11-09 2005-08-03 ファナック株式会社 シーケンス・プログラムの実行装置
JP2003320484A (ja) 2002-05-01 2003-11-11 Murata Mach Ltd モータ駆動式リンクプレス
US20060058907A1 (en) * 2004-09-14 2006-03-16 Ugs Corp. System, method, and computer program product for machine tool programming
JP4620156B2 (ja) * 2009-03-11 2011-01-26 ファナック株式会社 軸の再構成機能を有する数値制御装置
JP5415311B2 (ja) 2010-01-29 2014-02-12 株式会社森精機製作所 自動運転を再開可能な工作機械の制御方法およびその装置
JP4837118B2 (ja) 2010-04-16 2011-12-14 ファナック株式会社 多系統プログラムの自動プログラミング方法及びその装置
JP5724679B2 (ja) 2011-06-29 2015-05-27 株式会社ジェイテクト ブロック実行順表示装置
JP5657623B2 (ja) 2012-09-21 2015-01-21 ファナック株式会社 系統間待合せ機能を有する数値制御装置
JP5620446B2 (ja) 2012-09-24 2014-11-05 ファナック株式会社 Gコード指令によりビデオカメラを操作する機能を備えた数値制御装置
US9465380B2 (en) * 2013-08-02 2016-10-11 ICAM Research Corporation Device, system and methods for automatic development and optimization of positioning paths for multi-axis numerically controlled machining
JP5916677B2 (ja) 2013-09-20 2016-05-11 株式会社日立製作所 制御コントローラ及びそのプログラミング方法
CN104937510B (zh) 2014-01-15 2017-04-05 三菱电机株式会社 数控装置
JP5956506B2 (ja) 2014-05-23 2016-07-27 ファナック株式会社 プログラム加工再開機能を有する数値制御装置
CN104076736B (zh) * 2014-07-15 2017-02-15 上海维宏电子科技股份有限公司 基于教导指令实现运动控制多分支同步执行的方法
JP6105016B1 (ja) 2015-09-30 2017-03-29 株式会社牧野フライス製作所 工作機械の制御装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6381509A (ja) * 1986-09-25 1988-04-12 Toyoda Mach Works Ltd 並行動作機能を備えた数値制御装置
JPH01226004A (ja) * 1988-03-07 1989-09-08 Okuma Mach Works Ltd 数値制御方式
JPH0239302A (ja) * 1988-07-29 1990-02-08 Mitsubishi Electric Corp 複数の刃物台の同期制御方法
JPH03196306A (ja) * 1989-12-26 1991-08-27 Yaskawa Electric Mfg Co Ltd 多系列制御nc装置
JPH06314109A (ja) * 1993-04-28 1994-11-08 Mitsubishi Electric Corp 数値制御装置
JP2003288107A (ja) * 1996-02-14 2003-10-10 Mitsubishi Electric Corp 数値制御装置
JPH1049216A (ja) * 1996-08-06 1998-02-20 Fanuc Ltd 装置間データ通信方法
US20040138776A1 (en) * 2002-09-27 2004-07-15 Siemens Aktiengesellschaft Method and device for numerical control
JP2010157095A (ja) * 2008-12-26 2010-07-15 Amada Co Ltd 数値制御装置及び数値制御方法

Also Published As

Publication number Publication date
US20190004500A1 (en) 2019-01-03
JP6568152B2 (ja) 2019-08-28
DE102018005007B4 (de) 2021-08-26
DE102018005007A1 (de) 2019-01-03
CN109213084A (zh) 2019-01-15
US11226609B2 (en) 2022-01-18

Similar Documents

Publication Publication Date Title
JP4920785B2 (ja) 数値制御方法及びその装置
JP5172990B2 (ja) テーブル形式データによる運転機能を備えた数値制御装置
US10095223B2 (en) Numerical controller having function of speeding up fixed cycle
US10324444B2 (en) Numerical controller including tool retracting function for avoidance of interference
JP2002132349A (ja) 加減速制御方法
US9804583B2 (en) Numerical control device
CN107229253B (zh) 容易实施干扰检测后的对策的数值控制装置
CN109960221B (zh) 数值控制装置
JP6568152B2 (ja) 数値制御装置
US10824136B2 (en) Setting device and computer readable medium
US10018987B2 (en) Numerical controller executing operation by a movement command and table-format data
JP2008269483A (ja) 数値制御装置
JP6105548B2 (ja) 干渉回避位置決め機能を備えた数値制御装置
US20200133237A1 (en) Numerical controller
JP2008046913A (ja) 工作機械の数値制御装置
US20180181101A1 (en) Numerical controller
US11194313B2 (en) Numerical controller
US20180364681A1 (en) Numerical controller
JP4112433B2 (ja) 工作機械の数値制御装置と工作機械の数値制御方法
JP2017157194A (ja) 工作機械の数値制御装置
JP6823032B2 (ja) プログラム修正装置
CN111185801A (zh) 数值控制装置
WO2022244072A1 (ja) 数値制御装置及びコンピュータ読み取り可能な記憶媒体
JP7175340B2 (ja) 工作機械、情報処理装置および情報処理プログラム
JP2019086833A (ja) 数値制御装置、数値制御方法及び数値制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180822

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180920

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190801

R150 Certificate of patent or registration of utility model

Ref document number: 6568152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150