(57)【特許請求の範囲】
【請求項１】
ＮＣプログラム形式で作成された制御プログラムに従って工作機械のシーケンス制御を行う数値制御装置において、
シーケンサとの間で制御信号の入出力を行うシーケンサインターフェースと、
前記数値制御装置が備えた各種機能を処理する各種機能処理部と、
前記制御プログラムを解析し、該制御プログラムの記述に従って制御信号の信号制御を行うＮＣプログラム形式シーケンス制御処理部と、
を備え、
前記シーケンサインターフェースと前記ＮＣプログラム形式シーケンス制御処理部とは同一の制御周期で動作しており、
前記各種機能処理部は前記シーケンサインターフェースを介して入力される制御信号に従って前記各種機能を処理すると共に、前記各種機能の動作に従って前記シーケンサインターフェースに対して制御信号を出力し、
前記ＮＣプログラム形式シーケンス制御処理部は、前記制御プログラムの記述に従って前記シーケンサインターフェースとの間で制御信号の信号制御を行う、
ことを特徴とする数値制御装置。
【請求項２】
前記ＮＣプログラム形式シーケンス制御処理部は、前記各種機能処理部を制御する制御信号と、前記工作機械が制御する周辺機器を制御する制御信号とを生成し、前記工作機械が制御する周辺機器を制御する制御信号は前記シーケンサを介して前記周辺機器との間で入出力される、
ことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特にＮＣプログラム形式で記述されたシーケンス制御における数値制御装置とシーケンサ間のアクセス回数を削減して実行時間を短縮することができる数値制御装置に関する。
【背景技術】
【０００２】
一般的に、モーション制御用のプログラムは、工作機械等を制御する制御装置が数値制御装置の場合はＥＩＡフォーマット、ＩＳＯフォーマットなどのコードやマクロ文などＮＣプログラムが使用される。また、モーションコントローラのように産業機械を制御する制御装置においては、数値制御装置やプログラマブルコントローラ等が用いられ、これらの制御装置ではＮＣプログラムや、モーション言語と呼ばれる言語が使用される。モーション言語にはＮＣプログラムに使用されるＧコードをベースとした言語、ＳＦＣ（ストラクチャーファンクションチャート）をベースとした言語、ＦＢＤ（機能ブロック図言語）をベースとした言語等がある。
【０００３】
一方で、シーケンス制御用のプログラムはラダー図言語、インストラクションリスト言語、ＳＦＣなどの言語で記述される。このように、モーション制御用のプログラムとシーケンス制御用のプログラムとでは、異なる言語が用いられるため、従来、工作機械や産業機械を制御するためにはモーション制御用のプログラムと、シーケンス制御用のプログラムの知識を有する必要があり、プログラマの負担となっていた。
【０００４】
この負担を軽減するため、特別な装置を必要とせずにＮＣプログラム形式で記述されたプログラムによりシーケンス制御のような周期的に実行するプログラムと軸制御などを実行するプログラムの両方の制御が可能な数値制御装置が提案されている（例えば、特許文献１）。特許文献１に記載の技術を利用することにより、シーケンス制御用のプログラムをモーション制御用のＮＣプログラムの形式で記述してシーケンス制御を行なうことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３７６４４３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、シーケンス制御は、数値制御装置とシーケンサ及び周辺機器の間で行なわれる。数値制御装置はシーケンサに接続しており、他の周辺機器にはシーケンサを介して接続し、シーケンサを介して機械の信号等を制御することで、種々の目的に応じて機械を動作させている。
【０００７】
特許文献１に記載の技術では、ＮＣプログラム形式で記述されたシーケンス制御の命令が、数値制御装置において信号の入出力の情報としてシーケンサへ出力され、シーケンサはそれを受けて実際に信号の入出力を行ない、数値制御装置及び周辺機器を制御する。ここで、数値制御装置とシーケンサはそれぞれ独自の制御周期で動作しており、数値制御装置とシーケンサ間で信号等のデータのやりとりを行なった場合、相手側に通知されるまでに制御周期分の時間の遅れが発生する。
【０００８】
この遅れの問題について、図７〜９を用いて説明する。
図７は、従来技術のシーケンサ制御用プログラムを使用したシーケンス制御の流れを説明する図である。図において、数値制御装置１０は該数値制御装置１０が備えた各種機能を処理する各種機能処理部１１を備えており、シーケンサ２０とはシーケンサインターフェース１２を介して接続されている。また、シーケンサ２０は、シーケンサ制御用プログラムを処理するシーケンサ制御プログラム処理部２１を備えている。数値制御装置１０とシーケンサ２０、シーケンサ２０と周辺機器３０との間はそれぞれ信号をやり取りすることで制御できるように構成されている。
【０００９】
このような構成を備えたシステムにおいて、シーケンサ２０においてシーケンサ制御プログラムが処理され、シーケンサ制御プログラムの記述に従ってシーケンサ２０が数値制御装置１０の各種機能を制御する場合、シーケンサ２０は数値制御装置１０に対してＧ信号を出力し、シーケンサインターフェース１２を介して各種機能処理部１１に対して当該信号が入力される。そして、各種機能処理部１１から各種機能が完了した結果がＦ信号として出力され、そのＦ信号をシーケンサ２０が受けてＧ信号をオフする。このようなシーケンス制御の流れを図８のタイムチャートに示す。
【００１０】
図９は、特許文献１に開示されるＮＣプログラム形式で記述されたシーケンス制御の命令を用いたシーケンス制御の流れを説明する図である。図において、数値制御装置１０は、従来技術の構成に加えてＮＣプログラム形式シーケンス制御処理部１３を備えている。
【００１１】
このような構成を備えたシステムにおいて、数値制御装置１０の各種機能を信号で制御する場合、ＮＣプログラム形式シーケンス制御処理部１３においてＮＣプログラムが処理され、ＮＣプログラムの記述に従ってＧ信号が出力され、シーケンサ２０、シーケンサインターフェース１２を介して各種機能処理部１１へと入力される。そして、各種機能処理部１１から各種機能が完了した結果がＦ信号として出力され、そのＦ信号をシーケンサ２０、シーケンサインターフェース１２を介してＮＣプログラム形式シーケンス制御処理部１３が受けてＧ信号をオフする。このようなシーケンス制御の流れを図１０のタイムチャートに示す。
【００１２】
このように、特許文献１に開示される技術を用いた場合、数値制御装置においてＮＣプログラム形式で記述されたシーケンス制御の命令は、シーケンサを経由する必要がなかった信号も含めて、必ずシーケンサを介して数値制御装置へ入出力されていた。このため、数値制御装置とシーケンサ間のアクセス回数が多く、その分シーケンス制御用のプログラムを使用して数値制御装置とシーケンサ間のシーケンス制御を行なった場合と比較して、実行時間が長くなってしまうという問題があった。
【００１３】
そこで本発明の目的は、ＮＣプログラム形式で記述された制御プログラムによるシーケンス制御における数値制御装置とシーケンサ間のアクセス回数を削減して実行時間を短縮することができる数値制御装置を提供することである。
【課題を解決するための手段】
【００１４】
本願の請求項１に係る発明は、ＮＣプログラム形式で作成された制御プログラムに従って工作機械のシーケンス制御を行う数値制御装置において、シーケンサとの間で制御信号の入出力を行うシーケンサインターフェースと、前記数値制御装置が備えた各種機能を処理する各種機能処理部と、前記制御プログラムを解析し、該制御プログラムの記述に従って制御信号の信号制御を行うＮＣプログラム形式シーケンス制御処理部と、を備え、前記シーケンサインターフェースと前記ＮＣプログラム形式シーケンス制御処理部とは同一の制御周期で動作しており、前記各種機能処理部は前記シーケンサインターフェースを介して入力される制御信号に従って前記各種機能を処理すると共に、前記各種機能の動作に従って前記シーケンサインターフェースに対して制御信号を出力し、前記ＮＣプログラム形式シーケンス制御処理部は、前記制御プログラムの記述に従って前記シーケンサインターフェースとの間で制御信号の信号制御を行う、ことを特徴とする数値制御装置である。
【００１５】
本願の請求項２に係る発明は、前記ＮＣプログラム形式シーケンス制御処理部は、前記各種機能処理部を制御する制御信号と、前記工作機械が制御する周辺機器を制御する制御信号とを生成し、前記工作機械が制御する周辺機器を制御する制御信号は前記シーケンサを介して前記周辺機器との間で入出力される、ことを特徴とする請求項１に記載の数値制御装置である。
【発明の効果】
【００１６】
本発明により、ＮＣプログラム形式で記述されたシーケンス制御における数値制御装置とシーケンサ間のアクセス回数を削減でき、実行時間を短縮することができる。また、従来のシーケンス制御用のプログラムを使用して、数値制御装置とシーケンサ間のシーケンス制御を行なう方式より実行時間を短縮することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態における数値制御装置の要部ブロック図である。
【図２】本発明の実施の形態におけるシーケンサインターフェースで行なう信号処理の詳細を説明する図である。
【図３】本発明のシーケンス制御の実行時間のタイムチャートである。
【図４】本発明の実施の形態における数値制御装置上で実行される処理の概略フローチャートである。
【図５】本発明の実施の形態における数値制御装置上で実行されるシーケンス制御処理の概略フローチャートである。
【図６】本発明の実施の形態におけるＮＣプログラム形式で記載されたシーケンス制御命令の例である。
【図７】従来技術のシーケンサ制御用プログラムを使用したシーケンス制御の流れを説明する図である。
【図８】従来技術におけるシーケンス制御の流れを示すタイムチャートである。
【図９】従来技術のＮＣプログラム形式で記述されたシーケンス制御の命令を用いたシーケンス制御の流れを説明する図である。
【図１０】従来技術のＮＣプログラム形式で記述されたシーケンス制御の流れを示すタイムチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を図面と共に説明する。最初に、本発明におけるＮＣプログラム形式で記述されたシーケンス制御について図１を用いて説明する。
本発明の一実施の形態における数値制御装置１０では、数値制御装置１０の各種機能を信号で制御する場合、従来技術において行われているシーケンス制御用のプログラムを用いたシーケンサによる信号制御（図において、信号の入出力Ａ）に加え、数値制御装置１０内にＮＣプログラム形式シーケンス制御処理部１３を設け、ＮＣプログラム形式シーケンス制御処理部１３においてＮＣプログラムが処理されることによりＮＣプログラムの記述に従って信号制御（図において、信号の入出力Ｂ）が為される。
【００１９】
その際に、特許文献１に記載の技術とは異なり、ＮＣプログラム形式シーケンス制御処理部１３が生成した信号は、シーケンサ２０を介することなく、直接シーケンサインターフェース１２に出力される。なお、ＮＣプログラム形式シーケンス制御処理部１３においてＧ信号、Ｆ信号以外の信号（例えば、Ｘ信号、Ｙ信号）の制御が行われる場合には、シーケンサ２０との間で信号の制御が行われる（当該信号の流れについては図では省略している）。
【００２０】
シーケンサインターフェース１２内では、シーケンサ２０から入力されるＧ信号と、ＮＣプログラム形式シーケンス制御処理部１３から入力されるＧ信号がメモリ（図示せず）上に設けられたバッファ領域にバッファリングされて各種機能処理部１１へと出力される。また、各種機能処理部１１からＦ信号が出力されると、シーケンサインターフェース１２内のメモリ（図示せず）上に設けられたバッファ領域にバッファリングされ、シーケンサ２０及びＮＣプログラム形式シーケンス制御処理部１３に対して出力される。
【００２１】
本実施の形態における数値制御装置１０において、シーケンサインターフェース１２で行なう信号処理の詳細について図２に基づいて説明する。
数値制御装置１０とシーケンサ２０は一定の制御周期毎に信号の更新処理を行なう。シーケンサ２０のＧ信号を数値制御装置１０内のバッファ領域に書き込み、数値制御装置１０内のバッファ領域で更新されたＦ信号をシーケンサへ書き込む。各種機能処理部１１はこのバッファ領域のＧ、Ｆ信号の読み取り、書き込みを行なって所望の機能を実現している。
【００２２】
本発明では、Ｇ信号のバッファ領域内にマスク領域を設けている。シーケンサ２０から書き込まれたＧ信号の内、該マスク領域に係るＧ信号はゼロクリアされる一方で、ＮＣプログラム形式シーケンス制御処理部１３から要求されたマスク領域へのＧ信号の書き込みはそのまま行われるため、信号の競合の発生が防止される。ＮＣプログラム形式シーケンス制御処理部１３からの書き込み指令がこのマスク領域に対して行なわれ、一方で、読み取りではＮＣプログラム形式シーケンス制御処理部１３側とシーケンサ２０側の競合は発生しないため、Ｇ、Ｆ信号のバッファ領域全体に対して行なわれる。
【００２３】
この様に構成することにより、ＮＣプログラム形式シーケンス制御処理部１３とシーケンサインターフェース１２は、数値制御装置１０内で同じ制御周期で動作しているため、ＮＣプログラム形式シーケンス制御処理部１３における信号制御においては、数値制御装置１０とシーケンサ２０の制御周期が異なることにより発生する信号の遅延を抑えることが可能となる。図３は、本実施の形態の数値制御装置においてＮＣプログラム形式で記述されたシーケンス制御を実行した場合におけるタイムチャートである。図３を見ると明らかなように、本発明の数値制御装置では、ＮＣプログラム形式シーケンス制御処理部１３とシーケンサインターフェース１２、各種機能処理部１１とが同じ制御周期で動作しているため、信号の入出力による遅延が削減され、シーケンス制御による各種機能の実行時間が従来技術と比較して短縮される。
【００２４】
なお、以下に示すのは各種機能処理部１１により制御される機能の一例である。ここに例示した機能以外にも、各種機能処理部１１は信号により制御される数値制御装置１０に実装されたさまざまな機能を処理する。
（１）プログラムの自動運転機能
プログラムの自動運転を制御する機能である。本機能を用いてプログラムを実行するには、自動運転起動信号（Ｇ信号）を入力する必要がある。この入力により実行対象となるＮＣプログラムを解析して、サーボモータを駆動する一連の動作が実行される。ＮＣプログラムの運転を開始したことは自動運転起動中信号（Ｆ信号）として出力される。
（２）リトラクト機能
プログラム運転中に工具破損等が発生した場合に工具を退避させる機能である。Ｇ信号が入力されると、工具が退避する方向にサーボモータが駆動し、退避動作が完了するとＦ信号を出力する。
（３）オーバライド機能
ＮＣプログラムはプログラム指令された送り速度に対して倍率をかける（オーバライドする）機能である。通常、ＮＣプログラムはプログラム指令された送り速度に従ってサーボモータを駆動させるが、本機能を用いて送り速度に対してＧ信号で倍率をかけることができる。Ｇ信号でパーセント単位のデータを設定し、その倍率をプログラム指令の送り速度に乗じた送り速度に変更することができる。
【００２５】
図４は、本実施の形態における数値制御装置１０上で実行される処理のフローチャートである。なお、図において破線で囲まれている部分は本発明の特徴的な処理を示している。
●［ステップＳＡ０１］ＮＣプログラムをメモリ（図示せず）から読み出し、ＮＣプログラム形式のシーケンス制御指令が含まれているか否かを判定する。ＮＣプログラム形式のシーケンス制御指令は、特許文献１に開示されるように、例えば「／／」のような識別子により通常のＮＣプログラムの指令とは区別できるように記載されており、本処理ではそのような識別子を読み取ることでＮＣプログラム形式のシーケンス制御指令が含まれているか否かを判別する。ＮＣプログラム形式のシーケンス制御指令が含まれている場合にはステップＳＡ０２へ進み、記載されていない場合には本処理を終了する。
【００２６】
●［ステップＳＡ０２］ＮＣプログラムを解析してシーケンス制御を実行するための命令群を実行データとして作成する。
●［ステップＳＡ０３］ステップＳＡ０２で作成した実行データにＧ，Ｆ信号が含まれているか判定する。含まれている場合にはステップＳＡ０４へ進み、含まれていない場合にはステップＳＡ０５へ進む。
●［ステップＳＡ０４］ステップＳＡ０２で作成した実行データにＧ，Ｆ信号が含まれている場合、当該命令に含まれる信号はシーケンサへ出力する必要が無いので、当該命令に従って数値制御装置内でのシーケンス制御を実行する。
【００２７】
●［ステップＳＡ０５］ステップＳＡ０２で作成した実行データに含まれる信号が、Ｘ，Ｙ信号などのＧ，Ｆ信号以外の信号を含む命令の場合、シーケンサ２０へ信号を入出力するシーケンス制御を行なう。
●［ステップＳＡ０６］１命令毎に実行データが継続するか判定する。実行データが終了している場合には本処理を終了し、次の命令がある場合にはステップＳＡ０３へ戻り処理を繰り返す。
【００２８】
図５は、図４のフローチャートのステップＳＡ０４で実行されるシーケンス制御処理のフローチャートである。
●［ステップＳＢ０１］シーケンサ２０から転送されてきた数値制御装置１０内で使用するＧ信号をバッファ領域に書き込みを行なう。シーケンサからのＧ信号を書き込む際には、特定の領域（Ｇ信号のマスクデータに従うマスク領域）にあたるＧ信号についてはゼロクリアされる。Ｇ信号のマスクデータは予め数値制御装置１０内のシーケンス制御で使用する信号に対して設定しておき、シーケンサ２０から送られてくるＧ信号と数値制御装置１０内で生成されるＧ信号との競合を防止する。
●［ステップＳＢ０２］実行データにＧ信号の命令が含まれるか判定する。Ｇ信号の命令が含まれている場合にはステップＳＢ０３へ進み、そうでない場合にはステップＳＢ０４へ進む。
●［ステップＳＢ０３］Ｇ信号の命令に従って、バッファ領域に対してＧ信号の書き込み又は読み取りの実行処理を行なう。
●［ステップＳＢ０４］バッファ領域に書き込まれたＧ信号を各種機能処理部１１が読取り、当該信号に従って数値制御装置１０の各種機能が動作する。
【００２９】
●［ステップＳＢ０５］数値制御装置１０の各種機能処理部１１が動作結果としてのＦ信号をバッファ領域に書き込みを行なう。
●［ステップＳＢ０６］実行データにＦ信号の命令が含まれるか判定する。Ｆ信号の命令が含まれている場合にはステップＳＢ０７へ進み、そうでない場合にはステップＳＢ０８へ進む。
●［ステップＳＢ０７］Ｆ信号の命令に従って、バッファ領域からＦ信号の読み取りの実行処理を行なう。
●［ステップＳＢ０８］バッファ領域に書き込まれたＦ信号をシーケンサ２０へ転送する。
【００３０】
図６は、本発明の実施の形態におけるＮＣプログラム形式で記載されたシーケンス制御命令の例を示している。図のプログラムでは、Ｇ信号を入力して数値制御装置の機能を実行し、その機能が完了してＦ信号が出力されたらＧ信号をオフする例である。
図６において、（１）の「／／」はＮＣプログラム形式のシーケンス制御であることを表し、（１）のＺＤＯから（４）のＺＥＮＤまでがプログラム範囲であることを表している。（２）はＧ信号の入力命令で、Ｇ信号の［６６，４］に１．０の書き込みを指令している。
【００３１】
また、図６において、（３）はＦ信号の出力チェックとＧ信号の入力命令である。ＺＥＤＧＥ文は構文内の条件が成立するまで、すなわちＦ信号の［６５，４］≧１．０が成立するまで待機することを示している。このように記載することで、Ｇ信号［６６，４］の入力を受けてＦ信号［６５，４］に１．０が出力されるまで待機することになる。条件成立後、Ｇ信号の［６６，４］に０．０の書き込みを指令している。
なお、本実施の形態におけるＮＣプログラムの構文の詳細については、一般的なＮＣプログラムの構文、および特許文献１などの従来技術に従うものであるから、本明細書での説明は省略する。
【００３２】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより、その他の態様で実施することができる。
【符号の説明】
【００３３】
１０    数値制御装置
１１    各種機能処理部
１２    シーケンサインターフェース
１３    ＮＣプログラム形式シーケンス制御処理部
２０    シーケンサ
２１    シーケンサ制御プログラム処理部
３０    周辺機器
【図１】
0006444729.tif 000002
【図２】
0006444729.tif 000003
【図３】
0006444729.tif 000004
【図４】
0006444729.tif 000005
【図５】
0006444729.tif 000006
【図６】
0006444729.tif 000007
【図７】
0006444729.tif 000008
【図８】
0006444729.tif 000009
【図９】
0006444729.tif 000010
【図１０】
0006444729.tif 000011