(57)【要約】      （修正有）【課題】アクチュエータへの出力のタイミングを、パルス信号の周期に依存せずに調整することができるカウンタユニットを提供する。【解決手段】カウンタユニット１０は、パルス信号を用いて計測した実測値と目標値とが一致したと判定した時点から、ＰＬＣ２０から受信したタイミング調整値の示す待機時間が経過した時点で、アクチュエータ４０への出力を実行する。【選択図】図１
2020144801.tif 000002
【特許請求の範囲】
【請求項１】
パルス信号のパルス数をカウントして実測値を計測する計測部と、
前記計測部により計測された前記実測値と目標値との一致を判定する比較部と、
前記比較部により前記実測値と前記目標値とが一致したと判定されると、アクチュエータへの出力を実行する出力部と、を備え、
前記出力部は、前記出力のタイミングを、前記比較部により前記実測値と前記目標値とが一致したと判定された時点から、タイミング調整値の示す、前記パルス信号の周期から独立した時間が経過した時点に調整する出力遅延部を含む
カウンタユニット。
【請求項２】
前記出力部は、ハードウェアによる論理回路で構成され、
前記タイミング調整値の示す時間は、前記論理回路のクロックの整数倍である
請求項１に記載のカウンタユニット。
【請求項３】
所定の制御周期でＯＮ／ＯＦＦデータの入出力処理を実行する制御装置から、前記目標値と前記タイミング調整値とを受信する通信部をさらに備える
請求項１または２に記載のカウンタユニット。
【請求項４】
前記タイミング調整値は、前記カウンタユニットからの前記出力を受け付けた前記アクチュエータによって実現されたワークの実際の状態を示すフィードバック値を用いて更新される
請求項１から３のいずれか１項に記載のカウンタユニット。
【請求項５】
前記出力を受け付けた前記アクチュエータによって実現されるべき、前記ワークの所定の理想的な状態を示す基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて、前記タイミング調整値は更新される
請求項４に記載のカウンタユニット。
【請求項６】
所定の制御周期でＯＮ／ＯＦＦデータの入出力処理を実行する制御装置であって、
前記カウンタユニットからの前記出力を受け付けた前記アクチュエータによって実現されたワークの実際の状態を示す値を、前記出力に係るフィードバック値として用いて、前記タイミング調整値を更新する更新部を備え、
前記更新部によって更新された前記タイミング調整値と前記目標値とを、請求項３に記載のカウンタユニットに送信する
制御装置。
【請求項７】
前記更新部は、前記出力を受け付けた前記アクチュエータによって実現されるべき、前記ワークの所定の理想的な状態を示す基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて、前記タイミング調整値を更新する
請求項６に記載の制御装置。
【請求項８】
請求項３に記載のカウンタユニットと、
請求項６または７に記載の制御装置と、
前記カウンタユニットからの前記出力を受け付けた前記アクチュエータによって実現されたワークの実際の状態を検知し、検知した前記ワークの実際の状態を示す値を、前記フィードバック値として、前記制御装置に送信する状態検知装置と、を含む
制御システム。
【請求項９】
前記制御装置は、前記出力を受け付けた前記アクチュエータによって実現されるべき、前記ワークの所定の理想的な状態を示す基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて、前記タイミング調整値を更新する
請求項８に記載の制御システム。
【請求項１０】
パルス信号のパルス数をカウントして実測値を計測する計測ステップと、
前記計測ステップにて計測された前記実測値と目標値との一致を判定する比較ステップと、
前記比較ステップにて前記実測値と前記目標値とが一致したと判定されると、アクチュエータへの出力を実行する出力ステップと、を含み、
前記出力ステップは、前記出力のタイミングを、前記比較ステップにて前記実測値と前記目標値とが一致したと判定された時点から、タイミング調整値の示す、前記パルス信号の周期から独立した時間が経過した時点に調整する出力遅延ステップを含む
カウンタユニットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークの位置、累積量などが所定の条件を満たすと判定すると、アクチュエータに対して動作指示を出力するカウンタユニット等に関する。
【背景技術】
【０００２】
従来、工場等の生産現場において、カウンタユニットを用いて、アクチュエータに所定の動作を実行させるタイミングを調整することが知られている。例えば、下掲の特許文献１には、流量センサからのパルス信号を用いて液体を定量抽出するカウンタユニットについて、前記パルス信号の周期長の変化に対応して、定量抽出に対応した基準の設定パルス数を補正する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−４５３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような従来のカウンタユニットには、パルス信号のパルス数（つまり、カウント値）を用いて計測した実測値と比較する目標値を増減することによって、アクチュエータへの出力のタイミングを調整するため、以下に示す問題点がある。すなわち、目標値を増減することで出力のタイミングを調整する従来のカウンタユニットは、調整可能なタイミングの幅をパルス信号の周期よりも小さくすることができず、パルス信号の周期が長いとタイミング誤差が大きくなるという問題があった。また、従来のカウンタユニットは、パルス信号の周期が変化した場合、周期の変化の前後で出力のタイミングを同一に維持しようとすると、実測値と比較する目標値の増減が必要となり、ユーザ利便性が低いという問題があった。以下、従来のカウンタユニットについて、図１２および図１３を参照しながら、その詳細を説明する。
【０００５】
（マウントアプリに係る従来例）
図１２は、アクチュエータ４０がワーク６０に部品（マウント部材７０）を取り付ける（マウントする）処理（以下、「マウントアプリ」とも称する）について、従来のカウンタユニットであるカウンタユニット９８等が実行する処理を示す図である。図１２の（Ａ）、（Ｂ）、および（Ｃ）において、ワーク６０は、コンベヤに載せられて、紙面左から紙面右の方向に一定速度で移動しているものとする。
【０００６】
図１２の（Ａ）に示すように、カウンタユニット９８は、エンコーダ３０からのパルス信号を用いて、つまり、カウント値を用いて、ワーク６０の位置（実測値）を把握している。カウンタユニット９８は、「ワーク６０が開始位置（目標値）に到達した」と判定すると、マウント部材７０を把持するアクチュエータ４０への出力（比較一致出力）を実行する。
【０００７】
図１２の（Ｂ）に示すように、カウンタユニット９８からの出力を受信したアクチュエータ４０は、ワーク６０にマウント部材７０を取り付ける。アクチュエータ４０によってマウント部材７０を取り付けられたワーク６０は、図１２の（Ｃ）に示すように、紙面左から紙面右の方向に一定速度でさらに移動していく。
【０００８】
ここで、図１２の（Ｄ）に示すように、カウンタユニット９８によって「ワーク６０が開始位置に到達した」と判定された時点から、アクチュエータ４０によってマウント部材７０がワーク６０へと取り付けられる時点までの間には、応答時間が必要とされる。応答時間とは、「回路応答に要する時間」と、「メカ応答に要する時間」とを含む時間であり、一定とみなすことができる。すなわち、「ワーク６０の位置が開始位置に一致した」と判定してから、「一致した」と判定した時点でカウンタユニット９８が実行した出力をアクチュエータ４０が受け付けるまでには、回路応答に要する時間が必要となる。また、アクチュエータ４０がカウンタユニット９８からの出力を受信してから、アクチュエータ４０がカウンタユニット９８からの出力に対応する処理を実行するまでには、メカ応答に要する時間が必要となる。つまり、カウンタユニット９８がアクチュエータ４０への出力を実行してから、アクチュエータ４０によってマウント部材７０がワーク６０へと取り付けられるまでには、メカ応答に要する時間が必要となる。
【０００９】
図１２の（Ｄ）において、「マウント位置」とは、「ワーク６０が開始位置に到達した」と判定された時点から応答時間が経過した時点における、ワーク６０の位置であり、マウント部材７０が取り付けられた時点の、ワーク６０の位置である。
【００１０】
ここで、マウント部材７０が取り付けられた時点の、実際のワーク６０の位置が、マウント部材７０を取り付ける時点での、理想的なワーク６０の位置よりも、紙面右側にある場合、カウンタユニット９８は、以下の処理を実行する。すなわち、カウンタユニット９８は、元々の開始位置を紙面左側にずらした位置にワーク６０が到達すると、アクチュエータ４０への出力を実行して、アクチュエータ４０に、ワーク６０へのマウント部材７０の取り付けを実行させる。元々の開始位置を紙面左側にずらした位置にワーク６０が到達したのを契機として出力を実行することにより、カウンタユニット９８は、マウント部材７０が取り付けられる時点のワーク６０の位置を、元々のマウント位置よりも紙面左側にずらすことができる。
【００１１】
元々の開始位置から「パルス信号の１周期分（つまり、１パルス周期）」に相当する距離をさかのぼった位置を、「修正開始位置（前方）」とすると、修正開始位置（前方）を用いることによって、カウンタユニット９８は、以下の状態を実現することができる。すなわち、修正開始位置（前方）にワーク６０が到達したのを契機として出力を実行することにより、カウンタユニット９８は、マウント部材７０が取り付けられる時点の、ワーク６０の位置を、修正マウント位置（前方）に変更することができる。「修正マウント位置（前方）」は、カウンタユニット９８が「ワーク６０が修正開始位置（前方）に到達した」と判定した時点から応答時間が経過した時点における、ワーク６０の位置である。パルス信号の周期（パルス周期）が一定の場合、「修正マウント位置（前方）」は、元々のマウント位置から「１パルス周期」に相当する距離をさかのぼった位置である。
【００１２】
同様に、マウント部材７０が取り付けられた時点の、実際のワーク６０の位置が、マウント部材７０を取り付ける時点での、理想的なワーク６０の位置よりも、紙面左側にある場合、カウンタユニット９８は、以下の処理を実行する。すなわち、カウンタユニット９８は、元々の開始位置を紙面右側にずらした位置にワーク６０が到達すると、アクチュエータ４０への出力を実行して、アクチュエータ４０に、ワーク６０へのマウント部材７０の取り付けを実行させる。元々の開始位置を紙面右側にずらした位置にワーク６０が到達したのを契機として出力を実行することにより、カウンタユニット９８は、マウント部材７０が取り付けられる時点のワーク６０の位置を、元々のマウント位置よりも紙面右側にずらすことができる。
【００１３】
元々の開始位置から「パルス信号の１周期分（つまり、１パルス周期）」に相当する距離を進んだ位置を、「修正開始位置（後方）」とすると、修正開始位置（後方）を用いることによって、カウンタユニット９８は、以下の状態を実現することができる。すなわち、修正開始位置（後方）にワーク６０が到達したのを契機として出力を実行することにより、カウンタユニット９８は、マウント部材７０が取り付けられる時点の、ワーク６０の位置を、修正マウント位置（後方）に変更することができる。「修正マウント位置（後方）」は、カウンタユニット９８が「ワーク６０が修正開始位置（後方）に到達した」と判定した時点から応答時間が経過した時点における、ワーク６０の位置である。パルス信号の周期（パルス周期）が一定の場合、「修正マウント位置（後方）」は、元々のマウント位置から「１パルス周期」に相当する距離を進んだ位置である。
【００１４】
応答時間は一定とみなすことができるので、マウント部材７０が取り付けられる時点のワーク６０の位置は、カウンタユニット９８が、アクチュエータ４０へ、所定の出力を実行するタイミングに依存する。そして、カウンタユニット９８は、ワークの位置（実測値）と比較する開始位置（目標値）を変化させることによって、マウント部材７０が取り付けられる時点のワーク６０の位置を、つまり、出力のタイミングを、調整する。
【００１５】
ここで、「パルス信号の１周期分（つまり、１パルス周期）」に相当する、ワーク６０の移動距離は一定である。したがって、開始位置によって出力のタイミング（＝マウント部材７０が取り付けられる時点のワーク６０の位置）を調整するカウンタユニット９８は、ワーク６０の位置について、「１パルス周期」に相当する距離の整数倍でしか調整することができない。
【００１６】
つまり、目標値を変更することで出力のタイミングを調整するカウンタユニット９８は、調整可能なタイミングの幅をパルス信号の周期よりも小さくすることができず、パルス信号の周期が長いとタイミング誤差が大きくなる。また、カウンタユニット９８は、パルス信号の周期が変化した場合、周期の変化の前後で出力のタイミングを同一に維持しようとすると、実測値と比較する目標値の変更が必要となり、ユーザ利便性が低い。
【００１７】
（液体充填アプリに係る従来例）
図１３は、ワークに液体を充填する処理（以下、「液体充填アプリ」とも称する）について、従来技術を示す図である。図１３の（Ａ）に示すように、カウンタユニット９８は、流量計３１（パルス信号生成装置）からのパルス信号を用いて、つまり、カウント値を用いて、ワークに充填された液体の充填量（実測値）を把握している。
【００１８】
カウンタユニット９８は、「ワークへ充填している液体の量（充填量、実測値）が、バルブ閉動作開始量（目標値）に到達した」と判定すると、バルブ４１（アクチュエータ）への出力（比較一致出力）を実行する。つまり、カウンタユニット９８は、「カウント値が、バルブ閉動作開始量に対応付けられて設定された比較カウント値に一致した」と判定すると、バルブ４１への出力を実行して、バルブ４１を閉じて、ワークへの液体の充填を停止させる。
【００１９】
ここで、図１３の（Ｂ）に示すように、カウンタユニット９８によって「充填量が、バルブ閉動作開始量に到達した」と判定された時点から、バルブ４１が閉じて充填が停止される時点までの間には、応答時間が必要とされる。応答時間とは、「回路応答に要する時間」と、「メカ応答に要する時間」とを含む時間であり、一定とみなすことができる。すなわち、「カウント値と比較カウント値とが一致した」と判定してから、「一致した」と判定した時点でカウンタユニット９８が実行した出力をバルブ４１が受け付けるまでには、回路応答に要する時間が必要となる。また、バルブ４１がカウンタユニット９８からの出力を受信してから、バルブ４１がカウンタユニット９８からの出力に対応する処理を実行するまでには、メカ応答に要する時間が必要となる。つまり、カウンタユニット９８がバルブ４１への出力を実行してから、バルブ４１が閉じて充填が停止されるまでには、メカ応答に要する時間が必要となる。
【００２０】
図１３の（Ｂ）において、「カウント値が比較カウント値に一致した」と判定された時点から、応答時間が経過した時点における、ワークへの充填量を、充填量の実際値という意味で「充填量実際値」と称する。充填量実際値は、バルブ４１が閉じて充填が停止された時点における、実際の充填量とも理解することができる。また、「充填量目標値」は、バルブ４１が閉じて充填が停止された時点における、ワークへの所定の理想的な充填量を示している。
【００２１】
図１３の（Ｂ）に示すように、充填量実際値が充填量目標値よりも大きく、つまり、充填量が多すぎる場合、カウンタユニット９８は比較カウント値の値を小さくすることによって、充填量実際値の値を小さくする。
【００２２】
しかしながら、カウンタユニット９８の「充填量を調整できる分解能」は、最大であっても、１パルス周期分の流量であり、つまり、カウンタユニット９８は、「１パルス周期」に相当する流量の整数倍でしか、充填量実際値を調整することができない。その結果、図１３の（Ｂ）に示すように、カウンタユニット９８は、比較カウント値の値を小さくしたことによって、充填量目標値に満たない充填量しか充填できない（充填量実際値が充填量目標値に不足する）といったことが起こりうる。
【００２３】
応答時間は一定とみなすことができるので、バルブ４１が閉じる時点のワークへの充填量は、カウンタユニット９８が、バルブ４１へ、所定の出力を実行するタイミングに依存する。そして、カウンタユニット９８は、ワークへの充填量（実測値）と比較するバルブ閉動作開始量（目標値）を変化させることによって、充填量実際値を、つまり、出力のタイミングを、調整する。
【００２４】
ここで、「パルス信号の１周期分（つまり、１パルス周期）」に相当する、ワークへの充填量は一定である。したがって、バルブ閉動作開始量（目標値）によって出力のタイミング（＝充填量実際値）を調整するカウンタユニット９８は、充填量実際値について、「１パルス周期」に相当する充填量の整数倍でしか調整することができない。
【００２５】
つまり、目標値を変更することで出力のタイミングを調整するカウンタユニット９８は、調整可能なタイミングの幅をパルス信号の周期よりも小さくすることができず、パルス信号の周期が長いとタイミング誤差が大きくなる。また、カウンタユニット９８は、パルス信号の周期が変化した場合、周期の変化の前後で出力のタイミングを同一に維持しようとすると、実測値と比較する目標値の変更が必要となり、ユーザ利便性が低い。
【００２６】
図１２および図１３を参照しながら、その詳細を説明した従来のカウンタユニットは、以下のように整理することができる。すなわち、一般にカウンタユニットは、カウント値（パルス信号のパルス数）を用いて計測した実測値が目標値に一致したと判定すると、バルブなどアクチュエータへの制御を行い、つまり、アクチュエータへの所定の出力を実行する。
【００２７】
そして、カウンタユニットによって「実測値と目標値とが一致した」と判定された時点から、カウンタユニットからアクチュエータへの出力によって、その出力に対応するワークの状態が実現する時点までには、応答時間が必要となる。つまり、「実測値と目標値とが一致した」と判定されてから、ワークが所望の状態になるまでには、「回路応答に要する時間」と、「メカ応答に要する時間」との合計時間（応答時間）だけ、タイミング誤差が生じる。「応答時間」は、「遅延時間」と表現されることもある。
【００２８】
従来のカウンタユニットは、実測値と比較する（つまり、実測値との一致を判定する）目標値を増減することによって、タイミング誤差の影響を打ち消していた。しかしながら、目標値は、「１パルス周期」に相当する移動距離・充填量の整数倍でしか増減させることができず、つまり、従来のカウンタユニットには、出力タイミングの調整に係る分解能がパルス周期となるという問題がある。そのため、特に、パルス周期が長い場合、従来のカウンタユニットは、出力タイミングの精緻な調整ができず、タイミング誤差が大きくなってしまう。また、応答時間はパルス周期にかかわらず一定であるため、パルス周期が変化した場合、従来のカウンタユニットは、変化するパルス周期に併せて目標値を増減させなければ出力のタイミングを維持できず、ユーザ利便性が低いという問題がある。
【００２９】
本発明の一態様は、前記の問題点に鑑みてなされたものであり、パルス信号のパルス数を用いて計測した実測値と目標値とが一致したと判定すると実行する、アクチュエータへの出力のタイミングを、パルス信号の周期に依存せずに調整できるカウンタユニット等を実現することを目的としている。
【課題を解決するための手段】
【００３０】
上記の課題を解決するために、本発明の一態様に係るカウンタユニットは、パルス信号のパルス数をカウントして実測値を計測する計測部と、前記計測部により計測された前記実測値と目標値との一致を判定する比較部と、前記比較部により前記実測値と前記目標値とが一致したと判定されると、アクチュエータへの出力を実行する出力部と、を備え、前記出力部は、前記出力のタイミングを、前記比較部により前記実測値と前記目標値とが一致したと判定された時点から、タイミング調整値の示す、前記パルス信号の周期から独立した時間が経過した時点に調整する出力遅延部を含んでいる。
【００３１】
前記の構成によれば、前記カウンタユニットは、例えば、エンコーダまたは流量計のような、検出量に応じて前記パルス信号を生成するパルス信号生成装置から、前記パルス信号を入力として受け付け、受け付けた前記パルス信号から前記実測値を計測する。そして、前記カウンタユニットは、前記実測値と前記目標値とが一致したと判定すると、一致したと判定した時点から、前記タイミング調整値の示す、前記パルス信号の周期Ｔｐから独立した時間が経過した時点で、前記出力を実行する。以下では、前記タイミング調整値は、「タイミング調整値Ｔａ」とも称する。
【００３２】
従来、前記パルス信号のパルス数をカウントして計測した実測値と目標値とが一致したと判定すると、前記出力を実行するカウンタユニットについて、目標値を増減することにより、前記出力のタイミングを調整する技術が知られている。
【００３３】
ここで、目標値は、「パルス信号の周期（パルス周期Ｔｐ）」に相当する実測値の整数倍でしか増減させることができない。そのため、目標値のみによって出力のタイミングを調整する従来までのカウンタユニットは、出力タイミングの調整に係る分解能がパルス周期Ｔｐに制限される。特に、パルス周期Ｔｐが長い場合、従来までのカウンタユニットは、出力タイミングの精緻な調整ができず、タイミング誤差が大きくなってしまう。また、応答時間はパルス周期Ｔｐにかかわらず一定であるため、パルス周期Ｔｐが変化した場合、従来までのカウンタユニットは、変化するパルス周期Ｔｐに併せて目標値を増減させなければ出力のタイミングを維持できず、ユーザ利便性が低い。
【００３４】
このような従来までのカウンタユニットに対して、前記カウンタユニットは、目標値に加えて、前記パルス信号の周期Ｔｐから独立した時間（待機時間）を示す前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整する。すなわち、前記カウンタユニットは、前記実測値と前記目標値とが一致したと判定した時点から、前記タイミング調整値Ｔａの示す、前記パルス信号の周期Ｔｐから独立した時間が経過した時点に、前記出力のタイミングを調整する。
【００３５】
したがって、前記カウンタユニットは、前記パルス信号の周期Ｔｐに依存せずに、つまり、前記パルス信号の周期Ｔｐから独立して、前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整することができるとの効果を奏する。特に、前記タイミング調整値Ｔａの示す時間は、前記パルス信号の周期Ｔｐから独立しているので、パルス周期Ｔｐが長い場合であっても、前記カウンタユニットは、前記出力のタイミングを精緻に調整することができる。また、前記カウンタユニットは、パルス周期Ｔｐが変化した場合であっても、パルス周期Ｔｐの変化分だけ前記タイミング調整値Ｔａの値を変えるだけで、前記出力のタイミングを容易に調整することができ、ユーザ利便性が高い。
【００３６】
本発明の一態様に係るカウンタユニットにおいて、前記出力部は、ハードウェアによる論理回路で構成され、前記タイミング調整値の示す時間は、前記論理回路のクロックの整数倍であってもよい。
【００３７】
前記の構成によれば、前記カウンタユニットにおいて、前記出力部は、ハードウェアによる論理回路で構成される。例えば、前記出力部は、ＦＰＧＡ（Field Programmable Gate Array）、ＣＰＬＤ（Complex Programmable Logic Device）、および、ＡＳＩＣ（Application Specific Integrated Circuit）の少なくとも１つを用いて実現されてもよい。そして、前記カウンタユニットにおいて、前記タイミング調整値Ｔａの示す時間は、前記論理回路のクロックの整数倍である。
【００３８】
ここで、前記出力部をハードウェアによる論理回路によって実現することで、前記出力部をソフトウェアによって実現する場合に比べて、遅延量をより小さくすることができる。つまり、前記出力部をハードウェアによる論理回路によって実現することで、前記出力部をソフトウェアによって実現する場合に比べて、前記タイミング調整値Ｔａの示す時間（待機時間）について、より小さな値を設定することができる。また、前記出力部をハードウェアによる論理回路によって実現することで、前記出力部をソフトウェアによって実現する場合に比べて、遅延のばらつきを抑制することができる。
【００３９】
したがって、前記カウンタユニットは、前記実測値と前記目標値とが一致したと判定すると、前記出力部をソフトウェアによって実現する場合に比べて、より小さな待機時間で、前記アクチュエータへの出力を実行することができるとの効果を奏する。また、前記カウンタユニットは、前記出力部をソフトウェアによって実現する場合に比べて、遅延のばらつきを抑制することができるとの効果を奏する。
【００４０】
本発明の一態様に係るカウンタユニットは、所定の制御周期でＯＮ／ＯＦＦデータの入出力処理を実行する制御装置から、前記目標値と前記タイミング調整値とを受信する通信部をさらに備えてもよい。
【００４１】
前記の構成によれば、前記カウンタユニットは、前期制御装置から、前記目標値と前記タイミング調整値Ｔａとを受信し、受信した前記目標値と前記タイミング調整値Ｔａとを用いて、前記出力のタイミングを調整する。
【００４２】
ここで、前記カウンタユニットと前期制御装置との通信方式は、特に限定されない。前記カウンタユニットと前期制御装置とは、例えばフィールドネットワークを介して相互に通信可能に接続され、前記カウンタユニットは、フィールドネットワークを介して、前期制御装置から前記目標値と前記タイミング調整値Ｔａとを受信してもよい。また、前記カウンタユニットは、前期制御装置と一体に形成されてもよく、つまり、内部バスを介して、前期制御装置と通信可能に接続されていてもよい。その場合、前記カウンタユニットは、内部バスを介して、前期制御装置から前記目標値と前記タイミング調整値Ｔａとを受信してもよい。
【００４３】
例えば、前記カウンタユニットは、前記制御周期ごとに繰り返し前記目標値と前記タイミング調整値Ｔａとを前期制御装置から受信し、受信した前記目標値と前記タイミング調整値Ｔａとを用いて、前記出力のタイミングを調整する。
【００４４】
したがって、前記カウンタユニットは、自装置にて計測した前記実測値と、前期制御装置から受信した前記目標値とを比較し、また、前期制御装置から受信した前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整することができるとの効果を奏する。つまり、ユーザは、前期制御装置が前記カウンタユニットに（例えば周期的に）送信する前記目標値と前記タイミング調整値Ｔａとを用いて、前記出力のタイミングを調整することができる。
【００４５】
本発明の一態様に係るカウンタユニットにおいて、前記タイミング調整値は、前記カウンタユニットからの前記出力を受け付けた前記アクチュエータによって実現されたワークの実際の状態を示すフィードバック値を用いて更新されてもよい。
【００４６】
前記の構成によれば、前記カウンタユニットは、前記アクチュエータへの前記出力に係るフィードバック値を用いて適切な値に更新された前記タイミング調整値Ｔａを用いて、前記出力のタイミングを高精度に調整することができるとの効果を奏する。
【００４７】
本発明の一態様に係るカウンタユニットにおいて、前記出力を受け付けた前記アクチュエータによって実現されるべき、前記ワークの所定の理想的な状態を示す基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて、前記タイミング調整値は更新されてもよい。
【００４８】
前記の構成によれば、前記カウンタユニットは、前記基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて適切な値に更新された前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整する。
【００４９】
ここで、複数の前記フィードバック値を統計処理して算出した値を用いて前記タイミング調整値Ｔａが更新されることによって、前記フィードバック値が一時的に異常値を示した場合にも、そのような異常値からの前記タイミング調整値Ｔａへの影響は抑制される。
【００５０】
したがって、前記カウンタユニットは、前記フィードバック値が一時的に異常値を示した場合にも、そのような異常値からの影響を抑制して適切な値に更新された前記タイミング調整値Ｔａを用いて、前記出力のタイミングを高精度に調整できるとの効果を奏する。
【００５１】
本発明の一態様に係る制御装置は、所定の制御周期でＯＮ／ＯＦＦデータの入出力処理を実行する制御装置であって、前記カウンタユニットからの前記出力を受け付けた前記アクチュエータによって実現されたワークの実際の状態を示す値を、前記出力に係るフィードバック値として用いて、前記タイミング調整値を更新する更新部を備え、前記更新部によって更新された前記タイミング調整値と前記目標値とを、前記カウンタユニットに送信してもよい。
【００５２】
前記の構成によれば、前記制御装置は、前記フィードバック値を用いて前記タイミング調整値Ｔａを適切な値に更新し、更新した前記タイミング調整値Ｔａと前記目標値とを、前記カウンタユニットに送信する。
【００５３】
したがって、前記制御装置は、適切な値に更新した前記タイミング調整値Ｔａと前記目標値とを送信することによって、前記出力のタイミングを、前記パルス信号の周期Ｔｐから独立した適切な時点に調整することができるとの効果を奏する。
【００５４】
ここで、前記制御装置は、例えば、撮像装置（カメラ）、各種のセンサ（具体的には、変位センサ、ロードセル、および、レーザー等を用いた距離計測装置など）等を用いて実現される状態検知装置から、前記フィードバック値を取得してもよい。また、前記制御装置は、前記カウンタユニットと一体に形成されもよい。
【００５５】
本発明の一態様に係る制御装置において、前記更新部は、前記出力を受け付けた前記アクチュエータによって実現されるべき、前記ワークの所定の理想的な状態を示す基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて、前記タイミング調整値を更新してもよい。
【００５６】
前記の構成によれば、前記制御装置は、前記基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて、前記出力のタイミングを調整するための前記タイミング調整値Ｔａを、適切な値に更新する。
【００５７】
ここで、複数の前記フィードバック値を統計処理して算出した値を用いて前記タイミング調整値Ｔａが更新されることによって、前記フィードバック値が一時的に異常値を示した場合にも、そのような異常値からの前記タイミング調整値Ｔａへの影響は抑制される。
【００５８】
したがって、前記制御装置は、前記フィードバック値が一時的に異常値を示した場合にも、前記タイミング調整値Ｔａを、そのような異常値からの影響を抑制した適切な値に更新することができるとの効果を奏する。
【００５９】
本発明の一態様に係る制御システムは、前記カウンタユニットと、前記制御装置と、前記カウンタユニットからの前記出力を受け付けた前記アクチュエータによって実現されたワークの実際の状態を検知し、検知した前記ワークの実際の状態を示す値を、前記フィードバック値として、前記制御装置に送信する状態検知装置と、を含んでもよい。
【００６０】
前記の構成によれば、前記制御システムは、前記カウンタユニットと、前記制御装置と、前記状態検知装置と、を含み、前記カウンタユニットは、前記更新部によって更新された前記タイミング調整値を用いて、前記出力のタイミングを調整する。
【００６１】
前記制御システムは、前記状態検知装置が検知した前記フィードバック値を用いて、前記タイミング調整値Ｔａを適切な値に更新することができるとの効果を奏する。また、前記制御システムは、適切な値に更新された前記タイミング調整値Ｔａを用いて、前記出力のタイミングを、前記パルス信号の周期Ｔｐから独立したタイミングに調整することができるとの効果を奏する。
【００６２】
特に、前記タイミング調整値Ｔａの示す時間は、前記パルス信号の周期Ｔｐから独立しているので、パルス周期Ｔｐが長い場合であっても、前記制御システムは、前記出力のタイミングを精緻に調整することができる。また、前記制御システムは、パルス周期Ｔｐが変化した場合であっても、パルス周期Ｔｐの変化分だけ前記タイミング調整値Ｔａの値を変えるだけで、前記出力のタイミングを容易に調整することができ、ユーザ利便性が高い。
【００６３】
ここで、前記状態検知装置は、例えば、撮像装置（カメラ）、各種のセンサ（具体的には、変位センサ、ロードセル、および、レーザー等を用いた距離計測装置など）等を用いて実現することができる。また、前記カウンタユニットと前記制御装置とは一体に形成されてもよい。
【００６４】
本発明の一態様に係る制御システムにおいて、前記制御装置は、前記出力を受け付けた前記アクチュエータによって実現されるべき、前記ワークの所定の理想的な状態を示す基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて、前記タイミング調整値を更新してもよい。
【００６５】
前記の構成によれば、前記制御システムは、前記基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて更新される前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整する。
【００６６】
ここで、複数の前記フィードバック値を統計処理して算出した値を用いて前記タイミング調整値Ｔａが更新されることによって、前記フィードバック値が一時的に異常値を示した場合にも、そのような異常値からの前記タイミング調整値Ｔａへの影響は抑制される。
【００６７】
したがって、前記制御システムは、前記フィードバック値が一時的に異常値を示した場合にも、そのような異常値からの影響を抑制して適切な値に更新された前記タイミング調整値Ｔａを用いて、前記出力のタイミングを高精度に調整できるとの効果を奏する。
【００６８】
上記の課題を解決するために、本発明の一態様に係るカウンタユニットの制御方法は、パルス信号のパルス数をカウントして実測値を計測する計測ステップと、前記計測ステップにて計測された前記実測値と目標値との一致を判定する比較ステップと、前記比較ステップにて前記実測値と前記目標値とが一致したと判定されると、アクチュエータへの出力を実行する出力ステップと、を含み、前記出力ステップは、前記出力のタイミングを、前記比較ステップにて前記実測値と前記目標値とが一致したと判定された時点から、タイミング調整値の示す、前記パルス信号の周期から独立した時間が経過した時点に調整する出力遅延ステップを含んでいる。
【００６９】
前記の構成によれば、前記制御方法は、例えば、エンコーダまたは流量計のような、検出量に応じて前記パルス信号を生成するパルス信号生成装置から、前記パルス信号を入力として受け付け、受け付けた前記パルス信号から前記実測値を計測する。そして、前記制御方法は、前記実測値と前記目標値とが一致したと判定すると、一致したと判定した時点から、前記タイミング調整値の示す、前記パルス信号の周期Ｔｐから独立した時間が経過した時点で、前記出力を実行する。以下では、前記タイミング調整値は、「タイミング調整値Ｔａ」とも称する。
【００７０】
従来、前記パルス信号のパルス数をカウントして計測した実測値と目標値とが一致したと判定すると、前記出力を実行するカウンタユニットについて、目標値を増減することにより、前記出力のタイミングを調整する技術が知られている。
【００７１】
ここで、目標値は、「パルス信号の周期（パルス周期Ｔｐ）」に相当する実測値の整数倍でしか増減させることができない。そのため、目標値のみによって出力のタイミングを調整する従来までのカウンタユニットは、出力タイミングの調整に係る分解能がパルス周期Ｔｐに制限される。特に、パルス周期Ｔｐが長い場合、従来までのカウンタユニットは、出力タイミングの精緻な調整ができず、タイミング誤差が大きくなってしまう。また、応答時間はパルス周期Ｔｐにかかわらず一定であるため、パルス周期Ｔｐが変化した場合、従来までのカウンタユニットは、変化するパルス周期Ｔｐに併せて目標値を増減させなければ出力のタイミングを維持できず、ユーザ利便性が低い。
【００７２】
このような従来までのカウンタユニットに対して、前記制御方法は、目標値に加えて、前記パルス信号の周期Ｔｐから独立した時間（待機時間）を示す前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整する。すなわち、前記制御方法は、前記実測値と前記目標値とが一致したと判定した時点から、前記タイミング調整値Ｔａの示す、前記パルス信号の周期Ｔｐから独立した時間が経過した時点に、前記出力のタイミングを調整する。
【００７３】
したがって、前記制御方法は、前記パルス信号の周期Ｔｐに依存せずに、つまり、前記パルス信号の周期Ｔｐから独立して、前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整することができるとの効果を奏する。特に、前記タイミング調整値Ｔａの示す時間は、前記パルス信号の周期Ｔｐから独立しているので、パルス周期Ｔｐが長い場合であっても、前記制御方法は、前記出力のタイミングを精緻に調整することができる。また、前記制御方法は、パルス周期Ｔｐが変化した場合であっても、パルス周期Ｔｐの変化分だけ前記タイミング調整値Ｔａの値を変えるだけで、前記出力のタイミングを容易に調整することができ、ユーザ利便性が高い。
【発明の効果】
【００７４】
本発明の一態様によれば、カウンタユニットは、アクチュエータへの出力のタイミングを、パルス信号の周期に依存せずに調整することができるとの効果を奏する。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態１に係るカウンタユニット等の要部構成を示すブロック図である。
【図２】図１のカウンタユニットを含む制御システムの全体概要を示す図である。
【図３】図２の制御システムの全体において実行される処理の一例を示すフロー図である。
【図４】図１のカウンタユニットが設定するタイミング調整値を説明する図である。
【図５】図１のカウンタユニットと図１のＰＬＣとの接続例を示す図である。
【図６】図１のカウンタユニットが設定するタイミング調整値の詳細を説明する図である。
【図７】図２の制御システムに含まれる各装置の性能等を説明する図である。
【図８】図２の制御システムに含まれる、図７に示した装置以外の各装置の性能等を説明する図である。
【図９】マウントアプリにおける、タイミング調整値の更新方法の概要を示す図である。
【図１０】マウントアプリについて、実際のマウント位置を検知する方法の具体例を示す図である。
【図１１】液体充填アプリについて、実際の充填量を検知する方法の具体例を示す図である。
【図１２】ワークに部品をマウントする処理（マウントアプリ）について、従来技術を示す図である。
【図１３】ワークに液体を充填する処理（液体充填アプリ）について、従来技術を示す図である。
【発明を実施するための形態】
【００７６】
〔実施形態１〕
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図１から図１３に基づいて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。本実施の形態においては、例えばカウンタユニット１０をカウンタユニットの典型例として説明を行う。本発明の一態様に係るカウンタユニット１０についての理解を容易にするため、先ず、カウンタユニット１０を含む制御システム１の概要を、図２を用いて説明する。
【００７７】
§１．適用例
（制御システムの全体概要）
図２は、カウンタユニット１０を含む制御システム１の全体概要を示す図である。図２の（Ａ）に示すように、制御システム１は、カウンタユニット１０と、制御装置（コントローラ）であるＰＬＣ（Programmable Logic Controller）２０と、を含んでいる。図２の（Ａ）に示すように、制御システム１は、さらに、エンコーダ３０等の、パルス信号を生成するセンサ（パルス信号生成装置）と、アクチュエータ４０とを含んでいてもよい。
【００７８】
カウンタユニット１０は、例えばフィールドネットワークを介して、ＰＬＣ２０と通信可能に接続され、ＰＬＣ２０との間で、一定の通信周期ごとに、具体的には、ＰＬＣ２０の制御周期ごとに、データを送受信する。例えば、カウンタユニット１０は、ＰＬＣ２０から、ＰＬＣ２０の制御周期ごとに、目標値およびタイミング調整値Ｔａを受信し、また、ＰＬＣ２０へ、ＰＬＣ２０の制御周期ごとに、カウント値を用いて把握したワーク６０の位置を示す情報を送信する。
【００７９】
また、カウンタユニット１０は、エンコーダ３０およびアクチュエータ４０の各々と通信可能に接続されている。カウンタユニット１０は、エンコーダ３０から、エンコーダ３０が生成したパルス信号（パルス波）を入力として受け付け、受け付けたパルス信号のパルス数をカウントして、つまりカウント値を用いて、ワーク等の状態を計測する。カウンタユニット１０は、例えば、コンベヤに取り付けられたエンコーダ３０からのパルス信号からコンベヤの移動距離を算出し、つまり、コンベヤの上のワークの位置を把握する。以下の説明においては、カウンタユニット１０がパルス信号のパルス数をカウントして計測する「ワーク等の状態（例えば、ワーク等の位置、大きさ、重さなど）」を「実測値」とも称する。
【００８０】
カウンタユニット１０は、コンベヤの移動距離が、つまり、ワーク６０の位置が、ＰＬＣ２０から受信した目標値に一致すると、以下の処理を実行する。すなわち、カウンタユニット１０は、ワーク６０の位置が目標値に一致したと判定した時点から、ＰＬＣ２０から受信したタイミング調整値Ｔａによって示される時間待機してから、アクチュエータ４０へ、所定の信号を出力する。以下の説明においては、実測値と目標値とが一致したと判定したカウンタユニット１０が実行する、アクチュエータ４０への所定の信号の出力を「比較一致出力」とも称する。カウンタユニット１０は、実測値と目標値とが一致したと判定すると、例えば、アクチュエータ４０に、ワーク６０の位置が目標値に一致したことを示す信号を出力する。
【００８１】
カウンタユニット１０は、アクチュエータ４０に所定の信号を出力することによって、アクチュエータ４０に所定の処理（動作）を、つまり、所定の信号に対応する処理を、実行させる。特に、カウンタユニット１０は、アクチュエータ４０への出力のタイミングを調整することによって、アクチュエータ４０が所定の処理を実行するタイミングを調整し、つまり、所望のタイミングでワークの状態を所望の状態にする。
【００８２】
ＰＬＣ２０は、制御システム１全体を制御する制御装置（コントローラ）であり、カウンタユニット１０と通信可能に接続されている。ＰＬＣ２０には、例えば、不図示の表示部および操作部が接続されてもよい。表示部は、画像を表示可能な液晶パネル等で構成され、また、操作部は、典型的には、タッチパネル、キーボード、マウス等で構成される。
【００８３】
ＰＬＣ２０は、アクチュエータ４０が所定のタイミングで所定の処理するように、カウンタユニット１０へ、目標値およびタイミング調整値Ｔａを送信し、特に、目標値およびタイミング調整値Ｔａを一定の通信周期ごとにカウンタユニット１０へ送信する。
【００８４】
エンコーダ３０は、例えば、コンベヤに取り付けられ、コンベヤの移動量に応じて、つまり、ワーク６０の移動量に応じて、パルス信号を生成する。エンコーダ３０は、コンベヤ（つまり、ワーク６０）が所定量移動するごとに、パルス波をカウンタユニット１０に出力する。
【００８５】
アクチュエータ４０は、カウンタユニット１０と接続している。アクチュエータ４０は、カウンタユニット１０からの出力を受け付けると、所定の動作（例えば、アクチュエータ４０が把持している部品を、ワーク６０に取り付ける動作）を実行する。
【００８６】
図２の（Ｂ）に示すように、すなわち、「実測値と目標値とが一致した」と判定してから、「一致した」と判定した時点でカウンタユニット１０が実行した出力をアクチュエータ４０が受け付けるまでには、回路応答に要する時間が必要となる。つまり、アクチュエータ４０がカウンタユニット１０からの出力を受信できる時点は、カウンタユニット１０が「実測値と目標値とが一致した」と判定した時点から、回路応答に要する時間が経過した時点以降の時点となる。
【００８７】
また、アクチュエータ４０がカウンタユニット１０からの出力に対応する処理を実行する時点と、アクチュエータ４０がカウンタユニット１０からの出力を受信した時点との間には、メカ応答に要する時間が必要となる。つまり、アクチュエータ４０がカウンタユニット１０からの出力に対応する処理を実行できるのは、アクチュエータ４０がカウンタユニット１０からの出力を受信した時点から、メカ応答に要する時間が経過した時点以降の時点となる。
【００８８】
そのため、アクチュエータ４０がカウンタユニット１０からの出力に対応する処理を実行できる時点は、最も早くとも、カウンタユニット１０が「実測値と目標値とが一致した」と判定した時点から、図２の（Ｂ）の「応答時間」が経過した時点となる。図２の（Ｂ）の「応答時間」とは、「回路応答に要する時間」と、「メカ応答に要する時間」との合計値であり、「遅延」とも称される。
【００８９】
つまり、「実測値と目標値とが一致した」と判定してからアクチュエータ４０への出力を実行したのでは、カウンタユニット１０は、目標値の時点（＝実測値が目標値に一致した時点）でアクチュエータ４０に所定の処理を実行させることができない。
【００９０】
そこで、制御システム１は、目標値の時点でアクチュエータ４０に所定の処理を実行させるために、実測値との一致が判定される値を「修正目標値」に変更し、また、「タイミング調整値Ｔａ」を用いて、カウンタユニット１０に待機処理を実行させる。
【００９１】
すなわち、「実測値と修正目標値とが一致した」と判定すると、カウンタユニット１０は、タイミング調整値Ｔａによって示される時間待機してから、アクチュエータ４０への出力を実行する。つまり、カウンタユニット１０は、「実測値と修正目標値とが一致した」と判定した時点から、タイミング調整値Ｔａによって示される時間が経過した時点で、アクチュエータ４０への出力を実行する。
【００９２】
これによって、アクチュエータ４０がカウンタユニット１０からの出力を受信する時点は、「実測値と修正目標値とが一致した」と判定された時点から、タイミング調整値Ｔａによって示される時間と回路応答に要する時間との合計時間が経過した時点となる。さらに、アクチュエータ４０がカウンタユニット１０からの出力に対応する処理を実行する時点は、アクチュエータ４０がカウンタユニット１０からの出力を受信した時点から、メカ応答に要する時間が経過した時点である。
【００９３】
したがって、カウンタユニット１０が「実測値と修正目標値とが一致した」と判定した時点から、タイミング調整値Ｔａによって示される時間と応答時間との合計時間が経過した時点において、アクチュエータ４０は、所定の処理を実行する。つまり、図２の（Ｂ）に示すように、アクチュエータ４０は、目標値の時点で所定の処理を実行する。
【００９４】
以上に説明したように、制御システム１は、カウンタユニット１０の比較一致出力の実行タイミングを、カウンタユニット１０とＰＬＣ２０との間の定周期通信（サイクリック通信）によって調整することができる。つまり、カウンタユニット１０は、ＰＬＣ２０から周期的に受信する目標値（修正目標値）とタイミング調整値Ｔａとを用いて、アクチュエータ４０への比較一致出力の実行タイミングを調整する。具体的には、カウンタユニット１０は、パルス信号を用いて計測した実測値が目標値（修正目標値）に一致したと判定した時点から、タイミング調整値Ｔａによって示される時間が経過した時点を、比較一致出力の実行タイミングとする。
【００９５】
ここで、図１２および図１３に示す従来のカウンタユニットは、実測値と比較する（つまり、実測値との一致を判定する）目標値のみによって、タイミング調整値Ｔａを用いずに、比較一致出力の実行タイミングを調整する。そして、目標値は、「１パルス周期Ｔｐ（パルス信号の１周期）」に相当する実測値（移動距離・充填量）の整数倍でしか増減させることができない。そのため、従来のカウンタユニットには、比較一致出力の実行タイミングの調整に係る分解能がパルス周期Ｔｐとなる。
【００９６】
これに対して、カウンタユニット１０は、目標値に加えて、ＰＬＣ２０から受信したタイミング調整値Ｔａを用いて、比較一致出力の実行タイミングを調整する。そして、タイミング調整値Ｔａは、パルス信号の周期Ｔｐとは無関係である。したがって、カウンタユニット１０は、パルス信号の周期Ｔｐに依存せずに、つまり、パルス信号の周期Ｔｐから独立して、比較一致出力タイミングを調整できるので、比較一致出力タイミングについて、高精度の制御が可能になる。
【００９７】
ここで、図２を用いて説明した制御システム１において、カウンタユニット１０は、エンコーダ３０からのパルス信号を用いて計測したワークの位置（実測値）が所定の位置（目標値）に一致したと判定すると、アクチュエータ４０への出力を実行する。
【００９８】
しかしながら、カウンタユニット１０がパルス信号を用いて計測するワークの状態は、ワークの位置に限られるものではない。カウンタユニット１０は、例えば、パルス信号生成装置である流量計からのパルス信号を用いて、ワークに充填される液体の充填量（実測値）を計測してもよい。カウンタユニット１０は、パルス信号を用いて計測したワークへの充填量が所定の充填量（目標値に対応する充填量）に一致したと判定すると、ワークに液体を充填するバルブ等のアクチュエータ４０へ、所定の信号の出力を実行してもよい。
【００９９】
例えば、液体を流す流路である配管と、配管に連結され、充填用液体の充填速度を制御可能なバルブ（アクチュエータ）との間に、管路内の液体の流量に比例したパルス出力信号を出力する流量計を配置する。カウンタユニット１０は、流量計からのパルス信号のパルス数をカウントして、バルブの開閉により制御された液体を受ける被充填容器であるワークへの充填量（実測値）を計測する。ワークへの充填量が所定の充填量（目標値に対応する充填量）に一致したと判定すると、カウンタユニット１０は、バルブへ所定の信号を出力してバルブを閉じさせ、ワークへの液体の充填を停止させる。特に、カウンタユニットは、ワークへの充填量が所定の充填量に一致したと判定すると、その時点からタイミング調整値Ｔａによって示される時間が経過した時点を、バルブへの比較一致出力の実行タイミングとする。
【０１００】
§２．構成例
これまでに図２を用いて概要を説明してきた制御システム１について、以下にその詳細を説明する。図１等を用いて詳細を説明する制御システム１（特に、カウンタユニット１０およびＰＬＣ２０）について、最初に概要を整理しておけば、以下の通りである。
【０１０１】
すなわち、カウンタユニット１０は、パルス信号のパルス数をカウントして実測値を計測する計測部１３０と、計測部１３０により計測された前記実測値と目標値との一致を判定する判定部１４０（比較部）と、判定部１４０により前記実測値と前記目標値とが一致したと判定されると、アクチュエータ４０への出力（比較一致出力）を実行する出力部１５０と、を備える。出力部１５０は、前記出力のタイミングを、判定部１４０により前記実測値と前記目標値とが一致したと判定された時点から、タイミング調整値Ｔａの示す、パルス信号の周期Ｔｐから独立した時間が経過した時点に調整する出力遅延部１６０を含んでいる。
【０１０２】
前記の構成によれば、カウンタユニット１０は、例えば、エンコーダ３０または流量計のような、検出量に応じて前記パルス信号を生成するパルス信号生成装置から、前記パルス信号を入力として受け付け、受け付けた前記パルス信号から前記実測値を計測する。そして、カウンタユニット１０は、前記実測値と前記目標値とが一致したと判定すると、一致したと判定した時点から、前記タイミング調整値Ｔａの示す、前記パルス信号の周期Ｔｐから独立した時間が経過した時点で、前記出力を実行する。
【０１０３】
従来、前記パルス信号のパルス数をカウントして計測した実測値と目標値とが一致したと判定すると、前記出力を実行するカウンタユニットについて、目標値を増減することにより、前記出力のタイミングを調整する技術が知られている。
【０１０４】
ここで、目標値は、「パルス信号の周期（パルス周期Ｔｐ）」に相当する実測値の整数倍でしか増減させることができない。そのため、目標値のみによって出力のタイミングを調整する従来までのカウンタユニットは、出力タイミングの調整に係る分解能がパルス周期Ｔｐに制限される。特に、パルス周期Ｔｐが長い場合、従来までのカウンタユニットは、出力タイミングの精緻な調整ができず、タイミング誤差が大きくなってしまう。また、応答時間はパルス周期Ｔｐにかかわらず一定であるため、パルス周期Ｔｐが変化した場合、従来までのカウンタユニットは、変化するパルス周期Ｔｐに併せて目標値を増減させなければ出力のタイミングを維持できず、ユーザ利便性が低い。
【０１０５】
このような従来までのカウンタユニットに対して、カウンタユニット１０は、目標値に加えて、前記パルス信号の周期Ｔｐから独立した時間（待機時間）を示す前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整する。すなわち、カウンタユニット１０は、前記実測値と前記目標値とが一致したと判定した時点から、前記タイミング調整値Ｔａの示す、前記パルス信号の周期Ｔｐから独立した時間が経過した時点に、前記出力のタイミングを調整する。
【０１０６】
したがって、カウンタユニット１０は、前記パルス信号の周期Ｔｐに依存せずに、つまり、前記パルス信号の周期Ｔｐから独立して、前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整することができるとの効果を奏する。特に、前記タイミング調整値Ｔａの示す時間は、前記パルス信号の周期Ｔｐから独立しているので、パルス周期Ｔｐが長い場合であっても、カウンタユニット１０は、前記出力のタイミングを精緻に調整することができる。また、カウンタユニット１０は、パルス周期Ｔｐが変化した場合であっても、パルス周期Ｔｐの変化分だけ前記タイミング調整値Ｔａの値を変えるだけで、前記出力のタイミングを容易に調整することができ、ユーザ利便性が高い。
【０１０７】
カウンタユニット１０において、出力部１５０は、ハードウェアによる論理回路で構成され、前記タイミング調整値Ｔａの示す時間は、前記論理回路のクロックの整数倍である。
【０１０８】
前記の構成によれば、カウンタユニット１０において、出力部１５０は、ハードウェアによる論理回路で構成される。例えば、出力部１５０は、ＦＰＧＡ（Field Programmable Gate Array）、ＣＰＬＤ（Complex Programmable Logic Device）、および、ＡＳＩＣ（Application Specific Integrated Circuit）の少なくとも１つを用いて実現されてもよい。そして、カウンタユニット１０において、前記タイミング調整値Ｔａの示す時間は、前記論理回路のクロックの整数倍である。
【０１０９】
ここで、出力部１５０をハードウェアによる論理回路によって実現することで、出力部１５０をソフトウェアによって実現する場合に比べて、遅延量をより小さくすることができる。つまり、出力部１５０をハードウェアによる論理回路によって実現することで、出力部１５０をソフトウェアによって実現する場合に比べて、前記タイミング調整値Ｔａの示す時間（待機時間）について、より小さな値を設定することができる。また、出力部１５０をハードウェアによる論理回路によって実現することで、出力部１５０をソフトウェアによって実現する場合に比べて、遅延のばらつきを抑制することができる。
【０１１０】
したがって、カウンタユニット１０は、前記実測値と前記目標値とが一致したと判定すると、出力部１５０をソフトウェアによって実現する場合に比べて、より小さな待機時間で、アクチュエータ４０への出力を実行することができるとの効果を奏する。また、カウンタユニット１０は、出力部１５０をソフトウェアによって実現する場合に比べて、遅延のばらつきを抑制することができるとの効果を奏する。
【０１１１】
カウンタユニット１０は、所定の制御周期でＯＮ／ＯＦＦデータの入出力処理を実行するＰＬＣ２０（制御装置）から、前記目標値と前記タイミング調整値Ｔａとを受信する通信部１１０をさらに備えている。
【０１１２】
前記の構成によれば、カウンタユニット１０は、ＰＬＣ２０から、前記目標値と前記タイミング調整値Ｔａとを受信し、受信した前記目標値と前記タイミング調整値Ｔａとを用いて、前記出力（比較一致出力）のタイミングを調整する。
【０１１３】
ここで、カウンタユニット１０とＰＬＣ２０との通信方式は、特に限定されない。カウンタユニット１０とＰＬＣ２０とは、例えばフィールドネットワークを介して相互に通信可能に接続され、カウンタユニット１０は、フィールドネットワークを介して、ＰＬＣ２０から前記目標値と前記タイミング調整値Ｔａとを受信してもよい。また、カウンタユニット１０は、ＰＬＣ２０と一体に形成されてもよく、つまり、内部バスを介して、ＰＬＣ２０と通信可能に接続されていてもよい。その場合、カウンタユニット１０は、内部バスを介して、ＰＬＣ２０から前記目標値と前記タイミング調整値Ｔａとを受信してもよい。
【０１１４】
例えば、カウンタユニット１０は、前記制御周期ごとに繰り返し前記目標値と前記タイミング調整値ＴａとをＰＬＣ２０から受信し、受信した前記目標値と前記タイミング調整値Ｔａとを用いて、前記出力のタイミングを調整する。
【０１１５】
したがって、カウンタユニット１０は、自装置にて計測した前記実測値と、ＰＬＣ２０から受信した前記目標値とを比較し、また、ＰＬＣ２０から受信した前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整することができるとの効果を奏する。つまり、ユーザは、ＰＬＣ２０がカウンタユニット１０に（例えば周期的に）送信する前記目標値と前記タイミング調整値Ｔａとを用いて、前記出力のタイミングを調整することができる。
【０１１６】
前記タイミング調整値Ｔａは、「カウンタユニット１０からの前記出力（比較一致出力）を受け付けたアクチュエータ４０によって実現されたワーク６０等の実際の状態を示すフィードバック値」を用いて更新された値である。
【０１１７】
前記の構成によれば、カウンタユニット１０は、アクチュエータ４０への前記出力に係るフィードバック値を用いて適切な値に更新された前記タイミング調整値Ｔａを用いて、前記出力のタイミングを高精度に調整することができるとの効果を奏する。
【０１１８】
前記タイミング調整値Ｔａは、「前記出力を受け付けたアクチュエータ４０によって実現されるべき、ワーク６０等の所定の理想的な状態を示す基準値」と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて、更新された値である。
【０１１９】
前記の構成によれば、カウンタユニット１０は、前記基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて適切な値に更新された前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整する。
【０１２０】
ここで、複数の前記フィードバック値を統計処理して算出した値を用いて前記タイミング調整値Ｔａが更新されることによって、前記フィードバック値が一時的に異常値を示した場合にも、そのような異常値からの前記タイミング調整値Ｔａへの影響は抑制される。
【０１２１】
したがって、カウンタユニット１０は、前記フィードバック値が一時的に異常値を示した場合にも、そのような異常値からの影響を抑制して適切な値に更新された前記タイミング調整値Ｔａを用いて、前記出力のタイミングを高精度に調整できるとの効果を奏する。
【０１２２】
これまでに概要を説明したカウンタユニット１０等について、次に、その構成の詳細について図１を参照しながら説明し、その後、カウンタユニット１０等が実行する処理について、図３を参照しながら説明していく。
【０１２３】
（カウンタユニットの詳細）
図１は、制御システム１に含まれる、カウンタユニット１０等の要部構成を示すブロック図である。図１に示すように、カウンタユニット１０は、アクチュエータに実行させる所定の動作について、その実行タイミングを調整する装置であって、機能ブロックとして、通信部１１０、設定部１２０、計測部１３０、判定部１４０、および、出力部１５０を備える。
【０１２４】
通信部１１０は、ＰＬＣ２０から、目標値とタイミング調整値Ｔａとを受信し、特に、ＰＬＣ２０の制御周期ごとに繰り返し、ＰＬＣ２０から、目標値とタイミング調整値Ｔａとを受信する。通信部１１０は、ＰＬＣ２０から受信した目標値とタイミング調整値Ｔａとを設定部１２０に通知する。
【０１２５】
通信部１１０は、例えば、通信ＩＣ（Integrated Circuits）などの集積回路を用いて実現される。具体的には、通信部１１０は、ＦＰＧＡ（Field Programmable Gate Array）、ＣＰＬＤ（Complex Programmable Logic Device）、および、ＡＳＩＣ（Application Specific Integrated Circuit）の少なくとも１つを用いて実現されてもよい。
【０１２６】
設定部１２０は、通信部１１０がＰＬＣ２０から受信した目標値とタイミング調整値Ｔａとを、判定部１４０および出力部１５０に通知する。具体的には、設定部１２０は、通信部１１０がＰＬＣ２０から受信した目標値を判定部１４０に通知し、また、通信部１１０がＰＬＣ２０から受信したタイミング調整値Ｔａを出力部１５０に通知する。
【０１２７】
計測部１３０は、エンコーダ３０等のパルス信号生成装置から、そのパルス信号生成装置によって生成されたパルス信号を受信し、受信したパルス信号のパルス数（カウント値）をカウントして、ワークの位置、充填量などの実測値を計測する。計測部１３０は、パルス信号を用いて計測した実測値を、判定部１４０に通知する。
【０１２８】
判定部１４０は、計測部１３０がパルス信号を用いて計測した実測値が、設定部１２０から通知された目標値（つまり、ＰＬＣ２０から取得した目標値）に一致するかを判定する。判定部１４０は、「実測値が目標値に一致した」と判定すると、「実測値が目標値に一致した」との判定結果を、出力部１５０に通知する。
【０１２９】
設定部１２０は、例えば、ＣＰＵ（Central Processing Unit）またはＭＰＵ（Micro Processor Unit）を用いて、ソフトウェアによって実現される。計測部１３０および判定部１４０はハードウェアにより実現され、例えば、ＭＰＵ内部のカウンタ機能等を利用して実現されてもよく、また、ＦＰＧＡ、ＡＳＩＣなどのＩＣを用いて実現されてもよい。
【０１３０】
出力部１５０は、判定部１４０から「実測値が目標値に一致した」との判定結果を通知されると、アクチュエータ４０へ所定の信号（例えば、「実測値が目標値に一致した」ことを示す信号）を出力し、つまり、所定の出力（比較一致出力）を実行する。出力部１５０は、比較一致出力を実行することによって、アクチュエータ４０に、比較一致出力に対応する所定の処理（動作）を実行させる。
【０１３１】
特に、出力部１５０は、比較一致出力の実行タイミングを調整することによって、アクチュエータ４０が所定の処理（動作）を実行するタイミングを調整し、具体的には、以下のタイミングで、比較一致出力を実行する。すなわち、出力部１５０は、判定部１４０から「実測値が目標値に一致した」との判定結果を通知された時点から、出力遅延部１６０によって設定された時間（待機時間）が経過するまで待機し、待機時間が経過した時点で、比較一致出力を実行する。出力部１５０は、待機時間を設定する出力遅延部１６０を含む。
【０１３２】
出力遅延部１６０は、出力部１５０が「実測値が目標値に一致した」との判定結果を通知された時点から、出力部１５０が比較一致出力（アクチュエータ４０への所定の信号の出力）を実行する時点までの時間間隔である「待機時間」を設定する。出力遅延部１６０は、設定部１２０から通知されたタイミング調整値Ｔａ（つまり、ＰＬＣ２０から取得したタイミング調整値Ｔａ）の示す時間を待機時間として設定し、例えば、タイミング調整値Ｔａを待機時間として設定する。
【０１３３】
前述の通り、タイミング調整値Ｔａは、ＰＬＣ２０から受信する信号（データ）であり、計測部１３０がエンコーダ３０等のパルス信号生成装置から受信するパルス信号の周期とは無関係の、つまり、パルス信号の周期から独立した時間を示す信号である。したがって、出力遅延部１６０は、タイミング調整値Ｔａを用いて、待機時間を、パルス信号の周期から独立した時間に設定することができる。
【０１３４】
出力部１５０は、例えば、集積回路（ＩＣ（Integrated Circuits）チップ）上に形成された論理回路によって、ハードウェアとして構成されてもよく、具体的には、ＦＰＧＡ、ＣＰＬＤ、および、ＡＳＩＣの少なくとも１つを用いて実現されてもよい。出力遅延部１６０は、出力部１５０を構成するＭＰＵ内部（または、ＣＰＬＤ内部）の機能を利用して実現されてもよく、ＦＰＧＡまたはＡＳＩＣといったハードウェアで構成されてもよい。
【０１３５】
また、出力部１５０を構成するハードウェアは、通信部１１０を構成するハードウェアとは別個のハードウェアであり、設定部１２０、計測部１３０、および、判定部１４０を実現するＣＰＵ（またはＭＰＵ）とも別個のハードウェアであってもよい。すなわち、カウンタユニット１０は、通信ＩＣ（通信部１１０）、設定部１２０、計測部１３０、および、判定部１４０を実現するＣＰＵ（またはＭＰＵ）、および、出力部１５０を構成するハードウェアという３つのハードウェアを含んでいてもよい。
【０１３６】
（ＰＬＣの詳細）
ＰＬＣ２０は、所定の制御周期でＯＮ／ＯＦＦデータの入出力処理を実行する制御装置であり、例えば、所定の制御周期で、カウンタユニット１０に、目標値とタイミング調整値Ｔａとを送信する。
【０１３７】
図１において、ＰＬＣ２０は撮像装置５０（状態検知装置）と接続しており、つまり、図１に示す制御システム１は、カウンタユニット１０と、ＰＬＣ２０と、撮像装置５０と、を含んでいる。
【０１３８】
ＰＬＣ２０は、撮像装置５０から、カウンタユニット１０からの比較一致出力を受け付けたアクチュエータ４０によって実現されたワーク６０の実際の状態を示すデータ（撮像画像データ）を、比較一致出力に係るフィードバック値として取得する。特に、ＰＬＣ２０は、ＰＬＣ２０の制御周期ごとに繰り返し、撮像装置５０から、フィードバック値としての撮像画像データを取得する。
【０１３９】
図１に示すように、ＰＬＣ２０は、機能ブロックとして、記憶部２１０と、タイミング算出部２２０（更新部）とを備えている。ＰＬＣ２０は、上述の各機能ブロックに加えて、撮像装置５０から撮像画像データを取得する不図示の取得部などを備えていてもよいが、記載の簡潔性を担保するため、本実施の形態に直接関係のない構成は、説明およびブロック図から省略している。ただし、実施の実情に則して、ＰＬＣ２０は、当該省略された構成を備えてもよい。タイミング算出部２２０は、例えば、ＣＰＵ（central processing unit）等が、ＲＯＭ（read only memory）、ＮＶＲＡＭ（non-Volatile random access memory）等で実現された記憶装置（記憶部２１０）に記憶されているプログラムを不図示のＲＡＭ（random access memory）等に読み出して実行することで実現できる。以下、ＰＬＣ２０におけるタイミング算出部２２０について説明する。
【０１４０】
タイミング算出部２２０は、撮像装置５０からフィードバック値として取得した撮像画像データから、「カウンタユニット１０からの比較一致出力を受け付けたアクチュエータ４０によって実現されたワーク６０の実際の位置（フィードバック値）」を特定する。タイミング算出部２２０は、特定したワーク６０の実際の位置を示す情報（フィードバック値）を用いて、タイミング調整値Ｔａを更新する。
【０１４１】
例えば、タイミング算出部２２０は、撮像装置５０から取得した複数の撮像画像データから、複数のフィードバック値を特定し、特定した複数のフィードバック値の平均値を算出する。そして、タイミング算出部２２０は、算出した平均値と、「比較一致出力を受け付けたアクチュエータ４０によって実現されるべき、ワーク６０の所定の理想的な位置（状態）」を示す基準値との差異を用いて、タイミング調整値Ｔａを更新する。タイミング算出部２２０による、フィードバック値を用いたタイミング調整値Ｔａの更新について、詳細は図９等を用いて後述する。
【０１４２】
ＰＬＣ２０は、タイミング算出部２２０によって更新されたタイミング調整値Ｔａと目標値とを、カウンタユニット１０に送信する。カウンタユニット１０はＰＬＣ２０から受信する最新のタイミング調整値Ｔａ（タイミング算出部２２０によって更新されたタイミング調整値Ｔａ）と目標値とを用いて、比較一致出力を実行する。
【０１４３】
記憶部２１０は、ＰＬＣ２０が使用する各種データを格納する記憶装置である。なお、記憶部２１０は、ＰＬＣ２０が実行する（１）制御プログラム、（２）ＯＳプログラム、（３）ＰＬＣ２０が有する各種機能を実行するためのアプリケーションプログラム、および、（４）該アプリケーションプログラムを実行するときに読み出す各種データを非一時的に記憶してもよい。上記の（１）〜（４）のデータは、例えば、ＲＯＭ（read only memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（登録商標）（Electrically EPROM）、ＨＤＤ（Hard Disc Drive）等の不揮発性記憶装置に記憶される。ＰＬＣ２０は、図示しない一時記憶部を備えていてもよい。一時記憶部は、ＰＬＣ２０が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、ＲＡＭ（Random Access Memory）等の揮発性記憶装置で構成される。どのデータをどの記憶装置に記憶するのかについては、ＰＬＣ２０の使用目的、利便性、コスト、または、物理的な制約等から適宜決定される。記憶部２１０はさらに、基準値および目標値を格納している。
【０１４４】
基準値は、「カウンタユニット１０からの比較一致出力を受け付けたアクチュエータ４０によって実現されるべき、ワーク６０等の所定の理想的な状態」を示すデータである。基準値は、例えば、マウントアプリにおける、「アクチュエータ４０によってマウント部材７０が取り付けられる時点における、ワーク６０の理想的な位置」を示す設定マウント位置である。また、液体充填アプリにおける、「バルブが閉じて充填が停止した時点における、ワークの理想的な重量・累積量（つまり、理想的な充填量）」も、基準値の一例として挙げることができる。
【０１４５】
目標値は、基準値に対応する「ワーク６０等の所定の理想的な状態」を実現するためにカウンタユニット１０に送信される、カウンタユニット１０によって実測値との一致が判定する値である。ここで、目標値と実測値とが一致したと判定された時点から、タイミング調整値Ｔａの示す待機時間と応答時間との合計時間が経過した時点が、ワーク６０等が、基準値に対応する所定の理想的な状態となる時点である。つまり、「ワーク６０等が、基準値に対応する所定の理想的な状態となる時点」から「タイミング調整値Ｔａの示す待機時間と応答時間との合計時間」をさかのぼった時点に対応する実測値（例えば、図２の（Ｂ）における修正目標値）が、目標値に設定される。
【０１４６】
目標値は、例えばマウントアプリにおける動作開始位置であり、カウンタユニット１０は、「ワーク６０の位置（実測値）が動作開始位置に到達した」と判定した時点から、タイミング調整値Ｔａの示す待機時間を待機して、比較一致出力を実行する。また、目標値は、例えば液体充填アプリにおけるバルブ閉動作開始量であり、カウンタユニット１０は、「充填量（実測値）がバルブ閉動作開始量に一致した」と判定した時点から、タイミング調整値Ｔａの示す待機時間を待機して、比較一致出力を実行する。
【０１４７】
すなわち、ＰＬＣ２０（制御装置）は、タイミング算出部２２０（更新部）を備え、タイミング算出部２２０によって更新された前記タイミング調整値Ｔａと前記目標値とを、カウンタユニット１０に送信する。タイミング算出部２２０は、「カウンタユニット１０からの前記出力を受け付けたアクチュエータ４０によって実現されたワーク６０等の実際の状態を示す値」を、前記出力に係るフィードバック値として用いて、前記タイミング調整値Ｔａを更新する。
【０１４８】
前記の構成によれば、ＰＬＣ２０は、前記フィードバック値を用いて前記タイミング調整値Ｔａを適切な値に更新し、更新した前記タイミング調整値Ｔａと前記目標値とを、カウンタユニット１０に送信する。
【０１４９】
したがって、ＰＬＣ２０は、適切な値に更新した前記タイミング調整値Ｔａと前記目標値とを送信することによって、前記出力のタイミングを、前記パルス信号の周期Ｔｐから独立した適切な時点に調整することができるとの効果を奏する。
【０１５０】
ここで、ＰＬＣ２０は、例えば、撮像装置５０（カメラ）、各種のセンサ（具体的には、変位センサ、ロードセル、および、レーザー等を用いた距離計測装置など）等を用いて実現される状態検知装置から、前記フィードバック値を取得してもよい。また、ＰＬＣ２０は、カウンタユニット１０と一体に形成されもよい。
【０１５１】
タイミング算出部２２０は、前記出力を受け付けたアクチュエータ４０によって実現されるべき、ワーク６０等の所定の理想的な状態を示す基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて、前記タイミング調整値Ｔａを更新する。
【０１５２】
前記の構成によれば、ＰＬＣ２０は、前記基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて、前記出力のタイミングを調整するための前記タイミング調整値Ｔａを、適切な値に更新する。
【０１５３】
ここで、複数の前記フィードバック値を統計処理して算出した値を用いて前記タイミング調整値Ｔａが更新されることによって、前記フィードバック値が一時的に異常値を示した場合にも、そのような異常値からの前記タイミング調整値Ｔａへの影響は抑制される。
【０１５４】
したがって、ＰＬＣ２０は、前記フィードバック値が一時的に異常値を示した場合にも、前記タイミング調整値Ｔａを、そのような異常値からの影響を抑制した適切な値に更新することができるとの効果を奏する。
【０１５５】
（撮像装置の詳細）
撮像装置５０（状態検知装置）は、カウンタユニット１０からの比較一致出力を受け付けたアクチュエータ４０によって実現されたワーク６０の実際の状態を撮像し、撮像画像データを、比較一致出力に係るフィードバック値として、ＰＬＣ２０に送信する。特に、撮像装置５０は、ワーク６０の実際の状態を撮影する度に、撮像画像データをＰＬＣ２０に送信する。
【０１５６】
例えば、撮像装置５０は、比較一致出力を受け付けたアクチュエータ４０によってマウント部材７０が取り付けられた時点における、ワーク６０の状態（具体的には、マウント部材７０が取り付けられた時点における、ワーク６０の位置）を撮像する（検知する）。撮像装置５０は、撮像によって生成した撮像画像データを、比較一致出力に係るフィードバック値として、ＰＬＣ２０に送信する。
【０１５７】
（制御システムの全体）
図１に例示するように、制御システム１は、カウンタユニット１０と、ＰＬＣ２０と、撮像装置５０等の状態検知装置と、を含んでいる。状態検知装置は、カウンタユニット１０からの前記出力を受け付けたアクチュエータ４０によって実現されたワーク６０等の実際の状態を検知し、検知したワーク６０の実際の状態を示す値を、前記フィードバック値として、ＰＬＣ２０に送信する。
【０１５８】
前記の構成によれば、制御システム１は、カウンタユニット１０と、ＰＬＣ２０と、前記状態検知装置と、を含んでいる。そして、制御システム１においてカウンタユニット１０は、ＰＬＣ２０のタイミング算出部２２０によって更新された前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整する。
【０１５９】
制御システム１は、前記状態検知装置が検知した前記フィードバック値を用いて、前記タイミング調整値Ｔａを適切な値に更新することができるとの効果を奏する。また、制御システム１は、適切な値に更新された前記タイミング調整値Ｔａを用いて、前記出力のタイミングを、前記パルス信号の周期Ｔｐから独立したタイミングに調整することができるとの効果を奏する。
【０１６０】
特に、前記タイミング調整値Ｔａの示す時間は、前記パルス信号の周期Ｔｐから独立しているので、パルス周期Ｔｐが長い場合であっても、制御システム１は、前記出力のタイミングを精緻に調整することができる。また、制御システム１は、パルス周期Ｔｐが変化した場合であっても、パルス周期Ｔｐの変化分だけ前記タイミング調整値Ｔａの値を変えるだけで、前記出力のタイミングを容易に調整することができ、ユーザ利便性が高い。
【０１６１】
ここで、前記状態検知装置は、例えば、撮像装置５０（カメラ）、各種のセンサ（具体的には、変位センサ、ロードセル、および、レーザー等を用いた距離計測装置など）等を用いて実現することができる。また、カウンタユニット１０とＰＬＣ２０とは一体に形成されてもよい。
【０１６２】
制御システム１において、ＰＬＣ２０は、前記出力を受け付けたアクチュエータ４０によって実現されるべき、ワーク６０の所定の理想的な状態を示す基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて、前記タイミング調整値Ｔａを更新する。
【０１６３】
前記の構成によれば、制御システム１は、前記基準値と、複数の前記フィードバック値を統計処理して算出した値との差異を用いて更新される前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整する。
【０１６４】
ここで、複数の前記フィードバック値を統計処理して算出した値を用いて前記タイミング調整値Ｔａが更新されることによって、前記フィードバック値が一時的に異常値を示した場合にも、そのような異常値からの前記タイミング調整値Ｔａへの影響は抑制される。
【０１６５】
したがって、制御システム１は、前記フィードバック値が一時的に異常値を示した場合にも、そのような異常値からの影響を抑制して適切な値に更新された前記タイミング調整値Ｔａを用いて、前記出力のタイミングを高精度に調整できるとの効果を奏する。
【０１６６】
§３．動作例
図３は、制御システム１の全体において実行される処理の一例を示すフロー図である。図３に示すように、ＰＬＣ２０のタイミング算出部２２０は、タイミング調整値更新処理として、撮像装置５０等の状態検知装置から、フィードバック量（つまり、比較一致出力に係るフィードバック値）を取得する（Ｓ２１０）。
【０１６７】
ＰＬＣ２０が状態検知装置から取得するフィードバック量は、各アプリにおいて、比較一致出力を受け付けたアクチュエータ４０によって実現された、ワーク６０等の実際の状態を示すデータである。フィードバック量は、例えば、マウントアプリ（制御システム１が、アクチュエータ４０に、ワーク６０へのマウント部材７０の取り付けを実行させる処理）であれば実際のマウント位置を示すデータであり、詳細は図１０等を用いて後述する。また、フィードバック量は、例えば、液体充填アプリ（制御システム１が、アクチュエータであるバルブに、ワークへの液体充填を停止させる処理）であれば実際の充填量を示すデータであり、詳細は図１１等を用いて後述する。
【０１６８】
タイミング算出部２２０は、Ｓ２１０で取得したフィードバック量を用いて、タイミング調整値Ｔａの算出（更新）を実行する（Ｓ２２０）。そして、ＰＬＣ２０は、Ｓ２２０でタイミング算出部２２０によって算出（更新）されたタイミング調整値Ｔａをカウンタユニット１０に送信する（Ｓ２３０）。
【０１６９】
カウンタユニット１０の通信部１１０は、タイミング調整値設定処理として、Ｓ２３０でＰＬＣ２０が送信したタイミング調整値Ｔａを取得し（Ｓ１１０）、例えば、ＰＬＣ２０の制御周期ごとに繰り返し、目標値と共に最新のタイミング調整値Ｔａを取得する。そして、カウンタユニット１０の出力遅延部１６０は、Ｓ１１０で取得したタイミング調整値Ｔａを、待機時間として、つまり、出力遅延として、設定する（Ｓ１２０、出力遅延ステップ）。
【０１７０】
カウンタユニット１０において、計測部１３０は、エンコーダ３０等のパルス信号生成装置からのパルス信号を用いて、ワークの位置、充填量などの実測値を計測する（計測ステップ）。判定部１４０は、計測ステップにて計測された実測値が目標値に一致するかを判定し（判定ステップ）、判定ステップにおいて実測値と目標値とが一致したと判定されると、出力部１５０は、アクチュエータ４０への比較一致出力を実行する（出力ステップ）。特に、出力部１５０は、判定ステップにおいて実測値と目標値とが一致したと判定された時点から、出力遅延ステップ（Ｓ１２０）において出力遅延部１６０が設定した待機時間が経過した時点で、比較一致出力を実行する。
【０１７１】
これまでに図３を参照しながら説明してきたカウンタユニット１０が実行する処理（言い換えれば、カウンタユニット１０が実行する制御方法）は、以下のように整理することができる。すなわち、カウンタユニット１０が実行する処理（制御方法）は、パルス信号のパルス数をカウントして実測値を計測する計測ステップと、前記計測ステップにて計測された前記実測値と目標値との一致を判定する比較ステップと、前記比較ステップにて前記実測値と前記目標値とが一致したと判定されると、アクチュエータへの出力を実行する出力ステップと、を含み、前記出力ステップは、前記出力のタイミングを、前記比較ステップにて前記実測値と前記目標値とが一致したと判定された時点から、タイミング調整値の示す、前記パルス信号の周期から独立した時間が経過した時点に調整する出力遅延ステップ（Ｓ１２０）を含んでいる。
【０１７２】
前記の構成によれば、前記制御方法は、例えば、エンコーダ３０または流量計のような、検出量に応じて前記パルス信号を生成するパルス信号生成装置から、前記パルス信号を入力として受け付け、受け付けた前記パルス信号から前記実測値を計測する。そして、前記制御方法は、前記実測値と前記目標値とが一致したと判定すると、一致したと判定した時点から、前記タイミング調整値Ｔａの示す、前記パルス信号の周期Ｔｐから独立した時間が経過した時点で、前記出力を実行する。
【０１７３】
従来、前記パルス信号のパルス数をカウントして計測した実測値と目標値とが一致したと判定すると、前記出力を実行するカウンタユニットについて、目標値を増減することにより、前記出力のタイミングを調整する技術が知られている。
【０１７４】
ここで、目標値は、「パルス信号の周期（パルス周期Ｔｐ）」に相当する実測値の整数倍でしか増減させることができない。そのため、目標値のみによって出力のタイミングを調整する従来までのカウンタユニットは、出力タイミングの調整に係る分解能がパルス周期Ｔｐに制限される。特に、パルス周期Ｔｐが長い場合、従来までのカウンタユニットは、出力タイミングの精緻な調整ができず、タイミング誤差が大きくなってしまう。また、応答時間はパルス周期Ｔｐにかかわらず一定であるため、パルス周期Ｔｐが変化した場合、従来までのカウンタユニットは、変化するパルス周期Ｔｐに併せて目標値を増減させなければ出力のタイミングを維持できず、ユーザ利便性が低い。
【０１７５】
このような従来までのカウンタユニットに対して、前記制御方法は、目標値に加えて、前記パルス信号の周期Ｔｐから独立した時間（待機時間）を示す前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整する。すなわち、前記制御方法は、前記実測値と前記目標値とが一致したと判定した時点から、前記タイミング調整値Ｔａの示す、前記パルス信号の周期Ｔｐから独立した時間が経過した時点に、前記出力のタイミングを調整する。
【０１７６】
したがって、前記制御方法は、前記パルス信号の周期Ｔｐに依存せずに、つまり、前記パルス信号の周期Ｔｐから独立して、前記タイミング調整値Ｔａを用いて、前記出力のタイミングを調整することができるとの効果を奏する。特に、前記タイミング調整値Ｔａの示す時間は、前記パルス信号の周期Ｔｐから独立しているので、パルス周期Ｔｐが長い場合であっても、前記制御方法は、前記出力のタイミングを精緻に調整することができる。また、前記制御方法は、パルス周期Ｔｐが変化した場合であっても、パルス周期Ｔｐの変化分だけ前記タイミング調整値Ｔａの値を変えるだけで、前記出力のタイミングを容易に調整することができ、ユーザ利便性が高い。
【０１７７】
（タイミング調整値の概要）
図４は、カウンタユニット１０が設定するタイミング調整値Ｔａを説明する図である。カウンタユニット１０は、パルス信号を用いて計測した実測値と目標値とが一致したと判定すると実行する、「アクチュエータ４０への出力（比較一致出力）」のタイミングを、パルス信号の周期Ｔｐに依存せずに調整することにより、高精度の制御を可能とする。
【０１７８】
図４の（Ａ）は、ワーク６０に部品（図１に示す例ではマウント部材７０）をマウントする処理（マウントアプリ）について、カウンタユニット１０が設定するタイミング調整値Ｔａを説明する図である。
【０１７９】
カウンタユニット１０は、エンコーダ３０からのパルス信号のパルス数をカウントすることによって、つまり、カウント値によって、ワーク６０（言い換えれば、コンベヤ）の移動量を算出して、ワーク６０の位置（実測値）を把握する。カウンタユニット１０は、「ワーク６０が開始位置（目標値）に到達した」と判定した時点からタイミング調整値Ｔａ（待機時間）が経過した時点で、アクチュエータ４０への出力を実行する。そして、「ワーク６０が開始位置に到達した」と判定された時点から、「応答時間とタイミング調整値Ｔａとの合計時間」が経過した時刻に、アクチュエータ４０は、マウント部材７０をワーク６０に取り付ける（マウントする）。
【０１８０】
カウンタユニット１０が、タイミング調整値Ｔａの時間分だけ待機してから、アクチュエータ４０への出力を実行することによって、アクチュエータ４０は、ワーク６０上の理想的な位置に、マウント部材７０を取り付けることができるようになる。つまり、カウンタユニット１０は、アクチュエータ４０への出力を、タイミング調整値Ｔａの時間分だけ待機することによって、マウント部材７０の実際のマウント位置を、マウント部材７０の理想的なマウント位置に一致させる。
【０１８１】
図４の（Ｂ）は、ワーク６０に液体を充填する処理（液体充填アプリ）について、カウンタユニット１０が設定するタイミング調整値Ｔａを説明する図である。
【０１８２】
カウンタユニット１０は、パルス信号生成装置である流量計からのパルス信号のパルス数をカウントすることによって、つまり、カウント値によって、ワーク６０への液体の充填量を算出して、ワーク６０に充填された液体の充填量を把握する。カウンタユニット１０は、「カウント値（つまり、パルス信号のパルス数）が比較カウント値（目標値）に一致した」と判定した時点からタイミング調整値Ｔａ（待機時間）が経過した時点で、バルブ（つまり、アクチュエータ）への出力を実行する。そして、「カウント値が比較カウント値に一致した」と判定された時点から、「応答時間とタイミング調整値Ｔａとの合計時間」が経過した時刻に、バルブは、ワーク６０への液体の充填を停止する。
【０１８３】
カウンタユニット１０が、タイミング調整値Ｔａの時間分だけ待機してから、バルブへの出力を実行することによって、バルブは、ワーク６０への実際の充填量を、ワーク６０への充填量の目標値（理想的な充填量）に一致させることができるようになる。つまり、カウンタユニット１０は、バルブへの出力を、タイミング調整値Ｔａの時間分だけ待機することによって、ワーク６０への充填量実際値を、ワーク６０への充填量目標値に一致させる。
【０１８４】
（カウンタユニットとＰＬＣとの接続例）
カウンタユニット１０とＰＬＣ２０とは、一定の通信周期ごとに相互に信号（データ）を送受信できるように通信可能に接続されていればよく、カウンタユニット１０とＰＬＣ２０との接続方式は特に限定されない。
【０１８５】
図５は、カウンタユニット１０とＰＬＣ２０との接続例を示す図である。カウンタユニット１０とＰＬＣ２０とは、相互に通信可能に接続され、特に、所定の通信周期（例えば、ＰＬＣ２０の制御周期）で繰り返し、相互にデータを送受信する。カウンタユニット１０は、ＰＬＣ２０と周期的に通信できればよく、カウンタユニット１０とＰＬＣ２０との間のバス／ネットワーク構成は、特に限定されない。
【０１８６】
すなわち、図５の（Ａ）に示すように、カウンタユニット１０とＰＬＣ２０とは、ＰＬＣ直結バスを介して、相互に通信可能に接続されていてもよい。つまり、カウンタユニット１０は、ＰＬＣ２０と一体的に（言い換えれば、ＰＬＣ２０の機能ユニットとして）構成され、カウンタユニット１０とＰＬＣ２０（特に、ＰＬＣ２０のＣＰＵユニット）とが内部バスによって接続されてもよい。
【０１８７】
また、図５の（Ｂ）に示すように、カウンタユニット１０とＰＬＣ２０とは、フィールドネットワークを介して、相互に通信可能に接続されていてもよい。カウンタユニット１０とＰＬＣ２０とを接続するフィールドネットワークとしては、典型的には、各種の産業用イーサネット（登録商標）を用いることができる。産業用イーサネット（登録商標）としては、たとえば、ＥｔｈｅｒＣＡＴ（登録商標）、Ｐｒｏｆｉｎｅｔ ＩＲＴ、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩ、Ｐｏｗｅｒｌｉｎｋ、ＳＥＲＣＯＳ（登録商標）−ＩＩＩ、ＣＩＰ Ｍｏｔｉｏｎなどが知られており、これらのうちのいずれを採用してもよい。さらに、産業用イーサネット（登録商標）以外のフィールドネットワークを用いてもよい。たとえば、モーション制御を行わない場合であれば、ＤｅｖｉｃｅＮｅｔ、ＣｏｍｐｏＮｅｔ／ＩＰ（登録商標）などを用いてもよい。図５の（Ｂ）に示す例では、ＰＬＣ２０をマスタ装置とするマスタスレーブ制御システムにおいて、スレーブ装置としてのカウンタユニット１０が、フィールドネットワークを介して、ＰＬＣ２０に接続されている。
【０１８８】
さらに、図５の（Ｃ）に示すように、カウンタユニット１０とＰＬＣ２０とは、ＩＯターミナル内部バスを介して、相互に通信可能に接続されていてもよい。より正確には、カウンタユニット１０とカプラユニット（通信カプラ）とは、ＩＯターミナル内部バス（内部バス）を介して互いに通信可能に接続され、一体となってＩＯユニットを構成してもよい。そして、ＰＬＣ２０をマスタ装置とするマスタスレーブ制御システムにおいて、カウンタユニット１０とカプラユニットとを含むＩＯユニットは、スレーブ装置として、フィールドネットワークを介して、ＰＬＣ２０に接続されていてもよい。
【０１８９】
（タイミング調整値の詳細）
図６は、カウンタユニット１０が設定するタイミング調整値Ｔａの詳細を説明する図である。出力部１５０をハードウェアによって実現した場合、タイミング調整値Ｔａは、出力部１５０を実現するハードウェアのクロック周波数に依存し、つまり、タイミング調整値Ｔａは、１クロックの整数倍となる。したがって、例えば、出力部１５０を、４０ＭＨｚのクロック周波数で動作するハードウェアによって実現した場合、カウンタユニット１０は、１クロック（つまり、２５ｎｓ）の分解能で、アクチュエータ４０への出力のタイミングを調整することができる。つまり、出力部１５０がアクチュエータ４０への出力のタイミングを４０ＭＨｚのクロックで制御する場合、タイミング調整値Ｔａは１クロック（つまり、２５ｎｓ）の整数倍で設定でき、カウンタユニット１０の出力タイミングに係る分解能は２５ｎｓとなる。
【０１９０】
例えば、最速出力として、タイミング調整値Ｔａについて「２５ｎｓ」を設定でき、その場合、カウンタユニット１０は、「パルス信号を用いて計測した実測値と目標値とが一致した」と判定した時点から２５ｎｓ後に、アクチュエータ４０への出力を実行する。
【０１９１】
また、タイミング調整値Ｔａについて「最速出力から１クロック遅延させた値」を設定した場合、カウンタユニット１０は、「パルス信号を用いて計測した実測値と目標値とが一致した」と判定した時点から５０ｎｓ後に、アクチュエータ４０への出力を実行する。
【０１９２】
同様に、タイミング調整値Ｔａについて「最速出力から２クロック遅延させた値」を設定した場合、カウンタユニット１０は、「一致した」と判定した時点から７５ｎｓ後に、アクチュエータ４０への出力を実行する。
【０１９３】
（制御システムに含まれる各装置の性能例）
図７は、制御システム１に含まれるＰＬＣ２０およびカウンタユニット１０の性能等を説明する図である。図７の（Ａ）に示すように、ＰＬＣ２０の制御周期（タスク周期）は、例えば、「０．５ｍｓ」から「４ｍｓ」であり、デフォルトでは「１ｍｓ」である。ここで、「制御周期」とは、ＯＮ／ＯＦＦデータの読み出し周期を指す。
【０１９４】
ＰＬＣ２０によってパルス信号のパルス数をカウントするためには、タスク周期がパルス信号の周期Ｔｐの半分以下である必要がある。したがって、ＰＬＣ２０のタスク周期が「１ｍｓ」の場合、ＰＬＣ２０がパルス数をカウントすることのできるパルス信号の周期は、「２ｍｓ（つまり、５００Ｈｚ）」が限界となる。
【０１９５】
図７の（Ｂ）に示すように、カウンタユニット１０の最大応答周波数は、例えば、「５０００００Ｈｚ」または「４００００００Ｈｚ」であり、ＰＬＣ２０の読み出し周期（制御周期）に比べて、カウンタユニット１０の最大応答周波数は桁違いに大きい。カウンタユニット１０は、ＰＬＣ２０がカウントすることのできるパルス信号に比べて、桁違いに高速な周期のパルス信号をカウントすることができる。
【０１９６】
図８は、制御システム１に含まれるエンコーダ３０および流量計などのパルス信号生成装置の性能等を説明する図である。図８の（Ａ）に示すように、例えば、７２０分解能で３００ｒｐｍ（１秒間に５回転）のエンコーダ３０は、１秒間に「７２０＊５＝３６００パルス」、つまり、３６００Ｈｚであるため、パルス周期は「１／３６００＝２７８μｓ」である。
【０１９７】
したがって、タイミング調整値Ｔａを用いずに目標値のみによって出力タイミングを調整しようとする場合、出力タイミング（言い換えれば、タイミング調整）に係る分解能は「２７８μｓ」となる。同じ速度で、タイミング調整値Ｔａを用いずにタイミング調整に係る分解能をこれ以上向上させたい場合、分解能が高い（つまり、パルス周期がより高速な）エンコーダを使用する必要があるが、これは、エンコーダ３０の調達コストが上昇することを意味する。
【０１９８】
図８の（Ｂ）に示すように、例えば、最大６０００Ｈｚの半分の３０００Ｈｚのパルス信号を出力する流量計の場合、パルス周期は「１／３０００＝３３３μｓ」となる。流量計は、一般的に、エンコーダよりも低速のパルスを生成するパルス信号生成装置である。
【０１９９】
タイミング調整値Ｔａを用いずに目標値のみによってタイミング調整を高精度で行いたい場合、エンコーダと同じく、高分解能の流量計が必要となり、これは、流量計の調達コストが上昇することを意味する。
【０２００】
（タイミング調整値Ｔａの更新）
図９は、マウントアプリにおける、タイミング調整値Ｔａの更新方法の概要を示す図である。ＰＬＣ２０のタイミング算出部２２０は、カウンタユニット１０による比較一致出力に係るフィードバック値の統計処理を行い、例えば、複数のフィードバック値の平均値を算出する。カウンタユニット１０による比較一致出力に係るフィードバック値とは、カウンタユニット１０からの比較一致出力を受け付けたアクチュエータ４０によって実現された、「ワーク６０等の実際の状態」を示す値であり、その一例は、後述するマウント位置である。
【０２０１】
タイミング算出部２２０は、フィードバック値に係る統計値（例えば、平均値）に変化が生じたと判定すると、タイミング調整値Ｔａの調整を行い、つまり、フィードバック値に係る統計値の基準値からの差異を打ち消すように、タイミング調整値Ｔａを更新する。基準値とは、カウンタユニット１０からの比較一致出力を受け付けたアクチュエータ４０によって実現されるべき、「ワーク６０等の、所定の理想的な状態」を示す値であり、その一例は、所定の理想的なマウント位置である。
【０２０２】
タイミング算出部２２０は、例えば、フィードバック値として位置データ（マウント位置を示すデータ）を常時ロギングし、一定時間毎に、フィードバック値の平均値について、基準値を用いてｔ検定などの統計的検定を行う。統計的検定により、「フィードバック値の平均値が、正常時から有意に変化している」と判定すると、タイミング算出部２２０は、フィードバック値の平均値の変化（基準値からの差異）を打ち消すように、タイミング調整値Ｔａの更新を実行する。
【０２０３】
図９の（Ａ）は、マウントアプリにおけるフィードバック値としての「ワーク６０のマウント位置ｘ」について説明する図である。マウント位置ｘは、図９の（Ａ）のローカル座標系における、マウント部材７０が取り付けられたワーク６０の位置を示しており、言い換えれば、ワーク６０における、マウント部材７０の取り付け位置を示している。図９において、ワーク６０は、コンベヤに載せられて、紙面左側から紙面右側へと速度一定で移動しているものとすると、マウント位置ｘは、以下の位置を示している。すなわち、マウント位置ｘは、コンベヤの移動方向に係る、ワーク６０における、マウント部材７０の取り付け位置を示している。
【０２０４】
図９の（Ｂ）には、基準値に係る統計分布が示されており、「平均値が、基準値に一致する」フィードバック値（＝マウント位置ｘ）を「正常時のフィードバック値」と表現すれば、正常時のフィードバック値に係る統計分布が示されている。図９の（Ｂ）に示す「正常時のフィードバック値（つまり、基準値）に係る統計分布」において、横軸はマウント位置ｘの平均値を、縦軸は確率密度を示している。タイミング算出部２２０は、図９の（Ｂ）に例示するような「正常時のフィードバック値に係る統計分布」を、例えば、予めティーチ等を用いて取得しておく。図９の（Ｂ）に示す「正常時のフィードバック値（つまり、基準値）に係る統計分布」は、図９の（Ｃ）においては、点線で示している。
【０２０５】
図９の（Ｃ）に示すように、タイミング算出部２２０は、ｔ検定などの統計的検定によって、フィードバック値が基準値（つまり、「正常時のフィードバック値」）から所定の大きさ以上乖離したかを判定する。そして、タイミング算出部２２０は、フィードバック値が基準値から所定の大きさ以上乖離したと判定すると、両者の乖離を解消するように、タイミング調整値Ｔａを変更する（更新する）。
【０２０６】
例えば、タイミング算出部２２０は、フィードバック値の平均値と基準値とのずれ（差異）が所定値以上となると、異常時（異常が発生した）と判定する。そして、異常が発生したと判定したタイミング算出部２２０は、ずれを補正するように、タイミング調整値Ｔａを調整する。
【０２０７】
図９の（Ｃ）に示す例では、実線で示すフィードバック値の平均値は、点線で示す基準値（正常時のフィードバック値の平均値）から所定の大きさ以上、紙面右側にずれており、つまり、マウント位置が理想的なマウント位置よりも紙面右側にずれている。これは、マウント時点（マウント部材７０が取り付けられる時点）において、ワーク６０が、図９の（Ｂ）に例示する正常時における「マウント時のワーク６０の位置」よりも、紙面左側にずれていることを示している。
【０２０８】
そこで、タイミング算出部２２０は、フィードバック値の平均値を紙面右側に移動させるために、つまり、マウント部材７０が取り付けられる時点におけるワーク６０の位置の平均値を紙面右側に移動させるために、タイミング調整値Ｔａの値を大きくする。ワーク６０は紙面左側から紙面右側へと速度一定で移動しているので、タイミング調整値Ｔａの値を大きくした分だけ、ワーク６０にマウント部材７０が取り付けられる時点が遅くなり、取り付けられる時点におけるワーク６０の位置は、紙面右側に移動する。
【０２０９】
制御システム１は、基準値とフィードバック値との差分をタイミング調整値Ｔａに反映してタイミング調整値Ｔａを適切な値に更新することができ、更新したタイミング調整値Ｔａを用いた高精度な制御を実現することができる。
【０２１０】
（フィードバック値の取得例（１）  マウント位置について）
図１０は、マウントアプリについて、マウント位置ｘを検知する方法の具体例を示す図である。状態検知装置は、カウンタユニット１０からの比較一致出力を受け付けたアクチュエータ４０によって実現されたワーク６０等の実際の状態（例えば、マウント位置ｘ）を検知し、検知結果を、比較一致出力に係るフィードバック値として、ＰＬＣ２０に送信する。
【０２１１】
図１０の（Ａ）は、状態検知装置として撮像装置５０（カメラ）を用いて、比較一致出力に係るフィードバック値として、マウント部材７０が取り付けられた時点における、ワーク６０の実際の状態（特に、マウント位置ｘ）を検知する例を示している。図１０の（Ａ）に示すように、撮像装置５０の撮像した撮像画像において、比較一致出力を受け付けたアクチュエータ４０によってマウント部材７０の取り付けられた時点における、ワーク６０の位置（マウント位置ｘ）が特定される。
【０２１２】
撮影画像において、「マウント位置ｘ」は、図１０の（Ａ）のローカル座標系における、マウント部材７０が取り付けられたワーク６０の位置を示しており、言い換えれば、ワーク６０における、マウント部材７０の取り付け位置を示している。図１０において、ワーク６０は、コンベヤに載せられて、紙面左側から紙面右側へと速度一定で移動しているものとすると、マウント位置ｘは、以下の位置を示している。すなわち、マウント位置ｘは、コンベヤの移動方向に係る、ワーク６０における、マウント部材７０の取り付け位置を示している。ＰＬＣ２０のタイミング算出部２２０は、制御周期ごとに撮像装置５０から取得する撮像画像を用いて、比較一致出力に係るフィードバック値として、マウント部材７０が取り付けられた時点における、ワーク６０等の状態（例えば、マウント位置ｘ）を特定する。
【０２１３】
図１０の（Ｂ）は、状態検知装置として変位センサ５１を用いて、比較一致出力に係るフィードバック値として、マウント部材７０が取り付けられた時点における、ワーク６０の実際の状態（特に、マウント位置ｘ）を検知する例を示している。図１０の（Ｂ）において、「部品（マウント部材７０）の位置」は、測定距離を、つまり、「マウント部材７０が取り付けられた時点における、ワーク６０の位置（＝マウント位置ｘ）」を示している。
【０２１４】
図１０の（Ｂ）に示すように、変位センサ５１は、比較一致出力を受け付けたアクチュエータ４０によってマウント部材７０が取り付けられた時点における測定距離を検知し、検知した測定距離を、フィードバック値としてＰＬＣ２０に送信する。ＰＬＣ２０のタイミング算出部２２０は、制御周期ごとに変位センサ５１から取得する測定距離を用いて、比較一致出力に係るフィードバック値として、マウント部材７０が取り付けられた時点における、ワーク６０等の状態（例えば、マウント位置ｘ）を特定する。
【０２１５】
（フィードバック値の取得例（１）  充填量について）
図１１は、液体充填アプリについて、実際の充填量を検知する方法の具体例を示す図である。状態検知装置は、カウンタユニット１０からの比較一致出力を受け付けたアクチュエータ４０によって実現されたワーク６０等の実際の状態（例えば、重量・累積量）を検知し、検知結果を、比較一致出力に係るフィードバック値として、ＰＬＣ２０に送信する。
【０２１６】
図１１の（Ａ）は、状態検知装置としてロードセル５２を用いて、比較一致出力に係るフィードバック値として、バルブ（アクチュエータ）が充填を停止させた時点における、ワーク６１に充填された液体の実際の重量・累積量を検知する例を示している。
【０２１７】
図１１の（Ａ）に示すように、ロードセル５２は、比較一致出力を受け付けたバルブによって液体充填が停止された時点におけるワーク６１の重量・累積量を検知し、検知した重量・累積量を示す電圧値を、フィードバック値としてＰＬＣ２０に送信する。ＰＬＣ２０のタイミング算出部２２０は、制御周期ごとにロードセル５２から取得する電圧値を用いて、比較一致出力に係るフィードバック値として、液体充填が停止された時点におけるワーク６１の状態（例えば、重量・累積量）を特定する。
【０２１８】
図１１の（Ｂ）は、状態検知装置として距離計測装置５３を用いて、比較一致出力に係るフィードバック値として、バルブ（アクチュエータ）が充填を停止させた時点における、ワーク６１に充填された液体の液面までの距離を検知する例を示している。図１１の（Ｂ）において、「液面までの距離」は、「バルブが充填を停止させた時点における、ワーク６１に充填された液体の充填量」を示している。
【０２１９】
図１１の（Ｂ）に示すように、距離計測装置５３は、レーザー等を用いて、比較一致出力を受け付けたバルブが充填を停止させた時点における、ワーク６１に充填された液体の液面までの距離を検知する。距離計測装置５３は、検知した測定距離を、フィードバック値としてＰＬＣ２０に送信する。ＰＬＣ２０のタイミング算出部２２０は、制御周期ごとに距離計測装置５３から取得する測定距離を用いて、比較一致出力に係るフィードバック値として、バルブが充填を停止させた時点における、ワーク６１等の状態（例えば、ワーク６１への充填量）を特定する。
【０２２０】
§４．変形例
（制御装置について）
これまで、カウンタユニット１０に対して一定の通信周期ごとに目標値およびタイミング調整値Ｔａを送信する制御装置がＰＬＣ２０である例を説明してきた。しかしながら、カウンタユニット１０に目標値およびタイミング調整値Ｔａを送信する制御装置がＰＬＣであることは必須ではない。カウンタユニット１０に目標値およびタイミング調整値Ｔａを送信する制御装置は、ＩＰＣ（Industrial PC）などであってもよい。
【０２２１】
（パルス信号について）
また、これまでの説明においては、原則として、パルス信号の周期Ｔｐが一定である例を説明してきた。例えば、ワーク（コンベヤ）の単位時間当たりの移動量（移動速度）が一定であり、また、ワークに充填する液体の単位時間当たりの充填量（充填速度）が一定であるものとして、説明を行ってきた。
【０２２２】
しかしながら、パルス信号の周期Ｔｐはカウンタユニット１０にとって予測可能であればよく、パルス信号の周期Ｔｐが一定であることは、カウンタユニット１０にとって必須ではない。カウンタユニット１０は、パルス信号の周期Ｔｐを予測できれば、目標値およびタイミング調整値Ｔａを設定でき、アクチュエータの動作完了タイミングから応答時間以上前のタイミングで目標値一致（実測値と目標値との一致）を発生させることができる。
【０２２３】
制御システム１において、タイミング調整値Ｔａは、パルス信号の周期Ｔｐに依存しない（パルス信号の周期Ｔｐから独立した）値として設定できればよい。カウンタユニット１０は、タイミング調整値Ｔａを用いて、パルス信号の周期Ｔｐに依存しない時間を待機時間として、実測値と目標値とが一致したと判定した時点から待機時間が経過した時点で、アクチュエータへ所定の出力を実行する。
【０２２４】
〔ソフトウェアによる実現例〕
カウンタユニット１０およびＰＬＣ２０の各々の機能ブロック（具体的には、通信部１１０、設定部１２０、計測部１３０、判定部１４０、出力部１５０、および、タイミング算出部２２０）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（CenＴｒal Processing Unit）を用いてソフトウェアによって実現してもよい。
【０２２５】
後者の場合、カウンタユニット１０およびＰＬＣ２０の各々は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）等を備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路等を用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０２２６】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０２２７】
１  制御システム
１０  カウンタユニット
２０  ＰＬＣ（制御装置）
４０  アクチュエータ
５０  撮像装置（状態検知装置）
５１  変位センサ（状態検知装置）
５２  ロードセル（状態検知装置）
５３  距離計測装置（状態検知装置）
６０  ワーク
６１  ワーク
１１０  通信部
１３０  計測部
１４０  判定部（比較部）
１５０  出力部
１６０  出力遅延部
２２０  タイミング算出部（更新部）
Ｔａ  タイミング調整値
Ｔｐ  パルス周期（パルス信号の周期）
【図１】
2020144801.tif 000003
【図２】
2020144801.tif 000004
【図３】
2020144801.tif 000005
【図４】
2020144801.tif 000006
【図５】
2020144801.tif 000007
【図６】
2020144801.tif 000008
【図７】
2020144801.tif 000009
【図８】
2020144801.tif 000010
【図９】
2020144801.tif 000011
【図１０】
2020144801.tif 000012
【図１１】
2020144801.tif 000013
【図１２】
2020144801.tif 000014
【図１３】
2020144801.tif 000015