(57)【特許請求の範囲】
【請求項１】
工作機械をＮＣ制御するＮＣ装置および外部入出力機器と、プログラマブルコントローラとの間で、プログラマブルコントローラ内部に設けたワークエリアを介して各種データのやり取りを行うプログラマブルコントローラのデータ管理方式であって、
前記ＮＣ装置に、多数のパラメータを含む形式で記述した加工プログラムを記憶し、その加工プログラムにプログラマブルコントローラから加工データを与え、各種の加工パターンで工作機械をＮＣ制御し、
プログラマブルコントローラのメモリエリア内にヘッダ部とデータ部とから成るテーブルデータ部と、テーブルデータ部のデータを操作するための制御プログラムを記憶したプログラムメモリ部とを設け、制御プログラムは、ヘッダ部のデータを処理するテーブルコントロールプログラムと、テーブルコントロールプログラムでの処理が終わって、プログラマブルコントローラの通常のスキャン中に実行されてヘッダ部、データ部のデータの移動操作を行うテーブル監視プログラムとを備え、
ヘッダ部には、データ部に記録されているデータ名単位での加工データの数と、加工データに対するデータ名と、各データ名毎に、前記加工プログラムのパラメータに与えるデータ名単位の加工データのデータサイズとが、対になって連続して順に記録される一方、
データ部には、前記ヘッダ部のデータ名と対応した加工データが連続して前詰め状態で順に記録され、
外部入出力機器からの指令を受けてデータ部のデータを削除する際、テーブルコントロールプログラムによって、データ部のデータを操作することなく削除したいデータ部と対応するヘッダ部のデータ名を削除認識データとすると直ちに当該処理完了通知を出力し、その後、
テーブル監視プログラムによって、通常動作におけるプログラマブルコントローラの１スキャン（Ｓ２）につき、そのスキャンの途中のタイミングで、ヘッダ部に削除認識データが記録されていないかチェックし（Ｓ３）、削除認識データがなければ、１スキャンが終わり（Ｓ９）、次のスキャンを開始し（Ｓ１）、削除認識データがあれば、そのデータのヘッダ部における位置から判断してヘッダ部、データ部の前詰め処理が必要かどうか判断し（Ｓ４）、前詰め処理が必要な場合、ヘッダ部に記録されている削除認識データで先頭に位置するデータと、そのデータの直後となる位置にあるヘッダ部の有効データとを入れ替え（Ｓ７）、その入れ替えに対応して入れ替えた有効データと対応するデータ部のデータをコピーして削除認識データと対応していたデータ部位置にペーストし（Ｓ８）、ヘッダ部およびデータ部データを順に前詰め処理することを特徴とするプログラマブルコントローラのデータ管理方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プログラマブルコントローラ（ＰＬＣ）内の、加工プログラムに与える加工データ等の更新、削除などの編集作業を効率よく行うデータ管理方法に関する。
【０００２】
【従来の技術】
たとえば、加工物に所定の加工を自動的に行うことのできる工作機械において、工作機械を制御するＮＣ装置にパラメータを含む形式で記述された加工プログラムを記憶させておき、ＮＣ装置に接続されたＰＬＣから、前記加工プログラムのパラメータに、加工寸法や切削条件を具体的に加工データとして与えることで、各種の加工パターンを実現するようにしたものが知られている（特開平９−１６２３６）。そして、ＰＬＣ内部のメモリエリアにこのようなデータを記憶させておいた場合、通常ＰＬＣの外部から削除指令がＰＬＣに伝えられると、メモリ内で不要とされたデータを削除し、有効なデータを前詰めする操作が行われる。
【０００３】
【発明が解決しようとする課題】
データが極めて多い場合、例えば、数百の加工パターンの為に、数万バイトのデータがＰＬＣに記録されているときなどにおいては、高速処理できるＰＬＣであっても、前記数万バイトの前詰め移動処理の為には、かなりの処理時間を要して動作が重くなる。その間、作業者は完了待ちとなり、操作性がよくない問題がある。この発明は、ＰＬＣ内のデータを削除する場合、作業者の完了待ちを極力短くすることのできるデータ管理方法を提供することを目的とする。また、本願では、データの削除に伴う前詰め処理が、ＰＬＣの動作を阻害しないような管理方法を提供することにある。
【０００４】
【課題を解決するための手段】
上記課題解決のため、本願では、工作機械をＮＣ制御するＮＣ装置および外部入出力機器と、プログラマブルコントローラとの間で、プログラマブルコントローラ内部に設けたワークエリアを介して各種データのやり取りを行うプログラマブルコントローラのデータ管理方式であって、前記ＮＣ装置に、多数のパラメータを含む形式で記述した加工プログラムを記憶し、その加工プログラムにプログラマブルコントローラから加工データを与え、各種の加工パターンで工作機械をＮＣ制御し、プログラマブルコントローラのメモリエリア内にヘッダ部とデータ部とから成るテーブルデータ部と、テーブルデータ部のデータを操作するための制御プログラムを記憶したプログラムメモリ部とを設け、制御プログラムは、ヘッダ部のデータを処理するテーブルコントロールプログラムと、テーブルコントロールプログラムでの処理が終わって、プログラマブルコントローラの通常のスキャン中に実行されてヘッダ部、データ部のデータの移動操作を行うテーブル監視プログラムとを備え、ヘッダ部には、データ部に記録されているデータ名単位での加工データの数と、加工データに対するデータ名と、各データ名毎に、前記加工プログラムのパラメータに与えるデータ名単位の加工データのデータサイズとが、対になって連続して順に記録される一方、
データ部には、前記ヘッダ部のデータ名と対応した加工データが連続して前詰め状態で順に記録され、外部入出力機器からの指令を受けてデータ部のデータを削除する際、テーブルコントロールプログラムによって、データ部のデータを操作することなく削除したいデータ部と対応するヘッダ部のデータ名を削除認識データとすると直ちに当該処理完了通知を出力し、その後、テーブル監視プログラムによって、通常動作におけるプログラマブルコントローラの１スキャン（Ｓ２）につき、そのスキャンの途中のタイミングで、ヘッダ部に削除認識データが記録されていないかチェックし（Ｓ３）、削除記録データがなければ、１スキャンが終わり（Ｓ９）、次のスキャンを開始し（Ｓ１）、削除認識データがあれば、そのデータのヘッダ部における位置から判断してヘッダ部、データ部の前詰め処理が必要かどうか判断し（Ｓ４）、前詰め処理が必要な場合、ヘッダ部に記録されている削除認識データで先頭に位置するデータと、そのデータの直後となる位置にあるヘッダ部の有効データとを入れ替え（Ｓ７）、その入れ替えに対応して入れ替えた有効データと対応するデータ部のデータをコピーして削除認識データと対応していたデータ部位置にペーストし（Ｓ８）、ヘッダ部およびデータ部データを順に前詰め処理することを特徴とする（請求項１）。これによれば、データ部データの操作を待つことなく、削除手続完了となるので、見かけ上、作業者の完了待ちはなくなる。
また、多数の削除認識データがあった場合、その多数の削除認識データとこれに対応するデータ部データを並べ変えることを一度に行わず、１スキャンの間に１ヘッダ部データ／１データ部データを処理するので、１スキャンの間の並べ替えに要する処理時間は短く、１スキャンに要する時間を圧迫しない。さらに、多数の削除認識データが並んでいる（対応してデータ部データも多数の削除されるべきデータが並んでいる）ような場合でも、ヘッダ部データとデータ部データとにおいて、夫々２つのデータ部分が入れ替えられるだけの操作となるので、そのような操作は１スキャンの時間を圧迫せずに行い得る。
【０００７】
【発明の実施の形態】
図1において、プログラマブルコンピュータ（ＰＬＣと記す）は、所定のメモリエリアに、ヘッダ部１とデータ部２とから成るテーブルデータ部３と、テーブルデータ部３のデータを操作するための制御プログラムを記憶したプログラムメモリ部４とを備えている。制御プログラムは、後述のテーブルコントロールプログラムＰ１と、テーブル監視プログラムＰ２とを含んでいる。ＰＬＣには、例えばタッチパネルといったような表示入力手段５、データなどのメンテナンス用のパーソナルコンピュータ６、工作機械７をＮＣ制御するＮＣ装置８が接続してある。これらの外部装置５，６，８とＰＬＣとは、ＰＬＣ内部に設けたワークエリア９を介して、ＣＰＵ１０の制御に従って、各種データのやり取りを行うようになっている。
【０００８】
前記ＮＣ装置８には、多数のパラメータを含む形式で記述された加工プログラムが記憶してあり、その加工プログラムに、ＰＬＣから具体的な値が与えられることで、各種の加工パターンで工作機械７をＮＣ制御するようになっている。
テーブルデータ部３において、ヘッダ部１には、データ部２に記録されている図番単位の加工データに対するデータ名（ここでは図番１、図番２…とする）と、それらの各図番毎に、前記ＮＣ装置８の加工プログラムのパラメータに与える、データ部２に登録されている具体的な図番単位の加工データ１、加工データ２…のデータサイズとが、対になって連続して順に記録されている。また、ヘッダ部１には、データ部２に記録されている図番単位での有効データの数（要するに、いくつの図番の加工データが記録されているか）が”登録数”として記録されている。
データ部２には、前記ヘッダ部１のデータ名（図番）と対応した加工データが加工データ１、加工データ２…と連続して前詰め状態で順に記録されている。
【０００９】
次に、制御プログラムを図２、３のフローチャートに基づき説明する。テーブルコントロールプログラムＰ１では、前記した外部入出力機器からのデータ書込、削除、初期化、読出指令があると、指令の内容に応じて、以下のようにして主にヘッダ部１のデータを処理する。
（１）データ読出処理：図番を指定してそれに対応する加工データをデータ部から読み出す処理である。ヘッダ部１の図番データを検索して、該当する図番を発見したら、対応するデータ部２の加工データを読み出して、ワークエリア９にセットする。
（２）データ書込処理：ワークエリア９に外部入出力機器からセットされた図番と、それに対応する加工データをデータ部２に書き込む処理である。データ更新とデータ新規登録とがある。ヘッダ部１の図番データを検索して、該当する図番を発見したらデータの更新であり、そのヘッダ部１の図番データを削除認識データＥとし、加工データは、データ部２の末尾に記録し、また、ヘッダ部１の末尾に、前記図番と加工データのサイズを記録する。一方、ヘッダ部１の図番データの検索結果で該当図番がなかったら新規登録であり、この場合には、加工データをデータ部２の末尾に記録し、また、ヘッダ部１の末尾に、その図番と加工データのデータサイズを記録する。
（３）データ削除処理：図番を指定してそれに対応する加工データをデータ部から削除する処理である。ワークエリア９を介して与えられた図番に基づきヘッダ部１の図番データを検索して、該当する図番を発見したら、そのヘッダ部１の図番データを削除認識データＥとする。
（４）データ初期化処理：データ部１の加工データをすべて初期化する処理である。この処理では、ヘッダ部１に登録されている”登録数”を”ゼロ”とし、すべてのデータ部データが無効であるとする。
そして、これらの各処理（１）〜（４）が終わると、テーブルコントロールプログラムＰ１では、データ部２の加工データを操作することなく、直ちに”処理完了通知”が出力されるようになっている。
【００１０】
ここまでの操作について、更に具体的に説明する。図４（１）では、５つの図番１〜５がヘッダ部１の図番データとして記録され、図番１に対応する加工データ”１１１”、図番２に対応する加工データ”２２２２”…が前詰めでデータ部２に記録されている状態を示す。いま、図番３のデータを削除しようとして、作業者が入力表示手段５から”図番３の削除処理”を指令したとする。すると、前述のテーブルコントロールプログラムＰ１に従い、ヘッダ部１の該当の図番”３”を、削除認識データ”Ｅ”とし（図４（２））、直ちに処理完了通知を作業者に通知する。この処理では、データ部データは全く操作されていない。そのため、見かけ上、作業者は、”図番３の削除処理”を指令すると殆ど同時に処理完了通知を受けとることができ、処理完了待ちがない。
同様のことは、データ書込処理でも行われる。図５では、図番３の加工データを更新している。この場合、前述のテーブルコントロールプログラムＰ１の書込処理が行われ、作業者が、図番３と更新加工データを入力すると、ヘッダ部１の図番３を現すデータ”３”を削除認識データ”Ｅ”に書き換え（図５（２））、更新加工データ”３’３’”をデータ部２の末尾に記録すると共に、ヘッダ部１の図番データの末尾に更新すべき図番”３”とそれに対応する加工データサイズとを記録し、それ以上、データ部２の操作は行わない。
【００１１】
複数のデータを削除する場合も同様である。図６では、３つの図番１、３，４のデータを削除する場合である。図６（１）は、削除開始前の状態を示し、図６（２）は、最初の削除処理指令が図番３に対して行われた状態を示し、図６（３）は、その後、更に図番１，４に対する削除処理指令が行われた状態を示している。１つの図番に対してのヘッダ部データの削除認識データＥへの書き換えが行われる度、その図番データの削除完了通知が出されることは、前述の通りであり、テーブルコントロールプログラムＰ１では、それ以上のデータ部データの処理は行わない。
【００１２】
次に、テーブル監視プログラムＰ２を説明する。テーブルコントロールプログラムＰ１においては、主に、ヘッダ部１のデータを操作しており、特に、データ部データの削除を伴うテーブルデータ３のデータ位置の前詰め処理については、テーブルコントロールプログラムＰ１では全く行っていない。テーブル監視プログラムＰ２は、ヘッダ部１、データ部２のデータの移動操作を行うもので、テーブルコントロールプログラムＰ１での処理が終わって、ＰＬＣが通常のスキャン中に実行される。
即ち、図３のステップＳ１において、ＰＬＣが１スキャンを開始し、テーブル監視動作以外の他のスキャンを実施し（ステップＳ２）、そのスキャンの途中のタイミングで、ヘッダ部１に削除認識データＥが記録されていないかチェックする（ステップＳ３）。削除記録データＥがなければ、ステップＰ９で１スキャンが終わり、ステップ１へ戻る。削除認識データＥがあれば、そのデータＥのヘッダ部１における位置から判断してヘッダ部１、データ部２の前詰め処理が必要かどうか判断する（ステップＳ４）。前詰め処理が必要な場合、ステップＳ７でヘッダ部１に記録されている削除認識データＥで先頭に位置するデータと、そのデータＥの直後となる位置にあるヘッダ部１の有効データとを入れ替え、ステップＳ８でヘッダ部１での前記データの入れ替えに対応してデータ部データを並び替える。
【００１３】
具体的に説明すると、図４（２）の状態でＰＬＣがスキャンを開始すると、通常スキャン動作の中でヘッダ部１の図番データ中に削除認識データＥがあり、しかも、その削除認識データＥがヘッダ部１のデータ並びの途中にあるので、前詰め処理要と判断して、ステップＳ７において、削除認識データＥの先頭のもの（ここでは１つしかないから、それ自体）とその直後（この場合、図番４）とのデータ位置を入れ替え、これに伴って、図番４の加工データ（データ部データ）”４４４４４”をコピーして削除すべき加工データ”３３３”の位置へ前詰め状態にペースト（貼り付け）する（（図４（３））。そして、１スキャンを終え、次の１スキャンに入る。最初の１スキャンと同じ判断で、ステップＳ４、７，８と進み、ヘッダ部１の図番データの前から４つ目にあった削除認識データＥと直後の有効データ（図番５）とのデータ位置を入れ替え、データ部２では図番５の加工データ”５５５５５５”をコピーして加工データ”４４４４”の後ろへペーストして前に詰める（図４（４））。そして、また次の１スキャンに入る。すると、ヘッダ部１の削除認識データＥがヘッダ部１の並びの末尾まで到達し、それ以外の削除認識データＥがヘッダ部１にないので、データの並べ替え処理は不要と判断し、削除認識データＥを削除完了データＤに置き換え、”登録数”を１減じ、有効な加工データ数を”４”とする。こうして、ヘッダ部１、データ部２のデータがそれぞれ前詰め処理される。これ以後、スキャンが行われても、データの前詰め処理は行われない。
【００１４】
データ更新でも同様である。図５（２）の状態で、ＰＬＣは通常スキャン動作を始め、１スキャンの間にヘッダ部１の１つの削除認識データＥを直後の有効データと入れ替え、入れ替えに伴って、データ部２の対応する加工データをコピーして削除認識データＥに対応していたデータ部位置にペーストする、という作業を繰り返し、最後に削除認識データＥを削除完了データＤに置換して、ヘッダ部１、データ部２の各データ前詰め作業が終わる。
【００１５】
更に、図６のような複数の削除認識データＥがヘッダ部１に存在する場合を説明する。図６（３）の状態で、ＰＬＣが通常スキャンを始める。テーブル監視プログラムＰ２により、ヘッダ部１の図番１に対応して書き換えられている削除認識データＥとその直後のヘッダ部１での有効データ（図番２）とが入れ替えられ、対応してデータ部２の図番２の加工データがコピーされ図番１の加工データ位置にペーストされる（図６（４））。この状態では、削除認識データＥが、ヘッダ部１の図番データの全データ並びの中間に連続している。
次の１スキャンのときに、このヘッダ部１の図番データにある複数の削除認識データＥの先頭のデータと、その先頭のデータＥに対して直後となる（複数並んだデータＥの最後のものに続く）有効データ（図番５）との位置が入れ替えられ、図番５の加工データ（データ部データ）”５５５５５５５”がコピーされ、入れ替えられた削除認識データと対応するデータ部位置にペーストされる（図６（５））。こうして前詰め処理が終わると、以後の１スキャンの間に、前詰め処理は不要と判断され、ヘッダ部１の削除認識データＥを、データ並びの後ろから順に１つずつ削除完了データＤに置き換えられ、１つのデータの置き換えの都度、加工データ登録数も１つずつ減じられ、すべての削除認識データＥが削除完了データＤに書き変えられて、データ部データの操作が終わる（図６（６）〜（８））。
【００１６】
図６の実施形態から理解されるように、複数のデータ削除処理が要求され、データ配列の前詰め処理を行う途中で、複数の削除認識データＥが連続して並んだような場合、その連続した削除認識データＥ、それらに対応する複数の加工データをすべて移動させて有効加工データを前詰め移動させるのではなく、ヘッダ部１では、削除認識データＥの先頭の位置とその削除認識データＥに対して直後となる有効データとを単にスワップし、これに対応してデータ部２の有効加工データをコピーして、削除認識データＥに対応していたデータ部位置へペーストするだけの作業であり、膨大なデータを削除する場合であっても、１スキャンの間に動かすデータサイズは小さなものとなり、ＰＬＣのスキャン動作を圧迫することはない。このような操作で前詰め処理を行っても、ヘッダ部１の図番情報とそれに対応するデータ部２の加工データとのデータ位置のつじつまが合うことは、これまでの説明から容易に理解されるであろう。
【００１７】
【発明の効果】
以上のように本願発明では、データ部データの操作を待つことなく、削除手続完了となるので、見かけ上、作業者の完了待ちはなくなり、操作性がよい。また、１スキャンの間に１ヘッダ部データ／１データ部データを処理するので、１スキャンの間の並べ替えに要する処理時間は短く、１スキャンに要する時間を圧迫しない。また、本願では、多数の削除認識データが並んでいる（対応してデータ部データも多数の削除されるべきデータが並んでいる）ような場合でも、ヘッダ部データとデータ部データとにおいて、夫々２つのデータ部分が入れ替えられるだけの操作となり、ＰＬＣの１スキャン時間を圧迫しない。
また、本願では、データの更新（書き換え）時にも、データ部データが前詰め処理されることなく更新完了通知が出されるので、作業者の完了待ちがなくなる利点がある。
【図面の簡単な説明】
【図１】本願発明の全体を示すブロック図である。
【図２】テーブルコントロールプログラムのフローチャートである。
【図３】テーブル監視プログラムのフローチャートである。
【図４】削除認識データが１つの場合の例である。
【図５】データ書込処理の場合の例である。
【図６】削除認識データが複数ある場合の例である。
【符号の説明】
１  ヘッダ部
２  データ部
３  テーブルデータ部
Ｐ１  テーブルコントロールプログラム
Ｐ２  テーブル監視プログラム
ＰＬＣ  プログラマブルコントローラ
【図１】
0004406805.tif 000002
【図２】
0004406805.tif 000003
【図３】
0004406805.tif 000004
【図４】
0004406805.tif 000005
【図５】
0004406805.tif 000006
【図６】
0004406805.tif 000007