JP6363448B2 - 事前解析とタスク管理による高速な補助マクロ機能を有する数値制御装置 - Google Patents

事前解析とタスク管理による高速な補助マクロ機能を有する数値制御装置 Download PDF

Info

Publication number
JP6363448B2
JP6363448B2 JP2014195685A JP2014195685A JP6363448B2 JP 6363448 B2 JP6363448 B2 JP 6363448B2 JP 2014195685 A JP2014195685 A JP 2014195685A JP 2014195685 A JP2014195685 A JP 2014195685A JP 6363448 B2 JP6363448 B2 JP 6363448B2
Authority
JP
Japan
Prior art keywords
execution
execution data
time
macro
auxiliary
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
JP2014195685A
Other languages
English (en)
Other versions
JP2016066305A (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 JP2014195685A priority Critical patent/JP6363448B2/ja
Publication of JP2016066305A publication Critical patent/JP2016066305A/ja
Application granted granted Critical
Publication of JP6363448B2 publication Critical patent/JP6363448B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)

Description

本発明は、数値制御装置に関し、特に、補助マクロ機能を上位の優先度で高速に実行することが可能な数値制御装置に関する。
従来、数値制御装置において加工プログラムの自動運転とは別に周期的な演算を行なうマクロ機能として、補助マクロ機能がある。補助マクロ機能とは、機械メーカが容易に独自機能を実現するための機能である。補助マクロ機能を利用することにより、加工プログラムの自動運転とは非同期で周期的にマクロを実行することができるようになり、変数の変化などを検出して独自の制御を実現する(特許文献1参照)。
数値制御装置が実行するそれぞれの処理には優先度が設定されており、数値制御装置は次に実行する処理を優先度によって決定する。一般に、数値制御装置上では、サーボ制御などの一定周期毎に必ず動作しなければならない命令が最も高い優先度に設定されており、このような優先度の高い命令の処理が完了すると、次に優先度が高い加工プログラムの解析などの自動運転処理の命令を実行する。これらの処理は、加工プログラムのサイクルタイムに直結し、数値制御装置の性能を左右するため優先的に処理される。そして、補助マクロ機能の処理は、優先度としては下位に位置付けられ、前記の各処理が終了した後の空き時間で実行される。
補助マクロ機能の処理は、逐次解析処理と実行処理に大別される。逐次解析処理とは、マクロプログラムの構文を読み取り、解析を行なって、数値制御装置が実行可能な実行データ形式への翻訳を行ない、実行データを作成する処理である。一方、実行処理は、逐次解析処理によって作成した実行データを順次、実行処理を行ない、所望の動作を実現させる処理である。
補助マクロ機能の実行が加工プログラムの処理と比べて下位の優先度となっている理由は、補助マクロ機能は逐次解析処理と実行処理を行なう必要があり、その処理負荷によって加工プログラムのサイクルタイムを悪化することがないように、下位の優先度で実行されている。
特開2012−048471号公報
しかしながら、補助マクロ機能は下位の優先度で実行されているため、高速な応答や演算が求められるアプリケーション向けには十分なパフォーマンスが提供されておらず、このような用途を目的としたアプリケーションを補助マクロ機能として開発することができなかった。
そこで本発明の目的は、補助マクロ機能を上位の優先度で高速に実行することが可能な数値制御装置を提供することである。
本願の請求項1に記載の発明は、マクロプログラムに基づいて補助マクロ機能を実行する数値制御装置において、前記マクロプログラムを解析して実行データを作成するマクロプログラム事前解析部と、前記実行データを記憶する実行データ記憶部と、前記実行データに含まれる各指令を実行周期において高い実行優先度で実行するマクロプログラム実行部と、を備え、前記マクロプログラム実行部は、実行する前記指令の実行時間の合計が各実行周期において所定の基準時間内に収まるように各実行周期における前記指令の実行数を調整する、ことを特徴とする数値制御装置である。
本願の請求項2に記載の発明は、制御対象となる機械が備えた駆動部を制御する前記数値制御装置であって、前記高い実行優先度は、前記駆動部を制御する駆動部制御処理の実行優先度に次いで高い実行優先度である、ことを特徴とする請求項1に記載の数値制御装置である。
本願の請求項3に記載の発明は、前記実行データ記憶部は、揮発性メモリと不揮発性メモリにより構成され、前記揮発性メモリに前記実行データが記憶されていない場合、前記不揮発性メモリに記憶されている前記実行データを前記揮発性メモリ上に展開する不揮発性メモリ実行データ管理部を更に備える、ことを特徴とする請求項1または2に記載の数値制御装置である。
本発明により、補助マクロ機能を上位の優先度で高速に実行することが可能となるため、高い応答性と高速な演算が可能となる。高い応答性は、時間精度及び計測精度の向上に寄与し、また、高速な演算により、マクロプログラムの演算を時間的な制約で簡易的な演算処理にせざるをなかったものが、より複雑な演算をすることが可能となり、補助マクロ機能での高度なアプリケーションの実現に寄与する。
本発明の補助マクロ機能の実行方式の概要を説明する図である。 本発明の補助マクロ機能の実行方式の処理フェイズについて説明する図である。 本発明の実施の形態における数値制御装置の機能ブロック図である。 本発明の実施の形態における事前解析処理による実行データ作成のフローチャートである。 本発明の実施の形態における優先度の高いタスクの実行処理のフローチャートである。 本発明の実施の形態における補助マクロ実行処理のフローチャートである。
以下では、本発明の実施の形態について図面を用いて説明する。
最初に、本発明における補助マクロ機能の実行方式の概要について説明する。図1は、従来技術における補助マクロ機能の実行方法と、本発明における補助マクロ機能の実行方法について説明する図である。
上述したとおり、補助マクロ機能を実行するために必要とされる処理は、逐次解析処理と実行処理に別けられ、従来技術においては補助マクロ機能を実行する際には、図1上に示すように補助マクロ機能の逐次解析処理と実行処理の両処理が、周期処理の中で逐次実行されていた。
これに対して、本発明においては図1下に示すように、周期処理の中では補助マクロ機能の実行処理のみを実行することとし、実行処理に必要とされる補助マクロ機能の実行データを作成する逐次解析処理は、周期処理では行わずに事前に実行しておき、実際にプログラムの実行が開始される前にあらかじめ実行データを作成しておく。
このように解析処理を事前実行することで、周期処理の中では、補助マクロ機能を実行するために必要とされる処理のうち、比較的処理負荷の小さい実行処理のみを実行すればよくなる。これに加えて、周期処理のフェイズにおける各実行周期に対して優先度の高いタスクの実行が可能な時間として基準時間Tbを設け、実行周期における補助マクロの実行を基準時間Tb内に収まるように調整し、他の優先順位の処理の実行を阻害することなく高い優先順位で補助マクロ機能を実行することができるようにする。
図2は、図1で説明した本発明における補助マクロ機能の実行方式について、より詳細に説明するための図である。本発明では、図2に示すように周期処理の実行フェイズとは別に事前解析処理の実行フェイズを設け、該事前解析処理フェイズの中で補助マクロ機能の逐次解析処理を事前解析処理として実行する。事前解析処理により作成した補助マクロ機能の実行データは揮発性メモリや不揮発性メモリに記憶しておき、周期処理の実行フェイズにおいてこれらメモリから読み出され補助マクロ機能の実行処理に利用される。
図3は、本発明の一実施の形態における数値制御装置の機能ブロック図である。本実施の形態の数値制御装置100は、マクロプログラム事前解析部110、マクロプログラム実行部120、実行時間算出部130、実行時間計測部140、揮発性メモリ実行データ管理部150、不揮発性メモリ実行データ管理部160、揮発性メモリ実行データ記憶部170、不揮発性メモリ実行データ記憶部180、実行時間テーブル190を備えている。
マクロプログラム事前解析部110は、補助マクロ機能のマクロプログラムの指令の解析処理を行い、数値制御装置が実行可能な実行データ形式へ翻訳して実行データを作成し、作成した実行データを揮発性メモリ実行データ管理部150、不揮発性メモリ実行データ管理部160を介して揮発性メモリ実行データ記憶部170、不揮発性メモリ実行データ記憶部180に記憶する。揮発性メモリ実行データ記憶部170、不揮発性メモリ実行データ記憶部180のいずれにどのようなデータを記憶するのかについては、補助マクロ機能の性質や、一時的な記憶を目的とするのか、或いは後々に利用するような状況であるのか、などの目的に合わせて自動的乃至手動で適宜採択する。
マクロプログラム実行部120は、後述する補助マクロ実行処理により、マクロプログラム事前解析部110が作成した実行データを、揮発性メモリ実行データ管理部150、不揮発性メモリ実行データ管理部160を介して揮発性メモリ実行データ記憶部170、不揮発性メモリ実行データ記憶部180から読み出して補助マクロ機能を実行する。補助マクロ実行処理においては、補助マクロ実行処理が他の下位の優先度の処理を過度に圧迫しないよう、実行時間計測部140により計測された実行時間と、補助マクロ機能に用いられる各指令の実行処理に係る実行時間を記憶した実行時間テーブル190とに基づいて高い優先度の処理の総実行時間を実行時間算出部130により算出し、実行周期毎の補助マクロ実行処理量を調整する。
揮発性メモリ実行データ管理部150、不揮発性メモリ実行データ管理部160は、それぞれ揮発性メモリ実行データ記憶部170、不揮発性メモリ実行データ記憶部180への実行データの保存及び読み出しの管理を行う。また、不揮発性メモリ実行データ管理部160は、数値制御装置の電源投入時のような、揮発性メモリ上のデータが消失している場合などに、不揮発性メモリ実行データ記憶部180から実行データを読み出して、揮発性メモリ実行データ管理部150を介して揮発性メモリ実行データ記憶部170へデータの展開を行なう。
実行時間テーブル190は、補助マクロ機能において用いられる各指令について、実行データを実行処理に掛かる時間が記憶されたテーブルである。実行時間テーブル190は、あらかじめメーカなどにより作成されてデータとして提供するようにしてもよいし、数値制御装置100の設定プログラムにより各指令を試験的に実行して各指令の実行処理に掛かる時間を計測し、計測した値に基づいて作成するようにしてもよい。
以上のような構成を備えた本実施の形態の数値制御装置における、事前解析処理フェイズにおける事前解析処理による実行データ作成について図4のフローチャートを用いて説明する。事前解析処理フェイズにおける事前解析処理は、オペレータなどにより機械の運転開始が指令され、実際に加工プログラムによる機械の運転制御が開始される前などに実行される。
●[ステップSA01]補助マクロ機能のマクロプログラムを解析し、解析結果に基づいて各マクロ指令に対する実行形式のデータを生成し、実行データを作成する。
●[ステップSA02]ステップSA01で作成した実行データを揮発性メモリ及び不揮発性メモリへの保存処理を行なう。
次に、周期処理フェイズで実行される、優先度の高いタスクの実行処理について、図5のフローチャートを用いて説明する。
周期処理フェイズにおいては、各タスクは優先度の高い順に実行され、上位の優先度の実行が完了すると、下位の優先度の実行に遷移していく。その際に、上位の優先度の実行時間が過度に増大すると、下位の優先度の実行時間が十分に確保できなくなり、加工プログラムのサイクルタイム等が悪化する可能性があるため、補助マクロ実行処理を追加することで上位の優先度の実行時間が過度に増大しないように、各実行周期における補助マクロ実行処理の処理量を実行時間(Tp)と基準時間(Tb)で制御する。
●[ステップSB01]実行時間Tpの初期化(ゼロクリア)を行い、実行時間Tpのカウントを開始する。
●[ステップSB02]優先度の高いタスクであって、リアルタイム性が求められるタスクの演算処理を実行する。
●[ステップSB03]ステップSB02で実行される優先度の高いタスクの演算処理の終了後、実行時間Tpのカウントを終了し、当該処理の実行時間Tpを算出する。
●[ステップSB04]ステップSB03で算出した実行時間Tpに基づいて補助マクロ実行処理を行う。
図6は、図5のステップSB04にあたる補助マクロ実行処理の詳細を示すフローチャートである。
●[ステップSC01]実行周期毎の補助マクロの実行時間を示す経過時間Ttのカウンタの初期化を行なう。
●[ステップSC02]揮発メモリ上の実行データを参照し、次の指令に対応する実行時間Tcを、各指令の実行時間テーブル190を参照して取得する。
●[ステップSC03]経過時間Ttに対して実行時間Tcを加算し、次指令を実行した場合の経過時間Ttを算出する。
●[ステップSC04]図5のステップSB03で算出した実行時間TpとステップSC03で算出した経過時間Ttを加算した値と、優先度の高いタスクの実行が可能な時間として設けた基準時間Tbとを比較して、実行時間Tpと経過時間Ttを加算した値が基準時間Tbを超過していないかチェックする。超過している場合には本実行周期における補助マクロ実行処理を終了し、超過していない場合にはステップSC05へ進む。
●[ステップSC05]実行データの1指令の実行処理を行なう。ここで指令するのはステップSC04で実行時間をチェックした指令になる。実行処理が終了したら、ステップSC02へと戻る。
このように、本実施の形態の補助マクロ実行処理においては、基準時間Tbを超過するまでは、ステップSC02〜ステップSC05の処理を繰り返し、基準時間Tbを超過した場合は補助マクロの実行処理は一時中断して、次回の実行周期から続きの指令を実行するので、他の下位の優先順位の処理を圧迫することなく、補助マクロの実行処理を高い優先順位で実行することができる。
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより、その他の態様で実施することができる。例えば、他の実施の形態においては高い優先度で実行する補助マクロ機能を選択し、設定できるようにしてもよい。そのような場合、各補助マクロ機能について優先度の高低を設定する機能を実装し、高い応答性が必要とされない補助マクロ機能については従来技術通り低い優先度で実行し、重要な補助マクロ機能のみを高い優先度で実行するようにできる。更に、補助マクロ機能の優先度を、補助マクロ機能の指令に応じて自動的に設定するように構成してもよい。このように構成することで、補助マクロ機能の種類や性質によって、高い応答性が必要となる補助マクロ機能については自動的に高い優先度で実行されるようにすることができる。
100 数値制御装置
110 マクロプログラム事前解析部
120 マクロプログラム実行部
130 実行時間算出部
140 実行時間計測部
150 揮発性メモリ実行データ管理部
160 不揮発性メモリ実行データ管理部
170 揮発性メモリ実行データ記憶部
180 不揮発性メモリ実行データ記憶部
190 実行時間テーブル

Claims (3)

  1. マクロプログラムに基づいて補助マクロ機能を実行する数値制御装置において、
    前記マクロプログラムを解析して実行データを作成するマクロプログラム事前解析部と、前記実行データを記憶する実行データ記憶部と、
    前記実行データに含まれる各指令を実行周期においてリアルタイム性が求められるタスクに次ぐ実行優先度で実行するマクロプログラム実行部と、
    を備え、
    前記マクロプログラム実行部は、実行する前記指令の実行時間と前記タスクの実行時間との合計が各実行周期において所定の基準時間内に収まるように各実行周期における前記指令の実行数を調整する、
    ことを特徴とする数値制御装置。
  2. 制御対象となる機械が備えた駆動部を制御する前記数値制御装置であって、
    前記タスクは、前記駆動部を制御する駆動部制御処理である、
    ことを特徴とする請求項1に記載の数値制御装置。
  3. 前記実行データ記憶部は、揮発性メモリと不揮発性メモリにより構成され、
    前記揮発性メモリに前記実行データが記憶されていない場合、前記不揮発性メモリに記憶されている前記実行データを前記揮発性メモリ上に展開する不揮発性メモリ実行データ管理部を更に備える、
    ことを特徴とする請求項1または2に記載の数値制御装置。
JP2014195685A 2014-09-25 2014-09-25 事前解析とタスク管理による高速な補助マクロ機能を有する数値制御装置 Active JP6363448B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014195685A JP6363448B2 (ja) 2014-09-25 2014-09-25 事前解析とタスク管理による高速な補助マクロ機能を有する数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014195685A JP6363448B2 (ja) 2014-09-25 2014-09-25 事前解析とタスク管理による高速な補助マクロ機能を有する数値制御装置

Publications (2)

Publication Number Publication Date
JP2016066305A JP2016066305A (ja) 2016-04-28
JP6363448B2 true JP6363448B2 (ja) 2018-07-25

Family

ID=55804170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014195685A Active JP6363448B2 (ja) 2014-09-25 2014-09-25 事前解析とタスク管理による高速な補助マクロ機能を有する数値制御装置

Country Status (1)

Country Link
JP (1) JP6363448B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6149209A (ja) * 1984-08-17 1986-03-11 Fanuc Ltd 数値制御装置におけるプログラム実行方式
JP2001014014A (ja) * 1999-07-02 2001-01-19 Mitsubishi Electric Corp 数値制御方法及びその装置
JP3723015B2 (ja) * 1999-07-26 2005-12-07 三菱電機株式会社 数値制御装置

Also Published As

Publication number Publication date
JP2016066305A (ja) 2016-04-28

Similar Documents

Publication Publication Date Title
JP5715217B2 (ja) プログラムの先読み機能を備えた数値制御装置
CN106346304B (zh) 机床的热位移修正装置
JP6382865B2 (ja) 加工時間予測装置
JP5860073B2 (ja) 加工条件変更後の誤加工を防止する数値制御装置
JP6174652B2 (ja) 加工エリアの大きさによるパラメータの自動選定機能を有する数値制御装置
JP6050634B2 (ja) 数値制御装置の処理能力を考慮する加工時間予測装置
TWI574135B (zh) Working machine control device
US20180231943A1 (en) Control device
CN105302544A (zh) 预测nc程序修正后的加工时间的加工时间预测装置
JP6010094B2 (ja) サイクルタイムに係るパラメータ設定支援機能を有する数値制御装置
JP6068401B2 (ja) 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置
JP2007164509A (ja) 数値制御装置
JP6363448B2 (ja) 事前解析とタスク管理による高速な補助マクロ機能を有する数値制御装置
JP6017509B2 (ja) 運転停止時に送り速度を円滑に変更する数値制御装置
JP5752213B2 (ja) テーブル形式データで複数の指令を同時に実行する機能を備えた数値制御装置
JP6077601B2 (ja) 加工プログラムのサイクルタイムを短縮する数値制御装置
JP6298010B2 (ja) 加減速設定自動切換機能を備えた数値制御装置
JP6276234B2 (ja) オーバライドスイッチによるプログラムチェック機能を備えた数値制御装置
JP2008071015A (ja) 数値制御装置
JP2017157194A (ja) 工作機械の数値制御装置
US10048678B2 (en) Numerical controller
JP2017058973A (ja) Ncプログラム運転と連動した関連信号の自動トレース機能を有する数値制御装置
WO2022219701A1 (ja) 数値制御装置
JP2009110223A (ja) 数値制御装置、数値制御プログラム及び数値制御プログラムを記憶した記憶媒体
JP6046099B2 (ja) 高速応答制御を備えた数値制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180306

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: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180628

R150 Certificate of patent or registration of utility model

Ref document number: 6363448

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150