(57)【要約】【課題】モデル予測制御を用いて好適なサーボ制御を実現する制御システムを提供する。【解決手段】サーボ制御の対象である所定の制御対象の出力を所定の指令に対して追従させる制御システムであって、第１プロセッサと、所定の制御対象に関する所定の状態変数と該所定の制御対象への制御入力の相関を所定の状態方程式の形式で画定した予測モデルと、を有する処理装置であって、該第１プロセッサを用いてモデル予測制御を行い、少なくとも該予測区間の初期時刻での制御入力に対応したサーボ指令を出力する第１処理装置と、第１プロセッサと異なる第２プロセッサと、所定の制御対象の動作に関連するフィードバック信号が入力される一又は複数の制御器を含む所定のフィードバック系と、を有し、第１処理装置からのサーボ指令が入力される処理装置であって、該第２プロセッサを用いてフィードバック制御を行う第２処理装置と、を備える。【選択図】図２
2019109598.tif 000002
【特許請求の範囲】
【請求項１】
サーボ制御の対象である所定の制御対象の出力を所定の指令に対して追従させる制御システムであって、
第１プロセッサと、前記所定の制御対象に関する所定の状態変数と該所定の制御対象への制御入力の相関を所定の状態方程式の形式で画定した予測モデルと、を有する処理装置であって、該第１プロセッサを用いて、所定時間幅の予測区間において所定の評価関数に従って該予測モデルに基づいたモデル予測制御を行い、少なくとも該予測区間の初期時刻での前記制御入力に対応したサーボ指令を出力する第１処理装置と、
前記第１プロセッサと異なる第２プロセッサと、前記所定の制御対象の動作に関連するフィードバック信号が入力される一又は複数の制御器を含む所定のフィードバック系と、を有し、前記第１処理装置から出力される前記サーボ指令が入力される処理装置であって、該第２プロセッサを用いて、該入力された該サーボ指令に基づいて該所定のフィードバック系に従ったフィードバック制御を行う第２処理装置と、
を備える、制御システム。
【請求項２】
前記第１プロセッサは、第１演算周期で前記モデル予測制御を実行し、
前記第２プロセッサは、前記第１演算周期より短い第２演算周期で前記フィードバック制御を実行し、
前記第１処理装置は、前記第１演算周期で実行される前記モデル予測制御の演算結果に基づいて、前記予測区間の初期時刻での前記制御入力に対応する前記サーボ指令を生成し、該サーボ指令を前記第２処理装置に出力し、
前記第２処理装置は、前記第１処理装置からの前記サーボ指令に基づいて、前記第１演算周期と前記第２演算周期との差分に応じて補間サーボ指令を生成し、前記第２プロセッサにより、該第２演算周期で該サーボ指令と該補間サーボ指令に基づいて前記フィードバック制御を行う、
請求項１に記載の制御システム。
【請求項３】
前記第１プロセッサは、第１演算周期で前記モデル予測制御を実行し、
前記第２プロセッサは、前記第１演算周期より短い第２演算周期で前記フィードバック制御を実行し、
前記第１処理装置は、前記第１演算周期で実行される前記モデル予測制御の演算結果に基づいて、前記予測区間の初期時刻を含み且つ前記第１演算周期に対応する所定期間における、該初期時刻を含み前記第２演算周期に対応する複数の時刻での複数の前記サーボ指令を、前記第１プロセッサにより前記第１演算周期で生成し、該複数のサーボ指令を前記第２処理装置に出力し、
前記第２処理装置は、前記第２プロセッサにより、前記複数のサーボ指令に関連付けられた時間順序に従い、前記第２演算周期で該複数のサーボ指令のそれぞれに基づいて前記フィードバック制御を行う、
請求項１に記載の制御システム。
【請求項４】
前記第１プロセッサは、異なる演算周期で複数の演算処理を実行可能に構成され、且つ第１演算周期で前記モデル予測制御を実行し、
前記第２プロセッサは、前記第１演算周期より短い第２演算周期で前記フィードバック制御を実行し、
前記第１処理装置は、前記第１演算周期で実行される前記モデル予測制御の演算結果に基づいて、前記予測区間の初期時刻を含み且つ前記第１演算周期に対応する所定期間において、前記第２演算周期と同じ生成用演算周期に対応する所定の時刻での前記制御入力に対応する前記サーボ指令を、前記第１プロセッサにより該生成用演算周期で生成し、該サーボ指令を前記第２処理装置に出力し、
前記第２処理装置は、前記第２プロセッサにより、前記第２演算周期で該サーボ指令に基づいて前記フィードバック制御を行う、
請求項１に記載の制御システム。
【請求項５】
前記第２処理装置は、更に、前記所定のフィードバック系及び前記所定の制御対象をモデル化した制御モデルを有する第２処理側制御モデル部を有し、
前記第１処理装置は、前記第２処理側制御モデル部が有する前記制御モデルに対応する上流側モデルを有し、該上流側モデルを用いて前記制御入力に基づいて前記サーボ指令を生成し、
前記第２処理装置は、前記第２プロセッサを用いて、前記フィードバック制御として前記第２処理側制御モデル部が有する制御モデルに従ったモデル追従制御を行う、
請求項１から請求項４の何れか１項に記載の制御システム。
【請求項６】
前記予測モデルは、前記第２処理側制御モデル部が有する制御モデルと同一の制御モデルである、
請求項５に記載の制御システム。
【請求項７】
前記第２処理側制御モデルが有する制御モデルに従った前記モデル追従制御における所定のモデル追従用制御ゲインは、前記所定のフィードバック系に含まれる前記制御器が有する所定のフィードバック用制御ゲイン以下である、
請求項６に記載の制御システム。
【請求項８】
前記所定の制御対象は、複数の制御軸を有し、
前記予測モデルは、前記複数の制御軸のそれぞれに対応して前記所定の状態方程式により画定され、
前記所定のフィードバック系は、前記複数の制御軸のそれぞれに対応付けられ、
前記第２処理側制御モデル部が有する制御モデルは、前記複数の制御軸のそれぞれに対応付けられ、
前記複数の制御軸に対応付けられた、前記第２処理側制御モデルにおける複数の前記所定のモデル追従用制御ゲインは、該複数の制御軸間で共通の値に設定される、
請求項７に記載の制御システム。
【請求項９】
前記第１処理装置と前記第２処理装置は、共通の筐体に搭載される、
請求項１から請求項８の何れか１項に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象をサーボ制御する制御システムに関する。
【背景技術】
【０００２】
制御対象を指令軌道に追従させて動かすために、一般的にはフィードバック制御が利用されている。例えば多関節ロボットにおいては、ロボットの制御装置により、フィードバック制御を用いてロボットの手先部の位置を予め設定（教示）された指令軌道に追従させるように、各関節軸のサーボモータの制御が行われる。ところが、一般的なフィードバック制御では、どうしても各サーボモータに応答遅れが生ずるため、ロボットの実際の軌跡が指令軌道からずれる問題がある。このような指令軌道に対するずれを抑制するために、モデル予測制御に関する技術が利用されている。
【０００３】
しかし、モデル予測制御を利用する場合でも、目標が時々刻々変化していくときには、定常偏差が発生し得る。そこで、モデル予測制御を用いる場合、その補償器に積分器をシリアルに接続することで定常偏差の解消を図ることが考えられる。また、想定される外乱を新たな状態とみなしてモデルに組み込むことで原理的にはその外乱を除去することができる。例えば、非特許文献１や非特許文献２では、外乱オブザーバを構築し、そこで推定された外乱を用いて定常偏差をキャンセルする手法が提案されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Yuta Sakurai and Toshiyuki Ohtsuka: Offset Compensation of Continuous Time Model Predictive Control By Disturbance Estimation;システム制御情報学会論文誌, Vol.25, No. 7, pp.10-18(2012)
【非特許文献２】U.Maeder and M.Morari: Linear offset-free model predictive control; Automatica, Vol. 45, No. 10, pp.2214-2222(2009)
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般にモデル予測制御を利用する場合は、その演算負荷の大きいことが知られている。これは、モデル予測制御が実行可能に実装されたプロセッサを有する制御装置において、そのプロセッサの演算周期よりも比較的長い予測区間におけるモデル予測制御に関する演算処理であって一般的には最適制御問題に関する演算処理を、その演算周期内に解き制御入力を決定する必要があるからである。したがって、時々刻々変化していく目標軌道に対応する追従制御を実現するためには、当該プロセッサはこのような演算負荷の高いモデル予測制御に関する演算処理を連続して実行する必要がある。そのため、プロセッサの処理能力に起因して、精緻なモデル予測制御の実現は容易ではない。
【０００６】
また、モデル予測制御で生成された制御入力に基づいて制御対象をサーボ制御するためにフィードバック系が構築される場合、その制御精度や制御の安定性を高めるにはフィードバック系に関する演算処理を可及的に短い演算周期で行うのが好ましい。その演算周期が短くなると、フィードバック系に関する演算処理の演算負荷が高まるとともに、仮にその演算周期に従ってモデル予測制御を実行しようとすると、モデル予測制御に関する演算負荷も更に高まることになる。
【０００７】
本発明は、このような問題に鑑みてなされたものであり、モデル予測制御を用いて好適なサーボ制御を実現する制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明においては、上記課題を解決するために、モデル予測制御に関する演算処理を行うプロセッサと、フィードバック系に関する演算処理を行うプロセッサとを区別して、制御対象のサーボ制御ためのシステムを構築することとした。このような構成の採用により、モデル予測制御に関する演算処理と、フィードバック系に関する演算処理とを分離でき、制御システムのプロセッサにおいて演算負荷が集中するのを回避することができる。
【０００９】
詳細には、本発明は、サーボ制御の対象である所定の制御対象の出力を所定の指令に対して追従させる制御システムであって、第１プロセッサと、前記所定の制御対象に関する所定の状態変数と該所定の制御対象への制御入力の相関を所定の状態方程式の形式で画定した予測モデルと、を有する処理装置であって、該第１プロセッサを用いて、所定時間幅の予測区間において所定の評価関数に従って該予測モデルに基づいたモデル予測制御を行い、少なくとも該予測区間の初期時刻での前記制御入力に対応したサーボ指令を出力する第１処理装置と、前記第１プロセッサと異なる第２プロセッサと、前記所定の制御対象の動作に関連するフィードバック信号が入力される一又は複数の制御器を含む所定のフィードバック系と、を有し、前記第１処理装置から出力される前記サーボ指令が入力される処理装置であって、該第２プロセッサを用いて、該入力された該サーボ指令に基づいて該所定のフィードバック系に従った前記フィードバック制御を行う第２処理装置と、を備える。
【００１０】
本発明の制御システムは、第１処理装置と第２処理装置を備え、第1処理装置には第1プロセッサが設けられ、第２処理装置には第２プロセッサが設けられている。したがって、基本的には第１処理装置における様々な処理は第１プロセッサによって実行され、第２処理装置における様々な処理は第２プロセッサによって実行される。そして、第１処理装置では、予測モデルを用いたモデル予測制御に関する演算処理が第１プロセッサによって行われる。当該モデル予測制御では、各制御時刻で、所定時間幅の予測区間が設定され、その予測区間において所定の評価関数に従った演算処理が行われ、少なくともその予測区間での初期時刻の、算出された制御入力に対応するサーボ指令が生成され第２処理装置へ出力される。なお、所定の制御対象の状態を表す状態変数の値はモデル予測制御に供されることになる。したがって、第１処理装置で行われるモデル予測制御では、予測区間が制御時間の経過とともに移動していくことになり、いわゆるReceding Horizon制御が実行されることになる。
【００１１】
また、第２処理装置では、第１処理装置から出力されたサーボ指令に基づいて、フィードバック系に従った演算処理が第２プロセッサによって行われることになる。このフィードバック系に従った演算処理は、フィードバック系に含まれる一又は複数の制御器による処理内容を考慮したものであり、上記のモデル予測制御に関する演算処理とは異なる。したがって、本発明の制御システムでは、モデル予測制御に関する演算処理とフィードバック系に従った演算処理とは、異なるプロセッサによって実行されることになるため、１つのプロセッサに演算負荷が集中することを回避することができる。また、このように各演算処理に応じて対応するプロセッサを異ならしめることで、各プロセッサの処理能力を各演算処理に適したものとすることができ、制御システムによるサーボ制御の精度や安定性等をより好適なものとすることができる。
【００１２】
ここで、上記制御システムについて、例示として、以下の３つの具体的な形態が挙げられる。第１の形態では、前記第１プロセッサは、第１演算周期で前記モデル予測制御を実行し、前記第２プロセッサは、前記第１演算周期より短い第２演算周期で前記フィードバック制御を実行してもよい。この場合、前記第１処理装置は、前記第１演算周期で実行される前記モデル予測制御の演算結果に基づいて前記予測区間の初期時刻での前記制御入力
に対応する前記サーボ指令を生成し、該サーボ指令を前記第２処理装置に出力し、前記第２処理装置は、前記第１処理装置からの前記サーボ指令に基づいて、前記第１演算周期と前記第２演算周期との差分に応じて補間サーボ指令を生成し、前記第２プロセッサにより、該第２演算周期で該サーボ指令と該補間サーボ指令に基づいて前記フィードバック制御を行ってもよい。
【００１３】
モデル予測制御に関する演算処理を行う第１プロセッサでは、その演算周期を比較的長くすることで、モデル予測制御のための演算負荷がいたずらに増大することを抑制することができる。また、フィードバック系に関する演算処理を行う第２プロセッサでは、その演算周期を比較的短くすることで、フィードバック制御時の安定性を確保しやすくなる。ただし、この場合、第１処理装置で行われる演算周期と第２処理装置で行われる演算周期とが一致しないことになる。特に、第２処理装置での演算周期が比較的短いため、第２処理装置の立場に立てば、第２演算周期に対応するすべての演算時刻において第１処理装置からサーボ指令が提供はされず間欠的な提供となる。そのため、そのままでは第２処理装置でのフィードバック制御結果が振動的になる虞がある。そこで、第２処理装置によって安定的なフィードバック制御を実現するために、第２処理装置では、第２プロセッサが、第１処理装置から提供されるサーボ指令に基づいて、第２演算周期に対応する時刻であって且つサーボ指令が提供されない時刻に対応する指令を補間するために補間サーボ指令が生成される。そして、提供されたサーボ指令と生成された補間サーボ指令に基づいて、第２プロセッサはフィードバック制御のための演算処理を行う。
【００１４】
また、第２の形態では、前記第１プロセッサは、第１演算周期で前記モデル予測制御を実行し、前記第２プロセッサは、前記第１演算周期より短い第２演算周期で前記フィードバック制御を実行してもよい。この場合、前記第１処理装置は、前記第１演算周期で実行される前記モデル予測制御の演算結果に基づいて、前記モデル予測制御において前記予測区間の初期時刻を含み且つ前記第１演算周期に対応する所定期間における、該初期時刻を含み前記第２演算周期に対応する複数の時刻での前記制御入力に対応する複数の前記サーボ指令を、前記第１プロセッサにより前記第１演算周期で生成し、該複数のサーボ指令を前記第２処理装置に出力し、前記第２処理装置は、前記第２プロセッサにより、前記複数のサーボ指令に関連付けられた時間順序に従い、前記第２演算周期で該複数のサーボ指令のそれぞれに基づいて前記フィードバック制御を行ってもよい。
【００１５】
当該形態でも、第１処理装置で行われる演算周期と第２処理装置で行われる演算周期とが一致しないことになる。ここで、第１プロセッサによって行われるモデル予測制御自体は、第１演算周期で実行される。そして、第１処理装置では、当該予測区間において、その初期時刻を含み第２演算周期に対応する複数の時刻での複数のサーボ指令が生成され、第２処理装置でのフィードバック制御に関する演算処理に利用するために出力される。当該複数のサーボ指令は、第１プロセッサによって第１演算周期で算出される。そして、第２処理装置は、その複数のサーボ指令をそれぞれに関連付けられた時間順序に従って第２演算周期でフィードバック制御に関する演算処理に供することで、当該フィードバック制御結果の振動を抑制することができる。なお、第２処理装置は、第１処理装置から送られる複数の時刻でのサーボ指令をまとめて記憶手段で記憶し、その時刻に応じて記憶されているサーボ指令を、フィードバック制御に関する演算処理に順次供していくことができる。
【００１６】
また、第３の形態では、前記第１プロセッサは、異なる演算周期で複数の演算処理を実行可能に構成され、且つ第１演算周期で前記モデル予測制御を実行し、前記第２プロセッサは、前記第１演算周期より短い第２演算周期で前記フィードバック制御を実行してもよい。この場合、前記第１処理装置は、前記第１演算周期で実行される前記モデル予測制御の演算結果に基づいて、前記予測区間の初期時刻を含み且つ前記第１演算周期に対応する
所定期間において、前記第２演算周期と同じ生成用演算周期に対応する所定の時刻での前記制御入力に対応する前記サーボ指令を、前記第１プロセッサにより該生成用演算周期で生成し、該サーボ指令を前記第２処理装置に出力し、前記第２処理装置は、前記第２プロセッサにより、前記第２演算周期で該サーボ指令に基づいて前記フィードバック制御を行ってもよい。
【００１７】
当該形態では、第１プロセッサは、異なる演算周期で複数の演算処理を実行可能に構成される。すなわち、第１プロセッサは、相対的に長い第１演算周期でモデル予測制御を実行し、相対的に短い生成用演算周期で、モデル予測制御の演算結果に基づいたサーボ指令の生成処理を実行する。そして、当該生成用演算周期は、第２プロセッサがフィードバック制御を行うための演算周期である第２演算周期と同じである。すなわち、第１プロセッサは、モデル予測制御の制御精度や処理負荷等の観点からモデル予測制御に好適な第１演算周期で当該モデル予測制御を行いながら、第２処理装置でのフィードバック制御の制御精度等の観点から好適なサーボ指令が生成できる生成用演算周期で当該サーボ指令の生成を行う。第１プロセッサで生成された当該サーボ指令は、順次、第２処理装置へと引き渡され、第２処理装置は、そのサーボ指令を第２演算周期でフィードバック制御に関する演算処理に利用することで、当該フィードバック制御結果の振動を抑制することができる。
【００１８】
ここで、上述までの制御システムにおいて、第１プロセッサによって行われるモデル予測制御では、指令に対する比較的高い追従性を見込めるものの、予測モデルの精度が十分でないと好適な追従性を実現することが困難となる。また、所定の制御対象の態様によっては、当該所定の制御対象の特性が十分に反映された予測モデルの生成が容易でない場合もある。この点を踏まえ、上述までの制御システムにおいて、前記第２処理装置は、更に、前記所定のフィードバック系及び前記所定の制御対象をモデル化した制御モデルを有する第２処理側制御モデル部を有し、前記第１処理装置は、前記第２処理側制御モデル部が有する前記制御モデルに対応する上流側モデルを有し、該上流側モデルを用いて前記制御入力に基づいて前記サーボ指令を生成し、前記第２処理装置は、前記第２プロセッサを用いて、前記フィードバック制御として前記第２処理側制御モデル部が有する制御モデルに従ったモデル追従制御を行ってもよい。このように第２処理側制御モデル部が有する制御モデルに基づいたモデル追従制御を行うことで予測モデルの誤差を吸収でき、その結果、仮に予測モデルの精度が十分でなくても指令に対する追従性を比較的高く維持することができる。
【００１９】
そして、上記の制御システムにおいて、前記予測モデルは、前記第２処理側制御モデル部が有する制御モデルと同一の制御モデルであってもよい。この結果、制御システムとしての追従性を高めることができるとともに、予測モデルの同定に要する労力を軽減することができる。
【００２０】
また、上記の制御システムにおいて、前記第２処理側制御モデルが有する制御モデルに従った前記モデル追従制御における所定のモデル追従用制御ゲインは、前記所定のフィードバック系に含まれる前記制御器が有する所定のフィードバック用制御ゲイン以下であってもよい。このような構成を採用することで、所定の制御対象が、第２処理側制御モデルが有する制御モデルに対して好適に追従可能となり、以て制御システムとしての追従性を向上させることができる。なお、所定のモデル追従用制御ゲイン及び所定のフィードバック用制御ゲインとしては、例えば、位置比例ゲイン、速度比例ゲイン及び速度積分ゲイン等が挙げられるが、所定のモデル追従用制御ゲインと所定のフィードバック用制御ゲインとの上記比較は、同種の制御ゲイン（例えば、速度比例ゲイン同士の比較）に関するものである。
【００２１】
そして、上記の制御システムにおいて、前記所定の制御対象が複数の制御軸を有する場
合、前記予測モデルは、前記複数の制御軸のそれぞれに対応して前記所定の状態方程式により画定され、前記所定のフィードバック系は、前記複数の制御軸のそれぞれに対応付けられ、前記第２処理側制御モデル部が有する制御モデルは、前記複数の制御軸のそれぞれに対応付けられ、前記複数の制御軸に対応付けられた、前記第２処理側制御モデルにおける複数の前記所定のモデル追従用制御ゲインは、該複数の制御軸間で共通の値に設定されてもよい。このような構成を採用することで、各制御軸において指令に対する追従性を同程度に揃えることができる。
【００２２】
また、上述までの制御システムにおいて、前記第１処理装置と前記第２処理装置は、それぞれ別の筐体に搭載される装置であってもよく、別法として、共通の筐体に搭載されて一つの装置として形成されてもよい。
【発明の効果】
【００２３】
モデル予測制御を用いて好適なサーボ制御を実現する制御システムを提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の制御システムの概略構成を示す第１の図である。
【図２】図１に示す制御システムに含まれる標準ＰＬＣ及びサーボドライバの制御構造を示す第１の図である。
【図３】図２に示す制御構造を有する制御システムのサーボドライバにおけるフィードバック制御に供されるサーボ指令を説明するための図である。
【図４】図１に示す制御システムに含まれる標準ＰＬＣ及びサーボドライバの制御構造を示す第２の図である。
【図５】図４に示す制御構造を有する制御システムのサーボドライバにおけるフィードバック制御に供されるサーボ指令を説明するための図である。
【図６】図１に示す制御システムに含まれる標準ＰＬＣ及びサーボドライバの制御構造を示す第３の図である。
【図７】本発明の制御システムの概略構成を示す第２の図である。
【図８】本発明の制御システムの概略構成を示す第３の図である。
【発明を実施するための形態】
【００２５】
＜実施例１＞
図１は、本発明の実施の形態に係る制御システムの概略構成図である。当該制御システムは、ネットワーク１と、サーボドライバ４と、標準ＰＬＣ(Programmable Logic Controller)５とを備える。サーボドライバ４は、モータ２と負荷装置３とを含んでなるプラン
ト６をサーボ制御するための制御装置である。当該制御システムでは、所定の指令信号にプラント６を追従させるように、サーボドライバ４がプラント６をフィードバック制御する。サーボドライバ４は、ＣＰＵ（Central Processing Unit）４０を有しており、ＣＰ
Ｕ４０によって当該所定のフィードバックに関する演算が行われる。所定のフィードバック制御に関する詳細については、後述する。ここで、プラント６を構成する負荷装置３としては、各種の機械装置（例えば、産業用ロボットのアームや搬送装置）が例示でき、モータ２はその負荷装置３を駆動するアクチュエータとして負荷装置３内に組み込まれている。例えば、モータ２は、ＡＣサーボモータである。なお、モータ２には図示しないエンコーダが取り付けられており、当該エンコーダによりモータ２の動作に関するパラメータ信号（位置信号、速度信号等）がサーボドライバ４にフィードバック送信されている。
【００２６】
標準ＰＬＣ５は、プラント６の動作（モーション）に関するサーボ指令を生成し、サーボドライバ４へ送信する。標準ＰＬＣ５は、ＣＰＵ４０とは異なるＣＰＵ５０を有しており、ＣＰＵ５０によって、サーボドライバ４による上記所定のフィードバック制御のため
のサーボ指令の生成に関する演算が行われる。当該サーボ指令生成に関する詳細については、後述する。サーボドライバ４は、ネットワーク１を介して標準ＰＬＣ５から当該サーボ指令を受けるとともに、モータ２に接続されているエンコーダから出力されたフィードバック信号を受ける。そして、サーボドライバ４は、当該サーボ指令とエンコーダからのフィードバック信号に基づいて、プラント６の駆動に関するフィードバック制御、すなわち、プラント６の出力が所定の指令に追従するように、モータ２に駆動電流を供給する。この供給電流は、交流電源７からサーボドライバ４に対して送られる交流電力が利用される。本実施例では、サーボドライバ４は三相交流を受けるタイプのものであるが、単相交流を受けるタイプのものでもよい。なお、プラント６のサーボ制御のために、図２に示すようにモデル予測制御部５３によるモデル予測制御が実行される。
【００２７】
ここで、図２に基づいて、標準ＰＬＣ５及びサーボドライバ４における制御構造について説明する。標準ＰＬＣ５は、指令生成部５１、状態取得部５２、モデル予測制御部５３、上流側モデル部５４を有している。そして、これらの指令生成部５１、状態取得部５２、モデル予測制御部５３、上流側モデル部５４による各処理は、ＣＰＵ５０によって演算実行される。指令生成部５１は、プラント６の出力を指示する指令ｒを生成する。また、上流側モデル部５４は、プラント６及び後述のフィードバック制御構造４００をモデル化した上流側モデルを有し、その上流側モデルを用いてプラント６の出力をシミュレーションする。そのシミュレーション結果である上流側モデルの出力ｙ＾が、サーボドライバ４へサーボ指令として供給される。
【００２８】
状態取得部５２は、モデル予測制御部５３によって行われるモデル予測制御に供される、上流側モデル部５４の上流側モデルに関する状態ｘ（以下、単に「上流側モデルに関する状態ｘ」という）に含まれる状態変数の値を取得する。そして、モデル予測制御部５３は、状態取得部５２が取得する上流側モデル部５４の上流側モデルに関する状態ｘと、自身の出力する上流側モデルへの制御入力ｕとを用いて、モデル予測制御(Receding Horizon制御)を実行する。
【００２９】
詳細には、モデル予測制御部５３は、上流側モデルに関する状態ｘと、上流側モデルへの制御入力ｕとの相関を、下記の状態方程式（式１）で画定した予測モデルを有している。なお、下記式１は、非線形の状態方程式である。当該予測モデルには、例えば、上流側モデルに対応するプラント６が有する所定の物理的特徴が反映されてもよい。
【数１】
2019109598.tif 000003
・・・（式１）
【００３０】
ここで、モデル予測制御部５３は、上流側モデルに関する状態ｘと上流側モデルへの制御入力ｕとを入力として、所定の時間幅Ｔを有する予測区間において下記の式２に示す評価関数に従って、式１で表す予測モデルに基づいたモデル予測制御を行う。
【数２】
2019109598.tif 000004
・・・（式２）
モデル予測制御において算出された、予測区間の初期時刻ｔでの制御入力ｕの値が、その時刻ｔでの、指令ｒに対応する上流側モデルへの制御入力ｕとして出力される。そして、モデル予測制御では、その制御時刻において、都度、所定の時間幅Ｔの予測区間が設定
されるとともに、式２の評価関数に従って当該制御時刻での制御入力ｕが算出され、上流側モデル部５４に入力される。そして、上流側モデル部５４でのシミュレーション結果である出力ｙ＾がサーボドライバ４へ送られることになる。式２のような形の評価関数Ｊの値を最良とする操作量を求める問題は、最適制御問題として広く知られている問題であり、その数値解を算出するアルゴリズムが公知技術として開示されている。そのような技術として連続変形法が例示でき、例えば、公知の文献である「連続変形法とGMRES法を組み
合わせた非線形Receding horizon制御の高速アルゴリズム（A continuation /GMRES method for fast computation of nonlinear receding horizon control）」{大塚敏之（T. Ohtsuka）, オートマティカ（ Automatica）, 第４０巻, ｐ563〜574, ２００４. }に詳細が開示されている。
【００３１】
連続変形法では、下記の式３に示す、入力Ｕ（ｔ）に関する連立１次方程式を解くことでモデル予測制御における入力Ｕ（ｔ）が算出される。具体的には、式３を解き、dU/dt
を数値積分して、入力Ｕ（ｔ）を更新していく。このように連続変形法では、反復計算を行わないため、各時刻での入力Ｕ（ｔ）を算出するための演算負荷を可及的に抑制することができる。
【数３】
2019109598.tif 000005
・・・（式３）
ただし、Ｆ、Ｕ（ｔ）は、以下の式４で表される。
【数４】
2019109598.tif 000006
・・・（式４）
ただし、Ｈはハミルトニアン、λは共状態、μは拘束条件Ｃ＝０のラグランジュ乗数である。
【００３２】
次に、サーボドライバ４の制御構造について説明する。サーボドライバ４は、補間処理部４８とフィードバック制御構造４００を有しており、当該フィードバック制御構造４００は、位置制御器４１、速度制御器４２、電流制御器４３を備えている。当該補間処理部４８及びフィードバック制御構造４００における各処理は、ＣＰＵ４０によって演算実行される。標準ＰＬＣ５の出力、すなわち上流側モデル部５４によるシミュレーション結果である上流側モデル出力ｙ＾は、サーボ指令として補間処理部４８に引き渡される。補間処理部４８は、上流側モデル出力ｙ＾に基づき補間サーボ指令を生成し、サーボ指令である上流側モデル出力ｙ＾とともにフィードバック制御構造４００に引き渡される。補間処理部４８の詳細については後述する。本実施例では、当該サーボ指令及び補間サーボ指令に基づいてフィードバック制御構造４００でのフィードバック制御、すなわち位置制御器４１、速度制御器４２、電流制御器４３による演算処理が実行される。
【００３３】
フィードバック制御構造４００において、位置制御器４１は、例えば、比例制御（Ｐ制御）を行う。具体的には、補間処理部４８から出力されるサーボ指令又は補間サーボ指令とプラント６に関する検出位置との偏差である位置偏差に、所定の位置比例ゲインを乗ずることにより速度指令ｖｃｍｄを算出する。
【００３４】
次に速度制御器４２は、例えば、比例積分制御（ＰＩ制御）を行う。具体的には、位置制御器４１により算出された速度指令ｖｃｍｄとプラント６に関する検出速度との偏差である速度偏差の積分量に所定の速度積分ゲインを乗じ、その算出結果と当該速度偏差の和に所定の速度比例ゲインを乗ずることにより、トルク指令τｃｍｄを算出する。また、速度制御器４２はＰＩ制御に代えてＰ制御を行ってもよい。
【００３５】
次に電流制御器４３は、速度制御器４２により算出されたトルク指令τｃｍｄに基づいて電流指令Ｃｃｍｄを出力し、それによりモータ２が駆動制御される。電流制御器４３は、トルク指令に関するフィルタ（１次のローパスフィルタ）や一又は複数のノッチフィルタを含み、制御パラメータとして、これらのフィルタの性能に関するカットオフ周波数等を有している。
【００３６】
このように構成される標準ＰＬＣ５とサーボドライバ４を含む制御システムでは、指令生成部５１で生成された指令ｒにプラント６を追従させるサーボ制御のために、標準ＰＬＣ５においてモデル予測制御部５３によりモデル予測制御が行われ、そこで生成された制御入力ｕに基づいて上流側モデル出力ｙ＾が算出されてサーボドライバ４へ引き渡され、サーボドライバ４は当該上流側モデル出力ｙ＾に基づいてプラント６のフィードバック制御を行う。このとき、モデル予測制御に関する演算処理は標準ＰＬＣ内のＣＰＵ５０によって実行され、フィードバック制御に関する演算処理はサーボドライバ４内のＣＰＵ４０によって実行される。そのため、プラント６のサーボ制御のための演算処理を２つのプロセッサに分散させ、１つのプロセッサに演算負荷が集中することを回避することができる。特に、標準ＰＬＣ５に比較的処理の能力の高いＣＰＵ５０を使用することで、モデル予測制御に関する演算処理を円滑に実現できるとともに、サーボドライバ４のＣＰＵ４０の処理能力を抑えながらも制御システム全体としてはプラント６の好適なサーボ制御の実現が図られる。モデル予測制御部５３によって実行されるモデル予測制御の演算負荷は比較的高いため、このように各演算処理に応じて対応するプロセッサを異ならしめることは極めて有用であり、更には、各プロセッサの処理能力を各演算処理に適したものとすることができ、制御システムによるサーボ制御の精度や安定性等をより好適なものとすることができる。
【００３７】
ここで、標準ＰＬＣ５のＣＰＵ５０の演算周期は、サーボドライバ４のＣＰＵ４０の演算周期よりも長くなるように設定されている。そこで、図３に基づいて、標準ＰＬＣ５とサーボドライバ４のそれぞれにおける演算周期が異なることを踏まえて、プラント６のサーボ制御のために使用する制御指令の補間態様について説明する。図３の横軸は時間を表し、ｔ１〜ｔ１４の各時刻はＣＰＵ４０の演算周期に対応する時刻であり、Ｔ１〜Ｔ４の各時刻はＣＰＵ５０の演算周期に対応する時刻である。時刻ｔ１と時刻Ｔ１、時刻ｔ５と時刻Ｔ２、時刻ｔ９と時刻Ｔ３、時刻ｔ１３と時刻Ｔ４はそれぞれ同期されている。具体的には図３に示すように、ＣＰＵ５０の演算周期ΔＴは、ＣＰＵ４０の演算周期Δｔの４倍とされる。このようにＣＰＵ４０の演算周期Δｔが比較的短く設定されている、換言するとＣＰＵ４０によるフィードバック制御演算が高速化されているのは、フィードバック制御構造４００によるフィードバック制御を精度よく安定的に実現するためである。一方で、標準ＰＬＣ５では、モデル予測制御が実行可能な程度にその演算周期ΔＴは比較的長く設定される。
【００３８】
図３に示すようにＣＰＵ５０の演算周期がＣＰＵ４０の演算周期より長く設定されると、標準ＰＬＣ５からサーボ指令（上流側モデル部５４のシミュレーション結果である上流側モデル出力ｙ＾であり、図３において黒丸で記載される）が供給されずに、サーボドライバ４でのフィードバック制御のための演算時刻を迎える状態が生じる。例えば、ＣＰＵ５０を有する標準ＰＬＣ５においては時刻Ｔ１、Ｔ２、Ｔ３、Ｔ４でサーボ指令が生成されサーボドライバ４へと供給されるが、ＣＰＵ４０を有するサーボドライバ４においては、例えば、時刻Ｔ１と同期された時刻ｔ１では標準ＰＬＣ５からサーボ指令が供給されそれをフィードバック制御演算に使用できるが、時刻Ｔ１〜Ｔ２の間にある時刻ｔ２〜ｔ４では標準ＰＬＣ５からサーボ指令が供給されない状態となり、そのままでは、上流側モデル出力ｙ＾を用いた好適なフィードバック制御演算を実現するのが困難となる。
【００３９】
そこで、本実施例では、補間処理部４８は、ＣＰＵ５０の演算周期ΔＴとＣＰＵ４０の演算周期Δｔとの差分を踏まえて、ＣＰＵ４０での演算時刻であってＣＰＵ５０の演算時刻に対応していない時刻（例えば、時刻ｔ２、ｔ３、ｔ４等）における、フィードバック制御演算のためのサーボ指令の値を補間する処理を行う。図３においては、この補間されたサーボ指令は白丸で記載され、補間サーボ指令と称する。当該補間処理については、公知の外挿技術を利用することができる。また、別法として標準ＰＬＣ５からサーボ指令が供給されてそれをフィードバック制御演算に使用するまでに一定の遅れ時間を設定すれば、公知の内挿技術を用いて補間処理部４８による補間サーボ指令の生成が可能である。サーボ指令と補間サーボ指令は、それぞれに対応する演算時刻に基づいて補間処理部４８からフィードバック制御構造４００に引き渡されて、演算周期Δｔでのフィードバック制御演算に供される。
【００４０】
このようにサーボドライバ４が補間処理部４８を有することで、ＣＰＵ４０とＣＰＵ５０の演算周期が異なっている場合でも、プラント６のサーボ制御を好適に実現することが可能となる。換言すると、ＣＰＵ４０とＣＰＵ５０の処理能力をいたずらに引き上げることなく、制御システムとしてのプラント６のサーボ制御を好適に実現することが可能となる。
【００４１】
＜実施例２＞
次に、本発明の制御システムの第２の実施例について、図４及び図５に基づいて説明する。図４は本実施例に係る制御システムに関する制御構造を示す図であり、図２に示す制御構造に含まれる要素と実質的に同一の物については、同一の参照番号を付してその詳細な説明を省略する。なお、図４に示す制御構造は、図２に示す制御構造と比較し、補間処理部４８に代えて割当て部４９を有する点で異なっている。また、図５の横軸は時間を表し、ｔ１〜ｔ１４の各時刻はＣＰＵ４０の演算周期に対応する時刻であり、Ｔ１〜Ｔ４の各時刻はＣＰＵ５０の演算周期に対応する時刻である。時刻ｔ１と時刻Ｔ１、時刻ｔ５と時刻Ｔ２、時刻ｔ９と時刻Ｔ３、時刻ｔ１３と時刻Ｔ４はそれぞれ同期されている。
【００４２】
本実施例においても、標準ＰＬＣ５のＣＰＵ５０の演算周期ΔＴは、第１の実施例と同じように、サーボドライバ４のＣＰＵ４０の演算周期Δｔの４倍に設定されている。したがって、第１の実施例でも示したように、標準ＰＬＣ５で生成されたサーボ指令を、ＣＰＵ５０の演算周期に従ってそのままサーボドライバ４に供給しても、ＣＰＵ４０によるフィードバック制御演算の精度を向上させることが困難である。そこで、本実施例では、標準ＰＬＣ５でのモデル予測制御部５３によるモデル予測制御に関する演算に着目する。第１の実施例での当該演算では、上記式２の所定の時間幅Ｔで表される予測区間における制御入力ｕが計算され、その初期時刻ｔでの制御入力ｕに対応する上流側モデル出力ｙ＾が標準ＰＬＣ５からサーボドライバ４へ出力されているが、本実施例では、予測区間の初期時刻ｔでの制御入力ｕに対応する上流側モデル出力ｙ＾だけではなく、それ以降の時刻での制御入力ｕに対応する上流側モデル出力ｙ＾も含む複数の上流側モデル出力ｙ＾をサー
ボ指令としてサーボドライバ４へ出力する。
【００４３】
具体的には、モデル予測制御部５３によるモデル予測制御において、予測区間の初期時刻ｔでの制御入力ｕが算出される。その算出された制御入力ｕに基づいて、ＣＰＵ５０の演算周期ΔＴがＣＰＵ４０の演算周期Δｔの４倍であることを踏まえて、演算周期ΔＴを４分割した４つの時刻（ΔＴ、ΔＴ＋Δｔ、ΔＴ＋２Δｔ、ΔＴ＋３Δｔ）での上流側モデル出力ｙ１＾、ｙ２＾、ｙ３＾、ｙ４＾の算出が、上流側モデル部５４によって行われる。具体的には、下記に示す手法１で、これらの上流側モデル出力が算出される。
（手法１）
制御入力uが一定と仮定して非線形モデルＰ（ｔ）（上記の式１を参照）を用いて将来
値である上流側モデル出力ｙ１＾、ｙ２＾、ｙ３＾、ｙ４＾を算出する。
ｙ１^＝ｙ（ｔ+ΔＴ)＝ｙ（ｔ）＋ΔＴ×Ｐ（ｔ）
ｙ２^＝ｙ（ｔ+ΔＴ＋Δｔ)＝ｙ１＾＋Δｔ×Ｐ（ｔ＋Δｔ）
ｙ３^＝ｙ（ｔ+ΔＴ＋２Δｔ)＝ｙ２＾＋Δｔ×Ｐ（ｔ＋２Δｔ）
ｙ４^＝ｙ（ｔ+ΔＴ＋３Δｔ)＝ｙ３＾＋Δｔ×Ｐ（ｔ＋３Δｔ）
また、別法として、下記に示す手法２によっても上記の上流側モデル出力を算出することができる。
（手法２）
制御入力uを用いる代わりに、上記の式１で与えられる微分値を用いて上流側モデル出
力ｙ１＾、ｙ２＾、ｙ３＾、ｙ４＾を算出する。
ｙ１^＝ｙ（ｔ+ΔＴ)＝ｙ（ｔ）＋ΔＴ×Ｐ（ｔ）
ｙ２^＝ｙ（ｔ+ΔＴ＋Δｔ)＝ｙ（ｔ）＋（ΔＴ＋Δｔ）×Ｐ（ｔ）
ｙ３^＝ｙ（ｔ+ΔＴ＋２Δｔ)＝ｙ（ｔ）＋（ΔＴ＋２Δｔ）×Ｐ（ｔ）
ｙ４^＝ｙ（ｔ+ΔＴ＋３Δｔ)＝ｙ（ｔ）＋（ΔＴ＋３Δｔ）×Ｐ（ｔ）
このように上流側モデル部５４によって算出された上流側モデル出力ｙ１＾、ｙ２＾、ｙ３＾、ｙ４＾は、サーボ指令としてサーボドライバ４へ供給される。なお、モデル予測制御部５３は、演算周期ΔＴでモデル予測制御に関する演算を行うが、上記制御入力を算出したモデル予測制御（前回予測制御）の次に行われるモデル予測制御は、前回予測制御における時刻ｔ＋４Δｔ（すなわち、ｔ＋Ｔ）での制御入力に対応する、上流側モデルでの状態ｘに基づいて実行される。これにより、モデル予測制御での演算タイミングを、サーボドライバ４での演算タイミングに一致させることができる。
【００４４】
そして、サーボドライバ４では、割当て部４９が、この４回分の時刻での上流側モデル出力ｙ１＾、ｙ２＾、ｙ３＾、ｙ４＾をサーボ指令として受け取り、記憶する。割当て部４９は、受け取った上流側モデル出力ｙ１＾、ｙ２＾、ｙ３＾、ｙ４＾のそれぞれに関連付けられた時間順序に従いＣＰＵ４０の演算周期に応じて、上流側モデル出力のそれぞれをフィードバック制御構造４００に引き渡し、それらが演算周期Δｔでのフィードバック制御演算に供されることになる。具体的には、時刻ｔ１（時刻Ｔ１）では、割当て部４９は標準ＰＬＣ５から上流側モデル出力ｙ１＾、ｙ２＾、ｙ３＾、ｙ４＾を受け取るとともに、そのうち最初の時刻ｔ１に対応する上流側モデル出力ｙ１＾をフィードバック制御構造４００に割当てる。次に、時刻ｔ２では、割当て部４９は、既に時刻ｔ１で受け取っている上流側モデル出力ｙ＾のうち、時刻ｔ２、すなわち時刻ｔ１＋Δｔに対応する上流側モデル出力ｙ２＾をフィードバック制御構造４００に割当てる。同じように、時刻ｔ３、ｔ４では、割当て部４９は、既に時刻ｔ１で受け取っている上流側モデル出力ｙ＾のうち、各時刻に対応する制御入力をフィードバック制御構造４００に割当てる。このように割当て部４９が機能することで、ＣＰＵ４０とＣＰＵ５０の演算周期が異なっている場合でも、プラント６のサーボ制御を好適に実現することが可能となる。
【００４５】
＜実施例２の変形例１＞
サーボドライバ４のＣＰＵ４０と標準ＰＬＣ５のＣＰＵ５０の演算周期が同一である場
合には、サーボドライバ４において割当て部４９を形成せずに、標準ＰＬＣ５でのモデル予測制御で算出された、予測区間の初期時刻での制御入力ｕに対応する上流側モデル出力ｙ＾がそのままサーボドライバ４のフィードバック制御構造４００に供給されるようにしてもよい。
【００４６】
＜実施例２の変形例２＞
標準ＰＬＣ５のＣＰＵ５０が異なる演算周期で複数の演算処理を実行可能に構成されている場合に、標準ＰＬＣ５のＣＰＵ５０は、上記のモデル予測制御に関する演算処理を相対的に長い演算周期で（すなわち、相対的に低速で）行い、サーボ指令生成に関する演算処理を相対的に短い演算周期で（すなわち、相対的に高速で）行ってもよい。例えば、ＣＰＵ４０とＣＰＵ５０のベースとなる演算周期がともにΔｔである場合に、ＣＰＵ５０は、Δｔの４倍の演算周期（４Δｔ＝ΔＴ）で、上記のモデル予測制御に関する演算処理を行い、ＣＰＵ４０は、サーボドライバ４においてΔｔの演算周期でフィードバック制御に関する演算処理を行う。更に、ＣＰＵ５０は、ＣＰＵ４０の演算周期と同じΔｔの演算周期で、サーボ指令生成に関する演算処理（すなわち、上記手法１又は手法２に示す手法により、ＣＰＵ４０によるフィードバック制御の演算タイミングに対応する所定時刻の上流側モデル出力を算出する演算処理）を行う。このような構成により、ＣＰＵ５０の演算負荷をより緩和することができる。また、このような構成によれば、図４に示す割当て部４９が不要になり、通常のサーボドライバ（すなわち、割当て部４９を備えないサーボドライバ）を使用して、本発明の制御システムを構築することができる。また、実施例１に示した補間処理部４８を備えるサーボドライバ４を含めて当該制御システムを構築する場合と比較しても、補間処理である内挿処理のための１指令周期分の時間遅れが無くなり、制御システムとしての応答性を高めることができる。
【００４７】
＜実施例３＞
次に、本発明の制御システムの第３の実施例について、図６に基づいて説明する。図６は本実施例に係る制御システムに関する制御構造を示す図であり、図２に示す制御構造に含まれる要素と実質的に同一の物については、同一の参照番号を付してその詳細な説明を省略する。
【００４８】
本実施例の制御システムにおいて、標準ＰＬＣ５内の制御構造は、図２に示す制御構造と同一の指令生成部５１、状態取得部５２、モデル予測制御部５３を有するとともに、プラント６に関連する上流側モデルを有し、その上流側モデルを用いてプラント６の出力をシミュレーションする上流側モデル部５４０を有する。一方、サーボドライバ４の制御構造には、補間処理部４８とフィードバック制御構造４００’が含まれる。フィードバック制御構造４００’には、位置制御器４１’、速度制御器４２’、電流制御器４３’とともに、これらの制御器及びプラント６をモデル化した構成である、モデル位置制御部４５、モデル速度制御部４６、実機モデル部４７が含まれる。本実施例において、位置制御器４１’は、例えば、比例制御（Ｐ制御）を行う。具体的には、後述の実機モデル部４７によるモデル位置出力ｐｓｉｍ１と検出位置との偏差である位置偏差に、所定の位置比例ゲインを乗ずることにより速度指令ｖｃｍｄを算出する。
【００４９】
次に速度制御器４２’は、例えば、比例積分制御（ＰＩ制御）を行う。具体的には、位置制御器４１’により算出された速度指令ｖｃｍｄと実機モデル部４７による速度出力（モデル位置出力ｐｓｉｍ１の微分値）との和に対する検出速度との偏差である速度偏差の積分量に所定の速度積分ゲインを乗じ、その算出結果と当該速度偏差の和に所定の速度比例ゲインを乗ずることにより、トルク指令τｃｍｄを算出する。また、速度制御器４２’はＰＩ制御に代えてＰ制御を行ってもよい。
【００５０】
電流制御器４３’は、速度制御器４２’により算出されたトルク指令τｃｍｄと、後述
するモデル速度制御部４６により算出されたモデルトルク指令τｃｍｄ１との和に基づいて電流指令Ｃｃｍｄを出力し、それによりモータ２が駆動制御される。電流制御器４３’は、トルク指令に関するフィルタ（１次のローパスフィルタ）や一又は複数のノッチフィルタを含み、制御パラメータとして、これらのフィルタの性能に関するカットオフ周波数等を有している。
【００５１】
次に、モデル位置制御部４５、モデル速度制御部４６、実機モデル部４７について説明する。本実施例において、モデル位置制御部４５は、位置制御器４１’をモデル化したものであり、位置制御器４１’と同様にＰ制御を行う。具体的には、補間処理部４８から出力されるサーボ指令又は補間サーボ指令と実機モデル部４７によるモデル位置出力ｐｓｉｍ１との偏差に、所定のモデル位置比例ゲインを乗ずることによりモデル速度指令ｖｃｍｄ１を算出する。なお、このモデル位置制御部４５が有する所定のモデル位置比例ゲインは、モデル化の対象である位置制御器４１’が有する所定の位置比例ゲイン以下の値に設定されている。
【００５２】
モデル速度制御部４６は、速度制御器４２’をモデル化したものであり、速度制御器４２’と同様にＰＩ制御を行う。具体的には、モデル位置制御部４５により算出されたモデル速度指令ｖｃｍｄ１と実機モデル部４７の速度出力（実機モデル部４７によるモデル位置出力ｐｓｉｍ１の微分値）との偏差の積分量に所定のモデル速度積分ゲインを乗じ、その算出結果と当該偏差の和に所定のモデル速度比例ゲインを乗ずることにより、モデルトルク指令τｃｍｄ１を算出する。なお、このモデル速度制御部４６が有する所定のモデル速度積分ゲインとモデル速度比例ゲインのそれぞれは、モデル化の対象である速度制御器４２’が有する所定の速度積分ゲインと速度比例ゲイン以下の値に設定されている。また、実機モデル部４７は、電流制御器４３’及びプラント６をモデル化したものであり、モデル速度制御部４６により算出されたモデルトルク指令τｃｍｄ１に基づいて、モデル位置出力ｐｓｉｍ１を出力する。
【００５３】
このように構成されるフィードバック制御構造４００’では、位置制御器４１’、速度制御器４２’、電流制御器４３’及びプラント６がモデル化された制御構造を含むことで、プラント６のサーボ制御のシミュレーションが行われ、その結果がプラント６のフィードバック制御に反映される、いわゆるモデル追従制御構造が形成されている。そして、標準ＰＬＣ５において上流側モデル部５４０が有する上流側モデルは、プラント６及びモデル追従制御のためのフィードバック制御構造４００’、すなわちモデル位置制御部４５、モデル速度制御部４６、実機モデル部４７による制御構造が反映されるように形成されている。また、当該モデル追従制御構造では、モデル位置制御部４５とモデル速度制御部４６のそれぞれに設定されている所定の制御ゲイン（モデル位置比例ゲイン、モデル速度比例ゲイン、モデル速度積分ゲイン）は、対応する位置制御器４１’と速度制御器４２’のそれぞれに設定されている所定の制御ゲイン（位置比例ゲイン、速度比例ゲイン、速度積分ゲイン）以下の値に設定されている。これにより、ＣＰＵ４０とＣＰＵ５０の演算周期が異なっている場合でも、プラント６のサーボ制御を好適に実現することができ、更には、サーボドライバ４におけるフィードバック制御で上記モデル化された制御構造の特性に対する追従性が高くなるため、モデル予測制御部５３が有する予測モデルの精度がある程度低くても、結果として、制御システムによるプラント６のサーボ制御における追従性を比較的高く維持することができる。
【００５４】
また、プラント６の態様によっては、その物理特性等を的確に反映してモデル予測制御部５３が有する予測モデルを生成することが容易でない場合もある。そこで、モデル予測制御部が有する予測モデルを、実機モデル部４７が有するモデルのうちプラント６をモデル化したモデル（以下、「追従制御モデル」という）と同一のものとすることで、予測モデルの生成に要する労力を抑制しながらも、制御システムとしての追従性を比較的高く維
持することができる。
【００５５】
＜実施例４＞
次に、本発明の制御システムの第４の実施例について、図７に基づいて説明する。図７は本実施例に係る制御システムの概略構成を示す図であり、図１に示す制御システムに含まれる要素と実質的に同一の物については、同一の参照番号を付してその詳細な説明を省略する。本実施例の制御システムでは、プラント６が２つの制御軸で制御駆動されるように構成される。具体的には、負荷装置３がモータ２Ｘ、２Ｙで駆動制御され、前者の制御軸をＸ軸、後者の制御軸をＹ軸とする。そして、Ｘ軸用のモータ２Ｘをサーボ制御するためにサーボドライバ４Ｘが、Ｙ軸用のモータ２Ｙをサーボ制御するためにサーボドライバ４Ｙが、それぞれネットワーク１を介して標準ＰＬＣ５に接続されている。サーボドライバ４Ｘ、４Ｙには、それぞれで実行されるフィードバック制御演算のためのＣＰＵ４０Ｘ、４０Ｙが設けられ、またモータ２Ｘ、２Ｙを駆動するための電源７Ｘ、７Ｙが接続される。
【００５６】
そして、標準ＰＬＣ５には、Ｘ軸及びＹ軸のモデル予測制御に関する演算が可能となるように、図６に示す指令生成部５１、状態取得部５２、モデル予測制御部５３、各制御軸に対応する上流側モデルを有する上流側モデル部５４が形成され、サーボドライバ４Ｘ、４Ｙのそれぞれには、図６に示す補間処理部４８と、モデル追従制御が実行可能なフィードバック制御構造４００’が形成されている。ここで、サーボドライバ４Ｘのフィードバック制御構造４００’における追従制御モデルは、モータ２Ｘを含む制御軸Ｘに関する構成に対応して決定され、サーボドライバ４Ｙのフィードバック制御構造４００’における追従制御モデルは、モータ２Ｙを含む制御軸Ｙに関する構成に対応して決定される。
【００５７】
そして、サーボドライバ４Ｘ、４Ｙのそれぞれにおいて、モデル位置制御部４５とモデル速度制御部４６のそれぞれに設定されている所定の制御ゲイン（モデル位置比例ゲイン、モデル速度比例ゲイン、モデル速度積分ゲイン）は、対応する位置制御器４１’と速度制御器４２’のそれぞれに設定されている所定の制御ゲイン（位置比例ゲイン、速度比例ゲイン、速度積分ゲイン）以下の値に設定されている。更に、サーボドライバ４Ｘとサーボドライバ４Ｙにおいて、モデル位置制御部４５とモデル速度制御部４６での所定の制御ゲインのそれぞれについては、制御軸間で共通の値に設定されている。このように制御システムを構成することで、Ｘ軸とＹ軸における指令に対する追従性を同程度に揃えることができ、プラント６全体の追従性向上を図ることができる。
【００５８】
＜実施例５＞
次に、本発明の制御システムの第５の実施例について、図８に基づいて説明する。図８は本実施例に係る制御システムの概略構成を示す図であり、図１に示す制御システムに含まれる要素と実質的に同一の物については、同一の参照番号を付してその詳細な説明を省略する。本実施例の制御システムでは、図１に示す標準ＰＬＣ５とサーボドライバ４に相当する構成が共通の筐体に搭載されて１つの制御装置４’として形成されている。ただし、制御装置４’には、上述したモデル予測制御に関する演算を実行するためのＣＰＵ５０と、フィードバック制御に関する演算を実行するためのＣＰＵ４０が含まれ、図６に示すモデル予測制御に関する制御構造とフィードバック制御に関する制御構造が形成されている。このように構成される制御システムにおいても、ＣＰＵ４０とＣＰＵ５０のそれぞれの演算周期の違いを考慮して、補間処理部４８を形成することもでき、プラント６のサーボ制御を好適に実現することが可能となる。
【符号の説明】
【００５９】
１・・・・ネットワーク
２・・・・モータ
３・・・・負荷装置
４・・・・サーボドライバ
４’・・・・制御装置
５・・・・標準ＰＬＣ
６・・・・プラント
４０・・・・ＣＰＵ
５０・・・・ＣＰＵ
【図１】
2019109598.tif 000007
【図２】
2019109598.tif 000008
【図３】
2019109598.tif 000009
【図４】
2019109598.tif 000010
【図５】
2019109598.tif 000011
【図６】
2019109598.tif 000012
【図７】
2019109598.tif 000013
【図８】
2019109598.tif 000014