(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023151738
(43)【公開日】2023-10-16
(54)【発明の名称】制御装置、制御システムおよび制御方法
(51)【国際特許分類】
G05D 3/12 20060101AFI20231005BHJP
【FI】
G05D3/12 305B
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022061535
(22)【出願日】2022-04-01
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】西村 智博
【テーマコード(参考)】
5H303
【Fターム(参考)】
5H303AA01
5H303BB07
5H303CC01
5H303DD01
5H303FF09
5H303GG11
5H303HH04
5H303KK22
5H303LL09
(57)【要約】
【課題】より精緻な制御が可能な制御装置などを提供する。
【解決手段】アクチュエータを制御する制御装置は、第1クロックが示す第1タイミングで、新たな距離指令値を取得して最新値として格納するとともに、直前の最新値を前回値として格納する記憶部と、距離指令値の最新値および前回値と、第1クロックの1周期内の第2クロックの数とに基づいて、距離傾きを算出する第1算出部と、第2クロックが示す第2タイミングで、距離指令値の前回値に距離傾きを順次加算することで、距離補間値を算出する第2算出部と、距離補間値が目標距離に到達すると当該目標距離に対応する指令を出力する指令生成部と、第1クロックの1周期内で発生した第2クロックの数が予め定められた設定値に到達すると、第1クロックの次の周期が到来するまで第2クロックの出力を停止するクロック制御部とを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
アクチュエータを制御する制御装置であって、
第1クロックが示す第1タイミングで、新たな距離指令値を取得して最新値として格納するとともに、直前の最新値を前回値として格納する記憶部と、
第2クロックを発生する第2クロック発生部と、
前記距離指令値の前記最新値および前記前回値と、前記第1クロックの1周期内の前記第2クロックの数とに基づいて、距離傾きを算出する第1算出部と、
前記第2クロックが示す第2タイミングで、前記距離指令値の前記前回値に前記距離傾きを順次加算することで、距離補間値を算出する第2算出部と、
前記距離補間値が目標距離に到達すると当該目標距離に対応する第1指令を出力する第1指令生成部と、
前記第1クロックの1周期内で発生した前記第2クロックの数が予め定められた設定値に到達すると、前記第1クロックの次の周期が到来するまで前記第2クロックの出力を停止するクロック制御部とを備える、制御装置。
【請求項2】
前記第1クロックの1周期内で発生した前記第2クロックの数を計測する計測部をさらに備える、請求項1に記載の制御装置。
【請求項3】
前記第1クロックの1周期内で発生した前記第2クロックの数は、予め定められた固定値である、請求項1に記載の制御装置。
【請求項4】
前記第1クロックの周期は、前記第2クロックの周期の整数倍に設定される、請求項1~3のいずれか1項に記載の制御装置。
【請求項5】
前記クロック制御部は、前記第1クロックが示す第3タイミングで、前記第2クロックの発生を開始する、請求項1~4のいずれか1項に記載の制御装置。
【請求項6】
指定された軌跡に従って、位置を指定するための第2指令を生成する第2指令生成部をさらに備える、請求項1~5のいずれか1項に記載の制御装置。
【請求項7】
前記第1指令生成部は、オンまたはオフの指示を指令として出力する、請求項1~6のいずれか1項に記載の制御装置。
【請求項8】
前記制御装置は、前記第1クロックの周期および前記第2クロックの周期の設定を受け付けるためのユーザインターフェイスを提供する、請求項1~7のいずれか1項に記載の制御装置。
【請求項9】
アクチュエータと、
前記アクチュエータを制御する制御装置とを備え、
前記制御装置は、
第1クロックが示す第1タイミングで、新たな距離指令値を取得して最新値として格納するとともに、直前の最新値を前回値として格納する記憶部と、
第2クロックを発生する第2クロック発生部と、
前記距離指令値の前記最新値および前記前回値と、前記第1クロックの1周期内の前記第2クロックの数とに基づいて、距離傾きを算出する第1算出部と、
前記第2クロックが示す第2タイミングで、前記距離指令値の前記前回値に前記距離傾きを順次加算することで、距離補間値を算出する第2算出部と、
前記距離補間値が目標距離に到達すると当該目標距離に対応する指令を出力する指令生成部と、
前記第1クロックの1周期内で発生した前記第2クロックの数が予め定められた設定値に到達すると、前記第1クロックの次の周期が到来するまで前記第2クロックの出力を停止するクロック制御部とを備える、制御システム。
【請求項10】
アクチュエータの制御方法であって、
第1クロックが示す第1タイミングで、新たな距離指令値を取得して最新値として格納するとともに、直前の最新値を前回値として格納するステップと、
前記距離指令値の前記最新値および前記前回値と、前記第1クロックの1周期内の第2クロックの数とに基づいて、距離傾きを算出するステップと、
前記第2クロックが示す第2タイミングで、前記距離指令値の前記前回値に前記距離傾きを順次加算することで、距離補間値を算出するステップと、
前記距離補間値が目標距離に到達すると当該目標距離に対応する指令を出力するステップと、
前記第1クロックの1周期内で発生した前記第2クロックの数が予め定められた設定値に到達すると、前記第1クロックの次の周期が到来するまで前記第2クロックの出力を停止するステップとを備える、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アクチュエータを制御する制御装置、当該制御装置を含む制御システム、ならびに、アクチュエータの制御方法に関する。
【背景技術】
【0002】
従来より、制御コードを用いた加工プログラムを用いてレーザ加工が行われている。例えば、特開平02-063692号公報(特許文献1)は、加工条件がパラメータとして定義されてレーザ発振器の出力や移動速度等を制御する技術を開示する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、より精緻な制御が可能な制御装置などを提供するものである。
【課題を解決するための手段】
【0005】
本発明の一例に従えば、アクチュエータを制御する制御装置が提供される。制御装置は、第1クロックが示す第1タイミングで、新たな距離指令値を取得して最新値として格納するとともに、直前の最新値を前回値として格納する記憶部と、第2クロックを発生する第2クロック発生部と、記距離指令値の最新値および前回値と、第1クロックの1周期内の第2クロックの数とに基づいて、距離傾きを算出する第1算出部と、第2クロックが示す第2タイミングで、距離指令値の前回値に距離傾きを順次加算することで、距離補間値を算出する第2算出部と、距離補間値が目標距離に到達すると当該目標距離に対応する第1指令を出力する第1指令生成部と、第1クロックの1周期内で発生した第2クロックの数が予め定められた設定値に到達すると、第1クロックの次の周期が到来するまで第2クロックの出力を停止するクロック制御部とを含む。
【0006】
この構成によれば、第2クロックが示す第2タイミングで距離補間値を順次算出することで、目標距離への到達の判断をより精緻に行うことができるとともに、第1クロックの1周期内で発生した第2クロックの数を設定値に制限するので、第1クロックにジッタが生じた場合であっても、距離補間値の算出への影響を抑制できる。
【0007】
制御装置は、第1クロックの1周期内で発生した第2クロックの数を計測する計測部をさらに含んでいてもよい。この構成によれば、第2クロックの数を計測するので、状況に応じて距離補間値を適切に算出できる。
【0008】
第1クロックの1周期内で発生した第2クロックの数は、予め定められた固定値であってもよい。この構成によれば、第2クロックの数が予め定められた固定値であるので、動作検証をより容易に行うことができる。
【0009】
第1クロックの周期は、第2クロックの周期の整数倍に設定されてもよい。この構成によれば、第1クロックの周期内において、距離補間値を均等なタイミングで算出できる。
【0010】
クロック制御部は、第1クロックが示す第3タイミングで、第2クロックの発生を開始するようにしてもよい。この構成によれば、第1クロックの周期がジッタにより長くなった場合であっても、次の周期では、予め定められたタイミングで第2クロックの発生を開始できる。
【0011】
制御装置は、指定された軌跡に従って、位置を指定するための第2指令を生成する第2指令生成部をさらに含んでいてもよい。この構成によれば、指定された軌跡に従って、アクチュエータなどの位置を制御できる。
【0012】
第1指令生成部は、オンまたはオフの指示を指令として出力するようにしてもよい。この構成によれば、目標距離に到達するタイミングで、アクチュエータのオンまたはオフを制御できる。
【0013】
制御装置は、第1クロックの周期および第2クロックの周期の設定を受け付けるためのユーザインターフェイスを提供するようにしてもよい。この構成によれば、ユーザは、ジッタに対する耐性および制御の精度を考慮して、第1クロックの周期および第2クロックの周期を設定できる。
【0014】
本発明の別の一例に従う制御システムは、アクチュエータと、アクチュエータを制御する制御装置とを含む。制御装置は、第1クロックが示す第1タイミングで、新たな距離指令値を取得して最新値として格納するとともに、直前の最新値を前回値として格納する記憶部と、第2クロックを発生する第2クロック発生部と、距離指令値の最新値および前回値と、第1クロックの1周期内の第2クロックの数とに基づいて、距離傾きを算出する第1算出部と、第2クロックが示す第2タイミングで、距離指令値の前回値に距離傾きを順次加算することで、距離補間値を算出する第2算出部と、距離補間値が目標距離に到達すると当該目標距離に対応する指令を出力する指令生成部と、第1クロックの1周期内で発生した第2クロックの数が予め定められた設定値に到達すると、第1クロックの次の周期が到来するまで第2クロックの出力を停止するクロック制御部とを含む。
【0015】
本発明のさらに別の一例に従えば、アクチュエータの制御方法が提供される。制御方法は、第1クロックが示す第1タイミングで、新たな距離指令値を取得して最新値として格納するとともに、直前の最新値を前回値として格納するステップと、距離指令値の最新値および前回値と、前記第1クロックの1周期内の第2クロックの数とに基づいて、距離傾きを算出するステップと、第2クロックが示す第2タイミングで、距離指令値の前回値に距離傾きを順次加算することで、距離補間値を算出するステップと、距離補間値が目標距離に到達すると当該目標距離に対応する指令を出力するステップと、第1クロックの1周期内で発生した第2クロックの数が予め定められた設定値に到達すると、第1クロックの次の周期が到来するまで第2クロックの出力を停止するステップとを含む。
【発明の効果】
【0016】
本発明によれば、より精緻な制御が可能な制御装置などを実現できる。
【図面の簡単な説明】
【0017】
【
図1】本実施の形態に従う制御システムの構成例を示す模式図である。
【
図2】本実施の形態に従う制御システムの主要なハードウェア構成例を示す模式図である。
【
図3】本実施の形態に従う制御システムの主制御ユニットの機能構成例を示す模式図である。
【
図4】本実施の形態に従う制御システムのレーザ制御ユニットの機能構成例を示す模式図である。
【
図5】本実施の形態に従う制御システムにおける距離傾きの算出およびレーザをオン/オフ制御を説明するための図である。
【
図6】本実施の形態に従う制御システムにおける動作例を示すタイムチャートである。
【
図7】本実施の形態に従う制御システムにおける補間クロック数の計測を説明するための図である。
【
図8】本実施の形態に従う制御システムにおいて同期クロックの周期が短くなる場合の動作例を示すタイムチャートである。
【
図9】本実施の形態に従う制御システムにおいて同期クロックの周期が長くなる場合の動作例を示すタイムチャートである。
【
図10】本実施の形態に従う制御システムのレーザ制御ユニットが実行するメイン処理の処理手順を示すフローチャートである。
【
図11】本実施の形態に従う制御システムのレーザ制御ユニットが実行する補間クロック数の計測処理の処理手順を示すフローチャートである。
【
図12】本実施の形態に従う制御システムの操作表示装置に表示されるユーザインターフェイス画面の一例を示す模式図である。
【発明を実施するための形態】
【0018】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0019】
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
【0020】
図1は、本実施の形態に従う制御システム1の構成例を示す模式図である。
図1には、典型例として、レーザ加工システムの例を示すが、本発明の適用先は、レーザ加工システムに限定されることなく、任意のアクチュエータを含むシステムに適用可能である。
【0021】
制御システム1は、XYステージ20上に配置されたワーク4に対して、穴あけ、切断、マーキングなどのレーザ加工を行う。より具体的には、制御システム1は、制御装置10と、XYステージ20と、レーザ30と、ガルバノミラー40とを含む。XYステージ20、レーザ30およびガルバノミラー40は、制御装置10が制御するアクチュエータの一例である。
【0022】
ワーク4に対するレーザ加工は、XYステージ20によるワーク位置の調整と、レーザ30が発生するレーザ光をガルバノミラー40による照射位置の調整とを組み合わせる。XYステージ20によるワーク4の位置調整については、変位量が相対的に大きく、かつ、応答時間が相対的に長い。これに対して、ガルバノミラー40による照射位置の調整については、変位量が相対的に小さく、かつ、応答時間が相対的に短い。
【0023】
制御装置10は、主制御ユニット100と、ステージ制御ユニット200と、レーザ制御ユニット300とを含む。
【0024】
主制御ユニット100は、アプリケーションプログラム110(
図2参照)を実行する演算部に相当する。アプリケーションプログラム110は、制御対象の機構およびワーク4などに応じて任意に作成される。主制御ユニット100がアプリケーションプログラム110を実行して得られる実行結果は、ステージ制御ユニット200およびレーザ制御ユニット300における制御信号の生成に用いられる。
【0025】
制御装置10には、ユーザ操作に応じて、制御装置10に対する指令を出力するとともに、制御装置10での演算結果を出力する操作表示装置400が接続されていてもよい。
【0026】
XYステージ20は、ワーク4が配置されるプレート22と、プレート22とを駆動するサーボモータ24-1およびサーボモータ24-2(以下、「サーボモータ24」と総称することもある。)とを含む。
図1に示す例では、サーボモータ24-1がプレート22をX軸方向に変位させ、サーボモータ24-2がプレート22をY軸方向に変位させる。
【0027】
サーボモータ24は、制御装置10により制御される。より具体的には、ステージ制御ユニット200は、制御線51を介して、サーボモータ24-1,24-2を駆動するサーボドライバ26-1,26-2(
図2参照)(以下、「サーボドライバ26」と総称することもある。)に対してサーボ指令信号510を出力する。また、ステージ制御ユニット200は、制御線52を介して、サーボドライバ26-1,26-2にそれぞれ接続されたエンコーダ28-1,28-2(以下、「エンコーダ28」と総称することもある。)からエンコーダ出力情報520を取得する。
【0028】
レーザ制御ユニット300は、制御線53を介して、レーザ30と接続されており、レーザ30に対して、オン/オフを指示するレーザ制御信号530を出力する。また、レーザ制御ユニット300は、通信線54を介して、ガルバノミラー40と接続されており、ガルバノミラー40に対して、照射位置を指示するミラー制御信号540を出力する。ガルバノミラー40は、X軸走査ミラー43と、Y軸走査ミラー45と、レンズ47とを含む。レーザ30から照射された光は、レンズ47、Y軸走査ミラー45、X軸走査ミラー43の順に伝搬して、XYステージ20上に投射される。
【0029】
X軸走査ミラー43は、X軸走査モータ42によって反射面の角度を調整され、Y軸走査ミラー45は、Y軸走査モータ44によって反射面の角度を調整される。レンズ47は、Z軸走査モータ46によって、レーザ30との相対距離を調整される。
【0030】
<B.制御システム1のハードウェア構成例>
次に、本実施の形態に従う制御システム1のハードウェア構成例について説明する。
【0031】
図2は、本実施の形態に従う制御システム1の主要なハードウェア構成例を示す模式図である。上述したように、制御装置10は、主制御ユニット100と、ステージ制御ユニット200と、レーザ制御ユニット300とを含む。
【0032】
主制御ユニット100は、主たるコンポーネントとして、プロセッサ102と、メインメモリ104と、ストレージ106と、バスコントローラ112とを含む。
【0033】
ストレージ106には、SSD(Solid State Disk)やフレッシュメモリなどで構成され、例えば、基本的なプログラム実行環境を提供するためのシステムプログラム108と、ワーク4に応じて任意に作成されるアプリケーションプログラム110とが格納される。
【0034】
プロセッサ102は、典型的には、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などで構成され、ストレージ106に格納されたシステムプログラム108およびアプリケーションプログラム110を読み出して、メインメモリ104に展開して実行することで、制御システム1の全体的な制御を実現する。
【0035】
主制御ユニット100は、内部バス114を介して、ステージ制御ユニット200およびレーザ制御ユニット300と電気的に接続されている。バスコントローラ112は、内部バス114によるデータ通信を仲介する。
【0036】
なお、プロセッサ102がプログラムを実行することで必要な処理が提供される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
【0037】
ステージ制御ユニット200は、サーボドライバ26-1,26-2に与えられるサーボ指令信号510を生成および出力する。より具体的には、ステージ制御ユニット200は、ステージ制御演算部210と、サーボインターフェイス回路230とを含む。
【0038】
ステージ制御演算部210は、主制御ユニット100がアプリケーションプログラム110を実行することで算出される演算値(指令値)に従って、サーボドライバ26-1,26-2に与えるべき指令を生成する。ステージ制御演算部210は、例えば、プロセッサ、ASIC、FPGAなどを用いて構成される演算回路によって実現される。
【0039】
サーボインターフェイス回路230は、主制御ユニット100からの指令に従って、サーボ指令信号510を出力する。サーボ指令信号510は、サーボドライバ26に対する制御毎の変位量、速度、角速度などの情報を含む。
【0040】
また、サーボインターフェイス回路230は、エンコーダ28の各々からエンコーダ出力情報520を取得する。エンコーダ出力情報520は、エンコーダ28が示す位置データを含む。なお、エンコーダ出力情報520は、周期的に送信されるフレームで伝送されてもよい。
【0041】
ステージ制御演算部210は、エンコーダ出力情報520に基づいて、サーボドライバ26の状態値(位置、速度、加速度など)を算出し、主制御ユニット100に出力する。ステージ制御演算部210は、ステージ制御演算部210は、主制御ユニット100、ステージ制御ユニット200およびレーザ制御ユニット300の間で同期を取るための同期クロック50を発生するクロック発生部220を含む。
【0042】
なお、ステージ制御演算部210およびサーボインターフェイス回路230を単一のASICまたはFPGAで実現してもよい。
【0043】
レーザ制御ユニット300は、レーザ30に与えられるレーザ制御信号530、および、ガルバノミラー40に与えられるレーザ制御信号530を生成および出力する。より具体的には、レーザ制御ユニット300は、レーザ/ミラー制御演算部310と、出力インターフェイス回路330と、通信インターフェイス回路340とを含む。
【0044】
レーザ/ミラー制御演算部310は、主制御ユニット100がアプリケーションプログラム110を実行することで算出される演算値(指令値)に従って、レーザ30およびガルバノミラー40に与えるべき指令を生成する。レーザ/ミラー制御演算部310は、例えば、プロセッサ、ASIC、FPGAなどを用いて構成される演算回路によって実現される。
【0045】
レーザ/ミラー制御演算部310は、レーザ制御信号530およびミラー制御信号540を生成する。
【0046】
出力インターフェイス回路330は、レーザ/ミラー制御演算部310によって生成された指令に従って、レーザ30に与えるレーザ制御信号530を出力する。
【0047】
通信インターフェイス回路340は、レーザ/ミラー制御演算部310によって生成された指令に従って、ガルバノミラー40に与えるミラー制御信号540を出力する。
【0048】
なお、レーザ/ミラー制御演算部310、出力インターフェイス回路330および通信インターフェイス回路340を単一のASICまたはFPGAで実現してもよい。
【0049】
<C.レーザのオン/オフ制御>
次に、本実施の形態に従う制御システム1がレーザ30に対するオン/オフを指示するレーザ制御信号530を出力する処理について説明する。
【0050】
図3は、本実施の形態に従う制御システム1の主制御ユニット100の機能構成例を示す模式図である。主制御ユニット100は、レーザ30の照射位置を目的の軌跡に沿って移動させるための演算処理を実行する。
【0051】
より具体的には、
図3を参照して、主制御ユニット100は、軌跡生成部130と、距離指令算出部132とを含む。
【0052】
軌跡生成部130は、1または複数の通過ポイントからなる通過ポイント列134に基づいて、レーザ30の照射位置についての軌跡を生成する。
【0053】
距離指令算出部132は、生成された軌跡に対応して、同期クロック50の周期毎に距離指令値を算出する。算出される距離指令値は、レーザ30のオン/オフなどを制御するための距離指令値350と、レーザ30の照射位置を指示する距離指令値352および354とを含む。距離指令値352は、X軸の照射位置(照射位置までのX軸上の移動距離)を示し、距離指令値354は、Y軸の照射位置(照射位置までのY軸上の移動距離)を示す。算出された距離指令値は、レーザ制御ユニット300へ出力される。
【0054】
距離指令値350は、1次元の値となっているが、2次元の値であってもよい。2次元の値を用いる場合には、距離指令値352および354と同様に、例えば、X軸およびY軸それぞれの移動距離を示す指令値が出力されてもよい。
【0055】
一方、距離指令値352および354は、合わせて2次元の値となっているが、距離指令値350と同様に、1次元の値としてもよい。但し、この場合には、1次元の移動距離に加えて、移動方向を示す情報を出力するようにしてもよい。
【0056】
また、説明の便宜上、
図3には、レーザ30の照射位置の制御に関する機能構成について示すが、主制御ユニット100は、XYステージ20によるワーク位置の制御に関する構成も有している。
【0057】
図4は、本実施の形態に従う制御システム1のレーザ制御ユニット300の機能構成例を示す模式図である。レーザ制御ユニット300は、主制御ユニット100からの距離指令値に基づいて、レーザ30の照射位置の指令(ミラー制御信号540)を生成するとともに、現在の距離を補間により算出(推定)することで、レーザ30のオン/オフの指令(レーザ制御信号530)を生成する。
【0058】
より具体的には、
図4を参照して、レーザ制御ユニット300(レーザ/ミラー制御演算部310)は、レジスタ311と、距離差分算出部312と、距離傾き算出部313と、距離補間部314と、比較部315と、補間クロック制御部317と補間クロック数カウンタ319と、位置指令生成部322とを含む。
【0059】
レジスタ311は、同期クロック50が示すタイミング(例えば、同期クロック50の立ち下がり)で、主制御ユニット100からの新たな距離指令値350を取得して最新値として格納するとともに、直前の最新値を前回値として格納する記憶部である。より具体的には、レジスタ311は、距離指令値350の最新値を格納するための最新値領域311Aと、前回値を格納するための前回値領域311Bとを含む。新たな距離指令値350が最新値領域311Aに格納される際には、最新値領域311Aに格納されていた値が前回値領域311Bに書き込まれる。すなわち、レジスタ311は、少なくとも直近2回分の距離指令値350を格納する。
【0060】
距離差分算出部312は、レジスタ311に格納されている距離指令値350の最新値と前回値との差分(距離差分)を算出する。
【0061】
距離傾き算出部313は、距離指令値350の最新値および前回値と、同期クロック50の1周期内の補間クロック60の数(補間クロック数)とに基づいて、距離傾きを算出する。すなわち、距離傾き算出部313は、距離差分を補間クロック数で除算することで、補間クロック1回分の距離傾きを算出する。一例として、補間クロック数としては、補間クロック60の計測値が用いられてもよい。
【0062】
距離補間部314は、補間クロック60が示すタイミング(例えば、補間クロック60の立ち上がり)で、距離指令値350の前回値に距離傾きを順次加算することで、距離補間値を算出する。すなわち、距離補間部314は、距離傾きに経過時間を乗じた値をレジスタ311に格納されている距離指令値350の前回値に順次加算することで、補間により算出された現在の距離(距離補間値)を算出する。
【0063】
比較部315は、算出された距離補間値が目標距離316に到達すると目標距離316に対応する指令(例えば、レーザ30のオンまたはオフの指示)を出力する。このように、比較部315は、距離補間値と目標距離316とを比較することで、レーザ30をオンまたはオフするタイミングであるか否かを判断する。比較部315は、レーザ30のオンまたはオフの指示を指令として出力する。
【0064】
なお、レーザ30をオンするための目標距離316、および、レーザ30をオフするための目標距離316といったように、複数の目標距離316が用意されてもよい。また、比較部315が生成した指令は、出力インターフェイス回路330を介して、レーザ制御信号530として出力される。
【0065】
補間クロック制御部317は、補間クロック60の発生を制御する。より具体的には、補間クロック制御部317は、補間クロック60を発生する補間クロック発生部318を有しており、同期クロック50の立ち上がり/立ち下がりなどのタイミングに応じて、補間クロック60の出力を開始/停止する。
【0066】
補間クロック数カウンタ319は、同期クロック50の周期を計測する。より具体的には、補間クロック数カウンタ319は、同期クロック50の1周期内で発生した補間クロック60の数を計測する。すなわち、補間クロック数カウンタ319は、距離差分算出部312が算出する距離差分から距離傾きを算出するための分母を算出する。
【0067】
位置指令生成部322は、指定された軌跡(
図3に示す軌跡生成部130が生成する軌跡)に従って、レーザ30の照射位置を指定するための指令(ミラー制御信号540)を生成する。位置指令生成部322は、主制御ユニット100からの距離指令値352および354に基づいて、アクチュエータの一例であるレーザ30に対する指令を生成する。位置指令生成部322は、レーザ30の照射位置を指令として出力するようにしてもよい。なお、位置指令生成部322が生成した指令は、通信インターフェイス回路340を介して、ミラー制御信号540として出力される。
【0068】
なお、位置指令生成部322は、距離指令値352および354の各々について、距離指令値350と同様の補間処理を行った上で、ミラー制御信号540を出力するようにしてもよい。すなわち、位置指令生成部322は、距離指令値352および354の各々について、レジスタ311、距離差分算出部312、距離傾き算出部313、距離補間部314、比較部315、補間クロック制御部317、および、補間クロック数カウンタ319と同様の構成を有していてもよい。
【0069】
図5は、本実施の形態に従う制御システム1における距離傾きの算出およびレーザをオン/オフ制御を説明するための図である。
【0070】
図5を参照して、同期クロック50の立ち下がりが示すタイミング(時刻t1,時刻t3,…)で距離指令値1がレジスタ311に格納される。例えば、時刻t1において格納される距離指令値2は、同期クロック50の2つ先の立ち上がりが示すタイミングである時刻t4までに移動すべき距離を意味する。時刻t1の直前に格納されていた距離指令値1は、同期クロック50の次の先の立ち上がりが示すタイミングである時刻t2までに移動すべき距離を意味する。
【0071】
時刻t2から時刻t4までの期間において、距離指令値1から距離指令値2まで移動するとした上で、線形補間することで、当該期間内の距離の変化(距離補間値)を算出できる。なお、距離補間の処理は、同期クロック50の立ち上がりが示すタイミング(時刻t2,時刻t4,…)毎にリセットされることになる。
【0072】
期間内において補間を行う数が補間クロック数に相当する。すなわち、補間クロック数は、隣接する期タイミング間の補間粒度を示す。
【0073】
なお、上述したような、推定された現在の距離と目標距離とを比較して、指令を生成する方法をTBC(Table Base Compare)方式とも称す。
【0074】
<D.動作例および生じ得る課題>
次に、本実施の形態に従う制御システム1の動作例および生じ得る課題について説明する。
【0075】
図6は、本実施の形態に従う制御システム1における動作例を示すタイムチャートである。
図6には、同期クロック50の1周期毎に距離指令値が1,000,000ずつ増加する例を示す。
【0076】
図6を参照して、主制御ユニット100は、距離指令値(例えば、1,000,000)を出力する(
図6の(1))。なお、レーザ制御ユニット300は、内部バス114を介して、主制御ユニット100が出力する距離指令値にアクセスするようにしてもよいし、主制御ユニット100がレーザ制御ユニット300の内部レジスタに距離指令値を書き込むようにしてもよい。
【0077】
同期クロック50の立ち下がりをトリガとして、レーザ制御ユニット300は、距離指令値をレジスタ311の最新値領域311Aに格納する(
図6の(2))。最新値領域311Aへの格納に先立って、レーザ制御ユニット300は、最新値領域311Aに格納されていた距離指令値を前回値領域311Bにコピーする(
図6の(3))。さらに、レーザ制御ユニット300は、距離指令値の最新値および前回値と、補間クロック数とに基づいて、距離傾きを算出する(
図6の(4))。
【0078】
距離傾き=(距離の変化量)/(時間の変化量)
={(距離指令値の最新値)-(距離指令値の前回値)}/(補間クロック数)
=(1,000,000-0)/500=2,000
続いて、同期クロック50の立ち上がりをトリガとして、レーザ制御ユニット300は、先に算出した距離傾きを補間処理用にセットし(
図6の(5))、距離指令値の前回値を距離補間値の初期値としてセットする(
図6の(6))。そして、レーザ制御ユニット300は、補間クロック毎に距離補間値を距離傾きずつインクリメントすることで、距離補間値を順次更新する。
【0079】
また、同期クロック50の立ち上がりをトリガとして、レーザ制御ユニット300は、補間クロック数を計測する(
図6の(7))。また、補間クロック数は、同期クロック50の立ち上がりで順次更新されることになる。
【0080】
以下、上述の(1)~(7)が繰り返される。
【0081】
ここで、同期クロック50にはジッタが生じ得る。同期クロック50に生じるジッタは、距離補間値の算出に影響を与え得る。以下、距離補間値の算出が影響を受ける理由について説明する。
【0082】
例えば、時刻t14から時刻t16までの期間において、ジッタにより同期クロック50の周期が短くなったとする(
図6の(8))。例えば、同期クロック50の本来の周期を50,000[ns]として、10[ns]だけ短くなったとする。補間クロック60の周期が100[ns]であるとすると、レーザ制御ユニット300が計測する補間クロック数は、本来の500ではなく、499となる(
図6の(9))。
【0083】
その結果、レーザ制御ユニット300が算出する距離傾きは以下のようになる(
図6の(10))。
【0084】
距離傾き=(距離の変化量)/(時間の変化量)
={(距離指令値の最新値)-(距離指令値の前回値)}/(補間クロック数)
=(4,000,000-3,000,000)/499=2,004
すなわち、本来の距離傾きは、2,000であるところ、同期クロック50のジッタにより、2,004と算出されている。
【0085】
続いて、同期クロック50の立ち上がりをトリガとして、レーザ制御ユニット300は、先に算出した距離傾きを補間処理用にセットし(
図6の(11))、距離指令値の前回値を距離補間値の初期値としてセットする(
図6の(12))。
【0086】
距離傾きが本来の値より大きいので、距離補間値は本来より早く増加することになる。その結果、時刻t18から時刻t20までの期間において、距離補間値は、本来の値より大きい値を示すことになる。そして、目標距離により早く到達することになり、レーザがオンするタイミングが早くなる(
図6の(13))。
【0087】
図6に示す例では、時刻t21でレーザをオンすべきところ、時刻t21’(=t21-Δt)でレーザがオンされることになる。
【0088】
このように、同期クロック50のジッタにより、距離補間値に誤差を生じ得る。そこで、本実施の形態に従う制御システム1においては、同期クロック50のジッタが生じても距離補間値に誤差を生じないように、補間クロック数カウンタ319が補間クロック数を計測する。以下、補間クロック数カウンタ319による補間クロック数の計測について詳述する。
【0089】
<E.補間クロック数カウンタ319による補間クロック数の計測>
次に、補間クロック数カウンタ319による補間クロック数の計測について説明する。本実施の形態においては、同期クロック50に同期して補間クロック60の発生を制御する。
【0090】
図7は、本実施の形態に従う制御システム1における補間クロック数の計測を説明するための図である。
【0091】
図7を参照して、同期クロック50の周期は、補間クロック60の周期の整数倍に設定される。
図7に示す例では、同期クロック50の周期は50,000[ns](周波数は20[kHz])であり、補間クロック60の周期は100[ns]である。なお、補間クロック60の周期は、任意に設定すればよいが、レーザ30のオン/オフ制御の分解能などを考慮して決定されることが好ましい。
【0092】
また、同期クロック50の周期は、補間クロック60の周期の整数倍であれば、どのような値であってもよい。同期クロック50の周期は、ユーザが任意に設定するようにしてもよい。例えば、同期クロック50の周期は、10,000[ns](周波数は100[kHz])~100,000[ns](周波数は10[kHz])の範囲で設定されてもよい。
【0093】
あるいは、同期クロック50の1周期中に含まれる補間クロック60の数を設定するようにしてもよい。この場合には、同期クロック50の周期を設定された補間クロック60の数で除算することで、補間クロック60の周期が決定される。例えば、同期クロック50の周期を50,000[ns]に設定した上で、補間クロック60の数を500に設定することで、補間クロック60の周期を100[ns]と決定できる。
【0094】
補間クロック60は、同期クロック50に生じ得るジッタを吸収できるように、デューティ比が可能な限り低く設定される。
図7に示す例では、同期クロック50のデューティ比は10%(オン期間:オフ期間=1:9)に設定されている。
【0095】
補間クロック制御部317は、同期クロック50の立ち上がりをトリガとして、補間クロック60の出力を開始する。その後、補間クロック制御部317は、同期クロック50の1周期(立ち上がりから次の立ち上がりまで)内で発生した補間クロック60の数が予め設定された設定値(補間クロック設定数)に到達すると、同期クロック50の次の周期(同期クロック50の立ち上がり)が到来するまで、補間クロック60の出力を停止する。
【0096】
また、補間クロック制御部317は、各周期の最後に出力する補間クロック(各周期において補間クロック設定数に到達する補間クロック)について、同期クロック50に生じるジッタに相当するΔtだけ周期を調整する。
【0097】
なお、最後に出力する補間クロック60の周期は、同期クロック50の次の立ち上がりのタイミングに依存して決定される。すなわち、補間クロック制御部317は、同期クロック50が示すタイミング(例えば、同期クロック50の立ち上がり)で、補間クロック60の発生を開始する。そのため、補間クロック60の周期は、同期クロック50の立ち上がりのタイミングにより、自動的に調整されてもよい。
【0098】
このように、同期クロック50の周期タイミング(例えば、同期クロック50の立ち上がり)に同期して、補間クロック60の出力を調整することで、計測される補間クロック60のクロック数のばらつきを抑制することで、距離補間値に生じ得る誤差を抑制して、レーザ30をオン/オフするタイミングが揺らぐ可能性を低減する。
【0099】
図8は、本実施の形態に従う制御システム1において同期クロック50の周期が短くなる場合の動作例を示すタイムチャートである。なお、
図8および
図9においては、補間クロック60の周期は100[ns]であり、デューティ比は10%(オン期間:オフ期間=1:9)であるとする。
【0100】
図8を参照して、同期クロック50の立ち上がりをトリガとして、補間クロック60の出力が開始される(時刻t31,t33,t35)。また、補間クロック数カウンタ319は、同期クロック50の立ち上がりをトリガとして計測値(補間クロック数)をリセットするとともに、出力された補間クロック60の数に応じて、計測値を順次インクリメントする。
【0101】
上述したように、同期クロック50の立ち上がりをトリガとして、距離傾きが算出され、同期クロック50の立ち上がりをトリガとして、算出された距離傾きに基づいて、距離補間値の算出が開始される。そして、算出された距離補間値が目標距離316に到達すると、レーザのオンまたはオフの指令が出力される。
【0102】
補間クロック数カウンタ319は、同期クロック50の直前の立ち上がりから出力した補間クロック60の数が予め設定された補間クロック設定数に到達しているか否かを判断し、補間クロック設定数に到達していなければ、補間クロック発生部318による補間クロック60の出力を継続する。
【0103】
時刻t33において、同期クロック50が立ち上がると、補間クロック制御部317は、同期クロック50をリセットするとともに、補間クロック発生部318による補間クロック60の出力を開始する。
【0104】
時刻t33から時刻t35においても、同様の処理が実行される。但し、時刻t33から時刻t35においては、同期クロック50の周期が10[ns]だけ短くなっている。
【0105】
時刻t35において、同期クロック50が立ち上がると、補間クロック制御部317は、同期クロック50をリセットするとともに、補間クロック発生部318による補間クロック60の出力を開始することになるが、同期クロック50の周期が短くなっているため、時刻t35の直前に出力された補間クロック60の周期は、本来の100[ns]から90[ns]に調整されることになる。
【0106】
図9は、本実施の形態に従う制御システム1において同期クロック50の周期が長くなる場合の動作例を示すタイムチャートである。
【0107】
図9を参照して、同期クロック50の立ち上がりをトリガとして、補間クロック60の出力が開始される(時刻t41,t43,t45)。また、補間クロック数カウンタ319は、同期クロック50の立ち上がりをトリガとしてリセットされるとともに、出力された補間クロック60の数に応じて順次インクリメントされる。
【0108】
上述したように、同期クロック50の立ち上がりをトリガとして、距離傾きが算出され、同期クロック50の立ち上がりをトリガとして、算出された距離傾きに基づいて、距離補間値の算出が開始される。そして、算出された距離補間値が目標距離316に到達すると、レーザのオンまたはオフの指令が出力される。
【0109】
補間クロック制御部317は、同期クロック50の直前の立ち上がりから出力した補間クロック60の数が予め設定された補間クロック設定数に到達しているか否かを判断し、補間クロック設定数に到達していなければ、補間クロック発生部318による補間クロック60の出力を継続する。
【0110】
時刻t43において、同期クロック50が立ち上がると、補間クロック制御部317は、同期クロック50をリセットするとともに、補間クロック発生部318による補間クロック60の出力を開始する。
【0111】
時刻t43から時刻t45においても、同様の処理が実行される。但し、時刻t43から時刻t45においては、同期クロック50の周期が10[ns]だけ長くなっている。そのため、最後の同期クロック50が出力されてから、同期クロック50の立ち上がり(時刻t45)までには、同期クロック50の周期(100[ns])より長い時間(110[ns])が存在することになる。但し、最後の同期クロック50が出力されると、すなわち出力した補間クロック60の数が予め設定された補間クロック設定数に到達すると、同期クロック50の出力が停止される。その結果、時刻t43から時刻t45において計測される補間クロック数は、補間クロック設定数と同数の500に維持される。
【0112】
そして、時刻t45において、同期クロック50が立ち上がると、補間クロック制御部317は、同期クロック50をリセットするとともに、補間クロック発生部318による補間クロック60の出力を開始する。その結果、時刻t45の直前に出力された補間クロック60の周期は、本来の100[ns]から110[ns]に調整されることになる。
【0113】
<F.処理手順>
次に、本実施の形態に従う制御システム1のレーザ制御ユニット300が実行する処理手順について説明する。
【0114】
図10は、本実施の形態に従う制御システム1のレーザ制御ユニット300が実行するメイン処理の処理手順を示すフローチャートである。メイン処理は、アクチュエータであるレーザ30およびガルバノミラー40を制御するための処理である。
【0115】
図10を参照して、レーザ制御ユニット300は、同期クロック50の立ち下がりが発生したか否かを判断する(ステップS2)。同期クロック50の立ち下がりが発生すると(ステップS2においてYES)、レーザ制御ユニット300は、新たな距離指令値を取得して最新値として格納するとともに、直前の最新値を前回値として格納する。より具体的には、レーザ制御ユニット300は、現在格納している距離指令値の最新値を前回値にコピーし(ステップS4)、主制御ユニット100が出力した距離指令値を最新値として格納する(ステップS6)。そして、レーザ制御ユニット300は、直近に計測された補間クロック数を取得し(ステップS8)、距離指令値の最新値および前回値と、補間クロック数とに基づいて、距離傾きを算出する(ステップS10)。なお、直近に計測された補間クロック数は、ステップS8のタイミングで補間クロック数カウンタ319に格納されている値を意味する。
【0116】
同期クロック50の立ち下がりが発生していなければ(ステップS2においてNO)、ステップS4~S10の処理はスキップされる。
【0117】
続いて、レーザ制御ユニット300は、同期クロック50の立ち上がりが発生したか否かを判断する(ステップS12)。同期クロック50の立ち上がりが発生すると(ステップS12においてYES)、距離指令値の最新値に基づいて、レーザ30の照射位置の指令(ミラー制御信号540)を生成する(ステップS14)。
【0118】
また、レーザ制御ユニット300は、距離指令値の前回値を距離補間値の初期値に設定する(ステップS16)とともに、直近に算出された距離傾きを補間処理用に設定する(ステップS18)。
【0119】
同期クロック50の立ち上がりが発生していなければ(ステップS12においてNO)、ステップS16およびS18の処理はスキップされる。
【0120】
続いて、レーザ制御ユニット300は、同期クロック50の立ち上がりが発生したか否かを判断する(ステップS20)。同期クロック50の立ち上がりが発生すると(ステップS20においてYES)、レーザ制御ユニット300は、設定されている距離傾きを現在の距離補間値に加算して、距離補間値を更新する(ステップS22)。すなわち、レーザ制御ユニット300は、同期クロック50が示す所定のタイミングで、距離指令値の前回値に距離傾きを順次加算することで、距離補間値を算出する。
【0121】
続いて、レーザ制御ユニット300は、更新後の距離補間値がいずれかの目標距離316に到達したか否かを判断する(ステップS24)。更新後の距離補間値がいずれかの目標距離316に到達していれば(ステップS24においてYES)、レーザ制御ユニット300は、到達した目標距離316に対応する処理(レーザ30のオンまたはオフ)を実行するための指令を出力する(ステップS26)。このように、レーザ制御ユニット300は、距離補間値が目標距離316に到達すると当該目標距離316に対応する指令を出力する。そして、ステップS2以下の処理が繰り返される。
【0122】
更新後の距離補間値がいずれかの目標距離に到達していなければ(ステップS24においてNO)、ステップS26の処理はスキップされる。
【0123】
レーザ制御ユニット300は、同期クロック50の立ち上がりが発生していなければ(ステップS20においてNO)、ステップS2以下の処理が繰り返される。
【0124】
図11は、本実施の形態に従う制御システム1のレーザ制御ユニット300が実行する補間クロック数の計測処理の処理手順を示すフローチャートである。
図11に示すように、レーザ制御ユニット300は、同期クロック50の1周期内で発生した補間クロック60の数を計測する。
図11に示す処理は、
図10に示すメイン処理と並列的に実行されてもよいし、メイン処理と一体的に実行されてもよい。
【0125】
図11を参照して、レーザ制御ユニット300は、同期クロック50の立ち上がりが発生したか否かを判断する(ステップS100)。同期クロック50の立ち上がりが発生すると(ステップS100においてYES)、レーザ制御ユニット300は、補間クロック数カウンタ319をリセットし(ステップS102)、補間クロック60の出力を開始する(ステップS104)。
【0126】
同期クロック50の立ち上がりが発生していなければ(ステップS100においてNO)、ステップS102およびS104の処理はスキップされる。
【0127】
レーザ制御ユニット300は、補間クロック60の立ち上がりが発生したか否かを判断する(ステップS106)。補間クロック60の立ち上がりが発生していなければ(ステップS106においてNO)、ステップS100以下の処理が繰り返される。
【0128】
補間クロック60の立ち上がりが発生すると(ステップS106においてYES)、レーザ制御ユニット300は、補間クロック数カウンタ319をインクリメントする(ステップS108)。
【0129】
そして、レーザ制御ユニット300は、インクリメント後の補間クロック数カウンタ319の値が補間クロック設定数に到達したか否かを判断する(ステップS110)。インクリメント後の補間クロック数カウンタ319の値が補間クロック設定数に到達していれば(ステップS110においてYES)、レーザ制御ユニット300は、補間クロック60の出力を停止する(ステップS112)。このように、レーザ制御ユニット300は、同期クロック50の1周期内で発生した補間クロック60の数が予め定められた設定値に到達すると、同期クロック50の次の周期が到来するまで補間クロック60の出力を停止する。そして、レーザ制御ユニット300は、同期クロック50の立ち上がりが発生するまで待機する(ステップS114)。同期クロック50の立ち上がりが発生すると、ステップS102以下の処理が繰り返される。
【0130】
インクリメント後の補間クロック数カウンタ319の値が補間クロック設定数に到達していなければ(ステップS110においてNO)、ステップS100以下の処理が繰り返される。
【0131】
以上の処理によって、レーザ30の照射タイミングを精緻に制御できる。
【0132】
<G.ユーザインターフェイス>
次に、本実施の形態に従う制御システム1が提供するユーザインターフェイスの一例について説明する。典型的には、ユーザは、制御装置10に接続された操作表示装置400を介して、上述したような処理を実現するための設定を入力する。
【0133】
図12は、本実施の形態に従う制御システム1の操作表示装置400に表示されるユーザインターフェイス画面450の一例を示す模式図である。
図12を参照して、ユーザインターフェイス画面450は、上述したような処理に必要な設定を受け付ける。
【0134】
ユーザインターフェイス画面450は、同期クロック50の周期の設定を受け付ける入力部452と、設定候補リスト表示部454と、チェックボックス456と、補間クロック60の周期を示す表示部458と、補間回数を示す表示部460と、設定反映ボタン462とを含む。
【0135】
ユーザは、同期クロック50の周期を入力部452に入力する。操作表示装置400は、入力部452に入力された同期クロック50の周期に従って、設定可能な補間クロック60の周期および補間回数の組を設定候補リスト表示部454に表示する。
【0136】
なお、補間クロック60の周期および補間回数の組は、主制御ユニット100が予め有している設定を参照して表示されてもよい。
【0137】
ユーザは、設定候補リスト表示部454に表示される補間クロック60の周期および補間回数の組のうち、希望する組に対応するチェックボックス456をチェックする。操作表示装置400は、チェックされた補間クロック60の周期および補間回数の組を表示部458および表示部460に表示する。
【0138】
ユーザは、同期クロック50に生じ得るジッタに対する耐性と、レーザ30のオン/オフ制御の精度とのトレードオフを考慮して、設定されている同期クロック50の周期において、補間回数が最大となるように、補間クロック60の周期が決定される。
【0139】
例えば、同期クロック50の周期が50[μs](周波数は20[kHz])である場合、補間クロック60の最小周期は50[ns]となる。一方、同期クロック50の周期が1[ms](周波数は1[kHz])である場合、補間クロック60の最小周期は100[ns]となる。
【0140】
最終的に、ユーザが設定反映ボタン462を選択すると、表示されている設定内容が制御装置10へ送信される。
【0141】
以上のように、ユーザは、同期クロック50に生じ得るジッタに対する耐性、および、レーザ30のオン/オフ制御の精度を考慮して、同期クロック50の周期、補間クロック60の周期および補間回数を設定する。このように、制御装置10は、同期クロック50の周期および補間クロック60の周期の設定を受け付けるためのユーザインターフェイスを提供する。
【0142】
<H.変形例>
上述の説明においては、同期クロック50の1周期内の補間クロック60の数(補間クロック数)として、補間クロック60を実際に計測した値(計測値)を採用する例を示したが、予め定められた固定値(設定値)を用いてもよい。すなわち、同期クロック50の1周期内の補間クロック60の数は、予め定められた固定値であってもよい。
【0143】
例えば、同期クロック50の周期を50,000[ns]とし、補間クロック60の周期が100[ns]であるとすると、同期クロック50の1周期内の補間クロック60の数(補間クロック数)は、500に設定できる。
【0144】
このように、補間クロック数として予め定められた固定値を用いることで、計測値を用いる場合に比較して、動作検証をより容易に行うことができる。
【0145】
<I.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
【0146】
[構成1]
アクチュエータ(30,40)を制御する制御装置(10)であって、
第1クロック(50)が示す第1タイミングで、新たな距離指令値を取得して最新値として格納するとともに、直前の最新値を前回値として格納する記憶部(311)と、
第2クロック(60)を発生する第2クロック発生部(318)と、
前記距離指令値の前記最新値および前記前回値と、前記第1クロックの1周期内の前記第2クロックの数とに基づいて、距離傾きを算出する第1算出部(313)と、
前記第2クロックが示す第2タイミングで、前記距離指令値の前記前回値に前記距離傾きを順次加算することで、距離補間値を算出する第2算出部(314)と、
前記距離補間値が目標距離(316)に到達すると当該目標距離に対応する第1指令(530)を出力する第1指令生成部(315)と、
前記第1クロックの1周期内で発生した前記第2クロックの数が予め定められた設定値に到達すると、前記第1クロックの次の周期が到来するまで前記第2クロックの出力を停止するクロック制御部(317)とを備える、制御装置。
【0147】
[構成2]
前記第1クロックの1周期内で発生した前記第2クロックの数を計測する計測部をさらに備える、構成1に記載の制御装置。
【0148】
[構成3]
前記第1クロックの1周期内で発生した前記第2クロックの数は、予め定められた固定値である、構成1に記載の制御装置。
【0149】
[構成4]
前記第1クロックの周期は、前記第2クロックの周期の整数倍に設定される、構成1~3のいずれか1項に記載の制御装置。
【0150】
[構成5]
前記クロック制御部は、前記第1クロックが示す第3タイミングで、前記第2クロックの発生を開始する、構成1~4のいずれか1項に記載の制御装置。
【0151】
[構成6]
指定された軌跡に従って、位置を指定するための第2指令(540)を生成する第2指令生成部(322)をさらに備える、構成1~5のいずれか1項に記載の制御装置。
【0152】
[構成7]
前記第2指令生成部は、オンまたはオフの指示を指令として出力する、構成1~6のいずれか1項に記載の制御装置。
【0153】
[構成8]
前記制御装置は、前記第1クロックの周期および前記第2クロックの周期の設定を受け付けるためのユーザインターフェイス(450)を提供する、構成1~7のいずれか1項に記載の制御装置。
【0154】
[構成9]
アクチュエータ(30,40)と、
前記アクチュエータを制御する制御装置(10)とを備え、
前記制御装置は、
第1クロック(50)が示す第1タイミングで、新たな距離指令値を取得して最新値として格納するとともに、直前の最新値を前回値として格納する記憶部(311)と、
第2クロック(60)を発生する第2クロック発生部(318)と、
前記距離指令値の前記最新値および前記前回値と、前記第1クロックの1周期内の前記第2クロックの数とに基づいて、距離傾きを算出する第1算出部(313)と、
前記第2クロックが示す第2タイミングで、前記距離指令値の前記前回値に前記距離傾きを順次加算することで、距離補間値を算出する第2算出部(314)と、
前記距離補間値が目標距離(316)に到達すると当該目標距離に対応する指令を出力する指令生成部(315)と、
前記第1クロックの1周期内で発生した前記第2クロックの数が予め定められた設定値に到達すると、前記第1クロックの次の周期が到来するまで前記第2クロックの出力を停止するクロック制御部(317)とを備える、制御システム。
【0155】
[構成10]
アクチュエータ(30,40)の制御方法であって、
第1クロック(50)が示す第1タイミングで、新たな距離指令値を取得して最新値として格納するとともに、直前の最新値を前回値として格納するステップ(S4,S6)と、
前記距離指令値の前記最新値および前記前回値と、前記第1クロックの1周期内の第2クロックの数とに基づいて、距離傾きを算出するステップ(S10)と、
前記第2クロックが示す第2タイミングで、前記距離指令値の前記前回値に前記距離傾きを順次加算することで、距離補間値を算出するステップ(S22)と、
前記距離補間値が目標距離に到達すると当該目標距離に対応する指令を出力するステップ(S24,S26)と、
前記第1クロックの1周期内で発生した前記第2クロックの数が予め定められた設定値に到達すると、前記第1クロックの次の周期が到来するまで前記第2クロックの出力を停止するステップ(S112)とを備える、制御方法。
【0156】
<J.利点>
本実施の形態に従う制御システム1によれば、同期クロックの周期で更新される距離指令値を同期クロックより短い周期で補間することにより、目標距離に到達したか否かの判断をより高精度に行うことができる。また、同期クロックにジッタが生じても、同期クロック内で発生する補間クロックの数に影響を与えないようなアルゴリズムを採用することで、算出される距離補間値がジッタの影響を受けないようにできる。これによって、より精緻な制御を安定的に実行できる。
【0157】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0158】
1 制御システム、4 ワーク、10 制御装置、20 XYステージ、22 プレート、24 サーボモータ、26 サーボドライバ、28 エンコーダ、30 レーザ、40 ガルバノミラー、42 X軸走査モータ、43 軸走査ミラー、44 Y軸走査モータ、45 Y軸走査ミラー、46 Z軸走査モータ、47 レンズ、50 同期クロック、51,52,53 制御線、54 通信線、60 補間クロック、100 主制御ユニット、102 プロセッサ、104 メインメモリ、106 ストレージ、108 システムプログラム、110 アプリケーションプログラム、112 バスコントローラ、114 内部バス、130 軌跡生成部、132 距離指令算出部、134 通過ポイント列、200 ステージ制御ユニット、210 ステージ制御演算部、220 クロック発生部、230 サーボインターフェイス回路、300 レーザ制御ユニット、310 レーザ/ミラー制御演算部、311 レジスタ、311A 最新値領域、311B 前回値領域、312 距離差分算出部、313 距離傾き算出部、314 距離補間部、315 比較部、316 目標距離、317 補間クロック制御部、318 補間クロック発生部、319 補間クロック数カウンタ、322 位置指令生成部、330 出力インターフェイス回路、340 通信インターフェイス回路、350,352,354 距離指令値、400 操作表示装置、450 ユーザインターフェイス画面、452 入力部、454 設定候補リスト表示部、456 チェックボックス、458,460 表示部、462 設定反映ボタン、510 サーボ指令信号、520 エンコーダ出力情報、530 レーザ制御信号、540 ミラー制御信号。