JP3057657B2 - モータの位置決め制御システム - Google Patents

モータの位置決め制御システム

Info

Publication number
JP3057657B2
JP3057657B2 JP7142961A JP14296195A JP3057657B2 JP 3057657 B2 JP3057657 B2 JP 3057657B2 JP 7142961 A JP7142961 A JP 7142961A JP 14296195 A JP14296195 A JP 14296195A JP 3057657 B2 JP3057657 B2 JP 3057657B2
Authority
JP
Japan
Prior art keywords
motor
time
cam curve
dimensionless
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP7142961A
Other languages
English (en)
Other versions
JPH08339218A (ja
Inventor
英行 高向
剛 大出
修 伊東
Original Assignee
横河プレシジョン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 横河プレシジョン株式会社 filed Critical 横河プレシジョン株式会社
Priority to JP7142961A priority Critical patent/JP3057657B2/ja
Publication of JPH08339218A publication Critical patent/JPH08339218A/ja
Application granted granted Critical
Publication of JP3057657B2 publication Critical patent/JP3057657B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Control Of Position Or Direction (AREA)
  • Control Of Electric Motors In General (AREA)
  • Numerical Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、モータの回転位置をフ
ィードバック制御するモータの位置決め制御システムの
改良に関するものである。
【0002】
【従来の技術】モータの回転位置のフィードバック制御
のしかたの1つとして、位置指令値と時間とを対応させ
たカム曲線から一定時間毎に位置指令値を求め、求めた
位置指令値をモータに与え、モータの回転位置を目表位
置に位置決めする制御がある。このような制御を時間制
御とする。カム曲線の1つとして、モータの回転位置と
時間をそれぞれ無次元化した無次元位置と無次元時間の
関係を規定した曲線がある。このようなカム曲線の一例
を図13に示す。このようなカム曲線を使って時間制御
をするときは、カム曲線の無次元位置と無次元時間の0
〜1の値の範囲(フルスケール)にモータの全回転量と
全回転時間を割り当てることによってカム曲線を有次元
化する。無次元化カム曲線を使った制御では、カム曲線
を相似の範囲で変更したいときは、カム曲線を有次元化
するときの全回転量と全回転時間の値を変えることによ
って短時間で変更が可能である。それ以外の変更はカム
曲線自体を変更しなければならない。カム曲線を複数種
類メモリに格納している場合は、使用するカム曲線を切
り替えることにより対応できるが、カム曲線を多種多様
に変更したい場合は、メモリに格納しているカム曲線の
種類により変更できる範囲が制限され、変更に対応しき
れなくなる。このため、カム曲線自体を変更せざるを得
なくなり、変更に要する時間が長くなる。なお、カム曲
線は、メモリに格納されるときは、無次元位置と無次元
時間のデータを対応させたカム曲線テーブルの形で格納
される。
【0003】一方、モータの回転位置のフィードバック
制御の他のやり方として、主動軸に追従して動く従動軸
の駆動用モータの回転位置を目標位置に位置決めする制
御がある。この制御を主動軸制御とする。主動軸制御を
するモータの位置決め制御システムにも、無次元化した
カム曲線を用いたシステムがある。このシステムでは、
主動軸の回転位置をカム曲線の無次元時間に対応させ、
従動軸の回転位置をカム曲線の無次元位置に対応させ、
主動軸と従動軸の追従関係をカム曲線で規定していた。
カム曲線の無次元位置と無次元時間の0〜1の値の範囲
(フルスケール)に従動軸の全回転量と主動軸の全回転
量を割り当てることによってカム曲線を有次元化してい
た。主動軸制御をする場合も時間制御をする場合と同様
に、カム曲線を相似の範囲で変更したいときは、主動軸
の全回転量と従動軸の全回転量の値を変えることによっ
て短時間で変更することができが、カム曲線を多種多様
に変更したい場合はカム曲線自体を変更せざるを得なく
なり、変更に要する時間が長くなる。
【0004】
【発明が解決しようとする課題】本発明は上述した問題
点を解決するためになされたものであり、カム曲線メモ
リに格納された複数種類の無次元カム曲線について、そ
れぞれカム曲線毎に独立に設定した有次元値で有次元化
し、有次元化したカム曲線を合成することにより、少な
い種類のカム曲線を用意するだけで短時間でカム曲線を
多種多様に変更してモータの回転位置をフィードバック
制御できるモータの位置決め制御システムを実現するこ
とを目的とする。
【0005】
【課題を解決するための手段】本発明は次のとおりの構
成になったモータの位置決め制御システムである。 (1)モータの回転位置をフィードバック制御するモー
タの位置決め制御システムにおいて、モータの回転位置
と時間をそれぞれ無次元化した無次元位置と無次元時間
のデータを対応させたカム曲線テーブルが複数種類記憶
されたカム曲線メモリと、モータの制御に必要なデータ
が書込まれた制御データ用メモリと、この制御データ用
メモリに書込まれたデータを逐次取出し、複数のカム曲
線テーブルを使用してモータの動作指令を行う場合は、
使用するカム曲線テーブルの種類を指定するデータTY
PEj(ただし、j=1〜N,Nは2以上の整数)、使
用する各カム曲線テーブルの無次元位置を有次元化する
ためのストロークデータhj(ただし、N j=1Σhjは目標
位置に達するまでのモータの全回転量)及び目標位置に
達するまでのモータの全回転時間である移動時間tn
後述する実位置算出手段に与えるインタプリタと、この
インタプリタから与えられたデータTYPEjにより前
記カム曲線メモリ中のカム曲線テーブルを選択し、現時
点までにモータが回転した時間である移動実時間R
ti(ただし、iは分周周期の周期番号)を分周周期毎に
更新し、更新した移動実時間Rtiを前記移動時間tn
割って無次元時間tiを求め、この無次元時間tiに対応
する無次元位置Sijを前記選択したカム曲線テーブルを
用いて求め、求めた無次元位置Sijにストロークhj
乗じて実位置sijを求める実位置算出手段と、この実位
置算出手段が実位置sijを求める毎に、求めた実位置s
ijを随時記憶していく実位置記憶手段と、カウントNが
セットされ、前記実位置算出手段が実位置sijを求める
毎にカウントが変わり、カウントがセット値Nだけ変わ
ったところで前記実位置記憶手段に信号を与えて記憶し
ておいたN個の実位置sijを取り出すカウンタと、実位
置記憶手段から取り出されたN個の実位置sijについて
TiN j=1Σsijなる加算を行う加算手段と、この加算
値sTiと前回の分周周期で求めた加算値sTi-1の差sTi
−sTi-1を求める減算手段と、この減算手段で求めた差
Ti−sTi-1に応じた指令値でモータの回転位置をフィ
ードバック制御する位置制御部と、を具備したことを特
徴とするモータの位置決め制御システム。 (2)主動軸に追従して動く従動軸の駆動用モータの回
転位置をフィードバック制御するモータの位置決め制御
システムにおいて、主動軸の回転量に比例した数のパル
スを出力するエンコーダと、このエンコーダの出力パル
スの数をカウントする第1のカウンタと、モータの回転
位置と時間をそれぞれ無次元化した無次元位置と無次元
時間のデータを対応させたカム曲線テーブルが複数種類
記憶されたカム曲線メモリと、モータの制御に必要なデ
ータが書込まれた制御データ用メモリと、この制御デー
タ用メモリに書込まれたデータを逐次取出し、複数のカ
ム曲線テーブルを使用して前記従動軸の駆動用モータの
動作指令を行う場合は、使用するカム曲線テーブルの種
類を指定するデータTYPEj、使用する各カム曲線テ
ーブルの無次元位置を有次元化するためのストロークデ
ータhj(ただし、N j=1Σhjは従動軸の駆動用モータの
全回転量)及び前記第1のカウンタの最大カウント値C
maxを後述する実位置算出手段に与えるインタプリタ
と、このインタプリタから与えられたデータTYPEj
に応じて前記カム曲線メモリ中のカム曲線テーブルを選
択し、分周周期毎に無次元時間tiをti=Ci/C
m ax(ただし、Ciはi番目の分周周期における第1のカ
ウンタのカウント)から求め、この無次元時間tiに対
応する無次元位置Sijを前記選択したカム曲線テーブル
を用いて求め、求めた無次元位置Sijにストロークhj
を乗じて実位置si jを求める実位置算出手段と、この実
位置算出手段が実位置sijを求める毎に、求めた実位置
ijを随時記憶していく実位置記憶手段と、カウントN
がセットされ、前記実位置算出手段が実位置sijを求め
る毎にカウントが変わり、カウントがセット値Nだけ変
わったところで前記実位置記憶手段に信号を与えて記憶
しておいたN個の実位置sijを取り出すカウンタと、実
位置記憶手段から取り出されたN個の実位置sijについ
てsTiN j=1Σsijなる加算を行う加算手段と、この加
算値sTiと前回の分周周期で求めた加算値sTi-1の差s
Ti−sTi-1を求める減算手段と、この減算手段で求めた
差sTi−sTi-1に応じた指令値で前記従動軸の駆動用モ
ータの回転位置をフィードバック制御する位置制御部
と、を具備したことを特徴とするモータの位置決め制御
システム。 (3)前記従動軸は複数個設けられていて、各従動軸毎
に前記従動軸の駆動用モータ、第1のカウンタ及び位置
制御部が設けられていて、それぞれの第1のカウンタに
は前記エンコーダの出力パルスが共通に与えられること
を特徴とする(2)記載のシステム。
【0006】
【作用】第1の発明では、移動実時間Rtiを分周周期毎
に更新し、更新した移動実時間Rtiから無次元時間ti
を求め、この無次元時間tiに対応する無次元位置Sij
をカム曲線テーブルを用いて求める。求めた無次元位置
ijにストロークhjを乗じて実位置sijを求める。こ
のような実位置sijを求める演算を選択したN個のカム
曲線について行う。求めたN個の実位置sijを加算す
る。この加算値sTiと前回の分周周期で求めた加算値s
Ti-1の差sTi−sTi-1を指令値にしてモータの回転位置
をフィードバック制御する。第2の発明では、エンコー
ダは主動軸の回転量に比例した数のパルスを出力する。
このエンコーダの出力パルスの数を第1のカウンタでカ
ウントする。分周周期毎に無次元時間tiをti=Ci
maxから求め、この無次元時間tiに対応する無次元位
置Sijをカム曲線テーブルを用いて求める。求めた無次
元位置Sijにストロークhjを乗じて実位置sijを求め
る。このような実位置sijを求める演算を選択したN個
のカム曲線について行う。求めたN個の実位置sijを加
算する。この加算値sTiと前回の分周周期で求めた加算
値sTi-1の差sTi−s Ti-1を指令値にして従動軸の駆動
用モータの回転位置をフィードバック制御する。
【0007】
【実施例】以下、図面を用いて本発明を説明する。図1
は本発明の一実施例を示した構成図である。この実施例
は時間制御をするモータの位置決め制御システムの一例
である。図で、10はキーボードで、複数のカム曲線テ
ーブルを使用してモータの動作指令を行う場合は、使用
するカム曲線テーブルの種類を指定するデータTYPE
j(ただし、j=1〜N,Nは2以上の整数)、使用す
る各カム曲線テーブルの無次元位置を有次元化するため
のストロークデータhj、及び、目標位置に達するまで
のモータの全回転時間である移動時間tnを入力する。
ここで、N j=1Σhjは目標位置に達するまでのモータの
全回転量になる。N j=1Σhjは、h1からhNまで加算す
ることを表す。以下、加算について同様に記載する。2
0はキーボード10の入力を受けこの入力に応じたNC
コマンドを出力するデータ入力部、30はデータ入力部
20からのNCコマンドが格納される不揮発性の制御デ
ータ用メモリである。40は制御データ用メモリ30か
らNCコマンドを逐次取り出して実行するインタプリタ
である。50は複数種類のカム曲線テーブル501〜5
n(ただし、nは整数)が設けられたカム曲線メモリ
である。ここで、カム曲線テーブルはモータの回転位置
と時間を無次元化したデータを対応させたテーブルであ
る。60はカム曲線指令部である。カム曲線指令部60
において、61は実位置算出手段で、インタプリタ40
から与えられたデータTYPEjによりカム曲線メモリ
50中のカム曲線テーブルを選択し、選択したカム曲線
テーブルのデータをもとに分周周期毎に有次元の実位置
ij(ただし、iは分周周期の周期番号)を求める。実
位置sijは、i番目の分周周期において、データTYP
jで指定されるカム曲線テーブルから求めた実位置で
ある。実位置sijの具体的な求め方については後述す
る。62は実位置算出手段61が実位置sijを求める毎
に、求めた実位置sijを随時記憶していく実位置記憶手
段である。63はカウンタで、カウントNがセットさ
れ、実位置算出手段61が実位置s ijを求める毎にカウ
ントが変わり、セット値Nだけカウントが変わったとこ
ろで実位置記憶手段62に信号を与えて記憶しておいた
N個の実位置sijを取り出す。64は加算手段で、実位
置記憶手段62から取り出されたN個の実位置sijにつ
いてsTiN j=1Σsijなる加算を行う。65は減算手段
で、加算値sTiと前回の分周周期で求めた加算値sTi-1
の差s Ti−sTi-1をとり、指令値sTi−sTi-1を求め
る。70はモータ、80はモータの回転を検出するエン
コーダである。90はパルス出力回路であり、減算手段
65で算出した指令値sTi−sTi-1に比例した数のパル
スを一定時間中に均等配列した位置指令パルスにして出
力する。100は位置制御部で、パルス出力回路90か
ら位置指令パルスが与えられ、与えられたパルスを積算
して求めた位置指令値をもとにモータ80の回転位置を
フィードバック制御する。
【0008】このように構成した制御システムの動作を
説明する。キーボード10によりデータ入力部20を介
してNCコマンドが制御データ用メモリ30に書き込ま
れる。インタプリタ40は制御データ用メモリ30から
NCコマンドを逐次取出して実行する。複数のカム曲線
テーブルを使用してモータの動作指令を行う場合は、イ
ンタプリタ40はカム曲線指令部50に対して、使用す
るカム曲線テーブルの種類を指定するデータTYP
j、使用する各カム曲線テーブルの無次元位置を有次
元化するためのストロークデータhj、及び、移動時間
nのデータを与え、タイマ(図示せず)を用いて時間
τ毎にサンプリングする。カム曲線は図2に示すよう
に、一定時間Δt毎にモータの回転位置と時間をそれぞ
れ無次元化した無次元位置Sと無次元時間tの関係を表
したグラフである。カム曲線テーブルは図3に示すよう
に、時間Δt毎にとった無次元位置Sの値と、テーブル
のピッチの逆数1/Δtと、無次元最大速度Vmと、無
次元最大加速度Amが記憶されている。カム曲線指令部
60は前述したタイマにより時間τ毎に起動される。
【0009】図4はカム曲線指令部60の動作手順を示
したフローチャートである。フローチャートの各ステッ
プに従って説明する。 (A1)移動実時間Rtiを更新する。すなわち、移動実
時間Rti+τを新たな移動実時間Rtiにする。移動実時
間Rtiは現時点までにモータが回転した時間である。更
新を行うのは、時間τ毎にカム曲線指令部60が起動さ
れる度に前回の起動時に比べてモータの回転時間がτだ
け増えているからである。 (A2)更新した移動実時間Rtiを無次元時間tiに変
換する。この変換はti=Rti/tnにより行う。無次元
時間tiは移動実時間Rtiに比例して増加し、移動実時
間Rtiが移動時間tnに達したときにti=1になる。 (A3)カウンタ63を初期化する。これにより、カウ
ンタ63のカウントj=1になる。 (A4)無次元時間tからカム曲線テーブルにおけるイ
ンデックスΔtnを求める。この演算はΔtn=Int
(ti/Δt)により行う。ここで、Int(ti/Δ
t)は、除算値ti/Δtの小数部分を切り捨てて整数
部分だけを残す演算である。例えば、ti/Δt=5.
35の場合は、Int(ti/Δt)=5となる。イン
デックスΔtnは、カム曲線テーブルに用意された無次
元位置のデータの中で何番目のデータであるかを意味す
る。Int(ti/Δt)をとることによって、演算で
求めた無次元時間tiの値以下で、無次元時間tiの値に
最も近い無次元時間のデータが何番目のデータであるか
が判明する。演算で求めた無次元時間tiの値は様々な
値をとりうる連続的な値であるのに対し、カム曲線テー
ブルに用意された無次元時間のデータは離散的な値であ
るため、このような処理を施す。 (A5)カム曲線テーブルに用意されたデータを用いて
次式で与えられる内挿演算により無次元位置Sijを求め
る。 Sij={fj(Δtn+1)−fj(Δtn)}・{(ti/Δt)−Δtn} +fj(Δtn) …(1) fj(Δtn):インデックスΔtnにおけるSijの値 fj(Δtn+1):インデックスΔtn+1におけるSij
値 図5は(1)式による内挿演算のしかたを説明するため
のグラフである。図5では除算値ti/Δtが小数部分
を含んだ値である場合について示している。求めようと
しているSijの値は、Δtn番目の無次元位置の値f
j(Δtn)とΔtn+1番目の無次元位置の値fj(Δt
n+1)との間にある。除算値ti/Δtの小数部分はti
/Δt−Δtnになる。無次元位置fj(Δtn)とf
j(Δtn+1)とのデータ番号は1番異なる。このことか
ら、fj(Δtn+1)−fj(Δtn)にti/Δt−Δtn
を乗じることにより、Sijとfj(Δtn)の差が求めら
れる。この差にfj(Δtn)を加えることにより無次元
位置Sijが求められる。 (A6)Sij×hj=sijにより実位置sijを求める。 (A7)カウンタ63のカウントjを1だけインクリメ
ントする。 (A8)カウンタ63のカウントjがNより大きいかど
うかを判断する。カウントjがN以下であればA4〜A
7の処理を繰り返し、Nを超えていれば処理A9へ進
む。これにより、選択したN個のカム曲線テーブルを用
いて実位置sijが求められる。A4〜A7の処理を繰り
返す毎に求められた実位置sijは、随時実位置記憶手段
62に保持される。 (A9)求めたN個の実位置sijを加算して加算値sTi
を求める。 sTiN j=1Σsij (A10)加算値sTiと前回の分周周期で求めた加算値
Ti-1の差sTi−sTi-1をとり、指令値を求める。 (A11)指令値sTi−sTi-1をパルス出力回路90に
出力する。 (A12)ti≧1になったらカム曲線指令部60の処
理を終了し、ならない場合は再びA1からの処理を繰返
す。 以上の手順でモータの回転位置を制御する。
【0010】図6はカム曲線が合成される手順を示した
図である。図では3個のカム曲線を合成する例を示して
いる。図6において、B1,B2,B3はカム曲線メモ
リ50に格納された無次元のカム曲線、B4,B5,B
6はカム曲線B1,B2,B3を有次元化したカム曲線
である。カム曲線B5は実位置の値を負にして有次元化
している。B7はカム曲線B4,B5,B6を合成する
ことによって生成されたカム曲線である。無次元のカム
曲線を有次元化するときの実位置の値に応じて合成カム
曲線の傾斜が変わる。
【0011】図7は本発明の他の実施例を示した構成図
である。この実施例は主動軸制御をするモータの位置決
め制御システムの一例である。図7で前出した図と同一
のものは同一符号を付ける。図7において、110は主
動軸を駆動するモータ、120は従動軸を駆動するモー
タである。130は位置指令値の算出をはじめとしてシ
ステムの総合的な制御を行うCPU、140はCPU1
30の演算に必要なデータが格納されたRAMである。
150は光学式エンコーダ等を用いたエンコーダで、モ
ータ110の回転量に比例したパルス数のエンコーダパ
ルスP1を発生する。モータ110の1回転に対してエ
ンコーダパルスP1の発生パルス数は複数個である。1
60はエンコーダパルスP1のパルス数をカウントする
パルスカウンタである。複数のカム曲線テーブルを使用
して従動軸の駆動用モータ120の動作指令を行う場合
は、キーボード10からは、使用するカム曲線テーブル
の種類を指定するデータTYPEj、使用する各カム曲
線テーブルの無次元位置を有次元化するためのストロー
クデータhj、及び、パルスカウンタの最大カウント値
maxのデータが入力される。ここで、N j=1Σhjは1ブ
ロック動作における従動軸の全回転量になる。パルスカ
ウンタ160のカウントが0からCmaxになるまでの間
に1つのブロック動作が行われる。キーボード10の入
力データは制御データ用メモリ30に記憶される。17
0はモータ120の回転位置を検出するエンコーダであ
る。位置制御部100は、パルス出力回路90からの位
置指令パルスと、エンコーダ170からのパルスをもと
にモータ120の回転位置をフィードバック制御する。
【0012】図8は図7のシステムの要部構成図であ
る。図8において、131はCPU130内に設けられ
たカム曲線指令部である。カム曲線指令部131で、1
32は実位置算出手段で、インタプリタ40から使用す
るカム曲線テーブルの種類を指定するデータTYP
j、最大カウントCmax、及び、ストロークデータhj
が与えられる。また、パルスカウンタ140からカウン
トCiが与えられる。実位置算出手段131は、ti=C
i/Cmaxより走査データtiを求め、求めた走査データ
iに対応する無次元の位置データSijをデータTYP
jで指定されたカム曲線から求め、求めた位置データ
ijにストロークデータhjを乗じて実位置sijを求め
る。1つのブロック動作は複数の分配周期で分割されて
いる。133は実位置算出手段132が実位置sijを求
める毎に、求めた実位置sijを随時記憶していく実位置
記憶手段である。134はカウンタであり、カウントN
がセットされ、実位置算出手段132が実位置sijを求
める毎にカウントが変わり、セット値Nだけカウントが
変わったところで実位置記憶手段133に信号を与えて
記憶しておいたN個の実位置sijを取り出す。135は
加算手段で、実位置記憶手段133から取り出されたN
個の実位置s ijについてsTiN j=1Σsijなる加算を行
い、加算値sTiを求める。136は減算手段で、加算値
Tiを今回の分周周期で求めた加算値とし、この加算値
Tiと前回の分周周期で求めた加算値sTi-1の差sTi
Ti-1を求める。この差sTi−sTi-1が指令値となる。
指令値sTi−sTi-1はパルス出力回路90に与えられ、
パルス出力回路90は与えられた指令値に比例したパル
ス数の位置指令パルスを出力する。
【0013】このようなシステムの動作を説明する。図
9は図7のシステムの各信号のタイムチャートである。
図9において、(a)図のようにエンコーダパルスが発
生すると、パルスカウンタ160のカウント値Ci
(b)図に示すように増加していく。このカウント値C
iと最大カウント値Cmaxとから、CPU130は、分配
周期Tb毎に、(c)図に示すようなカム曲線テーブル
の走査データtiを算出する。この走査データtiをもと
にカム曲線テーブルから(d)図に示すような無次元の
位置データSijを読み出す。この位置データSijにスト
ロークデータhjを乗じることにより実位置sijを求め
る。選択したN個のカム曲線テーブルについて実位置s
ijを求め、求めたN個の実位置sijを加算して(e)図
に示すような加算値sTiを求める。この加算値sTiと前
回の分周周期で求めた加算値sTi-1の差をとり、(f)
図に示すような指令値sTi−sTi-1を求める。分配周期
毎に、指令値の算出処理を行う。
【0014】図10は図7及び図8のシステムにおける
指令値の算出手順を示したフローチャートである。図1
0に示す処理を分周周期毎に実行する。フローチャート
の各ステップに従って説明する。 (C1)パルスカウンタ160のカウントCiを入力す
る。 (C2)パルスカウンタ160がリセットされたかどう
かについて判断する。パルスカウンタ160は最大カウ
ント値Cmaxまでカウントするとリセットされる。この
ため、Ci≧Ci-1のときはリセットされていなくて、C
i<Ci-1のときはリセットされている。ここで、Ci-1
は前回の分周周期におけるパルスカウンタ160のカウ
ントである。リセットされていない場合は同一ブロック
内でブロック動作を行った場合で、リセットされている
場合は次のブロックへブロック動作が遷移した場合であ
る。
【0015】リセットされていない場合は以下の(C
4)〜(C10)の処理を行う。 (C3)ti=Ci/Cmaxより無次元時間(走査デー
タ)tiを求める。 (C4)カウンタ134のカウントを初期値j=1にす
る。 (C5)求めた無次元時間tiに対応する無次元位置S
ijをデータTYPEjで指定されたカム曲線テーブルか
ら求める。 (C6)無次元位置Sijにストロークデータhjを乗じ
ることにより実位置sijを算出する。 (C7)カウンタ134のカウントjを1だけインクリ
メントする。 (C8)カウントjがNより大きいかどうかを判断す
る。カウントjがN以下であれば処理C5へ戻って実位
置sijを算出する処理を繰り返し、Nを超えていれば処
理C9へ進む。これにより、選択したN個のカム曲線テ
ーブルを用いて実位置sijが求められる。求められた実
位置sijは、随時実位置記憶手段133に保持される。 (C9)求められたN個の実位置sijを加算して加算値
Tiを求める。 sTiN j=1Σsij (C10)加算値sTiと前回の分周周期で求めた加算値
Ti-1の差sTi−sTi-1をとり、指令値を求める。
【0016】リセットされている場合は以下の(C1
1)〜(C21)の処理により前ブロックでの残り回転
量も含めた指令値を算出する。 (C11)前ブロックでの残り回転量s0を算出する。
具体的な算出手順は後述する。 (C12)Cmaxを新しいブロック動作の値に更新す
る。 (C13)ti=Ci/Cmaxより無次元時間(走査デー
タ)tiを求める。 (C14)カウンタ134のカウントを初期値j=1に
する。 (C15)ストロークデータhjをを新しいブロック動
作の値に更新する。 (C16)求めた無次元時間tiに対応する無次元位置
ijをデータTYPEjで指定されたカム曲線テーブル
から求める。 (C17)無次元位置Sijにストロークデータhjを乗
じることにより実位置si jを算出する。 (C18)カウンタ134のカウントjを1だけインク
リメントする。 (C19)カウントjがNより大きいかどうかを判断す
る。カウントjがN以下であれば処理C15へ戻って実
位置sijを算出する処理を繰り返し、Nを超えていれば
処理C20へ進む。これにより、選択したN個のカム曲
線テーブルを用いて実位置sijが求められる。求められ
た実位置sijは、随時実位置記憶手段133に保持され
る。 (C20)求めたN個の実位置sijを加算して加算値s
Tiを求める。 sTiN j=1Σsij (C21)加算値sTiと前ブロックでの残り回転量s0
を加算して指令値sTi+s0を求める。
【0017】(C22)処理(C10)または(C2
1)の後、指令値をパルス出力回路90に出力する。
【0018】図11は図10の処理C11の具体的手順
を示したフローチャートである。フローチャートの各ス
テップに従って説明する。 (D1)カウンタ134のカウントを初期値j=1にす
る。 (D2)ストロークデータhjに1を乗じることにより
前ブロックにおける終了実位置sij′を算出する。 (D3)カウンタ134のカウントjを1だけインクリ
メントする。 (D4)カウントjがNより大きいかどうかを判断す
る。カウントjがN以下であれば処理D2へ戻って終了
実位置sij′を算出する処理を繰り返し、Nを超えてい
れば処理D5へ進む。これにより、選択したN個のカム
曲線テーブルを用いて終了実位置sij′が求められる。
求められた終了実位置sij′は、随時実位置記憶手段1
33に保持される。 (D5)求めたN個の終了実位置sij′を加算して加算
値sTi′を求める。 sTi′=N j=1Σsij′ (D6)加算値sTi′と、前回の分周周期で求めた加算
値sTi-1の差sTi′−s Ti-1をとり、前ブロックでの残
り回転量s0を求める。
【0019】図12は本発明の他の実施例の構成図であ
る。このシステムでは、モータ120、パルスカウンタ
160、パルス出力回路90、位置制御部100及びエ
ンコーダ170からなるユニットを2個設けている。各
ユニットでは、従動軸の駆動に応じた最大カウント値が
パルスカウンタにセットされ、駆動に応じたカム曲線テ
ーブルを用いて位置指令パルスが生成される。各カウン
タは共通のエンコーダパルスのパルス数をカウントす
る。このようなシステムでは、各パルスカウンタ160
の最大カウント値Cmaxをそれぞれ独立に設定すること
により、主動軸の動きに対し、各従動軸は、それぞれ独
立に追従する。なお、ユニット数は2個以外の複数であ
ってもよい。
【0020】
【発明の効果】本発明によれば、カム曲線メモリに格納
された複数種類の無次元カム曲線について、それぞれカ
ム曲線毎に独立に設定した有次元値で有次元化し、有次
元化したカム曲線を合成することにより位置指令値を求
めている。これによって、カム曲線メモリに最小種類の
無次元カム曲線を用意しておくだけで、カム曲線を多種
多様に変更してモータの回転位置をフィードバック制御
できる。また、変更をするにあたってカム曲線自体を再
生成する必要がないため、短時間で変更ができる。以上
説明したように本発明によれば、少ない種類のカム曲線
を用意するだけで短時間でカム曲線を多種多様に変更し
てモータの回転位置をフィードバック制御できるモータ
の位置決め制御システムを実現できる。
【図面の簡単な説明】
【図1】本発明の一実施例を示した構成図である。
【図2】図1の制御システムの動作説明図である。
【図3】図1の制御システムの動作説明図である。
【図4】図1の制御システムの動作説明図である。
【図5】図1の制御システムの動作説明図である。
【図6】図1の制御システムの動作説明図である。
【図7】本発明の他の実施例を示した構成図である。
【図8】図7の制御システムの要部構成図である。
【図9】図7の制御システムの動作説明図である。
【図10】図7の制御システムの動作説明図である。
【図11】図7の制御システムの動作説明図である。
【図12】本発明の他の実施例を示した構成図である。
【図13】カム曲線の一例を示した図である。
【符号の説明】
30 制御データ用メモリ 40 インタプリタ 50 カム曲線メモリ 501〜50n カム曲線テーブル 60,131 カム曲線指令部 61,132 実位置算出手段 62,133 実位置記憶手段 63,134 カウンタ 64,135 加算手段 70 モータ 80 エンコーダ 100 位置制御部 110 主動軸のモータ 120 従動軸の駆動用モータ 130 CPU 150,170 エンコーダ 160 パルスカウンタ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−83432(JP,A) 特開 昭61−188604(JP,A) 特開 平6−301423(JP,A) 実開 平4−52210(JP,U) (58)調査した分野(Int.Cl.7,DB名) G05B 19/4103 G05B 19/4093

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 モータの回転位置をフィードバック制御
    するモータの位置決め制御システムにおいて、 モータの回転位置と時間をそれぞれ無次元化した無次元
    位置と無次元時間のデータを対応させたカム曲線テーブ
    ルが複数種類記憶されたカム曲線メモリと、 モータの制御に必要なデータが書込まれた制御データ用
    メモリと、 この制御データ用メモリに書込まれたデータを逐次取出
    し、複数のカム曲線テーブルを使用してモータの動作指
    令を行う場合は、使用するカム曲線テーブルの種類を指
    定するデータTYPEj(ただし、j=1〜N,Nは2
    以上の整数)、使用する各カム曲線テーブルの無次元位
    置を有次元化するためのストロークデータhj(ただ
    し、N j=1Σhjは目標位置に達するまでのモータの全回
    転量)及び目標位置に達するまでのモータの全回転時間
    である移動時間tnを後述する実位置算出手段に与える
    インタプリタと、 このインタプリタから与えられたデータTYPEjによ
    り前記カム曲線メモリ中のカム曲線テーブルを選択し、
    現時点までにモータが回転した時間である移動実時間R
    ti(ただし、iは分周周期の周期番号)を分周周期毎に
    更新し、更新した移動実時間Rtiを前記移動時間tn
    割って無次元時間tiを求め、この無次元時間tiに対応
    する無次元位置Sijを前記選択したカム曲線テーブルを
    用いて求め、求めた無次元位置Sijにストロークhj
    乗じて実位置sijを求める実位置算出手段と、 この実位置算出手段が実位置sijを求める毎に、求めた
    実位置sijを随時記憶していく実位置記憶手段と、 カウントNがセットされ、前記実位置算出手段が実位置
    ijを求める毎にカウントが変わり、カウントがセット
    値Nだけ変わったところで前記実位置記憶手段に信号を
    与えて記憶しておいたN個の実位置sijを取り出すカウ
    ンタと、 実位置記憶手段から取り出されたN個の実位置sijにつ
    いてsTiN j=1Σsijなる加算を行う加算手段と、 この加算値sTiと前回の分周周期で求めた加算値sTi-1
    の差sTi−sTi-1を求める減算手段と、 この減算手段で求めた差sTi−sTi-1に応じた指令値で
    モータの回転位置をフィードバック制御する位置制御部
    と、を具備したことを特徴とするモータの位置決め制御
    システム。
  2. 【請求項2】 主動軸に追従して動く従動軸の駆動用モ
    ータの回転位置をフィードバック制御するモータの位置
    決め制御システムにおいて、 主動軸の回転量に比例した数のパルスを出力するエンコ
    ーダと、 このエンコーダの出力パルスの数をカウントする第1の
    カウンタと、 モータの回転位置と時間をそれぞれ無次元化した無次元
    位置と無次元時間のデータを対応させたカム曲線テーブ
    ルが複数種類記憶されたカム曲線メモリと、 モータの制御に必要なデータが書込まれた制御データ用
    メモリと、 この制御データ用メモリに書込まれたデータを逐次取出
    し、複数のカム曲線テーブルを使用して前記従動軸の駆
    動用モータの動作指令を行う場合は、使用するカム曲線
    テーブルの種類を指定するデータTYPEj、使用する
    各カム曲線テーブルの無次元位置を有次元化するための
    ストロークデータhj(ただし、N j=1Σhjは従動軸の駆
    動用モータの全回転量)及び前記第1のカウンタの最大
    カウント値Cmaxを後述する実位置算出手段に与えるイ
    ンタプリタと、 このインタプリタから与えられたデータTYPEjに応
    じて前記カム曲線メモリ中のカム曲線テーブルを選択
    し、分周周期毎に無次元時間tiをti=Ci/Cm ax(た
    だし、Ciはi番目の分周周期における第1のカウンタ
    のカウント)から求め、この無次元時間tiに対応する
    無次元位置Sijを前記選択したカム曲線テーブルを用い
    て求め、求めた無次元位置Sijにストロークhjを乗じ
    て実位置si jを求める実位置算出手段と、 この実位置算出手段が実位置sijを求める毎に、求めた
    実位置sijを随時記憶していく実位置記憶手段と、 カウントNがセットされ、前記実位置算出手段が実位置
    ijを求める毎にカウントが変わり、カウントがセット
    値Nだけ変わったところで前記実位置記憶手段に信号を
    与えて記憶しておいたN個の実位置sijを取り出すカウ
    ンタと、 実位置記憶手段から取り出されたN個の実位置sijにつ
    いてsTiN j=1Σsijなる加算を行う加算手段と、 この加算値sTiと前回の分周周期で求めた加算値sTi-1
    の差sTi−sTi-1を求める減算手段と、 この減算手段で求めた差sTi−sTi-1に応じた指令値で
    前記従動軸の駆動用モータの回転位置をフィードバック
    制御する位置制御部と、を具備したことを特徴とするモ
    ータの位置決め制御システム。
  3. 【請求項3】 前記従動軸は複数個設けられていて、各
    従動軸毎に前記従動軸の駆動用モータ、第1のカウンタ
    及び位置制御部が設けられていて、それぞれの第1のカ
    ウンタには前記エンコーダの出力パルスが共通に与えら
    れることを特徴とする請求項2記載のシステム。
JP7142961A 1995-06-09 1995-06-09 モータの位置決め制御システム Expired - Fee Related JP3057657B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7142961A JP3057657B2 (ja) 1995-06-09 1995-06-09 モータの位置決め制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7142961A JP3057657B2 (ja) 1995-06-09 1995-06-09 モータの位置決め制御システム

Publications (2)

Publication Number Publication Date
JPH08339218A JPH08339218A (ja) 1996-12-24
JP3057657B2 true JP3057657B2 (ja) 2000-07-04

Family

ID=15327692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7142961A Expired - Fee Related JP3057657B2 (ja) 1995-06-09 1995-06-09 モータの位置決め制御システム

Country Status (1)

Country Link
JP (1) JP3057657B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4576260B2 (ja) * 2005-02-21 2010-11-04 株式会社日立産機システム モータ制御装置
JP4584191B2 (ja) * 2006-06-14 2010-11-17 三菱電機株式会社 位置決め制御装置
JP4807475B1 (ja) 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
JP4973792B1 (ja) 2011-03-15 2012-07-11 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム

Also Published As

Publication number Publication date
JPH08339218A (ja) 1996-12-24

Similar Documents

Publication Publication Date Title
US4503507A (en) Robot control data processing apparatus
US5926389A (en) Computer control system for generating geometric designs
US4456863A (en) Apparatus for automatic calibration of servo response
JP2002023807A (ja) 最適かつ自動的に外乱を排除するフィードバック制御を実現するための方法及び装置
JP3057657B2 (ja) モータの位置決め制御システム
US5373439A (en) Method for controlling the traveling path of a robot during acceleration and deceleration
JPH01116704A (ja) 産業ロボットの動作制御方式
JPH08126375A (ja) 同期制御装置
KR20000057367A (ko) 동기제어장치
CN113325781B (zh) 一种变桨位置控制三阶运动控制方法及控制装置
US5159250A (en) Robot control method
JP2928294B2 (ja) 間引き学習制御装置
JPH078160B2 (ja) モータの制御装置
JP2541163B2 (ja) 周期的目標値に最適に追従する制御方式
JP3513989B2 (ja) 位置決め制御系の指令補間方法
KR100970539B1 (ko) 최적 지령 작성 장치
JPH05150825A (ja) ロボツトの制御装置
JP2002132854A (ja) 電子カム装置および電子カム装置におけるカムデータの作成方法
JP2524259Y2 (ja) 位置決め装置
JPH07120208B2 (ja) 軸の制御システム
JP2003162302A (ja) 予測制御方法
JPS60175113A (ja) 加減速方法
JP2993708B2 (ja) 工業用ロボット及びその軌道修正方法
JPH10174479A (ja) 同期制御装置
JPS60220408A (ja) 関節形ロボツト用制御装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees