JP2980047B2 - 数値制御装置 - Google Patents

数値制御装置

Info

Publication number
JP2980047B2
JP2980047B2 JP9032357A JP3235797A JP2980047B2 JP 2980047 B2 JP2980047 B2 JP 2980047B2 JP 9032357 A JP9032357 A JP 9032357A JP 3235797 A JP3235797 A JP 3235797A JP 2980047 B2 JP2980047 B2 JP 2980047B2
Authority
JP
Japan
Prior art keywords
schedule
block
measurement
program
skip
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.)
Expired - Lifetime
Application number
JP9032357A
Other languages
English (en)
Other versions
JPH09179622A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9032357A priority Critical patent/JP2980047B2/ja
Publication of JPH09179622A publication Critical patent/JPH09179622A/ja
Application granted granted Critical
Publication of JP2980047B2 publication Critical patent/JP2980047B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、NC工作機械の
スケジュール運転制御を行う数値制御装置に関するもの
である。なお、スケジュール運転とは、加工プログラム
(工作機械に加工軌跡や加工条件等の指令を行うための
プログラム)の実行順序・実行回数、運転開始時刻等の
情報を登録したデータを読み出し、そのデータに従って
工作機械を運転すること、または加工プログラム及び計
測プログラム(工作機械に計測軌跡や計測条件等の指令
を行うためのプログラム)の実行順序・実行回数、運転
開始時刻等の情報を登録したデータを読み出し、そのデ
ータに従って工作機械を運転することを指す。
【0002】
【従来の技術】図16は特開平1−200409号公報
に示されたスケジュール運転方法を実施するための数値
制御装置のハードウェアの構成図である。図17は該数
値制御装置の加工プログラムのファイル画面の例であ
る。図18は該数値制御装置の加工スケジュールデータ
画面の例である。
【0003】以下、この従来技術を図面に基づいて説明
する。最初にハードウェアの構成例について述べる。図
16に従来の数値制御装置のハードウェアの構成図を示
す。図において、111は全体を制御するプロセッサ、
112はコントロールプログラムが記憶されているRO
M、113は各種のデータが格納されるRAM、114
は各種のデータ、パラメータ等が記憶されている不揮発
性メモリであり、バブルメモリ等が使用される。114
aはスケジュール運転の加工プログラムの実行順序及び
実行回数を決める加工スケジュールデーータである。1
15はテープリーダであり、紙テープから加工プログラ
ム等を読み込むのに使用される。116は表示制御回路
であり、ディジタルな信号を表示信号に変換する。11
6aは表示装置であり、CRT、液晶表示装置等が使用
される。117はキーボードであり、各種のデータを入
力するのに使用される。118はサーボモータを制御す
るための位置制御回路、119はサーボモータの速度制
御を行うためのサーボアンプ、120はサーボモータ、
121は速度帰還のためのタコジェネレータ、122は
位置検出器であり、パルスコーダ、光学スケール等が使
用される。これらの要素は軸数分だけ必要であるが、こ
こでは1軸分のみ記載してある。123は外部とのディ
ジタル信号の授受を行う入出力回路であり、124は各
軸をディジタルに移動させる手動パルス発生器である。
125はインタフェース回路であり、外部との信号の授
受を行う。130は外部記憶装置であり、ハードディス
ク・ユニット、フロッピーディスク・ユニット、あるい
はICカードを読み、書きするカードリーダ・ユニット
等が使用される。またこの外部記憶装置130は、通信
回線131を介してインタフェース回路125に結合さ
れている。ここで、複数の加工プログラムを外部記憶装
置130に格納し、これらの加工プログラムの実行順序
と実行回数を不揮発性のメモリ114に加工スケジュー
ルデータ114aとして設定、記憶し、このスケジュー
ルデータ114aに従ってワークの加工を実行すること
により、複雑なワークの多種少量生産を可能にする。
【0004】図17に加工プログラムのファイル画面の
例を示す。図において、140はファイル・ディレクト
リ画面であり、141はファイル・ディレクトリ画面を
示す表示であり、142はファイル番号の欄、143は
ファイル名称の欄、144は各ファイルのテープ長を表
している。ここで、画面のカーソルをファイル番号00
00にセットして、キー「SELECT」145を押す
と、画面は加工スケジュールデータ画面に移る。
【0005】図18に加工スケジュールデータ画面の例
を示す。図において、150は加工スケジュールデータ
画面であり、151は加工スケジュールデータ画面を示
す表示部、152は実行順序を示す欄、153は実行す
べきプログラム・ファイルを示す欄である。154はプ
ログラム・ファイルの実行回数を示す欄であり、これは
加工すべきワークの数を意味する。155は実行中のプ
ログラム・ファイルの数を示す欄であり、実際に加工し
たワークの数を意味する。最初に、この加工スケジュー
ルデータ画面150を選択して、実行順序152、プロ
グラム・ファイル153、実行回数154のデータを入
力して、加工スケジュールデータを完成する。この加工
スケジュールデータは図16の不揮発性メモリ114に
加工スケジュールデータ114aとして格納される。こ
の加工スケジュールデータを選択して実行すれば、複数
のワークを所定の数量ごとに加工することができる。ま
た、このような加工スケジュールデータを複数個作成し
て、不揮発性メモリ114に登録しておくこともでき
る。
【0006】
【発明が解決しようとする課題】従来の数値制御装置は
以上のように構成されていたので、加工スケジュールデ
ータを順番に実行するのみであり、以下に述べる実際の
加工環境のような複雑な条件に適合するスケジュール運
転を実現できないという問題点があった。例えば、実際
の長時間無人加工においては、工具の摩耗や機会の発
熱、消耗部品の摩耗、加工プログラムエラーなどのアラ
ームが発生することがあるが、従来の数値制御装置のス
ケジュール運転機能においては、アラーム発生時の加工
スケジュール変更機能がないので、アラーム発生時点で
運転を停止してしまうことになる。従って、1夜で10
0個のワークを加工する加工スケジュールを指令して
も、10個目のワークでアラームが発生すれば、残りの
90個は未加工のまま朝まで放置されてしまうという問
題があった。
【0007】(1)例えば、実際の長時間無人運転にお
いては、機械の熱変形や工具の摩耗などの要因により、
加工数が増えるにつれて、加工精度が悪化していく傾向
にある。これを防ぐために、数ワークを加工する毎に1
回計測プログラムを実行し、加工データに補正を加える
ことを行いたい。従来の数値制御装置のスケジュール運
転機能においては、計測プログラムを加工プログラムと
区別して登録することができないので、計測プログラム
を加工プログラムと同列に登録していた。従って、1ワ
ークの加工毎に計測プログラムが呼出されてしまい、加
工を行なわない無駄時間が増え、生産性を低下させてし
まうという問題があった。
【0008】(2)また例えば、スケジュール運転を行
うある工作機械が、後工程で部品A1個に対し部品B2
個が組付けられる、部品Aと部品Bの2種類の部品加工
を行う場合がある。この様な場合、この工作機械の加工
工程と組付けを行う後工程との間の中間在庫を減らすた
めに、部品A1個と部品B2個をセットで加工したい。
1ワーク上に部品A1個と部品B2個を搭載できない場
合、従来の数値制御装置のスケジュール運転機能におい
ては、部品Aを1つ部品Bを2つ部品Aを1つ部品Bを
2つ部品Aを1つ・・・と云う様に長大な加工スケジュ
ールデータを登録しなければならない。ところが、登録
できるスケジュールデータ数の制限により、現実的では
なかった。そこで、部品Aを100個、部品Bを200
個という形にまとめて登録することになるが、この場合
は、この工作機械の加工工程と組付けを行う後工程との
間に部品A100個の中間在庫が生じ、製造ライン全体
の生産効率を低下させてしまうという問題があった。
【0009】(3)また例えば、現在のところ段取りや
切粉処理作業が自動化されておらず、加工時にオペレー
タが必要な工場の生産性向上策を考えるとき、機械の暖
機運転は非生産時間であり、オペレータ出勤前の早朝な
どに行っておきたい。また、長時間連続加工を行うと、
発熱により加工精度が悪化する傾向にあるので、これを
防ぐため加工スケジュールの間に一定の機械冷却時間を
取りたい。ところが、上述した従来の数値制御装置のス
ケジュール運転機能においては、加工スケジュールに時
刻情報を持たせることができないので、望ましいスケジ
ュール運転が実現できないという問題があった。
【0010】(4)更に又、従来の加工スケジュールデ
ータの登録・表示機能は単独機能であるので、例えば、
加工スケジュールに登録されている加工プログラムの運
転中に工具破損が発生したため、次以降の加工プログラ
ムの工具番号を修正したい場合は、次以降の加工プログ
ラムの番号を全てメモし、編集画面にキー操作で遷移し
た後、メモを見ながら加工プログラムの番号を入力し
て、加工プログラムの修正を行う必要があった。従っ
て、修正すべき加工プログラムの番号ミスが発生し易い
という問題があった。
【0011】この発明は、上記のような問題点を解決す
るためになされたもので、スケジュール運転中にアラー
ムが発生しても、運転を停止することなく、アラームに
対応したスケジュール変更を行い、スケジュール運転を
続行することができ、しかもワーク加工の加工スケジュ
ールとは別に計測プログラムのスケジュールも行えるス
ケジュール運転機能を有し、最適な計測プログラム実行
のスケジュール運転ができる数値制御装置を得ることを
目的とする。
【0012】
【0013】
【0014】
【0015】
【課題を解決するための手段】第1の発明に係る数値制
御装置は、アラーム発生時にアラームの種類をチェック
し、スケジュールをアラームの種類に応じたスキップ先
にスキップさせるスケジュールスキップ手段と、上記
工スケジュールデータを記憶するメモリと、このメモリ
に記憶された加工スケジュールに対応して計測スケジュ
ールデータを記憶するメモリとを備える構成としたもの
である。
【0016】
【0017】
【0018】
【0019】
【0020】
【発明の実施の形態】
実施の形態1.以下、この発明の実施の形態1を図につ
いて説明する。図1において、1は数値制御装置に内蔵
されたマイクロプロセッサ(CPU)であり、ROM4
に書込まれている制御プログラムに基づいて指令を実行
し、時計LSI8から時刻を読み出したり、SRAM2
のデータを読み書きしたり、CRT/MDIユニット7
や機械操作ボード9の信号を入力して機械制御を行なっ
たり、サーボ制御ユニット5に指令を送り加工軌跡制御
を行なったり、CRT/MDIユニット7にデータを送
り表示したり、音声出力装置10に指令を送ることによ
り音声を発生させたり、通信ユニット11にデータを送
ることにより様々なデータを送出したり、通信回線12
やモデム13を通じて送られてきたデータを通信制御ユ
ニット11から受け取ることができるように構成されて
いる。
【0021】2はバッテリ3によってデータバックアッ
プされた読み書き可能なメモリ(SRAM)であり、加
工プログラムや加工スケジュールや計測スケジュールや
運転開始時刻などを記憶できる。また、データバックア
ップされているので数値制御装置本体の電源がオフされ
ている間もデータを保存しておくことができる。4はC
PU1の指令が書込まれたメモリ(ROM)である。5
はサーボ制御ユニットであり、CPU1から指令を受け
てモータ6を駆動する。
【0022】6は機械を動作させるためのモータであ
る。7は数値制御装置の操作を行なったり、情報を表示
するためのCRT/MDIユニットである。8は現在時
刻を読み出すことのできる時計LSIである。9は機械
操作ボードであり、作業者の操作に応じて自動起動やリ
セットなどの機械操作信号を発生する。
【0023】10は音声出力装置であり、CPU1から
の指令により音声を発生する。11は通信制御ユニット
であり、CPU1から送られてきたデータを通信手順に
基づいて通信回線12やモデム13に送出したり、通信
回線12やモデム13を通じて送られてきたデータをC
PU1に受け渡すことができる。12は通信回線であ
り、ホストコンピュータ等の通信装置と接続されてい
る。13はモデムであり、電話回線と通信制御ユニット
11の間に接続され、通信手順の双方向交換を行い、電
話回線と通じたデータの授受を可能にしている。14は
数値制御装置内の各ユニットを結合するデータバスであ
る。
【0024】図2は、本発明の実施の形態1における加
工スケジュールデータの1ブロックの構成と計測スケジ
ュールデータの1ブロックの構成例を示すテーブルであ
る。なお、この発明における加工スケジュールデータと
は、少なくとも加工プログラムの実行に係る情報(実行
順序、実行回数、運転開始時刻等)を登録したデータを
指す。
【0025】また、計測スケジュールデータとは、計測
プログラムが運転されるべき順序等を加工プログラムの
スケジュールに関連づけた情報を登録したデータを指
す。図において、21は加工スケジュールデータの1ブ
ロックであり、22は計測スケジュールデータの1ブロ
ックである。これらデータはSRAM2に記憶保存され
る。加工スケジュールデータの1ブロックの構造につい
て説明する。nameはスケジュール要素の名称であ
り、部品名やプログラム番号が設定される。例では「部
品A」という部品名が設定されている。numbは加工
のくり返し数である。例では2が設定されており、部品
Aが2個加工されるスケジュールである。cnumbは
加工くり返し済数である。例では1となっており、部品
Aが1個加工済みである。
【0026】timeは時間情報であり、t−type
は時間情報のタイプを表す。t−typeが「ABS」
であれば、timeは絶対時刻であり、「INC」であ
れば、timeは前スケジュール要素からの増分時間で
ある。例では、t−typeが「ABS」であるので、
このスケジュールは18時に運転されることを表してい
る。skipはアラーム発生時にスキップする飛び先を
表している。skipが、「0」ならばスキップしな
い。「NEXT」ならば次の加工プログラム、「TOO
L」ならば次の工具交換指令、「WORK」ならば次の
ワーク交換指令、「PALETTE」ならば次のパレッ
ト交換指令、「CONDITON」ならば条件により指
定されたスキップ先、「CLASS」ならば指定された
階層で最も近い将来にスケジュールされたプログラムへ
スキップする。例では「NEXT」が設定されている。
【0027】classはskipが「CLASS」の
ときのスキップ先の階層を指定する。classが0で
あれば同じ階層、1であれば1つ上の階層、−1であれ
ば1つ下の階層を意味する。例ではskipが「cla
ss」ではないので、classは無意味である。su
bは、1つ下の階層のスケジュールのブロックを示すポ
インタである。下の階層がない場合は、subは0であ
る。例では、sdata10というブロックが下の階層
にあることを示している。mesは、計測スケジュール
のブロックを示すポインタである。計測スケジュールの
ブロックがない場合は、mesは0である。例では、m
data10という計測スケジュールのブロックがある
ことを示している。
【0028】nextは、次に運転されるスケジュール
のブロックを示すポインタである。次に運転されるスケ
ジュールがない場合(最終ブロックである場合)は、n
extは0である。例では、sdata2というスケジ
ュールブロックが次に運転されることを示している。次
に、計測スケジュールデータの1ブロックの構造につい
て説明する。nameは計測プログラムの名称であり、
例では「O9000」が設定されている。
【0029】numbはこの計測スケジュールブロック
の親ブロック(この例ではsdata1)が何回運転さ
れる毎に1回計測プログラムが運転されるかを設定す
る。例では5が設定されており、部品Aが5個加工され
る毎に1回「O9000」が実行されることを表してい
る。cnumbはこの計測スケジュールブロックの親ブ
ロック(この例ではsdata1)が運転されるごとに
カウントアップされるカウンタで、numb以上の値と
なったとき0クリアされるサイクリックカウンタであ
る。例では1であり、前回の計測後に部品Aが1個加工
されたことを示している。
【0030】図3は、本発明の実施の形態1における加
工スケジュールデータと計測スケジュールデータの登録
例を各ブロックの関連について説明したものである。図
において、sdata1は最初に運転される加工スケジ
ュールブロックである。sdata1はsdata10
とsdata11の2つのブロックから成り、さらに、
sdata11はsdata110とsdata111
の2つのブロックから成っている。従って、sdata
10とsdata110とsdata111のブロック
が複数回運転されてsdata1が終了する。mdat
a10はsdata1に接続された計測スケジュールブ
ロックで、図2で説明したようにsdata1が実行さ
れる毎にカウントアップされるカウンタcnumbを備
え、設定された回数毎に1回計測プログラムが実行され
る。sdata2はsdata1に接続された加工スケ
ジュールブロックであり、sdata1が終了後、次に
運転される。同様に、sdata3が接続され、最終の
sdatanまでつながる。
【0031】次に動作について説明する。図4(A)は
スケジュール運転制御のメイン関数の処理フロー図であ
る。この関数はスケジュール運転起動時に呼出される。 ステップ401:まず、スケジュールブロックのアドレ
スを示すポインタ局所変数(point)に先頭スケジ
ュールブロック(sdata1)のアドレス(&sda
ta1)を代入する。 ステップ402:次に、(point)を引数として、
図4(B)に示す「1スケジュールブロック運転」サブ
ルーチンを呼出す。このサブルーチンは次々にスケジュ
ールブロックをたどりながら、全てのスケジュールブロ
ックをスケジュール運転する。 ステップ403:スケジュール運転を終了する。
【0032】図4(B)は1スケジュールブロック運転
の処理フロー図である。このサブルーチンは親プログラ
ムから、運転すべきスケジュールブロックのアドレスを
示すポインタ局所変数(point)を引渡される。 ステップ410:まず、実行回数(cnumb)を0ク
リアする。 ステップ411:図5(A)に示す「スキップ完了チェ
ック」サブルーチンを呼出し、スケジュールスキップが
完了したかどうかを調べる。 ステップ412:スケジュールスキップ中であるかどう
かをチェックする。スキップ中フラグがオンであればス
キップ中である。スキップ中であれば、運転開始時刻を
待つ必要がないので、スキップ414へ分岐する。 ステップ413:図5(B)に示す「運転開始時刻待
ち」サブルーチンを呼び出し、運転開始時刻を過ぎるま
で待つ。 ステップ414:子ブロックがあるかどうかをチェック
する。加工スケジュールブロックのsubが0でなけれ
ば子ブロックがある。子ブロックがない場合は、ステッ
プ418へ分岐し加工プログラム運転を行う。子ブロッ
クがある場合は、ステップ415へ進み子ブロックの運
転を行う。 ステップ415:子ブロックを運転するので、階層スキ
ップをチェックするための階層をカウントする大域変数
(classno)をカウントアップする。
【0033】ステップ416:子ブロックを運転するた
めに、子ブロックのアドレスをsubから読み出し、
「1スケジュールブロック運転」サブルーチンの引数に
セットする。 ステップ417:「1スケジュールブロック運転」サブ
ルーチンを呼び出し、子ブロックとそれに続く全てのブ
ロックをスケジュール運転する。「1スケジュールブロ
ック運転」サブルーチンは、この様に、自己呼出しが可
能な再帰的関数であり、これによって、メモリサイズの
制限がなければ、論理的には無限に深い階層のブロック
のスケジュール運転が可能である。 ステップ418:子ブロックがない場合、ステップ41
4から分岐して来る、子ブロックがないので、このブロ
ックのnameに設定されたプログラムを運転する。そ
こで、まず「加工プログラム先頭サーチ」サブルーチン
を呼び出し、nameに設定されたプログラムの頭出し
を行う。 ステップ419:スキップ中であれば、スキップサーチ
を行うために、ステップ420へ進む。 ステップ420:図5(C)に示す「加工プログラムス
キップサーチ」サブルーチンを呼出し、頭出しされてい
る加工プログラムの中をサーチする。たとえば、工具交
換指令やパレット交換指令をサーチしスキップ中フラグ
をオフする。 ステップ421:スキップ中であるかどうかをチェック
し、スキップ中であれば、運転する必要がないのてステ
ップ428を分岐する。
【0034】ステップ422:「加工プログラム運転」
サブルーチンを呼び出し、加工プログラムの終りまで、
あるいは、アラーム停止するまで運転する。 ステップ423:運転がアラームで停止したかどうかを
チェックし正常に終了した場合は、次のスケジュールを
運転するために、ステップ427へ分岐し、現在時刻を
時計から読み出して、運転終了時刻を記憶するための大
域変数(timer)に代入する。その後、ステップ4
28へ分岐する。 ステップ424:運転がアラームで停止した場合は、図
6(A)に示す「スキップ条件フラグセット」サブルー
チンを呼出し、スキップの種類を表す大域変数スキップ
モードとスキップ中のフラグをセットする。 ステップ425:スケジュールの続きを続行するため
に、アラームをリセットする。 ステップ426:現在時刻を時計から読み出して、運転
終了時刻を記憶するための大域変数(timer)に代
入する。その後、ステップ419へ戻り、加工プログラ
ムスキップサーチを行い、サーチできた場合は続きを運
転する。サーチできなった場合は、スキップ中のままス
テップ428へ分岐し、次のブロックへ進む。
【0035】ステップ428:このスケジュールブロッ
クの実行回数(cnumb)をカウントアップする。 ステップ429:スキップ中であるかどうかをチェック
し、スキップ中であれば、計測を行う必要はないので、
ステップ431へ分岐する。 ステップ430:図6(B)に示す「計測ブロック呼び
出し」サブルーチンを呼び出し計測ブロックを運転す
る。 ステップ431:このスケジュールブロックの指定回数
(numb)と実行回数(cnumb)を比較し、指定
回数終了したがどうかをチェックする。指定回数終了し
ていない場合は、ステップ411へ分岐することによ
り、再びこのブロックを運転する。 ステップ432:指定回数終了した場合は、次ブロック
があるかどうかを調べる。nextが0である場合は、
次ブロックはない。次ブロックがある場合は、ステップ
433で、次ブロックのアドレスをnextから読み出
し、ブロックのアドレスを示すポインタ局所変数(po
int)に代入し、ステップ410へ分岐することによ
って次ブロックを運転する。 ステップ434:次ブロックがない場合は、親ブロック
へ戻るので、階層スキップをチェックするための階層を
カウントする大域変数(classno)をカウントダ
ウンする。 ステップ435:親の関数へリターンする。
【0036】図5(イ)はスキップ完了チェックの処理
フローである。 ステップ501:スキップ中でなければ、スキップ完了
であるので、ステップ507へ分岐しリターンする。 ステップ502:スキップモードが「NEXT」であれ
ば、1スケジュールブロック運転の先頭に来たことによ
り、次プログラムが運転されるはずであるので、ステッ
プ503でスキップ中フラグをオフし、スキップ完了と
する。 ステップ504:スキップモードが「CLASS」で、
かつステップ505でclassnoが0であれば、階
層スキップは完了したので、ステップ506でスキップ
中フラグをオフし、スキップ完了とする。 ステップ507:リターンする。
【0037】図5(B)は運転開始時刻待ちの処理フロ
ーである。 ステップ511:時刻が設定されているかどうかを調べ
る。スケジュールブロックのtimeが0でなければ時
刻が設定されている。時刻設定されていない場合は、開
始時刻待ちをする必要がないので、ステップ517へ分
岐しリターンする。 ステップ512:運転開始時刻を示す局所変数(sta
rt−time)にスケジュールブロックのtimeを
代入する。 ステップ513:時刻の設定値が増分であるか絶対値で
あるかを調べる。スケジュールブロックのt−type
が「INC」であれば増分である。増分であれば、ステ
ップ514でstart−timeに運転終了時刻を加
算し、絶対時刻のstart−timeを求める。増分
でなければ既にstart−timeは絶対時刻である
のでステップ515へ分岐する。 ステップ515:時計より現在時刻を読み出す。 ステップ516:現在時刻とstart−timeを比
較して、運転開始時刻を過ぎたかどうかチェックする。
もし、運転開始時刻に達しなければ、ステップ515へ
分岐し、運転開始時刻に達するまで待つ。運転開始時刻
を過ぎた時、ステップ517へ進み、リターンする。
【0038】図5(C)は加工プログラムスキップサー
チの処理フローである。 ステップ521:スキップモードが「TOOL」である
かどうかチェックする。「TOOL」でなければステッ
プ525へ分岐する。 ステップ522:現在実行中あるいは頭出しされた加工
プログラムを前から後へサーチし、工具交換指令を捜
す。 ステップ523:最後まで工具交換指令が見つからなか
った場合は、次の加工プログラムの中をサーチしなけれ
ばならないので、そのままステップ525へ分岐する。 ステップ524:工具交換指令が見つかったので、スキ
ップ中フラグをオフし、スキップ完了状態とする。した
がって、この次の加工プログラム運転では、サーチされ
た工具交換指令から実行される。 ステップ525:スキップモードが「WORK」である
かどうかチェックする。「WORK」でなければステッ
プ529へ分岐する。 ステップ526:現在実行中かあるいは頭出しされた加
工プログラムを前方から後方へサーチし、ワーク交換指
令を捜す。 ステップ527:最後までワーク交換指令が見つからな
かった場合は、次の加工プログラムの中をサーチしなけ
ればならないので、そのままステップ529へ分岐す
る。 ステップ528:ワーク交換指令が見つかったので、ス
キップ中フラグをオフし、スキップ完了状態とする。従
って、この次の加工プログラム運転では、サーチされた
ワーク交換指令から実行される。
【0039】ステップ529:スキップモードが「PA
LETTE」であるかどうかチェックする。「PALE
TTE」でなければステップ533へ分岐する。 ステップ530:現在実行中あるいは頭出しされた加工
プログラムを前方から後方へサーチし、パレット交換指
令を捜す。 ステップ531:最後までパレット交換指令が見つから
なかった場合は、ステップ533へ分岐する。 ステップ532:パレット交換指令が見つかったので、
スキップ中フラグをオフし、スキップ完了状態とする。
従って、この次の加工プログラム運転では、サーチされ
たパレット交換指令から実行される。 ステップ533:親プログラムへリターンする。
【0040】図6(A)はスキップ条件フラグセットの
処理フローである。 ステップ601:スケジュールブロックのskipをチ
ェックする。「NEXT」でなければステップ603へ
分岐する。 ステップ602:skipが「NEXT」であれば、ス
キップ中フラグをオンし、スキップモードに「NEX
T」をセットする。 ステップ603:スケジュールブロックのskipをチ
ェックする。「TOOL」でなければステップ605へ
分岐する。 ステップ604:skipが「TOOL」であれば、ス
キップ中フラグをオンし、スキップモードに「TOO
L」をセットする。 ステップ605:スケジュールブロックのskipをチ
ェックする。「WORK」でなければ、ステップ607
へ分岐する。 ステップ606:skipが「WORK」であれば、ス
キップ中フラグをオンし、スキップモードに「WOR
K」をセットする。 ステップ607:スケジュールブロックのskipをチ
ェックする。「PALETTE」でなければ、ステップ
609へ分岐する。 ステップ608:skipが「PALETTE」であれ
ば、スキップ中フラグをオンし、スキップモードに「P
ALETTE」をセットする。 ステップ609:スケジュールブロックのskipをチ
ェックする。「CLASS」でなければステップ611
へ分岐する。 ステップ610:skipが「CLASS」であれば、
スキップ中フラグをオンし、スキップモードに「CLA
SS」をセットする。また、スケジュールブロックのc
lassを読み出し、classnoにセットする。 ステップ611:スケジュールブロックのskipをチ
ェックする。「CONDITION」でなければステッ
プ620へ分岐する。「CONDITION」であれば
ステップ612へ分岐する。
【0041】ステップ612:アラームをチェックす
る。アラームが「プログラムエラー」でなければステッ
プ614へ分岐する。 ステップ613:アラームが「プログラムエラー」なの
で次の加工プログラムまでスキップする。スキップ中フ
ラグをオンし、スキップモードに「NEXT」をセット
する。 ステップ614:アラームをチェックする。アラームが
「工具なしエラー」でなければ、ステップ616へ分岐
する。 ステップ615:アラームが「工具なしエラー」なの
で、この工具による加工は断念して、次の工具から加工
を続行したい。そこで次の工具交換指令までスキップす
る。スキップ中フラグをオンし、スキップモードに「T
OOL」をセットする。 ステップ616:アラームをセットする。アラームが
「工具破損エラー」でなければ、ステップ618へ分岐
する。 ステップ617:アラームが「工具破損エラー」なの
で、このワークは工具破損時にキズが付いたと思われ
る。そこでこのワークの加工を断念して、次のワークの
加工から再開したい。そこで次のワーク交換指令までス
キップする。スキップ中フラグをオンし、スキップモー
ドに「WORK」をセットする。 ステップ618:アラームをチェックする。アラームが
「パレット装着エラー」でなければ、ステップ620へ
分岐する。 ステップ619:アラームが「パレット装着エラー」な
ので、パレットが正しく機械に装着できず、このパレッ
トの加工は不可能と思われる。そこで、このパレットの
加工を断念して次のパレットの加工から再開したい。そ
こで次のパレット交換指令までスキップする。スキップ
中フラグをオンし、スキップモードに「PALETT
E」をセットする。 ステップ620:親プログラムへリターンする。
【0042】図6(B)は計測ブロック呼び出しの処理
フローである。 ステップ631:計測ブロックの有無をチェックする。
スケジュールブロックのmesが0でなければ、計測ブ
ロックはある。計測ブロックがなければ、ステップ63
7へ分岐しリターンする。 ステップ632:計測ブロックがあるので、計測ブロッ
クの呼び出し回数をカウントアップする。計測ブロック
のcnumbが呼び出し回数である。 ステップ633:計測を実行するかどうかチェックす
る。計測ブロックのcnumbとnumbを比較し、c
numb≧numbであれば、計測を実行する。計測を
実行しない場合はステップ637へ分岐しリターンす
る。 ステップ634:計測を実行するので、計測ブロックの
呼び出し回数cnumbを0クリアする。 ステップ635:計測プログラムを運転するために、計
測ブロックに設定された計測プログラム名(name)
を引数にして計測プログラムの先頭をサーチする。ステ
ップ636:計測プログラムを運転する。 ステップ637:親プログラムへリターンする。
【0043】図7はCRT/MDIユニットに表示され
た、スケジュール運転の設定表示画面である。図におい
て、「加工名称」はスケジュール単位の名称の設定表示
部である。例では、「部品AB」と「部品C」の2つの
スケジュールが登録されている。「個数」はスケジュー
ルのくり返し数、「加工済数」は「部品AB」を最後に
運転し始めてからのくり返し実行回数を表す。「開始時
間」は運転開始予約時刻または運転間隔時間を表す。
「スキップタイプ」はアラーム発生時にスケジュールス
キップするタイプを表す。「計測名称」はスケジュール
運転時に呼出される計測スケジュールブロックの名前を
表す。例では、「部品AB」の「個数」が2であるの
で、2回くり返し加工がスケジュールされ、「加工済
数」も2であり2回くり返し加工が完了したことを示
す。また「開始時間」は18:00:00であり、18
時ちょうどに加工開始が指定されたことがわかる。「ス
キップタイプ」の設定はないので、アラーム発生時のス
キップの指定はない。「計測名称」の設定はないので、
「部品AB」終了後の計測はない。次に、「部品C」の
「個数」は100であり、100個の加工が設定され、
「加工済数」は58であり、58個の加工が完了したこ
とを示す。また、「開始時間」は00:00:40IN
Cであり、40秒間隔で加工が実行されることを示して
いる。「スキップタイプ」の設定はないので、アラーム
発生時のスキップの指定はない。「計測名称」は「部品
C計測」であり、「部品C」加工が終了するごとに、
「部品C計測」という計測スケジュールブロックが呼出
されることを表す。左端には各スケジュールブロックの
運転ステータスが表示される。例では、「部品AB」の
運転は完了し、「部品C」は運転中である。「部品A
B」の下の横棒は選択カーソルであり、カーソル移動キ
ー(→、←、↑、↓など)を押すことにより画面上を移
動させ、表示項目を選択することができる。例「部品A
B」が選択されている。この状態で「開く」に対応する
キーを入力すると、「部品AB」の詳細を表示させるこ
とができる。
【0044】図8は「部品AB」の詳細スケジュールの
表示である。例では、「部品A」と「部品B」という2
つのスケジュールブロックから「部品AB」が成ってい
ることがわかる。この画面で、「閉じる」に対応するキ
ーを入力すると、図7に示す上位のスケジュール画面に
もどる。図8の例では、「部品B」の下に選択カーソル
があり、「部品B」が選択されていることがわかる。こ
の状態で「開く」に対応するキーを入力すると、「部品
B」の詳細を表示させることができる。
【0045】図9は「部品B」の詳細スケジュールであ
る。ここで、「閉じる」に対応するキーを入力すること
により図8にもどることができる。図9の例より、「部
品B」というスケジュールブロックは「O100(フラ
イス)」、「O101(荒取り)」、「O102(下
穴)」、「O103(穴明け)」、「O104(座ぐ
り)」、「105(仕上げ)」の6ブロックから成って
いることがわかる。「O100(フライス)」の「スキ
ップタイプ」は「CLASS+2」であり、アラーム発
生時2つ上のクラス(「部品AB」または「部品C」)
へスキップする。「O101(荒取り)」の「スキップ
タイプ」は「TOOL」であり、アラーム発生時に次工
具交換指令までスキップする。「O102(下穴)」と
「O103(穴明け)」の「スキップタイプ」は「CO
NDITION」であり、アラーム発生時に、アラーム
の種類に応じてスキップする。「O104(座ぐり)」
の「スキップタイプ」は「NEXT」であり、アラーム
発生時に、次プログラム(「O105(仕上げ)」まで
スキップする。「O105(仕上げ)」の「スキップタ
イプ」は「WORK」であり、アラーム発生時に、次ワ
ーク交換指令までスキップする。
【0046】図10は図8と同様に、スケジュールブロ
ック「部品AB」の詳細であるが、図10ではカーソル
が「部品B計測」の下にあり、これが選択されているこ
とを表す。この状態で、「閉じる」に対応するキーを入
力すると、「部品B計測」の詳細を表示させることがで
きる。
【0047】図11は「部品B計測」の詳細である。合
わせて、他の計測スケジュールブロックも表示されてい
る。例では、「部品A計測」、「部品B計測」、「部品
C計測」、「穴深さ計測」の4つの計測ブロックが表示
されている。「プログラム番号」は計測プログラムの番
号を表す。例では、「部品B計測」のプログラムの番号
は「O9001」である。「計測頻度(1/設定)」は
計測ブロックが何回呼出される毎に1回計測プログラム
を実行するかを示す。例では、「部品B計測」は100
回に1回実行されることを表す。「呼び出し回数」は前
回計測を実行してから、何回呼出されたかを示す。例で
は、「部品B計測」を行なってから28回呼出されてい
る。あと72回呼出されると計測が実行され、「呼び出
し回数」は0クリアされる。左端列は運転のステータス
を表わし、例では、「部品C計測」が実行中であること
を示している。この画面で「閉じる」に対応するキーを
入力すると、選択されている計測ブロック呼出している
スケジュールブロックの表示にもどることができる。例
では、「部品B計測」が選択されているので、図10へ
もどる。
【0048】図9において、選択カーソルは「O103
(穴明け)」を選択している。この状態で「開く」に対
応するキーを入力すると、「O103(穴明け)」の詳
細が表示される。「O103(穴明け)」は最下位のス
ケジュールブロックなので、図12の様なプログラムが
表示される。図12は、「O103(穴明け)」の詳細
である。この画面で、「チェック」に対応するキーを入
力すると「O103(穴明け)」のプログラムの描画チ
ェックができる。「読み込み」に対応するキーを入力す
ると、外部入力装置より加工プログラムを入力すること
ができる。「プリント」に対応するキーを入力すると、
「O103(穴明け)」のプログラムを外部プリンタに
印字出力することができる。「編集」に対応するキーを
入力すると「O103(穴明け)」プログラムの編集が
できる。「閉じる」に対応するキーを入力すると、図9
の画面にもどる。
【0049】次に処理について説明する。図13は、ス
ケジュールブロック表示画面で、上カーソルキー(↑)
または、下カーソルキー(↓)が入力された時に呼出さ
れる「指定ブロック変更」処理の処理フローである。 ステップ1301:入力されたキーが上カーソルキーで
あるかどうかをチェックする。上カーソルキーならばス
テップ1304へ分岐し、指定ブロックを1つ前へ移動
する。 ステップ1302:次ブロックがあるかどうかチェック
する。このスケジュールブロックのnextが0でなけ
れば次ブロックがある。次ブロックがなければ何もする
必要がないのでステップ1307へ分岐する。 ステップ1303:指定ブロックのアドレスを示す大域
変数xpointに次ブロックのアドレスnextを代
入して、次ブロックを指定とする。その後ステップ13
07で親プログラムへもどる。 ステップ1304:上カーソルキーが入力されたので現
在の指定ブロックより1つ前のブロックを指定ブロック
としたい。そこで、前ブロックをサーチする。next
が現在のxpointに一致するブロックが前ブロック
である。 ステップ1305:前ブロックがなければ何もする必要
がないのでステップ1307へ分岐する。 ステップ1306:xpointに前ブロックのアドレ
スを代入して、前ブロックを指定ブロックとする。 ステップ1307:親プログラムへリターンする。
【0050】図14はスケジュールブロック表示画面で
「開く」に対応するキーが入力された場合に呼出される
「開く」処理の処理フローである。 ステップ1401:指定ブロックに子ブロックがあるか
どうをチェックする。指定ブロックのsubが0でなけ
れば子ブロックがある。子ブロックがなけばステップ1
404へ分岐し、編集画面に遷移する。 ステップ1402:子ブロックがあるので、指定ブロッ
クアドレスを示すポインタ大域変数xpointにsu
bを代入し、子ブロックを指定ブロックとする。 ステップ1403:スケジュールブロックの表示を行
う。その後ステップ1406で親ブロックへもどる。 ステップ1404:子ブロックがないので、編集画面に
移るために、指定ブロックのプログラム名称(nam
e)のプログラムをサーチする。 ステップ1405:編集画面を表示する。 ステップ1406:親プログラムへリターンする。
【0051】図15は編集画面またはスケジュールブロ
ック表示画面で「閉じる」に対応するキーが入力された
時に呼出される「閉じる」処理の処理フローである。 ステップ1501:編集画面が表示されているかどうか
チェックする。編集画面でなければ(=スケジュールブ
ロック表示画面ならば)ステップ1504へ分岐する。 ステップ1502:編集画面に表示されているプログラ
ムが登録されているスケジュールブロックをサーチす
る。スケジュールブロックのnameか編集画面のプロ
グラムと一致するブロックがサーチされる。 ステップ1503:指定ブロックのアドレスを示すポイ
ンタ大域変数xpointにサーチしたブロックのアド
レスを代入して、指定ブロックとする。次はステップ1
507へ。 ステップ1504:スケジュールブロック表示画面で
「閉じる」を選択されたので、親データブロックをサー
チする。指定ブロックの前のブロックをサーチし、先頭
ブロックのアドレスをsubとするブロックをサーチす
る。これが親ブロックである。 ステップ1505:親データブロックがない場合は何も
する必要がないのでステップ1507へ分岐する。 ステップ1506:xpointへ親データブロックの
アドレスを代入し、親データブロックを指定ブロックと
する。 ステップ1507:指定ブロックの前ブロックをサーチ
する。nextがxpointに一致するスケジュール
ブロックが前ブロックである。 ステップ1508:前ブロックがない場合は、指定ブロ
ックが先頭ブロックであるのでステップ1510へ分岐
し、スケジュールブロックを表示する。 ステップ1509:xpointに前ブロックのアドレ
スを代入し、前ブロックを指定ブロックとする。先頭ブ
ロックを捜すためステップ1507へ分岐して、これを
くり返す。 ステップ1510:xpointが示す指定スケジュー
ルブロックからスケジュールブロック表示を示す。 ステップ1511:親プログラムへリターンする。
【0052】
【発明の効果】上のように、第1の発明によれば、加
工スケジュールに対応して計測スケジュールデータを記
憶するメモリを備えたので、任意の計測スケジュールを
組むことが可能で、生産性を大きく損なわない計測スケ
ジュールを実行でき、しかもアラーム発生時にアラーム
の種類をチェックし、スケジュールをアラームの種類に
応じたスキップ先にスキップさせるスケジュールスキッ
プ手段を設けたので、アラームが発生してもアラームの
種類に応じた位置にスキップして運転が続行できる。
【0053】
【0054】
【0055】
【図面の簡単な説明】
【図1】 この発明の一実施例による数値制御装置のハ
ードウェアブロック図である。
【図2】 この発明の一実施例による加工スケジュール
データと計測スケジュールデータの1ブロックの構成を
示すテーブル図である。
【図3】 この発明の一実施例による加工スケジュール
データと計測スケジュールデータの登録例を各ブロック
の関連について説明したテーブル図である。
【図4】 この発明の一実施例によりメイン関数と1ス
ケジュールブロック運転の処理フロー図である。
【図5】 この発明の一実施例によるスキップ完了チェ
ックと運転開始時刻待ちと加工プログラムスキップサー
チの処理フロー図である。
【図6】 この発明の一実施例によるスキップ条件フラ
グセットと計測ブロック呼び出し処理の処理フローであ
る。
【図7】 この発明の一実施例によるCRT/MDIユ
ニツトに表示された、スケジュール運転のメインの設定
表示画面である。
【図8】 この発明の一実施例によるCRT/MDIユ
ニットに表示された、スケジュール運転の「部品AB」
の設定表示画面である。
【図9】 この発明の一実施例によるCRT/MDIユ
ニットに表示された、スケジュール運転の「部品B」の
設定表示画面である。
【図10】 この発明の一実施例によるCRT/MDI
ユニットに表示された、スケジュール運転の「部品A
B」で「部品B計測」が選択された設定表示画面であ
る。
【図11】 この発明の一実施例によるCRT/MDI
ユニットに表示された、計測スケジュールの設定表示画
面である。
【図12】 この発明の一実施例によるCRT/MDI
ユニットに表示された「O103(穴明け)」の編集画
面である。
【図13】 この発明の一実施例による指定ブロック変
更処理の処理フローである。
【図14】 この発明の一実施例による開く処理の処理
フローである。
【図15】 この発明の一実施例による閉じる処理の処
理フローである。
【図16】 従来の数値制御装置のハードウェアの構成
図である。
【図17】 従来の数値制御装置の加工プログラムのフ
ァイル画面の例を示す図である。
【図18】 従来の装置制御装置のスケジューリングデ
ータ画面の例を示す図である。
【符号の説明】
1 CPU、2 SRAM、3 バッテリ、4 RO
M、5 サーボ制御ユニット、6 モータ、7 CRT
/MDIユニット、8 時計LSI、9 機械操作ボー
ド、10 音声出力装置、11 通信制御ユニット、1
2 通信回線、13 モデム、14 データバス、21
加工スケジュールデータの1ブロック、22 計測ス
ケジュールデータの1ブロック、111 プロセッサ、
112 ROM、113 RAM、114 不揮発性メ
モリ、114a スケジューリングデータ、115 テ
ープリーダ、116 表示制御回路、116a 表示装
置、117 キーボード、118 位置制御回路、11
9 サーボアンプ、120サーボモータ、121 タコ
ジェネレータ、122 位置検出器、123 入出力回
路、124 手動パルス発生器、125 インタフェイ
ス回路、130 外部記憶装置、140 ファイル・デ
ィレクトリ画面、141 ファイル・ディレクトリ画面
を示す表示、142 ファイル番号の欄、143 ファ
イル名称の欄、144 各ファイルのテープ長、145
SELECTキー、150 スケジューリングデータ
画面、151 スケジューリングデータ画面を示す表
示、152 実行順序を示す欄、153 プログラムフ
ァイルを示す欄、154 プログラムファイルの実行回
数を示す欄、155 実行中のプログラムファイルの数
を示す欄。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 所定の加工単位に作成された加工プログ
    ラムの実行順序、回数等の加工スケジュールデータを予
    め設定しておき、この加工スケジュールデータに基づい
    てスケジュール運転を行う数値制御装置において、アラ
    ーム発生時にアラームの種類をチェックし、スケジュー
    ルをアラームの種類に応じたスキップ先にスキップさせ
    るスケジュールスキップ手段と、上記加工スケジュール
    に対応して計測スケジュールデータを記憶するメモリと
    を備えた数値制御装置。
JP9032357A 1997-02-17 1997-02-17 数値制御装置 Expired - Lifetime JP2980047B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9032357A JP2980047B2 (ja) 1997-02-17 1997-02-17 数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9032357A JP2980047B2 (ja) 1997-02-17 1997-02-17 数値制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP3144636A Division JP2743622B2 (ja) 1991-06-17 1991-06-17 数値制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP13269299A Division JP3216629B2 (ja) 1999-05-13 1999-05-13 数値制御装置

Publications (2)

Publication Number Publication Date
JPH09179622A JPH09179622A (ja) 1997-07-11
JP2980047B2 true JP2980047B2 (ja) 1999-11-22

Family

ID=12356715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9032357A Expired - Lifetime JP2980047B2 (ja) 1997-02-17 1997-02-17 数値制御装置

Country Status (1)

Country Link
JP (1) JP2980047B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016159367A (ja) * 2015-02-26 2016-09-05 ファナック株式会社 ロボットの動作モードを自動的に切替えるロボット制御装置

Also Published As

Publication number Publication date
JPH09179622A (ja) 1997-07-11

Similar Documents

Publication Publication Date Title
US6885909B2 (en) Numerical controller
US5465215A (en) Numerical control method and apparatus
JP3476484B2 (ja) 制御装置における操作履歴表示装置
EP0689113B1 (en) Numerically controlled machine tool management system
US4794514A (en) NC program editing method for four-axis lathes
US5315503A (en) Numerical control apparatus having a teaching function and a method of teaching a machining program thereby
US5327350A (en) Interactive type numerical control apparatus and method thereof
JP2743622B2 (ja) 数値制御装置
EP0521164B1 (en) Method of restarting operation of punch press machine and numerically controlled device
EP0148273B1 (en) Numerical control apparatus
US5930141A (en) Method of controlling access to storage means in numerical-control system, and numerical-control system
JP2980047B2 (ja) 数値制御装置
JP3216629B2 (ja) 数値制御装置
EP0505570B1 (en) Method of automatically retrieving working conditions in electric discharge
US5321346A (en) NC data creation method
JP3180805B2 (ja) 数値制御工作機械
EP0481082B1 (en) Symbol definition method for programmable machine controller
JPH02151909A (ja) 産業用機械の制御装置
JPH0630011B2 (ja) 数値制御加工再開制御方式
JP2875801B2 (ja) Dnc装置
JPH05346811A (ja) セルコントローラ
JPH0863216A (ja) 加工時間測定方式
JPH01189704A (ja) 数値制御装置
JP2680955B2 (ja) 穴あけ再開始制御方式
JPH1063323A (ja) 横形工作機械のnc加工プログラム作成方法および装置