(57)【要約】【課題】いかなるタイプの加工装置にも適用可能な工具衝突防止システム等を提供する。【解決手段】  加工装置２においてユーザによる所定の判定開始操作があると、加工装置２は、予め用意された判定開始用プログラムＰ１に従って動作することにより、加工部２１の状態情報及び加工プログラム情報と共に、衝突判定の開始指示としての開始トリガ情報を中継装置４へ出力する。中継装置４は開始トリガ情報を取得すると、取得した状態情報及び加工プログラム情報と共にシミュレータ３が認識可能な判定開始情報をシミュレータ３に出力する。判定開始情報を取得したシミュレータ３は、取得した状態情報に基づいて、取得した加工プログラム情報に対応する加工プログラムに従ってワークが加工される過程をシミュレーションし、加工処理中にワーク部と工具とが衝突するか否かを判定する。【選択図】図１
2010108292.tif 000002
【特許請求の範囲】
【請求項１】
複数のコードが記述された加工プログラムに従って工具を順次動作させることにより所定のワークを加工する加工装置と、
前記ワークが前記工具によって加工される過程を前記工作プログラムに基づいてシミュレーションすることにより、前記工具が前記ワーク及びそのワークを支持する支持部を含むワーク部に衝突するか否かの衝突判定を行うシミュレーション装置と、
前記加工装置から出力されるデータを受け付け、かつ、前記シミュレーション装置との間でデータを入出力する中継装置とで構成される工具衝突防止システムであって、
前記加工装置は、
前記シミュレーション装置に前記衝突判定させるためのコードが記述された判定開始用プログラムを記憶する記憶部と、
前記ワークが設置されて前記工具により加工される領域である加工部と、
ユーザによる所定の判定開始操作があると、前記判定開始用プログラムに従った処理を行う装置制御部と、を備え、
前記判定開始用プログラムには、少なくとも、前記工具に関する工具データを含む現在の前記加工部の状態を示す状態情報を前記中継装置へ出力するコード、前記ワークを加工するための一連のコードが記述された加工プログラムに関する加工プログラム情報を前記中継装置へ出力するコード、及び前記衝突判定の開始のトリガとなる開始トリガ情報を前記中継装置へ出力するコードが含まれ、
前記中継装置は、
前記加工装置から前記開始トリガ情報を取得すると、前記シミュレーション装置が認識可能な判定開始情報を、前記状態情報及び前記加工プログラム情報と共に前記シミュレーション装置へ出力するデータ中継部を有し、
前記シミュレーション装置は、
前記判定開始情報が取得されると、前記中継装置から出力された前記状態情報に基づいて前記加工プログラム情報に対応する加工プログラムに従って前記ワークが加工される過程をシミュレーションするシミュレーション実行部と、
前記シミュレーションにおいて、前記ワーク部と前記工具とが衝突するか否かを判定する衝突判定部と、
前記衝突判定部による判定結果に応じた処理を行う判定結果処理部とを有する、ことを特徴とする工具衝突防止システム。
【請求項２】
前記中継装置は、前記加工装置から出力されたデータを保持する加工装置用保持部と、前記シミュレーション装置との間で入出力されるデータを保持するシミュレーション装置用保持部とを有し、
前記データ中継部は、前記加工装置から取得した情報を前記加工装置用保持部に保持し、前記加工装置用保持部に保持された前記状態情報及び前記加工プログラム情報を、前記判定開始情報と共に、前記シミュレーション装置用保持部に出力し、
前記シミュレーション装置は、前記シミュレーション装置用保持部にて前記判定開始情報を検知すると、前記判定開始情報、前記状態情報及び前記加工プログラム情報を前記シミュレーション装置用保持部より取得するデータ取得部を有する、ことを特徴とする請求項１に記載の工具衝突防止システム。
【請求項３】
前記加工プログラム情報は、前記加工プログラムを識別するための加工プログラム識別情報であり、
前記加工装置の記憶部は、前記加工プログラム識別情報が対応付けられた加工プログラムを更に記憶し、
前記中継装置のデータ中継部は、前記加工装置用保持部の加工プログラム識別情報に対応する加工プログラムを、前記加工装置から取得し、前記シミュレーション装置用保持部に保持し、
前記シミュレーション装置のデータ取得部は、前記シミュレーション装置用保持部から前記加工プログラムを取得する、ことを特徴とする請求項２に記載の工具衝突防止システム。
【請求項４】
前記中継装置は、前記加工装置のワーク部に設置されているワークの形状及び位置に関するワークデータを、前記加工装置に設けられたワークデータ取得装置を介して取得して前記シミュレーション装置用保持部に保持するワークデータ取得部を有し、
前記シミュレーション装置のデータ取得部は、前記判定開始情報を取得すると、前記ワークデータを前記シミュレーション装置用保持部から取得し、
前記シミュレーション実行部は、前記取得したワークデータ及び前記状態情報に基づいて、前記ワークが加工される過程をシミュレーションする、ことを特徴とする請求項２又は３に記載の工具衝突防止システム。
【請求項５】
複数のコードが記述された加工プログラムに従って工具を順次動作させることにより所定のワークを加工する加工装置と、
前記ワークが前記工具によって加工される過程を前記工作プログラムに基づいてシミュレーションすることにより、前記工具が前記ワーク及びそのワークを支持する支持部を含むワーク部に衝突するか否かの衝突判定を行うシミュレーション装置と、
前記加工装置から出力されるデータを受け付け、かつ、前記シミュレーション装置との間でデータを入出力する中継装置とで実現される工具衝突防止方法であって、
前記ワークが設置されて前記工具により加工される領域である加工部を備える前記加工装置を、
少なくとも、前記工具に関する工具データを含む現在の前記加工部の状態を示す状態情報を前記中継装置へ出力するコード、前記ワークを加工するための一連のコードが記述された加工プログラムに関する加工プログラム情報を前記中継装置へ出力するコード、及び前記衝突判定の開始のトリガとなる開始トリガ情報を前記中継装置へ出力するコードが記述された判定開始用プログラムを記憶する記憶部と、
ユーザによる所定の判定開始操作があると、前記判定開始用プログラムに従った処理を行う装置制御部として機能させ、
前記中継装置を、
前記加工装置から前記開始トリガ情報を取得すると、前記シミュレーション装置が認識可能な判定開始情報を、前記状態情報及び前記加工プログラム情報と共に前記シミュレーション装置へ出力するデータ中継部として機能させ、
前記シミュレーション装置を、
前記中継装置から出力された前記判定開始情報が取得されると、前記中継装置から出力された前記状態情報に基づいて前記加工プログラム情報に対応する加工プログラムに従って前記ワークが加工される過程をシミュレーションするシミュレーション実行部と、
前記シミュレーションにおいて、前記ワーク部と前記工具とが衝突するか否かを判定する衝突判定部と、
前記衝突判定部による判定結果に応じた処理を行う判定結果処理部として機能させることを特徴とする、工具衝突防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工装置における工具がワークと衝突するのを防止するための工具衝突防止システム、及び工具衝突防止方法に関する。
【背景技術】
【０００２】
複数のコードが記述された加工プログラムに従ってワークの加工を行う加工装置の工具と加工されるワークとの衝突を回避すべく、加工プログラム作成時に、市販のあるいは専用のシミュレーションソフトを利用して、ワークが加工される過程のシミュレーションが従来より行われている。このようなシミュレーションは製造設計部門での作業となり、実際に加工装置が設置されている現場ではないため、現場における実際のワークや工具の状態を反映させにくく、また、シミュレーションを開始するための設定値が全て手入力であったため、ユーザの負担が大きかったが、このような問題を解決すべく、現場における工具やワーク等の状態を測定した測定データを所定の測定装置により取得して、当該測定データに基づいてシミュレーションを実施する方法は既に知られている（例えば、特許文献１、特許文献２及び特許文献３参照）。
【０００３】
【特許文献１】特開２００８−１１２２６９号公報
【特許文献２】特開２００６−１０２９２３号公報
【特許文献３】特開２００７−４８２１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、これら工具衝突防止方法は、加工装置内にシミュレーション機能を備えた構成が前提とされているため、シミュレーション機能を持たず、かつ、予め決められたコマンドのみ制御可能で拡張性のない旧式タイプの加工装置には、そのまま適用することは困難である。
【０００５】
そこで、本発明は、いかなるタイプの加工装置にも適用可能な工具衝突防止システム及び工具衝突防止方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、以下の手段により上述した課題を解決する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
【０００７】
本発明の工具衝突防止システム（１）は、複数のコードが記述された加工プログラムに従って工具を順次動作させることにより所定のワークを加工する加工装置（２）と、前記ワークが前記工具によって加工される過程を前記工作プログラムに基づいてシミュレーションすることにより、前記工具が前記ワーク及びそのワークを支持する支持部を含むワーク部に衝突するか否かの衝突判定を行うシミュレーション装置（３）と、前記加工装置から出力されるデータを受け付け、かつ、前記シミュレーション装置との間でデータを入出力する中継装置（４）とで構成される工具衝突防止システムであって、前記加工装置は、前記シミュレーション装置に前記衝突判定させるためのコードが記述された判定開始用プログラム（Ｐ１）を記憶する記憶部（２２）と、前記ワークが設置されて前記工具により加工される領域である加工部（２１）と、ユーザによる所定の判定開始操作があると、前記判定開始用プログラムに従った処理を行う装置制御部（２）と、を備え、前記判定開始用プログラムには、少なくとも、前記工具に関する工具データを含む現在の前記加工部の状態を示す状態情報を前記中継装置へ出力するコード、前記ワークを加工するための一連のコードが記述された加工プログラムに関する加工プログラム情報を前記中継装置へ出力するコード、及び前記衝突判定の開始のトリガとなる開始トリガ情報を前記中継装置へ出力するコードが含まれ、前記中継装置は、前記加工装置から前記開始トリガ情報を取得すると、前記シミュレーション装置が認識可能な判定開始情報を、前記状態情報及び前記加工プログラム情報と共に前記シミュレーション装置へ出力するデータ中継部（４４）を有し、前記シミュレーション装置は、前記判定開始情報が取得されると、前記中継装置から出力された前記状態情報に基づいて前記加工プログラム情報に対応する加工プログラムに従って前記ワークが加工される過程をシミュレーションするシミュレーション実行部（３４）と、前記シミュレーションにおいて、前記ワーク部と前記工具とが衝突するか否かを判定する衝突判定部（３４）と、前記衝突判定部による判定結果に応じた処理を行う判定結果処理部（３４）とを有する、ことにより上記の課題を解決する。
【０００８】
本発明の工具衝突防止システムによれば、加工装置に、現在の加工部の状態を示す状態情報、加工プログラム情報、及び開始トリガ情報を中継装置に出力させるコードが記述された判定開始用プログラムが予め用意され、ユーザによる判定開始操作があると、装置制御部により判定開始用プログラムに従った処理が行われるように構成されている。中継装置のデータ中継部では、取得した開始トリガ情報をトリガにして、判定開始情報と共に状態情報及び加工プログラム情報等のシミュレーションに必要な情報がシミュレーション装置へ出力される。判定開始令情報は、シミュレーション装置が衝突判定を開始するための情報として認識可能な情報に設定可能であるため、いかなる開始トリガ情報が加工装置から出力されても、シミュレーション装置にて衝突判定を開始させることができる。また、加工装置における現在の加工部の状態情報もシミュレーション装置にて取得されるため、加工装置の実際の状況に基づいた衝突判定を行うことができる。加工装置には、予め保持している加工部の状態情報は認識できるが、新たな機能や変数を設定することができない旧式タイプのものが多く存在する。本願発明によれば、シミュレーション装置にて必要な情報を判定開始用プログラムにより出力させ、中継装置により、これら必要な情報をシミュレーション装置が認識可能な状態にて提供可能になる。これにより、旧式の加工装置であっても当該加工装置の現在の状態を反映した衝突防止の判定が可能となる。
【０００９】
なお、本願発明において、中継装置の機能とシミュレーション装置の機能をそれぞれ独立した構成に設ける場合と、同じ構成内に設ける場合とが考えらる。工具データの他に加工部の状態を示す状態情報には、例えば、機械座標値やワーク座標値等、加工装置が加工部の状態をして把握している情報であればよい。「工具データ」には、工具の種類識別及び工具補正知情報等が含まれる。加工プログラム情報は、加工プログラムそのものでもよいし、加工プログラムを特定する情報であってもよい。加工プログラムを特定する情報の場合、例えば、中継装置またはシミュレーション装置、あるいは他のプログラム保持手段にて加工プログラムを保持し、データ中継部又はシミュレーション実行部が加工プログラム情報に対応する加工プログラムを特定するように構成すればよい。
【００１０】
判定結果処理部による「判定結果に応じた処理」は、周知の処理であれば足り、例えば、衝突する又は衝突しないことを通知するメッセージをモニタに表示させる処理、及び／又は当該通知のための音を発生させる処理等がある。シミュレーション実行部におけるシミュレーションにおいて、ワークに関するデータは、予め固定値が設定されていてもよいし、シミュレ―ション実行前にユーザによって入力されるように構成されてもよいし、スキャナ等の他の装置によりシミュレーション装置が取得するように構成されてもよい。
【００１１】
前記中継装置は、前記加工装置から出力されたデータを保持する加工装置用保持部（４１ａ）と、前記シミュレーション装置との間で入出力されるデータを保持するシミュレーション装置用保持部（４１ｂ）とを有し、前記データ中継部は、前記加工装置から取得した情報を前記加工装置用保持部に保持し、前記加工装置用保持部に保持された前記状態情報及び前記加工プログラム情報を、前記判定開始情報と共に、前記シミュレーション装置用保持部に出力し、前記シミュレーション装置は、前記シミュレーション装置用保持部にて前記判定開始情報を検知すると、前記判定開始情報、前記状態情報及び前記加工プログラム情報を前記シミュレーション装置用保持部より取得するデータ取得部（３４）を有してもよい。本発明により、加工装置から出力されるデータとシミュレーション装置が取得するデータとを完全に分離して保持し、当該データ間の調整をデータ中継部にて行うことができる。
【００１２】
前記加工プログラム情報は、前記加工プログラムを識別するための加工プログラム識別情報であり、前記加工装置の記憶部は、前記加工プログラム識別情報が対応付けられた加工プログラムを更に記憶し、前記中継装置のデータ中継部は、前記加工装置用保持部の加工プログラム識別情報に対応する加工プログラムを、前記加工装置から取得し、前記シミュレーション装置用保持部に保持し、前記シミュレーション装置のデータ取得部は、前記シミュレーション装置用保持部から前記加工プログラムを取得してもよい。これにより、加工装置に保持されている加工プログラムを取得することができる。加工プログラム識別情報は、例えば、各加工プログラムに固有に付与された情報や記憶場所等、各加工プログラムを識別できる情報であればよい。
【００１３】
前記中継装置は、前記加工装置のワーク部に設置されているワークの形状及び位置に関するワークデータを、前記加工装置に設けられたワークデータ取得装置を介して取得して前記シミュレーション装置用保持部に保持するワークデータ取得部（４４）を有し、前記シミュレーション装置のデータ取得部は、前記判定開始情報を取得すると、前記ワークデータを前記シミュレーション装置用保持部から取得し、前記シミュレーション実行部は、前記取得したワークデータ及び前記状態情報に基づいて、前記ワークが加工される過程をシミュレーションしてもよい。
【００１４】
これにより、加工装置がワークの形状や位置に関するワークデータを認識することができないタイプであっても、ワークデータ取得部により、加工装置に設定されているワークのワークデータが取得可能となり、より実際の状態に基づいたシミュレーションを実行することができる。
【００１５】
本発明の工具衝突防止方法は、  複数のコードが記述された加工プログラムに従って工具を順次動作させることにより所定のワークを加工する加工装置（２）と、前記ワークが前記工具によって加工される過程を前記工作プログラムに基づいてシミュレーションすることにより、前記工具が前記ワーク及びそのワークを支持する支持部を含むワーク部に衝突するか否かの衝突判定を行うシミュレーション装置（３）と、前記加工装置から出力されるデータを受け付け、かつ、前記シミュレーション装置との間でデータを入出力する中継装置（４）とで実現される工具衝突防止方法であって、前記ワークが設置されて前記工具により加工される領域である加工部（２１）を備える前記加工装置を、少なくとも、前記工具に関する工具データを含む現在の前記加工部の状態を示す状態情報を前記中継装置へ出力するコード、前記ワークを加工するための一連のコードが記述された加工プログラムに関する加工プログラム情報を前記中継装置へ出力するコード、及び前記衝突判定の開始のトリガとなる開始トリガ情報を前記中継装置へ出力するコードが記述された判定開始用プログラム（Ｐ１）を記憶する記憶部（２２）と、ユーザによる所定の判定開始操作があると、前記判定開始用プログラムに従った処理を行う装置制御部（２６）として機能させ、前記中継装置を、前記加工装置から前記開始トリガ情報を取得すると、前記シミュレーション装置が認識可能な判定開始情報を、前記状態情報及び前記加工プログラム情報と共に前記シミュレーション装置へ出力するデータ中継部（４４）として機能させ、前記シミュレーション装置を、前記中継装置から出力された前記判定開始情報が取得されると、前記中継装置から出力された前記状態情報に基づいて前記加工プログラム情報に対応する加工プログラムに従って前記ワークが加工される過程をシミュレーションするシミュレーション実行部（３４）と、前記シミュレーションにおいて、前記ワーク部と前記工具とが衝突するか否かを判定する衝突判定部（３４）と、前記衝突判定部による判定結果に応じた処理を行う判定結果処理部（３４）として機能させる、ことにより上記の課題を解決する。本発明の工具衝突防止方法は、本発明の工具防止衝突防止システムとして具現化される。
【発明の効果】
【００１６】
上述したように、本発明によれば、加工装置においてユーザによる所定の判定開始操作があると、加工装置は、予め用意された判定開始用プログラムに従って、現在の加工部の状態を示す状態情報と加工プログラムに関する加工プログラム情報を含むシミュレーションに必要な情報と共に衝突判定を開始させる開始トリガ情報を中継装置へ出力し、中継装置では開始トリガ情報を取得すると、シミュレーション装置が認識可能な判定開始情報と共に、加工装置から取得したシミュレーションに必要な情報をシミュレーション装置に提供する。シミュレーション装置では、中継装置から判定開始情報を取得すると、取得したシミュレーションに必要な情報に基づいてシミュレーションを実施し、工具とワーク部とが衝突するか否かを判定することにより、いかなるタイプの加工装置にも適用可能な工具衝突防止システム等を提供することができる。
【発明を実施するための最良の形態】
【００１７】
図１は、本願発明の工具衝突防止システム１の一例を示す図である。工具衝突防止システム１は、加工装置２、シミュレータ３、中継装置４及びスキャナ装置５で構成される。加工装置２は、複数のコードが記述された加工プログラムに従って、被加工物であるワークを所定の工具により加工するいわゆるＮＣ工作機械である。なお、本形態の加工装置２は、いわゆるオープンタイプではない旧式タイプのＮＣ工作機械である。シミュレータ３は、ワークが加工装置２において加工される過程をシミュレートし、加工中における工具とワーク部との衝突の有無を判定するシミュレーション装置である。なお、ワーク部とは、ワークとワークが支持される支持部やワーク周囲の壁を含む概念である。
【００１８】
中継装置４は、主に加工装置２から出力されるデータによって、シミュレータ３がシミュレーション装置として機能するようにデータを中継する機能を有する装置である。本形態では、中継装置４は加工装置２と直接接続され、シミュレータ３とはＬＡＮを経由して接続されている。当該構成は、１つのシミュレータを複数の加工装置２によって共有する場合に適している。なお、スキャナ装置５は、加工装置２における後述の加工部２１に設置されたワークの画像情報を取得するために設けられている。
【００１９】
加工装置２は、ハードウェア構成として、ワークが工具によって加工される加工領域である加工部２１、プログラムを含む各種データを記憶するためのＮＣ記憶部２２、各種メッセージ及び各種画面をモニタに表示するためのモニタ部２３、ユーザの入力を受け付けるための操作入力部２４、シミュレータ３へデータを出力するためのデータ出力部２５、及び装置制御部としてのＮＣ制御部２６を有する。ＮＣ制御部２６は、所定の加工プログラムに記述されたコードに従って各部２１〜２５の動作を制御する。ＮＣ記憶部２２には、工具の衝突判定を開始するための判定開始用プログラムＰ１及びワークを実際に加工するための複数のコードが記述された加工プログラムが加工プログラムを識別する加工プログラム情報に対応付けられて記憶されている。判定開始用プログラムＰ１の詳細については後述する。
【００２０】
シミュレータ３は、ハードウェア構成として、中継装置４とデータの入出力を行うためのデータ入出力部３１、各種メッセージ等をモニタに表示するためのモニタ部３２、本願発明のシミュレーション装置として機能するためのプログラムを含む各種データを記憶するためのシミュレータ記憶部３３、及びシミュレータ制御部３４を有する。シミュレータ制御部３４は、ＣＰＵ及びその動作に必要なＲＡＭ、ＲＯＭ等の記憶域を含み、シミュレータ記憶部３３が保持しているプログラムに基づいてコンピュータとして機能し、シミュレータ３の各部３１〜３３の動作を制御する。シミュレータ３におけるシミュレーションは周知のシミュレーション用プログラムを採用すればよく、即ち、シミュレータ３は、例えば、周知のシミュレーション用プログラムが機能する周知のパーソナルコンピュータでよい。なお、本形態では、シミュレータ記憶部３３には、シミュレーション対象となる加工プログラムが加工プログラムを識別する加工プログラム情報と対応付けられて予め記憶されている。
【００２１】
中継装置４は、ハードウェア構成として、加工装置２及びスキャナ装置５からのデータを取得し、シミュレータ３へデータを出力するデータ入出力部４１と、各種メッセージがモニタに表示されるためのモニタ部４２と、各種データ及びプログラムが記憶される中継記憶部４３と、中継制御部４４とを有する。中継制御部４４は、ＣＰＵ及びその動作に必要なＲＡＭ、ＲＯＭ等の記憶域を含み、中継記憶部４３が保持しているプログラムに基づいてコンピュータとして機能し、シミュレータ３の各部４１〜４３の動作を制御する。
【００２２】
データ入出力部４１は、加工装置２から取得されるデータが保持される加工装置用保持部４１ａと、シミュレータ３へ提供されるデータが保持されるシミュレータ用保持部４１ｂとを有する。中継装置４は、加工装置用保持部４１ａとシミュレータ用保持部４１ｂを使用して、加工装置２とシミュレータ３との間のデータ認識の違いを吸収する。このような機能を中継装置４に動作させるには、例えば、ミドルウェアとしてＯＲｉＮ（登録商標）を採用する方法がある。
【００２３】
中継装置４は、更にスキャナ装置５から加工装置２の加工部２１に設定されたワークの画像情報を取得して、ワークの形状及び位置に関するワークデータを生成し、シミュレータ用保持部４１ｂに保持する。スキャナ装置５によってワークの画像情報を取得する方法、及びワークデータの生成方法は、従来既知の方法を採用すればよい。
【００２４】
加工装置２のＮＣ記憶部２２に記憶される判定開始用プログラムＰ１の一例を図２に示す。プログラムコード５１は、判定開始用プログラムＰ１の識別コードである。工具データ出力コード５２は、加工部２１に設定されている工具の種類や補正値を示す工具データを中継装置の加工装置用保持部４１ａへ出力させるコードである。加工プログラム情報出力コード５３は、加工プログラムを識別するための加工プログラム識別情報を加工装置用保持部４１ａへ出力させるコードである。このように、判定開始用プログラムＰ１は加工プログラム毎に用意される。
【００２５】
機械座標値出力コード５４は、現在の機械座標値を加工装置用保持部４１ａへ出力させるコードである。ワーク座標値出力コード５５は、現在のワーク座標値を加工装置用保持部４１ａへ出力させるコードである。セット完了情報出力コード５６は、工具データ〜現在のワーク座標値（以下「シミュレーション用データ」という。）を加工装置用保持部４１ａへセットしたことを示すセット完了情報を加工装置用保持部４１ａへ出力させるコードである。開始トリガ情報出力コード５７は、衝突判定の実行開始のトリガとなる開始トリガ情報を加工装置保持部４１ａへ出力させるコードである。なお、工具データ、現在の機械座標値、及び現在のワーク座標値は「現在の加工部の状態を示す状態情報」として機能し、加工装置２の例えばＮＣ記憶部２２に記憶されている。
【００２６】
加工装置２において衝突判定を開始する際に行われる処理の流れについて図３のフローチャートに従って説明する。加工装置２における処理はＮＣ制御部２６により制御される。まず、ステップＳ１００にて、衝突判定を開始するための操作である判定開始操作がユーザによってされたか否かが判断される。判定開始操作がないと判断された場合はユーザの操作待ち状態となり、当該操作があると判断されると、ステップＳ１１０へ進んで判定開始用プログラムＰ１が起動される。複数種類の加工処理が存在する場合は、ステップＳ１００にて判定開始操作を受け付ける際に、例えば、加工処理の一覧をモニタに表示させ、判定開始操作にて特定の加工処理が選択されるように構成すればよい。この場合のステップＳ１１０では、選択された加工処理を実行するための加工プログラムに対応する判定開始用プログラムＰ１が起動される。
【００２７】
以下、ステップＳ１２０〜ステップＳ１７０は、判定開始用プログラムＰ１に記述された内容に従った処理であり、各データの出力先は中継装置４の加工装置用保持部４１ａである。ステップＳ１２０では工具データ出力コード５２により、現在加工部２１に設定さている工具の工具データが特定されて出力される。ステップＳ１３０では加工プログラム情報出力コード５３により、加工プログラム情報が出力される。ステップＳ１４０では機械座標値出力コード５４により、現在の機械座標値が出力される。ステップＳ１５０ではワーク座標値出力コード５５により、現在のワーク座標値が出力される。ステップＳ１６０ではセット完了情報出力コード５６により、セット完了情報が出力される。そして、最後にステップＳ１７０では開始トリガ情報出力コード５７により、開始トリガ情報が出力される。
【００２８】
次に、中継装置４における処理の流れについて、図４に示すフローチャートに従って説明する。なお、中継装置４における各処理は中継制御部４４によって制御される。まず、ステップＳ２００にて、加工装置２からシミュレータ用データを取得したか否かを判別する。加工装置用保持部４１ａを監視し、セット完了情報を検知した場合に、シミュレーション用データを取得したと判別する。次に、ステップＳ２０５にて、加工装置用保持部４１ａの工具データをシミュレータ用保持部４１ｂへ出力し、ステップＳ２１０では、加工装置用保持部４１ａの加工プログラム情報をシミュレータ用保持部４１ｂへ出力する。
【００２９】
ステップＳ２１５では、加工装置用保持部４１ａの機械座標値及びワーク座標値をシミュレータ用保持部４１ｂへ出力する。更にステップＳ２２０では、取得したスキャナ装置５から取得したワークデータをシミュレータ用保持部４１ｂへ出力する。ワークデータは、予め、加工装置２の加工部２１に設定されたワークの画像情報をスキャナ装置５を介して取得し、ワークの形状やスケール等を算出して、例えば中継記憶部４３に記憶しておけばよい。ワークの画像情報の取得からワークデータの機構までの処理は中継制御部４４が制御する。これにより、中継制御部４４はワークデータ取得部として機能する。データステップＳ２２５にて、開始トリガ情報が加工装置用保持部４１ａに存在するか否か判別される。開始トリガ情報が存在する場合、ステップＳ２３０へ進み、判定開始情報をシミュレータ用保持部４１ｂに出力する。
【００３０】
判定開始情報の出力により、シミュレータ３にてシミュレーションが開始される。シミュレータ３からはシ、ミュレーションの状態を示すシミュレーション状態情報が適宜シミュレータ保持部４１ｂに提供され、シミュレーションが終了した場合は、シミュレーションの結果を占めすシミュレーション結果がシミュレータ保持部４１ｂに提供される。ステップＳ２４０では、シミュレーション状態情報を参照し、続いてステップＳ２４５にてシミュレーションが終了したか否かを判別する。シミュレーションが終了しない場合は、シミュレーションの終了待ち状態となる。シミュレーションが終了した場合は、ステップＳ２５０へ進み、シミュレータ３から提供されるシミュレーション結果を参照する。
【００３１】
ステップＳ２５５にて、シミュレーション結果がエラーか否かが判別され、肯定判断された場合は、ステップＳ２７０へ進んで所定のエラー表示をモニタ部４２のモニタに表示する。なお、本形態におけるエラーは、後述するようにシミュレーションが実施不可能である場合のエラーを含む。ステップＳ２５５にて否定判断された場合は、ステップＳ２６０へ進み、シミュレーション結果が衝突か否かが判別され、肯定判断された場合はステップＳ２６５へ進み、所定の衝突メッセージをモニタに表示し、否定判断された場合は、所定の正常終了メッセージをモニタに表示する。
【００３２】
シミュレータ３において行われる処理について図６のスローチャートに従って説明する。まず、ステップＳ３００にて、シミュレータ用保持部４１ｂに判定開始情報が出力されると、当該判定開始情報を取得する。その後、ステップＳ３１０にて、シミュレータ用保持部４１ｂにて保持されているシミュレーション用データ及びワークデータを取得する。続いて、ステップＳ３１５にて、取得された加工プログラム情報により、シミュレータ記憶部３３を参照してシミュレーション対象の加工プログラムを特定する。ステップＳ３１０又はステップＳ３１５の処理において、エラーが発生した場合、ステップＳ３２０にて、エラー発生と判別され、ステップＳ３６５に進み、処理終了を示すシミュレーション状態情報と、エラー発生を示すシミュレーション結果をシミュレータ用保持部４１ｂへ出力する。
【００３３】
ステップＳ３１０の処理にてエラーが発生しなかった場合は、ステップＳ３３０に進み、取得したシミュレーション用データ及びワークデータに基づいてシミュレーションを実行する。ステップＳ３４０では、シミュレーションの状態を示すシミュレーション状態情報をシミュレータ用保持部４１ｂへ出力する。シミュレーション状態情報は、例えば、加工プログラムにおける処理中のコードや処理終了等がある。シミュレーション状態情報はシミュレーション処理が終了するまで適宜行われる。シミュレーション処理が終了した場合は、ステップＳ３５０にて肯定判断され、ステップＳ３６０に進み、工具がワーク部に衝突するか否かを示すシミュレーション結果をシミュレータ用保持部４１ｂへ出力する。なお、シミュレーションの途中で工具が衝突すると判断された場合、強制的にシミュレーション処理を終了してもよい。
【００３４】
ユーザはモニタ部３２、４２のモニタに表示されるメッセージにより、加工装置２において開始しようとする処理における衝突の可能性の有無を知ることができる。衝突メッセージが表示された場合は、ユーザは加工装置２に対して加工処理を開始せずに、例えば、加工プログラムを修正することができる。これにより、加工処理中におけおる工具とワーク部との衝突を回避することができる。
【００３５】
本発明は上述した形態に限らず、様々な形態にて実施してよい。例えば、中継装置４の機能は、シミュレータ３に含ませてもよい。その場合は、シミュレータ制御部３４が中継制御部４４としても機能し、データ中継部として機能するシミュレータ制御部３４により出力されるデータは、シミュレーション実行部として機能するシミュレータ制御部３４へ提供される。この構成は、加工装置２に専用のシミュレータ３が接続される場合に有効である。
【００３６】
なお、加工装置２が所望の変数が使用可能なオープンタイプの場合の判定開始用プログラムＰ１´を図７に示す。プログラムコード５１´はプログラムコード５１に、工具データ出力コード５２´は、工具データ出力コード５２に、加工プログラム情報出力コード５３´は加工プログラム情報出力コード５３にそれぞれ対応する。また、機械座標値出力コード群５４´は機械座標値出力コード５４に対応し、ワーク座標値出力コード群５５´はワーク座標値出力コード５５に対応する。そして、セット完了情報出力コード５６´はセット完了情報出力コード５６に、開始トリガ情報出力コード５７´は開始トリガ情報出力コード５７にそれぞれ対応する。
【００３７】
加工装置２がオープンタイプの場合であっても、加工装置２、中継装置４、シミュレータ３のそれぞれにおける処理は同様であるが、ワークデータを予め取得せずに、例えば、ステップＳ２２０にてスキャナ装置５にワークの画像情報を取得させ、ワークデータを取得するように構成してよい。また、加工プログラムを予めシミュレータ記憶部３３に記憶せずに、ステップＳ３１５にて、取得した加工プログラム情報に対応する加工プログラムを加工装置２から取得するように構成してもよい。なお、加工装置２がオープンタイプの場合、中継装置４の機能が加工装置２に含まれるように構成する場合、中継装置４及びシミュレータ３の機能が加工装置２に含まれるように構成する場合も考えられる。
【００３８】
更に、工具に関する画像情報を得るための工具情報取得装置を、スキャナ装置５と同様に備えても良い。シミュレータ３の衝突判定結果は、モニタに表示するだけでなく、印刷出力してもよいし、警告音を出力してもよい。
【図面の簡単な説明】
【００３９】
【図１】本願発明の工具衝突防止システムの一例を示す図。
【図２】判定開始用プログラムの一例を示す図。
【図３】加工装置における処理の流れを示すフローチャート。
【図４】中継装置における処理の流れを示すフローチャート。
【図５】図４の処理の続きを示すフローチャート。
【図６】シミュレータにおける処理の流れを示すフローチャート。
【図７】オープンタイプの加工装置用の判定開始用プログラムの例を示す図。
【符号の説明】
【００４０】
１        工具衝突防止システム
２        加工装置
３        シミュレータ
４        中継装置
Ｐ１      判定開始用プログラム
【図１】
2010108292.tif 000003
【図２】
2010108292.tif 000004
【図３】
2010108292.tif 000005
【図４】
2010108292.tif 000006
【図５】
2010108292.tif 000007
【図６】
2010108292.tif 000008
【図７】
2010108292.tif 000009