【解決手段】加工装置1は、加工対象のワークWを載置可能なステージ13と、ステージを所定の方向に沿って往復移動させる移動機構と、ステージの位置に係る情報を取得する位置情報取得部と、移動機構に対してステージの往復移動に係る駆動指令を送信する制御部と、を有する。位置情報取得部は、ステージの移動経路のうちの一方の端部で移動方向を変更した位置に係る情報を取得し、制御部は、位置情報取得部が取得した一方の端部においてステージが移動方向を変更した位置に係る情報と、駆動指令に含まれる当該端部において移動方向を変更する位置を指定する情報と、を比較し、その結果に基づいて駆動指令に含まれる移動機構に対して送信する当該端部での移動方向を変更する位置を指定する情報を補正する。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して、本発明を実施するための形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1には、X軸、Y軸及びZ軸により規定される直交座標系が例示されている。当該直交座標系において、Y軸は鉛直上向きに延びており、X軸はY軸に直交するように水平方向に延びており、Z軸はX軸及びY軸の双方に直交するように水平方向に延びている。
【0011】
[加工装置]
図1〜
図4を参照して、加工装置1について説明する。加工装置1は、
図1に示されるように、加工対象であるワークWを加工する機能を有する。ワークWは、例えば、シート状の母材(金属板など)を打ち抜く打抜装置を構成する金型部品であってもよい。ワークWの形状は、例えば、直方体形状、円柱形状、多角柱形状、その他の異形状であってもよい。
【0012】
加工装置1は、
図1に示されるように、ベースユニット10と、加工ユニット20と、コントローラ30(制御部)と、パルスカウンタボード40(位置情報取得部)とを備える。加工装置1は、これらの一部又は全部を収容可能に構成された筐体(図示せず)をさらに備えていてもよい。
【0013】
ベースユニット10は、ベース11と、ガイド機構12と、ステージ13と、サーボモータ14と、を含む。ベース11は、ガイド機構12及びステージ13を下側から支持するように構成されている。ガイド機構12は、ベース11上に取り付けられている。ガイド機構12は、サーボモータ14によって駆動するリニアアクチュエータであってもよい。ガイド機構12は、例えば、レール12aと、ブロック(図示せず)とを含んでいてもよい。ブロックは、コントローラ30からの指示に基づいて、レール12a(Z軸)に沿って往復移動可能に構成されていてもよい。
【0014】
ステージ13は、上面(載置面)に載置されたワークWを吸着保持するように構成されている。ステージ13は、例えば、マグネットチャックであってもよいし、真空チャックであってもよい。ステージ13がマグネットチャックである場合、ステージ13の表面に磁性体が露出していてもよい。ステージ13は、少なくとも一つのワークWを保持してもよいし、複数のワークWを保持してもよい。ステージ13は、ガイド機構12のブロックに接続されていてもよい。そのため、ブロックがレール12aを往復移動すると、ステージ13に保持されているワークWも共にレール12a(Z軸)に沿って往復移動する。
【0015】
サーボモータ14は、ガイド機構12のレール12aに沿ってブロックを往復させるためのモータである。サーボモータ14の駆動によるモータの回転がZ軸方向の直進運動に変換され、ブロックがレール12aに沿って往復移動する。サーボモータ14は、エンコーダ(図示せず)を含んでいてもよい。
【0016】
サーボモータ14の駆動によるガイド機構12上のステージ13の移動の例を
図2に示す。
図2に示すように、サーボモータ14によって、ステージ13及びワークWは、予め定められた点Aと点Bとの間を往復移動する。ガイド機構12のブロックがZ軸方向に沿って延びるレール12aに沿って移動することにより、点Aと点Bとの間では、ステージ13及びワークWは直線状に移動する。また、点A及び点Bはステージ13の移動経路の端部となり、点Aまたは点Bにおいて移動方向を変更(反転)するようにステージ13の移動が制御される。このように、ガイド機構12及びサーボモータ14は、ワークWが載置されたステージ13をレール12a(Z軸)に沿って往復移動させるための移動機構として機能する。
【0017】
図1に戻り、加工ユニット20は、ワークWが所定形状となるようワークWを加工する機能を有する。加工ユニット20は、ベースユニット10の上方にベースユニット10から離間して配置されていてもよい。加工ユニット20は、工具21と、シャフト22と、駆動機構23とを含む。
【0018】
工具21は、ワークWに接触した状態でワークWを加工するように構成されている。例えば、加工装置1が研削装置である場合には、工具21は、ワークWを研削加工する砥石であってもよい。工具21は、例えば、円柱状を呈していてもよい。この場合、工具21の周面がワークWと接触することによりワークWの加工が行われてもよいし、工具21の端面がワークWと接触することによりワークWの加工が行われてもよい。
【0019】
シャフト22は、X軸に沿って延びている。シャフト22の一端には、工具21が取り付けられている。シャフト22の中心軸と工具21の中心軸とは略一致していてもよい。シャフト22の他端には、駆動機構23が取り付けられている。
【0020】
駆動機構23は、コントローラ30からの指示に基づいて、シャフト22を支持して回転させるように構成されている。シャフト22の回転に伴い、シャフト22の中心軸を回転軸として、工具21も回転する。駆動機構23は、コントローラ30からの指示に基づいて、シャフト22をY軸に沿って上下動させるように構成されている。このとき、シャフト22に取り付けられている工具21も共に上下方向に往復移動する。駆動機構23は、コントローラ30からの指示に基づいて、シャフト22をX軸に沿って進退させるように構成されている。このとき、シャフト22に取り付けられている工具21も共に水平方向に往復移動する。
【0021】
コントローラ30からの指示に基づいてサーボモータ14が動作することで、ガイド機構12によってステージ13上のワークがZ軸に沿って移動する。駆動機構23によって工具21がX軸及びY軸に沿って移動すると、工具21とワークWとの相対位置が変動する。工具21によるワークWの加工が行われる場合には、駆動機構23によって、ワークWと接触する高さまで工具21をY軸に沿って移動させ、工具21を所定の速度で回転させる。次に、ガイド機構12によってステージ13上のワークWをZ軸に沿って所定の速度で移動させる。これにより、工具21がワークWに接触した領域(例えば、工具21の幅に対応する領域)が加工される。次に、駆動機構23によって、工具21をX軸に沿って所定の大きさ(例えば、工具21の幅以下の大きさ)だけ繰り出し又は引き込む。次に、ガイド機構12によってワークWをZ軸に沿って所定の速度で移動させる。これにより、ワークWのうち加工済領域の隣の領域が加工される。その後は、工具21がワークWの全域と接触して加工が完了するまで、ステージ13及び工具21が同様に動作する。すなわち、工具21は、ワークWに対して蛇行しながらワークWを加工する。
【0022】
コントローラ30は、ベースユニット10のサーボモータ14に対して駆動指令を出すことで、ガイド機構12のブロックを往復移動させる。また、コントローラ30は、加工ユニット20の駆動機構23に対して駆動指令を出すことで、工具21を回転させると共に上下方向・水平方向に移動させる。
【0023】
パルスカウンタボード40は、ベースユニット10のサーボモータ14の駆動に応じて発せられるガイド機構12のブロックの位置(すなわち、ブロックに保持されるステージ13及びワークWの位置)を示すパルス信号を取得すると共に記録する機能を有する。サーボモータ14の位置を示すパルス信号としては、例えば、サーボモータ14に含まれるエンコーダのパルス信号を用いることができる。また、パルスカウンタボード40はコントローラ30からの指令に基づいて記録した信号に係る情報、すなわち、サーボモータ14の駆動によって移動するブロック、ステージ13、及びワークWの位置に係る情報をコントローラ30に対して送信する機能を有する。コントローラ30は、パルスカウンタボード40から取得する位置情報に基づいて、コントローラ30からサーボモータ14に対して出す駆動指令の内容を変更する。この点については後述する。
【0024】
次に、
図3を参照しながら、コントローラ30及びパルスカウンタボード40の機能と、コントローラ30、パルスカウンタボード40及びサーボモータ14間の信号の送受信について説明する。
【0025】
図3に示されるように、コントローラ30は、機能モジュールとして、カウンタ制御部31、カウント情報取得部32、ピーク情報取得部33、駆動条件補正部34、駆動指示部35、出力部36、及び、記憶部37を含んで構成される。これらの機能モジュールは、コントローラ30の機能を便宜上複数のモジュールに区切ったものに過ぎず、コントローラ30を構成するハードウェアがこのようなモジュールに分かれていることを必ずしも意味するものではない。各機能モジュールは、プログラムの実行により実現されるものに限られず、専用の電気回路(例えば論理回路)、又は、これを集積した集積回路(ASIC:application specific integrated circuit)により実現されるものであってもよい。
【0026】
また、パルスカウンタボード40は、機能モジュールとして、カウントレジスタ41、最大値レジスタ42及び最小値レジスタ43を含んで構成される。これらの機能モジュールは、パルスカウンタボード40の機能を便宜上複数のモジュールに区切ったものに過ぎず、パルスカウンタボード40を構成するハードウェアがこのようなモジュールに分かれていることを必ずしも意味するものではない。各機能モジュールは、プログラムの実行により実現されるものに限られず、専用の電気回路(例えば論理回路)、又は、これを集積した集積回路により実現されるものであってもよい。
【0027】
まず、パルスカウンタボード40の各部について説明する。パルスカウンタボード40のカウントレジスタ41は、サーボモータ14から取得するパルス信号を取得する機能を有する。サーボモータ14では、ブロック(すなわち、ステージ13及びワークW)の位置に対応したパルス信号を定期的に発信する。位置に対応したパルス信号とは、Z軸方向に沿ったブロックの経路上において、ブロックの一定の移動量毎にON/OFFが切り替えられるパルス列を有する信号である。パルスカウンタボード40のカウントレジスタ41では、サーボモータ14からのパルス信号におけるパルス列をカウントすることで、ブロックの位置を把握することができる。ブロックが移動することにより発生するパルスをカウントレジスタ41でモニタすることで、ブロックの位置を把握することができる。このように、カウントレジスタ41では、このサーボモータ14から発信されるパルス信号を継続して取得することで、ブロックの位置に係る情報を取得する。
【0028】
最大値レジスタ42は、カウントレジスタ41で取得するパルス信号に基づいて把握されるブロックの移動位置の最大値を記録する機能を有する。また、最小値レジスタ43は、カウントレジスタ41で取得するパルス信号に基づいて把握されるブロックの移動位置の最小値を記録する機能を有する。最大値レジスタ42及び最小値レジスタ43は、パルス信号に基づいて把握されるブロックの移動位置の極値を記録するピークレジスタとしての機能を有する。
【0029】
上述のようにブロックの位置の変化に応じて発信されるパルス信号に基づいて、カウントレジスタ41ではブロックの位置を把握する。このとき、カウントレジスタ41では、ブロックの位置を数値として管理している。したがって、カウントレジスタ41では、ブロックの位置に対応した数値を把握していることになる。ここで、ブロックが移動すると、カウントレジスタ41が把握しているブロックの位置に対応した数値が変化する。ブロックがZ軸に沿って往復移動している場合、ブロックの進行方向が逆転する直前のブロックの位置では、パルス信号から求められるブロックの位置に応じた数値は極値(極大値または極小値)を示すことになる。最大値レジスタ42及び最小値レジスタ43においてそれぞれパルス信号から求められるブロックの位置の極大値を取得することで、ブロックがどの位置まで移動して進行方向を変更したかを特定することができる。なお、詳細は後述するが、最大値レジスタ42及び最小値レジスタ43は、コントローラ30からの指令に基づいて定期的に保持している情報(極値)をコントローラ30に対して提供すると共に、保持している情報を定期的にリセットする。これによって、最大値レジスタ42及び最小値レジスタ43は、繰り返し往復移動するブロックが進行方向を変更した位置を細かく記録することができる。
【0030】
次に、コントローラ30の各部について説明する。コントローラ30のカウンタ制御部31は、パルスカウンタボード40を制御する機能を有する。カウンタ制御部31は、パルスカウンタボード40に対して制御信号を送信し、パルスカウンタボード40のカウントレジスタ41、最大値レジスタ42及び最小値レジスタ43からの信号を取得する。
【0031】
カウント情報取得部32は、カウントレジスタ41において記録した情報を取得する機能を有する。カウントレジスタ41からの情報をカウント情報取得部32において取得することコントローラ30ではブロックがどのような位置を移動しているかを概略把握することができる。
【0032】
ピーク情報取得部33は、最大値レジスタ42及び最小値レジスタ43において保持される極値に係る情報を取得する機能を有する。これにより、ピーク情報取得部33においても、繰り返し往復移動するブロックが進行方向を変更した位置を把握することができる。
【0033】
駆動条件補正部34は、ピーク情報取得部33において取得した情報に基づいて、サーボモータ14に対する駆動指示に係る条件の補正を行う。コントローラ30は、サーボモータ14に対して所定位置間(例えば、
図2に示す点A−点B間)でのブロックの往復移動を行うように駆動指令を出す。しかしながら、ピーク情報取得部33において取得した情報から、ブロックが実際に進行方向を変更した位置が点Aまたは点Bとは異なる位置であることが把握される場合がある。この場合、駆動条件補正部34は、サーボモータ14に対する駆動指令の内容を変更することで、所定の位置(点Aまたは点B)で移動方向を変更するように制御する。
【0034】
駆動指示部35は、駆動条件補正部34において補正された駆動条件に基づいてサーボモータ14に対して駆動指令を出す機能を有する。補正された駆動指令がコントローラ30から出された場合、サーボモータ14は補正後の駆動指令に基づいた動作に動作内容を変更する。
【0035】
出力部36は、コントローラ30が保持する情報を出力する機能を有する。出力部36が出力する情報は特に限定されないが、例えば、パルスカウンタボード40から取得した情報に基づくブロックの位置に係る情報、加工ユニット20による加工の進行状況等が挙げられる。
【0036】
記憶部37は、コントローラ30が取得した情報等を保持する機能を有する。記憶部37において保持する情報とは、例えば、サーボモータ14及び駆動機構23に対して出す駆動指令に関する情報、パルスカウンタボード40から取得した情報等が挙げられる。
【0037】
コントローラ30のハードウェアは、例えば一つ又は複数の制御用のコンピュータにより構成されていてもよい。コントローラ30は、ハードウェア上の構成として、例えば
図4に示される回路301を含んでいてもよい。回路301は、電気回路要素(circuitry)で構成されていてもよい。回路301は、具体的には、プロセッサ302(制御部)と、メモリ303(記憶部)と、ストレージ304(記憶部)と、入出力ポート305とを含む。プロセッサ302は、メモリ303及びストレージ304の少なくとも一方と協働してプログラムを実行し、入出力ポート305を介した信号の入出力を実行することで、上述した各機能モジュールを構成する。入出力ポート305は、プロセッサ302、メモリ303及びストレージ304と、加工装置1の各部との間で、信号の入出力を行う。
【0038】
加工装置1は、例えば、一つのコントローラ30を備えていてもよいし、複数のコントローラ30で構成されるコントローラ群(制御部)を備えていてもよい。加工装置1がコントローラ群を備えている場合には、上記の機能モジュールがそれぞれ、一つ又は複数のコントローラ30によって実現されていてもよい。コントローラ30が複数のコンピュータ(回路301)で構成されている場合には、上記の機能モジュールがそれぞれ、一つ又は複数のコンピュータ(回路301)によって実現されていてもよい。コントローラ30が複数のプロセッサ302を含んでいる場合には、上記の機能モジュールがそれぞれ、一つ又は複数のプロセッサ302によって実現されていてもよい。
【0039】
[加工方法]
次に、
図5及び
図6を参照して、加工装置1においてワークWを加工する際にワークWを載置したステージ13(及びステージ13を支持するブロック)の移動方法について説明する。
図5は、コントローラ30によるサーボモータ14及びパルスカウンタボード40に係る制御の手順を示すフロー図である。また、
図6は、Z軸に沿ったステージ13(ブロック)の移動を模式的に示す図である。なお、
図6では、矢印L1〜L5がブロックの移動を示していて、ブロックは矢印L1〜L5に対応した移動をするとする。実際にはブロックはレール12a(
図1参照)に沿った一軸での往復運動をしているが、
図6ではブロックの移動について細かく説明するために、矢印L1〜L5をずらして示している。
【0040】
まず、作業者又はロボットが少なくとも1つのワークWをステージ13に載置した後に、コントローラ30の駆動指示部35がサーボモータ14に対して駆動指令を出すことで、ガイド機構12を動作させてステージ13を保持するブロックの往復運動を開始させる(S01)。このとき、駆動指示部35は予め記憶部37に保持された駆動条件に基づいてサーボモータ14に対して駆動指令を出す。サーボモータ14に対する駆動指令とは、例えば、
図6に示すように、スタート地点Stからまず点Bへ向かって(Z軸正方向へ)移動し、点Bで進行方向を変更(反転)した後、点Aへ向かって(Z軸負方向へ)移動し、点Aで進行方向を変更(反転)し、点Bへ向かうという動作によって点A−点B間の移動を繰り返すというものである。また、駆動条件としては、ブロックの移動速度、点A、点Bにおいてブロックが進行方向を変更するためにサーボモータ14が回転方向を変更する条件を指定する情報等が挙げられる。このように、駆動指令には、移動方向を変更する位置を指定する情報(また、それを実現するための情報)が含まれる。なお、点A及び点Bを指定することで、点A及び点Bの中間点である点C(
図6参照)を特定することもできる。
【0041】
ブロックの往復運動を開始させると、コントローラ30のカウンタ制御部31は、パルスカウンタボード40に対して動作の開始を指示する。これにより、パルスカウンタボード40では、カウントレジスタ41におけるパルス信号の受信及びコントローラ30への信号の送信と、最大値レジスタ42及び最小値レジスタ43での極値の記録と、が開始される。
【0042】
コントローラ30は、カウント情報取得部32において取得する情報から、ブロックの位置を把握する。ここで、ブロックがスタート地点Stから移動を開始し最初に中間点Cに到達したことを確認すると、パルスカウンタボード40に対してピークレジスタのリセットを指示する(S02)。
【0043】
具体的には、
図6に示すように、スタート地点Stからブロックが矢印L1に示す移動を開始したとする。ここで、カウント情報取得部32において取得する情報から、コントローラ30が、ブロックが最初に中間点T1を通過したことを把握すると、パルスカウンタボード40に対してピークレジスタである最大値レジスタ42及び最小値レジスタ43のリセットを指示する。これにより、最大値レジスタ42及び最小値レジスタ43が保持している情報が消去され、その後の極値の記録が行われる。最大値レジスタ42及び最小値レジスタ43では、カウントレジスタ41において算出された、パルス信号に基づいたブロックの位置を示す数値の最大値及び最小値の記録を行う。
【0044】
ブロックは矢印L1に沿ってZ軸正方向へ移動した後、当初の駆動条件に基づいた所定の位置で進行方向を変更する。
図6に示す例では、コントローラ30からの駆動指令では点Bにおいて進行方向をZ軸負方向に変更することが指示されていたとする。しかしながら実際には、点B’でブロックの進行方向が変更されて矢印L2に沿った移動を開始したとする。矢印L1,L2に沿ってブロックが移動した場合、最大値レジスタ42では、サーボモータ14からのパルス信号に基づいて、矢印L1に沿った移動から矢印L2に沿った移動に変更された点B’に対応する数値が、ブロックの位置を示す数値の最大値として記録される。
【0045】
その後、ブロックは矢印L2に沿ってZ軸負方向へ移動し、中間点T2を通過する。カウント情報取得部32において取得する情報から、コントローラ30が、ブロックが中間点(ここでは、中間点T2)を通過したことを把握する(S03−YES)と、パルスカウンタボード40に対してピークレジスタである最大値レジスタ42及び最小値レジスタ43において保持される情報の読み出しを指示し、ピーク情報取得部33が最大値レジスタ42及び最小値レジスタ43からの情報を取得する(S04)。
【0046】
このとき、最大値レジスタ42には、点B’に対応する数値が記録されている。一方、最小値レジスタ43には、中間点T1(=中間点C)に対応する数値が記録されている。したがって、ピーク情報取得部33は、2つのレジスタから情報を取得することで、点B’でブロックが進行方向を変更したことを把握することができる。
【0047】
なお、ピークレジスタの読み出し(S04)を行った後に、コントローラ30のカウンタ制御部31は、パルスカウンタボード40に対してピークレジスタである最大値レジスタ42及び最小値レジスタ43のリセットを指示する(S05)。これにより、最大値レジスタ42及び最小値レジスタ43が保持している情報が消去され、その後の極値の記録が行われる。
【0048】
コントローラ30では、パルスカウンタボード40から取得した情報に基づいて、駆動条件で指示した点Bと、実際にブロックが進行方向を変更した点B’とが一致しないことを認識することができる。したがって、コントローラ30の駆動条件補正部34では、ブロックが実際に点Bで進行方向を変更することができるように、目標位置の補正を行う(S06)。
図6に示す例では、点Bで進行位置を変更するように駆動条件を設定していた結果、点B’までしかブロックが移動しなかったことになる。すなわち、駆動条件と比べてブロックが実際に移動する距離が短くなっていることになる。したがって、点Bよりも中間点Cから遠い点B
Tでブロックが進行方向を変更するように駆動条件を補正すると、ブロックを点Bまで移動させることが可能となると考えられる。コントローラ30では上記の手法で駆動条件を変更し、点Bでブロックが進行方向を変更するように補正を行う。そして、駆動条件の補正が完了したら、コントローラ30の駆動指示部35からサーボモータ14に対して駆動条件を変更して動作を継続するように駆動指令を行う(S07)。これにより、サーボモータ14では更新された駆動条件に基づいた動作を行うことになる。
【0049】
コントローラ30からサーボモータ14への駆動指令は、次にブロックが中間点に到達するまでに行われる。すなわち、ブロックが矢印L2に沿ってZ軸負方向へ移動し、点A’で進行方向を変更した後矢印L3に沿ってZ軸正方向へ移動して中間点T3に到達するまでに、上記のピークレジスタの読み出し(S04)〜駆動指令(S07)の一連の処理が行われる。そして、往復運動が終了しない(S08→NO)場合には、再びブロックが中間点へ到達したことを検知すると(S03→YES)、一連の動作(S04〜S07)を行う。
【0050】
ブロックが中間点T3へ到達したときには、コントローラ30では、パルスカウンタボード40から取得した情報に基づいて、駆動条件で指示した点Aと、実際にブロックが進行方向を変更した点A’とが一致しないことを認識することができる。したがって、ブロックが中間点T3を通過した後の一連の動作(S04〜S07)では、点Aに向かうブロックの目標位置を点A
Tへ変更するための動作が行われる。その結果は、ブロックが矢印L3及び矢印L4に沿って移動して中間点T4へ到達するまでに、コントローラ30からサーボモータ14へ変更後の駆動指令として伝達される。
【0051】
また、ブロックが中間点T3を通過した段階では、最大値レジスタ42には中間点T2(=中間点C)に対応する数値が記録されているのに対して、最小値レジスタ43には点A’に対応する数値が記録されている。このように、中間点をブロックが通過する度にコントローラ30がピークレジスタの読み出し(S04)を行った場合、一方のレジスタからの情報には中間点に対応する情報が含まれ、他方のレジスタからの情報にはブロックが進行方向を変更した位置を特定する情報が含まれることになる。したがって、コントローラ30では、ブロックの移動方向を特定しなくても、2つのレジスタからの情報を参照することで、点A、点Bのうち補正を行う対象となる点を特定することができる。ただし、コントローラ30において中間点を通過する際のブロックの移動方向を把握しておき、2つのピークレジスタから読み出した情報のうちブロックの移動方向に応じて補正を行う対象となる情報を選択する構成としてもよい。
【0052】
なお、目標位置の補正を行う(S06)際に、目標位置(点Aに対応する点A
T、点Bに対応する点B
T)をどのように補正するかは適宜変更することができる。例えば、ブロック(ステージ13及びワークW)の往復運動の開始から所定の期間(例えば、ブロックがレール12a上を10往復するまで、等)と、所定の期間以降とでは、補正の内容を変更することができる。一例としては、往復運動の開始から所定の期間の第1の期間では、第1の段階として、駆動条件で指示した点Aと、実際にブロックが進行方向を変更した点A’との差分を目標位置(点A
T)の設定に反映させることが考えられる。駆動条件で指示した点Aと、実際にブロックが進行方向を変更した点A’が一致しておらず、点A’が点Aよりも中間点C寄りになっている場合には、目標位置(点A
T)を点Aと点A’との差分に対応した長さだけ点Aよりも遠方に設定することが考えられる。このような構成とすることで、補正後の駆動条件では、点Aよりも遠方の目標位置(点A
T)へ向けてブロックを移動するため、点A’よりも点Aに近付いた位置までブロックを移動させることができる。一方、第1の期間よりも後の第2の期間では、第2の段階として、直前のブロックの移動において駆動条件で指示した点Aと実際にブロックが進行方向を変更した点A’との差分をそのまま目標位置(点A
T)の変更に反映するのではなく、直前の移動を含む直近の数回のブロックの移動において駆動条件で指示した進路を変更する点と実際にブロックが進路を変更した点との差分を考慮して次回の目標位置の補正を行うことが考えられる。具体的には、直近の10回の移動におけるおいて移動方向を変更した位置(反転位置)の平均値を算出し、目標位置(点A
T)をこの平均値と点Aとの差分に対応した長さだけ点Aから移動させることが考えられる。ただし、上記は一例であり、上記の方法に限定されるものではない。第1の期間と比べて第2の期間では、ブロック(ステージ13)の往復移動を開始してからの時間が長くなり、サーボモータ14の駆動が安定することが考えられる。したがって、上記のようにコントローラ30による駆動条件の補正の手法を変更することで、より安定した動作を実現することが可能となると考えられる。
【0053】
[作用]
上記の実施形態で説明した加工装置1及び加工方法によれば、加工対象のワークWを載置可能であって、移動機構であるサーボモータ14及びガイド機構12によって移動するステージ13の位置に係る情報を、パルスカウンタボード40において取得する。特に、パルスカウンタボード40では、ステージ13の移動経路のうちの一方の端部で移動方向を変更した位置(点A’または点B’)に係る情報を取得する。そして、制御部としてのコントローラ30では、上記のパルスカウンタボード40において取得されたステージ13が移動方向を変更した位置に係る情報と、コントローラ30からサーボモータ14に対して出される駆動指令に含まれる当該端部において移動方向を変更する位置(点Aまたは点B)を指定する情報とを比較し、その結果に基づいて駆動指令に含まれる情報を補正する。上記の加工装置1及び加工方法によれば、上記の構成を有することで、往復移動するステージ13について移動方向の反転位置の精度を高めることができる。
【0054】
従来から加工装置では、ステージを往復移動させながらのワークの加工が行われている。この場合、ステージの反転位置は制御部によって制御されるが、特にステージを高速移動させた場合には反転位置が駆動指令で指定した位置からずれてしまう場合がある。このような事象が起きる原因としては、ワークを支持したステージがそれなりの重量(数十kg〜数百kg程度)となっていることが考えられる。サーボモータ等により移動機構を構成する場合、重量物であるステージを高速移動させると、サーボ剛性を超える負荷がサーボモータにかかる場合がある。この場合、サーボ遅れによって反転位置の制御を精度良く行うことができなくなる場合がある。
【0055】
これに対して、上記の加工装置1及び加工方法によれば、ステージ13が移動方向を変更した位置に係る情報を取得し、その情報とコントローラ30からサーボモータ14への駆動指令に含まれる情報とを比較して、その結果に基づいて駆動指令に含まれる情報を補正する。このような構成とすることで、当初の駆動指令において指定された位置での反転が適切に行えない場合であっても、その状況を考慮して駆動指令を補正することができるため、反転位置を精度良く制御することができる。
【0056】
また、上記実施形態で説明したように、ステージ13の移動経路のうちの両方の端部で移動方向を変更した位置(点A’及び点B’)に係る情報を取得し、コントローラ30からサーボモータ14に対して出される駆動指令に含まれる当該端部において移動方向を変更する位置(点A及び点B)を指定する情報と比較して駆動指令を補正する態様としてもよい。このような構成とすることで、往復移動するステージ13の反転位置を両方の端部で精度良く制御することができる。なお、一方の端部においてのみ反転位置を精度良く制御することが求められる場合には、上記実施形態で説明した手法に代えて、一方の端部についてのみ駆動指令を補正する態様としてもよい。
【0057】
また、上記の反転位置の制御を実現する構成として、移動機構は、所定の方向に沿ったステージの移動に応じたパルス信号を位置情報取得部に対して送信し、位置情報取得部は、移動機構からのパルス信号を取得に基づいて、ブロックの位置に対応する数値を記録するカウントレジスタ41と、ブロックの位置に対応する数値の極値を取得するピークレジスタ(最大値レジスタ42及び最小値レジスタ43)と、を有し、ピークレジスタにおいて取得される極値に係る情報をステージが移動方向を変更した位置に係る情報として取り扱う構成としてもよい。上記のように、サーボモータ14が移動機構として用いられている場合、ステージ13(を支持するブロック)の位置に係るパルス信号が発振される。したがって、このパルス信号を利用してステージ13の反転位置に係る情報を取得する構成としてもよい。
【0058】
また、コントローラ30(制御部)による補正は、直近の移動においてステージ13が移動方向を変更した位置に係る情報と、駆動指令に含まれる当該端部において移動方向を変更する位置を指定する情報と、の差分を、当該端部での移動方向を変更する位置を指定する情報における補正量とする第1の段階と、直近の複数回の移動における、ステージ13が移動方向を変更した位置に係る情報と、駆動指令に含まれる当該端部において移動方向を変更する位置を指定する情報と、の差分から、当該端部での移動方向を変更する位置を指定する情報における補正量を算出する第2の段階と、を含んでもよい。このような構成とすることで、移動機構によるステージ13の移動がある程度安定した状況では第2の段階を採用してゆるやかに反転位置の調整を行う構成とすることができる。また、このような構成とすることで、例えば、第2の段階では、振動等の何らかの影響を受けて反転位置が1回のみ変化した際に、この局所的な変化が駆動指令の補正に反映されることを防ぐことができる。
【0059】
また、上記実施形態では、位置情報取得部としてのパルスカウンタボード40では、ステージの移動経路の中間点をステージ13が通過する度に、ステージ13が移動方向を変更した位置に係る情報を取得し、制御部としてのコントローラ30では、往復移動するステージ13が中間点を次に通過するまでに、駆動指令に含まれる移動機構に対して送信する移動方向を変更する位置を指定する情報を補正し、駆動指示を行う。このような構成とすることで、往復移動するステージ13が次にその端部に到達する際には、補正された駆動指令に基づいた動作を行うことができる。すなわち、駆動指令の補正及びその補正内容に基づく制御をリアルタイムで行うことができるため、反転位置を速やかに補正できる。
【0060】
[変形例]
以上、本開示に係る実施形態について詳細に説明したが、特許請求の範囲及びその要旨を逸脱しない範囲で種々の変形を上記の実施形態に加えてもよい。
【0061】
例えば、上記実施形態で説明した加工装置の構成は一例であり、ステージ13の移動機構の構成、駆動させるためのモータ等は適宜変更することができる。
【0062】
また、パルスカウンタボード40で保持している情報をコントローラ30が取得するタイミング、取得する情報の種類、コントローラ30からサーボモータ14への補正後の駆動指令を送信するタイミング等は適宜変更することができる。
【0063】
例えば、上記実施形態では、中間点をステージ13(ブロック)が通過する度にパルスカウンタボード40の最大値レジスタ42及び最小値レジスタ43において保持される情報の読み出しを行い、コントローラ30において最大値レジスタ42及び最小値レジスタ43から取得した情報のどちらに基づいて駆動指令を補正するかを判断する場合について説明した。しかしながら、上記の手法に代えて、例えば、中間点をステージ13(ブロック)が通過する度に、ステージ13(ブロック)の移動方向に基づいて最大値レジスタ42及び最小値レジスタ43のいずれか一方からの情報の読み出しを行う構成としてもよい。すなわち、ステージ13(ブロック)の移動方向に基づいて、コントローラ30が読み出すべきピークレジスタを特定し、特定されたレジスタからのみ情報を読み出す構成としてもよい。また、補正した駆動指令をサーボモータ14に対して送信するタイミング等も、適宜変更することができる。例えば、上記実施形態では、ステージ13(ブロック)が中間点を通過する度に、ピークレジスタにおいて保持する情報の読み出し及び駆動条件の補正を行う場合について説明したが、例えば、ステージ13が所定の方向で移動しながら、ステージ13(ブロック)が中間点を通過する場合のみに一連の処理を行う構成としてもよい。
【0064】
また、上記実施形態では、ステージ13の位置を取得するための構成としてパルスカウンタボード40が用いられる場合について説明したが、パルスカウンタボード40を用いない構成であってもよい。すなわち、加工装置では、ステージ13がどの位置で反転したかを特定するための構成を有していればよく、その構成は例えば、カメラによる撮像を利用する構成等、適宜変更することができる。
【0065】
[付記]
なお、上述した具体例は、以下の構成を含んでいる。
【0066】
本開示の一形態に係る加工装置は、加工対象のワークを載置可能なステージと、前記ステージを所定の方向に沿って往復移動させる移動機構と、前記ステージの位置に係る情報を取得する位置情報取得部と、前記移動機構に対して前記ステージの往復移動に係る駆動指令を送信する制御部と、を有する加工装置であって、前記位置情報取得部は、前記ステージの移動経路のうちの一方の端部で移動方向を変更した位置に係る情報を取得し、前記制御部は、前記位置情報取得部が取得した前記一方の端部において前記ステージが前記移動方向を変更した位置に係る情報と、前記駆動指令に含まれる当該端部において移動方向を変更する位置を指定する情報とを比較し、その結果に基づいて前記駆動指令に含まれる前記移動機構に対して送信する当該端部での移動方向を変更する位置を指定する情報を補正する。
【0067】
前記位置情報取得部は、前記ステージの移動経路のうちの両方の端部において移動方向を変更した位置に係る情報を取得し、前記制御部は、前記位置情報取得部が取得した前記両方の端部のそれぞれにおいて前記ステージが前記移動方向を変更した位置に係る情報と、前記駆動指令に含まれる前記両方の端部のそれぞれにおける移動方向を変更する位置を指定する情報とを比較し、その結果に基づいて前記駆動指令に含まれる前記移動機構に対して送信する移動方向を変更する位置を指定する情報を補正し、駆動指示を行う態様とすることができる。
【0068】
前記移動機構は、前記所定の方向に沿った前記ステージの移動に応じたパルス信号を前記位置情報取得部に対して送信し、前記位置情報取得部は、前記移動機構からの前記パルス信号を取得し前記ステージの位置に応じた数値を記録するカウントレジスタと、前記ステージの位置に応じた数値の極値を取得するピークレジスタと、を有し、前記ピークレジスタにおいて取得される極値に係る情報を前記ステージが前記移動方向を変更した位置に係る情報として取り扱う態様とすることができる。
【0069】
前記制御部による補正は、前記位置情報取得部が取得した直近の移動において前記ステージが前記移動方向を変更した位置に係る情報と、前記駆動指令に含まれる当該端部において移動方向を変更する位置を指定する情報と、の差分を、当該端部での移動方向を変更する位置を指定する情報における補正量とする第1の段階と、前記位置情報取得部が取得した情報に基づいて特定される直近の複数回の移動における、前記ステージが前記移動方向を変更した位置に係る情報と、前記駆動指令に含まれる当該端部において移動方向を変更する位置を指定する情報と、の差分から、当該端部での移動方向を変更する位置を指定する情報における補正量を算出する第2の段階と、を含む態様とすることができる。
【0070】
前記位置情報取得部は、前記ステージの移動経路の中間点を前記ステージが通過する度に、前記ステージが移動方向を変更した位置に係る情報を取得し、前記制御部は、前記ステージの移動経路の中間点を前記ステージが次に通過するまでに、前記駆動指令に含まれる前記移動機構に対して送信する移動方向を変更する位置を指定する情報を補正し、駆動指示を行う態様とすることができる。
【0071】
本開示の一形態に係る加工方法は、加工対象のワークが載置されたステージを移動機構によって所定の方向に沿って往復移動させる加工装置における加工方法であって、前記ステージの移動経路のうちの一方の端部で移動方向を変更した位置に係る情報を取得することと、取得した前記一方の端部において前記ステージが前記移動方向を変更した位置に係る情報と、駆動指令に含まれる当該端部において移動方向を変更する位置を指定する情報とを比較し、その結果に基づいて前記駆動指令に含まれる当該端部での移動方向を変更する位置を指定する情報を補正する態様とすることができる。