(57)【要約】【課題】起動時間を短くして高速起動をなし得、位置決め制御の応答性を向上させるとともに、演算回路／プログラムの規模を小さくすること。【解決手段】加速区間での速度変化を減速区間での速度変化と対称に制御する位置決め制御方法において、制御対象の減速を開始するまでの移動量である減速開始移動量ＹＳｄを、起動後から目標速度に達するまでの加速区間内での指令速度の変化時点ごとに、減速開始移動量ＹＳｄ＝（目標移動量ＹＳ−加速区間内における最新の指令速度変化時点までの積算移動量Ｙａ）、として算出する。【選択図】      図１
2004295424.tif 000002
【特許請求の範囲】
【請求項１】
制御周期（１／制御周波数ｆｃ）毎に速度設定値（Ｖｐ×ｎ）ずつ加算し、その加算結果θ１と２つの基準値Ｄ１、Ｄ２との比較から、出力パルスの論理値を決定するとともに、加速区間での速度変化と減速区間での速度変化とを対称に制御して、制御対象を目標移動量ＹＳ［パルス］だけ移動した位置に位置決め制御する位置決め制御方法において、
制御対象の減速を開始するまでの移動量である減速開始移動量ＹＳｄ［パルス］を、起動後から目標速度に達するまでの加速区間内での指令速度の変化時点ごとに、
減速開始移動量ＹＳｄ＝（目標移動量ＹＳ−加速区間内における最新の指令速度変化時点までの積算移動量Ｙａ）［パルス］、
として算出することを特徴とする位置決め制御方法。
【請求項２】
前記加速区間内における最新の指令速度変化時点までの積算移動量Ｙａを（（１／制御周波数ｆｃ）×（出力パルスの最小速度１／ｎ〔パルス／秒〕））単位の実数とし、その整数部値Ｙａｑは前記出力パルスの１パルス単位に、その小数部値ＹａＲは１／（ｆｃ×ｎ）パルス単位に別々に求めるとともに、前記減速開始移動量ＹＳｄを（（１／制御周波数ｆｃ）×（出力パルスの最小速度１／ｎ〔パルス／秒〕））単位の実数とし、整数部値ＹＳｄｑは前記出力パルスの１パルス単位に、小数部値ＹＳｄＲは１／（ｆｃ×ｎ）パルス単位に、整数部値ＹＳｄｑおよび小数部値ＹＳｄＲ毎に別々に求め、
整数部値ＹＳｄｑは、
前記積算移動量Ｙａの小数部ＹａＲ＝０の時、
整数部値ＹＳｄｑ＝（目標移動量ＹＳ−加速区間内における最新の指令速度変化時点までの積算移動量Ｙａの整数部Ｙａｑ）［パルス］、とし、
前記積算移動量Ｙａの小数部ＹａＲ≠０の時、
整数部値ＹＳｄｑ＝（目標移動量ＹＳ−加速区間内における最新の指令速度変化時点までの積算移動量Ｙａの整数部Ｙａｑ−１）［パルス］、とし、
小数部値ＹＳｄＲは、
前記積算移動量Ｙａの小数部ＹａＲ＝０の時、
小数部値ＹＳｄＲ＝０、とし、
前記積算移動量Ｙａの小数部ＹａＲ≠０の時、
小数部値ＹＳｄＲ＝（制御周波数ｆｃ×ｎ−加速区間内における最新の指令速度変化時点までの積算移動量Ｙａの小数部ＹａＲ）［１／（ｆｃ×ｎ）パルス］、
とすることを特徴とする請求項１に記載の位置決め制御方法。
【請求項３】
加速区間中に、現在移動量Ｙｐ（実数）≧（目標移動量ＹＳ／２）［パルス］になった場合は、減速開始までの間、１つ前の制御周期の指令速度である現在速度を維持することを特徴とする請求項１または２に記載の位置決め制御方法。
【請求項４】
加速区間中に、指令速度変化時点と、現在移動量Ｙｐ（実数）≧（目標移動量ＹＳ／２）［パルス］となるタイミング時点とが同じ制御周期中に発生した場合は、指令速度を変化させず、１つ前の指令速度変化時点に計算した減速開始移動量ＹＳｄを使用することを特徴とする請求項３に記載の位置決め制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ステップモータやサーボモータなどの制御対象の位置を制御する位置決め制御方法に関するものである。
【０００２】
【従来の技術】
ステップモータやサーボモータなどの制御対象の位置を制御する位置決め制御方法に関する従来技術として、特許文献１がある。
【０００３】
この特許文献１に記載された発明においては、制御対象の減速を開始するまでの移動量である減速開始移動量ＹＳｄを求める際に、整数部値ＹＳｄｑは出力パルスの１パルス単位に、小数部値ＹＳｄＲは別の単位である１／Ｄ１パルス単位（Ｄ１＝制御周波数ｆｃ×ｎ）に、整数部値ＹＳｄｑおよび小数部値ＹＳｄＲ毎に別々に求め、また減速開始時点を判定する際には、これら整数部値ＹＳｄｑおよび小数部値ＹＳｄＲと出力パルスをカウントした値および出力パルス数の小数部とを別々に比較処理することで、最適なタイミングで減速を開始し、正確な位置決めを行うことを可能とし、さらに起動前に減速開始点を算出することを可能としている。
【０００４】
【特許文献１】
特開２００２−２３６５１９号公報
【０００５】
【発明が解決しようとする課題】
特許文献１に示される従来の位置決め制御方法では、減速開始移動量ＹＳｄの計算を起動前に行なっているため、その処理時間だけ起動時間が長くなるという問題点があった。
【０００６】
また、この従来技術では、減速開始移動量ＹＳｄを求めるのに、乗算、除算を含む複雑な計算をしているため、演算回路／プログラムの規模が大きくなるという問題点があった。
【０００７】
この発明は上記に鑑みてなされたもので、起動時間を短くして高速起動をなし得、位置決め制御の応答性を向上させるとともに、演算回路／プログラムの規模を小さくすることが可能な位置決め制御方法を得ることを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる位置決め制御方法は、制御周期（１／制御周波数ｆｃ）毎に速度設定値（Ｖｐ×ｎ）ずつ加算し、その加算結果θ１と２つの基準値Ｄ１、Ｄ２との比較から、出力パルスの論理値を決定するとともに、加速区間での速度変化と減速区間での速度変化とを対称に制御して、制御対象を目標移動量ＹＳ［パルス］だけ移動した位置に位置決め制御する位置決め制御方法において、制御対象の減速を開始するまでの移動量である減速開始移動量ＹＳｄ［パルス］を、起動後から目標速度に達するまでの加速区間内での指令速度の変化時点ごとに、減速開始移動量ＹＳｄ＝（目標移動量ＹＳ−加速区間内における最新の指令速度変化時点までの積算移動量Ｙａ）［パルス］として算出することを特徴としている。
【０００９】
この発明によれば、加速区間での速度変化と減速区間での速度変化とを対称にした上で、減速開始移動量ＹＳｄの計算を起動後の加速時間内であってかつ指令速度の変化毎に行なうようにしているので、起動時間が短くなって高速起動をなし得、応答性の速い位置決め制御を実現することができる。また、減速開始移動量ＹＳｄの計算式を、減速開始移動量ＹＳｄ＝（目標移動量ＹＳ−加速区間内における最新の指令速度変化時点までの積算移動量Ｙａ）［パルス］、と簡単化したため、演算回路／プログラムの規模を小さくすることができる。
【００１０】
【発明の実施の形態】
実施の形態１．
まず、この発明にかかる位置決め制御方法の実施の形態１について以下に説明する。
【００１１】
この実施の形態１においては、先の従来技術と同様、減速開始移動量（制御対象が減速を開始するまでの移動量）ＹＳｄを求める際に、減速開始移動量ＹＳｄの整数部値ＹＳｄｑおよび減速開始移動量ＹＳｄの小数部値ＹＳｄＲを異なる単位を用いて夫々別々に求めるようにしている。しかし、この整数部値ＹＳｄｑおよび小数部値ＹＳｄＲを夫々別々に求める点は本発明の本質ではなく、本発明の主要部は別にある。そこで、実施の形態１においては、本発明の主要部をより理解し易いように、整数部値ＹＳｄｑおよび小数部値ＹＳｄＲを分けて減速開始移動量ＹＳｄを計算する点についてはその説明を省略する。整数部値ＹＳｄｑおよび小数部値ＹＳｄＲを分けて減速開始移動量ＹＳｄを計算する点については実施の形態２で詳細に説明する。
【００１２】
本発明の主要部は、目標速度ＶＳに達するまでの加速区間内での指令速度（速度指令値Ｖｐ）の変化時点ごとに、減速開始移動量ＹＳｄを下式（１）
減速開始移動量ＹＳｄ＝（目標移動量ＹＳ−加速区間内における最新の指令速度変化時点までの積算移動量Ｙａ）…（１）
にしたがって演算することである。ただし、加速区間および減速区間での速度変化を同じ（対称）になるように制御することが前提である。
【００１３】
図１は実施の形態１の位置決め制御装置の構成を示すものであり、図２は図１の位置決め制御装置によって行われる位置決め制御制御手順を示すフローチャートである。
【００１４】
図１に示すように、位置決め制御装置は、演算回路１０、速度選択回路２０、可変周波数パルス発生回路３０および位置制御回路４０を備えている。
【００１５】
演算回路１０は、入力設定された目標速度ＶＳ、バイアス速度（初期速度，加減速終了時の速度）ＶＢ、加減速時間ｔ（加速時間ｔａ，減速時間ｔｄの総称）に基づいて、加減速区間での速度変化量ΔＶ、時間の分割数α、速度変化時間Δｔを計算し、ΔＶとΔｔの計算結果を速度選択回路２０に出力する（図４，図５参照）。なお、図４，図５において、Ｙｄは減速区間の移動量、Ｙａは加速区間の移動量、Ｙａｑは加速区間の移動量の整数部、ＹａＲは加速区間の移動量の小数部Ｙａｒを整数化した値である。すなわち、Ｙａ（実数）＝Ｙａｑ（整数部）＋ＹａＲ（小数部）となる。また、この場合、時間の分割数αは、ΔＶからΔｔを算出する際に途中計算される値であり、演算回路１０内のみで使用される。なお、固定した時間間隔Δｔ毎に速度変化制御するようにしてもよいし、加減速時間の分割数αを固定して速度変化制御するようにしてもよい。
【００１６】
速度選択回路２０は、入力設定された目標速度ＶＳ、バイアス速度ＶＢと、演算回路１０から入力された速度変化量ΔＶ、速度変化時間Δｔとに基づいて、制御対象の速度指令値Ｖｐを順次演算して、演算した速度指令値Ｖｐを可変周波数パルス発生回路３０に出力することによって、指定された加速勾配による加速制御、等速制御、指定された減速勾配による減速制御を実行する。
【００１７】
また、速度選択回路２０は、入力された目標速度ＶＳ、バイアス速度ＶＢと、起動信号と、演算回路１０から入力された速度変化量ΔＶ、速度変化時間Δｔとに基づいてΔｔタイミング信号と、加速区間状態であることを示す加速中信号を形成し、形成したΔｔタイミング信号と加速中信号を位置制御回路４０に出力する。Δｔタイミング信号は、起動開始から速度変化時間Δｔが経過する度に、「０」から「１」になるワンショットの信号であり、加速区間内での指令速度Ｖｐの変化時点毎に発生される信号である。
【００１８】
可変周波数パルス発生回路３０は、速度選択回路２０からの速度指令値Ｖｐに基づき出力パルスｆｏｕｔを発生する。可変周波数パルス発生回路３０では、任意の初期値（バイアス速度ＶＢ）に任意の速度設定値（Ｖｐ×ｎ）ずつ制御周期（制御サイクル）Ｔｆｃ（＝１／制御周波数ｆｃ）毎に加算していき、その加算結果θ１と２つの基準値Ｄ１、Ｄ２の比較から、出力パルスの「１」，「０」の論理値レベルを決定するようなパルス生成方法を用いている。
【００１９】
図３を用いて可変周波数パルス発生回路３０でのパルス生成方法について説明する。図３は、可変周波数パルス発生回路３０の出力パルス波形と加算結果θ１（速度設定値（Ｖｐ×ｎ）を制御周期１／ｆｃ毎に加算した値であり、出力パルス数の小数部である）の関係を示したものである。可変周波数パルス発生回路３０は、加算器、比較器、及び減算器（又は演算プログラム）等からなり、図３のように加算器の加算結果θ１と２つの基準値Ｄ１、Ｄ２の比較により、出力パルスの値（「０」又は「１」）を決定し、パルスを生成する。
【００２０】
加算器が加算器の初期値（０とはかぎらない）に速度設定値Ｖｐ×ｎを１／ｆｃ（ｆｃ：制御周波数〔Ｈｚ〕）時間ごとに加算して、その加算結果をθ１とする。そして、加算結果θ１と２つの基準値Ｄ１、Ｄ２を比較器により比較する。そして、加算結果θ１がＤ２＝（ｆｃ×ｎ）／２（ｎ：任意の数）になると出力パルスの論理値＝１になり、Ｄ１＝ｆｃ×ｎになると出力パルスの論理値＝０になる。このようにして出力パルスを生成する。
【００２１】
加算結果θ１はＤ１に達すると、加算器のオーバーフローを防止するため、減算器により加算結果θ１からＤ１を減算する。これを繰り返すことにより、パルスを生成し出力する。そのため、加算器に設定する速度設定値Ｖｐ×ｎの値を変えることにより、速度（パルスの周波数）を変化させることができる。
【００２２】
図１において、位置制御回路４０は、速度選択回路２０から入力された加速中信号とΔｔタイミング信号によって加速区間内での指令速度Ｖｐの変化時点ごとに、上記（１）式に従って、減速開始移動量ＹＳｄ（＝整数部値ＹＳｄｑ＋小数部値ＹＳｄＲ）を計算する。また、位置制御回路４０は、可変周波数パルス発生回路３０から入力される出力パルスｆｏｕｔおよび出力パルス数の小数部θ１を用いて、現在までの移動量（出力移動量）として、出力パルスｆｏｕｔの現在出力パルス数Ｙｐ（実数）（＝Ｙｐｑ（整数部）＋ＹｐＲ（小数部））を計算しており、現在出力パルス数Ｙｐ（出力移動量）と減速開始移動量ＹＳｄとを整数部，小数部毎に別々に比較し、現在出力パルス数Ｙｐが減速開始移動量ＹＳｄ以上になると、その時点で減速開始信号を速度選択回路２０に出力する。なお、Ｙｐｑ（整数部）は、出力パルスｆｏｕｔをカウントした値であり、ＹｐＲ（小数部）＝θ１である。また、位置制御回路４０は、現在出力パルス数Ｙｐと入力設定された目標移動量ＹＳとを比較し、両者が一致したら可変周波数パルス発生回路３０の出力パルスを止めるための停止信号を速度選択回路２０および可変周波数パルス発生回路３０に出力する。
【００２３】
次に、図１のように構成された位置決め制御装置の動作について、図２のフローチャートにしたがって説明する。
【００２４】
まずステップＳ１，Ｓ２では、制御対象を停止させるまでの目標移動量ＹＳ（台形全体の面積）、制御対象の目標速度ＶＳ、制御対象のバイアス速度（初速や終速などの一定速度分を底上げしたもの）ＶＢ、制御対象を加減速するための加減速時間ｔ（加速時間ｔａ、減速時間ｔｄ、この場合は加速区間および減速区間での速度変化を同じ（対称）にしているので、ｔ＝ｔａ＝ｔｄ）を、演算回路１０，速度選択回路２０および位置制御回路４０などに入力設定する（図４参照）。なお、ＶＢ＝０でもよい。
【００２５】
つぎに、演算回路１０は、加減速区間において速度を階段状に変化させるための値、すなわち加減速区間に速度指令Ｖｐを変化させる時間間隔Δｔ、加減速区間での速度変化量ΔＶ、加減速区間での分割数αを演算し、ΔｔとΔＶの演算結果を速度選択回路２０に出力する（ステップＳ３）。なお、この場合は、ｔ＝ｔａ＝ｔｄであるので、Δｔ＝加速区間に速度指令Ｖｐを変化させる時間間隔Δｔａ＝減速区間に速度指令Ｖｐを変化させる時間間隔Δｔｄであり、またΔＶ＝加速区間での速度変位ΔＶａ（時間間隔Δｔａごとに変化させる速度）＝減速区間での速度変位ΔＶｄ（時間間隔Δｔｄごとに変化させる速度）であり、またα＝加速区間での分割数αａ＝減速区間での分割数αｄである。なお、これらΔｔ、ΔＶ、分割数αを入力設定するようにしてもよい。
【００２６】
次に起動信号が速度選択回路２０および位置制御回路４０に入力され、これによりパルス出力開始（起動）となって、可変周波数パルス発生回路３０から出力パルスｆｏｕｔの出力が開始される（ステップＳ４）。さらに、速度選択回路２０は、時間間隔Δｔ、速度変化量ΔＶ、分割数αなどによって指定された加速勾配となるように速度指令値Ｖｐ（仮決定）を決める（ステップＳ５）。なお、速度選択部２０での速度選択は、仮決定→決定の制御手順となる。仮決定の速度指令値Ｖｐ（仮決定）とは、加減速時に計算された速度Ｖａｖｄ（Ｖａｖｄ：加速中および減速中で計算される速度）、目標速度ＶＳ、１つ前の制御周期（制御サイクル）の指令速度Ｖｐ（現在速度）のうちの何れかであり、状況に応じてこれら３つの速度の中から仮決定される。そして、仮決定された速度指令値Ｖｐ（仮決定）は、条件に応じてさらに変更されて、可変周波数パルス発生回路３０に出力される速度指令値Ｖｐ（決定）となる。なお、通常は、Ｖａｖｄ＝ＶＢ＋（ΔＶ×Ｎ）、（Ｎ＝１，２，…）である。時間的には、１つ前の制御サイクルの指令速度（決定）→現在速度→次の指令速度（仮決定）→次の指令速度（決定）と変化していくことになる。ここで、１つ前の制御サイクルの指令速度（決定）は現在速度と同じになる。
【００２７】
ステップＳ６において、位置制御回路４０は、加速区間中であってかつ指令速度Ｖｐの変化時に、減速開始移動量ＹＳｄ（ＹＳｄｑ、ＹＳｄＲ）の計算を上記（１）式に従って実行する。
【００２８】
そして、位置制御回路４０では、次の指令速度Ｖｐ（仮決定）≧目標速度ＶＳの条件が成立するまでは（ステップＳ７）、次の指令速度（決定）を次の指令速度（仮決定）の値に変更して、次の指令速度（決定）を可変周波数パルス発生回路３０に順次入力して、加減速制御を実行する（ステップＳ７Ｃ）。また、加速中信号がオンしている間は、指令速度Ｖｐの変化時の度に減速開始移動量ＹＳｄ（ＹＳｄｑ、ＹＳｄＲ）の計算を上記（１）式に従って繰り返し実行する（ステップＳ６）。
【００２９】
速度選択回路２０は、次の指令速度Ｖｐ（仮決定）≧目標速度ＶＳの条件が成立すると（ステップＳ７）、可変周波数パルス発生回路３０に与える速度指令Ｖｐを目標速度ＶＳの値に切り替え、これ以降目標速度ＶＳでの等速制御を実行する（ステップＳ８）。
【００３０】
位置制御回路４０は、制御対象の減速開始時点を判断するため、可変周波数パルス発生回路３０から小数点以下の出力パルス数θ１を入力しており、このθ１を用いて現在出力パルス数Ｙｐの小数部ＹｐＲを求めている（ＹｐＲ＝θ１）。また、位置制御回路４０は、可変周波数パルス発生回路３０から入力される出力パルスｆｏｕｔを用いて出力パルスｆｏｕｔの現在出力パルス数Ｙｐの整数部Ｙｐｑを計数している。そして、位置制御回路４０は、減速開始移動量ＹＳｄ（ＹＳｄｑ、ＹＳｄＲ）と、現在出力パルス数の整数部Ｙｐｑ，小数点以下の出力パルス数ＹｐＲとを整数部，小数部毎に別々に比較し（ステップＳ９）、現在値が減速開始移動量に達する（現在出力パルス数の整数部Ｙｐｑ≧ＹＳｄｑ、かつ、ＹｐＲ（＝θ１）≧ＹＳｄＲになるか、またはＹｐｑ≧（ＹＳｄｑ＋１）となる）と、速度選択回路２０および可変周波数パルス発生回路３０に減速開始信号を出力する。
【００３１】
速度選択回路２０は、演算回路１０から指令された減速勾配に従い、定められた時間間隔Δｔｄごとに、加速制御から等速制御に切り換えたときのステップＳ７での判断に用いられた“次の指令速度（仮決定）”（実際には使わなかった値）からΔＶｄずつ順次減速するような速度指令Ｖｐを可変周波数パルス発生回路３０に逐次出力する（ステップＳ１０）。これにより、可変周波数パルス発生回路３０、出力パルスｆｏｕｔを逐次減速した後、速度を維持する。このように、加速制御から等速制御に切り換えたときのステップＳ７での判断に用いられた“次の指令速度（仮決定）”から減速を行うことにより、加速区間と減速区間を対称にすることができる。なお、加速から定速になるとき、等速制御になる直前の加速制御の速度を保持しておき、等速制御から減速制御になる時に、先に保持しておいた速度とし、ΔＶｄずつ順次減速するような速度指令値Ｖｐとしてもよい。
【００３２】
位置制御回路４０は、現在出力パルス数Ｙｐと目標移動量ＹＳを随時比較し、現在出力パルス数Ｙｐが目標移動量ＹＳに達すると、速度選択回路２０および可変周波数パルス発生回路３０に停止信号を与える。これにより、可変周波数パルス発生回路３０は、パルス出力を停止する（ステップＳ１１）。
【００３３】
図６は、加速区間の各計算時点における減速開始移動量ＹＳｄの計算値を示したもの、すなわち減速開始移動量ＹＳｄの計算値の変化を示したものである。
【００３４】
図６（ａ）は、起動時点▲１▼から次の速度変化時点▲２▼の直前までの間に、計算される減速開始移動量ＹＳｄの計算結果を太線内の面積として示している。時点▲１▼〜時点▲２▼の直前における計算の場合は、上記（１）式中の「最新の指令速度変化時点」とは時点▲１▼であるので、「加速区間内における最新の指令速度変化時点までの積算移動量Ｙａ」＝０となる。したがって、減速開始移動量ＹＳｄの計算結果は、目標移動量ＹＳに等しくなる。
【００３５】
図６（ｂ）は、起動からΔｔ時間経過した時点である時点▲２▼（起動時の速度にΔＶ加算した速度へ変化する時点）から次の速度変化時点▲３▼の直前までの間に、計算される減速開始移動量ＹＳｄの計算結果を太線内の面積として示している。時点▲２▼〜時点▲３▼の直前における計算の場合は、上記（１）式中の「最新の指令速度変化時点」とは時点▲２▼であるので、「加速区間内における最新の指令速度変化時点までの積算移動量Ｙａ」は時点▲１▼から時点▲２▼までの移動量となる。また加速と減速で対称になるように制御しているので、減速開始移動量ＹＳｄの計算結果は、太線で示すように、目標移動量ＹＳから減速区間の最終段階での移動量分を引いたものとなる。よって、ＹＳｄ＝（ＹＳ−時点▲１▼から時点▲２▼までの移動量）となる。
【００３６】
図６（ｃ）は、起動から（Δｔ×２）時間経過した時点である時点▲３▼（起動時の速度に（ΔＶ×２）加算した速度へ変化する時点）から次の速度変化時点▲４▼の直前までの間に、計算される減速開始移動量ＹＳｄの計算結果を太線内の面積として示している。時点▲３▼〜時点▲４▼の直前における計算の場合は、上記（１）式中の「加速区間内における最新の指令速度変化時点までの積算移動量Ｙａ」＝時点▲１▼から時点▲３▼までの移動量となり、また加速と減速で対称になるように制御しているので、減速開始移動量ＹＳｄの計算結果は、太線で示すように、目標移動量ＹＳから減速区間の最終段階での移動量分および最終段階の１つ前の移動量分を引いたものとなる。よって、ＹＳｄ＝（ＹＳ−時点▲１▼から時点▲３▼までの移動量）となる。
【００３７】
図６（ｄ）は、起動から（Δｔ×３）時間経過した時点である時点▲４▼（起動時の速度に（ΔＶ×３）加算した速度へ変化する時点）から次の速度変化時点▲５▼の直前までの間に、計算される減速開始移動量ＹＳｄの計算結果を太線内の面積として示している。時点▲４▼〜時点▲５▼の直前における計算の場合は、上記（１）式中の「加速区間内における最新の指令速度変化時点までの積算移動量Ｙａ」＝時点▲１▼から時点▲４▼までの移動量となり、また加速と減速で対称になるように制御しているので、減速開始移動量ＹＳｄの計算結果は、太線で示すように、目標移動量ＹＳから減速区間の最終段階での移動量分、最終段階の１つ前の移動量分および最終段階の２つ前の移動量分を引いたものとなる。よって、ＹＳｄ＝（ＹＳ−時点▲１▼から時点▲４▼までの移動量）となる。
【００３８】
図６（ｅ）は、起動から（Δｔ×ｎ）時間経過した時点であって目標速度ＶＳに速度変化した時点▲５▼以降において計算される減速開始移動量ＹＳｄの計算結果を太線内の面積として示している。この場合は、上記（１）式中の「最新の指令速度変化時点」は時点▲５▼であるので、上記（１）式中の「加速区間内における最新の指令速度変化時点までの積算移動量Ｙａ」＝時点▲１▼から時点▲５▼までの移動量となる。また、加速と減速で対称になるように制御しているので、この場合の減速開始移動量ＹＳｄの計算結果は、太線で示すように、目標移動量ＹＳから減速区間（＝加速区間）の全ての移動量分を引いたものとなる。
【００３９】
図６（ｆ）は、実際に移動した移動量Ｙｐ≧減速開始移動量ＹＳｄの計算結果、のステップＳ９の条件が成立した時点である▲６▼時点に、計算される減速開始移動量ＹＳｄの計算結果を太線内の面積として示している。図６（ｅ）（ｆ）に示すように、加速区間が終了して等速区間に移行した▲５▼時点以降は、減速開始移動量ＹＳｄの計算結果は、同じである。したがって、加速区間が終了して等速区間に移行した▲５▼時点以降は、減速開始移動量ＹＳｄの計算を省略することができる。
【００４０】
実施の形態１によれば、減速の制御を加速の制御と対称にした上で、減速開始移動量ＹＳｄの計算を起動後の加速時間内であってかつ指令速度の変化毎に行なうようにしているので、起動時間が短くなって高速起動をなし得、応答性の速い位置決め制御を実現することができる。また、減速開始移動量ＹＳｄ（ＹＳｄｑ、ＹＳｄＲ）の計算式を、減速開始移動量＝（目標移動量−加速区間内における最新の指令速度変化時点までの積算移動量）と簡単化したため、演算回路／プログラムの規模を小さくすることができる。
【００４１】
実施の形態２．
次に、図７〜図１０などを用いてこの発明の実施の形態２について説明する。先の実施の形態１においては、等速期間を有する台形状の速度パターンに対してのみ対処することができ、長い等速期間を持たない三角形状の速度パターンには対処することができない。実施の形態２においては、目標移動量ＹＳが少なくて、目標速度ＶＳに達する前に減速する三角形状の速度パターンにも対処可能なようにしている。
【００４２】
また、この実施の形態２においては、実施の形態１においてその説明を省略していた減速開始移動量ＹＳｄをその整数部値ＹＳｄｑ，小数部値ＹＳｄＲに分けて別々に求める点などについても詳細に説明する。
【００４３】
ここで、１パルスに満たないパルスを小数点以下のパルスと定義し、減速開始をするまでの移動量である減速開始移動量ＹＳｄを表すパルスにおいて、１パルス単位のものを減速開始移動量ＹＳｄの整数部ＹＳｄｑ、小数点以下のパルスを減速開始移動量ＹＳｄの小数部ＹＳｄｒとする。
【００４４】
また、位置制御回路４０において、可変周波数パルス発生回路３０から出力される小数点以下の出力パルス数θ１（＝ＹａＲ、整数化した値；速度設定値（Ｖｐ×ｎ）を制御周期１／ｆｃ毎に加算した値）と減速開始移動量ＹＳｄの小数部ＹＳｄｒ（小数）を比較可能とするため、減速開始移動量ＹＳｄの小数部ＹＳｄｒを整数化したものをＹＳｄＲと表現する。すなわち、θ１＝ＹａＲ、減速開始移動量ＹＳｄの小数部ＹＳｄＲは、単位変換されることにより整数化されたものである。例えば、制御周期を１／ｆｃとした場合、単位を１／（ｆｃ×ｎ）パルスとすることで、整数化する。
【００４５】
また、Ｙｄは減速区間の移動量であり、Ｙａは先の（１）式に用いられた加速区間における指令速度変化時点の移動量であり、Ｙａ（実数）＝Ｙａｑ（整数部）＋ＹａＲ（小数部）である。また、減速開始移動量ＹＳｄ（実数）に関しては、減速開始移動量ＹＳｄ＝整数部値ＹＳｄｑ＋小数部値ＹＳｄＲであり、現在出力パルス数Ｙｐ（実数）に関しては、現在出力パルス数Ｙｐ（実数）＝Ｙｐｑ（整数部）＋ＹｐＲ（小数部）である。
【００４６】
図７において、演算回路１０は、入力設定された目標速度ＶＳ、バイアス速度ＶＢ、加減速時間ｔ（＝加速時間ｔａ＝減速時間ｔｄ）に基づいて、速度変化量ΔＶ（＝加速区間での速度変位ΔＶａ（時間間隔Δｔａごとに変化させる速度）＝減速区間での速度変位ΔＶｄ）、時間の分割数α（＝加速区間での分割数αａ＝減速区間での分割数αｄ）、速度変化時間Δｔ（＝加速区間での速度変化時間Δｔａ＝減速区間での速度変化時間Δｔｄ）を計算し、計算結果ΔＶ、Δｔを速度選択回路２０に出力する。
【００４７】
速度選択回路２０は、入力設定された目標速度ＶＳ、バイアス速度ＶＢと、演算回路１０から入力された速度変化量ΔＶおよび速度変化時間Δｔとに基づいて、制御対象の速度指令Ｖｐを順次演算して、演算した速度指令Ｖｐを可変周波数パルス発生回路３０に出力することによって、指定された加速勾配による加速制御、等速制御、指定された減速勾配による減速制御を実行する。また、速度選択回路２０は、加速中には、加速中であることを示す加速中信号を位置制御回路４０に出力する。さらに、速度選択回路２０は、起動開始から速度変化時間Δｔが経過する度に、「０」から「１」になるワンショットのΔｔタイミング信号を位置制御回路４０に出力する。
【００４８】
可変周波数パルス発生回路３０は、速度選択回路２０からの速度指令値Ｖｐに基づきパルスｆｏｕｔを出力する。可変周波数パルス発生回路３０では、図３を用いて説明したように、任意の初期値（バイアス速度ＶＢ）に対し任意の速度設定値（Ｖｐ×ｎ）ずつ制御周期Ｔｆｃ（１／制御周波数ｆｃ）毎に加算していき、その加算結果θ１と２つの基準値Ｄ１、Ｄ２の比較から、出力パルスの「１」，「０」の論理値レベルを決定するようなパルス生成方法を用いる。加算結果θ１および出力パルスｆｏｕｔは、位置制御回路４０に入力されている。
【００４９】
位置制御回路４０は、入力された目標速度ＶＳ、バイアス速度ＶＢ、起動信号と、演算回路１０から入力された速度変化量ΔＶ、速度変化時間Δｔとに基づいて、目標速度ＶＳに達するまでの加速区間内での指令速度の変化時点ごとに、上記（１）式に従って、制御対象の速度を制御するための減速開始移動量ＹＳｄ（＝整数部値ＹＳｄｑ＋小数部値ＹＳｄＲ）を計算する。また、位置制御回路４０は、現在までの移動量Ｙｐ（Ｙｐｑ，ＹｐＲ）と減速開始移動量ＹＳｄ（ＹＳｄｑ，ＹＳｄＲ）を整数部および小数部毎に比較し、出力移動量Ｙｐが減速開始移動量ＹＳｄ以上になると、その時点で減速開始信号を速度選択回路２０に出力する。また、位置制御回路４０は、現在までの移動量Ｙｐ（Ｙｐｑ，ＹｐＲ）と目標移動量ＹＳとを比較し、両者が一致したら可変周波数パルス発生回路３０の出力パルスを止めるための停止信号を速度選択回路２０および可変周波数パルス発生回路３０に出力する。また、位置制御回路４０は、現在までの移動量Ｙｐ（Ｙｐｑ，ＹｐＲ）が目標移動量ＹＳの半分の値に達したことを示す目標移動量半分到達信号（ＹＳ／２信号）を生成して速度選択回路２０に出力する。ＹＳ／２信号は２値信号であり、出力移動量が目標移動量ＹＳの半分の値に達していないときは「０」であり、出力移動量が目標移動量ＹＳの半分の値に達すると「１」となる。
【００５０】
次に、図７のように構成された位置決め制御装置の動作について、図８のフローチャートにしたがって説明する。
【００５１】
まずステップＳ１，Ｓ２では、図４に示すように、制御対象を停止させるまでの目標移動量ＹＳ（台形全体の面積）、制御対象の目標速度ＶＳ、制御対象のバイアス速度ＶＢ、制御対象を加減速するための加減速時間ｔ（＝加速時間ｔａ＝減速時間ｔｄ）を、演算回路１０，速度選択回路２０および位置制御回路４０などに入力設定する。目標移動量ＹＳは整数とする。ＶＢ＝０でもよい。
【００５２】
つぎに、演算回路１０は、加減速区間において速度を階段状に変化させるための値、すなわち加減速区間に速度指令Ｖｐを変化させる時間間隔Δｔ（＝Δｔａ＝Δｔｄ）、加減速区間での速度変化量ΔＶ（＝ΔＶａ＝ΔＶｄ）、加減速区間での分割数α（＝αａ＝αｄ）を演算し、演算結果Δｔ，ΔＶを速度選択回路２０に出力する（ステップＳ３）。
【００５３】
先の図４は、制御対象の速度と時間の関係を示したものであり、速度と時間の積が制御対象の移動量となる。図４で示した加減速勾配は、実際は図５に示すように階段状になる。図５においてαｄ（＝αａ）は減速時間の分割数、Ａは速度差｜ＶＳ−ＶＢ｜の分割数（速度の階段数）である。速度の階段数Ａは、図５に示すように制御対象の現在速度をバイアス速度ＶＢ下に減速するまで、制御対象を時間間隔Δｔｄごとに減速時間での速度変位ΔＶｄずつ減速する回数である。したがって、制御対象は減速開始移動量に達した時点で１回減速し、後はΔｔｄ時間ごとにαｄ回減速するため、速度の階段数ＡはＡ＝αｄ＋１の関係を保つこととなる。
【００５４】
ｆｃ＝制御周波数〔Ｈｚ〕、ＶＳ＝目標速度〔パルス／秒〕、Δｔｄ／ｆｃ＝速度変化させる時間〔秒〕、αｄ＝αａ＝（時間の分割数または（速度の分割数―１））〔個〕とする。
【００５５】
減速時間での速度変位ΔＶｄ［パルス／秒］は、速度差｜ＶＳ−ＶＢ｜を（αｄ＋１）で除したものであるので、（αｄ＋１）の値によっては小数になることがある。そこで、計算式中に小数の値を出さないようにするため、減速時間での速度変位ΔＶｄを最小速度を用いてあらわす。
【００５６】
可変周波数パルス発生回路３０は、１／ｆｃ秒で１／Ｄ１＝１／（ｆｃ×ｎ）パルスを生成するため、最小速度はｆｃ／Ｄ１＝１／ｎ〔パルス／秒〕＝１〔（１／ｎ）パルス／秒〕となる。
【００５７】
減速時間での速度変位ΔＶｄ〔パルス／秒〕は、最小速度ｆｃ／Ｄ１＝１／ｎ〔パルス／秒〕＝１〔（１／ｎ）パルス／秒〕より、
ΔＶｄ〔パルス／秒〕＝ΔＶｄ×ｎ〔（１／ｎ）パルス／秒〕
となる。
【００５８】
αｄはＡ＝αｄ＋１＝（ＶＳ−ＶＢ）／ΔＶｄから次のように算出される。
αｄ＝（（ＶＳ−ＶＢ）×ｎ／ΔＶｄ×ｎの小数点以下切り上げ）−１    〔個〕
ΔＶｄ＝０の場合、減速時間での速度変化がないことになり、これは制御対象が減速しないということである。すなわち、減速時間はないためαｄ＝０となる。
前記式では、分母のΔＶｄに０を代入すると０で割るので、αｄが無限大になってしまうため、ΔＶｄ＝０ならαｄ＝０とする。
【００５９】
Δｔｄはｔｄ＝αｄ×Δｔｄ／ｆｃより次のように算出される。
可変周波数パルス発生回路３０は出力パルスを１／ｆｃ時間ごとに生成しているため、ｔｄ〔秒〕をｔｄ×ｆｃ〔１／ｆｃ秒単位〕に単位変換すると、
Δｔｄ＝（（ｔｄ×ｆｃ））／αｄ）の商〔１／ｆｃ秒単位〕
αｄ＝０の場合、減速時間はないためΔｔｄ＝０となる。
【００６０】
Δｔｄの値は（（ｔｄ×ｆｃ））／αｄ）の余りを切り捨てるため、上記計算式から得られたΔｔｄは、かならずしもΔｔｄ／ｆｃ×αｄ＝ｔｄを満たさず、Δｔｄ／ｆｃ×αｄの値は減速時間ｔｄ付近の値をとり、
（ｔｄ−Δｔｄの最小値／ｆｃ×αｄ）＜（Δｔｄ／ｆｃ×αｄ）≦ｔｄ      〔秒〕
となる。ここで、誤差を小さくするには、Δｔｄの最小値を小さくすればよく、これは１／ｆｃを小さくすることであり、ｆｃを大きくすることである。
【００６１】
次に起動信号が速度選択回路２０および位置制御回路４０に入力され、これによりパルス出力開始（起動）となる。そして、可変周波数パルス発生回路３０から出力パルスｆｏｕｔの出力が開始される（ステップＳ４）。なお、この起動時点での各種値の初期値は、ステップＳ４１に示すように、減速開始移動量ＹＳｄの整数部ＹＳｄｑ＝目標移動量ＹＳ［パルス］、減速開始移動量ＹＳｄの小数部ＹＳｄＲ＝０［（１／（ｆｃ×ｎ））パルス］、ＹＳ／２信号＝０、減速開始信号＝０、速度変化停止信号＝０、としている。なお、速度変化停止信号は、速度選択回路２０内で使用される信号である。
【００６２】
つぎに、速度選択回路２０は、時間間隔Δｔ、速度変化量ΔＶ、分割数αなどによって指定された加速勾配となるように速度指令値Ｖｐ（仮決定）を決定する（ステップＳ５）。速度選択回路２０は、起動からＶｐ＜ＶＳでかつＹＳ／２信号＝０が成立しているまでの間に加速中であることを示す加速中信号を「１」にして、位置制御回路４０に出力する（ステップＳ５１）。
【００６３】
一方、位置制御回路４０は、出力移動量Ｙｐが目標移動量ＹＳの半分の値に達したことを示すＹＳ／２信号を生成して、速度選択回路２０に出力する（ステップＳ５２）。
【００６４】
ＹＳ／２信号は、
ＹＳ＝偶数の場合は、Ｙｐｑ≧（ＹＳ／２の商）のときに、
ＹＳ＝奇数の場合は、Ｙｐｑ≧（ＹＳ／２の商）、かつ、ＹｐＲ≧（ｆｃ×ｎ／２）
のときに、
「０」→「１」になる。
【００６５】
つぎに、ステップＳ６において、位置制御回路４０は、先の実施の形態１で説明したように、加速区間中であってかつ指令速度Ｖｐの変化時に、減速開始移動量ＹＳｄ（ＹＳｄｑ、ＹＳｄＲ）を上記（１）式に従って計算する。
【００６６】
減速開始移動量ＹＳｄの計算は、整数部ＹＳｄｑ［パルス］、小数部ＹＳｄＲ［（１／（ｆｃ×ｎ））パルス］毎に、つぎのようにして別々に行われる。
【００６７】
ここで、減速開始移動量ＹＳｄの整数部ＹＳｄｑは、制御対象を停止させるまでの移動量ＹＳを超えることはないため０≦ＹＳｄｑ≦ＹＳとなり、減速開始移動量ＹＳｄの小数部ＹＳｄｒを整数化したＹＳｄＲは、Ｄ１以上にはならないので、０≦ＹＳｄＲ≦（Ｄ１−１）となる。
【００６８】
また、減速開始移動量ＹＳｄの整数部ＹＳｄｑは、１パルス単位で計算する。一方、加算結果θ１はＶｐ／Ｄ１パルスずつ増えるため、減速開始移動量ＹＳｄの小数部ＹＳｄｒを整数化したＹＳｄＲは、最小単位をとって１／Ｄ１（＝（１／（ｆｃ×ｎ））パルス単位に計算する。
【００６９】
減速開始移動量の整数部ＹＳｄｑ［パルス］は、ステップＳ６１に示すように、目標移動量ＹＳ（整数）および現在出力パルス数Ｙｐの整数部Ｙｐｑを用いて
ＹａＲ（＝θ１）＝０の場合は、ＹＳｄｑ＝（ＹＳ−Ｙａｑ）＝（ＹＳ−Ｙｐｑ）、とし、
ＹａＲ（＝θ１）≠０の場合は、ＹＳｄｑ＝（ＹＳ−Ｙａｑ−１）＝（ＹＳ−Ｙｐｑ−１）、
とすることで算出する。
但し、
・加速中（加速中信号が「１」）であって、
・かつ起動またはΔｔタイミング信号が「０」→「１」に変化するときであって、
・かつＹＳ／２信号＝０
の時に、
整数部ＹＳｄｑの計算値をラッチして、減速開始時点を判定するための減速開始移動量の整数部ＹＳｄｑ［パルス］とする。なお、Δｔタイミング信号の変化（０→１）とＹＳ／２信号の変化（０→１）が重なった場合は、この時点における整数部ＹＳｄｑの計算値によるデータ更新は行なわず、直前（１つ前）の指令速度変化時点に計算した値ＹＳｄｑを使用する。
【００７０】
減速開始移動量の小数部ＹＳｄＲ［（１／（ｆｃ×ｎ））パルス］は、ステップＳ６２に示すように、ＹａＲ（＝θ１）およびＤ１（＝ｆｃ×ｎ）を用いて、
ＹａＲ（＝θ１）＝０の場合は、ＹＳｄＲ＝０、とし、
ＹａＲ（＝θ１）≠０の場合は、ＹＳｄＲ＝（ｆｃ×ｎ−ＹａＲ）、とすることで算出する。
但し、整数部ＹＳｄｑと同様、
・加速中（加速中信号が「１」）であって、
・かつ起動またはΔｔタイミング信号が「０」→「１」に変化するときであって、
・かつＹＳ／２信号＝０
の時に、
小数部ＹＳｄＲの計算値をラッチして、減速開始時点を判定するための減速開始移動量の小数部ＹＳｄＲ［（１／（ｆｃ×ｎ））パルス］とする。なお、Δｔタイミング信号の変化（０→１）とＹＳ／２信号の変化（０→１）が重なった場合は、この時点における小数部ＹＳｄＲの計算値によるデータ更新は行なわず、直前の指令速度変化時点に計算した値ＹＳｄＲを使用する。
【００７１】
つぎに、速度選択回路２０は、ステップＳ７において、次の指令速度Ｖｐ（仮決定）≧目標速度ＶＳの条件が成立すると、手順をステップＳ８に移行させ、また次の指令速度Ｖｐ（仮決定）≧目標速度ＶＳの条件が成立しない場合は、手順をステップＳ７Ａに移行させる。
【００７２】
ステップＳ７Ａにおいては、速度選択回路２０および位置制御回路４０は、ＹＳ／２信号＝１の条件が成立しているか否かを判定し、ＹＳ／２信号＝１の条件が成立していなければ、手順をステップＳ７Ｃ、Ｓ５に移行し、ステップＳ５〜Ｓ７Ｃの処理を繰り返し実行する。ステップＳ７Ｃでは、速度選択回路２０は、次の指令速度（決定）を次の指令速度（仮決定）の値に変更して、次の指令速度（決定）を可変周波数パルス発生回路３０に順次入力して、加減速制御を実行する。
【００７３】
このようにして、位置制御回路４０は、次の指令速度Ｖｐ（仮決定）≧目標速度ＶＳの条件が成立するか（ステップＳ７）、あるいはＹＳ／２信号＝１の条件が成立するまで（ステップＳ７Ａ）、指令速度Ｖｐの変化時の度に減速開始移動量ＹＳｄ（ＹＳｄｑ、ＹＳｄＲ）の計算を、上記のようにして繰り返し実行する。
【００７４】
ステップＳ７Ａにおいて、ＹＳ／２信号＝１が成立するということは、次の指令速度Ｖｐ（仮決定）≧目標速度ＶＳの条件が成立する前に、現在までの移動量（出力移動量）Ｙｐが目標移動量ＹＳの半分の値に達したということであり、このような場合は、Δｔ間隔の等速区間を設けることなく、図９および図１０に示すような、三角形状の速度パターンを採用する。
【００７５】
すなわち、速度選択回路２０は、ステップＳ７Ａの条件が成立すると、等速制御を行うことを示す速度変化停止信号＝１とする（ステップＳ７１）。速度変化停止信号は、正確には、Ｖｐ≧ＶＳ、または、（（（Ｖｐ＜ＶＳ）かつ（ＹＳ／２信号＝１））かつ減速開始信号＝０）のときに、１とする。速度選択回路２０は、速度変化停止信号が１になると、目標速度を現在速度の値に変更設定する（ステップＳ７Ｂ）。
【００７６】
図９および図１０は、目標移動量ＹＳが少なく、目標速度ＶＳに達することなく、実際に移動した移動量≧計算した減速開始移動量ＹＳｄ、が成立する場合の減速開始移動量およびその計算などを示すものであり、太線内の面積が減速開始移動量ＹＳｄを示している。図１０に示すように、ＹＳ／２信号＝１（現在移動量Ｙｐ≧（目標移動量ＹＳ／２））が成立すると、速度を維持し、減速開始移動量ＹＳｄに達するまで速度を維持する。このことによって、加速と減速が対称に制御できる。
【００７７】
速度選択回路２０では、ステップＳ７で次の指令速度Ｖｐ（仮決定）≧目標速度ＶＳの条件が成立した場合は（この場合は等速期間を有する台形速度パターン）、ステップＳ８において、可変周波数パルス発生回路３０に与える速度指令Ｖｐ（決定）を目標速度ＶＳの値に切り替え、これ以降、減速開始指令が入力されるまで目標速度ＶＳでの等速制御を実行する。
【００７８】
また、ステップＳ７ＡでＹＳ／２信号＝１の条件が成立した場合は、ステップＳ８において、可変周波数パルス発生回路３０に与える速度指令Ｖｐ（決定）を先のステップＳ７Ｂで新たに設定された目標速度（現在速度）に切り替え、これ以降、減速開始指令が入力されるまでこの目標速度（現在速度）での等速制御を実行する。なお、ステップＳ７Ｂでの処理を、次の指令速度（決定）を現在速度の値に変更するとし、ステップＳ７Ｂからは、ステップＳ８へ移行せずに、ステップＳ９へ移行するような手順を採用するようにしてもよい。
【００７９】
位置制御回路４０は、減速開始移動量ＹＳｄ（ＹＳｄｑ、ＹＳｄＲ）と、現在出力パルス数Ｙｐ（Ｙｐｑ，ＹｐＲ）とを整数部，小数部毎に別々に比較し（ステップＳ９）、現在値が減速開始移動量に達していない場合は、減速停止信号をオフのままとし、等速制御を速度選択回路２０に指示する。
【００８０】
そして、位置制御回路４０は、現在値が減速開始移動量に達する（現在出力パルス数Ｙｐｑ≧ＹＳｄｑでかつＹｐＲ≧ＹＳｄＲとなるか、または現在出力パルス数Ｙｐｑ≧（ＹＳｄｑ＋１）となる）と、速度選択回路２０に出力する減速開始信号をオンとする（ステップＳ９１）。
【００８１】
すなわち、減速開始信号は、
（Ｙｐｑ≧ＹＳｄｑ、かつ、ＹｐＲ≧ＹＳｄＲ）または、（Ｙｐｑ≧（ＹＳｄｑ＋１））で、
減速開始信号＝１（オン）、とする。
【００８２】
減速開始信号＝１となると、速度選択回路２０は、演算回路１０から指令された減速勾配に従い、定められた時間間隔Δｔｄごとに、加速制御から等速制御に切り換えたときのステップＳ７での判断に用いられた“次の指令速度”（実際には使わなかった値）からΔＶｄずつ順次減速するような速度指令Ｖｐを可変周波数パルス発生回路３０に逐次出力する（ステップＳ１０）。このようにして、可変周波数パルス発生回路３０からの出力パルスｆｏｕｔを逐次減速していく。
【００８３】
位置制御回路４０は、現在出力パルス数Ｙｐと制御対象を停止させるまでの移動量ＹＳを随時比較し、現在出力パルス数Ｙｐが制御対象を停止させるまでの移動量ＹＳに達すると、速度選択回路２０および可変周波数パルス発生回路３０に停止信号を与える。これにより、可変周波数パルス発生回路３０は、パルス出力を停止する（ステップＳ１１）。
【００８４】
実施の形態２によれば、ＹＳ／２信号＝１（現在移動量Ｙｐ≧（目標移動量ＹＳ／２））が成立すると、速度を維持し、減速開始移動量に達するまで速度を維持するようにしたので、目標移動量が少なくて、目標速度に達しないうちに、減速を開始しなければならない制御にも誤差を少なく対処することができる（ΔＶ分、誤差を減らせることができる）。また、実施の形態１と同様、起動時間が短くなって高速起動をなし得、応答性の速い位置決め制御を実現することができる。また、減速開始移動量（ＹＳｄｑ、ＹＳｄＲ）の計算式を、減速開始移動量＝（目標移動量−加速区間内における最新の指令速度変化時点までの積算移動量）と簡単化したため、演算回路／プログラムの規模を小さくすることができる。
【００８５】
なお、上記実施の形態において、ΔＶ、α、Δｔを設定によって任意の値に設定するようにしてもよい。また、加速時間内での速度の変化方法は、階段状であれば良いため、形状は１通りではなく任意である。さらに、階段状での最も細かい変化として、制御周期１／ｆｃ毎にすることが可能である。
【００８６】
また、上記実施の形態では、現在出力パルス数Ｙｐ（加速区間ではＹａ）を位置制御回路４０でカウントするようにしたが、可変周波数パルス発生回路３０でカウントし、そのカウント結果を位置制御回路４０に入力するようにしてもよい。また、上記（１）式での計算を速度制御回路２０で実行させるようにしてもよい。
【００８７】
【発明の効果】
以上説明したように、この発明によれば、加速区間での速度変化と減速区間での速度変化とを対称にした上で、減速開始移動量ＹＳｄの計算を起動後の加速時間内であってかつ指令速度の変化毎に行なうようにしているので、起動時間が短くなって高速起動をなし得、応答性の速い位置決め制御を実現することができる。また、減速開始移動量ＹＳｄの計算式を、減速開始移動量＝（目標移動量−加速区間内における最新の指令速度変化時点までの積算移動量）と簡単化したため、演算回路／プログラムの規模を小さくすることができる。
【図面の簡単な説明】
【図１】この発明の実施の形態１の位置決め制御方法を実行する位置決め制御装置の構成を示すブロック図である。
【図２】図１の位置決め制御装置によって実行される位置決め制御手順を示すフローチャートである。
【図３】可変周波数パルス発生器の出力波形と加算結果θ１の関係を示した図である。
【図４】制御対象の速度と時間の関係を示した図である。
【図５】図４の減速部分の詳細を示した図である。
【図６】減速開始移動量の計算値の変化を示した図である。
【図７】この発明の実施の形態２の位置決め制御方法を実行する位置決め制御装置の構成を示すブロック図である。
【図８】図７の位置決め制御装置によって実行される位置決め制御手順を示すフローチャートである。
【図９】目標速度に達することなく、実際に移動した移動量≧計算した減速開始移動量が成立する場合の減速開始移動量の計算を示す図である。
【図１０】図９の詳細を示した図である。
【符号の説明】
１０  演算回路、２０  速度選択回路、３０  可変周波数パルス発生回路、４０  位置制御回路。
【図１】
2004295424.tif 000003
【図２】
2004295424.tif 000004
【図３】
2004295424.tif 000005
【図４】
2004295424.tif 000006
【図５】
2004295424.tif 000007
【図６】
2004295424.tif 000008
【図７】
2004295424.tif 000009
【図８】
2004295424.tif 000010
【図９】
2004295424.tif 000011
【図１０】
2004295424.tif 000012