(57)【要約】【課題】運転時間を増加させずに過熱による非常停止を回避する数値制御装置を得る。【解決手段】モータまたは駆動装置を温度予測対象とし、モータが同一の運転を繰り返すようにモータを制御する数値制御装置において、温度予測対象の温度および電流を取得する運転状態取得部と、温度予測対象の電流から発熱量を演算する発熱量演算部と、発熱量を記録する発熱量記録部と、温度予測対象の温度、周囲温度および発熱量記録部に記録された発熱量、１回の運転サイクルに要する時間から温度推移モデルに基づいて、温度予測対象の温度を予測する温度予測部と、予測温度と閾値とを比較して、予測温度が閾値以下であれば休止時間を０とし、予測温度が閾値より大きければ温度予測対象の温度、周囲温度および発熱量記録部に記録された発熱量、１回の運転サイクルに要する時間から温度推移逆モデルに基づいて休止時間を演算する休止時間演算部を備える。【選択図】図１
2015103168.tif 000002
【特許請求の範囲】
【請求項１】
モータまたは駆動装置の一方または両方を温度予測対象とし、モータが同一の運転を繰り返すように駆動装置を介してモータを制御する数値制御装置において、
前記温度予測対象の温度および電流を取得して出力する運転状態取得部と、
前記温度予測対象の電流から前記温度予測対象の発熱量を演算する発熱量演算部と、
前記温度予測対象の発熱量を記録する発熱量記録部と、
前記温度予測対象の温度、周囲温度および前記発熱量記録部に記録された発熱量、および１回の運転サイクルに要する時間から温度推移モデルに基づいて、前記温度予測対象の温度を予測温度として予測する温度予測部と、
前記予測温度と予め設定された閾値とを比較して、前記予測温度が前記閾値以下であれば休止時間を０とし、前記予測温度が前記閾値より大きければ前記温度予測対象の温度、周囲温度および前記発熱量記録部に記録された発熱量、１回の運転サイクルに要する時間から温度推移逆モデルに基づいて休止時間を演算する休止時間演算部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記温度予測対象の温度を記録する実測温度記録部と、
前記予測温度を記録する予測温度記録部と、
前記実測温度記録部に記録された前記温度予測対象の温度と前記予測温度記録部に記録された前記予測温度とを比較し両者の誤差に基づいて温度推移モデルおよび温度推移逆モデルを補正するモデル補正部と、
を備える
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
モータまたは駆動装置の一方または両方を温度予測対象とし、モータが同一の運転を繰り返すように駆動装置を介してモータを制御する数値制御装置において、
前記温度予測対象の温度および電流を取得して出力する運転状態取得部と、
前記温度予測対象の電流から前記温度予測対象の発熱量を演算する発熱量演算部と、
前記温度予測対象の温度、周囲温度および前記発熱量演算部で演算された発熱量、および１回の運転サイクルに要する時間から温度推移モデルに基づいて、前記温度予測対象の温度を予測温度として予測する温度予測部と、
前記予測温度と予め設定された閾値とを比較して、前記予測温度が前記閾値以下であれば休止時間を０とし、前記予測温度が前記閾値より大きければ前記温度予測対象の温度、周囲温度および前記発熱量記録部に記録された発熱量、１回の運転サイクルに要する時間から温度推移逆モデルに基づいて休止時間を演算する休止時間演算部と、
を備えることを特徴とする数値制御装置。
【請求項４】
前記温度予測対象の温度を記録する実測温度記録部と、
前記予測温度を記録する予測温度記録部と、
前記実測温度記録部に記録された前記温度予測対象の温度と前記予測温度記録部に記録された前記予測温度とを比較し両者の誤差に基づいて温度推移モデルおよび温度推移逆モデルを補正するモデル補正部と、
を備える
ことを特徴とする請求項３に記載の数値制御装置。
【請求項５】
前記温度予測部は、温度予測の前に前記予測温度の演算に用いる値を逐次演算により算出し、
前記休止時間演算部は、前記休止時間の演算の前に前記休止時間の演算に用いる値を逐次演算により算出する
ことを特徴とする請求項３または４に記載の数値制御装置。
【請求項６】
前記温度推移モデルは、周囲への放熱および運転により発生した発熱量の影響により
温度予測対象の温度が時間的に順方向に推移する過程を表したモデルであり、
前記温度数逆モデルは、周囲への放熱および運転により発生した発熱量の影響により
温度予測対象の温度が時間的に逆方向に推移する過程を表したモデルである
ことを特徴とする請求項１から５のいずれか１項に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械や産業用ロボットなどの産業用途の装置を駆動制御する数値制御装置に関するものであり、特に同一の運転を繰り返す過程でモータが過熱状態になることを回避する数値制御装置に関するものである。
【背景技術】
【０００２】
工作機械や産業用ロボットに代表される産業用途の装置では、運転指令が記述されたプログラムに従って運転が実行される。特に大量の製品を製造する場合には、プログラムで指令された同一の運転サイクルが長時間繰り返される。
【０００３】
通常、上記の装置を駆動するための産業用のモータやモータに駆動電流を供給する駆動装置は、短時間に限り、定格電流を超える電流が許容されているが、１サイクルに要する時間を低減し単位時間当たりの生産数の向上を実現するために、定格電流以上の電流が流れるような動作指令が頻繁に行われている。
【０００４】
しかし、定格電流を超えた電流がモータや駆動装置に流れる時間が長くなり、モータや駆動装置の過熱状態が継続すると、モータや駆動装置が故障し、最悪の場合装置自体の修理や交換を要することから生産能率が著しく低下する。特に、同一運転サイクルを長時間繰り返すような運転を行うとき、１サイクル分の運転では過熱状態に至らなくても、複数回サイクルを連続して実行すると過熱状態に至る場合があり、サイクル運転時の過熱回避策が必要となっている。このため、従来技術においても、モータが過熱状態にならない範囲で、できる限り単位時間当たりの生産数が大きくなるように運転を継続するための技術が提案されている。
【０００５】
特許文献１では、モータ電流の２乗積分値が、予め設定された所定の値を越えない範囲内で最大となるように、制御パターン毎に休止時間・最大速度・最大加速度を更新する方法が提案されている。
【０００６】
特許文献２では、ある熱的平衡状態でのモータ電流と、各サンプリング時点での電流とを比較した結果を、産業用ロボットの温度状態として表示し、作業者の調整を容易にする方法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平９‐２８２０２０号公報
【特許文献２】特開平７‐０８７７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１に記載された方法では、モータ電流の２乗積分値が異常判定値を超えた場合に、２乗積分値が異常判定値より小さい復帰判定値に低下するまでモータを休止させる。休止時間は、予め設定されている異常判定値と復帰判定値の大きさによって変化するため、復帰判定値を異常判定値に対して十分小さい値に設定すれば過熱を回避できるが運転時間が無用に長くなり、反対に復帰判定値を異常判定値に近づけすぎると次回の判定処理までにモータが過熱状態になる場合がある。
【０００９】
また、特許文献１に記載された別の方法では、モータ電流の２乗積分値から算出される負荷率が過負荷判定値を超えた場合にモータの最大速度または最大加速度を段階的に更新する。このため、２乗積分値が過負荷判定値を超えてから２乗積分値を所定の値以下に低下させるには、少なくとも１回の運転サイクルの実行が必要となる。すなわち、２乗積分値が所定の値を上回ってから即座に温度を低減することができないので、モータの過熱状態が継続することでモータが故障する場合がある。
【００１０】
一方、特許文献２に記載された方法は、発熱量と放熱量が一致する熱的平衡時にモータに流すことのできる限界の２乗平均電流と各サンプリング時点における２乗平均電流の比を百分率として算出している。そして、この比の値により作業者は熱的な観点からモータが過熱になるまでの余裕の程度を判断し、比の値が１００％になるように休止時間を短縮したりプログラム自体を変更したりできることが示唆されている。しかし、具体的な休止時間の導出方法が示唆されておらず、作業者は試行錯誤で調整するため、結果的に作業者の作業時間が長くなる。さらに、調整が適切でない場合、１サイクルに要する運転時間が無用に長くなってしまう。
【００１１】
すなわち、従来の工作機械や産業用ロボットなどの産業用途の装置では、長時間の運転によるモータや駆動装置の過熱を回避するために運転指令を変更すると運転時間を無用に増加するという問題があった。
【００１２】
本発明は、上記に鑑みてなされたものであって、産業用途の装置の運転時間を無用に増加させずに過熱による非常停止を回避する数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明は、モータまたは駆動装置の一方または両方を温度予測対象とし、モータが同一の運転を繰り返すように駆動装置を介してモータを制御する数値制御装置において、前記温度予測対象の温度および電流を取得して出力する運転状態取得部と、前記温度予測対象の電流から前記温度予測対象の発熱量を演算する発熱量演算部と、前記温度予測対象の発熱量を記録する発熱量記録部と、前記温度予測対象の温度、周囲温度および前記発熱量記録部に記録された発熱量、および１回の運転サイクルに要する時間から温度推移モデルに基づいて、前記温度予測対象の温度を予測温度として予測する温度予測部と、前記予測温度と予め設定された閾値とを比較して、前記予測温度が前記閾値以下であれば休止時間を０とし、前記予測温度が前記閾値より大きければ前記温度予測対象の温度、周囲温度および前記発熱量記録部に記録された発熱量、１回の運転サイクルに要する時間から温度推移逆モデルに基づいて休止時間を演算する休止時間演算部と、を備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、将来のモータまたは駆動装置の温度を予測することにより、実際に過熱状態になる前に一時的に休止してモータの過熱を回避できる。さらに、休止時間は予測温度と予め設定された所定の値との関係から算出するので、運転時間が無用に増加することなく継続的に運転できる。すなわち、無用な休止により生産数を低下させずに過熱を確実に回避できるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施の形態１に係る数値制御装置の構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１に係る各運転サイクルで発生する発熱量を示す図である。
【図３】図３は、本発明の実施の形態１に係る休止時間の有無による温度変化の違いを表す図である。
【図４】図４は、本発明の実施の形態１において休止時間演算部で休止時間を演算する手順を示すフローチャートである。
【図５】図５は、本発明の実施の形態２に係る数値制御装置の構成を示すブロック図である。
【図６】図６は、本発明の実施の形態３に係る数値制御装置の構成を示すブロック図である。
【図７】図７は、本発明の実施の形態４に係る数値制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１７】
実施の形態１．
図１は、本発明の実施の形態１に係る数値制御装置１の構成を示すブロック図である。数値制御装置１は、プログラム２を解析し、駆動装置３から駆動装置電流および駆動装置温度を、モータ４からモータ電流およびモータ温度を、周囲温度センサ５から周囲温度を取得しながら、駆動装置３を介してモータ４を運転させるために駆動装置３へ運転信号を出力する。
【００１８】
プログラム２は１サイクル分の運転指令とその繰り返し回数と休止時間を挿入する休止タイミングが記述されている。駆動装置３は、数値制御装置１より与えられる運転信号に基づいてモータ４へ駆動装置電流を供給しモータを駆動させる。周囲温度センサ５はモータおよび駆動装置の周囲の温度を測定し、数値制御装置１へ出力する。周囲温度センサ５は、駆動装置３およびモータ４の発熱の影響を受けずにモータおよび駆動装置の周囲の温度が測定できればどのような形態のセンサでも構わない。
【００１９】
以下では数値制御装置１の詳細な説明を示す。数値制御装置１は内部に運転状態取得部１０１、プログラム解析部１０２、運転信号生成部１０３、発熱量演算部１０４、発熱量記録部１０５、温度予測部１０６、休止時間演算部１０７を有する。
【００２０】
運転状態取得部１０１は、駆動装置３から駆動装置電流および駆動装置温度を、モータ４からモータ電流およびモータ温度を取得し、実測電流を後述する発熱量演算部１０４へ、実測温度を後述する温度予測部１０６および休止時間演算部１０７へ出力する。運転状態取得部１０１には予め駆動装置３とモータ４の内の一方または両方が温度予測対象として設定されている。温度予測対象が駆動装置３であれば、出力する実測電流と実測温度はそれぞれ駆動装置電流と駆動装置温度である。温度予測対象がモータ４であれば、出力する実測電流と実測温度はそれぞれモータ電流とモータ温度である。温度予測対象が駆動装置３およびモータ４であれば、出力する実測電流と実測温度はそれぞれ駆動装置電流とモータ電流の組み合わせと駆動装置温度とモータ温度の組み合わせである。
【００２１】
プログラム解析部１０２は、プログラム２を読み込み解析し、解析データを運転信号生成部１０３へ出力する。解析データは、プログラム２に記述された運転指令から抽出されたモータ４への一連の目標位置と指令速度に加えて、運転の繰り返し回数、休止タイミングが含まれるデータである。
【００２２】
運転信号生成部１０３は、プログラム解析部１０２から出力される解析データおよび休止時間演算部１０７から出力される休止時間に基づいて運転信号を生成し、駆動装置３へ運転信号を出力する。また、休止時間を除いた１サイクルに要する時間を測定し、この値をサイクルタイムとして後述する温度予測部１０６および後述する休止時間演算部１０７へ出力する。
【００２３】
運転信号生成部１０３は、解析データから目標位置と指令速度を順次読み取り、運転信号生成部１０３の処理周期毎にモータ４への指令位置を運転信号として出力する。
【００２４】
ただし、後述する休止時間演算部１０７から０より大きい休止時間が与えられた場合は、プログラム２で予め決められた所定のタイミングから休止時間分だけ、モータ４の速度が０となるような運転信号を出力する。一方、休止時間が０の場合は、運転を休止させずに解析データを読み取った通りに運転信号を生成する。休止時間は、プログラム２に記述されたタイミング毎すなわち１サイクル毎に休止時間演算部１０７から入力される。なお、温度予測対象が複数個である場合は、それぞれの休止時間の内最も大きい値に基づいて運転信号を出力する。
【００２５】
発熱量演算部１０４は、運転状態取得部１０１の実測電流から温度予測対象の発熱量を演算し、発熱量記録部１０５へ発熱量を出力する。一般に単位時間当たりの発熱量は電流の２乗に比例することが知られているため、例えば、下記の数式（１）を用いて得られる単位時間あたりの温度予測対象の発熱量とする。
【００２６】
ｑ＝ｒ×Ｉ＾２      ・・・（１）
ここで、ｑは単位時間当たりの発熱量、Ｉは実測電流、ｒは温度予測対象の抵抗である。＾２は２乗を示す。ある時刻の発熱量は、当該時刻における単位時間当たりの発熱量にサンプリング周期分の時間を乗算した値とする。抵抗ｒは、予め実験を行い温度予測対象の電流と発熱量を測定して最小２乗法などの方法により同定する。なお、温度予測対象が複数個である場合は、それぞれの温度予測対象に対して発熱量を算出する。
【００２７】
発熱量記録部１０５は、発熱量演算部１０４で演算した各時刻の発熱量を記録し、温度予測部１０６および休止時間演算部１０７へ記録した発熱量を出力する。発熱量記録部１０５は後述する温度予測部１０６および休止時間演算部１０７での処理のために、少なくとも１サイクルタイム中の各時刻の温度予測対象の発熱量を記録できる容量を有するものとする。
【００２８】
温度予測部１０６は、運転信号生成部１０３で測定したサイクルタイム、発熱量記録部１０５に記録された発熱量、運転状態取得部１０１からの実測温度、周囲温度センサ５で測定された周囲温度を入力とし、Ｎサイクル後の温度予測対象の温度である予測温度を算出し、予測温度を出力する。自然数Ｎは、運転の繰り返し回数よりも小さい範囲で設定変更できる値であり、初期設定時はＮ＝１である。
【００２９】
温度予測部１０６は内部に温度推移モデルを有する。温度推移モデルとは温度予測対象の放熱・発熱過程を表現したモデルである。温度推移モデルは下記の数式（２）で表される。
【００３０】
ｔ（ｉ＋１）＝ａ×ｔ(ｉ)＋ｂ×ｑ（ｉ）      ・・・（２）
ｔ（ｉ）は時刻ｉでの温度予測対象の温度から周囲温度を差し引いた温度である。ｑ（ｉ）は時刻ｉにおける発熱量である。ａ（０＜ａ＜１）は放熱係数であり、ｂ（ｂ＞０）は発熱係数である。放熱係数および発熱係数は温度予測対象の構造や運転環境によって決定される値である。両係数は予め温度予測対象の各時刻の温度を測定して最小２乗法などの方法により同定する。なお、時刻ｉを現在時刻としｊ≧０とすると、ｔ（ｉ＋ｊ+１）は、時刻ｉ＋ｊ＋１での予測温度から現在時刻の周囲温度を差し引いた温度となる。温度予測対象の温度変化に比べて、温度予測対象の周囲の空気の温度変化は十分に小さいため、時刻ｉ−ｊおよび時刻ｉ＋ｊの周囲温度は時刻ｉの周囲温度として扱うことができる。
【００３１】
温度予測の詳細について以下に示す。プログラム２に記述された休止タイミングの時刻ｎ、休止時間を除いた１サイクルタイムｋを用いて、Ｎサイクル後の温度ｔ（ｎ＋Ｎ×ｋ）を演算する。
【００３２】
具体的には、温度ｔ（ｎ）に対してｎをｋずつ増加させながら下記の数式（３）をＮ回繰り返すことで温度ｔ（ｎ＋Ｎ×ｋ）を算出する。
【００３３】
ｔ（ｎ＋ｋ）＝Ａ×ｔ（ｎ）＋Ｂ      ・・・（３）
この数式（３）は、数式（２）を用いて温度ｔ（ｎ）と温度ｔ（ｎ＋ｋ）の関係を表した式である。
ただし、ＡおよびＢは下記の数式（４）、（５）で示される。
【００３４】
Ａ＝ａ＾ｋ      ・・・（４）
【００３５】
Ｂ＝ｂ×Σ＿（ｉ＝０）＾（ｋ−１）｛ａ＾（ｋ−ｉ−１）×ｑ（ｎ−ｋ＋ｉ）｝      ・・・（５）
数式（５）において、Σ＿（ｉ＝０）＾（ｋ−１）｛｝は、ｉ＝０、１、・・・ｋ−１のそれぞれの場合について｛｝内の値の総和をとる操作を表す。
【００３６】
なお、数式（３）では、時刻ｎから時刻ｎ＋Ｎ×ｋ−１の間の発熱量ｑ（ｎ）〜ｑ（ｎ＋Ｎ×ｋ−１）は、発熱量記録部１０５に記録されている時刻ｎ−ｋから時刻ｎ−１における発熱量ｑ（ｎ−ｋ）〜ｑ（ｎ−１）がＮ回繰り返されるものとして演算する。
【００３７】
ここで、過去の発熱量を用いてＮサイクル後の温度が演算できる理由を、図２を用いて説明する。図２は、休止タイミングが、各運転サイクルの終了時である場合の発熱量の変化を表した図である。モータ４はプログラム２に従ってサイクル毎に同じ運転を繰り返すため、温度予測対象にはサイクル毎に同一の電流が流れる。発熱量は電流の２乗に比例するので、発熱量も図２のようにサイクル毎に繰り返される。例えば、図中の第Ｍサイクルにおける発熱量Ｘは１サイクル前の発熱量である第Ｍ−１サイクルの発熱量Ｙと一致する。ゆえに、ある時刻の発熱量を用いた演算には、発熱量記録部１０５に記録されている過去の運転サイクルで発生した発熱量の値を用いることができる。
【００３８】
以上の処理をサイクル毎に行い、Ｎサイクル後の温度を予測する。なお、温度予測対象が複数個である場合は、それぞれの温度予測対象に対して上記の温度予測処理を行う。
【００３９】
休止時間演算部１０７は、運転信号生成部１０３で測定したサイクルタイム、発熱量記録部１０５に記録された発熱量、運転状態取得部１０１からの実測温度、温度予測部１０６で演算された予測温度、周囲温度センサ５で測定された周囲温度を入力とし、予測温度と許容温度の比較結果に基づいて計算した休止時間を運転信号生成部１０３へ出力する。許容温度は、温度予測対象によって決定する値であり、予め休止時間演算部１０７内に保持している値である。なお、休止時間演算部１０７は温度予測部１０６に設定されている自然数Ｎと同じ値が予め設定されている。
【００４０】
休止時間は下記のように演算する。休止時間をｄｗと、予測温度と周辺環境温度との差ｔ（ｎ＋Ｎ×ｋ）の大きさに応じて次の処理を行うことで休止時間ｄｗを演算する。ｔ（ｎ＋Ｎ×ｋ）が（許容温度）−（周囲温度）以下の場合はｄｗ＝０として休止時間を出力する。
【００４１】
また、ｔ（ｎ＋Ｎ×ｋ）が（許容温度）−（周囲温度）より大きい場合は、プログラム２に記述された休止タイミングの時刻ｎから時間ｄｗだけ休止した後、時刻ｎ＋ｄｗに運転を再開した場合に、時刻ｎ＋ｄｗ＋Ｎ×ｋにおける温度ｔ（ｎ＋ｄｗ＋Ｎ×ｋ）が（許容温度）−（周囲温度）に一致するｄｗを算出する。
【００４２】
つまり、図３に示すように（ａ）では休止時間ｄｗ＝０として動作するため温度予測部１０６で算出した予測温度は許容温度を超過するが、（ｂ）に示すように、１サイクル分の運転が終了する時刻である時刻ｎ＋ｄｗ＋Ｎ×ｋにおける温度が許容温度に一致するようになるように休止時間ｄｗ＞０で動作することで許容温度に一致させることができる。
【００４３】
なお、休止時間ｄｗの演算は、温度予測部１０６における温度推移モデルの逆モデルである温度推移逆モデルを用いる。温度推移逆モデルは、温度を時間的に逆方向に演算するためのモデルである。数式（２）の温度推移モデルに対して温度推移逆モデルは下記の数式（６）となる。
【００４４】
ｔ（ｉ）＝｛ｔ(ｉ＋１)−ｂ×ｑ（ｉ）｝／ａ      ・・・（６）
【００４５】
休止時間の演算処理は図４の手順で行われる。
【００４６】
ステップＳ１０１では、ｔ（ｎ＋ｄｗ＋Ｎ×ｋ）が（許容温度）−（周囲温度）より大きいか否かを判定する。
【００４７】
ステップＳ１０１で、ｔ（ｎ＋ｄｗ＋Ｎ×ｋ）が（許容温度）−（周囲温度）より大きくないと判定された場合（ステップＳ１０１：Ｎｏ）は、ステップＳ１１２で休止時間ｄｗ＝０とおき終了である。
【００４８】
ステップＳ１０１で、ｔ（ｎ＋ｄｗ＋Ｎ×ｋ）が（許容温度）−（周囲温度）より大きいと判定された場合（ステップＳ１０１：Ｙｅｓ）は、ステップＳ１２２に進み、ｔ（ｎ＋ｄｗ＋Ｎ×ｋ）＝（許容温度）−（周囲温度）とおく。ステップＳ１２２の後は、ステップＳ１２３に進む。
【００４９】
ステップＳ１２３では、下記の数式（７）を用いて温度ｔ（ｎ＋ｄｗ）を算出する。
【００５０】
ｔ（ｎ）＝｛ｔ（ｎ＋ｋ）−Ｂ｝／Ａ      ・・・（７）
この数式（７）は数式（６）を用いて温度ｔ（ｎ）と温度ｔ（ｎ＋ｋ）の関係を表した式である。数式（７）において、右辺のｎ＋ｋをｎ＋ｄｗ＋Ｎ×ｋと置き換えて、ｎをｋずつ減少させながらＮ回演算することで温度ｔ（ｎ＋ｄｗ）が算出できる。
【００５１】
ここで、各時刻の発熱量は、発熱量記録部１０５に記録されている発熱量を用いる。すなわち、時刻ｎ＋ｄｗから時刻ｎ＋ｄｗ＋Ｎ×ｋ−１の間の発熱量は、発熱量記録部１０５に記録されている時刻ｎ−ｋから時刻ｎ−１における発熱量を用いる。
【００５２】
なお、数式（７）では、時刻ｎから時刻ｎ＋Ｎ×ｋ−１の間の発熱量ｑ（ｎ）〜ｑ（ｎ＋Ｎ×ｋ−１）は、発熱量記録部１０５に記録されている時刻ｎ−ｋから時刻ｎ−１における発熱量ｑ（ｎ−ｋ）〜ｑ（ｎ−１）がＮ回繰り返されるものとして演算する。
【００５３】
ステップＳ１２３の後、ステップＳ１２４に進み、ステップＳ１２４では、休止により温度ｔ（ｎ）が温度ｔ（ｎ＋ｄｗ）まで低下するまでの時間ｄｗを算出する。休止時間中の温度予測対象の発熱量をｑｎ≡ｑｃ（＝一定）とすると数式（６）は、
【００５４】
ｔ（ｎ）＝｛ｔ（ｎ＋ｄｗ）−（１−ａ＾ｄｗ）／（１−ａ）×ｂ×ｑｃ｝／ａ＾ｄｗ      ・・・（８）
となり、数式（８）をｄｗについて解くと、下記の数式（９）となり、ｄｗが算出できる。
【００５５】
ｄｗ=［   ｌｎ｛（１−ａ）×ｔ（ｎ＋ｄｗ）−ｂ×ｑｃ｝
−ｌｎ｛（１−ａ）×ｔ（ｎ      ）−ｂ×ｑｃ｝］／ｌｎ（ａ）      ・・・（９）
【００５６】
以上の処理をサイクル毎に行い、Ｎサイクル後に温度予測対象が過熱状態にならないように現在の休止タイミングに休止すべき時間である休止時間を演算する。なお、温度予測対象が複数個である場合は、それぞれの温度予測対象に対して上記の休止時間演算処理を行う。
【００５７】
以上のように、本実施の形態１によれば、過去に発生した発熱量を記録しておき、この発熱量を将来に発生する発熱量として温度予測に用いて、休止時間を計算できる構成なので、Ｎサイクル後の温度予測対象の過熱を回避するように運転を継続できる。
【００５８】
さらに、休止時間はＮサイクル後の温度が許容温度に一致するように算出されるので、休止時間が無用に長く挿入されることはない。
【００５９】
また、Ｎサイクル後の予測温度と許容温度との関係に基づいて休止時間を決定するので、温度予測対象の温度が十分に低いとき休止時間は０として算出される。このため、温度予測対象は温度が許容温度を超えると予測された場合にのみ休止するので、無用な休止により運転時間を増加させることなく運転を継続できる。特にＮ＝１であるときは次回の運転サイクルの温度を予測し休止時間を演算するので、温度予測対象の温度が許容温度に達する直前のサイクルまでは休止時間を挿入せずに運転を継続できる。
【００６０】
なお、本実施の形態１では単一の駆動装置およびモータを制御する場合について説明したが、本発明は駆動装置およびモータの個数に制限されるものではない。例えば、数値制御装置が複数個の駆動装置およびモータを制御する場合は各駆動装置および各モータについて温度予測および休止時間の演算を行い、全駆動装置および全モータの中で最も長い休止時間だけ全てのモータを休止させればよい。
【００６１】
すなわち、本実施の形態１によれば、将来のモータの温度を予測することにより、実際に過熱状態になる前に一時的に休止してモータの過熱を回避できる。休止時間は予測温度と許容温度との関係から算出し、運転時間が無用に増加することなく過熱状態を回避しながら継続的に運転できる。
【００６２】
実施の形態２．
図５は、本発明の実施の形態２に係る数値制御装置１ｂの構成を示すブロック図である。なお、図５では、図１に示した実施の形態１の構成要素と同一ないしは同等である構成要素には同一の符号が付されている。ここでは、本実施の形態２に関わる部分を中心に説明する。
【００６３】
実施の形態１では、予め設定されているＮについてＮサイクル後の温度予測対象の過熱を回避するために、Ｎサイクル後の温度予測対象の温度を予測し休止する構成であった。本実施の形態２では、運転中に温度推移モデルおよび温度推移逆モデルの放熱係数および発熱係数をサイクル毎に補正するための構成要素を追加している。
【００６４】
なお、図５に示す本実施の形態２における数値制御装置１ｂは、実施の形態１と比較して実測温度記録部１０８、予測温度記録部１０９、モデル補正部１１０を追加したことに加え、温度予測部１０６ｂおよび休止時間演算部１０７ｂの処理が実施の形態１の温度予測部１０６および休止時間演算部１０７の処理と異なるので、これらの構成要素について説明する。
【００６５】
実測温度記録部１０８は、運転状態取得部１０１からの実測温度を記録し、後述するモデル補正部１１０へ記録した発熱量を出力する。実測温度記録部１０８は、各サイクル中の休止タイミングにおける温度予測対象の実測温度を記録し、最新の実測温度を少なくともＮ＋１回分記録できる容量を有する。ここで、Ｎは後述する温度予測部１０６ｂと同じ値である。
【００６６】
予測温度記録部１０９は、後述する温度予測部１０６ｂで予測した温度を記録し、モデル補正部１１０へ出力する。予測温度記録部１０９は、各サイクル中の休止タイミングにおける温度予測部１０６ｂで予測した温度予測対象の予測温度を記録し、最新の予測温度を実測温度記録部１０８と同じ回数分だけ記録できる容量を有する。
【００６７】
モデル補正部１１０は、温度予測対象の実測温度と予測温度記録部１０９に記録された予測温度との誤差が所定値以上の場合に、温度予測部１０６ｂの温度推移モデルおよび休止時間演算部１０７ｂの温度推移逆モデルをサイクル毎に補正する。モデル補正部１１０は、実測温度記録部１０８から最新の実測温度を複数時刻分取得すると同時に、取得した実測温度の時刻に対応する各サイクルの予測温度を予測温度記録部１０９から取得する。
【００６８】
温度予測対象において各時刻の実測温度と予測温度の２乗誤差の和が所定値以上であれば、２乗誤差の和が最小になるような数式（３）および数式（７）中のＡ、Ｂを演算する。演算は最小２乗法など既知の方法を用いる。その後、数式（４）および数式（５）の関係から補正後の放熱係数ａおよび発熱係数ｂを算出する。補正後の放熱係数ａおよび発熱係数ｂを算出した後、両者の値を補正信号として温度予測部１０６ｂおよび休止時間演算部１０７ｂへ出力する。
【００６９】
温度予測部１０６ｂは、運転信号生成部１０３で測定したサイクルタイム、発熱量記録部１０５に記録された発熱量、運転状態取得部１０１からの実測温度、周囲温度センサ５で測定された周囲温度、モデル補正部１１０で演算した補正信号を入力とし、Ｎサイクル後の温度予測対象の温度である予測温度を算出し、予測温度を出力する。自然数Ｎは、運転の繰り返し回数よりも小さい範囲で設定変更できる値であり、初期設定時はＮ＝１である。
【００７０】
温度予測部１０６ｂは、数式２で表される温度推移モデルを有し、各サイクルにおける温度予測処理の前に温度推移モデルの放熱係数と発熱係数を補正信号により補正する。補正後の温度予測処理は温度予測部１０６と同等の処理を行い、Ｎサイクル後の温度を予測する。なお、温度予測対象が複数個である場合は、それぞれの温度予測対象に対して上記の温度予測処理を行う。
【００７１】
休止時間演算部１０７ｂは、運転信号生成部１０３で測定したサイクルタイム、発熱量記録部１０５に記録された発熱量、運転状態取得部１０１からの実測温度、温度予測部１０６ｂで演算された予測温度、周囲温度センサ５で測定された周囲温度、モデル補正部１１０で演算した補正信号を入力とし、予測温度と許容温度の比較結果に基づいて計算した休止時間を運転信号生成部１０３へ出力する。許容温度は、温度予測対象によって決定する値であり、予め休止時間演算部１０７ｂ内に保持している値である。なお、休止時間演算部１０７は温度予測部１０６ｂに設定されている自然数Ｎと同じ値が予め設定されている。
【００７２】
休止時間演算部１０７ｂは、数式６で表される温度推移逆モデルを有する。温度推移逆モデルの放熱係数と発熱係数は各サイクルにおける休止時間演算処理の前に補正信号により補正される。補正後の休止時間演算処理は休止時間演算部１０７と同等の処理を行い、Ｎサイクル後に温度予測対象が過熱状態にならないように現在の休止タイミングに休止すべき時間である休止時間を演算する。なお、温度予測対象が複数個である場合は、それぞれの温度予測対象に対して上記の休止時間演算処理を行う。
【００７３】
以上のように、本実施の形態２によれば、実施の形態１に実測温度記録部１０８、予測温度記録部１０９、モデル補正部１１０を追加し、さらに温度予測部１０６ｂおよび休止時間演算部１０７ｂにて温度推移モデルおよび温度推移逆モデルの補正処理を加えたので、実施の形態１の効果に加え次の効果を奏する。
【００７４】
運転中に周囲温度が変化したり温度予測対象の温度特性が変化したりする場合でもサイクル毎に温度推移モデルおよび温度推移逆モデルを補正することで、精度良く将来の温度予測対象の温度を予測し、この結果を休止時間の演算に適用できる。
【００７５】
このように、本実施の形態２によれば、各サイクルでモデルを補正することで、運転中に周囲温度が変化したりモータの温度特性が変化したりする場合でも、請求項１における温度予測および予測時間の演算が精度良く実行できる。
【００７６】
実施の形態３．
図６は、本発明の実施の形態３に係る数値制御装置１ｃの構成を示すブロック図である。なお、図６では、図１に示した実施の形態１の構成要素と同一ないしは同等である構成要素には同一の符号が付されている。ここでは、本実施の形態３に関わる部分を中心に説明する。
【００７７】
実施の形態１では、発熱量を１サイクル分記録し、記録した発熱量を用いて温度予測および休止時間の演算を行っていた。本実施の形態３では、発熱量記録部を設けずに温度予測および休止時間の演算を行う構成について説明する。
【００７８】
なお、図６に示す本実施の形態３における数値制御装置１ｃは、実施の形態１と比較して、発熱量演算部１０４ｃで演算した発熱量が直接温度予測部１０６ｃおよび休止時間演算部１０７ｃへ出力されることに加え、温度予測部１０６ｃおよび休止時間演算部１０７ｃの処理が実施の形態１の温度予測部１０６および休止時間演算部１０７の処理と異なるので、これらの構成要素について説明する。
【００７９】
発熱量演算部１０４ｃは、運転状態取得部１０１の実測電流から温度予測対象の発熱量を演算し、温度予測部１０６ｃおよび休止時間演算部１０７ｃへ発熱量を出力する。発熱量は発熱量演算部１０４と同等の処理で算出する。
【００８０】
温度予測部１０６ｃは、運転信号生成部１０３で測定したサイクルタイム、発熱量演算部１０４ｃで演算された発熱量、運転状態取得部１０１からの実測温度、周囲温度センサ５で測定された周囲温度を入力とし、Ｎサイクル後の温度予測対象の温度である予測温度を算出し、予測温度を出力する。自然数Ｎは、運転の繰り返し回数よりも小さい範囲で設定変更できる値であり、初期設定時はＮ＝１である。
【００８１】
温度予測部１０６ｃは、数式（２）で表される温度推移モデルを有し、温度推移モデルから得られる数式（３）を用いて現在の休止タイミング時刻ｎからＮサイクル後の温度ｔ（ｎ＋Ｎ×ｋ）を演算する。ここで、数式（３）の中のＡおよびＢは、現在時刻ｎ以前の１サイクル中に逐次演算しておくことにより算出する。つまり、ＡおよびＢを算出するために変数ｘおよびｙを設定し、１サイクル前の休止が終了した時刻においてｘおよびｙの値をそれぞれｘ（ｎ−ｋ）＝１、ｙ（ｎ−ｋ）＝０としておく。なお、ｋは１サイクルタイムである。次に、今回の休止タイミングまで下記の数式（１０）および数式（１１）を繰り返す。
【００８２】
ｘ（ｉ＋１）＝ａ×ｘ（ｉ）                ・・・（１０）
ｙ（ｉ＋１）＝ａ×ｙ（ｉ）＋ｑ（ｉ）      ・・・（１１）
そして、今回の休止タイミングにおけるｘ（ｎ）をＡとし、ｙ（ｎ）にｂを乗じた量をＢとする。
【００８３】
以上の処理をサイクル毎に行い、Ｎサイクル後の温度を予測する。なお、温度予測対象が複数個である場合は、それぞれの温度予測対象に対して上記の温度予測処理を行う。
【００８４】
休止時間演算部１０７ｃは、運転信号生成部１０３で測定したサイクルタイム、発熱量演算部１０４ｃで演算された発熱量、運転状態取得部１０１からの実測温度、温度予測部１０６ｃで演算された予測温度、周囲温度センサ５で測定された周囲温度を入力とし、予測温度と許容温度の比較結果に基づいて計算した休止時間を運転信号生成部１０３へ出力する。許容温度は、温度予測対象によって決定する値であり、予め休止時間演算部１０７内に保持している値である。なお、休止時間演算部１０７ｃは温度予測部１０６ｃに設定されている自然数Ｎと同じ値が予め設定されている。
【００８５】
休止時間演算部１０７ｃは、数式（６）で表される温度推移逆モデルを有し、温度推移逆モデルから得られる数式（７）を用いて現在の休止タイミング時刻ｎ以降の休止時間を演算する。数式（７）中のＡおよびＢは、現在時刻ｎ以前の１サイクル中に逐次演算しておくことにより算出する。つまり、ＡおよびＢを算出するために変数ｘおよびｙを設定し、１サイクル前の休止が終了した時刻においてｘおよびｙの値をそれぞれｘ（ｎ−ｋ）＝１、ｙ（ｎ−ｋ）＝０としておく。次に、今回の休止タイミングまで下記の数式（１０）および数式（１１）を繰り返す。そして、今回の休止タイミングにおけるｘ（ｎ）をＡとし、ｙ（ｎ）にｂを乗じた量をＢとする。以降の休止時間演算処理は休止時間演算部１０７と同等の処理を行い、Ｎサイクル後に温度予測対象が過熱状態にならないように現在の休止タイミングに休止すべき時間である休止時間を演算する。なお、温度予測対象が複数個である場合は、それぞれの温度予測対象に対して上記の休止時間演算処理を行う。
【００８６】
以上のように、本実施の形態３によれば、温度予測部１０６ｃおよび休止時間演算部１０７ｃにて温度予測および休止時間演算のために逐次演算するので、実施の形態１の効果に加え次の効果を奏する。
【００８７】
１サイクル分の発熱量を記録することなく、逐次的に演算を繰り返すことで、容易に温度予測および休止時間の演算を実現できる。特に、１回のサイクルタイムが長かったり温度予測対象が複数個存在したりすることで発熱量を記録するための記録部の容量が不足する場合に、本実施の形態３は有効である。
【００８８】
さらに、本実施の形態によれば、運転中に周囲温度が変化したり温度予測対象の温度特性が変化したりする場合でもサイクル毎に温度推移モデルおよび温度推移逆モデルを補正することで、精度良く将来の温度予測対象の温度を予測し、この結果を休止時間の演算に適用できる。
【００８９】
実施の形態４．
図７は、本発明の実施の形態４に係る数値制御装置のブロック図である。なお、図７では、図５に示した実施の形態２および３の構成要素と同一ないしは同等である構成要素には同一の符号が付されている。ここでは、本実施の形態４に関わる部分を中心に説明する。
【００９０】
実施の形態２では、実測温度記録部１０８、予測温度記録部１０９、モデル補正部１１０を設け、温度推移モデルおよび温度推移逆モデルを補正してから温度予測および休止時間の演算を行う構成だった。また、実施の形態３では、発熱量記録部を設けずに、温度予測および休止時間の演算を行う構成だった。本実施の形態４では、発熱量記録部を設けずに、温度推移モデルおよび温度推移逆モデルを補正してから温度予測および休止時間の演算を行う構成について説明する。
【００９１】
なお、図７に示す本実施の形態４における数値制御装置１ｄは、実施の形態２および実施の形態３と比較して、温度予測部１０６ｄ、休止時間演算部１０７ｄおよびモデル補正部１１０ｄの処理が、実施の形態２の温度予測部１０６ｂおよび休止時間演算部１０７ｂの処理と異なるので、これらの構成要素について説明する。
【００９２】
モデル補正部１１０ｄは、温度予測対象の実測温度と予測温度記録部１０９に記録された予測温度との誤差が所定値以上の場合に、温度予測部１０６ｄの温度推移モデルおよび休止時間演算部１０７ｄの温度推移逆モデルをサイクル毎に補正する。モデル補正部１１０ｄは、実測温度記録部１０８から最新の実測温度を複数時刻分取得すると同時に、取得した実測温度の時刻に対応する各サイクルの予測温度を予測温度記録部１０９から取得する。温度予測対象において各時刻の実測温度と予測温度の２乗誤差の和が所定値以上であれば、２乗誤差の和が最小になるような数式（３）および数式（７）中のＡ、Ｂを演算する。演算は最小２乗法など既知の方法を用いる。数式（３）および数式（７）中のＡ、Ｂを算出した後、両者の値を補正信号として温度予測部１０６ｄおよび休止時間演算部１０７ｄへ出力する。
【００９３】
温度予測部１０６ｄは、運転信号生成部１０３で測定したサイクルタイム、発熱量演算部１０４ｃで演算された発熱量、運転状態取得部１０１からの実測温度、周囲温度センサ５で測定された周囲温度、モデル補正部１１０ｄで演算した補正信号を入力とし、Ｎサイクル後の温度予測対象の温度である予測温度を算出し、予測温度を出力する。自然数Ｎは、運転の繰り返し回数よりも小さい範囲で設定変更できる値であり、初期設定時はＮ＝１である。
【００９４】
温度予測部１０６ｄは、数式（２）で表される温度推移モデルを有する。温度予測部１０６ｄでは、各サイクルの休止タイミングにおいて数式（１０）および（１１）を用いた逐次演算を始める前に、補正信号を用いてＡおよびＢを補正する。補正後のＡおよびＢから得られた後は温度予測部１０６ｄにＮサイクル後の温度を予測する。なお、温度予測対象が複数個である場合は、それぞれの温度予測対象に対して上記の温度予測処理を行う。
【００９５】
休止時間演算部１０７ｄは、運転信号生成部１０３で測定したサイクルタイム、発熱量演算部１０４ｃで演算された発熱量、運転状態取得部１０１からの実測温度、温度予測部１０６で演算された予測温度、周囲温度センサ５で測定された周囲温度、モデル補正部１１０ｄで演算した補正信号を入力とし、予測温度と許容温度の比較結果に基づいて計算した休止時間を運転信号生成部１０３へ出力する。許容温度は、温度予測対象によって決定する値であり、予め休止時間演算部１０７ｄ内に保持している値である。なお、休止時間演算部１０７ｄは温度予測部１０６ｄに設定されている自然数Ｎと同じ値が予め設定されている。
【００９６】
休止時間演算部１０７ｄは、数式（６）で表される温度推移逆モデルを有する。休止時間演算部１０７ｄでは、各サイクルの休止タイミングにおいて数式（１０）および数式（１１）を用いた逐次演算を始める前に、補正信号を用いてＡおよびＢを補正する。次に、数式（４）の関係を用いて補正後のＡから放熱係数ａを算出する。次に、この放熱係数ａを用いて数式（１１）を１サイクルの間繰り返した結果であるｙ（ｎ）を算出し、補正後のＢをｙ（ｎ）で除することで、発熱係数ｂを算出する。補正後のＡおよびＢから得られた発熱係数および放熱係数を算出した後の休止時間演算処理は休止時間演算部１０７と同等の処理を行い、Ｎサイクル後に温度予測対象が過熱状態にならないように現在の休止タイミングに休止すべき時間である休止時間を演算する。なお、温度予測対象が複数個である場合は、それぞれの温度予測対象に対して上記の休止時間演算処理を行う。
【００９７】
以上のように、本実施の形態４によれば、実施の形態３に実測温度記録部１０８、予測温度記録部１０９、モデル補正部１１０ｄを追加したので、実施の形態３の効果に加え次の効果を奏する。
【００９８】
運転中に周囲温度が変化したり温度予測対象の温度特性が変化したりする場合でもサイクル毎に温度推移モデルおよび温度推移逆モデルを補正することで、精度良く将来の温度予測対象の温度を予測し、この結果を休止時間の演算に適用できる。
【００９９】
このように、本実施の形態４によれば、１サイクル分の発熱量を記録することなく、温度予測および休止時間の演算を実現できる。さらに、各サイクルでモデルを補正することで、運転中に周囲温度が変化したりモータの温度特性が変化したりする場合でも、請求項１における温度予測および予測時間の演算が精度良く実行できる。
【０１００】
以上説明したように、上記実施の形態１〜４においては、過去に発生した発熱量を将来の温度上昇に関わる発熱量として将来のサイクルの温度を予測し、予測した温度が許容温度を超える場合に、休止時間挿入後の予測温度が許容温度に一致するような長さの休止時間を挿入し、運転指令を生成する。すなわち、ある時刻の温度と発熱量と１時刻後の温度の関係をモデル化することで、発熱量のみで各時刻の温度を演算することができる。
【０１０１】
さらに、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、上記実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。
【産業上の利用可能性】
【０１０２】
以上のように、本発明にかかる数値制御装置は、工作機械や産業用ロボットなどの産業用途の装置を駆動制御する数値制御装置に有用であり、特に、特に同一の運転を繰り返す過程でモータが過熱状態になることを回避する数値制御装置に適している。
【符号の説明】
【０１０３】
１  数値制御装置、２  プログラム、３  駆動装置、４  モータ、１０１  運転状態取得部、１０２  プログラム解析部、１０３  運転信号生成部、１０４  発熱量演算部、１０５  発熱量記録部、１０６，１０６ｂ，１０６ｃ，１０６ｄ  温度予測部、１０７，１０７ｂ，１０７ｃ，１０７ｄ  休止時間演算部、１０８  実測温度記録部、１０９  予測温度記録部、１１０，１１０ｄ  モデル補正部、Ｓ１０１，Ｓ１１２，Ｓ１２２，Ｓ１２３，Ｓ１２４  ステップ。
【図１】
2015103168.tif 000003
【図２】
2015103168.tif 000004
【図３】
2015103168.tif 000005
【図４】
2015103168.tif 000006
【図５】
2015103168.tif 000007
【図６】
2015103168.tif 000008
【図７】
2015103168.tif 000009