(57)【要約】【課題】複数の加工ステーションを持つロータリインデックスマシン等の制御において、多品種のワークの大量生産を、従来よりも簡便に実現するための数値制御装置を提供すること。【解決手段】１つのワークに対して複数の工程があり、工程間で搬送動作を行う複数の系統をまとめて多系統制御する工作機械の数値制御装置１０であって、工程の実行指令と工程間の搬送指令とが記載された、系統に対応するワーク毎に生成された複数の加工プログラムを実行する実行部１０６を備える。【選択図】図４
2019113921.tif 000002
【特許請求の範囲】
【請求項１】
１つのワークに対して複数の工程があり、工程間で搬送動作を行う複数の系統をまとめて多系統制御する工作機械の数値制御装置であって、
前記工程の実行指令と前記工程間の搬送指令とが記載された、前記系統に対応する前記ワーク毎に生成された複数の加工プログラムを実行する実行部を備える、数値制御装置。
【請求項２】
前記工程の実行指令と前記工程間の搬送指令とが記載された、前記系統に対応する加工プログラムを前記ワーク毎に生成する加工プログラム生成部を更に備える、請求項１に記載の数値制御装置。
【請求項３】
前記加工プログラムに記載された前記工程間の搬送指令のタイミングを、前記系統間で調停する調停部を更に備える、請求項１又は２に記載の数値制御装置。
【請求項４】
前記搬送指令を、当該搬送指令の優先度である搬送優先度と共に受け付ける搬送指令受付部を更に備え、
前記調停部は、前記搬送指令のタイミングを前記搬送優先度に基づいて調停する、請求項３に記載の数値制御装置。
【請求項５】
前記加工プログラムに記載された前記工程を判別する工程判別部と、
前記工程判別部により判別された前記工程間に前記搬送指令を登録する搬送指令登録部を更に備える、請求項４に記載の数値制御装置。
【請求項６】
各系統に対応する前記加工プログラム中の前記搬送指令の順序に基づいて、前記搬送優先度を計算する搬送優先度計算部を更に備え、
前記調停部は、前記搬送優先度計算部により計算された前記搬送優先度に基づいて、前記搬送指令のタイミングを調停する、請求項４又は５に記載の数値制御装置。
【請求項７】
前記系統毎の優先度である系統優先度を受け付ける系統優先度受付部を更に備え、
前記調停部は、前記搬送優先度と前記系統優先度とに基づいて前記搬送指令のタイミングを調停する、請求項４に記載の数値制御装置。
【請求項８】
前記調停部が、他数値制御装置と互いに通信し、自数値制御装置による多系統制御に含まれる１つ以上の搬送指令のタイミングと、他数値制御装置による多系統制御に含まれる１つ以上の搬送指令のタイミングとをまとめて調停する、請求項３〜７のいずれか１項に記載の数値制御装置。
【請求項９】
前記加工プログラム中に記載された前記搬送指令から、任意のｎ番目の搬送指令を指定する搬送指令指定部と、
前記ｎ番目の搬送指令の前に実施すべき搬送前指令を、前記加工プログラムに登録する搬送前指令登録部と、
前記ｎ番目の搬送指令の後に実施すべき搬送後指令を、前記加工プログラムに登録する搬送後指令登録部と、
を更に備える、請求項１〜８のいずれか１項に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関する。
【背景技術】
【０００２】
従来、数値制御装置においては、複数の系統をまとめて制御する多系統制御により工程集約が実現されている。その代表例として、ロータリインデックスマシンを制御する数値制御装置が挙げられる。
【０００３】
ロータリインデックスマシンは、複数の加工ステーションを持ち、各ステーションでは異なる加工が行われる。また、ロータリインデックスマシンでは、全てのステーションでの加工が終わった際、ステーション間共通の搬送軸を回転させることで、各ステーションのワークをまとめて同時に次のステーションへと搬送する。
【０００４】
図２５は、ロータリインデックスマシンの一例を示す。ステーション１においてはワークの搬入作業が実行される。ステーション２においては、ワークに対するミリング加工が実行される。ステーション３においては、ワークに対するドリリング加工が実行される。ステーション４においては、ワークの搬出作業が実行される。更に、ステーション１〜ステーション４の搬送軸が回転することにより、１つのワークは、ステーション１、ステーション２、ステーション３、ステーション４の順に搬送される。
【０００５】
図２６は、説明の簡便化のため、図２５に示すロータリインデックスマシンの搬送動作を線形に展開したものである。ワーク１からワーク４の各々のワークは、ステーション１（系統１）、ステーション２（系統２）、ステーション３（系統３）、ステーション４（系統４）の順で搬送されることにより、順に搬入作業、ミリング加工、ドリリング加工、搬出作業の対象となる。また、例えば、ワーク１がステーション１からステーション２に搬送されると共に、新たなワーク２がステーション１に搬入され、ワーク１がステーション２からステーション３に、ワーク２がステーション１からステーション２に搬送されると共に、新たなワーク３がステーション１に搬入される。これらの搬送動作は、各時点において、ステーション１〜ステーション４における全工程が終了したした際に、まとめて実行される。
【０００６】
特許文献１にも開示されるように、ロータリインデックスマシンでは、各ステーションが異なる機器や工具を備え、各ステーションが異なるワークに対して、個別の工程を実施している。
この際、従来は、数値制御装置側で、機器（工具）毎の工程を記述した加工プログラムを用意し、各機器が、加工プログラムに従った工程作業を異なるワークに対して繰り返し実行している。また搬送動作については、各ステーションに対応するいずれかの系統、又はそれら以外の系統が代表して実行している。このように、従来の実施形態においては、各系統と各機器（工具）とが対応する。すなわち、従来における「系統」とは、機器（工具）毎に設けられる制御系統のことであった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−４８０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、このようなロータリインデックスマシンは、基本的には一種類のワークを大量に生産するのに適している一方で、多品種のワークの大量生産には向いていなかった。
更に、従来のように、機器（工具）毎に加工プログラムを用意すると、以下のような問題が生じる。すなわち、複数の加工プログラムの各々がどのような順序でワークに対して実行されるかが、各加工プログラムからは読み取れず、加工プログラムの実行順序を認識するためは、各加工プログラムが、どの系統（機器）に登録されているか、及び、各ステーションや機器が、どの順に並んでおり、１つのワークに対してどの順で加工を行うかを知る必要があった。
また、加工プログラムへの搬送指令の記述が難しく、手間がかかった。具体的には、いずれかのステーションの加工中に搬送指令すると、そのステーションが破損してしまう。そのため、加工プログラムにおいて、搬送指令前に、全系統の加工完了の待ち合わせ指令を記述する必要があった。
【０００９】
そこで、本発明は、多品種のワークの大量生産を、従来よりも簡便に実現するための数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
（１）  本発明に係る数値制御装置は、１つのワークに対して複数の工程があり、工程間で搬送動作を行う複数の系統をまとめて多系統制御する工作機械の数値制御装置（例えば、後述の数値制御装置１０）であって、前記工程の実行指令と前記工程間の搬送指令とが記載された、前記系統に対応する前記ワーク毎に生成された複数の加工プログラムを実行する実行部（例えば、後述の実行部１０６）を備える。
【００１１】
（２）  （１）に記載の数値制御装置は、前記工程の実行指令と前記工程間の搬送指令とが記載された、前記系統に対応する加工プログラムを前記ワーク毎に生成する加工プログラム生成部（例えば、後述の加工プログラム生成部１０１）を更に備えてもよい。
【００１２】
（３）  （１）又は（２）に記載の数値制御装置は、前記加工プログラムに記載された前記工程間の搬送指令のタイミングを、前記系統間で調停する調停部（例えば、後述の調停部１０５）を更に備えてもよい。
【００１３】
（４）  （３）に記載の数値制御装置は、前記搬送指令を、当該搬送指令の優先度である搬送優先度と共に受け付ける搬送指令受付部（例えば、後述の搬送指令受付部１０２）を更に備え、前記調停部（例えば、後述の調停部１０５）は、前記搬送指令のタイミングを前記搬送優先度に基づいて調停してもよい。
【００１４】
（５）  （４）に記載の数値制御装置は、前記加工プログラムに記載された前記工程を判別する工程判別部と、前記工程判別部により判別された前記工程間に前記搬送指令を登録する搬送指令登録部を更に備えてもよい。
【００１５】
（６）  （４）又は（５）に記載の数値制御装置は、各系統に対応する前記加工プログラム中の前記搬送指令の順序に基づいて、前記搬送優先度を計算する搬送優先度計算部（例えば、後述の搬送優先度計算部１０３）を更に備え、前記調停部（例えば、後述の調停部１０５）は、前記搬送優先度計算部により計算された前記搬送優先度に基づいて、前記搬送指令のタイミングを調停してもよい。
【００１６】
（７）  （４）に記載の数値制御装置は、前記系統毎の優先度である系統優先度を受け付ける系統優先度受付部（例えば、後述の系統優先度受付部１０４）を更に備え、前記調停部（例えば、後述の調停部１０５）は、前記搬送優先度と前記系統優先度とに基づいて前記搬送指令のタイミングを調停してもよい。
【００１７】
（８）  （３）〜（７）に記載の数値制御装置において、前記調停部（例えば、後述の調停部１０５）が、他数値制御装置と互いに通信し、自数値制御装置による多系統制御に含まれる１つ以上の搬送指令のタイミングと、他数値制御装置による多系統制御に含まれる１つ以上の搬送指令のタイミングとをまとめて調停してもよい。
【００１８】
（９）  （１）〜（８）に記載の数値制御装置は、前記加工プログラム中に記載された前記搬送指令から、任意のｎ番目の搬送指令を指定する搬送指令指定部（例えば、後述の搬送指令指定部１０７）と、前記ｎ番目の搬送指令の前に実施すべき搬送前指令を、前記加工プログラムに登録する搬送前指令登録部（例えば、後述の搬送前指令登録部１０８）と、前記ｎ番目の搬送指令の後に実施すべき搬送後指令を、前記加工プログラムに登録する搬送後指令登録部（例えば、後述の搬送後指令登録部１０９）と、を更に備えてもよい。
【発明の効果】
【００１９】
本発明によれば、多品種のワークの大量生産を、従来よりも簡便に実現することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の概略を示す図である。
【図２】本発明の概略を示す図である。
【図３】本発明の第１実施形態に係る数値制御システムの構成図である。
【図４】本発明の第１実施形態に係る数値制御装置の機能ブロック図である。
【図５】本発明の第１実施形態に係る調停方法を示す図である。
【図６】本発明の第１実施形態に係る調停方法を示す図である。
【図７】本発明の第１実施形態に係る調停方法を示す図である。
【図８Ａ】本発明の第１実施形態に係る搬送優先度を用いた調停方法を示す図である。
【図８Ｂ】本発明の第１実施形態に係る搬送優先度を用いた調停方法における搬送軸の変化を示す図である。
【図９Ａ】本発明の第１実施形態に係る搬送優先度を用いた調停方法を示す図である。
【図９Ｂ】本発明の第１実施形態に係る搬送優先度を用いた調停方法における搬送軸の変化を示す図である。
【図１０Ａ】本発明の第１実施形態に係る搬送優先度を用いた調停方法を示す図である。
【図１０Ｂ】本発明の第１実施形態に係る搬送優先度を用いた調停方法における搬送軸の変化を示す図である。
【図１１】本発明の第１実施形態に係る搬送優先度を用いた調停方法を示す図である。
【図１２】本発明の第１実施形態に係る搬送優先度を用いた調停方法を示す図である。
【図１３】本発明の第１実施形態に係る搬送優先度を用いた調停方法を示す図である。
【図１４】本発明の第１実施形態に係る搬送優先度を用いた調停方法を示す図である。
【図１５】本発明の第１実施形態に係る搬送優先度を用いた調停方法を示す図である。
【図１６】本発明の第１実施形態に係る搬送優先度を用いた調停方法を示す図である。
【図１７】本発明の第１実施形態に係る搬送優先度を用いた調停方法を示す図である。
【図１８】本発明の第１実施形態に係る搬送優先度の計算方法を示す図である。
【図１９】本発明の第１実施形態に係る数値制御装置の動作を示すフローチャートである。
【図２０】本発明の第２実施形態に係る数値制御システムの構成図である。
【図２１】本発明の第２実施形態に係る搬送のタイミングを示す図である。
【図２２】本発明の第２実施形態に係る数値制御装置の機能ブロック図である。
【図２３】本発明の第２実施形態における加工プログラムへの搬送前指令及び搬送後指令の登録方法を示す図である。
【図２４】本発明の第２実施形態に係る数値制御装置の動作を示すフローチャートである。
【図２５】従来のロータリインデックスマシンの例を示す図である。
【図２６】従来のロータリインデックスマシンの例を示す図である。
【発明を実施するための形態】
【００２１】
本発明の概要について、図１及び図２を参照することにより説明する。
〔１  発明の概要〕
図１及び図２は、本発明の基本的な概念を説明する図である。上述したように、従来技術においては、数値制御装置側で、機器（工具）毎の工程を記述した加工プログラムを用意し、各機器が、加工プログラムに従った工程作業を異なるワークに対して繰り返し実行していた。一方で、本発明の実施形態においては、図１のタイムチャートに示されるように、数値制御装置は、各ワークに対する工程を順に記載した加工プログラムを生成し、実行する。図１の例においては、「Ｏ１０００」という加工プログラム内に、搬入工程の実行指令、ミリング工程の実行指令、ドリリング工程の実行指令、及び搬出工程の実行指令と、工程間の搬送指令が記載される。この「Ｏ１０００」という同一の加工プログラムを、系統１のワーク１、系統２のワーク２、系統３のワーク３、系統４のワーク４に対して実行する。
【００２２】
従来技術においては、各系統は固定的に軸を有し、一部、他系統と軸を交換しながら加工プログラムを実行していた。一方、本発明の実施形態においては、各系統は動作に必要になった軸を動的に取得し、取得する任意の軸を切り替えながら、各工程の動作を行う。この場合に、例えば、系統１は、各動作を行う際に必要な機器の制御権を取得し、動作を完了したら、制御権を解放することを繰り返すことにより、加工プログラムを進めていく。
【００２３】
また、図１に見られるように、系統１で実行される加工プログラム「Ｏ１０００」と、系統２で実行される加工プログラム「Ｏ１０００」と、系統３で実行される加工プログラム「Ｏ１０００」と、系統４で実行される加工プログラム「Ｏ１０００」との間では、搬送指令のタイミングが一致すると共に、任意の二つのプログラムで同時に同一の工程が実施されないように、加工プログラムの開始時刻は、系統間でずらされる。これにより、系統１で搬入工程を実行している際は、他の系統では搬入工程が実行されることはなく、系統１でミリング工程を実行している際は、他の系統でミリング工程が実行されることはなく、系統１でドリリング工程を実行している際は、他の系統でドリリング工程が実行されることはなく、系統１で搬出工程を実行している際は、他の系統で搬出工程が実行されることはない。系統２〜系統４についても同様である。
【００２４】
図２は、系統間で異なる加工プログラムを実行する際のタイムチャートの例である。系統１及び系統３においては、図１と同一の「Ｏ１０００」という加工プログラムが実行されるが、系統２においては「Ｏ２０００」という加工プログラムが、系統４においては「Ｏ３０００」という加工プログラムが実行される。加工プログラム「Ｏ２０００」は、加工プログラム「Ｏ１０００」の「搬入」工程、「ミリング」工程、「ドリリング」工程、及び「搬出」工程の各々の代わりに、「搬入Ｂ」工程、「ミリングＢ」工程、「ドリリングＢ」工程、及び「搬出Ｂ」工程を有する。「搬入」工程と「搬入Ｂ」工程との間、「ミリング」工程と「ミリングＢ」工程との間、「ドリリング」工程と「ドリリングＢ」工程の間、「搬出」工程と「搬出Ｂ」工程との間では、使用機器あるいは記述された動作内容が異なる。同様に、加工プログラム「Ｏ３０００」は、加工プログラム「Ｏ１０００」の「搬入」工程、「ミリング」工程、「ドリリング」工程、及び「搬出」工程の各々の代わりに、「搬入Ｃ」工程、「ミリングＣ」工程、「ドリリングＣ」工程、及び「搬出Ｃ」工程を有する。「搬入」工程と「搬入Ｃ」工程との間、「ミリング」工程と「ミリングＣ」工程との間、「ドリリング」工程と「ドリリングＣ」工程の間、「搬出」工程と「搬出Ｃ」工程との間では、使用機器あるいは記述された動作内容が異なる。加工プログラム「Ｏ１０００」と加工プログラム「Ｏ２０００」と加工プログラム「Ｏ３０００」との間では、搬出指令のタイミングが一致していると共に、同一の工程が同時に実行されることはない。
【００２５】
このように、本発明の実施形態においては、ワークの種類毎に加工プログラムが１つ作成され、系統毎に、各ワークの加工を実行する。これにより、ワーク毎に異なる加工プログラムを実行することで、異なるワークを生成することが可能となり、混流生産も実現しやすくなるため、第１実施形態は、多品種のワークの大量生産に適している。
なお、本発明の実施形態においては、各系統と各ワークとが対応する。すなわち、本発明における「系統」とは、ワーク毎に設けられる制御系統のことである。
【００２６】
〔２  第１実施形態〕
以下、図３〜図１９を参照することにより、本発明に係る第１実施形態について説明する。
【００２７】
〔２．１  発明の構成〕
図３は、本発明の第１実施形態に係る数値制御システム１の全体構成例を示す。数値制御システム１は、数値制御装置１０と工作機械２０とを備える。数値制御装置１０と工作機械２０とは互いに通信可能である。また、数値制御装置１０と工作機械２０とは直接、通信可能に接続されていてもよく、図示しないが、ネットワークを介して通信可能に接続していてもよい。
【００２８】
数値制御装置１０は、工作機械２０を数値制御するための装置であり、工作機械２０に対して制御信号を送出することにより、工作機械２０が所定の加工を行うように制御する。より具体的には、数値制御装置１０は、ユーザから入力されたコマンドに基づいて、ワークを加工するための加工プログラムを生成し、この加工プログラムを実行することにより、工作機械２０が備える各軸を制御する。なお、第１実施形態における数値制御装置１０の各機能については、図４を参照しながら詳述する。
【００２９】
工作機械２０は、数値制御装置１０の制御に基づいて、切削加工等の所定の機械加工を行う装置である。工作機械２０は、ワークを加工するために駆動するモータや、このモータに取り付けられた主軸や送り軸や、これら各軸に対応する治具や工具等を備える。そして、工作機械２０は、数値制御装置１０から出力される動作指令に基づいてモータを駆動させることにより所定の機械加工を行う。ここで、所定の機械加工の内容に特に限定はなく、切削加工以外にも、例えば研削加工、研磨加工、圧延加工、あるいは鍛造加工といった他の加工であってもよい。
更に、第１実施形態において、工作機械２０は複数の系統（ステーション）を有し、各系統（各ステーション）において、ワークの加工、搬入、搬出等の１つ以上の工程を実行する。更に、工作機械２０は、各系統に共通の搬送軸を回転させることにより、ワークは工程間で搬送される。
【００３０】
図４は、数値制御装置１０の機能ブロック図である。数値制御装置１０は、加工プログラム生成部１０１、搬送指令受付部１０２、搬送優先度計算部１０３、系統優先度受付部１０４、調停部１０５、及び実行部１０６を備える。
【００３１】
加工プログラム生成部１０１は、ユーザにより数値制御装置１０に入力されたコマンドに基づいて、工作機械２０での工程を実行するための加工プログラムを作成する。この加工プログラムには、工程の実行指令が工程順に記載されると共に、工程間に搬送指令が記載される。
【００３２】
搬送指令受付部１０２は、数値制御装置１０の外部から、インタフェース（不図示）を介して、搬送指令を搬送優先度と共に受け付ける。
ここで搬送優先度とは、各搬送指令の優先度であり、後述の実行部１０６は、優先度の高い搬送指令から順に実行する。
【００３３】
搬送優先度計算部１０３は、加工プログラム内の搬送指令の位置に基づいて、各搬送指令の搬送優先度を計算する。
【００３４】
系統優先度受付部１０４は、数値制御装置１０の外部から、インタフェース（不図示）を介して系統毎の優先度である系統優先度を受け付ける。
ここで系統優先度とは、どの系統の搬送指令を優先するかを示す優先度であり、異なる系統間に、同一の搬送優先度の搬送指令が存在する場合に、後述の実行部１０６は、系統優先度の高い系統の搬送指令を優先的に実行する。
【００３５】
調停部１０５は、加工プログラム内で工程間に記載された搬送指令のタイミングを、系統間で調停する。
【００３６】
実行部１０６は、系統毎に存在する複数の加工プログラムを実行する。
【００３７】
数値制御装置１０は、上述の構成を備えることにより、複数の系統間で搬送指令のタイミングを調停しながら、多系統制御を実行する。
【００３８】
数値制御装置１０の構成は以上の通りである。次に、図５〜図７を参照しながら、数値制御装置１０の具体的な調停方法について説明する。
【００３９】
〔２．２  調停方法〕
図５は、搬送指令が調停されていない段階における、系統毎の加工プログラムのタイムチャートの例を示す。なお、図５の例においては、系統１〜系統３で、同一の加工プログラム「Ｏ１０００」を実行することにより、同種のワーク１〜ワーク３を製造することを前提としている。
【００４０】
図５の時点において、系統１の加工プログラム「Ｏ１０００」は、「搬入」工程の実行段階にあるため、プログラムポインタが「搬入」工程内のコマンドを示していると共に、系統２及び系統３の加工プログラム「Ｏ１０００」の実行が開始される段階にあるとする。
【００４１】
しかし、そのまま系統２及び系統３の加工プログラム「Ｏ１０００」を実行すると仮定すると、系統１の加工プログラム「Ｏ１０００」中の「搬入」工程を実行している最中に、系統２及び系統３の加工プログラム「Ｏ１０００」の搬送指令を実行することとなり、工作機械２０のステーションあるいは動作中の搬入機器等が破損してしまう。
【００４２】
そこで、図６に示すように、調停部１０５は、系統１の加工プログラム「Ｏ１０００」と、系統２の加工プログラム「Ｏ１０００」と、系統３の加工プログラム「Ｏ１０００」との間で、搬送指令のタイミングを調停する。具体的には、調停部１０５は、系統２の加工プログラム「Ｏ１０００」の１回目の搬送指令の開始時点が、系統１の加工プログラム「Ｏ１０００」の２回目の搬送指令の開始時点に一致するように、系統２の加工プログラムの実行開始時点を遅らせる。同様に、調停部１０５は、系統３の加工プログラム「Ｏ１０００」の１回目の搬送指令の開始時点が、系統１の加工プログラム「Ｏ１０００」の３回目の搬送指令の開始時点に一致するように、系統３の加工プログラムの実行開始時点を遅らせる。
これにより、系統１〜系統３の間で、加工プログラム「Ｏ１０００」間の搬送指令のタイミングが一致すると共に、同一の工程が同時に実行されることが避けられる。
【００４３】
図７は、系統間で異なる加工プログラム「Ｏ１０００」、「Ｏ２０００」、「Ｏ３０００」を実行する場合の、搬送指令を調停した後のタイムチャートの例を示す。図７の例においても、図６の例と同様に、調停部１０５が、系統２の加工プログラム「Ｏ２０００」、系統３の加工プログラム「Ｏ１０００」、系統４の加工プログラム「Ｏ３０００」の実行開始時点を互いにずらすことにより、系統１〜系統４の間で、加工プログラム間の搬送指令のタイミングが一致すると共に、同一の工程が同時に実行されることが避けられる。
【００４４】
数値制御装置１０による制御方法の概略は以上の通りである。次に、数値制御装置１０による制御内で実行される搬送指令の内容について説明する。
【００４５】
〔２．３  搬送指令の内容〕
図８Ａ、図９Ａ、図１０Ａは、加工プログラム内に記載される搬送指令の例を示す。図８Ａ、図９Ａ、図１０Ａに示す例においては、「Ｇ９０」というコマンドで絶対座標値での指示であることが示されると共に、アドレス「ＸＭ」により搬送軸に対する搬送座標値を指定することで、搬送指令が指示される。また、アドレス「Ｐ」により搬送指令の搬送優先度が設定される。ここで、搬送座標値とは、全ての系統で共通に用いられる搬送座標系ＸＭでの座標値であり、各系統のワークが、搬送座標系ＸＭのどの座標値に移動するかを指示するものである。
【００４６】
例えば、図８Ａの系統１の加工プログラム「Ｏ１０００」の１行目において、「Ｇ９０  ＸＭ＝５０．０  Ｐ１」という搬送指令が記載されているが、このコマンドは、系統１のワークが、搬送座標系ＸＭにおいてＸＭ＝５０．０の位置に搬送されることを示す。図８Ｂは、この搬送指令を実行した後の、系統１〜系統３の各ワークの位置の例を示す。なお、図８Ｂの状態において、系統１〜系統３を搬送するために用いる搬送軸Ａの座標値をＡ＝０．０とする。すなわち、系統１において、ＸＭ＝５０．０なる搬送指令を実現するための、搬送軸Ａの座標値はＡ＝０．０である。
また、コマンド中の「Ｐ１」は、上述の搬送優先度であり、その詳細については後述する。
【００４７】
図９Ａの系統２の加工プログラム「Ｏ１０００」の１行目において、「Ｇ９０  ＸＭ＝５０．０  Ｐ１」という搬送指令が記載されているが、このコマンドは、系統２のワークが、搬送座標系ＸＭにおいてＸＭ＝５０．０の位置に搬送されることを示す。図９Ｂは、この搬送指令を実行した後の、系統１〜系統３の各ワークの位置の例を示す。移動前の図８Ｂの時点において、ＸＭ＝１５０．０にあった系統２のワークが、ＸＭ＝５０．０の地点に移動したため、搬送軸Ａの座標値は、Ａ＝−１００．０となる。すなわち、系統２において、ＸＭ＝５０．０なる搬送指令を実現するための、搬送軸Ａの座標値はＡ＝−１００．０である。
【００４８】
図１０Ａの系統１の加工プログラム「Ｏ１０００」の４行目において、「Ｇ９０  ＸＭ＝１５０．０  Ｐ１」という搬送指令が記載されているが、このコマンドは、系統１のワークが、搬送座標系ＸＭにおいてＸＭ＝１５０．０の位置に搬送されることを示す。図１０Ｂは、この搬送指令を実行した後の、系統１〜系統３の各ワークの位置の例を示す。移動前の図８Ｂの時点において、ＸＭ＝５０．０にあった系統１のワークが、ＸＭ＝１５０．０の地点に移動したため、搬送軸Ａの座標値は、Ａ＝１００．０となる。すなわち、系統１において、ＸＭ＝１５０．０なる搬送指令を実現するための、搬送軸Ａの座標値はＡ＝１００．０である。
【００４９】
このように、系統毎に同一の搬送指令だったとしても、所望の実終点である搬送軸Ａの座標値は異なる。
【００５０】
なお、ロータリインデックスマシン等の工作機械２０において、各ステーションは均等間隔に配置されており、また、各ステーションが搬送軸の基準位置に対してどの位置に配置されているかという情報も、数値制御装置１０内で事前に値が設定されている。数値制御装置１０は、事前に設定された値を用いることにより、各系統で搬送指令された時の所望の搬送軸Ａの座標値を算出できる。
【００５１】
搬送指令の内容は以上の通りである。なお、ここでは搬送指令がプログラム中に記載されている場合を例として説明したが、プログラムの各工程を判別する工程判別部と、前記工程判別部により判別された工程間に自動的に搬送指令を登録する搬送指令登録部を備えてもよい。これにより、プログラム中に搬送指令を記述する手間が省けるため、利便性が向上する。次に、搬送指令に付随する搬送優先度及び系統優先度について説明する。
【００５２】
〔２．４  搬送優先度及び系統優先度〕
図１１は、説明の便宜上、図８Ａ、図９Ａ、図１０Ａに記載された加工プログラム「Ｏ１０００」中の搬送指令に含まれる搬送座標の値を、搬送軸Ａの座標値に変換したものである。なお、図１１〜図１７においては、プログラムポインタの位置を点線で示す。
【００５３】
図１１において、各系統で同時に加工プログラム「Ｏ１０００」の実行が開始されたとする。ここで、搬送指令に付与された「Ｐ１」、「Ｐ２」、「Ｐ３」は搬送優先度であり、数値の大きなものほど優先度が高いとする。
【００５４】
図１１に記載の系統１〜系統３の加工プログラム「Ｏ１０００」の１行目の搬送指令の搬送優先度は全て「Ｐ１」となっており、搬送優先度は等しい。このように搬送優先度が等しい場合に、数値制御装置１０の調停部１０５は、系統毎に設定された系統優先度に従い、実施する搬送指令を決定する。図１１の例においては、系統３の優先度が最も高いため、系統３の搬送指令「Ａ＝−２００．０  Ｐ１」を実行する。
【００５５】
更に、調停部１０５は、今回実行されなかった系統１及び系統２の搬送指令を保留し、図１２に示すように、系統１及び系統２の加工プログラム「Ｏ１０００」の実行開始時刻を遅らせる。ただし、系統１及び系統２の加工プログラム「Ｏ１０００」の実行開始時刻を遅らせる際には、調停部１０５は、各系統の加工プログラムに含まれる搬送指令のタイミングが一致するように、実行開始時刻を遅らせる。
【００５６】
次に、図１３に示すように、プログラムポインタの位置は、系統３の加工プログラム「Ｏ１０００」中の２つ目の搬送指令、及び、系統１と系統２の加工プログラム「Ｏ１０００」の１つ目の搬送指令の位置に移動する。この際、系統３の搬送指令の優先度が「Ｐ２」である一方で、系統１及び系統２の搬送指令の優先度が「Ｐ１」であるため、系統３の搬送指令が優先的に実行される。更に、系統３の搬送指令に含まれる搬送軸Ａの座標値がＡ＝−１００．０であり、系統２の搬送指令に含まれる搬送軸Ａの座標値もＡ＝−１００．０で等しいため、系統３の搬送指令「Ａ＝−１００．０  Ｐ２」を実行することにより、同時に、系統２の搬送指令「Ａ＝−１００．０  Ｐ１」も実行される。これにより、系統２と系統３においては、実行部１０６は、続く工程の実行に移行することができる。一方で、系統１の搬送指令「Ａ＝０．０  Ｐ１」は、調停部１０５により、再度保留される。すなわち、調停部１０５は、図１４に示すように、系統１の加工プログラム「Ｏ１０００」の実行開始時刻を更に遅らせる。
【００５７】
次に、図１５に示すように、プログラムポインタの位置は、系統３の加工プログラム「Ｏ１０００」中の３つ目の搬送指令、系統２の加工プログラム「Ｏ１０００」の２つ目の搬送指令、及び系統１の加工プログラム「Ｏ１０００」の１つ目の搬送指令の位置に移動する。この際、系統３の搬送指令の優先度が「Ｐ３」、系統２の搬送指令の優先度が「Ｐ２」、系統１の搬送指令の優先度が「Ｐ１」であるため、系統３の搬送指令が優先的に実行される。更に、系統３の搬送指令に含まれる搬送軸Ａの座標値がＡ＝０．０であり、系統２の搬送指令に含まれる搬送軸Ａの座標値もＡ＝０．０であり、系統１の搬送指令に含まれる搬送軸Ａの座標値もＡ＝０．０で互いに等しいため、系統３の搬送指令「Ａ＝０．０  Ｐ３」を実行することにより、同時に、系統２の搬送指令「Ａ＝０．０  Ｐ２」及び系統１の搬送指令「Ａ＝０．０  Ｐ１」も実行される。これにより、系統１〜系統３の全てにおいて、実行部は、続く工程の実行に移行することができる。
【００５８】
その後、系統３においては、加工プログラム「Ｏ１０００」の全てのコマンドの実行が終了し、図１６に示すように、プログラムポインタの位置は、系統２の加工プログラム「Ｏ１０００」の３つ目の搬送指令及び系統１の加工プログラム「Ｏ１０００」の２つ目の搬送指令の位置に移動する。この際、系統２の搬送指令の優先度が「Ｐ３」、系統１の搬送指令の優先度が「Ｐ２」であるため、系統２の搬送指令が優先的に実行される。更に、系統２の搬送指令に含まれる搬送軸Ａの座標値がＡ＝１００．０であり、系統１の搬送指令に含まれる搬送軸Ａの座標値もＡ＝１００．０で互いに等しいため、系統２の搬送指令「Ａ＝１００．０  Ｐ３」を実行することにより、同時に、系統１の搬送指令「Ａ＝１００．０  Ｐ２」も実行される。これにより、系統１及び系統２の双方において、実行部１０６は、続く工程の実行に移行することができる。
【００５９】
その後、系統２においては、加工プログラム「Ｏ１０００」の全てのコマンドの実行が終了し、図１７に示すように、プログラムポインタの位置は、系統１の加工プログラム「Ｏ１０００」の３つ目の搬送指令の位置に移動する。系統２及び系統３の加工プログラムについては、全コマンドの実行が終了しているため、調停部１０５が搬送指令間のタイミングを調停することなく、実行部１０６は、系統１の搬送指令を実行後、続く工程を実行し、全ての加工プログラムの実行を終了する。
【００６０】
搬送優先度及び系統優先度を用いた搬送指令の調停方法は、以上の通りである。続いて、搬送優先度の計算方法について説明する。
【００６１】
〔２．５  搬送優先度の計算方法〕
搬送優先度については、基本的に加工プログラム内で、先行する搬送指令ほど低い優先度を適用すればよい（逆に言えば、後で記述された搬送指令ほど高い優先度を適用すればよい）。従って、加工プログラム内の搬送指令が、加工プログラム先頭から数えて、何回目の搬送指令に相当するかをカウントし、カウント数を、搬送優先度を示すＰ指令とみなせばよい。なお、Ｐ指令においては、若い数のＰ指令ほど搬送優先度は低くなる。
例えば、図１８に示す例においては、「Ｇ９０  ＸＭ＝５０．０」が１回目の搬送指令であり、「Ｇ９０  ＸＭ＝１５０．０」が２回目の搬送指令であり、「Ｇ９０  ＸＭ＝２５０．０」が３回目の搬送指令である。従って、各々のカウント値は、順に、１、２、３となるため、各々の搬送指令の搬送優先度を、「Ｐ１」、「Ｐ２」、「Ｐ３」とみなす。
【００６２】
これにより、Ｐ指令が不要となるため、Ｐ指令を入力する手間が無くなり、利便性が向上する。
【００６３】
搬送優先度の計算方法は、以上の通りである。続いて、数値制御装置１０の動作について説明する。
【００６４】
〔２．６  数値制御装置１０の動作〕
図１９は、数値制御装置１０の動作を示すフローチャートである。以下、図１９を参照しながら、数値制御装置１０の動作について説明する。
【００６５】
ステップＳ１において、数値制御装置１０の加工プログラム生成部１０１は、ユーザから入力されたコマンドに基づいて、加工プログラムを生成する。
【００６６】
ステップＳ２において、数値制御装置１０の搬送指令受付部１０２は、搬送指令を受け付ける。
【００６７】
ステップＳ３において、数値制御装置１０の搬送優先度計算部１０３は、各々の搬送指令に付随する搬送優先度を計算する。
【００６８】
ステップＳ４において、数値制御装置１０の系統優先度受付部１０４は、系統優先度を受け付ける。
【００６９】
ステップＳ５において、数値制御装置１０の調停部１０５は、搬送優先度と系統優先度とに基づいて、搬送指令のタイミングを調停する。
【００７０】
ステップＳ６において、数値制御装置１０の実行部１０６は、加工プログラムを実行する。
【００７１】
なお、図１９に示すフローチャートはあくまで一例であって、これには限定されない。例えば、各ステップの順序を入れ替えることが可能である。
【００７２】
〔２．７  第１実施形態が奏する効果〕
第１実施形態に係る数値制御装置１０においては、複数の系統を有する工作機械が有する、当該複数の系統をまとめて多系統制御する際、系統毎に工程の実行指令と工程間の搬送指令がワークに対する実施順に記載された加工プログラムを生成し、実行する。
これにより、ワーク毎に異なる加工プログラムを実行することで、異なるワークを生成することが可能となり、混流生産も実現しやすくなる。また、ワークに対する工程の実施順序が明確になるため、加工プログラムの可読性が向上する。
【００７３】
〔３  第２実施形態〕
以下、図２０〜図２４を参照することにより、本発明に係る第２実施形態について説明する。
【００７４】
〔３．１  発明の構成〕
図２０は、本発明の第２実施形態に係る数値制御システム１Ａの全体構成例を示す。数値制御システム１Ａは、数値制御装置１０Ａと工作機械２０Ａ及び工作機械２０Ｂとを備える。数値制御装置１０Ａと工作機械２０Ａ及び工作機械２０Ｂとは互いに通信可能である。また、数値制御装置１０Ａと工作機械２０Ａ及び工作機械２０Ｂとは直接、通信可能に接続されていてもよく、図２０には図示しないが、ネットワークを介して通信可能に接続していてもよい。
なお、図２０において、数値制御装置１０Ａは、２台の工作機械を数値制御する態様が記載されているが、これは一例であって、これには限定されない。すなわち、数値制御装置１０Ａは、任意台数の工作機械を数値制御することが可能である。
数値制御装置１０Ａは、第１実施形態に係る数値制御装置１０と同種の数値制御装置であるため、基本的な機能の説明は省略する。同様に、工作機械２０Ａ及び工作機械２０Ｂは、第１実施形態に係る工作機械２０と同種の工作機械であるため、基本的な機能の説明は省略する。
【００７５】
図２１は、工作機械２０Ａ及び工作機械２０Ｂの例を示す。
工作機械２０Ａは、ステーション１〜ステーション４を備えるロータリインデックスマシンである。ステーション１は搬入工程を、ステーション２はミリング工程を、ステーション３はドリリング工程を、ステーション４は搬出工程を実行する。更に、搬送軸Ａが回転することにより、任意のワークは、ステーション１、ステーション２、ステーション３、ステーション４の順に搬送される。
【００７６】
同様に、工作機械２０Ｂは、ステーション５〜ステーション８を備えるロータリインデックスマシンである。ステーション５は搬入工程を、ステーション６はミリング工程を、ステーション７はドリリング工程を、ステーション８は搬出工程を実行する。更に、搬送軸Ｂが回転することにより、任意のワークは、ステーション５、ステーション６、ステーション７、ステーション８の順に搬送される。
【００７７】
更に、工作機械２０Ａのステーション４から搬出されたワークは、搬送軸Ａ又は搬送軸Ｂではなく、ローダ又はロボットにより、工作機械２０Ｂのステーション５に搬入される。
【００７８】
ここで、ステーション４からステーション５にワークを搬送するためには、最初に、ローダ又はロボットが、ステーション４からワークを取り出す。次に、第１実施形態と同様に、数値制御装置１０Ａは、搬送軸Ａ及び搬送軸Ｂを回転させる。最後に、ローダ又はロボットが、ステーション４から取り出したワークを、ステーション５に設置する。
第２実施形態に係る数値制御装置１０Ａは、以下の構成を備えることにより、このような工作機械２０Ａ及び工作機械２０Ｂの双方に渡るワークの搬送を実現する。
【００７９】
図２２は、数値制御装置１０Ａの機能ブロック図である。数値制御装置１０Ａは、第１実施形態に係る数値制御装置１０が備える、加工プログラム生成部１０１、搬送指令受付部１０２、搬送優先度計算部１０３、系統優先度受付部１０４、調停部１０５、及び実行部１０６に加えて、搬送指令指定部１０７、搬送前指令登録部１０８、及び搬送後指令登録部１０９を備える。
【００８０】
搬送指令指定部１０７は、加工プログラム内に記載される搬送指令から、いずれかの搬送指令を指定する。
搬送前指令登録部１０８は、加工プログラムにおいて、搬送指令指定部１０７により指定された搬送指令の前に、搬送前指令を登録する。
搬送後指令登録部１０９は、加工プログラムにおいて、搬送指令指定部１０７により指定された搬送指令の後に、搬送後指令を登録する。
【００８１】
数値制御装置１０Ａが有する各機能の説明は以上の通りである。続いて、搬送指令指定部１０７、搬送前指令登録部１０８、搬送後指令登録部１０９の機能の具体例について説明する。
【００８２】
図２３は、図２１に示す工作機械２０Ａ及び工作機械２０Ｂを用いてワークを加工する際の、ある系統における加工プログラムの例である。
任意のワークは、図２３に示すように、ステーション１〜ステーション８の工程の実行対象となると共に、各工程間で搬送される。
上記のように、任意のワークは、ステーション４で搬出工程が実行された後、ローダ又はロボットによりステーション５に搬送され、ステーション５で搬入工程が実行される。
【００８３】
そこで、搬送指令指定部１０７は、加工プログラム内に記載される搬送指令から、５回目の搬送指令を指定する。
次に、搬送前指令登録部１０８は、加工プログラムにおいて、搬送指令指定部１０７により指定された５回目の搬送指令の前に、搬送前指令である「ローダによる搬出」を登録する。
最後に、搬送後指令登録部１０９は、加工プログラムにおいて、搬送指令指定部１０７により指定された５回目の搬送指令の後に、搬送後指令である「ローダによる搬入」を登録する。
【００８４】
数値制御装置１０Ａは、上記の構成を備えることにより、工作機械２０Ａ及び工作機械２０Ｂの双方に渡るワークの搬送を実現することが可能となる。
【００８５】
本発明の第２実施形態に係る数値制御システム１Ａの構成は以上の通りである。続いて、数値制御装置１０Ａの動作について説明する。
【００８６】
〔３．２  数値制御装置１０Ａの動作〕
図２４は、数値制御装置１０Ａの動作を示すフローチャートである。以下、図２４を参照しながら、数値制御装置１０Ａの動作について説明する。
【００８７】
ステップＳ１１において、数値制御装置１０Ａの加工プログラム生成部１０１は、ユーザから入力されたコマンドに基づいて、加工プログラムを生成する。
【００８８】
ステップＳ１２において、数値制御装置１０Ａの搬送指令受付部１０２は、搬送指令を受け付ける。
【００８９】
ステップＳ１３において、数値制御装置１０Ａの搬送指令指定部１０７は、加工プログラム中に記載された搬送指令から、任意の搬送指令を指定する。
【００９０】
ステップＳ１４において、数値制御装置１０Ａの搬送前指令登録部１０８は、加工プログラムにおいて、搬送指令指定部１０７により指定された搬送指令の前に、搬送前指令を登録する。
【００９１】
ステップＳ１５において、数値制御装置１０Ａの搬送後指令登録部１０９は、加工プログラムにおいて、搬送指令指定部１０７により指定された搬送指令の後に、搬送後指令を登録する。
【００９２】
ステップＳ１６において、数値制御装置１０Ａの搬送優先度計算部１０３は、各々の搬送指令に付随する搬送優先度を計算する。
【００９３】
ステップＳ１７において、数値制御装置１０Ａの系統優先度受付部１０４は、系統優先度を受け付ける。
【００９４】
ステップＳ１８において、数値制御装置１０Ａの調停部１０５は、搬送優先度と系統優先度とに基づいて、搬送指令のタイミングを調停する。
【００９５】
ステップＳ１９において、数値制御装置１０Ａの実行部１０６は、加工プログラムを実行する。
【００９６】
なお、図２４に示すフローチャートはあくまで一例であって、これには限定されない。例えば、各ステップの順序を入れ替えることが可能である。
【００９７】
〔３．３  第２実施形態が奏する効果〕
第２実施形態に係る数値制御装置１０Ａにおいては、加工プログラム中の任意の搬送指令の前後に、搬送前指令と搬送後指令とが登録される。
これにより、ステーション毎に搬送指令の前後に実施すべき動作を自動的に実行できるため、ステーション間の搬送においてロボットやローダによる搬送動作が含まれている場合であっても、プログラム記述の手間が減り、利便性が向上する。
【００９８】
〔４  変形例〕
〔４．１  変形例１〕
第１実施形態及び第２実施形態において、数値制御装置１０又は数値制御装置１０Ａの調停部１０５は、他の数値制御装置と互いに通信し、自身が数値制御する工作機械における搬送指令のタイミングと、他の数値制御装置が数値制御する工作機械における搬送指令のタイミングとを、まとめて調停してもよい。
【００９９】
〔４．２  変形例２〕
第２実施形態において、数値制御装置１０Ａは、複数台の工作機械２０Ａ及び工作機械２０Ｂ、より具体的には、搬送軸Ａを有する工作機械２０Ａと、搬送軸Ｂを有する工作機械２０Ｂとを数値制御するとしたが、これには限られない。例えば、数値制御装置１０Ａは、複数の搬送軸を有する一台の工作機械を制御してもよい。
【０１００】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【０１０１】
数値制御装置１０、１０Ａによる制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ（数値制御装置１０、１０Ａ）にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。更に、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータ（数値制御装置１０、１０Ａ）に提供されてもよい。
【符号の説明】
【０１０２】
１  １Ａ  数値制御システム
１０  １０Ａ  数値制御装置
２０  ２０Ａ  ２０Ｂ  工作機械
１０１  加工プログラム生成部
１０２  搬送指令受付部
１０３  搬送指令登録部
１０４  搬送優先度計算部
１０５  系統優先度受付部
１０６  調停部
１０７  実行部
１０８  搬送指令指定部
１０９  搬送前指令登録部
１１０  搬送後指令登録部
【図１】
2019113921.tif 000003
【図２】
2019113921.tif 000004
【図３】
2019113921.tif 000005
【図４】
2019113921.tif 000006
【図５】
2019113921.tif 000007
【図６】
2019113921.tif 000008
【図７】
2019113921.tif 000009
【図８Ａ】
2019113921.tif 000010
【図８Ｂ】
2019113921.tif 000011
【図９Ａ】
2019113921.tif 000012
【図９Ｂ】
2019113921.tif 000013
【図１０Ａ】
2019113921.tif 000014
【図１０Ｂ】
2019113921.tif 000015
【図１１】
2019113921.tif 000016
【図１２】
2019113921.tif 000017
【図１３】
2019113921.tif 000018
【図１４】
2019113921.tif 000019
【図１５】
2019113921.tif 000020
【図１６】
2019113921.tif 000021
【図１７】
2019113921.tif 000022
【図１８】
2019113921.tif 000023
【図１９】
2019113921.tif 000024
【図２０】
2019113921.tif 000025
【図２１】
2019113921.tif 000026
【図２２】
2019113921.tif 000027
【図２３】
2019113921.tif 000028
【図２４】
2019113921.tif 000029
【図２５】
2019113921.tif 000030
【図２６】
2019113921.tif 000031