JPH11110047A - モーションコントローラ - Google Patents

モーションコントローラ

Info

Publication number
JPH11110047A
JPH11110047A JP9289276A JP28927697A JPH11110047A JP H11110047 A JPH11110047 A JP H11110047A JP 9289276 A JP9289276 A JP 9289276A JP 28927697 A JP28927697 A JP 28927697A JP H11110047 A JPH11110047 A JP H11110047A
Authority
JP
Japan
Prior art keywords
movement command
cam
value
data
command 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.)
Pending
Application number
JP9289276A
Other languages
English (en)
Inventor
Hideaki Inoue
秀明 井上
Kentaro Fujibayashi
謙太郎 藤林
Yusaku Yamada
雄策 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP9289276A priority Critical patent/JPH11110047A/ja
Priority to EP98308126A priority patent/EP0908804A3/en
Priority to US09/168,436 priority patent/US6133705A/en
Publication of JPH11110047A publication Critical patent/JPH11110047A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4147Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using a programmable interface controller [PIC]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43174Simulating cam motion mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position Or Direction (AREA)
  • Numerical Control (AREA)

Abstract

(57)【要約】 【課題】 ハードウェアやアプリケーションの変更およ
び電子カムの動作自体の変更に際し、オペレータやプロ
グラマが容易に対処することのできるモーションコント
ローラを提供すること。 【解決手段】 規準となるカム線図F(θ)を構成する
移動指令データQiの数値列をCMOSメモリ4のデー
タテーブルに記憶させておく。又はカム回転角θに対応
するカムの変位位置を記憶しておき、カムの回転角量よ
りカムの回転角を求め該回転角よりカムの変位位置を求
めて移動指令データとする。リフト方向のシフト量K
a,ピッチ円方向のシフト量Kb,最大リフト量Kc,
ピッチ円方向の伸展または圧縮の目安となるデータ数n
を入力することにより、モーションコントローラ側の自
動処理で移動指令データの補正処理を行わせて最終的な
移動指令データPkを生成させ、位置指令として出力さ
せる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、モーションコント
ローラの改良、特に、電子カムとして機能するモーショ
ンコントローラの改良に関する。
【0002】
【従来の技術】出力すべき移動指令のデータ(バイナリ
データ)を予めモーションコントローラに時系列で記憶
させておき、前記移動指令の値を所定周期毎順番に出力
してサーボモータを駆動制御する電子カムを適用したモ
ーションコントローラが公知であり、自動機や工作機械
に高速な加減速動作を行わせる場合などに利用されてい
る。
【0003】従来のモーションコントローラにおいて
は、記憶手段に記憶された移動指令のデータ列に沿って
時系列にサーボモータが駆動制御されるだけであり、ハ
ードウェアやアプリケーションに変更が生じた場合、ま
たは、電子カムの動作自体を変更したい場合には、オペ
レータやプログラマがその動作に見合った移動指令デー
タの数値列を作成し直して記憶手段に再入力する以外に
なく、ハードウェアやアプリケーションの変更または動
作の変更に際しては、非常に面倒なデータの更新作業が
要求されていた。
【0004】
【発明が解決しようとする課題】本発明の課題は、オペ
レータやプログラマが面倒なデータの更新作業を行わな
くても、ハードウェアやアプリケーションの変更、およ
び、電子カムの動作自体の変更に簡単に対処することの
できるモーションコントローラを提供することにある。
【0005】
【課題を解決するための手段】本発明のモーションコン
トローラは、規準となるカム線図を構成する移動指令デ
ータの数値列を時系列で記憶する記憶手段と、ハードウ
ェアやアプリケーションの変更またはカム動作の変更に
応じて前記記憶手段に記憶された移動指令データに補正
を行って新たな移動指令データを生成する自動補正手段
とを備えたことを特徴とする構成により前記課題を達成
した。
【0006】規準となる移動指令データの数値の各々に
定数を加減して自動補正を行うことにより、規準となる
移動指令データによって形成されるカム線図をリフト方
向にシフトさせる。
【0007】規準となる移動指令データの数値の各々を
時間軸に沿ってシフトさせて自動補正を行うことによ
り、規準となる移動指令データによって形成されるカム
線図をピッチ円方向にシフトさせる。
【0008】規準となる移動指令データの数値の各々に
定数を乗じて自動補正を行うことにより、規準となる移
動指令データによって形成されるカム線図のリフトを変
化させる。
【0009】規準となる移動指令データの時間軸を伸展
または圧縮し、時間軸を伸展または圧縮した移動指令デ
ータの数値列から実際の移動指令の出力周期に対応する
移動指令データを抽出して移動指令データの数値列を再
生成する自動補正を行うことにより、規準となる移動指
令データによって形成されるカム線図をピッチ円方向に
伸展または圧縮する。
【0010】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。図1は本発明を適用した一実施形態
のモーションコントローラと該モーションコントローラ
によって駆動制御される自動機等の要部を示すブロック
図である。
【0011】プロセッサ1はモーションコントローラを
全体的に制御するプロセッサであり、バス2を介してR
OM3に格納されたシステムプログラムを読み出し、こ
のシステムプログラムに従って、モーションコントロー
ラを全体的に制御する。RAM5には一時的な計算デー
タ等が格納される。CMOSメモリ4は図示しないバッ
テリでバックアップされ、モーションコントローラの電
源がオフにされても記憶状態が保持される不揮発性メモ
リとして構成されている。
【0012】インターフェイス8は外部機器用のインタ
ーフェイスであり、図1の例においては自動機等の作業
対象となる物品の位置を検出するためのセンサ9が接続
され、電子カムの動作は、該センサ9からの信号を受け
て開始されるようになっている。
【0013】MDI6はモーションコントローラとオペ
レータまたはプログラマとの間のマン・マシン・インタ
ーフェイスを構成する手動データ入力装置である。
【0014】軸制御回路7はプロセッサ1からの移動指
令を受け、その指令をサーボアンプAに出力し、サーボ
アンプAはこの指令を受けてサーボモータMを駆動す
る。無論、様々な動作を組み合わせて行う自動機等にお
いては、軸制御回路7,サーボアンプA,サーボモータ
Mの組が複数存在するが、ここでは1軸分に関してのみ
記載し、他を省略している。
【0015】サーボモータMには位置および速度検出用
のパルスコーダが内蔵されており、このパルスコーダか
らのフィードバック信号が軸制御回路7にフィードバッ
クされる。軸制御回路7に内蔵されたサーボ制御CPU
はこのフィードバック信号と前述の移動指令とに基いて
位置ループ、速度ループ、電流ループの各処理を行い、
最終的な駆動制御のためのトルク指令を求めてサーボモ
ータMの位置、速度を制御する。
【0016】更に、サーボモータMに対して高速なカム
動作や短い移動指令が連続する動作等を行わせる必要が
ある場合には、前処理を必要とする通常の移動指令の分
配処理(パルス分配処理)を実施する代わりに、カム線
図としてカムの回転角(位相)に対する移動位置データ
をCMOSメモリ4に設定記憶させておき、該カム線図
データより分配周期毎出力されるインクリメンタルの移
動指令データを求めて出力するようにする。
【0017】規準となるカム線図を構成する位置データ
の数値列の一例を図2(a)に示す。横軸は時間t又は
回転角(位相)θ、また、縦軸は、各回転角におけるリ
フト量に相当する位置の値である。
【0018】カム曲線はF(t)は1周するのにTr時
間かかるものとする。また、このカム曲線F(t)に対
して、移動指令の分配周期T毎に移動指令を出力するも
のとすると、分配周期毎出力されるインクリメンタルの
移動指令データの値Q0,Q1,Q2,・・・,Qi・
・・,Qmは、次の計算によって算出される。ただしm
+1=Tr/Tである。
【0019】Q0=F((T/Tr)×1)−F(0) Qi=F((T/Tr)×(i+1))−F(360°×(T/T
r)×i) Qm=F(0)−F((T/Tr)×m) これを縦軸に分配周期当たりの移動指令データの値Q
(d)、横軸にデータ数(分配周期数)dとして表した
ものが図2(b)である。
【0020】Q0はθ=0°および経過時間t=0に相
当する移動指令データの値であり、また、Qmはθ=3
60°および経過時間t=m・Tに相当する移動指令デ
ータの値である。
【0021】カム線図データのアドレスを特定する指標
iの値は移動指令の出力周期T毎に1ずつインクリメン
トされ、この指標iの値に基いて該周期毎にカム曲線F
(t),F(θ)データから上記計算を行い、インクリ
メンタルの移動指令データQ0〜Qmの値を求め、この
値を移動指令として軸制御回路7に出力することによ
り、サーボモータMを用いたカム動作が達成される。も
しくは、予めインクリメンタルの移動指令データQ0〜
Qmの値を求め、移動指令のデータのデータテーブルと
してCMOSメモリ4に格納しておき、移動指令の分配
周期毎にこのデータQ0〜Qmを順次読み取って出力す
るようにしてもよい。以下、このインクレメンタルの移
動指令データQ0〜Qmを記憶するデータテーブルが予
め作成されているものとする。この実施形態では、移動
指令の分配周期T毎の移動指令データQ0〜Qmによっ
て制御されることから、以下カム曲線は時間の関数とし
てF(t)として表す。
【0022】その最も簡単なこのカムの応用例は、サー
ボモータMのロータ軸にピニオンを実装し、このピニオ
ンによってラック付きのロッドを直動させる自動機であ
る。ロッドの先端でコンベア等で送られてくる物品を押
してマガジン等に詰めるようにすれば自動装填機として
利用できるし、ロッドの先端にスタンプを装着すれば自
動捺印機として利用できる。また、ロッドの先端に液体
注入用のノズルを取り付ければ、瓶に清涼飲料水等を注
入する自動機ともなる。
【0023】また、カムの中心位置(カムのストローク
中心位置)をシフトさせるような場合には、図3(a)
に示すように、規準となるカム線図F(t)をカムのリ
フト方向にシフトさせてカム線図Fa(t)となる。こ
の場合、インクリメンタルの移動指令のデータ線図Qa
(d)は、図3(b)となり、図2(b)に示したデー
タ線図Q(d)と変わりはないが、この場合には、シフ
ト量に応じた移動指令の値Kaを設定してCMOSメモ
リ4に記憶させておき、データテーブルから最初に移動
指令データQ0の値を読み込んだ段階でQ0←Q0+K
aの処理を実施し、この処理で求めた新たなQ0の値を
移動指令として軸制御回路7に出力するようにし、以後
は、データテーブルから読み出される移動指令データを
出力すればよい。無論、Kaをマイナスの値でセットす
れば逆方向へのシフトを行うことができる。
【0024】カム線図F(t)をカムのリフト方向にシ
フトする必要が生じるのは、カムに接続する機構の長
さ、つまり、前述の例ではラック付きのロッドの長さを
変更したような場合である(ハードウェアの変更の一
例)。
【0025】また、図4(a)に示すように、規準とな
るカム線図F(t)をカムのピッチ円方向にシフトさせ
てFb(t)とする場合には、Qiを読み込むための指
標iの初期値をシフト量相当分だけ補正すればよい。
【0026】つまり、規準となるカム線図F(t)をピ
ッチ円の正方向にシフトする場合には、指標iの初期値
0を〔−(Kb/T)〕を整数化した値に補正する。デ
ータテーブルには〔−(Kb/T)〕から〔−1〕に相
当するアドレスはないので、この間の位置指令の出力は
0となり、結果的に図4(b)に示すようなデータ線図
Fb(d)が得られる。
【0027】また、指標iの初期値を補正する代わり
に、センサ9が作動してからの経過時間をタイマで測定
し、Kbに相当する時間が経過した時点でデータテーブ
ルの先頭からQiを順次読み込んで出力するようにして
もよい。
【0028】これとは逆に、規準となるカム線図F
(t)をピッチ円の負の方向にシフトする場合には、指
標iの初期値0を〔Kb/T〕を整数化した値に補正す
ればよい。
【0029】また、データテーブルの更新処理を先に実
施しておき、更新後のデータテーブルからQiの値を読
み込んで移動指令の出力周期T毎に軸制御回路7に出力
するようにすることも可能である。
【0030】例えば、図4(a),(b)に示すよう
に、規準となるカム線図F(t)をカムのピッチ円の正
方向にKbだけシフトさせる場合には、データテーブル
のアドレス〔m+(Kb/T)〕を整数化した位置にQ
mのデータを書き込み、また、データテーブルのアドレ
ス〔Kb/T〕を整数化した位置にQ0のデータを書き
込んで、データテーブルのアドレス
〔0〕から〔(Kb
/T)−1〕までの区間の移動指令データの値を0で補
間する。当然、データテーブルのアドレス〔i+(Kb
/T)〕の位置にはQiのデータが書き込まれることに
なる。
【0031】一方、規準となるカム線図F(t)をピッ
チ円の負の方向にKbだけシフトさせる場合には、デー
タテーブルのアドレス
〔0〕の位置にQ(Kb/T)の
データを書き込み、また、データテーブルのアドレス
〔m−(Kb/T)〕の位置にQmのデータを書き込ん
で、データテーブルのアドレス〔m−(Kb/T)〕か
ら〔m〕までの区間の移動指令データの値を0で補間す
る。当然、データテーブルのアドレス〔i−(Kb/
T)〕の位置にはQiのデータが書き込まれることにな
る。
【0032】更新されたデータテーブルを元に移動指令
の出力周期T毎に指標iの値を更新してQiを出力する
ことにより、指標iの初期値に補正を加えた場合と同様
の動作が達成される。
【0033】カム線図F(t)をカムのピッチ円方向に
シフトする必要が生じるのは、ベルトコンベアで搬送さ
れる物品に対し、搬送方向と直交する向きから捺印処理
を行うような自動捺印機において、その捺印位置を変更
するような場合である(アプリケーションの変更の一
例)。この場合、ベルトコンベアによる搬送と捺印処理
が協調動作として実施されるので、例えば、センサ9の
位置を変えずに、図4に示す例のように電子カムの動作
開始タイミングを遅らせることによって、捺印位置を物
品の搬送方向の後ろ側にずらすことができる。
【0034】また、図5(a)に示すように、規準とな
るカム線図F(t)のリフト量を変化させてカムの動作
領域を伸展または圧縮してFc(t)とする場合には、
規準となるカム線図F(t)の最大リフト量fと所望す
る最大リフト量KcをCMOSメモリ4に設定して記憶
させておき、データテーブルから移動指令データQiの
値を読み込んだ段階でQi←Qi×(Kc/f)の処理
を実施し、この処理で新たに求めたQiの値を移動指令
として軸制御回路7に出力するようにする。この時の移
動指令のデータ線図は図5(b)となる。
【0035】無論、データテーブルに記憶された移動指
令データQiの各々に予め(Kc/f)を乗じてデータ
テーブルを更新しておき、指標iの値をインクリメント
しながら、更新後のデータテーブルからQiの値を読み
込んで移動指令の出力周期T毎に軸制御回路7に出力す
るようにしても構わない。Kcをマイナスの値でセット
すればリフトの方向を反転することも可能である。
【0036】カム線図F(t)のリフト量(ストロー
ク)を変化させる必要が生じるのは、ノズルを上下動さ
せて清涼飲料水を瓶に注入するような自動機において、
作業対象となる瓶の高さを変更したような場合である
(電子カムの動作自体の変更の一例)。
【0037】次に、カム線図F(t)をカムのピッチ円
方向に伸展または圧縮する場合の処理について説明す
る。
【0038】カム線図F(t)をピッチ円方向に伸展す
るにせよ圧縮するにせよ、理論的には、移動指令データ
Qiを出力する移動指令の出力周期Tを延ばすか、また
は、縮めるだけでよい。しかし、実際には、移動指令の
出力周期Tはモーションコントローラに固有の値であっ
て、これを容易に変更することはできない。従って、移
動指令の出力周期Tの値を変えずにカム線図F(t)を
カムのピッチ円方向に伸展または圧縮する必要がある。
【0039】まず、図6に示すようにカム線図F(t)
をピッチ円方向に伸展してカム線図Fd(t)、圧縮し
てカム線図Fe(t)とするときの処理についてに説明
する。なお、最初にデータテーブルに記憶されていた移
動指令データの値をQi(i=0〜m)、そのデータ数
をm(実際にはm+1)、最終的に出力すべき移動指令
データの値をPk(k=0〜n)、そのデータ数をn
(実際にはn+1)、移動指令の出力周期をTとする。
【0040】つまり、伸展、圧縮の割合は〔n/m〕で
あり、データ数nの値を指定することによってこの割合
を決める。言い換えればn=(m・A)/100であ
り、例えば、伸展率Aを200パーセントに設定すれ
ば、nの値は2・mとなる。
【0041】インクリメンタル量の移動指令データ線図
は図6(b)のQd(d)、Qe(d)となる。
【0042】図6(b)に示すように、インクリメンタ
ル量の移動指令の場合には、それまでに出力された移動
指令の積算値が各時点におけるカムのリフト量となるの
で、伸展または圧縮において、基準となるカム線図に対
応する各時点のカムのリフト量を基準となるカム線図の
各時点のカムのリフト量に等しくするためには、それま
でに出力された移動指令の積算値が対応する各時点にお
いて等しくならなければならない。
【0043】つまり、データ数mの基準となるデータ線
図Q(θ)の全面積と、データ数をnに殖やして伸展し
たデータ線図Qd(d)の全面積と、データ数をnに減
らして圧縮したデータ線図Qe(d)の全面積とを等し
くする必要がある。
【0044】そこで、プロセッサ1は、これらの関係
と、元の移動指令データQiを記憶したデータテーブル
と、元の移動指令のデータ数m、および、伸展または圧
縮の量を規定する出力データ数nの値を利用して図7に
示すような処理を行う。
【0045】プロセッサ1は、まず、元の移動指令デー
タQiを読み込むための指標i,実際に出力すべき移動
指令データPkを出力専用データテーブルに登録する際
に必要とされる指標k,読み出しデータ切り替え判定値
記憶レジスタr,余りパルス記憶レジスタsの各値を0
に初期化し(ステップT1)、出力パルス記憶レジスタ
Sに余りパルス記憶レジスタsの値を代入すると共に、
読み出しデータ切り替え判定値記憶レジスタaに元の移
動指令のデータ数mの値を代入する(ステップT2)。
【0046】従って、出力パルス記憶レジスタSの初期
値は0、また、読み出しデータ切り替え判定値記憶レジ
スタaの初期値は元の移動指令のデータ数mである。
【0047】次いで、プロセッサ1は、読み出しデータ
切り替え判定値記憶レジスタaの値mと読み出しデータ
切り替え判定値記憶レジスタrとの大小関係を判別する
(ステップT3)。この段階ではレジスタaに元の移動
指令のデータ数mの値が保持され、レジスタrには伸展
または圧縮の量を特定する出力データ数nの値が保持さ
れているので、a<r要するにm<nの伸展であれば判
別結果は偽、また、m≧n要するにa≧rの圧縮であれ
ば判別結果は真となる。
【0048】まず、m<nの伸展の場合、つまり、本処
理の開始後、最初に実行されるステップT3の判別結果
が偽となる場合の処理について説明する。
【0049】プロセッサ1は、まず、元の移動指令デー
タQiにレジスタaの値mを乗じた値を出力パルス記憶
レジスタSの現在値に加算し、判定値記憶レジスタrの
現在値からレジスタaの値mを減じて判定値記憶レジス
タrの値を更新する(ステップT10)。
【0050】次いで、プロセッサ1は、伸展の量を特定
する出力データ数nで出力パルス記憶レジスタSの現在
値を除し、その整数部を採って実際に出力すべき移動指
令データPkを求めて出力専用データテーブルに登録す
ると共に、余りの整数値を余りパルス記憶レジスタsに
代入して、指標kの値を1インクリメントする(ステッ
プT8)。
【0051】つまり、伸展の場合においては理論上の出
力周期に比べて実際の出力周期の方が短いため、少なく
とも、第1回目の実際の出力周期においてP0を求める
に際しては、その時間内に含まれる最初の移動指令元デ
ータQ0にのみ基いてP0=Q0×m/nをそのまま実
行すればよく、この処理をステップT10のS=S+Q
i×aとステップT8のPk=S/nとに分割して行っ
ている。
【0052】要するに、第1回目の処理周期において
は、ステップT10のS=S+Qi×aにおいてSの初
期値が0、また、i=0でa=mであるから、この式は
実質的にS=Q0×mと同一である。これをステップT
8のPk=S/nに代入すれば、この段階でk=0であ
るから、結果的に、P0=Q0×m/nとなり、乗数と
なるm/nによって対応時点におけるカムの移動量、つ
まり、前述した面積比が維持される。
【0053】多くの場合、S/nの値は少数部を含む実
数値となるが、移動指令となるパルスを最小出力単位で
ある1パルスよりも小さく分割することはできないの
で、S/nの余りの整数値を余りパルス記憶レジスタs
に保存して、次周期以降の出力周期に出力すべき移動指
令として持ち越すようにする。無論、S/nの演算式に
において余りが生じない場合はs=0である。
【0054】次に、プロセッサ1は、指標kの値が伸展
の量を規定する出力データ数nに達しているか否か、つ
まり、伸展に必要とされる移動指令データPkの全てが
生成されているか否かを判別し(ステップT9)、指標
kの値が出力データ数nに達していなければ、次の移動
指令データPkを生成するために、再びステップT2に
移行して次周期の処理を開始する。
【0055】ステップT2に移行したプロセッサ1は、
まず、出力パルス記憶レジスタSに余りパルス記憶レジ
スタsの値、つまり、出力すべき移動指令として持ち越
されたパルス数の値を初期値として代入し、読み出しデ
ータ切り替え判定値記憶レジスタaに元の移動指令のデ
ータ数mの値を代入する。
【0056】次いで、プロセッサ1は、読み出しデータ
切り替え判定値記憶レジスタaの値mと前周期のステッ
プT10の処理で更新された読み出しデータ切り替え判
定値記憶レジスタrとの大小関係を判別する(ステップ
T3)。
【0057】もし、m<rであれば、Pkの生成回数
(本処理の繰り返し回数)に実際の出力周期を乗じた時
間が図7および図8に関連して説明した理論上の出力周
期を越えていないことを意味するので、前周期で用いた
元の移動指令データQi(指標iの値は前周期で更新さ
れていない)と同じ元データを使用して次の移動指令P
k(指標kの値は前周期のステップT8の処理で更新さ
れている)を生成する必要がある。つまり、実際の出力
周期の繰り返しが理論上の出力周期に到達し、次の移動
指令元データの適用が必要となるまでの間は、同じ移動
指令元データに基いて実際の移動指令Pkの生成を繰り
返すということである。
【0058】よって、ステップT3の判別結果が偽とな
った場合、プロセッサ1は、前記と同様にしてステップ
T10,ステップT8,ステップT9の処理を繰り返し
実行し、判定値記憶レジスタrの値から実際の出力周期
1周期分に相当する値a=mを減じて判定値記憶レジス
タrの値を更新して理論上の出力周期の余り時間に相当
する値r値を求めると共に(ステップT10におけるr
=r−aの式)、前周期と同じ移動指令データQiを使
用して次の移動指令Pkを生成して出力専用データファ
イルに登録し(ステップT10におけるS=S+Qi×
rおよびステップT8におけるPk=S/nの式)、S
/nにおける除算式において再び余りが生じれば、この
値を余りパルス記憶レジスタsに代入して(ステップT
8におけるs=余りの式)、指標kの値を更新すること
になる(ステップT8におけるk=k+1の式)。
【0059】無論、第2回目以降におけるステップT1
0の処理では、前周期から持ち越された余りパルスsの
値がS=S+Qi×rの演算式により当該処理周期以降
で出力すべき移動指令パルス数として加算される。
【0060】以下、ステップT3の判別結果が真となる
までの間、ステップT2,ステップT3,ステップT1
0,ステップT8,ステップT9の処理が繰り返し実行
される。
【0061】このような処理を繰り返す間に、Pkの生
成回数(本処理の繰り返し回数)に実際の出力周期を乗
じた時間が理論上の出力周期に近付き、理論上の出力周
期の余り時間に相当する値rが実際の出力周期に相当す
る値m以下になると、m≧rの条件が成立してステップ
T3の判別結果が真となる。
【0062】この判別結果は、次の移動指令データQi
を元データテーブルから読み込んで次の移動指令Pkを
生成する必要があるということを意味する。
【0063】よって、ステップT3の判別結果が真とな
った場合、プロセッサ1は、まず、移動指令Pk生成の
ためにこれまで使用してきた元の移動指令データQi
(指標iの値は前周期で更新されていない)の値に判定
値記憶レジスタrの現在値を乗じ、更に、その値に出力
パルス記憶レジスタSの現在値、つまり、出力すべき移
動指令として前周期から持ち越されたパルス数の値sを
加算して、出力パルス記憶レジスタSの値を更新する
(ステップT4におけるS=S+Qi×rの式)。
【0064】つまり、実際には、ステップT3の判別結
果が真となった段階で、前周期のステップT10で更新
された判定値記憶レジスタrの現在値に相当する時間、
要するに、前述した実際の出力周期1周期分以内の時間
を残したまま、強制的に次の移動指令元データに基く処
理が開始されてしまうことになるので、まず、この段階
で、これまで使用してきた移動指令元データQi(指標
iの値は前周期で更新されていない)に基いて、未出力
となっている移動量の不足分に相当するパルス数をQi
×rの演算式によって求め、これを本処理周期以降に出
力すべき移動指令パルスとして持ち越すのである。実際
には、出力すべき移動指令として前周期から持ち越され
たパルス数の値sがこれとは別に存在するので、最終的
には、本処理周期以降に出力すべき移動指令パルスとし
て持ち越すべきパルス数の総和は、ステップT4に示す
通り、S=S+Qi×rとなる。いうまでもなく、ステ
ップT4のS=S+Qi×rにおける右辺のSの値は、
前周期で算出された余りパルス数sの値である。
【0065】また、プロセッサ1は、本処理周期におい
て次の移動指令元データQiをデータテーブルから読み
込むための前処理として、この段階で指標iの値を1イ
ンクリメントする(ステップT4におけるi=i+1の
式)。
【0066】しかし、本処理周期以降において出力され
る移動指令には、既に、前述した持ち越し分の移動量が
含まれているので、前述した余り時間r、要するに、前
回分の理論上の処理周期と今回分の理論上の処理周期と
の重複部分となる時間rの分だけ、今回分の理論上の処
理周期において、次に読み込まれる移動指令元データに
対応して出力すべき移動量を削減する必要がある。つま
り、前述したステップT10の場合とは相違し、次に読
み込まれる移動指令元データに乗じるべき値、要する
に、移動指令元データに対応する移動量となる面積を求
めるときに必要とされる時間軸の長さは、実際の出力周
期1周期分に相当する値mではなく、それよりも小さな
値、m−rとなる。そこで、プロセッサ1は、判定値記
憶レジスタaの現在値mから前述のrの値を減じ、乗数
となる判定値記憶レジスタaの値をm−rに変更する
(ステップT4におけるa=a−rの式)。
【0067】次いで、プロセッサ1は判定値記憶レジス
タaの現在値と規定値nとの大小関係を比較するが(ス
テップT5)、こと伸展の場合に限っては、m<n,0
≦r<mであるから、ステップT4におけるa=a−r
の式の最大値はa=m−0=mであり、この値がnを越
えることは決してない。
【0068】従って、ステップT5の判別結果は必然的
に偽となり、プロセッサ1は、ステップT4の処理で更
新された指標iの値に基いて元のデータテーブルから読
み込んだ次の移動指令元データQiの値にステップT4
の処理で更新した切り替え判定値記憶レジスタaの値を
乗じ、重複する前述の時間rの分を差し引いた移動指令
に対応する移動量Qi×aを求め、更に、この値にステ
ップT4で算出した前述の持ち越し分の移動量Sを加算
して、出力パルス記憶レジスタSの値を更新する(ステ
ップT7におけるS=S+Qi×aの式)。
【0069】また、ステップT4の処理で更新された指
標iの値に基いて新たに適用された移動指令元データQ
iによって実際の移動指令Pkを算出する回数を後述の
ステップT3の処理で判定するための前処理として、ス
テップT4で求められた重複分の時間である判定値記憶
レジスタaの値を規定値nの値から減じ、理論上の処理
周期から実質的な当該処理周期の対応時間を減じた残り
時間を求め、理論上の当該処理周期の残り時間を記憶す
る切り替え判定値記憶レジスタrに更新して記憶する。
(ステップT7におけるr=n−aの式)。
【0070】次いで、プロセッサ1は、伸展の量を特定
する規定値nで出力パルス記憶レジスタSの現在値を除
し、その整数部を採って実際に出力すべき移動指令デー
タPkを求めて出力専用データテーブルに登録すると共
に、余りの整数値を余りパルス記憶レジスタsに代入し
て、指標kの値を1インクリメントする(ステップT
8)。
【0071】当然、ここで生成される移動指令データP
kには前周期から持ち越された移動量を分割した移動指
令分が含まれている。
【0072】そして、プロセッサ1は、指標kの値が伸
展の量を特定する出力データ数nに達しているか否か、
つまり、伸展に必要とされる移動指令データPkの全て
が生成されているか否かを判別し(ステップT9)、指
標kの値が出力データ数nに達していなければ、再びス
テップT2の処理に移行し、出力パルス記憶レジスタS
に余りパルス記憶レジスタsの値を代入すると共に、読
み出しデータ切り替え判定値記憶レジスタaに規定値m
の値を設定して、次の周期の処理を開始する。
【0073】以下、プロセッサ1は、ステップT3にお
ける判定値記憶レジスタaと判定値記憶レジスタrとの
大小関係の判別結果に応じ、a<rであって実際の出力
周期の繰り返し回数が理論上の出力周期を越えていない
場合、つまり、前周期と同じ元データQiを使用して実
際に出力すべき移動指令Pkを生成する必要がある場合
にはステップT10,ステップT8,ステップT9の処
理を、また、a≧rであって実際の出力周期の繰り返し
回数が理論上の出力周期を越えている場合、つまり、次
の元データQiを読み込んで実際に出力すべき移動指令
Pkを生成する必要が生じた場合にはステップT4,ス
テップT5,ステップT7,ステップT8,ステップT
9の処理を前記と同様にして繰り返し実行する。
【0074】最終的に、ステップT9の判別結果が偽と
なった段階で、伸展に必要とされる移動指令データPk
の全ての生成が完了することになる。
【0075】一例として、10個(m=10)の元デー
タQ0=5,Q1=3,Q2=0,Q3=−3,Q4=
−5,Q5=−5,Q6=−3,Q7=0,Q8=3,
Q9=5のデータを有するデータ線図Qd(d)を図7
の処理に従ってデータ数n=12に伸展した場合の演算
結果を図8に示す。
【0076】Pkの演算結果はP0=4,P1=3,P
2=1,P3=−1,P4=−3,P5=−4,P6=
−5,P7=−2,P8=−1,P9=1,P10=
3,P11=4となる。すなわち、10個の元データで
構成される元データ線図Q(d)は、最初にQ0+Q1
+Q2=8移動し、次にQ3+Q4+Q5+Q6=−1
6移動し、最後にQ7+Q8+Q9=8移動することに
なる。これに対して、n=12の12個のデータに伸展
される移動は、P0+P1+P2=8、P3+P4+P
5+P6+P7+P8=−16、P9+P10+P11
=8となり、±の移動量は同一となる。
【0077】次に、m≧nの圧縮の場合、つまり、最初
に実行されるステップT3の判別結果がa≧rの圧縮と
なる場合の処理について説明する。
【0078】圧縮の場合においては理論上の出力周期に
比べて実際の出力周期の方が長い。従って、実際の出力
周期1周期の間に理論上の出力周期1周期分の移動量を
出力するだけでは実際に出力される移動量が不足するこ
とになるので、予め、最初の実出力周期の間に含まれる
に移動指令元データに対応して出力すべき移動量の値
を、複数の移動指令元データに基いて求めておく必要が
ある。
【0079】そこで、プロセッサ1は、まず、最初の移
動指令元データに対応して最初の実際の処理周期の間に
出力すべき移動量を、初期値0の指標iの値に従ってス
テップT4におけるS=S+Qi×rの式で求め、出力
パルス記憶レジスタSの値を更新する。なお、最初の段
階ではS=S+Qi×rの式における右辺のSの値は
0、また、i=0,r=n(理論上の処理周期に相当す
る値)であるから、結局のところ、S=Q0×nとなっ
て、最初の実際の出力周期の間に出力すべき移動量のう
ち元データQ0に対応する部分の値のみが求められるこ
とになる(ステップT4におけるS=S+Qi×rの
式)。
【0080】また、プロセッサ1は、本処理周期におい
て次の移動指令元データQiをデータテーブルから読み
込むための前処理として、この段階で指標iの値を1イ
ンクリメントする(ステップT4におけるi=i+1の
式)。
【0081】更に、この処理周期において何番目の移動
指令元データまでの移動量を積算して実際の1処理周期
の間に出力すべきかを判定する必要があるため、その判
定基準となる判定値記憶レジスタaの現在値m(実際の
出力周期に相当する値)から判定値記憶レジスタrの現
在値n(理論上の出力周期に相当する値)を減じて実際
の出力周期の余り時間に相当する値aを求め、その値を
判定値記憶レジスタaに更新して記憶させる(ステップ
T4におけるa=a−rの式)。
【0082】なお、ここでいう実際の出力周期に相当す
る値mとは本質的には(1/n)×m・nの値であり、
また、理論上の出力周期に相当する値nとは(1/m)
×m・nの値であって、当然、(1/n)×m・n=m
の実際の出力周期の方が(1/m)×m・n=nの理論
上の出力周期よりも長い。
【0083】次いで、プロセッサ1は、判定値記憶レジ
スタaの現在値と規定値nとの大小関係を比較する(ス
テップT5)。
【0084】実際の出力周期の余り時間を記憶する判定
値記憶レジスタaの値の方が理論上の出力周期に相当す
る値nよりも大きければ、実際の出力周期の間に加算し
て纏めて出力すべき次の移動指令元データがあることを
意味するので、プロセッサ1は、ステップT4の処理で
更新された指標iの値に基いて次の移動指令元データQ
iを読み込んでQi×nの演算式を実行し、次の移動指
令元データQiに対応する移動量を求め、この値を出力
パルス記憶レジスタSの現在値に積算する(ステップT
6におけるS=S+Qi×nの式)。
【0085】また、本処理周期において必要が生じた場
合に、更にその次の移動指令元データQiをデータテー
ブルから読み込むための前処理として、この段階で指標
iの値を1インクリメントしておく(ステップT6にお
けるi=i+1の式)。
【0086】更に、この処理周期において繰り返し実行
される可能性のあるステップT5の判別処理において更
にその次の移動指令元データの移動量を積算するか否か
を判定する必要があるので、プロセッサ1は、その判定
基準となる判定値記憶レジスタaの現在値から規定値n
(理論上の出力周期に相当する値)を減じて実際の出力
周期の余り時間に相当する値aを求め、その値を判定値
記憶レジスタaに更新して記憶する(ステップT6にお
けるa=a−nの式)。
【0087】以下、プロセッサ1は、実際の出力周期の
余り時間に相当する値を記憶する判定値記憶レジスタa
の値の方が理論上の出力周期に相当する値nよりも小さ
くなるまでの間、ステップT5,ステップT6の処理を
前記と同様に繰り返し実行し、更新された指標iの値に
基いて次の移動指令元データQiを読み込んで、その指
令に相当する移動量をQi×nの式に基いて算出し、こ
の実際の1出力周期の間に出力すべき移動量の値として
出力パルス記憶レジスタSに積算して行く。
【0088】従って、ステップT5の判別結果が偽とな
って実際の出力周期の余り時間aの値の方が理論上の出
力周期に相当する値nよりも小さくなった段階では、少
なくとも、実際の1出力周期の時間内に完全に含まれる
移動指令元データに対応する移動量に関して、出力パル
ス記憶レジスタSに全て積算して求めれる。
【0089】しかし、実際には、前述の余り時間aを残
してステップT5,ステップT6の繰り返し処理、また
は、ステップT4の処理(ステップT5における第1回
目の判別処理によってa<nとなる場合)が強制的に終
了されるため、この実際の1出力周期の時間内に部分的
に含まれる移動指令元データに対応する移動量の分に関
しては、出力パルス記憶レジスタSに積算されないこと
になる。
【0090】そこで、プロセッサ1は、実際の1出力周
期の時間内に部分的に含まれる移動指令元データに対応
する移動量の不足を補うため、ステップT6(ステップ
T6の処理が実行された場合)もしくはステップT4
(ステップT6の処理が実行されなかった場合)で更新
された指標iの値に基き、実際の1出力周期の時間内に
部分的に含まれる次の移動指令元データQiを読み込
み、その値に前述の余り時間aを乗じ、実際の1出力周
期の時間内に部分的に含まれる移動指令元データQiに
相当する移動量を求め、この移動量を出力パルス記憶レ
ジスタSに加算して、この実際の1出力周期の時間内に
出力すべき移動量の総和Sを求める(ステップT7にお
けるS=S+Qi×aの式)。
【0091】また、前述のステップT7におけるS=S
+Qi×aの処理により、次の移動指令元データQiの
一部に対する移動量Qi×aが既に出力パルス記憶レジ
スタSに加算されているので、前述の余り時間aに相当
する部分の移動量が更に次の実際の出力周期において重
複して加算されるのを防止するため、該移動指令元デー
タQiに対応する理論上の処理周期を理論上の処理周期
に相当する値nからn−aに変更して、この移動指令元
データQiに対応する理論上の処理周期の残り時間を記
憶する切り替え判定値記憶レジスタrに記憶する(ステ
ップT7におけるr=n−aの式)。
【0092】なお、圧縮の量を特定する出力データ数n
で出力パルス記憶レジスタSの現在値を除し、その整数
部を採って実際に出力すべき移動指令データPkとする
点、余りの整数値を余りパルス記憶レジスタsに代入し
て次の処理周期に持ち越す点、指標kの値を1インクリ
メントする点に関しては、前述した伸展の場合の処理と
同様である(ステップT8)。
【0093】次に、プロセッサ1は、指標kの値が出力
データ数nに達しているか否か、つまり、圧縮に必要と
される移動指令データPkの全てが生成されているか否
かを判別し(ステップT9)、指標kの値が出力データ
数nに達していなければ、次の移動指令データPkを生
成するために、再びステップT2に移行して次周期の処
理を開始する。
【0094】ステップT2に移行したプロセッサ1は、
まず、出力パルス記憶レジスタSに余りパルス記憶レジ
スタsの値、つまり、出力すべき移動指令として持ち越
されたパルス数の値を初期値として代入し、読み出しデ
ータ切り替え判定値記憶レジスタaに元の移動指令のデ
ータ数m、要するに、実際の出力周期に相当する値mを
代入する。
【0095】次いで、プロセッサ1は、読み出しデータ
切り替え判定値記憶レジスタaの値mと前周期のステッ
プT7の処理で更新された読み出しデータ切り替え判定
値記憶レジスタrとの大小関係を判別する(ステップT
3)。
【0096】しかし、こと圧縮の場合に限っては、m≧
n,r≦nであるから、ステップT3の判別結果がa=
m<rとなることは決してない。要するに、圧縮の場合
には、理論上の出力周期の方が実際の出力周期よりも長
くなることは絶対にないということであり(ステップT
3の判別結果は常に真)、実際の出力周期において出力
すべき移動量の総和は、常に1以上の移動指令元データ
に対応する移動量を積算して求められることになる。
【0097】以下、プロセッサ1は、前記と同様にして
ステップT2〜ステップT9の処理を繰り返し実行し、
ステップT5における判定値記憶レジスタaと理論上の
出力周期に相当する値nとの大小関係の判別結果に基い
て、実際の1出力周期の間に完全に含まれる単数または
複数の移動指令元データに対応する移動量と該1出力周
期の間に部分的に含まれる移動指令元データに対応する
移動量とを全て積算し、その積算値を圧縮のデータ数n
で除して実際の1出力周期の間に出力すべきインクリメ
ンタルな移動指令Pkを順次算出して出力専用データフ
ァイルに登録して行く。
【0098】最終的に、ステップT9の判別結果が偽と
なった段階で、圧縮に必要とされる移動指令データPk
の全ての生成が完了することになる。
【0099】一例として、10個(m=10)の元デー
タQ0=5,Q1=3,Q2=0,Q3=−3,Q4=
−5,Q5=−5,Q6=−3,Q7=0,Q8=3,
Q9=5のデータを有するデータ線図Qd(d)を図7
の処理に従ってデータ数n=8に圧縮した場合の演算結
果を図9に示す。
【0100】Pkの演算結果はP0=5,P1=3,P
2=−2,P3=−6,P4=−5,P5=−3,P6
=2,P7=6となる。前述したように、10個の元デ
ータで構成される元データ線図Q(d)は、最初にQ0
+Q1+Q2=8移動し、次にQ3+Q4+Q5+Q6
=−16移動し、最後にQ7+Q8+Q9=8移動する
ことに対して、n=8の8個のデータに圧縮される移動
は、P0+P1=8、P2+P3+P4+P5=−1
6、P6+P7=8となり、±の移動量は同一となり移
動量は一致する。
【0101】以上、規準となるカム線図F(t)をリフ
ト方向にシフトさせる場合(図3参照)の処理、ピッチ
円方向にシフトさせる場合(図4参照)の処理、リフト
量を変化させてカムの動作領域を伸展または圧縮する場
合(図5参照)の処理、ピッチ円方向に伸展または圧縮
する場合(図6参照)の処理の各々について個別に説明
したが、これらの処理を組み合わせて実施することによ
り、カム線図F(t)をリフト方向やピッチ円方向にシ
フトさせ、かつ、リフト方向やピッチ円方向に伸展した
り圧縮したりといった様々な処理を自由に行わせること
ができる。
【0102】上述した実施形態では、カムの変位位置、
インクリメンタルの移動指令データQ(d)を時間の関
数(移動指令の分配周期毎の移動指令量)として求めた
例を記載したが、カムの回転角θを媒介としてカムの変
位位置、移動量を求めてもよい。この場合、カムと協同
するコンベア等の移動量に対してカムの回転角θを求め
て該回転角θに対応する変位位置xを記憶するようにす
る。すなわち、図2(a)に示すカム曲線F(θ)の横
軸をカムの回転角(位相)θとし縦軸を変位位置とすれ
ばよい。以下、このカムの回転角θに対する変位位置x
をCMOS4内にデータテーブルとしてに記憶してお
き、カムと協同するコンベアの移動量に応じてカムの回
転量Δθを求め、カム軸への移動指令Δxを求めて出力
する実施形態を図10に示すフローチャートと共に説明
する。
【0103】なお、カムと協同する協同体、例えばコン
ベア等を駆動するモータ(サーボモータやパルスモー
タ)も図1に示すモーションコントローラのプロセッサ
1によって制御されるものとする。まず、このコンベア
等を駆動するモータの移動量yからカムの回転量Δθを
求める関数g(y)を設定する。例えば、コンベアを駆
動するモータの移動量がLでカムを1回転させようとす
れば、モータの移動量yに対してカム軸の回転量Δθ
は、Δθ=g(y)=y×360°/Lとして求められ
る。このような関数g(y)を予め設定する。
【0104】そして、センサ9からの信号を受信してカ
ム軸回転となると、移動指令の分配周期T毎プロセッサ
1は、図10に示す処理を開始する。まず、当該移動指
令の分配周期におけるコンベア等を駆動するモータへの
移動指令量yを求め、該移動指令量yより上記設定した
関数g(y)によってカムの回転量Δθを求める。上述
した例に示すようにコンベア等を駆動するモータの移動
量Lでカムが1回転するとすればg(y)=y×360
°/Lであるから、Δθ=y×360°/Lとして求め
られる(ステップb1)。
【0105】次にカムの回転角θを記憶するレジスタR
(θ)より現在の回転角θを読み出す(ステップb
2)。なお、該レジスタR(θ)はカム軸回転開始時に
初期設定で「0」に設定されるもので、回転開始時はθ
=0が読み込まれる。
【0106】次に、データテーブルより回転角θ、及び
(θ+Δθ)に対応するカム軸の変位位置x(θ)、x
(θ+Δθ)を読み取り、その差より当該周期における
カム軸の移動指令量Δxを求める(ステップb3)。す
なわち、次の演算を行って移動指令量Δxを求める。
【0107】Δx=x(θ+Δθ)−x(θ) そして、レジスタR(θ)に記憶する回転角θにステッ
プb1で求められた回転量Δθに加算し該レジスタR
(θ)に記憶し(ステップb4)、ステップS1、b3
で求めた移動指令量y及びΔxをコンベア等を駆動する
モータ及びカム軸を駆動するモータへ出力し(ステップ
b5)、当該周期の処理を終了する。以下、各移動指令
の分配周期毎上記ステップb1〜b5の処理を実行する
ことによって、コンベア等の協同体の速度に合致したカ
ム動作が実行されることになる。
【0108】また、図3に示すように、カムのストロー
ク中心位置0からKaだけシフトする場合には、ステッ
プb2で読み出した回転角θが「0」の時、すなわちカ
ムの回転開始時に、ステップb3で求められる移動量Δ
xにシフト量Kaを加算するようにすればよい。
【0109】図4に示すように、カムの回転開始タイミ
ングをKbだけずらす場合には、単にカム軸回転開始タ
イミングをKbだけずらせばよい。さらに、図5に示す
ように、カムのストロークをかえ(Kc/f)倍にする
時には、ステップb3で求められる移動指令量Δxに
(Kc/f)を乗じた値を出力すればよい。
【0110】なお、コンベア等の速度が変わる場合にお
いては、本実施形態においては、前記ステップb1〜b
5の処理を行うだけでよい。なぜならば、本実施形態で
は、コンベア等の協同体の移動量yに合わせて、カムの
移動位置を求めるものであるから、コンベア等の移動速
度が変わっても、その速度に合わせてカムの変位位置が
求められるので、コンベア等の速度に合わせたカム回転
速度が得られることになる。
【0111】
【発明の効果】本発明のモーションコントローラによれ
ば、オペレータやプログラマが移動指令データ自体の面
倒な更新作業を行わなくても、電子カムのシフト量や伸
展または圧縮に関わる定数を入力するだけで、ハードウ
ェアやアプリケーションの変更および電子カムの動作自
体の変更に対処して電子カムの動作を容易に補正するこ
とができる。
【0112】また、カム線図のリフト量の変更やリフト
方向およびピッチ円方向のシフトに関しては、規準とな
るカム線図を構成する移動指令データに基いてモーショ
ンコントローラの処理周期毎に補正をかけることができ
るので、電子カムの動作中に補正を開始することも可能
である。
【図面の簡単な説明】
【図1】本発明を適用した一実施形態のモーションコン
トローラと該モーションコントローラによって駆動制御
される自動機の要部を示すブロック図である。
【図2】規準となるカム動作の一例を示したカム線図及
びデータ線図である。
【図3】規準となるカムをリフト方向にシフトさせた場
合の動作例を示すカム線図及びデータ線図である。
【図4】規準となるカムをピッチ円方向にシフトさせた
場合の動作例を示すカム線図及びデータ線図である。
【図5】規準となるカムのリフトを変化させた場合の動
作例を示すカム線図及びデータ線図である。
【図6】規準となるカムをピッチ円方向に伸展または圧
縮した場合の動作例を示す及びデータ線図カム線図であ
る。
【図7】規準となるカムをピッチ円方向に伸展または圧
縮する場合の処理の一例を示すフローチャートである。
【図8】規準となるカムをピッチ円方向に伸展した場合
の処理結果の一例を示すテーブルである。
【図9】規準となるカムをピッチ円方向に圧縮した場合
の処理結果の一例を示すテーブルである。
【図10】カムの回転各を媒介として、カムと協同する
コンベア等の協同体の速度に合わせた電子カム動作を行
う実施形態の処理フローチャートである。
【符号の説明】
1 プロセッサ 2 バス 3 ROM 4 CMOSメモリ 5 RAM 6 MDI 7 軸制御回路 8 インターフェイス 9 センサ A サーボアンプ M サーボモータ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成10年10月19日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 規準となるカム線図を構成する移動指令
    データの数値列を時系列で記憶する記憶手段と、ハード
    ウェアやアプリケーションの変更またはカム動作の変更
    に応じて前記記憶手段に記憶された移動指令データに補
    正を行って新たな移動指令データを生成する自動補正手
    段とを備えたことを特徴とするモーションコントロー
    ラ。
  2. 【請求項2】 規準となるカム線図を構成する変位位置
    をカムの回転角に応じて記憶する記憶手段と、カムと協
    同する協同体の移動量に応じてカムの回転角量を求める
    手段と、カムの回転角量よりカムの回転角を求め該回転
    角より前記記憶手段に記憶された変位移動量を求め、該
    変位移動量を移動指令データとするモーションコントロ
    ーラ。
  3. 【請求項3】 ハードウェアやアプリケーションの変更
    またはカム動作の変更に応じて求められた前記変位移動
    量に補正を行って新たな移動指令データを生成する自動
    補正手段とを備えたことを特徴とするモーションコント
    ローラ。
  4. 【請求項4】 前記自動補正手段は、規準となる移動指
    令データの時間軸を伸展または圧縮し、時間軸を伸展ま
    たは圧縮した移動指令データの数値列から実際の移動指
    令の出力周期に対応する移動指令データを抽出して移動
    指令データの数値列を再生成するものである請求項1記
    載のモーションコントローラ。
  5. 【請求項5】 前記自動補正手段は、規準となる移動指
    令データのカム動作開始時の数値に定数を加減して自動
    補正を行うものである請求項1,請求項3又は請求項4
    記載のモーションコントローラ。
  6. 【請求項6】 前記自動補正手段は、規準となる移動指
    令データの数値の各々を時間軸に沿ってシフトさせて自
    動補正を行うものである請求項1、請求項3,請求項4
    又は請求項5記載のモーションコントローラ。
  7. 【請求項7】 前記自動補正手段は、規準となる移動指
    令データの数値の各々に定数を乗じて自動補正を行うも
    のである請求項1,請求項3,請求項4,請求項5又は
    請求項6のいずれか1項に記載のモーションコントロー
    ラ。
JP9289276A 1997-10-07 1997-10-07 モーションコントローラ Pending JPH11110047A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9289276A JPH11110047A (ja) 1997-10-07 1997-10-07 モーションコントローラ
EP98308126A EP0908804A3 (en) 1997-10-07 1998-10-06 Motion controller
US09/168,436 US6133705A (en) 1997-10-07 1998-10-07 Motion controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9289276A JPH11110047A (ja) 1997-10-07 1997-10-07 モーションコントローラ

Publications (1)

Publication Number Publication Date
JPH11110047A true JPH11110047A (ja) 1999-04-23

Family

ID=17741080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9289276A Pending JPH11110047A (ja) 1997-10-07 1997-10-07 モーションコントローラ

Country Status (3)

Country Link
US (1) US6133705A (ja)
EP (1) EP0908804A3 (ja)
JP (1) JPH11110047A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091090A1 (fr) * 2001-04-27 2002-11-14 Citizen Watch Co., Ltd. Tour automatique et procede et dispositif pour le commander
WO2002091089A1 (fr) * 2001-04-27 2002-11-14 Citizen Watch Co., Ltd. Tour automatique, procede et dispositif de controle associes
JPWO2003005141A1 (ja) * 2001-07-04 2004-10-28 三菱電機株式会社 サーボ制御システム及びその設定方法
JP2006293692A (ja) * 2005-04-11 2006-10-26 Mitsubishi Electric Corp 電子カム制御装置
JP4973792B1 (ja) * 2011-03-15 2012-07-11 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
JP2016122399A (ja) * 2014-12-25 2016-07-07 ファナック株式会社 テーブル形式データによる運転を行う数値制御装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3352986B2 (ja) * 1999-12-17 2002-12-03 スター精密株式会社 工作機械の駆動制御装置
US6246201B1 (en) * 1999-12-30 2001-06-12 Ge Fanuc Automation North America Inc. Electronic cam control system
US6869386B2 (en) 2002-06-26 2005-03-22 The Procter & Gamble Company Method for manufacturing discrete articles from a material web using synchronized servo-actuated operational units
US7537145B2 (en) * 2007-02-01 2009-05-26 Black & Decker Inc. Multistage solenoid fastening device
DE502008003099D1 (de) * 2008-05-19 2011-05-19 Siemens Ag Steuereinrichtung zur Steuerung einer Werkzeugmaschine von der Werkzeuge antreibbar sind
JP4807475B1 (ja) * 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0731532B2 (ja) * 1989-05-24 1995-04-10 オ−クマ株式会社 数値制御装置
JP2824588B2 (ja) * 1989-08-24 1998-11-11 株式会社エスジー サーボモータ同期制御方式
JP2697399B2 (ja) * 1991-09-13 1998-01-14 三菱電機株式会社 位置決め装置及びそのプログラム表示方法
JP3220588B2 (ja) * 1994-01-28 2001-10-22 三菱電機エンジニアリング株式会社 位置決め装置
DE4409097A1 (de) * 1994-03-17 1995-09-21 Schuette Alfred H Gmbh & Co Kg Elektronische Steuereinrichtung für Einzelantriebe von Bearbeitungsmaschinen und Verfahren zum Steuern der Einzelantriebe
JP3518029B2 (ja) * 1994-05-09 2004-04-12 三菱電機株式会社 サーボシステムの制御装置
AU6963496A (en) * 1995-09-01 1997-03-27 Irwin Research And Development Method and apparatus for control of drive systems for cycle based processes

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809108B1 (ko) 2001-04-27 2008-03-04 시티즌 홀딩스 가부시키가이샤 자동 선반, 자동 선반 제어 방법 및 자동 선반 제어 장치
US6812664B2 (en) 2001-04-27 2004-11-02 Citizen Watch Co., Ltd. Automatic lathe, and method for controlling the same and device for controlling the same
JPWO2002091090A1 (ja) * 2001-04-27 2004-08-26 シチズン時計株式会社 自動旋盤及びその制御方法及びその制御装置
KR100809106B1 (ko) 2001-04-27 2008-03-04 시티즌 홀딩스 가부시키가이샤 자동 선반, 자동 선반 제어 방법 및 자동 선반 제어 장치
WO2002091090A1 (fr) * 2001-04-27 2002-11-14 Citizen Watch Co., Ltd. Tour automatique et procede et dispositif pour le commander
US6815917B2 (en) 2001-04-27 2004-11-09 Citizen Watch Co., Ltd. Automatic lathe, method for controlling the same, and device for controlling the same
WO2002091089A1 (fr) * 2001-04-27 2002-11-14 Citizen Watch Co., Ltd. Tour automatique, procede et dispositif de controle associes
JP4678129B2 (ja) * 2001-07-04 2011-04-27 三菱電機株式会社 サーボ制御システム及びその設定方法
JPWO2003005141A1 (ja) * 2001-07-04 2004-10-28 三菱電機株式会社 サーボ制御システム及びその設定方法
JP2006293692A (ja) * 2005-04-11 2006-10-26 Mitsubishi Electric Corp 電子カム制御装置
JP4494280B2 (ja) * 2005-04-11 2010-06-30 三菱電機株式会社 電子カム制御装置
JP4973792B1 (ja) * 2011-03-15 2012-07-11 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
WO2012124144A1 (ja) * 2011-03-15 2012-09-20 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
US9869979B2 (en) 2011-03-15 2018-01-16 Omron Corporation Computation unit, output control method, and program
JP2016122399A (ja) * 2014-12-25 2016-07-07 ファナック株式会社 テーブル形式データによる運転を行う数値制御装置
US9964943B2 (en) 2014-12-25 2018-05-08 Fanuc Corporation Numerical controller operating based on tabular data

Also Published As

Publication number Publication date
EP0908804A2 (en) 1999-04-14
US6133705A (en) 2000-10-17
EP0908804A3 (en) 2000-11-15

Similar Documents

Publication Publication Date Title
JPH11110047A (ja) モーションコントローラ
US4150329A (en) Method and means in an industrial robot for the generation of a complex movement
EP0187864B1 (en) Acceleration/deceleration control system
CN1519673A (zh) 伺服控制装置
JP2003303005A (ja) 数値制御装置
JPS63284601A (ja) 最短時間経路生成による運動制御装置
CN1854951A (zh) 数字控制器
WO1990006544A1 (en) Method of correcting machining program
US20070185609A1 (en) Numerical control method
US5373439A (en) Method for controlling the traveling path of a robot during acceleration and deceleration
US4503372A (en) Method and apparatus for sensing present position in position control system
WO2002016091A1 (fr) Robot
US4902950A (en) Numerical control method with response delay compensating function
EP1182524A1 (en) Programmable controller
US20150321368A1 (en) Machine for machining a moving object
EP0454853B1 (en) Feedback position control method
US20200103852A1 (en) Numerical controller
WO2002033815A1 (fr) Procede de commande de l'acceleration/deceleration d'un moteur
JP2001154719A (ja) 自由曲線補間方法
JP2003015715A (ja) 指令値生成方法、指令値生成システムおよびプログラム作成装置
JPS60209812A (ja) 加減速制御方式
JPH06324729A (ja) 加減速制御装置
SU723514A1 (ru) Устройство дл управлени шлифовальным станком
JPH1148176A (ja) ロボット位置教示装置
JP2996445B2 (ja) 複数軸駆動装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020416