JP2019153042A - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP2019153042A
JP2019153042A JP2018037318A JP2018037318A JP2019153042A JP 2019153042 A JP2019153042 A JP 2019153042A JP 2018037318 A JP2018037318 A JP 2018037318A JP 2018037318 A JP2018037318 A JP 2018037318A JP 2019153042 A JP2019153042 A JP 2019153042A
Authority
JP
Japan
Prior art keywords
program
execution
unit
subprogram
call
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
JP2018037318A
Other languages
English (en)
Other versions
JP6708678B2 (ja
Inventor
木村 聡
Satoshi Kimura
聡 木村
智 金丸
Satoshi Kanemaru
智 金丸
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 JP2018037318A priority Critical patent/JP6708678B2/ja
Priority to DE102019001129.5A priority patent/DE102019001129A1/de
Priority to US16/282,719 priority patent/US11340586B2/en
Priority to CN201910160562.5A priority patent/CN110221577A/zh
Publication of JP2019153042A publication Critical patent/JP2019153042A/ja
Application granted granted Critical
Publication of JP6708678B2 publication Critical patent/JP6708678B2/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/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
    • 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/406Numerical 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 monitoring or safety
    • G05B19/4068Verifying part programme on screen, by drawing or other means
    • 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/409Numerical 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 using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31161Java programcode or simular active agents, programs, applets
    • 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/33Director till display
    • G05B2219/33297Diagnostic, test, debug
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36045Skip of program blocks, jump over certain blocks

Landscapes

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

Abstract

【課題】加工プログラムの動的解析機能を有する数値制御装置を提供する。【解決手段】加工プログラムの中でサブプログラムを呼出すサブプログラム呼び出し機能を備えた数値制御装置1は、サブプログラムを呼び出した場合に、サブプログラムの呼び出しに関する情報を通知するプログラム解読部101と、プログラム解読部から通知されたサブプログラムの呼び出しに関する情報を集約し、記憶するプログラム呼び出し情報記憶部102と、サブプログラムを実行した場合に、サブプログラムの実行に関する情報を通知するプログラム実行部103と、プログラム実行部から通知されたサブプログラムの実行に関する情報を集約し、記憶するプログラム実行情報記憶部104と、を有することを特徴とする。【選択図】図2

Description

本発明は数値制御装置に関し、特に加工プログラムの動的解析機能を有する数値制御装置に関する。
数値制御装置で使用される加工プログラム(以下、単にプログラム)では、プログラム中で他のプログラムの呼び出しが行われることがある。以降、数値制御装置の運転で最初に実行されるプログラムをメインプログラム、それにともなって呼び出される他のプログラムをサブプログラムと呼称する。例えばメインプログラムの中で、MSTBコード(Mxxx,Sxxx,Txxx,Bxxxなどの形式を取るコードの総称。xxxには呼び出し対象のサブプログラムを指すコードが入る)によるサブプログラム呼び出しや、Gコード(Gxxxなる形式を取り、xxxには呼び出し対象のサブプログラムを指すコードが入る)によるサブプログラム呼び出しが行われている。また、サブプログラムの中からサブプログラムを呼び出すなど、呼び出しが多重に実行される場合がある。例えば、加工単位で作成された複数のプログラムをサブプログラムとして作成し、メインプログラムから呼び出す形態のプログラムがある。
上述のような形態においては多くのプログラムが数値制御装置内に存在することとなるため、それらを容易に管理するための手法が種々提案されている。例えば、特許文献1及び2には、多重呼び出しを含むプログラムを静的に解析し、プログラムの階層構造を視覚的に表示する技術が記載されている。
特開平5−113818号公報 特開平8−063218号公報
特許文献1及び2に記載されているような静的解析によるプログラムの解析の場合、マクロ変数、パラメータ設定、数値制御装置ソフトウェアの実行条件(内部パラメータ)等が考慮されておらず、数値制御装置において実際にプログラムを動作させたときの状況を確認することができない。
すなわち、プログラムを実際に実行すると、プログラムコードに記載されてはいるものの呼び出されることのないサブプログラムが存在することがある。例えば、上述のマクロ変数、パラメータ及び内部パラメータが分岐条件に含まれており、ある分岐先でサブプログラムの呼び出しが定義されている場合、マクロ変数、パラメータ及び内部パラメータのとる値によっては、実際には呼び出されることがないサブプログラムが存在することがあり得る。
このような事象は、例えばプログラムのテストの場面で問題となる。実際には呼び出されることがないプログラムは不要であるため削除したいが、数値制御装置内に存在するプログラムのうちどれが実際に実行され、又は実行されないかを確認することは容易ではない。これは、テスト漏れの有無を確認することが困難だということでもある。特に、1つの数値制御装置を複数のオペレータが使用するような環境においては、数値制御装置内に多数のプログラムが登録されることが多々あるため、このような問題が発生しやすい。もしどのプログラムが実際に実行され、又は実行されないかを容易に確認できれば、数値制御装置の記憶領域を有効活用できるし、テストの網羅性を確実なものにすることも可能である。
本発明はこのような問題点を解決するためになされたものであって、加工プログラムの動的解析機能を有する数値制御装置を提供することを目的とする。
本発明の一実施の形態にかかる数値制御装置は、加工プログラムの中でサブプログラムを呼出すサブプログラム呼び出し機能を備えた数値制御装置であって、前記サブプログラムを呼び出した場合に、前記サブプログラムの呼び出しに関する情報を通知するプログラム解読部と、前記プログラム解読部から通知された前記サブプログラムの呼び出しに関する情報を集約し、記憶するプログラム呼び出し情報記憶部と、前記サブプログラムを実行した場合に、前記サブプログラムの実行に関する情報を通知するプログラム実行部と、前記プログラム実行部から通知された前記サブプログラムの実行に関する情報を集約し、記憶するプログラム実行情報記憶部と、を有することを特徴とする。
本発明の一実施の形態にかかる数値制御装置は、前記プログラム呼び出し情報記憶部及び前記プログラム実行情報記憶部で集約した情報をもとに、前記サブプログラムの呼び出し構造をツリー表示するプログラム呼び出し情報表示部を有することを特徴とする。
本発明の一実施の形態にかかる数値制御装置は、前記プログラム実行情報記憶部で集約した情報をもとに、実行された前記サブプログラムのリストを出力するプログラム呼び出し情報表示部を有することを特徴とする。
本発明の一実施の形態にかかる数値制御装置は、前記プログラム呼び出し情報記憶部及び前記プログラム実行情報記憶部で集約した情報をもとに、呼び出し予約がなされたが実行されなかった前記サブプログラムのリストを出力するプログラム呼び出し情報表示部を有することを特徴とする。
本発明の一実施の形態にかかる数値制御装置は、1以上の前記サブプログラムを格納するプログラム管理部と、前記プログラム管理部が格納する前記サブプログラムのリストと、前記プログラム実行情報記憶部で集約した情報をもとに、実行されなかった前記サブプログラムのリストを出力するプログラム呼び出し情報表示部を有することを特徴とする。
本発明によれば、加工プログラムの動的解析機能を有する数値制御装置を提供することが可能である。
数値制御装置1のハードウェア構成を示すブロック図である。 数値制御装置1の機能構成を示すブロック図である。 プログラム呼び出し情報記憶部102が記憶するプログラム呼び出し情報の一例を示す図である。 プログラム実行情報記憶部104が記憶するプログラム実行情報の一例を示す図である。 プログラム呼び出し情報表示部105が、プログラム呼び出し情報記憶部102及びプログラム実行情報記憶部104を統合して作成した情報の一例を示す図である。 プログラム呼び出し情報表示部105が表示する動的解析結果の一例を示す図である。 プログラム呼び出し情報表示部105が表示する動的解析結果の一例を示す図である。
本発明の実施の形態にかかる数値制御装置1の構成について説明する。
図1は、本発明の実施の形態にかかる数値制御装置1の要部の概略的なハードウェア構成図である。
数値制御装置1が備えるCPU11は、数値制御装置1を全体的に制御するプロセッサである。CPU11は、不揮発性メモリ14に格納されたプログラムをバス20を介して読み出し、プログラムに従って数値制御装置1全体を制御する。
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされるなどして、数値制御装置1の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ14に記憶されているプログラム、データは、利用時には揮発性メモリ13に展開されても良い。揮発性メモリ13には、不揮発性メモリ14から展開されたプログラム、データの他、一時的な計算データや表示データ、入力装置を介して入力されたデータ等が格納される。
表示器/MDIユニット70はディスプレイやキーボード等を備えたデータ入出力装置である。表示器/MDIユニット70のキーボードから入力された指令やデータは、インタフェース15を介してCPU11に渡される。また、CPU11から出力された表示データは、インタフェース15を介して表示器/MDIユニット70のディスプレイに表示される。
図2は、本発明の実施の形態に係る数値制御装置1の概略的な機能構成を示すブロック図である。
数値制御装置1は、プログラム解読部101、プログラム呼び出し情報記憶部102、プログラム実行部103、プログラム実行情報記憶部104、プログラム呼び出し情報表示部105、プログラム管理部106、プログラム探索部107、プログラム一覧表示部108を有する。このうち、プログラム解読部101、プログラム呼び出し情報記憶部102、プログラム実行部103プログラム実行情報記憶部104、プログラム呼び出し情報表示部105は、本発明の特徴であるプログラムの動的解析処理を実行する。なおプログラム探索部107、プログラム一覧表示部108は、本発明の課題解決には直接的には関与しない。プログラム探索部107、プログラム一覧表示部108は従来技術によりプログラムを静的に解析する。
プログラム管理部106は、メインプログラム、サブプログラムを含む複数のプログラムを格納する記憶領域である。
プログラム探索部107は、プログラム管理部106が管理するプログラムを探索する処理を行う。
プログラム一覧表示部108は、プログラム探索部107の探索結果を表示する。すなわちプログラムの静的解析処理の実行結果を表示する。
プログラム解読部101は、プログラム管理部106からプログラムを読み出し、プログラム実行の前処理としてプログラムコードを解釈して、実行すべき命令をプログラム実行部103に対し出力する。プログラムコードにマクロ変数、パラメータ及び内部パラメータへの参照が含まれている場合、プログラム解読部101は現在のマクロ変数、パラメータ及び内部パラメータを取得したうえでプログラムコードを解釈する。
また、プログラム解読部101は、プログラムコードにサブプログラム呼び出しが含まれる場合、呼び出しに用いられた手段、変数、呼び出されるプログラム名などの呼び出しに関する情報をプログラム呼び出し情報記憶部102に通知する。
プログラム呼び出し情報記憶部102は、通知された情報をもとに、サブプログラムの呼び出し情報としてテーブル化し、記憶する。
図3に、プログラム呼び出し情報記憶部102が記憶するプログラム呼び出し情報の一例を示す。この例では、呼び出されたサブプログラム名である「プログラム名」、サブプログラムを呼び出したプログラム名である「呼び元」、サブプログラムを呼び出した際に使用されたコード(命令、変数名など)を示す「手段」、サブプログラムを呼び出した際に使用された変数の値を示す「設定値」等が対応付けられて記憶されている。図3で「手段」カラムに記録されている「M98」「M50」等の値は命令、命令に続く「#100」「Prm6042」等の値は変数名を示している。「設定値」カラムに記録されている「#100=1001」「Prm6042=2001」等の値はそれぞれ、変数(この場合はマクロ変数)#100の値が1001であったこと、変数(この場合は数値制御装置のパラメータ)Prm6042の値が2001であったことを示している。
プログラム実行部103は、プログラム解読部101によるプログラムコードの解釈結果を受けて、命令を実行する。この際、プログラム実行部103は、実行したプログラム名、プログラムの実行時間などの実行に関する情報をプログラム実行情報記憶部104に通知する。
プログラム実行情報記憶部104は、通知された情報をもとに、サブプログラムの実行情報としてテーブル化し、記憶する。
図4に、プログラム実行情報記憶部104が記憶するプログラム実行情報の一例を示す。この例では、実行されたプログラム名である「プログラム名」、実行されたプログラムが他のプログラムから呼び出されて実行された場合において、呼び出した側のプログラム名を示す「呼び元」、1つの命令によって何回プログラムを実行したかを示す「実行回数」、プログラムを1回実行するのに要した時間を示す「実行時間」(sec/回)等が対応付けられて記憶されている。
図4に示すようなプログラム実行情報の作成手法は種々考えられる。例えば、プログラム実行部103が、実際にプログラムを実行した際の情報に基づいて、プログラム実行情報を一から作成することができる。この場合、プログラム実行情報に含まれるレコードは、実際に実行されたプログラムに関するもののみとなる。すなわち「実行回数」が0のレコードは作成されない。
又は、プログラム実行部103は、プログラム呼び出し情報記憶部102が記憶するプログラム呼び出し情報に情報を付加する形で、プログラム実行情報を作成することもできる。すなわち、プログラム実行部103がプログラムを実行したときに、そのプログラムの「実行回数」及び「実行時間」を、プログラム呼び出し情報の該当レコードに追記する。例えば、プログラム解読部101がコードを解釈した際にはサブプログラムの呼び出し予約が行われるにとどまり、プログラム実行情報記憶部104が外部信号などのトリガを受けたときに実際に呼び出しが実行されるようなケースが存在する。本手法によれば、このようなケースでは、呼び出し予約が行われたものの実際には呼び出しが行われなかったサブプログラムも、プログラム実行情報中に「実行回数」が0のレコードとして現れる。
あるいは、プログラム管理部106が保持している全プログラム名のリストを作成し、このリストに追記する形で、プログラム実行部103がプログラム実行情報を作成することもできる。この場合も、呼び出し予約が行われたものの実際には呼び出しが行われなかったサブプログラムは、プログラム実行情報中に「実行回数」が0のレコードとして現れる。加えて、呼び出し予約すら行われない、すなわち他のプログラムから呼び出されるケースが存在しないプログラムについても、プログラム実行情報中に「実行回数」が0のレコードとして現れる。
プログラム呼び出し情報表示部105は、プログラム呼び出し情報記憶部102及びプログラム実行情報記憶部104に記録された情報に従って、複数のプログラム間の呼び出し関係を整理して表示する。プログラム呼び出し情報表示部105は、プログラム呼び出し情報記憶部102及びプログラム実行情報記憶部104を統合することにより、実際に呼び出しが行われたサブプログラムを特定することができる。また、実際に呼び出しが行われた際の状況(呼び出しが行われた条件や実際の実行状況など)を特定することもできる。これらの様々な情報を盛り込むことで、プログラム呼び出し情報表示部105は従来にない有用な情報をユーザに提供することが可能である。
図5に示すテーブルは、プログラム呼び出し情報表示部105が、プログラム呼び出し情報記憶部102及びプログラム実行情報記憶部104を統合して作成したものである。図5によれば、呼び出された「プログラム名」、そのプログラムを呼び出した「呼び元」、呼び出しが行われた際の条件を示す「手段」及び「設定値」、そしてプログラムの実行状況を示す「実行回数」及び「実行時間」等が一元的に把握可能である。プログラム呼び出し情報表示部105は、こうして統合された情報に基づいて、プログラム同士の関係を視覚的に表現することができる。以下に幾つかの表現方法を例示する。
図6に示すグラフは、プログラム呼び出し情報表示部105が表示する動的解析結果の一例であって、プログラムの呼び出し関係をツリー構造で表現したものである。この例において、ツリー構造の根にあたるノード「O0001」はメインプログラム名である。「O0001」を起点として延びる線分は、プログラムの実行に伴う時間経過を示している。この線分から分岐する線分の先にあるノード「O1001」「O1002」・・・等は、それぞれメインプログラムから呼びされて実際に実行されたサブプログラム名を示している。線分上に記載されている条件「M98 #100」「#100=1001」「#100=1002」・・・等は、それぞれ当該線分が示す実行ルートが選択されたときの条件(命令や変数の値など)を示している。また、各ノード「O0001」「O1001」・・・等に併記されている「100回」「50回」等は、当該ノードにかかるプログラムが実行された回数を示している。また、分岐先のノード「O1001」「O1002」・・・等に併記されている実行率「50%」「50%」等は、分岐先のノードが複数存在する場合に、各ノードにかかるプログラムが実行される割合がどれほどであったかを示している。
例えば図6からは、「O0001(100回)」という記述から、メインプログラム「O0001」が通算100回実行されたことが分かる。そして、メインプログラム「O0001」からサブプログラム「O1101」に至るまでのルート上には、「M98 #100」「#100=1001」という条件が記載されている。ここから、メインプログラム「O0001」においてコード「M98 #100」が実行され、その際にマクロ変数「#100」の値が「=1001」であった場合に、サブプログラム「O1001」が呼び出されて実行されたことがわかる。同様にして、メインプログラム「O0001」においてコード「M98 #100」が実行され、その際にマクロ変数「#100」の値が「=1002」であった場合には、サブプログラム「O1002」が呼び出されて実行されたことがわかる。そして「O1001(50回、50%)」「O1002(50回、50%)」という記述から、サブプログラム「O1001」及び「O1002」はいずれも通算50回実行され、両者の実行回数の比は50:50であったことがわかる。
図7に示すグラフも、プログラム呼び出し情報表示部105が表示する動的解析結果の一例であって、プログラムの呼び出し関係をツリー構造で表現したものである。プログラムの呼び出し関係をツリー構造で表現したものである。この例において、ツリー構造のルートにあたるノード「O0001」はメインプログラム名である。「O0001」を起点として延びる線分は、プログラムの実行に伴う時間経過を示している。この線分から分岐する線分の先にあるノード「O1001」「O1002」は、それぞれメインプログラムから呼びされて実際に実行されたサブプログラム名を示している。そして、サブプログラム「O1101」からさらに延びて分岐した先にあるノード「O2001」「O2002」は、それぞれサブプログラム「O1101」から呼びされて実際に実行されたサブプログラム名を示している。以下同様にして、プログラムの多重呼び出し構造がツリー状に表現されていく。ツリー構造の末端ノード「O3001」「O3002」・・・等に併記された時間「500sec」「490sec」・・・等は、それぞれの系列(根ノード「O0001」から末端ノードに至るプログラム実行ルート)の実行所要時間を示している。
例えば図7からは、メインプログラム「O0001」からサブプログラム「O1001」「O1002」が呼び出されて実行され、サブプログラム「O1001」からさらにサブプログラム「O2001」「O2002」が呼び出されて実行され、「O2001」からは「O3001」が呼び出され、「O3001」からは「O3011」「O3021」が呼び出されたことがわかる。そして、「O0001」から「O3011」までを実行した場合の所要時間は「500sec」、「O0001」から「O3021」までを実行した場合の所要時間は「490sec」であったことがわかる。これらの情報は、例えばどのようなプログラムを作成すれば実行時間を短縮できるかを検討するための材料として利用できる。
また、プログラム呼び出し情報表示部105は、呼び出されたプログラムのリストや、呼び出されなかったプログラムのリストを作成して表示することもできる。例えば、プログラム呼び出し情報表示部105は、プログラム管理部106が保持している全プログラム名のリストと、図4に示すプログラム実行情報又は図5に示す統合情報において「実行回数」が1以上であるプログラム名のリストとを比較する。この比較において一致したプログラム名は、呼び出されたプログラムのリストに加えられる。一方、プログラム管理部106が保持している全プログラム名のリストにのみ存在するプログラム名は、実行された記録がないのであるから、呼び出されなかったプログラムのリストに加えられる。プログラム呼び出し情報表示部105は、このようなリストを例えば一覧表の形でユーザに提示することができる。
さらに、プログラム呼び出し情報表示部105は、呼び出し予約が行われたものの実際には呼び出しが行われなかったサブプログラムのリストを作成して表示することもできる。例えば、プログラム呼び出し情報表示部105は、プログラム実行部103が一から作成したプログラム実行情報(実際に実行されたプログラム名のみが含まれる)と、プログラム呼び出し情報記憶部102が記憶するプログラム呼び出し情報と、を比較する。ここでプログラム呼び出し情報内にのみ存在するプログラム名は、実行された記録がないのであるから、呼び出し予約が行われたものの実際には呼び出しが行われなかったプログラムのリストに加えられる。プログラム呼び出し情報表示部105は、このようなリストを例えば一覧表の形でユーザに提示することができる。
本実施の形態によれば、数値制御装置1は、実際にプログラムが呼び出された際の条件や実行状況などを記録する。そして、その記録に基づいてプログラム間の現実の呼び出し構造を視覚的に表示したり、実際に呼び出しが行われた又は行われなかったプログラムのリストを表示したり、呼び出し予約が行われたものの実行されなかったプログラムのリストを表示したりすることができる。これらはいずれも、従来の静的解析では知ることのできなかった情報である。
なお、本発明は上述の実施の形態に限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。例えば、上述の実施の形態で示した視覚的表現方法はあくまで一例であり、プログラム呼び出し情報及びプログラム実行情報から得られる種々の情報は、他の任意の手法で提示することが可能である。
また、上述の実施の形態では、プログラム解読部101、プログラム呼び出し情報記憶部102、プログラム実行部103、プログラム実行情報記憶部104、プログラム呼び出し情報表示部105、プログラム管理部106は全て数値制御装置1内に存在するものとして説明したが、本発明はこれに限定されず、1以上の処理部が、数値制御装置1とネットワーク等を介して通信可能に接続された他の装置に存在していても良い。例えば、プログラム呼び出し情報記憶部102、プログラム実行情報記憶部104、プログラム呼び出し情報表示部105等は、数値制御装置1以外の任意の装置内に配置され得る。
あるいは、プログラム解読部101、プログラム呼び出し情報記憶部102、プログラム実行部103、プログラム実行情報記憶部104、プログラム呼び出し情報表示部105、プログラム管理部106は、数値制御装置のシミュレータ内に存在していても構わない。この場合も、1以上の処理部が、シミュレータとネットワーク等を介して通信可能に接続された他の装置に存在していても良い。
1 数値制御装置
11 CPU
13 揮発性メモリ
14 不揮発性メモリ
15 インタフェース
20 バス
70 表示器/MDIユニット
101 プログラム解読部
102 プログラム呼び出し情報記憶部
103 プログラム実行部
104 プログラム実行情報記憶部
105 プログラム呼び出し情報表示部
106 プログラム管理部
107 プログラム探索部
108 プログラム一覧表示部

Claims (5)

  1. 加工プログラムの中でサブプログラムを呼出すサブプログラム呼び出し機能を備えた数値制御装置であって、
    前記サブプログラムを呼び出した場合に、前記サブプログラムの呼び出しに関する情報を通知するプログラム解読部と、
    前記プログラム解読部から通知された前記サブプログラムの呼び出しに関する情報を集約し、記憶するプログラム呼び出し情報記憶部と、
    前記サブプログラムを実行した場合に、前記サブプログラムの実行に関する情報を通知するプログラム実行部と、
    前記プログラム実行部から通知された前記サブプログラムの実行に関する情報を集約し、記憶するプログラム実行情報記憶部と、を有することを特徴とする数値制御装置。
  2. 前記プログラム呼び出し情報記憶部及び前記プログラム実行情報記憶部で集約した情報をもとに、前記サブプログラムの呼び出し構造をツリー表示するプログラム呼び出し情報表示部を有することを特徴とする
    請求項1記載の数値制御装置。
  3. 前記プログラム実行情報記憶部で集約した情報をもとに、実行された前記サブプログラムのリストを出力するプログラム呼び出し情報表示部を有することを特徴とする
    請求項1記載の数値制御装置。
  4. 前記プログラム呼び出し情報記憶部及び前記プログラム実行情報記憶部で集約した情報をもとに、呼び出し予約がなされたが実行されなかった前記サブプログラムのリストを出力するプログラム呼び出し情報表示部を有することを特徴とする
    請求項1記載の数値制御装置。
  5. 1以上の前記サブプログラムを格納するプログラム管理部と、
    前記プログラム管理部が格納する前記サブプログラムのリストと、前記プログラム実行情報記憶部で集約した情報をもとに、実行されなかった前記サブプログラムのリストを出力するプログラム呼び出し情報表示部を有することを特徴とする
    請求項1記載の数値制御装置。
JP2018037318A 2018-03-02 2018-03-02 数値制御装置 Active JP6708678B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018037318A JP6708678B2 (ja) 2018-03-02 2018-03-02 数値制御装置
DE102019001129.5A DE102019001129A1 (de) 2018-03-02 2019-02-14 Numerische Steuervorrichtung
US16/282,719 US11340586B2 (en) 2018-03-02 2019-02-22 Numerical controller
CN201910160562.5A CN110221577A (zh) 2018-03-02 2019-03-04 数值控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018037318A JP6708678B2 (ja) 2018-03-02 2018-03-02 数値制御装置

Publications (2)

Publication Number Publication Date
JP2019153042A true JP2019153042A (ja) 2019-09-12
JP6708678B2 JP6708678B2 (ja) 2020-06-10

Family

ID=67622821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018037318A Active JP6708678B2 (ja) 2018-03-02 2018-03-02 数値制御装置

Country Status (4)

Country Link
US (1) US11340586B2 (ja)
JP (1) JP6708678B2 (ja)
CN (1) CN110221577A (ja)
DE (1) DE102019001129A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021068005A (ja) * 2019-10-18 2021-04-30 ファナック株式会社 プログラム作成支援装置、プログラム作成支援システム、及びプログラム作成支援方法
WO2022030496A1 (ja) * 2020-08-07 2022-02-10 ファナック株式会社 制御装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063567A (zh) * 2021-11-15 2022-02-18 四川航天长征装备制造有限公司 一种优化数控程序编程的方法
CN114237769A (zh) * 2021-12-14 2022-03-25 北京人大金仓信息技术股份有限公司 一种程序的执行方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02114302A (ja) * 1988-10-24 1990-04-26 Fanuc Ltd 数値制御装置
JPH0633207U (ja) * 1992-10-02 1994-04-28 日立精機株式会社 Ncプログラム番号の一覧表示装置
JPH07129220A (ja) * 1993-11-05 1995-05-19 Fanuc Ltd プログラム実行履歴データ表示機能を備えたロボット制御装置
JP2000035815A (ja) * 1999-07-16 2000-02-02 Mitsubishi Electric Corp 数値制御工作機械

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02272645A (ja) * 1989-04-14 1990-11-07 Hitachi Ltd プログラム・デバツグ支援方法
JP2993538B2 (ja) 1991-10-23 1999-12-20 オークマ株式会社 多重プログラム機能を有する数値制御装置
EP0606649B1 (en) 1992-12-28 1998-03-18 Mitsubishi Denki Kabushiki Kaisha Numerically controlled machine tool and method to re-execute a machining program after it has been stopped
JPH0863218A (ja) 1994-08-19 1996-03-08 Fanuc Ltd 数値制御装置のプログラム構成表示方式
US5748878A (en) * 1995-09-11 1998-05-05 Applied Microsystems, Inc. Method and apparatus for analyzing software executed in embedded systems
US5933640A (en) * 1997-02-26 1999-08-03 Digital Equipment Corporation Method for analyzing and presenting test execution flows of programs
CN101414167A (zh) 2008-11-25 2009-04-22 天津第一机床总厂 数控插齿机加工圆柱齿轮人机对话界面设定及其程序
CN101609321A (zh) 2009-07-24 2009-12-23 上海奈凯电子科技有限公司 一种利用子程序调用实现机床运动控制的方法
CN101739295B (zh) 2009-12-31 2013-12-04 北京数码大方科技股份有限公司 基于进程调用扩展程序的方法和装置
US20110191758A1 (en) * 2010-01-29 2011-08-04 Michael Scharf Optimized Memory Allocator By Analyzing Runtime Statistics
US20140317452A1 (en) * 2011-10-18 2014-10-23 Nec Corporation Error detecting apparatus, program and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02114302A (ja) * 1988-10-24 1990-04-26 Fanuc Ltd 数値制御装置
JPH0633207U (ja) * 1992-10-02 1994-04-28 日立精機株式会社 Ncプログラム番号の一覧表示装置
JPH07129220A (ja) * 1993-11-05 1995-05-19 Fanuc Ltd プログラム実行履歴データ表示機能を備えたロボット制御装置
JP2000035815A (ja) * 1999-07-16 2000-02-02 Mitsubishi Electric Corp 数値制御工作機械

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021068005A (ja) * 2019-10-18 2021-04-30 ファナック株式会社 プログラム作成支援装置、プログラム作成支援システム、及びプログラム作成支援方法
JP7414461B2 (ja) 2019-10-18 2024-01-16 ファナック株式会社 プログラム作成支援装置、プログラム作成支援システム、及びプログラム作成支援方法
WO2022030496A1 (ja) * 2020-08-07 2022-02-10 ファナック株式会社 制御装置
JPWO2022030496A1 (ja) * 2020-08-07 2022-02-10
JP7464726B2 (ja) 2020-08-07 2024-04-09 ファナック株式会社 制御装置

Also Published As

Publication number Publication date
JP6708678B2 (ja) 2020-06-10
DE102019001129A1 (de) 2019-09-05
US11340586B2 (en) 2022-05-24
CN110221577A (zh) 2019-09-10
US20190271968A1 (en) 2019-09-05

Similar Documents

Publication Publication Date Title
JP2019153042A (ja) 数値制御装置
JP6253521B2 (ja) プログラム可視化装置、プログラム可視化方法、及びプログラム可視化プログラム
EP3502814A1 (en) Processing loads balancing of control and monitoring functions
CN110515856B (zh) 一种基于动态符号执行的测试用例生成系统
JP2007316905A (ja) アプリケーションプログラムを監視する計算機システム及びその方法
CN111460235A (zh) 图谱数据的处理方法、装置、设备及存储介质
JP2019046052A (ja) コントロールシステム、開発支援装置、及びコントロール方法
JP2010244338A (ja) プロジェクト進捗管理装置およびプロジェクト進捗管理方法
Wemembu et al. A framework for effective software monitoring in project management
CN114647735A (zh) 关系图谱的展示方法、介质以及显示装置
JP2019074966A (ja) Sql文抽出装置、sql文抽出方法及びプログラム
JP2009230420A (ja) ソースコード品質管理装置
JP6917874B2 (ja) システム特性評価システムおよびシステム特性評価装置
JP4899544B2 (ja) プログラム解析方法、プログラム及びプログラム解析装置
Pfaltz Using concept lattices to uncover causal dependencies in software
KR102162779B1 (ko) 텍스트 마이닝 방법, 텍스트 마이닝 프로그램, 및 텍스트 마이닝 장치
JP2013257803A (ja) ジョブ運用管理システム
JP7040618B2 (ja) 解析支援装置、解析支援方法、及びプログラム
JPWO2016163008A1 (ja) 異常診断装置および異常診断方法
JP7391740B2 (ja) 影響特定支援装置及び影響特定支援方法
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
JP6247542B2 (ja) 監視ポイント定義変更方法およびエンジニアリング装置
JP5966801B2 (ja) 言語変換装置、プログラム
KR102340453B1 (ko) 정보 처리 장치, 정보 처리 방법 및 기록 매체에 저장된 정보 처리 프로그램
US20230142525A1 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190808

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191021

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200402

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200521

R150 Certificate of patent or registration of utility model

Ref document number: 6708678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150