(57)【要約】【課題】簡易な構成で、外乱変動の影響を抑制することが可能なモータ制御装置及びモータ制御方法を提供する。【解決手段】インバータ２０は、記憶部２３と、制御部２１とを備える。記憶部２３は、電流上限値と、当該電流上限値を算出する根拠となった荷役用モータ５の実回転数とを関連付け、履歴情報として記憶する。制御部２１は、一定周期で入力される電流上限値が入力された時は、当該電流上限値に基づいて荷役用モータ５を制御し、電流上限値が入力されてから次の電流上限値が入力されるまでの間は制御部２１で複数の履歴情報と現在の荷役用モータ５の実回転数とに基づいて補正電流上限値を算出し、当該補正電流上限値に基づいて荷役用モータ５を制御する。【選択図】図１
2014033601.tif 000002
【特許請求の範囲】
【請求項１】
モータの実回転数と操作手段からの操作信号とに基づいて算出されるトルク制御指令値の入力を受けて、前記モータを制御するモータ制御装置であって、
前記トルク制御指令値と、当該トルク制御指令値を算出する根拠となった前記モータの実回転数とを関連付け、履歴情報として記憶する記憶手段と、
一定周期で入力される前記トルク制御指令値が入力された時は、当該トルク制御指令値に基づいて前記モータを制御し、前記トルク制御指令値が入力されてから次の前記トルク制御指令値が入力されるまでの間は、複数の前記履歴情報と前記モータの現在の実回転数とに基づいて補正トルク制御指令値を算出し、当該補正トルク制御指令値に基づいて前記モータを制御する制御手段と、
を備える、モータ制御装置。
【請求項２】
前記制御手段における前記補正トルク制御指令値の算出は、複数の前記履歴情報に基づいて、前記モータの実回転数と前記トルク制御指令値との関係式を導出し、この関係式において現在の前記モータの実回転数に対応する前記トルク制御指令値を算出することにより行われる、
請求項１に記載のモータ制御装置。
【請求項３】
前記記憶手段は、前記モータ特有の回転数とトルクとの関係を示した「回転数−トルク特性」における、前記回転数の変化量に対する前記トルクの変化量の比の最小値及び最大値から定まる、基準傾きの範囲を更に記憶しており、
前記制御手段は、前記関係式における前記実回転数の変化量に対する前記トルク制御指令値の変化量の比で示される傾きを算出し、この傾きが前記基準傾きの範囲にある場合には、前記補正トルク制御指令値に基づいて前記モータを制御し、この傾きが前記基準傾きの範囲にない場合には、前記トルク制御指令値に基づいて前記モータを制御する、
請求項２に記載のモータ制御装置。
【請求項４】
前記モータ特有の回転数とトルクとの関係を示した「回転数−トルク特性」が複数設定されており、所定の回転数におけるトルクが最小である「回転数−トルク特性」と、所定の回転数におけるトルクが最大である「回転数−トルク特性」とで囲まれる領域を基準領域としたときに、
前記記憶手段は、前記基準領域を記憶しており、
現在の前記モータの実回転数及び前記トルク制御指令値が、前記基準領域にある場合には、前記制御手段は、前記補正トルク制御指令値に基づいて前記モータを制御し、
現在の前記モータの実回転数及び前記トルク制御指令値が、前記基準領域にない場合には、前記制御手段は、前記トルク制御指令値に基づいて前記モータを制御する、
請求項２に記載のモータ制御装置。
【請求項５】
前記補正トルク制御指令値は、前記トルク制御指令値が入力される周期よりも短い周期で算出される、
請求項１〜４の何れか一項に記載のモータ制御装置。
【請求項６】
前記補正トルク制御指令値は、直近２回の前記履歴情報に基づいて算出される、
請求項１〜５の何れか一項に記載のモータ制御装置。
【請求項７】
前記モータは、産業用車両に搭載される荷役用モータである、
請求項１〜６の何れか一項に記載のモータ制御装置。
【請求項８】
モータの実回転数と操作手段からの操作信号とに基づいて算出されるトルク制御指令値の入力を受けて、前記モータを制御するモータ制御方法であって、
前記トルク制御指令値と、当該トルク制御指令値を算出する根拠となった前記モータの実回転数とを関連付け、履歴情報として記憶する記憶ステップと、
一定周期で入力される前記トルク制御指令値が入力された時は、当該トルク制御指令値に基づいて前記モータを制御し、前記トルク制御指令値が入力されてから次の前記トルク制御指令値が入力されるまでの間は、複数の前記履歴情報と前記モータの現在の実回転数とに基づいて補正トルク制御指令値を算出し、当該補正トルク制御指令値に基づいて前記モータを制御する制御ステップと、
を含む、モータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置及びモータ制御方法に関する。
【背景技術】
【０００２】
外乱変動による影響を抑制するためのモータ制御に関する技術が多く開示されている。このような従来技術の例として、例えば、下記に示す特許文献１がある。特許文献１には、トルク指令とモータの回転を検出する回転検出手段から得られる回転信号とに基づいて外乱トルクを演算する外乱推定器を備えたモータ制御装置について記載されている。このモータ制御装置によれば、外乱推定器により外乱トルクを算出し、算出された外乱トルクに基づいて、調整器が速度制御手段のトルク指令値を補正するので、外乱変動による影響を抑制することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３２４２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では、外乱トルクを算出するための外乱推定器及び調整器の追加が必要となり、装置の構成が複雑になる。
【０００５】
そこで、本発明の主な目的は、簡易な構成で、外乱変動の影響を抑制することが可能なモータ制御装置及びモータ制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一側面に係るモータ制御装置は、モータの実回転数と操作手段からの操作信号とに基づいて算出されるトルク制御指令値の入力を受けて、モータを制御するモータ制御装置であって、記憶手段と制御手段とを備える。記憶手段は、トルク制御指令値と、当該トルク制御指令値を算出する根拠となったモータの実回転数とを関連付け、履歴情報として記憶する。制御手段は、一定周期で入力されるトルク制御指令値が入力された時は、当該トルク制御指令値に基づいてモータを制御し、トルク制御指令値が入力されてから次のトルク制御指令値が入力されるまでの間は、複数の履歴情報とモータの現在の実回転数とに基づいて補正トルク制御指令値を算出し、当該補正トルク制御指令値に基づいてモータを制御する。
【０００７】
本発明の一側面に係るモータ制御方法は、モータの実回転数と操作手段からの操作信号とに基づいて算出されるトルク制御指令値の入力を受けて、モータを制御するモータ制御方法であって、記憶ステップと、制御ステップとを含む。記憶ステップは、トルク制御指令値と、当該トルク制御指令値を算出する根拠となったモータの実回転数とを関連付け、履歴情報として記憶する。制御ステップは、一定周期で入力されるトルク制御指令値が入力された時は、当該トルク制御指令値に基づいてモータを制御し、トルク制御指令値が入力されてから次のトルク制御指令値が入力されるまでの間は、複数の履歴情報とモータの現在の実回転数とに基づいて補正トルク制御指令値を算出し、当該補正トルク制御指令値に基づいてモータを制御する。
【０００８】
このモータ制御装置及びモータ制御方法によれば、一定周期で入力されるトルク制御指令値に基づいてモータのトルクを制御してから、次に算出されるトルク制御指令値によってモータのトルクを制御するまでの間も、補正トルク制御指令値に基づいてモータのトルクが制御される。このため、外部から入力されるトルク制御指令値のみに基づいてモータのトルクが制御されることに比べ、短いスパンでモータのトルクが制御される。これにより、より現在に近いモータの実回転数が次のモータのトルク制御に反映されるので、外乱変動を考慮したフィードバック制御が可能となる。また、補正トルク制御指令値は、記憶手段に記憶された複数の履歴情報と現在の回転数とに基づいて算出されるので、新たな検出器や複雑なロジックを追加することなく容易に得ることができる。この結果、簡易な構成で、外乱変動の影響を抑制することが可能となる。
【０００９】
本発明の一側面に係るモータ制御装置では、制御部における補正トルク制御指令値の算出は、複数の履歴情報に基づいて、モータの実回転数とトルク制御指令値との関係式を導出し、この関係式において現在のモータの実回転数に対応するトルク制御指令値を算出することにより行われてもよい。
【００１０】
本発明の一側面に係るモータ制御装置では、記憶手段は、モータ特有の回転数とトルクとの関係を示した「回転数−トルク特性」における、回転数の変化量に対するトルクの変化量の比の最小値及び最大値から定まる、基準傾きの範囲を更に記憶しており、制御手段は、関係式における実回転数の変化量に対するトルク制御指令値の変化量の比で示される傾きを算出し、この傾きが基準傾きの範囲にある場合には、補正トルク制御指令値に基づいてモータを制御し、この傾きが基準傾きの範囲にない場合には、トルク制御指令値に基づいてモータを制御してもよい。
【００１１】
また、本発明の一側面に係るモータ制御装置では、モータ特有の回転数とトルクとの関係を示した「回転数−トルク特性」が複数設定されており、所定の回転数におけるトルクが最小である「回転数−トルク特性」と、所定の回転数におけるトルクが最大である「回転数−トルク特性」とで囲まれる領域を基準領域としたときに、記憶手段は、基準領域を記憶しており、現在のモータの実回転数及びトルク制御指令値が、基準領域にある場合には、制御手段は、補正トルク制御指令値に基づいてモータを制御し、現在のモータの実回転数及びトルク制御指令値が、基準領域にない場合には、制御手段は、トルク制御指令値に基づいてモータを制御してもよい。
【００１２】
例えば、作業に合った最適なパワーを出力するために、ハイパワーモードや省エネモードなど、を備えたフォークリフトなどがある。トルク制御指令値は、上記モードごとに異なる「回転数−トルク特性」に基づいて算出されるので、モータ制御装置に入力されるトルク制御指令値が急変するおそれがある。
【００１３】
このモータ制御装置では、モータ制御装置に入力されるトルク制御指令値の急変を検知した場合には、その急変したトルク制御指令値に基づいて算出される補正トルク制御補正値を採用せず、トルク制御指令値の値に基づいてモータを制御する。すなわち、トルク制御指令値が入力されてから次のトルク制御指令値が入力されるまでの間であっても、先のトルク制御指令値の値に基づいてモータを制御する。これにより、意図しない補正トルク制御値に基づいてモータが制御されることを防止できる。
【００１４】
また、本発明の一側面に係るモータ制御装置では、補正トルク制御指令値が、トルク制御指令値が入力される周期よりも短い周期で算出されてもよい。このモータ制御装置では、より現在に近いモータの実回転数を次のモータのトルク制御に反映させることができるので、外乱変動の影響をより一層抑制することができる。
【００１５】
また、本発明の一側面に係るモータ制御装置では、補正トルク制御指令値を直近２回の履歴情報に基づいて算出してもよい。このモータ制御装置では、参照する過去の履歴情報の数を少なくすることで、計算にかかる負荷を小さくすることができる。
【００１６】
また、本発明の一側面に係るモータ制御装置では、制御するモータを、産業用車両に搭載される荷役用モータとすることができる。このモータ制御装置では、荷役用モータの回転数の変動を抑制することができるので、回転数の変動による「うなり音」や機台を介して伝わる振動を低減することができる。この結果、搭乗者が感じるうなり音や振動による不快感を抑制することができる。
【発明の効果】
【００１７】
本発明によれば、簡易な構成で、外乱変動の影響を抑制することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】第１実施形態に係るインバータを含むフォークリフトの概略構成を示す図である。
【図２】荷役用モータの回転数とトルクとの関係式の一例を示すグラフである。
【図３】履歴情報及びＮＴマップなどに基づいて導出される、回転数と電流上限値との相関関係式Ｌの一例を示すグラフである。
【図４】主制御コントローラから出力される電流上限値に基づいて、荷役用モータのトルクを制御した際の回転変動幅についての実験結果と、主制御コントローラから出力される電流上限値と、制御部により算出される電流上限値と基づいて、荷役用モータのトルクを制御した際の回転変動幅についての実験結果とを示したグラフである。
【図５】主制御コントローラから出力される電流上限値に基づいて、荷役用モータのトルクを制御した際の回転変動幅についての実験結果と、主制御コントローラから出力される電流上限値と、制御部により算出される電流上限値と基づいて、荷役用モータのトルクを制御した際の回転変動幅についての実験結果とを示したグラフである。
【図６】第２実施形態のフォークリフトが備える２つのモードに対応するそれぞれのＮＴマップである。
【図７】履歴情報及びＮＴマップなどに基づいて導出される、回転数と電流上限値との相関関係式の一例を示すグラフである。
【図８】第２実施形態及び第３実施形態に係るインバータの効果を説明するグラフである。
【図９】第３実施形態のフォークリフトが備える２つのモードに対応するそれぞれのＮＴマップ及び基準領域を示す図面である。
【図１０】履歴情報及びＮＴマップなどに基づいて導出される、回転数と電流上限値との相関関係式の一例を示すグラフである。
【発明を実施するための形態】
【００１９】
以下、図面を参照して好適な実施形態について詳細に説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を付することとする。
【００２０】
（第１実施形態）
図１は、第１実施形態に係るインバータを含むフォークリフトの概略構成を示す図である。インバータ（モータ制御装置）２０は、例えば、フォークリフト（産業用車両）１に適用することができる。この場合、インバータ２０は、フォークリフト１に備わる荷役用モータ（モータ）５を制御する。フォークリフト１は、操作部（操作手段）３、主制御コントローラ１１、インバータ２０、荷役用モータ５、荷役装置７、及び回転センサ１５を主に含んでいる。
【００２１】
操作部３は、搭乗者（操作者）の操作を受け付ける部分であり、例えば、荷役装置７を制御するためのレバー、アクセルペダル、ブレーキペダルなどが含まれる。操作部３で受け付けた操作は、操作信号として主制御コントローラ１１に出力される。
【００２２】
主制御コントローラ１１は、操作部３から入力される操作信号を対応する制御信号に変換する。例えば、レバー操作、アクセル操作、ブレーキ操作などの各種操作手段の操作に伴う操作信号が、対応する各種制御信号に変換される。例えば、操作部３を介して荷役装置７を操作する操作信号が入力されると、主制御コントローラ１１は、この操作信号に対応する制御信号、すなわち、トルク制御指令値を生成し、後述するインバータ２０に対して出力する。また、荷役用モータ５の駆動中においては、主制御コントローラ１１は、上記操作信号と回転センサ１５によって得られる荷役用モータ５の実回転数とに基づいてトルク制御指令値を生成してインバータ２０に対して出力するフィードバック制御を行っている。
【００２３】
トルク制御指令値は、例えば、図２に示されるような、荷役用モータ５の回転数とトルクとの関係式（回転数−トルク特性）に基づいて算出することができる。これらの関係式（以下、「ＮＴマップ」とも称す）は、荷役用モータ５の特性、及び荷役用モータ５の使用環境などに応じて導出される。例えば、作業に合った最適なパワーを出力するために、ハイパワーモードや省エネモードなど、を備えたフォークリフトなどでは、モードごとにＮＴマップが設定され得る。トルク制御指令値は、電流上限値又はトルク上限値として出力される。以下は、トルク制御指令値として電流上限値が出力された場合を例に挙げ説明する。
【００２４】
主制御コントローラ１１は、この電流上限値を、インバータ２０に対して一定周期で、離散的に送信する。
【００２５】
荷役用モータ５は、例えば、誘導モータとすることができる。荷役用モータ５は、インバータ２０を介して電源から供給される電力を利用して駆動される。電源は、特に限定されるものではなく、例えば、バッテリとすることができる。バッテリの例には、液式鉛バッテリ、シール式鉛バッテリ、リチウムイオン電池、ニッケル水素電池などが含まれる。
【００２６】
荷役装置７は、荷役対象物を運搬する部分であり、荷役用モータ５を駆動させることにより、上昇、下降などの荷役動作を行う。
【００２７】
回転センサ１５は、荷役用モータ５の回転数や回転速度などの回転状態を検知するセンサである。回転センサ１５は、取得した回転センサ信号を後述するインバータ２０に対して出力する。インバータ２０は、回転センサ信号の入力を受けて、例えば、荷役用モータ５の実回転数を算出することができる。
【００２８】
インバータ２０は、記憶部（記憶手段）２３と制御部（制御手段）２１とを有しており、荷役用モータ５を制御する。記憶部２３は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などのメモリを有しており、後述する履歴情報や、制御プログラムなど記憶する部分である。
【００２９】
制御部２１は、主制御コントローラ１１から一定周期で離散的に出力される電流上限値（トルク制御指令値）に基づいて荷役用モータ５を制御すると共に、あるタイミングで主制御コントローラ１１より電流上限値が入力されてから次の電流上限値が入力されるまでの間は、補正電流上限値（補正トルク制御指令値）に基づいて荷役用モータ５を制御する。
【００３０】
インバータ２０は、出力電圧を制御するＰＷＭ（Pulse WidthModulation）制御により荷役用モータ５を制御する。なお、インバータ２０による荷役用モータ５の制御周期は、主制御コントローラ１１とインバータ２０との通信周期よりも十分に短いものである。
【００３１】
ここで、履歴情報について具体的に説明する。履歴情報は、トルク制御指令値と、当該トルク制御指令値を算出する根拠となった荷役用モータ５の実回転数とが関連付けられた情報をいう。主制御コントローラ１１は、１周期前の通信時（例えば、Ｔ−１回目の通信時）にインバータ２０に送信した電流上限値によって制御された荷役用モータ５の実回転数を受け取って、その実回転数に基づいて次の通信時（例えば、Ｔ回目の通信時）にインバータ２０に送信する電流上限値を算出している。記憶部２３では、１周期前の通信時に主制御コントローラ１１へ出力した荷役用モータ５の実回転数と、次の通信時に主制御コントローラ１１より送られてきた電流上限値とを関連付けて記憶する。すなわち、第１実施形態の記憶部２３では、１つ前の通信時にインバータ２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、次の通信時に主制御コントローラ１１からインバータ２０に入力された電流上限値とを関連付けて記憶している。
【００３２】
次に、補正電流上限値について説明する。補正電流上限値は、記憶部２３に記憶された複数の履歴情報及び上述したＮＴマップなどから導出される。例えば、補正電流上限値は、図３に示すような、主制御コントローラ１１から出力された電流上限値と、その電流上限値に基づいて制御された荷役用モータ５の実回転数との相関関係式Ｌに基づいて、回転センサ１５から取得した現在の実回転数に対応する電流値を算出することで得られる。
【００３３】
補正電流上限値は、例えば、少なくとも直近２回の履歴情報から算出することができる。具体的には、直近２回の履歴情報（Ｎ１、Ｎ２）及びＮＴマップなどに基づいて、図３に示すような、回転数と電流上限値との相関関係式Ｌが導出される。Ｎ１は、１周期前の通信時（Ｔ−１回目の通信時）の電流上限値とそれに関連付けられた実回転数、Ｎ２は、次の通信時（Ｔ回目の通信時）の電流上限値とそれに関連付けられた実回転数を示している。そして、補正電流上限値ｔ３は、この相関関係式Ｌに、回転センサ１５から取得される現在の実回転数ｒ３を代入することによって得られる。
【００３４】
次に、インバータ２０の動作（モータ制御方法）について説明する。第１実施形態のインバータ２０は、第１の制御サイクル（いわゆる、通信サイクル）と第２の制御サイクル（制御ステップ）とを有する。第１の制御サイクルは、主制御コントローラ１１から一定周期で離散的に出力されてくる電流上限値に基づいて荷役用モータ５のトルクを制御するサイクルをいう。第２の制御サイクルは、主制御コントローラ１１が出力する電流上限値がインバータ２０に入力されてから次の電流上限値がインバータ２０に入力されるまでの間に行われ、補正電流上限値に基づいて荷役用モータ５のトルクを制御するサイクルをいう。
【００３５】
第１の制御サイクルでの操作について説明する。操作者により操作部３が操作されると、操作部３は操作に対応する操作信号を生成し、主制御コントローラ１１に当該操作信号を出力する。操作信号が入力された主制御コントローラ１１は、この操作信号に対応する制御信号、すなわち、電流上限値を算出する。また、インバータ２０から現在の荷役用モータ５の実回転数が入力された場合には、主制御コントローラ１１は、当該実回転数及び操作信号に基づいて電流上限値を算出する。電流上限値は、一定周期で算出され、インバータ２０に離散的に出力される。
【００３６】
次に、主制御コントローラ１１から電流上限値の入力を受けたインバータ２０は、荷役用モータ５のトルク制御を行う。具体的には、インバータ２０は、電流上限値に基づいて荷役用モータ５のトルクを制御する。
【００３７】
次に、インバータ２０によって制御された荷役用モータ５の回転数が、回転センサ１５により検出される。具体的には、荷役用モータ５の回転数を検出する回転センサ１５から出力されるセンサ信号に基づいて、制御部２１によって実回転数が算出される。制御部２１によって算出された実回転数は、主制御コントローラ１１に出力される。
【００３８】
次に、インバータ２０から実回転数の入力を受けた主制御コントローラ１１は、この実回転数と操作信号とに基づいて、電流上限値を再び算出する。そして、この電流上限値がインバータ２０に出力される。このようなサイクルでは、主制御コントローラ１１は、１周期前の通信時（例えば、Ｔ−１回目の通信時）に送信した電流上限値によって制御された荷役用モータ５の実回転数を根拠として、次の通信時（例えば、Ｔ回目の通信時）の電流上限値を算出していると言える。
【００３９】
このような状況の下、記憶部２３では、１周期前の通信時（例えば、Ｔ−１回目の通信時）に送信した電流上限値によって制御された荷役用モータ５の実回転数と、この実回転数を根拠に次の通信時（例えば、Ｔ回目の通信時）で新たに算出された電流上限値を関連付けて記憶している（記憶ステップ）。具体的には、１周期前の通信時（例えば、Ｔ−１回目の通信時）にインバータ２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、次の通信時（例えば、Ｔ回目の通信時）で主制御コントローラ１１からインバータ２０に入力された電流上限値とを関連付けて記憶している。
【００４０】
次に、第２の制御サイクルでの動作について説明する。第２の制御サイクルは、電流上限値がインバータ２０に入力されてから次の電流上限値がインバータ２０に入力されるまでの間に行われる。第２の制御サイクルにおいて、制御部２１は、記憶部２３に記憶された複数の履歴情報とＮＴマップとに基づいて導出される相関関係式Ｌにおいて、現在の実回転数に対応する電流上限値を補正電流上限値として算出する。
【００４１】
補正電流上限値を算出する方法としては、例えば、以下の方法が挙げられる。まず、記憶部２３から過去の履歴情報、例えば、直近２回の履歴情報を抽出する。インバータ２０に最後に電流上限値が入力された通信時の周期を「今回」とする。この場合、直近２回の履歴情報とは、２周期前の通信時（前々回）にインバータ２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、１周期前の通信時（前回）に主制御コントローラ１１からインバータ２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ２）、及び、１周期前の通信時（前回）にインバータ２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、今周期の通信時（今回）で主制御コントローラ１１からインバータ２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ１）をいう。
【００４２】
制御部２１は、履歴情報Ｎ１及び履歴情報Ｎ２と、例えば図２に示すような荷役用モータ５のＮＴマップとに基づいて、図３に示すような回転数と電流上限値との相関関係式Ｌを導出する。制御部２１は、この相関関係式Ｌにおいて、回転センサ１５から算出することができる現在の実回転数ｒ３を代入することにより、補正電流上限値ｔ３を算出する。制御部２１は、この補正電流上限値ｔ３に基づいて荷役用モータ５のトルクを制御する。
【００４３】
第２の制御サイクルは、第１の制御サイクルよりも短い周期で行われる。すなわち、第２の制御サイクルは、第１の制御サイクルにおいて、主制御コントローラ１１から電流上限値の入力を受けてから次の電流上限値を受け取るまでの間の期間において繰り返し行われる。
【００４４】
次に、上記インバータ２０の作用効果について、図１に示すようにフォークリフト１の一部として適用した場合を例にして説明する。
【００４５】
第１実施形態のインバータ２０及び荷役用モータ５の制御方法によれば、一定周期で入力される電流上限値に基づいて荷役用モータ５のトルクを制御してから、次に電流上限値が入力されるまでの間も、補正電流上限値に基づいて荷役用モータ５のトルクが制御される。このため、主制御コントローラ１１から入力される電流上限値のみに基づいて荷役用モータ５のトルクが制御されることに比べ、短いスパンで荷役用モータ５のトルクが制御される。これにより、荷役用モータ５のトルク制御をするにあたり、より現在に近い実回転数を反映させることができるので、外乱変動を考慮したフィードバック制御が可能となる。また、補正電流上限値は、記憶部２３に記憶された複数の履歴情報と現在の実回転数とに基づいて算出することができるので、新たな検出器や複雑なロジックを追加することなく容易に得ることができる。この結果、簡易な構成で、外乱変動の影響を抑制することが可能となる。
【００４６】
補正電流上限値を算出しない従来の構成では、主制御コントローラ１１は一定周期で電流上限値を算出すると共にインバータ２０に出力し、インバータ２０は次の通信周期で主制御コントローラ１１より新たな電流上限値が算出されて出力されるまでの間は、同じ値の電流上限値で荷役用モータ５のトルクを制御する。この場合、当該周期の後半では、電流上限値を算出する際に取得した実回転数と現在の実回転数とが乖離するので、本来制御すべき電流上限値と乖離してしまう。このような電流上限値によって荷役用モータ５のトルクが制御されると回転数が変動してしまう。そして、このような回転数の変動は、フォークリフト１においては、うなり音や振動となり搭乗者に伝わる。搭乗者は、このうなり音や振動を不快に感じる。
【００４７】
このような場合であっても、第１実施形態のインバータ２０では、主制御コントローラ１１から一定周期で出力されてくる電流上限値に基づいて荷役用モータ５のトルクを制御するだけでなく、制御部２１によって、主制御コントローラ１１が電流上限値を出力する周期よりも短い周期で補正電流上限値を算出し、当該補正電流上限値に基づいて荷役用モータ５のトルクを制御している。これにより、主制御コントローラ１１が一定周期で出力する電流上限値に比べ、本来制御すべき電流上限値により近い値で荷役用モータ５のトルク制御が行われるようになる。
【００４８】
図４（ａ）及び（ｂ）は、外乱変動を抑制できることを示した図面である。図４（ｂ）は、主制御コントローラ１１から出力される電流上限値のみに基づいて、荷役用モータ５のトルクを制御した際の回転変動幅についての実験結果を示したグラフであり、その回転変動幅は、Ｗ０であった。図４（ａ）は、主制御コントローラ１１から出力される電流上限値と、制御部により算出される電流上限値と基づいて、荷役用モータ５のトルクを制御した際の回転変動幅についての実験結果を示したグラフであり、その回転変動幅は、Ｗ１（Ｗ１＜Ｗ０）であった。図４（ａ）及び（ｂ）によれば、第１実施形態のインバータ２０が回転変動幅を抑制できることが分かる。
【００４９】
第１実施形態のインバータ２０を搭載したフォークリフト１では、図４（ａ）に示すように、回転変動幅Ｗ１を従来よりも小さくすることができるため、フォークリフト１に発生する振動を抑制することができる。すなわち、外乱変動の影響を抑制することができる。
【００５０】
また、例えば、主制御コントローラ１１から荷役用モータ５の回転数を制御するための回転数指令値がインバータ２０へ送信されて、インバータ２０はその回転数指令値に基づいて荷役用モータ５を制御することもできるが、主制御コントローラ１１から出力される回転数指令値と荷役用モータ５の実回転数とが乖離してしまう場合がある。すなわち、荷役用モータ５に過負荷がかかり、荷役用モータ５の回転数が当該回転数指令値に追従しない場合がある。このような状態で外乱変動が生じると、荷役用モータ５の回転変動幅が大きくなる傾向があるが、第１実施形態のインバータ２０では、外乱変動による影響を抑制することができるため、このような状態であっても回転変動幅を小さくすることができる。
【００５１】
図５（ａ）及び（ｂ）は、主制御コントローラ１１から出力される回転数指令値と荷役用モータ５の実回転数とが乖離しない場合、すなわち、主制御コントローラ１１から出力される回転数指令値と荷役用モータの実回転数とがほぼ一致している場合には、外乱変動を更に抑制できることを示した図面である。図５（ａ）は、主制御コントローラ１１から出力される回転数指令値と荷役用モータ５の実回転数とがほぼ一致している場合において、主制御コントローラ１１から出力される電流上限値と、制御部２１により算出される補正電流上限値とに基づいて荷役用モータ５のトルクを制御した際の回転変動幅についての実験結果を示したグラフである。この場合の回転変動幅は、Ｗ２であった。図５（ｂ）は、図５（ａ）と同様に主制御コントローラ１１から出力される回転数指令値と荷役用モータ５の実回転数とがほぼ一致している場合において、主制御コントローラ１１から出力される電流上限値のみに基づいて、荷役用モータ５のトルクを制御した際の回転変動幅についての実験結果を示したグラフである。この場合の回転変動幅は、Ｗ３（Ｗ２＜Ｗ３）であった。図５（ａ）及び（ｂ）によれば、主制御コントローラ１１から出力される回転数指令値と荷役用モータ５の実回転数とがほぼ一致している場合にも、主制御コントローラ１１から出力される電流上限値と、制御部２１により算出される補正電流上限値とに基づいて荷役用モータ５のトルクを制御すると、回転変動幅を抑制できることが分かる。また、主制御コントローラ１１から出力される回転数指令値と荷役用モータ５の実回転数とが乖離する場合に同様の制御を行ったときよりも、回転変動幅を更に抑制できる（Ｗ２＜Ｗ１）ことが分かる。
【００５２】
第１実施形態に係るインバータ２０及び制御方法では、マイコンなどが使用される主制御コントローラ１１に対して計算負荷を増加させるような処理ではない。このため、処理性能の高いマイコンへ代替するなどの必要性がなく、装置全体のコストを抑制することができる。
【００５３】
また、第１実施形態に係るインバータ２０及び制御方法では、主制御コントローラ１１からインバータ２０に電流上限値が入力されてから次に電流上限値が入力されるまでの間も、インバータ２０によって荷役用モータ５のトルクが制御される。このため、主制御コントローラ１１からの通信が滞った場合や、通信が乱れた場合であっても、外乱による変動に対応することができる。また、主制御コントローラ１１が電流上限値を算出する周期を長くすることもできる。言い換えれば、主制御コントローラ１１の処理能力を劣るものにした場合でも、外乱による変動を抑制する能力を維持することができる。
【００５４】
主制御コントローラ１１からの通信が無い期間においても、過去の履歴情報に基づいてインバータ２０が補正電流上限値を算出して荷役用モータ５のトルクを制御するので、主制御コントローラ１１とインバータ２０との通信周期を長くすることができる。すなわち、補正電流上限値を算出せずに荷役用モータ５のトルクを制御する場合、電流上限値は次回の通信が行われるまで前回の通信時に取得した電流上限値を用いることになるためトルク制御の精度が悪化してしまう。しかしながら、第１実施形態では、主制御コントローラ１１との通信が無い期間においても、インバータ２０が補正電流上限値を算出して荷役用モータ５のトルクを制御できるので、トルク制御の精度が低下しない。従って、主制御コントローラ１１とインバータ２０との通信周期を長くすることが可能となり、通信負荷を軽くすることができる。
【００５５】
第１実施形態に係るインバータ２０は、主制御コントローラ１１に変更を加えることなく実装することができるので、既存のモータ制御装置などに極めて容易に実装することができる。
【００５６】
（第２実施形態）
次に、第２実施形態に係るインバータを含むフォークリフトについて説明する。第２実施形態に係るインバータ１２０が、上記第１実施形態のインバータ２０と異なる点は、記憶部１２３に記憶されている情報が異なる点と、制御部１２１における第２の制御サイクルでの動作が異なっている点とである。その他の部分は、上記第１実施形態と同一である。ここでは、上述した相違点について詳細に説明し、上記第１実施形態と同一部分については、説明を省略する。
【００５７】
記憶部１２３は、１周期前の通信時（例えば、Ｔ−１回目の通信時）にインバータ１２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、次の通信時（例えば、Ｔ回目の通信時）で主制御コントローラ１１からインバータ１２０に入力された電流上限値（トルク制御指令値）とを関連付けて記憶した履歴情報に加え、以下の情報を記憶している。すなわち、記憶部１２３は、図６に示すような、モータ特有の回転数とトルクとの関係を示した「回転数−トルク特性」（以下、「ＮＴマップ」と称す）における、回転数の変化量に対するトルクの変化量の比の最小値及び最大値から定まる、基準傾きＳの範囲（Ｓｍｉｎ≦Ｓ≦Ｓｍａｘ）を更に記憶している。
【００５８】
図６は、フォークリフト１０１が備える２つのモードに対応するそれぞれのＮＴマップである。例えば、図６に示す実線は、通常モードのＮＴマップであり、図６に示す破線は、作業性を維持しつつ効率を優先する効率優先モードのＮＴマップである。記憶部１２３は、フォークリフト１０１が有する２つのＮＴマップにおいて、基準傾きの範囲（Ｓｍｉｎ≦Ｓ≦Ｓｍａｘ）を記憶している。なお、フォークリフト１０１が備えるモードは、２つ以上であってもよい。
【００５９】
制御部１２１は、主制御コントローラ１１から一定周期で離散的に出力される電流上限値に基づいて荷役用モータ５を制御する。また、制御部１２１は、あるタイミングで主制御コントローラ１１より電流上限値が入力されてから次の電流上限値が入力されるまでの間は、複数の履歴情報に基づいて、荷役用モータ５の実回転数と電流上限値との相関関係式（図７に示すＬ１〜Ｌ３）を導出し、この相関関係式における実回転数の変化量に対する電流上限値の変化量の比で示される傾きαを算出する。相関関係式の傾きが基準傾きＳの範囲にある場合（Ｓｍｉｎ≦α≦Ｓｍａｘ）には、制御部１２１は、補正電流上限値（補正トルク制御指令値）に基づいて荷役用モータ５を制御する。相関関係式の傾きが基準傾きの範囲にない場合（Ｓｍｉｎ＞α  又はα＞Ｓｍａｘ）には、制御部１２１は、電流上限値に基づいて荷役用モータ５を制御する。
【００６０】
インバータ１２０の動作（モータ制御方法）について、主に図７を用いて説明する。図７は、履歴情報及びＮＴマップなどに基づいて導出される、回転数と電流上限値との相関関係式Ｌ１〜Ｌ３の一例を示すグラフである。第２実施形態のインバータ１２０は、第１実施形態のインバータ２０と同様に、第１の制御サイクル（いわゆる、通信サイクル）と第２の制御サイクル（制御ステップ）とを有する。第１の制御サイクルについては、第１実施形態のインバータ２０と同様であるので、ここでは詳細な説明を省略し、第２の制御サイクルについて詳細に説明する。
【００６１】
最初に、効率優先モードで動作している場合の例について、具体的に説明する。
【００６２】
インバータ１２０に最後に電流上限値が入力された通信時Ｃ２の周期を「今回」の周期とする。この場合、直近２回の履歴情報とは、２周期前の通信時（前々回の周期）にインバータ１２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、１周期前の通信時Ｃ１（前回）に主制御コントローラ１１からインバータ１２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ１１）、及び、１周期前の通信時Ｃ１（前回）にインバータ１２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、今周期の通信時Ｃ２（今回）で主制御コントローラ１１からインバータ１２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ１２）をいう。
【００６３】
制御部１２１は、履歴情報Ｎ１１及び履歴情報Ｎ１２と、図６に示す荷役用モータ５のＮＴマップ（図６に示す破線）とに基づいて、図７に示すような回転数と電流上限値との相関関係式Ｌ１を導出する。ここで、制御部１２１は、相関関係式Ｌ１の傾きα１を算出し、この傾きα１が、記憶部１２３に記憶された基準傾きＳの範囲内（Ｓｍｉｎ≦Ｓ≦Ｓｍａｘ）にあるか否かを判定する。この点が、上記第１実施形態の制御部２１での動作と異なる点である。ここでは、傾きα１が基準傾きＳの範囲内にある（Ｓｍｉｎ≦α１≦Ｓｍａｘ）とする。この場合、制御部１２１は、この相関関係式Ｌ１において、回転センサ１５から取得することができる現在の実回転数ｒ１２Ａを代入することにより、補正電流上限値ｔ１２Ａを算出する。インバータ１２０は、この補正電流上限値ｔ１２Ａに基づいて荷役用モータ５のトルクを制御する。
【００６４】
第２の制御サイクルは、第１の制御サイクルよりも短い周期で行われる。すなわち、第２の制御サイクルでは、主制御コントローラ１１から電流上限値の入力を受けて（通信時Ｃ２）から次の電流上限値を受け取る（通信時Ｃ３）までの間の期間において、繰り返し補正電流上限値ｔ１２Ａ，ｔ１２Ｂ，ｔ１２Ｃが算出され、この補正電流上限値ｔ１２Ａ，ｔ１２Ｂ，ｔ１２Ｃに基づいて荷役用モータ５のトルクが制御される。
【００６５】
次に、効率優先モードから通常モードに切り替わった場合の例について、具体的に説明する。通信時Ｃ２に効率優先モードであったモードが、通信時Ｃ３に通常モードに切り替わったとする。
【００６６】
インバータ１２０に最後に電流上限値が入力された通信時Ｃ３の周期を「今回」の周期とする。この場合、直近２回の履歴情報とは、２周期前の通信時Ｃ１（前々回の周期）にインバータ１２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、１周期前の通信時Ｃ２（前回）に主制御コントローラ１１からインバータ１２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ１２）、及び、１周期前の通信時Ｃ２（前回）にインバータ１２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、今周期の通信時Ｃ３（今回）で主制御コントローラ１１からインバータ１２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ１３）をいう。
【００６７】
制御部１２１は、履歴情報Ｎ１２及び履歴情報Ｎ１３と、図６に示す荷役用モータ５のＮＴマップ（図６に示す実線及び破線）とに基づいて、図７に示すような回転数と電流上限値との相関関係式Ｌ２を導出する。ここで、制御部１２１は、相関関係式Ｌ２の傾きα２を算出し、この傾きα２が、記憶部１２３に記憶された基準傾きＳの範囲内（Ｓｍｉｎ≦Ｓ≦Ｓｍａｘ）にあるか否かを判定する。ここでは、傾きα２が基準傾きＳの範囲外にある（Ｓｍｉｎ＞α２  又はα２＞Ｓｍａｘ）とする。この場合、インバータ１２０は、通信時Ｃ３にインバータ１２０に入力された電流上限値ｔ１３で荷役用モータ５のトルクを制御する。言い換えれば、制御部１２１は、この相関関係式Ｌ２において、回転センサ１５から取得することができる現在の実回転数ｒ１３Ａを代入して、補正電流上限値ｔ１３Ａを算出することはない。
【００６８】
なお、ここでも、第２の制御サイクルは、第１の制御サイクルよりも短い周期で行われる。第２の制御サイクルでは、主制御コントローラ１１から電流上限値の入力を受けて（通信時Ｃ３）から次の電流上限値を受け取る（通信時Ｃ４）までの間の期間において、電流上限値ｔ１３で荷役用モータ５のトルクが制御される。
【００６９】
次に、通常モードで動作している場合の例について、具体的に説明する。
【００７０】
インバータ１２０に最後に電流上限値が入力された通信時Ｃ４の周期を「今回」の周期とする。この場合、直近２回の履歴情報とは、２周期前の通信時Ｃ２（前々回の周期）にインバータ１２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、１周期前の通信時Ｃ３（前回）に主制御コントローラ１１からインバータ１２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ１３）、及び、１周期前の通信時Ｃ３（前回）にインバータ１２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、今周期の通信時Ｃ４（今回）で主制御コントローラ１１からインバータ１２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ１４）をいう。
【００７１】
制御部１２１は、履歴情報Ｎ１３及び履歴情報Ｎ１４と、図６に示す荷役用モータ５のＮＴマップ（図６に示す実線）とに基づいて、図７に示すような回転数と電流上限値との相関関係式Ｌ３を導出する。ここで、相関関係式Ｌ３の傾きα３を算出し、この傾きα３が、記憶部１２３に記憶された基準傾きＳの範囲内（Ｓｍｉｎ≦Ｓ≦Ｓｍａｘ）にあるか否かを判定する。ここでは、傾きα３が基準傾きＳの範囲内にある（Ｓｍｉｎ≦α３≦Ｓｍａｘ）とする。この場合、制御部１２１は、この相関関係式Ｌ３において、回転センサ１５から取得することができる現在の実回転数ｒ１４Ａを代入することにより、補正電流上限値ｔ１４Ａを算出する。インバータ１２０は、この補正電流上限値ｔ１４Ａに基づいて荷役用モータ５のトルクを制御する。
【００７２】
なお、ここでも、第２の制御サイクルは、第１の制御サイクルよりも短い周期で行われる。すなわち、第２の制御サイクルでは、第１の制御サイクルにおいて、主制御コントローラ１１から電流上限値の入力を受けて（通信時Ｃ４）から次の電流上限値を受け取るまでの間の期間において、補正電流上限値ｔ１４Ａ，ｔ１４Ｂ，ｔ１４Ｃが算出され、この補正電流上限値ｔ１４Ａ，ｔ１４Ｂ，ｔ１４Ｃに基づいて荷役用モータ５のトルクが制御される。
【００７３】
第２実施形態のインバータ１２０では、上述したインバータ２０の作用効果に加え、以下の作用効果を有する。すなわち、通常モードに加え効率優先モードなど、複数のモードを備えるフォークリフト１０１では、電流上限値は、上記モードごとに異なるＮＴマップに基づいて算出されるので、インバータ１２０に入力される電流上限値（図８参照）が急変するおそれがある。第２実施形態のインバータ１２０では、インバータ１２０に入力される電流上限値の急変を検知した場合には、その急変した電流上限値に基づいて算出される補正電流上限値で荷役用モータ５を制御することはなく、直近に入力された電流上限値に基づいて荷役用モータ５を制御する。すなわち、電流上限値が入力されてから次の電流上限値が入力されるまでの間であっても、主制御コントローラ１１から直近に入力された電流上限値に基づいて荷役用モータ５を制御する。これにより、意図しない補正電流上限値の急変部（Δ１，Δ３）に基づいて荷役用モータ５が制御されることがなくなる。この結果、図８に示すように、実回転数における急変部(Δ２，Δ４)がなくなり、回転数指令値に追従できるようになる。
【００７４】
（第３実施形態）
次に、第３実施形態に係るインバータを含むフォークリフトについて説明する。第３実施形態に係るインバータ２２０が、上記第１実施形態のインバータ２０と異なる点は、記憶部２２３に記憶されている情報が異なる点と、制御部２２１における第２の制御サイクルでの動作が異なっている点とである。その他の部分は、上記第１実施形態と同一である。ここでは、上述した相違点について詳細に説明し、上記第１実施形態と同一部分については、説明を省略する。
【００７５】
記憶部２２３は、１周期前の通信時（例えば、Ｔ−１回目の通信時）にインバータ２２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、次の通信時（例えば、Ｔ回目の通信時）で主制御コントローラ１１からインバータ２２０に入力された電流上限値（トルク制御指令値）とを関連付けて記憶した履歴情報に加え、以下に詳述する基準領域Ｆの情報を更に記憶している。
【００７６】
基準領域Ｆについて説明する。図９は、フォークリフト２０１が備える２つのモードに対応するそれぞれの「回転数−トルク特性」（以下、「ＮＴマップ」と称す）である。例えば、図９に示す実線は、通常モードのＮＴマップであり、図９に示す破線は、作業性を維持しつつ効率を優先する効率優先モードのＮＴマップである。基準領域Ｆは、所定の回転数におけるトルクが最小（言い換えれば、出力（＝トルク×回転数）が最小）であるＮＴマップ（効率優先モードのＮＴマップに該当）と、所定の回転数におけるトルクが最大（言い換えれば、出力（＝トルク×回転数）が最大）であるＮＴマップ（通常モードのＮＴマップに該当）とで囲まれる領域である。
【００７７】
制御部２２１は、主制御コントローラ１１から一定周期で離散的に出力される電流上限値に基づいて荷役用モータ５を制御する。あるタイミングで主制御コントローラ１１より電流上限値が入力されてから次の電流上限値が入力されるまでの間において、現在の荷役用モータ５の実回転数及び電流上限値が基準領域Ｆにある場合、制御部２２１は、補正電流上限値（補正トルク制御指令値）に基づいて荷役用モータ５を制御する。現在の荷役用モータ５の実回転数及び電流上限値が基準領域Ｆにない場合、制御部２２１は、電流上限値に基づいて荷役用モータ５を制御する。
【００７８】
インバータ２２０の動作（モータ制御方法）について、主に図１０を用いて説明する。図１０は、履歴情報及びＮＴマップなどに基づいて導出される、回転数と電流上限値との相関関係式Ｌ１１〜Ｌ１３の一例を示すグラフである。第２実施形態のインバータ２２０は、第１実施形態のインバータ２０と同様に、第１の制御サイクル（いわゆる、通信サイクル）と第２の制御サイクル（制御ステップ）とを有する。第１の制御サイクルについては、第１実施形態のインバータ２０と同様であるので、ここでは詳細な説明を省略する。
【００７９】
最初に、効率優先モードで動作している場合の例について、具体的に説明する。
【００８０】
インバータ２２０に最後に電流上限値が入力された通信時Ｃ１２の周期を「今回」の周期とする。この場合、直近２回の履歴情報とは、２周期前の通信時（前々回の周期）にインバータ２２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、１周期前の通信時Ｃ１１（前回）に主制御コントローラ１１からインバータ２２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ２１）、及び、１周期前の通信時Ｃ１１（前回）にインバータ２２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、今周期の通信時Ｃ１２（今回）で主制御コントローラ１１からインバータ２２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ２２）をいう。
【００８１】
制御部２２１は、履歴情報Ｎ２１及び履歴情報Ｎ２２と、図９に示す荷役用モータ５のＮＴマップ（図９に示す破線）とに基づいて、図１０に示すような回転数と電流上限値との相関関係式Ｌ１１を導出する。制御部２２１は、この相関関係式Ｌ１１において、回転センサ１５から取得することができる現在の実回転数ｒ２２Ａを代入することにより、補正電流上限値ｔ２２Ａを算出する。ここで、制御部２２１は、上述した実回転数ｒ２２Ａ及び補正電流上限値ｔ２２Ａが、図９に示す基準領域Ｆに属するか否かを判定する。この点が、上記第１実施形態の制御部２１での動作と異なる点である。
【００８２】
実回転数ｒ２２Ａ及び補正電流上限値ｔ２２Ａが基準領域Ｆに属する場合には、制御部２２１は、この補正電流上限値ｔ２２Ａに基づいて荷役用モータ５のトルクを制御する。実回転数ｒ２２Ａ及び補正電流上限値ｔ２２Ａが基準領域Ｆに属さない場合には、電流上限値ｔ２２に基づいて荷役用モータ５のトルクを制御する。
【００８３】
第２の制御サイクルは、第１の制御サイクルよりも短い周期で行われる。すなわち、第２の制御サイクルでは、主制御コントローラ１１より電流上限値の入力を受けて（通信時Ｃ１２）から次の電流上限値を受け取る（通信時Ｃ１３）までの間の期間において、繰り返し補正電流上限値ｔ２２Ａ，ｔ２２Ｂ，ｔ２２Ｃが算出される。そして、荷役用モータ５のトルクが制御される際に、この補正電流上限値ｔ２２Ａ，ｔ２２Ｂ，ｔ２２Ｃが用いられるか、電流上限値ｔ２２が用いられるかは、上述したとおりである。
【００８４】
次に、効率優先モードから通常モードに切り替わった場合の例について、具体的に説明する。通信時Ｃ１２に効率優先モードであったモードが、通信時Ｃ１３に通常モードに切り替わったとする。
【００８５】
インバータ２２０に最後に電流上限値が入力された通信時Ｃ１３の周期を「今回」の周期とする。この場合、直近２回の履歴情報とは、２周期前の通信時Ｃ１１（前々回の周期）にインバータ２２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、１周期前の通信時Ｃ１２（前回）に主制御コントローラ１１からインバータ２２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ２２）、及び、１周期前の通信時Ｃ１２（前回）にインバータ２２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、今周期の通信時Ｃ１３（今回）で主制御コントローラ１１からインバータ２２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ２３）をいう。
【００８６】
制御部２２１は、履歴情報Ｎ２２及び履歴情報Ｎ２３と、図９に示す荷役用モータ５のＮＴマップ（図９に示す実線及び破線）とに基づいて、図１０に示すような回転数と電流上限値との相関関係式Ｌ１２を導出する。ここで、制御部２２１は、この相関関係式Ｌ１２において、回転センサ１５から取得することができる現在の実回転数ｒ２３Ａを代入することにより、補正電流上限値ｔ２３Ａを算出する。ここで、制御部２２１は、上述した実回転数ｒ２３Ａ及び補正電流上限値ｔ２３Ａが、図９に示す基準領域Ｆに属するか否かを判定する。
【００８７】
実回転数ｒ２３Ａ及び補正電流上限値ｔ２３Ａが基準領域Ｆに属する場合には、制御部２２１は、この補正電流上限値ｔ２３Ａに基づいて荷役用モータ５のトルクを制御する。実回転数ｒ２３Ａ及び補正電流上限値ｔ２３Ａが基準領域Ｆに属さない場合には、電流上限値ｔ２３に基づいて荷役用モータ５のトルクを制御する。
【００８８】
ここでも、第２の制御サイクルは、第１の制御サイクルよりも短い周期で行われる。すなわち、第２の制御サイクルでは、主制御コントローラ１１から電流上限値の入力を受けて（通信時Ｃ１３）から次の電流上限値を受け取る（通信時Ｃ１４）までの間の期間において、繰り返し補正電流上限値ｔ２３Ａ，ｔ２３Ｂ，ｔ２３Ｃが算出される。そして、荷役用モータ５のトルクが制御される際に、この補正電流上限値ｔ２３Ａ，ｔ２３Ｂ，ｔ２３Ｃが用いられるか、電流上限値ｔ２２が用いられるかは、上述したとおりである。
【００８９】
次に、通常モードで動作している場合の例について、具体的に説明する。
【００９０】
インバータ２２０に最後に電流上限値が入力された通信時Ｃ１４の周期を「今回」の周期とする。この場合、直近２回の履歴情報とは、２周期前の通信時Ｃ１２（前々回の周期）にインバータ２２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、１周期前の通信時Ｃ１３（前回）に主制御コントローラ１１からインバータ２２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ２３）、及び、１周期前の通信時Ｃ１３（前回）にインバータ２２０が主制御コントローラ１１に出力した荷役用モータ５の実回転数と、今周期の通信時Ｃ１４（今回）で主制御コントローラ１１からインバータ２２０に入力された電流上限値との組み合わせからなる情報（履歴情報Ｎ２４）をいう。
【００９１】
制御部２２１は、履歴情報Ｎ２３及び履歴情報Ｎ２４と、図９に示す荷役用モータ５のＮＴマップ（図９に示す実線）とに基づいて、図１０に示すような回転数と電流上限値との相関関係式Ｌ１３を導出する。ここで、制御部２２１は、この相関関係式Ｌ１３において、回転センサ１５から取得することができる現在の実回転数ｒ２４Ａを代入することにより、補正電流上限値ｔ２４Ａを算出する。ここで、制御部２２１は、上述した実回転数ｒ２４Ａ及び補正電流上限値ｔ２４Ａが、図９に示す基準領域Ｆに属するか否かを判定する。
【００９２】
実回転数ｒ２４Ａ及び補正電流上限値ｔ２４Ａが基準領域Ｆに属する場合には、制御部２２１は、この補正電流上限値ｔ２４Ａに基づいて荷役用モータ５のトルクを制御する。実回転数ｒ２４Ａ及び補正電流上限値ｔ２４Ａが基準領域Ｆに属さない場合には、電流上限値ｔ２４に基づいて荷役用モータ５のトルクを制御する。
【００９３】
ここでも、第２の制御サイクルは、第１の制御サイクルよりも短い周期で行われる。すなわち、第２の制御サイクルでは、主制御コントローラ１１から電流上限値の入力を受けて（通信時Ｃ１３）から次の電流上限値を受け取る（通信時Ｃ１４）までの間の期間において、繰り返し補正電流上限値ｔ２４Ａ，ｔ２４Ｂ，ｔ２４Ｃが算出される。そして、荷役用モータ５のトルクが制御される際に、この補正電流上限値ｔ２４Ａ，ｔ２４Ｂ，ｔ２４Ｃが用いられるか、電流上限値ｔ２４が用いられるかは、上述したとおりである。
【００９４】
第３実施形態のインバータ２２０では、上述したインバータ２０の作用効果に加え、以下の作用効果を有する。すなわち、通常モードに加え効率優先モードなど、複数のモードを備えるフォークリフト２０１では、電流上限値は、上記モードごとに異なるＮＴマップに基づいて算出されるので、インバータ２２０に入力される電流上限値（図８参照）が急変するおそれがある。第２実施形態のインバータ２２０では、インバータ２２０に入力される電流上限値の急変を検知した場合には、その急変した電流上限値に基づいて算出される補正電流上限値で荷役用モータ５を制御することはなく、直近に入力された電流上限値の値に基づいて荷役用モータ５を制御する。すなわち、電流上限値が入力されてから次の電流上限値が入力されるまでの間であっても、主制御コントローラ１１から直近に入力された電流上限値に基づいて荷役用モータ５を制御する。これにより、意図しない補正電流上限値の急変部（Δ１，Δ３）に基づいて荷役用モータ５が制御されることがなくなる。この結果、図８に示すように、実回転数における急変部(Δ２，Δ４)がなくなり、回転数指令値に追従できるようになる。
【００９５】
第３実施形態のインバータ２２０では、第２実施形態のインバータ１２０よりも、意図しない補正電流上限値の急変部（例えば、図８に示すΔ１）に基づいて荷役用モータ５が制御されることが少なくなる。すなわち、第２実施形態のインバータ１２０では、通信時Ｃ２〜Ｃ３では、傾きα１（図７に示す相関関係式Ｌ１の傾き）に基づいて補正電流上限値が採用されるか否かが判定されるので、Ｃ２〜Ｃ３のどの時間においても補正電流上限値の値が採用される。これに対して、第３実施形態のインバータ２２０では、傾きα１に基づいて算出される補正電流上限値と回転数とに基づいて、その都度、その補正電流上限値が採用されるか否かが判定される。上記傾きα１を算出する根拠となったＮＴマップの値が変曲点近傍の値である場合に、算出される補正電流上限値がＮＴマップから外れた場合であっても、意図しない補正電流上限値に基づいて荷役用モータ５が制御されることが少なくなる。
【００９６】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限られるものではなく、発明の趣旨を逸脱しない範囲で種々の変更が可能である。
【００９７】
上記実施形態に係るインバータ２０，１２０，２２０では、直近２回の履歴情報に基づいて補正電流上限値を算出する例を挙げて説明したが、本発明はこれに限定されるものではない。例えば、２回よりも多くの履歴情報に基づいて補正電流上限値を算出してもよい。
【００９８】
上記実施形態のインバータ２０，１２０，２２０では、補正電流上限値が、電流上限値が算出される周期よりも短い周期で算出される例を挙げて説明したが、本発明はこれに限定されるものではない。例えば、電流上限値が算出される周期と同じ周期、すなわち、電流上限値と補正電流上限値とが交互に算出されてもよい。
【００９９】
上記実施形態を説明するにあたっては、図２，図６、図９に示されるようなＮＴマップの例を挙げて説明したが、本発明はこれに限定されるものではない。モータ特性や使用環境などにより、電流上限値がそれぞれ適切に設定されたＮＴマップを使用することができる。
【０１００】
上記実施形態では、インバータ２０，１２０，２２０がフォークリフト１の荷役用モータ５を制御する例を挙げて説明したが、本発明はこれに限定されるものではない。例えば、フォークリフト１の走行用モータに適用することも可能である。
【０１０１】
上記実施形態では、モータの例として誘導モータを挙げて説明したが、同期モータであってもよい。
【符号の説明】
【０１０２】
１，１０１，２０１…フォークリフト（産業用車両）、３…操作部（操作手段）、５…荷役用モータ（モータ）、７…荷役装置、１１…主制御コントローラ、１５…回転センサ、２０，１２０，２２０…インバータ（モータ制御装置）、２１，１２１，２２１…制御部（制御手段）、２３，１２３，２２３…記憶部（記憶手段）。
【図１】
2014033601.tif 000003
【図２】
2014033601.tif 000004
【図３】
2014033601.tif 000005
【図４】
2014033601.tif 000006
【図５】
2014033601.tif 000007
【図６】
2014033601.tif 000008
【図７】
2014033601.tif 000009
【図８】
2014033601.tif 000010
【図９】
2014033601.tif 000011
【図１０】
2014033601.tif 000012