(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】工作機械制御システム
(51)【国際特許分類】
G05B 19/18 20060101AFI20241112BHJP
G05B 19/4155 20060101ALI20241112BHJP
【FI】
G05B19/18 X
G05B19/4155 N
(21)【出願番号】P 2020127048
(22)【出願日】2020-07-28
【審査請求日】2023-06-09
(73)【特許権者】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(74)【代理人】
【識別番号】110000648
【氏名又は名称】弁理士法人あいち国際特許事務所
(74)【代理人】
【識別番号】110000604
【氏名又は名称】弁理士法人 共立特許事務所
(72)【発明者】
【氏名】長谷川 彰一
(72)【発明者】
【氏名】高山 智一
(72)【発明者】
【氏名】多田 典広
(72)【発明者】
【氏名】大▲崎▼ 嘉太郎
(72)【発明者】
【氏名】小林 雄一郎
【審査官】小川 真
(56)【参考文献】
【文献】特開2018-097814(JP,A)
【文献】特開2002-123307(JP,A)
【文献】特開2018-051694(JP,A)
【文献】特開平03-196305(JP,A)
【文献】特開平07-239707(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18
G05B 19/4155
B23F 23/12
(57)【特許請求の範囲】
【請求項1】
CNC装置
とPLCとを含む工作機械制御システムであって、
前記CNC装置は、
工作物を加工する加工プログラムによるNC演算を実行する第一系統演算部と、
加工状態を退避させる退避プログラムによるNC演算を、前記第一系統演算部によるNC演算と並列に且つ独立して実行する第二系統演算部と、
前記第一系統演算部による制御対象アクチュエータと前記第二系統演算部による制御対象アクチュエータとが共通する場合に、前記第一系統演算部による第一制御指令値と前記第二系統演算部による第二制御指令値とを合成することにより、共通する制御対象アクチュエータを制御する合成指令値を生成する合成指令値演算部と、
異常の検出時に異常信号を出力する異常検出処理部と、を備え、
前記加工プログラムは、前記工作物の加工動作を行う加工動作指令
、および、前記退避プログラムの有効化指令を含み、
前記退避プログラムは、前記加工動作指令が実行されている状態においてプログラム起動されており、プログラム起動後において前記異常信号を受け取るまで待機する待機指令、および、前記異常信号を受け取った場合に退避動作を行う退避動作指令を含
み、
前記PLCは、
前記第一系統演算部に対して前記加工プログラムの起動信号を出力し、
前記加工プログラムに含まれる前記退避プログラムの前記有効化指令を受け取った場合に、前記第二系統演算部に対して前記退避プログラムの起動信号を出力し、
前記異常信号を受け取った場合に、前記第一系統演算部に対して前記加工プログラムの中断信号を出力し、
前記PLCが前記第一系統演算部に対する中断信号を出力した後に前記加工プログラムの中断完了までは、前記加工プログラムによる前記加工動作指令および前記退避プログラムによる前記退避動作指令が、並列に実行されている、工作機械制御システム。
【請求項2】
前記第二系統演算部は、前記異常信号を、前記CNC装置の内部信号として前記異常検出処理部から受け取る、請求項
1に記載の工作機械制御システム。
【請求項3】
前記加工プログラムは、前記工作物と工具とを同期回転して行う歯車加工の加工プログラムであり、
前記異常検出処理部は、前記工作物の回転と前記工具の回転との同期ずれを前記異常として検出する、請求項1
または2に記載の工作機械制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工作機械制御システムに関するものである。
【背景技術】
【0002】
特許文献1には、工作機械において、加工中に工具の破損が生じた際に、破損工具を自動的に退避させることが記載されている。特許文献2には、自動運転加工中に切削異常が発生した際に、工具を退避させることが記載されている。特許文献3には、自動運転中に非常停止操作がされた場合に、加工を中断させて、工具を退避させることが記載されている。
【0003】
特許文献4には、スカイビング加工機において、加工中に異常が発生して非常停止させた場合に、工具を退避させることが記載されている。特許文献5には、スカイビング加工において、異常が発生した際に、工作物と工具とを同期回転しながら、工作物の歯と工具の刃との噛み合い状態を解消した後に停止することが記載されている。
【0004】
特許文献6には、独立したNCプログラムにて独立した系統を各々独立してNC制御する多系統NC制御方法が記載されている。特許文献7には、独立したNCプログラムに基づいてNC演算を独立して行う多系統の演算部を備えており、それぞれの系統の演算部による制御指令値を合成することにより、1つのアクチュエータを制御することが記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開昭62-88546号公報
【文献】特開平2-256444号公報
【文献】特開2007-188170号公報
【文献】特開平1-159127号公報
【文献】特開2018-51694号公報
【文献】特開平5-324046号公報
【文献】特開2008-84130号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
一般に、異常の発生を検出すると、異常時に実行していた加工プログラムの中断信号が生成され、当該中断信号を受け取ると加工プログラムの中断処理が開始される。加工プログラムの中断処理が開始されてから減速制御が行われ、工具および工作物が停止する。工具および工作物が停止した後に、退避プログラムの起動信号が生成され、当該起動信号を受け取ると退避プログラムの起動処理が開始される。そして、退避プログラムが実行されることで、工具が工作物から退避される。
【0007】
ここで、異常が発生した際には、工具、工作物、機械本体への悪影響を最小限とするために、工具の退避動作をできるだけ早く開始することが望まれる。しかし、上記のように、異常を検出してから退避プログラムの実行が開始されるまでに、加工プログラムの停止処理、退避プログラムの起動処理等を行う必要があり、時間の短縮には改善の余地がある。
【0008】
また、工作機械は、制御装置として、CNC(Computerized Numerical Control)装置とPLC(Programmable Logic Controller)とを備えるのが一般的である。そして、CNC装置は、加工プログラムや退避プログラムによる制御を行う。PLCは、CNC装置に対して加工プログラムや退避プログラムに関する起動信号および停止信号を出力することにより、加工プログラムや退避プログラムの起動/停止を制御する。そして、異常が発生した際においても、CNC装置とPLCとの間での信号の送受が行われており、工具の退避動作の早期開始を困難としている。
【0009】
本発明は、加工中に異常が発生した際に、より早期に退避プログラムによる工具の退避動作を開始することができる工作機械制御システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
工作機械制御システムは、CNC装置とPLCとを含む工作機械制御システムである。前記CNC装置は、工作物を加工する加工プログラムによるNC演算を実行する第一系統演算部と、加工状態を退避させる退避プログラムによるNC演算を、前記第一系統演算部によるNC演算と並列に且つ独立して実行する第二系統演算部と、前記第一系統演算部による制御対象アクチュエータと前記第二系統演算部による制御対象アクチュエータとが共通する場合に、前記第一系統演算部による第一制御指令値と前記第二系統演算部による第二制御指令値とを合成することにより、共通する制御対象アクチュエータを制御する合成指令値を生成する合成指令値演算部と、異常の検出時に異常信号を出力する異常検出処理部とを備える。
【0011】
前記加工プログラムは、前記工作物の加工動作を行う加工動作指令、および、前記退避プログラムの有効化指令を含む。前記退避プログラムは、前記加工動作指令が実行されている状態においてプログラム起動されており、プログラム起動後において前記異常信号を受け取るまで待機する待機指令、および、前記異常信号を受け取った場合に退避動作を行う退避動作指令を含む。
前記PLCは、前記第一系統演算部に対して前記加工プログラムの起動信号を出力し、前記加工プログラムに含まれる前記退避プログラムの前記有効化指令を受け取った場合に、前記第二系統演算部に対して前記退避プログラムの起動信号を出力し、前記異常信号を受け取った場合に、前記第一系統演算部に対して前記加工プログラムの中断信号を出力する。
前記PLCが前記第一系統演算部に対する中断信号を出力した後に前記加工プログラムの中断完了までは、前記加工プログラムによる前記加工動作指令および前記退避プログラムによる前記退避動作指令が、並列に実行されている。
【0012】
当該工作機械制御システムにおいては、第一系統演算部と第二系統演算部とが並列に且つ独立してNC演算を行うことができる。つまり、第一系統演算部により加工プログラムによるNC演算と、第二系統演算部による退避プログラムによるNC演算とが、並列に且つ独立して実行可能となる。
【0013】
そして、退避プログラムは、加工プログラムにおける加工動作指令が実行されている状態においてプログラム起動されている。つまり、退避プログラムの起動は、異常検出処理部が異常の検出時に異常信号を出力することとは無関係であって、退避プログラムは、異常信号の出力時には既に起動されている。従って、従来は、異常の検出後に退避プログラムを起動させる時間が必要であったのに対して、上記構成では、異常の検出後に退避プログラムの起動に要する時間が不要となる。
【0014】
ここで、異常の検出時に、退避プログラムによる退避動作指令が実行される必要がある。また、上述したように、異常の検出前に、退避プログラムが既に起動されている状態としている。これらのことを実現するために、退避プログラムには、退避動作指令の他に、プログラム起動後において異常信号を受け取るまで待機する待機指令が含まれている。
【0015】
つまり、第二系統演算部は、退避プログラムを起動させると、異常検出処理部から異常信号を受け取るまでは退避プログラムにおける退避動作指令を実行せずに、退避プログラムにおける待機指令が実行された状態となる。そして、第二系統演算部は、異常信号を受け取ると、退避動作指令を実行する。
【0016】
そして、第二系統演算部が退避動作指令の実行を開始したとき、第一系統演算部は、加工プログラムの加工動作指令を完全に停止しておらず、加工動作指令を継続して実行している状態となる。つまり、退避動作指令の実行が開始された直後において、加工プログラムの加工動作指令と退避プログラムの退避動作指令とが、並列に且つ独立して実行されている。
【0017】
ここで、第一系統演算部が加工動作指令により制御する制御対象アクチュエータと第二系統演算部が退避動作指令により制御する制御対象アクチュエータとが、共通する場合がある。このとき、合成指令値演算部によって、第一系統演算部による第一制御指令値と第二系統演算部による第二制御指令値とを合成した合成指令値が生成され、生成された合成指令値により、共通する制御対象アクチュエータが制御される。
【0018】
従って、加工プログラムの加工動作指令と退避プログラムの退避動作指令とが同時に実行されている場合であっても、共通する制御対象アクチュエータを制御することが可能となる。つまり、加工プログラムの完全な停止を待つことなく、退避プログラムの退避動作指令を実行することができるため、退避動作指令をより早期に実行することができる。
【図面の簡単な説明】
【0019】
【
図2】CNC装置を構成する機能ブロック図を示すと共に、PLCとCNC装置の各部と駆動装置との間における信号の送受を示す図である。
【
図3】第一例の加工プログラムに記述された各指令を示す図である。
【
図4】第一例の退避プログラムに記述された各指令を示す図である。
【
図5】(a)は加工プログラムの加工動作指令の一部を示し、(b)は退避プログラムの退避動作指令の一部を示し、(c)は合成指令値を示す。
【
図6】PLCおよびCNC装置の各部について時間の経過に対応した処理を示す。図中、下側に向かって時間が経過する。
【
図7】第二例の加工プログラムに記述された各指令を示す図である。
【
図8】第二例の退避プログラムに記述された各指令を示す図である。
【発明を実施するための形態】
【0020】
(1.適用対象)
工作機械制御システムは、工作機械に搭載されている。工作機械は、工具により工作物の加工を行う機械であって、旋盤、フライス盤、研削盤、歯車加工装置、マシニングセンタ等である。特に、工作機械制御システムは、加工中に異常が発生した場合に、工具を工作物から退避させる退避プログラムの退避動作指令を実行する。より詳細には、工作機械制御システムは、加工中に異常が発生した場合に、まず、加工プログラムの加工動作指令と退避プログラムの退避動作指令とを同時に制御することで早期に退避動作指令を実行し、続いて、加工動作指令が中断された後には退避動作指令のみにより制御する。
【0021】
ここで、加工中に発生する異常には、例えば、加工負荷の過大異常、加工による振動の過大異常、侵入不可領域への侵入異常、作業者による異常停止ボタンの操作、作業者による手動戻し操作等が含まれる。加工負荷の過大異常は、例えば、軸移動のアクチュエータの電流値の過大異常、フィードバック制御における偏差指令値の過大異常等を含む。
【0022】
また、工作機械の例として、ギヤスカイビング加工やホブ加工等のように、工具と工作物とを同期回転させながら相対移動することにより歯車を創成加工する歯車加工装置においては、工作物の回転と工具の回転との同期ずれを、異常の1つとする。また、ここでの異常は、警告等として、任意の閾値を設定し、閾値を超えたときに異常であると検知しても良い。
【0023】
(2.工作機械1の例)
工作機械1として、マシニングセンタを例にあげる。マシニングセンタは、工具交換可能に構成されており、装着された工具に応じた加工が可能である。例えば、交換可能な工具としては、ギヤスカイビングカッタ、ホブカッタ等の歯切り工具を含み、その他に、エンドミル、フライス工具、ドリル、旋削工具、ネジ切り工具、研削工具等を含むようにしても良い。なお、
図1において、工具交換装置および工具を保管する工具マガジンは、図示しない。
【0024】
また、本例では、工作機械1の例としてのマシニングセンタは、横形マシニングセンタを基本構成とする。ただし、工作機械1は、立形マシニングセンタ等、他の構成を適用できる。
【0025】
図1に示すように、工作機械1は、例えば、相互に直交する3つの直進軸(X軸,Y軸,Z軸)を駆動軸として有する。ここで、歯切り工具Tの回転軸線(工具主軸の回転軸線に等しい)の方向をZ軸方向と定義し、Z軸方向に直交する2軸をX軸方向およびY軸方向と定義する。
図1においては、水平方向をX軸方向とし、鉛直方向をY軸方向とする。さらに、工作機械1は、歯切り工具Tと工作物Wとの相対姿勢を変更するための2つの回転軸(A軸およびB軸)を駆動軸として有する。また、工作機械1は、歯切り工具Tを回転するための回転軸としてのCt軸を有する。
【0026】
つまり、工作機械1は、自由曲面を加工可能な5軸加工機(工具主軸(Ct軸)を考慮すると6軸加工機となる)である。ここで、工作機械1は、A軸(基準状態においてX軸回りの回転軸)およびB軸(基準状態においてY軸回りの回転軸)を有する構成に代えて、Cw軸(基準状態においてZ軸回りの回転軸)およびB軸を有する構成としても良いし、A軸およびCw軸を有する構成としても良い。
【0027】
工作機械1において、歯切り工具Tと工作物Wとを相対的に移動させる構成は、適宜選択可能である。本例では、工作機械1は、歯切り工具TをY軸方向およびZ軸方向に直動可能とし、工作物WをX軸方向に直動可能とし、さらに工作物WをA軸回転およびB軸回転可能とする。また、歯切り工具Tは、Ct軸回転可能である。
【0028】
工作機械1は、ベッド10と、工作物保持装置20と、工具保持装置30とを備える。ベッド10は、略矩形状等の任意の形状に形成されており、床面に設置される。工作物保持装置20は、工作物Wをベッド10に対して、X軸方向に直動可能とし、A軸回転およびB軸回転可能とする。工作物保持装置20は、X軸移動テーブル21と、B軸回転テーブル22と、工作物主軸装置23とを主に備える。
【0029】
X軸移動テーブル21は、ベッド10に対してX軸方向に移動可能に設けられる。具体的には、ベッド10には、X軸方向(
図1の前後方向)へ延びる一対のX軸ガイドレールが設けられ、X軸移動テーブル21は、図示しないリニアモータまたはボールねじ機構等の駆動装置によって駆動されることにより、一対のX軸ガイドレールに案内されながらX軸方向へ移動する。
【0030】
B軸回転テーブル22は、X軸移動テーブル21の上面に設置され、X軸移動テーブル21と一体的にX軸方向へ移動する。また、B軸回転テーブル22は、X軸移動テーブル21に対し、B軸回転可能に設けられる。B軸回転テーブル22には、図示しない回転モータが収納され、B軸回転テーブル22は、回転モータに駆動されることでB軸回転可能となる。
【0031】
工作物主軸装置23は、B軸回転テーブル22に設置され、B軸回転テーブル22と一体的にB軸回転する。工作物主軸装置23は、工作物WをA軸回転可能に支持する。工作物主軸装置23は、工作物Wを回転させる回転モータ(図示せず)を備える。以上の構成により、工作物保持装置20は、工作物Wを、ベッド10に対して、X軸方向へ移動可能とし、且つ、A軸回転およびB軸回転可能とする。
【0032】
工具保持装置30は、コラム31と、サドル32と、工具主軸装置33とを主に備える。コラム31は、ベッド10に対してZ軸方向に移動可能に設けられる。具体的には、ベッド10には、Z軸方向(
図1の左右方向)へ延びる一対のZ軸ガイドレールが設けられ、コラム31は、図示しないリニアモータまたはボールねじ機構等の駆動装置によって駆動されることにより、一対のZ軸ガイドレールに案内されながらZ軸方向へ移動する。
【0033】
サドル32は、コラム31における工作物W側の側面(
図1の左側面)であって、Z軸方向に直交する平面に平行な側面に配置される。このコラム31の側面には、Y軸方向(
図1の上下方向)へ延びる一対のY軸ガイドレールが設けられ、サドル32は、図示しないリニアモータまたはボールねじ機構等の駆動装置に駆動されることで、Y軸方向へ移動する。
【0034】
工具主軸装置33は、サドル32に設置されると共に、サドル32と一体的にY軸方向へ移動する。工具主軸装置33は、歯切り工具TをCt軸回転可能に支持する。工具主軸装置33は、歯切り工具Tを回転させる回転モータ(図示せず)を備える。このように、工具保持装置30は、歯切り工具Tを、ベッド10に対して、Y軸方向およびZ軸方向に移動可能とし、且つ、Ct軸回転可能に保持する。
【0035】
さらに、工作機械1は、上述した各構造体の動作を制御するための制御システム40を備える。制御システム40は、NCプログラムによるNC演算を実行するCNC(Computerized Numerical Control)装置41と、CNC装置41の起動、停止、中断等の制御を行うPLC(Programmable Logic Controller)42とを備える。以下に詳述するが、CNC装置41およびPLC42は、加工中に異常が発生した場合に、現在加工に使用している工具と工作物Wから退避させるように、制御する。CNC装置41およびPLC42は、CPU等の演算処理装置、メモリ等の記憶装置、外部機器と通信するインターフェース等を備える。
【0036】
(3.歯車加工の動作)
ギヤスカイビング加工やホブ加工においては、歯切り工具Tの中心軸線と工作物Wの中心軸線とを交差角を有する状態とし、歯切り工具Tおよび工作物Wを同期回転させながら、歯切り工具Tと工作物Wの中心軸線方向に相対移動させることにより、工作物Wに歯車を創成加工することができる。
【0037】
当該歯車加工においては、歯切り工具Tの複数の刃部が工作物Wの歯を加工しており、非常に複雑な状態を形成する。従って、加工中に異常が発生した場合には、例えば、旋削加工やフライス加工等と比べて、出来るだけ早期に歯切り工具Tを工作物Wから退避させる動作を開始することが求められる。
【0038】
(4.制御システム40の構成)
制御システム40の詳細な構成について、
図2-
図5を参照して説明する。ここで、制御システム40は、主として、工具Tによる工作物Wの加工を実行すると共に、加工中に異常が発生した場合に退避動作を実行する。ここで、制御システム40は、歯切り工具Tによる歯車加工を行っている場合に限られず、他の加工、例えば、旋削、フライス加工、エンドミル加工、ドリル加工、研削等にも適用される。
【0039】
図2に示すように、制御システム40は、上述したように、CNC装置41とPLC42とを備える。CNC装置41は、第一系統演算部51、第二系統演算部52、合成指令値演算部53、異常検出処理部54を備える。
【0040】
第一系統演算部51は、工作物Wを加工する加工プログラムによるNC演算を実行する。第一系統演算部51は、PLC42から起動信号が出力された場合に、加工プログラムを起動し、加工プログラムに記述されている指令を実行する。また、第一系統演算部51は、加工プログラムの実行中においてPLC42から中断信号が出力された場合には、加工プログラムの中断処理を実行する。
【0041】
ここで、第一例の加工プログラムは、
図3に示すように、工作物Wの加工動作を行う加工動作指令を含む。ただし、本例においては、加工プログラムは、退避プログラム有効化指令を含む。記述順序は、退避プログラム有効化指令、加工動作指令の順である。つまり、加工プログラムが起動された場合、退避プログラム有効化指令が実行され、その後に、加工動作指令が実行される。
【0042】
加工動作指令には、工作物Wの所定位置を基準として定義された座標系(ワーク座標系)において、工具Tの移動目標座標(X,Y,Z座標)に加えて、移動軌跡形状(直線や円弧等)、移動速度(早送り速度、加工送り速度)等のコード情報が記述されている。
【0043】
図2に示すように、第一系統演算部51は、退避プログラム有効化指令を、PLC42に出力する。また、第一系統演算部51は、加工動作指令に基づいてNC演算を行うことで、駆動装置60を構成する制御対象アクチュエータ(モータ等)に対する制御指令値を生成する。ここで、第一系統演算部51が生成する制御指令値を、第一制御指令値と称する。
【0044】
第二系統演算部52は、加工状態を退避させる退避プログラムによるNC演算を実行する。第二系統演算部52は、第一系統演算部51によるNC演算と並列に且つ独立して、退避プログラムによるNC演算を実行する。つまり、第一系統演算部51と第二系統演算部52とにより、いわゆる多系統制御を実現している。
【0045】
第二系統演算部52は、PLC42から起動信号が出力された場合に、退避プログラムを起動し、退避プログラムに記述されている指令を実行する。また、第二系統演算部52は、退避プログラムの実行中においてPLC42から中断信号が出力された場合には、退避プログラムの中断処理を実行する。
【0046】
ここで、第一例の退避プログラムは、
図4に示すように、工具Tを工作物Wから退避させる退避動作を行う退避動作指令を含む。第二系統演算部52は、退避動作指令に基づいてNC演算を行うことで、駆動装置60を構成する制御対象アクチュエータ(モータ等)に対する制御指令値を生成する。第二系統演算部52が生成する制御指令値を、第二制御指令値と称する。
【0047】
本例において、退避プログラムは、加工プログラムの加工動作指令が実行されている状態においてプログラム起動されている。従って、異常信号が生成される前段階において、既に、退避プログラムが起動している。そこで、退避プログラムは、起動後直ちに退避動作指令が実行されないようにするために、プログラム起動後において異常信号を受け取るまで待機する待機指令を含む。
【0048】
さらに、
図2に示すように、第二系統演算部52は、異常検出有効化指令を、異常検出処理部54に出力する。異常検出有効化指令は、異常検出処理部54による異常検出監視を実行するためのトリガー信号である。そして、退避プログラムには、
図4に示すように、待機指令に先立って、異常検出有効化指令が記述されている。
【0049】
退避プログラムにおける記述順序は、異常検出有効化指令、待機指令、退避動作指令の順である。つまり、退避プログラムが起動された場合、まず異常検出有効化指令が実行され、続いて待機指令が実行され、その後に、異常信号を受け取ることをトリガーとして退避動作指令が実行される。
【0050】
なお、異常検出有効化指令は、PLC42から退避プログラムの起動指令が出力されるのとほぼ同時(同時、同時よりも僅かに遅いタイミング、同時よりも僅かに早いタイミングを含む)に、PLC42から異常検出処理部54へ出力されるようにしても良い。また、PLC42は、退避プログラムにおける待機指令等に合わせて、異常検出処理部54への異常検出有効化指令の出力タイミングを調整しても良い。これらの場合、PC42が、第二系統演算部52における退避プログラムの起動と、異常検出処理部54の異常検出有効化を実行することになる。
【0051】
合成指令値演算部53は、
図2に示すように、第一系統演算部51による制御対象アクチュエータと第二系統演算部52による制御対象アクチュエータとが共通する場合に、第一系統演算部51による第一制御指令値と第二系統演算部52による第二制御指令値とを合成することにより、共通する制御対象アクチュエータを制御する合成指令値を生成する。
【0052】
例えば、第一制御指令値が、
図5の(a)に示すように、「G01 Za-200 F100」の記述に基づく指令値であるとする。「G01」は、直線移動を行うコードである。「Za-200」は、Z軸の移動目標座標を現在位置よりも「-200」だけ移動させた位置とする記述である。「F100」は、送り速度を表す記述である。ここで、「Za」との記述は、後述する第二制御指令値におけるZ軸の移動目標座標の記述「Zb」と区別するために「a」を付している。
【0053】
第二制御指令値は、
図5の(b)に示すように、「G01 Zb50 F100」の記述に基づく指令値であるとする。「Zb50」は、Z軸の移動目標座標を、現在位置よりも「+50」だけ移動させた位置とする記述である。
【0054】
そして、(a)に示す第一制御指令値も(b)に示す第二制御指令値も、Z軸の制御対象アクチュエータである。従って、制御対象アクチュエータが共通する。この場合、合成指令値は、
図5の(c)に示すように、「G01 Z-150 F100」の記述に基づく指令値となる。「Z-150」は、Z軸の移動目標座標を、現在位置よりも「-150」だけ移動させた位置とする記述である。
【0055】
ただし、
図5の(c)に示す記述は、NCプログラムにおける記述を表しているため、合成指令値が、当該記述で表されるものではない。合成指令値は、第一制御指令値と第二制御指令値との合成値である。つまり、
図5の(c)は、合成指令値を仮にNCプログラムの記述で表現した場合の仮定の記述である。
【0056】
つまり、制御対象アクチュエータが共通する場合において、第一制御指令値と第二制御指令値とを合成させた合成指令値に基づいて、共通する制御対象アクチュエータが制御される。換言すると、第一系統演算部51による第一制御指令値を生成するNC演算を実駆動軸に対する主演算とするならば、第二系統演算部52による第二制御指令値を生成するNC演算を仮想軸に対する副演算と捉えることができる。
【0057】
異常検出処理部54は、加工中において異常の検出を監視し、異常の検出時に異常信号を出力する。異常検出処理部54は、第二系統演算部52が出力する異常検出有効化指令を受け取ることをトリガーとして、異常の検出の監視を開始する。ここで、第二系統演算部52および異常検出処理部54は、CNC装置41の一部を構成するため、異常検出有効化指令は、CNC装置41の内部信号となる。
【0058】
加工中に発生する異常には、例えば、加工負荷の過大異常、加工による振動の過大異常、侵入不可領域への侵入異常、作業者による異常停止ボタンの操作、作業者による手動戻し操作等が含まれる。加工負荷の過大異常は、例えば、軸移動のアクチュエータの電流値の過大異常、フィードバック制御における偏差指令値の過大異常等を含む。また、ギヤスカイビング加工やホブ加工等のように、歯切り工具Tと工作物Wとを同期回転させながら相対移動することにより歯車を創成加工する場合においては、工作物Wの回転と歯切り工具Tの回転との同期ずれを、異常の1つとする。つまり、異常検出処理部54は、各種センサにより検出された信号に基づいて異常判定を行い、異常の検出を行っている。
【0059】
そして、異常検出処理部54は、異常を検出した場合には、異常信号を、第二系統演算部52に出力すると共に、PLC42に出力する。ここで、第二系統演算部52および異常検出処理部54は、CNC装置41の一部を構成するため、異常信号は、CNC装置41の内部信号となる。一方、異常検出処理部54からPLC42への出力される異常信号は、CNC装置41の外部通信線を用いた外部信号となる。
【0060】
PLC42は、第一系統演算部51に対して加工プログラムの起動信号を出力する。また、PLC42は、第一系統演算部51から退避プログラム有効化指令を受け取った場合に、第二系統演算部52に対して退避プログラムの起動信号を出力する。さらに、PLC42は、異常検出処理部54から異常信号を受け取った場合には、第一系統演算部51に対して加工プログラムの中断信号を出力する。
【0061】
(5.制御システム40の動作)
制御システム40の動作について、
図6を主として参照し、且つ、
図3および
図4を補助的に参照して説明する。
図6において、上から下に向かって時間が経過している。従って、
図6中の上下方向において同じ位置に位置する場合には、ほぼ同時刻に当該記述が実行される。また、
図6中、同一欄における記述と記述の上下方向の間隔は、時間間隔に一致するものではない。また、
図6において、太実線は、CNC装置41とPLC42とを接続する外部通信線を用いた信号の移動を示し、細実線は、CNC装置41の内部信号の移動を示す。
【0062】
まず、PLC42が加工プログラムの起動信号を第一系統演算部51に出力する。そうすると、第一系統演算部51が当該起動信号を受け取ることで、加工プログラムを起動する。
【0063】
加工プログラムには、
図3に示すように、最初に退避プログラム有効化指令が記述されている。従って、第一系統演算部51は、退避プログラム有効化指令を、PLC42に出力する。そして、PLC42は、退避プログラムの起動信号を第二系統演算部52に出力する。そうすると、第二系統演算部52が当該起動信号を受け取ることで、退避プログラムを起動する。
【0064】
加工プログラムには、
図3に示すように、退避プログラム有効化指令に続いて加工動作指令が記述されている。従って、第一系統演算部51は、退避プログラム有効化指令を出力した後には、加工動作指令に基づいてNC演算を実行する。第一系統演算部51は、加工動作指令に基づいてNC演算を実行することで、第一制御指令値(加工動作に関する指令値)を生成する。そうすると、合成指令値演算部53が、第一系統演算部51による第一制御指令値のみに基づいて合成指令値を演算し、駆動装置60を制御する。つまり、このタイミングでは、合成指令値は、加工動作のみを含むものとなる。
【0065】
ここで、PLC42による退避プログラムの起動および第二系統演算部52による退避プログラムの起動と、第一系統演算部51による加工動作指令の実行および合成指令値演算部53による合成指令値の生成とは、一部において同時刻に並列に処理されている。ただし、時間的に、短時間ではあるため、両者は異なる時刻に処理される可能性もある。換言すると、両者は、同時刻に並列に処理することが許容されている。
【0066】
退避プログラムには、
図4に示すように、最初に異常検出有効化指令が記述されている。従って、第二系統演算部52は、異常検出有効化指令を、異常検出処理部54に出力する。この出力信号は、CNC装置41の内部信号である。そうすると、異常検出処理部54が当該有効化指令を受け取ることで、異常検出の監視を開始する。
【0067】
退避プログラムには、
図4に示すように、異常検出有効化指令に続いて待機指令が記述されている。従って、第二系統演算部52は、異常信号を受け取るまで、何ら処理を行うことなく待機する。
【0068】
このタイミングにおいて、第一系統演算部51は、加工動作指令に基づいてNC演算を行うことで、第一制御指令値(加工動作に関する指令値)を生成する。第二系統演算部52は、待機指令に基づいて、異常信号を受け取るまでは何ら処理を行うことなく待機する。つまり、第二系統演算部52は第二制御指令値を出力していない。ここで、合成指令値演算部53は、第一系統演算部51による第一制御指令値と第二系統演算部52による第二制御指令値とを合成する処理を行う。しかし、このタイミングでは、合成指令値演算部53は、第一制御指令値のみにより表された指令値に基づいて駆動装置60の制御対象アクチュエータを制御する。さらに、異常検出処理部54は、異常検出を監視している。
【0069】
そして、異常検出処理部54が加工中に異常を検出したとする。そうすると、異常検出処理部54は、異常信号を第二系統演算部52に出力する。第二系統演算部52に出力される異常信号は、CNC装置41の内部信号である。従って、当該異常信号の送受は、非常に高速に行われる。
【0070】
ここで、退避プログラムには、
図4に示すように、待機指令に続いて退避動作指令が記述されている。従って、第二系統演算部52は、異常検出処理部54から異常信号を受け取ると、待機指令から退避動作指令に移る。第二系統演算部52は、退避動作指令に基づいてNC演算を実行することで、第二制御指令値(退避動作に関する指令値)を生成する。
【0071】
このタイミングにおいては、第一系統演算部51は、加工動作指令に基づいて第二制御指令値を生成している。従って、合成指令値演算部53は、第一系統演算部51による第一制御指令値と、第二系統演算部52による第二制御指令値とを合成させた合成指令値を生成する。そして、合成指令値演算部53は、生成した合成指令値に基づいて駆動装置60の制御対象アクチュエータを制御する。つまり、このタイミングでは、合成指令値は、加工動作と退避動作とが併存している。
【0072】
異常検出処理部54は、加工中に異常を検出すると、第二系統演算部52への異常信号を出力すると共に、PLC42へも異常信号を出力する。PLC42へ出力される異常信号は、CNC装置41の外部信号である。従って、当該異常信号の送受は、CNC装置41の内部信号の送受に比べると、時間を要する。
【0073】
PLC42は、異常検出処理部54から異常信号を受け取ると、第一系統演算部51に対して加工プログラムの中断信号を出力する。第一系統演算部51が、加工プログラムの中断信号を受け取ると、加工プログラムの中断処理を開始する。加工プログラムを中断するには、例えば、現在の動作指令に基づく動作を減速させて、移動体の動作を停止させる。つまり、加工プログラムの中断処理が開始されたとしても、加工プログラムの中断が完全に終了するまでには時間を要する。従って、PLC42が第一系統演算部51に対する中断信号を出力した後であっても加工プログラムの中断完了までは、加工動作指令および退避動作指令が、並列に実行されている。
【0074】
そして、第一系統演算部51が加工プログラムの中断処理を完了すると、合成指令値演算部53は、第一系統演算部51からの第一制御指令値が出力されなくなるため、第二系統演算部52による第二制御指令値のみによって指令値が生成される。そして、第二系統演算部52における退避動作指令が終了すれば、合成指令値演算部53による指令値の生成も終了し、退避完了状態となる。
【0075】
(6.効果)
制御システム40においては、第一系統演算部51と第二系統演算部52とが並列に且つ独立してNC演算を行うことができる。つまり、第一系統演算部51により加工プログラムによるNC演算と、第二系統演算部52による退避プログラムによるNC演算とが、並列に且つ独立して実行可能となる。
【0076】
そして、退避プログラムは、加工プログラムにおける加工動作指令が実行されている状態においてプログラム起動されている。つまり、退避プログラムの起動は、異常検出処理部54が異常の検出時に異常信号を出力することとは無関係であって、退避プログラムは、異常信号の出力時には既に起動されている。従って、従来は、異常の検出後に退避プログラムを起動させる時間が必要であったのに対して、上述した制御システム40では、異常の検出後に退避プログラムの起動に要する時間が不要となる。
【0077】
ここで、異常の検出時に、退避プログラムによる退避動作指令が実行される必要がある。また、上述したように、異常の検出前に、退避プログラムが既に起動されている状態としている。これらのことを実現するために、退避プログラムには、退避動作指令の他に、プログラム起動後において異常信号を受け取るまで待機する待機指令が含まれている。
【0078】
つまり、第二系統演算部52は、退避プログラムを起動させると、異常検出処理部54から異常信号を受け取るまでは退避プログラムにおける退避動作指令を実行せずに、退避プログラムにおける待機指令が実行された状態となる。そして、第二系統演算部52は、異常信号を受け取ると、退避動作指令を実行する。
【0079】
そして、第二系統演算部52が退避動作指令の実行を開始したとき、第一系統演算部51は、加工プログラムの加工動作指令を完全に停止しておらず、加工動作指令を継続して実行している状態となる。つまり、退避動作指令の実行が開始された直後において、加工プログラムの加工動作指令と退避プログラムの退避動作指令とが、並列に且つ独立して実行されている。
【0080】
ここで、第一系統演算部51が加工動作指令により制御する制御対象アクチュエータと第二系統演算部52が退避動作指令により制御する制御対象アクチュエータとが、共通する場合がある。このとき、合成指令値演算部53によって、第一系統演算部51による第一制御指令値と第二系統演算部52による第二制御指令値とを合成した合成指令値が生成され、生成された合成指令値により、共通する制御対象アクチュエータが制御される。
【0081】
従って、加工プログラムの加工動作指令と退避プログラムの退避動作指令とが同時に実行されている場合であっても、共通する制御対象アクチュエータを制御することが可能となる。つまり、加工プログラムの完全な停止を待つことなく、退避プログラムの退避動作指令を実行することができるため、退避動作指令をより早期に実行することができる。
【0082】
また、加工プログラムは、
図3に示すように、加工動作指令、および、退避プログラム有効化指令を含む。そして、PLC42は、加工プログラムに含まれる退避プログラム有効化指令を受け取った場合に、第二系統演算部52に対して退避プログラムの起動信号を出力する。このように、加工プログラムに退避プログラム有効化指令が含まれているため、加工プログラムにて任意のタイミングで退避プログラムの起動を実現できる。
【0083】
(7.第二例の加工プログラムおよび退避プログラム)
上述した第一例の加工プログラムおよび退避プログラムの他に、以下に示す第二例の加工プログラムおよび退避プログラムを適用することもできる。
【0084】
第二例の加工プログラムは、
図7に示すように、工具交換指令、退避プログラム有効化指令、加工動作指令を1つのユニットとして、使用する工具毎に記述されている。加工プログラムには、例えば、工具種T01に関する工具交換指令、工具種T01に関する退避プログラム有効化指令、および、工具種T01に関する加工動作指令が記述されている。続いて、加工プログラムには、例えば、工具種T03に関する工具交換指令、工具種T03に関する退避プログラム有効化指令、および、工具種T03に関する加工動作指令が記述されている。第二例の退避プログラムは、工具種毎に設定されている。それぞれの退避プログラムには、異常検出有効化指令、待機指令、退避動作指令が記述されている。
【0085】
第二例の加工プログラムおよび退避プログラムが実行される場合には、工具種毎に退避動作指令が異なるものとなる。この場合の制御システム40の処理としては、実質的に、
図6に示す動作が行われる。
【符号の説明】
【0086】
1:工作機械、 10:ベッド、 20:工作物保持装置、 21:X軸移動テーブル、 22:B軸回転テーブル、 23:工作物主軸装置、 30:工具保持装置、 31:コラム、 32:サドル、 33:工具主軸装置、 40:制御システム、 41:CNC装置、 51:第一系統演算部、 52:第二系統演算部、 53:合成指令値演算部、 54:異常検出処理部、 60:駆動装置、 T:工具、 W:工作物