(58)【調査した分野】(Int.Cl.,DB名)
前記画像処理装置は、前記第1のコマンドを受信する前に、前記複数のプロセスに含まれていない第2のプロセスを指定する第3のコマンドを前記第2のコマンドの代わりに前記コントローラから受信した場合には、前記コントローラに対して、前記コントローラにおいて指定されたプロセスが行えないことを表す所定の通知を行う、請求項1または2に記載のレーザ加工システム。
前記コントローラは、前記第1のコマンド送信した時刻から予め定められた時間が経過する前に、前記ずれ量を前記画像処理装置から受信できなかった場合には、前記ヘッドに前記走査を実行させない、請求項1から4のいずれか1項に記載のレーザ加工システム。
レーザ光を発振する発振器を有するコントローラと、発振された前記レーザ光を加工対象物の加工面上で走査させるためのヘッドと、画像処理装置とを備えたレーザ加工システムにおける加工制御方法であって、
前記コントローラにおいて前記画像処理装置に第1のプロセスを実行させるための設定がなされていることを条件に、前記コントローラが、前記画像処理装置に対して、前記第1のプロセスの実行を指示するための第1のコマンドを送信するステップと、
前記画像処理装置が、前記第1のコマンドを受信したことを条件に、前記加工対象物の撮像によって得られた画像データを用いて基準位置に対する前記加工対象物のずれ量を算出するステップと、
前記画像処理装置が、算出された前記ずれ量を前記コントローラに通知するステップと、
前記コントローラが、前記ずれ量に基づき前記レーザ光を走査する位置を補正した後、前記ヘッドに前記走査を実行させるステップとを備え、
前記画像処理装置は、前記第1のプロセスを含む複数のプロセスを実行可能であり、
前記加工制御方法は、
前記コントローラが、前記第1のコマンドを送信する前に、前記第1のプロセスを指定するための第2のコマンドを、前記画像処理装置に送信するステップと、
前記画像処理装置が、前記第2のコマンドに基づき、前記指定された第1のプロセスが前記複数のプロセスに含まれていることを確認した後、前記コントローラに対して前記確認の結果を通知するステップとをさらに備える、加工制御方法。
【発明を実施するための形態】
【0023】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。以下では、レーザ加工装置として、レーザマーカを例に挙げて説明する。なお、本実施の形態に係るレーザマーカは、文字や記号のマーキングを行なう機能の他に、穴開け、剥離、切断等のマーキング以外の加工を行う機能を有していてもよい。
【0024】
<A.マーキングシステムの概略構成>
図1は、レーザ加工システム1の概略構成を示す構成図である。
図1を参照して、レーザ加工システム1は、レーザマーカ2と、画像処理装置3(「視覚センサ」とも称される)とを備える。レーザマーカ2は、コントローラ21と、マーカヘッド26とを有する。
【0025】
コントローラ21は、マーカヘッド26の動作を制御する。また、詳細については後述するが、コントローラ21は、レーザ光Lを発振するレーザ発振器を有する。
【0026】
マーカヘッド26は、カメラユニット261を有する。マーカヘッド26は、コントローラ21の制御に基づき、加工対象物8を載置する部材9の上に置かれた加工対象物8(
図1の状態には、左側の加工対象物8)に対して、レーザ光Lを照射する。詳しくは、マーカヘッドは、レーザ光Lを加工対象物8の加工面上で走査させる。なお、
図1の例では、加工対象物8に対する処理(走査等の一連の処理)が終了すると、部材9が左側方向(図の矢印Aの方向)に移動し、次の加工対象物8(
図1の右側の加工対象物8)に対してレーザ光Lが照射される。
【0027】
カメラユニット261は、撮像装置(具体的には、カメラ)と通信装置とを有する。カメラユニット261の撮像装置は、予め定められた領域を撮像可能に構成されている。ある局面において、撮像装置は、加工対象物8を被写体として撮像する。また、カメラユニット261の通信装置は、通信ケーブル12によって、撮像により得られた画像データを画像処理装置3に送信する。
【0028】
マーカヘッド26は、光ファイバ28によって、コントローラ21内の発振器と接続されている。さらに、マーカヘッド26は、制御ケーブル29によって、コントローラ21と接続されている。詳しくは、マーカヘッド26は、制御ケーブル29によって、コントローラ21内の制御基板に接続されている。なお、コントローラ21とマーカヘッド26との接続態様は、従来の構成と同じであるため、ここでは詳しく説明しない。
【0029】
本実施の形態にかかるレーザ加工システム1では、レーザマーカ2のコントローラ21が、LANによって、画像処理装置3にダイレクトに接続されている。典型的には、コントローラ21は、Ethernet(登録商標)によって、画像処理装置3にダイレクトに接続されている。具体的には、コントローラ21は、Ethernetケーブル11によって、PLC等の制御装置を介することなく、画像処理装置3にダイレクトに接続されている。
【0030】
なお、コントローラ21と画像処理装置3との間で行われる通信の詳細については、後述する(
図6)。
【0031】
<B.レーザ加工システム1の詳細構成>
図2は、レーザ加工システム1の構成をより詳細に示す構成図である。
図2を参照して、レーザ加工システム1は、上述したように、レーザマーカ2を構成するコントローラ21およびマーカヘッド26と、画像処理装置3とを備えている。
【0032】
コントローラ21は、レーザ発振器240と、制御基板210と、ドライバ220と、ドライバ用電源230とを含む。コントローラ21には、表示装置6および入力装置7を接続することができる。表示装置6および入力装置7は、コントローラ21における設定内容をユーザが変更する局面等において用いられる。
【0033】
(b1.コントローラ21)
(1)レーザ発振器240
レーザ発振器240について説明すると、以下のとおりである。レーザ発振器240は、光ファイバ241と、半導体レーザ242,243,249A〜9Dと、アイソレータ244,246と、結合器245,248と、バンドパスフィルタ247とを備える。
【0034】
半導体レーザ242は、種光を発する種光源である。半導体レーザ242は、ドライバ220により駆動されて、パルス状の種光を発する。
【0035】
アイソレータ244は一方向の光のみを透過し、その光と逆方向に入射する光を遮断する。具体的には、アイソレータ244は、半導体レーザ242から発せられる種光を通過させるとともに、光ファイバ241からの戻り光を遮断する。これによって半導体レーザ242の損傷を防ぐことができる。
【0036】
半導体レーザ243は、光ファイバ241のコアに添加された希土類元素を励起するための励起光を発する励起光源である。
【0037】
結合器245は、半導体レーザ242からの種光および半導体レーザ243からの励起光を結合させて、光ファイバ241に入射させる。
【0038】
半導体レーザ243から結合器245を介して光ファイバ241に入射した励起光は、光ファイバ241のコアに含まれる希土類元素に吸収される。これにより希土類元素が励起され、反転分布状態が得られる。この状態において、半導体レーザ242からの種光が光ファイバ241のコアに入射すると、誘導放出が生じる。この誘導放出によって種光(パルス光)が増幅される。すなわち光ファイバ241によって構成されたファイバ増幅器に種光および励起光が入射されることによって、種光が増幅される。
【0039】
アイソレータ246は、光ファイバ241から出力されたパルス光を通過させるとともに光ファイバ241に戻る光を遮断する。
【0040】
バンドパスフィルタ247は、所定の波長帯の光を通過させるよう構成される。「所定の波長帯」とは、具体的には、光ファイバ241から出力されるパルス光のピーク波長を含む波長帯である。光ファイバ241から自然放出光が放出された場合、その自然放出光はバンドパスフィルタ247により除去される。
【0041】
バンドパスフィルタ247を通過したレーザ光は、結合器248を介して、レーザ光を伝送するために設けられた光ファイバ28に入射する。半導体レーザ249A〜249Dは、バンドパスフィルタ247を通過したレーザ光を光ファイバ28において増幅するために、励起光を発する。
【0042】
結合器248は、バンドパスフィルタ247を通過したパルス光と、半導体レーザ249A〜249Dからの光とを結合して光ファイバ28に入射させる。
【0043】
なお、
図2に示したレーザ発振器240の構成は、一例であって、これに限定されるものではない。
【0044】
(2)制御基板210
制御基板210は、制御部211と、パルス発生部212と、記憶部213と、通信処理部214〜217とを含む。
【0045】
制御部211は、パルス発生部212およびドライバ220を制御することによって、コントローラ21の全体の動作を制御する。詳しくは、制御部211は、記憶部213に記憶されているオペレーティングシステムとアプリケーションプログラムとを実行することにより、コントローラ21の全体の動作を制御する。
【0046】
パルス発生部212は、所定の繰り返し周波数、および、所定のパルス幅を有する電気信号を発生させる。パルス発生部212は、制御部211の制御により、電気信号を出力したり、電気信号の出力を停止したりする。パルス発生部212からの電気信号は半導体レーザ242に供給される。
【0047】
記憶部213は、オペレーティングシステムおよびアプリケーションプログラムの他に、各種のデータを記憶している。データについては、後述する。
【0048】
通信処理部214は、マーカヘッド26との通信を行うためのインターフェイスである。制御部211は、通信処理部214および制御ケーブル29を介して、制御信号をマーカヘッド26に送信する。
【0049】
通信処理部215は、画像処理装置3との通信を行うためのインターフェイスである。制御部211は、通信処理部215およびEthernetケーブル11を介して、各種のコマンドを画像処理装置3に送信する。また、制御部211は、Ethernetケーブル11および通信処理部215を介して、画像処理装置3から送られてくる上記コマンドに対するレスポンスを受信する。通信処理部215を介した画像処理装置3とのデータ(コマンド、レスポンス等)のやり取りの詳細については、後述する(
図6)。
【0050】
通信処理部216は、入力装置7からの入力を受け付ける。通信処理部216は、受け付けた入力を制御部211に通知する。
【0051】
通信処理部217は、制御部211によって生成された画像データを表示装置6に送信する。なお、この場合、表示装置6は、当該画像データに基づいた画像(ユーザインターフェイス)を表示する。表示装置6に表示されるユーザインターフェイスの例については、後述する(
図5)。
【0052】
(3)ドライバ220およびドライバ用電源230
ドライバ用電源230は、ドライバ220に電力を供給する。これによりドライバ220は半導体レーザ242,243,249A〜249Dに駆動電流を供給する。半導体レーザ242,243,249A〜249Dの各々は駆動電流が供給されることによってレーザ発振する。半導体レーザ242に供給される駆動電流は、パルス発生部212からの電気信号により変調される。これにより半導体レーザ242はパルス発振して、所定の繰り返し周波数および所定のパルス幅(上述)を有するパルス光を種光として出力する。一方、半導体レーザ243,249A〜249Dの各々にはドライバ220により連続的な駆動電流が供給される。これにより半導体レーザ243,249A〜249Dの各々は連続発振して、連続光を励起光として出力する。
【0053】
(b2.マーカヘッド26)
マーカヘッド26は、カメラユニット261と、アイソレータ262と、コリメータレンズ263と、ガルバノスキャナ264と、集光レンズ265とを備える。アイソレータ262は、光ファイバ28から出力されるパルス光を通過させるとともに、光ファイバ28に戻る光を遮断する。アイソレータ262を通過したパルス光は、アイソレータ262に付随するコリメータレンズ263から大気中に出力されてガルバノスキャナ264に入射する。ガルバノスキャナは第1の軸(具体的には、
図1の矢印Aと平行な軸)、および第1の軸と直交する第2の軸方向の少なくとも一方の方向にレーザ光を走査する。集光レンズ265は、ガルバノスキャナ264により走査されたレーザ光Lを集光する。
【0054】
(b3.画像処理装置3)
画像処理装置3は、制御部31と、記憶部32と、通信処理部33,34とを備えている。
【0055】
制御部31は、記憶部32に記憶されているオペレーティングシステムとアプリケーションプログラムとを実行することにより、画像処理装置3の全体の動作を制御する。
【0056】
記憶部32は、オペレーティングシステムおよびアプリケーションプログラムの他に、各種のデータを記憶している。
【0057】
通信処理部33は、コントローラ21との通信を行うためのインターフェイスである。制御部31は、Ethernetケーブル11および通信処理部33を介して、コントローラ21から送られてくるコマンドを受信する。また、制御部31は、通信処理部33およびEthernetケーブル11を介して、上記コマンドに対するレスポンスをコントローラ21に送信する。
【0058】
通信処理部34は、マーカヘッド26のカメラユニット261との通信を行なうためのインターフェイスである。制御部31は、通信ケーブル12および通信処理部34を介して、カメラユニット261から送られてくる画像データを受信する。
【0059】
(b4.制御基板210および画像処理装置3のハードウェア構成)
図3は、制御基板210に含まれるハードウェアを示した構成図である。
図3を参照して、制御基板210は、プロセッサ110と、メモリ120と、通信インターフェイス130と、パルス発生回路140とを備える。
【0060】
メモリ120は、たとえば、ROM(Read Only Memory)121と、RAM(Random Access Memory)122と、フラッシュメモリ123とを含んで構成される。なお、フラッシュメモリ123には、上述したオペレーティングシステム、アプリケーションプログラム、各種のデータが記憶される。メモリ120は、
図2に示した記憶部213に対応する。
【0061】
プロセッサ110は、コントローラ21の全体の動作を制御する。なお、
図2に示した制御部211は、プロセッサ110がメモリ120に記憶されたオペレーティングシステムおよびアプリケーションプログラムを実行することにより実現される。なお、アプリケーションプログラムの実行の際には、メモリ120に記憶されている各種のデータが参照される。
【0062】
通信インターフェイス130は、外部装置(たとえば、画像処理装置3、マーカヘッド26、表示装置6、入力装置7)との通信を行なうためのものである。通信インターフェイスは、
図2の通信処理部214〜217に対応する。
【0063】
パルス発生回路140は、
図2のパルス発生部212に対応する。すなわち、パルス発生回路140は、プロセッサ110からの指令に基づき、所定の繰り返し周波数、および、所定のパルス幅を有する電気信号を発生させる。
【0064】
図4は、画像処理装置3に含まれるハードウェアを示した構成図である。
図4を参照して、画像処理装置3は、演算処理回路150と、メモリ160と、通信インターフェイス170とを備える。演算処理回路150は、メインプロセッサ151と、画像処理専用プロセッサ152とを有する。
【0065】
メモリ160は、たとえば、ROM161と、RAM162と、フラッシュメモリ163とを含んで構成される。なお、フラッシュメモリ163には、上述したオペレーティングシステム、アプリケーションプログラム、各種のデータが記憶される。メモリ120は、
図2に示した記憶部213に対応する。なお、メモリ160は、HDD(Hard Disk Drive)を備えて構成されていてもよい。
【0066】
なお、
図2に示した制御部31は、演算処理回路150がメモリ160に記憶されたオペレーティングシステムおよびアプリケーションプログラムを実行することにより実現される。なお、アプリケーションプログラムの実行の際には、メモリ120に記憶されている各種のデータ(たとえば、カメラユニット261から送られてきた加工対象物8の画像データ)が参照される。
【0067】
メインプロセッサ151は、画像処理装置3の全体の動作を制御する。画像処理専用プロセッサ152は、マーカヘッド26のカメラユニット261から送られてきた画像データに対して、予め定められた処理を実行する。なお、画像処理専用プロセッサ152の代わりに、画像処理を行うためのASIC(Application Specific Integrated Circuit)を備えていてもよい。
【0068】
通信インターフェイス170は、外部装置(たとえば、コントローラ21、マーカヘッド26のカメラユニット261)との通信を行なうためのものである。通信インターフェイスは、
図2の通信処理部33,34に対応する。
【0069】
なお、
図3および
図4に示したハードウェア構成は、一例であって、こられに限定されるものではない。
【0070】
<C.事前登録>
(c1.コントローラ21)
図5は、コントローラ21によって表示装置6に表示されるユーザインターフェイス700を示した図である。ユーザインターフェイス700は、制御部211が記憶部213に記憶されているアプリケーションプログラムを実行することによって実現される。具体的には、ユーザインターフェイス700は、プロセッサ110が、マーキングするマークのレイアウトを設定するための機能を有するプログラムを実行することによって、コントローラ21に接続された表示装置6に表示される。
【0071】
コントローラ21は、作業の流れに合わせて画面モードを切り替えることができる。
図5は、マーキングデータの作成および編集時に用いられる編集モードの画面を示している。コントローラ21は、ボタン703をクリックするユーザ操作を受け付けると、画面を、編集モードの画面から、実際にマーキングおよび加工を行う際に用いられる運用モードの画面に切り替える。なお、コントローラ21は、運用モードの画面において表示されるボタンをクリックするユーザ操作を受け付けることにより、運用モードの画面を編集モードへと切り替える。
【0072】
また、ユーザが作成および編集したマーキングデータを確認する際には、ユーザは、ボタン702をクリックする。これにより、コントローラ21は、テストマーキング画面を表示装置6に表示させる。ユーザは、テストマーキング画面を利用して、ガイドレーザや実際のマーキング用のレーザで簡単にシミュレーションすることができる。
【0073】
以下、
図5に示した編集モードにおいて行われる設定処理について説明する。
ユーザは、共通設定の入力項目を利用して、加工対象物の基準位置(以下、「基準位置P」と称する)を登録する。基準位置Pは、加工対象物8が位置するであろうとユーザが想定した位置(理想位置)である。また、画像処理装置3においても、基準位置Pと同じ位置が、基準位置として設定される。つまり、コントローラ21と画像処理装置3とは、基準位置として同じ位置(詳しくは、同一の座標値)記憶する。なお、以下では、基準位置Pの座標を、X軸とY軸とからなる座標系Cを用いて、(xp,yp)と表記する。
【0074】
ユーザは、さらに、描画領域701を用いて、マーキングする文字、図形、記号を描画する。なお、描画領域701には、上記の座標系Cが設定されている。
【0075】
タブ705が選択された状態において、コントローラ21は、DFL(Direct Finder Link)と称される機能に関するユーザ設定を受け付ける。「DFL」とは、コントローラ21が、画像処理装置3に対して直接コマンドを発行した後に画像処理装置3からコマンドに対するレスポンスを受けることにより、マーキング位置の補正(X軸方向、Y軸方向、および回転角に関する補正)、2次元コードの読取判定(2次元コードが読み取れたか否かの判定)等の各種の処理を実行させる機能をいう。
【0076】
ユーザインターフェイス700は、チェックボックス710と、接続される画像処理装置3についての設定に関する接続設定の項目720と、DFLの実施項目の設定に関する項目730とを含む。
【0077】
チェックボックス710は、DFLを有効とするか否かを設定するために設けられている。
【0078】
項目720は、IP(Internet Protocol)アドレスを入力する入力ボックス721と、接続テストを開始する入力を受け付けるボタン722とを有する。入力ボックス721には、画像処理装置3のIPアドレスが入力される。
【0079】
項目730は、チェックボックス731,732と、ユーザによって値等が入力される入力欄733,736とを含む。チェックボックス731は、位置補正を実施するか否かの設定を行うためのものである。チェックボックス732は、加工対象物8へのマーキング後に2次元コードの検査を実施するか否かの設定を行うためのものである。
【0080】
入力欄733には、印字位置補正用のシーン番号が入力される。「シーン」とは、少なくとも1つ以上の処理を含むプロセスを意味する。たとえば、1つのシーンは、前処理、エッジ検出、マッチング、ずれ量の算出といった、複数の処理を含んで構成される。なお、典型的には、当該複数の処理には、検査に該当する処理が含まれる。このようなシーンは、ユーザによって予め設定されている。また、通常、シーンは、少なくとも、加工対象物8の品種毎に個別に設定される。
【0081】
入力欄734には、ブロック番号が入力される。「ブロック」とは、加工対象物8にレーザ加工するためのマーク、文字、2Dコードなどの図形のデータを指している。ブロック番号が入力されると、コントローラ21において、加工対象物8を加工するデータが特定されることになる。
【0082】
入力欄735は、レイヤ番号が入力される。「レイヤ」とは、加工対象物8の高さ方向の違いに対応し、同一の高さのデータをまとめたものであり、レイヤごとに位置補正できるデータのグループを意味する。
【0083】
入力欄736は、タイムアウト時間が入力される。タイムアウト時間は、コントローラ21が画像処理装置3からのレスポンスを待つ時間の上限値である。詳しくは、タイムアウト時間は、コントローラ21が画像処理装置3にコマンドを送信した後、画像処理装置3からのレスポンスを受け付ける得る時間である。
【0084】
ユーザインターフェイス700は、さらに、入力した内容(設定内容)をデフォルト値として保存するためのボタン750と、値をデフォルト値に戻すためのボタン740とを含んでいる。
【0085】
コントローラ21は、ユーザインターフェイス700を用いて設定された内容(いわゆる、マーキングレシピ)を、たとえば、ファイル形式で、外部メモリに書き込み、または外部の機器に送信することも可能である。これによれば、レーザマーカ2以外の他のレーザマーカ(図示せず)に、これらの設定内容を移行させることができる。
【0086】
以上のように、コントローラ21は、レーザ光Lによってマーキングするマークのレイアウトを設定するためのアプリケーションプログラムを格納している。コントローラ21は、当該アプリケーションプログラムが実行された場合に表示されるユーザインターフェイス700を介して、画像処理装置3に、印字位置補正用シーン番号で特定されるシーン(以下、「第1のシーン」とも称する)を実行させるための設定の登録を受け付ける。さらに、上述したように、コントローラ21は、ユーザインターフェイス700を介して、画像処理装置3のインターネット・プロトコル・アドレスの入力を受け付けるとともに、加工対象物8を特定する情報の入力を受け付ける。
【0087】
(c2.画像処理装置3)
画像処理装置3は、コントローラ21と同様に、ユーザ設定によって、基準位置Pの座標(xp,xq)を記憶部32に記憶している。
【0088】
また、画像処理装置3は、複数のシーンが記憶されている。詳しくは、画像処理装置3は、複数のシーンの各々を実行可能に構成されている。どのシーン(プロセス)を画像処理装置3が実行するか否かは、コントローラ21からの指令(コマンド)によって決定される。
【0089】
<D.レーザ加工システム1における制御構造>
図6は、レーザ加工システム1における処理の流れを説明するためのフローチャートである。なお、処理の流れをわかりやすくする観点から、
図6においては、レーザマーカ2のコントローラ21における処理と画像処理装置3における処理との両方を記載している。
【0090】
また、
図6は、
図5に示したユーザインターフェイス700において、チェックボックス731にチェックマークが入っており、かつチェックボックス732にチェックボックスが入っていない状態における処理を説明するものである。さらに、入力欄733において印字位置補正用シーン番号が入力されているものとする。
【0091】
図6を参照して、ステップS2において、コントローラ21は、DFLの指定の有無を判断する。具体的には、コントローラ21は、ユーザインターフェイス700においてチェックボックス710にチェックが入っている状態か否かを判断する。つまり、コントローラ21は、DFL機能を有効とする設定がなされているか否かを判断する。
【0092】
DFLの指定がないと判断された場合(ステップS2においてNO)、コントローラ21は、印字等のマーキングを実行する。すなわち、コントローラ21は、後述するずれ量に基づく位置補正を行うことなく、マーキングを実行する。これにより、1つの加工対象物8への加工が終了する。
【0093】
一方、DFLの指定があると判断された場合(ステップS2においてYES)、コントローラ21は、ステップS4において、補正対象の登録の有無を判断する。具体的には、コントローラ21は、ユーザインターフェイス700において、ブロック番号およびレイヤ番号の指定がなされているかを判断する。
【0094】
補正対象の登録がないと判断された場合(ステップS4においてNO)、コントローラ21は、一連の処理を終了する。一方、補正対象の登録があると判断された場合(ステップS4においてYES)、コントローラ21は、ステップS6において、シーン切替要求を行う。
【0095】
「シーン切替要求」とは、どのようなシーン(プロセス)を画像処理装置3に実行させるのかを、画像処理装置3に指示することをいう。具体的には、シーン切替要求は、ユーザインターフェイス700において入力されたシーン番号(
図5の場合には、入力欄733に入力された印字位置補正用シーン番号)に基づいたコマンドを、IPアドレスで指定された装置(具体的には、画像処理装置3)に送信することである。すなわち、シーン切替要求は、シーンを指定するコマンドを画像処理装置3に送信する処理である。
【0096】
上述したように、コントローラ21は、上記のコマンドを、Ethernetケーブル11によって、PLC等の制御装置を介することなく、画像処理装置3にダイレクトに送信する。
【0097】
画像処理装置3は、コントローラ21から上記のコマンドを受信すると、ステップS102において当該コマンドを実行する。具体的には、画像処理装置3は、コントローラ21から受信したコマンドに基づき、コントローラ21において指定されたシーン(具体的には、印字位置補正用シーン番号で特定されるシーン)を、実行可能であるか否かを判断する。詳しくは、画像処理装置3は、予め登録された複数のシーンの中に、コントローラ21から指定されたシーンが含まれているか否かを判断する。
【0098】
画像処理装置3は、コントローラ21から指定されたシーンが複数のシーンに含まれていることを確認した場合には、その旨を表した確認結果(具体的には、予め定めれたコード)を、コマンドに対するレスポンスとしてコントローラ21に通知する。一方、画像処理装置3は、コントローラ21から指定されたシーンが複数のシーンに含まれていないと判断した場合には、その旨を表した確認結果(具体的には、予め定めらたコード)を、コマンドに対するレスポンスとしてコントローラ21に通知する。
【0099】
コントローラ21は、画像処理装置3が上記確認結果をコントローラ21宛に送信したことを条件に、ステップS8において、確認結果を受信する。コントローラは、ステップS10において、シーン切替要求が認められたか否かを判断する。なお、コントローラ21は、画像処理装置3からのレスポンスをタイムアウト時間として入力された時間までに受信できなかった場合には、「要求が認められなかった」として処理する。
【0100】
要求が認められなかったと判断された場合(ステップS10においてNO)、コントローラ21は、一連の処理を終了する。一方、要求が認められたと判断された場合(ステップS10においてYES)、コントローラ21は、ステップS12において、シーン実行要求を行う。
【0101】
「シーン実行要求」とは、指定されたシーンを画像処理装置3が実行するように、画像処理装置3に指示することをいう。詳しくは、ここでのシーン実行要求とは、ステップS6のシーン切替要求によって画像処理装置3に通知したシーンを画像処理装置3に実行させるためのコマンドを、画像処理装置3に送信することをいう。すなわち、「シーン実行要求」とは、指定されたシーンを画像処理装置3に実行させるコマンドを、画像処理装置3に送信する処理である。
【0102】
コントローラ21は、シーン実行要求についての上記コマンドを、シーン切替要求についてのコマンドと同様に、Ethernetケーブル11によって、PLC等の制御装置を介することなく、画像処理装置3にダイレクトに送信する。
【0103】
画像処理装置3は、コントローラ21から上記のコマンドを受信すると、ステップS104において当該コマンドを実行する。具体的には、画像処理装置3は、マーカヘッド26のカメラユニット261による撮像により得られた画像データを用いて、基準位置Pに対する加工対象物8のずれ量Dを算出する。
【0104】
画像処理装置3は、算出したずれ量Dを、上記コマンドに対するレスポンスとしてコントローラ21に通知する。また、画像処理装置3は、ずれ量Dの算出に失敗した場合には、その旨を表した内容(具体的には、予め定められたコード)をコントローラ21に通知する。
【0105】
コントローラ21は、画像処理装置3が上記のずれ量Dまたはずれ量の算出に失敗したことを表すコードをコントローラ21宛に送信したことを条件に、ステップS14において、コマンドに対するレスポンス(結果)を受信する。詳しくは、コントローラ21は、ずれ量Dまたは上記コードを画像処理装置3から受信する。
【0106】
コントローラ21は、ステップS16において、シーン実行要求が認められたか否かを判断する。具体的には、コントローラ21は、ずれ量Dを画像処理装置3から取得できたか否かを判断する。なお、コントローラ21は、画像処理装置3からのレスポンスをタイムアウト時間として入力された時間までに受信できなかった場合には、「要求が認められなかった」として処理する。
【0107】
要求が認められなかったと判断された場合(ステップS16においてNO)、コントローラ21は、一連の処理を終了する。一方、要求が認められたと判断された場合(ステップS16においてYES)、コントローラ21は、ステップS18において、マーキング位置の補正を行う。具体的には、コントローラ21は、マーキングを行う前に、画像処理装置3から取得したずれ量Dを用いてマーキング位置(レーザ光Lを走査する位置)を基準位置Pからずらす処理を実行する。当該処理の具体的内容については後述する(
図7)。
【0108】
コントローラ21は、マーキング位置の補正を行った後、ステップS20において、マーカヘッド26に対してマーキングを開始する指示を行う。具体的には、コントローラ21は、ユーザインターフェイス700において描画されたマークを、マーカヘッド26によって加工対象物8にマーキングさせる。以上によって、1つの加工対象物8へのマーキングが終了する。以後、このような一連の処理が、加工対象物8毎に繰り返し行われる。
【0109】
以上の処理をまとめると、以下のとおりである。なお、以下では、ステップS12においてコントローラ21が画像処理装置3に対して送信したコマンドを、「第1のコマンド」と称する。また、ステップS6においてコントローラ21が画像処理装置3に対して送信したコマンドを、「第2のコマンド」と称する。
【0110】
(1)ステップS6,S102,S18,S20に着目すると、以下のとおりである。コントローラ21は、コントローラ21において画像処理装置3に第1のシーン(具体的には、印字位置補正用シーン番号で特定されるシーン)を実行させるための設定がなされている場合、画像処理装置3に対して、第1のシーンの実行を指示するための第1のコマンドを送信する。画像処理装置3は、第1のコマンドを受信すると、加工対象物8の撮像により得られた画像データを用いて基準位置Pに対する加工対象物8のずれ量Dを算出するとともに、ずれ量Dをコントローラ21に通知する。コントローラ21は、ずれ量Dに基づきレーザ光Lを走査する位置を補正した後、マーカヘッド26に前記走査を実行させる。
【0111】
このような構成によれば、レーザマーカ2および画像処理装置3の各々の動作を制御するための制御プログラム(たとえば、ラダープログラム)をPLC等の制御装置で実行する必要がなくなる。このため、ユーザは、当該制御プログラムを事前に作成する必要がある。したがって、レーザ加工システム1によれば、レーザマーカ2は、PLCを介することなく画像処理装置3と連携してレーザ加工を実現することが可能となる。
【0112】
(2)ステップS6,S102に着目すると以下のとおりである。画像処理装置3は、第1のシーンを含む複数のシーンを実行可能である。コントローラ21は、第1のコマンドを送信する前に、第1のシーンを指定するための第2のコマンドを、画像処理装置3に送信する。画像処理装置3は、第2のコマンドに基づき、指定された第1のシーンが複数のシーンに含まれていることを確認した後、コントローラ21に対して確認結果を通知する。
【0113】
(3)ステップS12に着目すると、以下のとおりである。コントローラ21は、確認結果の通知を受けたことを条件に、第1のコマンドを画像処理装置3に送信する。
【0114】
(4)ステップS102に着目すると、以下のとおりである。画像処理装置3は、第1のコマンドを受信する前に、複数のシーンに含まれていない第2のシーンを指定する第3のコマンドを第2のコマンドの代わりにコントローラ21から受信した場合には、コントローラ21に対して、コントローラ21において指定されたシーンが行えないことを表す所定の通知を行なう。
【0115】
(5)ステップS4に着目すると、以下のとおりである。コントローラ21は、加工対象物8を特定する情報がコントローラ21において登録されていることを条件に、第2のコマンドを画像処理装置3に送信する。
【0116】
(6)ステップS16に着目すると、以下のとおりである。コントローラ21は、第1のコマンド送信した時刻から予め定められた時間が経過する前に、ずれ量Dを画像処理装置3から受信できなかった場合には、マーカヘッド26に走査を実行させない。
【0117】
<E.位置補正>
図7は、レーザマーカ2において実行されるマーキング位置の補正を説明するための図である。すなわち、
図7は、レーザマーカ2が画像処理装置3から取得したずれ量Dを用いて実施する補正(
図6のステップS18)を説明するための図である。
【0118】
図7(A)は、加工対象物8の理想的な位置810を表している。すなわち、ユーザが、レーザ光Lによるマーキングの際に加工対象物8が位置するであろうと想定した位置(以下、「理想位置810」とも称する)である。
【0119】
図7(A)を参照して、ユーザは、理想位置810に加工対象物8が位置するものと仮定して、ユーザインターフェイス700の描画領域701においてマーク820を描画する。すなわち、ユーザは、マーキングレイアウトを生成する。
【0120】
基準位置Pは、ユーザによって登録された位置である。
図7(A)は、一例として、加工対象物8の複数の端点のうちの1つの端点(
図7(B)の端点Qを参照)と同じ位置が、基準位置Pとして登録された場合を表している。
【0121】
図7(B)は、カメラユニット261による撮像によって得られた画像データに基づいて検出された、加工対象物8の実際の位置を説明するための図である。なお、
図7(B)は、説明の便宜上、
図7(A)と同様の描画領域701において加工対象物8の実際の位置810Aを記載したものであり、実際には、ユーザインターフェイス700においては
図7(B)のような表示はなされない。
【0122】
上述したように、レーザマーカ2(正確には、コントローラ21)は、画像処理装置3からずれ量Dを取得する。ずれ量Dは、X軸方向のずれ量xdと、Y軸方向のずれ量ydと、回転角θとを含んでいる。詳しくは、ずれ量Dは、基準位置Pの座標値(xp、yp)からのずれ量(xd、yd)と、デフォルトの角度(典型的には、0度)からの回転角とを含んでいる。なお、画像処理装置3は、撮像した対象物(本実施の形態の例では、加工対象物8)の画像から当該対象物のエッジおよび端点を検出することによって、ずれ量Dを算出できる。
【0123】
なお、デフォルトの角度が0度でない場合には、デフォルトの角度を画像処理装置3が記憶していることが好ましい。デフォルトの角度を画像処理装置3が記憶していない場合には、レーザマーカ2のコントローラ21が、画像処理装置3から取得した回転角θを、デフォルトの角度を用いて補正すればよい。
【0124】
図7(B)に示すように、実際には、
図7(A)において基準位置Pと同じ座標値であった端点Qの座標値は、座標値(xp,yp)から、X軸方向のxdかつY軸方向のydだけずれた座標値(xq,yq)となっている。さらに、加工対象物8は、端点Qを中心に、
図7(A)に示した状態から予め定められた方向(図の場合時計回り方向)にθだけ回転した状態となっている。
【0125】
レーザマーカ2は、画像処理装置3からずれ量Dを取得すると、ずれ量Dに基づき、マーキングの位置をずれ量Dだけずらす補正を行う。
図7の例では、
図7(B)に示したマーク820の位置にマーキング位置を補正する。レーザマーカ2は、マーキング位置の補正後、補正後の位置において、マーク820を加工対象物8にマーキングする。
【0126】
以上のように、レーザ加工システムでは、Z軸およびY軸方向のマーキング位置の補正のみならず、回転によるずれも補正することが可能となる。
【0127】
<F.変形例>
(1)上記においては、画像処理装置3がずれ量Dを算出する構成を例に挙げて説明したが、これに限定されるものではない。たとえば、以下のように、コントローラ21がずれ量Dを算出するように、レーザ加工システム1を構成してもよい。
【0128】
画像処理装置3は、上記第1のコマンド(ステップS12においてコントローラ21が画像処理装置3に対して送信したコマンド)を受信すると、画像データを用いて加工対象物8の位置(実際の位置)を算出するとともに、算出された位置をコントローラ21に通知する。
【0129】
コントローラ21は、基準位置Pに対する上記算出された位置のずれ量Dを算出する。コントローラ21は、ずれ量Dに基づきレーザ光Lを走査する位置を補正した後、マーカヘッド26に走査を実行させる。このような補正処理によって、加工対象物8の意図した位置に所定のマーキングを行なうことが可能となる。
【0130】
また、このような構成によっても、レーザマーカ2は、PLCを介することなく画像処理装置3と連携してレーザ加工を実現することが可能となる。
【0131】
(2)マーカヘッド26がカメラユニット261を備える構成を例に挙げて説明したが、これに限定されるものではない。カメラユニット261が単体で、マーカヘッド26とは別に設けられていてもよい。
【0132】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。