JP2017157194A - 工作機械の数値制御装置 - Google Patents
工作機械の数値制御装置 Download PDFInfo
- Publication number
- JP2017157194A JP2017157194A JP2016234809A JP2016234809A JP2017157194A JP 2017157194 A JP2017157194 A JP 2017157194A JP 2016234809 A JP2016234809 A JP 2016234809A JP 2016234809 A JP2016234809 A JP 2016234809A JP 2017157194 A JP2017157194 A JP 2017157194A
- Authority
- JP
- Japan
- Prior art keywords
- program
- auxiliary
- execution
- machine tool
- processing
- 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
Links
Images
Landscapes
- Numerical Control (AREA)
Abstract
【課題】リアルタイム性に優れ、高速の実行速度で適正な処理動作を行うことが可能な工作機械の数値制御装置を提供する。
【解決手段】加工プログラム及び複数の補助プログラムの各々を解析する解読部72と、補助プログラム同士の関連性の有無を判断する指令要素抽出部74と、加工プログラム及び複数の補助プログラムの各々の処理時間を算出する負荷算出部76と、互いに関連性を有する補助プログラムを同一の実行周期内で実行するように、加工プログラム及び複数の補助プログラムの実行順を算出する実行順算出部78と、算出された実行順に従って、加工プログラム及び補助プログラムを実行する実行処理部80と、を備える。
【選択図】図4
【解決手段】加工プログラム及び複数の補助プログラムの各々を解析する解読部72と、補助プログラム同士の関連性の有無を判断する指令要素抽出部74と、加工プログラム及び複数の補助プログラムの各々の処理時間を算出する負荷算出部76と、互いに関連性を有する補助プログラムを同一の実行周期内で実行するように、加工プログラム及び複数の補助プログラムの実行順を算出する実行順算出部78と、算出された実行順に従って、加工プログラム及び補助プログラムを実行する実行処理部80と、を備える。
【選択図】図4
Description
本発明は、工作機械の数値制御装置に関し、一層詳細には、予め決められた実行周期で加工プログラムを実行するとともに、加工プログラムの実行周期内において、複数の補助プログラムのうち1つ以上の補助プログラムを実行する工作機械の数値制御装置に関する。
本出願人は、既に、多軸工作機械のシーケンス制御を行うシーケンスプログラムのように、周期的に繰り返し実行するプログラムと、実行指令により加工工程を開始し各軸のモーション(動作)の制御を行うNCプログラムとを、全てNCプログラム形式で記述することにより、実行するプログラムの変換に特別な装置を必要とせずに、軸動作(モーション)制御とシーケンス制御の両方を簡便に実行することができる数値制御装置の開発に成功し、特許を得た(特許文献1参照)。
また、例えば、制御ソフトウェアにおいて、実行するタスクの指定方式に柔軟性を持たせて、各タスクに適切な処理時間を与えることにより、効率的に実行することができるようにした制御ソフトウェアの実行システムの制御方法が提案されている(特許文献2参照)。
これに関連して、プログラムの実行条件によりタスクの処理時間の差が大きいタスクを解析対象として抽出することによって、タスク数の多いプログラムに対して短時間で並列化スケジューリング結果を得ることが可能な並列化スケジューリング装置も提案されている(特許文献3参照)。
さらに、プロセスに優先度をつけ、優先度の高いプロセスを優先的に処理する方法において、単位時間毎の複数の実行段階のうち、単位時間の終了までに、優先度の高い実行段階から順にプログラムの実行に必要なリソースを各プログラムに割り当てることにより、多数のプログラムを実行する際に、CPU能力を十分に利用して処理能力を向上させることができるプログラムの実行処理方法及び装置も提案されている(特許文献4参照)。
従来における数値制御装置の制御システムでは、自動切削装置を例にすると、実際に加工を行う切削時間と、加工の準備動作や計測等を行う非切削時間とからなる加工プログラムから非切削時間の加工プログラムを除外し、この除外した非切削時間に係る加工プログラムを前記実際に加工を行う切削時間に係る加工プログラムの自動運転の実行周期内において実行することにより、前記加工プログラムの実行周期に対するサイクルタイムの短縮を図ることが可能である。
すなわち、このような数値制御装置の制御システムにおいては、自動運転の状況に応じて、位置情報や信号情報等を取得して所望の加工動作を実現するようなプログラムの処理が行われる。従って、前記加工プログラムの実行処理に際しては、リアルタイム性が求められるとともに、高速である実行周期で処理動作が行われる必要性がある。
そこで、リアルタイム性が満足され且つ実行周期内に完了する必要がある実行処理について、図8に沿って説明する。以下では、加工の準備動作や計測等を行うプログラムを補助プログラムと言い、実際に加工を行うプログラムについてのみ加工プログラムと言う。ここで、図8は、従来の数値制御装置において、加工プログラムの実行周期内で実行される補助プログラムが実行周期内で実行処理を完了する状態を示す説明図である。
図8において、「自動運転実行処理」は、加工プログラムによる工作機械の自動運転に関する実行処理状態を示し、また「補助プログラム1実行処理」、「補助プログラム2実行処理」、「補助プログラム3実行処理」は、加工プログラムの実行周期内に実行される補助プログラムの実行処理状態を示す。
この場合、工作機械による加工の高度化が達成されるのに伴い、加工プログラムによる自動運転の実行処理の途中に動作させるアプリケーション数が増加すれば、当然に実行周期内に完了すべき実行処理が増大する。従って、実行周期内に実行処理が完了しない場合には、システムダウン等につながるため、これを避けるべく増大する実行周期内に実行される処理の負荷を緩和させる必要がある。
そこで、前記増大する実行周期内に実行される処理の負荷を緩和する例を図9に示す。この場合、「補助プログラム3実行処理」を次の実行周期で実行し、実行周期内の負荷を単純に平準化し、実行周期内で処理が可能な補助プログラム1と補助プログラム2の実行処理を行い、増大した負荷としての補助プログラム3の実行処理を次なる実行周期に移して当初の実行周期内の負荷を緩和している。
図10は、前記補助プログラム3の実行処理に関連した説明である。この場合、関連性の高い補助プログラムの実行処理について例示している。例えば、個々に実行処理が行われる「補助プログラム1」、「補助プログラム2」、「補助プログラム3」の中、「補助プログラム1」の演算結果を使用して「補助プログラム3」を実行するアプリケーションが作成されている場合、図9に示すような処理負荷の緩和によって、「補助プログラム3」が次の実行周期で実行処理が行われると、処理負荷に係る変数#100、#101を含む「補助プログラム1」の開始から読み取り処理の負荷に係る変数#100、#101を含む「補助プログラム3」の完了までに、少なくとも変数#100と#101に係る処理については2回の実行周期が必要になる。このように、補助プログラムの実行順によって実際の工作機械動作に遅れが生じリアルタイム性が損なわれるという難点がある。
本発明は、前記の課題を考慮してなされたものであり、加工プログラムの実行周期内で実行する複数の補助プログラムに対し、個々の補助プログラムの関連性を解析して、それらの実行順を決定し、リアルタイム性に優れ、高速の実行速度で適正な処理動作を行うことが可能な工作機械の数値制御装置を提供することを目的とする。
本発明の態様は、予め決められた実行周期で加工プログラムを実行するとともに、実行周期内において、複数の補助プログラムのうち1つ以上の補助プログラムを実行する工作機械の数値制御装置であって、加工プログラム及び複数の補助プログラムの各々を解析する解読部と、解読部の解析結果に基づいて、補助プログラム同士の関連性の有無を判断する指令要素抽出部と、解読部の解析結果に基づいて、加工プログラムの処理時間及び複数の補助プログラムの各々の処理時間を算出する負荷算出部と、互いに関連性を有する補助プログラムを同一の実行周期内で実行するように、加工プログラムの処理時間及び複数の補助プログラムの各々の処理時間に応じて、加工プログラム及び複数の補助プログラムの実行順を算出する実行順算出部と、算出された実行順に従って、加工プログラム及び補助プログラムを実行する実行処理部と、を備える。
この構成によれば、解読部と、指令要素抽出部によって複数の補助プログラム相互間の関連性の有無が判断され、一方、負荷算出部は加工プログラム及び補助プログラムの処理時間を算出し、これら関連性の有無と加工プログラム及び補助プログラムの処理時間に基づき加工プログラム及び補助プログラムの実行順を算出して実行処理する。これによって、補助プログラムを実行処理するリアルタイム性に優れ且つ高速の実行速度で適正な処理を行なうことができる。
また、指令要素抽出部は、解読部の解析結果に基づいて、二以上の補助プログラムにおいて共通で使用している変数を抽出し、変数を共通で使用している補助プログラム同士を関連性有りと決定してもよい。これにより、補助プログラム同士の関連性を精度よく判断することができる。
さらに、指令要素抽出部は、解読部の解析結果に基づいて、共通で使用している変数が多いほど、関連性を有する補助プログラム間の関連度を高く設定し、実行順算出部は、関連度が高い補助プログラム同士が隣り合うように実行順を算出してもよい。
これにより、関連度が高い補助プログラム同士は、共通で使用する変数の個数が多く、これらの補助プログラムを同一の実行周期内において実行することにより補助プログラムの実行速度を向上させることができる。
さらにまた、指令要素抽出部は、解読部の解析結果に基づいて、関連性を有する補助プログラム間の実行順を決める優先度を設定し、実行順算出部は、関連度が高い補助プログラム同士が隣り合い、且つ、優先度が高い順となるように、実行順を算出してもよい。
これにより、関連性を有する補助プログラムのうち、優先度が低い補助プログラムは、優先度が高い補助プログラムの処理結果を用いて、処理を行うことができるため、補助プログラムの実行処理エラーを抑制することができる。
またさらに、指令要素抽出部は、変数を共通で使用している補助プログラムの各々について、共通で使用している変数を書き込みで使用しているのか、共通で使用している変数を読み込みで使用しているのかを判断し、共通で使用している変数を書き込みで使用している補助プログラムの優先度を、共通で使用している変数を読み込みで使用している補助プログラムの優先度よりも高く設定してもよい。
これにより、先に実行される補助プログラムにより書き込みが行われた変数を、後で実行される補助プログラムにより読み込みが行われるため、補助プログラムの実行処理エラーを防止することができる。
また、加工プログラム及び補助プログラムが実行処理部において実行されているときに、加工プログラムの処理時間及び補助プログラムの処理時間を計測する別異の負荷算出部を有し、実行順算出部は、別異の負荷算出部が計測した加工プログラムの処理時間及び補助プログラムの処理時間に基づいて、実行順を見直してもよい。
これにより、負荷算出部が解読部の解析結果から算出した処理時間に対して、別異の負荷算出部が計測した実際の処理時間が異なるときには、随時実行順を見直すことができ、実際の処理時間に即した実行順を設定することができる。よって、補助プログラムの実行処理についてリアルタイム性を向上させるとともに、補助プログラムより高速に処理することができる。
さらに、指令要素抽出部は、解読部の解析結果に基づいて、繰り返し処理を行う命令を示す継続指令を抽出し、実行順算出部は、継続指令を有する補助プログラムが実行処理部において繰り返し実行されるように実行順を算出してもよい。これにより、継続指令を有する補助プログラムを繰り返し実行することができる。
さらにまた、継続指令を有する補助プログラムが実行処理部において実行されているときに、継続指令を有する補助プログラムの処理時間を計測する別異の負荷算出部を有し、実行順算出部は、別異の負荷算出部が計測した継続指令を有する補助プログラムの処理時間に基づいて、実行順を見直してもよい。
継続指令を有する補助プログラムは、繰り返し実行される毎に実際に実行する制御内容によって負荷が異なるため、処理時間も異なる。そこで、負荷算出部では、継続指令を有する補助プログラムについては、最も負荷が大きくなるときの処理時間を算出する。そのため、実際に継続指令を有する補助プログラムを実行したときの処理時間は、負荷算出部が算出した処理時間よりも短いことがある。別異の負荷算出部により、継続指令を有する補助プログラムの実際の処理時間を計測し、計測した処理時間に基づいて実行順を見直すことにより、実際の処理時間に即した実行順を算出することができる。よって、補助プログラムの実行処理についてリアルタイム性を向上させるとともに、補助プログラムより高速に処理することができる。
またさらに、実行順算出部は、実行周期内で加工プログラム及び補助プログラムを実行可能な処理時間を処理負荷の制限値として設定し、加工プログラムの処理時間と、実行周期内で実行される補助プログラムの処理時間との合計が制限値以下となるように、実行順を算出してもよい。
これにより加工プログラムの実行周期内に補助プログラムを実行する際に、次の加工プログラムが実行される前に補助プログラムの処理を終了することができ、システムダウンを回避することができる。
また、負荷算出部は、加工プログラムが実行処理部において実行されているときに、加工プログラムの処理時間を計測し、実行順算出部は、計測された加工プログラムの処理時間に応じて、実行順を算出してもよい。
補助プログラムは、加工プログラムの処理が完了した後に実行されるため、先に実行されている加工プログラムの処理時間を計測し、実際の加工プログラムの処理時間に応じて、後に実行される補助プログラムの実行順を設定することができる。よって、実際の加工プログラムの処理時間に即した実行順を算出することができる。よって、補助プログラムの実行処理についてリアルタイム性を向上させるとともに、補助プログラムより高速に処理することができる。
本発明によれば、リアルタイム性に優れ、高速の実行速度で適正な処理動作を行うことができる。
本発明に係る工作機械の数値制御装置としての好適な実施形態を例示し、添付の図面を参照しながら以下詳細に説明する。
図1は、本発明の一実施形態である多軸工作機械の数値制御装置の要部制御系統図を示すものである。
数値制御装置10はCPU12を備え、CPU12は数値制御装置10の各部を制御する。CPU12は、ROM14に格納されたシステムプログラムをバス16を介して読み出し、このシステムプログラムに従って数値制御装置10の各部を制御する。なお、ROM14には、加工プログラム等の作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種のシステムプログラムが予め書き込まれている。RAM18には一時的な計算データや表示データ及びLCD/MDIユニット20を介してオペレータが入力した各種データ等が格納される。
SRAM22は図示しないバッテリでバックアップされ、数値制御装置10の電源がオフされても記憶状態が保持される不揮発性メモリとして構成され、初期位置を測定するプログラムや工作機械の熱変位補正を行うプログラム、インタフェース24を介して読み込まれた後述する加工プログラム、LCD/MDIユニット20を介して入力された加工プログラム等が記憶されるようになっている。
インタフェース24は数値制御装置10に接続可能な外部機器のためのインタフェースであり、外部記憶装置等の外部機器26が接続される。外部記憶装置からは加工プログラム、熱変位測定プログラム等が読み込まれる。PMC(プログラマブル・マシン・コントローラ)28は、数値制御装置10に内蔵されたシーケンスプログラムで工作機械側の補助装置等を制御する。すなわち、加工プログラムで指令されたM機能、S機能及びT機能に従って、これらシーケンスプログラムの補助装置側で必要な信号を変換し、I/Oユニット30から補助装置側に出力する。この出力信号により各種アクチュエータ等の補助装置が作動する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な処理をしてCPU12に渡す。
工作機械の各軸の現在位置、アラーム、パラメータ、画像データ等の画像信号はLCD/MDIユニット20に送られ、そのディスプレイに表示される。LCD/MDIユニット20はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース32はLCD/MDIユニット20のキーボードからデータを受けてCPU12に渡す。
インタフェース34は手動パルス発生器36に接続され、手動パルス発生器36は工作機械の操作盤に実装され、手動操作に基づく分配パルスによる各軸制御で工作機械の可動部を精密に位置決めするために使用される。
工作機械を構成する図示しないテーブルを移動させるX、Y軸の軸制御回路及びZ軸の軸制御回路50、52、54はCPU12からの各軸の移動指令を受けて、各軸の指令をサーボアンプ44、46、48に出力する。サーボアンプ44、46、48はこの指令を受けて工作機械の各軸のサーボモータ38、40、42を駆動する。各軸のサーボモータ38、40、42には位置検出用の図示しないパルスコーダが内蔵されており、このパルスコーダからの位置信号がパルス列としてフィードバックされる。
スピンドル制御回路60は、工作機械への主軸回転指令を受け、スピンドルアンプ58にスピンドル速度信号を出力する。スピンドルアンプ58はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ56を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ56には歯車あるいはベルト等でポジションコーダ62が結合され、ポジションコーダ62が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはインタフェース64を経由してCPU12によって読み取られる。時計回路66は現在時刻に同期するように調整された時計装置である。
図2は、本発明に係る工作機械の数値制御装置における加工プログラム及び補助プログラムを実行処理するための制御系のブロック系統図を示すものである。
加工プログラムは工作機械により加工を行う自動運転処理に関するプログラムであり、補助プログラムは加工の準備動作や計測等を行う処理に関するプログラムである。加工プログラムは予め決められた実行周期で実行される。補助プログラムは、加工プログラムの実行周期内において実行される。
補助プログラムは、それぞれの処理に対応して複数用意されている。複数の補助プログラムは、通常は予め決められた実行順で実行されるが、後述する補助プログラム同士の関連性に応じて実行順が並べ替えられる。なお、補助プログラムは、処理に応じて、1回だけ実行される補助プログラムがある一方、繰り返し実行されるコマンドである継続指令を含む補助プログラムもある。補助プログラムの実行順は、さらにこの継続指令に基づいて並べ替えられる。
図2において示されるプログラム70は、加工プログラム及び補助プログラムであり、SRAM22に格納されている。ここで、プログラム70は、CPU12内の解読部72によって解析(プログラム解析)され、実行データが作成される。次いで、CPU12内の指令要素抽出部74において、プログラム解析された個々の補助プログラムから、他の補助プログラムとの関連性の高さが判断され、その結果は「関連度」としてSRAM22に記憶される。さらにCPU12内の指令要素抽出部74では前記「関連度」及び前記関連性を有する補助プログラム間の実行順を決定する「優先度」が決定され、次いで、加工工程中、繰り返し命令されることを表す「継続指令」の抽出が行われる。これらの関連度、優先度及び継続指令に係るデータは、例えば、図1に示されるRAM18に格納してもよい。さらに、CPU12内の負荷算出部76において、加工プログラムの処理時間と、補助プログラムの処理時間とが算出され、その算出結果はRAM18に格納される。
そして、CPU12内の実行順算出部78において、前記「関連度」及び「優先度」、さらには「処理時間」及び「継続指令」から、加工プログラム及び補助プログラムの実行順の算出を行う。実行順の算出結果が得られると前記実行順算出部78により算出された実行順に基づいて、実行処理部80を介して加工プログラム及び補助プログラムの実行処理が行われる。
この場合、CPU12内の前記実行処理部80で実行される加工プログラム及び補助プログラムに対して、別異の負荷算出部82により、加工プログラムの処理時間及び補助プログラムの処理時間を計測し、前記実行順算出部78にフィードバックし、適宜加工プログラム及び補助プログラムの実行順の見直しを行ってもよい。
次に、加工プログラム及び複数の補助プログラムの実行順の算出処理の実施例について説明する。
(実施例1)
図3は、補助プログラムの関連度、優先度及びプログラム負荷の算出処理方法を示すものである。図3の上段は各補助プログラムに記載される命令文や変数等のコマンドを示し、中段は指令要素抽出部74により各補助プログラムから抽出した変数を示し、下段は各補助プログラムの関連度、優先度及びプログラム負荷の情報を示す。
図3は、補助プログラムの関連度、優先度及びプログラム負荷の算出処理方法を示すものである。図3の上段は各補助プログラムに記載される命令文や変数等のコマンドを示し、中段は指令要素抽出部74により各補助プログラムから抽出した変数を示し、下段は各補助プログラムの関連度、優先度及びプログラム負荷の情報を示す。
図3の上段に示す、各補助プログラムのそれぞれ命令の意味は、次の通りである。なお、本実施例において、補助プログラムの記述は、本出願人が前記特許文献1により提案したNCプログラム形式によるものである。
||1ZDO :補助プログラム1の開始
#100=#5021 :#100にX軸(1軸目)の機械座標値を代入
#101=#5022 :#101にY軸(2軸目)の機械座標値を代入
:
ZEND :補助プログラム1の終了
||2ZDO :補助プログラム2の開始
N1…
N2…
:
ZEND :補助プログラム2の終了
||3ZDO :補助プログラム3の開始
#102=#100+#101 :#102に#100と#101の加算結果を代入
N1…
N2…
:
ZEND :補助プログラム3の終了
#100=#5021 :#100にX軸(1軸目)の機械座標値を代入
#101=#5022 :#101にY軸(2軸目)の機械座標値を代入
:
ZEND :補助プログラム1の終了
||2ZDO :補助プログラム2の開始
N1…
N2…
:
ZEND :補助プログラム2の終了
||3ZDO :補助プログラム3の開始
#102=#100+#101 :#102に#100と#101の加算結果を代入
N1…
N2…
:
ZEND :補助プログラム3の終了
図3の上段に示すコマンドにおいて、指令要素抽出部74では、補助プログラム1乃至3の如き個々の補助プログラムで使用している処理負荷に係る変数が補助プログラム相互間で共通のデータとして使用されていないかが探索される。具体的には、指令要素抽出部74では、プログラム解析結果から補助プログラム1乃至3から変数の抽出が行われる。次に指令要素抽出部74では、補助プログラム同士の関連性の有無が判断される。図3に示す例では、補助プログラム1と補助プログラム3の変数#100と変数#101が共通であるために関連性が高い(有る)と判断され、補助プログラム2では共通する変数がないために関連性が低い(無い)と判断される。次いで指令要素抽出部74では、個々の補助プログラムと他の補助プログラムとの関連性の高さを点数化して保持し、「関連度」を決定する。関連性の高いほど「関連度」は高くなる。この場合、補助プログラム1では補助プログラム3に対して、2つの変数が共通であるために関連度を「2」とする。同様に補助プログラム3は補助プログラム1に対して、2つの変数が共通であるために関連度を「2」とする。一方、補助プログラム2は補助プログラム1及び補助プログラム3に対して変数に共通性がないために関連度は「0」である。
次に、指令要素抽出部74において前記のように判断された関連性があった補助プログラムについて、変数を「読み取り」で使用するのか、「書き込み」で使用するのかに従って点数化を行い、「優先度」を決定する。この場合、通常は、書き込みが行われた変数を読み取って、次の条件判定処理を実行するため、「書き込み」の実行順を早くし、「読み取り」の実行順を遅くするように、「優先度」を決定する。すわなち、補助プログラム1では変数#100と#101は書き込み処理であるために優先度は「2」である。一方、補助プログラム3では変数#100と#101は読み取り処理であるために優先度は「−2」である。
次に、負荷算出部76においてプログラム負荷量が算出される。プログラム負荷量とは、加工プログラムの処理時間又は補助プログラムの処理時間である。すなわち、プログラム負荷は、加工プログラム及び補助プログラムの解析段階で個々の命令について、命令の負荷量を推定した、例えば、SRAM22に格納されている図示しないプログラム負荷データテーブルを参照して負荷量を決定し、その積算値を1つのプログラム全体の負荷とする。
図4は、前述した図3に示す実施例1に基づく加工プログラムの実行周期内における補助プログラムの実行順の決定方法を示すものである。図4において、「自動運転実行処理」は、加工プログラムによる工作機械の自動運転に関する実行処理状態を示し、また「補助プログラム1実行処理」、「補助プログラム2実行処理」、「補助プログラム3実行処理」は、加工プログラムの実行周期内に実行される補助プログラムの実行処理状態を示す。
図4に示すように、実行順算出部78は、加工プログラム及び補助プログラムを実行周期内で実行可能な処理時間を処理負荷の制限値として予め規定する。この場合、加工プログラムの「自動運転実行処理」の処理時間は、別異の負荷算出部82において命令の開始時から完了時までの時間の測定値から処理負荷の測定値として決定される。
そこで、実行順算出部78は、加工プログラムの実行周期内で実行される補助プログラム1乃至3のうち、関連度が高い補助プログラム1と補助プログラム3とを、同一の実行周期内で実行できるように、関連度が高い補助プログラムと隣り合って、しかも優先度が高い順になるように、実行順を並び換える(図4参照)。すなわち、実行順は加工プログラム→補助プログラム1→補助プログラム3→加工プログラム→補助プログラム2となり、関連度が低い補助プログラム2の実行処理は次なる実行周期内の処理に回される。
実行処理部80では、このようにして決定された実行順に従って、同一の実行周期内で実行される加工プログラム及び補助プログラムのプログラム負荷が処理負荷の制限値に収まる範囲で、加工プログラム及び補助プログラムの実行処理が行われる。
(実施例2)
図5は、補助プログラムの実行処理が継続的に実行される(「継続指令」のある)場合における、前述した実施例1と同様の自動運転実行処理のための加工プログラムの実行周期内において実行される補助プログラムの関連度、優先度、プログラム負荷の算出処理方法を示すものである。図5の上段は各補助プログラムに記載される命令文や変数を示し、中段は指令要素抽出部74により各補助プログラムから抽出した変数を示し、下段は各補助プログラムの関連度、優先度、プログラム負荷及び継続指令の情報を示す。
図5は、補助プログラムの実行処理が継続的に実行される(「継続指令」のある)場合における、前述した実施例1と同様の自動運転実行処理のための加工プログラムの実行周期内において実行される補助プログラムの関連度、優先度、プログラム負荷の算出処理方法を示すものである。図5の上段は各補助プログラムに記載される命令文や変数を示し、中段は指令要素抽出部74により各補助プログラムから抽出した変数を示し、下段は各補助プログラムの関連度、優先度、プログラム負荷及び継続指令の情報を示す。
図5に示す、実施例2の継続指令(「補助プログラム3」参照)のある補助プログラム例のそれぞれ命令の意味は、次の通りである。なお、本実施例においても、補助プログラムの記述は、本出願人が前記特許文献1により提案したNCプログラム形式によるものである。
||1ZDO :補助プログラム1の開始
#100=#5021 :#100にX軸(1軸目)の機械座標値を代入
#101=#5022 :#101にY軸(2軸目)の機械座標値を代入
:
ZEND :補助プログラム1の終了
||2ZDO :補助プログラム2の開始
N1…
N2…
:
ZEND :補助プログラム2の終了
||3ZDO :補助プログラム3の開始
ZEDGE[#100GE#102]ZDO :#100が#102以上になるとZDOからZENDまで実行
N1…
N2…
:
ZEND :ZEDGE文が成立したらここまで実行
ZEND :補助プログラム3の終了
#100=#5021 :#100にX軸(1軸目)の機械座標値を代入
#101=#5022 :#101にY軸(2軸目)の機械座標値を代入
:
ZEND :補助プログラム1の終了
||2ZDO :補助プログラム2の開始
N1…
N2…
:
ZEND :補助プログラム2の終了
||3ZDO :補助プログラム3の開始
ZEDGE[#100GE#102]ZDO :#100が#102以上になるとZDOからZENDまで実行
N1…
N2…
:
ZEND :ZEDGE文が成立したらここまで実行
ZEND :補助プログラム3の終了
図5における実施例2では、前述した図3に示す実施例1と同様に、関連度、優先度、プログラム負荷の算出処理が営まれ、一方、補助プログラム3には「継続指令」が加わっている。従って、関連度及び優先度の算出は、実施例1と同様に、個々の補助プログラムの関連性と、読み取り及び書き込みの関係で決定される。
一方、指令要素抽出部74は、補助プログラム中に繰り返し実行処理を行う条件判定やループ処理がある制御文の場合に、「継続指令」とする情報を付加する。そして、「継続指令」を有する補助プログラムのプログラム負荷は、最も負荷が大きくなるパターンを探索し、プログラム負荷とする。
図6に、図5に示す実施例2に基づく「継続指令」がある補助プログラムの実行周期内における実行順の決定方法を示す。
本実施例2においても、前記実施例1と同様に、実行順算出部78は、実行周期内で加工プログラム及び補助プログラムを実行可能な処理時間を処理負荷の制限値として予め規定する。また、加工プログラムの「自動運転実行処理」の処理時間は、別異の負荷算出部82において命令の開始時から完了時までの時間の測定値から処理負荷の測定値として決定される。
そこで、実行順算出部78は、加工プログラムの実行周期内で実行される補助プログラム1乃至3のうち、関連度が高い補助プログラム1と補助プログラム3を、同一の実行周期内に実行できるように、関連度が高い補助プログラムが隣り合って、しかも優先度が高い順になるように実行順を並び換える(図6参照)。すなわち、実行順は加工プログラム→補助プログラム1→補助プログラム3→加工プログラム→補助プログラム2となり、関連度が低い補助プログラム2の実行処理は次なる実行周期内の処理に回される。
実行処理部80では、このようにして決定された実行順に従って、同一の実行周期内で実行される加工プログラム及び補助プログラムのプログラム負荷が処理負荷の制限値に収まる範囲で、加工プログラム及び補助プログラムの実行処理が行われる。
本実施例2においては、「継続指令」は、実行周期内で繰り返し実行されるため、「継続指令」が含まれる補助プログラムが終了するまで、この補助プログラムの実行処理が繰り返し行われる。そして、「継続指令」の場合は、実際に実行する制御文によって、実際の処理負荷時間がプログラム負荷と大きく乖離する可能性がある。
そのため、「継続指令」が含まれる補助プログラムでは、別異の負荷算出部82において実行周期内の処理負荷時間の測定を行い、その測定値を使用し、実行処理中において、図7に示すように、プログラム負荷の見直しを行うことが好ましい。
図7は、図6に示す実施例2に基づく「継続指令」がある補助プログラムの実行周期内における実行順の決定に対する見直し方法を示すものである。
すなわち、「継続指令」が含まれる「補助プログラム3実行処理」において、測定された処理負荷時間が小さく、「補助プログラム2実行処理」のプログラム負荷が処理負荷の制限値に収まる場合、実行順算出部78は「補助プログラム2実行処理」を前の実行周期で動作させるように、実行順の見直しを行う。すなわち、実行順は加工プログラム→補助プログラム1→補助プログラム3→補助プログラム2→加工プログラムとなる。これによって処理負荷の制限値に対して実際の処理負荷時間が乖離しないように、実行順を決定することができる。
以上、本発明の好適な実施形態についてそれぞれ説明したが、本発明は前述した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲において種々設計変更が可能であることは言うまでもない。
10…数値制御装置 12…CPU
14…ROM 18…RAM
20…LCD/MDIユニット 22…SRAM
30…I/Oユニット 38、40、42…サーボモータ
44、46、48…サーボアンプ 50、52、54…軸制御回路
56…スピンドルモータ 58…スピンドルアンプ
60…スピンドル制御回路 70…プログラム
72…解読部 74…指令要素抽出部
76…負荷算出部 78…実行順算出部
80…実行処理部 82…別異の負荷算出部
14…ROM 18…RAM
20…LCD/MDIユニット 22…SRAM
30…I/Oユニット 38、40、42…サーボモータ
44、46、48…サーボアンプ 50、52、54…軸制御回路
56…スピンドルモータ 58…スピンドルアンプ
60…スピンドル制御回路 70…プログラム
72…解読部 74…指令要素抽出部
76…負荷算出部 78…実行順算出部
80…実行処理部 82…別異の負荷算出部
Claims (10)
- 予め決められた実行周期で加工プログラムを実行するとともに、前記実行周期内において、複数の補助プログラムのうち1つ以上の前記補助プログラムを実行する工作機械の数値制御装置であって、
前記加工プログラム及び複数の前記補助プログラムの各々を解析する解読部と、
前記解読部の解析結果に基づいて、前記補助プログラム同士の関連性の有無を判断する指令要素抽出部と、
前記解読部の解析結果に基づいて、前記加工プログラムの処理時間及び複数の前記補助プログラムの各々の処理時間を算出する負荷算出部と、
互いに前記関連性を有する前記補助プログラムを同一の前記実行周期内で実行するように、前記加工プログラムの処理時間及び複数の前記補助プログラムの各々の処理時間に応じて、前記加工プログラム及び複数の前記補助プログラムの実行順を算出する実行順算出部と、
算出された前記実行順に従って、前記加工プログラム及び前記補助プログラムを実行する実行処理部と、
を備える工作機械の数値制御装置。 - 請求項1に記載の工作機械の数値制御装置であって、
前記指令要素抽出部は、前記解読部の解析結果に基づいて、二以上の前記補助プログラムにおいて共通で使用している変数を抽出し、前記変数を共通で使用している前記補助プログラム同士を前記関連性有りと決定する工作機械の数値制御装置。 - 請求項2に記載の工作機械の数値制御装置であって、
前記指令要素抽出部は、前記解読部の解析結果に基づいて、共通で使用している前記変数が多いほど、前記関連性を有する前記補助プログラム間の関連度を高く設定し、
前記実行順算出部は、前記関連度が高い前記補助プログラム同士が隣り合うように前記実行順を算出する工作機械の数値制御装置。 - 請求項3に記載の工作機械の数値制御装置であって、
前記指令要素抽出部は、前記解読部の解析結果に基づいて、前記関連性を有する前記補助プログラム間の実行順を決める優先度を設定し、
前記実行順算出部は、前記関連度が高い前記補助プログラム同士が隣り合い、且つ、前記優先度が高い順となるように、前記実行順を算出する工作機械の数値制御装置。 - 請求項4に記載の工作機械の数値制御装置であって、
前記指令要素抽出部は、前記変数を共通で使用している前記補助プログラムの各々について、共通で使用している前記変数を書き込みで使用しているのか、共通で使用している前記変数を読み込みで使用しているのかを判断し、共通で使用している前記変数を書き込みで使用している前記補助プログラムの前記優先度を、共通で使用している前記変数を読み込みで使用している前記補助プログラムの前記優先度よりも高く設定する工作機械の数値制御装置。 - 請求項1〜5のいずれか1項に記載の工作機械の数値制御装置であって、
前記加工プログラム及び前記補助プログラムが前記実行処理部において実行されているときに、前記加工プログラムの処理時間及び前記補助プログラムの処理時間を計測する別異の負荷算出部を有し、
前記実行順算出部は、前記別異の負荷算出部が計測した前記加工プログラムの処理時間及び前記補助プログラムの処理時間に基づいて、前記実行順を見直す工作機械の数値制御装置。 - 請求項1〜5のいずれか1項に記載の工作機械の数値制御装置であって、
前記指令要素抽出部は、前記解読部の解析結果に基づいて、繰り返し処理を行う命令を示す継続指令を抽出し、
前記実行順算出部は、前記継続指令を有する前記補助プログラムが前記実行処理部において繰り返し実行されるように前記実行順を算出する工作機械の数値制御装置。 - 請求項7に記載の工作機械の数値制御装置であって、
前記継続指令を有する前記補助プログラムが前記実行処理部において実行されているときに、前記継続指令を有する前記補助プログラムの処理時間を計測する別異の負荷算出部を有し、
前記実行順算出部は、前記別異の負荷算出部が計測した前記継続指令を有する前記補助プログラムの処理時間に基づいて、前記実行順を見直す工作機械の数値制御装置。 - 請求項1〜8のいずれか1項に記載の工作機械の数値制御装置であって、
前記実行順算出部は、前記実行周期内で前記加工プログラム及び前記補助プログラムを実行可能な処理時間を処理負荷の制限値として設定し、前記加工プログラムの処理時間と、前記実行周期内で実行される前記補助プログラムの処理時間との合計が前記制限値以下となるように、前記実行順を算出する工作機械の数値制御装置。 - 請求項1〜9のいずれか1項に記載の工作機械の数値制御装置であって、
前記負荷算出部は、前記加工プログラムが前記実行処理部において実行されているときに、前記加工プログラムの処理時間を計測し、
前記実行順算出部は、計測された前記加工プログラムの処理時間に応じて、前記実行順を算出する工作機械の数値制御装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/440,210 US10120363B2 (en) | 2016-02-29 | 2017-02-23 | Numerical controller for machine tool |
DE102017001765.4A DE102017001765A1 (de) | 2016-02-29 | 2017-02-23 | Numerische steuerung für werkzeugmaschine |
CN201710126354.4A CN107132818B (zh) | 2016-02-29 | 2017-02-27 | 机床的数值控制装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016036871 | 2016-02-29 | ||
JP2016036871 | 2016-02-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017157194A true JP2017157194A (ja) | 2017-09-07 |
JP6316919B2 JP6316919B2 (ja) | 2018-04-25 |
Family
ID=59810627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016234809A Active JP6316919B2 (ja) | 2016-02-29 | 2016-12-02 | 工作機械の数値制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6316919B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112018004199T5 (de) | 2017-08-16 | 2020-04-30 | Sumitomo Electric Industries, Ltd. | Steuervorrichtung, Steuerverfahren und Computerprogramm |
JP2021081848A (ja) * | 2019-11-15 | 2021-05-27 | ファナック株式会社 | 制御装置、及び制御システム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001034320A (ja) * | 1999-07-26 | 2001-02-09 | Mitsubishi Electric Corp | 数値制御装置 |
JP2001043096A (ja) * | 1999-07-29 | 2001-02-16 | Atr Adaptive Communications Res Lab | ソフトリアルタイムにおけるスケジューリング方法 |
-
2016
- 2016-12-02 JP JP2016234809A patent/JP6316919B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001034320A (ja) * | 1999-07-26 | 2001-02-09 | Mitsubishi Electric Corp | 数値制御装置 |
JP2001043096A (ja) * | 1999-07-29 | 2001-02-16 | Atr Adaptive Communications Res Lab | ソフトリアルタイムにおけるスケジューリング方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112018004199T5 (de) | 2017-08-16 | 2020-04-30 | Sumitomo Electric Industries, Ltd. | Steuervorrichtung, Steuerverfahren und Computerprogramm |
JP2021081848A (ja) * | 2019-11-15 | 2021-05-27 | ファナック株式会社 | 制御装置、及び制御システム |
JP7460357B2 (ja) | 2019-11-15 | 2024-04-02 | ファナック株式会社 | 制御装置、及び制御システム |
Also Published As
Publication number | Publication date |
---|---|
JP6316919B2 (ja) | 2018-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5000543B2 (ja) | 工作機械の制御方法、および、それに対する装置 | |
JP6469065B2 (ja) | 機械学習装置及び加工時間予測装置 | |
JP6802213B2 (ja) | 工具選定装置及び機械学習装置 | |
JP3827951B2 (ja) | Nc加工におけるncプログラムの最適化方法及び装置 | |
JP2020071734A (ja) | 数値制御装置 | |
US9429928B2 (en) | Control method, non-transitory computer readable medium and controller of numerical control machine tool | |
JP2009509780A (ja) | 機械における加工プロセスの最適化のための方法 | |
JP2003256009A (ja) | Ncプログラムのための最適データ変換方法及び最適データ変換手段を備えた数値制御工作機械 | |
US10114363B2 (en) | Numerical controller capable of partial correction of machining cycle | |
US20220260964A1 (en) | Information processing apparatus, information processing method, and information processing program | |
JP2009053801A (ja) | プログラム再開機能を備えた数値制御装置 | |
US20120324415A1 (en) | System Comprising Development Environments And Machine Controls | |
JP6316919B2 (ja) | 工作機械の数値制御装置 | |
CN110174871B (zh) | 控制装置、机器学习装置以及*** | |
JP2009122852A (ja) | パステーブル運転時の運転履歴を記憶する数値制御装置 | |
US20190086888A1 (en) | Controller and machine learning device | |
US10120363B2 (en) | Numerical controller for machine tool | |
CN105278463B (zh) | 基于表形式数据进行运转的数值控制装置 | |
US20150127140A1 (en) | Numerical control device and numerical control system | |
US10241501B2 (en) | Numerical controller having automatic trace function of related signal in association with NC program operation | |
JP2008071015A (ja) | 数値制御装置 | |
JP6823032B2 (ja) | プログラム修正装置 | |
JP4112433B2 (ja) | 工作機械の数値制御装置と工作機械の数値制御方法 | |
JP5763352B2 (ja) | Ncプログラム作成装置 | |
JP6568152B2 (ja) | 数値制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180228 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180306 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180328 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6316919 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |