(57)【特許請求の範囲】
【請求項１】
加工プログラムを解析し、加工プログラム中の所定の指令についてラダー処理手段に実行させる加工プログラム解析処理手段と、
前記加工プログラム解析処理手段からの指令に対応するラダーシーケンスを実行するラダー処理手段と、
前記加工プログラム解析処理手段による前記加工プログラムの解析結果と前記ラダー処理手段のラダーシーケンスの実行結果に基づいて、当該装置に接続される制御対象に対して所定の制御を行う機械制御処理手段と、
を備える数値制御装置において、
前記ラダー処理手段は、
前記加工プログラム解析処理手段からの加工を行うための補助的な処理を指令するＭコードを受信すると、すぐに受信したＭコードの処理が擬似的に終了したことを示す暫定処理終了信号を送信する暫定処理終了信号出力機能と、
受信した前記Ｍコードの処理が実際に終了したことを示す本処理終了信号を送信する本処理終了信号出力機能と、
を備え、
前記加工プログラム解析処理手段は、前記暫定処理終了信号を受信すると、前記加工プログラム中の前記Ｍコードに対する本処理終了信号の受信処理を行うＭコード処理完了待ち指令を読込むまで、つぎのブロックに処理を進め、前記Ｍコード処理完了待ち指令を読込むまでに前記本処理終了信号を受信しない場合に、前記本処理終了信号を受信するまでつぎのブロックの処理を実行させない機能を有することを特徴とする数値制御装置。
【請求項２】
加工プログラムを解析し、加工プログラム中の所定の指令についてラダー処理手段に実行させる加工プログラム解析処理手段と、
前記加工プログラム解析処理手段からの指令に対応するラダーシーケンスを実行するラダー処理手段と、
前記加工プログラム解析処理手段による前記加工プログラムの解析結果と前記ラダー処理手段のラダーシーケンスの実行結果に基づいて、当該装置に接続される制御対象に対して所定の制御を行う機械制御処理手段と、
を備える数値制御装置において、
前記ラダー処理手段は、
前記加工プログラム解析処理手段から受信した加工を行うための補助的な処理を指令するＭコードの処理が終了したことを示す本処理終了信号を送信する本処理終了信号出力機能を備え、
前記加工プログラム解析処理手段は、前記加工プログラムからＭコードを含むブロックを読込むと、前記Ｍコードを実行させる指令を前記ラダー処理手段に送信した後すぐに、前記加工プログラム中のつぎのブロックに処理を進め、前記加工プログラム中の前記Ｍコードに対する本処理終了信号の受信処理を行うＭコード処理完了待ち指令を読込むまでに前記本処理終了信号を受信しない場合に、前記本処理終了信号を受信するまでつぎのブロックの処理を実行させない機能を有することを特徴とする数値制御装置。
【請求項３】
前記Ｍコード処理完了待ち指令は、前記加工プログラム中の任意の位置に設置可能なことを特徴とする請求項１または２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、数値制御装置に関するものである。
【背景技術】
【０００２】
数値制御装置とは、予めメモリに登録または外部から入力された加工プログラムに基づいて数値制御処理を実行し、その処理結果によって数値制御装置に接続された工作機械などを駆動して加工物（ワーク）の加工を行うものである。
【０００３】
図１０は、従来の数値制御装置の構成を模式的に示す図である。この数値制御装置５０１は、表示装置、キーボードなどのマンマシンインタフェース（ＭＭＩ）部５３１との間のデータの入出力処理を行い、マンマシンインタフェース部５３１から入力された加工プログラムやパラメータなどのデータをそれぞれ加工プログラムや設定データとして記憶部５１３に格納する入出力データ処理部５１１と、外部入出力機器５３２から回線経由で入力された加工プログラムやパラメータなどのデータをそれぞれ加工プログラムや設定データとして記憶部５１３に格納する通信処理部５１２と、入出力データ処理部５１１または通信処理部５１２で処理された加工プログラムや設定データを記憶する記憶部５１３と、記憶部５１３に記憶された加工プログラムを読み出してプログラム解析する加工プログラム解析処理部５１４と、加工プログラムの制御命令に基づいてラダーシーケンスを実行させるラダー処理部５１５と、加工プログラム解析処理部５１４とラダー処理部５１５との間に設けられるＰＬＣ（Programmable Logic Controller）インタフェース部５１６と、ラダー処理部５１５の処理結果に基づいて工作機械５４０を制御する機械制御処理部５１７と、機械制御処理部５１７からの制御データをベクトル処理して方向成分ごとの制御データを生成させる補間処理部５１８と、補間処理部５１８で生成された制御データに基づいて工作機械５４０を制御する軸制御処理部５１９と、機械制御処理部５１７からの制御データに基づいて工作機械５４０を制御するデジタル信号Ｉ／Ｏ制御部５２０と、を備える。
【０００４】
なお、工作機械５４０は、サーボアンプ５４１を介して軸制御処理部５１９の制御によって駆動するサーボモータ５４２と、主軸アンプ５４３を介して軸制御処理部５１９の制御によって主軸（スピンドル）を移動させるスピンドルモータ５４４と、デジタル信号Ｉ／Ｏ制御部５２０の制御によって主軸に取り付けられた工具を交換する工具交換器５４５と、を備えている。
【０００５】
このような数値制御装置５０１における動作について簡単に説明すると、加工プログラム解析処理部５１４は、記憶部５１３内の加工プログラムを読出し、加工プログラムに記述された制御命令をＰＬＣインタフェース部５１６を介してラダー処理部５１５に渡し、ラダー処理部５１５は、その制御命令に対応するラダーシーケンスを実行する。加工プログラム解析処理部５１４は、ラダー処理部５１５に対して出された制御命令に対応する動作が完了したことを示す完了信号であるＦＩＮをラダー処理部５１５から受信すると、加工プログラム中のつぎの制御命令を順に実行していく。
【０００６】
数値制御装置５０１の本来の仕事は、ワークに対する切削や研削などの加工であるが、この加工を行うための補助的な仕事も数多く存在する。たとえば、加工物の着脱、主軸モータの起動／停止、切削油のオン／オフなどである。これらの補助的な仕事を実行するための制御指令として、加工プログラムにはＭコードという指令が設けられている。
【０００７】
図１１−１は、Ｍコード処理の従来例を示す図である。この図１１−１に示されるように、加工プログラム中でＭコードが指令されると、Ｍコード情報をラダー処理部５１５で取得し、ラダー処理部５１５で該当するＭコード処理を実行する。たとえば、加工プログラム解析処理部５１４が加工プログラムから「Ｍ２５」というＭコードを読み出すと、このＭコード「Ｍ２５」はＰＬＣインタフェース部５１６を介してラダー処理部５１５に渡される。このとき、加工プログラム解析処理部５１４では、Ｍコード「Ｍ２５」に対するＦＩＮがラダー処理部５１５から返されるまでは、つぎのブロックへ進まずに、待ち状態となる。ラダー処理部５１５は、「Ｍ２５」というＭコードを実行してその処理が完了すると、ＦＩＮを加工プログラム解析処理部５１４に返す。加工プログラム解析処理部５１４は、このＦＩＮを受取ることで、つぎのブロックへ進むことができる。
【０００８】
ところで、Ｍコードには、その完了を待つ必要がないものも存在する。そのようなＭコードの処理を行う際には、図１１−１に示されるＭコードの処理方法では、加工プログラム解析処理部５１４は読込んだブロックに含まれるＭコードのＦＩＮが返るまでつぎのブロックへ進めず待ち状態となってしまっていた。
【０００９】
このような問題点を解決するために、従来から、種々の提案がなされている。その中の一つに、工作機械５４０の作動が他の工程と並行して実施可能である場合には、インタロック状態を記憶して工作機械５４０からの完了信号を待つことなくつぎの工程へと進むが、インタロック状態の場合は、続く工程が並行して実施できない処理であるか判断し、並行して実施可能な工程であれば実施し、並行して実施不可能な加工工程であればＦＩＮを待って実施するようにしている（たとえば、特許文献１参照）。
【００１０】
図１１−２は、特許文献１に記載されている場合のＭコード処理の従来例を示す図である。この図１１−２に示されるように、加工プログラム中でＭコードが指定されると、Ｍコード情報をラダー処理部５１５で取得する。ラダー処理部５１５では、Ｍコードを終了していないにもかかわらず、このＭコードに対するＦＩＮを返した後（特許文献１では、即ＦＩＮ信号という）、該当するＭコード処理を実行する。たとえば、加工プログラム解析処理部５１４で「Ｍ２５」というＭコードが加工プログラムから指定されると、このＭコード「Ｍ２５」はラダー処理部５１５に渡される。ラダー処理部５１５で加工プログラムから指令されたＭコードの情報を取得すると、そのＭコード「Ｍ２５」の処理が完了する前に、すぐにＦＩＮ（即ＦＩＮ信号）を返す。その後に、ラダー処理部５１５で「Ｍ２５」の処理を行う。一方、加工プログラム解析処理部５１４では、Ｍコード「Ｍ２５」の処理結果が必要ないつぎのブロックの処理を実行する。このように、加工プログラムはＭコードの指令後にすぐにＦＩＮが返るため、つぎのブロックへ進こむことができる。しかし、この場合には、Ｍコード処理が完了していない状態で加工プログラムを実行することとなる。
【００１１】
【特許文献１】特開平７−４０１８７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
図１１−１で説明したように、従来の数値制御装置５０１は加工プログラムからのＭコードの指令により、ラダー処理部５１５でＭコード情報を取得し、該当するＭコード処理を実行し、その完了後にＦＩＮを加工プログラム解析処理部５１４側へ返す。加工プログラム解析処理部５１４はＦＩＮを受取ることでＭコード処理が完了したと解釈し加工プログラムのつぎのブロックへ進む。しかし、Ｍコードの中にはすぐつぎのブロックで完了待ちしなくても、暫く先のブロックまでに完了していればよいものもある。このような場合はつぎのブロックで完了待ちしていると無駄な待ち時間となってしまうという問題点があった。
【００１３】
また、図１１−２で説明したように、時間短縮のために、ラダー処理部５１５でＭコードを取得するとすぐにＦＩＮを返す場合には、加工プログラム解析処理部５１４は加工プログラムのつぎのブロックへと進むが、ラダー処理部５１５でＭコード処理が完了したかを加工プログラム解析処理部５１４では確認することができない。そのため、タイミングによってはＭコード処理と加工プログラム解析処理が干渉してしまう可能性があるという問題点があった。
【００１４】
この発明は、上記に鑑みてなされたもので、数値制御装置の加工プログラムのブロック中にＭコードが存在し、そのＭコードが、暫く先のブロックまでにその処理を完了していればよいＭコードで、ラダー処理部でＭコードを取得するとすぐにＦＩＮを返す場合に、加工プログラム解析処理部でラダー処理部でのＭコード処理が完了したかを確認することができる数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、この発明にかかる数値制御装置は、加工プログラムを解析し、加工プログラム中の所定の指令についてラダー処理手段に実行させる加工プログラム解析処理手段と、前記加工プログラム解析処理手段からの指令に対応するラダーシーケンスを実行するラダー処理手段と、前記加工プログラム解析処理手段による前記加工プログラムの解析結果と前記ラダー処理手段のラダーシーケンスの実行結果に基づいて、当該装置に接続される制御対象に対して所定の制御を行う機械制御処理手段と、を備える数値制御装置において、前記ラダー処理手段は、前記加工プログラム解析処理手段からの加工を行うための補助的な処理を指令するＭコードを受信すると、すぐに受信したＭコードの処理が擬似的に終了したことを示す暫定処理終了信号を送信する暫定処理終了信号出力機能と、受信した前記Ｍコードの処理が実際に終了したことを示す本処理終了信号を送信する本処理終了信号出力機能と、を備え、前記加工プログラム解析処理手段は、前記暫定処理終了信号を受信すると、前記加工プログラム中の前記Ｍコードに対する本処理終了信号の受信処理を行うＭコード処理完了待ち指令を読込むまで、つぎのブロックに処理を進め、前記Ｍコード処理完了待ち指令を読込むまでに前記本処理終了信号を受信しない場合に、前記本処理終了信号を受信するまでつぎのブロックの処理を実行させない機能を有することを特徴とする。
【発明の効果】
【００１６】
この発明によれば、Ｍコードに対する処理結果を用いて処理を行う場合に、そのＭコードに対するＭコード処理完了待ち指令を読込むまでに本処理終了信号を受信しない場合には、加工プログラム中の以下のブロックの処理を実行させないようにしたので、加工プログラム解析処理部でラダー処理部によるＭコード処理の実行結果を知ることができ、Ｍコード処理と加工プログラムの処理とが干渉することを防ぐことができるという効果を有する。また、簡単にＭコード処理完了待ちによる無駄時間を省き、サイクルタイムの短縮を実現することができるという効果を有する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明にかかる数値制御装置の好適な実施の形態を詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
【００１８】
実施の形態１．
図１は、この発明にかかる数値制御装置の実施の形態１の構成の一例を示す図である。この数値制御装置１は、表示装置、キーボードなどのマンマシンインタフェース部３１との間のデータの入出力処理を行い、マンマシンインタフェース部３１から入力された加工プログラムやパラメータなどのデータをそれぞれ加工プログラムや設定データとして記憶部１３に格納する入出力データ処理部１１と、外部入出力機器３２から回線経由で入力された加工プログラムやパラメータなどのデータをそれぞれ加工プログラムや設定データとして記憶部１３に格納する通信処理部１２と、入出力データ処理部１１または通信処理部１２で処理された加工プログラムや設定データを記憶する記憶部１３と、記憶部１３に記憶された加工プログラムを読み出してプログラム解析する加工プログラム解析処理部１４と、加工プログラムの制御命令に基づいてラダーシーケンスを実行させるラダー処理部１５と、加工プログラム解析処理部１４とラダー処理部１５との間に設けられるＰＬＣインタフェース部１６と、ラダー処理部１５の処理結果に基づいて工作機械４０を制御する機械制御処理部１７と、機械制御処理部１７からの制御データをベクトル処理して方向成分ごとの制御データを生成させる補間処理部１８と、補間処理部１８で生成された制御データに基づいて工作機械４０を制御する軸制御処理部１９と、機械制御処理部１７からの制御データに基づいて工作機械４０を制御するデジタル信号Ｉ／Ｏ制御部２０と、を備える。ここで加工プログラム解析処理部１４は、特許請求の範囲における加工プログラム解析処理手段に対応し、ラダー処理部１５は、同じくラダー処理手段に対応し、機械制御処理部１７は、同じく機械制御処理手段に対応している。
【００１９】
なお、工作機械４０は、サーボアンプ４１を介して軸制御処理部１９の制御によって駆動するサーボモータ４２と、主軸アンプ４３を介して軸制御処理部１９の制御によって主軸（スピンドル）を移動させるスピンドルモータ４４と、デジタル信号Ｉ／Ｏ制御部２０の制御によって主軸に取り付けられた工具を交換する工具交換器４５と、を備えている。
【００２０】
ここで、加工プログラム解析処理部１４は、記憶部１３に記憶された加工プログラムを読み出してプログラム解析を行い、ラダー処理部１５に対して処理の指示を行うプログラム解析処理機能１４１と、ラダー処理部１５からＭコードの処理指令に対する暫定ＦＩＮを受信する暫定ＦＩＮ受信機能１４２と、ラダー処理部１５からＭコードの処理指令に対する本ＦＩＮを受信する本ＦＩＮ受信機能１４３と、を備える。なお、暫定ＦＩＮは、特許請求の範囲における暫定処理終了信号に対応し、本ＦＩＮは、同じく本処理終了信号に対応している。
【００２１】
この実施の形態１では、加工プログラムとして、Ｍコードの実行結果を得るための新たな指令が定義される。つまり、Ｍコードを実行した後、加工プログラム中の任意の位置でそのＭコードの実行結果を得るための指令（Ｍコード完了待ち指令）として、“ＭＦ”という指令を定義する。より具体的には、Ｍコードを実行し、そのＭコードを使用して処理を行う加工プログラム中のブロックの直前に、「ＭＦ」を実行することで、そのＭコードの実行結果を得ることができる。Ｍコードでは、「Ｍ」の後に予め定められた２桁の数値を付して、所定の処理を実行させるようにしているが、この「ＭＦ」では、前に実行されたＭコードの値を得るために、前に実行されたＭコードの２桁の数値を、「ＭＦ」の後に付すようにしている。これにより、加工プログラム解析処理部１４のプログラム解析処理機能１４１が要求するＭコードの処理結果を指定することができる。
【００２２】
また、プログラム解析処理機能１４１は、Ｍコードを実行するようにラダー処理部１５に指令を出した後暫定ＦＩＮ受信機能１４２で暫定ＦＩＮを受信すると、加工プログラムに記述されるつぎのブロックの処理に進む機能を有する。
【００２３】
さらに、ラダー処理部１５として、通常のＰＬＣ処理を実行するＰＬＣ処理実行機能１５１と、加工プログラム解析処理部１４からの指令がＭコードである場合に、そのＭコードに対して暫定的に処理が終了したことを示す信号である暫定ＦＩＮを出力する暫定ＦＩＮ出力機能１５２と、加工プログラム解析処理部１４から受けたＭコードで暫定ＦＩＮ信号を出力したＭコードを実際に実行して終了したことを示す信号である本ＦＩＮを出力する本ＦＩＮ出力機能１５３と、を備える。なお、暫定ＦＩＮ出力機能１５２は、特許請求の範囲の暫定処理終了信号出力機能に対応し、本ＦＩＮ出力機能１５３は、同じく本処理終了信号出力機能に対応している。
【００２４】
ここで、このような構成を有する数値制御装置のＭコードの処理について、具体例を挙げながら説明する。図２は、加工プログラム解析処理部におけるＭコード指令処理の手順の一例を示すフローチャートであり、図３は、ラダー処理部におけるＭコード実行処理の手順の一例を示すフローチャートであり、図４は、加工プログラム解析処理部におけるＭＦ指令処理の手順の一例を示すフローチャートである。また、図５は、数値制御装置のＭコードの処理を説明するための加工プログラムとその加工プログラムに対応するラダーシーケンスの一例を示す図である。
【００２５】
最初に、図２を参照しながらＭコード実行処理について説明する。数値制御装置１の加工プログラム解析処理部１４のプログラム解析処理機能１４１は、記憶部１３に格納されている加工プログラムを解析し、そのブロックを順に実行する。図５の加工プログラムに示されるように、プログラム解析処理機能１４１は、上のブロックから順に処理を実行していく。ここで、図５の加工プログラムの行１０１に示されるようにＭコードを含むブロックを読込むと（ステップＳ１１）、Ｍコードの実行を、ＰＬＣインタフェース部１６を介してラダー処理部１５に指示する（ステップＳ１２）。その後、暫定ＦＩＮ受信機能１４２でラダー処理部１５からステップＳ１２で指示したＭコードに対応する暫定ＦＩＮを受信したか否かを判定する（ステップＳ１３）。暫定ＦＩＮを受信しない場合（ステップＳ１３でＮｏの場合）には、暫定ＦＩＮを受信するまで待ち状態となる。一方、図５に示されるようにラダー処理部１５から暫定ＦＩＮを受信した場合（ステップＳ１３でＹｅｓの場合）には、暫定ＦＩＮ受信機能１４２は暫定ＦＩＮを受信したことをプログラム解析処理機能１４１に通知し、プログラム解析処理機能１４１は加工プログラム中のつぎのブロックに進む（ステップＳ１４）。図５の場合では、プログラム解析処理機能１４１は、暫定ＦＩＮを受信すると、行１０２のブロックの処理に進む。以上により、Ｍコード指令処理が終了する。
【００２６】
つぎに、図３を参照しながらＭコード実行処理について説明する。ラダー処理部１５のＰＬＣ処理実行機能１５１は、加工プログラム解析処理部１４からＰＬＣインタフェース部１６を介してＭコードを受取ると（ステップＳ３１）、暫定ＦＩＮ出力機能１５２は、受取ったＭコードの処理は実際には終了していないが、加工プログラム解析処理部１４でつぎのブロックの処理を実行可能とするための信号である暫定ＦＩＮを、ＰＬＣインタフェース部１６を介して加工プログラム解析処理部１４に送る（ステップＳ３２）。その後、ＰＬＣ処理実行機能１５１は、ステップＳ３１で受取ったＭコードを実行する（ステップＳ３３）。ＰＬＣ処理実行機能１５１によるＭコードの実行が終了すると、本ＦＩＮ出力機能１５３は、ステップＳ３１で受取ったＭコードの処理が実際に終了したことを示す本ＦＩＮを、ＰＬＣインタフェース部１６を介して加工プログラム解析処理部１４に送る（ステップＳ３４）。以上により、Ｍコード実行処理が終了する。
【００２７】
最後に、図４を参照しながらＭＦ指令処理について説明する。加工プログラム解析処理部１４のプログラム解析処理機能１４１は、図５の加工プログラムの行１０３に示されるようにＭＦ指令を含むブロックを読込むと（ステップＳ５１）、本ＦＩＮ受信機能１４３は、ＭＦ指令に対応するＭコードの本ＦＩＮを受信したかを確認する（ステップＳ５２）。本ＦＩＮを受信していない場合（ステップＳ５２でＮｏの場合）には、本ＦＩＮを受信するまで待ち状態となる。図５のように、Ｍコード「Ｍ２５」に対するＭＦ指令が加工プログラム解析処理部１４で実行される前に既に本ＦＩＮが受信されている場合には、本ＦＩＮ受信機能１４３は、本ＦＩＮを受信したことをプログラム解析処理機能１４１に通知する。これにより、プログラム解析処理機能１４１は、加工プログラム中のつぎのブロックに進み処理を行うことができる。たとえば、図５の場合、プログラム解析処理機能１４１は、行１０３のＭＦ指令を読込んだ後、Ｍコード「Ｍ２５」の処理結果が必要な行１０４のブロックの処理に進むことができる。以上により、ＭＦ指令処理が終了する。
【００２８】
この実施の形態１によれば、ラダー処理部１５では、Ｍコードを受信するとすぐに暫定ＦＩＮを加工プログラム解析処理部１４に返し、また、Ｍコードの処理が終了すると本ＦＩＮを加工プログラム解析処理部１４に返し、さらに、加工プログラム解析処理部１４では、先のブロックで指令したＭコードの結果が欲しいブロックの前に、Ｍコード処理完了待ち指令を実行して、本ＦＩＮを受信してから、加工プログラム中のつぎのブロックに処理を進めるようにしたので、加工プログラム解析処理部１４でラダー処理部１５によるＭコード処理の実行結果を知ることができ、Ｍコード処理と加工プログラムの処理とが干渉することを防ぐことができるという効果を有する。また、簡単にＭコード処理完了待ちによる無駄時間を省き、サイクルタイムの短縮を実現することができるという効果を有する。
【００２９】
実施の形態２．
実施の形態１では、ラダー処理部１５では、Ｍコードを受信するとすぐに暫定ＦＩＮを加工プログラム解析処理部１４に渡し、加工プログラム解析処理部１４では、暫定ＦＩＮを受信した後に加工プログラム中のつぎのブロックに処理を進める構成としていたが、この実施の形態２では、ラダー処理部１５が暫定ＦＩＮを加工プログラム解析処理部１４に返さない場合について説明する。
【００３０】
図６は、この発明にかかる数値制御装置の実施の形態２の構成の一例を示す図である。この数値制御装置１ａは、実施の形態１の数値制御装置において、加工プログラム解析処理部１４の暫定ＦＩＮ受信機能１４２と、ラダー処理部１５の暫定ＦＩＮ出力機能１５２を取り除いた構成を有している。つまり、加工プログラム解析処理部１４ａのプログラム解析処理機能１４１は、加工プログラム中のＭコードを含むブロックを読込んだ場合に、Ｍコードを実行する指令をラダー処理部１５ａに出した後すぐに加工プログラム中のつぎのブロックの処理に進む。また、ラダー処理部１５ａのＰＬＣ処理実行機能１５１は、加工プログラム解析処理部１４ａからＭコードを実行する指令を受けると、すぐにＭコードに対応する処理をラダーシーケンスにしたがって実行する。この実施の形態２では、ラダー処理部１５ａは暫定ＦＩＮを出力しないので、実施の形態１における「本ＦＩＮ」を「ＦＩＮ」として表記する。そのため、「本ＦＩＮ出力機能」は「ＦＩＮ出力機能」という名称に変わっているが、その処理動作は同じものである。なお、実施の形態１と同一の構成要素には同一の符号を付して、その説明を省略している。また、加工プログラム解析処理部１４ａは、特許請求の範囲における加工プログラム解析処理手段に対応し、ラダー処理部１５ａは、同じくラダー処理手段に対応し、機械制御処理部１７は、同じく機械制御処理手段に対応し、ＦＩＮ出力機能１５３ａは、同じく本処理終了信号出力機能に対応し、ＦＩＮは、本処理終了信号に対応している。
【００３１】
ここで、このような構成を有する数値制御装置１ａのＭコードの処理について、具体例を挙げながら説明する。図７は、加工プログラム解析処理部におけるＭコード指令処理の手順の一例を示すフローチャートであり、図８は、ラダー処理部におけるＭコード実行処理の手順の一例を示すフローチャートであり、図９は、加工プログラム解析処理部におけるＭＦ指令処理の手順の一例を示すフローチャートである。また、図９は、数値制御装置のＭコードの処理を説明するための加工プログラムとその加工プログラムに対応するラダーシーケンスの一例を示す図である。
【００３２】
最初に、図７を参照しながらＭコード実行処理について説明する。数値制御装置１ａの加工プログラム解析処理部１４ａのプログラム解析処理機能１４１は、記憶部１３に格納されている加工プログラムを解析し、そのブロックを順に実行する。図９の加工プログラムに示されるように、プログラム解析処理機能１４１は、上のブロックから順に処理を実行していく。ここで、図９の加工プログラムの行１１１に示されるようにＭコードを含むブロックを読込むと（ステップＳ７１）、Ｍコードの実行を、ＰＬＣインタフェース部１６を介してラダー処理部１５ａに指示する（ステップＳ７２）。その後、プログラム解析処理機能１４１は加工プログラム中のつぎのブロックに進む（ステップＳ７３）。図９の場合では、プログラム解析処理機能１４１は、行１１１のＭコードを含む処理をラダー処理部１５に指示した後すぐに行１１２のブロックの処理に進む。以上により、Ｍコード指令処理が終了する。
【００３３】
つぎに、図８を参照しながらＭコード実行処理について説明する。ラダー処理部１５ａのＰＬＣ処理実行機能１５１は、加工プログラム解析処理部１４ａからＰＬＣインタフェース部１６を介してＭコードを受取ると（ステップＳ９１）、受取ったＭコードを実行する（ステップＳ９２）。そして、ＰＬＣ処理実行機能１５１によるＭコードの実行が終了すると、ＦＩＮ出力機能１５３ａは、ステップＳ３１で受取ったＭコードの処理が終了したことを示すＦＩＮを、ＰＬＣインタフェース部１６を介して加工プログラム解析処理部１４ａに送る（ステップＳ９３）。以上により、Ｍコード実行処理が終了する。
【００３４】
図９に示される例の場合、行１１１には２つのＭコード「Ｍ２５」、「Ｍ２６」が含まれている。このような場合、ラダー処理部１５ａでは、記述された順でＭコードを実行する。すなわち、「Ｍ２５」を最初に実行し、ついで「Ｍ２６」を実行する。そして、２つのＭコードの処理が終了した後に、それぞれのＭコードの処理が終了したことを示すＦＩＮを加工プログラム解析処理部１４ａに通知する。
【００３５】
なお、ＭＦ指令処理は、実施の形態１の図５の本ＦＩＮがＦＩＮに変わるだけで、その実質的内容は同じあるので、その説明を省略する。
【００３６】
図９に示される例の場合、加工プログラムにおいて、先のブロックで実行したＭコードの実行結果を用いて処理を行う場合には、その処理の前にそのＭコードに対応するＭコード完了待ち指令（ＭＦ）を実行する。これにより、そのＭコードに対応するＦＩＮ出力を得て、つぎの処理に進むことができる。たとえば、図９の場合には、行１１４のブロックではＭコード「Ｍ２５」の処理結果が必要であるので、その直前の行１１３にＭコード「Ｍ２５」の実行結果を得るための「ＭＦ２５」が実行される。そして、その結果である「Ｍ２５」のＦＩＮに基づいてつぎの行１１４の処理が実行される。ここで、「ＭＦ２５」中の「２５」は、Ｍコード「Ｍ２５」の「２５」と対応付けるために付される識別情報である。同様に、行１１５のブロックではＭコード「Ｍ２６」の実行結果を得るための「ＭＦ２６」が実行される。ここで、「ＭＦ２６」中の「２６」は、Ｍコード「Ｍ２６」の「２６」と対応付けるために付される識別情報である。このように、先のブロックで実行したＭコードにＭコード完了待ち指令（ＭＦ）を対応させているので、個々のＭコードに対して完了待ちの設定をすることができ、複数のＭコードの処理結果が錯綜することもない。
【００３７】
この実施の形態２によれば、ラダー処理部１５ａでは、Ｍコードを受信し、その処理が終了するとＦＩＮを加工プログラム解析処理部１４ａに返し、また、加工プログラム解析処理部１４ａでは、Ｍコードの実行をラダー処理部１５ａに指令するとすぐに加工プログラム中のつぎのブロックに処理を進ませ、先のブロックで指令したＭコードの結果が欲しいブロックの前に、Ｍコード処理完了待ち指令を実行して、ＦＩＮを受信してから、加工プログラム中のつぎのブロックに処理を進めるようにしたので、加工プログラム解析処理部１４ａでラダー処理部１５ａによるＭコード処理の実行結果を知ることができ、Ｍコード処理と加工プログラムの処理とが干渉することを防ぐことができるという効果を有する。また、簡単にＭコード処理完了待ちによる無駄時間を省き、サイクルタイムの短縮を実現することができるという効果を有する。さらに、複数のＭコードに対し、それぞれ必要なＦＩＮを指定することで、無駄な待ち時間を排除し、サイクルタイムの短縮を実現することができるという効果を有する。
【産業上の利用可能性】
【００３８】
以上のように、本発明にかかる数値制御装置は、Ｍコードを有する加工プログラムを実行する際に適している。
【図面の簡単な説明】
【００３９】
【図１】この発明による数値制御装置の実施の形態１の構成の一例を示す図である。
【図２】加工プログラム解析処理部におけるＭコード指令処理の手順の一例を示すフローチャートである。
【図３】ラダー処理部におけるＭコード実行処理の手順の一例を示すフローチャートである。
【図４】加工プログラム解析処理部におけるＭＦ指令処理の手順の一例を示すフローチャートである。
【図５】数値制御装置のＭコードの処理を説明するための加工プログラムとその加工プログラムに対応するラダーシーケンスの一例を示す図である。
【図６】この発明による数値制御装置の実施の形態２の構成の一例を示す図である。
【図７】加工プログラム解析処理部におけるＭコード指令処理の手順の一例を示すフローチャートである。
【図８】ラダー処理部におけるＭコード実行処理の手順の一例を示すフローチャートである。
【図９】加工プログラム解析処理部におけるＭＦ指令処理の手順の一例を示すフローチャートである。
【図１０】従来の数値制御装置の構成を模式的に示す図である。
【図１１−１】Ｍコード処理の従来例を示す図である。
【図１１−２】Ｍコード処理の従来例を示す図である。
【符号の説明】
【００４０】
１，１ａ  数値制御装置
１１  入出力データ処理部
１２  通信処理部
１３  記憶部
１４，１４ａ  加工プログラム解析処理部
１５，１５ａ  ラダー処理部
１６  ＰＬＣインタフェース部
１７  機械制御処理部
１８  補間処理部
１９  軸制御処理部
２０  デジタル信号Ｉ／Ｏ制御部
２１  ラダーシーケンス
３１  マンマシンインタフェース部
３２  外部入出力機器
４０  工作機械
１４１  プログラム解析処理機能
１４２  暫定ＦＩＮ受信機能
１４３  本ＦＩＮ受信機能
１５１  ＰＬＣ処理実行機能
１５２  暫定ＦＩＮ出力機能
１５３  本ＦＩＮ出力機能
１５３ａ  ＦＩＮ出力機能
【図１】
0004558675.tif 000002
【図２】
0004558675.tif 000003
【図３】
0004558675.tif 000004
【図４】
0004558675.tif 000005
【図５】
0004558675.tif 000006
【図６】
0004558675.tif 000007
【図７】
0004558675.tif 000008
【図８】
0004558675.tif 000009
【図９】
0004558675.tif 000010
【図１０】
0004558675.tif 000011
【図１１−１】
0004558675.tif 000012
【図１１−２】
0004558675.tif 000013