図面 (/)

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

出願人 ファナック株式会社
発明者 西城善典
出願日 2014年9月25日 (6年3ヶ月経過) 出願番号 2014-195685
公開日 2016年4月28日 (4年8ヶ月経過) 公開番号 2016-066305
状態 特許登録済
技術分野 数値制御 マルチプログラミング
主要キーワード 自動運転処理 事前実行 事前解析 実行時間算出 周期処理 機械メーカ アプリケーション向け マクロ実行
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年4月28日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (7)

課題

補助マクロ機能を上位の優先度高速に実行することが可能な数値制御装置を提供すること。

解決手段

数値制御装置100は、補助マクロ機能のマクロプログラム解析する処理を、あらかじめ解析処理を行なって実行データを作成する事前解析処理とし、周期処理に各実行周期においては前記作成された実行データに基づいて、補助マクロ機能の実行処理のみを行う。補助マクロ機能を実行するために必要とされる処理のうち、比較的処理負荷の小さい実行処理のみを周期処理で実行するようにする。また、周期処理のフェイズにおける各実行周期に対して優先度の高いタスクの実行が可能な時間として基準時間Tbを設け、実行周期における補助マクロの実行を基準時間Tb内に収まるように調整することで、他の処理の実行を阻害することなく高い優先順位で補助マクロ機能を実行することができるようにする。

概要

背景

従来、数値制御装置において加工プログラム自動運転とは別に周期的な演算を行なうマクロ機能として、補助マクロ機能がある。補助マクロ機能とは、機械メーカが容易に独自機能を実現するための機能である。補助マクロ機能を利用することにより、加工プログラムの自動運転とは非同期で周期的にマクロを実行することができるようになり、変数の変化などを検出して独自の制御を実現する(特許文献1参照)。

数値制御装置が実行するそれぞれの処理には優先度が設定されており、数値制御装置は次に実行する処理を優先度によって決定する。一般に、数値制御装置上では、サーボ制御などの一定周期毎に必ず動作しなければならない命令が最も高い優先度に設定されており、このような優先度の高い命令の処理が完了すると、次に優先度が高い加工プログラムの解析などの自動運転処理の命令を実行する。これらの処理は、加工プログラムのサイクルタイム直結し、数値制御装置の性能を左右するため優先的に処理される。そして、補助マクロ機能の処理は、優先度としては下位に位置付けられ、前記の各処理が終了した後の空き時間で実行される。

補助マクロ機能の処理は、逐次解析処理と実行処理に大別される。逐次解析処理とは、マクロプログラム構文読み取り、解析を行なって、数値制御装置が実行可能な実行データ形式への翻訳を行ない、実行データを作成する処理である。一方、実行処理は、逐次解析処理によって作成した実行データを順次、実行処理を行ない、所望の動作を実現させる処理である。
補助マクロ機能の実行が加工プログラムの処理と比べて下位の優先度となっている理由は、補助マクロ機能は逐次解析処理と実行処理を行なう必要があり、その処理負荷によって加工プログラムのサイクルタイムを悪化することがないように、下位の優先度で実行されている。

概要

補助マクロ機能を上位の優先度で高速に実行することが可能な数値制御装置を提供すること。数値制御装置100は、補助マクロ機能のマクロプログラムを解析する処理を、あらかじめ解析処理を行なって実行データを作成する事前解析処理とし、周期処理に各実行周期においては前記作成された実行データに基づいて、補助マクロ機能の実行処理のみを行う。補助マクロ機能を実行するために必要とされる処理のうち、比較的処理負荷の小さい実行処理のみを周期処理で実行するようにする。また、周期処理のフェイズにおける各実行周期に対して優先度の高いタスクの実行が可能な時間として基準時間Tbを設け、実行周期における補助マクロの実行を基準時間Tb内に収まるように調整することで、他の処理の実行を阻害することなく高い優先順位で補助マクロ機能を実行することができるようにする。

目的

特開2012−048471号公報






しかしながら、補助マクロ機能は下位の優先度で実行されているため、高速な応答や演算が求められるアプリケーション向けには十分なパフォーマンスが提供されておらず、このような用途を目的とした

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

マクロプログラムに基づいて補助マクロ機能を実行する数値制御装置において、前記マクロプログラムを解析して実行データを作成するマクロプログラム事前解析部と、前記実行データを記憶する実行データ記憶部と、前記実行データに含まれる各指令実行周期において高い実行優先度で実行するマクロプログラム実行部と、を備え、前記マクロプログラム実行部は、実行する前記指令の実行時間の合計が各実行周期において所定の基準時間内に収まるように各実行周期における前記指令の実行数を調整する、ことを特徴とする数値制御装置。

請求項2

制御対象となる機械が備えた駆動部を制御する前記数値制御装置であって、前記高い実行優先度は、前記駆動部を制御する駆動部制御処理の実行優先度に次いで高い実行優先度である、ことを特徴とする請求項1に記載の数値制御装置。

請求項3

前記実行データ記憶部は、揮発性メモリ不揮発性メモリにより構成され、前記揮発性メモリに前記実行データが記憶されていない場合、前記不揮発性メモリに記憶されている前記実行データを前記揮発性メモリ上に展開する不揮発性メモリ実行データ管理部を更に備える、ことを特徴とする請求項1または2に記載の数値制御装置。

技術分野

0001

本発明は、数値制御装置に関し、特に、補助マクロ機能を上位の優先度高速に実行することが可能な数値制御装置に関する。

背景技術

0002

従来、数値制御装置において加工プログラム自動運転とは別に周期的な演算を行なうマクロ機能として、補助マクロ機能がある。補助マクロ機能とは、機械メーカが容易に独自機能を実現するための機能である。補助マクロ機能を利用することにより、加工プログラムの自動運転とは非同期で周期的にマクロを実行することができるようになり、変数の変化などを検出して独自の制御を実現する(特許文献1参照)。

0003

数値制御装置が実行するそれぞれの処理には優先度が設定されており、数値制御装置は次に実行する処理を優先度によって決定する。一般に、数値制御装置上では、サーボ制御などの一定周期毎に必ず動作しなければならない命令が最も高い優先度に設定されており、このような優先度の高い命令の処理が完了すると、次に優先度が高い加工プログラムの解析などの自動運転処理の命令を実行する。これらの処理は、加工プログラムのサイクルタイム直結し、数値制御装置の性能を左右するため優先的に処理される。そして、補助マクロ機能の処理は、優先度としては下位に位置付けられ、前記の各処理が終了した後の空き時間で実行される。

0004

補助マクロ機能の処理は、逐次解析処理と実行処理に大別される。逐次解析処理とは、マクロプログラム構文読み取り、解析を行なって、数値制御装置が実行可能な実行データ形式への翻訳を行ない、実行データを作成する処理である。一方、実行処理は、逐次解析処理によって作成した実行データを順次、実行処理を行ない、所望の動作を実現させる処理である。
補助マクロ機能の実行が加工プログラムの処理と比べて下位の優先度となっている理由は、補助マクロ機能は逐次解析処理と実行処理を行なう必要があり、その処理負荷によって加工プログラムのサイクルタイムを悪化することがないように、下位の優先度で実行されている。

先行技術

0005

特開2012−048471号公報

発明が解決しようとする課題

0006

しかしながら、補助マクロ機能は下位の優先度で実行されているため、高速な応答や演算が求められるアプリケーション向けには十分なパフォーマンスが提供されておらず、このような用途を目的としたアプリケーションを補助マクロ機能として開発することができなかった。

0007

そこで本発明の目的は、補助マクロ機能を上位の優先度で高速に実行することが可能な数値制御装置を提供することである。

課題を解決するための手段

0008

本願の請求項1に記載の発明は、マクロプログラムに基づいて補助マクロ機能を実行する数値制御装置において、前記マクロプログラムを解析して実行データを作成するマクロプログラム事前解析部と、前記実行データを記憶する実行データ記憶部と、前記実行データに含まれる各指令実行周期において高い実行優先度で実行するマクロプログラム実行部と、を備え、前記マクロプログラム実行部は、実行する前記指令の実行時間の合計が各実行周期において所定の基準時間内に収まるように各実行周期における前記指令の実行数を調整する、ことを特徴とする数値制御装置である。

0009

本願の請求項2に記載の発明は、制御対象となる機械が備えた駆動部を制御する前記数値制御装置であって、前記高い実行優先度は、前記駆動部を制御する駆動部制御処理の実行優先度に次いで高い実行優先度である、ことを特徴とする請求項1に記載の数値制御装置である。

0010

本願の請求項3に記載の発明は、前記実行データ記憶部は、揮発性メモリ不揮発性メモリにより構成され、前記揮発性メモリに前記実行データが記憶されていない場合、前記不揮発性メモリに記憶されている前記実行データを前記揮発性メモリ上に展開する不揮発性メモリ実行データ管理部を更に備える、ことを特徴とする請求項1または2に記載の数値制御装置である。

発明の効果

0011

本発明により、補助マクロ機能を上位の優先度で高速に実行することが可能となるため、高い応答性と高速な演算が可能となる。高い応答性は、時間精度及び計測精度の向上に寄与し、また、高速な演算により、マクロプログラムの演算を時間的な制約簡易的な演算処理にせざるをなかったものが、より複雑な演算をすることが可能となり、補助マクロ機能での高度なアプリケーションの実現に寄与する。

図面の簡単な説明

0012

本発明の補助マクロ機能の実行方式概要を説明する図である。
本発明の補助マクロ機能の実行方式の処理フェイズについて説明する図である。
本発明の実施の形態における数値制御装置の機能ブロック図である。
本発明の実施の形態における事前解析処理による実行データ作成のフローチャートである。
本発明の実施の形態における優先度の高いタスクの実行処理のフローチャートである。
本発明の実施の形態における補助マクロ実行処理のフローチャートである。

実施例

0013

以下では、本発明の実施の形態について図面を用いて説明する。
最初に、本発明における補助マクロ機能の実行方式の概要について説明する。図1は、従来技術における補助マクロ機能の実行方法と、本発明における補助マクロ機能の実行方法について説明する図である。
上述したとおり、補助マクロ機能を実行するために必要とされる処理は、逐次解析処理と実行処理に別けられ、従来技術においては補助マクロ機能を実行する際には、図1上に示すように補助マクロ機能の逐次解析処理と実行処理の両処理が、周期処理の中で逐次実行されていた。

0014

これに対して、本発明においては図1下に示すように、周期処理の中では補助マクロ機能の実行処理のみを実行することとし、実行処理に必要とされる補助マクロ機能の実行データを作成する逐次解析処理は、周期処理では行わずに事前に実行しておき、実際にプログラムの実行が開始される前にあらかじめ実行データを作成しておく。
このように解析処理事前実行することで、周期処理の中では、補助マクロ機能を実行するために必要とされる処理のうち、比較的処理負荷の小さい実行処理のみを実行すればよくなる。これに加えて、周期処理のフェイズにおける各実行周期に対して優先度の高いタスクの実行が可能な時間として基準時間Tbを設け、実行周期における補助マクロの実行を基準時間Tb内に収まるように調整し、他の優先順位の処理の実行を阻害することなく高い優先順位で補助マクロ機能を実行することができるようにする。

0015

図2は、図1で説明した本発明における補助マクロ機能の実行方式について、より詳細に説明するための図である。本発明では、図2に示すように周期処理の実行フェイズとは別に事前解析処理の実行フェイズを設け、該事前解析処理フェイズの中で補助マクロ機能の逐次解析処理を事前解析処理として実行する。事前解析処理により作成した補助マクロ機能の実行データは揮発性メモリや不揮発性メモリに記憶しておき、周期処理の実行フェイズにおいてこれらメモリから読み出され補助マクロ機能の実行処理に利用される。

0016

図3は、本発明の一実施の形態における数値制御装置の機能ブロック図である。本実施の形態の数値制御装置100は、マクロプログラム事前解析部110、マクロプログラム実行部120、実行時間算出部130、実行時間計測部140、揮発性メモリ実行データ管理部150、不揮発性メモリ実行データ管理部160、揮発性メモリ実行データ記憶部170、不揮発性メモリ実行データ記憶部180、実行時間テーブル190を備えている。

0017

マクロプログラム事前解析部110は、補助マクロ機能のマクロプログラムの指令の解析処理を行い、数値制御装置が実行可能な実行データ形式へ翻訳して実行データを作成し、作成した実行データを揮発性メモリ実行データ管理部150、不揮発性メモリ実行データ管理部160を介して揮発性メモリ実行データ記憶部170、不揮発性メモリ実行データ記憶部180に記憶する。揮発性メモリ実行データ記憶部170、不揮発性メモリ実行データ記憶部180のいずれにどのようなデータを記憶するのかについては、補助マクロ機能の性質や、一時的な記憶を目的とするのか、或いは後々に利用するような状況であるのか、などの目的に合わせて自動的乃至手動で適宜採択する。

0018

マクロプログラム実行部120は、後述する補助マクロ実行処理により、マクロプログラム事前解析部110が作成した実行データを、揮発性メモリ実行データ管理部150、不揮発性メモリ実行データ管理部160を介して揮発性メモリ実行データ記憶部170、不揮発性メモリ実行データ記憶部180から読み出して補助マクロ機能を実行する。補助マクロ実行処理においては、補助マクロ実行処理が他の下位の優先度の処理を過度圧迫しないよう、実行時間計測部140により計測された実行時間と、補助マクロ機能に用いられる各指令の実行処理に係る実行時間を記憶した実行時間テーブル190とに基づいて高い優先度の処理の総実行時間を実行時間算出部130により算出し、実行周期毎の補助マクロ実行処理量を調整する。

0019

揮発性メモリ実行データ管理部150、不揮発性メモリ実行データ管理部160は、それぞれ揮発性メモリ実行データ記憶部170、不揮発性メモリ実行データ記憶部180への実行データの保存及び読み出しの管理を行う。また、不揮発性メモリ実行データ管理部160は、数値制御装置の電源投入時のような、揮発性メモリ上のデータが消失している場合などに、不揮発性メモリ実行データ記憶部180から実行データを読み出して、揮発性メモリ実行データ管理部150を介して揮発性メモリ実行データ記憶部170へデータの展開を行なう。

0020

実行時間テーブル190は、補助マクロ機能において用いられる各指令について、実行データを実行処理に掛かる時間が記憶されたテーブルである。実行時間テーブル190は、あらかじめメーカなどにより作成されてデータとして提供するようにしてもよいし、数値制御装置100の設定プログラムにより各指令を試験的に実行して各指令の実行処理に掛かる時間を計測し、計測した値に基づいて作成するようにしてもよい。

0021

以上のような構成を備えた本実施の形態の数値制御装置における、事前解析処理フェイズにおける事前解析処理による実行データ作成について図4のフローチャートを用いて説明する。事前解析処理フェイズにおける事前解析処理は、オペレータなどにより機械の運転開始が指令され、実際に加工プログラムによる機械の運転制御が開始される前などに実行される。
●[ステップSA01]補助マクロ機能のマクロプログラムを解析し、解析結果に基づいて各マクロ指令に対する実行形式のデータを生成し、実行データを作成する。
●[ステップSA02]ステップSA01で作成した実行データを揮発性メモリ及び不揮発性メモリへの保存処理を行なう。

0022

次に、周期処理フェイズで実行される、優先度の高いタスクの実行処理について、図5のフローチャートを用いて説明する。
周期処理フェイズにおいては、各タスクは優先度の高い順に実行され、上位の優先度の実行が完了すると、下位の優先度の実行に遷移していく。その際に、上位の優先度の実行時間が過度に増大すると、下位の優先度の実行時間が十分に確保できなくなり、加工プログラムのサイクルタイム等が悪化する可能性があるため、補助マクロ実行処理を追加することで上位の優先度の実行時間が過度に増大しないように、各実行周期における補助マクロ実行処理の処理量を実行時間(Tp)と基準時間(Tb)で制御する。

0023

●[ステップSB01]実行時間Tpの初期化(ゼロクリア)を行い、実行時間Tpのカウントを開始する。
●[ステップSB02]優先度の高いタスクであって、リアルタイム性が求められるタスクの演算処理を実行する。
●[ステップSB03]ステップSB02で実行される優先度の高いタスクの演算処理の終了後、実行時間Tpのカウントを終了し、当該処理の実行時間Tpを算出する。
●[ステップSB04]ステップSB03で算出した実行時間Tpに基づいて補助マクロ実行処理を行う。

0024

図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へと戻る。

0025

このように、本実施の形態の補助マクロ実行処理においては、基準時間Tbを超過するまでは、ステップSC02〜ステップSC05の処理を繰り返し、基準時間Tbを超過した場合は補助マクロの実行処理は一時中断して、次回の実行周期から続きの指令を実行するので、他の下位の優先順位の処理を圧迫することなく、補助マクロの実行処理を高い優先順位で実行することができる。

0026

以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより、その他の態様で実施することができる。例えば、他の実施の形態においては高い優先度で実行する補助マクロ機能を選択し、設定できるようにしてもよい。そのような場合、各補助マクロ機能について優先度の高低を設定する機能を実装し、高い応答性が必要とされない補助マクロ機能については従来技術通り低い優先度で実行し、重要な補助マクロ機能のみを高い優先度で実行するようにできる。更に、補助マクロ機能の優先度を、補助マクロ機能の指令に応じて自動的に設定するように構成してもよい。このように構成することで、補助マクロ機能の種類や性質によって、高い応答性が必要となる補助マクロ機能については自動的に高い優先度で実行されるようにすることができる。

0027

100数値制御装置
110マクロプログラム事前解析部
120 マクロプログラム実行部
130実行時間算出部
140 実行時間計測部
150揮発性メモリ実行データ管理部
160不揮発性メモリ実行データ管理部
170 揮発性メモリ実行データ記憶部
180 不揮発性メモリ実行データ記憶部
190 実行時間テーブル

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ