JP7414461B2 - プログラム作成支援装置、プログラム作成支援システム、及びプログラム作成支援方法 - Google Patents

プログラム作成支援装置、プログラム作成支援システム、及びプログラム作成支援方法 Download PDF

Info

Publication number
JP7414461B2
JP7414461B2 JP2019190878A JP2019190878A JP7414461B2 JP 7414461 B2 JP7414461 B2 JP 7414461B2 JP 2019190878 A JP2019190878 A JP 2019190878A JP 2019190878 A JP2019190878 A JP 2019190878A JP 7414461 B2 JP7414461 B2 JP 7414461B2
Authority
JP
Japan
Prior art keywords
program
creation support
programs
calling
program creation
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
JP2019190878A
Other languages
English (en)
Other versions
JP2021068005A (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 JP2019190878A priority Critical patent/JP7414461B2/ja
Priority to US17/037,672 priority patent/US11442723B2/en
Priority to DE102020126649.9A priority patent/DE102020126649A1/de
Priority to CN202011107216.XA priority patent/CN112685090A/zh
Publication of JP2021068005A publication Critical patent/JP2021068005A/ja
Application granted granted Critical
Publication of JP7414461B2 publication Critical patent/JP7414461B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Numerical Control (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、機械を制御するプログラムの作成を支援するプログラム作成支援装置、プログラム作成支援システム、プログラム作成支援方法に関する。
工作機械を含む産業機械のプログラム作成では、シミュレータを用いて実機のシミュレーションを行うことが一般的である。プログラムの開発者はシミュレーション結果を確認しながらプログラムのデバッグ作業を行う。
プログラムは、ファイルに記載されている。プログラムが記載されたファイル(以下、プログラムファイルと呼ぶ)は、フォルダごとに管理されている。図10は、プログラムファイルを一覧表示する画面の例である。この画面では「デバイス」欄にシミュレーション対象である実機(ここでは数値制御装置)の名称、「カレントフォルダ」欄にカレントフォルダのパス、が表示され、その下にカレントフォルダに含まれるプログラム名、容量、作成時間が一覧表示されている。このような画面では、現在閲覧しているプログラムへのパスなど、プログラムを保管するファイルやフォルダに関する情報を確認することができる。
プログラムは、プログラムがプログラムを呼び出す多重構造をしている。メインプログラムがサブプログラムを呼び出し、サブプログラムがサブプログラムを呼び出しながら、個々のプログラムを実行し、最終的にメインプログラムに戻り、一連の処理が終了する。このようなプログラムの多重構造は、従来の画面では確認しがたい。
一方、従来、多重プログラムの多重構造をツリー構造で表示する数値制御装置も存在する。この数値制御装置では、メインプログラムが呼び出したサブプログラム、サブプログラムが呼び出したサブプログラム、さらにそのサブプロラムが呼び出したサブプログラム、・・・というプログラムの多重構造をツリー構造で表示している。例えば、特許文献1参照。
特開平5-113818号公報
プログラムを作成する際、プログラムのデバッグ作業が必要である。デバッグを行うには、シミュレータでプログラムのシミュレーションを行い、プログラムの問題箇所を発見し、修正する。プログラムの問題箇所を発見するために、プログラム構造の把握は非常に重要である。
そのために、産業機械の分野において、プログラムの関係を明確にし、プログラムの作成を支援する技術が望まれている。
本開示の一態様のプログラム作成支援装置は、呼出関係を有する複数のプログラムを実行して特定の動作を行う産業機械のプログラム作成支援装置であって、前記複数のプログラムを解析するプログラム解析部と、前記プログラム解析部の解析結果に従い前記産業機械の動作をシミュレーションするシミュレーション部と、前記シミュレーションにおける前記複数のプログラムの呼出関係を判定する呼出関係判定部と、前記シミュレーションにおける前記プログラムの呼出時間を記録する呼出時間記録部と、前記呼出関係判定部が判定した前記複数のプログラムの呼出関係と、前記呼出時間記録部が記録した前記プログラムの呼出時間と、を関連付けたプログラム作成支援データを作成する、プログラム作成支援データ作成部と、を備える。
本開示の他の態様のプログラム作成支援システムは、呼出関係を有する複数のプログラムを実行して特定の処理を行う産業機械のプログラム作成支援システムであって、前記複数のプログラムを解析するプログラム解析部と、前記プログラム解析部の解析結果に従い前記産業機械の動作をシミュレーションするシミュレーション部と、前記シミュレーションにおける前記複数のプログラムの呼出関係を判定する呼出関係判定部と、前記シミュレーションにおける前記プログラムの呼出時間を記録する呼出時間記録部と、前記呼出関係判定部が判定した前記複数のプログラムの呼出関係と、前記呼出時間記録部が記録した前記プログラムの呼出時間と、を関連付けたプログラム作成支援データを作成する、プログラム作成支援データ作成部と、を備える。
本開示の他の態様のプログラム作成支援方法は、呼出関係を有する複数のプログラムを実行して特定の処理を行う産業機械のプログラム作成支援方法であって、前記複数のプログラムを解析し、前記プログラムの解析結果に従い前記産業機械の動作のシミュレーションを行い、前記シミュレーションにおける前記複数のプログラムの呼出関係を判定し、前記シミュレーションにおける前記プログラムの呼出時間を記録し、前記シミュレーションにおける前記プログラムの実行時間を算出し、前記複数のプログラムの呼出関係と、前記プログラムの呼出時間と、を関連づけたプログラム作成支援データを作成し、前記プログラム作成支援データに基づき、所定の画面上に設定した時間軸に沿って、前記複数のプログラムの呼出関係と、前記プログラムの呼出時間と、前記プログラムの実行時間と、を示すプログラム作成支援画面を作成し、前記プログラム作成支援画面を、前記所定の画面上に表示する。
本発明の一態様によれば、プログラムの関係が明確になり、プログラム作成の補助となる。
本実施の形態におけるパーソナルコンピュータ及び数値制御装置のハードウェア構成図である。 本実施の形態におけるプログラム作成支援システムのブロック図である。 コメント記録の一例を示す図である。 プログラム作成支援データの一例を示す図である。 プログラム実行時間の算出方法を示す例である。 プログラム作成支援画面の一例を示す図である。 プログラム作成支援データを作成する手順を示す図である。 本実施の形態における数値制御装置の動作を説明する図である。 他の実施形態におけるパーソナルコンピュータのブロック図である。 プログラムを一覧表示する従来の画面例である。
以下、図1を参照して、本開示のプログラム作成支援システム300を実装したパーソナルコンピュータ100、及び数値制御装置200のハードウェア構成を説明する。
パーソナルコンピュータ100は、CPU111、ROM112、RAM113、不揮発性メモリ114、インターフェース(INT)115、118、119、表示部140、入力部130を備える。
CPU111は、パーソナルコンピュータ100を全体的に制御するプロセッサである。CPU111は、ROM112に格納されたシステム・プログラムをバス120を介して読み出し、該システム・プログラムに従ってパーソナルコンピュータ100の全体を制御する。RAM113には、一時的な計算データや表示データ、入力部130を介してオペレータが入力した各種データ等が一時的に格納される。
不揮発性メモリ114は、例えば図示しないバッテリでバックアップされるなどして、パーソナルコンピュータ100の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ114には、インターフェース115を介して外部機器から読み込まれたプログラムや入力部130を介して入力されたプログラム、パーソナルコンピュータ100の各部や数値制御装置200等から取得された各種データ(例えば、数値制御装置200の動作状態を示すデータ等)が記憶される。不揮発性メモリ114に記憶されたプログラムや各種データは、実行時/利用時にはRAM113に展開されてもよい。また、ROM112には、本開示に係るプログラム作成支援プログラムやシステム・プログラムが書き込まれている。
インターフェース115は、パーソナルコンピュータ100とアダプタ等の外部機器と接続するためのインターフェースである。外部機器側からはプログラムや各種データ等が読み込まれる。また、パーソナルコンピュータ100内で編集した各種データ等は、外部機器を介して外部記憶手段に記憶させることができる。本開示にかかるプログラム作成支援プログラムも、パーソナルコンピュータ100内のROM112ではなく、1つまたは複数の外部記憶手段に記憶し、外部から読み込んでもよい。
表示部140には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインターフェース118を介して出力されて表示される。また、キーボードやマウス等から構成される入力部130は、ユーザの入力をインターフェース119を介してCPU111に渡す。
次いで、数値制御装置200のハードウェア構成を説明する。本実施形態による数値制御装置200が備えるCPU211は、数値制御装置200を全体的に制御するプロセッサである。CPU211は、バス227を介してROM212に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って数値制御装置200の全体を制御する。RAM213には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
不揮発性メモリ214は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成される。不揮発性メモリ214は、数値制御装置200の電源がオフされても記憶状態を保持する。不揮発性メモリ214には、インターフェース215を介して外部機器から読み込まれたプログラムや入力部230を介して入力されたプログラム、数値制御装置200の各部や産業機械等から取得された各種データ(例えば、産業機械から取得した各軸の動作状態を示すデータ等)が記憶される。不揮発性メモリ214に記憶されたプログラムや各種データは、実行時/利用時にはRAM213に展開されても良い。また、ROM212には、公知の解析プログラムなどの各種のシステム・プログラムがあらかじめ書き込まれている。
インターフェース215は、数値制御装置200と外部機器としてのパーソナルコンピュータ100と接続するためのインターフェースである。パーソナルコンピュータ100側からはプログラムや各種データ等が読み込まれる。また、数値制御装置200内で編集したプログラムや各種データ等は、インターフェースを介してパーソナルコンピュータ100に引き渡すことができる。PMC(プログラマブル・マシン・コントローラ)216は、数値制御装置200に内蔵されたシーケンス・プログラムで産業機械、該産業機械に取り付けられたセンサ等のような装置との間でI/Oユニット217を介して信号の入出力を行い制御する。
表示部240には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインターフェース218を介して出力されて表示される。また、MDIや操作盤、タッチパネル等から構成される入力部230は、インターフェース219を介して作業者による操作に基づく指令やデータ等をCPU211に渡す。
産業機械の各軸を制御するための軸制御回路220はCPU211からの軸の移動指令量を受けて、軸の指令をサーボアンプ221に出力する。サーボアンプ221はこの指令を受けて、産業機械が備える軸を移動させるサーボモータ222を駆動する。軸のサーボモータ222は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路220にフィードバックし、位置・速度のフィードバック制御を行う。
スピンドル制御回路223は、産業機械の主軸への主軸回転指令を受け、スピンドルアンプ224にスピンドル速度信号を出力する。スピンドルアンプ224はこのスピンドル速度信号を受けて、主軸のスピンドルモータ225を指令された回転速度で回転させ、ワーク軸を駆動する。スピンドルモータ225にはポジションコーダ226が結合され、ポジションコーダ226が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU211によって読み取られる。
図2は、本開示の一実施形態であるプログラム作成支援システム300のブロック図である。プログラム作成支援システム300は、シミュレーションとプログラム作成支援データを作成するパーソナルコンピュータ100と、プログラム作成支援画面を表示する数値制御装置200から構成される。
パーソナルコンピュータ100は、プログラムを記憶するプログラム記憶部11と、プログラムを解析するプログラム解析部12と、プログラムの解析結果に従いシミュレーションを実行するシミュレーション部13と、時間を計測する計時部14と、解析データを基にプログラムの呼出関係を判定する解析データ処理部15と、呼出関係や実行時間を含むプログラム作成支援データを作成するプログラム作成支援データ作成部16と、プログラム作成支援データやプログラムなどのデータを数値制御装置200に出力するデータ出力部17と、を有する。
解析データ処理部15は、呼出関係を判定する呼出関係判定部18と、コメントを抽出するコメント抽出部19と、を含む。
呼出関係判定部18は、プログラムの解析データを基に、サブプログラムの呼出と、プログラムの終了と、を判定する。具体的には、プログラムのコードを解析し、サブプログラムの呼出を指示する指令を検出する。サブプログラムの呼出指令が存在した場合、呼出時間記録部21に通知する。プログラムの実行中、呼出関係判定部18は、プログラムの解析データからプログラムの終了指令を検出する。プログラムの終了指令が存在した場合、実行時間算出部22に通知する。プログラムの終了指令が存在した場合、呼出関係判定部18は、シミュレーションを実行していたのはサブプログラムかメインプログラムかを判定する。メインプログラムが終了した場合には、プログラム作成支援データの作成処理を終了する。
コメント抽出部19は、解析データからプログラムに記載されたコメントを抽出する。コメントには、例えば、“溝切り”、“粗削り”、“仕上げ”、“中繰り”、“穴あけ”、“タッピング”など、各プログラムで実行する加工の説明が記載されている。抽出したコメントには、必ずしも加工と関連のない説明が含まれることもある。その場合には、コメント抽出部は、コメント全部ではなく一部の必要なコメントのみを抽出する。コメントは、例えば、図3に示すように後述するプログラムのIDと関連付けて記録する。コメントはプログラム名と関連付けてもよい。コメントは、プログラム作成支援データの一部とする。
プログラム作成支援データ作成部16は、プログラム作成支援データに呼出関係を記録する呼出関係記録部20と、呼出時間記録部21と、プログラムの実行時間を算出する実行時間算出部22と、コメントを記録するコメント記録部23と、を含む。
呼出関係記録部20は、呼出関係判定部18がサブプログラムの呼出を検出すると、プログラム作成支援データに新しいノードを作成する。図4は、プログラム作成支援データの一例である。図4のプログラム作成支援データは、ノードを親から子にリンクさせた木構造をしている。各ノードは、プログラムのID、プログラム名、プログラム実行時間、プログラムの呼出時間、兄弟プログラムへのポインタ、サブプログラムへのポインタから構成される。プログラムのIDはプログラムの実行順序を示し、兄弟プログラムへのポインタは、同じプログラムから呼び出されたサブプログラムを実行順にポインタでリンクさせている。図4のプログラム作成支援データにおいて、プログラムのIDがプログラムの実行順序、サブプログラムへのポインタがサブプログラムの有無、兄弟プログラムへのポインタが同じプログラムから呼び出された同じ階層のサブプログラムを示している。すなわち、プログラム作成支援データは、プログラムの呼出関係を木構造で記録している。
呼出時間記録部21は、呼出関係判定部18がサブプログラムの呼出を検出すると、サブプログラムが呼び出された時間を、サブプログラムのノードに記録する。
実行時間算出部22は、呼出関係判定部18がサブプログラムの呼出を検出すると、計時部14から時間を取得し、呼び出されたサブプログラムの実行時間の計測を開始する。その後、呼出関係判定部18がサブプログラムの終了を検出すると、サブプログラムの実行を開始した時間から、終了した時間を引いて、サブプログラムの実行時間を算出する。サブプログラムの実行時間が算出されると、呼出関係記録部20は、プログラム作成支援データの対応するノードにサブプログラムの実行時間を記録する。
実行時間算出部22は、サブプログラムの実行時間だけではなくメインプログラムの実行時間も算出する。実行時間算出部22は、プログラムの終了指令が検出されたときに、プログラムの実行時間を算出する。メインプログラムの場合は、シミュレーションの開始時間をメインプログラムが“呼び出された時間”として記録し、メインプログラムの終了指令が検出されたときに、実行時間の計算を行う。
実行時間の算出は、図5に示すように、複数のプログラムで並行して行う。図5の例では、メインプログラムがサブプログラム1を呼び出し、サブプログラム1がサブプログラム2を呼び出しているが、メインプログラムがサブプログラム1を呼び出したときに、サブプログラム1の実行時間の計測を開始し、サブプログラム1がサブプログラム2を呼び出したときにサブプログラム2の実行時間の計測を開始する。サブプログラム2の終了指令を検出すると、サブプログラム2の実行時間を算出し、サブプログラム1の終了指令を検出すると、サブプログラム1の実行時間計測を算出する。メインプログラムの終了指令を検出したとき、メインプログラムの実行時間を算出する。サブプログラム2の実行中には、メインプログラム、サブプログラム1、サブプログラム2の3つのプログラムの実行時間を並行して算出する。このように算出された実行時間はプログラム作成支援データに記録される。
データ出力部17は、プログラム作成支援データを数値制御装置200に出力する。プログラム作成支援データの出力は、具体的には、インターフェース115、可搬記憶媒体などを介して行う。
次いで、数値制御装置200の構成について説明する。数値制御装置200は、プログラムを記憶するプログラム記憶部25と、プログラム作成支援データを記憶するプログラム作成支援データ記憶部26と、表示部27と、入力部28と、プログラム作成支援データを表示部27に表示させるプログラム作成支援画面表示処理部29と、プログラムの編集を受け付けるプログラム編集部30とを含む。
プログラム記憶部25は、数値制御装置200が産業機械(ここでは、工作機械)を制御するプログラムを記憶している。工作機械は、数値制御装置200の制御に従い、特定の動作を行う。工作機械を制御するプログラムは複数のプログラムから構成されている。複数のプログラムは、呼出関係を有する。
プログラム作成支援データ記憶部26は、パーソナルコンピュータ100で作成したプログラム作成支援データを記憶する。プログラム作成支援データ記憶部26は、必ずしも、数値制御装置200に設ける必要はなく、可搬記憶媒体に記憶しても、ネットワーク上に保存したプログラム作成支援データをインターフェース115を介して外部から取得する構成にしてもよい。
プログラム作成支援画面表示処理部29は、プログラム作成支援データに基づき、プログラムの呼出関係、プログラムの呼出時間、プログラムの実行時間、プログラムの実行内容を視覚化したプログラム作成支援画面を表示する。
図6は、プログラム作成支援画面の一例である。図6のプログラム作成支援画面は、縦軸が時間、横軸がプログラム名という構成である。左端にはメインプログラムが縦長の帯状に表示されている。メインプログラムの右側に、メインプログラムから呼び出されたサブプログラムが縦長の帯状に表示される。帯の上部にはプログラム名が表示される。呼出元プログラムから呼出先プログラムへの呼出関係は、矢印で表示される。矢印の位置はサブプログラムが呼び出された時間を示している。矢印の下には、コメントに記載された文字が表示される。この例では、プログラムの加工内容、例えば、“溝切り”、“粗削り”、・・・が表示されている。図6の例では、1つ1つのプログラムを表示しているが、プログラムの数が膨大な場合には、複数のプログラムをまとめて表示しても、一部のプログラムのみを表示してもよい。
プログラム編集部30は、呼出プログラム表示部31と、選択プログラム表示部32とを有する。ユーザがプログラム作成支援画面の呼出関係を示す部分(図6の例では矢印)を選択すると、呼出プログラム表示部31は、呼出関係に関連するプログラムを表示する。呼出関係に関連するプログラムは、例えば、呼出元プログラムと呼出先プログラムである。また、呼出指令の記述された部分を表示してもよい。
ユーザがプログラムを選択すると、選択プログラム表示部32は選択されたプログラムを表示する。プログラム編集部30は、表示したプログラムに対するユーザの編集を受け付ける。数値制御装置200は、編集されたプログラムに従い、工作機械を制御する。
図7を参照して、パーソナルコンピュータ100がプログラム作成支援データを作成する手順を説明する。プログラム解析部12は、プログラム記憶部11からプログラムを読み出し、プログラムを解析する(ステップS1)。シミュレーション部13は、プログラムの解析結果に従いシミュレーションを実行する(ステップS2)。解析データ処理部15は、プログラム解析部12の解析データを基に、サブプログラムの呼出指令を検出する。サブプログラムが呼び出された場合(ステップS3;YES)、呼出関係記録部20は、呼出先のプログラムのノードを作成する(ステップS4)。次いで、呼出関係記録部20は、呼出元のプログラムのIDに1を足して呼出先のプログラムのIDとし(ステップS5)、呼出元のプログラムのノードの“サブプログラムへのポインタ”に呼出先のプログラムへのポインタを設定する(ステップS6)。呼出時間記録部21は、プログラムが呼び出された時間をノードの“呼び出される時間”に記録する(ステップS7)。
解析データ処理部15は、プログラムの終了指令を検出する。プログラムの終了指令に到達すると(ステップS8;YES)、実行時間算出部22は、現在の時間とプログラムを呼び出した時間の差からプログラムの実行時間を算出する(ステップS9)。現在の時間は計時部14が計測している。呼出関係記録部20は、ノードにプログラムの実行時間を記録する(ステップS10)。
解析データ処理部15は、解析データを基に、シミュレーションを終了したのはサブプログラムか否かを判断する。シミュレーションを終了したのがサブプログラムであれば(ステップS11;YES)、呼出元プログラムに戻りシミュレーションを継続する(ステップS1)。シミュレーションを終了したのが、サブプログラムでない場合(すなわち、メインプログラムが終了した場合)(ステップS11;NO)、プログラム作成支援データの作成処理を終了する。
次いで、図8を参照して、本実施の形態の数値制御装置200の動作を説明する。まず、プログラム作成支援画面表示処理部29は、プログラム作成支援画面を表示部27に表示する(ステップS21)。プログラム作成支援画面には、プログラムの呼出関係、プログラムの呼出時間、プログラムの実行時間、プログラムの実行内容、プログラムの実行順序が視覚的に理解できる形式で表示される。
ユーザはプログラム作成支援画面を確認しながら、プログラムの修正すべき箇所を探索する。プログラムを確認したい場合、ユーザは画面の一部を指やマウス、テンキーなどを用いて選択する。ユーザがプログラムの呼出関係(例えば、図6の画面の矢印)を選択した場合(ステップS22;YES)、呼出プログラム表示部31は、ユーザが選択した呼出関係に関連するプログラム、例えば、呼出元プログラムと呼出先プログラムとを、表示部27に表示する(ステップS23)。ユーザが呼出関係を選択しない場合(ステップS22;NO)、ユーザの指示を待機する。
ユーザがプログラムを選択した場合(ステップS24;YES)、選択プログラム表示部32は、選択されたプログラムを表示部27に表示する(ステップS25)。ユーザがプログラムを選択しない場合(ステップS24;NO)、ユーザの指示を待機する。プログラム編集部30は、表示したプログラムの編集を受け付ける(ステップS26)。プログラムを編集した後、ユーザが、工作機械の実行を指示すると、工作機械は編集されたプログラムに従い工作機械を制御する(ステップS27)。
本実施の形態のプログラム作成支援システム300によれば、プログラムの解析データを基にプログラムの呼出関係と共に、シミュレーション時のプログラムの実行時間と呼出時間と記録して、プログラム作成支援データを作成する。プログラム作成支援データは、シミュレーションに基づく、プログラムの呼出時間と、プログラムの実行時間と、を含んでいる。
プログラム作成支援データを用いて、プログラム作成支援画面を作成し、プログラムの呼出関係、呼出時間、実行時間、実行内容を視覚的に表現することができる。プログラム作成支援画面を用いると、メインプログラムが行う加工の概要や順序が視覚的に理解できる。
また、プログラムの呼出関係や呼出時間が明確になる。プログラム同士の対応関係が視覚的に表現され、実機での動作を確認したいプログラムや編集の必要なプログラムの検索が容易になり、プログラムの作成時間が削減できる。
さらに、条件分岐で間違った方向を選んだ箇所、マクロ変数の間違い、同じプログラムの繰り返しなど、プログラムの冗長部分が見つけやすくなり、加工効率が向上する。
次いで、図9を参照して、他の実施形態を説明する。この実施形態では、パーソナルコンピュータ100aが全ての機能を備えている。パーソナルコンピュータ100aは、プログラム記憶部11、プログラム解析部12、シミュレーション部13、計時部14、解析データ処理部15、プログラム作成支援データ作成部16、呼出関係判定部18、コメント抽出部、呼出関係記録部20、呼出時間記録部21、実行時間算出部22、コメント記録部23、表示部27、入力部28、プログラム作成支援画面表示処理部29、プログラム編集部30、呼出プログラム表示部31、選択プログラム表示部32を備える。
この実施の形態では、パーソナルコンピュータ100aが、シミュレーションと、プログラム作成支援データの作成と、プログラム作成支援画面の表示と、プログラムの編集を行う。このように、プログラム作成支援システムの構成は、上記の構成に限定されずネットワークを介して機能を分散してもよい。
本実施の形態のプログラム作成支援システムは、工作機械を制御するプログラムの作成支援を前提としているが、他の産業機械のプログラム作成に適用してもよい。
100,100a パーソナルコンピュータ
12 プログラム解析部
13 シミュレーション部
15 解析データ処理部
16 プログラム作成支援データ作成部
18 呼出関係判定部
19 コメント抽出部
20 呼出関係記録部
21 呼出時間記録部
22 実行時間算出部
23 コメント記録部
27 表示部
28 入力部
29 プログラム作成支援画面表示処理部
30 プログラム編集部
31 呼出プログラム表示部
32 選択プログラム表示部

Claims (10)

  1. 呼出関係を有する複数のプログラムを実行して特定の動作を行う産業機械のプログラム作成支援装置であって、
    前記複数のプログラムを解析するプログラム解析部と、
    前記プログラム解析部の解析結果に従い前記産業機械の動作をシミュレーションするシミュレーション部と、
    前記シミュレーションにおける前記複数のプログラムの呼出関係を判定する呼出関係判定部と、
    前記シミュレーションにおける前記プログラムの呼出時間を記録する呼出時間記録部と、
    前記呼出関係判定部が判定した前記複数のプログラムの呼出関係と、前記呼出時間記録部が記録した前記プログラムの呼出時間と、を関連付けたプログラム作成支援データを作成する、プログラム作成支援データ作成部と、
    を備えるプログラム作成支援装置。
  2. 前記シミュレーションにおいて実行したプログラムの実行時間を算出する実行時間算出部を、備え、
    前記プログラム作成支援データ作成部は、前記複数のプログラムの呼出関係と、前記プログラムの呼出時間と、前記プログラムの実行時間と、を関連付けて記録する請求項1記載のプログラム作成支援装置。
  3. 前記プログラム解析部は、前記プログラムに記述されたコメントを抽出するコメント抽出部を備え、
    前記プログラム作成支援データ作成部は、前記複数のプログラムの呼出関係と、前記プログラムの呼出時間と、各プログラムから抽出されたコメントと、を関連付けて記録する請求項1記載のプログラム作成支援装置。
  4. 前記プログラム作成支援データに基づき、
    所定の画面上に設定した時間軸に沿って、
    前記複数のプログラムの呼出関係と、前記プログラムの呼出時間と、を示すプログラム作成支援画面を前記所定の画面に表示させるプログラム作成支援画面表示処理部を備える請求項1記載のプログラム作成支援装置。
  5. 前記プログラム作成支援データに基づき、
    所定の画面上に設定した時間軸に沿って、
    前記複数のプログラムの呼出関係と、前記プログラムの呼出時間と、前記プログラムの実行時間と、を示すプログラム作成支援画面を前記所定の画面に表示させるプログラム作成支援画面表示処理部を備える請求項2記載のプログラム作成支援装置。
  6. 前記プログラム作成支援データに基づき、
    所定の画面上に設定した時間軸に沿って、
    前記複数のプログラムの呼出関係と、前記プログラムの呼出時間と、各プログラムから抽出したコメントの一部又は全部と、を表示させるプログラム作成支援画面表示処理部を備える請求項3記載のプログラム作成支援装置。
  7. 前記プログラム作成支援画面に表示された前記複数のプログラムの呼出関係に対する選択を受け付け、選択された呼出関係に関連するプログラムを表示する呼出プログラム表示部と、
    前記表示されたプログラムの編集を受け付けるプログラム編集部と、
    を備える請求項4記載のプログラム作成支援装置。
  8. 前記プログラム作成支援画面に表示されたプログラムに対する選択を受け付け、選択されたプログラムを表示する選択プログラム表示部と、
    前記表示されたプログラムの編集を受け付けるプログラム編集部と、
    を備える請求項4記載のプログラム作成支援装置。
  9. 呼出関係を有する複数のプログラムを実行して特定の処理を行う産業機械のプログラム作成支援システムであって、
    前記複数のプログラムを解析するプログラム解析部と、
    前記プログラム解析部の解析結果に従い前記産業機械の動作をシミュレーションするシミュレーション部と、
    前記シミュレーションにおける前記複数のプログラムの呼出関係を判定する呼出関係判定部と、
    前記シミュレーションにおける前記プログラムの呼出時間を記録する呼出時間記録部と、
    前記呼出関係判定部が判定した前記複数のプログラムの呼出関係と、前記呼出時間記録部が記録した前記プログラムの呼出時間と、を関連付けたプログラム作成支援データを作成する、プログラム作成支援データ作成部と、
    を備えるプログラム作成支援システム。
  10. 呼出関係を有する複数のプログラムを実行して特定の処理を行う産業機械のプログラム作成支援方法であって、
    前記複数のプログラムを解析し、
    前記プログラムの解析結果に従い前記産業機械の動作のシミュレーションを行い、
    前記シミュレーションにおける前記複数のプログラムの呼出関係を判定し、
    前記シミュレーションにおける前記プログラムの呼出時間を記録し、
    前記シミュレーションにおける前記プログラムの実行時間を算出し、
    前記複数のプログラムの呼出関係と、前記プログラムの呼出時間と、を関連づけたプログラム作成支援データを作成し、
    前記プログラム作成支援データに基づき、
    所定の画面上に設定した時間軸に沿って、
    前記複数のプログラムの呼出関係と、前記プログラムの呼出時間と、前記プログラムの実行時間と、を示すプログラム作成支援画面を作成し、
    前記プログラム作成支援画面を、前記所定の画面上に表示する、プログラム作成支援方法。
JP2019190878A 2019-10-18 2019-10-18 プログラム作成支援装置、プログラム作成支援システム、及びプログラム作成支援方法 Active JP7414461B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019190878A JP7414461B2 (ja) 2019-10-18 2019-10-18 プログラム作成支援装置、プログラム作成支援システム、及びプログラム作成支援方法
US17/037,672 US11442723B2 (en) 2019-10-18 2020-09-30 Programing support device, programing support system, and programing support method
DE102020126649.9A DE102020126649A1 (de) 2019-10-18 2020-10-12 Programmierunterstützungsvorrichtung, programmierunterstützungssystem und programmierunterstützungsverfahren
CN202011107216.XA CN112685090A (zh) 2019-10-18 2020-10-16 程序制作辅助装置、程序制作辅助系统及程序制作辅助方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019190878A JP7414461B2 (ja) 2019-10-18 2019-10-18 プログラム作成支援装置、プログラム作成支援システム、及びプログラム作成支援方法

Publications (2)

Publication Number Publication Date
JP2021068005A JP2021068005A (ja) 2021-04-30
JP7414461B2 true JP7414461B2 (ja) 2024-01-16

Family

ID=75268779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019190878A Active JP7414461B2 (ja) 2019-10-18 2019-10-18 プログラム作成支援装置、プログラム作成支援システム、及びプログラム作成支援方法

Country Status (4)

Country Link
US (1) US11442723B2 (ja)
JP (1) JP7414461B2 (ja)
CN (1) CN112685090A (ja)
DE (1) DE102020126649A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023006299A (ja) * 2021-06-30 2023-01-18 オムロン株式会社 シミュレーションシステム、シミュレーションシステムの方法、およびシミュレーションのプログラム
WO2023139771A1 (ja) * 2022-01-21 2023-07-27 ファナック株式会社 情報生成装置、およびコンピュータ読み取り可能な記憶媒体

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122597A (ja) 2003-10-20 2005-05-12 Mori Seiki Co Ltd Nc工作機械の表示装置
JP2008071350A (ja) 2006-09-15 2008-03-27 Deckel Maho Pfronten Gmbh 工作機械における工作物を機械加工するシーケンスのシミュレーションに関する装置及び方法
JP2008191802A (ja) 2007-02-02 2008-08-21 Brother Ind Ltd Ncプログラム編集装置、ncプログラム編集制御プログラム及びncプログラム編集制御用記録媒体
JP2011170749A (ja) 2010-02-22 2011-09-01 Fujitsu Ltd シミュレーション装置及びシミュレーション方法
JP2019153042A (ja) 2018-03-02 2019-09-12 ファナック株式会社 数値制御装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01177613A (ja) * 1988-01-08 1989-07-13 Fanuc Ltd Ncプログラム表示方式
JP2993538B2 (ja) 1991-10-23 1999-12-20 オークマ株式会社 多重プログラム機能を有する数値制御装置
JPH05189025A (ja) * 1992-01-10 1993-07-30 Mitsubishi Electric Corp 数値制御装置
JPH0863218A (ja) * 1994-08-19 1996-03-08 Fanuc Ltd 数値制御装置のプログラム構成表示方式

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122597A (ja) 2003-10-20 2005-05-12 Mori Seiki Co Ltd Nc工作機械の表示装置
JP2008071350A (ja) 2006-09-15 2008-03-27 Deckel Maho Pfronten Gmbh 工作機械における工作物を機械加工するシーケンスのシミュレーションに関する装置及び方法
JP2008191802A (ja) 2007-02-02 2008-08-21 Brother Ind Ltd Ncプログラム編集装置、ncプログラム編集制御プログラム及びncプログラム編集制御用記録媒体
JP2011170749A (ja) 2010-02-22 2011-09-01 Fujitsu Ltd シミュレーション装置及びシミュレーション方法
JP2019153042A (ja) 2018-03-02 2019-09-12 ファナック株式会社 数値制御装置

Also Published As

Publication number Publication date
JP2021068005A (ja) 2021-04-30
DE102020126649A1 (de) 2021-04-22
US11442723B2 (en) 2022-09-13
CN112685090A (zh) 2021-04-20
US20210117186A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
JP5649748B1 (ja) プログラマブルコントローラの周辺装置およびデバッグ支援プログラム
JP7414461B2 (ja) プログラム作成支援装置、プログラム作成支援システム、及びプログラム作成支援方法
JP5387188B2 (ja) Ncプログラムの解析編集装置、方法、プログラム、および記憶媒体
JPH09511594A (ja) 工業オートメーション・アプリケーション用総合制御システム
CN112612238A (zh) 设置装置和plc系统
JP6261613B2 (ja) 工作機械の制御装置
JPWO2015097886A1 (ja) 加工情報管理装置および工具経路生成装置
JP2018005453A (ja) セーフティシステム、プログラム、および方法
JP2008142788A (ja) 動作プログラム作成支援方法および動作プログラム作成装置。
JP6337810B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2006099284A (ja) 数値制御装置
KR101726120B1 (ko) 프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP7021146B2 (ja) ラダー表示装置
JP5785474B2 (ja) プログラムのデバッグ方法、デバッグ装置、およびデバッグ支援gui
JP7448377B2 (ja) 加工プログラムの管理装置、管理システム、管理方法
WO2021044654A1 (ja) 情報処理システム、プログラマブル表示器および情報処理装置
JP4198374B2 (ja) 設備のシミュレーション方法および設備のシミュレーションプログラム
JP2000089813A (ja) 加工プログラム編集方法および工作機械の制御装置
JP2001075791A (ja) エディタ装置およびエディタプログラムを記録した記録媒体
JP4634958B2 (ja) プラントデータ処理装置とその実現用コンピュータプログラム
US20230004482A1 (en) Simulation system, method for simulation system, and non-transitory computer-readable storage medium storing simulation program
US11960379B2 (en) Simulation system, method for simulation system, and non-transitory computer-readable storage medium storing simulation program
JPH10247142A (ja) プロセス制御プログラムのプログラミングシステムおよびプログラミング方法
WO2022269816A9 (ja) 数値制御装置、画面作成システム、及び数値制御装置が読み取り可能な命令を記憶する記憶媒体
JP2001350572A (ja) コンピュータによって制御を行う装置の制御装置および制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231228

R150 Certificate of patent or registration of utility model

Ref document number: 7414461

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150