以下に添付の図を参照してこの発明の実施の形態を詳細に説明する。なお、以下に説明するこの発明の実施の形態において上述の従来例と同一構成の部分は、上述の従来例に付した符号と同一の符号を付してその説明を省略する。
(実施の形態1)
図1はこの発明による数値制御装置の実施の形態1を示している。
この数値制御装置1は、加工プログラム解析処理部10に、加工プログラム解析手段11に加えて、終点待ち合わせ指令解析手段13と、終点位置サーチ手段14と、実行時間計算手段15とを有している。
終点待ち合わせ指令解析手段13は、終点待ち合わせ元側の系統の加工プログラムあるいは終点待ち合わせ相手側の系統の加工プログラムの各々に記述された終点待ち合わせ指令を解析する。
終点待ち合わせ指令元側の終点待ち合わせ指令のフォーマットは、例えば、"!n Ll G160 Qq X_orY_orZ_;"と定義され、終点待ち合わせ指令相手側の終点待ち合わせ指令のフォーマットは、例えば、"!m Ll Qq;"と定義される。ここで、nは終点待ち合わせ指令相手の系統番号、mは終点待ち合わせ指令元の系統番号、lは待ち合わせ識別番号、qは終点待ち合わせブロック、X_orY_orZ_は終点待ち合わせ指令位置である。なお、L指令と終点待ち合わせ指令元側の終点待ち合わせ指令のQ指令は省略することができ、L指令が省略されると、LOになり、Q指令が省略されると、最初のXorYorZ軸位置指定が終点待ち合わせ指令位置となる。
例えば、系統7のN100ブロックを、系統1のX軸が2.0の位置に軸移動した時点で完了させたい場合には、系統1が終点待ち合わせ元側となって終点待ち合わせ指令は、"!7 G160 X2.0;"となり、系統7が終点待ち合わせ相手側となって終点待ち合わせ指令は、"!1 Q100;"となる。この場合の系統1と系統7の加工プログラム例が図2に示されている。
終点位置サーチ手段14は、終点待ち合わせ指令解析手段13により解析された終点待ち合わせ元側の終点待ち合わせ指令が指定する終点待ち合わせ位置あるいは終点待ち合わせ相手側の終点待ち合わせ指令が指定する終点待ち合わせブロックとを各系統の加工プログラムにおいてサーチする。
なお、終点位置サーチ手段14は、終点待ち合わせ元側の系統の終点待ち合わせ指令が終点待ち合わせ位置についてブロックを指定(Q指令)している場合には、その終点待ち合わせ指令で指定されたブロックqにおける終点待ち合わせ位置をサーチする。
終点待ち合わせ元側の系統の終点待ち合わせ指令が終点待ち合わせ位置についてブロックを指定している場合の加工プログラム例は図3に示されている。この加工プログラム例では、系統1のX軸が、N100のブロックで、1.0の位置に軸移動した時点で、系統7のN120ブロックが完了する。
実行時間計算手段15は、終点位置サーチ手段14によってサーチされた終点待ち合わせ位置あるいは終点待ち合わせブロックまでの加工プログラムの実行時間を演算する。例えば、図4に示されているように、毎分600mmの送り速度で100mm移動する場合で、加減速時定数を30msecすると、実行時間は、100/(600/60)+0.03=10.03secとなる。
補間処理部30は、補間処理手段31に加えて、終点待ち合わせ起動時間制御手段33と、実行時間計測手段34と、実行時間補正手段35と、条件取り込み手段36とを有している。
終点待ち合わせ起動時間制御手段33は、実行時間計算手段15の演算結果あるいは後述する実行時間補正手段35による実行時間の補正更新値から終点待ち合わせ元側の系統における終点待ち合わせ位置までの軸移動処理と終点待ち合わせ相手側の系統における終点待ち合わせブロックの実行とが同時に完了するようにその両系統のプログラム処理のスタート時間を調整する。終点待ち合わせ起動時間制御手段33は、具体的には、実行時間が短い側の系統のプログラム処理のスタートを所定の待ち時間をもって遅らせる処理を行う。
実行時間計測手段34は、終点位置サーチ手段14によってサーチされた終点待ち合わせ位置あるいは終点待ち合わせブロックまでの実際の加工プログラムの実行時間を計測する。
実行時間補正手段35は、加工プログラムの2回目以降の実行時において実行時間計算手段15によって計算された各系統の実行時間を1回目に実行時間計測手段34によって計測した実行時間に置き換えて実行時間の補正を行う。
条件取り込み手段36は終点待ち合わせ指令時の変数値を取り込む。この場合、実行時間計算手段15は条件取り込み手段36が取り込んだ変数値を判定して上述の実行時間を計算する。
つぎに、図5〜図7に示されているフローチャートを参照して上述の構成による数値制御装置における終点待ち合わせ動作について説明する。なお、ここでは、図2に示されているように、終点待ち合わせ指令元側の終点待ち合わせ指令のQ指令が省略されている場合について説明する。
図5は終点待ち合わせ指令元側(系統1)における実行時間取得ルーチンを示している。このルーチンでは、終点待ち合わせ指令解析手段13が終点待ち合わせ指令を解析すると(ステップS10肯定)、条件取り込み手段36が終点待ち合わせ指令時の変数値を取り込み、これをメモリ20に記憶する(ステップS11)。
つぎに、現在の加工プログラムの実行回数が2回目以降で、メモリ20に記憶された変数のうち、判定で使われた変数値に変化がないか否かを判定する(ステップS12)。
加工プログラムの実行回数が1回目であるか、メモリ20に記憶された変数のうち、判定で使われた変数値に変化があった場合には(ステップS12否定)、終点位置サーチ手段14が、終点待ち合わせ指令以降のブロックであって計算対象のブロックに、終点待ち合わせ指令によって指定された終点待ち合わせ座標(位置)が存在するか否かをチェックする(ステップS13)。
終点待ち合わせ座標(位置)が存在しない場合には(ステップS13否定)、実行時間計算手段15がメモリ20に記憶された変数値を判定しながら、例えば、IF〔♯101EQ0〕GOTO3のような分岐命令を判定しながらブロックの実行時間を計算し(ステップS14)、またMSTB指令については、パラメータで決められた値(時間)をメモリ20より読み出し、この時間を読み出すことによって実行時間を所得してこれを加算する(ステップS15)。ここで、♯101は変数を表している。
なお、M:補助指令,S:主軸回転数指令,T:工具選択指令,B:第2補助指令等は、機械側の条件等によって実行時間が変わるため、予め、パラメータ等で実行時間をメモリに記憶させてある。
計算対象のブロックに、終点待ち合わせ指令によって指定された終点待ち合わせ座標が存在する場合には(ステップS13肯定)、そのブロックにおける終点待ち合わせ座標までの実行時間を計算し(ステップS16)、実行時間の合計(図8の系統1の実行時間A+B)を算出する(ステップS17)。
プログラム実行が2回目以降で、メモリ20に記憶された変数のうち、判定で使われた変数値に変化がない場合には(ステップS12肯定)、実行時間補正手段35が1回目のプログラム実行時に実測(計測)された時間を実行時間として置き換える(ステップS18)。
図6は終点待ち合わせ指令相手側(系統7)における実行時間取得ルーチンを示している。このルーチンでは、終点待ち合わせ指令解析手段13が終点待ち合わせ指令を解析すると(ステップS20肯定)、条件取り込み手段36が終点待ち合わせ指令時の変数値をメモリ20に記憶する(ステップS21)。
つぎに、現在の加工プログラムの実行回数が2回目以降で、メモリ20に記憶された変数のうち、判定で使われた変数値に変化がないか否かを判定する(ステップS22)。
加工プログラムの実行回数が1回目であるか、メモリ20に記憶された変数のうち、判定で使われた変数値に変化があった場合には(ステップS22否定)、終点位置サーチ手段14が、計算対象のブロックが終点待ち合わせ指令によって指定された終点待ち合わせブロックであるか否かをチェックする(ステップS23)。
指定された終点待ち合わせブロックでない場合には(ステップS23否定)、指令元と同様に、実行時間計算手段15がメモリ20に記憶された変数値を判定しながらブロックの実行時間を計算し(ステップS24)、またMSTB指令については、パラメータで決められた値(時間)をメモリ20より読み出し、この時間を読み出すことによって実行時間を所得してこれを加算する(ステップS25)。
計算対象のブロックが、終点待ち合わせ指令によって指定された終点待ち合わせブロックである場合には(ステップS23肯定)、そのブロックの実行時間を計算し(ステップS26)、実行時間の合計(図8の系統7の実行時間C)を算出する(ステップS27)。
プログラム実行が2回目以降で、メモリ20に記憶された変数のうち、判定で使われた変数値に変化がない場合には(ステップS22肯定)、実行時間補正手段35が1回目のプログラム実行時に実測(計測)された時間を実行時間として置き換える(ステップS28)。
図7は終点待ち合わせ起動時間制御ルーチンを示している。このルーチンでは、指令元側と指定相手側の両系統の実行時間を終点待ち合わせ起動時間制御手段33が読み取り(ステップS30,S31)、両者を比較し、指令元系統の終点待ち合わせ位置までの軸移動処理と終点待ち合わせ相手側の系統における終点待ち合わせブロックの実行とが同時に完了するように実行時間が短い方の系統(系統1)のプログラム実行スタート時間sを計算する(ステップS32)。
つぎに、終点待ち合わせ起動時間制御手段33が実行時間の長い系統(系統7)のプログラム実行をスタートさせる指令を補間処理手段31に出す(ステップS33)。
終点待ち合わせ起動時間制御手段33は、時間カウントを行い(ステップS34)、実行時間が短い方の系統のプログラム実行スタート時間になれば(ステップS35肯定)、この系統のプログラム実行をスタートさせる(ステップS36)。
実行時間計測手段34は各々の系統のプログラムの実行時間を計測する(ステップS37)。
図8は上述の如き終点待ち合わせ動作のタイミングチャートを示している。このタイミングチャートは、図2に示されている加工プログラムの実行によるものであり、(1)〜(5)(なお、図面では丸数字にて表示する)は図2における(1)〜(5)に整合している。
このタイミングチャートでは、時点tで、系統1のX軸がX=2.0の座標位置に位置し、この時点tで、系統7のNブロック100の実行が完了している。
これにより、ワークを突き切りバイト(系統1X軸)で切断し、落下する切断部材(製品)をセパレータ(系統7)で受け止めるような場合には、セパレータに切り屑が集積されないよう、製品が落下する寸前まで突き切りバイトが軸移動した時点でセパレータが正規の製品受け取り位置に位置することを完了させたいような、高度な系統間待ち合わせを行うことができる。
また、MSTB等の数値制御装置では計算不可能な指令があっても、実行2回目以降であれば、加工時間の実測値を使用するから、精度の高い終点待ち合わせが行われるようになる。
図9は図3に示されているように、終点待ち合わせ指令元側の終点待ち合わせ指令にQ指令がある場合の終点待ち合わせ指令元側(系統1)における実行時間取得ルーチンを示している。
このルーチンは、図5に示されているものとほぼ同じであるが、加工プログラムの実行回数が1回目であるか、メモリ20に記憶された変数のうち、判定で使われた変数値に変化があった場合には(ステップS12否定)、終点位置サーチ手段14が、計算対象のブロックが終点待ち合わせ指令によって指定されたブロックであるか否かをチェックする(ステップS13')。
指定ブロックでない場合には(ステップS13'否定)、メモリ20に記憶された変数値を判定しながらブロックの実行時間を計算し(ステップS14)、またMSTB指令については、パラメータで決められた値(時間)をメモリ20より読み出し、この時間を読み出すことによって実行時間を所得してこれを加算する(ステップS15)。
計算対象のブロックが指定ブロックである場合には(ステップS13'肯定)、その指定ブロックにおける終点待ち合わせ座標までの実行時間を計算し(ステップS16')、実行時間の合計を算出する(ステップS17)。
これにより、例えば、X軸移動が、図10に示されているような場合で、b点を終点待ち合わせ位置としたい場合、このb点を含むブロックを指定することにより、誤まってa点で終点待ち合わせが行われることが回避される。
(実施の形態2)
図11はこの発明による数値制御装置の実施の形態2を示している。尚、図11に於いて、図1に対応する部分は図1に付した符号と同一の符号を付けてその説明を省略する。
この数値制御装置1では、実施の形態1のものとの比較において、補間処理部30にPLC(ラダー回路部55)の1周期時間を計測するPLCスキャンタイム検出手段37が追加され、加工プログラム解析部10に、PLCスキャンタイム検出手段37が検出したPLCの1周期時間と主軸および主軸モータ91のパラメータから主軸モータ91の加減速時間を計算する主軸モータ加減速時間計算手段16が追加され、実行時間計算手段15は主軸モータ加減速時間計算手段16が計算した加減速時間とPLCスキャンタイムを加味して加工プログラムの実行時間を計算する。
図12はこの実施の形態における主軸回転指令(S指令)の理論時間の計算ルーチンを示している。主軸回転数の変更された場合、主軸モータ加減速時間計算手段16がメモリ20から前回の指令主軸回転数と今回の変更後の指令主軸回転数を読み出す(ステップS40,S41)。
つぎに主軸モータ加減速時間計算手段16が予めメモリ20に登録された主軸モータ91の出力特性(図13参照)を読み出し(ステップS42)、主軸モータ91の理論加減速時間を算出する(ステップS43)。
主軸回転指令によって図14に示されているように、Na(rpm)→Nb(rpm)に主軸の回転数が変化した場合、例えば、Na<N1<Nb<N2(図13参照)とすると、加速時間Eは以下のように計算することができる。
すなわち、
E=ta+tb
である。ここで、taは定トルク領域、tbは定出力領域である。
定トルク領域taは、1.03・GD2 ・(N1−Na)2 /375・Poであり、定出力領域tbは、1.03・GD2 ・(Nb−N1)2 /2・375・Poであるから、加速時間Eは下式により示される。
すなわち、
E=1.03・GD2 ・(N1−Na)2 /375・Po+1.03・GD2 ・(Nb−N1)2 /2・375・Po
但し、GD2 =(モータGD2 )+(モータ軸換算の負荷GD2 )、Po=定格出力の1.2程度の出力である。
実際には、S指令を実行してから主軸モータ91が加減速を完了するまでは、図14に示されているF区間の時間がかかる。すなわち、主軸モータ91の加減速時間(E)+PLC信号のやりとり時間(D)が必要となる。
そこで、PLCスキャンタイム検出手段37が、機械制御信号処理部50がラダー回路部55が一周する実行時間(PLCスキャンタイム)をカウントし、主軸モータ加減速時間計算手段16に渡す(ステップS44)。
主軸モータ加減速時間計算手段16は、受け取ったPLCスキャンタイムの半分の時間を主軸モータ加減速時間に加算することによってS指令の理論時間とする(ステップS45)。
ここで、PLCスキャンタイムの半分の時間を計算する理由について説明する。S指令の数値制御装置1とラダー回路部55とのやりとりは、タイミングによって図15(a)に示されているように、ラダー回路部55の1周分の時間がかかる場合と、図15(b)に示されているように、すぐに完了する場合があり、またこの中間の場合もあるため、確率理論から1/2、すなわち、PLCスキャンタイムの半分の時間を数値制御装置1とラダー回路部55とのやりとりの時間とする。
このように、主軸モータ91の出力特性と主軸モータ91および主軸モータ91のイナーシャから主軸モータ91の加減速時間を計算できるようにしたため、また、ラダー回路部55のスキャンタイムの時間を考慮して主軸回転指令の理論時間の計算するため、主軸回転指令で主軸モータ91が加減速完了するまでの時間を主軸モータ91および主軸モータ91のイナーシャに拘らず、またラダー回路部55の大きさに拘らず、正確に算出することができる。
これにより加工プログラムの実行時間の計算が正確に行われ、終点待ち合わせが正確に行われるようになる。
(実施の形態3)
図16はこの発明による数値制御装置の実施の形態3を示している。尚、図16に於いて、図1に対応する部分は図1に付した符号と同一の符号を付けてその説明を省略する。
この実施の形態では、補間処理部30が、補間処理部31と、待ち合わせ解除手段32と、実行時間計測手段34と、条件取り込み手段35に加えて、速度変更手段37と、速度補正手段38とを設けている。
速度変更手段37は、実行時間計算手段34によって計算された実行時間から終点待ち合わせ元側の系統における終点待ち合わせ位置までの軸移動処理と終点待ち合わせ相手側の系統における終点待ち合わせブロックの実行とが同時に完了するように実行時間の短い方の系統の軸送り速度にオーバーライドをかけ、これを変更する。
速度補正手段38は、加工プログラムの2回目以降の実行時において1回目に実行時間計測手段34によって計測した実行時間をもって短い方の系統の軸送り速度の補正を行う。
つぎに、図17に示されているフローチャートを参照してこの実施の形態における終点待ち合わせ動作について説明する。まず、指令元側と指定相手側の両系統の実行時間を速度変更手段37が読み取り(ステップS50,S51)、両者を比較し、指令元系統の終点待ち合わせ位置までの軸移動処理と終点待ち合わせ相手側の系統における終点待ち合わせブロックの実行とが同時に完了するように、実行時間が短い方の系統(ここでは相手系統)のオーバーライド速度率χを計算する(ステップS52)。
指令元系統と相手系統の速度タイミングチャートが図18に示されているような場合、オーバーライド速度率χは下式により算出する。
χ=(60・A・b+60・B・a)/(60・A・b+60・B・a+
a・b・tb)
つぎに、待ち合わせ解除手段32が両系統にスタートをかける指令を補間処理手段31に出す。相手系統は距離Aをa・χの速度で、距離Bをb・χの速度で移動することにより、図18に示されているように、相手系統の終点待ち合わせブロックと指令元系統の終点待ち合わせ位置までの軸移動とが同時に完了することになる。
従って、この実施の形態でも、ワークを突き切りバイト(指令元系統)で切断し、落下する切断部材(製品)をセパレータ(相手系統)で受け止めるような場合には、セパレータに切り屑が集積されないよう、製品が落下する寸前まで突き切りバイトが軸移動した時点でセパレータが正規の製品受け取り位置に位置することを完了させたいような、高度な系統間待ち合わせを行うことができる。
(実施の形態4)
図19はこの発明による数値制御装置の実施の形態4を示している。尚、図19に於いても、図1に対応する部分は図1に付した符号と同一の符号を付けてその説明を省略する。
この実施の形態では、加工プログラム解析処理部10に条件付き待ち合わせ指令解析手段16が設けられ、補間処理部30に主軸回転数条件判定手段39と電流値条件判定手段40と条件付き待ち合わせ解除手段41とが設けられている。
また、主軸モータ91のロータリエンコーダより主軸回転数を取り込む主軸回転数入力回路71と、可動軸のサーボ制御部80あるいは主軸制御部81よりアンプ電流値(モータ電流値)を取り込む電流値入力回路72とが設けられている。
条件付き待ち合わせ指令解析手段16は、待ち合わせを解除する条件を主軸の回転数あるいは指定軸のモータ電流値に関して指定した記述部を含む条件付き待ち合わせ指令を解析する。
待ち合わせ解除条件が主軸回転数の場合の条件付き待ち合わせ指令のコードは、例えば、"G162"であり、これの指令フォーマットは、例えば、"G162 Ss Rr Kk Ll"と定義される。ここで、sは主軸名称、rは指定主軸回転数、kは上限下限指定(0:指定回転数以上,1:指定回転数以下)、lはチェック時間(タイムオーバー値)である。
この条件付き待ち合わせ指令により、任意の主軸回転状態で、次ブロックの開始タイミングを設定できる。
例えば、図20に示されているように、主軸S1の回転数が500rpmにまで低下すれば、チャックの開動作を開始させたい場合の加工プログラム例が図21に示されている。図21において、(2)は系統1における主軸停止指令、(3)は系統2における条件付き待ち合わせ指令、(4)は系統2におけるチャック開指令である。
待ち合わせ解除条件がモータ電流値の場合の条件付き待ち合わせ指令のコードは、例えば、"G163"であり、これの指令フォーマットは、例えば、"G163 Aa Ii Kk Ll"と定義される。ここで、aは指定軸名称(可動軸あるいは主軸)、iは指定電流値、kは上限下限指定(0:指定回転数以上,1:指定回転数以下)、lはチェック時間(タイムオーバー値)である。
この条件付き待ち合わせ指令により、任意のモータ負荷状態で、次ブロックの開始タイミングを設定できる。
例えば、図22に示されているように、チャック閉動作の途中(チャック閉動作のモータ電流値が50%まで増加すれば、主軸回転動作を開始させたい場合の加工プログラム例が図23に示されている。図23において、(1)は系統1におけるチャック閉指令、(2)は系統1における条件付き待ち合わせ指令、(3)は系統1における主軸回転指令である。
主軸回転数条件判定手段39は、主軸回転数入力回路71より主軸回転数の計測値を入力し、この計測値が条件付き待ち合わせ指令によって指定された待ち合わせ解除の条件を満たしているか否かを判定する。
電流値条件判定手段40は、電流値入力回路72より指定された軸のモータ電流値の計測値を入力し、この計測値が条件付き待ち合わせ指令によって指定された待ち合わせ解除の条件を満たしているか否かを判定する。
条件付き待ち合わせ解除手段41は、主軸回転数条件判定手段39あるいは電流値条件判定手段40が待ち合わせ解除条件成立であると判定することにより待ち合わせ状態を解除し、次ブロックの実行を指令する。なお、条件付き待ち合わせ解除手段40は所定時間(チェック時間)内に待ち合わせ解除条件成立の通知を受けない場合にはアラーム処理を行い、条件付き待ち合わせ指令を完了する。
つぎに図24、図25に示されているフローチャートを参照してこの実施の形態における条件付き待ち合わせ動作について説明する。
図24は待ち合わせ解除条件が主軸回転数の場合の条件付き待ち合わせ動作を示している。待ち合わせ解除条件が主軸回転数による条件付き待ち合わせ指令の場合には(ステップS60)、主軸回転数条件判定手段39が条件付き待ち合わせ指令に記述されている指定主軸の指定主軸回転数を読み込み(ステップS61)、時間カウントを開始し(ステップS62)、チェック時間オーバーを監視する(ステップS63)。
つぎに主軸回転数条件判定手段39が指定主軸の実回転数(計測値)を読み取り(ステップS64)、上限チェックモードであれば(ステップS65肯定)、指定主軸の実回転数が指定主軸回転数にまで上昇したか否かを判別する(ステップS66)。これに対し下限チェックモードであれば(ステップS65否定)、指定主軸の実回転数が指定主軸回転数にまで低下したか否かを判別する(ステップS67)。
上限チェックモードでは指定主軸回転数≦指定主軸の実回転数の条件成立で(ステップS66肯定)、下限チェックモードでは指定主軸回転数≧指定主軸の実回転数の条件成立で(ステップS67肯定)、条件付き待ち合わせ解除手段41が待ち合わせを解除して次ブロックの実行を開始する指令を補間処理手段31に出す(ステップS68)。
これらの条件が成立しない場合には(ステップS66あるいはS67否定)、ステップS62に戻り、チェック時間オーバーになるまで指定主軸の実回転数と指定主軸回転数との比較を繰り返す。チェック時間オーバーの場合には(ステップS63否定)、アラーム処理で(ステップS69)、終了する。
図25は待ち合わせ解除条件がモータ電流値の場合の条件付き待ち合わせ動作を示している。待ち合わせ解除条件がモータ電流値による条件付き待ち合わせ指令の場合には(ステップS70)、電流値条件判定手段40が条件付き待ち合わせ指令に記述されている指定軸の指定電流値を読み込み(ステップS71)、時間カウントを開始し(ステップS72)、チェック時間オーバーを監視する(ステップS73)。
つぎに電流値条件判定手段40が指定軸の実電流値(計測値)を読み取り(ステップS74)、立ち上がり上限チェックモードであれば(ステップS75肯定)、指定軸の実電流値が指定電流値にまで上昇したか否かを判別する(ステップS76)。これに対し立ち下がり下限チェックモードであれば(ステップS75否定)、指定軸の実電流値が指定電流値にまで低下したか否かを判別する(ステップS77)。
上限チェックモードでは指定電流値≦指定軸の実電流値の条件成立で(ステップS76肯定)、下限チェックモードでは指定電流値≧指定軸の実電流値の条件成立で(ステップS77肯定)、条件付き待ち合わせ解除手段41が待ち合わせを解除して次ブロックの実行を開始する指令を補間処理手段31に出す(ステップS78)。
これらの条件が成立しない場合には(ステップS76あるいはS77否定)、ステップS72に戻り、チェック時間オーバーになるまで指定軸の実電流値と指定電流値との比較を繰り返す。チェック時間オーバーの場合には(ステップS73否定)、アラーム処理で(ステップS79)、終了する。
これにより、主軸が減速中にチャック開動作を開始したり、チャック閉動作途中から他の軸を動作させることなどができるようになり、サイクルタイムを短縮できるようになる。
(実施の形態5)
図26はこの発明による数値制御装置の実施の形態5を示している。尚、図26に於いても、図1に対応する部分は図1に付した符号と同一の符号を付けてその説明を省略する。
この実施の形態では、加工プログラム解析処理部10に、条件付き待ち合わせ指令解析手段16に加えて、任意の機械制御信号を待ち合わせ解除信号として定義する待ち合わせ解除信号指定指令を解析する待ち合わせ解除信号指定指令解析手段17が設けられている。待ち合わせ解除信号指定指令解析手段17は、待ち合わせ解除信号指定指令で指定されたPLC信号(機械制御信号)を解析し、待ち合わせ解除信号として登録し、これを指定機械制御信号検出判定手段43に通知する。
また補間処理部30には、条件付き待ち合わせ解除手段41に加えて、待ち合わせ解除信号検出判定手段42と、指定機械制御信号検出判定手段43とが設けられている。
待ち合わせ解除信号検出判定手段42は、条件付き待ち合わせ指令により機械動作でオン・オフするような待ち合わせ解除信号(PLC信号)を機械制御信号処理部50より取り込み、この待ち合わせ解除信号の状態より条件付き待ち合わせ指令で指定された待ち合わせ解除条件(信号のオン・オフ)が成立したか否かを判定する。
指定機械制御信号検出判定手段43は、待ち合わせ解除信号指定指令によって指定された機械制御信号(指定PLC信号)を機械制御信号処理部50より取り込み、指定PLC信号の状態より条件付き待ち合わせ指令で指定された待ち合わせ解除条件(信号のオン・オフ)が成立したか否かを判定する。
条件付き待ち合わせ解除手段41は、待ち合わせ解除信号検出判定手段42あるいは指定機械制御信号検出判定手段43が待ち合わせ解除条件成立であると判定することにより待ち合わせ状態を解除し、次ブロックの実行を指令する。
この場合の条件付き待ち合わせ指令のコードは、例えば、"G164"であり、これの指令フォーマットは、例えば、"G164 Xx Kk Ll"と定義される。ここで、xは指定機械制御信号名称、kはオン・オフ限指定(0:オフ,1:オン)、lはチェック時間(タイムオーバー値)である。
X指定がない場合には、待ち合わせ解除信号検出判定手段42で待ち合わせ解除条件成立の判定を行い、X指定がある場合には、指定機械制御信号検出判定手段43で待ち合わせ解除条件成立の判定を行うことができる。
この条件付き待ち合わせ指令により、機械制御信号あるいは指定された機械制御信号のオン・オフに合わせて、換言すれば、機械動作状態に合わせて次ブロックの開始タイミングを設定できる。
例えば、図27に示されているように、X47と云うPLC信号がオンすることに同期して(3)のブロックの実行を開始したい場合の加工プログラム例が図28に示されている。
つぎに図29に示されているフローチャートを参照してこの実施の形態における条件付き待ち合わせ動作について説明する。
待ち合わせ解除条件が待ち合わせ解除信号(PLC信号)あるいは指定機械制御信号(指定PLC信号)による条件付き待ち合わせ指令の場合には(ステップS80)、待ち合わせ解除信号検出判定手段42あるいは指定機械制御信号検出判定手段43が条件付き待ち合わせ指令に記述されている指定PLC信号を読み込み(ステップS81)、時間カウントを開始し(ステップS82)、チェック時間オーバーを監視する(ステップS83)。なお、待ち合わせ解除条件が無指定のPLC信号である場合にはステップS81はスキップする。
つぎに、待ち合わせ解除信号検出判定手段42あるいは指定機械制御信号検出判定手段43がPLC信号あるいは指定PLC信号を読み込み(ステップS84)、オンチェックモードであれば(ステップS85肯定)、PLC信号がオンであるか否かを判別する(ステップS86)。これに対しオフチェックモードであれば(ステップS85否定)、PLC信号がオフであるか否かを判別する(ステップS87)。
オンチェックモードではPLC信号オンの条件成立で(ステップS86肯定)、オフチェックモードではPLC信号オフの条件成立で(ステップS87肯定)、条件付き待ち合わせ解除手段41が待ち合わせを解除して次ブロックの実行を開始する指令を補間処理手段31に出す(ステップS88)。
これらの条件が成立しない場合には(ステップS86あるいはS87否定)、ステップS82に戻り、チェック時間オーバーになるまでPLC信号の状態判別を繰り返す。チェック時間オーバーの場合には(ステップS83否定)、アラーム処理で(ステップS89)、終了する。
これによりサーボモータ90、主軸モータ91以外のアクチュエータでも、PLC信号に応じて並列動作が可能となり、サイクルタイムを短縮するための動作パターンを種々作成できるようになり、また待ち合わせるためPLC信号を選択できることにより数値制御装置の内部状態の変化で待ち合わせることも可能になる。
(実施の形態6)
図30はこの発明による数値制御装置の実施の形態6を示している。尚、図30に於いて、図19、図26に対応する部分は図19、図26に付した符号と同一の符号を付けてその説明を省略する。
この実施の形態では、加工プログラム解析処理部10に待ち合わせ条件組合わせ指令解析手段18が追加され、待ち合わせ条件組合わせ指令解析手段18は複合された待ち合わせ解除条件を含む条件付き待ち合わせ指令を解析する。
この場合の条件付き待ち合わせ指令のコードは、例えば、"G165"でありこの条件付き待ち合わせ指令では、*(AND)、/(OR)の論理演算子と、[]の括弧を使用でき、また論理演算子を使用して上述の条件付き待ち合わせ指令"G162"〜"G164"と組み合わせて使用できる(図31参照)。なお、G165指令では、XxはPLC信号xがオン、UxはPLC信号xがオフの条件である。
この場合、各待ち合わせ指令のAND条件、OR条件またはPLC信号のオン状態、オフ状態、立ち上がり、立ち下がり、主軸回転数、サーボアンプの電流値の上限、下限、立ち上がり、立ち下がり等の条件を組合わせることができる。
例えば、図31に示されているように、主軸回転数が3000rpmまで上昇したと云う条件と、PLC信号X48・オン且つX49・オン、あるいはPLC信号X50・オフと云う条件とが共に成立すれば、(4)ブロックの"G1 X50"の実行を開始する場合の加工プログラム例が図32に示されている。
また補間処理部30には待ち合わせ条件組合わせ判定手段44が追加され、待ち合わせ条件組合わせ判定手段30は待ち合わせ条件組合わせ指令で指定された複合待ち合わせ解除条件が成立したか否かを判定する。
条件付き待ち合わせ解除手段41は、主軸回転数条件判定手段39、電流値条件判定手段40、待ち合わせ解除信号検出判定手段42、指定機械制御信号検出判定手段43による待ち合わせ解除条件の成立以外に、待ち合わせ条件組合わせ判定手段44が複合待ち合わせ解除条件成立であると判定することにより待ち合わせ状態を解除し、次ブロックの実行を指令する。
つぎに図33に示されているフローチャートを参照してこの実施の形態における条件付き待ち合わせ動作について説明する。
待ち合わせ解除条件が複合された条件による条件付き待ち合わせ指令の場合には(ステップS90)、待ち合わせ条件組合わせ判定手段44が条件付き待ち合わせ指令に記述されている条件を読み込み(ステップS91)、時間カウントを開始し(ステップS92)、チェック時間オーバーを監視する(ステップS93)。
つぎに、待ち合わせ条件組合わせ判定手段44がPLC信号の状態、指定軸の実電流値、指定主軸の実回転数を順に読み込み(ステップS94〜S96)、条件が完全に整ったか否かを判別する(ステップS97)。条件が完全に整えば(ステップS97肯定)、条件付き待ち合わせ解除手段41が待ち合わせを解除して次ブロックの実行を開始する指令を補間処理手段31に出す(ステップS98)。
条件が整わない場合には(ステップS97否定)、ステップS92に戻り、チェック時間オーバーになるまで条件が完全に整ったか否かの判別を繰り返す。チェック時間オーバーの場合には(ステップS93否定)、この場合もアラーム処理で(ステップS99)、終了する。
これにより、待ち合わせを論理条件で設定でき、種々の待ち合わせ動作が可能になり、加工プログラムの共通化も図れるようになる。
(実施の形態7)
図34はこの発明による数値制御装置の実施の形態7を示している。尚、図34に於いて、図1に対応する部分は図1に付した符号と同一の符号を付けてその説明を省略する。
この実施の形態では、加工プログラム解析処理部10に通信待ち合わせ指令を解析する通信待ち合わせ指令解析手段19が設けられ、補間処理部30に通信待ち合わせ手段45と指定系統待ち合わせ解除手段46とが設けられている。通信待ち合わせ指令のフォ−マットは、例えば、"!HOST,Ll"である。
また補間処理部30には通信ライン100によるホストコンピュータ101との通信データを入出力するデータ入出力部102が接続されている。
通信待ち合わせ手段45は、待ち合わせ状態になった時点で、データ入出力部102、通信ライン100を介してホストコンピュータ101に待ち合わせ状態通知を送信する。この待ち合わせ状態通知の通信フォーマットは、例えば、"NO_ WAIT $_ L_"であり、NO指令は数値制御装置の機台番号を、$指令は系統番号を、Lは識別番号を各々指定する。
指定系統待ち合わせ解除手段46は、ホストコンピュータ101からの系統毎の待ち合わせ解除通知を通信ライン100、データ入出力部102を介して受信し、指定の系統の待ち合わせを解除する。この待ち合わせ解除通知の通信フォーマットは、例えば、"NO_ GO $_ L_"であり、NO指令は数値制御装置の機台番号を、$指令は系統番号を、Lは識別番号を各々指定する。
つぎに図36に示されているフローチャートを参照して通信待ち合わせ動作について説明する。
機台番号1の数値制御装置1の系統1、2がトランスファマンシである場合、系統1($1)、系統2($2)の加工プログラムが、図35に示されているように作成されていると、通信待ち合わせ指令解析手段19がプログラム指令(1)または(2)を解析し(ステップS100)、これを通信待ち合わせ手段45に通知する。プログラム指令(1)、(2)は、系統1、系統2を待ち合わせ状態とし、このことをホストコンピュータ101に通知する指令である。
通信待ち合わせ手段45は、指令された系統に所属する軸の軸制御部60の停止確認手段62に停止確認要求を出力し、各軸の停止を各軸の停止確認手段62からの通知で確認し、指令された系統に所属する全軸の停止が確認できたならば、指令された系統毎にデータ入出力部102に図37(a)に示されているような待ち合わせ状態通知用の通信データ、例えば、"NO1 WAIT $1 L100"、"NO1 WAIT $2 L100"を書き込み、送信要求を行う。データ入出力部102は、書き込まれた通信データを通信ライン100を介して、ホストコンピュータ101に送信する(ステップS101)。
指定系統待ち合わせ解除手段46は、通信待ち合わせ手段45からの通知を受けて、ホストコンピュータ101からの待ち合わせ解除指令を待つ(ステップS102)。ホストコンピュータ101が、例えば図37(b)、(c)に示されているような、系統1、系統2の待ち合わせ解除指令"NO1 GO $1 L100" 、"NO1 GO $2 L100" を送信する。
データ入出力部102は、ホストコンピュータ101からの待ち合わせ解除指令を受信すると、指定系統待ち合わせ解除手段46に通知する。
指定系統待ち合わせ解除手段46は、待ち合わせ解除指令を解析し、系統1への待ち合わせ解除指令であれば、系統1の待ち合わせ状態を解除し、次ブロックを実行するように補間処理手段31に通知する。補間処合理手段31は、指定系統待ち合わせ解除手段46からの通知を受けて、次ブロックの処理を開始する(ステップS103)。
これにより、シーケンサ等のI/Oを新たに設けなくとも、通信回線を通してホストコンピュータから容易に系統毎に待ち合わせ解除できるようになり、工場ラインのトランスファマシン等のようにマシンを順番にスタートさせることが容易になる。
(実施の形態8)
図38はこの発明による数値制御装置の実施の形態8を示している。尚、図38に於いて、図34に対応する部分は図34に付した符号と同一の符号を付けてその説明を省略する。
この実施の形態では、加工プログラム解析処理部10に通信系統間待ち合わせ指令を解析する通信系統間待ち合わせ指令解析手段23が設けられ、補間処理部30には通信系統間待ち合わせ手段47と通信系統間待ち合わせ解除手段48とが設けられている。通信系統間待ち合わせ指令のフォ−マットは、例えば、"!HOST,!n Ll"である。nは系統間待ち合わせの相手系統番号でおり、通信系統間待ち合わせ指令は、図39に例示されているように、少なくとも二つの系統でペアーで使用される。
通信系統間待ち合わせ手段47は、指定の系統間の待ち合わせが完了した時点で通信ライン100を介してホストコンピュータ101に待ち合わせ状態通信を送信する。この待ち合わせ状態通知の通信フォーマットは、例えば、"NO_ WAIT $_ $_ L_"であり、NO指令は数値制御装置の機台番号を、二つの$指令は系統間待ち合わせを行っている系統番号を、Lは識別番号を各々指定する。
通信系統間待ち合わせ解除手段48は、ホストコンピュータ101からの待ち合わせ解除通知を受信し、待ち合わせ状態になっている系統の待ち合わせを解除する。この待ち合わせ解除通知の通信フォーマットは、例えば、"NO_ $_$_・・・GO L_"であり、系統間待ち合わせしている識別番号と系統番号を通知する。
つぎに図40に示されているフローチャートを参照して通信系統間待ち合わせ動作について説明する。
系統1($1)、系統2($2)の加工プログラムが、図39に示されているように作成されていると、通信系統間待ち合わせ指令解析手段23がプログラム指令(1)または(2)を解析し(ステップS110)、これを通信系統間待ち合わせ手段47に通知する。図39の指令(1)、(2)は系統1と系統2とが系統間待ち合わせを行い、待ち合わせ後、ホストコンピュータ101に待ち合わせを通知する指令である。
通信系統間待ち合わせ手段47は、指令された全系統に所属する軸の停止を上述の実施の形態7における場合と同等の処理で確認する(ステップS111)。
つぎに、データ入出力部102に通信データ、例えば図41(a)に示されているような待ち合わせ状態通知用の通信データ、"NO1 WAIT $1 $2 L100"を書き込み、送信要求を行う。データ入出力部102は、実施の形態7における場合と同様にして通信データをホストコンピュータ101に送信する(ステップS112)。
通信系統間待ち合わせ解除手段48は、通信系統間待ち合わせ手段47からの通知を受けて、ホストコンピュータ101からの待ち合わせ解除指令を待つ(ステップS113)。
ホストコンピュータ101が、例えば図41(b)に示されているような待ち合わせ解除指令"NO1 GO $1 $2 L100"を送信し、データ入出力部102はホストコンピュータ101からの待ち合わせ解除指令を受信すると、これを通信系統間待ち合わせ解除手段48に通知する。通信系統間待ち合わせ解除手段48は通信系統間待ち合わせ状態になっている全系統の待ち合わせ状態を解除するように補間処理手段31に通知する(ステップS114)。
補間処理手段31は通信系統間待ち合わせ解除手段48からの通知を受けて待ち合わせ状態にあった各系統の次ブロックの処理を開始する(ステップS115)。
上述のように、通信コマンドによって系統間待ち合わせを解除できるから、ホストコンピュータからの指示によって待ち合わせ状態になっている系統を同時にスタートさせることができる。
また、図42に示されているように、各々の系統が通知系統間待ち合わせ状態になった時点で、ホストコンピュータに通知するようにしても同様の効果が得られる。さらにメリットとしては、ホストコンピュータが系統毎の実行状態を把握することができる。