(57)【要約】【課題】プログラム取得要求順序を最適化する数値制御装置を提供する。【解決手段】記憶媒体に格納されたプログラムの転送を受けて運転される複数の運転単位を有する数値制御装置１は、前記運転単位各々からのプログラム転送要求を受け付ける事前要求受付部１０１と、前記プログラム転送要求を一時的に格納する待機バッファ１０２と、前記待機バッファ１０２から、優先的に転送すべき前記プログラム転送要求である高頻度割り当て運転単位を決定する要求調整部１０３と、高頻度割り当て運転単位を最優先で転送するデータ取得要求制御部１０４と、を有する。【選択図】図８
2020042517.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体に格納されたプログラムの転送を受けて運転される複数の運転単位を有する数値制御装置であって、
前記運転単位各々からのプログラム転送要求を受け付ける事前要求受付部と、
前記プログラム転送要求を一時的に格納する待機バッファと、
前記待機バッファから、優先的に転送すべき前記プログラム転送要求である高頻度割り当て運転単位を決定する要求調整部と、
高頻度割り当て運転単位を最優先で転送するデータ取得要求制御部と、を有することを特徴とする
数値制御装置。
【請求項２】
優先的に転送すべき前記プログラム転送要求を判断するための条件である優先運転単位判断情報を格納する優先運転単位判断情報格納部をさらに有し、
前記要求調整部は、前記優先運転単位判断情報に基づいて、高頻度割り当て運転単位を選択する決定することを特徴とする
請求項１に記載の数値制御装置。
【請求項３】
前記優先運転単位判断情報は、前記数値制御装置の過去の運転データやその解析データに基づく情報を含むことを特徴とする
請求項２に記載の数値制御装置。
【請求項４】
前記優先運転単位判断情報は、前記数値制御装置の現在の運転状態に基づく情報を含むことを特徴とする
請求項２に記載の数値制御装置。
【請求項５】
前記優先運転単位判断情報は、優先して転送すべきプログラムをユーザが指定した情報を含むことを特徴とする
請求項２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特にプログラム取得要求順序を最適化する数値制御装置に関する。
【背景技術】
【０００２】
複数プログラムの同時運転が可能な数値制御装置がある。数値制御装置がプログラムに従って制御する動作の単位を運転単位と称する。運転単位は、運転系統、又は単に系統と称されることもある。
【０００３】
図１は、各運転単位がプログラムを取得する際のフローを示している。プログラムは記憶媒体に格納されている。各運転単位は、データ取得要求制御部に対し、記憶媒体からプログラムを転送するよう要求する。データ取得要求制御部が記憶媒体からプログラムを取得し、各運転単位に引き渡す。各運転単位は、取得されたプログラムをメモリに展開して運転を行う。
【０００４】
運転単位には大きく２種類ある。実際の加工を行う運転単位（以降、加工運転単位）と、図２及び図３に示すような、テーブル、ワーク交換、ローダ軸、バックドリル及び工具交換等の周辺軸を制御する運転単位（以降、周辺運転単位）である。加工運転単位は精度と密接に関連する運転単位であるため、周辺運転単位よりも安定して動作させる必要性がある。しかし稀に、加工運転単位のプログラム転送要求が、周辺運転単位のプログラム転送要求によって阻害されてしまうことがある。すなわち、タイミングによっては、周辺運転単位のプログラム転送を行っていることが原因で、加工運転単位のプログラム転送に遅れが生じてしまうことがある。これにより、スループットの低下や加工精度の低下を招く恐れがある。このような事態を回避するためには、特定の運転単位（加工運転単位）に関するプログラム転送を優先的に処理するような制御を行うことが望まれる。
【０００５】
図３に、プログラム転送の阻害が生じる状況の一例を示す。プログラムの同時転送数は、ハードウェア又はソフトウェア上の理由により上限がある。例えばプログラム転送を処理するためのスロットの上限数は、ハードウェアのバッファサイズ等に依存する。データ取得要求制御部は、上限を超える数のプログラム取得要求に同時に対応することはできないため、図４に×印で示すように、一時的に、一部の要求に対する応答（プログラムの転送）を保留させざるを得ない状態が発生することがある。
【０００６】
特許文献１には、プログラム転送に優先順位を付すことが可能な数値制御装置が記載されている。特許文献２には、複数の運転単位からのプログラム転送要求を処理できる数値制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平３−１８９７０５号公報
【特許文献２】特開平４−０６８４０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、引用文献１及び２はいずれも、複数の運転単位間でプログラム転送要求の優先度を制御するという思想や、当該思想を実現するための具体的な手法を開示していない。
【０００９】
本発明はこのような課題を解決するためのものであり、プログラム取得要求に対する応答順序を最適化する数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一実施形態にかかる数値制御装置は、記憶媒体に格納されたプログラムの転送を受けて運転される複数の運転単位を有する数値制御装置であって、前記運転単位各々からのプログラム転送要求を受け付ける事前要求受付部と、前記プログラム転送要求を一時的に格納する待機バッファと、前記待機バッファから、優先的に転送すべき前記プログラム転送要求である高頻度割り当て運転単位を決定する要求調整部と、高頻度割り当て運転単位を最優先で転送するデータ取得要求制御部と、を有することを特徴とする。
本発明の一実施形態にかかる数値制御装置は、優先的に転送すべき前記プログラム転送要求を判断するための条件である優先運転単位判断情報を格納する優先運転単位判断情報格納部をさらに有し、前記要求調整部は、前記優先運転単位判断情報に基づいて、高頻度割り当て運転単位を選択する決定することを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記優先運転単位判断情報は、前記数値制御装置の過去の運転データやその解析データに基づく情報を含むことを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記優先運転単位判断情報は、前記数値制御装置の現在の運転状態に基づく情報を含むことを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記優先運転単位判断情報は、優先して転送すべきプログラムをユーザが指定した情報を含むことを特徴とする。
【発明の効果】
【００１１】
本発明により、プログラム取得要求に対する応答順序を最適化する数値制御装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】従来の数値制御装置の動作を示す図である。
【図２】従来の課題を示す図である。
【図３】従来の課題を示す図である。
【図４】従来の課題を示す図である。
【図５】数値制御装置１のハードウェア構成例を示す図である。
【図６】従来の数値制御装置の機能構成を示す図である。
【図７】従来の数値制御装置の動作を示す図である。
【図８】数値制御装置１の機能構成を示す図である。
【図９】数値制御装置１の動作を示す図である。
【図１０】従来の数値制御装置の動作を示す図である。
【図１１】数値制御装置１の動作を示す図である。
【図１２】数値制御装置１の動作を示す図である。
【図１３】数値制御装置１の動作を示す図である。
【発明を実施するための形態】
【００１３】
本発明の実施の形態にかかる数値制御装置１は、図１３に示すように、プログラム要求の順序を最適化することで、上記課題を解決するものである。
【００１４】
図５は、本発明の実施の形態にかかる数値制御装置１の要部を示す概略的なハードウェア構成図である。数値制御装置１は、工作機械を含む産業用機械の制御を行う装置である。数値制御装置１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、バス１０、軸制御回路１６、サーボアンプ１７、インタフェース１８を有する。数値制御装置１には、サーボモータ５０、入出力装置６０が接続される。
【００１５】
ＣＰＵ１１は、数値制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス１０を介して読み出し、システム・プログラムに従って数値制御装置１全体を制御する。
【００１６】
ＲＯＭ１２は、例えば工作機械等の産業用機械の各種制御を実行するためのシステム・プログラムを予め格納している。
【００１７】
ＲＡＭ１３は、一時的な計算データや表示データ、入出力装置６０を介してオペレータが入力したデータやプログラム等を一時的に格納する。
【００１８】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされており、数値制御装置１の電源が遮断されても記憶状態を保持する。不揮発性メモリ１４は、入出力装置６０から入力されるデータやプログラム等を格納する。不揮発性メモリ１４に記憶されたプログラムやデータは、実行時及び利用時にはＲＡＭ１３に展開されても良い。
【００１９】
軸制御回路１６は、産業用機械の動作軸を制御する。軸制御回路１６は、ＣＰＵ１１が出力する軸の移動指令量を受けて、動作軸の移動指令をサーボアンプ１７に出力する。
【００２０】
サーボアンプ１７は、軸制御回路１６が出力する軸の移動指令を受けて、サーボモータ５０を駆動する。
【００２１】
サーボモータ５０は、サーボアンプ１７により駆動されて産業用機械の動作軸を動かす。サーボモータ５０は、典型的には位置・速度検出器を内蔵する。位置・速度検出器は位置・速度フィードバック信号を出力し、この信号が軸制御回路１６にフィードバックされることで、位置・速度のフィードバック制御が行われる。
【００２２】
なお、図５では軸制御回路１６、サーボアンプ１７、サーボモータ５０は１つずつしか示されていないが、実際には制御対象となる産業用機械に備えられた軸の数だけ用意される。例えば親軸、子軸の２軸を制御する場合、軸制御回路１６、サーボアンプ１７、サーボモータ５０は２セット用意される。
【００２３】
入出力装置６０は、ディスプレイやハードウェアキー等を備えたデータ入出力装置であり、典型的にはＭＤＩ又は操作盤である。入出力装置６０は、インタフェース１８を介してＣＰＵ１１から受けた情報をディスプレイに表示する。入出力装置６０は、ハードウェアキー等から入力された指令やデータ等をインタフェース１８を介してＣＰＵ１１に渡す。
【００２４】
本実施の形態にかかる数値制御装置１の特徴的な機能構成を、従来の数値制御装置の機能構成と対比して示す。
【００２５】
図６は従来の数値制御装置の機能構成を示すブロック図である。従来の数値制御装置は、各運転単位からのプログラム転送要求を受け付ける待機バッファ、待機バッファにプログラム運転要求が到着した順に記憶媒体から運転単位へプログラムを転送するデータ取得要求制御部を有する。図７のフローチャートに示すように、従来の数値制御装置は、プログラム転送要求を受け付けた時点の空き処理スロットで、直ちにプログラム転送処理を開始する。仮にその時点で空きスロットがなければ、プログラム転送要求は拒否される。そのため、タイミング次第では、図６に示すように、周辺運転単位２や３の要求を処理している間、加工運転単位１の要求を拒否せざるを得ない場合（図中に×印で示す）が生じうる。
【００２６】
図８は、本実施の形態にかかる数値制御装置１の機能構成を示す図である。数値制御装置１は、本発明の特徴的な動作を実現するための処理部として、事前要求受付部１０１、待機バッファ１０２、要求調整部１０３、データ取得要求制御部１０４、優先運転単位判断情報格納部１０５を有する。図９のフローチャートを参照しつつ、これらの処理部の動作について説明する。
【００２７】
事前要求受付部１０１は、各運転単位からのプログラム転送要求を受け付けて、待機バッファ１０２に一時的に蓄積する。これにより、プログラム転送要求は待ち状態となる（Ｓ１０１）。
【００２８】
要求調整部１０３は、優先運転単位判断情報格納部１０５に格納されている優先運転単位判断情報に基づいて、プログラム転送要求を実行する優先度を決定する。
【００２９】
優先運転単位判断情報には、例えば以下のような情報が含まれる。
・ユーザ設定
・ユーザが予め指定した、取得頻度の高い（又は低い）プログラム名（又はプログラム番号等）であるか。
・取得頻度の高い（又は低い）プログラムを格納するためにユーザが予め指定したフォルダ又はメモリ領域内に存在するプログラムか。
・運転状態
・取得頻度が高い（又は低い）ことが予め判っているプログラムが実行されているか。
・取得頻度が高い（又は低い）ことが予め判っている機能を利用する運転単位であるか。
・高速な、すなわちデータ転送速度が所定の閾値以上である（又は低速な、すなわちデータ転送速度が所定の閾値未満である）記憶媒体や通信方式を使用してプログラムを取得しているか。
・過去の運転データやその解析データ
・過去に運転した時に、データ取得頻度又は時間が所定の閾値以上（又は未満）であったプログラムか。
【００３０】
要求調整部１０３は、待機バッファ１０２に格納されているデータ転送要求において要求されているプログラムが、優先運転単位判断情報で指定されたプログラムに該当するか否かを判断する。該当する場合、その運転単位におけるプログラムの取得頻度を上げる（又は下げる）。すなわち、他の運転単位と比べて優先的に（又は劣後して）プログラム転送処理を開始する。
【００３１】
例えば、取得頻度が高い（又は低い）ことが予め判っているプログラムには、例えば微小線分やパルスデータ等を含むプログラムがある。要求調整部１０３は、待機バッファ１０２に格納されているデータ転送要求において要求されているプログラムが、このようなプログラムであるか否かを判定する。例えば微小線分を指令として含むプログラムであれば、要求調整部１０３は、このプログラムを要求した運転単位のプログラム取得頻度を上げる処理を行う。
【００３２】
また、例えば、待機バッファ１０２に格納されているデータ転送要求において要求されているプログラムが、データ転送速度が所定の閾値未満である低速な記憶媒体に格納されている場合、要求調整部１０３は、このプログラムを要求した運転単位のプログラム取得頻度（優先度）を上げる処理を行う。
【００３３】
要求調整部１０３により「プログラム取得頻度を上げる」処理が行われた運転単位を、高頻度割り当て運転単位と称する。一方、かつて高頻度割り当て運転単位であって、要求調整部１０３により「プログラム取得頻度を下げる」処理が行われた運転単位は、もはや高頻度割り当て運転単位とは称されない。要求調整部１０３は、高頻度割り当て運転単位からのプログラム転送要求については、次に空き処理スロットが生じた際に、当該処理スロットで強制的に（先着のプログラム転送要求が存在したとしても）転送を実行する。
【００３４】
データ取得要求制御部１０４は、要求調整部１０３が決定した優先度に従ってプログラム転送要求を実行する。すなわち、待機バッファ１０２からプログラム転送要求を取り出し、次に空く処理スロットを使用して、要求されたプログラムの記憶媒体からの取得及び運転単位への転送を実行する。高頻度割り当て運転単位が存在する場合は当該運転単位を最優先で転送し、その他の運転単位は可能な限り等頻度で転送する。高頻度割り当て運転単位が存在しない場合は、全ての運転単位を等頻度で転送する。
【００３５】
図１０乃至図１３を用いて、従来の数値制御装置と対比しつつ、本実施の形態にかかる数値制御装置１の動作例について説明する。この例では、プログラム転送処理に同時に使用できる処理スロット数が２であるものとする。
【００３６】
図１０は、従来の数値制御装置によるプログラム転送処理の動作例を示す図である。グラフの横軸は時間（１マスは１制御周期）を示している。この例では、運転単位３→２→１の順に周期的にプログラム転送要求が発生している。運転単位２及び３の転送処理にそれぞれ３制御周期を要するとした場合、タイミングによっては、図１０に示すように、運転単位１のプログラム転送要求が毎度拒絶される（×印で示す）事態も生じうる。
【００３７】
図１１及び図１２は、本実施の形態の数値制御装置１によるプログラム転送処理の動作例を示す図である。この例でも、運転単位３→２→１の順に周期的にプログラム転送要求が発生している。プログラム転送要求は、一旦待機バッファ１０２に蓄えられ、要求調整部１０３により高頻度割り当て運転単位が決定される。
【００３８】
図１２は、高頻度割り当て運転単位が存在しない場合の動作例である。この場合、全運転単位に可能な限り等頻度に空きスロットが割り当てられる。図中の★印は優先運転単位、すなわち次に空きスロットが生じた際にデータ転送が実行される運転単位を示している。要求調整部１０３は、各運転単位に対し可能な限り等頻度でプログラム転送処理が実行されるよう、優先運転単位を決定する。
【００３９】
図１１は、高頻度割り当て運転単位が存在しない場合の動作例である。この場合、高頻度割り当て運転単位に最優先で空きスロットが割り当てられる。その他の運転単位には、可能な限り等頻度に空きスロットが割り当てられる。図中に白い矢印で示されているように、高頻度割り当て運転単位が発生すると、その時点での優先運転単位が、強制的に高頻度割り当て運転単位に変更される。高頻度割り当て運転単位の転送処理が終了すると、優先運転単位は元の状態（変更前の優先運転単位）に戻される。
【００４０】
本実施の形態によれば、要求調整部１０３が優先運転単位判断情報に基づいて高頻度割り当て運転単位を決定し、データ取得要求制御部１０４は高頻度割り当て運転単位を最優先で転送する。これにより、精度に重要な影響を及ぼす運転単位などを優先して動作させることができるので、精度やスループットが向上する。
【００４１】
また、本実施の形態によれば、データ取得要求制御部１０４は高頻度割り当て運転単位以外の運転単位については可能な限り等頻度で処理スロットを割り当てて転送を行う。これにより、プログラムを取得できない運転単位が生じることを抑制できる。
【００４２】
なお、本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を損なわない限り適宜変更可能である。例えば、上述の実施の形態では、高頻度割り当て運転単位として１つの運転単位を選定した。しかしながら、例えば要求調整部１０３は、優先運転単位判断情報の各々に重み付けをするなどして、転送処理の優先度を複数段階で評価できるように構成しても良い。この場合、データ取得要求制御部１０４は、最も優先度の高い運転単位から順に転送処理を行う。
【符号の説明】
【００４３】
１  数値制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１８  インタフェース
１０  バス
１６  軸制御回路
１７  サーボアンプ
５０  サーボモータ
６０  入出力装置
１０１  事前要求受付部
１０２  待機バッファ
１０３  要求調整部
１０４  データ取得要求制御部
１０５  優先運転単位判断情報格納部
【図１】
2020042517.tif 000003
【図２】
2020042517.tif 000004
【図３】
2020042517.tif 000005
【図４】
2020042517.tif 000006
【図５】
2020042517.tif 000007
【図６】
2020042517.tif 000008
【図７】
2020042517.tif 000009
【図８】
2020042517.tif 000010
【図９】
2020042517.tif 000011
【図１０】
2020042517.tif 000012
【図１１】
2020042517.tif 000013
【図１２】
2020042517.tif 000014
【図１３】
2020042517.tif 000015