(57)【特許請求の範囲】
【請求項１】
ラダープログラムに基づいて信号の入出力を行うプログラマブルコントローラを備え、ＮＣプログラムに基づいて機械の制御を行なう数値制御装置において、
前記機械の制御において利用可能な機能を指令する機能コードと、該機能において出力されるコード出力信号と、前記機能に係る外部処理が完了したことを示すコード入力信号とを関連付けて成るＮＣ機能関連信号データが登録されているＮＣ機能関連信号テーブルと、
前記コード出力信号と、前記コード入力信号と、前記ラダープログラムに含まれる前記コード出力信号および前記コード入力信号と依存関係にある信号と、を関連付けて成る機能別サンプリング信号データが登録されている機能別サンプリング信号テーブルと、
前記ＮＣプログラムのブロックを先読みし、該ブロックにより指令される機能の機能コードを出力する指令解析部と、
前記指令解析部が出力した前記機能コードに基づいて、前記ＮＣ機能関連信号テーブルおよび前記機能別サンプリング信号テーブルを参照し、前記機能の実行中における自動トレースの対象となる信号を特定するトレース信号抽出部と、
前記トレース信号抽出部が抽出した自動トレースの対象となる信号をトレースする信号トレース部と、
を備えたことを特徴とする数値制御装置。
【請求項２】
前記信号トレース部は複数ブロックを一括してトレースする、
ことを特徴とする請求項１に記載された数値制御装置。
【請求項３】
前記ＮＣ機能関連信号テーブルを作成するＮＣ機能関連信号テーブル作成部を更に備える、
ことを特徴とする請求項１または２に記載された数値制御装置。
【請求項４】
前記ＮＣ機能関連信号テーブル、および前記ラダープログラムに基づいて、前記機能別サンプリング信号テーブルを作成するサンプリング信号テーブル作成部を更に備える、
ことを特徴とする請求項１〜３のいずれか１つに記載された数値制御装置。
【請求項５】
ラダープログラムに基づいて信号の入出力を行うプログラマブルコントローラを備え、ＮＣプログラムに基づいて機械の制御を行なう数値制御装置において、
前記機械の制御において利用可能な機能を指令する機能コードと、該機能において出力されるコード出力信号と、前記機能に係る外部処理が完了したことを示すコード入力信号と、前記ラダープログラムに含まれる前記コード出力信号および前記コード入力信号と依存関係にある信号と、を関連付けて成る機能別サンプリング信号データが登録されている機能別サンプリング信号テーブルと、
前記ＮＣプログラムのブロックを先読みし、該ブロックにより指令される機能の機能コードを出力する指令解析部と、
前記指令解析部が出力した前記機能コードに基づいて、前記機能別サンプリング信号テーブルを参照し、前記機能の実行中における自動トレースの対象となる信号を特定するトレース信号抽出部と、
前記トレース信号抽出部が抽出した自動トレースの対象となる信号をトレースする信号トレース部と、
を備えたことを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特にＮＣプログラム運転と連動した関連信号の自動トレース機能を有する数値制御装置に関する。
【背景技術】
【０００２】
ＮＣプログラムの補間機能や補助機能を実行する際、プログラマブルコントローラに対して特定の信号（Ｆ信号）を出力する機能がある。プログラマブルコントローラで周期的に実行されるラダープログラムでは、ＮＣからの信号を処理して外部に信号を出力する。また、補間機能や補助機能の中には、プログラマブルコントローラからの完了信号（Ｇ信号）を要求する機能もある。
【０００３】
オペレータは、これらの信号の一連の処理の流れについてトレース機能を用いて、ラダープログラムのデバッグや保守作業をすることがある。しかし、これらの関連信号群を探し出すためには、各補間機能や補助機能の関連入出力信号をあらかじめ調べておく必要がある。また、各補間機能や補助機能の関連入出力信号が、ラダープログラム内で作用を及ぼす信号を調べるためには、クロスリファレンス機能等を用いて、依存関係にある信号を検索する必要ある。
【０００４】
より簡単に依存関係にある信号を調べるための従来技術として、ラダープログラムを構成する命令を選択するとその命令で使用されている信号のクロスリファレンス情報を自動で表示する機能（例えば、特許文献１）や、ラダープログラム内の信号の依存関係を自動抽出する機能（例えば、特許文献２）などが公知となっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２９３６０３号公報
【特許文献２】特許第５３６２１４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＮＣプログラムの補間機能や補助機能を実行した際に出力される信号と、その信号に関連する信号の処理の流れ、さらには、補間機能や補助機能が要求する信号とその信号に作用を及ぼす信号の処理の流れをデバッグする、もしくは、保守作業のために調査するには、ＮＣプログラムの諸機能に関連する信号をあらかじめ調べ、その信号がラダープログラム内で作用を及ぼす信号を調べるなど、非常に労力を要する。
【０００７】
そこで本発明の目的は、ＮＣプログラム運転と連動した関連信号の自動トレース機能を有する数値制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明では、ＮＣプログラムを実行した際に、あらかじめ作成したＮＣ機能毎の関連信号テーブルと、信号の依存関係を示すテーブルから、そのＮＣプログラムブロックに関連する信号群を自動トレースする。
【０００９】
そして、本願の請求項１に係る発明は、ラダープログラムに基づいて信号の入出力を行うプログラマブルコントローラを備え、ＮＣプログラムに基づいて機械の制御を行う数値制御装置において、前記機械の制御において利用可能な機能を指令する機能コードと、該機能において出力されるコード出力信号と、前記機能に係る外部処理が完了したことを示すコード入力信号とを関連付けて成るＮＣ機能関連信号データが登録されているＮＣ機能関連信号テーブルと、前記コード出力信号と、前記コード入力信号と、前記ラダープログラムに含まれる前記コード出力信号および前記コード入力信号と依存関係にある信号と、を関連付けて成る機能別サンプリング信号データが登録されている機能別サンプリング信号テーブルと、前記ＮＣプログラムのブロックを先読みし、該ブロックにより指令される機能の機能コードを出力する指令解析部と、前記指令解析部が出力した前記機能コードに基づいて、前記ＮＣ機能関連信号テーブルおよび前記機能別サンプリング信号テーブルを参照し、前記機能の実行中における自動トレースの対象となる信号を特定するトレース信号抽出部と、前記トレース信号抽出部が抽出した自動トレースの対象となる信号をトレースする信号トレース部と、を備えたことを特徴とする数値制御装置である。
【００１０】
本願の請求項２に係る発明は、前記信号トレース部は複数ブロックを一括してトレースする、ことを特徴とする請求項１に記載された数値制御装置である。
【００１１】
本願の請求項３に係る発明は、前記ＮＣ機能関連信号テーブルを作成するＮＣ機能関連信号テーブル作成部を更に備える、ことを特徴とする請求項１または２に記載された数値制御装置である。
【００１２】
本願の請求項４に係る発明は、前記ＮＣ機能関連信号テーブル、および前記ラダープログラムに基づいて、前記機能別サンプリング信号テーブルを作成するサンプリング信号テーブル作成部を更に備える、ことを特徴とする請求項１〜３のいずれか１つに記載された数値制御装置である。
【００１３】
本願の請求項５に係る発明は、ラダープログラムに基づいて信号の入出力を行うプログラマブルコントローラを備え、ＮＣプログラムに基づいて機械の制御を行う数値制御装置において、前記機械の制御において利用可能な機能を指令する機能コードと、該機能において出力されるコード出力信号と、前記機能に係る外部処理が完了したことを示すコード入力信号と、前記ラダープログラムに含まれる前記コード出力信号および前記コード入力信号と依存関係にある信号と、を関連付けて成る機能別サンプリング信号データが登録されている機能別サンプリング信号テーブルと、前記ＮＣプログラムのブロックを先読みし、該ブロックにより指令される機能の機能コードを出力する指令解析部と、前記指令解析部が出力した前記機能コードに基づいて、前記機能別サンプリング信号テーブルを参照し、前記機能の実行中における自動トレースの対象となる信号を特定するトレース信号抽出部と、前記トレース信号抽出部が抽出した自動トレースの対象となる信号をトレースする信号トレース部と、を備えたことを特徴とする数値制御装置である。
【発明の効果】
【００１４】
本発明により、ＮＣプログラムを１ブロックもしくは複数ブロックを実行した際に、当該ブロックで出力される信号と、それに関連する信号のトレース結果と、次ブロックの実行までに変化した機能別サンプリング信号テーブル内の外部入力信号とそれに関連する信号のトレース結果を自動的に取得することができて、ラダープログラムのデバッグや保守作業が容易となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態における数値制御部の要部ブロック図である。
【図２】本発明の実施形態における数値制御部の機能ブロック図である。
【図３】本発明のＮＣ機能関連信号テーブルの例を示す図である。
【図４】数値制御装置における信号の入出力を説明する図である。
【図５】機能別サンプリング信号テーブルの作成手順を説明する図（１）である。
【図６】機能別サンプリング信号テーブルの作成手順を説明する図（２）である。
【図７】本発明の機能別サンプリング信号テーブルの例を示す図である。
【図８】本発明における信号の自動トレース結果の表示例（１）である。
【図９】本発明における信号の自動トレース結果の表示例（２）である。
【図１０】本発明の実施形態における数値制御装置上で実行される処理のフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面と共に説明する。
本発明では、数値制御装置１に対して以下に示す各機能手段を設けることで、従来技術における課題を解決する。
●手段１：補間機能や補助機能の各機能と、各機能を実行する際にプログラマブルコントローラに出力する信号と、各機能に基づく外部の処理が完了したことを示す入力信号と、を結び付けるＮＣ機能関連信号テーブルを作成して保持する手段
●手段２：ＮＣ機能関連信号テーブルから、各機能の関連信号と依存関係にある１つ以上の信号をラダープログラム内から検索して、機能別サンプリング信号テーブルを作成する手段
●手段３：ＮＣプログラムを実行した際に、ＮＣブロックの先読み中に該ＮＣブロックに補間機能や補助機能があると、機能別サンプリング信号テーブルからトレースするべき信号を抽出する手段
●手段４：上記ＮＣプログラムの１ブロックを実行開始から、次のブロックが開始されるまでの間、抽出した信号を自動トレースする手段
●手段５：複数ブロックを一つのブロックとみなしてトレースすることも可能とする手段
【００１７】
図１は本発明の一実施形態における数値制御装置の要部ブロック図である。ＣＰＵ１０は数値制御装置１の全体の制御の中心となるプロセッサである。数値制御装置１の電源投入時に、ＣＰＵ１０はバス２１を介して、ＲＯＭ１１に格納されたシステム・プログラムと、機械を制御するための制御プログラムを読み出し、ＲＯＭ１１からＲＡＭ１２にコピーする。このシステム・プログラムに従って数値制御装置１の全体の制御を実行する。本実施形態における信号トレース処理のプログラムもシステム・プログラムの一部として、ＲＯＭ１１に格納される。浮動小数点演算命令を含む制御プログラムは、機械を制御するために実行される。ＲＡＭ１２には信号トレース処理で使用される一時的な計算データや一時的な表示用データなどが格納される。不揮発性メモリ１３は、工具補正量やパラメータなどが格納される。後述する信号トレースデータも不揮発性メモリ１３に格納される。
【００１８】
外部記憶媒体インタフェース１４は、外部記憶媒体２２との間でデータの送受を行うためのインタフェースである。外部記憶媒体インタフェース１４の具体例としては、ＵＳＢメモリインタフェース、メモリカードインタフェースがある。外部記憶媒体２２は数値制御装置１から出力されたデータを格納する記憶装置であって、具体例としては、ＵＳＢメモリやメモリカードがある。
【００１９】
外部インタフェース１５は、外部機器２３との間でデータの送受を行うためのインタフェースである。外部インタフェース１５の具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）インタフェースやＲＳ２３２−Ｃインタフェースがある。外部機器２３の具体例としては、パーソナルコンピュータがある。
【００２０】
表示コントローラ１６は、液晶表示装置などから構成される表示ユニット２４に、図示しない機械の各軸の現在位置、アラーム、パラメータ、画像データなどのデジタルデータを画像信号に変換して出力する。前記画像信号は、表示ユニット２４の表示画面に表示される。ＭＤＩコントローラ１７は、ＭＤＩユニット２５から入力されたデータを受信して、ＣＰＵ１０へ渡す。
【００２１】
プログラマブルコントローラ１８は、ラダー形式で作成されたラダープログラムで機械を制御する。即ち、不揮発性メモリ１３や外部記憶媒体２２などに記憶されているＮＣプログラムで指令された補間機能や補助機能に従って、ラダープログラムに基づいて必要な信号へと変換し、外部信号インタフェース１９、Ｉ／Ｏ機器２６を経由して図示しない機械や周辺機器に出力する。また、Ｉ／Ｏ機器２６、外部信号インタフェース１９を経由して、図示しない機械や該機械に備えられた操作盤の操作スイッチの信号、センサ機器や周辺機器からの信号などの入力信号を受信し、ラダープログラムに基づいて必要な処理を施し、処理結果をＣＰＵ１０へと渡す。
【００２２】
ＣＰＵ１０は、不揮発性メモリ１３や外部記憶媒体２２などに記憶されているＮＣプログラムで指令された移動指令を解析して移動指令データを生成し、該移動指令データに基づいてモータ制御インタフェース２０を経由して図示しない機械に取付けられたモータ２７を駆動し、該機械を制御する。
なお、図１では、スピンドル制御回路、スピンドルアンプ、手動パルス発生器用インタフェースなどは図示を省略している。
【００２３】
以下では、図１に示した構成を備えた数値制御装置１上で実行される信号トレース機能について説明する。
図２は、本実施形態の数値制御装置が備える機能を示す機能ブロック図である。本実施形態の数値制御装置１は、ＮＣ機能関連信号テーブル作成部１００、サンプリング信号テーブル作成部１１０、指令解析部１２０、補間部１３０、加減速部１４０、サーボ制御部１５０、トレース信号抽出部１６０、信号トレース部１７０を備える。なお、図２において、点線矢印はＮＣプログラムに基づく加工を開始する前に行われる準備処理時の指令乃至データの流れを示しており、実線矢印はＮＣプログラムに基づく加工を開始した際の制御処理および信号トレース処理の指令乃至データの流れを示している。
【００２４】
まず、加工を開始する前に行われる準備処理時に動作するＮＣ機能関連信号テーブル作成部１００、サンプリング信号テーブル作成部１１０について説明する。
ＮＣ機能関連信号テーブル作成部１００は、オペレータの操作などに基づいて、各補間機能や補助機能を実行する際に実際に使用されるＧコードや補助コード（Ｍコード、Ｓコード，Ｔコード等）と、プログラマブルコントローラ１８に出力する信号と、各機能に基づく外部の処理が完了したことを示す入力信号とを関連付けたＮＣ機能関連信号データが登録されるＮＣ機能関連信号テーブル２２０を作成し数値制御装置１のメモリ上に記憶する機能手段である。ＮＣ機能関連信号テーブル作成部１００は、ＭＤＩユニット２５を介してオペレータにより入力されたデータに基づいてＮＣ機能関連信号テーブル２２０を作成・編集するユーザインタフェース機能として実装してもよいし、外部機器２３で作成されたＮＣ機能関連信号テーブル２２０や、外部記憶媒体２２に記憶されているＮＣ機能関連信号テーブル２２０を読み込み・追加する機能として実装してもよい。また、ＮＣ機能関連信号テーブル２２０を記憶するメモリについては、不揮発性メモリ１３に記憶するようにしもよいし、将来的に変更などが行われない場合にはＲＯＭ１１に記憶しておくようにしてもよい。
【００２５】
ＮＣ機能関連信号テーブル２２０の例を図３に示す。ＮＣ機能関連信号テーブル２２０には、補間コード・補助コードに対して、出力信号、入力信号、備考等が関連付けられて登録される。ＮＣ機能関連信号テーブル２２０は、すべての機能コード、補助コードに関するＮＣ機能関連信号データを登録するようにしてもよいし、指定したコードのみのＮＣ機能関連信号データを登録したテーブルとすることもできる。また、ＮＣ機能関連信号テーブル２２０は、数値制御装置１のメーカー側であらかじめ作成しておくこともできるし、後でオプション機能を追加した時などに該オプション機能に関連する補間コード・補助コードに対するＮＣ機能関連信号データを追加するようにすることもできる。
【００２６】
サンプリング信号テーブル作成部１１０は、ＮＣ機能関連信号テーブル２２０から、各機能の関連信号と依存関係にある１つ以上の信号をラダープログラム２１０内から検索して、機能別サンプリング信号テーブル２３０を作成する。機能別サンプリング信号テーブル２３０は、各補間機能や補助機能を実行する際に実際に使用されるＧコードや補助コード（Ｍコード、Ｓコード、Ｔコード等）が実行された時にプログラマブルコントローラに出力されるコード出力信号、該コード出力信号と依存関係にある中間出力信号と外部出力信号、および、各機能に基づく外部の処理が完了したことを示すコード入力信号、該コード入力信号が依存関係にある中間入力信号と外部入力信号、を関連付けた機能別サンプリング信号データを登録したテーブルとして定義される。
【００２７】
以下に、機能別サンプリング信号テーブル２３０の作成処理の概要を説明する。
一般に、数値制御装置１の内部で用いられる信号や、制御対象の機械や周辺機器との間でやり取りされる信号は、図４に示すように、Ｆ信号やＧ信号（数値制御装置１内の数値制御部３０とプログラマブルコントローラ１８との間の信号）、Ｒ信号（内部信号）、Ｘ信号やＹ信号（外部の機械との間の信号）などがある。
【００２８】
図５は、数値制御装置１に記憶されている機能コードＧ１２．４に関するＮＣ機能関連信号データと、ラダープログラムの例を示している。サンプリング信号テーブル作成部１１０は、ＮＣ機能関連信号テーブル２２０に登録されているＮＣ機能関連信号データについて、該ＮＣ機能関連信号データのコード出力信号の接点およびコード入力信号のコイルをラダープログラム内から検索する。機能コードＧ１２．４に関連付けられているコード出力信号Ｆ８２．１の接点およびコード入力信号Ｇ６７．１のコイルは、図５のラダープログラム中の点線枠の位置にそれぞれ存在する。
【００２９】
次に、サンプリング信号テーブル作成部１１０は、ラダープログラム内の該コード出力信号および該コード入力信号と依存関係にある信号を抽出する。抽出の方法の一例としては、コード出力信号については、該コード出力信号の接点から右方向に経路を辿っていくことで該コード出力信号に関連する各接点（並列接点、直列接点を含む）の信号、および該出力信号により動作するコイル（並列コイルを含む）の信号を特定する。そして、特定されたコイルに係る信号の接点をラダープログラム内から検索する。該信号の接点がラダープログラム内に存在する場合には、該信号を中間出力信号として抽出する。そして、該中間出力信号の接点から右方向に経路を辿っていくことで該中間出力信号に関連する各接点（並列接点、直列接点を含む）の信号、および該中間出力信号により動作するコイル（並列コイルを含む）の信号を特定し、特定されたコイルに係る信号の接点をラダープログラム内から検索する。以上の処理を、特定されたコイルに係る信号の接点がラダープログラム内に存在しないところまで繰返し、最後に特定された信号を外部出力信号として抽出する。
【００３０】
一方で、コード入力信号については、該コード入力信号のコイルから左方向に経路を辿っていくことで該コード入力信号の動作に係る各接点（並列接点、直列接点を含む）の信号を特定する。そして、特定された接点に係る信号の元となるコイルをラダープログラム内から検索する。該信号の元となるコイルがラダープログラム内に存在する場合には、該信号を中間入力信号として抽出する。そして、該中間入力信号の接点から左方向に経路を辿っていくことで該中間入力信号に関連する各接点（並列接点、直列接点を含む）の信号を特定し、特定された接点に係る信号の元となるコイルをラダープログラム内から検索する。以上の処理を、特定された接点に係る信号の元となるコイルがラダープログラム内に存在しないところまで繰返し、最後に特定された信号を外部入力信号として抽出する。
【００３１】
図６は、図５に示したラダープログラムにおける、機能コードＧ１２．４に関するコード出力信号およびコード入力信号と依存関係にある信号の抽出例を示している。図５に示したラダープログラムにおいて、コード出力信号Ｆ８２．１の接点から経路を右方向へ辿ると、コイルＲ０．１とコイルＲ０．２が特定される。これらコイルに対応する接点はラダープログラム内に存在するので、信号Ｒ０．１および信号Ｒ０．２は中間出力信号として抽出される。次に、接点Ｒ０．１から経路を右方向へ辿ると、コイルＹ０．０とコイルＹ０．１が特定される。これらコイルに対応する接点はラダープログラム内に存在しないので、信号Ｙ０．０および信号Ｙ０．１は外部出力信号として抽出される。同様に、接点Ｒ０．２から経路を右方向へ辿ってコイルＹ０．２が特定され、該コイルに対応する接点がラダープログラム内に存在しないので、信号Ｙ０．２もまた外部出力信号として抽出される。
【００３２】
一方で、図５に示したラダープログラムにおいて、コード入力信号Ｇ６７．１のコイルから経路を左方向へ辿ると、接点Ｒ１．０と接点Ｒ１．１が特定される。これら接点に対応するコイルはラダープログラム内に存在するので、信号Ｒ１．０および信号Ｒ１．１は中間入力信号として抽出される。次に、コイルＲ１．０から経路を左方向へ辿ると、接点Ｘ１．０が特定される。該接点に対応するコイルはラダープログラム内に存在しないので、信号Ｘ１．０は外部入力信号として抽出される。同様に、接点Ｒ１．１から経路を左方向へ辿って接点Ｘ１．１が特定され、該接点に対応するコイルがラダープログラム内に存在しないので、信号Ｘ１．１もまた外部入力信号として抽出される。
【００３３】
このようにして抽出した、機能コードＧ１２．４のコード出力信号と依存関係にある中間出力信号と外部出力信号、および、コード入力信号と依存関係にある中間入力信号と外部入力信号、とを関連付けた機能別サンプリング信号データを図７に示す。同様の処理をＮＣ機能関連信号テーブル２２０に登録されている各機能コードに対して行い、各機能コードの機能別サンプリング信号データを作成して登録することで、機能別サンプリング信号テーブル２３０の作成が行われる。機能別サンプリング信号テーブル２３０を記憶するメモリについては、不揮発性メモリ１３に記憶するようにしもよいし、将来的に変更などが行われない場合にはＲＯＭ１１に記憶しておくようにしてもよい。また、機能別サンプリング信号テーブル２３０は、あらかじめ記憶してあるラダープログラムについては数値制御装置１のメーカー側で作成しておくこともできるし、後に追加されたラダープログラムについては工場側などで追加するようにすることともできる。
【００３４】
図２に戻って、上記のように作成されたＮＣ機能関連信号テーブル２２０、機能別サンプリング信号テーブル２３０を用いる加工時に動作する機能手段について説明する。
指令解析部１２０は、メモリ等に記憶されたＮＣプログラム２００のブロックを先読みして解析し、移動指令がある場合には移動指令データを作成して補間部１３０へ出力する。また、先読みしたブロックに補間機能や補助機能などの信号の出力を伴う機能に係る指令が含まれている場合、該指令の機能コードをトレース信号抽出部１６０へ出力する。１ブロック内に複数の補間機能、補助機能が存在する場合は、各々の機能コードをトレース信号抽出部１６０へ出力する。なお、プログラマブルコントローラ１８へのコード出力信号の出力やコード入力信号の入力は、各補間機能や補助機能により行われる為、図では省略している。
【００３５】
補間部１３０は、指令解析部１２０が出力した移動指令データにより指令される移動指令に基づいて指令経路上の点を補間周期で補間計算したデータを生成する。加減速部１４０は、補間部１３０が出力した補間データに基づいて、加減速処理を行い補間周期毎の各駆動軸の速度を算出し、結果データをサーボ制御部１５０へ出力する。そして、サーボ制御部１５０は、加減速部１４０の出力に基づいて機械の各駆動部を制御する。
【００３６】
一方で、トレース信号抽出部１６０はＮＣ機能関連信号テーブル２２０を参照し、指令解析部１２０から出力された機能コードがＮＣ機能関連信号テーブル２２０に登録されているかを判定する。指令解析部１２０から出力された機能コードがＮＣ機能関連信号テーブル２２０に登録されている場合には、該機能コードのコード出力信号およびコード入力信号に基づいて、機能別サンプリング信号テーブル２３０からトレースする信号に係る情報を抽出し、該抽出した信号をトレースするように信号トレース部１７０に対して指令する。指令解析部１２０から複数の機能コードが出力されてきた場合には、各々の機能コードについて機能別サンプリングテーブル２３０からトレースする信号を抽出する。トレース信号抽出部１６０は、作業者の設定に基づいて全部、または一部の信号をトレースするように信号トレース部１７０に対して指令することができる。作業者が、全ての信号をトレースするように設定している場合には、トレース信号抽出部１６０は、機能別サンプリング信号テーブル２３０から抽出された全ての信号（コード出力信号、中間出力信号、外部出力信号、コード入力信号、中間入力信号、外部入力信号）をトレースするように信号トレース部１７０に指令する。また、作業者が中間信号（中間出力信号、中間入力信号）以外の信号をトレースするように設定している場合には、トレース信号抽出部１６０は、機能別サンプリング信号テーブル２３０から抽出されたコード出力信号、外部出力信号、コード入力信号、外部入力信号の各信号をトレースするように信号トレース部１７０に指令する。また、例えば、作業者は出力関連信号あるいは、入力関連信号のみをトレースするように設定することもできる。なお、作業者による設定は、数値制御装置１の画面から設定するようにすることもできるし、ＮＣプログラムに記載するコードにより設定するようにすることもできる。
【００３７】
信号トレース部１７０は、プログラマブルコントローラ１８における信号の変化を監視して、トレース信号抽出部１６０から指令された信号をトレースし、トレースした結果を不揮発性メモリ１３やＲＡＭ１２に保存する。また、作業者の指令に基づいて、信号のトレース結果を表示コントローラ１６を介して表示ユニット２４に表示する。なお、信号のトレース結果の表示は、保存されたデータを後で表示するようにしてもよいし、加工時にリアルタイムで表示するようにしてもよい。
【００３８】
図８は、機能別サンプリング信号テーブル２３０から抽出された全ての信号をトレースした場合のトレース結果出力画面の例である。トレース結果出力画面においては、図に示すように、横軸を時間軸として各信号を縦に並べて表示するようにすることもできるし、他の表示形式を取るようにしてもよい。また、各信号に関連付けてＮＣ機能関連信号テーブル２２０から取得される備考欄の説明などを表示するようにしてもよい。
図９は、作業者が中間信号（中間出力信号、中間入力信号）以外の信号をトレースするように設定している場合におけるトレース結果出力画面の例である。このように、作業者の設定に基づいて必要な信号のみのトレース結果を出力するようにすることもできる。
【００３９】
図１０は、本実施形態の数値制御装置１上で実行される処理を示すフローチャートである。なお、図において、ステップＳＡ０１，ＳＡ０２は加工が開始される前に行われる処理を示しており、また、ステップＳＡ０３〜ＳＡ０８は加工時における処理を示している。
●［ステップＳＡ０１］ＮＣ機能関連信号テーブル作成部１００が、各補間機能、補助機能実行時に入出力する信号を登録したＮＣ機能関連信号テーブル２２０を作成する。
●［ステップＳＡ０２］サンプリング信号テーブル作成部１１０が、ＮＣ機能関連信号テーブル２２０とラダープログラム２１０とに基づいて、機能別サンプリング信号テーブル２３０を作成する。
【００４０】
●［ステップＳＡ０３］数値制御装置１が、ＮＣプログラム２００の実行を開始する。
●［ステップＳＡ０４］指令解析部１２０が先読みしたブロック内の機能コード、補助コードを取得する。
●［ステップＳＡ０５］ステップＳＡ０４で取得したコードがＮＣ機能関連信号テーブル２２０に登録されているか否かを判定する。登録されている場合にはステップＳＡ０６へ進み、登録されていない場合にはステップＳＡ０７へ進む。
【００４１】
●［ステップＳＡ０６］トレース信号抽出部１６０が、ステップＳＡ０４で取得したコードに対応する信号を機能別サンプリング信号テーブル内から抽出し、信号トレース部１７０が抽出された信号の自動トレースを開始する。
●［ステップＳＡ０７］ステップＳＡ０４で読み出したブロックの機能コード、補助コードを実行する。
●［ステップＳＡ０８］ＮＣプログラム２００内に次のブロックがあるか判定する。次のブロックがある場合にはステップＳＡ０９へ進み、次のブロックが無い場合にはＮＣプログラム２００の実行を終了する。
●［ステップＳＡ０９］信号トレース部１７０による信号のトレースを終了し、結果をメモリに保存し、ステップＳＡ０４に戻る。
【００４２】
このように、本実施形態の数値制御装置では、実行するＮＣプログラム２００の全てのブロックにわたって自動トレースを行うことができる。入出力信号を持たない補間機能、補助機能をもつブロックはＮＣ機能関連信号テーブル２２０に登録されないため、自動トレースは行われない。また、作業者がブロックを指定して自動トレースを行うことができるようにしてもよい。この場合、自動トレースのＯＮ／ＯＦＦを指令するブロックをＮＣプログラム２００内に記載するようにしてもよいし、ＮＣプログラム２００を実行する際にＮＣプログラム２００を表示ユニット２４に表示して、ＭＤＩユニット２５を操作して自動トレースするブロックを指示できるようにしてもよい。
【００４３】
また、微小ブロックなどのように、複数のブロックで１まとまりの制御が行われるような場合には、複数ブロックを１つのブロックとみなしてトレースすることも可能である。この場合、一括トレースのＯＮ／ＯＦＦを指令するブロックをＮＣプログラム２００内に記載するようにしてもよいし、ＮＣプログラム２００を実行する際にＮＣプログラム２００を表示ユニット２４に表示して、ＭＤＩユニット２５を操作して一括トレースするブロックを指示できるようにしてもよい。
【００４４】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００４５】
例えば、上記した実施形態では、ＮＣプログラム２００の実行中に先読みしながら所定の機能別サンプリング信号テーブル２３０を検索する方式を用いているが、ＮＣプログラム２００の実行前にＮＣプログラム２００を解析しておき、機能別サンプリング信号テーブル２３０から、あらかじめ各ブロックにおいて自動トレースをおこなう信号テーブルを作成し、該信号テーブルを参照しながら信号トレース部１７０が自動トレースを行うようにしてもよい。
【００４６】
また、上記した実施形態では、トレース信号抽出部１６０は、ＮＣ機能関連信号テーブル２２０を参照してコード出力信号およびコード入力信号を特定し、機能別サンプリング信号テーブル２３０を参照して自動トレースの対象となる信号を抽出するようにしているが、機能別サンプリング信号テーブル２３０に機能コードを含むようにすることで、トレース信号抽出部１６０が機能別サンプリング信号テーブル２３０のみを参照して指令解析部１２０から出力された機能コードから直接自動トレースの対象となる信号を抽出するように構成することができる。
【符号の説明】
【００４７】
１  数値制御装置
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  不揮発性メモリ
１４  外部記憶媒体インタフェース
１５  外部インタフェース
１６  表示コントローラ
１７  ＭＤＩコントローラ
１８  プログラマブルコントローラ
１９  外部信号インタフェース
２０  モータ制御インタフェース
２１  バス
２２  外部記憶媒体
２３  外部機器
２４  表示ユニット
２５  ＭＤＩユニット
２６  Ｉ／Ｏ機器
２７  モータ
１００  ＮＣ機能関連信号テーブル作成部
１１０  サンプリング信号テーブル作成部
１２０  指令解析部
１３０  補間部
１４０  加減速部
１５０  サーボ制御部
１６０  トレース信号抽出部
１７０  信号トレース部
２００  ＮＣプログラム
２１０  ラダープログラム
２２０  ＮＣ機能関連信号テーブル
２３０  機能別サンプリング信号テーブル
【図１】
0006309927.tif 000002
【図２】
0006309927.tif 000003
【図３】
0006309927.tif 000004
【図４】
0006309927.tif 000005
【図５】
0006309927.tif 000006
【図６】
0006309927.tif 000007
【図７】
0006309927.tif 000008
【図８】
0006309927.tif 000009
【図９】
0006309927.tif 000010
【図１０】
0006309927.tif 000011