(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】制御システム、制御方法および制御装置
(51)【国際特許分類】
G05B 19/19 20060101AFI20241210BHJP
B23K 26/00 20140101ALI20241210BHJP
【FI】
G05B19/19 M
B23K26/00 A
(21)【出願番号】P 2021025590
(22)【出願日】2021-02-19
【審査請求日】2023-12-12
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】安井 勇人
(72)【発明者】
【氏名】シーナ・サッタリ
(72)【発明者】
【氏名】カート・ウィルソン
【審査官】杉田 隼一
(56)【参考文献】
【文献】特開平10-323774(JP,A)
【文献】特開2006-243926(JP,A)
【文献】特開平06-187026(JP,A)
【文献】特開平07-251278(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/19
B23K 26/00
(57)【特許請求の範囲】
【請求項1】
予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部と、
移動距離と動作とを含む設定情報を保持する記憶部と、
前記移動対象物が前記設定情報の移動距離を移動したか否かを判断する移動判定部と、
前記移動判定部の判断結果に基づいて前記設定情報の動作を実行する実行部と、
前記移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出する算出部とを備え、
前記算出部は、設定画面を有し、
前記設定画面は、前記移動軌跡に対する位置の指定の入力の受付が可能であり、
前記算出部は、前記設定画面における前記移動軌跡の当該指定された位置に到達するまでの移動距離を算出し、
前記算出部は、
前記指定された位置の入力に対して前記移動軌跡に対する領域上の境界線を設定し、
前記移動軌跡に従って移動する前記移動対象物が前記境界線を跨ぐまでの移動距離を当該指定された位置に到達するまでの移動距離として算出する、制御システム。
【請求項2】
前記算出部は、シミュレーションにより前記移動対象物の直線移動の仮想移動軌跡を算出し、前記仮想移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出する、請求項1記載の制御システム。
【請求項3】
前記算出部は、前記指定された位置の入力に対して前記移動軌跡に対して垂線かつ、前記指定された位置を通過する直線を前記領域上の境界線に設定する、請求項1記載の制御システム。
【請求項4】
前記設定情報は、所定条件をさらに含み、
前記実行部は、前記移動判定部の判断結果および前記所定条件に基づいて前記設定情報の動作を実行する、請求項1記載の制御システム。
【請求項5】
予め設定された移動対象物の移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出するステップと、
前記移動軌跡に従って移動対象物の移動を制御するステップと、
前記移動対象物が前記移動距離と動作とを含む設定情報の前記移動距離を移動したか否かを判断するステップと、
判断結果に基づいて前記設定情報の動作を実行するステップと、
前記移動軌跡に対する位置の指定の入力の受付が可能な設定画面を表示するステップと、
前記設定画面における前記移動軌跡の当該指定された位置に到達するまでの移動距離を算出するステップと、
前記指定された位置の入力に対して前記移動軌跡に対する領域上の境界線を設定するステップと、
前記移動軌跡に従って移動する前記移動対象物が前記境界線を跨ぐまでの移動距離を当該指定された位置に到達するまでの移動距離として算出するステップとを備える、制御方法。
【請求項6】
予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部と、
移動距離と動作とを含む設定情報を保持する記憶部と、
前記移動対象物が前記設定情報の移動距離を移動したか否かを判断する移動判定部と、
前記移動判定部の判断結果に基づいて前記設定情報の動作を実行する実行部と、
前記移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出する算出部とを備え、
前記算出部は、設定画面を有し、
前記設定画面は、前記移動軌跡に対する位置の指定の入力の受付が可能であり、
前記算出部は、前記設定画面における前記移動軌跡の当該指定された位置に到達するまでの移動距離を算出し、
前記算出部は、
前記指定された位置の入力に対して前記移動軌跡に対する領域上の境界線を設定し、
前記移動軌跡に従って移動する前記移動対象物が前記境界線を跨ぐまでの移動距離を当該指定された位置に到達するまでの移動距離として算出する、制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御システム、制御方法および制御装置に関する。
【背景技術】
【0002】
従来より、制御コードを用いた加工プログラムを用いてレーザ加工が行われている。例えば、特開平2-63692号公報(特許文献1)は、加工条件がパラメータとして定義されてレーザ発振器の出力や移動速度等を制御する技術を開示する。具体的には、当該公報は、指定した位置に基づいて加工条件を変更する場合が開示する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方で、従来より、予め設定された移動軌跡に対して条件を実行する位置を指定する場合に同じ位置で複数の動作条件を実行できないという課題がある。また、上述の文献は、このような課題について、何ら考慮されていない。
【0005】
本開示の一つの目的は、指定した位置で所定の動作を確実に実行することが可能な制御システムおよび制御方法ならびに制御装置を提供することである。
【課題を解決するための手段】
【0006】
本開示の一例に従う制御システムは、予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部と、移動距離と動作とを含む設定情報を保持する記憶部と、移動対象物が設定情報の移動距離を移動したか否かを判断する移動判定部と、移動判定部の判断結果に基づいて設定情報の動作を実行する実行部と、移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出する算出部とを備える。この構成によれば、制御システムは、移動軌跡に対する位置の指定に応じて移動距離を算出する。そして、算出された移動距離を移動した場合に動作を実行するため、指定した位置で所定の動作を確実に実行することが可能である。
【0007】
算出部は、シミュレーションにより移動対象物の直線移動の仮想移動軌跡を算出する。算出部は、仮想移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出する。この構成によれば、仮想移動軌跡により移動距離が算出されるため精度の高い移動距離を算出することが可能である。
【0008】
算出部は、設定画面を有し、設定画面は、移動軌跡に対する位置の指定の入力の受付が可能である。算出部は、設定画面における移動軌跡の当該指定された位置に到達するまでの移動距離を算出する。この構成によれば、設定画面により移動距離が算出されるため簡易に移動距離を算出することが可能である。
【0009】
算出部は、指定された位置の入力に対して移動軌跡に対する領域上の境界線を設定する。算出部は、移動軌跡に従って移動する移動対象物が境界線を跨ぐまでの移動距離を当該指定された位置に到達するまでの移動距離として算出する。この構成によれば、境界線の設定により移動距離が算出されるため簡易に移動距離を算出することが可能である。
【0010】
算出部は、指定された位置の入力に対して移動軌跡に対して垂線かつ、指定された位置を通過する直線を領域上の境界線に設定する。この構成によれば、指定された位置の入力に対して境界線が設定されるため簡易に境界線の設定が可能である。
【0011】
設定情報は、所定条件をさらに含む。実行部は、移動判定部の判断結果および所定条件に基づいて設定情報の動作を実行する。この構成によれば、動作を実行する条件を追加可能であるため設計の自由度が向上する。
【0012】
本開示の別の一例に従う制御方法は、予め設定された移動対象物の移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出するステップと、移動軌跡に従って移動対象物の移動を制御するステップと、移動対象物が移動距離と動作とを含む設定情報の移動距離を移動したか否かを判断するステップと、判断結果に基づいて設定情報の動作を実行するステップとを備える。この構成によれば、制御方法は、移動軌跡に対する位置の指定に応じて移動距離を算出する。そして、算出された移動距離を移動した場合に動作を実行するため、指定した位置で所定の動作を確実に実行することが可能である。
【0013】
本開示のさらに別の一例に従う制御装置は、予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部と、移動距離と動作とを含む設定情報を保持する記憶部と、移動対象物が設定情報の移動距離を移動したか否かを判断する移動判定部と、移動判定部の判断結果に基づいて設定情報の動作を実行する実行部と、移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出する算出部とを備える。この構成によれば、制御装置は、移動軌跡に対する位置の指定に応じて移動距離を算出する。そして、算出された移動距離を移動した場合に動作を実行するため、指定した位置で所定の動作を確実に実行することが可能である。
【発明の効果】
【0014】
本開示のある局面に従う制御システム、制御方法および制御装置は、指定した位置で所定の動作を確実に実行することが可能である。
【図面の簡単な説明】
【0015】
【
図1】実施形態に従う制御システム1の構成例を示す模式図である。
【
図2】実施形態に従う制御システム1の主要なハードウェア構成例を示す模式図である。
【
図3】実施形態に従う制御システム1を構成するサポート装置40のハードウェア構成例を示すブロック図である。
【
図4】実施形態に従う制御システム1の関連技術において生じ得る課題を説明するための模式図である。
【
図5】実施形態に従う制御システム1の関連技術において生じ得る課題を説明するための別の模式図である。
【
図6】実施形態に従う制御システム1のレーザ出力ON/OFFを実行する方式を説明する模式図である。
【
図7】実施形態に従う制御システム1の制御フローについて説明する図である。
【
図8】実施形態の変形例1に従うサポート装置40の設定画面について説明する図である。
【
図9】実施形態の変形例2における境界線の設定について説明する図である。
【
図10】実施形態の変形例2に従う制御システム1の制御フローについて説明する図である。
【
図11】実施形態の変形例3に従う別の設定画面について説明する図である。
【
図12】実施形態の変形例3に従うさらに別の設定画面について説明する図である。
【
図13】実施形態の変形例4に従う制御システム1のレーザ出力ON/OFFを実行する方式を説明する模式図である。
【発明を実施するための形態】
【0016】
本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0017】
<A.適用例>
まず、本開示が適用される場面の一例について説明する。
【0018】
図1は、実施形態に従う制御システム1の構成例を示す模式図である。
図1には、典型例として、レーザ加工システムの例を示すが、本開示を適用するアプリケーションは、何ら限定されるものではない。
【0019】
制御システム1は、XYステージ20上に配置されたワーク4に対して、穴あけ、切断、マーキングなどのレーザ加工を行う。より具体的には、制御システム1は、制御装置10と、XYステージ20と、レーザ30とを含む。
【0020】
ワーク4に対するレーザ加工は、XYステージ20によるワーク位置の調整をすることにより、レーザ30が発生するレーザ光による照射位置を調整する。なお、図示しないガルバノミラーと組み合わせることも可能である。
【0021】
制御装置10は、主制御ユニット100と、軸インターフェイスユニット200と、レーザ制御ユニット300とを含む。
【0022】
主制御ユニット100は、アプリケーションプログラム110(
図2参照)を実行する演算部に相当する。アプリケーションプログラム110は、制御対象の機構およびワーク4などに応じて任意に作成される。主制御ユニット100がアプリケーションプログラム110を実行して得られる実行結果は、軸インターフェイスユニット200およびレーザ制御ユニット300における制御信号の生成に用いられる。
【0023】
軸インターフェイスユニット200は、制御線52を介して、XYステージ20と接続されており、XYステージ20を駆動するためのステージ制御信号520を出力する。XYステージ20は、ワーク4が配置されるプレート22と、プレート22とを駆動するサーボモータ24およびサーボモータ26とを含む。
図1に示す例では、サーボモータ24がプレート22をX軸方向に変位させ、サーボモータ26がプレート22をY軸方向に変位させる。軸インターフェイスユニット200からのステージ制御信号520は、サーボモータ24およびサーボモータ26を駆動するサーボドライバ23およびサーボドライバ25(
図2参照)に与えられる。
【0024】
レーザ制御ユニット300は、一種の通信装置であり、制御線53を介して、レーザ30と接続されており、レーザ30に対して、オン/オフを指示するレーザ制御信号530を出力する。
【0025】
<B.制御システム1の主要なハードウェア構成例>
次に、実施形態に従う制御システム1のハードウェア構成例について説明する。
【0026】
図2は、実施形態に従う制御システム1の主要なハードウェア構成例を示す模式図である。上述したように、制御装置10は、主制御ユニット100と、軸インターフェイスユニット200と、レーザ制御ユニット300とを含む。
【0027】
主制御ユニット100は、主たるコンポーネントとして、プロセッサ102と、メインメモリ104と、ストレージ106と、バスコントローラ112とを含む。
【0028】
ストレージ106は、SSD(Solid State Disk)やフラッシュメモリなどで構成される。ストレージ106は、例えば、基本的なプログラム実行環境を提供するためのシステムプログラム108と、ワーク4に応じて任意に作成されるアプリケーションプログラム110とを格納する。ストレージ106は、後述する
図4(B)の加工プログラムを含む設定条件等を格納す。
【0029】
プロセッサ102は、典型的には、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などで構成される。プロセッサ102は、ストレージ106に格納されたシステムプログラム108およびアプリケーションプログラム110を読み出して、メインメモリ104に展開して実行することで、制御システム1の全体的な制御を実現する。
【0030】
主制御ユニット100は、内部バス114を介して、軸インターフェイスユニット200およびレーザ制御ユニット300と電気的に接続されている。バスコントローラ112は、内部バス114によるデータ通信を仲介する。
【0031】
なお、プロセッサ102がプログラムを実行することで必要な処理が提供される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
【0032】
軸インターフェイスユニット200は、サーボドライバ23およびサーボドライバ25に与えられるステージ制御信号520を生成および出力する。より具体的には、軸インターフェイスユニット200は、軸制御演算部210と、出力インターフェイス回路220とを含む。
【0033】
軸制御演算部210は、主制御ユニット100がアプリケーションプログラム110を実行することで算出される演算値(指令値)に従って、サーボドライバ23およびサーボドライバ25に与えるべき指令を生成する。軸制御演算部210は、例えば、プロセッサ、ASIC、FPGAなどを用いて構成される演算回路によって実現される。
【0034】
出力インターフェイス回路220は、アプリケーションプログラム110の実行結果に従って、ステージ制御信号520を出力する信号出力部に相当する。より具体的には、出力インターフェイス回路220は、軸制御演算部210によって生成された指令に従って、サーボドライバ23およびサーボドライバ25に与えるステージ制御信号520を生成する。ステージ制御信号520としては、各制御周期における変位量、速度、角速度などの情報をPWM(Pulse Width Modulation)により変調した信号が用いられてもよい。すなわち、出力インターフェイス回路220は、送信すべき情報をPWMにより変調してステージ制御信号520を生成してもよい。あるいは、変位量、速度、角速度などの情報をパルス数として変調した信号が用いられてもよい。
【0035】
なお、軸制御演算部210および出力インターフェイス回路220を単一のASICで実現してもよい。
【0036】
レーザ制御ユニット300は、レーザ30に与えられるレーザ制御信号530に与えられるレーザ制御信号530を生成および出力する。より具体的には、レーザ制御ユニット300は、レーザ制御演算部310と、出力インターフェイス回路314とを含む。
【0037】
レーザ制御演算部310は、主制御ユニット100がアプリケーションプログラム110を実行することで算出される演算値(指令値)に従って、レーザ30に与えるべき指令を生成する。レーザ制御演算部310は、例えば、プロセッサ、ASIC、FPGAなどを用いて構成される演算回路によって実現される。
【0038】
出力インターフェイス回路314は、レーザ制御演算部310によって生成された指令に従って、レーザ30に与えるレーザ制御信号530を生成する。レーザ制御信号530としては、オン/オフの2レベルを有する信号が用いられてもよい。
【0039】
なお、レーザ制御演算部310、出力インターフェイス回路314を単一のASICで実現してもよい。
【0040】
<C.サポート装置40のハードウェア構成>
実施形態に従うサポート装置40は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いてプログラムを実行することで実現される。サポート装置40は、制御装置10と接続される。サポート装置40は、制御装置10に対してレーザ加工システムの各種設定を実行する。
【0041】
図3は、実施形態に従う制御システム1を構成するサポート装置40のハードウェア構成例を示すブロック図である。
図3を参照して、サポート装置40は、CPUやMPUなどのプロセッサ42と、主記憶装置43と、二次記憶装置47と、ローカルネットワークコントローラ46と、入力部44と、表示部45とを含む。これらのコンポーネントはバス41を介して接続される。
【0042】
プロセッサ42は、二次記憶装置47に格納された各種プログラムを読み出して、主記憶装置43に展開して実行することで、後述するような設定処理を含む各種処理を実現する。
【0043】
二次記憶装置47は、例えば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などで構成される。二次記憶装置47には、典型的には、サポート装置40において実行される設定プログラム48と、シミュレーションプログラム48#と、OS49とが格納される。二次記憶装置47には、
図3に示すプログラム以外の必要なプログラムが格納されてもよい。
【0044】
サポート装置40で実行される各種プログラムは、コンピュータ読取可能な記録媒体を介してインストールされてもよい。各種プログラムは、ネットワーク上の任意のサーバからダウンロードする形でインストールするようにしてもよい。また、実施形態に従うサポート装置40が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
【0045】
ローカルネットワークコントローラ46は、任意のネットワークを介した別の装置との間のデータの遣り取りを制御する。
【0046】
入力部44は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部45は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ42からの処理結果などを出力する。
【0047】
プロセッサ42がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
【0048】
<D.課題>
次に、実施形態に従う制御システム1の関連技術において生じ得る課題について説明する。
【0049】
図4は、実施形態に従う制御システム1の関連技術において生じ得る課題を説明するための模式図である。
図4(A)を参照して、ここでは、XYステージ20をXY座標で定義される座標系においてワーク位置を座標(0,0)から座標(100,100)まで移動させる場合が示されている。ワーク位置が座標(50,50)から座標(100,100)までの区間においてレーザ30によりレーザ加工する場合の例が示されている。
【0050】
図4(B)は、いわゆるGコードで記述された加工プログラム(アプリケーションプログラム)の一例である。Gコードで指令することで、XYステージ20の軸移動や座標設定、回転、対象加工物の加工方法などを細かく設定することが可能となる。
図4(C)は、当該加工プログラムで用いるレーザON/OFFテーブルの一例である。本例においては、座標(50,50)においてレーザ30をON(オン)し、座標(100,100)においてレーザ30をOFF(オフ)する場合が設定されている。
【0051】
図5は、実施形態に従う制御システム1の関連技術において生じ得る課題を説明するための別の模式図である。
図5を参照して、ここでは、移動軌跡として最初の区間直線で移動した後、ある点Pから円を描くように移動する。そして、再び同じ点Pに戻り直線で移動する場合が示されている。当該移動軌跡の場合には、同一の点Pに複数回到達する可能性がある。したがって、ある点Pを1回目に到達した場合にレーザをオンし、2回目に到達した場合にレーザをオフするような条件を作ることは難しい。
【0052】
<E.解決手段>
次に、上述したような課題を解決するための解決手段の典型例について説明する。
【0053】
実施形態においては、上記条件を設定するために例えば移動距離(一例として200)で条件を設定する。この点で、Gコードで与えられる連続時間の軌跡データは、離散時間の軌跡データに変換される。そのため、予め移動軌跡として円を描くように移動するように指定した場合であっても、実際の移動軌跡(実移動軌跡)は、円を直線移動で近似した軌跡となる。
【0054】
それゆえ、指定した移動軌跡に従う移動距離と、実移動軌跡に従う移動距離とのずれにより、指定した位置で所定の動作を実行できない可能性もある。
【0055】
実施形態においては、指定した位置で所定の動作を確実に実行することが可能な方式について説明する。具体的には、移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出する。
【0056】
図6は、実施形態に従う制御システム1のレーザ出力ON/OFFを実行する方式を説明する模式図である。
図6(A)に示されるように、具体的には、実移動軌跡に従う移動距離を予め計測する。ここでは、移動軌跡として最初の区間直線で移動した後、ある点Pから円を描くように移動する。そして、再び同じ点Pに戻り直線で移動する場合が示されている。
【0057】
ここで、ワーク位置の移動は、実移動軌跡で移動する場合が示されている。本例においては、実移動軌跡で1回目に点Pに到達してから2回目に到達するまでの移動距離は、「400」である場合が示されている。
【0058】
図6(B)は、時間tに対するワーク位置の移動距離について説明する図である。本例においては、一定の速度でワーク位置が移動する場合が示されている。ワーク位置の移動距離は、時間の経過とともに累積される。したがって、当該移動軌跡のような同一の点Pに複数回到達する場合であっても移動距離は必ず異なる。それゆえ、簡易な方式で動作を設定することが可能である。
【0059】
図6(C)は、レーザON/OFFテーブルを説明する図である。本例においては、判定距離「200」においてレーザ30をON(オン)し、判定距離「600」においてレーザ30をOFF(オフ)する場合が設定されている。
【0060】
図7は、実施形態に従う制御システム1の制御フローについて説明する図である。
図7を参照して、一例として当該制御フローは、主制御ユニット100におけるレーザ30を制御する処理である。具体的には、プロセッサ102がアプリケーションプログラム110を実行することに基づいて軸インターフェイスユニット200によるXYステージ20の制御とともに、レーザ制御ユニット300によるレーザ30を制御する処理である。プロセッサ102は、上記したようにいわゆるGコードで記述された加工プログラム(アプリケーションプログラム)に基づいて軸インターフェイスユニット200に対して演算値(指令値)を出力する。軸インターフェイスユニット200は、主制御ユニット100からの演算値(指令値)に従ってXYステージ20を制御することにより予め設定された移動軌跡に従ってワーク位置を移動させる。
【0061】
主制御ユニット100は、演算したワーク位置と、レーザON/OFFテーブルとに基づいてレーザ制御ユニット300に対してレーザ30を制御するための演算値(指令値)を出力する。
【0062】
具体的には、主制御ユニット100は、判定距離Lrefを設定する(ステップS2)。主制御ユニット100は、ストレージ106に格納されているレーザON/OFFテーブルに基づいて判定距離Lrefを設定する。初期状態として、主制御ユニット100は、レーザON/OFFテーブルの最初の先頭リストを用いて判定距離Lrefを設定する。例えば、
図6(C)で説明した判定距離「200」を設定する。
【0063】
次に、主制御ユニット100は、時刻(t=n←n+1)の経過を検出する(ステップS4)。時刻の経過は、制御周期に対応し、制御周期毎に当該処理を実行する。
【0064】
次に、主制御ユニット100は、ワーク位置である指令位置(X[n],Y[n])を計算する(ステップS6)。上記したように、主制御ユニット100は、Gコードで記述された加工プログラム(アプリケーションプログラム)に基づいてワーク位置を設定する。
【0065】
次に、主制御ユニット100は、ワーク位置の指令位置(X[n],Y[n])に基づいて移動距離Lを算出する(ステップS7)。具体的には、主制御ユニット100は、前回の指令位置(X[n-1],Y[n-1])までの移動距離と、前回の指令位置(X[n-1],Y[n-1])と今回の指令位置(X[n],Y[n])との間の距離に基づいて移動距離Lを算出する。
【0066】
次に、主制御ユニット100は、算出した移動距離Lと、判定距離Lrefとを比較して、算出した移動距離が判定距離Lref以上であるか否かを判断する(ステップS8)。すなわち、指定した位置に到達したか否かを判断する。
【0067】
ステップS8において、主制御ユニット100は、算出した移動距離Lと、判定距離Lrefとを比較して、算出した移動距離が判定距離Lref以上であると判断した場合(ステップS8においてYES)には、対象となるリストの出力を実行する。すなわち、指定した位置に到達した場合である。
【0068】
次に、主制御ユニット100は、次の判定距離Lrefを設定する(ステップS10)。具体的には、主制御ユニット100は、レーザON/OFFテーブルに基づいて判定距離Lrefを設定する。主制御ユニット100は、レーザON/OFFテーブルの次のリストを用いて判定距離Lrefを設定する。例えば、
図6(C)で説明した判定距離「600」を設定する。
【0069】
次に、主制御ユニット100は、プログラムが完了したか否かを判断する(ステップS14)。
【0070】
主制御ユニット100は、プログラムが完了したと判断した場合(ステップS14においてYES)には、処理を終了する(エンド)。
【0071】
一方、主制御ユニット100は、プログラムが完了しないと判断した場合(ステップS14においてNO)には、ステップS4に戻り、上記処理を繰り返す。
【0072】
一方、ステップS8において、主制御ユニット100は、算出した移動距離Lと、判定距離Lrefとを比較して、算出した移動距離が判定距離Lref以上でない判断した場合(ステップS8においてNO)には、ステップS9およびステップS10をスキップして、ステップS14に進む。すなわち、指定した位置に到達していない場合である。
【0073】
したがって、制御システム1は、
図6(C)のレーザON/OFFテーブルを用いた場合には、判定距離「200」を設定する。そして、制御システム1は、ワーク位置の移動距離を算出して、設定した判定距離「200」を移動したか否かを判断する。制御システム1は、ワーク位置が設定した判定距離「200」を移動したと判断した場合には、ワーク位置が指定された判定距離「200」の位置に到達したと判断する。これにより、判定距離「200」に対応して予め設定された動作(レーザ出力をON(オン))を実行する。
【0074】
次に、制御システム1は、
図6(C)のレーザON/OFFテーブルを用いた場合には、判定距離「600」を設定する。そして、制御システム1は、ワーク位置の移動距離を算出して、設定した判定距離「600」を移動したか否かを判断する。制御システム1は、ワーク位置が設定した判定距離「600」を移動したと判断した場合には、ワーク位置が指定された判定距離「600」の位置に到達したと判断する。これにより、制御システム1は、判定距離「600」に対応して予め設定された動作(レーザ出力をOFF(オフ))を実行する。これにより、制御システム1は、指定した位置で所定の動作を確実に実行することが可能である。なお、
図7における制御フローは、主制御ユニット100において主に実行される場合について説明したが、主制御ユニット100およびサポート装置40を用いて実行するようにしてもよい。また、サポート装置40は、シミュレーションプログラム48#を有しており、当該シミュレーションプログラム48#を実行することによりサポート装置40において仮想的に実行することも可能である。
【0075】
<F.その他の実施の形態>
(変形例1)
実施形態の変形例1においては、簡易に判定距離を設定する操作方式について説明する。
【0076】
上記の実施形態におけるレーザON/OFFテーブルは、ユーザが判定距離およびレーザ出力のON/OFFを入力することにより作成される。
【0077】
具体的には、サポート装置40を用いて、サポート装置40の表示部45で表示される設定画面に入力することによりレーザON/OFFテーブルを作成しても良い。当該設定画面は、プロセッサ42が設定プログラム48を実行することにより実現される。
【0078】
作成されたレーザON/OFFテーブルは、サポート装置40のローカルネットワークコントローラ46を介して主制御ユニット100のストレージ106に格納することが可能である。また、サポート装置40は、設定プログラム48を実行することにより主制御ユニット100のストレージ106に格納されているアプリケーションプログラム110を設定したり、更新したりすることが可能である。
【0079】
図8は、実施形態の変形例1に従うサポート装置40の設定画面について説明する図である。
図8(A)を参照して、サポート装置40の判定距離を算出する設定画面400が示されている。設定画面400には、シミュレーションプログラム48#の実行結果に従って移動するワーク位置の軌跡Zが表示されている。本例においては、ワーク位置の軌跡として円を描くように移動してまた元の位置に戻って移動する場合が示されている。軌跡Zは、ワーク位置の移動をシミュレーションにより算出して得られた仮想的な実移動軌跡である。
【0080】
設定画面400は、ユーザからの入力を受付可能に設けられており、本例においては、入力部44のマウス等を用いて設定が可能に設けられている。
【0081】
具体的には、ユーザは、レーザON/OFFテーブルを作成するにあたり、指定点を任意の位置に設定する。ユーザは、レーザをオンあるいはオフしたい点を指定する。例えば、円弧の一部においてレーザをオンし、オフする場合について説明する。一例として、設定画面400において、ユーザが入力部44のマウス等により画面で表示される軌跡Z上の指定点R0,R1をクリック操作により指定した場合が示されている。
【0082】
設定画面400は、指定点R0,R1の入力に基づいて仮想的な実移動軌跡の移動距離を算出する。
【0083】
そして、ユーザは、指定点R0の入力操作を行うことにより、移動距離に基づく動作を設定することが可能である。設定画面400において、指定点R0に到達するまでの算出した距離を判定距離に設定して、当該判定距離に到達した際の動作を設定することが可能である。同様に、指定点R1に到達するまでの算出した距離を判定距離に設定して、当該判定距離に到達した際の動作を設定することが可能である。
【0084】
図8(B)を参照して、一例として、指定点R0までの判定距離(「350」)に関連付けられてレーザ出力ONが設定されている。次に、指定点R1までの判定距離(「500」)に関連付けられてレーザ出力OFFが設定されている。
【0085】
なお、本例においては、判定距離に基づいてレーザ出力の状態としてONあるいはOFFを設定する場合について説明するが、それ以外の状態を設定するようにしても良い。例えば、HOLDの状態を設定可能にしてもよい。一例として、レーザ出力の状態として、レーザ出力OFF(第1状態)からレーザ出力ON(第2状態)に変化する動作、レーザ出力ON(第2状態)からレーザ出力OFF(第1状態)に変化する動作、レーザ出力OFF(第1状態)およびON(第2状態)を維持する動作の設定を可能としても良い。
【0086】
制御システム1は、レーザON/OFFテーブルの最初のリストに従ってワーク位置の移動距離を算出して、設定した判定距離「350」を移動したか否かを判断する。制御システム1は、ワーク位置が設定した判定距離「350」を移動したと判断した場合には、ワーク位置が指定された判定距離「350」の位置に到達したと判断する。これにより、制御システム1は、判定距離「350」に対応して予め設定された動作(レーザ出力をON(オン))を実行する。
【0087】
制御システム1は、レーザON/OFFテーブルの次のリストに従ってワーク位置の移動距離を算出して、設定した判定距離「500」を移動したか否かを判断する。制御システム1は、ワーク位置が設定した判定距離「500」を移動したと判断した場合には、ワーク位置が指定された判定距離「500」の位置に到達したと判断する。これにより、制御システム1は、判定距離「500」に対応して予め設定された動作(レーザ出力をOFF(オフ))を実行する。
【0088】
これにより、制御システム1は、判定距離を簡易に設定して、レーザ出力のON/OFFの設定を行うことが可能となる。
【0089】
(変形例2)
実施形態の変形例2においては、境界線を設定して簡易に判定距離を設定する方式について説明する。
【0090】
図9は、実施形態の変形例2における境界線の設定について説明する図である。上記したように設定した移動軌跡と、実際の移動軌跡(実移動軌跡)とのずれにより移動距離が異なる。
図9(A)に示されるように、一例として、ワーク位置が点線のように移動する場合が示されている。本例においては、指定された位置R2に関連付けて領域上の境界線Q1を設定する。境界線Q1は、軌跡データを分割する直線である。境界線Q1は、領域上の点(位置R2)および当該点(位置R2)を通る直線の角度に基づいて規定される。
【0091】
境界線Q1を設定することにより、設定した移動軌跡と、実移動軌跡との間にずれが有る場合であっても必ずあるタイミングで境界線Q1を跨ぐことになる。当該境界線Q1を跨ぐタイミングが分かれば、実移動軌跡による判定距離を算出することが可能である。
【0092】
一例として、境界線Q1およびL2の設定について説明する。境界線Q1は、XY座標系において次式で表される。
【0093】
y=a(x-xL)+yL
具体的には、境界線Q1は、傾きaと、指定点座標(xL,yL)とで設定される。ユーザは、傾きaと、指定点座標(xL,yL)を入力することにより境界線Q1を設定することが可能である。
【0094】
本例においては、境界線Q1を跨いだか否かは、上式を用いたワーク位置に対する判定関数f(x,y)を用いて判定することが可能である。
【0095】
f(x,y)=a(x-xL)+yL-y
実施形態において、一例として判定関数f(x,y)の値の符号が反転するか否かで境界線を跨いだか否かを判定することが可能である。判定関数f(x,y)は、境界線Q1を基準として値の符号が反転することを利用している。
【0096】
なお、aが∞である場合には、f(x,y)=x-x
Lにより判定する。
図9(B)は、境界線設定テーブルの一例である。
図9(B)には、設定された境界線テーブルのデータが示されている。境界線設定テーブルは、二次記憶装置47内に格納されている。具体的には、境界線Qを設定するための座標および傾き角度が設定される。
【0097】
境界線設定テーブルは、境界線Q1(座標(0,0)、傾き角度45°)と、境界線Q2(座標(0,-100)、傾き角度0°)とを含む。なお、本例においては、境界線を設定するためのパラメータとして、傾き角度を設定する場合について説明したが、傾き角度に限られず、傾きaの値を設定するようにしても良いし、境界線を設定することが可能であれば他の如何なる値を用いても良い。
【0098】
実施形態の変形例2においては、シミュレーションプログラム48#により事前に境界線設定テーブルを用いて判定距離を算出する。
【0099】
図10は、実施形態の変形例2に従う制御システム1の制御フローについて説明する図である。
【0100】
図10を参照して、一例として当該制御フローは、サポート装置40におけるシミュレーションプログラム48#によるシミュレーション処理であり、具体的には、プロセッサ42がシミュレーションプログラム48#を実行することに基づいて判定距離を算出するための処理である。
【0101】
具体的には、サポート装置40は、判定関数を設定する(ステップS20)。サポート装置40は、二次記憶装置47に格納されている境界線設定テーブルに基づいて判定関数を設定する。初期状態として、サポート装置40は、境界線設定テーブルの最初の先頭リストを用いて判定関数を設定する。例えば、
図9(B)で説明した境界線Q1(座標(0,0)、傾き角度45°)に従う判定関数f(x,y)を設定する。
【0102】
次に、サポート装置40は、時刻(t=n←n+1)の経過を検出する(ステップS22)。時刻の経過は、制御周期に対応し、制御周期毎に当該処理を実行する。
【0103】
次に、サポート装置40は、ワーク位置である指令位置(X[n],Y[n])を計算する(ステップS24)。上記したように、サポート装置40は、Gコードで記述された加工プログラム(アプリケーションプログラム)に基づいてワーク位置を設定する。
【0104】
次に、サポート装置40は、指令位置(X[n],Y[n])に基づいて判定関数値を算出する(ステップS26)。具体的には、サポート装置40は、判定関数f(x,y)に指令位置(X[n],Y[n])を入力することにより判定関数値を算出する。
【0105】
次に、サポート装置40は、算出した判定関数値と、前回の判定関数値の符号prevとの積を計算して、当該計算結果が負であるか否かを判断する(ステップS28)。すなわち、サポート装置40は、判定関数値の符号が反転したか否かを判断する。
【0106】
ステップS28において、サポート装置40は、算出した判定関数値と、前回の判定関数の値の符号prevとの積を計算して、当該計算結果が負であると判断した場合(ステップS28においてYES)には、対象となる境界線の判定距離を設定する(ステップS29)。すなわち、判定関数の値の符号が反転した場合であり、境界線Qを跨いだ場合に相当する。
【0107】
次に、サポート装置40は、次の判定関数を設定する(ステップS30)。具体的には、サポート装置40は、境界線設定テーブルに基づいて判定関数を設定する。サポート装置40は、境界線設定テーブルの次のリストを用いて判定関数を設定する。例えば、
図9(B)で説明した境界線Q2(座標(0,-100)、傾き角度0°)に従う判定関数f(x,y)を設定する。
【0108】
次に、サポート装置40は、算出した判定関数値の符号prevを保持する(ステップS32)。
【0109】
次に、サポート装置40は、プログラムが完了したか否かを判断する(ステップS34)。
【0110】
サポート装置40は、プログラムが完了したと判断した場合(ステップS34においてYES)には、処理を終了する(エンド)。
【0111】
一方、サポート装置40は、プログラムが完了しないと判断した場合(ステップS34においてNO)には、ステップS22に戻り、上記処理を繰り返す。
【0112】
一方、ステップS28において、サポート装置40は、算出した判定関数値と、前回の判定関数の値の符号prevとの積を計算して、当該計算結果が負でないと判断した場合(ステップS28においてNO)には、ステップS29およびステップS30をスキップして、ステップS32に進む。すなわち、判定関数の値の符号が反転しない場合であり、境界線Qを跨いでいない場合に相当する。そして、サポート装置40は、ステップS32において、算出した判定関数値の符号prevを保持する(ステップS32)。なお、初期状態においては、符号prevは設定されていない。したがって、ステップS32に進み、符号prevを設定する。
【0113】
したがって、制御システム1は、
図9(B)の境界線設定テーブルを用いた場合には、境界線Q1に従う判定関数を設定する。そして、制御システム1は、ワーク位置が移動して境界線Q1を跨ぐか否かを判定する。制御システム1は、ワーク位置が境界線Q1を跨いだと判定した場合には、境界線Q1までの判定距離を設定する。
【0114】
次に、制御システム1は、
図9(B)の境界線設定テーブルを用いた場合には、境界線Q2に従う判定関数を設定する。制御システム1は、ワーク位置が移動して境界線Q2を跨ぐか否かを判定する。制御システム1は、ワーク位置が境界線Q2を跨いだと判定した場合には、境界線Q2までの判定距離を設定する。
【0115】
これにより、制御システム1は、領域上の境界線までの判定距離を設定することにより条件成立の判定条件を簡易な方式で設定することが可能である。
【0116】
なお、
図10における制御フローは、サポート装置40において主に実行される場合について説明したが、主制御ユニット100およびサポート装置40を用いて実行するようにしてもよい。
【0117】
当該方式により、制御システム1は、ワーク位置の想的な実移動軌跡をシミュレーションにより算出しない場合であっても、領域上の境界線を設定することによりレーザ出力の条件となる判定距離を簡易な方式で設定することが可能である。
【0118】
(変形例3)
実施形態の変形例3においては、簡易に判定距離を設定する別の操作方式について説明する。
【0119】
図11は、実施形態の変形例3に従う別の設定画面について説明する図である。
図11を参照して、境界線を設定する設定画面404が示されている。設定画面404には、シミュレーションプログラム48#の実行結果に従って移動するワーク位置の軌跡Z2が表示されている。軌跡Z2は、ワーク位置の移動をシミュレーションにより算出して得られた軌跡である。なお、本例における軌跡Z2は、仮想的な実移動軌跡ではなく、設定された理想的な移動軌跡が示されている。
【0120】
サポート装置40は、設定画面404に対する指定点のユーザの入力を受け付けた場合に、指定点の入力に基づいて仮想境界線を算出して、表示部45に表示する。
【0121】
図12は、実施形態の変形例3に従うさらに別の設定画面について説明する図である。
図12を参照して、境界線を設定する設定画面406が示されている。具体的には、サポート装置40は、設定画面406において、軌跡Z2に対して垂線かつ、指定位置を通過する直線を仮想境界線として生成する。本例においては、サポート装置40は、軌跡Z2上の指定点R4の入力を受け付けた場合に、軌跡Z2に対して垂線かつ、指定点R4を通過する直線を仮想境界線Q3として生成した場合が示されている。
【0122】
また、本例においては、設定画面406において、仮想境界線Q3に対して操作が可能に設けられている。一例として、設定画面406において、入力部44のマウス等により画面で表示される仮想境界線Q3に対してドラッグ&ドロップ操作により仮想境界線の傾きを調整した仮想境界線Q3#が示されている。そして、サポート装置40は、仮想境界線に基づく境界線設定テーブルを設定する。
【0123】
そして、上記で説明したように、作成した境界線設定テーブルを用いて
図10のフローを実行することにより、設定した境界線までの判定距離を設定することが可能である。
【0124】
これにより、簡易に判定距離を設定して、レーザ出力の設定にしたがってレーザON/OFFテーブルを作成することが可能である。
【0125】
実施形態の変形例3に従う設定画面により、ユーザは、設定画面を介して簡易に境界線までの判定距離を設定することが可能である。そして、これにより、簡易にレーザON/OFFテーブルを作成することが可能である。また、本例においては、指定点の入力に基づいて仮想境界線を生成して、ユーザが当該仮想境界線を調整可能な場合について説明したが、指定点の入力に基づいて1つの境界線を設定するようにしても良い。この場合には、傾きの入力は不要であり、ワンアクションで境界線の設定が可能となる。
【0126】
(変形例4)
実施形態の変形例4においては、拡張可能なレーザON/OFFテーブルについて説明する。上記の実施形態においては、レーザON/OFFテーブルは、判定距離に対応付けられてレーザ30をON(オン)あるいはOFF(オフ)する場合について説明したが、他の条件に基づいてレーザ30をON(オン)あるいはOFF(オフ)させるようにしてもよい。
【0127】
図13は、実施形態の変形例4に従う制御システム1のレーザ出力ON/OFFを実行する方式を説明する模式図である。
図13(A)に示されるように、具体的には、実移動軌跡に従う移動距離を予め計測する。ここでは、移動軌跡として最初の区間直線で移動した後、ある点Pから円を描くように移動する。そして、再び同じ点Pに戻り直線で移動する場合が示されている。
【0128】
ここで、ワーク位置の移動は、実移動軌跡で移動する場合が示されている。本例においては、実移動軌跡で1回目に点Pに到達してから2回目に到達するまでの移動距離は、「400」である場合が示されている。
【0129】
図13(B)は、時間tに対するワーク位置の移動距離について説明する図である。本例においては、一定の速度でワーク位置が移動する場合が示されている。ワーク位置の移動距離は、時間の経過とともに累積される。したがって、当該移動軌跡のような同一の点Pに複数回到達する場合であって、移動距離は必ず異なるため簡易な方式で動作を設定することが可能である。
【0130】
図13(C)は、レーザON/OFFテーブルを説明する図である。本例においては、判定距離「200」においてレーザ30をON(オン)し、判定距離「600」においてレーザ30をOFF(オフ)する場合が設定されている。また、判定距離「200」において、その他条件として、「SW=OFF」が設定されている。また、判定距離「600」において、その他条件として、「SW=OFF」が設定されている。一例として、「SW=OFF」は、制御システム1に設けられた図示しない外部スイッチの条件である。一例として、レーザON/OFFテーブルにおいて、外部スイッチがオンすなわち、「SW=ON」あるいは外部スイッチがオフすなわち、「SW=OFF」の設定が可能な場合について説明する。外部スイッチは、一例としてテスト加工のためのスイッチであり、外部スイッチがオンの場合であれば、テスト加工であるためレーザ30はオフ、外部スイッチがオフの場合であれば実加工であるためレーザ30はオンに設定することが可能である。
【0131】
レーザON/OFFテーブルの「SW=ON」の設定に基づいてテスト加工することによりレーザ30を動作させずにXYステージ20を駆動したワーク位置の移動のテストを実行することが可能となる。
【0132】
また、当該テスト加工により、XYステージ20のワーク位置の実移動軌跡データを取得することが可能となる。このXYステージ20の実移動軌跡データに基づいて、実移動軌跡に従う移動距離を算出して、上記の判定距離を設定することも可能である。
【0133】
例えば、主制御ユニット100は、テスト加工により実移動軌跡データを取得して、位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出するようにしてもよい。当該算出した移動距離をレーザON/OFFテーブルの判定距離に設定してもよい。
【0134】
<G.利点>
実施形態に従う制御システムによれば、指定した位置で所定の動作を確実に実行することが可能である。
【0135】
<H.付記>
上述したような実施形態は、以下のような技術思想を含む。
【0136】
[構成1]
予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部(200)と、
移動距離と動作とを含む設定情報を保持する記憶部(106)と、
前記移動対象物が前記設定情報の移動距離を移動したか否かを判断する移動判定部(102)と、
前記移動判定部の判断結果に基づいて前記設定情報の動作を実行する実行部(300)と、
前記移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出する算出部(40)とを備える、制御システム。
【0137】
[構成2]
前記算出部は、シミュレーションにより前記移動対象物の直線移動の仮想移動軌跡を算出し、前記仮想移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出する、請求項1記載の制御システム。
【0138】
[構成3]
前記算出部は、設定画面(400)を有し、
前記設定画面は、前記移動軌跡に対する位置の指定の入力の受付が可能であり、
前記算出部は、前記設定画面における前記移動軌跡の当該指定された位置に到達するまでの移動距離を算出する、請求項1記載の制御システム。
【0139】
[構成4]
前記算出部は、
前記指定された位置の入力に対して前記移動軌跡に対する領域上の境界線(Q)を設定し、
前記移動軌跡に従って移動する前記移動対象物が前記境界線を跨ぐまでの移動距離を当該指定された位置に到達するまでの移動距離として算出する、請求項3記載の制御システム。
【0140】
[構成5]
前記算出部は、前記指定された位置の入力に対して前記移動軌跡に対して垂線かつ、前記指定された位置を通過する直線を前記領域上の境界線に設定する、請求項4記載の制御システム。
【0141】
[構成6]
前記設定情報は、所定条件をさらに含み、
前記実行部は、前記移動判定部の判断結果および前記所定条件に基づいて前記設定情報の動作を実行する、請求項1記載の制御システム。
【0142】
[構成7]
予め設定された移動対象物の移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出するステップと、
前記移動軌跡に従って移動対象物の移動を制御するステップと、
前記移動対象物が前記移動距離と動作とを含む設定情報の前記移動距離を移動したか否かを判断するステップ(S8)と、
判断結果に基づいて前記設定情報の動作を実行するステップ(S9)とを備える、制御方法。
【0143】
[構成8]
予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部(200)と、
移動距離と動作とを含む設定情報を保持する記憶部(106)と、
前記移動対象物が前記設定情報の移動距離を移動したか否かを判断する移動判定部(102)と、
前記移動判定部の判断結果に基づいて前記設定情報の動作を実行する実行部(30)と、
前記移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出する算出部(40)とを備える、制御装置。
【0144】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0145】
1 制御システム、10 制御装置、20 XYステージ、22 プレート、23,25 サーボドライバ、24,26 サーボモータ、30 レーザ、40 サポート装置、41 バス、42,102 プロセッサ、43 主記憶装置、44 入力部、45 表示部、46 ローカルネットワークコントローラ、47 二次記憶装置、48 設定プログラム、48# シミュレーションプログラム、52,53 制御線、100 主制御ユニット、104 メインメモリ、106 ストレージ、108 システムプログラム、110 アプリケーションプログラム、112 バスコントローラ、114 内部バス、200 軸インターフェイスユニット、210 軸制御演算部、220,314 出力インターフェイス回路、300 レーザ制御ユニット、310 レーザ制御演算部。