(57)【要約】【課題】加工プログラムのデータの記憶機器又は記憶媒体との間の授受、ＣＮＣ上での編集等が迅速に行えるようにすること。【解決手段】加工プログラムは複数のプログラムブロックに分解され、付加情報を加えて入出力単位Ａ〜Ｄ以下が構成される。付加情報には上流／下流側の入出力単位を指定する前方／後方リンクのデータと、プログラムブロックの有効文字長のデータが含まれる。記憶機器又は記憶媒体上の加工プログラムをＣＮＣに読み込みながら実行する場合、入出力単位を読み込み、実行する順番は各入出力単位の前方／後方リンクデータに従うことを基本とするが、分岐命令があれば、直接分岐先の入出力単位（既知）を読み込むか、前方／後方リンクデータを利用して近傍の入出力単位をサーチする。編集時にも、要変更の入出力単位の入出力で足りる。【選択図】　　　　　　図３
2004078476.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムを複数のプログラムブロックに分解し、各プログラムブロック毎に当該プログラムブロックと付加情報とを含む入出力単位を構成し、該入出力単位毎に記憶機器又は記憶媒体と入出力を行なうインタフェースを備えた数値制御装置において、
前記付加情報には、前記プログラムブロックの有効データ長および当該入出力単位の前後関係を示す入出力単位情報が含まれており、
前記入出力単位情報は、当該入出力単位に対して前方リンクの関係にある入出力単位があればそれを指定する前方入出力単位情報と、当該入出力単位に対して後方リンクの関係にある入出力単位があればそれを指定する後方入出力単位情報とを含むことを特徴とする数値制御装置。
【請求項２】
記憶機器又は記憶媒体上の加工プログラムの実行において、前記加工プログラムの先頭部分が含まれている入出力単位を読み出し、
以下、読み出した入出力単位に含まれる後方入出力単位情報に基づいて次に読み出すべき入出力単位を逐次特定して順次読み出し、
前記読み出した入出力単位に含まれる加工プログラムを実行するようにし、
また、加工プログラム中の分岐指令により前方への分岐を行う場合には、実行中の入出力単位の前方入出力単位情報を使用して前方の入出力単位を読み出し、後方への分岐を行う場合には、実行中の入出力単位の後方入出力単位情報を使用して後方の入出力単位を読み出すようにして、前記読み出した入出力単位に含まれる加工プログラムを実行するようにしたことを特徴とする、請求項１に記載の数値制御装置。
【請求項３】
記憶機器又は記憶媒体上の加工プログラムの実行において、前記加工プログラムの先頭部分が含まれている入出力単位を読み出し、
以下、読み出した入出力単位に含まれる後方入出力単位情報に基づいて次に読み出すべき入出力単位を逐次特定して順次読み出し、前記読み出した入出力単位に含まれる加工プログラムを実行するようにし、
また、加工プログラム実行中に、あらかじめ分岐先の入出力単位として記憶された入出力単位に分岐を行う場合には、前記記憶した入出力単位を直接読み出し、前記読み出した入出力単位に含まれる加工プログラムを実行するようにしたことを特徴とする、請求項１に記載の数値制御装置。
【請求項４】
記憶機器又は記憶媒体上の加工プログラムの編集において、他の入出力単位に影響しない編集の場合は、編集対象の入出力単位に含まれる加工プログラムおよび有効データ長のみを変更し、入出力単位に含まれる加工プログラムがすべて削除される削除編集の場合は、削除される入出力単位の前方入出力単位に含まれる後方入出力単位情報を削除される入出力単位の後方単位情報に変更し、かつ削除される入出力単位の後方入出力単位に含まれる前方入出力単位情報を削除される入出力単位の前方単位情報に変更することで入出力単位を削除し、
入出力単位に含まれる加工プログラムが入出力単位の最大記憶量を越える追加編集の場合には、追加する位置の前の入出力単位の後方入出力単位情報を追加する入出力単位を示す情報に変更し、迫加する位置の後の入出力単位の前方入出力単位情報を迫加する入出力単位を示す情報に変更し、追加する入出力単位の前方／後方入出力単位情報は、それぞれ追加する位置の前方／後方入出力単位を示す情報として入出力単位を追加することにより、前記入出力単位毎に編集を行なうことを特徴とする、請求項１記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶機器又は記憶媒体上に用意された加工プログラムを読み込みながら工作機械を運転する際に使用される数値制御装置に関し、特に、加工プログラムに分岐命令が含まれている場合に合理的に対応でき、また、記憶機器又は記憶媒体上の加工プログラムを編集する際に利便性の高い数値制御装置に関する。
【０００２】
【従来の技術】
加工プログラムを例えばパーソナルコンピュータ付設のフロッピー（登録商標）ディスクドライブ上のフロッピー（登録商標）ディスクなどから読み出しながら工作機械を運転するＤＮＣ運転の場合には、プログラムを先頭から終わりまで、そのまま１文字単位でシーケンシャルに読み出し、処理をしていた。そのため従来の運転技術ではプログラムの途中に分岐があると処理ができなくなるか、処理できる場合でも、再度プログラムの先頭からシーケンシャルに再度読み出しを実行する必要があったため、無視できない無駄な時間が発生していた。また、プログラムの一部変更、削除、追加等の編集を行なう場合も、一旦プログラム全体を数値制御装置に入力し、編集を行ない、編集後にプログラム全体を記憶機器又は記憶媒体に出力する方式が採用されていたため、時間がかかっていた。
【０００３】
【発明が解決しようとする課題】
本発明の目的は上記した従来技術の問題点を解決することにある。即ち、本発明は、記憶機器又は記憶媒体上に用意された加工プログラムを読出しながら工作機械を運転する場合や加工プログラムを編集する場合に無駄な時間の発生を抑えることができる数値制御装置を提供することにある。また、本発明は、更に、記憶機器又は記憶媒体上に用意された加工プログラムが分岐命令を含んでいても合理的に対応できるようにすることも意図している。
【０００４】
【課題を解決するための手段】
本発明に従えば、加工プログラムを複数のプログラムブロックに分解し、各プログラムブロック毎に当該プログラムブロックと付加情報とを含む入出力単位が構成される。ここで、前記付加情報には、前記プログラムブロックの有効データ長および当該入出力単位の前後関係を示す入出力単位情報が含まれ、前記入出力単位情報には、当該入出力単位に対して前方リンクの関係にある入出力単位があればそれを指定する前方入出力単位情報と、当該入出力単位に対して後方リンクの関係にある入出力単位があればそれを指定する後方入出力単位情報とが含まれる。そして、数値制御装置は、前記入出力単位毎に記憶機器又は記憶媒体と入出力を行なうインタフェースを備えた構成とする。
【０００５】
記憶機器又は記憶媒体上の加工プログラムを実行するに際しては、前記加工プログラムの先頭部分が含まれている入出力単位を読み出し、以下、読み出した入出力単位に含まれる後方入出力単位情報に基づいて次に読み出すべき入出力単位を逐次特定して順次読み出し、前記読み出した入出力単位に含まれる加工プログラムを実行するようにする。そして、加工プログラム中に分岐指令が含まれている場合には、下記（ａ）あるいは（ｂ）が選択されて良い。
【０００６】
（ａ）加工プログラム中の分岐指令により前方への分岐を行う場合には、実行中の入出力単位の前方入出力単位情報を使用して前方の入出力単位を読み出し、後方への分岐を行う場合には、実行中の入出力単位の後方入出力単位情報を使用して後方の入出力単位を読み出すようにして、前記読み出した入出力単位に含まれる加工プログラムを実行する。
【０００７】
（ｂ）あらかじめ分岐先の入出力単位として記憶された入出力単位に分岐を行う場合には、前記記憶した入出力単位を直接読み出し、前記読み出した入出力単位に含まれる加工プログラムを実行する。
【０００８】
記憶機器又は記憶媒体上の加工プログラムの編集に際して、他の入出力単位に影響しない編集の場合は、編集対象の入出力単位に含まれる加工プログラムおよび有効データ長のみを変更し、入出力単位に含まれる加工プログラムがすべて削除される削除編集の場合は、削除される入出力単位の前方入出力単位に含まれる後方入出力単位情報を削除される入出力単位の後方単位情報に変更し、かつ削除される入出力単位の後方入出力単位に含まれる前方入出力単位情報を削除される入出力単位の前方単位情報に変更することで入出力単位を削除し、入出力単位に含まれる加工プログラムが入出力単位の最大記憶量を越える追加編集の場合には、追加する位置の前の入出力単位の後方入出力単位情報を追加する入出力単位を示す情報に変更し、迫加する位置の後の入出力単位の前方入出力単位情報を迫加する入出力単位を示す情報に変更し、追加する入出力単位の前方／後方入出力単位情報は、それぞれ追加する位置の前方／後方入出力単位を示す情報として入出力単位を追加することにより、前記入出力単位毎に編集を行なうようにする。
【０００９】
このように、本発明の数値制御装置においては、（ｉ）記憶機器又は記憶媒体上の加工プログラムが複数のプログラムブロックに分解されて、各プログラムブロック毎に当該プログラムブロックのプログラム（有効文字で記されている）を含む入出力単位から構成される構造を持つようにされる。そして、（ｉｉ）各入出力単位には、付加情報として、「入出力単位の前後関係（前方／後方リンク関係）を表わす前方／後方入出力単位情報」、「入出力単位に含まれる有効データ長」が含まれる。
【００１０】
そして、（ｉｉｉ）加工プログラムをシーケンシャルに読み出す場合は、先頭の入出力単位から読み出し、その入出力単位内の後方入出力単位情報を使用し、次に読み出すべき入出力単位を特定する。以下同様に、順次読み出しを行っていく。
【００１１】
（ｉｖ）プログラムの分岐先の管理ブロック名（例えばブロック番号）を記憶しない場合は、その分岐命令の存在する入出力単位（実行中の入出力単位）を出発点にして、順次前方リンク及び後方リンク側の近傍入出力単位を読み出し、分岐命令が指定するラベル（分岐先の命令文の名前）をサーチする。分岐命令が指定するラベルが見つかったら、その命令文からプログラムの実行を再開する。
【００１２】
（ｖ）プログラムの分岐先を記憶する場合は、分岐先名（ラベル名）と分岐先が存在する入出力単位をペアで記億する。
【００１３】
（ｖｉ）記憶された分岐先の入出力単位を読み出す場合は、直接入出力単位を指定して読み出し、分岐命令が指定するラベル（分岐先の命令文の名前）の命令文からプログラムの実行を再開する。
【００１４】
（ｖｉｉ）編集を行う場合は、該当する入出力単位（１単位）を変更する。編集が該当する入出力単位内で完結しない削除動作の場合は、該当する入出力単位を削除し、その前後の入出力単位の前方／後方入出力単位情報を変更する。
【００１５】
（ｖｉｉｉ）編集が該当する入出力単位内で完結しない挿入動作の場合は、新規に入出力単位を挿入し、その前後の入出力単位の前方／後方入出力単位情報を変更する。
【００１６】
このように、本発明では、プログラムの分岐時および編集時に、プログラムを入出力する量を少なくすることができるため、プログラムの入出力にかかる時間を短縮することができる。
【００１７】
【発明の実施の形態】
図１は、本発明の実施形態に係る数値制御装置（ＣＮＣ）と記憶機器又は記憶媒体（ここではフロッピー（登録商標）ディスクドライブ，メモリカード）を含む周辺構成をブロック図で示したものである。同図に示したように、工作機械の各軸を数値制御する数値制御装置（ＣＮＣ）は、通常のハードウェア構成のもので、全体を制御するＣＰＵ、バスラインを介してＣＰＵに接続された諸メモリ（ＲＡＭ、ＲＯＭ、ビデオＲＡＭ、不揮発性ＲＡＭ等）、キーインターフェイス、シリアルインターフェイスを備えている。
【００１８】
ビデオＲＡＭにはＣＲＴが接続され、不揮発性ＲＡＭにはバックアップ用のバッテリが接続されている。キーインターフェイスはオペレータがマニュアル操作を行なうための操作キー（キーボード）に接続されている。そして、シリアルインターフェイスは、記憶機器又は記憶媒体（ここではフロッピー（登録商標）ディスクドライブ）に接続され、また、メモリカードインタフェースも同様に記憶機器又は記憶媒体（メモリカード）に接続されプログラムの送受信に利用される。記憶機器又は記憶媒体上に用意される加工プログラムのデータ構成、ＣＮＣとのデータ入出力、編集時の手順等の詳細については後述する。
【００１９】
工作機械も通常構成のもので、軸数（ここでは２を例示）分の軸制御回路、サーボアンプ、サーボモータの他、ＰＭＣ（プログラマブルコントローラ）、機械制御装置及びＰＭＣと機械制御装置を繋ぐ入出力装置（Ｉ／Ｏ）を備えている。
【００２０】
加工プログラムの実行時には、加工プログラムのデータ（入出力単位毎；詳細は後述）を記憶機器又は記憶媒体からシリアルインターフェイス、またはメモリカードインタフェースを通して順次取り込み一旦不揮発性メモリに記憶する一方、ＣＰＵはこれを順次読み込んで工作機械の各軸の軸制御回路に動作指令を出力する。
【００２１】
次に、加工プログラムのデータ構成について、図２、図３を参照して説明する。加工プログラムは、適宜数のプログラムブロックに分解され、各プログラムブロックに付加情報を付属させて、プログラムブロック数と同数（１対１対応）の入出力単位を構成する形で記憶機器又は記憶媒体上に用意されている。これら入出力単位を、元の（即ち、分解前の）加工プログラムの記述の流れに沿って順に、入出力単位Ａ、入出力単位Ｂ・・・・入出力単位Ｍ、入出力単位Ｎ・・・（例えば入出力単位Ｔまであれば計２０個）と呼ぶことにする。
【００２２】
図２には、例としてＭ番目の入出力単位Ｍの構成が示されている。１個の入出力単位は、その入出力単位の核となるプログラムブロックと付加情報で構成される。プログラムブロックは、元の加工プログラムのプログラムの内、その入出力単位に帰属することが定められた部分で、命令文等を記述する有効文字のデータからなる。付加情報には、その入出力単位から見て加工プログラムの記述の流れの中で上流側の入出力単位を指定する前方リンクのデータと、その入出力単位から見て加工プログラムの記述の流れの中で下流側の入出力単位を指定する後方リンクのデータと、その入出力単位が持つプログラムブロックに含まれる有効文字のデータ長（有効文字長）のデータが含まれる。ここではｓｍと表記されているが実際にはその入出力単位に帰属するプログラムブロックの有効文字の構成バイト数等が書き込まれる。有効文字長の計数は、加工プログラムを分解して入出力単位を構成する際に情報機器（ＣＮＣでも良い）内部でソフトウェアにより自動的に行なわれる。また、ＣＮＣ上での編集（後述）により増減があった時は、ＣＮＣでも良い）内部でソフトウェアにより自動的に書き換えられる。
【００２３】
さて、ここでは、加工プログラムの記述の流れの順番は、Ａ→Ｂ→・・・→Ｌ→Ｍ→Ｎ・・・であるから、入出力単位Ｍの前方リンクはＬ（入出力単位Ｌ）であり、後方リンクはＮ（入出力単位Ｌ）となる。但し、後述するように、編集により入出力単位の削除や追加があれば、前方リンク、後方リンクのデータは書き換えられる。また、加工プログラムの先頭に対応する入出力単位については、前方リンクで指定される入出力単位は無いので、「なし」を意味するデータを付与する。同様に、加工プログラムの末尾に対応する入出力単位については、後方リンクで指定される入出力単位は無いので、「なし」を意味するデータを付与する。
【００２４】
ところで、加工プログラムには分岐命令が含まれていることが多い。その場合、分岐命令が含まれる入出力単位（プログラムブロック）と、分岐命令がラベル名で指定する行が含まれる入出力単位（プログラムブロック）とは異なることが一般的となる。そのようなケースを考慮して、入出力単位の初めの４個の例を図３に示した。
【００２５】
図３に示したように、入出力単位Ａ、Ｂ、Ｃ、Ｄの前方リンクはそれぞれ、なし、Ａ、Ｂ、Ｃ、後方リンクはそれぞれ、Ｂ、Ｃ、Ｄ、Ｅ（図示省略）となる。この例では、入出力単位Ｃ中に分岐命令、「ＩＦ＃１ＥＱ１　ＧＯ　ＴＯ　Ｎ１０」（下線参照）が含まれている。なお、「ＩＦ＃１ＥＱ１　ＧＯ　ＴＯ　Ｎ１０」の意味は、「もし指標＃１の値が１であれば、ラベルＮ１０の行へ行け」である。そして、ラベルＮ１０の行は、入出力単位Ｂに含まれている（下線参照）。なお、本例では指標＃１の値は１回目のみ１であるので、分岐命令が実行されるのは１回きりである。
【００２６】
ＣＮＣは、このようにして入出力単位群の形態で記憶機器又は記憶媒体上に用意された加工プログラムを、加工プログラムの実行あるいは編集のために、記憶機器又は記憶媒体から読み込むことができる。また、逆に、例えば編集後に、記憶機器又は記憶媒体へ出力することができる。それらの様子を図４（ＣＮＣへ入力）、図５（ＣＮＣから出力）に示した。これらの図に示したように、従来と異なり、加工プログラムのデータを先頭から末尾までシーケンシャルに入出力する必要がなく、例えば編集時（前後）には、必要な入出力単位を例えば操作キーで指定して入出力することができる。
【００２７】
また、入出力単位群の形態で記憶機器又は記憶媒体上に用意された加工プログラムをＣＮＣに読み込みながら加工プログラムを実行することもできる。その場合も、読み込みは、入出力単位を順次読み込んでいく形をとる。入出力単位を読み込み実行する順番は、各入出力単位の付加情報に含まれる前方／後方リンクデータ（前方／後方入出力単位情報）に従うことを基本とする。先ず、先頭の入出力単位は「前方リンクなし」の入出力単位として特定できる。ＣＮＣは、この先頭の入出力単位のデータを記憶機器又は記憶媒体から入力して内部メモリ（例えば不揮発性ＲＡＭ）に取り込む一方、これを読み込み、プログラムの実行を開始する。
【００２８】
それと並行して、その先頭の入出力単位の「後方リンク」のデータに基づき２番目の入出力単位のデータを記憶機器又は記憶媒体から入力して内部メモリに取り込む。ＣＮＣのＣＰＵは、先頭の入出力単位のプログラムブロックに含まれるプログラムを実行終了後に、２番目の入出力単位のプログラムブロックに含まれるプログラムを実行する。以下、順次３番目、４番目・・・・の入出力単位に含まれるプログラムを実行し、最後の入出力単位まで実行する。「最後の入出力単位」は、「後方リンクなし」のデータで判断することができる。
【００２９】
以上が加工プログラム読み込み・実行順序の基本であるが、分岐命令があれば、別の手順がとられる。その手順を図３に示した例を使って説明する。分岐命令時の手順は、次の（１）、（２）のケースに応じて異なる。
【００３０】
ケース（１）；分岐先のラベルのみならず、そのラベルの行が含まれる入出力単位を特定するデータをＣＮＣが利用可能（ａｖａｉｒａｂｌｅ）である場合。例えば、分岐命令を含む入出力単位の付加情報として、分岐命令の行が含まれる入出力単位のデータが予め記憶されている場合；
この場合は、分岐命令が含まれている入出力単位の前方／後方リンクデータに関係なく、分岐命令が指定するラベルの行を含む入出力単位を読み込み、実行する。図３の例で言えば、ＣＮＣは、先ず入出力単位Ａ→入出力単位Ｂ→入出力単位Ｃの順に読み込み／実行していくが、入出力単位Ｃの途中で分岐命令がある。そこで、ラベルＮ１０のある入出力単位Ｂを上記の記憶データを使って特定し、入出力単位Ｂを読み込む。実行は、当然、分岐命令通り、Ｎ１０から行なう。なお、その後、入出力単位Ｂの次には、入出力単位Ｂの後方リンクデータに従って、入出力単位Ｃが再度読み出し、実行される。２回目のサイクルでは、分岐命令は無効なので（＃１＝２になっている）、基本ルールにより、以後新たな分岐命令が無い限り、入出力単位Ｃ→入出力単位Ｄ→・・・と読み出し、実行される。
【００３１】
ケース（２）；分岐先のラベルは機構されているが、そのラベルの行が含まれる入出力単位を特定するデータをＣＮＣが利用できない（ｎｏｔ　ａｖａｉｒａｂｌｅ）である場合；
この場合は、分岐命令が含まれている入出力単位の前方／後方リンクデータを利用して、分岐命令が指定するラベルの行を含む入出力単位を、その分岐命令を含む入出力単位の周辺からサーチする。
【００３２】
例えば、図３の例で言えば、ＣＮＣは、先ず入出力単位Ａ→入出力単位Ｂ→入出力単位Ｃの順に読み込み／実行していくが、入出力単位Ｃの途中で分岐命令がある。そこで、入出力単位Ｃの前方リンクデータに基づき、入出力単位Ｂを読み込む。図３の例では、入出力単位Ｂ中に目指すラベルの行があるので、そこから実行する。以後はケース（１）と同じである。
【００３３】
なお、もし分岐命令先をサーチするために最初に読み込んだ入出力単位中に目指すラベルの行が無ければ、分岐命令を含む入出力単位の後方リンクデータに基づき、入出力単位を読み込む。図３の例で言えば、仮に入出力単位Ｂ中に目指すラベルの行がなければ、次に入出力単位Ｄを読み込む。更にもし、目指すラベルの行がなければ、次に入出力単位Ａを読み込む。このように、ＣＮＣが分岐先の入出力単位を直接知ることができなくても、近傍からサーチすることで高い確率で早期に分岐先の入出力単位を見つけて、実行できる。従来は加工プログラム全体が入出力単位だったため、このような手法が利用できず、効率が悪かったと言うことができる。
【００３４】
最後に、ＣＮＣ上での加工プログラムの編集について、図６〜図８を参照して説明する。前出の図４、図５に示したように、記憶機器又は記憶媒体上の加工プログラムを構成する入出力単位の任意のものをＣＮＣに入力して編集を施し、編集後に記憶機器又は記憶媒体に出力する（戻す）ことができる。編集は、実際上、次の３つのケースに分けて考えることができる。複雑な編集も、これらの組合わせで表現できる。
【００３５】
ケース（ｉ）＝１入出力単位内での編集；図６に示したように、その入出力単位に帰属するプログラムブロックに含まれるプログラムの一部変更が行なわれるケースである。他の入出力単位との前方／後方リンク関係には何等影響がないので、そのプログラムの一部変更ので編集は終わる。例えば、入出力単位Ｍ（図２参照）についてこのような編集を行なう場合には、操作キーを使って入出力単位Ｍだけを記憶機器又は記憶媒体からＣＮＣに取り込み、編集を行なった後、記憶機器又は記憶媒体へ出力すれば良い。なお、この際、記憶機器又は記憶媒体に残っていた編集前の入出力単位Ｍは消去されるが、場合によっては別途、編集履歴として記憶されても良い。
【００３６】
ケース（ｉｉ）＝１入出力単位を越える編集（入出力単位の削除）；図７に示したように、その入出力単位に帰属するプログラムブロックに含まれるプログラムがすべて不要になったケースである。この場合、当該入出力単位の削除の他、その入出力単位の前方リンクの指定する入出力単位の後方リンクのデータの修正と、その入出力単位の後方リンクの指定する入出力単位の前方リンクのデータの修正が必要となる。
【００３７】
例えば、図３の例で入出力単位Ｃを削除した場合には、入出力単位Ｂの後方リンクのデータをＣからＤに修正し、入出力単位Ｄの前方リンクのデータをＣからＢに修正すれば良い。このような編集を行なう場合には、操作キーを使って入出力単位Ｂ、Ｃ、Ｄを記憶機器又は記憶媒体からＣＮＣに取り込み、編集を行なった後、記憶機器又は記憶媒体へ出力すれば良い。なお、この際、記憶機器又は記憶媒体に残っていた編集前の入出力単位Ｂ、Ｃ、Ｄは消去されるが、場合によっては別途、編集履歴として記憶されても良い。
【００３８】
ケース（ｉｉｉ）＝１入出力単位を越える編集（入出力単位の追加）；図８に示したように、新たに入出力単位を追加するケースである。この場合、当該追加入出力単位のデータの追加の他、その入出力単位の前方リンクの指定する入出力単位の後方リンクのデータの修正と、その入出力単位の後方リンクの指定する入出力単位の前方リンクのデータの修正が必要となる。
【００３９】
例えば、図３の例で入出力単位Ｃと入出力単位Ｄの間に入出力単位ＣＣを追加したい場合には、入出力単位Ｃの後方リンクのデータをＤからＣＣに修正し、入出力単位Ｄの前方リンクのデータをＣからＣＣに修正する。このような編集を行なう場合には、操作キーを使って入出力単位Ｃ、Ｄを記憶機器又は記憶媒体からＣＮＣに取り込み、編集を行なって入出力単位ＣＣを追加作成した後、記憶機器又は記憶媒体へ出力すれば良い。また、入出力単位ＣＣの前方リンクはＣ、後方リンクはＤとする。なお、この際、記憶機器又は記憶媒体に残っていた編集前の入出力単位Ｃ、Ｄは消去されるが、場合によっては別途、編集履歴として記憶されても良い。
【００４０】
【発明の効果】
以上説明したように、本発明により、記憶機器又は記憶媒体からＣＮＣへの入力あるいはＣＮＣからの出力が入出力単位毎に行えるようになったため、加工プログラム全体を一括して入出力する場合より、必要なデータの授受、編集等が短時間で行えるようになった。特に、加工プログラムを読み込みながら運転する場合に、プログラム中に分岐命令があっても、分岐先の特定を高速に行うことができる。そのため、プログラムの読み込みが高速になり、プログラムの読み込み待ちで加工時間が長くなっていたケースでは、加工時間が短くなる。
【００４１】
更に、記憶機器又は記憶媒体上のプログラムを編集する場合には、編集を要する入出力単位だけをＣＮＣに入力して、編集後に出力すれば良いため、編集に要する時間が短縮できる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る数値制御装置（ＣＮＣ）と記憶機器又は記憶媒体（ここではフロッピー（登録商標）ディスクドライブ、メモリカード）を含む周辺構成をブロック図で示したものである。
【図２】１つの入出力単位のデータ構成について説明する図である。
【図３】先頭から４番目までの入出力単位Ａ〜Ｄについて説明する図である。
【図４】外部機器からＣＮＣに入出力単位毎にデータを読み込む様子を説明する図である。
【図５】外部機器にＣＮＣから入出力単位毎にデータを出力する様子を説明する図である。
【図６】１入出力単位内での編集について説明する図である。
【図７】１入出力単位を越えての編集（入出力単位の削除）について説明する図である。
【図８】１入出力単位を越えての編集（入出力単位の追加）について説明する図である
【図１】
2004078476.tif 000003
【図２】
2004078476.tif 000004
【図３】
2004078476.tif 000005
【図４】
2004078476.tif 000006
【図５】
2004078476.tif 000007
【図６】
2004078476.tif 000008
【図７】
2004078476.tif 000009
【図８】
2004078476.tif 000010