JP4199270B2 - 位置制御と圧力制御を切り換え実行する数値制御装置及び数値制御方法 - Google Patents

位置制御と圧力制御を切り換え実行する数値制御装置及び数値制御方法 Download PDF

Info

Publication number
JP4199270B2
JP4199270B2 JP2006215867A JP2006215867A JP4199270B2 JP 4199270 B2 JP4199270 B2 JP 4199270B2 JP 2006215867 A JP2006215867 A JP 2006215867A JP 2006215867 A JP2006215867 A JP 2006215867A JP 4199270 B2 JP4199270 B2 JP 4199270B2
Authority
JP
Japan
Prior art keywords
command
control
pressure
control unit
servo
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.)
Active
Application number
JP2006215867A
Other languages
English (en)
Other versions
JP2008040886A (ja
Inventor
靖史 大西
哲夫 菱川
敬介 辻川
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 JP2006215867A priority Critical patent/JP4199270B2/ja
Priority to EP07112182A priority patent/EP1887445B1/en
Priority to CNB2007101402350A priority patent/CN100511052C/zh
Priority to US11/889,052 priority patent/US7659681B2/en
Publication of JP2008040886A publication Critical patent/JP2008040886A/ja
Application granted granted Critical
Publication of JP4199270B2 publication Critical patent/JP4199270B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/19Numerical 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 characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • 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/42Servomotor, servo controller kind till VSS
    • G05B2219/42094Speed then pressure or force loop
    • 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/45Nc applications
    • G05B2219/45244Injection molding

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Shaping Metal By Deep-Drawing, Or The Like (AREA)

Description

本発明は、数値制御に関する。特に、位置制御と圧力制御を切換えて実行できる数値制御方法、装置に関する。
制御対象(モータで駆動される可動部)の位置制御と、圧力制御を切換て制御できるようにした数値制御装置はすでに公知である。
例えば、射出成形機を制御する数値制御装置において、射出保圧工程時の制御を、可動部であるスクリュの位置、速度を制御する位置制御とするか、または、スクリュにかかる圧力をフィードバック制御する圧力制御するかを選択可能とし、さらに、射出保圧工程時は位置制御し、該射出保圧工程に続く計量工程では、圧力制御に切換てスクリュにかかる圧力を制御できるようにした数値制御装置が知られている(特許文献1参照)。
また、下型と、プレス軸に固定された上型で板金(ワーク)をはさみ、加圧して板金加工するプレス機械において、上型と下型で板金(ワーク)をはさむ圧力の制御にダイクッション装置を用い、このダイクッション装置を制御する制御装置として数値制御装置が用いられるものも知られている(特許文献2参照)。このダイクッション装置の制御は、数値制御装置によりダイクッション部材を駆動するサーボモータを位置制御して、板金が載置されている下型及びダイクッション部材を所定位置に保持しておき、プレス軸が下降し、上型が板金に当接する位置を検出して、この検出信号によって、ダイクッション部材を駆動するサーボモータの制御を位置制御から圧力制御に切換て、所定圧力に制御しプレス加工を行うようにしたものである。
さらに、可動側金型をサーボモータで駆動する電動サーボプレスにおいて、数値制御装置等を用いて、位置のフィードバック制御によって求められた速度指令または位置、速度のフィードバック制御によって得られたトルク指令と、圧力フィードバック制御によって求められた速度指令またはトルク指令を比較し、小さい方を選択切換て制御する発明も知られている(特許文献3参照)。
特許第2608784号公報 特開2006−122944号公報 特開2006−7296号公報
上述した特許文献1,2に記載された発明では、位置制御から圧力制御への切換タイミングは、予め決められたものである。特許文献1に記載された発明では、位置制御か圧力制御かを予め設定するものである。または、射出保圧工程が終了すると位置制御から圧力制御に切換わるものであり、その切換タイミングは予め決められたものである。
また、特許文献2に記載された発明においても、位置制御から圧力制御への切換は、プレス軸の位置を検出する検出器からの信号によって決められるものである。
また、特許文献3に記載された発明のように、位置制御で求められる速度指令と圧力制御で求められた速度指令の小さい方を採用する方式を採用するものにおいては、自動的に位置制御から圧力制御に切換えることができるが、切換えた後の制御が直ちに実行できるものではない。
図1は、ピンなどの部品AをワークWに圧入する装置の例で、部品AをワークWに設けられた穴に圧入した後、一定時間以上の間所望の圧力を部品Aにかける必要がある場合の例である。部品AをワークWに設けられた穴への圧入位置に位置決めした後(図1(a)参照)、サーボモータMを駆動してボールネジ/ナット機構等の送り機構を介して部品Aを穴に圧入し、その後、一定時間以上の間所望の圧力を部品Aにかけ(図1(b)参照)、部品Aをワークの穴に嵌合し取り付ける(図1(c)参照)ようにした例である。
このような位置制御と圧力制御を必要とする場合には、従来は、図2のような構成の数値制御装置が使用されている。
数値制御装置は数値制御部10とサーボ制御部20に大別される。数値制御部10では、プログラム解析処理部12がNCプログラム11の各ブロックの指令を順次読み出し解析して実行データに変換してブロック処理部13に格納する。位置、圧力指令分配・加減速処理部14では、ブロック処理部13から各ブロック毎の実行データを読み出し、位置指令における移動量の分配処理、及びその加減速処理を実行し各分配周期毎の移動量を位置指令としてサーボ制御部20に出力する。また圧力指令に対しても、指令された圧力を圧力指令値としてサーボ制御部20に出力する。また、ブロック終了判断部14aでは、現在実行中の1ブロックの指令での位置指令の移動量が全てサーボ制御部に転送されたか判断し、転送していれば、ブロックの処理が終了したことをブロック処理部13に通知する。すなわち、現在実行中のブロックでの指令の実行が完了したことをブロック処理部13に通知する。ブロック処理部13では、このブロック完了通知を受けて、次ブロックの指令の実行データを位置、圧力指令分配・加減速処理部14に引き渡し、次のブロックが実行されることになる。
一方、サーボ制御部20では、位置ループ制御部を構成するエラーカウンタ21、ポジションゲインKpの部22、比較器23、速度制御部24、電流制御部25、圧力制御部を構成するフォースゲイン部26で構成されている。数値制御部10から指令された位置指令とサーボモータ等に設けられた位置・速度検出器からの位置フィードバックより位置偏差をエラーカウンタ21で算出し、該位置偏差にポジションゲインKpを乗じて、位置制御による速度指令Aを求める。
また、数値制御部10から出力される圧力指令と圧力センサからの圧力フィードバックによりその圧力偏差を求めフォースゲインを乗じて圧力制御による速度指令Bを求める。比較器23では、位置制御による速度指令Aと圧力制御による速度指令Bを比較し、小さい方を採用し、速度制御部24への速度指令とする。速度制御部24では、この速度指令と図示していないが速度フィードバックより速度のフィードバック制御を行いトルク指令(電流指令)を求めてサーボモータを駆動制御する。
上述した数値制御装置の構成は前記特許文献3に記載されているように従来から公知の構成である。
このような数値制御装置で図1に示すピンなどの部品AをワークWに圧入する装置を制御する場合、図3に示すようなNCプログラムを作成して数値制御装置に実行させる。
図3に示すのプログラム例において、「O0001」は、プログラム番号、「N1〜N6」はシーケンス番号、「G100」は圧力指令、「Q□□」は圧力指令、「G90」はアブソリュート指令、「G01」は直線補間指令、「X□□」は指令位置、「F□□」は移動速度、「G04」はドウェル(停止)指令で、コードPで示される時間(250)だけその時の状態を保持させる指令である。「G91」はインクレメンタル指令、「M30」はプログラムエンドの指令である。
シーケンス番号N1のブロックにて所望の圧力の値(Q10)を指定し、シーケンス番号N2のブロックでワークWへの部品Aの挿入目標位置(X30)へ速度(F500)で位置制御して移動させる。ワークWに接触し、圧力が上がっていくと数値制御装置のサーボ制御部20は圧力制御に切り換わり、所望の圧力を保った制御を行う。数値制御装置の数値制御部10は、圧力制御に切り換わったか否かによらず、シーケンス番号N2のブロックの移動指令を最後まで実行した後、シーケンス番号N3のG04指令にてPで指定した時間(250ミリ秒)だけさらに一定の圧力をかける。シーケンス番号N4のブロックでは、サーボ制御部20のエラーカウンタ21に溜まっているサーボ位置偏差量を変数#5101で読み出し、読み出したサーボ位置偏差量の符号を反転させた値を指令することで溜まっているサーボ位置偏差量を最高速度(は240000)で0にする。これにより、指令位置と実位置が一致する。シーケンス番号N5のブロックを実行して位置制御にて待機位置(X100.)に戻る。このプログラムを実行した場合の位置と時間、実圧力と時間の関係は図4のようになる。
図4に示されるように、シーケンス番号N3で、所望圧力(Q10)で250ミリ秒だけ圧力をかけるように指令したにも拘わらず、時間T4だけ余分に圧力制御がなされることになる。これは、シーケンス番号Nのブロックでの位置制御による移動中に圧力制御に切り替わったとしても、このシーケンス番号Nのブロックでの移動指令が完了するまで待って、次のシーケンス番号Nのブロックの処理に移行することから生じるものであり、この余分な時間T4は位置制御から圧力制御に切り替わっ後、位置制御による残りの移動量を指令して完了するまでの時間を意味する。又この時間T4は一定ではない。
このように、位置制御から圧力制御に自動的に切り替わったとしても、次の制御が直ちに実行できなく、目標とする制御が達成できないという問題がある。
又、位置制御から圧力制御に切換制御する他の制御例として、プレス機械におけるダイクッション装置がある。
図5は、位置制御から圧力制御へ切換て制御するプレス機械におけるダイクッション装置の概要図である。
図5において、金型の下型2はプレス機械のベースに固定されており、該下型2に対向して上型1がプレス軸に固定されて配置されている。プレス軸は、モータや油圧、空気圧を用いたプレス軸駆動源によって駆動され、一定パターンでクランプ軸(上型1)を駆動し上下動させる。
下型2側には複数のダイクッション部材6が設けられ、該ダイクッション部材6はそれぞれのサーボモータMdで図中上下方向に駆動されるように構成されている。ダイクッション部材6、及びダイクッション用サーボモータMdは、図5に示した例では、2組設けた例を示しているが、3組、4組と複数設けても、又は、複数のダイクッション部材6を連結して一体とし、1つのダイクッション用サーボモータで駆動するようにしてもよい。 このダイクッション用サーボモータMdは、ダイクッション用の数値制御装置5で駆動制御される。
プレス加工しようとする板金(ワーク)3は、ダイクッション部材6上に載置され、下型2の上に配置される。また、この板金(ワーク)3にかかる圧力を検出する圧力センサ4が下型2中に設けられ、該圧力センサ4で検出された圧力は数値制御装置5にフィードバックされている。さらに、また、上型1の位置、即ちプレス軸の位置を検出するリミットスイッチ等のセンサ7が設けられ、該センサ7の出力もダイクッション用の数値制御装置5に入力されている。
このダイクッション用の数値制御装置5として、図2に示すサーボモータを位置制御と圧力制御に切換て制御する数値制御装置が用いられる。
プレス加工しようとする板金(ワーク)3が、ダイクッション部材6、下型2の上に配置され、数値制御装置5は、ダイクッション部材6を所定位置に保持するよう位置指令が出され、かつ所定圧力指令が出力されているが、ダイクッション部材6は指令されている所定位置に保持されていることから、位置偏差は「0」もしくは非常小さく、位置制御による速度指令Aは「0」もしくは小さい値である。一方、板金(ワーク)3には上型1からの圧力はかかっておらず、圧力センサ4で検出される圧力は「0」もしくは非常に小さい値である。そのため、指令圧力との偏差は大きく圧力制御による速度指令Bは大きな値である。よって、比較器23は、位置制御からの速度指令Aを採用している。その結果、サーボモータMd及びダイクッション部材6は指令位置に保持され、板金3も所定位置に保持されている。
そこで、プレス軸が駆動され上型1が下降し、上型1が板金3と衝突すると、ダイクッション部材6は下降し、サーボモータMdも移動することにより、位置偏差が増大し、位置制御による速度指令Aは増大する。一方、上型1が板金3と衝突することによって、圧力センサ4にかかる圧力が増大し、検出圧力が増大して圧力偏差は減少し、圧力制御による速度指令Bは減少する。その結果、圧力制御による速度指令Bの方が位置制御による速度指令Aより小さくなることから、比較器23は、圧力制御による速度指令Bを選択採用し、圧力制御がなされる。すなわち、数値制御部10から指令されているサーボモータMd及びダイクッション部材6への位置指令は、プレス開始時の上型1と下型2が当接していない状態の位置(この位置をプレス開始位置という)であり、実際のダイクッション部材6の位置は、上型1には押圧して下降していることから、サーボモータMdの位置も指令位置からずれ、上型1が下降を続ける限り位置偏差は増大することになるので、圧力制御の速度指令Bが採用され、圧力制御がなされる。そして、上型1が上昇し(この間サーボモータMdは、指令圧力と一致するようにダイクッション部材6を押し上げている)、プレス開始位置に達すると、位置偏差が「0」となることにより、比較器23は位置制御による速度指令Aを採用するよう切換わる。以後は、位置制御がなされる。
以上のように動作するが、上型1が下降し板金3に衝突したとき、この板金3が受ける上型1からの外力が大きくなりすぎ過大圧力が瞬間的に発生するという欠点がある。
この過圧力の発生を防止するために、板金3及びダイクッション部材6が上型1より外力を受ける直前にダイクッション部材6を下方に逃げるように移動させる位置制御を行えば、上型1とダイクッション部材6との相対速度が低下することにより、衝突時のショック(過大圧力)を小さくすることができる。センサ7で上型1が板金3に当接する直前を検出し、数値制御装置5の数値制御部10は、サーボモータMdの位置制御を開始し、ダイクッション6を下降に移動させる。
図6は、このときの圧力センサ4からの圧力フィードバック値の状態を表す図であり、ダイクッション部材6が下降して逃げて、上型1との相対速度が小さくなることから、圧力センサ4で検出される圧力が目標圧力に到達するには時間がかかり、位置制御から、圧力制御に切換わるのに、図6でT2と示すような時間がかかるという問題が生じる。
これを改善する方法として、最初は目標とする圧力値を低く設定して圧力制御へ切換わり点を速くし、圧力制御に切換わった後で、圧力指令値を徐々に上げることにより、この問題を解決するが考えられる。
図7は、このような圧力制御を実行させるためのダイクッション部材6を駆動するサーボモータMdへの指令のNCプログラム例である。図7において、「G101」はQで指令される圧力をPで指令される時間をかけて上昇させる指令、「M200」は補助機能の指令である。
図8は、このNCプロクラムを実行してサーボモータMdを駆動してダイクッション6を制御したときの上型(プレス軸)1とダイクッション部材6の位置関係を表した図である。図8は横軸を時間、縦軸を位置としている。また、実線は上型(プレス軸)1の位置,1点破線はダイクッション部材の指令位置、破線はダイクッション部材の実際の位置(位置フィードバック値)である。
ダイクッション部材6は、プレス開始位置として「300」の位置に保持されている(位置制御されている)。上型(プレス軸)1が下降し、時間aの点で上型1がセンサ7で検出され、センサ7から検出信号が数値制御装置5に入力されると、数値制御装置5の数値制御装置5は、図7のNCプログラムを実行開始する。
まず、シーケンス番号N1の「G100 Q10」が実行され、Q=10の圧力指令が数値制御部10からサーボ制御部20に出力され、続いてシーケンス番号N2の「G01 G91 X−150.F500」が実行され、数値制御部10では、速度F=500で、負方向(下降)に150だけ移動するよう分配周期毎に分配移動量が求められ、サーボ制御部20に出力される。サーボ制御部20の比較器23では、位置制御による速度指令Aと圧力制御による速度指令Bを比較するが、最初は、上型1は板金3に当接していないから、圧力センサ4からのフィードバック値は小さく圧力偏差は大きく速度指令Bも大きい。また、最初の段階では、ダイクッション部材6はプレス開始位置に保持されており位置偏差が小さく位置制御による速度指令Aは小さいことから、最初は位置制御がなされことにより、サーボモータMdは速度F=500で駆動され、ダイクッション部材6は時間aの点より下降を開始する。
そこで、上型(プレス軸)1が板金3及びダイクッション部材6に追いつき時間bの点で衝突が生じると、前述したように、位置偏差が大きくなると共に圧力偏差が小さくなることから、圧力制御の速度指令Bの方が位置制御の速度指令Aより小さくなるので、圧力制御に切換わる。このときの圧力指令はシーケンス番号N1のブロックで指令されたQ=10であり、この圧力Q=10に一致するように圧力制御がなされることになる。
図9は、指令圧力(破線)と圧力センサ4からフィードバックされる圧力フィードバック値(実線)で表した図である。この図9に示すように、指令圧力Q=10と一致するように圧力制御がなされる。そして、シーケンス番号N2のブロックで指令した移動量「−150」だけの移動量の分配処理が終了すると、数値制御部10の位置、圧力指令分配・加減速処理部14は、次のシーケンス番号N3のブロックの指令を実行することになる。このシーケンス番号N2のブロックで指令した移動量「−150」を分配処理する間、指令圧力Q10の低い圧力での圧力制御が実行されることになる。
移動量「−150」の分配処理が終了すると、次のシーケンス番号N3のブロックの指令を実行開始し、数値制御部10の位置、圧力指令分配・加減速処理部14は、指令された時間P15をかけてQ10から圧力指令値Q100まで徐々に上昇させるよう圧力の分配処理を行いサーボ制御部に出力する。サーボ制御部20では、この圧力指令を受けて圧力フィードバック制御を行い、図9に示すように、時間P=15をかけて指令圧力をQ=10からQ=100に切換える。この間、ダイクッション部材6(サーボモータMd)への位置指令は先に指令された位置(300−150=150)に保持されている。
シーケンス番号N3のブロックの指令の実行を終了した後、数値制御部10の位置、圧力指令分配・加減速処理部14はシーケンス番号N4のブロックの指令の実行を開始し、上型(プレス軸)1の最下点に対応する最下点位置X5まで、速度240000(最高速度)で移動させる分配処理を実行し、該シーケンス番号N4のブロックの指令の実行を終了した後、シーケンス番号N5のブロックの指令の補助機能M200が実行され、この状態で、FIN信号が返るまで待ちの状態となる。
その後、上型(プレス軸)1が最下点まで達し、ダイクッション部材6も最下点に達し、上型(プレス軸)1が上昇を開始する時間c(図8参照)の近傍で、位置偏差が「0」または極めて小さな値となることから、位置制御に切換わり、サーボモータMd(ダイクッション部材6)は指令された位置(X5)に保持され停止状態となる。そして上型(プレス軸)1が上昇し、時間dの点でセンサ7で上型(プレス軸)1の通過が検出されFINが返されてくると(図8の時間d)、次のシーケンス番号N6のブロックの指令が実行され、位置、圧力指令分配・加減速処理部14から、プレス開始位置であるX=300の位置へ速度F=500で移動するよう分配処理がなされてサーボ制御部20へ出力される。このとき、上型(プレス軸)1は上昇しており、板金3、下型2、ダイクッション部材6から離れていることから、サーボ制御部20では、圧力偏差は大きく位置偏差は小さいので位置制御による速度指令Aが採用され位置制御が実行されることになり、ダイクッション部材6は、図8に示すように、初期のプレス開始位置(X300)に位置決めされ保持されることになり、NCプログラムの処理は終了する(M30)。
この図7のNCプログラムでダイクッション部材6を駆動するサーボモータMdを制御すれば、上述したような動作ができ、図9に示すように、板金3等にかかる圧力が過大圧力となることを防止することができ、図6と比較し、目標圧力に達するまでの時間はある程度短くできる。しかし、シーケンス番号N2のブロックの処理が終了するまで、次のシーケンス番号N3のブロックによる指令が実行されないことから、目標とする圧力に達するまで時間T3を要する。すなわち、圧力制御に切り替わってから目標とする圧力に制御するまで無駄な時間T3を要することになる。
移動しているものに移動してくるものが衝突する場合、その衝突位置にはずれが生じる。すなわち、移動しているダイクッション部材6、板金3に対して上型(プレス軸)1が移動して衝突する場合、その衝突位置にずれが生じる。前述したように停止している状態で衝突が生じると圧力がかかりすぎるという問題が生じ、これを避けるためにダイクッション部材6、板金3を移動させて逃がしながら、移動してくる上型(プレス軸)1と衝突させると、その移動位置にずれが生じることから、ダイクッション部材6、板金3を移動させている間に、上型(プレス軸)1との衝突が発生することを保証するために十分な逃げの移動量(シーケンス番号N2のブロックで指令する移動量)を指令する必要がある。しかし、この移動量が長いと、この移動量を分配処理して、その指令ブロックの処理が終了するまでに時間がかかり、次の指令である、目的とする圧力への指令を出力し実行するまでに時間を要することになる。すなわち、図9で、T3として示すように、ダイクッション部材6を逃げさせる逃げ量の分配処理が終了するまでの間、目標とする圧力に制御するのに時間がかかることになる。
そこで、本発明は、位置制御から圧力制御に切換わるとき、直ちに次の指令の制御に移行できるようにした位置制御と圧力制御を切り換え実行する数値制御方法、装置を提供することにある。
本願請求項1に係る発明は、圧力のフィードバック制御して得られる指令と位置のフィードバック制御して得られる指令を比較手段で比較し、値の小さい方の指令を選択することで自動的に圧力制御又は位置制御に切換えてサーボモータを制御するサーボ制御部と、NCプログラムに基づいて該NCプログラムのブロックの指令の実行が完了した後に次のブロックの指令を実行し、前記サーボ制御部へ位置指令及び圧力指令を出力する数値制御部を有する数値制御装置において、前記サーボ制御部は現在、位置制御中なのか圧力制御中なのかを前記数値制御部に通知する通知手段を備え、前記数値制御部は、圧力制御への切換指令が付加された移動指令の実行中に、前記サーボ制御部より圧力制御に切換わったことが通知されると当該移動指令の動作を途中で終了させ、実行中の指令の残り移動量を一挙にサーボ制御部に出力し、NCプログラムの次の指令の実行を開始する切換実行手段を備えるものとし、これによって、位置制御から圧力制御に切換わったとき次のブロックの指令を直ちに実行できるようにして、無駄な時間をなくし、高精度な制御を可能にした。
又、請求項2に係る発明は、前記サーボ制御部に出力する自軸への移動指令を他の軸の速度と同期し、かつ該他の軸の移動速度に応じた移動指令とし、前記切換実行手段による切り換えがなされたとき、同期を終了させてNCプログラムの次の指令の実行を開始するようにした。請求項に係る発明は、圧力制御に切換わった後、サーボ制御部へ出力された移動指令による位置と、圧力制御から位置制御に切換える目標位置に基づいて指令移動量を求め、該指令移動量の移動指令をサーボ制御部に出力する手段を備え、前記目標位置近傍で自動的に圧力制御から位置制御に切換わるようにした
又、請求項4〜6に係る発明は、上述した発明の数値制御装置が実施する位置制御と圧力制御の切換数値制御方法の発明であり、請求項に係る発明は、数値制御部より、サーボ制御部へ圧力指令と共に移動指令を出力し、前記サーボ制御部で位置制御を実施中に圧力制御に切換えられると、前記数値制御部は、現在実行中の移動指令の動作を途中で終了させ、現在実行中の指令の残り移動量を一挙にサーボ制御部に出力し、次の指令の実行を開始するようにしたものである。又、請求項に係る発明は、サーボ制御部へ出力する移動指令を、外部から入力される他の軸の速度と同期し、かつ該他の軸の移動速度に応じて移動指令としたものである。請求項に係る発明は、圧力制御に切換わった後、サーボ制御部へ出力した移動指令による位置と、圧力制御から位置制御に切換える目標位置に基づいて指令移動量を求め、該指令移動量の移動指令をサーボ制御部に出力するようにした。
位置制御から圧力制御に切換わったとき、直ちに次の指令の制御ができ、無駄な時間を省き、高精度な圧力制御ができると共に、サイクルタイムの短縮が図れる。
以下本発明の一実施形態を図面と共に説明する。
図10は、本発明の一実施形態の位置制御と圧力制御を切換て実施できる制御数値制御装置の機能ブロック図である。この数値制御装置も位置制御による速度指令Aと圧力制御による速度指令Bを比較し、小さい方の速度指令を選択して、位置制御もしくは圧力制御を切換て実施するものであるが、この比較器23で選択した状態、すなわち、位置制御を実施しているか、過圧力制御を実施しているかの状態を数値制御部10に通知するようにしている点で図2の従来例と相違すると共に、数値制御部10の位置、圧力指令分配・加減速処理部14の処理で、比較器23からの信号に基づいて、位置制御中に圧力制御に切換わったとき、その時実行している位置制御の移動指令の分配処理をその途中で中断し残りの移動指令をキャンセルし、次のブロックの指令を実行できるようにした点で相違するのみである。他の構成は図2に示した従来の位置、圧力制御を切換制御できる数値制御装置の構成と同一であるので、詳細な説明は省略する。また、図2に示した数値制御装置の要素と同一の要素は同一の符号を付している。
さらに、この位置制御中に圧力制御に切換わったとき、その時実行している位置制御の移動指令の分配処理をその途中で中断し次のブロックの指令の実行に移行するようなNCプログラムの指令コードを設けている。本実施形態は、このコードを「G102」としている。さらに圧力指令としてのコード「G100」、圧力を段階的に変更する指令としてのコード「G101」、又、圧力制御時間を指令するものとしてドウェルコード「G04」を設けている。
図11〜図14は、本実施形態におけるこの位置制御と圧力制御を切換制御する数値制御装置における数値制御部10のプロセッサが、位置、圧力指令分配・加減速処理部14の処理として実施するアルゴリズムを示すフローチャートである。
数値制御部10の位置、圧力指令分配・加減速処理部14の処理を実行するプロセッサは、NCプログラムを読み込み実行データに変換されたデータをブロック処理部13から読み込み(ステップa1)、このブロックの指令がプログラムエンドの指令か(「M30」か)(ステップa2)、圧力指令のG100か(ステップa3)、圧力変更指令G101か(ステップa4)、実行途中でも次のブロック指令の処理に移行させ指令のG102か(ステップa5)、ドウェルの指令G04か(ステップa6)、また、その他の従来からある移動指令か(ステップa7)を判断し、全てNOであれば、ステップa1で読み込んだブロックの指令を従来と同様に実行する(ステップa15)。
また、ステップa7で移動指令であると判別されたときは、このブロックで指令されている移動指令の指令内容(直線補間、円弧補間、速度、目標位置等)に基づいて、分配周期毎の移動量を求め(ステップa8)、加減速処理を行い(ステップa9)、残移動量の更新処理及び指令した現在位置の更新処理を行う(ステップa10)。この残移動量の更新処理は、このブロックで指令された移動量を、残移動量を記憶するレジスタに格納し、以後ステップa9で求められた出力移動量を減じて残移動量を更新する処理である。また、現在位置の更新処理は、数値制御部10がサーボ制御部20に指令した位置を更新するもので、レジスタに記憶する現在位置にステップa9で求めた出力移動量を加算することによって現在位置を更新する。次に、ステップa9で求めた出力移動量をサーボ制御部20に出力し(ステップa11)、残移動量が「0」か判断し(ステップa12)、残移動量が「0」でなければ、ステップa8に戻る。以下ステップa8からステップa12の処理を分配周期毎実行し、分配移動量を求め加減速処理してサーボ制御部へ分配周期毎の出力移動量をサーボ制御部20に出力する。そして、残移動量が「0」となると、ステップa1に戻る。
このステップa15及びステップa7〜ステップa12の処理は従来の処理と同じである。
一方、読み出した指令が「G100」であるとステップa13、ステップa14の処理を行い、「G101」であるとステップa16〜ステップa20の処理を行い、「G102」であるとステップa21〜ステップa29の処理を行い、「G04」であるとステップa30〜ステップa33の処理を行う。
そこで、この位置制御と圧力制御を切換て実施できる数値制御装置を用いて、位置制御と圧力制御を切換制御する例として、図1で示した、ピンなどの部品AをワークWに圧入する装置のサーボモータMを制御する例を説明する。
図15は、この装置を制御するNCプログラムの一例である。
図3に示す従来のNCプログラムの例と相違する点は、シーケンス番号N2のブロックにおいて、従来例では「G90 G01 X30.F500;」であった点が「G90 G102 X30.F500;」と変更されている点である。そして、この指令「G102」は、このブロックの指令を実行中に位置制御から圧力制御に切換わったことを示す信号が比較器23から入力されると、このブロックの移動指令の分配処理を最後まで実施せず、この信号を受けた時点で当該ブロックの処理を終了し次のブロックの指令の処理を開始するようにした指令である。このシーケンス番号N2のブロックの「G90 G102 X30.F500;」との指令は、速度F500でX軸を30の位置まで移動させる指令であり、この移動指令の分配中に位置制御から圧力制御に切換わると、このブロックの指令による分配処理を直ちに終了し、次のブロックの指令を実行するように指令したものである。
数値制御部10のプログラム解析処理部12では、NCプログラムより1ブロック毎読み取り実行データに変換しブロック処理部13に格納する。位置、圧力指令分配・加減速処理部14はブロック処理部13から1ブロックのデータを読み取り(ステップa1)、前述したように、プログラムエンドの指令か(「M30」か)(ステップa2)、圧力指令のG100か(ステップa3)、圧力変更指令G101か(ステップa4)、実行途中でも次のブロック指令の処理に移行させる指令のG102か(ステップa5)、ドウェルの指令G04か(ステップa6)、その他の移動指令か(ステップa7)判断するが、図15のNCプログラムでは、最初にシーケンス番号N1の「G100 Q10」の指令が読み込まれるので、ステップa3からステップa13に移行し、サーボ制御部20に出力する圧力指令Qoutを記憶するレジスタに当該ブロックで指令(Q10)された圧力「10」をセット(Qout=10)し、該レジスタに記憶する圧力指令Qoutをサーボ制御部20に出力し(ステップa13、a14)、ステップa1に戻る。このとき、サーボ制御部20では、サーボモータMを作業開始時の位置決め位置に保持されており、位置偏差は「0」または非常に小さい値であり、位置制御による速度指令Aは「0」もしくは小さい値である。一方、圧力指令Q(=10)が出力されているが、圧力センサSには圧力がかかっていないことから、圧力センサSからフィードバックされる圧力は「0」または小さな値であることから圧力偏差は大きく、この圧力偏差にゲインをかけて得られる圧力制御による速度指令Bは大きな値となり、比較器23は小さい速度指令の位置制御による速度指令Aを選択し、該サーボ制御部20は位置制御を実行している。
次のシーケンス番号N2のブロックが読み出され、このブロックの指令は「G102」の指令であることから、ステップa5からステップa21に移行し、サーボ制御部20から送られてくる圧力制御中か位置制御中かの信号に基づいて、圧力制御中か否か判断する。前述したように最初は位置制御中であることから、ステップa22に移行し、当該ブロックで指令された移動量ダイクッション軸であるX軸への移動量「30」と速度F(=500)に基づいて分配周期毎の移動量を求め加減速処理して、出力移動量を求めこの出力移動量をサーボ制御部20に出力し(ステップa23〜a25)、さらに現在位置、残移動量を更新し、残移動量が「0」か判断する(ステップa26)の処理を実行する。このステップa22〜ステップa26の処理はステップa8〜ステップa12の処理と同じである。
残移動量が「0」でなければステップa21に戻り、残移動量が「0」になるまで、ステップa21〜ステップa26の処理を分配周期毎実行する。この間、速度F=500で、正方向に30だけ移動するよう分配周期毎の移動量が求められ、加減速処理されてサーボ制御部20に出力される。サーボ制御部20の比較器23では、位置制御による速度指令Aと圧力制御による速度指令Bを比較しており、最初は、前述したように、圧力センサSからのフィードバック値は小さく圧力偏差は大きく速度指令Bも大きい。また、サーボモータMは指令に追従して移動することにより、位置偏差が小さく位置制御による速度指令Aは小さいことから、最初は位置制御が継続してなされる。
部品AがワークWに接触し、圧力センサSからフィードバックされる検出圧力が増大し、圧力偏差は減少する。一方、部品AがワークWの穴に圧入にされて、サーボモータMの移動は減速、停止することから、位置偏差が増大する。その結果、位置制御による速度指令(位置偏差にゲインをかけた値)Aより、圧力制御による速度指令(圧力センサにゲインをかけた値)Bの方が小さくなり、サーボ制御部20の比較器23は、圧力制御の速度指令Bを採用し、圧力制御に切換えることになる。
この圧力制御に切換わったことを、数値制御部10のプロセッサがステップa21で検出すると、ステップa27に移行し、残移動量を一挙に出力するよう設定されているか否か判断し、一挙に出力するように設定されていれば、この時点でレジスタに記憶されている残移動量を一挙のサーボ制御部20に出力し、現在位置を記憶するレジスタにこの出力した残移動量を加算して現在位置の更新を行い(ステップa28)、レジスタに記憶する残移動量を「0」とする(ステップa29)。また、残移動量を一挙に出力するよう設定されてなければ、ステップa28の処理を行うことなく(残移動量を出力することなく)、レジスタに記憶する残移動量を「0」にする(ステップa29)。ステップa26で残移動量が「0」になったと判別されたとき、及びステップa29で残移動量を「0」にセットした後、ステップa1に戻り次のブロック(シーケンス番号N3のブロック)が読み出されるので、このブロックで指令された処理を実行することになる。すなわち、シーケンス番号N2のブロックの指令により、位置制御によりサーボモータMdを制御している途中において、圧力制御に切換わったことが検出されると、このブロックの移動指令による移動途中にも拘わらず、直ちに次のブロックの処理を開始させるものである。
このとき、現在位置を記憶するレジスタには、数値制御部10からサーボ制御部20に指令した位置が記憶されており、サーボ制御部20のエラーカウンタ21には、この数値制御部10からサーボ制御部20に指令した位置に対して実際の位置との差である位置偏差が記憶されることになる。
次のシーケンス番号N3のブロックの指令は、その時の状態を維持させるドウェルの指令「G04」であることから、ステップa6からステップa30に移行し、当該ブロックのコードPで指令されている時間T(=250)を分配周期で割り、圧力上昇を完了させる分配周期数countを求めレジスタにセットし(ステップa30)、レジスタに記憶する分配周期数countから1減じる(ステップa31)。そして、該レジスタに記憶する分配周期数countが負となっていないか判断し(ステップa32)、負になるまで、ステップa31、a32の処理を分配周期毎繰り返し、負となると、分配周期数countを記憶するレジスタを「0」にセットしてステップa1に戻る。すなわち、シーケンス番号N3のブロックで指令された時間だけ、指令された圧力(シーケンス番号N1のブロックで指令されレジスタに設定されている指令圧力Qout)を保持し、この指令圧力と一致するようにサーボ制御部20は圧力のフィードバック制御を行う。
シーケンス番号N4以降のブロックの指令は図3で示した従来のプログラム例と同じである。すなわち、エラーレジスタに溜まっているサーボ位置偏差量を変数#5101で読み出し、読み出したサーボ位置偏差量の符号を反転させた値をサーボ制御部20に指令することで溜まっているサーボ位置偏差量を最高速度(240000)で0にする。これにより、指令位置と実位置が一致する。又現在位置を記憶するレジスタにもこの移動指令を加算して更新する。シーケンス番号N5のブロックを実行して位置制御にて待機位置(X100.)に戻る。このプログラムを実行した場合の位置と時間、実圧力と時間の関係は図16のようになる。
この図16と従来例の図4と比較して明らかのように、位置制御中に圧力制御に切り替わったとき、数値制御部は実行中のブロック(シーケンス番号N2のブロック)での指令の残り移動量をキャンセルしてブロックを終了させ、次のブロックの指令を実行することになることから、図4において、無駄で意図しない時間T4はなく、次のブロックで指令している「P250」による目標時間250msecの間、圧力を目標圧力に保持する制御ができるものである。このようにして圧力制御時間を正確に制御できるものである。又、図4の時間T4のような余分な時間をなくすことが可能となり、サイクルタイムの短縮に寄与できるである。
以上のように、目標圧力の時間幅を正確に制御することができることから、目標圧力を複数段に分けて、それぞれの目標圧力に対して指令時間幅だけ圧力制御することもできる。図17のNCプログラムは、目標圧力を2段階に分けて圧力を制御するときの例である。図15のプログラムに対してシーケンス番号N31、N32のブロックを追加したNCプログラムの例である。
圧力制御に切り替わった後、シーケンス番号N3で、時間250msecだけ指令(目標)圧力(Q10)に保持した後、シーケンス番号N31のブロックの指令を実行し(ステップa1〜a3、a13、a14)、次にシーケンス番号N32のブロックの指令を実行する(ステップa1〜a6、a30〜a33)。このシーケンス番号N31、N32のブロックの指令によって、時間200msecだけ指令(目標)圧力(Q20)に保持して、二段に分けて圧力をそれぞれに設定されている時間制御するものである。
なお、この実施形態のように、サーボ制御部での位置制御と圧力制御の切換え方式として、位置制御で求められる速度指令と圧力制御で求められる速度指令の小さい方を採用する方式を採用した場合等において、シーケンス番号N2のブロックでサーボ制御部が圧力制御に切換わったことにより、数値制御部が実行中のシーケンス番号N2のブロックの残移動量をキャンセルした場合、シーケンス番号31のブロックにおいて増圧しようとして押し込んだ段階で、位置制御で求められる速度指令が圧力制御で求められる速度指令を下回り、サーボ制御部は位置制御に戻ってしまう場合がある。この場合、所望の圧力(Q20)は得られない。
このような場合、シーケンス番号N2のブロックでの移動指令位置を少し多く設定しておき、サーボ制御部が圧力制御に切換わったことにより、数値制御部が実行中のシーケンス番号N2のブロックの残移動量を一挙にサーボ制御部へ出力するモード(図13のステップa27でYesとなるモード)を選択しておけばステップ27、28の処理が実行され、十分なサーボ位置偏差量が溜まり、結果、位置制御で求められる速度指令は大きくなるためシーケンス番号N31のブロックにおいて増圧しようとして押し込んでも圧力制御のままとなり、所望の圧力(Q20)が得られる。
図18は、図17に示すNCプログラムを実行し、シーケンス番号N2のブロックでサーボ制御部が圧力制御に切換わったことにより、数値制御部が実行中のシーケンス番号N2のブロックの残移動量を一挙にサーボ制御部へ出力した場合の位置と時間、実圧力と時間の関係を表した図である。
この圧力制御を複数段に分けて制御する場合、指令圧力の増加、減少を一挙に変更することなく、徐々に変更するようにしてもよいものであり、この場合はコード「G101」を使用するもので、例えば、図17において、シーケンス番号N31の指令を「G101 Q20 P5」と指令することによって、5msecかけて、指令圧力をQ20まで上昇させる指令となる。なお、この点は、次のダイクッション装置に本発明を適用したときの例で詳しく説明する。
次に、図5で示すプレス機械のダイクッション装置のダイクッション部材6を駆動するサーボモータMdの制御に本発明を適用したときの実施形態の例を説明する。すなわち、図5において、図5における数値制御装置5は図10に示す数値制御装置が用いられるものである。
また、このダイクッション制御としてのNCプログラムは図19に示すようなものとなる。図7で示した従来のダイクッション制御のNCプログラムと相違する点はシーケンス番号N2のブロックの指令において、図7で示す従来例では、「G01 G91 X−150.F500;」であった点が「G102 G91 X−150.F500;」と変更されている点である。
位置決めされた(例えば、位置300のプレス開始位置に位置決めされている)ダイクッション部材6の上に板金(ワーク)3を載置した状態で、上型(プレス軸)1が下降しセンサ7で、該上型(プレス軸)1が板金(ワーク)3に当接する直前の所定位置に達したことが検出され、このセンサ7からの検出信号を数値制御装置5が受け取ると、数値制御装置5は、図19で示したNCプログラムの実行開始する。数値制御部10のプログラム解析処理部12では、NCプログラムより1ブロック毎読み取り実行データに変換しブロック処理部13に格納する。位置、圧力指令分配・加減速処理部14はブロック処理部13から1ブロックのデータを読み取り、前述したように、プログラムエンドの指令か(「M30」か)(ステップa2)、圧力指令のG100か(ステップa3)、圧力変更指令G101か(ステップa4)、実行途中でも次のブロック指令の処理に移行させる指令のG102か(ステップa5)、圧力を保持する期間の指令のG04か(ステップa6)、その他の移動指令か(ステップa7)判断するが、図19のNCプログラムでは、最初にシーケンス番号N1の「G100 Q10」の指令が読み込まれるので、ステップa3からステップa13に移行し、サーボ制御部20に出力する圧力指令Qoutを記憶するレジスタに当該ブロックで指令(Q10)された圧力「10」をセット(Qout=10)し、該レジスタに記憶する圧力指令Qoutをサーボ制御部20に出力し(ステップa13、a14)、ステップa1に戻る。このとき、サーボ制御部20では、ダイクッション部材6を駆動するサーボモータMdは指令されている位置決め位置に保持されており、位置偏差は「0」または非常に小さい値であり、位置制御による速度指令Aは「0」もしくは小さい値である。一方、圧力指令Q(=10)が出力されが、上型(プレス軸)1は板金(ワーク)3、ダイクッション部材6,下型2に当接していないことから、圧力センサ4からフィードバックされる圧力は「0」または小さな値であることから圧力偏差は大きく、この圧力偏差にゲインをかけて得られる圧力制御による速度指令Bは大きな値となり、比較器23は小さい速度指令の位置制御による速度指令Aを選択し、該サーボ制御部20は位置制御を実行している。
次に読み込まれるシーケンス番号N2のブロックの指令は「G102」の指令であることから、ステップa5からステップa21に移行し、サーボ制御部20から送られてくる圧力制御中か位置制御中かの信号に基づいて、圧力制御中か否か判断する。前述したように最初は位置制御中であることから、ステップa22に移行し、当該ブロックで指令された移動量ダイクッション軸であるX軸への移動量「−150」と速度F(=500)に基づいて分配周期毎の移動量を求め加減速処理して、出力移動量を求めこの出力移動量をサーボ制御部20に出力し、さらに現在位置、残移動量を更新し、残移動量が「0」か判断する(ステップa26)の処理を実行する。このステップa21〜ステップa26の処理はステップa8〜ステップa12の処理と同じである。
残移動量が「0」でなければステップa21に戻り、残移動量が「0」になるまで、ステップa21〜ステップa26の処理を分配周期毎実行する。この間、速度F=500で、負方向(下方向)に150だけ移動するよう分配周期毎の移動量が求められ、加減速処理されてサーボ制御部20に出力される。サーボ制御部20の比較器23では、位置制御による速度指令Aと圧力制御による速度指令Bを比較しており、最初は、前述したように、上型1は板金3に当接していないから、圧力センサ4からのフィードバック値は小さく圧力偏差は大きく速度指令Bも大きい。また、ダイクッション部材6を駆動するサーボモータMdは指令に追従して移動することにより、位置偏差が小さく位置制御による速度指令Aは小さいことから、最初は位置制御が継続してなされる。
しかし、上型(プレス軸)1の下降速度は、シーケンス番号N2のブロックで指令されるクッション部材の下降速度F=500よりも速いことから、上型(プレス軸)1が板金(ワーク)3及びダイクッション部材6に追いつき、板金(ワーク)3、ダイクッション部材6及び下型2を押圧し、圧力センサからフィードバックされる検出圧力が増大し、圧力偏差は減少する。一方、ダイクッション部材6は、上型(プレス軸)1の下降速度で押し下げられることになるから、サーボモータMdの速度は、指令速度よりも速くなり、位置偏差が増大する。その結果、位置制御による速度指令(位置偏差にゲインをかけた値)Aより、圧力制御による速度指令(圧力センサにゲインをかけた値)Bの方が小さくなり、サーボ制御部20の比較器23は、圧力制御の速度指令Bを採用し、圧力制御に切換えることになる。
この圧力制御に切換わったことを、数値制御部10のプロセッサがステップa21で検出すると、ステップa27に移行し、残移動量を一挙に出力するよう設定されているか否か判断し、一挙に出力するように設定されていれば、この時点でレジスタに記憶されている残移動量を一挙にサーボ制御部20に出力し、現在位置を記憶するレジスタにこの出力した残移動量を加算して現在位置の更新を行い(ステップa28)、レジスタに記憶する残移動量を「0」とする(ステップa29)。また、残移動量を一挙に出力するよう設定されてなければ、ステップa28の処理を行うことなく(残移動量を出力することなく)、残移動量を「0」にする(ステップa29)。ステップa26で残移動量が「0」になったと判別されたとき、及びステップa29で残移動量を「0」にセットした後、ステップa1に戻り次のブロック(シーケンス番号N3のブロック)が読み出されるので、このブロックで指令された処理を実行することになる。すなわち、シーケンス番号N2のブロックの指令により、位置制御によりサーボモータMdを制御している途中において、圧力制御に切換わったことが検出されると、このブロックの移動指令による移動途中にも拘わらず、直ちに次のブロックの処理を開始させるものである。
このとき、現在位置を記憶するレジスタには、数値制御部10からサーボ制御部20に指令した位置が記憶されており、サーボ制御部20のエラーカウンタ21には、この数値制御部10からサーボ制御部20に指令した位置に対して実際の位置との差である位置偏差が記憶されることになる。
次のシーケンス番号N3のブロックの指令は、圧力指令値を変化させる「G101」の指令であり、ステップa4からステップa16に移行し、まず、当該ブロックのコードPで指令されている圧力上昇時間T(=15)を分配周期で割り、圧力上昇を完了させる分配周期数countを求めレジスタにセットし、該分配周期数countで、現在指令圧力Qout(=10)から当該ブロックで指令された圧力Qcom(=100)まで上昇させるための1分配周期あたりの圧力増加量ΔQを求める(ステップa16)。
ΔQ=(Qcom−Qout)/count
次に、レジスタに記憶する現在の圧力指令Qoutに圧力増加量ΔQを加算して新たな圧力指令Qoutを求めレジスタに記憶すると共に、レジスタに記憶する分配周期数countから1減じる(ステップa17)。そして、該レジスタに記憶する分配周期数countが負となっていないか判断し(ステップa18)、負となっていなければ、ステップa17で更新してレジスタに記憶する圧力指令Qoutをサーボ制御部20に出力する(ステップa19)。サーボ制御部20では、すでに圧力制御に切換わっているので、この新たに指令された圧力指令に基づいて圧力制御がなされる。以下、分配周期数countが負となるまでステップa17からステップa19の処理を分配周期毎実施し、分配周期数countが負となった時点では、サーボ制御部に出力される圧力指令値は、このシーケンス番号N3で指令された指令圧力「Q100」のQout=100に達しており、分配周期数countが負になったことがステップa18で検出されると、ステップa20に移行して分配周期数countを記憶するレジスタを「0」にセットしてステップa1に戻る。
なお、この圧力制御に切換わったとき実行されるシーケンス番号N3のブロック中に、周辺機器等を制御する指令をも共に入力しておくことによって、圧力制御に切換わった時点で、周辺機器等の制御をも行うことができるものである。
図20は、この実施形態における指令圧力(破線)と圧力センサ4からフィードバックされる圧力フィードバック値(実線)で表した図である。この図20に示すように、サーボ制御部20が位置制御から圧力制御に切換わると、直ちに指令圧力が目標とする指令圧力への上昇が開始されことになり、指令された時間P(=15)に達した時点では、目標とする圧力Q(=100)に指令圧力が達している。図9と比較して明らかのように、目標とする指令圧力に達するまでの時間が短縮されることになる。
次のシーケンス番号N4のブロックでの指令「G01」は、通常の直線補間指令であるから、ステップa7からステップa8に移行して前述したステップa8以下の処理が実行されることになるが、このブロックの指令は、上型(プレス軸)1の最下点に対応する最下点位置X(=5)(絶対位置)まで、速度240000(最高速度)で移動せよとの指令であることから、指令位置X(=5)から、レジスタに記憶するサーボ制御部20への現時点までの指令位置である現在位置を減じて移動量を求め、この移動量と指令速度「F240000」に基づいて分配周期毎の移動量が求められ、分配周期毎、この移動指令が加減速処理して出力されることになる。そして、残移動量が「0」になると、ステップa1に戻り、次のシーケンス番号N5のブロックの指令の補助機能M200が実行され、この状態で、FIN信号が返るまで待ちの状態となる。なお、この実施形態では、設定所定時間をかけて指令圧力を低圧力から目標とする高圧力に変更するようにしたが、一旦、低圧力による圧力制御に移行した後は、直ちに目標とする高圧力の圧力指令を出しても、圧力のオーバシュートを小さく抑えることができる場合もあるので、このような場合は、低圧力による圧力制御に移行した後は、直ちに目標とする高圧力の圧力指令を出すようにしてもよい。
その後、上型(プレス軸)1が最下点まで達し、ダイクッション部材6も最加点に達し、上型(プレス軸)1の上昇開始点近傍で、位置偏差が「0」または極めて小さな値となるので、位置制御に切換わり、サーボモータMd(ダイクッション部材6)は指令された位置X=5に保持され、停止状態となる。上型(プレス軸)1が最下点に達した後は該上型(プレス軸)1は上昇するが、サーボモータMd(ダイクッション部材6)は上型(プレス軸)1より外力が付加されないから、位置偏差は「0」または極めて小さな値を保持し、位置制御の速度指令Aの方が圧力制御の速度指令Bより小さいので、サーボモータMd(ダイクッション部材6)は、この位置X=5を保持するものである。
そして上型(プレス軸)1が上昇し、センサ7で上型(プレス軸)1の通過が検出されFINが返されてくると、次のシーケンス番号N6のブロックの指令が実行され、ステップa8〜ステップa12の処理によって、プレス開始位置であるX300の位置へ速度F500で移動するよう分配処理がなされてサーボ制御部20へ出力される。このとき、上型(プレス軸)1は上昇しており、板金3、下型2、ダイクッション部材6から離れていることから、サーボ制御部20では、圧力偏差は大きく位置偏差は小さいので位置制御による速度指令Aが採用され位置制御が実行されることになり、ダイクッション部材6は、初期のプレス開始位置X=300に位置決めされ保持されることになる。
初期のプレス開始位置X=300までの移動指令の出力が完了し残移動量が「0」となると、ステップa1に戻り次のシーケンス番号N7のブロックの指令が読み出され、このブロックの指令は「M30」でプログラム終了であることから、ステップa2でこれを判別してこのNCプログラムの処理を終了する。
なお、上述した実施形態では、図19のシーケンス番号N3のブロックの指令で目標圧力への指令を行った後、シーケンス番号N4のブロックの圧力制御から位置制御へ切換える位置までの移動指令を指令しているが、図21に示すように、図19におけるシーケンス番号N4の指令ブロックをなくし、シーケンス番号N2のブロックの指令を圧力制御から位置制御へ切換える位置までの移動指令(X=5)とし、かつ、このブロック実行中で圧力制御に切換えるとき残移動量を一挙に出力するようにすればよい。このときの上型(プレス軸)1、ダイクッション指令位置、ダイクッション部材6の実際の位置との関係は図22となる。
また、上型1とダイクション部材6との衝突時の圧力は、上型1とダイクッション部材6との相対速度に依存する部分が大きい。すなわち、相対速度が大きければ衝突時の圧力は高くなり、逆に相対速度が小さければ衝突時の圧力は低くなる。上型1の速度はオーバライドなどによって変更されるため、衝突時に得られる圧力のぶれを少なくするために相対速度を一定にしようとすると、上型1の速度に応じてダイクッションの速度を調整しなければいけなくなる。この場合、上型1の速度に応じてプログラム指令を変更するよりも、ダイクッション装置の構成を図23のように、上型(プレス軸)1の位置、速度を検出する位置・速度検出器8を設け、該位置・速度検出器8からの上型1の速度情報を取り込むようにする。そして、図19のシーケンス番号N2のブロックを以下のような指令にする。この方法では、上型1とダイクッション部材6を同期させたほうが速度に応じてプログラムを変更する必要もなく制御しやすいものとなる。
N2 G110 G91 X−150.F250;
このような同期動作をさせるプログラムを実行した場合、上型が所望圧力に見合う相対速度以上の速度が常に出るような装置であれば、最初から所望圧力に見合う相対速度を指令すればよいが、上型が所望圧力に見合う相対速度よりも遅い速度で動作して衝突することがありえる装置では、従来技術として説明したように、最初に低い圧力指令を行い、圧力制御に切換わってから圧力指令を上昇させて圧力を上げる制御を行うようにする。このような場合、上型1の速度に対応してダイクション部材6の指令移動距離が異なるので、指令移動距離としては上型1が最高速度で動作した場合に上型1とダイクッション部材6が衝突するための距離以上の値を指令しないといけない。この場合、上型1が低速で動作すると、ダイクッション部材6の移動開始から衝突するまでの移動距離が短くなり衝突後の残移動量が長くなるため、衝突後に同期して移動させるブロックの指令の実行が終了するまでに時間がかかる。これを解決する手段としては、サーボ制御部が圧力制御になったことで同期動作を終了して、次ブロックに移行すればよい。すなわち、この同期制御を行う処理は、図11〜14に示した数値制御部10のプロセッサの処理が、図24、図12〜図14に示す処理に変わるものである。すなわち、指令「G110」かの判断と該指令「G110」に対応する処理のステップa100〜ステップa105の処理が加わるものとなる。
「G110」の指令が読み込まれると(ステップa100)、プロセッサは、まず位置・速度検出器8からの速度情報が該ブロックで指令された速度指令F(上記プログラム例ではF=250)の方向と一致するか判断し(ステップa101)、一致しなければ、指令する速度を「0」とする(ステップa105)。一致しておれば、この位置・速度検出器8から取り込んだ外部速度情報をFmとし(ステップa102)、該速度情報Fmと当該ブロックで指令した速度(F=250)と比較し、外部速度情報Fmが当該ブロックで指令した速度Fより速いときには、速度指令をFm−Fとして、上型1とダイクッション部材の相対速度を当該ブロックで指令した速度F(=250)とし(ステップa104)、ステップa21に移行する。また、当該ブロックで指令した速度Fが外部速度情報Fm以上のときには、速度指令を「0」としステップa21に移行する。これによって、上型1とダイクッション部材6の相対速度は、当該ブロックで指令した速度Fよりも小さい外部速度情報Fmとなる。その結果、上型1とダイクッション部材6の相対速度は、当該ブロックで指令した速度より常に小さい速度となり、この状態で上型1とダイクッション部材6は衝突時に大きな圧力の発生はなくなる。
なお、上述した各実施形態において、位置制御から圧力制御に切換わるとき、残移動量をキャンセルするか一挙に出力するかの選択を、予めパラメータ等で設定ものとしたが、図19、図21に示したプログラム例において、シーケンス番号N2のブロックでの指令中に、例えば、残移動量をキャンセルさせるときには指令P0、残移動量を一挙に出力させるときには指令P1を設けるようにしてもよい。さらには、例えば、「G102」「G103」を設けて、残移動量をキャンセルするときは「G102」を、また、残移動量を一挙に出力させるときには「G103」を用いて、図19、図21のプログラムにおけるシーケンス番号N2のブロックの指令として、残移動量をキャンセルするか、一挙に出力するかを選択するようにしてもよいものである。
なお、上述した実施形態では、位置制御から圧力制御へ、また圧力制御から位置制御に自動的に切換える方法として、位置フィードバック制御による速度指令Aと圧力フィードバック制御による速度指令Bを比較し、小さい速度指令の方の制御に切換えるようにしたが、特許文献3に記載されているように、位置フィードバック制御及び速度フィードバック制御によって求められたトルク指令と、圧力フィードバック制御によって求められトルク指令(トルク指令に対応するように圧力フィードバックゲインが調整されている)を比較器で比較し、小さい方のトルク指令の制御(位置、速度制御かまたは圧力制御か)に自動的に切換える場合にも本発明は適用できるものである。
ピンなどの部品をワークに圧入する装置の動作説明図である。 位置制御と圧力制御を切換て制御できる従来の数値制御装置の概要図である。 ピンなどの部品をワークに圧入する装置に用いる従来のNCプログラムの一例である。 図3に示すプログラムによる動作説明図である。 本発明の一実施形態の数値制御装置が用いられる例のプレス機械におけるダイクッション装置の概要図である。 従来のプレス機械におけるダイクッション装置において、上型がダイクッション部材に衝突するとき、ダイクッション部材を下方に逃がしたとき、発生する圧力の変化を示す図である。 上型がダイクッション部材に衝突したとき、圧力指令を低圧と目標とする高圧の2段に分けて制御したときのNCプログラムの例である。 図7に示したNCプログラムを実行したときの上型(プレス軸)、ダイクッション部材への位置指令、ダイクッション部材の実際の位置の関係を表す図である。 図7に示したNCプログラムを実行したときの圧力指令と実際の圧力を示す図である。 本発明の数値制御装置の一実施形態の概要ブロック図である。 同実施形態における位置制御と圧力制御の切換制御処理のアルゴリズムを示すフローチャートである。 図11に示したフローチャートの続きである。 図11に示したフローチャートの続きである。 図11に示したフローチャートの続きである。 ピンなどの部品をワークに圧入する装置に本発明を適用したときの実施形態におけるNCプログラムの一例である。 図15に示すプログラムによる動作説明図である。 ピンなどの部品をワークに圧入する装置に本発明を適用したときの実施形態における2段の圧力制御を行うときのNCプログラムの一例である。 図17に示すプログラムによる動作説明図である。 本発明をプレス機械におけるダイクッション装置に適用したときの実施形態におけるNCプロクラムの例である。 本発明をプレス機械におけるダイクッション装置に適用したときの実施形態における圧力指令と実際の圧力を示す図である。 本発明の別の実施形態において実行されるNCプロクラムの例である。 図21に示したNCプログラムを実行したときの上型(プレス軸)、ダイクッション部材への位置指令、ダイクッション部材の実際の位置の関係を表す図である。 本発明の数値制御装置が用いられる別の態様のプレス機械におけるダイクッション装置の概要図である。 図23に示した別の態様のプレス機械におけるダイクッション装置において、上型の速度と同期してダイクッション部材の速度を制御する本発明の別の実施形態における位置制御と圧力制御の切換制御処理のアルゴリズムを示すフローチャートの一部である。
符号の説明
A 部品
W ワーク
B ボールネジ/ナット
1 上型(プレス軸)
2 下型
3 板金(ワーク)
S、4 圧力センサ
5 数値制御装置
6 ダイクッション部材
7 位置センサ
8 位置・速度検出器
10 数値制御部
20 サーボ制御部

Claims (6)

  1. 圧力のフィードバック制御して得られる指令と位置のフィードバック制御して得られる指令を比較手段で比較し、値の小さい方の指令を選択することで自動的に圧力制御又は位置制御に切換えてサーボモータを制御するサーボ制御部と、NCプログラムに基づいて該NCプログラムのブロックの指令の実行が完了した後に次のブロックの指令を実行し、前記サーボ制御部へ位置指令及び圧力指令を出力する数値制御部を有する数値制御装置において、
    前記サーボ制御部は現在、位置制御中なのか圧力制御中なのかを前記数値制御部に通知する通知手段を備え、前記数値制御部は、圧力制御への切換指令が付加された移動指令の実行中に、前記サーボ制御部より圧力制御に切換わったことが通知されると当該移動指令の動作を途中で終了させ、実行中の指令の残り移動量を一挙にサーボ制御部に出力し、NCプログラムの次の指令の実行を開始する切換実行手段を備えたことを特徴とする位置制御と圧力制御を切り換え実行する数値制御装置。
  2. 自軸を他の軸の速度と同期し、かつ該他の軸の移動速度に応じた自軸の移動指令を前記サーボ制御部に出力する同期動作において、前記切換実行手段による切り換えがなされたとき、同期を終了させてNCプログラムの次の指令の実行を開始することを特徴とする請求項1に記載の位置制御と圧力制御を切り換え実行する数値制御装置。
  3. 圧力制御に切換わった後、サーボ制御部へ出力された移動指令による位置と、圧力制御から位置制御に切換える目標位置に基づいて指令移動量を求め、該指令移動量の移動指令をサーボ制御部に出力する手段を備え、前記目標位置近傍で自動的に圧力制御から位置制御に切換わるようにした請求項1又は請求項2に記載の位置制御と圧力制御を切り換え実行する数値制御装置。
  4. 圧力のフィードバック制御して得られる指令と位置のフィードバック制御して得られる指令を比較し、値の小さい方の指令を選択することで自動的に圧力制御又は位置制御に切換えてサーボモータを制御するサーボ制御部と、NCプログラムに基づいて次の指令を実行し、前記サーボ制御部へ位置指令及び圧力指令を出力する数値制御部を有する数値制御装置による位置制御と圧力制御の切換数値制御方法において、
    前記数値制御部より、前記サーボ制御部へ圧力指令と共に移動指令を出力し、前記サーボ制御部で位置制御を実施中に圧力制御に切換えられると、前記数値制御部は、現在実行中の移動指令の動作を途中で終了させ、現在実行中の指令の残り移動量を一挙にサーボ制御部に出力し、次の指令の実行を開始するようにしたことを特徴とする位置制御と圧力制御の切換数値制御方法。
  5. サーボ制御部へ出力する移動指令は、自軸を他の軸の速度と同期し、かつ該他の軸の移動速度に応じた自軸の移動指令である請求項4に記載の位置制御と圧力制御の切換数値制御方法。
  6. 圧力制御に切換わった後、サーボ制御部へ出力した移動指令による位置と、圧力制御から位置制御に切換える目標位置に基づいて指令移動量を求め、該指令移動量の移動指令をサーボ制御部に出力するようにした請求項4又は請求項5に記載の位置制御と圧力制御の切換数値制御方法。
JP2006215867A 2006-08-08 2006-08-08 位置制御と圧力制御を切り換え実行する数値制御装置及び数値制御方法 Active JP4199270B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006215867A JP4199270B2 (ja) 2006-08-08 2006-08-08 位置制御と圧力制御を切り換え実行する数値制御装置及び数値制御方法
EP07112182A EP1887445B1 (en) 2006-08-08 2007-07-10 Numerical controller
CNB2007101402350A CN100511052C (zh) 2006-08-08 2007-08-06 数值控制装置
US11/889,052 US7659681B2 (en) 2006-08-08 2007-08-08 Numerical controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006215867A JP4199270B2 (ja) 2006-08-08 2006-08-08 位置制御と圧力制御を切り換え実行する数値制御装置及び数値制御方法

Publications (2)

Publication Number Publication Date
JP2008040886A JP2008040886A (ja) 2008-02-21
JP4199270B2 true JP4199270B2 (ja) 2008-12-17

Family

ID=38814506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006215867A Active JP4199270B2 (ja) 2006-08-08 2006-08-08 位置制御と圧力制御を切り換え実行する数値制御装置及び数値制御方法

Country Status (4)

Country Link
US (1) US7659681B2 (ja)
EP (1) EP1887445B1 (ja)
JP (1) JP4199270B2 (ja)
CN (1) CN100511052C (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2452022T3 (es) * 2006-02-06 2014-03-31 Abb Research Ltd. Sistema de línea de prensas y método
JP2009217627A (ja) * 2008-03-11 2009-09-24 Fanuc Ltd 圧力制御と位置制御とを切り換える機能を有する数値制御装置
DE112012005645T5 (de) * 2012-02-06 2014-10-30 Mitsubishi Electric Corporation Vorrichtung zur numerischen Steuerung
JP5958188B2 (ja) * 2012-08-30 2016-07-27 ブラザー工業株式会社 数値制御装置
JP2014067079A (ja) 2012-09-24 2014-04-17 Fanuc Ltd 圧力制御と位置制御とを切換える機能を有する数値制御装置
JP6346206B2 (ja) * 2016-01-14 2018-06-20 ファナック株式会社 ブロック時間表示手段を有する数値制御装置
JP6696386B2 (ja) * 2016-09-29 2020-05-20 ブラザー工業株式会社 数値制御装置と制御方法
JP6426691B2 (ja) * 2016-12-22 2018-11-21 ファナック株式会社 数値制御装置
JP6603260B2 (ja) * 2017-04-27 2019-11-06 ファナック株式会社 数値制御装置
JP6603272B2 (ja) 2017-07-18 2019-11-06 ファナック株式会社 情報収集装置及び情報収集方法
JP6616391B2 (ja) * 2017-12-22 2019-12-04 ファナック株式会社 加工機械におけるサーボモータ制御装置
JP6748140B2 (ja) * 2018-04-06 2020-08-26 ファナック株式会社 工作機械の制御装置
JP7381294B2 (ja) * 2019-10-30 2023-11-15 ファナック株式会社 ダイクッション上の被加工物を加工する加工機械の制御装置
JP2023029076A (ja) * 2021-08-20 2023-03-03 ミネベアミツミ株式会社 把持装置及び把持装置の制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4820464A (en) * 1984-07-19 1989-04-11 Toshiba Kikai Kabushiki Kaisha Method for controlling injection molding machine
JPS62127221A (ja) * 1985-11-29 1987-06-09 Fanuc Ltd 射出成形機における射出制御装置
JP2608784B2 (ja) * 1989-07-27 1997-05-14 ファナック株式会社 電動式射出成形機
US5371450A (en) * 1992-08-10 1994-12-06 Sumitomo Heavy Industries, Ltd. Control unit capable of smoothly carrying out a switching operation between position and pressure feedback control systems
JPH07132385A (ja) 1993-11-10 1995-05-23 Fanuc Ltd レーザ加工装置
JPH1133799A (ja) 1997-07-23 1999-02-09 Komatsu Ltd 電動プレスの制御方法及び制御装置
JP4015139B2 (ja) * 2004-06-28 2007-11-28 ファナック株式会社 鍛圧機械のサーボモータ制御装置
JP2006122944A (ja) * 2004-10-28 2006-05-18 Fanuc Ltd ダイクッション制御装置
JP2006212644A (ja) * 2005-02-01 2006-08-17 Fanuc Ltd ダイクッション制御装置
JP4168039B2 (ja) * 2005-03-28 2008-10-22 ファナック株式会社 射出成形機の制御装置
JP4027380B2 (ja) * 2005-06-02 2007-12-26 ファナック株式会社 射出成形機の制御装置

Also Published As

Publication number Publication date
CN101122789A (zh) 2008-02-13
EP1887445A2 (en) 2008-02-13
EP1887445B1 (en) 2011-10-19
EP1887445A3 (en) 2010-04-14
JP2008040886A (ja) 2008-02-21
US7659681B2 (en) 2010-02-09
CN100511052C (zh) 2009-07-08
US20080054829A1 (en) 2008-03-06

Similar Documents

Publication Publication Date Title
JP4199270B2 (ja) 位置制御と圧力制御を切り換え実行する数値制御装置及び数値制御方法
EP2101233A2 (en) Numerical controller having function to switch between pressure control and position control
US7915851B2 (en) Numerical controller controlling acceleration and deceleration of respective control axes up to command speeds
US20160091886A1 (en) Numerical control device
JP4235210B2 (ja) サーボモータの制御装置
CN108621153B (zh) 控制系统、控制器以及控制方法
US20140084838A1 (en) Numerical controller having function for switching between pressure control and position control
JP2007245247A (ja) プログラム確認機能を有する機械
JP2016162313A (ja) 絶対位置検出器を使用した機械座標値の再確立を行う数値制御装置
JP2007172068A (ja) 数値制御装置
JP4216245B2 (ja) ダイクッション機構の制御装置
JP2017033345A (ja) 同期開始ブロックのショックを解消する機能を有する同期制御装置
JP5030628B2 (ja) 干渉チェックシステム
JP6356658B2 (ja) プレスの調整が容易な数値制御装置
JP2012137990A (ja) 数値制御装置、移動制御方法、移動制御プログラム及び記憶媒体
KR20140102765A (ko) 지령 생성 장치 및 지령 생성 방법
US9740196B2 (en) Numerical controller for controlling drilling operation
JP2005316747A (ja) 同期制御装置
JP2017129972A (ja) 数値制御装置
CN106970652B (zh) 运动控制器
JP2007122549A (ja) Xyテーブルの円弧補間制御方法
CN109308050B (zh) 数值控制装置
JP6923587B2 (ja) サーボモータ制御装置
JP2005178285A (ja) 多軸駆動装置
JP2006072909A (ja) 数値制御装置

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080519

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080916

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081002

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4199270

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5