以下、本発明の位置決め制御装置の好適な実施の形態につき図面を用いて説明する。
実施の形態1.
図1は、本発明の実施の形態1における位置決め制御装置のブロック図である。
図1において、例えば、プログラマブルコントローラを構成する位置決め制御装置100は、CPUユニット100aと、入出力ユニットの一部であるパルス出力回路部100bとで構成されている。
CPUユニット100aは、例えば、AC100V〜240Vの商用電源である外部電源から給電される電源回路110を介して、所定の安定化電圧Vccが供給される。
CPUユニット100aの内部には、マイクロプロセッサ120と、プログラムメモリ121と、RAMメモリ122とが設けられている。ここで、プログラムメモリ121は、例えば、不揮発フラッシュメモリであって、ユーザが作成した入出力制御プログラムが格納される。
パルス出力回路部100bは、マイクロプロセッサ120とバス接続されており、指令・監視信号の授受が行なわれる。
ドライバ101は、パルス出力回路部100bから回転方向指令出力DIRと正逆転パルス出力FRPを受けてステッピングモータ102を駆動する。ステッピングモータ102が駆動されることにより、ワーク104は、正方向または逆方向に移動される。
なお、回転方向指令出力DIRの論理レベルが「H」であれば正転駆動(前進駆動)、「L」であれば逆転駆動(後退駆動)である。さらに、正逆転パルス出力FRPがパルス発生すれば回転駆動、パルス発生を停止すれば回転停止の状態となる。
マイクロプロセッサ120には、図示しないインタフェース回路を介して指令入力信号108が接続され、たとえば、強制停止指令、逆転限界スイッチ105による後退限界指令、正転限界スイッチ107による前進限界指令、手動前進指令、手動後退指令、自動運転指令などが入力される。
強制停止指令や正転限界指令、逆転限界指令が入力されると、パルス出力回路部100bは、直ちにパルス発生を停止する。また、手動前進指令や手動後退指令が与えられると、低速の正転パルス出力または低速の逆転パルス出力を発生する。さらに、自動運転指令が与えられると、プログラムメモリ121に格納された制御プログラムに基づいた速度パターンによって指令された数のパルスを発生して停止する。
パルス出力回路部100bは、第1の高速カウンタ130と第2の高速カウンタ150を主体として構成されている。クロック信号発生回路140は、例えば、周期が1μsecである基準クロック信号CLK1を発生し、第1の高速カウンタ130の計数入力端子INに供給する。
第1の高速カウンタ130の加算モード端子UPは、論理レベル「H」に固定され、減算モード端子DNは、論理レベル「L」に固定されている。その結果として、第1の高速カウンタ130の現在値レジスタ131は、計数入力信号(基準クロック信号CLK1)が論理レベル「L」から「H」に変化した時点で1カウントの加算動作が行なわれるようになっている。
第1の高速カウンタ130の第1の設定レジスタ133には、目標とする低速出力パルスの周期T1の1/2に相当した数値が格納されている。また、第2の設定レジスタ132には、目標とする高速出力パルスの周期T2の1/2に相当した数値が格納されている。
現在値レジスタ131の計数現在値が増加して、第1の設定レジスタ133の設定値N1、または第2の設定レジスタ132の設定値N2(N2≦N1)に達すると、カウントアップ出力Q1または上昇比較出力P1が発生する。その結果として、論理和素子144を介して第1の高速カウンタ130のリセット端子RSにリセット指令が供給されるとともに、交番出力回路142の出力が交互に反転する。
第1・第2の設定レジスタ133・132のどちら側の設定値を使用するかは、後述する選択切換回路141の論理動作によって決定される。
第1の高速カウンタ130がリセットされて現在値レジスタ131の値がゼロに復帰したことに伴って、カウントアップ出力Q1と上昇比較出力P1もリセットされ、再び基準クロック信号CLK1の計数が開始する。その結果、基準クロック信号CLK1の信号周期をτ=1μsecとすれば、交番出力回路142のパルス出力PLSの周期は、2×N1または2×N2(μsec)となる。
出力選択回路143は、マイクロプロセッサ120からの指令によって出力モードが決定され、例えば、正逆パルス出力FRPと回転方向指令出力DIRを発生する。
第2の高速カウンタ150は、交番出力回路142の出力信号であるパルス出力PLSをアップおよびダウン計数する。さらに、第2の高速カウンタ150の第1の設定レジスタ153には、目標となるパルス発生総数Nの1/2の値が格納されていて、この発生パルス数によって、例えば、ステッピングモータによる全体移動量が決定される。
ただし、目標とするパルス発生数が奇数である場合には、その前後の偶数の1/2の値が第1の設定レジスタ153に格納され、現在値レジスタ151には、+1または−1が初期値として設定されるようになっている。
第2の高速カウンタ150の第2の設定レジスタ152には、目標となる低速パルス発生数が格納されている。そして、この発生パルス数によって、ステッピングモータの低速始動運転と停止前の低速運転による移動量が決定される。
第2の高速カウンタ150の現在値レジスタ151の計数現在値が増加して、第2の設定レジスタ152の設定値M2に達すると、上昇比較出力P2が発生する。この結果、選択切換回路141によって、第1の高速カウンタ130の設定周期が低速周期から高速周期に切換設定される。
第2の高速カウンタ150の現在値レジスタ151の計数現在値がさらに増加して、第1の設定レジスタ153の設定値M1(M2≦M1)に達すると、カウントアップ出力Q2が発生し、第2の高速カウンタ150は、減算動作を開始する。一方、否定論理素子159によって加算動作は、停止されている。
やがて下降比較一致出力P2が作動すると、選択切換回路141によって第1の高速カウンタ130の設定周期を、高速周期から再び低速周期に切換設定する。
第2の高速カウンタ150の現在値レジスタ151の計数現在値がさらに減少してゼロに復帰して、復帰出力Q2が作動すると、論理和素子144を介して第1の高速カウンタ130のリセット端子RSにリセット指令が供給されて、計数動作を停止する。この状態は、パルス発生完了信号M4として、マイクロプロセッサ120に入力される。
その結果、第1の高速カウンタ130によるパルスの発生総数Nは、第2の高速カウンタ150の上昇比較出力P2が作動するまでの低速パルス数M2と、カウントアップ出力Q2が発生するまでの高速パルス数(M1−M2)と、減算動作によって下降比較出力P2が作動するまでの高速パルス数(M1−M2)と、復帰出力Q2が作動するまでの低速パルス数M2との総和となる。従って、発生パルスの総数は、N=2×M1であるが、前後に内数として低速パルスが各M2パルス発生することになる。
ただし、計数開始に当たってあらかじめ現在値レジスタ151に対してプラス1が設定されていた場合の発生パルスの総数は、2×M1−1となる。一方、マイナス1が設定されたいた場合の発生パルスの総数は、2×M1+1となる。
マイクロプロセッサ120は、第1・第2の高速カウンタ130・150に対してリセット指令RSTを発生してから、出力ポートDOから第1・第2の設定レジスタ133・132、153・152に対する設定値を送信する。さらに、マイクロプロセッサ120は、回転方向指令信号DIRを送信し、リセット指令RSTを解除してスタート指令ST/SPを送信する。この結果、第1・第2の高速カウンタ130・150が動作を開始する。
現在値レジスタ151による発生パルス数の現在値は、入力ポートDIによってマイクロプロセッサ120に送信される。なお、マイクロプロセッサ120は、正転限界停止指令、逆転限界停止指令、強制停止指令などに応動して、パルス発生を停止することができるようになっている。
また、パルス出力回路部100bは、ステッピングモータ102に対する回転駆動指令を与えるものである。そして、ステッピングモータ102を駆動するドライバ101には、正転駆動端子、逆転駆動端子を有するものと、正逆転駆動端子と回転方向指令端子を有するものがある。
出力選択回路143は、これらの駆動形式に応じたパルス出力を発生することができるようになっている。
以上の説明では、2段速度による低速始動運転・高速運転・停止前の低速運転・停止の動作を行うために、第1の高速カウンタ130と第2の高速カウンタ150を次のように動作させている。すなわち、パルスジェネレータとなる第1の高速カウンタ130は、リングカウンタとして循環動作させるための設定値を第1・第2の設定レジスタ133・132によって切換えることによって低速または高速の出力パルス周期を得るように動作する。また、第2の高速カウンタ150は、発生パルス数の計数と速度切換え指令信号を発生するように動作する。
この速度切換制御において、低速パルス発生数の発生に応動する上昇比較出力P2と、下降比較出力P2が利用されている。
ここで、第2の高速カウンタ150の運転開始時に、現在値レジスタ151に対して低速始動運転パルス発生数に相当した負数を格納し、第2の設定レジスタ152に対して高速運転パルス数を設定し、第1の設定レジスタ153に対して高速運転パルス数+停止前の低速運転パルス数を設定しておくこともできる。このような設定を行えば、現在値レジスタ151の値が負となっている間は、低速始動運転を行い、現在値レジスタ151が正の値になってから高速運転を行い、上昇比較出力P2が作動すると停止前の低速運転を行い、カウントアップ出力Q2が発生すると停止するように動作させることができる。
次に、比較回路の詳細について説明する。図2Aは、本発明の実施の形態1における第1・第2の高速カウンタ130・150に含まれる比較回路の全体構成図である。第1の比較回路136・156は、第1の設定レジスタ133・153の値と現在値レジスタ131・151の値が一致しているときに、比較一致出力を発生して記憶回路S1をセットする。記憶回路S1によるセット出力が、カウントアップ出力Q1・Q2となっている。
第2の比較回路135・155は、第2の設定レジスタ132・152の値と現在値レジスタ131・151の値が一致しているときに、比較一致出力を発生して論理積素子138a・158aまたは138b・158bを介して記憶回路S2またはS3をセットする。記憶回路S2またはS3によるセット出力が、上昇比較出力P1・P2または下降比較出力P1・P2となっている。
論理積素子138a・158aは、第1・第2の高速カウンタ130・150の加算モード端子UPの論理レベルが「H」となって加算モードにあるときに、記憶回路S2に対するセット指令入力を有効にするゲート回路となっている。
論理積素子138b・158bは、第1・第2の高速カウンタ130・150の減算モード端子DNの論理レベルが「H」となって減算モードにあるときに、記憶回路S3に対するセット指令入力を有効にするゲート回路となっている。
第3の比較回路137・157は、現在値レジスタ131・151の値とゼロレジスタ134・154の値が一致しているときに、比較一致出力を発生して論理積素子139・159を介して記憶回路S4をセットする。記憶回路S4によるセット出力が、復帰出力Q1・Q2となっている。
論理積素子139・159は、第1・第2の高速カウンタ130・150の減算モード端子DNの論理レベルが「H」となって減算モードにあるときに、記憶回路S4に対するセット指令入力を有効にするゲート回路となっている。
なお、各記憶回路S1〜S4の記憶状態は、マイクロプロセッサ120からのリセット指令によって消去されるようになっている。
図2Bは、本発明の実施の形態1における第1の比較回路136・156の詳細論理回路図である。第2の比較回路135・155や第3の比較回路137・157も、同様に構成されている。
図2Bにおいて、第1の設定レジスタ133・153には、最下位ビットをB0とし、最上位ビットをBnとするnビットのバイナリデータが格納されている。また、現在値レジスタ131・151には、最下位ビットをA0とし、最上位ビットをAnとするnビットのバイナリデータが格納されている。各ビットの論理信号が入力される排他的論理和素子Ex0〜Exnは、入力論理レベルが一致していれば出力論理レベルが「L」となる論理回路によって構成されている。
論理和素子OR0〜ORn−1は、排他的論理和素子Ex0〜Exnの出力を順次論理和するようにカスケード接続されていて、最終段の論理和素子OR0の出力は、反転論理素子INVを介して記憶回路S1に入力されている。
比較データAn〜A0とBn〜B0のどれかのビットの論理レベルが不一致であれば、論理和素子OR0の出力論理は「H」となり、記憶回路S1に対する記憶指令が発生することはない。
比較データAn〜A0とBn〜B0の全てのビットの論理レベルが一致していれば、論理和素子OR0の出力論理は、「L」となり、記憶回路S1に対する記憶指令が発生することになる。ただし、第1・第2の高速カウンタ130・150に対する計数入力が論理レベル「H」に変化して計数動作が行われた時点においては、論理和素子OR0の出力は、論理レベル「H」となっている。
そして、計数入力が「L」に変化した時点で論理和素子OR0の出力論理が「L」となり、記憶回路S1に対する記憶指令が発生することになる。これは、計数入力が「H」に変化した直後の不安定状態で一致判定するのを回避するための遅延判定手段となるものである。
以上の説明では、上昇通過と下降通過の判定を高速カウンタのアップ/ダウン指令の違いによって識別して記憶するようにした。しかしながら、これに代わって、カウントアップ出力が作動する前の一致であれば上昇通過であるとし、カウントアップ出力が作動した後の一致であれば下降通過であると判別することも可能である。
なお、本実施の形態1では、第1・第2の高速カウンタ130・150は、いずれも計数指令が論理レベル「H」に変化した時点において、1カウントだけ現在値レジスタ131・151の値が増加または減少するものであり、必ず比較一致点に到達してからさらに増加または減少する。従って、比較判定は、一致したか否かの比較一致判定によることができる。
これに対し、後述の実施の形態2の場合には、1回の計数動作によって現在値レジスタに対して変分値レジスタに格納されている数値の加算が行なわれるようになっているものがある。このように複数値(最小単位である1よりも大きな値)の増減が行なわれる場合には、現在値レジスタの値の増加・減少過程において、必ずしも比較一致点上を通過するとは限らず、飛び越し通過する状態が発生する。
このような場合には、「比較一致点以上または未満」、若しくは「比較一致点超過または以下」のような大小比較判定が必要であり、図1の回路構成の場合であっても、大小比較判定方式に変更することが可能である。
次に、本実施の形態1における位置決め制御装置の作用・動作の詳細について説明する。図3は、本発明の実施の形態1における位置決め制御装置の特性線図である。図3(A)は、クロック信号発生回路140が発生する基準クロック信号CLK1の波形を示したものである。
図3(B)は、第1の高速カウンタ130の現在値レジスタ131の値の増減特性を示したものである。高い山の高さは、第1の設定レジスタ133に格納されている第1の設定値N1に相当し、低い山の高さは、第2の設定レジスタ132に格納されている第2の設定値N2に相当する。
図3(C)は、交番出力回路142の出力信号であるパルス出力PLSの波形を示したものである。低速周期は、T1=2×N1×τとなっており、高速周期は、T2=2×N2×τ、(ただし、τは基準クロック信号CLK1の周期)となっている。
図3(D)は、第2の高速カウンタ150の現在値レジスタ151の値の増減特性を示したものである。第2の設定レジスタ152に格納されている設定値が、M2で示されており、第1の設定レジスタ153に格納されている設定値が、M1で示されている。
図3(E)は、横軸を時間とし、縦軸を運転速度に相当する出力パルスの周波数(即ち、パルス周期の逆数)とし、移動量に相当する累積パルス発生数を面積として表した運転速度特性を示したものである。
上昇比較出力P2が作動して論理レベルが「H」に変化すると、選択切換回路141の作用によって低速運転から高速運転に切換る。そして、カウントアップ出力Q2が作動して論理レベルが「H」に変化すると、第2の高速カウンタ150は、減算動作を開始する。そして、下降比較出力P2が作動して論理レベルが「H」になると高速運転から低速運転に切換る。そして最後に、復帰出力Q2が作動して論理レベルが「H」になると、パルス発生が完了するようになっている。
以上の一連の動作によるパルス発生の総数Nは、次式で示される。
N=M2(始動後の低速運転パルス数)
+2×(M1−M2)(高速運転パルス数)
+M2(停止前の低速運転パルス数)
=2×M1
従って、総数Nは、偶数値となるが、運転開始に当たって、現在値レジスタ151に対して±1をバイアス加算しておくことにより、発生パルスの総数を奇数にすることができる。
次に、フローチャートを用いて一連の動作を説明する。図4は、本発明の実施の形態1における位置決め制御装置の一連動作を示すフローチャートである。
図4において、工程400は、マイクロプロセッサ120がパルス出力動作を開始するステップである。続く工程401は、指令入力信号108から運転指令が入力されているか否かを判定するステップである。運転指令が入力されていなければ、NOの判定を行なって動作終了工程402へ移行する。一方、運転指令が入力されていれば、YESの判定を行なって工程403へ移行する。
工程402では、他の制御を実行し、所定時間以内には、再度動作開始工程400へ復帰するようになっている。一方、工程403は、後述の工程410aにおいて、初回フラグがセットされたか否かを判定するステップである。初回フラグがセットされていなければ、YESの判定を行なって工程405へ移行する。一方、初回フラグがセット済であれば、NOの判定を行なって工程404へ移行する。
なお、電源投入時には、初回フラグや第1・第2の高速カウンタ130・150は、リセットされているので、電源投入直後の動作では、工程403は、YESの判定を行なうようになっている。
工程404は、第2の高速カウンタ150の復帰出力Q2が作動して一連のパルス出力が完了したか否かを判定するステップである。未完了であれば、NOの判定を行なって工程420へ移行する。一方、完了であれば、YESの判定を行なって工程405へ移行する。工程405は、第1・第2の高速カウンタ130・150にリセット指令RSTを与え、各カウンタの動作を停止しておくステップである。
続く工程406は、第1の高速カウンタ130の第1の設定レジスタ133に対して低速周期の1/2の値である第1の設定値N1を格納し、第2の設定レジスタ132に対して高速周期の1/2の値である第2の設定値N2を格納するステップである。
続く工程407は、パルス発生の目標総数が奇数であるか偶数であるかを判定し、偶数であれば、YESの判定を行なって工程408aへ移行し、奇数であれば、NOの判定を行なって工程408bへ移行する判定ステップである。
工程408aは、第2の高速カウンタ150の現在値レジスタ151の値をゼロにし、第2の設定レジスタ152の設定値M2を低速移動パルス数に設定し、第1の設定レジスタ153の設定値M1を目標総数Nの1/2に設定するステップである。
工程408bは、第2の高速カウンタ150の現在値レジスタ151の値をマイナス1(またはプラス1)にし、第2の設定レジスタ152の設定値M2を低速移動パルス数に設定し、第1の設定レジスタ153の設定値M1を目標総数の前後の偶数N−1(またはN+1)の1/2に設定するステップである。
上述した工程406から工程408bで構成される工程ブロック409は、換算設定手段となるものであり、マイクロプロセッサ120は、第1・第2の高速カウンタ130・150が動作しやすい値を演算設定するようになっている。例えば、運転速度の目標値としてパルス周波数を利用しないで、その逆数である周期を設定することによって手軽に2段速度運転が行えるものである。
工程410aは、工程408aまたは408bに続いて実行され、回転方向指令DIRを論理「H」または「L」にして方向を指定し、スタート指令ST/SPを論理「H」にしてスタート指令を与え、リセット指令RSTを論理「L」にしてリセット解除し、初回フラグをセットする。
その結果、工程410bによってパルス出力回路部100bがパルス出力を発生する。続く工程411は、第2の高速カウンタ150の復帰出力Q2が作動してパルス発生総数が目標値Nに達したか否かを判定するステップである。パルス発生完了であれば、YESの判定を行なって工程415へ移行する。一方、未完了であれば、NOの判定を行なって工程412へ移行する。
工程412では、パルス発生を開始してから所定時間を経過したか否かを判定するステップである。未超過であれば、NOの判定を行なって動作終了工程402へ移行する。一方、時間超過であれば、工程413へ移行して異常報知を行なってから、動作終了工程402へ移行する。
また、工程415では、工程410aでセットされた初回フラグがリセットされ、その後、動作終了工程402へ移行する。
工程420は、正転限界スイッチ107、逆転限界スイッチ105、または強制停止指令スイッチが作動したか否かを判定するステップである。緊急停止を行なう必要があるときに、YESの判定を行なって工程421へ移行する。一方、緊急停止が不要であるときには、NOの判定を行なって工程411へ移行する。
工程421では、スタート指令ST/SPの論理レベルを「L」にしてパルス発生を停止し、工程410aでセットされていた初回フラグをリセットしてから動作終了工程402へ移行する。
以上の動作を概括説明すると、初回動作時、動作完了後の再起動時、または緊急停止後の初回動作時には、換算設定手段409によって第1・第2の設定レジスタに対する制御定数(パラメータ)の設定が行われ、一連のパルス出力の発生が完了する都度に、換算設定手段409による再設定が行われるようになっている。従って、マイクロプロセッサ120は、パルス発生の停止中に次回のパルス発生の制御定数を送信すればよいので、パルス発生動作と関連した割込み高速処理が不要となっている。
以上の説明では、マイクロプロセッサ120は、出力選択回路143に対して回転方向指令出力DIRとスタート指令ST/SPを供給するようになっている。さらに、出力選択回路143は、回転方向指令DIRをそのままドライバ101に出力するとともに、スタート指令ST/SPが論理「H」となったときに、交番出力回路142の出力信号を正逆転パルス出力FRPとして、ドライバ101に供給するようになっている。
これに代わって、マイクロプロセッサ120は、出力選択回路143に対して、正転パルス出力指令F/SPと逆転パルス出力指令R/SPを供給し、出力選択回路143は、正転パルス出力指令F/SPが論理「H」であるときに正転パルス出力FPを発生し、逆転パルス出力指令R/SPが論理「H」であるときに逆転パルス出力RPを発生し、正転パルス出力指令F/SPと逆転パルス出力指令R/SPがともに論理「L」であるときにパルス発生を停止するようにしてもよい。
以上の説明で明らかなとおり、本実施の形態1による位置決め制御装置は、マイクロプロセッサ120からの設定指令情報に基づいて、位置決め制御用のパルス出力を発生するパルス出力回路部100bを備えた位置決め制御装置100である。そして、パルス出力回路部100bは、少なくとも第1・第2の高速カウンタ130・150を備えているとともに、マイクロプロセッサ120と協働するプログラムメモリ121は、換算設定手段409となる制御プログラムを包含している。
第1の高速カウンタ130は、目標とするパルス出力の周期を可変設定するものであって、クロック信号CLK1の計数現在値が格納される現在値レジスタ131と、第1・第2の設定レジスタ133・132と、第1・第2の比較回路136・135とによって構成されている。
第2の高速カウンタ150は、発生パルス数の計数と速度切換え指令信号(選択切換回路に与えるリセットタイミング指令に相当)を発生するものであって、パルス発生数の経過状況が格納される現在値レジスタ151と、第1・第2の設定レジスタ153・152と、第1・第2の比較回路156・155とによって構成されている。
換算設定手段409は、第1・第2の高速カウンタ130・150の動作開始前に作用して、第2の高速カウンタ150に対して目標とするパルス発生数の設定を行うとともに、第1または第2の高速カウンタに対して目標運転速度パターンとなるパルス出力周期の変遷特性を設定する。すなわち、換算設定手段409は、所望の運転速度パターンを特定するためのパラメータを決定し、パルス出力回路部100b内のレジスタに決定したパラメータの設定を行う。
第1・第2の高速カウンタ130・150に設けられた第1の比較回路136・156は、現在値レジスタ131・151の値が第2の設定レジスタ132・152の設定値以上の値が設定される第1の設定レジスタ133・153の設定値と一致するか、または一致点以上または一致点超過したことによって、カウントアップ出力Q1・Q2を発生する。
第1・第2の高速カウンタ130・150に設けられた第2の比較回路135・155は、現在値レジスタ131・151の値が上昇している過程または下降している過程において、第2の設定レジスタ132・152の設定値と一致するか、または一致状態を通過したことによって、上昇比較出力P1・P2または下降比較出力P1・P2の少なくとも一方の出力を発生する。
パルス出力回路部100bは、カウントアップ出力Q1・Q2の発生と、上昇比較出力P1・P2または下降比較出力P1・P2の少なくとも一方の出力の発生とに応動して、パルス出力周期の変遷特性に基づく運転パターンによるパルス出力PLSを発生する。さらに、パルス出力回路部100bは、パルス発生の完了に伴ってパルス発生完了信号M4をマイクロプロセッサ120に送信し、パルス発生開始から完了までの期間においてマイクロプロセッサ120からの指令を受けることなく指定された特性のパルス出力を発生するようになっている。
第1の高速カウンタ130は、所定周期の基準クロック信号CLK1を計数して目標とする周期のパルス出力を生成するためのものである。第1の高速カウンタ130の第1の設定レジスタ133には、目標とする低速運転用の第1のパルス周期T1に対応した第1の設定値N1が格納され、第2の設定レジスタ132には、目標とする高速運転用の第2のパルス周期T2に対応した第2の設定値N2が格納されている。そして、第1の高速カウンタ130には、選択切換回路141と交番出力回路142とが接続されている。
選択切換回路141は、第1の高速カウンタ130のカウントアップ出力Q1が発生したときに現在値レジスタ131をリセットしてから基準クロック信号CLK1の計数を再開させるか(第1のリセットタイミングに相当)、または第1の高速カウンタ130の上昇比較出力P1が発生したときに現在値レジスタ131をリセットしてから基準クロック信号CLK1の計数を再開させるか(第2のリセットタイミングに相当)を選択して、第1の高速カウンタ130をリングカウンタとして作動させる回路である。
交番出力回路142は、第1の高速カウンタ130のカウントアップ出力Q1または上昇比較出力P1が発生する都度に出力論理が反転し、基準クロック信号CLK1の周期τと第1または第2の設定値N1・N2との積の2倍の周期のパルス出力PLSを発生する回路である。
第2の高速カウンタ150は、交番出力回路142のパルス出力PLSの発生回数を計数して、目標とするパルスの発生が完了したことに伴って、復帰出力Q2を発生するものである。第2の高速カウンタ150の第1の設定レジスタ153には、目標とするパルス発生数Nの半分の値M1が格納され、第2の設定レジスタ152には、目標とする低速運転のパルス発生数M2が格納されている。
そして、第2の高速カウンタ150は、計数動作を開始してからカウントアップ出力Q2が発生するまでは加算カウンタとして動作し、カウントアップ出力Q2が作動してから後は減算カウンタとして作動する。さらに、第2の高速カウンタ150は、計数動作を開始してから上昇比較出力P2が発生するまでは、選択切換回路141を低速側に切換えるように第1のリセットタイミングを選択するための指令をする。また、上昇比較出力P2が発生してからカウントアップ出力Q2が発生して計数方向が反転し、やがて下降比較出力P2が発生するまでは、選択切換回路141を高速側に切換えるように第2のリセットタイミングを選択するための指令をする。さらに、下降比較出力P2が発生してから復帰出力Q2が発生するまでは、再び選択切換回路141を低速側に切換えるように第1のリセットタイミングを選択するための指令をする。
復帰出力Q2は、第2の高速カウンタ150の現在値がゼロに復帰した時点でセットされる。そして、復帰出力Q2をセットすることに伴って、第2の高速カウンタ150は、第1の高速カウンタ130のパルス発生または交番出力回路142のパルス出力PLSを停止させる。さらに、第2の高速カウンタ150は、パルス発生完了信号M4をマイクロプロセッサ120に送信する。復帰出力Q2のセット状態は、マイクロプロセッサ120からのリセット指令RSTによってリセットされるものである。
以上のとおり、本実施の形態1における位置決め制御装置は、第1・第2の高速カウンタを用いて低速始動・高速運転・低速停止の2段速度運転によるパルス出力を発生するようになっている。従って、ステッピングモータを用いた簡易な位置決め制御において、脱調を防止しながら高速運転と高精度停止を行なうことができる特徴がある。
さらに、パルス出力回路部100bが発生する目標パルス発生数Nが奇数である場合には、第2の高速カウンタ150の現在値レジスタ151にはマイナス1またはプラス1が初期値として設定され、目標パルス発生数の前後の偶数値の半分の値が第1の設定レジスタ153に設定値として格納される。
すなわち、現在値レジスタに初期値として±1を設定して運転開始することができるように構成されている。従って、目標パルス発生数が奇数であっても、上昇比較出力とカウントアップ出力と下降比較出力を用いて、2段速度運転を行うことができる特徴がある。
さらに、第1・第2の比較回路136・135、156・155は、比較一致または比較不一致による二値化論理出力を発生し、計数入力信号の論理が計数状態に反転した時点から所定の遅延時間をおいて記憶回路S1・S2・S3に更新格納する。この結果として、カウントアップ出力Q1・Q2と、上昇比較出力P1・P2または下降比較出力P1・P2とが得られる。
すなわち、第1・第2の比較回路は、比較一致しているか否かの論理確定後に比較結果を記憶するようになっている。従って、比較数値が一致点を飛び越して通過することがない高速カウンタに対しては、簡易な比較回路によって比較結果が得られるとともに、高速カウンタの計数タイミングでは、比較判定を回避して誤検出を防止することができる特徴がある。
さらに、上昇比較出力P1・P2は、第1・第2の高速カウンタ130・150がアップカウントモードであるときに、第2の比較回路135・155が一致判定または一致点を通過したと判定した場合に有効となって、上昇比較判定用の記憶回路S2に保存される。
下降比較出力P1・P2、P2・P4は、第1・第2の高速カウンタ130・150がダウンカウントモードであるときに、第2の比較回路135・155が一致判定または一致点を通過したと判定した場合に有効となって、下降比較判定用の記憶回路S3に保存される。
ここで、各記憶回路S2・S3の記憶状態は、マイクロプロセッサ120からのリセット指令RSTによって消去されるものである。
すなわち、上昇比較出力と下降比較出力の区別は、第1・第2の高速カウンタがアップカウントモードであったか、ダウンカウントモードであったかによって区分されている。従って、第2の比較回路だけを用いて上昇比較出力と下降比較出力が得られるので、比較回路が簡略化される特徴がある。
さらに、上昇比較出力P1・P2は、第1・第2の高速カウンタ130・150のカウントアップ出力Q1・Q2が作動する前に、第2の比較回路135・155が一致判定または一致点を通過したと判定した場合に有効となって、上昇比較判定用の記憶回路S2に保存される。
下降比較出力P1・P2は、第1・第2の高速カウンタ130・150のカウントアップ出力Q1・Q2が作動した後に、第2の比較回路135・155が一致判定または一致点を通過したと判定した場合に有効となって、下降比較判定用の記憶回路S3に保存される。
ここで、各記憶回路S2・S3の記憶状態は、マイクロプロセッサ120からのリセット指令RSTによって消去されるものである。
すなわち、上昇比較出力と下降比較出力の区別は、第1・第2の高速カウンタのカウントアップ出力が作動する前であったか、作動した後であったかによって区分されている。従って、第2の比較回路だけを用いて上昇比較出力と下降比較出力が得られるので、比較回路が簡略化される特徴がある。
さらに、マイクロプロセッサ120は、複数の入力センサと複数の電気負荷に対して接続され、入力センサの動作状態とプログラムメモリ121に格納された入出力制御プログラムの内容によって複数の電気負荷を駆動制御するプログラマブルコントローラのCPUユニット100aに内蔵されている。
パルス出力回路部100bは、マイクロプロセッサ120とバス接続された入出力ユニットに内蔵されているとともに、出力選択回路143を備えている。換算設定手段409は、入出力制御プログラムの一部としてプログラムメモリ121に格納された特殊命令によって実行されるものである。
特殊命令は、少なくとも目標とするパルス発生数と目標運転速度パターンとなるパルス出力周期の変遷特性を含む運転定数の設定を行うものであるとともに、回転方向指令と始動/停止指令、若しくは正転始動/停止指令と逆転始動/停止指令を包含している。
出力選択回路143は、回転方向指令と始動/停止指令、若しくは正転始動/停止指令と逆転始動/停止指令に基づいて、回転方向指令DIRと正逆転パルス出力FRP、若しくは正転パルス出力FPと逆転パルス出力RPを発生する。
マイクロプロセッサ120は、パルス出力回路部100bからパルス発生完了信号M4を受信した後、またはマイクロプロセッサ120が発生する運転停止指令によってパルス出力PLSの発生が中断停止されたときには、リセット指令RSTによってパルス出力回路部100bの初期化を行なってから、次回の運転定数の設定を行う。
ここで、パルス出力回路部と協働するマイクロプロセッサは、プログラマブルコントローラのCPUユニットを構成するものであって、マイクロプロセッサによって位置決め制御定数の設定が行われるとともに、回転方向指令や始動指令が供給されるようになっている。従って、全体制御を行なうマイクロプロセッサと高速パルス出力を発生するパルス出力回路との機能分担によって、高速・高精度の位置決め制御を行なうことができる特徴がある。
実施の形態2.
図5は、本発明の実施の形態2における位置決め制御装置のブロック図である。
図5において、例えば、プログラマブルコントローラを構成する位置決め制御装置500は、CPUユニット500aと、入出力ユニットの一部であるパルス出力回路部500bによって構成されている。
CPUユニット500aは、例えば、AC100V〜240Vの商用電源である外部電源から給電される電源回路510を介して、所定の安定化電圧Vccが供給される。
CPUユニット500aの内部には、マイクロプロセッサ520と、プログラムメモリ521と、RAMメモリ522が設けられている。ここで、プログラムメモリ521は、例えば、不揮発フラッシュメモリであって、ユーザが作成した入出力制御プログラムが格納される。また、RAMメモリ522の特定アドレスは、位置情報レジスタ523として占有されている。
パルス出力回路部500bは、マイクロプロセッサ520とバス接続されており、指令・監視信号の授受が行なわれる。
サーボアンプ501は、パルス出力回路部500bから正転パルス出力FPまたは逆転パルス出力RPを受けてサーボモータ502を駆動する。サーボモータ502が駆動されることにより、ワーク504は、正方向または逆方向に移動される。
サーボモータ502には回転パルスを発生するエンコーダ503が設けられ、サーボアンプ501に対してワーク504の移動量をフィードバックするようになっている。
マイクロプロセッサ520には、図示しないインタフェース回路を介して指令入力信号508が接続され、たとえば、強制停止指令、逆転限界スイッチ505による後退限界指令、正転限界スイッチ507による前進限界指令、手動前進指令、手動後退指令、原点復帰指令、自動運転指令などが入力される。
強制停止指令や正転限界指令、逆転限界指令が入力されると、パルス出力回路部500bは、直ちにパルス発生を停止する。また、手動前進指令や手動後退指令が与えられると、低速の正転パルス出力または逆転パルス出力を発生する。さらに、自動運転指令が与えられると、プログラムメモリ521に格納された制御プログラムに基づいた速度パターンによって指令された数のパルスを発生して停止する。
原点位置の近傍で動作する近点ドグスイッチ506は、パルス出力回路部500bに対して近点ドッグ信号DOGとして入力されている。また、エンコーダ503が発生するゼロ相信号は、ゼロ点信号ZEROとしてパルス出力回路部500bに入力されている。
なお、本実施の形態2においては、目標運転速度を漸増・漸減するために、第1の前段高速カウンタ530が使用されているとともに、目標周波数の逆数によって発生パルス周期を決定するために、第2の前段高速カウンタ560が使用されている。
第1の高速カウンタ550の前段に接続されている第1の前段高速カウンタ530は、クロック信号発生回路540が発生する基準クロック信号CLK1をアップ計数するようになっている。そして、第1の設定レジスタ533には、目標とする漸増漸減のステップ時間ΔTの1/2に相当した数値が、マイクロプロセッサ520から設定されている。
第1の前段高速カウンタ530の現在値レジスタ531の計数現在値が増加して、第1の設定レジスタ533の設定値Nに達すると、カウントアップ出力Q1が発生して、第1の前段高速カウンタ530をリセットする。これに伴って、第1の交番出力回路542aの出力が交互に反転する。
第1の前段高速カウンタ530がリセットされて現在値レジスタ531の値がゼロに復帰したことに伴って、カウントアップ出力Q1もリセットされ、再び基準クロック信号CLK1の計数が開始する。その結果、カウントアップ出力Q1の発生周期は、設定値Nと基準クロック信号の周期τとの積であるN×τに等しくなる。そして、第1の交番出力回路542aの出力パルスの周期は、その2倍の値である2×N×τとなり、これがステップ時間ΔTに相当することになる。
従って、第1の前段高速カウンタ530は、漸増漸減パターンのステップ時間生成手段となるものである。図5においては、現在値レジスタ531の計数現在値の変化が、鋸歯状波形541aによって示されている。
次段に接続された第1の高速カウンタ550は、第1の交番出力回路542aの出力信号を計数入力としてアップまたはダウン計数する。さらに、1回のアップ/ダウン指令によって、変分値レジスタ551aに格納されている漸減漸増周波数Δfの値が、現在値レジスタ551に加算または減算されるようになっている。
なお、第1の高速カウンタ550は、速度パターン541bを生成するためのものである。従って、第1の設定レジスタ553には、目標運転速度に対応したパルス周波数f1の値が設定され、第2の設定レジスタ552には、停止前の低速速度に対応したパルス周波数f2の値が設定され、現在値レジスタ551には、運転開始時の初速に対応したパルス周波数f0の値が設定され、さらに、変分値レジスタ551aには、漸増漸減周波数Δfの値が設定されている。
ただし、通常は、低速速度と初速とは同じ値が使用されf2=f0となっている。その結果、周期ΔTによる計数入力信号が計数入力端子INに入力される都度に、現在値レジスタ551の値は、初速用のパルス周波数f0を初期値として漸増周波数Δfが順次加算される。そして、この加算現在値が第1の設定レジスタ553に格納されている目標運転速度に対応したパルス周波数f1に達すると、カウントアップ出力Q2が発生して否定論理素子544の出力によってアップ指令入力が停止する。従って、計数入力が発生しても、現在値レジスタ551の値は、一定値を維持するようになる。
しかし、後述の第2の高速カウンタ570が減速開始指令を発生すると、論理和素子546aとゲート素子546bの出力によって、第1の高速カウンタ550は、減算動作を開始する。そして、周期ΔTによる計数入力信号が計数入力端子INに入力される都度に、現在値レジスタ551には、漸減周波数Δfが順次減算される。
やがて、現在値レジスタ551の値が、第2の設定レジスタ552に格納されている低速周波数f2(=f0)以下になると、下降比較出力P2が論理レベル「H」となる。これにより、ゲート素子546bの出力が論理レベル「L」に反転することによって、減算動作が停止し、現在値レジスタ551の値は、低速周波数f2(=f0)の値を維持するようになっている。
第2の前段高速カウンタ560は、クロック信号発生回路540が発生する基準クロック信号CLK1によって変分値レジスタ561aに格納されている増分値を順次現在値レジスタ561に加算するようになっている。そして、第1の設定レジスタ563には、所定の係数K(例えば、K=500、000)がマイクロプロセッサ520から設定されている。
また、変分値レジスタ561aには、第1の高速カウンタ550の現在値レジスタ551の値が、順次更新格納されるようになっている。従って、第2の前段高速カウンタ560の現在値レジスタ561の計数現在値は、基準クロック信号CLK1のON/OFF動作によって順次変分値レジスタ561aに格納されている増分値が加算される。そして、やがて第1の設定レジスタ563に格納されている係数Kに達すると、カウントアップ出力Q3を発生して第2の前段高速カウンタ560は、自己リセットされ、同じ動作を繰返すことになる。
その結果、カウントアップ出力Q3の発生周期は、変分値レジスタ561aに格納されている増分値が大きいほど速い周期となる。そして、第2の交番出力回路542bの出力は、変分値レジスタ561aに格納された増分値に反比例した周期のパルス出力となる。このパルス出力が、出力選択回路543を介して正転パルス出力FPまたは逆転パルス出力RPとしてサーボアンプ501に出力される。
出力選択回路543は、マイクロプロセッサ520によって出力モードが決定され、たとえば、正転パルス出力FPと逆転パルス出力RPが出力されるか、または正逆転パルスFRPと方向信号出力DIRが出力されるようになっている。
第2の高速カウンタ570は、第2の交番出力回路542bの出力信号をアップカウントし、パルス発生回数を計数するカウンタとなっている。第2の高速カウンタ570の第1の設定レジスタ573には、目標パルス発生数が格納され、第2の設定レジスタ572には減速開始点までのパルス発生数が格納される。
これらの設定値は、マイクロプロセッサ520からあらかじめ送信されたものとなっている。
第2の高速カウンタ570がパルス発生数を計数し、やがて第2の設定レジスタ572に格納された減速開始点までのパルス数に達すると、上昇比較出力P4が論理レベル「H」となる。そして、論理和素子546aとゲート素子546bを介して、第1の高速カウンタ550の減算動作が開始するようになっている。
第2の高速カウンタ570がパルス発生数を計数し、やがて第1の設定レジスタ573に格納された目標パルス発生数に達すると、カウントアップ出力Q4が論理レベル「H」となる。そして、第2の高速カウンタ570は、全ての可逆カウンタの動作を停止してパルス出力の発生を停止するとともに、パルス発生完了信号M4をマイクロプロセッサ520へ送信する。
なお、図5の点線部分(符号570、571、573で示された部分)の動作については、図6を用いて説明する。図6は、本発明の実施の形態2における位置決め制御装置の別のブロック図である。先の図5における実線部分は、マイクロプロセッサ520に対する指令入力信号508が手動前進、手動後退、自動運転指令であった場合の接続回路である。これに対し、図6は、マイクロプロセッサ520に対する指令入力信号508が、原点復帰指令であった場合の接続回路となっている。
図6において、第1の前段高速カウンタ530は、図5の場合と全く同様に動作し、クロック信号発生回路540が発生する基準クロック信号CLK1をアップ計数しながら、第1の設定レジスタ533で設定された漸増漸減のステップ時間に対応した繰り返し動作を行う。現在値レジスタ531の計数現在値の変化は、図6中に示されたように、鋸歯状波形541aに変化するようになっている。
第1の高速カウンタ550も、先の図5の場合と略同様の動作を行って、図6中に特性線図541cで示したような速度パターンを生成する回路となっている。ただし、図6の場合は、現在値レジスタ551に対する初速設定が行われていないので、速度上昇パターンは、ゼロから徐々に上昇するようになっている。
また、第1の高速カウンタ550が減算動作を開始するのは、近点ドッグ信号DOGの動作に依存している。この近点ドッグ信号DOGは、機械原点の手前でON動作するスイッチ信号に基づいて論理和素子546aとゲート素子546bを介して、第1の高速カウンタ550にダウン指令を供給するものとなっている。
さらに、減速完了段階では、第2の設定レジスタ552に格納された微速運転速度(クリープ速度)に対応した一定速度が維持されるようになっている。これは、下降比較出力P2によって、ゲート素子546bを介してダウン動作を停止するためである。
第2の前段高速カウンタ560も、図5の場合と全く同様の動作を行い、前段の現在値レジスタ551の現在値が、変分値レジスタ561aに順次転送される。そして、運転速度に対応した周波数に反比例した周期のパルス出力が、第2の交番出力回路542bの出力端子から得られるようになっている。
第2の高速カウンタ570は、サーボモータ502に設けられたエンコーダ503が発生するゼロ相信号をアップ計数するカウンタである。その計数信号入力は、計数開始判定回路547の出力とゼロ点信号ZEROが入力される論理積素子546cの出力信号となっている。
計数開始判定回路547は、保持回路548とゲート素子549とによって構成されている。また、保持回路548は、近点ドッグ信号DOGがOFFからONに変化して、論理レベルが「L」から「H」になったことを記憶する。さらに、ゲート素子549の出力は、保持回路548がセットされた後に近点ドッグ信号DOGがONからOFFに変化したことによって、論理レベルが「H」となるように構成されている。
その結果、近点ドッグ信号DOGが一旦動作してから不作動状態に復帰した後に、ゼロ点信号ZEROが論理積素子546cを介して第2の高速カウンタ570の計数入力端子INに入力されるようになっている。
近点ドッグ信号DOGとゼロ点信号ZEROとの関連については、後に、図9を用いて改めて具体的に説明するが、概略、次のような動作をする。近点ドッグ信号DOGは、原点近傍で一旦論理レベル「H」となり、やがて減速が略完了した時点で、再び近点ドッグ信号DOGが論理レベル「L」になる。その後に、第2の高速カウンタ570が、ゼロ点信号ZEROを計数開始するようになっている。
第2の高速カウンタ570の現在値レジスタ571の計数現在値が、あらかじめ第1の設定レジスタ573に格納されているゼロ点信号数の値に達すると、カウントアップ出力Q4が発生する。そして、第2の高速カウンタ570は、全ての高速カウンタの動作とパルス出力の発生を停止し、出力選択回路543を介してクリア信号CLRを発生する。さらに、第2の高速カウンタ570は、マイクロプロセッサ520に対してパルス発生完了信号M4を送信する。
なお、クリア信号CLRは、サーボアンプの初期化を行なう信号として使用されるものである。また、第2の高速カウンタ570は、図5においては、発生パルス数の計数を行なったものが、図6においては、ゼロ点信号ZEROを計数するためのものとして共用されており、高速カウンタの使用個数を抑制するようになっている。
以上の説明では、第1・第2の前段高速カウンタ530・560における第2の設定レジスタ532・562と、図6における第2の高速カウンタ570の第2の設定レジスタ572とは、不使用となっている。しかしながら、いずれの場合も、第2の設定レジスタを使用して、第1の設定レジスタを使用しないようにすることもできる。この場合、カウントアップ出力に代わって、上昇比較出力が使用されることになる。
次に、比較回路の詳細について説明する。図7Aは、本発明の実施の形態1における第1・第2の高速カウンタ550・570に対する比較回路の全体構成図である。第1の前段高速カウンタ530や第2の前段高速カウンタ560の場合も、同様に構成されている。
第1の比較回路556・576は、第1の設定レジスタ553・573の値が現在値レジスタ551・571の値以下となっているときに、比較判定出力を発生して記憶回路S1をセットする。記憶回路S1によるセット出力が、カウントアップ出力Q2・Q4となっている。
第2の比較回路555・575は、第2の設定レジスタ552・572の値が現在値レジスタ551・571の値以下となっているとき、または設定値側の値が大きくなったときに、比較判定出力を発生して論理積素子558a・578aまたは558b・578bを介して記憶回路S2またはS3をセットする。記憶回路S2またはS3によるセット出力が、上昇比較出力P2・P4または下降比較出力P2・P4となっている。
論理積素子558a・578aは、第1・第2の高速カウンタ550・570の加算モード端子UPの論理レベルが「H」となって、加算モードにあるときに、記憶回路S2に対するセット指令入力を有効にするゲート回路となっている。
論理積素子558b・578bは、第1・第2の高速カウンタ550・570の減算モード端子DNの論理レベルが「H」となって減算モードにあるときに、記憶回路S3に対するセット指令入力を有効にするゲート回路となっている。
第3の比較回路557・577は、現在値レジスタ551・571の値がゼロレジスタ554・574の値以下となっているときに、比較判定出力を発生して論理積素子559・579を介して記憶回路S4をセットする。記憶回路S4によるセット出力が、復帰出力Q2・Q4となっている。
論理積素子559・579は、第1・第2の高速カウンタ550・570の減算モード端子DNの論理レベルが「H」となって減算モードにあるときに、記憶回路S4に対するセット指令入力を有効にするゲート回路となっている。
図7Bは、本発明の実施の形態2における第1の比較回路556・576の詳細論理回路図である。第2の比較回路555・575や第3の比較回路557・577も、同様に構成されている。
図7Bにおいて、第1の設定レジスタ553・573には、最下位ビットをB0とし、最上位ビットをBnとするnビットのバイナリデータが格納されている。また、現在値レジスタ551・571には、最下位ビットをA0とし、最上位ビットをAnとするnビットのバイナリデータが格納されている。各ビットのBnの反転論理とAnとを入力とする混合論理和素子Lxnの出力は、Bn=1、An=0の場合(すなわち、Bn>Anの場合)に限って論理「0」となる。
このような混合論理和素子LxnからLx0の出力を、論理積素子ADn−1からAD0によって順次カスケード接続して、最終段で否定論理和素子ORNによって論理反転した論理出力X1は、設定数値B>現在数値Aである場合に限って論理レベルが「H」となる。また、最終段の論理積出力からゲート素子GATを介して得られる論理出力X2は、設定数値B≦現在数値Aである場合に論理レベルが「H」となる。
ただし、第1・第2の高速カウンタ550・570に対する計数入力が、論理レベル「H」に変化して計数動作が行われた時点においては、論理出力X1やX2の出力は、論理レベル「L」となっている。そして、計数入力が「L」に変化した時点で比較判定信号が有効となるようになっている。
これは、計数入力が「H」に変化した直後の不安定状態で比較判定するのを回避するための遅延判定手段となるものである。
論理出力X2による比較判定結果は、計数入力が「L」となった時点で記憶回路S1・S2・S4に記憶される。また、論理出力X2の反転出力は、計数入力が「L」となった時点で記憶回路S3に記憶される。
以上の説明では、上昇通過と下降通過の判定を高速カウンタのアップ/ダウン指令の違いによって識別して記憶するようにした。しかしながら、これに代わって、カウントアップ出力が作動する前の一致であれば上昇通過であるとし、カウントアップ出力が作動した後の一致であれば下降通過であると判別することも可能である。
なお、本実施の形態2では、第1の高速カウンタ550と第2の前段高速カウンタ560は、いずれも計数指令が論理レベル「H」に変化した時点において、現在値レジスタ551・561の値が大幅増加または大幅減少するものであり、必ず比較一致点に到達するとは限らない。そこで、「比較一致点以上または未満」、若しくは「比較一致点超過または以下」のような大小比較判定が必要となるものである。
ただし、第1の高速カウンタ550の第1・第2の設定レジスタ553・552に対する設定値を第1の変分レジスタ551aに格納される変分周波数Δfの整数倍にするようにしておけば、第1の高速カウンタ550は、比較一致判定方式によることができるものである。
次に、本実施の形態2における位置決め制御装置の作用・動作の詳細について説明する。図8は、本発明の実施の形態2における図5の構成に対応した位置決め制御装置の特性線図であり、通常運転時の運転速度パターンを示したものである。また、図9は、本発明の実施の形態2における図6の構成に対応した位置決め制御装置の特性線図であり、原点復帰運転時の運転速度パターンを示したものである。
図8において、初速f0は、現在値レジスタ551に格納される初期値に相当し、運転速度f1は、第1の設定レジスタ553に格納される第1の設定値に相当し、低速f2は、第2の設定レジスタ552に格納される第2の設定値に相当する。また、加減速時間ΔTは、第1の設定レジスタ533に格納される変分時間の2倍の値に相当し、変分値Δfは、第1の変分レジスタ551aに格納される変分周波数に相当する。さらに、目標移動量Nは、第1の設定レジスタ573に格納されるパルス発生総数に相当し、減速開始Ndは、第2の設定レジスタ572に格納される減速開始点までのパルス発生数に相当している。
なお、減速開始後の残り移動量ΔNは、運転速度f1と減速勾配Δf/ΔTによって、マイクロプロセッサ520により算出されたものである。
一方、図9において、運転速度f1は、第1の設定レジスタ553に格納される第1の設定値に相当し、微速f2は、第2の設定レジスタ552に格納される第2の設定値に相当する。また、加減速時間ΔTは、第1の設定レジスタ533に格納される変分時間の2倍の値に相当し、変分値Δfは、第1の変分レジスタ551aに格納される変分周波数に相当する。
第1の高速カウンタ550の減速開始は、近点ドッグ信号DOGの動作によって開始する。そして、運転速度が十分低下した時点で近点ドッグ信号DOGが不作動復帰してからゼロ点信号ZEROの発生数が所定値になった時点で、パルス発生が完了する。そして、最終的に、サーボアンプ501に対してクリア信号CLRが供給されるようになっている。
次に、フローチャートを用いて一連の動作を説明する。図10は、本発明の実施の形態2における図5、図6の構成に対応した位置決め制御装置の一連動作を示すフローチャートである。また、図11は、本発明の実施の形態2における図10の一部の工程に関する詳細動作を示すフローチャートである。
図10において、工程700は、マイクロプロセッサ520がパルス出力動作を開始するステップである。続く工程701は、指令入力信号508から運転指令が入力されているか否かを判定するステップである。運転指令が入力されていなければ、NOの判定を行なって動作終了工程702へ移行する。一方、運転指令が入力されていれば、YESの判定を行なって工程703へ移行する。
工程702では、他の制御を実行し、所定時間以内には、再度動作開始工程700へ復帰するようになっている。一方、工程703は、後述の工程710aにおいて、初回フラグがセットされたか否かを判定するステップである。初回フラグがセットされていなければ、YESの判定を行なって工程705へ移行する。一方、初回フラグがセット済であれば、NOの判定を行なって工程704へ移行する。
なお、電源投入時には、初回フラグや各高速カウンタは、リセットされているので、電源投入直後の動作では、工程703は、YESの判定を行なうようになっている。
工程704は、第2の高速カウンタ570のカウントアップ出力Q4が作動して一連のパルス出力が完了したか否かを判定するステップである。未完了であれば、NOの判定を行なって工程720へ移行する。一方、完了であれば、YESの判定を行なって工程705へ移行する。
工程705は、各高速カウンタにリセット指令RSTを与え、各カウンタの動作を停止しておくステップである。続く工程706は、運転指令が原点復帰指令であるか否かを判定するステップである。原点復帰指令であれば、YESの判定を行なって工程707aへ移行する。一方、原点復帰でなければ、NOの判定を行なって工程707bへ移行する。
工程707aでは、第2の高速カウンタ570の入出力回路を図6のとおりに構成してから、工程708aへ移行する。一方、工程707bでは、第2の高速カウンタ570の入出力回路を図5のとおりに構成してから、工程708bへ移行する。工程708a・708bでは、図示しない配線切り替え用のゲート回路を作動させて回路変更を行なうようになっている。
原点復帰運転における換算設定手段となる工程708aでは、第1の前段高速カウンタ530の第1の設定レジスタ533に対しては、漸増・漸減周波数の変分時間ΔTの1/2の値を設定し、現在値レジスタ531にはゼロを設定する。
また、第1の高速カウンタ550の第1の設定レジスタ553に対しては、高速運転速度となる第1の設定値f1を設定し、第2の設定レジスタ552には、停止前の微速運転速度となる第2の設定値f2を設定し、現在値レジスタ551には、ゼロを設定する。さらに、第1の変分レジスタ551aには、漸増・漸減周波数の変分周波数Δfを設定し、第2の前段高速カウンタ560の第1の設定レジスタ563には、例えば、最大運転速度fmaxの5倍の値を設定し、現在値レジスタ561には、ゼロを設定する。また、第2の高速カウンタ570の第1の設定レジスタ573に対しては、ゼロ点信号数を設定し、現在値レジスタ571には、ゼロを設定する。
通常運転における換算設定手段となる工程708bでは、第1の前段高速カウンタ530の第1の設定レジスタ533に対しては、漸増・漸減周波数の変分時間ΔTの1/2の値を設定し、現在値レジスタ531にはゼロを設定する。
また、第1の高速カウンタ550の第1の設定レジスタ553に対しては、高速運転速度となる第1の設定値f1を設定し、第2の設定レジスタ552には、停止前の低速運転速度となる第2の設定値f2を設定し、現在値レジスタ551には、運転開始時の初速f0を設定する。さらに、第1の変分レジスタ551aには、漸増・漸減周波数の変分周波数Δfを設定し、第2の前段高速カウンタ560の第1の設定レジスタ563には、例えば、最大運転速度fmaxの5倍の値を設定し、現在値レジスタ561には、ゼロを設定する。また、第2の高速カウンタ570の第1の設定レジスタ573に対しては、目標となるパルス発生の総数Nを設定し、第2の設定レジスタ572には、減速開始点までの発生パルス数を設定し、現在値レジスタ571には、ゼロを設定する。
上述した工程708a、708bで構成される工程ブロック709は、換算設定手段となるものであり、マイクロプロセッサ520は、第1・第2の高速カウンタ550・570や第1・第2の前段高速カウンタ530・560が動作しやすい値を演算設定するようになっている。
工程710aは、工程708aまたは708bに続いて実行され、正転パルス出力指令F/SPの論理を「H」にするか、または逆転パルス出力指令R/SPの論理を「H」にする。これにより、回転方向指令とスタート指令を与え、リセット指令RSTを論理「L」にしてリセット解除し、初回フラグをセットする。
その結果、工程710bによってパルス出力回路部100bがパルス出力を発生する。続く工程711は、第2の高速カウンタ570のカウントアップ出力Q4を作動させるための判定ステップである。パルス発生完了であれば、YESの判定を行なって工程ブロック714へ移行する。一方、未完了であれば、NOの判定を行なって工程712へ移行する。
工程712は、パルス発生を開始してから所定時間を経過したか否かを判定するステップである。未超過であれば、NOの判定を行なって動作終了工程702へ移行する。一方、時間超過であれば、工程713へ移行して、異常報知を行なってから動作終了工程702へ移行する。
工程720は、正転限界スイッチ507、逆転限界スイッチ505、または強制停止指令スイッチが作動したかどうかを判定するステップである。緊急停止を行なう必要があるときに、YESの判定を行なって工程721へ移行する。一方、緊急停止が不要であるときには、NOの判定を行なって工程711へ移行する。
工程721では、正転パルス出力指令F/SP、または逆転パルス出力指令R/SPの論理レベルを「L」にしてパルス発生を停止し、工程710aでセットされていた初回フラグをリセットしてから動作終了工程702へ移行する。
上述した工程ブロック714の詳細を示す図11において、工程800は、工程711の判定がYESであったときに活性化されるサブルーチンの動作開始ステップである。続く工程801は、前述の工程706の判定が原点復帰であったか否かによって動作するステップである。原点復帰モードであれば、YESの判定を行って工程802へ移行する。一方、原点復帰モードでなければ、NOの判定を行なって工程803へ移行する。
工程802では、RAMメモリ522の中に設けられた位置情報レジスタ523に対して、原点位置における座標値を書込み設定する。工程803では、第2の高速カウンタ570の現在値レジスタ571の値を読み出して、工程710aで設定されていた回転方向指令に応じて読出現在値を位置情報レジスタ523に代数加算する。工程802または工程803に続いてサブルーチン動作終了工程804を経て、図10の工程715へ移行するようになっている。
工程715では、工程710aでセットされた初回フラグがリセットされ、その後、動作終了工程702へ移行する。
以上の動作を概括説明すると、初回動作時、動作完了後の再起動時、または緊急停止後の初回動作時には、換算設定手段709によって各高速カウンタに対する制御定数の設定が行われ、一連のパルス出力の発生が完了する都度に、換算設定手段709による再設定が行われるようになっている。従って、マイクロプロセッサ520は、パルス発生の停止中に次回のパルス発生の制御定数を送信すればよいので、パルス発生動作と関連した割込み高速処理が不要となっている。
以上の説明では、マイクロプロセッサ520は、出力選択回路543に対して正転パルス出力指令F/SPと逆転パルス出力指令R/SPを供給するようになっている。さらに、出力選択回路543は、正転パルス出力指令F/SPが論理「H」であるときに、正転パルス出力FPを発生し、逆転パルス出力指令R/SPが論理「H」であるときに、逆転パルス出力RPを発生し、正転パルス出力指令F/SPと逆転パルス出力指令R/SPがともに論理「L」であるときに、パルス発生を停止するようになっている。
これに代わって、マイクロプロセッサ520は、出力選択回路543に対して回転方向指令出力DIRとスタート指令ST/SPを供給し、出力選択回路543は回転方向指令DIRをそのままサーボアンプ501に出力するとともに、スタート指令ST/SPが論理「H」となったときに、第2の交番出力回路542bの出力信号を正逆転パルス出力FRPとしてサーボアンプ501に供給するようにしてもよい。
マイクロプロセッサ520に対する指令入力信号508として、手動前進指令ボタンが押し続けられているとき、または手動後退指令ボタンが押し続けられているときの制御動作としては、指令ボタンが押された直後には漸増速度特性に基づいて目標速度まで上昇し、指令ボタンを押しやめると漸減速度特性に基づいて停止するような制御プログラムが適用される。指令ボタンが押し続けられていても、正転限界スイッチ、または逆転限界スイッチが作動すると自動停止するようになっている。
また、正転限界スイッチや逆転限界スイッチが作動する前に指令ボタンを押すのをやめれば、以降は、始動時と逆の漸減速度パターンで減速して停止するようになっている。
以上の説明で明らかなとおり、本実施の形態2による位置決め制御装置は、マイクロプロセッサ520からの設定指令情報に基づいて、位置決め制御用のパルス出力を発生するパルス出力回路部500bを備えた位置決め制御装置500である。そして、パルス出力回路部500bは、少なくとも第1・第2の高速カウンタ550・570を備えているとともに、マイクロプロセッサ520と協働するプログラムメモリ521は、換算設定手段709となる制御プログラムを包含している。
第1の高速カウンタ550は、目標とするパルス出力の周波数を可変設定するものであって、分周クロック信号CLK2の計数現在値が格納される現在値レジスタ551と、第1・第2の設定レジスタ553・552と、第1・第2の比較回路556・555とによって構成されている。
第2の高速カウンタ570は、パルス発生数の経過状況が格納される現在値レジスタ571と、第1・第2の設定レジスタ573・572と、第1・第2の比較回路576・575とによって構成されている。
換算設定手段709は、第1・第2の高速カウンタ550・570の動作開始前に作用して、第2の高速カウンタ570に対して目標とするパルス発生数の設定を行うとともに、第1または第2の高速カウンタに対して目標運転速度パターンとなるパルス出力周波数の変遷特性を設定する。
第1・第2の高速カウンタ550・570に設けられた第1の比較回路556・576は、現在値レジスタ551・571の値が第2の設定レジスタ552・572の設定値以上の値が設定される第1の設定レジスタ553・573の設定値と一致するか、または一致点以上または一致点超過したことによって、カウントアップ出力Q2・Q4を発生する。
第1・第2の高速カウンタ550・570に設けられた第2の比較回路555・575は、現在値レジスタ551・571の値が上昇している過程または下降している過程において、第2の設定レジスタ552・572の設定値と一致するか、または一致状態を通過したことによって、上昇比較出力P2・P4または下降比較出力P2・P4の少なくとも一方の出力を発生する。
パルス出力回路部500bは、カウントアップ出力Q2・Q4と、上昇比較出力P2・P4または下降比較出力P2・P4の少なくとも一方の出力の発生に応動して、パルス出力周波数の変遷特性に基づく運転パターンによるパルス出力PLSを発生する。さらに、パルス出力回路部500bは、パルス発生の完了に伴って、パルス発生完了信号M4をマイクロプロセッサ520に送信し、パルス発生開始から完了までの期間において、マイクロプロセッサ520からの指令を受けることなく指定された特性のパルス出力を発生するようになっている。
第1の高速カウンタ550は、低速から高速、または高速から低速への漸増・漸減速度パターンとなる出力パルスの周波数変遷パターンを生成するためのものであって、第1の変分値レジスタ551aを備えるとともに、第1の前段高速カウンタ530が接続されている。
第1の前段高速カウンタ530は、所定周期の基準クロック信号CLK1を計数するとともに、第1の交番出力回路542aを介して可変周期の分周クロック信号CLK2(第1の設定レジスタ533に設定された目標とする漸増漸減のステップ時間ΔTの周期で第1の交番出力回路542aから出力される計数入力信号に相当)を発生させる回路である。第1の前段高速カウンタ530の第1または第2の設定レジスタ533・532には、所定の漸増・漸減周波数の変分値Δfに対応した所要変分時間ΔTの半分の値が格納され、カウントアップ出力Q1または上昇比較出力P1が発生して現在値レジスタ531がリセットされる都度に、第1の交番出力回路542aの出力論理を反転させる。
第1の変分値レジスタ551aは、第1の高速カウンタ550に加算または減算計数入力が与えられたときに作用して、現在値レジスタ551に対して第1の変分値レジスタ551aに格納されている周波数の変分値Δfを加算または減算するための数値レジスタである。
第1の高速カウンタ550は、第1の前段高速カウンタ530によって生成される可変周期の分周クロック信号CLK2を計数するものである。第1の高速カウンタ550の第1の設定レジスタ553には、目標とする高速運転用の第1のパルス周波数に対応した第1の設定値f1が格納され、第2の設定レジスタ552には、目標とする停止前の低速運転用の第2のパルス周波数に対応した第2の設定値f2が格納され、現在値レジスタ551には、目標とする運転開始時の低速運転用の第3のパルス周波数に対応した第3の設定値f0が初期値として格納され、さらに、第1の変分値レジスタ551aには周波数の変分値Δfが格納されている。
第1の高速カウンタ550の現在値は、計数開始に伴って第3の設定値f0から漸増し、カウントアップ出力Q2が発生したことに伴って加算動作が停止して、第1の設定値f1を持続する。一方、減速開始指令が与えられたことによって漸減し、下降比較出力P2が発生したことに伴って減算動作を停止して、第2の設定値f2を持続する。
第2の高速カウンタ570は、第1の高速カウンタ550の現在値レジスタ551の値の逆数に比例した周期のパルスを計数する。さらに、第2の高速カウンタ570の第1の設定レジスタ573には、目標とするパルスの発生数Nが設定され、第2の設定レジスタ572には、減速開始点までのパルスの発生数Ndが設定されている。
第2の高速カウンタ570の上昇比較出力P4が発生したことに伴って、第1の高速カウンタ550の減算動作が開始し、カウントアップ出力Q4が発生したことに伴って、第1の高速カウンタ550のパルス発生が停止して、パルス発生完了信号M4をマイクロプロセッサ520に送信するようになっている。
以上のとおり、本実施の形態2における位置決め制御装置は、変分値レジスタに格納された周波数の増減変分値が、現在値レジスタに加算または減算されるように構成されていて、目標とする漸増・漸減特性に応じた可変の周期のクロック信号によって第1の高速カウンタの現在値が増減するようになっている。
特に、減速開始時期は、第2の高速カウンタに対してあらかじめマイクロプロセッサから設定されている減速開始点の情報に基づいて、自動的に決定されるようになっている。従って、上昇比較出力とカウントアップ出力と下降比較出力を用いて手軽に漸増・漸減の速度パターンを生成することができる特徴がある。
さらに、第2の高速カウンタ570は、第1の高速カウンタ550の現在値の逆数を得るための第2の前段高速カウンタ560を備えている。第2の前段高速カウンタ560は、第2の変分値レジスタ561aと第2の交番出力回路542bとを備える。そして、第2の前段高速カウンタ560の第1の設定レジスタ563または第2の設定レジスタ562には、所定の係数Kが設定されている。
第2の変分値レジスタ561aには、目標周波数となる第1の高速カウンタ550の現在値レジスタ551の値が格納されている。そして、第2の変分値レジスタ561aは、第2の前段高速カウンタ560に加算計数入力が与えられたときに作用して、第2の前段高速カウンタ560の現在値レジスタ561に対して、第2の変分値レジスタ561aに格納されている目標周波数の値を加算する。
第2の交番出力回路542bは、第2の前段高速カウンタ560のカウントアップ出力Q3または上昇比較出力P3が発生して、第2の前段高速カウンタ560の現在値がリセットされる都度に、その出力論理を反転し、所定の係数Kを第2の変分値レジスタ561aの値で割った商の2倍の周期のパルス出力PLSを発生する。また、第2の高速カウンタ570は、第2の交番出力回路542bの出力信号を計数するものである。
すなわち、第2の前段高速カウンタの現在値レジスタには、変分値レジスタに格納された目標周波数が加算されるように構成されていて、累積加算値が所定の係数値を超過することにより第2の前段高速カウンタが初期化されて再起動することによって、目標周波数に反比例した周期のパルス出力を発生するようになっている。従って、目標とする速度パターンに応じて時々刻々に変化するパルス周期の調整を、パルス出力回路側で実行して、マイクロプロセッサの制御負担を軽減することができる特徴がある。
さらに、第1・第2の高速カウンタ550・570には、原点復帰指令に応動する位置決用入出力信号が接続されている。位置決用入力信号は、近点ドッグ信号DOGとゼロ点信号ZEROとを含んでいる。近点ドッグ信号DOGは、原点近傍で作動し、原点側近位置で作動復帰する。また、ゼロ点信号ZEROは、パルス出力PLSによって駆動されるサーボモータ502に設けられ、サーボモータ502の1回転当たりに1パルスの出力を発生するZ相信号として入力される。
位置決用出力信号は、原点出しが完了したときにサーボモータ502を駆動するサーボアンプ501の位置決め偏差残留パルスをリセットするためのクリア信号CLRである。
第2の高速カウンタ570は、原点復帰指令が与えられたときには第2の交番出力回路542bの出力であるパルス出力PLSの計数を行なわない。そのかわり、近点ドッグ信号DOGの作動復帰に伴って、ゼロ点信号ZEROである間欠パルス信号を計数し、ゼロ点信号数が所定の設定値に達したときに、パルス出力PLSの発生を停止する。そして、パルス発生完了信号M4をマイクロプロセッサ520に送信するとともに、サーボアンプ501に対してクリア信号CLRを供給する。
第1の高速カウンタ550は、第1の前段高速カウンタ530によって生成される可変周期の分周クロック信号CLK2を計数するものである。第1の高速カウンタ550の第1の設定レジスタ553には、目標とする原点復帰運転用の第1のパルス周波数に対応した第1の設定値f1が格納され、第2の設定レジスタには、目標とする微速運転用の第2のパルス周波数に対応した第2の設定値f2が格納され、現在値レジスタ551には、目標とする運転開始時の低速運転用の第3のパルス周波数に対応した第3の設定値f0が初期値として格納され、さらに、第1の変分値レジスタ551aには、周波数の変分値Δfが格納される。
第1の高速カウンタ550の現在値は、計数開始に伴って第3の設定値f0から漸増し、カウントアップ出力Q2が発生したことに伴って、加算動作が停止して、第1の設定値f1を持続する。一方、第1の高速カウンタ550の現在値は、減速開始指令が与えられたことによって漸減し、下降比較出力P2が発生したことに伴って減算動作を停止して、第2の設定値f2を持続する。なお、この減速開始指令は、目標原点の近傍位置に接近したときに動作する近点ドッグ信号DOGの作動によって発生するものである。
すなわち、原点復帰指令が与えられると、第2の高速カウンタは、発生パルスの計数を行なわず、近点ドッグ信号が作動復帰した後のゼロ点信号数を計数して、ゼロ点信号数が所定値に到達したことによって動作完了するようになっている。また、近点ドッグ信号が作動することによって、第1の高速カウンタが減算動作を開始し、微速運転状態になってから停止するようになっている。従って、第2の高速カウンタは、通常の運転制御と原点復帰制御とが兼用されていて、必要とされるカウンタの個数を削減することができる特徴がある。
さらに、マイクロプロセッサ520と協働するRAMメモリ522は、絶対位置情報が格納される位置情報レジスタ523を備えるとともに、プログラムメモリ521は、現在位置初期化手段802と代数加算手段803とを備えている。
ここで、現在位置初期化手段802は、原点復帰動作が完了した時点において、位置情報レジスタ523に対して所定の原点位置情報を書込み保存する手段である。また、代数加算手段803は、速度パターンによる1回の位置決め制御が完了した時点で第2の高速カウンタ570の現在値レジスタ571の値を読み出して、指令されていた回転方向に応じて位置情報レジスタ523に今回の移動量を代数加算する手段である。
マイクロプロセッサ520は、次回の目標位置と位置情報レジスタ523の内容との偏差として算出された相対移動量と移動方向を、カウンタ回路500bに対する設定情報として指令するものである。
すなわち、マイクロプロセッサは、位置情報レジスタを用いて現在位置を常に把握するようになっている。従って、パルス出力回路部に対しては、常に相対移動量に基づく設定指令を行なうことができるので、パルス出力回路部側で絶対位置を記憶する必要がなく、簡易なパルス出力回路部が得られる特徴がある。
さらに、第1・第2の比較回路556・555、576・575は、比較一致点を境として、一致点以上と未満、若しくは一致点超過と未満の大小の二値化論理出力を発生する。さらに、計数入力信号の論理が計数状態に反転した時点から所定の遅延時間をおいて、記憶回路S1・S2・S3に更新格納することによって、カウントアップ出力Q2・Q4と、上昇比較出力P2・P4または下降比較出力P2・P4とが得られる。
すなわち、第1・第2の比較回路は、比較一致点を境として大小の二値化論理出力を発生し、論理確定後に比較結果を記憶するようになっている。従って、比較数値が一致点を飛び越して通過した場合であっても比較結果が得られるとともに、高速カウンタの計数タイミングでは、比較判定を回避して誤検出を防止することができる特徴がある。
さらに、第1の高速カウンタ550の第1・第2の設定レジスタ553・552に格納される第1・第2の設定値f1・f2は、第1の変分値レジスタ551aに格納される数値の整数倍の値である。第1の前段高速カウンタ530と第1の高速カウンタ550と第2の高速カウンタ570に設けられた第1・第2の比較回路は、比較一致または比較不一致による二値化論理出力を発生する。さらに、計数入力信号の論理が計数状態に反転した時点から所定の遅延時間をおいて、記憶回路S1・S2・S3に更新格納することによって、カウントアップ出力Q1・Q2・Q4と、上昇比較出力P1・P2・P4または下降比較出力P1・P2・P4とが得られる。
すなわち、第1の高速カウンタの第1・第2の設定レジスタに格納される第1・第2の設定値は、第1の変分値レジスタに格納される数値の整数倍の値となっている。従って、計数現在値の漸増・漸減過程において、比較一致点を必ず通過するので、簡易な比較回路方式によってカウントアップ出力・上昇比較出力・下降比較出力を得ることができる特徴がある。
100 位置決め制御装置、100a CPUユニット、100b パルス出力回路部、120 マイクロプロセッサ、121 プログラムメモリ、122 RAMメモリ、130 第1の高速カウンタ、131 現在値レジスタ、132 第2の設定レジスタ、133 第1の設定レジスタ、135 第2の比較回路、136 第1の比較回路、141 選択切換回路、142 交番出力回路、143 出力選択回路、150 第2の高速カウンタ、151 現在値レジスタ、152 第2の設定レジスタ、153 第1の設定レジスタ、155 第2の比較回路、156 第1の比較回路、409 換算設定手段、500 位置決め制御装置、500a CPUユニット、500b パルス出力回路部、501 サーボアンプ、502 サーボモータ、503 エンコーダ、520 マイクロプロセッサ、521 プログラムメモリ、522 RAMメモリ、523 位置情報レジスタ、530 第1の前段高速カウンタ、531 現在値レジスタ、532 第2の設定レジスタ、533 第1の設定レジスタ、535 第2の比較回路、536 第1の比較回路、542a 第1の交番出力回路、542b 第2の交番出力回路、543 出力選択回路、550 第1の高速カウンタ、551 現在値レジスタ、551a 第1の変分レジスタ、552 第2の設定レジスタ、553 第1の設定レジスタ、555 第2の比較回路、556 第1の比較回路、560 第2の前段高速カウンタ、561 現在値レジスタ、561a 第2の変分レジスタ、562 第2の設定レジスタ、563 第1の設定レジスタ、565 第2の比較回路、566 第1の比較回路、570 第2の高速カウンタ、571 現在値レジスタ、572 第2の設定レジスタ、573 第1の設定レジスタ、575 第2の比較回路、576 第1の比較回路、709 換算設定手段、802 現在位置初期化手段、803 代数加算手段、Q1〜Q4 カウントアップ出力、Q1〜Q4 復帰出力、P1〜P4 上昇比較出力、P1〜P4 下降比較出力、DIR 回転方向指令出力、FRP 正逆転パルス出力、FP 正転パルス出力、RP 逆転パルス出力、M4 パルス発生完了信号、CLR クリア信号、ZERO ゼロ点信号、DOG 近点ドグ信号、CLK1 基準クロック信号、CLK2 分周クロック信号。