(57)【要約】【課題】パルス生成タイミングの演算における演算誤差が少なくし、演算負荷を低減する。【解決手段】  制御区間ごとのパルス数に基づいて、制御区間の演算値の初期値および前記制御区間の終了条件を決定するパラメータ算出手段４０と、パラメータ算出手段４０で決定された制御区間ごとに制御区間の演算値の初期値および制御区間の終了条件が記憶される記憶手段４と、現在の制御区間から次の制御区間へと切り替わる点である変化点を検出する変化点検出手段２と、記憶手段４に記憶された制御区間の演算値の初期値に基づいて、演算を行うとともに、演算された演算値が所定の閾値以上となるとパルス生成タイミングを出力する有界演算器６と、有界演算器６が出力したパルス生成タイミングに基づいて、パルスモータ１３を制御するためのパルス信号を生成するパルス生成手段１１とを備える。【選択図】図１
2014068422.tif 000002
【特許請求の範囲】
【請求項１】
制御区間ごとのパルス数に基づいて、前記制御区間の演算値の初期値および前記制御区間の終了条件を決定するパラメータ決定手段と、
前記パラメータ決定手段で決定された前記制御区間の演算値の初期値および前記制御区間の終了条件が記憶される記憶手段と、
前記記憶手段に記憶された前記制御区間の終了条件に基づいて、現在の制御区間から次の制御区間へと切り替わる点である変化点を検出する変化点検出手段と、
前記記憶手段に記憶された前記制御区間の演算値の初期値に基づいて、演算を行うとともに、演算された演算値が所定の閾値以上となるとパルス生成タイミングを出力する有界演算器と、
前記有界演算器が出力した前記パルス生成タイミングに基づいて、パルスモータを制御するためのパルス信号を生成するパルス生成手段と、
を備えることを特徴とするパルスモータ制御装置。
【請求項２】
前記有界演算器は、
演算用クロックの周波数１クロック分の時間で規格化された加加速度を保持する加加速度値保持手段、演算用クロックの周波数１クロック分の時間で規格化された加速度を保持する加速度値保持手段、演算用クロックの周波数１クロック分の時間で規格化された速度を保持する速度値保持手段、距離を保持する距離値保持手段、第１の１／２演算手段、第２の１／２演算手段、および、１／３演算手段を有し、
前記演算において、
前記加加速度値保持手段に保持された加加速度値と、前記加速度値保持手段に保持された加速度値とを、加算演算した値が前記加速度値保持手段に入力され、
前記加加速度値保持手段に保持された加加速度値を前記第１の１／２演算手段で処理した値と、前記加速度値保持手段に保持された加速度値と、前記速度値保持手段に保持された速度値とを、加算演算した値が前記速度値保持手段に入力され、
前記加加速度値保持手段に保持された加加速度値を前記第１の１／２演算手段および前記１／３演算手段で処理した値と、前記加速度値保持手段に保持された加速度値を前記第２の１／２演算手段で処理した値と、前記速度値保持手段に保持された速度値と、前記距離値保持手段に保持された距離値とを、加算演算した値が前記距離値保持手段に入力される
ことを特徴とする請求項１に記載のパルスモータ制御装置。
【請求項３】
前記有界演算器は、
演算用クロックの周波数１クロック分の時間で規格化された加加速度を保持する加加速度値保持手段、演算用クロックの周波数１クロック分の時間で規格化された加速度を保持する加速度値保持手段、演算用クロックの周波数１クロック分の時間で規格化された速度を保持する速度値保持手段、および、距離を保持する距離値保持手段を有し、
前記演算において、
前記加加速度値保持手段に保持された加加速度値と、前記加速度値保持手段に保持された加速度値とを、加算演算した値が前記加速度値保持手段に入力され、
前記加速度値保持手段に保持された加速度値と、前記速度値保持手段に保持された速度値とを、加算演算した値が前記速度値保持手段に入力され、
前記速度値保持手段に保持された速度値と、前記距離値保持手段に保持された距離値とを、加算演算した値が前記距離値保持手段に入力される
ことを特徴とする請求項１に記載のパルスモータ制御装置。
【請求項４】
前記加加速度値保持手段に保持された加加速度値を前記第１の１／２演算手段および前記１／３演算手段で処理した値と、前記加速度値保持手段に保持された加速度値を前記第２の１／２演算手段で処理した値と、前記速度値保持手段に保持された速度値と、前記距離値保持手段に保持された距離値を、加算演算した値が所定の閾値以上となると前記パルス生成タイミングを出力するとともに、前記加算演算した値から前記閾値を減算した値が前記距離値保持手段に入力される
ことを特徴とする請求項２に記載のパルスモータ制御装置。
【請求項５】
前記速度値保持手段に保持された速度値と、前記距離値保持手段に保持された距離値を、加算演算した値が所定の閾値以上となると前記パルス生成タイミングを出力するとともに、前記加算演算した値から前記閾値を減算した値が前記距離値保持手段に入力される
ことを特徴とする請求項３に記載のパルスモータ制御装置。
【請求項６】
制御区間ごとのパルス数に基づいて、前記制御区間の演算値の初期値を決定するパラメータ決定ステップと、
前記パラメータ決定ステップにより決定された前記制御区間の演算値の初期値に基づいて、演算を行う演算ステップと、
前記演算ステップにより演算された演算値が所定の閾値以上となるとパルス生成タイミングを出力するパルス生成タイミング出力ステップと、
前記パルス生成タイミング出力ステップにより出力された前記パルス生成タイミングに基づいて、パルスモータを制御するためのパルス信号を生成するパルス信号生成ステップと、
を備えることを特徴とするパルスモータ制御装置のパルス信号生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パルス信号によりパルスモータを制御するパルスモータ制御装置およびパルス信号生成方法に関する。
【背景技術】
【０００２】
パルスモータ（「ステッピングモータ」ともいう）を制御するためのパルス信号を発生して、パルスモータを制御するパルスモータ制御装置（パルスジェネレータ）が知られている（例えば、特許文献１参照）。
【０００３】
ここで、パルスモータは、パルスモータ制御装置から発生されるパルス信号により駆動され、パルス信号における出力間隔である周波数に対応する回転速度でパルスモータが回転する。また、パルス信号のパルス数に対応する角度だけパルスモータが回転し、これが、パルスモータにより駆動する移動機構の移動距離となる。
したがって、パルスモータの回転速度（移動機構の速度）やパルスモータの回転角（移動機構の移動距離）の制御を行うためには、パルスモータ制御装置から発生されるパルス信号の周波数（単位時間あたりのパルス数）およびパルス数を制御する必要がある。
【０００４】
通常、パルスモータの駆動制御においては、時間に対する速度制御（即ち、パルス信号の周波数制御）を台形駆動制御として行う（例えば、特許文献２の第１図参照）。
【０００５】
ここで、図１９を用いて、台形駆動制御について説明する。図１９は、台形駆動制御を説明するグラフであり、（ａ）は横軸を時間［ｓ］(second)とし縦軸を速度［ｐｐｓ］(pulse per second)としたグラフであり、（ｂ）は横軸を時間［ｓ］とし縦軸を加速度［ｐｐｓ／ｓ］としたグラフである。
【０００６】
即ち、図１９（ｂ）に示すように、まず、パルスモータの起動時から一定の正の加速度を与える（正定加速）ことにより、図１９（ａ）に示すように、速度（パルス信号の周波数）を徐々に上昇させてパルスモータの回転速度を徐々に上昇させる（加速区間）。
【０００７】
次に、パルスモータの回転速度が目標の速度に達すると、図１９（ｂ）に示すように、加速度をゼロにする（加速＝０）ことで、図１９（ａ）に示すように、速度（パルス信号の周波数）を一定にしてパルスモータの回転速度を一定にする（定速区間）。
【０００８】
更に、パルスモータの停止時には、図１９（ｂ）に示すように、一定の負の加速度を与える（負定加速）ことにより、図１９（ａ）に示すように、速度（パルス信号の周波数）を徐々に低下させてパルスモータの回転速度を徐々に低下させ（減速区間）、目標速度に到達後にパルス信号を停止させる。
【０００９】
ここで、図１９の加速区間に注目して、加速区間における速度制御について図２０を用いて更に説明する。図２０は、台形駆動制御における加速区間を説明するグラフであり、（ａ）は横軸を時間［ｓ］とし縦軸を速度［ｐｐｓ］としたグラフであり、（ｂ）は横軸を時間［ｓ］とし縦軸を加速度［ｐｐｓ／ｓ］としたグラフである。
【００１０】
図２０（ａ）に示すように、速度の初速度をＦＬ［ｐｐｓ］とし、速度の到達速度（目標の速度）をＦＨ［ｐｐｓ］とし、速度が到達速度ＦＨに到達までのパルス数をＮ［ｐ］(pulse)とし、図２０（ｂ）に示すように、加速区間における加速度をＡ［ｐｐｓ／ｓ］とする。
【００１１】
一般的にこの時の演算は、速度が初速度ＦＬから到達速度ＦＨに到達までの時間をｔn ［ｓ］とすると、以下の式（１）で表すことができる。
【００１２】
【数１】
2014068422.tif 000003
【００１３】
ここで、パルスモータによる駆動において、常に、１パルス毎の移動距離が等しいことから、速度が初速度ＦＬから到達速度ＦＨに到達までのパルス数Ｎは、以下の式（２）で表すことができる。
【００１４】
【数２】
2014068422.tif 000004
【００１５】
そして、これら式（１）および式（２）より、時間ｔn は、以下の式（３）という演算式が導かれる。また、加速度Ａは、以下の式（４）という演算式が導かれる。なお、式（３）および式（４）の導出は、非特許文献１および非特許文献２に開示されている。
【００１６】
【数３】
2014068422.tif 000005
【００１７】
【数４】
2014068422.tif 000006
【００１８】
従来のパルスモータ制御装置は、これら式（１）から式（４）に示す演算式を用いて、パルス生成タイミングを演算、または、あらかじめ演算結果を記憶しておき記憶された演算結果を読み出して使用することにより、パルスモータの回転速度制御を可能としている。
【００１９】
なお、図１９および図２０において、パルスモータ制御装置の速度制御を台形駆動制御するものとして説明した。パルスモータ制御装置の速度制御は、この台形駆動制御の他にも、加速度の急激な変化を抑制する制御方法として、２次関数や三角関数を使用したり、複数の直線を組み合せたりする（例えば、加速区間を「低加速区間、高加速区間、低加速区間」の３つの直線で駆動制御することにより、加速度の急激な変化を低減させる）制御方法等もある。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開平１０−２８５９９７号公報
【特許文献２】特公平６１−０３５７９９号公報
【非特許文献】
【００２１】
【非特許文献１】見城尚志著、菅原晟著、「ステッピングモータとマイコン制御」、総合電子出版社、１９９４年、p.１５１−１５５
【非特許文献２】高橋久著、「Ｃ言語によるモータ制御入門講座−ＳＨマイコンで学ぶプログラミングと制御技法−」、電波新聞社、２００７年、p.２３９−２４２
【発明の概要】
【発明が解決しようとする課題】
【００２２】
しかしながら、前述のような演算によるパルスモータの回転速度制御の場合、全ての演算をリアルタイムで行うものとすると、演算が複雑で時間がかかるため、パルスモータの高速動作に適切に応答することが困難になってくるという課題がある。
【００２３】
また、低速時のスローアップが不要な場合であっても、複雑な演算を行うこととなるため、演算に時間を要して、パルスモータの動作時間がかかり、システム全体のスループットの低下をまねく場合が生じてしまうという課題がある。
【００２４】
一方、これらの課題を解決するため、演算式の簡易化を行うと、演算誤差の補正演算を追加しても、累積演算誤差を発生させる場合が生じてしまうという課題がある。
【００２５】
また、あらかじめ演算結果をメモリ等のデータ保持手段に記憶させておき、記憶された演算結果を読み出して使用する方式においては、必要な駆動パターン数や、駆動時間が増加するとデータ保持手段の容量が増大し、システムとしての対応が困難になってくるという課題がある。
【００２６】
したがって、制御区間ごとの演算パラメータを事前に計算しておく必要があるとすると、同じパルスモータの回転速度制御を行うのにパルス信号生成方法の見直しにより、使用者が入力する設定パラメータが従来と極端に変化することは望まれていないという課題がある。
【００２７】
また、演算値の初期値を計算する方法には、複数の式が考えられるため、基準となる演算パラメータの算出方法を明示することで、使用者が従来のパラメータと同様な設定パラメータの入力でパルスモータ制御装置が使用可能となる解決策が望ましい。
【００２８】
そこで、本発明は、パルス生成タイミングの演算における演算誤差が少なく、演算負荷の低減が可能なパルスモータ制御装置およびパルス信号生成方法を提供することを課題とする。
【課題を解決するための手段】
【００２９】
このような課題を解決するために、本発明は、制御区間ごとのパルス数に基づいて、前記制御区間の演算値の初期値および前記制御区間の終了条件を決定するパラメータ決定手段と、前記パラメータ決定手段で決定された前記制御区間の演算値の初期値および前記制御区間の終了条件が記憶される記憶手段と、前記記憶手段に記憶された前記制御区間の終了条件に基づいて、現在の制御区間から次の制御区間へと切り替わる点である変化点を検出する変化点検出手段と、前記記憶手段に記憶された前記制御区間の演算値の初期値に基づいて、演算を行うとともに、演算された演算値が所定の閾値以上となるとパルス生成タイミングを出力する有界演算器と、前記有界演算器が出力した前記パルス生成タイミングに基づいて、パルスモータを制御するためのパルス信号を生成するパルス生成手段と、を備えることを特徴とするパルスモータ制御装置である。
【００３０】
また、本発明は、制御区間ごとのパルス数に基づいて、前記制御区間の演算値の初期値を決定するパラメータ決定ステップと、前記パラメータ決定ステップにより決定された前記制御区間の演算値の初期値に基づいて、演算を行う演算ステップと、前記演算ステップにより演算された演算値が所定の閾値以上となるとパルス生成タイミングを出力するパルス生成タイミング出力ステップと、前記パルス生成タイミング出力ステップにより出力された前記パルス生成タイミングに基づいて、パルスモータを制御するためのパルス信号を生成するパルス信号生成ステップと、を備えることを特徴とするパルスモータ制御装置のパルス信号生成方法である。
【発明の効果】
【００３１】
本発明によれば、パルス生成タイミングの演算における演算誤差が少なく、演算負荷の低減が可能なパルスモータ制御装置およびパルス信号生成方法を提供することができる。
【図面の簡単な説明】
【００３２】
【図１】パルスモータを制御する本実施形態に係るパルスモータ制御装置の構成ブロック図である。
【図２】有界演算器の構成を示す機能ブロック図である。
【図３】Ｓ字駆動制御を説明するグラフであり、（ａ）は横軸を時間とし縦軸を速度としたグラフであり、（ｂ）はＳ字駆動制御の加速区間について横軸を時間とし縦軸を加速度としたグラフである。
【図４】制御情報メモリに格納される格納データの例である。
【図５】制御情報メモリに格納される格納データの例である。
【図６】加加速区間における有界演算器の演算経過の例である。
【図７】定加速区間における有界演算器の演算経過の例である。
【図８】減加速区間における有界演算器の演算経過の例である。
【図９】設定パラメータから必要な演算パラメータを算出する演算パラメータ算出手段の算出処理を説明するフローチャートである。
【図１０】演算パラメータ算出手段が用いる演算パラメータの算出式の一覧である。
【図１１】演算パラメータ算出手段の設定パラメータの一覧である。
【図１２】演算パラメータ算出手段の演算パラメータの一覧である。
【図１３】演算パラメータの導出を説明するためのグラフであり、（ａ）は横軸を時間とし縦軸を速度としたグラフであり、（ｂ）は横軸を時間とし縦軸を加速度としたグラフである。
【図１４】設定パラメータの入力画面の表示例である。
【図１５】直線での駆動制御を説明するグラフであり、（ａ）は横軸を時間とし縦軸を速度としたグラフであり、（ｂ）は横軸を時間とし縦軸を加速度としたグラフである。
【図１６】変形例に係る有界演算器の構成を示す機能ブロック図である。
【図１７】変形例に係るパルスモータ制御装置の構成図である。
【図１８】変形例に係るパルスモータ制御装置の動作を示すフローチャートである。
【図１９】台形駆動制御を説明するグラフであり、（ａ）は横軸を時間とし縦軸を速度としたグラフであり、（ｂ）は横軸を時間とし縦軸を加速度としたグラフである。
【図２０】台形駆動制御における加速区間を説明するグラフであり、（ａ）は横軸を時間とし縦軸を速度としたグラフであり、（ｂ）は横軸を時間とし縦軸を加速度としたグラフである。
【図２１】台形駆動制御における加速区間でのパルス生成タイミングの変化を説明するグラフであり、横軸を時間とし縦軸を速度としたグラフである。
【図２２】Ｓ字駆動制御の加速区間でのパルス生成タイミングの変化を示すグラフであり、（ａ）は横軸を時間とし縦軸を速度としたグラフであり、（ｂ）は横軸を時間とし縦軸を加速度としたグラフである。
【発明を実施するための形態】
【００３３】
以下、本発明を実施するための形態（以下「実施形態」という）について、適宜図面を参照しながら詳細に説明する。なお、各図において、共通する部分には同一の符号を付し重複した説明を省略する。
【００３４】
≪パルスモータ制御装置１≫
図１を用いて本実施形態に係るパルスモータ制御装置１について説明する。図１は、パルスモータ１３を制御する本実施形態に係るパルスモータ制御装置１の構成ブロック図である。
【００３５】
パルスモータ制御装置１は、パルスモータ１３を駆動させるためのパルス信号を生成して駆動回路１２に送信することにより、パルスモータ１３の回転速度やパルスモータ１３の回転角を制御することができるようになっている。
【００３６】
駆動回路１２は、パルスモータ制御装置１（後述するパルス生成手段１１）で生成されたパルス信号に基づいてパルスモータ１３の励磁電流を生成し、パルスモータ１３に出力するようになっている。
【００３７】
パルスモータ１３は、駆動回路１２から入力した励磁電流により回転するようになっている。なお、パルスモータ１３により駆動する図示しない移動機構（例えば、回転運動を直線運動に変換する回転直動機構）が設けられている場合には、パルスモータ制御装置１は、パルスモータ１３を制御することにより、移動機構（図示せず）の速度および移動距離を制御することができるようになっている。
【００３８】
パルスモータ制御装置１の各部について更に説明する。
パルスモータ制御装置１は、変化点検出手段２と、メモリアドレス生成手段３と、制御情報メモリ４と、演算定数選択手段５と、有界演算器６と、演算値計測手段７と、クロック計測手段８と、外部計測手段９と、パルス計測手段１０と、パルス生成手段１１と、演算パラメータ算出手段４０と、を備えている。
【００３９】
変化点検出手段２は、後述する演算値計測手段７、クロック計測手段８、外部計測手段９およびパルス計測手段１０からの各種計測情報と、制御情報メモリ４から入力された計測制御値に基づいて、変化点であるか否かを判定することができるようになっている。ここで、変化点とは、速度−時間特性（後述する図３参照）において、ある制御区間から次の制御区間に切り替わる点をいう。
そして、変化点であると判定した場合、変化点検出手段２は、メモリアドレス生成手段３および演算定数選択手段５に条件成立信号を出力するようになっている。
【００４０】
メモリアドレス生成手段３は、メモリアドレスを保持し、制御情報メモリ４に保持されたメモリアドレスを出力するようになっている。
また、メモリアドレス生成手段３は、変化点検出手段２から条件成立信号が入力されると、メモリアドレスに記憶されているアドレスを「１」加算するようになっている。なお、アドレス値は、速度−時間特性（後述する図３参照）における１つの制御区間に対応するようになっている。
【００４１】
制御情報メモリ４は、アドレス（制御区間）に対応するように、計測制御値と演算設定値が記憶されている。ここで、計測制御値とは、変化点検出手段２で変化点であると判定するための閾値である。また、演算設定値とは、アドレスに対応する制御区間における演算値（加加速度Ｂ，加速度Ａ，速度Ｖ）の初期値である。
また、制御情報メモリ４は、メモリアドレス生成手段３から入力されたアドレスに対応する計測制御値を変化点検出手段２に出力するとともに、メモリアドレス生成手段３から入力されたアドレスに対応する演算設定値を演算定数選択手段５に出力するようになっている。
【００４２】
演算定数選択手段５は、制御情報メモリ４の演算設定値と、有界演算器６の演算結果値とのいずれかを選択して、有界演算器６に出力するようになっている。
具体的には、変化点検出手段２の条件成立信号が入力された場合には、制御情報メモリ４の演算設定値を有界演算器６に出力し、変化点検出手段２の条件成立信号が入力されなかった場合には、有界演算器６の演算結果値を有界演算器６に出力するようになっている。
【００４３】
有界演算器６は、演算定数選択手段５から入力した値（演算設定値または演算結果値）に基づいて、演算周期（演算用クロックの周期）で演算を実行し、その演算結果値を、演算定数選択手段５および演算値計測手段７に出力するようになっている。
また、有界演算器６は、所定の条件を満たすことにより、パルス生成信号（後述するオーバーフロー信号）をパルス計測手段１０およびパルス生成手段１１に出力するようになっている。
なお、有界演算器６における演算については、図２等を用いて後述する。
【００４４】
演算値計測手段７は、有界演算器６の演算結果値を保持するとともに、その演算結果値を計測情報として変化点検出手段２に出力することができるようになっている。
【００４５】
クロック計測手段８は、クロック（有界演算器６における演算回数）をカウントするとともに、そのクロックカウントを計測情報として変化点検出手段２に出力することができるようになっている。
【００４６】
外部計測手段９は、パルスモータ制御装置１の外部の情報（例えば、図示しない移動機構が所定の位置まで移動したことを検知するセンサの検知信号）を取得するとともに、その外部情報を計測情報として変化点検出手段２に出力することができるようになっている。
【００４７】
パルス計測手段１０は、有界演算器６からパルス生成信号（オーバーフロー信号）が入力した回数をカウントすることにより、パルス生成手段１１が生成したパルス信号の数を計測するとともに、その生成したパルス信号の数を計測情報として変化点検出手段２に出力することができるようになっている。
【００４８】
パルス生成手段１１は、有界演算器６から入力したパルス生成信号（オーバーフロー信号）を受信することにより、パルス信号を生成して駆動回路１２に送信することができるようになっている。
【００４９】
演算パラメータ算出手段４０は、入力手段（図示せず）を介して使用者（ユーザ）が入力した設定パラメータに基づいて演算パラメータを算出し、設定パラメータや演算パラメータから計測制御値や演算設定値を設定して制御情報メモリ４に記憶させることができるようになっている。
【００５０】
≪有界演算器６における演算処理≫
次に、パルスモータ制御装置１が備える有界演算器６について更に説明する。なお、以下の説明において、計測制御値や演算設定値は制御情報メモリ４にあらかじめ記憶されているものとして説明し、演算パラメータ算出手段４０による演算パラメータ（計測制御値、演算設定値）の算出については後述する。
【００５１】
＜演算式＞
まず、本実施形態に係るパルスモータ制御装置１が用いる演算式について説明する。
【００５２】
図１９および図２０を用いて説明した台形駆動制御を例に、台形駆動制御の加速区間でのパルス生成タイミングについて図２１を用いて更に説明する。図２１は、台形駆動制御における加速区間でのパルス生成タイミングの変化を説明するグラフであり、横軸を時間［ｓ］とし縦軸を速度［ｐｐｓ］としたグラフである。
【００５３】
パルスモータによる駆動において、時間ｔ0 ，ｔ1 ，ｔ2 ，・・・，ｔn においてパルス信号を出力するものとすると、常に、１パルス毎の移動距離が等しいことから、図２１に示す速度−時間特性における面積Ｓ0 ，Ｓ1 ，Ｓ2 ，・・・，Ｓn-1 は、Ｓ0 ＝Ｓ1 ＝Ｓ2 ＝・・・＝Ｓn-1 の関係が成立する。
また、一般的に、速度＝∫加速度dt、距離＝∫速度dt、の関係が成立する。
【００５４】
そこで、図２２に示すような２次曲線を採用したＳ字駆動制御を例に、Ｓ字駆動制御の加速区間でのパルス生成タイミングについて説明する。図２２は、Ｓ字駆動制御の加速区間でのパルス生成タイミングの変化を示すグラフであり、（ａ）は横軸を時間［ｓ］とし縦軸を速度［ｐｐｓ］としたグラフであり、（ｂ）は横軸を時間［ｓ］とし縦軸を加速度［ｐｐｓ／ｓ］としたグラフである。
【００５５】
即ち、図２２（ｂ）に示すように、一定の正の加加速度を与えて加速度を上昇させることにより、図２２（ａ）に示すように、速度を２次曲線で徐々に上昇させる（加加速区間）。
【００５６】
次に、図２２（ｂ）に示すように、加加速度をゼロにすることで加速度を一定にさせることにより、図２２（ａ）に示すように、速度を一定の傾きで上昇させる（定加速区間）。
【００５７】
そして、図２２（ｂ）に示すように、一定の負の加加速度を与えて加速度を低下させることにより、図２２（ａ）に示すように、速度を２次曲線で徐々に低下させる（減加速区間）。
【００５８】
このようにＳ字駆動制御することにより、台形駆動制御（図１９参照）と比較して、加速区間開始時および加速区間終了時における加速度の急激な変化を低減させることができるようになっている。即ち、図示しない移動機構にかかる力が、急激に変化することを抑制することができるようになっている。
【００５９】
ここで、距離（パルス数）をｄ［ｐ］とし、速度（パルス信号の周波数）をｖ［ｐｐｓ］とし、加速度をａ［ｐｐｓ／ｓ］とし、加加速度をｂ［ｐｐｓ／ｓ2 ］として、ある時間ｔn ［ｓ］での距離ｄn 、速度ｖn 、加速度をａn 、加加速度ｂn の関係は、以下の式（５）で表すことができる。
【００６０】
【数５】
2014068422.tif 000007
【００６１】
この式（５）から、特定の時間（Δｔ［ｓ］）が経過した時間ｔn+1［ｓ］（すなわち、ｔn+1 ＝ｔn＋Δｔ）おける演算式は、以下の式（６）で表すことができる。
【００６２】
【数６】
2014068422.tif 000008
【００６３】
この式（６）のままでは、演算が複雑となるため、特定の時間（Δｔ）を演算用クロックの周波数１クロック分の時間として、即ち、「Δｔ＝１」として、演算式の簡略化を行った。簡略化された演算式を以下の式（７）に示す。なお、この簡略化された演算式（７）における加速度ａ，加加速度ｂは、演算用クロックで換算された値となっている。
【００６４】
【数７】
2014068422.tif 000009
【００６５】
演算式（７）において、各演算式のｎが１進んだときの演算結果が、１クロック分の変化結果に相当することを示している。ここで、１パルス毎の移動距離が等しいことから、距離ｄが所定の値を超える（オーバーフローする）タイミングがパルス生成タイミングとなる。
【００６６】
このように、演算式（７）に演算用クロックで換算した加速度ａ、加加速度ｂを与えて、クロック時間に同期して演算を繰返すことで、パルス生成タイミングを生成することができ、複雑な演算が不要なパルス生成方式が可能となる。
【００６７】
＜有界演算器６の構成＞
図２を用いて、演算式（７）を実現する有界演算器６の構成について説明する。図２は、有界演算器６の構成を示す機能ブロック図である。
有界演算器６は、加加速度値保持手段６１と、加速度値保持手段６２と、速度値保持手段６３と、距離値保持手段６４と、加算器６５ａ，６５ｂ，６５ｃ，６５ｄ，６５ｅと、１／２演算器６６ａ，６６ｂと、１／３演算器６７と、を備えている。
【００６８】
まず、演算定数選択手段５（図１参照）から入力した値（演算設定値または演算結果値）のうち、加加速度値が加加速度値保持手段６１に保持され、加速度値が加速度値保持手段６２に保持され、速度値が速度値保持手段６３に保持され、距離値が距離値保持手段６４に保持される。
【００６９】
加速度値保持手段６２には、加加速度値保持手段６１に保持された加加速度値と加速度値保持手段６２に保持された加速度値を加算器６５ａで加算した値が入力され、保持される。
【００７０】
速度値保持手段６３には、加加速度値保持手段６１に保持された加加速度値を１／２演算器６６ａで処理した値と、加速度値保持手段６２に保持された加速度値と、速度値保持手段６３に保持された速度値を加算器６５ｂ，６５ｃで加算した値が入力され、保持される。
【００７１】
距離値保持手段６４には、加加速度値保持手段６１に保持された加加速度値を１／２演算器６６ａおよび１／３演算器６７で処理した値と、加速度値保持手段６２に保持された加速度値を１／２演算器６６ｂで処理した値と、速度値保持手段６３に保持された速度値と、距離値保持手段６４に保持された距離値を加算器６５ｄ，６５ｅで加算した値が入力され、保持される。
【００７２】
また、加算器６５ｅは、オーバーフローが発生した際には、オーバーフローの発生を示すオーバーフロー信号をパルス生成信号としてパルス計測手段１０およびパルス生成手段１１に出力するようになっている。
【００７３】
そして、加加速度値保持手段６１に保持された加加速度値と、加速度値保持手段６２に保持された加速度値と、速度値保持手段６３に保持された速度値と、距離値保持手段６４に保持された距離値とを、演算結果値として演算定数選択手段５および演算値計測手段７に出力するようになっている。
【００７４】
なお、有界演算器６において、１／２演算器６６ａ，６６ｂを１ビットシフトとし、１／３演算器６７を３クロックに１回の割合で出力するものとすることにより、有界演算器６における必要な演算を加算のみにすることができる。
【００７５】
≪パルスモータ制御装置１の動作（Ｓ字駆動制御）≫
次に、図３（ａ）に示すＳ字駆動制御を行う場合において、図３（ｂ）に示す加速区間における加速度制御を例に本実施形態に係るパルスモータ制御装置１の動作について説明する。
【００７６】
図４は、制御情報メモリ４に格納されている格納データの例である。
図３（ａ）に示すように、パルスモータ１３の起動から停止に至る一連の動作を、速度，加速度，加加速度などの制御条件が変化する毎の「制御区間」に分割されている。そして、各制御区間内における速度，加速度，加加速度などの初期値や制御区間の終了条件（次の制御区間への移行条件）を予め求めておき、格納データとして制御情報メモリ４に格納されている。
図３（ａ）に示すＳ字駆動制御は、制御区間ＴＳ1〜ＴS8の区間で区切られた曲線で構成されていることから、制御情報メモリ４に格納されている格納データは、例えば、図４に示すようになる。
【００７７】
変化点情報選択条件には、その制御区間において、変化点検出手段２が、いずれの計測情報と計測制御値に基づいて変化点であるか否かを判定するかが格納されている。
また、演算条件には、演算定数選択手段５において、制御情報メモリ４から出力される各初期値（速度、加速度、加加速度）を選択（上書き）して次の区間演算を始めるか、または、有界演算器６から出力される各演算結果値（速度、加速度、加加速度）を選択（継承）して次の区間演算を始めるか、を示す選択フラグとしての演算条件が格納されている。
なお、変化点情報選択条件（選択条件）と演算条件とは、後述する図５のように一つのフラグで管理されていてもよい。
【００７８】
計測制御値には、変化点検出手段２で変化点であると判定するための閾値が格納されている。
演算設定値には、アドレスに対応する制御区間における演算値（加加速度Ｂ，加速度Ａ，速度Ｖ）の初期値が格納されている。
【００７９】
例えば、図３における入力パラメータを、加速区間における初速度ＦＬ＝２００００［ｐｐｓ］、加速区間における到達速度ＦＨ＝１０００００［ｐｐｓ］、制御区間ＴS1 ＝１２５［μｓ］、制御区間ＴS2 ＝３２［μｓ］、制御区間ＴS3 ＝５５［μｓ］、であるものとして説明する。
また、有界演算器６の演算周期（演算用クロック）を１［ＭＨｚ］の周期で演算するものとし、図５に示す格納データを制御情報メモリ４に格納して、
また、オーバーフロー判定は距離Ｄが１００００００を超える度に発生するものとして説明する。
【００８０】
まず、メモリアドレス生成手段３には、アドレス「０」を保持されている。制御情報メモリ４は、アドレス「０」に基づいて、フラグ「０」、クロック設定値「０」、パルス設定値「０」（図５参照）を変化点検出手段２に出力する。
演算をスタートすると、変化点検出手段２は、条件成立信号をメモリアドレス生成手段３および演算定数選択手段５に出力する。
【００８１】
メモリアドレス生成手段３は、メモリアドレスを１加算してアドレス「１」を保持するとともに、制御情報メモリ４にアドレス「１」を出力する。
制御情報メモリ４は、アドレス「１」に基づいて、フラグ「１」、計測制御値（クロック設定値「１２５」）（図５参照）を変化点検出手段２に出力する。また、制御情報メモリ４は、演算設定値（加加速度Ｂ「５」、加速度Ａ「０」、速度Ｖ「２００００」）を演算定数選択手段５に出力する。
なお、フラグ「１」とは、計測制御値のうちクロック設定値を用いて変化点の判定を行うことを示すフラグであり、演算定数選択手段５に演算設定値として加加速度Ｂ、加速度Ａ、速度Ｖを出力することを示すフラグである。
【００８２】
演算定数選択手段５は、変化点検出手段２から条件成立信号が入力されたことにより、演算設定値（加加速度Ｂ「５」、加速度Ａ「０」、速度Ｖ「２００００」）を有界演算器６に出力する。
有界演算器６は、加加速度値保持手段６１に「５」、加速度値保持手段６２に「０」、速度値保持手段６３に「２００００」を格納し、演算を開始する。そして、有界演算器６は、演算結果値（加加速度Ｂ「５」、加速度Ａ「５」、速度Ｖ「２０００５」、距離Ｄ「２０００８」）を演算定数選択手段５および演算値計測手段７に出力するようになっている。
【００８３】
次の演算周期において、演算定数選択手段５は、変化点検出手段２から条件成立信号が入力されていないため、演算結果値（加加速度Ｂ「５」、加速度Ａ「５」、速度Ｖ「２０００５」、距離Ｄ「２０００８」）を有界演算器６に出力する。そして、変化点検出手段２から演算定数選択手段５に条件成立信号が入力されるまで演算を繰り返す。
【００８４】
そして、クロック計測手段８が計測したカウントが「１２５」（即ち、制御区間ＴS1終了）となると、変化点検出手段２は、条件成立信号をメモリアドレス生成手段３および演算定数選択手段５に出力する。
【００８５】
図６に加加速区間ＴS1における有界演算器６の演算経過の例を示す。なお、距離Ｄは１００００００を超える度にオーバーフローが発生するため、距離値保持手段６４に保持される値は７桁目を削除したものとなるが、図６においては標記している。
このように、１２５クロック目の加速度が６２５、速度が５９６８５に達しており、４個のパルスが生成したことがわかる。
【００８６】
制御区間ＴS1終了時に、条件成立信号が出力されたことにより、メモリアドレス生成手段３は、メモリアドレスを１加算してアドレス「２」を保持するとともに、制御情報メモリ４にアドレス「２」を出力する。
制御情報メモリ４は、アドレス「２」に基づいて、フラグ「２」、計測制御値（クロック設定値「３２」）（図５参照）を変化点検出手段２に出力する。また、制御情報メモリ４は、演算設定値（加加速度Ｂ「０」、加速度Ａ「６２５」）を演算定数選択手段５に出力する。
なお、フラグ「２」とは、計測制御値のうちクロック設定値を用いて変化点の判定を行うことを示すフラグであり、演算定数選択手段５に演算設定値として加加速度Ｂ、加速度Ａを出力することを示すフラグである。
【００８７】
演算定数選択手段５は、変化点検出手段２から条件成立信号が入力されたことにより、演算設定値（加加速度Ｂ「０」、加速度Ａ「６２５」）と演算結果値（速度Ｖ「５９６８５」、距離Ｄ「２０６０４２」（オーバーフローにより７桁目は削除されている））を有界演算器６に出力する。そして、変化点検出手段２から演算定数選択手段５に条件成立信号が入力されるまで演算を繰り返す。
【００８８】
そして、クロック計測手段８が計測したカウントが「３２」（即ち、制御区間ＴS2終了）となると、変化点検出手段２は、条件成立信号をメモリアドレス生成手段３および演算定数選択手段５に出力する。
【００８９】
図７に加加速区間ＴS2における有界演算器６の演算経過の例を示す。なお、距離Ｄは１００００００を超える度にオーバーフローが発生するため、距離値保持手段６４に保持される値は７桁目を削除したものとなるが、図７においては標記している。
このように、３２クロック目の速度が７９６８５に達しており、２個のパルスが生成したことがわかる。
【００９０】
制御区間ＴS2終了時に、条件成立信号が出力されたことにより、メモリアドレス生成手段３は、メモリアドレスを１加算してアドレス「３」を保持するとともに、制御情報メモリ４にアドレス「３」を出力する。
制御情報メモリ４は、アドレス「３」に基づいて、フラグ「２」、計測制御値（クロック設定値「５５」）（図５参照）を変化点検出手段２に出力する。また、制御情報メモリ４は、演算設定値（加加速度Ｂ「−１０」、加速度Ａ「０」）を演算定数選択手段５に出力する。
【００９１】
演算定数選択手段５は、変化点検出手段２から条件成立信号が入力されたことにより、演算設定値（加加速度Ｂ「−１０」、加速度Ａ「０」）と演算結果値（速度Ｖ「７９６８５」、距離Ｄ「４５５９６２」（オーバーフローにより７桁目は削除されている））を有界演算器６に出力する。そして、変化点検出手段２から演算定数選択手段５に条件成立信号が入力されるまで演算を繰り返す。
【００９２】
そして、クロック計測手段８が計測したカウントが「５５」（即ち、制御区間ＴS3終了）となると、変化点検出手段２は、条件成立信号をメモリアドレス生成手段３および演算定数選択手段５に出力する。
【００９３】
図８に加加速区間ＴS3における有界演算器６の演算経過の例を示す。なお、距離Ｄは１００００００を超える度にオーバーフローが発生するため、距離値保持手段６４に保持される値は７桁目より上を削除したものとなるが、図８においては標記している。
このように、５５クロック目の速度が１０００００に達しており、５個のパルスが生成したことがわかる。
【００９４】
制御区間ＴS4終了時に、条件成立信号が出力されたことにより、メモリアドレス生成手段３は、メモリアドレスを１加算してアドレス「４」を保持するとともに、制御情報メモリ４にアドレス「４」を出力する。
制御情報メモリ４は、アドレス「４」に基づいて、フラグ「３」、計測制御値（パルス設定値「５」）（図５参照）を変化点検出手段２に出力する。また、制御情報メモリ４は、演算設定値（加加速度Ｂ「０」、加速度Ａ「０」、速度Ｖ「１０００００」）を演算定数選択手段５に出力する。
なお、フラグ「３」とは、計測制御値のうちパルス設定値を用いて変化点の判定を行うことを示すフラグであり、演算定数選択手段５に演算設定値として加加速度Ｂ、加速度Ａ、速度を出力することを示すフラグである。
【００９５】
演算定数選択手段５は、変化点検出手段２から条件成立信号が入力されたことにより、演算設定値（加加速度Ｂ「０」、加速度Ａ「０」、速度Ｖ「１０００００」）と演算結果値（距離Ｄ「５２６８８１」（オーバーフローにより７桁目より上は削除されている））を有界演算器６に出力する。そして、変化点検出手段２から演算定数選択手段５に条件成立信号が入力されるまで演算を繰り返す。
【００９６】
そして、パルス計測手段１０が計測したカウントが制御区間ＴS5開始から「５」増えると、変化点検出手段２は、条件成立信号をメモリアドレス生成手段３および演算定数選択手段５に出力する。
【００９７】
これらの一連の動作により、本実施形態に係るパルスモータ制御装置１は、入力パラメータで指定した動作が可能となる。
【００９８】
このように、本実施形態に係るパルスモータ制御装置１によれば、演算式（７）の有界演算器６（図２参照）を用いることにより、前記した式（１）〜（４）に基づいて制御する従来のパルスモータ制御装置と比較して、除算回路を不要とし、高速に動作させることができるので、演算誤差が少なく、演算負荷を低減させることができる。
【００９９】
また、式（１）〜（４）に基づいて制御する従来のパルスモータ制御装置では、制御パルスの生成が困難であったＳ字駆動制御（２次曲線速度制御）についても、本実施形態に係るパルスモータ制御装置１によれば、容易に実現することができる。
【０１００】
また、除算を不要とすることで、距離に対する累積誤差が発生しない演算回路とすることができる。更に、演算式（７）では、精度への制限が無いことから、演算周期と演算有効幅を適宜変更することで、システムが要求する演算精度に合せることも可能である。
【０１０１】
≪演算パラメータ算出手段４０による演算パラメータの算出≫
次に、演算パラメータ算出手段４０による演算パラメータの算出方法について、図９から図１２を用いて説明する。
【０１０２】
図９は、設定パラメータから必要な演算パラメータを算出する演算パラメータ算出手段４０の算出処理を説明するフローチャートである。図１０は、演算パラメータ算出手段４０が用いる演算パラメータ算出式の一覧である。図１１は、演算パラメータ算出手段４０の設定パラメータの一覧である。図１２は、演算パラメータ算出手段４０の演算パラメータの一覧である。
【０１０３】
まず、使用者（ユーザ）が入力手段（図示せず）を介して設定パラメータを入力（設定）する。使用者が入力（設定）する設定パラメータには、図１１に示すように、駆動モード（図１１のNo.1参照）と、駆動モードごとに要求される設定項目（図１１のNo.2〜20参照）とがある。
【０１０４】
ここで、駆動モードは、台形駆動モード（図１９参照）、Ｓ字駆動モード（図３参照）、３直線駆動（３直駆動）モード（図１５参照）の３種類から選択することができるようになっている。
【０１０５】
例えば、駆動モードが台形駆動モードの場合（MODE=1）、設定パラメータとして、図１１に示すように、初速度FL（加速区間開始時の速度）、高速度FH（加速区間終了時の速度、定速区間の速度、減速区間開始時の速度）、終速度FE（減速区間終了時の速度）、加速区間パルス数Pu（加速区間におけるパルス数、即ち、加速区間の距離に対応）、減速区間パルス数Pd（減速区間におけるパルス数、即ち、減速区間の距離に対応）、減速開始パルス数CDSTEP（減速区間を開始するパルス数、定速区間の終了位置に対応）、移動パルス数STEP（駆動時の限界パルス数、即ち、全区間の限界距離に対応）を設定するようになっている。
【０１０６】
また、駆動モードがＳ次駆動モードの場合（MODE=2）、設定パラメータとして、図１１に示すように、初速度FL、高速度FH、終速度FE、加速区間パルス数Pu、減速区間パルス数Pd、加速側低速Ｓ字率Rul、加速側高速Ｓ字率Ruh、減速側高速Ｓ字率Rdh、減速側低速Ｓ字率Rdl、減速開始パルス数CDSTEP、移動パルス数STEPを設定するようになっている。
【０１０７】
ここで、Ｓ字率とは、加（減）速区間における曲線加（減）速部分の比率をいう。図３の加速区間（ＴS1、ＴS2、ＴS3）においては、ＴS1とＴS3の区間が各々、曲線加速部分である。ここでのトータルでの速度増分（FH−FL）に対して、ＴS1区間の速度増分の比率をRul、ＴS3区間の速度増分の比率をRuhで示している。例えば、初速度FL＝１００［ｐｐｓ］から加速開始して、加速区間（ＴS1、ＴS2、ＴS3）を経て、高速度FH＝２００［ｐｐｓ］まで加速するとき、ＴS1区間では、１４０［ｐｐｓ］まで曲線加速し、ＴS2区間では１８０［ｐｐｓ］まで加速するなら、ＴS1のＳ字率（即ちRul）は０．４であり、ＴS3のＳ字率（即ちRuh）は０．２である。ちなみに、Rul＝Ruh＝Rdh＝Rdl＝０とすることにより、Ｓ字駆動モードの演算処理で、台形駆動モードの演算処理を行うことができる。
【０１０８】
また、駆動モードが３直線駆動モードの場合（MODE=3）、設定パラメータとして、図１１に示すように、初速度FL、高速度FH、終速度FE、加速側３直第１速度Fu1（TL1での到達速度、TL2での開始速度）、加速側３直第２速度Fu2（TL2での到達速度、TL3での開始速度）、減速側３直第１速度Fd1（TL5での到達速度、TL6での開始速度）、減速側３直第２速度Fd2（TL6での到達速度、TL7での開始速度）、加速区間パルス数Pu、加速側低速パルス数Pul（TL1でのパルス数）、加速側高速パルス数Puh（TL3でのパルス数）、減速区間パルス数Pd、減速側高速パルス数Pdh（TL5でのパルス数）、減速側低速パルス数Pdl（TL7でのパルス数）、減速開始パルス数CDSTEP、移動パルス数STEPを設定するようになっている。
【０１０９】
図１４に設定パラメータの入力画面の一例を示す。図１４に示すように、駆動モードと設定パラメータの一覧が表示されており、駆動モードを選択することにより、入力（設定
）すべき設定パラメータの項目が識別できるようになっている。
図１４の例では、駆動モードとしてＳ字駆動（MODE=2）が選択されているため、初速度FL、高速度FH、終速度FE、加速区間パルス数Pu、減速区間パルス数Pd、加速側低速Ｓ字率Rul、加速側低速Ｓ字率Ruh、減速側高速Ｓ字率Rdh、減速側低速Ｓ字率Rdl、減速開始パルス数CDSTEP、移動パルス数STEPの項目の入力欄が強調表示（図１４では網掛けで示す）され、入力可能となっているとともに、使用者（ユーザ）に入力すべき項目を識別することができるようになっている。
【０１１０】
設定パラメータが入力されると、演算パラメータ算出手段４０は、図９に示すフローチャートにしたがって、演算パラメータを算出するようになっている。
【０１１１】
ステップＳ１０１において、演算パラメータ算出手段４０は、加速区間における駆動モードを判定する。
【０１１２】
ステップＳ１０２において、演算パラメータ算出手段４０は、ステップＳ１０１において選定された駆動モードが３直線駆動モードであるか否かを判定する。駆動モードが３直線駆動モードである場合（Ｓ１０２・Ｙｅｓ）、演算パラメータ算出手段４０の処理はＳ１０９に進む。駆動モードが３直線駆動モードでない場合（Ｓ１０２・Ｎｏ）、演算パラメータ算出手段４０の処理はＳ１０３に進む。
【０１１３】
ステップＳ１０３において、演算パラメータ算出手段４０は、加速区間の時間TUを算出する（図１０のNo.1参照）。なお、加速区間の時間TUの算出は、以下の変換式１により算出される。また、変換式１の導出については、後述する。
【０１１４】
【数８】
2014068422.tif 000010
【０１１５】
ステップＳ１０４において、演算パラメータ算出手段４０は、加速区間の直線加速度LAUを算出する（図１０のNo.2参照）。
【０１１６】
ステップＳ１０５において、演算パラメータ算出手段４０は、ステップＳ１０１において選定された駆動モードが台形駆動モードであるか否かを判定する。駆動モードが台形線駆動モードである場合（Ｓ１０５・Ｙｅｓ）、演算パラメータ算出手段４０の処理はＳ１１１に進む。駆動モードが台形駆動モードでない場合（Ｓ１０５・Ｎｏ）、演算パラメータ算出手段４０の処理はＳ１０６に進む。
【０１１７】
ステップＳ１０６において、演算パラメータ算出手段４０は、加速区間の各区間の速度FUS1，FUS3を算出する（図１０のNo.3、No.4参照）。
【０１１８】
ステップＳ１０７において、演算パラメータ算出手段４０は、加速区間の各区間の時間TS1，TS2，TS3を算出する（図１０のNo.5〜No.7参照）。
【０１１９】
ステップＳ１０８において、演算パラメータ算出手段４０は、加速区間の各区間の加速度、加加速度（加速度の傾き）を算出する。ここで、TS1，TS3の区間は、定加加速度区間であり、TS2は、定加速度区間であるから、TS1の区間の加加速度SAU1、TS2の区間の加速度SAU2、TS3の区間の加加速度SAU3を算出する（図１０のNo.8〜No.10参照）。そして、演算パラメータ算出手段４０の処理はＳ１１１に進む。
【０１２０】
ステップＳ１０９において、演算パラメータ算出手段４０は、加速区間の各区間の時間TS1，TS2，TS3を算出する（図１０のNo.11〜No.13参照）。
【０１２１】
ステップＳ１１０において、演算パラメータ算出手段４０は、加速区間の各区間の加速度LAU1，LAU2，LAU3を算出する（図１０のNo.14〜No.16参照）。そして、演算パラメータ算出手段４０の処理はＳ１１１に進む。
【０１２２】
ステップＳ１１１において、演算パラメータ算出手段４０は、減速区間について演算処理が終了したか否かを判定する。この段階では、加速区間について演算が終了した状態であり、減速区間については演算処理が終了していないので（Ｓ１１１・Ｎｏ）、演算パラメータ算出手段４０の処理はステップS１０１に戻る。
【０１２３】
次に、減速区間についても同様にＳ１０１からＳ１１０の処理を行い演算する。
【０１２４】
即ち、ステップＳ１０１において、演算パラメータ算出手段４０は、減速区間における駆動モードを選定する。
ステップＳ１０２において、演算パラメータ算出手段４０は、ステップＳ１０１において選定された駆動モードが３直線駆動モードであるか否かを判定する。駆動モードが３直線駆動モードである場合（Ｓ１０２・Ｙｅｓ）、演算パラメータ算出手段４０の処理はＳ１０９に進む。駆動モードが３直線駆動モードでない場合（Ｓ１０２・Ｎｏ）、演算パラメータ算出手段４０の処理はＳ１０３に進む。
【０１２５】
ステップＳ１０３において、演算パラメータ算出手段４０は、減速区間の時間TDを算出する（図１０のNo.17参照）。なお、減速区間の時間TDの算出は、以下の変換式２により算出される。
【０１２６】
【数９】
2014068422.tif 000011
【０１２７】
ステップＳ１０４において、演算パラメータ算出手段４０は、減速区間の直線減速度LADを算出する（図１０のNo.18参照）。
【０１２８】
ステップＳ１０５において、演算パラメータ算出手段４０は、ステップＳ１０１において選定された駆動モードが台形駆動モードであるか否かを判定する。駆動モードが台形線駆動モードである場合（Ｓ１０５・Ｙｅｓ）、演算パラメータ算出手段４０の処理はＳ１１１に進む。駆動モードが台形駆動モードでない場合（Ｓ１０５・Ｎｏ）、演算パラメータ算出手段４０の処理はＳ１０６に進む。
【０１２９】
ステップＳ１０６において、演算パラメータ算出手段４０は、減速区間の各区間の速度FDS5，FDS7を算出する（図１０のNo.19、No.20参照）。
【０１３０】
ステップＳ１０７において、演算パラメータ算出手段４０は、減速区間の各区間の時間TS5，TS6，TS7を算出する（図１０のNo.21〜No.23参照）。
【０１３１】
ステップＳ１０８において、演算パラメータ算出手段４０は、加速区間の各区間の加速度、加加速度を算出する。ここで、TS5，TS7の区間は、定加加速度区間であり、TS6は、定加速度区間であるから、TS5の区間の加加速度SAD5、TS6の区間の加速度SAD6、TS7の区間の加加速度SAD7を算出する（図１０のNo.24〜26参照）。そして、演算パラメータ算出手段４０の処理はＳ１１１に進む。
【０１３２】
ステップＳ１０９において、演算パラメータ算出手段４０は、減速区間の各区間の時間TS5，TS6，TS7を算出する（図１０のNo.27〜No.29参照）。
【０１３３】
ステップＳ１１０において、演算パラメータ算出手段４０は、加速区間の各区間の加速度LAD1，LAD2，LAD3を算出する（図１０のNo.30〜No.32参照）。そして、演算パラメータ算出手段４０の処理はＳ１１１に進む。
【０１３４】
ステップＳ１１１において、演算パラメータ算出手段４０は、減速区間について演算処理が終了したか否かを判定する。この段階では、減速区間について演算が終了した状態であり（Ｓ１１１・Ｙｅｓ）、演算パラメータ算出手段４０の処理を終了する（ＥＮＤ）。
【０１３５】
そして、演算パラメータ算出手段４０は、使用者（ユーザ）が入力（設定）した演算パラメータ（図１１参照）と、演算式（図１０参照）により算出された演算パラメータ（図１２参照）と、から、計測制御値や演算設定値を設定して制御情報メモリ４に記憶させる。そして、制御情報メモリ４に記憶された計測制御値や演算設定値に基づいて、有界演算器６が演算処理して、パルスモータ制御装置１はパルス信号を生成する。
【０１３６】
＜演算パラメータの算出式＞
次に、本実施形態に係る演算パラメータ算出手段４０が用いる演算パラメータの算出式について説明する。ここでは、Ｓ字駆動制御の加速区間（図３参照）における演算パラメータの算出式について、図１３を用いて説明する。図１３は、演算パラメータの導出を説明するためのグラフであり、（ａ）は横軸を時間とし縦軸を速度としたグラフであり、（ｂ）は横軸を時間とし縦軸を加速度としたグラフである。
【０１３７】
本発明でＳ字駆動制御を行うには、図１１のＳ字駆動の欄に○で示された設定パラメータをユーザが指定すればよい。しかし、図１および図２で示した手段を用いて実際にパルス生成をするには、予め、図１２のＳ字駆動の欄に○で示された演算パラメータ（加速時はNo.１〜No.10、減速時はNo.17〜No.26）を知る必要があるが、従来、これらの導出式は既知ではなかった。本発明では、これらを自動で算出することができる。ユーザの設定した図１１の設定パラメータから、図１２の演算パラメータを自動で求めるための算出式について、詳細な導出過程を説明しながら、以下に開示する。
【０１３８】
まず、台形駆動モード（図１３右側）における加速区間の加速度（直線加速度）LAUは、図１３（ａ）の速度−時間座標系における傾きであるから、以下の式（１１）で表すことができる（図１０のNo.2）。
LAU=(FH-FL)/TU                                             ・・・（１１）
【０１３９】
また、パルスモータにおいてパルス数と移動距離は等しいことから、加速区間パルス数Puは加速区間中の移動距離（即ち、図１３（ａ）の速度−時間座標系における面積）と等しいので、以下の式（１２）で表すことができる。また、式（１２）を加速時間TUについて整理すると式（１３）となる。
Pu=(1/2)×(FH+FL)×TU                                      ・・・（１２）
TU=2×Pu/(FH+FL)                                           ・・・（１３）
【０１４０】
ここで、加速度の時間積分が速度の変化量と等しい。即ち、台形駆動の加速区間における図１３（ｂ）の面積LUは、図１３（ａ）の変化量と等しいため、式（１４）となる。
LU=LAU×TU=FH-FL                                           ・・・（１４）
【０１４１】
同様に、Ｓ字駆動モード（図１３左側）における加速区間の加速度の時間積分が速度の変化量と等しい。即ち、Ｓ字駆動の加速区間における図１３（ｂ）の面積SUは図１３（ａ）の変化量と等しい。
まず、Ｓ字駆動の加速区間における図１３（ｂ）の面積SUは、式（１５）となる。
SU=S1+S2+S3
={(1/2)×SAU2×TS1}+(SAU2×TS2)+{(1/2)×SAU2×TS3}       ・・・（１５）
【０１４２】
ここで、TU=TS1+TS2+TS3であるから、式（１５）からTS2を消去する。
SU={(1/2)×SAU2×TS1}+{SAU2×(TU-TS1-TS3)}+{(1/2)×SAU2×TS3}
=SAU2×TU-(1/2)×SAU2×TS1-(1/2)×SAU2×TS3
そして、右辺がTUの項となるように整理すると、式（１６）となる。
SU+(1/2)×SAU2×TS1+(1/2)×SAU2×TS3=SAU2×TU
SU+S1+S3=SAU2×TU
SU×(1+S1/SU+S3/SU)=SAU2×TU                               ・・・（１６）
【０１４３】
ここで、面積SUは速度の変化量と等しいため、SU=LU(=FH-FL)であり、式（１４）および式（１６）から、式（１７）となる。
(FH-FL)×(1+S1/SU+S3/SU)=SAU2×TU
(FH-FL)+(FH-FL)×S1/SU+(FH-FL)×S3/SU=SAU2×TU             ・・・（１７）
【０１４４】
これを各区間に分割すると、以下の式（１８ａ）から式（１８ｄ）のようになる。
SU=(FH-FL)                                                 ・・・（１８ａ）
S1=(FH-FL)×S1/SU                                          ・・・（１８ｂ）
S3=(FH-FL)×S3/SU                                          ・・・（１８ｄ）
S2=(FH-FL)+[-(FH-FL)×S1/SU]+[-(FH-FL)×S3/SU]
=(FH-FL)×(1-S1/SU-S3/SU)                                ・・・（１８ｃ）
【０１４５】
ここで、Ｓ字率として、Rul=S1/SUとし、Ruh=S3/SUとすると、式（１８ａ）から式（１８ｄ）は以下の（１９ａ）から式（１９ｄ）のようになる。また、加速側Ｓ字直線加速度SAU2は、式（１６）および式（１４）より以下の式（２０）のようになる（図１０のNo.9）。
SU=(FH-FL)                                                 ・・・（１９ａ）
S1=(FH-FL)×Rul                                            ・・・（１９ｂ）
S2=(FH-FL)×(1-Rul-Ruh)                                    ・・・（１９ｃ）
S3=(FH-FL)×Ruh                                            ・・・（１９ｄ）
SAU2=SU/TU×(1+S1/SU+S3/SU)=LAU×(1+Rul+Ruh)               ・・・（２０）
【０１４６】
加速側Ｓ字低速到達速度FUS1および加速側Ｓ字高速到達速度FUS2は、加速度の時間積分が速度の変化量と等しいことから、以下の式（２１）および式（２２）のようになる（図１０のNo.3,4）。
FUS1=FL+S1=FL+(FH-FL)×Rul                                 ・・・（２１）
FUS3=FL-S3=FL-(FH-FL)×Ruh                                 ・・・（２２）
【０１４７】
加速側Ｓ字低速加加速度SAU1および加速側Ｓ字高速加加速度SAU3は、図１３（ｂ）の加速度−時間座標系における傾きであるから、以下の式（２３）および式（２４）のようになる（図１０のNo.8,10）。
SAU1=SAU2/TS1=LAU×(1+Rul+Ruh)/TS1                         ・・・（２３）
SAU3=SAU2/TS3=LAU×(1+Rul+Ruh)/TS3                         ・・・（２４）
【０１４８】
式（２０）から式（２４）に示すように、Ｓ字駆動において、Ｓ字率のパラメータを導入すれば、各区間の速度と加速度を事前に演算可能である。
【０１４９】
また、面積S1,S2,S3は、
S1=(1/2)×[SU×(1+Rul+Ruh)/TU]×TS1=SU×Rul
S2=[SU×(1+Rul+Ruh)/TU]×TS2=SU×(1-Rul-Ruh)
S3=(1/2)×[SU×(1+Rul+Ruh)/TU]×TS3=SU×Ruh
であるから、各区間の時間TS1,TS2,TS3は、以下の式（２５）から式（２７）となる（図１０のNo.6,7）。
TS1=(SU×Rul)/{(1/2)×[SU×(1+Rul+Ruh)/TU]}
=(2×Rul×TU)/(1+Rul+Ruh)                              ・・・（２５）
TS2=[SU×(1-Rul-Ruh)]/[SU×(1+Rul+Ruh)/TU]
=[TU×(1-Rul-Ruh)]/(1+Rul+Ruh)                         ・・・（２６）
TS3=(SU×Ruh)/{(1/2)×[SU×(1+Rul+Ruh)/TU]}
=(2×Ruh×TU)/(1+Rul+Ruh)                              ・・・（２７）
【０１５０】
次に、Ｓ字駆動モード（図１３左側）における速度の時間積分（即ち、図１３（ａ）の速度−時間座標系における面積）は、移動距離と等しいことから、各区間の移動距離は、以下の式（２９ａ）から式（２９ｃ）のようになる。
Dt1=(FL×TS1)+[(1/6)×SAU1×TS13]                          ・・・（２９ａ）
Dt2=[(FL+S1)×TS2]+[(1/2)×SAU2×TS22]                     ・・・（２９ｂ）
Dt3=[(FL+S1+S2)×TS3]+[(1/2)×SAU2×TS32]+[(1/6)×(-SAU3)×TS33]
・・・（２９ｃ）
【０１５１】
ここで、式（２９ａ）から式（２９ｃ）より、各区間の距離の式を変形すると、式（３０ａ）から式（３０ｃ）となる。
Dt1=TS1×[FL+(1/6)×SAU2×TS1]
=[(2×Rul×TU)/(1+Rul+Ruh)]×{FL+(1/6)×[(FH-FL)×(1+Rul+Ruh)/TU]×[(2×Rul×TU)/(1+Rul+Ruh)]}
={(2×Rul×TU)/[3×(1+Rul+Ruh)]}×[3×FL+(FH-FL)×Rul] ・・・（３０ａ）
【０１５２】
Dt2=TS2×{[FL+(FH-FL)×Rul]+(1/2)×SAU2×TS2}
=TS2×{[FL+(FH-FL)×Rul]+(1/2)×[(FH-FL)×(1+Rul+Ruh)/TU]×[TU×(1-Rul-Ruh)]/(1+Rul+Ruh)}
=TS2×{[FL+(FH-FL)×Rul]+(1/2)×[(FH-FL)×(1-Rul-Ruh)]}
=(1/2)×TS2×[2×(FL+FH×Rul-FL×Rul)+(FH-FH×Rul-FH×Ruh-FL+FL×Rul+FL×Ruh)]
=(1/2)×TS2×[FH+FH×Rul-FH×Ruh+FL-FL×Rul+FL×Ruh]
=(1/2)×{[TU×(1-Rul-Ruh)]/(1+Rul+Ruh)}×[FH(1+Rul-Ruh)+FL(1-Rul+Ruh)]
・・・（３０ｂ）
【０１５３】
Dt3=TS3×{(FL+S1+S2)+[(1/2)×SAU2×TS3]+[(1/6)×(-SAU2)×TS3]}
=TS3×{(FL+S1+S2)+[(1/3)×SAU2×TS3]}
=TS3×{[FL+(FH-FL)×Rul+(FH-FL)×(1-Rul-Ruh)]+[(1/3)×(FH-FL)×(1+Rul+Ruh)/TU×(2×Ruh×TU)/(1+Rul+Ruh)]}
=(1/3)×TS3×{3×[FL+(FH-FL)×Rul]+3×[(FH-FL)×(1-Rul-Ruh)]+[(FH-FL)×(2×Ruh)]}
=(1/3)×TS3×{3×FL+(3×FH×Rul-3×FL×Rul)+[(3×FH-3×FH×Rul-3×FH×Ruh)+(-3×FL+3×FL×Rul+3×FL×Ruh)]+(2×FH×Ruh-2×FL×Ruh)}
=(1/3)×TS3×(3×FH-FH×Ruh+FL×Ruh)
=(1/3)×[(2×Ruh×TU)/(1+Rul+Ruh)]×[3×FH+(FL-FH)×Ruh]
・・・（３０ｃ）
【０１５４】
ここで、距離とパルス数が等しくなることから、式（３１）となる。
Pu=DU=Dt1+Dt2+Dt3
={(2×Rul×TU)/[3×(1+Rul+Ruh)]}×[3×FL+(FH-FL)×Rul]+(1/2)×{[TU×(1-Rul-Ruh)]/(1+Rul+Ruh)}×[FH(1+Rul-Ruh)+FL(1-Rul+Ruh)]+(1/3)×[(2×Ruh×TU)/(1+Rul+Ruh)]×[3×FH+(FL-FH)×Ruh]                        ・・・（３１）
【０１５５】
さらに式を変形すると、式（３２）となる（図１０のNo.1）。
【数１０】
2014068422.tif 000012
【０１５６】
式（２５）から式（２７）および式（３２）に示すように、Ｓ字駆動において、Ｓ字率のパラメータを導入すれば、各区間の時間を事前に算出可能である。
【０１５７】
以上、Ｓ字駆動モードの加速区間について演算パラメータの算出式を説明したが（図１０のNo.1〜No.10参照）、同様に数式展開をすることにより、減速区間についても各種演算パラメータの算出式を得ることができる（図１０のNo.17〜No.26参照）。演算パラメータの算出式の一覧を図１０に示す。
【０１５８】
なお、３直線駆動モードの各区間の時間（加速側３直第１時間TL1、加速側３直第２時間TL2、加速側３直第３時間TL3、減速側３直第５時間TL5、減速側３直第６時間TL6、減速側３直第７時間TL7）は、区間パルス数が移動距離（即ち、速度−時間座標系における面積）と等しいことから、算出式を求めることができる（図１０のNo.11〜No.13、No.27〜No.29参照）。また、加速度（加速側３直第１加速度LAU1、加速側３直第２加速度LAU2、加速側３直第３加速度LAU3）および減速度（減速側３直第５減速度LAD5、減速側３直第６減速度LAD6、減速側３直第７減速度LAD7）は、各区間の速度の変化量（終了時の速度と開始時の速度の差分）を各区間の時間で除算することにより算出することができる（図１０のNo.14〜No.16、No.30〜No.32参照）。
【０１５９】
ここで、Ｓ字駆動モードの演算パラメータの算出式において、Rul＝Ruh＝Rdh＝Rdl＝０とすることにより、加速区間においてＴＳ１，ＴＳ３の区間が除去されて定加速のＴＳ２の区間が残り、減速区間においてＴＳ５，ＴＳ７の区間が除去されて定減速のＴＳ６の区間が残るため、台形駆動モードを表現可能である。
【０１６０】
以上のように、図１１に示す設定パラメータを入力することにより、図１０に示す演算パラメータの算出式を用いて、図１２に示す必要な演算パラメータを事前に演算することができる。
このように、演算パラメータ算出手段４０は、事前に演算パラメータを演算し、設定パラメータや演算パラメータから計測制御値や演算設定値を設定して制御情報メモリ４に記憶させることができるようになっている。
そして、制御情報メモリ４に記憶した値を用いて、有界演算器６に演算周期で換算した速度、加速度、加加速度として与えて、演算周期に同期して演算を繰り返すことで、パルス生成タイミングを生成することができ、複雑な演算が不要なパルス生成方式が実現可能となる。
【０１６１】
ちなみに、従来のパルスモータ制御装置では、加速区間や減速区間を時間（加速時間、減速時間）のパラメータとして入力するようになっていた。このため、加速区間や減速区間のパルス数（距離）は、計算や実測で求める必要があった。しかし、計算で求める場合には、誤差の問題が生じるおそれがある。具体的には、演算器の解には小数点以下の解が含まれるが、演算処理における有効桁数には限界があるため、実動作においては、数パルス分の誤差が生じる場合がある。また、実測で求める方法においては、実際に装置を動かす必要があり、パルス数の測定には時間を要する。また、加速区間や減速区間のパルス数（距離）が所望のパルス数（距離）となるように、各種パラメータを設定する場合、従来の実測による方法では、パラメータの設定と実測を繰り返して、所望のパルス数となるように、各種パラメータを変更する必要があったため、望ましいパラメータを得るのに時間を要した。
【０１６２】
これに対し、本実施形態に係るパルスモータ制御装置は、加速区間（減速区間）のパルス数をパラメータを入力する構成となっているので（図１１のNo.9、No.12、No.19、No.20参照）、加速区間および減速区間のパルス数（距離）を容易に設定することができるようになっている。
【０１６３】
また、加速区間における加加速区間、定加速区間、減加速区間の境界は、Ｓ字率Rul,Ruhで設定されるようになっている。ここで、Ｓ字率Rulは、前述したように、S1/SUで設定されるようになっている。即ち、Ｓ字率は、加速度−時間グラフ上の面積比（S1/SU）、換言すれば、速度増分の比（加加速区間速度増分／全速度増分）、即ち、速度変化量の比で設定することができるようになっている。
【０１６４】
即ち、本実施形態に係るパルスモータ制御装置は、各区間をパルス数（距離）で設定することができるようになっている。使用者の所望のパルスモータの動作を実現することができる。
【０１６５】
また、本実施形態に係るパルスモータ制御装置のＳ字駆動制御において、速度−時間曲線が滑らかに連結するようになっている。即ち、パルスモータにより駆動する移動体に瞬間的に大きな力が掛かることがないようになっている。
これにより、例えば、パルスモータにより駆動する移動体が液体を内包した容器を搬送するような構成において、容器から液体が跳ねたりすることを防止することができるようになっている。
【０１６６】
≪変形例≫
なお、本実施形態に係るパルスモータ制御装置１は、上記実施形態の構成に限定されるものではなく、発明の趣旨を逸脱しない範囲内で種々の変更が可能である。
【０１６７】
変化点検出手段２は、クロック計測手段８の計測情報（クロック数）またはパルス計測手段１０の計測情報（パルス数）に基づいて変化点であるか否かを判定するものを例に説明したが、これに限られるものではなく、演算値計測手段７の計測情報（演算された加速度、速度、距離等）や外部計測手段９の計測情報（図示しないセンサの出力値）に基づいて判定するものでもよく、これらを組み合せて判定するものであってもよい。
【０１６８】
また、本実施形態に係るパルスモータ制御装置１は、図３に示すＳ字駆動制御するものとして説明したが、これに限られるものではない。本実施形態に係るパルスモータ制御装置１において、加加速度ｂn＝０とすることにより、台形駆動制御（図１９参照）や、図１５に示す３直線での駆動制御（加速区間を「低加速区間、高加速区間、低加速区間」のすることにより、加速度の急激な変化を低減させる制御）を適用することもできる。
【０１６９】
また、有界演算器６は、図２に示す構成であるものとして説明したが、これに限られるものではない。図１６に示すように、有界演算器６Ａは、加加速度値保持手段６１と、加速度値保持手段６２と、速度値保持手段６３と、距離値保持手段６４と、加算器６５ａ，６５ｃ，６５ｅとで構成されているものであってもよい。
このように構成することにより、レジスタ（加加速度値保持手段６１、加速度値保持手段６２、速度値保持手段６３、距離値保持手段６４）と、加算器（６５ａ，６５ｃ，６５ｅ）のみで有界演算器６Ａを構成することができるため、安価に構成することができる。
このような演算器構成の場合、図２の演算器と比べると、演算周期内における変化分の２次微分ないし３次微分の影響を無視して演算することになるが、クロック速度を上げて演算周期を十分に高速化すれば、実用上は問題ない誤差でパルス生成をすることができる。
【０１７０】
本実施形態に係るパルスモータ制御装置１の有界演算器６は、図２に示すハードウェアで構成されるものとして説明したが、これに限られるものではなく、ソフトウェアでも同様に実現できる。
【０１７１】
図１７は、変形例に係るパルスモータ制御装置１Ａの構成図である。
パルスモータ制御装置１Ａは、例えば、コンピュータ装置であり、図１７に示すように、演算部としてのＣＰＵ（Central Processing Unit）と、格納データ（図４図５参照）や各種アプリケーションプログラムが格納されているＭｅｍｏｒｙと、Ｔｉｍｅｒと、入出力部であるＩ／Ｏと、を備え、各部はバスラインで接続されている。
【０１７２】
ＣＰＵは、各種アプリケーションプログラムを実行することにより、変化点検出手段２、メモリアドレス生成手段３、演算定数選択手段５、有界演算器６、演算値計測手段７、パルス計測手段１０として機能するようになっている。Ｍｅｍｏｒｙは、制御情報メモリ４として機能するようになっている。Ｔｉｍｅｒは、クロック計測手段８として機能するようになっている。Ｉ／Ｏは、外部計測手段９およびパルス生成手段１１として機能するようになっている。
【０１７３】
図１８は、変形例に係るパルスモータ制御装置１Ａの動作を示すフローチャートである。
【０１７４】
ステップＳ２０１において、ＣＰＵは、入力画面（図１４参照）を表示部（図示せず）に表示させ、設定パラメータの入力を受け付ける。
ステップＳ２０２において、ＣＰＵは、演算パラメータを算出する。具体的には、図９のフローチャートに沿って算出する。
ステップＳ２０３において、ＣＰＵは、設定パラメータおよび演算パラメータを記憶量息（Ｍｅｍｏｒｙ）に格納する。
ステップＳ２０４において、ＣＰＵは、演算パラメータの算出が全て終了したか否かを判定する。算出が終了した場合（Ｓ２０４・Ｙｅｓ）、ＣＰＵの処理はステップＳ３０１に進む。算出が終了していない場合（Ｓ２０４・Ｎｏ）、ＣＰＵの処理はＳ２０２に戻る。
【０１７５】
ステップＳ３０１において、ＣＰＵは、前述の演算式（７）に基づいて、有界演算を実行する。
【０１７６】
ステップＳ３０２において、ＣＰＵは、区間係数処理および条件処理を実行する。
ここで、区間係数処理は、区間の終了または駆動の終了を判定する（後述するステップS３０３，Ｓ３０７参照）際に用いる係数（例えば、速度、加速度、加加速度、クロック数、パルス数）の処理を行う。また、条件処理は、例えば、外部の情報（計測情報）に基づく区間の終了または駆動の終了を判定する際に用いる条件処理を行う。
【０１７７】
ステップＳ３０３において、ＣＰＵは、区間が終了したか否かを判定する。区間が終了した場合（Ｓ３０３・Ｙｅｓ）、ＣＰＵの処理はステップＳ３０７に進む。区間が終了していない場合（Ｓ３０３・Ｎｏ）、ＣＰＵの処理はステップＳ３０４に進む。
【０１７８】
ステップＳ３０４において、ＣＰＵは、ステップＳ３０１で演算した距離Ｄn+1が所定のＤＰconstより大きいか否かを判定する。
距離Ｄn+1が所定のＤＰconstより大きい場合（Ｓ３０４・Ｙｅｓ）、ＣＰＵの処理はステップＳ３０５に進む。距離Ｄn+1が所定のＤＰconstより大きくない場合（Ｓ３０４・Ｎｏ）、ＣＰＵの処理はステップＳ３０６に進む。
【０１７９】
ステップＳ３０５において、ＣＰＵは、オーバーフローしたと判定して、距離Ｄn+1を距離Ｄn+1−ＤＰconstとするとともに、パルス生成タイミングとする。そして、ＣＰＵの処理はステップＳ３０６に進む。
【０１８０】
ステップＳ３０６において、ＣＰＵは、加速度Ａ、速度Ｖ、距離Ｄを更新（承継）する。そして、ＣＰＵの処理はステップＳ３０１に戻る。
【０１８１】
ステップＳ３０７において、ＣＰＵは、駆動が終了したか否かを判定する。駆動が終了した場合（Ｓ３０７・Ｙｅｓ）、ＣＰＵの処理を終了する。駆動が終了していない場合（Ｓ３０７・Ｎｏ）、ＣＰＵの処理はステップＳ３０８に進む。
【０１８２】
ステップＳ３０８において、ＣＰＵは、Ｍｅｍｏｒｙの格納データ（図４図５参照）から次の区間の初期値を取得（上書き）する。
そして、ＣＰＵの処理はステップＳ３０４に進む。
【０１８３】
そして、ＣＰＵは、パルス生成タイミング（ステップＳ３０５参照）に基づいてパルス信号を生成し、Ｉ／Ｏから出力する。このように、本実施形態に係るパルスモータ制御装置１は、ソフトウェアでも同様に実現することができる。
【符号の説明】
【０１８４】
１              パルスモータ制御装置
２              変化点検出手段
３              メモリアドレス生成手段
４              制御情報メモリ
５              演算定数選択手段
６              有界演算器
７              演算値計測手段
８              クロック計測手段
９              外部計測手段
１０            パルス計測手段
１１            パルス生成手段
１２            駆動回路
１３            パルスモータ
４０            演算パラメータ算出手段（演算パラメータ決定手段）
６１            加加速度値保持手段
６２            加速度値保持手段
６３            速度値保持手段
６４            距離値保持手段
６５ａ，６５ｂ，６５ｃ，６５ｄ，６５ｅ  加算器
６６ａ，６６ｂ  １／２演算器（１／２演算手段）
６７            １／３演算器（１／３演算手段）
【図１】
2014068422.tif 000013
【図２】
2014068422.tif 000014
【図３】
2014068422.tif 000015
【図４】
2014068422.tif 000016
【図５】
2014068422.tif 000017
【図６】
2014068422.tif 000018
【図７】
2014068422.tif 000019
【図８】
2014068422.tif 000020
【図９】
2014068422.tif 000021
【図１０】
2014068422.tif 000022
【図１１】
2014068422.tif 000023
【図１２】
2014068422.tif 000024
【図１３】
2014068422.tif 000025
【図１４】
2014068422.tif 000026
【図１５】
2014068422.tif 000027
【図１６】
2014068422.tif 000028
【図１７】
2014068422.tif 000029
【図１８】
2014068422.tif 000030
【図１９】
2014068422.tif 000031
【図２０】
2014068422.tif 000032
【図２１】
2014068422.tif 000033
【図２２】
2014068422.tif 000034