JP4867703B2 - 数値制御装置、制御プログラム及び記憶媒体 - Google Patents

数値制御装置、制御プログラム及び記憶媒体 Download PDF

Info

Publication number
JP4867703B2
JP4867703B2 JP2007043095A JP2007043095A JP4867703B2 JP 4867703 B2 JP4867703 B2 JP 4867703B2 JP 2007043095 A JP2007043095 A JP 2007043095A JP 2007043095 A JP2007043095 A JP 2007043095A JP 4867703 B2 JP4867703 B2 JP 4867703B2
Authority
JP
Japan
Prior art keywords
program
external storage
stored
return position
execution
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
JP2007043095A
Other languages
English (en)
Other versions
JP2008204410A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2007043095A priority Critical patent/JP4867703B2/ja
Publication of JP2008204410A publication Critical patent/JP2008204410A/ja
Application granted granted Critical
Publication of JP4867703B2 publication Critical patent/JP4867703B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、数値制御装置、制御プログラム及び記憶媒体に関し、詳細には、NCプログラムを実行することによって工作機械を制御する数値制御装置、制御プログラム及び記憶媒体に関する。
従来、NC工作機械を運転制御する方法として、例えば、数値制御装置による自動運転がある。この自動運転では、NCプログラムを数値制御装置の内部メモリに登録した後、その内部メモリに記憶された内容に従って運転する内部メモリ運転が可能である。この内部メモリ運転では、例えば、プログラム中にプログラム呼出コードがあると、そこで指定されるプログラム番号に飛んでこれを実行することができる。但し、実行できるプログラムは、同じ内部メモリに格納されたプログラムのみであるため、内部メモリ運転のままで、外部の記憶手段にアクセスし、そこからプログラムを読み出すことはできなかった。これにより、NC工作機械を自動運転するためのプログラム容量が大きい場合は、数値制御装置の内部メモリを増設しなければならなかったため、ユーザにとって使い勝手が悪かった。
そこで、内部の記憶手段からの指令により、外部記憶手段に格納された指令プログラムをサブプログラムとして呼び出して実行できる数値制御装置が知られている(例えば、特許文献1参照)。この数値制御装置では、プログラム容量が大きい場合でも、サブプログラムとして外部記憶手段に記憶させることによって、内部メモリの増設が不要となり、ユーザにとって使い勝手が良くなるという利点を有する。また、近年では、USB、SDカード等の大容量のメモリの開発が急激に進んでいることから、例えば、サブプログラムのみならず、メインプログラムまでも外部記憶手段に記憶させることによって、より大きなプログラム容量にも対応できる数値制御装置の開発が進められていた。
特許第2821743号公報
しかしながら、メインプログラムとサブプログラムとの両方を外部記憶手段に記憶させてしまうと、メインプログラムは外部記憶手段に読み込まれながら実行されるため、数値制御装置にメインプログラムは保存されない。したがって、メインプログラムの実行途中にサブプログラムが外部記憶手段から呼び出され、そのサブプログラムの実行が終了した場合、メインプログラムの戻り先を特定することができないため、メインプログラムを復帰させて実行することができないという問題点があった。
本発明は、上記課題を解決するためになされたものであり、外部記憶手段に記憶されたサブプログラムの実行終了後に、外部記憶手段に記憶されたメインプログラムへの戻り先を特定できる数値制御装置を提供することを目的とする。
上記目的を達成するために、請求項1に係る発明の数値制御装置は、複数の指令コマンドからなる第1プログラムと、当該第1プログラムの前記指令コマンドによって指定される第2プログラムとが記憶された外部記憶手段にアクセス可能に接続された工作機械の数値制御を行うための数値制御装置であって、当該外部記憶手段から前記第1プログラムを読み込む読込手段と、当該読込手段によって読み込まれた前記第1プログラムの前記指令コマンドによって指定された前記第2プログラムを前記外部記憶手段から呼び出す呼出手段と、前記読込手段によって読み込まれた前記第1プログラムを実行するとともに、前記第1プログラムの実行途中に、前記呼出手段によって呼び出された前記第2プログラムを実行するプログラム実行手段と、前記数値制御装置の内部に設けられ、前記呼出手段によって前記第2プログラムが呼び出された場合に、前記第2プログラムの実行終了後の前記第1プログラムへの復帰位置を記憶する復帰位置記憶手段と、前記外部記憶手段に記憶された前記第1プログラムが、前記読込手段によって読み込まれていることを報知する外部読込報知手段と、前記呼出手段によって、前記外部記憶装置に記憶された前記第2プログラムの数を超えて、前記第2プログラムが呼び出されたか否かを判断する呼出判断手段と、前記呼出判断手段が、前記呼出手段によって、前記外部記憶装置に記憶された前記第2プログラムの数を超えて、前記第2プログラムが呼び出されたと判断した場合に、異常を報知し、かつ前記プログラム実行手段による前記第1プログラム及び前記第2プログラムの実行を終了する異常処理手段とを備え、前記プログラム実行手段は、前記第2プログラムの実行を終了した場合、前記復帰位置記憶手段に記憶された前記復帰位置から、前記第1プログラムを継続して運転することを特徴とする。
また、請求項に係る発明の数値制御装置は、請求項に記載の発明の構成に加え、前記外部記憶手段には、前記第1プログラムに用いられるパラメータ及び工具データのうち少なくとも何れかが記憶されている。
また、請求項に係る発明の制御プログラムは、工作機械の数値制御を行う数値制御装置を機能させる制御プログラムであって、コンピュータに、前記数値制御装置にアクセス可能に接続され、複数の指令コマンドからなる第1プログラムと、当該第1プログラムの前記指令コマンドによって指定される第2プログラムとが記憶された外部記憶手段から前記第1プログラムを読み込む第1ステップと、当該第1ステップにおいて読み込まれた前記第1プログラムを実行する第2ステップと、当該第2ステップにおいて前記第1プログラムの実行途中に、前記第1プログラムの前記指令コマンドによって指定された前記第2プログラムを呼び出す第3ステップと、当該第3ステップにおいて前記第2プログラムが呼び出された場合に、前記第2プログラムを実行するとともに、前記第2プログラムの終了後の前記第1プログラムへの復帰位置を、前記数値制御装置の内部に設けられた復帰位置記憶手段に記憶する第4ステップと、当該第4ステップにおいて前記第2プログラムの実行が終了した後に、前記復帰位置記憶手段に記憶された前記復帰位置から前記第1プログラムを実行する第5ステップと、前記第1ステップにおいて前記外部記憶手段に記憶された前記第1プログラムが読み込まれていることを報知する第6ステップと、前記第3ステップにおいて、前記外部記憶装置に記憶された前記第2プログラムの数を超えて、前記第2プログラムが呼び出されたか否かを判断する第7ステップと、前記第7ステップにおいて、前記外部記憶装置に記憶された前記第2プログラムの数を超えて、前記第2プログラムが呼び出されたと判断された場合に、異常を報知し、かつ前記第2ステップ及び前記第3ステップにおける前記第1プログラム及び前記第2プログラムの実行を終了する第8ステップとを実行させることを特徴とする。
また、請求項に係る発明の記憶媒体は、請求項に記載の制御プログラムを記録したことを特徴とする。
請求項1に係る発明の数値制御装置では、第1プログラムと第2プログラムとが共に外部記憶手段に記憶されているので、数値制御装置における内部メモリの増設が不要となり、ユーザにとって使い勝手が良くなる。また、外部記憶装置に記憶された第1プログラムは読込手段によって読み込まれ、その読み込まれた第1プログラムの指令コマンドに従って、外部記憶手段に記憶された第2プログラムが呼出手段によって呼び出される。そして、呼出手段によって第2プログラムが呼び出された場合、第1プログラムへの復帰位置が復帰位置記憶手段に記憶されるので、プログラム実行手段は、その復帰位置記憶手段に記憶された復帰位置から、第1プログラムを復帰させて実行することができる。これにより、外部記憶手段に記憶された第1プログラムから外部記憶手段に記憶された第2プログラムの呼び出しと、外部記憶手段に記憶された第2プログラムから外部記憶手段に記憶された第1プログラムへの復帰とが可能になる。また、復帰位置記憶手段は、数値制御装置に設けられているので、外部記憶手段が破損した場合でも、復帰位置記憶手段に記憶された復帰位置を利用することができる。また、第1プログラムが読込手段によって読み込まれていることが外部読込報知手段によってユーザに報知される。これにより、外部記憶手段に記憶された第1プログラム及び第2プログラムの操作が可能か否かを容易に判別できる。さらに外部記憶装置に記憶された第2プログラムの数を超えて、第2プログラムが呼び出された場合に、異常処理手段は、異常を報知し、かつプログラム実行手段による第1プログラム及び第2プログラムの実行を終了する。これにより、作業者は、第2プログラムの呼出機能において何らかの不具合を生じていることを速やかに認識することができる。
また、請求項に係る発明の数値制御装置では、請求項に記載の発明の効果に加え、外部記憶手段には、第1プログラムに用いられるパラメータ及び工具データのうち少なくとも何れかが記憶されているので、パラメータや、工具データのデータ量が大きくても対応可能である。
また、請求項に係る発明の制御プログラムでは、第1ステップにおいて、第1プログラムが記憶された外部記憶手段から第1プログラムが読み込まれ、第2ステップにおいて、その読み込まれた第1プログラムが実行され、第3ステップにおいて、第1プログラムの実行途中に、第1プログラムの指令コマンドによって指定された第2プログラムが外部記憶手段から呼び出される。つまり、外部記憶手段から第1プログラムが読み込まれるとともに、該第1プログラムによって指定された第2プログラムも外部記憶手段から呼び出されるので、数値制御装置における内部メモリの増設が不要となり、ユーザにとって使い勝手が良くなる。さらに、第4ステップにおいて、第3ステップで第2プログラムが呼び出された場合に、第2プログラムを実行するとともに、第2プログラムの終了後の第1プログラムへの復帰位置が、数値制御装置の内部に設けられた復帰位置記憶手段に記憶され、第5ステップにおいて、第4ステップで第2プログラムの実行が終了した後に、復帰位置記憶手段に記憶された復帰位置から第1プログラムが実行される。これにより、外部記憶手段に記憶された第1プログラムから外部記憶手段に記憶された第2プログラムの呼び出しと、外部記憶手段に記憶された第2プログラムから外部記憶手段に記憶された第1プログラムへの復帰とが可能である数値制御装置を提供することができる。第6ステップにおいて、第1ステップにおいて外部記憶手段に記憶された前記第1プログラムが読み込まれていることを報知する。これにより、外部記憶手段に記憶された第1プログラム及び第2プログラムの操作が可能か否かを容易に判別できる。さらに、第7ステップにおいて、第3ステップにて、外部記憶装置に記憶された第2プログラムの数を超えて、第2プログラムが呼び出されたか否かを判断する。第8ステップにおいて、第7ステップにて、外部記憶装置に記憶された第2プログラムの数を超えて、第2プログラムが呼び出されたと判断された場合に、異常を報知し、かつ第2ステップ及び第3ステップにおける第1プログラム及び第2プログラムの実行を終了する。これにより、作業者は、第2プログラムの呼出機能において何らかの不具合を生じていることを速やかに認識することができる。
また、請求項に係る発明の記憶媒体には、請求項に記載の制御プログラムが記録されているので、その記憶媒体を介すことによって請求項に記載の制御プログラムを数値制御装置のコンピュータに実行させることができる。これにより、外部記憶手段に記憶された第1プログラムから外部記憶手段に記憶された第2プログラムの呼び出しと、外部記憶手段に記憶された第2プログラムから外部記憶手段に記憶された第1プログラムへの復帰とが可能である数値制御装置を提供することができる。
以下、本発明の一実施形態である数値制御装置1について、図面を参照して説明する。図1は、数値制御装置1の電気的構成を示すブロック図であり、図2は、RAM7の記憶エリアを示す概念図であり、図3は、内部メモリ運転からテープ運転へのサブプログラム呼び出しに関する説明図であり、図4は、CPU5による制御動作を示すフローチャートであり、図5は、図4の続きを示すフローチャートであり、図6は、図5の続きを示すフローチャートであり、図7は、図6の続きを示すフローチャートである。
なお、本実施形態の数値制御装置1は、工作機械30を数値制御するものであって、外部記憶装置13に記憶されたメインプログラムを読み込みながら運転するテープ運転中に、外部記憶装置13に記憶されたサブプログラムをテープ運転で読み込んで実行し、サブプログラムの終了後にメインプログラムの戻り先を特定可能とすることで、メインプログラムに復帰させることができる点に本発明の特徴を有するものである。
はじめに、数値制御装置1の構成について説明する。図1に示すように、数値制御装置1は、中央演算処理装置であるCPU5を中心に備え、該CPU5には、本発明の数値制御プログラム(以下、制御プログラムと呼ぶ)が記憶された不揮発性の記憶媒体であるROM6と、各種プログラム、データ等を一時的に記憶するRAM7と、各種プログラム、各種データ等が記憶された内部記憶装置8と、外部との通信を行う外部インタフェイス9と、等が各々接続されている。さらに、外部インタフェイス9には、各種プログラム、各種データ等が記憶された外部記憶装置13と、液晶ディスプレイである表示装置14と、工作機械30の運転に関する各種設定等を行うための操作パネル15と、アラームによってエラー報知を行うスピーカ16と、工作機械30(例えば、サーボモータ等)と、等が各々接続されている。なお、内部記憶装置8は、例えば、コンパクトフラッシュ(登録商標)や、ハードディスク等が適用可能である。さらに、外部記憶装置13は、例えば、USBメモリや、SDカード等が適用可能である。
また、内部記憶装置8には、ワーク加工に関するメインプログラムが記憶されている。さらに、外部記憶装置13には、ワーク加工に関するメインプログラムの他に、メインプログラムによって呼び出されるサブプログラムが記憶されている。これら加工プログラムは、NC言語によってプログラミングされたNCプログラムである。NCプログラムは、機械の動作モード(各種位置決定、移動等)を決定するGコードと、動作以外の補助的な機能を指令するMコードとを含むとともに、複数のブロックの配列から構成される。このようなNCプログラムがCPU5によって1ブロック毎に解釈され、その解釈によって生成されるプログラム指令に基づいて、工作機械30が制御される。これによって、工作機械30に特定の動作を行わせることができる。
次に、RAM7の各種記憶エリアについて説明する。図2に示すように、RAM7には、後述する「内部メモリ運転」時に、内部記憶装置8に記憶されたメインプログラムを一時的に登録するためのプログラム記憶エリア7aと、後述する「テープ運転」の途中で外部記憶装置13からサブプログラムを呼び出す際に、サブプログラムの終了後のメインプログラムへの復帰位置が記憶される復帰位置記憶エリア7bと、加工プログラムの解釈のためのワークエリア7cと、等が設けられている。
次に、数値制御装置1による工作機械30の運転制御方式について説明する。数値制御装置1による工作機械30の運転制御方式には、「内部メモリ運転」と「テープ運転」とがある。「内部メモリ運転」とは、内部記憶装置8に記憶された加工プログラムを、RAM7に一旦登録した後で、そのRAM7の登録内容に従って運転する運転制御方式をいう。また、「テープ運転」とは、外部記憶装置13に記憶された加工プログラムをRAM7に記憶させないで、そのまま読み込みながら運転する運転制御方式をいう。そして、数値制御装置1では、これら内部メモリ運転、テープ運転の何れかの方式でメインプログラムを実行することができる。さらに、そのメインプログラムの実行途中に、サブプログラムをテープ運転で外部記憶装置13から呼び出して実行することができる。なお、メインプログラムを何れの方式で実行するかについては、操作パネル15で切り替えることができる。
次に、内部メモリ運転からテープ運転へのサブプログラムの呼出機能について説明する。例えば、プログラム番号が1番のNCプログラム(以下、プログラム(1番)と呼ぶ。)が、メインプログラムとして内部記憶装置8に記憶されている。このプログラム(1番)は、図3に示すように、ブロック番号N1〜N7までのブロックの配列から構成されている。一方、外部記憶装置13には、プログラム番号が2番のNCプログラム(以下、プログラム(2番)と呼ぶ。)が記憶されている。このプログラム(2番)も、ブロック番号N1〜N7までのブロックの配列から構成されている。そして、操作パネル10によって内部メモリ運転が選択され、プログラム(1番)が指定された場合、まず、内部記憶装置8に記憶されたプログラム(1番)がRAM7のプログラム記憶エリア7aに一旦登録される。その後、ワークエリア7cにプログラム(1番)が所定ブロック毎に読み込まれ、ブロック番号N1から順に解釈される。プログラム(1番)は1ブロック毎に順次解釈され、解釈によって生成するプログラム指令に基づき、CPU5から外部インタフェイス9を介して指示信号が工作機械30の各種サーボモータ等に出力される。これにより、プログラム(1番)の内容に基づいて、工作機械30にある特定の動作を実行させることができる。
そして、プログラム(1番)のブロック番号N4までの解釈が終了すると、次いでシーケンス番号N5が解釈されるが、ブロック番号N5の指令コマンドは「G65P0002」である。ここで、「G65」はサブプログラム指令であって、「P0002」はプログラム番号である。つまり、この指令コマンドは、「プログラム番号が2番のNCプログラムを呼び出しなさい。」旨の指令である。よって、プログラム(1番)のブロック番号N5が解釈されると、外部記憶装置13に記憶されたプログラム(2番)が呼び出され、テープ運転に切り替わる。このテープ運転では、プログラム(2番)がRAM7に登録されることなく、ワークエリア7cに格納され、そのまま1ブロック毎に解釈される。そして、解釈によって生成するプログラム指令は、上記と同様に、外部インタフェイス9を介して工作機械30の各種サーボモータ等に出力される。これにより、プログラム(2番)の内容に基づいて、工作機械30にある特定の動作を実行させることができる。
次いで、プログラム(2番)のブロック番号N6までの解釈が終了すると、次いでシーケンス番号N7が解釈されるが、ブロック番号N7の指令コマンドは「M99」である。ここで、「M99」はサブプログラム終了指令であるので、RAM7のプログラム記憶エリア7aに記憶されたプログラム(1番)に戻り、ブロック番号N6から1ブロック毎に解釈される。そして、プログラム(1番)はRAM7のプログラム記憶エリア7aに登録されているので、プログラム(1番)のどこまでが既に実行されたかを容易に特定できる。よって、プログラム(2番)の終了後に、プログラム(1番)への復帰位置を容易に特定できることから、テープ運転から内部メモリ運転に容易に復帰することができる。
次に、テープ運転からテープ運転へのサブプログラムの呼出機能について説明する。例えば、図3と同様のメインプログラムとしてのプログラム(1番)と、サブプログラムとしてのプログラム(2番)とが外部記憶装置13に記憶されている。そして、上記したように、テープ運転では、外部記憶装置13に記憶された加工プログラムがそのまま1ブロック毎に解釈されて実行されるので、外部記憶装置13から読み込まれる加工プログラムはRAM7には登録されない。よって、プログラム(1番)の途中で呼び出されたプログラム(2番)の解釈が終了した場合、プログラム(1番)への復帰位置の特定方法が問題となる。そこで、本実施形態では、メインプログラムの実行途中にサブプログラムが呼び出された場合に、メインプログラムへの復帰位置をRAM7の復帰位置記憶エリア7bに記憶させることができる。これにより、プログラム(2番)の解釈が終了しても、復帰位置記憶エリア7bに記憶された復帰位置に基づいて、プログラム(1番)に復帰することができる。復帰位置記憶エリア7bには、例えば、メインプログラムのプログラム番号と、そのプログラムの既に完了したブロック番号の次のブロック番号とが記憶され、これらの番号によって、メインプログラムへの復帰位置を特定することができる。
なお、メインプログラムへの復帰位置を特定する上記以外の方法として、サブプログラムの呼出指令において復帰位置を指定するようにしてもよい。例えば、プログラム(1番)のN5を「G65P0002A0001B6」とする。「G65」はサブプログラム呼出指令、「P0002」はサブプログラム番号、「A0001」は復帰するメインプログラム番号、「B6」は復帰するメインプログラムのブロック番号である。つまり、「A0001B6」の部分で復帰位置を指定することができる。また、復帰するメインプログラム番号と、復帰するメインプログラムのブロック番号とをパラメータとして予めRAM7に記憶させてもよい。
次に、CPU5による「テープ運転」から「テープ運転」へのサブプログラム呼び出しの際の制御動作について、図4乃至図7のフローチャートを参照して具体的に説明する。なお、ここでは、外部記憶装置13に記憶された図5に示すプログラム(1番)から、外部記憶装置13に記憶された図5に示すプログラム(2番)を呼び出して実行し、そのプログラム(2番)の実行終了後にプログラム(1番)に復帰させる場合について説明する。
図4に示すように、はじめに、テープ運転が開始されると、外部記憶装置13に記憶されたプログラムの中から操作パネル15で指定されたプログラム(1番)が検索され、そのプログラム(1番)の中身が参照できるように開かれる(S1)。そして、表示装置14には、現在、外部記憶装置13からプログラムを呼び出している旨が表示される(S2)。例えば、表示装置14の所定位置に「外部読込中」等のフレーズが表示される。
次いで、プログラム(1番)の先頭ブロックが指定される(S3)。さらに、図5に示すように、その先頭ブロックから一定数(例えば、5ブロック分)が読み込まれ、RAM7のワークエリア7cに格納される(S5)。さらに、そのワークエリア7cに格納された5ブロック分のうちの最初の1ブロックが解釈される(S6)。そして、その解釈された1ブロックの指令コードが、サブプログラム呼出コードであるか否かが判断される(S7)。ここで、解釈された指令コードがサブプログラム呼出コードでない場合(S7:NO)、プログラム終了コードであるか否かが判断される(S8)。例えば、解釈された指令コードが「G0」の場合、「G0」は位置決めの指令コードであるので(S7:NO、S8:NO)、その1ブロックを解釈して得られるプログラム指令が実行される(S9)。この場合、工作機械30の主軸(図示外)の位置決めがなされる。
そして、1ブロック分の実行が終了すると、ブロックの実行を計数するカウンタが1インクリメントされる(S10)。さらに、RAM7のワークエリア7cに格納された5ブロック分の解釈が終了したか否かが判断される(S11)。ここで、5ブロック分の解釈がまだ終了していない場合(S11:NO)、S6に戻って、次の1ブロックについての解釈が同様に実行される。さらに、5ブロック分の解釈が終了した場合(S11:YES)、S5に戻って、次の5ブロック分がRAM7のワークエリア7cに格納され、上記と同様の処理が繰り返される。なお、5ブロック分の解釈が終了する度に、ブロックの実行を計数するカウンタはリセットされる。
ここで、例えば、プログラム(1番)のブロック番号N5のブロックが解釈された場合(S6)、ブロック番号N5は、「G65P0002」である。「G65」はサブプログラム呼出コードであるので(S7:YES)、図6に示すフローチャートに移行し、サブプログラムを呼び出す前に、サブプログラム呼出回数が2回以上か否かが判断される(S15)。つまり、サブプログラムの呼出回数のチェックを行うことによって、サブプログラムが外部記憶装置13から必要回数以上に呼び出されることを防止することができる。このサブプログラム呼出回数のチェック値は、外部記憶装置13の記憶容量や、外部記憶装置13に記憶されているサブプログラムの数等に合わせて設定される。例えば、外部記憶装置13に1つのサブプログラムしか記憶していない場合は、サブプログラムの呼出回数は1回を超えることはないので、サブプログラム呼出回数のチェック値には「2」が設定される。
そして、サブプログラムの呼出回数が2回以上であった場合(S15:YES)、外部記憶装置13に記憶されたサブプログラムの数を超えて呼び出されているので、スピーカ16からアラーム報知がなされる(S22)。これにより、オペレータは、サブプログラムの呼出機能において何らかの不具合を生じていることを速やかに認識することができる。そして、スピーカ16からアラーム報知された後で、プログラム運転はそのまま終了される(S23)。さらに、外部記憶装置13で呼び出されたプログラム(2番)が閉じられ(S24)、表示装置14に表示されていた「外部読込中」の表示が終了し(S25)、全体の処理が終了する。
ところで、サブプログラム呼出回数が1回の場合は(S15:NO)、サブプログラム呼出回数のチェックについては問題がないので、その呼出元であるプログラム(1番)の情報である復帰位置がRAM7の復帰位置記憶エリア7bに記憶される(S16)。例えば、呼出元であるプログラム(1番)のプログラム番号と、実行を完了したブロック番号の次のブロック番号(N6)とがRAM7の復帰位置記憶エリア7bに各々記憶される。さらに、外部記憶装置13から読み込まれていたプログラム(1番)が閉じられる(S17)。これは、CPU5は、同時に2つのプログラムを開いて参照することができないためである。そして、表示装置14に表示されていた「外部読込中」の表示が一旦終了される(S18)。
次いで、ブロック番号N5は「G65P0002」は、「プログラム(2番)を呼び出しなさい。」旨の指令であるので、外部記憶装置13からサブプログラムとしてのプログラム(2番)が検索され、そのプログラム(2番)の中身が参照できるように開かれる(S19)。そして、表示装置14には、再度、「外部読込中」のフレーズが表示される(S20)。さらに、指定されたプログラム(2番)の先頭ブロックが指定され(S21)、図7に示すフローチャートに移行する。
次いで、その先頭ブロックから一定数(例えば、5ブロック分)が読み込まれ、RAM7のワークエリア7cに格納される(S26)。さらに、そのワークエリア7cに格納された5ブロック分のうちの最初の1ブロックが解釈される(S27)。そして、その解釈された1ブロックの指令コードが、サブプログラム呼出コードであるか否かが判断される(S28)。なお、本実施形態では、サブプログラムの呼出回数の上限値が2回に設定されているので、通常、ここでサブプログラム呼出コードである場合はない。しかしながら、ここでサブプログラム呼出コードであった場合(S28:YES)、図6のフローチャートのS15において、サブプログラム呼出回数が2回と判断されるので(S15:YES)、サブプログラムの呼出機能において何らかの理由で不具合が発生している可能性が高い。よって、スピーカ16からアラーム報知(S22)がなされ、プログラム運転が終了され(S23)、プログラム(2番)が閉じられ(S24)、「外部読込中」の表示が終了され(S25)、全体の処理が終了する。
また、指令コードがサブプログラム呼出コードでない場合(S28:NO)、プログラム終了コードであるか否かが判断される(S29)。例えば、解釈された指令コードが動作コードである場合は(S29:NO)、その1ブロックの解釈によって得られるプログラム指令が実行される(S30)。
次いで、1ブロック分が終了すると、ブロックの実行を計数するカウンタが1インクリメントされる(S31)。そして、RAM7のワークエリア7cに格納された5ブロック分の解釈が終了したか否かが判断される(S32)。ここで、5ブロック分の解釈がまだ終了していない場合(S32:NO)、S27に戻って、次の1ブロックについての解釈が同様に実行される。さらに、5ブロック分の解釈が終了した場合(S32:YES)、S26に戻って、次の5ブロック分がRAM7のワークエリア7cに格納され、上記と同様の処理が繰り返される。
また、解釈された1ブロックの指令コードが、「M99」である場合、「M99」はサブプログラム終了コードであるので(S29:YES)、外部記憶装置13から呼び出されていたプログラム(2番)が閉じられる(S33)。そして、呼出元のプログラムファイル(1番)の情報が復帰される(S34)。詳細には、RAM7の復帰位置記憶エリア7bに記憶された呼出元であるプログラム(1番)のプログラム番号と、実行を完了したブロック番号の次のブロック番号(N6)とが参照される。さらに、その参照されたプログラム番号に相当する外部記憶装置13のプログラム(1番)が開かれ(S35)、6番目のブロックが指定される(S36)。
その後、図5に示すフローチャートのS5に戻り、その指定されたブロックから一定数(例えば、5ブロック分)が読み込まれ(S5)、上記同様の処理が繰り返される。そして、解釈された1ブロックの指令コードが「M30」である場合、「M30」は終了コードであるので(S7:NO、S8:YES)、プログラム運転は終了される(S12)。さらに、外部記憶装置13で呼び出されたプログラム(1番)が閉じられ(S13)、表示装置14に表示されていた「外部読込中」の表示が終了し(S14)、全体の処理が終了する。
なお、以上の説明において、メインプログラムが本発明の「第1プログラム」に相当し、サブプログラムが本発明の「第2プログラム」に相当し、図4に示すフローチャートのS1の処理、図7に示すフローチャートのS35の処理を実行するCPU5が本発明の「読込手段」に相当し、図6に示すフローチャートのS19の処理を実行するCPU5が本発明の「呼出手段」に相当し、図5に示すフローチャートのS9,S12、図7に示すフローチャートのS30,S33の処理を実行するCPU5が本発明の「プログラム実行手段」に相当し、RAM7の復帰位置記憶エリア7bが本発明の「復帰位置記憶手段」に相当し、図4に示すフローチャートのS2、図6に示すフローチャートのS20の処理を実行するCPU5が本発明の「外部読込報知手段」に相当する。
以上説明したように、本実施形態の数値制御装置1では、外部記憶装置13に記憶された加工プログラムをそのまま読み込みながら運転するテープ運転が可能である。そして、そのテープ運転中に、外部記憶装置13に記憶されたサブプログラムを読み込んで実行することができる。例えば、テープ運転でメインプログラムの実行途中にサブプログラムが呼び出される場合、メインプログラムへの復帰位置がRAM7の復帰位置記憶エリア7bに記憶される。これにより、サブプログラムの解釈が終了しても、復帰位置記憶エリア7bに記憶された復帰位置に基づいて、メインプログラムに復帰することができる。なお、復帰位置記憶エリア7bには、例えば、プログラムの番号と、そのプログラムのブロック番号とが記憶され、これら番号によって、メインプログラムへの復帰位置を特定することができる。
また、本実施形態では、テープ運転からテープ運転へのサブプログラムの呼び出しについて説明したが、例えば、図8に示すように、メインプログラムとしてのプログラム(1番)を内部メモリ運転で実行している途中で、サブプログラムとしてのプログラム(2番)をテープ運転で呼び出しながら実行し、さらにその実行途中で、サブプログラムとしてのプログラム(3番)を呼び出して実行することも可能である。
なお、本発明の数値制御装置は、上記実施形態に限らず、各種の変形が可能なことはいうまでもない。上記実施形態では、テープ運転からテープ運転へのサブプログラムの呼び出しがなされた場合、メインプログラムへの復帰位置がRAM7の復帰位置記憶エリア7bに記憶されるが、例えば、外部記憶装置13に記憶させるようにしてもよい。さらには、メインプログラムへの復帰位置を数値制御装置1のRAM7に記録するか、外部記憶装置13に記録するかを操作パネル15で切り替え可能にしてもよい。
また、上記実施形態では、外部記憶装置13から加工プログラムを呼び出しているが、例えば、工具データ、マクロ変数、切削条件、各種パラメータ等を外部記憶装置13に記憶させ、テープ運転でそれらを呼び出せるようにしてもよい。これにより、加工プログラム毎に切削条件、工具データ等を変えることができるので、より綿密で詳細な加工プログラムを組むことができる。さらに、RAM7の記憶領域が破損した場合でも、外部記憶装置13から呼び出すことによって運転を継続することができる。
さらに、上記実施形態では、本発明の「外部記憶手段」として、USBメモリ、SDカード等に代表される外部記憶装置13を用いたが、「外部記憶手段」にPC等の一般通信装置を用いることも可能である。例えば、図9に示すように、工作機械71を数値制御する数値制御装置51と、工作機械72を数値制御する数値制御装置52と、工作機械73を数値制御する数値制御装置53とを、PC装置100に接続してネットワークを構築してもよい。このネットワークによれば、数値制御装置51,52,53で使用される各種データをPC装置100で一元管理することができる。例えば、PC装置100に内蔵されたハードディスク装置101に、工作機械71で使用されるデータと、工作機械72で使用されるデータと、工作機械73で使用されるデータとをそれぞれ記憶させることによって、上記実施形態のようなテープ運転からテープ運転へのサブプログラムの呼び出しも可能となる。さらに、PC装置100で、これら工作機械71,72,73で使用される各種データを一元管理できることから、自身とは異なる工作機械71,72,73のデータを互いに流用することもできる。
また、上記実施形態では、サブプログラム呼出回数のチェック値を「2」に設定したが、例えば、外部記憶装置13に複数のサブプログラムを記憶させ、テープ運転でサブプログラムを実行中に、さらにサブプログラムを呼び出して実行するようにしてもよい。この場合、サブプログラム呼出回数のチェック値を、外部記憶装置13に記憶されたサブプログラムの数に合わせて設定すればよい。
また、表示装置14として液晶ディスプレイで構成しているが、外部読込中であることを表示できるものであれば、何れでもよく、例えば、専用のLED、警告ランプでもよい。
なお、本発明の制御プログラムを記憶する記憶媒体としては、ROM、RAM等の素子の他、種々の形態が考えられる。例えば、CD−ROM、フロッピー(登録商標)等でもよく、カードスロットへ挿入可能なプログラムカートリッジ等でもよく、インターネット上のファイルサーバであってもよい。
本発明の数値制御装置は、工作機械のみならず、各種データを設定可能な機械に適用可能である。
数値制御装置1の電気的構成を示すブロック図である。 RAM7の記憶エリアを示す概念図である。 内部メモリ運転からテープ運転へのサブプログラム呼び出しに関する説明図である。 CPU5による制御動作を示すフローチャートである。 図4の続きを示すフローチャートである。 図5の続きを示すフローチャートである。 図6の続きを示すフローチャートである。 サブプログラムの呼出機能に関する変形例の説明図である。 PC100装置に、数値制御装置51,52,53を接続したネットワークシステムのブロック図である。
1 数値制御装置
5 CPU
6 ROM
7 RAM
7b 復帰位置記憶エリア
8 内部記憶装置
13 外部記憶装置
14 表示装置
30 工作機械

Claims (4)

  1. 複数の指令コマンドからなる第1プログラムと、当該第1プログラムの前記指令コマンドによって指定される第2プログラムとが記憶された外部記憶手段にアクセス可能に接続された工作機械の数値制御を行うための数値制御装置であって、
    当該外部記憶手段から前記第1プログラムを読み込む読込手段と、
    当該読込手段によって読み込まれた前記第1プログラムの前記指令コマンドによって指定された前記第2プログラムを前記外部記憶手段から呼び出す呼出手段と、
    前記読込手段によって読み込まれた前記第1プログラムを実行するとともに、前記第1プログラムの実行途中に、前記呼出手段によって呼び出された前記第2プログラムを実行するプログラム実行手段と、
    前記数値制御装置の内部に設けられ、前記呼出手段によって前記第2プログラムが呼び出された場合に、前記第2プログラムの実行終了後の前記第1プログラムへの復帰位置を記憶する復帰位置記憶手段と、
    前記外部記憶手段に記憶された前記第1プログラムが、前記読込手段によって読み込まれていることを報知する外部読込報知手段と
    前記呼出手段によって、前記外部記憶装置に記憶された前記第2プログラムの数を超えて、前記第2プログラムが呼び出されたか否かを判断する呼出判断手段と、
    前記呼出判断手段が、前記呼出手段によって、前記外部記憶装置に記憶された前記第2プログラムの数を超えて、前記第2プログラムが呼び出されたと判断した場合に、異常を報知し、かつ前記プログラム実行手段による前記第1プログラム及び前記第2プログラムの実行を終了する異常処理手段と
    を備え、
    前記プログラム実行手段は、前記第2プログラムの実行を終了した場合、前記復帰位置記憶手段に記憶された前記復帰位置から、前記第1プログラムを継続して運転することを特徴とする数値制御装置。
  2. 前記外部記憶手段には、前記第1プログラムに用いられるパラメータ及び工具データのうち少なくとも何れかが記憶されていることを特徴とする請求項1に記載の数値制御装置。
  3. 工作機械の数値制御を行う数値制御装置を機能させる制御プログラムであって、
    コンピュータに、
    前記数値制御装置にアクセス可能に接続され、複数の指令コマンドからなる第1プログラムと、当該第1プログラムの前記指令コマンドによって指定される第2プログラムとが記憶された外部記憶手段から前記第1プログラムを読み込む第1ステップと、
    当該第1ステップにおいて読み込まれた前記第1プログラムを実行する第2ステップと、
    当該第2ステップにおいて前記第1プログラムの実行途中に、前記第1プログラムの前記指令コマンドによって指定された前記第2プログラムを呼び出す第3ステップと、
    当該第3ステップにおいて前記第2プログラムが呼び出された場合に、前記第2プログラムを実行するとともに、前記第2プログラムの終了後の前記第1プログラムへの復帰位置を、前記数値制御装置の内部に設けられた復帰位置記憶手段に記憶する第4ステップと、
    当該第4ステップにおいて前記第2プログラムの実行が終了した後に、前記復帰位置記憶手段に記憶された前記復帰位置から前記第1プログラムを実行する第5ステップと、
    前記第1ステップにおいて前記外部記憶手段に記憶された前記第1プログラムが読み込まれていることを報知する第6ステップと
    前記第3ステップにおいて、前記外部記憶装置に記憶された前記第2プログラムの数を超えて、前記第2プログラムが呼び出されたか否かを判断する第7ステップと、
    前記第7ステップにおいて、前記外部記憶装置に記憶された前記第2プログラムの数を超えて、前記第2プログラムが呼び出されたと判断された場合に、異常を報知し、かつ前記第2ステップ及び前記第3ステップにおける前記第1プログラム及び前記第2プログラムの実行を終了する第8ステップと
    を実行させることを特徴とする制御プログラム。
  4. 請求項3に記載の制御プログラムを記録したことを特徴とする記憶媒体。
JP2007043095A 2007-02-23 2007-02-23 数値制御装置、制御プログラム及び記憶媒体 Active JP4867703B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007043095A JP4867703B2 (ja) 2007-02-23 2007-02-23 数値制御装置、制御プログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007043095A JP4867703B2 (ja) 2007-02-23 2007-02-23 数値制御装置、制御プログラム及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2008204410A JP2008204410A (ja) 2008-09-04
JP4867703B2 true JP4867703B2 (ja) 2012-02-01

Family

ID=39781813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007043095A Active JP4867703B2 (ja) 2007-02-23 2007-02-23 数値制御装置、制御プログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP4867703B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106647642A (zh) * 2016-12-08 2017-05-10 上海维宏电子科技股份有限公司 数控系统中通过扩展m子程序调用自定义子程序的方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104937510B (zh) * 2014-01-15 2017-04-05 三菱电机株式会社 数控装置
JP5820000B2 (ja) 2014-02-21 2015-11-24 ファナック株式会社 テーブル形式データによる運転を行う数値制御装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0690647B2 (ja) * 1986-10-22 1994-11-14 株式会社牧野フライス製作所 機械加工システム
JP2821743B2 (ja) * 1987-12-17 1998-11-05 ファナック株式会社 数値制御装置
JP2632064B2 (ja) * 1990-03-13 1997-07-16 日立精機株式会社 加工情報の格納管理機能を有する数値制御装置
JPH04209009A (ja) * 1990-11-30 1992-07-30 Brother Ind Ltd 数値制御方法及びその制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106647642A (zh) * 2016-12-08 2017-05-10 上海维宏电子科技股份有限公司 数控系统中通过扩展m子程序调用自定义子程序的方法

Also Published As

Publication number Publication date
JP2008204410A (ja) 2008-09-04

Similar Documents

Publication Publication Date Title
US8843885B2 (en) Program creation support device
US8195911B2 (en) Numerical controller capable of dividing and combining memory areas to store machining programs and binary data
CN105408823B (zh) 工程设计工具、程序编辑装置以及程序编辑系统
JP4867703B2 (ja) 数値制御装置、制御プログラム及び記憶媒体
JP6312648B2 (ja) 工具カタログデータベースと連携する数値制御システム
EP2733613A2 (en) Controller and program
JPH08123515A (ja) シーケンス・プログラムの表示方式
JP5456208B1 (ja) 数値制御装置
JP6442131B2 (ja) 制御システムおよび制御装置
JPH103307A (ja) 数値制御装置
US6829518B2 (en) Numerical control apparatus
JP4882666B2 (ja) 数値制御装置
US10048678B2 (en) Numerical controller
JP4549051B2 (ja) 工作機械の軸制御装置、工作機械の軸制御プログラム
JP7041041B2 (ja) 数値制御装置
JPH08286712A (ja) シーケンス・プログラムの編集方式
JP3795473B2 (ja) エディタ装置およびエディタプログラムを記録した記録媒体
JP5354463B2 (ja) プログラマブルコントローラ
JP2004178151A (ja) 表示制御装置、プログラム、および、そのプログラムが記録された記録媒体
JPS60118336A (ja) 数値制御装置付パンチプレス機
JP2004127134A (ja) 自動機械制御方法
JP2821743B2 (ja) 数値制御装置
JPS61248107A (ja) 数値制御装置における大容量パ−トプログラム運転方式
JPH05134717A (ja) プログラマブルコントローラのプログラミング装置
JPH09244717A (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110928

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111031

R150 Certificate of patent or registration of utility model

Ref document number: 4867703

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3