(57)【要約】【課題】制御量を高精度に予測可能な予測モデルを生成するための技術を提供する。【解決手段】本発明の一側面に係る予測制御開発装置は、制御量の第１時系列データを分析することで、制御量の予測モデルを生成し、生成された予測モデルをコントローラに提供する。予測制御開発装置は、予測モデルを利用した予測制御の間における制御量の値の推移を示す第２時系列データを取得し、予測モデルによる予測値と第２時系列データの値との差に基づいて、予測モデルの予測精度を評価する。予測モデルの予測精度が許容されない場合には、予測制御開発装置は、第２時系列データを分析することで、制御量の予測モデルを再度生成し、再度生成された予測モデルをコントローラに提供する。【選択図】図９
2020135758.tif 000002
【特許請求の範囲】
【請求項１】
コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第１時系列データを取得する第１取得部と、
取得された前記第１時系列データを分析することで、前記制御量の予測モデルを生成するモデル生成部と、
前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するモデル提供部と、
前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第２時系列データを取得する第２取得部と、
前記予測モデルにより予測される前記制御量の予測値及び前記第２時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するモデル評価部と、
を備え、
前記予測モデルによる予測の精度が許容されないと評価された場合、
前記モデル生成部は、取得された前記第２時系列データを分析することで、前記制御量の予測モデルを再度生成し、
前記モデル提供部は、再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新する、
予測制御開発装置。
【請求項２】
前記コントローラに、前記各指令値に対する前記補正の量を指定する補正量指定部を更に備える、
請求項１に記載の予測制御開発装置。
【請求項３】
前記補正量指定部は、前記予測モデルが更新される度に、前記補正の量が大きくなるように指定する、
請求項２に記載の予測制御開発装置。
【請求項４】
前記予測モデルにより予測される前記制御量の予測値及び前記第２時系列データにより示される前記制御量の値を表示装置に表示させる出力部を更に備える、
請求項１から３のいずれか１項に記載の予測制御開発装置。
【請求項５】
前記制御対象装置は、金型により構成されたプレス機であり、
前記操作量は、前記金型を駆動するサーボモータの電圧であり、
前記制御量は、前記金型の位置である、
請求項１から４のいずれか１項に記載の予測制御開発装置。
【請求項６】
前記制御対象装置は、ウェブを搬送するように構成されたウェブ搬送装置であり、
前記操作量は、前記ウェブの端部の位置を調節するためのアクチュエータの電圧であり、
前記制御量は、前記ウェブの端部の位置である、
請求項１から４のいずれか１項に記載の予測制御開発装置。
【請求項７】
コンピュータが、
コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第１時系列データを取得するステップと、
取得された前記第１時系列データを分析することで、前記制御量の予測モデルを生成するステップと、
前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するステップと、
前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第２時系列データを取得するステップと、
前記予測モデルにより予測される前記制御量の予測値及び前記第２時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するステップと、
を実行し、
前記予測モデルによる予測の精度が許容されないと評価された場合、前記コンピュータは、取得された前記第２時系列データを分析することで、前記制御量の予測モデルを再度生成し、かつ再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新する、
予測制御開発方法。
【請求項８】
コンピュータに、
コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第１時系列データを取得するステップと、
取得された前記第１時系列データを分析することで、前記制御量の予測モデルを生成するステップと、
前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するステップと、
前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第２時系列データを取得するステップと、
前記予測モデルにより予測される前記制御量の予測値及び前記第２時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するステップと、
を実行させ、
前記予測モデルによる予測の精度が許容されないと評価された場合、前記コンピュータに、取得された前記第２時系列データを分析することで、前記制御量の予測モデルを再度生成させ、かつ再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新させる、
ための、
予測制御開発プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予測制御開発装置、予測制御開発方法、及び予測制御開発プログラムに関する。
【背景技術】
【０００２】
制御対象装置の動作を制御するために、ＰＬＣ（programmable logic controller）等のコントローラが一般的に利用されている。従来、コントローラの計算能力が限られていたため、コントローラは、例えば、ＰＩＤ（Proportional-Integral-Differential）制御、ＰＩ制御等の演算の比較的に簡単な制御方法により、制御対象装置の動作を制御するように構成されていた。しかしながら、近年、コントローラの計算能力が向上したことにより、予測モデルを利用した高度な制御方法の実装が可能となった。
【０００３】
例えば、特許文献１では、化学プラント、製油所等の工場プロセスの制御に利用するＰＬＣに予測モデルを実装する方法が提案されている。具体的には、システムプロセスの動作結果を示すデータを収集し、得られたデータに基づいて、システムの状態を予測する予測モデルを生成し、生成した予測モデルを利用して、システムの制御を最適化することが提案されている。この方法によれば、工場プロセスを最適化し、品質の悪い製品が製造される確率を低減することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１４／０２９７００２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本件発明者らは、上記のような、制御対象装置の状態（すなわち、制御量）を予測する予測モデルを利用した従来の予測制御には、次のような問題点があることを見出した。
【０００６】
すなわち、特許文献１では、化学プラント、製油所等の比較的に大規模な生産装置において、ＰＬＣの利用が想定されている。この大規模な生産装置では、例えば、ワークの切り替え、調整等の段取り替えが殆ど発生しないため、予測制御システムのモデル開発において、様々な状況下での制御結果を示すデータを収集することができる。そのため、収集されたデータに基づいて、制御量を高精度に予測可能な予測モデルを容易に生成することができる。
【０００７】
しかしながら、搬送機、プレス機等の比較的に小規模な生産装置を制御対象装置とする場合、生産装置の段取り替えが頻繁に発生するため、様々な状況下での制御結果を示すデータを収集する時間を十分に確保するのは困難である。そのため、収集されるデータには偏りが生じてしまい、制御量を高精度に予測可能な予測モデルを生成するのが困難である。これにより、予測精度の低い予測モデルが生成されてしまい、この予測モデルを利用した生産装置の予測制御が実施されることで、かえって品質の悪い製品の生成される確率が高くなってしまう可能性がある。本件発明者らは、予測モデルを利用した従来の予測制御には、このような問題点があることを見出した。
【０００８】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、大規模な生産装置は勿論のこと、比較的に小規模な生産装置を制御対象装置とする場合でも、制御量を高精度に予測可能な予測モデルを生成するための技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【００１０】
すなわち、本発明の一側面に係る予測制御開発装置は、コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第１時系列データを取得する第１取得部と、取得された前記第１時系列データを分析することで、前記制御量の予測モデルを生成するモデル生成部と、前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するモデル提供部と、前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第２時系列データを取得する第２取得部と、前記予測モデルにより予測される前記制御量の予測値及び前記第２時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するモデル評価部と、を備える。そして、前記予測モデルによる予測の精度が許容されないと評価された場合には、前記モデル生成部は、取得された前記第２時系列データを分析することで、前記制御量の予測モデルを再度生成し、前記モデル提供部は、再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新する。
【００１１】
当該構成に係る予測制御開発装置は、制御量の値の推移を示す第１時系列データを取得し、取得された第１時系列データを分析することで、制御量の予測モデルを生成する。生成された予測モデルは、制御対象装置の動作を制御するコントローラに提供される。コントローラは、得られた予測モデルを利用して、制御対象装置の予測制御を実行する。当該構成に係る予測制御開発装置は、この予測モデルを利用した予測制御の間における制御対象装置の制御量の値の推移を示す第２時系列データを取得する。次に、当該構成に係る予測制御開発装置は、予測モデルにより予測される制御量の予測値及び第２時系列データにより示される制御量の値の差に基づいて、予測モデルによる予測の精度が許容されるか否かを評価する。そして、予測モデルによる予測の精度が許容されないと評価された場合には、当該構成に係る予測制御開発装置は、第２時系列データを分析することで、制御量の予測モデルが再度生成し、再度生成された予測モデルをコントローラに提供することで、コントローラに保持される予測モデルを更新する。
【００１２】
すなわち、当該構成によれば、予測モデルをコントローラに提供した後に、この予測モデルによる予測の精度を検証することができる。そして、その検証の結果、予測モデルによる予測の精度が許容されない場合には、予測モデルを提供した環境下で新たに得られた第２時系列データに基づいて新たな予測モデルを生成し、生成された新たな予測モデルにより、予測制御に利用される予測モデルを更新することができる。これにより、第１時系列データを収集する時間が比較的に短時間であることで、得られた予測モデルによる制御量の予測の精度が低い場合であっても、この第２時系列データを利用した予測モデルの更新により、予測モデルによる予測の精度を改善することができる。つまり、予測モデルを運用しながらであっても、予測モデルによる制御量の予測の精度を改善し続けることができる。したがって、当該構成に係る予測制御開発装置によれば、大規模な生産装置は勿論のこと、比較的に小規模な生産装置を制御対象装置とする場合でも、制御量を高精度に予測可能な予測モデルを生成することができる。
【００１３】
なお、制御量は、例えば、モータの回転角度、回転速度等の制御の対象となる量である。制御量の時系列データは、シミュレーションで得られてもよいし、実機の駆動により得られてもよい。時系列データの取得には、センサが利用されてもよい。センサは、計測する制御量に応じて適宜選択されてよい。第１時系列データは、予測モデルを利用しない制御（すなわち、通常の制御）の間に得られてもよい。或いは、第１時系列データは、第２時系列データと同様に、予測モデルによる予測制御の間に得られてもよい。この場合、予測モデルは、予め与えられてよい。
【００１４】
操作量は、例えば、モータの電圧等の制御対象装置に与える量である。制御対象装置の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。制御対象装置は、例えば、プレス機、ウェブ搬送装置、射出成形機、ＮＣ旋盤、放電加工機、包装機等の生産ラインで利用される比較的に小規模な生産装置であってもよい。この比較的に小規模な生産装置の動作は、例えば、ＰＬＣに代表される小規模な制御装置によって制御されてよい。操作量として制御対象装置に与えられる指令値は、ＰＩＤ制御、ＰＩ制御等の公知の制御方法により決定されてよい。制御量の予測値に応じて指令値を補正することは、決定された指令値を予測値に応じて直接的に補正すること、及び予測値に応じて制御量の目標値を補正することで、決定される指令値を間接的に補正することを含んでよい。
【００１５】
予測モデルは、第１時刻における制御量の値（計測値又は予測値）から第１時刻より未来の第２時刻における制御量の予測値を予測するように構成される。つまり、予測モデルは、第１時刻における制御量の値が入力されると、第２時刻における制御量の予測値を出力するように構成される。予測モデルの入力には、１時刻の値が用いられてもよいし、過去の所定の時間区間内の複数の値が用いられてもよい。また、予測モデルの入力には、制御量の値以外のデータが更に用いられてもよい。制御量の値以外のデータとして、例えば、操作量の値、ワークの個体情報等が予測モデルに入力されてよい。
【００１６】
このような予測モデルの種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。予測モデルは、例えば、自己回帰モデル等の回帰モデルにより構成されてもよいし、例えば、ニューラルネットワーク等の機械学習モデルにより構成されてもよい。予測モデルを生成するために、時系列データを分析する方法は、特に限定されなくてもよく、予測モデルの種類に応じて適宜選択されてよい。予測モデルが自己回帰モデルにより構成される場合、分析方法には、最小二乗法等の公知の回帰分析方法が用いられてよい。また、予測モデルがニューラルネットワーク等の機械学習モデルにより構成される場合、分析方法には、誤差逆伝播法等の公知の機械学習方法が用いられてよい。
【００１７】
上記一側面に係る予測制御開発装置は、前記コントローラに、前記各指令値に対する前記補正の量を指定する補正量指定部を更に備えてもよい。当該構成によれば、予測モデルの検証及び更新を繰り返す際に、予測モデルによる予測制御の程度を調整することができる。これにより、当該予測モデルによる予測制御の最適化を図ることができる。
【００１８】
上記一側面に係る予測制御開発装置において、前記補正量指定部は、前記予測モデルが更新される度に、前記補正の量が大きくなるように指定してもよい。当該構成によれば、予測モデルの検証及び更新を繰り返す度に、予測モデルによる予測制御における各指令値に対する補正量を徐々に高めていく（すなわち、予測制御の程度を徐々に高めていく）ことで、当該予測モデルによる予測制御を最適化することができる。
【００１９】
上記一側面に係る予測制御開発装置は、前記予測モデルにより予測される前記制御量の予測値及び前記第２時系列データにより示される前記制御量の値を表示装置に表示させる出力部を更に備えてもよい。当該構成によれば、生成された予測モデルによる制御量の予測の精度を確認することができる。
【００２０】
上記一側面に係る予測制御開発装置において、前記制御対象装置は、金型により構成されたプレス機であってよく、前記操作量は、前記金型を駆動するサーボモータの電圧であってよく、前記制御量は、前記金型の位置であってもよい。当該構成によれば、金型の位置を高精度に予測可能でかつプレス機の予測制御に利用可能な予測モデルを生成することができる。これにより、プレス機を含む工場プロセスを最適化し、品質の悪い製品が製造される確率を低減することができる。
【００２１】
上記一側面に係る予測制御開発装置において、前記制御対象装置は、ウェブを搬送するように構成されたウェブ搬送装置であってよく、前記操作量は、前記ウェブの端部の位置を調節するためのアクチュエータの電圧であってよく前記制御量は、前記ウェブの端部の位置であってよい。当該構成によれば、ウェブの端部の位置を高精度に予測可能でかつウェブ搬送装置の予測制御に利用可能な予測モデルを生成することができる。これにより、ウェブ搬送装置を含む工場プロセスを最適化し、品質の悪い製品が製造される確率を低減することができる。
【００２２】
上記各形態に係る予測制御開発装置の別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
【００２３】
例えば、本発明の一側面に係る予測制御開発方法は、コンピュータが、コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第１時系列データを取得するステップと、取得された前記第１時系列データを分析することで、前記制御量の予測モデルを生成するステップと、前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するステップと、前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第２時系列データを取得するステップと、前記予測モデルにより予測される前記制御量の予測値及び前記第２時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するステップと、を実行し、前記予測モデルによる予測の精度が許容されないと評価された場合、前記コンピュータは、取得された前記第２時系列データを分析することで、前記制御量の予測モデルを再度生成し、かつ再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新する、情報処理方法である。
【００２４】
また、例えば、本発明の一側面に係る予測制御開発プログラムは、コンピュータに、コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第１時系列データを取得するステップと、取得された前記第１時系列データを分析することで、前記制御量の予測モデルを生成するステップと、前記コントローラに、前記予測モデルにより予測される前記制御量の予測値に応じて前記各指令値を補正させ、かつ補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御させるように、前記予測モデルを前記コントローラに提供するステップと、前記コントローラが、補正された前記各指令値を前記制御対象装置に与えることにより前記制御対象装置を制御している間における、前記制御対象装置の制御量の値の推移を示す第２時系列データを取得するステップと、前記予測モデルにより予測される前記制御量の予測値及び前記第２時系列データにより示される前記制御量の値の差に基づいて、前記予測モデルによる予測の精度が許容されるか否かを評価するステップと、を実行させ、前記予測モデルによる予測の精度が許容されないと評価された場合、前記コンピュータに、取得された前記第２時系列データを分析することで、前記制御量の予測モデルを再度生成させ、かつ再度生成された前記予測モデルを前記コントローラに提供することで、前記コントローラの保持する予測モデルを更新させる、ための、プログラムである。
【発明の効果】
【００２５】
本発明によれば、比較的に小規模な生産装置を制御対象装置とする場合でも、制御量を高精度に予測可能な予測モデルを生成することができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明が適用される場面の一例を模式的に例示する。
【図２】図２は、実施の形態に係る予測制御開発装置のハードウェア構成の一例を模式的に例示する。
【図３】図３は、実施の形態に係るＰＬＣ（コントローラ）のハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係るプレス機（制御対象装置）の一例を模式的に例示する。
【図５Ａ】図５Ａは、図４のプレス機における生産工程の一例を模式的に例示する。
【図５Ｂ】図５Ｂは、図４のプレス機における生産工程の一例を模式的に例示する。
【図５Ｃ】図５Ｃは、図４のプレス機における生産工程の一例を模式的に例示する。
【図５Ｄ】図５Ｄは、図４のプレス機における生産工程の一例を模式的に例示する。
【図６】図６は、実施の形態に係る予測制御開発装置のソフトウェア構成の一例を模式的に例示する。
【図７】図７は、実施の形態に係るＰＬＣ（コントローラ）のソフトウェア構成の一例を模式的に例示する。
【図８】図８は、実施の形態に係るＰＬＣ（コントローラ）の処理手順の一例を例示する。
【図９】図９は、実施の形態に係る予測制御開発装置の処理手順の一例を例示する。
【図１０】図１０は、実施の形態に係る評価結果の出力画面の一例を模式的に例示する。
【図１１】図１１は、本発明が適用される場面の他の一例を模式的に例示する。
【図１２】図１２は、図１１のウェブ搬送装置において搬送されるウェブの端部の位置を調節する場面を模式的に例示する。
【図１３】図１３は、変形例に係る予測制御開発装置のソフトウェア構成の一例を模式的に例示する。
【図１４Ａ】図１４Ａは、変形例に係る予測制御開発装置の処理手順の一例を例示する。
【図１４Ｂ】図１４Ｂは、変形例に係る予測制御開発装置の処理手順の一例を例示する。
【発明を実施するための形態】
【００２７】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００２８】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本実施形態に係る予測制御システム１００の適用場面の一例を模式的に例示する。
【００２９】
図１に示されるとおり、本実施形態に係る予測制御システム１００は、ネットワークを介して互いに接続される予測制御開発装置１及びＰＬＣ２を備えている。これにより、予測制御システム１００は、制御対象装置の制御量を予測するための予測モデルを生成し、生成された予測モデルを利用して制御対象装置の動作を予測制御するように構成される。予測制御開発装置１及びＰＬＣ２の間のネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００３０】
ＰＬＣ２は、制御対象装置の動作を制御するように構成されたコンピュータである。ＰＬＣ２は、コントローラの一例である。本実施形態では、ＰＬＣ２には、プレス機３が接続されている。プレス機３は、制御対象装置の一例である。ただし、コントローラ及び制御対象装置はそれぞれ、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【００３１】
また、図１の例では、予測制御開発装置１及びＰＬＣ２は、互いに別個のコンピュータである。しかしながら、予測制御システム１００の構成は、このような例に限定されなくてもよい。予測制御開発装置１及びＰＬＣ２は、一体のコンピュータで構成されてもよい。また、予測制御開発装置１及びＰＬＣ２はそれぞれ複数台のコンピュータにより構成されてよい。
【００３２】
本実施形態に係る予測制御開発装置１は、制御対象装置の予測制御に利用可能な予測モデルを生成するように構成されたコンピュータである。具体的に、本実施形態に係る予測制御開発装置１は、操作量の時系列データとして複数の指令値を制御対象装置に与えることによりコントローラが制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第１時系列データを取得する。予測制御開発装置１は、取得された第１時系列データを分析することで、制御量の予測モデルを生成する。制御量は、制御の対象となる量である。操作量は、制御対象装置に与える量である。制御量及び操作量はそれぞれ、制御対象装置に応じて適宜選択されてよい。
【００３３】
次に、本実施形態に係る予測制御開発装置１は、コントローラに、予測モデルにより予測される制御量の予測値に応じて各指令値を補正させ、かつ補正された各指令値を制御対象装置に与えることにより制御対象装置の動作を制御するように、予測モデルをコントローラに提供する。これにより、ＰＬＣ２は、予測制御開発装置１により生成された予測モデルを取得する。ＰＬＣ２は、予測モデルを利用して制御対象装置の動作を制御する予測制御モード、及び予測モデルを利用せずに、ＰＩＤ制御等の公知の制御方法により制御量の計測値から指令値を決定する通常の制御モードの２つのモードを切り替え可能に構成されてよい。
【００３４】
続いて、本実施形態に係る予測制御開発装置１は、コントローラが、補正された各指令値を制御対象装置に与えることにより当該制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第２時系列データを取得する。そして、予測制御開発装置１は、予測モデルにより予測される制御量の予測値及び第２時系列データにより示される制御量の値の差に基づいて、予測モデルによる予測の精度が許容されるか否かを評価する。
【００３５】
予測モデルによる予測の精度が許容されないと評価された場合、本実施形態に係る予測制御開発装置１は、取得された第２時系列データを分析することで、制御量の予測モデルを再度生成する。そして、予測制御開発装置１は、再度生成された予測モデルをコントローラに提供することで、コントローラの保持する予測モデルを更新する。つまり、予測モデルによる予測の精度が比較的に低い場合には、本実施形態に係る予測制御開発装置１は、第２時系列データに基づいて新たな予測モデルを生成し、生成された予測モデルによりＰＬＣ２の保持する予測モデルを更新する。
【００３６】
以上のとおり、本実施形態に係る予測制御システム１００では、予測制御開発装置１により生成された予測モデルがＰＬＣ２に提供された後、この予測モデルによる予測の精度を検証することができる。そして、その検証の結果、予測モデルによる予測の精度が許容されない場合には、予測モデルを提供した環境下で新たに得られた第２時系列データに基づいて新たな予測モデルを生成し、生成された新たな予測モデルにより、予測制御に利用される予測モデルを更新することができる。これにより、第１時系列データを収集する時間が比較的に短時間であることに起因して、得られた予測モデルによる制御量の予測の精度が低い場合であっても、第２時系列データを利用した予測モデルの更新により、予測モデルによる予測の精度を改善することができる。つまり、予測モデルを運用しながらであっても、予測モデルの予測精度を改善し続けることができる。したがって、本実施形態によれば、大規模な生産装置は勿論のこと、プレス機３のような比較的に小規模な生産装置を制御対象装置とする場合でも、制御量を高精度に予測可能な予測モデルを生成することができる。
【００３７】
§２  構成例
［ハードウェア構成］
＜予測制御開発装置＞
次に、図２を用いて、本実施形態に係る予測制御開発装置１のハードウェア構成の一例について説明する。図２は、本実施形態に係る予測制御開発装置１のハードウェア構成の一例を模式的に例示する。
【００３８】
図２に示されるとおり、本実施形態に係る予測制御開発装置１は、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、表示装置１５、及びドライブ１６が電気的に接続されたコンピュータである。なお、図２では、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００３９】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部１２は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部１２は、予測制御開発プログラム８１、第１時系列データ２２３、第２時系列データ２２５、生成結果データ１２５等の各種情報を記憶する。
【００４０】
予測制御開発プログラム８１は、予測モデルの生成に関する後述の情報処理（図９）を予測制御開発装置１に実行させるためのプログラムである。予測制御開発プログラム８１は、この情報処理の一連の命令群を含む。第１時系列データ２２３は、上記第１時系列データの一例であり、第２時系列データ２２５は、上記第２時系列データの一例である。生成結果データ１２５は、生成された予測モデルに関する情報を示す。生成結果データ１２５は、予測制御開発プログラム８１を実行した結果として得られる。詳細は後述する。
【００４１】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。予測制御開発装置１は、この通信インタフェース１３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、ＰＬＣ２）と行うことができる。また、予測制御開発装置１は、この通信インタフェース１３を利用することで、生成された生成結果データ１２５を外部の装置に配信することができる。
【００４２】
入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。また、表示装置１５は、出力装置の一例であり、例えば、ディスプレイである。オペレータは、入力装置１４及び表示装置１５を介して、予測制御開発装置１を操作することができる。なお、表示装置１５は、タッチパネルディスプレイであってもよい。この場合、入力装置１４は省略されてもよい。
【００４３】
ドライブ１６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ１６の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記予測制御開発プログラム８１、第１時系列データ２２３、及び第２時系列データ２２５の少なくともいずれかは、この記憶媒体９１に記憶されていてもよい。
【００４４】
記憶媒体９１は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。予測制御開発装置１は、この記憶媒体９１から、上記予測制御開発プログラム８１、第１時系列データ２２３、及び第２時系列データ２２５の少なくともいずれかを取得してもよい。
【００４５】
ここで、図２では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００４６】
なお、予測制御開発装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ（field-programmable gate array）等で構成されてよい。記憶部１２は、制御部１１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース１３、入力装置１４、表示装置１５及びドライブ１６の少なくともいずれかは省略されてもよい。予測制御開発装置１は、複数台の情報処理装置で構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、予測制御開発装置１には、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ（Personal Computer）等が用いられてもよい。
【００４７】
＜ＰＬＣ＞
次に、図３を用いて、本実施形態に係るＰＬＣ２のハードウェア構成の一例を説明する。図３は、本実施形態に係るＰＬＣ２のハードウェア構成の一例を模式的に例示する。
【００４８】
図３に示されるとおり、ＰＬＣ２は、制御部２１、記憶部２２、通信インタフェース２３、及び外部インタフェース２４が電気的に接続されたコンピュータである。これらにより、ＰＬＣ２は、プレス機３等の制御対象装置の動作を制御するように構成される。なお、図３では、通信インタフェース及び外部インタフェースをそれぞれ「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００４９】
制御部２１は、ＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部２２は、例えば、ＲＡＭ、ＲＯＭ等で構成され、制御プログラム８２、目標値情報２２１、第１時系列データ２２３、第２時系列データ２２５、生成結果データ１２５等の各種情報を記憶する。制御プログラム８２は、制御対象装置の動作を制御する後述の情報処理（図８）をＰＬＣ２に実行させるためのプログラムである。制御プログラム８２は、当該情報処理の一連の命令群を含む。目標値情報２２１は、所定の動作を制御対象装置に実行させる際の制御量の一連の基礎目標値を示す。詳細は後述する。
【００５０】
通信インタフェース２３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、有線又は無線通信を行うためのインタフェースである。ＰＬＣ２は、この通信インタフェース２３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、予測制御開発装置１）と行うことができる。
【００５１】
外部インタフェース２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース２４の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、ＰＬＣ２は、外部インタフェース２４を介して、プレス機３に接続される。これにより、ＰＬＣ２は、プレス機３に対して指令値を送信することで、プレス機３の動作を制御することができる。また、ＰＬＣ２は、制御量の計測値をプレス機３から取得することができる。
【００５２】
なお、ＰＬＣ２の具体的なハードウェア構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換、及び追加が可能である。例えば、制御部２１は、複数のプロセッサを含んでもよい。記憶部２２は、制御部２１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。記憶部２２は、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置により構成されてもよい。また、ＰＬＣ２は、提供されるサービス専用に設計された情報処理装置の他、制御する対象に応じて、デスクトップＰＣ、タブレットＰＣ等の汎用の情報処理装置に置き換えられてもよい。
【００５３】
＜プレス機＞
次に、図４を用いて、プレス機３のハードウェア構成の一例について説明する。図４は、本実施形態に係るプレス機３のハードウェア構成の一例を模式的に例示する。
【００５４】
本実施形態に係るプレス機３は、サーボドライバ３１、上側金型３２、下側金型３３、及び位置センサ３５を備えている。下側金型３３が固定されているのに対して、上側金型３２は、サーボモータ（不図示）によって、上下方向に移動可能に構成されている。位置センサ３５は、下側金型３３に対する上側金型３２の位置を計測するように構成される。これにより、上側金型３２は、その位置を制御されることで、下側金型３３にワークを押し付けて、ワークの成形を行ったり、下側金型３３から離れたりすることができる。サーボドライバ３１は、ＰＬＣ２からの指令値に基づいて、上側金型３２のサーボモータを駆動するように構成される。本実施形態において、上側金型３２を駆動するサーボモータの電圧が操作量の一例であり、上側金型３２の位置が制御量の一例である。
【００５５】
ただし、プレス機３の構成は、このような例に限定されなくてもよい。プレス機３の構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換、及び追加が可能である。例えば、上側金型３２及び下側金型３３の両方が移動可能に構成されてもよい。また、位置センサ３５の配置は、図４の例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。位置センサ３５の種類は、上側金型３２と下側金型３３との間の距離を測定可能であれば、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。位置センサ３５には、公知のセンサが利用されてもよい。
【００５６】
次に、図５Ａ〜図５Ｄを用いて、プレス機３における生産工程の一例を模式的に例示する。プレス機３は、生産ラインに適宜配置されてよい。図５Ａに示されるとおり、初期状態では、上側金型３２は、下側金型３３から離れた待機位置に配置され、下側金型３３にワーク４０が搬送されるまで待機する。ワーク４０は、例えば、金属製の板材である。ただし、ワーク４０の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ワーク４０は、例えば、製品の原料、加工前の物、組み立て前の部品等であってよい。
【００５７】
下側金型３３の所定の位置にワーク４０が配置された後、プレス機３は、図５Ｂに示されるとおり、サーボドライバ３１により上側金型３２のサーボモータを駆動し、上側金型３２を成形開始位置に配置する。成形開始位置は、例えば、上側金型３２の先端がワーク４０に接触する又はその直前の位置である。
【００５８】
そして、プレス機３は、図５Ｃに示されるとおり、サーボドライバ３１により上側金型３２のサーボモータを更に駆動し、上側金型３２を目標位置（下死点）まで移動させ、上側金型３２及び下側金型３３によりワーク４０の成形を行う。これにより、プレス機３は、ワーク４０から製品４１を生産することができる。なお、この製品４１は、ワーク４０に対してプレス機３が生産処理を行うことで得られる物であれば特に限定されなくてもよく、最終品であってもよいし、中間品（加工途中のもの）であってもよい。
【００５９】
成形が完了した後、プレス機３は、図５Ｄに示されるとおり、サーボドライバ３１により上側金型３２のサーボモータを駆動し、上側金型３２を待機位置まで移動させる。そして、ワーク４０を成形することで得られた製品４１をベルトコンベア（不図示）等によりプレス機３から搬送する。これにより、ワーク４０から製品４１を生産する生産工程の一連の動作が完了する。ＰＬＣ２は、この一連の生産工程をプレス機３に実行させるように、位置センサ３５により得られる上側金型３２の位置の計測値及び目標値から指令値を決定し、決定された指令値をサーボドライバ３１に与えることで、プレス機３の動作を制御する。
【００６０】
［ソフトウェア構成］
＜予測制御開発装置＞
次に、図６を用いて、本実施形態に係る予測制御開発装置１のソフトウェア構成の一例について説明する。図６は、本実施形態に係る予測制御開発装置１のソフトウェア構成の一例を模式的に例示する。
【００６１】
予測制御開発装置１の制御部１１は、記憶部１２に記憶された予測制御開発プログラム８１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開された予測制御開発プログラム８１をＣＰＵにより解釈及び実行して、予測制御開発プログラム８１に含まれる一連の命令群に基づいて、各構成要素を制御する。これによって、図６に示されるとおり、本実施形態に係る予測制御開発装置１は、第１取得部１１１、モデル生成部１１２、モデル提供部１１３、補正量指定部１１４、第２取得部１１５、モデル評価部１１６、及び出力部１１７をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部１１（ＣＰＵ）により実現される。
【００６２】
第１取得部１１１は、コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第１時系列データ２２３を取得する。モデル生成部１１２は、取得された第１時系列データ２２３を分析することで、制御量の予測モデル５０を生成し、生成された予測モデル５０を示す生成結果データ１２５を生成する。本実施形態では、コントローラはＰＬＣ２であり、制御対象装置はプレス機３である。
【００６３】
モデル提供部１１３は、生成結果データ１２５をコントローラに配信することで、生成された予測モデル５０をコントローラに提供する。これにより、モデル提供部１１３は、コントローラに、予測モデル５０により予測される制御量の予測値に応じて各指令値を補正させ、かつ補正された各指令値を制御対象装置に与えることにより当該制御対象装置の動作を制御させる。補正量指定部１１４は、コントローラに、各指令値に対する補正の量を指定する。
【００６４】
第２取得部１１５は、コントローラが、補正された各指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第２時系列データ２２５を取得する。モデル評価部１１６は、予測モデル５０により予測される制御量の予測値及び第２時系列データ２２５により示される制御量の値の差に基づいて、予測モデル５０による予測の精度が許容されるか否かを評価する。出力部１１７は、予測モデル５０により予測される制御量の予測値及び第２時系列データ２２５により示される制御量の値を表示装置１５に表示させる。
【００６５】
予測モデル５０による予測の精度が許容されないと評価された場合、モデル生成部１１２は、取得された第２時系列データ２２５を分析することで、制御量の予測モデル５０を再度生成する。これにより、モデル生成部１１２は、生成結果データ１２５を更新する。モデル提供部１１３は、更新された生成結果データ１２５をコントローラに配信することで、再度生成された予測モデル５０をコントローラに提供する。これにより、モデル提供部１１３は、コントローラの保持する予測モデル５０を更新する。
【００６６】
予測モデル５０は、第１時刻における制御量の値（計測値又は予測値）から第１時刻より未来の第２時刻における制御量の予測値を予測するように構成される。つまり、予測モデル５０は、第１時刻における制御量の値の入力に対して、第２時刻における制御量の予測値を出力するように構成される。予測モデル５０の入力には、１時刻の値が用いられてもよいし、過去の所定の時間区間内の複数の値が用いられてもよい。また、予測モデル５０の入力には、制御量の値以外のデータが更に用いられてもよい。制御量の値以外のデータとして、例えば、操作量の値、ワーク４０の個体情報等が予測モデル５０に入力されてよい。
【００６７】
予測モデル５０は、制御量の入力値から予測値を算出するための演算パラメータを含むように構成される。このような予測モデル５０の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。予測モデル５０は、例えば、自己回帰モデル等の回帰モデルにより構成されてもよいし、例えば、ニューラルネットワーク等の機械学習モデルにより構成されてもよい。自己回帰モデルは、自己回帰係数を含む１又は複数の項を総和する回帰式により表現される。この自己回帰モデルにより予測モデル５０が構成される場合、演算パラメータの一例は、当該自己回帰モデルの各項における自己回帰係数等である。また、ニューラルネットワークは、１又は複数のニューロン（ノード）を含む１又は複数の層を備える。複数の層を備える場合、典型的には、入力側から出力側に各層は配置され、隣接する層に含まれるニューロン同士は適宜結合される。各結合には重み（結合荷重）が設定される。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。このニューラルネットワークにより予測モデル５０が構成される場合、演算パラメータの一例は、例えば、各ニューロン間の結合の重み、各ニューロンの閾値等である。
【００６８】
この予測モデル５０を生成するために、時系列データを分析する方法は、特に限定されなくてもよく、予測モデル５０の種類に応じて適宜選択されてよい。予測モデル５０が自己回帰モデルにより構成される場合、モデル生成部１１２は、最小二乗法等の公知の回帰分析方法により、各項における自己回帰係数等の演算パラメータを導出することで、予測モデル５０を生成してもよい。また、予測モデル５０がニューラルネットワーク等の機械学習モデルにより構成される場合、モデル生成部１１２は、誤差逆伝播法等の公知の機械学習方法により、各ニューロン間の結合の重み、各ニューロンの閾値等の演算パラメータを導出することで、予測モデル５０を生成してもよい。
【００６９】
＜ＰＬＣ＞
次に、図７を用いて、本実施形態に係るＰＬＣ２のソフトウェア構成の一例について説明する。図７は、本実施形態に係るＰＬＣ２のソフトウェア構成の一例を模式的に例示する。
【００７０】
ＰＬＣ２の制御部２１は、記憶部２２に記憶された制御プログラム８２をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開された制御プログラム８２をＣＰＵにより解釈及び実行して、制御プログラム８２に含まれる一連の命令群に基づいて、各構成要素を制御する。これによって、図７に示されるとおり、本実施形態に係るＰＬＣ２は、目標値取得部２１１、動作制御部２１２、補正処理部２１３、及びデータ収集部２１４をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部２１（ＣＰＵ）により実現される。
【００７１】
目標値取得部２１１は、上記生産工程の動作等の所定の動作を制御対象装置に実行させる際に、制御対象装置の制御量の目標となる基礎目標値を取得する。本実施形態では、所定の動作における一連の基礎目標値は、目標値情報２２１により与えられる。目標値取得部２１１は、目標値情報２２１を参照することで、制御量の基礎目標値を取得する。
【００７２】
動作制御部２１２は、制御対象装置の制御量の計測値を取得する。そして、動作制御部２１２は、制御量の計測値及び指令目標値に基づいて指令値を決定し、決定された指令値を制御対象装置に与えることで、制御対象装置の動作を制御する。本実施形態の一例では、制御量は、上側金型３２の位置であり、操作量は、上側金型３２を駆動するサーボモータの電圧である。動作制御部２１２は、位置センサ３５により計測された上側金型３２の位置の計測値を取得し、取得された計測値及び指令目標値に基づいて指令値を決定する。そして、動作制御部２１２は、決定された指令値を操作量としてサーボドライバ３１に与えることで、プレス機３における上側金型３２の位置を制御する。
【００７３】
予測制御を実施しない場合、動作制御部２１２は、基礎目標値を指令目標値として利用し、基礎目標値及び計測値から指令値６０を決定する。他方、予測制御を実施する場合、補正処理部２１３が、予測モデル５０を利用して、指令値６０を補正する。本実施形態では、補正処理部２１３は、生成結果データ１２５を保持することで、予測モデル５０を含んでいる。また、補正処理部２１３は、制御量の予測値に応じて、基礎目標値を補正するように構成された補正器５５を含んでいる。補正器５５は、計算式等により表現された演算モジュールにより構成されてよい。
【００７４】
補正処理部２１３は、生成結果データ１２５を参照することで、予測制御開発装置１により生成された予測モデル５０を設定する。補正処理部２１３は、設定された予測モデル５０を利用して、制御量の計測値から予測値を算出する。次に、補正処理部２１３は、補正器５５を利用して、予測モデル５０により予測された予測値に応じて、基礎目標値を補正することで、補正済みの目標値６３を取得する。動作制御部２１２は、補正済みの目標値６３を指令目標値として利用し、補正済みの目標値６３及び計測値から指令値６５を決定する。すなわち、本実施形態では、補正処理部２１３は、制御量の基礎目標値を補正することで、制御対象装置に与える指令値を間接的に補正する。
【００７５】
制御対象装置の動作を制御する間、動作制御部２１２及び補正処理部２１３の上記一連の処理は繰り返される。動作制御部２１２は、指令値（６０、６５）を生成し、生成された指令値（６０、６５）を制御対象装置に与える処理を繰り返す。これにより、動作制御部２１２は、操作量の時系列データとして複数の指令値（６０、６５）を制御対象装置に与えることで、所定の動作を実行するように制御対象装置を制御する。なお、繰り返すタイミング及び一度に生成する指令値（６０、６５）の数はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。動作制御部２１２は、例えば、制御周期毎に、上記処理を繰り返してもよい。
【００７６】
図７では、時刻ｔの指令値を決定する場面が例示されている。動作制御部２１２は、時刻ｔよりも前の時刻である時刻（ｔ−ａ）に計測された制御量の計測値Ｙ（ｔ−ａ）を取得する。予測間隔ａは、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。予測間隔ａは、例えば、制御周期の整数倍（１以上）と一致してもよいし、制御周期とは無関係であってもよい。予測間隔ａは、例えば、制御量を計測するセンサ（例えば、位置センサ３５）に依存してもよい。予測制御を実施しない場合、動作制御部２１２は、時刻ｔに目標とする制御量の基礎目標値及び計測値Ｙ（ｔ−ａ）から指令値ｕ（ｔ）を決定し、決定された指令値ｕ（ｔ）を制御対象装置に与える。
【００７７】
予測制御を実施する場合、補正処理部２１３は、予測モデル５０を利用して、計測値Ｙ（ｔ−ａ）から時刻ｔにおける制御量の予測値Ｐ（ｔ）を予測する。続いて、補正処理部２１３は、補正器５５を利用して、予測値Ｐ（ｔ）に応じて、時刻ｔの基礎目標値を補正することで、補正済みの目標値６３を取得する。動作制御部２１２は、時刻ｔの補正済みの目標値６３及び計測値Ｙ（ｔ−ａ）から指令値Ｕ（ｔ）を決定し、決定された指令値Ｕ（ｔ）を制御対象装置に与える。
【００７８】
データ収集部２１４は、上記一連の処理により得られた制御量の計測値及び予測値を収集する。データ収集部２１４は、操作量の時系列データとして複数の指令値（６０、６５）を制御対象装置に与えることにより制御対象装置の動作を制御している間に得られた制御量の計測値を収集する。これにより、データ収集部２１４は、制御量の値の推移を示す第１時系列データ２２３を生成することができる。同様に、データ収集部２１４は、予測モデル５０を利用して導出された各指令値６５を制御対象装置に与えることにより制御対象装置の動作を制御している間に得られた制御量の計測値を収集する。これにより、データ収集部２１４は、制御量の値の推移を示す第２時系列データ２２５を生成することができる。また、データ収集部２１４は、各指令値６５を導出する際に、予測モデル５０により得られた予測値を収集する。これにより、データ収集部２１４は、予測制御の間に得られた一連の予測値を示す予測結果データ２２７を生成することができる。
【００７９】
＜その他＞
予測制御開発装置１及びＰＬＣ２の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、予測制御開発装置１及びＰＬＣ２の各ソフトウェアモジュールがいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、予測制御開発装置１及びＰＬＣ２それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【００８０】
§３  動作例
［ＰＬＣ］
次に、図８を用いて、本実施形態に係るＰＬＣ２の動作例について説明する。図８は、本実施形態に係るＰＬＣ２の処理手順の一例を示すフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。依存関係のない処理の順序は適宜入れ替えられてよい。
【００８１】
（ステップＳ１０１）
ステップＳ１０１では、制御部２１は、目標値取得部２１１として動作し、制御対象装置の制御量の目標となる基礎目標値を取得する。
【００８２】
本実施形態では、所定の動作における一連の基礎目標値を示す目標値情報２２１が記憶部２２に保持されている。目標値情報２２１は、所定の動作を制御対象装置に実行させることができるように適宜生成されてよい。例えば、実機又はシミュレーションにより制御対象装置に所定の動作を実行させた結果に基づいて、目標値情報２２１の各基礎目標値が決定されてよい。また、例えば、各基礎目標値は、オペレータの指定により与えられてもよい。制御部２１は、記憶部２２に記憶された目標値情報２２１を参照することで、制御量の基礎目標値を取得する。
【００８３】
ただし、基礎目標値を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御量の目標値は、他の情報処理装置からの指示により与えられてもよいし、オペレータの指定により与えられてもよい。また、例えば、目標値情報２２１は、外部記憶装置、記憶メディア等の他の記憶領域に保存されていてもよい。外部記憶装置は、例えば、ＮＡＳ（Network Attached Storage）等のデータサーバであってもよいし、ＰＬＣ２に接続される外付けの記憶装置であってもよい。記憶メディアは、例えば、ＣＤ、ＤＶＤ等であってよい。制御部２１は、他の記憶領域から適宜目標値情報２２１を取得してもよい。
【００８４】
本実施形態の一例では、制御対象装置は、プレス機３であり、制御量は、上側金型３２の位置である。この場合、目標値情報２２１の各基礎目標値は、上記生産工程によりワーク４０を成形する際における上側金型３２の目標の位置を示す。例えば、実機又はシミュレーションによりプレス機３に上記生産工程の動作を実行させた結果に基づいて、プレス不足等による不良が製品４１に生じないように、各時点における上側金型３２の位置を決定することで、目標値情報２２１の各基礎目標値は導出されてよい。制御量の基礎目標値を取得すると、制御部２１は、次のステップＳ１０２に処理を進める。
【００８５】
（ステップＳ１０２）
ステップＳ１０２では、制御部２１は、動作制御部２１２として動作し、制御対象装置の制御量の計測値を取得する。
【００８６】
制御量の計測には、センサが適宜利用されてよい。センサの種類は、特に限定されなくてもよく、制御対象装置及び制御量それぞれに応じて適宜選択されてよい。また、制御量の計測は、シミュレーション上で行われてもよいし、制御対象装置の実機を利用して行われてもよい。また、制御部２１は、制御量の計測値を、制御対象装置から直接的に取得してもよいし、例えば、外部記憶装置、記憶メディア、他の情報処理装置等を介して制御対象装置から間接的に取得してもよい。
【００８７】
本実施形態の一例では、プレス機３は、下側金型３３に対する上側金型３２の位置を計測するための位置センサ３５を備えている。制御部２１は、位置センサ３５により得られた上側金型３２の位置の計測値を取得する。制御量の計測値を取得すると、制御部２１は、次のステップＳ１０３に処理を進める。
【００８８】
（ステップＳ１０３）
ステップＳ１０３では、制御部２１は、動作制御部２１２として動作し、制御対象装置の予測制御を実施するか否かを判定する。本実施形態の一例では、制御部２１は、プレス機３における上側金型３２の位置の予測制御を実施するか否かを判定する。
【００８９】
制御対象装置の予測制御を実施するか否かは適宜決定されてよい。例えば、制御対象装置の予測制御を実施するか否かは、予測制御開発装置１等の他の情報処理装置又はオペレータの指示により決定されてもよい。この場合、制御部２１は、他の情報処理装置又はオペレータの指示に応じて、予測制御を実施するか否かを判定してもよい。
【００９０】
また、例えば、制御部２１は、予測モデル５０を保持しているか否かに応じて、予測制御を実施するか否かを判定してもよい。すなわち、制御部２１は、予測モデル５０を保持している場合に、予測制御を実施すると判定してもよく、予測モデル５０を保持していない場合に、予測制御を実施しないと判定してもよい。
【００９１】
予測制御を実施すると判定した場合、制御部２１は、次のステップＳ１０４に処理を進める。他方、予測制御を実施しないと判定した場合、制御部２１は、ステップＳ１０４及びステップＳ１０５の処理を省略して、次のステップＳ１０６に処理を進める。
【００９２】
（ステップＳ１０４）
ステップＳ１０４では、制御部２１は、補正処理部２１３として動作し、予測モデル５０を利用して、制御量の予測値を予測する。
【００９３】
本実施形態では、制御部２１は、生成結果データ１２５を参照することで、予測制御開発装置１により生成された予測モデル５０を設定する。生成結果データ１２５は、ステップＳ１０４の処理を実行する前の任意のタイミングでＰＬＣ２に配信されてよい。制御部２１は、設定された予測モデル５０に制御量の計測値を入力し、予測モデル５０の演算処理を実行する。これにより、制御部２１は、制御量の予測値を算出する。
【００９４】
例えば、予測モデル５０が自己回帰モデルにより構成される場合、生成結果データ１２５は、各項における自己回帰係数等の演算パラメータの値を示す。制御部２１は、生成結果データ１２５を参照して、予測モデル５０の回帰式の設定を行う。次に、制御部２１は、回帰式の各項に制御量の計測値を入力して、回帰式の演算処理を実行する。この演算結果により、制御部２１は、制御量の予測値を取得することができる。
【００９５】
また、例えば、予測モデル５０がニューラルネットワークにより構成される場合、生成結果データ１２５は、各ニューロン間の結合の重み、各ニューロンの閾値等の演算パラメータの値を示す。制御部２１は、生成結果データ１２５を参照して、学習済みのニューラルネットワークの設定を行う。次に、制御部２１は、ニューラルネットワークの入力層に制御量の計測値を入力し、入力側から順に各層に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、制御量を予測した結果に対応する出力値（すなわち、制御量の予測値）を出力層から取得することができる。
【００９６】
なお、予測モデル５０が、例えば、操作量の値、ワーク４０の個体情報等の制御量の値以外の他のデータを更に入力可能に構成されている場合、制御部２１は、ステップＳ１０４を実行する前に、他のデータを更に取得する。他のデータを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。制御部２１は、得られた他のデータを予測モデル５０に更に入力し、予測モデル５０の演算処理を実行することで、制御量の予測値を取得することができる。
【００９７】
本実施形態の一例では、制御部２１は、時間ａ後に予測される上側金型３２の位置を示す予測値を取得する。制御量の予測値を取得すると、制御部２１は、次のステップＳ１０５に処理を進める。
【００９８】
（ステップＳ１０５）
ステップＳ１０５では、制御部２１は、予測モデル５０により予測された予測値に応じて、基礎目標値を補正することで、補正済みの目標値６３を取得する。本実施形態では、基礎目標値の補正に補正器５５が利用される。補正器５５は、制御量の予測値に応じて、基礎目標値から補正済みの目標値６３を算出するように構成される。
【００９９】
この補正器５５は、例えば、制御量の予測値と補正量との関係を示す計算式等の演算モジュールにより構成されてよい。制御量の予測値と補正量との関係は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。予測モデル５０により得られる予測値が基礎目標値から乖離するということは、基礎目標値に基づいてそのまま制御対象装置を制御しても、外乱等の影響により、基礎目標値からずれた挙動で制御対象装置が動作することが予測されたことに相当し得る。そこで、制御量の予測値と補正量との関係は、例えば、制御量の予測値と基礎目標値との乖離を減らすように与えられてもよい。一例として、補正器５５は、基礎目標値よりも予測値が小さい場合には基礎目標値を大きな値に補正し、基礎目標値よりも予測値が大きい場合には基礎目標値を小さな値に補正するように構成されてよい。これにより、基礎目標値に沿う挙動で制御対象装置を動作させることができるように、制御量の目標値を補正することができる。このような制御量の予測値と補正量との関係は、例えば、以下の式１により与えられてもよい。
【０１００】
【数１】
2020135758.tif 000003
なお、Ｒ（ｔ）は、時刻ｔにおける補正量の値（補正値）を示す。ｒは、比例定数を示す。Ｅ（ｔ）は、時刻ｔにおける制御量の基礎目標値を示す。Ｐ（ｔ）は、時刻ｔにおける制御量の予測値を示す。ｓは、定数項を示す。
【０１０１】
この計算式では、比例定数ｒ及び定数項ｓの値により、補正の度合いが決定される。比例定数ｒ及び定数項ｓは、補正の度合いを定める重みの一例である。ｒ及びｓそれぞれの値は、後述するステップＳ２０４により決定されてよい。本実施形態では、補正器５５は、この計算式の演算モジュールにより構成されてよい。ただし、制御量の予測値と補正量との関係は、式１の例に限られなくてもよく、実施の形態に応じて適宜決定されてよい。また、補正器５５の構成は、上記の例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。
【０１０２】
制御部２１は、取得された制御量の予測値及び基礎目標値を式１の各項に代入し、式１の演算処理を実行することで、補正値Ｒ（ｔ）を算出する。すなわち、制御部２１は、基礎目標値と予測値との差分を算出し、算出された差分及び重みに基づいて、補正値Ｒ（ｔ）を決定する。具体的には、制御部２１は、算出された差分と比例定数ｒとの積を算出し、算出された積に定数項ｓを加えることにより、補正値Ｒ（ｔ）を算出する。そして、制御部２１は、基礎目標値に補正値Ｒ（ｔ）を加算することで、補正済みの目標値６３を算出することができる。この加算処理は、減算処理により実現されてもよい。補正済みの目標値６３を取得すると、制御部２１は、次のステップＳ１０６に処理を進める。
【０１０３】
（ステップＳ１０６）
ステップＳ１０６では、制御部２１は、動作制御部２１２として動作し、制御量の指令目標値に従って、指令値（操作量）を決定する。予測制御を実施する場面では、ステップＳ１０５により得られた補正済みの目標値６３が指令目標値として取り扱われる。他方、予測制御を実施しない場面、すなわち、通常の制御を実施する場面では、ステップＳ１０１により得られた制御量の基礎目標値がそのまま指令目標値として取り扱われる。
【０１０４】
指令値を決定する方法は、実施の形態に応じて適宜選択されてよい。指令値を決定する方法には、例えば、ＰＩＤ制御、ＰＩ制御等の公知の方法が採用されてよい。この場合、制御部２１は、設定された指令目標値と制御量の計測値との差分を算出し、算出された差分に応じて指令値を決定する。制御部２１は、決定された指令値を制御対象装置に与えることで、制御対象装置の動作を制御する。
【０１０５】
詳細には、予測制御を実施しない場合、制御部２１は、基礎目標値と計測値との差分に応じて指令値６０を決定し、決定された指令値６０を制御対象装置に与えることで、制御対象装置の動作を制御する。他方、予測制御を実施する場合、制御部２１は、補正された目標値６３と計測値との差分に応じて指令値６５を決定し、決定された指令値６５を制御対象装置に与えることで、制御対象装置の動作を制御する。
【０１０６】
本実施形態の一例では、指令値（６０、６５）は、上側金型３２を目標の位置に移動させるために、上側金型３２を駆動するサーボモータに加える電圧を示す。制御部２１は、この指令値（６０、６５）をサーボドライバ３１に与えることで、プレス機３における上側金型３２の位置を制御する。当該動作の制御は、シミュレーション上で行われてもよいし、制御対象装置の実機を利用して行われてもよい。指令値（６０、６５）により制御対象装置の動作を制御すると、制御部２１は、次のステップＳ１０７に処理を進める。
【０１０７】
（ステップＳ１０７）
ステップＳ１０７では、制御部２１は、データ収集部２１４として動作し、ステップＳ１０２により得られた制御量の計測値を所定の記憶領域に保存する。予測制御を実施した場合、制御部２１は、ステップＳ１０４により得られた制御量の予測値を更に所定の記憶領域に保存する。所定の記憶領域は、例えば、記憶部２２、外部記憶装置、記憶メディア等であってよい。計測値（及び予測値）を保存すると、制御部２１は、次のステップＳ１０８に処理を進める。
【０１０８】
（ステップＳ１０８）
ステップＳ１０８では、制御部２１は、動作制御部２１２として動作し、制御対象装置の制御を終了するか否かを判定する。
【０１０９】
制御対象装置の制御を終了するか否かは適宜決定されてよい。例えば、制御対象装置の制御を終了するか否かは、予測制御開発装置１等の他の情報処理装置又はオペレータの指示により決定されてもよい。この場合、制御部２１は、他の情報処理装置又はオペレータの指示に応じて、制御対象装置の制御を終了するか否かを判定してもよい。
【０１１０】
また、例えば、制御部２１は、上記生産工程によりワーク４０を成形する等の制御対象装置に実行させる一連の動作が完了したか否かに応じて、制御対象装置の制御を終了するか否かを判定してもよい。すなわち、制御部２１は、制御対象装置に実行させる一連の動作が完了した場合に、制御対象装置の制御を終了すると判定してもよい。この場合、制御部２１は、一連の動作が複数回繰り返し実行されたことに応じて、制御対象装置の制御を終了すると判定してもよい。また、制御部２１は、一連の動作を繰り返した時間が所定時間を経過したことに応じて、制御対象装置の制御を終了すると判定してもよい。他方、制御対象装置に実行させる一連の動作が完了していない場合に、制御部２１は、制御対象装置の制御を終了しないと判定してもよい。
【０１１１】
制御対象装置の制御を終了すると判定した場合、制御部２１は、本動作例に係る処理を終了する。一方、制御対象装置の制御を終了しない、換言すると、制御対象装置の制御を継続すると判定した場合、制御部２１は、ステップＳ１０１に戻り、ステップＳ１０１〜ステップＳ１０７の処理を繰り返す。
【０１１２】
ステップＳ１０１〜ステップＳ１０７の処理を繰り返す過程で、制御部２１は、操作量の時系列データとして複数の指令値（６０、６５）を制御対象装置に与えることにより、所定の動作を実行するように制御対象装置を制御する。本実施形態の一例では、プレス機３の実機を利用した制御を実施することで、成形された製品４１を生成することができる。なお、繰り返すタイミング及び一度に生成する指令値（６０、６５）の数はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。制御部２１は、例えば、制御周期毎に、ステップＳ１０１〜ステップＳ１０７の処理を繰り返してもよい。
【０１１３】
また、繰り返しの過程で、制御部２１は、ステップＳ１０７の処理により、制御量の計測値及び予測値を収集する。予測制御開発装置１により予測モデル５０を生成する場面において、制御部２１は、操作量の時系列データとして複数の指令値（６０、６５）を制御対象装置に与えることにより制御対象装置の動作を制御している間に得られた制御量の計測値を収集する。これにより、制御部２１は、時系列に沿って制御量の値の推移を示す第１時系列データ２２３を生成することができる。
【０１１４】
同様に、予測制御開発装置１により生成された予測モデル５０の予測精度を検証する場面において、制御部２１は、生成された予測モデル５０を利用して導出された各指令値６５を制御対象装置に与えることにより制御対象装置の動作を制御している間に得られた制御量の計測値を収集する。これにより、制御部２１は、時系列に沿って制御量の値の推移を示す第２時系列データ２２５を生成することができる。更に、この場面において、制御部２１は、ステップＳ１０４により算出された制御量の予測値を収集する。これにより、制御部２１は、予測制御の間に得られた制御量の一連の予測値を時系列に沿って示す予測結果データ２２７を生成することができる。
【０１１５】
なお、上記一連の処理が完了した後、又はステップＳ１０１〜ステップＳ１０７の処理を繰り返す間に、制御部２１は、制御対象装置を正常に動作させた際における制御量の計測値を収集してもよい。本実施形態の一例では、制御部２１は、製品４１に不良の生じなかった際における上側金型３２の一連の位置の計測値を収集してもよい。そして、制御部２１は、収集された各計測値に基づいて、各基礎目標値を修正することで、目標値情報２２１を更新してもよい。例えば、制御部２１は、各基礎目標値と対応する時点における計測値との乖離を減らすように、各基礎目標値を修正してもよい。また、例えば、制御部２１は、収集された各計測値を新たな基礎目標値に設定することで、目標値情報２２１を更新してもよい。
【０１１６】
［予測制御開発装置］
次に、図９を用いて、本実施形態に係る予測制御開発装置１の動作例について説明する。図９は、本実施形態に係る予測制御開発装置１の処理手順の一例を示すフローチャートである。以下で説明する予測制御開発装置１の処理手順は、本発明の「予測制御開発方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。依存関係のない処理の順序は適宜入れ替えられてよい。
【０１１７】
（ステップＳ２０１）
ステップＳ２０１では、制御部１１は、第１取得部１１１として動作し、コントローラが、操作量の時系列データとして複数の指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第１時系列データ２２３を取得する。
【０１１８】
本実施形態では、制御部１１は、ＰＬＣ２から第１時系列データ２２３を取得することができる。制御部１１は、第１時系列データ２２３をＰＬＣ２から直接的に取得してもよいし、例えば、外部記憶装置、記憶媒体９１等を介してＰＬＣ２から間接的に取得してもよい。ただし、第１時系列データ２２３の取得先は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、第１時系列データ２２３は、ＰＬＣ２以外の他の情報処理装置により生成されてよい。この場合、制御部１１は、第１時系列データ２２３を他の情報処理装置から取得してもよい。
【０１１９】
上記のとおり、第１時系列データ２２３は、予測制御ではない通常の制御により制御対象装置を動作させることで得られたものであってもよいし、予測制御により制御対象装置を動作させることで得られたものであってもよい。第１時系列データ２２３が予測制御により得られたものである場合、ＰＬＣ２には、本ステップＳ２０１よりも前に生成された予測モデルが予め与えられる。予め与えられる予測モデルは、以下のステップＳ２０２以降の処理により生成される予測モデル５０と同様の方法で予測制御開発装置１により生成されたものであってもよいし、他の情報処理装置により生成されたものであってもよい。
【０１２０】
本実施形態の一例では、第１時系列データ２２３は、複数の指令値（６０、６５）をサーボドライバ３１に与えることで、ＰＬＣ２がプレス機３の動作を制御している間における、上側金型３２の位置の計測値を時系列に沿って示す。第１時系列データ２２３を取得すると、制御部１１は、次のステップＳ２０２に処理を進める。
【０１２１】
（ステップＳ２０２）
ステップＳ２０２では、制御部１１は、モデル生成部１１２として動作し、取得された第１時系列データ２２３を分析することで、制御量の予測モデル５０を生成し、生成された予測モデル５０を示す生成結果データ１２５を生成する。
【０１２２】
予測モデル５０を生成するために、時系列データを分析する方法は、特に限定されなくてもよく、予測モデル５０の種類に応じて適宜選択されてよい。本実施形態では、予測モデル５０は、制御量の入力値から予測値を算出するための演算パラメータを含むように構成される。制御部１１は、第１時系列データ２２３を分析して、演算パラメータの値を導出することで、予測モデル５０を生成する。
【０１２３】
例えば、予測モデル５０が自己回帰モデルにより構成される場合、制御部１１は、最小二乗法等の公知の回帰分析方法により、自己回帰係数等の演算パラメータの値を第１時系列データ２２３から導出する。これにより、制御部１１は、予測モデル５０を生成することができる。制御部１１は、各項において導出された自己回帰係数を含む回帰式を示すデータを生成結果データ１２５として生成する。
【０１２４】
また、例えば、予測モデル５０がニューラルネットワーク等の機械学習モデルにより構成される場合、制御部１１は、第１時系列データ２２３を学習データとして利用し、公知の機械学習方法により、機械学習モデルの演算パラメータの値を導出する。一例として、予測モデル５０がニューラルネットワークにより構成される場合、制御部１１は、第１時系列データ２２３の任意の時刻におけるサンプルを訓練データとして利用し、任意の時刻よりも未来の時刻におけるサンプルを教師データとして利用して、予測モデル５０の機械学習を実行する。具体的には、制御部１１は、誤差逆伝播法により演算パラメータの値を調整することで、訓練データの入力に対して教師データに適合する出力値を出力するように予測モデル５０を訓練する。これにより、制御部１１は、予測モデル５０を生成することができる。制御部１１は、導出された演算パラメータの値及び予測モデル５０の構造（例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等）を示すデータを生成結果データ１２５として生成する。
【０１２５】
予測モデル５０が、例えば、操作量の値、ワーク４０の個体情報等の制御量の値以外のデータを更に入力可能に構成される場合、制御部１１は、他のデータを更に取得する。他のデータを取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。制御部１１は、上記の分析において、得られた他のデータを更に利用する。例えば、予測モデル５０が自己回帰モデルにより構成される場合、制御部１１は、自己回帰係数の導出に、得られた他のデータを更に利用する。また、例えば、予測モデル５０がニューラルネットワークにより構成される場合、制御部１１は、上記機械学習の処理において、得られた他のデータを訓練データとして更に利用する。これにより、制御部１１は、制御量の値及び制御量の値以外のデータの入力に対して、制御量の予測値を出力するように構成された予測モデル５０を生成することができる。
【０１２６】
一例では、本ステップＳ２０２の処理により、予測モデル５０は、プレス機３における上側金型３２の位置を予測するように構成される。なお、制御部１１は、第１時系列データ２２３のうち不要な部分を削除してもよい。予測モデル５０を生成すると、制御部１１は、次のステップＳ２０３に処理を進める。
【０１２７】
（ステップＳ２０３）
ステップＳ２０３では、制御部１１は、モデル提供部１１３として動作することで、生成結果データ１２５をコントローラに配信することで、生成された予測モデル５０をコントローラに提供する。
【０１２８】
生成結果データ１２５を配信する方法は、実施の形態に応じて適宜決定されてよい。例えば、制御部１１は、自身の処理又はコントローラからの要求に応じて、ネットワークを介して生成結果データ１２５をコントローラに直接的に配信してもよい。また、例えば、制御部１１は、データサーバ等の外部機構装置に生成結果データ１２５を送信し、コントローラに対して、外部記憶装置に保存された生成結果データ１２５を取得させるようにしてもよい。同様に、制御部１１は、例えば、記憶媒体９１等の記憶メディアに生成結果データ１２５を保存し、コントローラに対して、記憶メディアに保存された生成結果データ１２５を取得させるようにしてもよい。このように、制御部１１は、コントローラに生成結果データ１２５を間接的に配信してもよい。
【０１２９】
これにより、コントローラは、予測モデル５０により予測される制御量の予測値に応じて各指令値を補正させ、かつ補正された各指令値を制御対象装置に与えることにより、制御対象装置の予測制御を実行することができるようになる。本実施形態の一例では、生成された予測モデル５０はＰＬＣ２に提供される。ＰＬＣ２は、上記ステップＳ１０４〜ステップＳ１０６の処理により、提供された予測モデル５０を利用して、プレス機３の予測制御を実行することができるようになる。生成された予測モデル５０をコントローラに提供すると、制御部１１は、次のステップＳ２０４に処理を進める。
【０１３０】
（ステップＳ２０４）
ステップＳ２０４では、制御部１１は、補正量指定部１１４として動作し、コントローラに、各指令値に対する補正量を指定する。補正量を指定する方法は、予測制御において指令値を補正する方法に応じて適宜決定されてよい。本実施形態の一例では、指令値に対する補正の度合いは、上記式１の比例定数ｒ及び定数項ｓの値に応じて決定される。そのため、制御部１１は、比例定数ｒ及び定数項ｓの少なくともいずれかの値を定めることで、各指令値に対する補正量を指定する。これにより、ＰＬＣ２は、予測制御開発装置１により指定された補正量に従った、プレス機３の予測制御における指令値の補正を実行することができるようになる。
【０１３１】
なお、補正量の値（本実施形態では、比例定数ｒ及び定数項ｓの少なくともいずれかの値）を決定する方法は、実施の形態に応じて適宜選択されてよい。補正量の値は、例えば、オペレータの指定により手動的に決定されてもよい。この場合、制御部１１は、入力装置１４を介してオペレータの指定を受け付け、オペレータの指定に応じて、補正量の値を決定してもよい。また、例えば、制御部１１は、テンプレート等に応じて、補正量の値を自動的に決定してもよい。補正量を指定すると、制御部１１は、次のステップＳ２０５に処理を進める。
【０１３２】
（ステップＳ２０５）
ステップＳ２０５では、制御部１１は、第２取得部１１５として動作し、コントローラが、補正された各指令値を制御対象装置に与えることにより制御対象装置を制御している間における、制御対象装置の制御量の値の推移を示す第２時系列データ２２５を取得する。
【０１３３】
本実施形態では、第１時系列データ２２３と同様に、制御部１１は、ＰＬＣ２から第２時系列データ２２５を取得することができる。制御部１１は、第２時系列データ２２５をＰＬＣ２から直接的に取得してもよいし、例えば、外部記憶装置、記憶媒体９１等を介してＰＬＣ２から間接的に取得してもよい。また、第２時系列データ２２５は、ＰＬＣ２以外の他の情報処理装置により生成されてよい。この場合、制御部１１は、第２時系列データ２２５を他の情報処理装置から取得してもよい。
【０１３４】
一例では、第２時系列データ２２５は、予測モデル５０を利用して導出された各指令値６５をサーボドライバ３１に与えることで、ＰＬＣ２がプレス機３の動作を予測制御している間における、上側金型３２の位置の計測値を時系列に沿って示す。第２時系列データ２２５を取得すると、制御部１１は、次のステップＳ２０６に処理を進める。
【０１３５】
（ステップＳ２０６及びステップＳ２０７）
ステップＳ２０６では、制御部１１は、予測モデル５０により予測される制御量の予測値及び第２時系列データ２２５により示される制御量の値の差に基づいて、予測モデル５０による予測の精度が許容されるか否かを評価する。ステップＳ２０７では、制御部１１は、出力部１１７として動作し、予測モデル５０による予測の精度の評価に関する情報を表示装置１５に表示させる。評価に関する情報は、予測モデル５０により予測される制御量の予測値及び第２時系列データ２２５により示される制御量の値を含んでもよい。
【０１３６】
本実施形態では、ＰＬＣ２の上記ステップＳ１０７の処理により、予測制御を実行する過程において、各時点で予測された制御量の予測値を示す予測結果データ２２７が生成される。そのため、制御部１１は、予測モデル５０により予測される制御量の予測値を示す情報として、予測結果データ２２７をＰＬＣ２から取得することができる。ただし、予測値を取得する方法は、このような例に限定されなくてもよい。例えば、制御部１１は、第２時系列データ２２５により示される制御量の各値を予測モデル５０に入力し、予測モデル５０の演算処理を実行することで、制御量の予測値を取得してもよい。
【０１３７】
また、予測モデル５０による予測の精度を評価する方法は、実施の形態に応じて適宜決定されてよい。本実施形態では、対応する時刻における制御量の予測値と計測値とが乖離するほど、予測モデル５０による予測の精度が悪いと評価することができる。そこで、ステップＳ２０６では、制御部１１は、予測結果データ２２７により示される制御量の予測値と第２時系列データ２２５により示される制御量の計測値との相違の程度を算出し、算出された相違の程度と閾値とを比較してもよい。閾値は、適宜決定されてよい。そして、制御部１１は、算出された相違の程度が閾値を超えている場合に、予測モデル５０による予測の精度が許容されないと評価し、そうではない場合に、予測モデル５０による予測の精度が許容されると評価してもよい。相違の程度は、例えば、差分の合計値、相違の比率等により表現されてよい。これにより、制御部１１は、予測モデル５０による予測の精度が許容されるか否かを自動的に評価してもよい。なお、この場合、制御部１１は、ステップＳ２０６の前及び後のいずれのタイミングで、ステップＳ２０７の処理を実行してもよい。
【０１３８】
また、例えば、制御部１１は、ステップＳ２０６を実行する前に、ステップＳ２０７の処理を実行して、予測モデル５０による予測の精度の評価に関する情報を表示装置１５に出力してもよい。当該情報は、予測モデル５０により予測される制御量の予測値及び第２時系列データ２２５により示される制御量の計測値を含んでもよい。また、当該情報は、予測結果データ２２７により示される制御量の予測値と第２時系列データ２２５により示される制御量の計測値との相違の程度を算出した結果を含んでもよい。これに応じて、制御部１１は、ステップＳ２０６の処理において、入力装置１４を介して、予測モデル５０による予測の精度が許容されるか否かに対するオペレータの入力を受け付けてもよい。この場合、制御部１１は、オペレータの入力に応じて、予測モデル５０による予測の精度が許容されるか否かを評価することができる。このように、予測モデル５０による予測の精度が許容されるか否かは手動で評価されてもよい。
【０１３９】
図１０は、ステップＳ２０７により表示装置１５に出力される画面１５０の一例を模式的に例示する。画面１５０は、複数の領域（１５０１、１５０２、１５０７、１５０８）に分けられている。領域１５０１には、予測モデル５０により予測される制御量の予測値及び第２時系列データ２２５により示される制御量の計測値が時系列に沿って表示される。領域１５０２には、制御量の予測値と計測値との相違の程度を算出した結果に関する情報が表示される。図１０の例では、相違の程度を算出した結果に関する情報として予測モデル５０による予測の精度の値が領域１５０２に表示される。
【０１４０】
領域１５０７には、制御対象（例えば、上側金型３２を駆動するサーボモータ）に対応する変数のリストが表示される。領域１５０７から変数が選択されると、選択された変数に対応する制御対象に関する情報が領域１５０１及び領域１５０２に表示される。領域１５０８には、予測モデル５０を生成するプロジェクトの一覧が表示される。プロジェクトは、生産ライン、制御対象装置等の制御単位毎に生成されてよい。領域１５０８からプロジェクトが選択されると、選択されたプロジェクトに関する情報が各領域（１５０１、１５０２、１５０７）に表示される。
【０１４１】
また、画面１５０は、複数のボタン１５０３〜１５０６を含む。ボタン１５０３は、ステップＳ２０２又は後述するステップＳ２０９により、予測モデル５０を生成するために利用される。ボタン１５０４は、生成された予測モデル５０による予測の精度を検証する、すなわち、ステップＳ２０５及びステップＳ２０６の処理を実行するために利用される。予測モデル５０が生成された後、ボタン１５０３は、予測モデル５０による予測の精度が許容されないことを受け付けるために利用されてよい。
【０１４２】
また、一対のボタン（１５０５、１５０６）は、予測モデル５０の一連の検証処理を実行するモードの切り替えに利用される。本実施形態では、予測モデル５０の一連の検証処理を実行するモードとして、オフライン検証及びオンライン検証の２つのモードが用意される。オフライン検証は、第２時系列データ２２５及び予測結果データ２２７をＰＬＣ２から収集した後に、ステップＳ２０５及びステップＳ２０６の処理を実行して、予測モデル５０による予測の精度を検証するモードである。一方、オンライン検証は、ＰＬＣ２に接続して、第２時系列データ２２５及び予測結果データ２２７をＰＬＣ２からリアルタイムに収集しながら、ステップＳ２０５及びステップＳ２０６の処理を実行して、予測モデル５０による予測の精度を検証するモードである。制御部１１は、一対のボタン（１５０５、１５０６）による選択に応じて、オフライン検証及びオンライン検証のいずれかのモードで、ステップＳ２０５及びステップＳ２０６の処理を実行する。
【０１４３】
一例では、制御部１１は、ＰＬＣ２によるプレス機３の予測制御において、予測モデル５０による上側金型３２の位置の予測の精度が許容されるか否かを評価する。予測モデル５０による予測の精度を評価し、当該評価に関する情報を表示装置１５に出力すると、制御部１１は、次のステップＳ２０８に処理を進める。
【０１４４】
（ステップＳ２０８）
ステップＳ２０８では、制御部１１は、ステップＳ２０６の評価結果に基づいて、処理の分岐先を決定する。ステップＳ２０６において、予測モデル５０による予測の精度が許容されないと評価された場合、制御部１１は、次のステップＳ２０９に処理を進める。他方、ステップＳ２０６において、予測モデル５０による予測の精度が許容されると評価された場合には、制御部１１は、本動作例に係る処理を終了する。
【０１４５】
（ステップＳ２０９）
ステップＳ２０９では、制御部１１は、モデル生成部１１２として動作し、取得された第２時系列データ２２５を分析することで、制御量の予測モデル５０を再度生成する。制御部１１は、上記ステップＳ２０２と同様の処理により、第２時系列データ２２５を利用して、新たな予測モデル５０を生成する。そして、制御部１１は、生成された新たな予測モデル５０を示すように生成結果データ１２５を更新する。なお、制御部１１は、第２時系列データ２２５のうち不要な部分を削除してもよい。
【０１４６】
予測モデル５０を更新すると、制御部１１は、ステップＳ２０３に戻り、ステップＳ２０３〜ステップＳ２０７の処理を繰り返す。ステップＳ２０３では、制御部１１は、モデル提供部１１３として動作し、更新された生成結果データ１２５をコントローラに配信することで、再度生成された予測モデル５０をコントローラに提供する。これにより、制御部１１は、コントローラの保持する予測モデル５０を更新する。
【０１４７】
これに応じて、コントローラは、更新された予測モデル５０を利用して、制御対象装置の予測制御を実行することができるようになる。ステップＳ２０５では、制御部１１は、更新された予測モデル５０を利用した予測制御に関する第２時系列データ２２５を取得する。ステップＳ２０６では、制御部１１は、更新された予測モデル５０による予測の精度が許容されるか否かを評価する。予測モデル５０による予測の精度が許容されるまで、この予測モデル５０の生成及び評価の一連の処理が繰り返されてよい。
【０１４８】
なお、基本的には、予測モデル５０の生成を繰り返す度に、生成される予測モデル５０による予測の精度は向上すると想定される。そこで、予測モデル５０の生成を繰り返す場合、制御部１１は、ステップＳ２０４の処理により、予測モデル５０が更新される度に、補正量が大きくなるように当該補正量の値を決定してもよい。例えば、制御部１１は、予測モデル５０を更新する度に、補正量の値に所定の値を加える又は掛けることで、補正量の値を大きくしてもよい。所定の値及び補正量の初期値はそれぞれ適宜与えられてよい。所定の値及び補正量の初期値は、例えば、オペレータの指定等による手動で決定されてもよいし、テンプレート等により自動的に決定されてもよい。これにより、予測モデル５０を利用した予測制御の程度を徐々に高めていきながら、予測モデル５０による予測の精度の向上を図り、制御対象装置の動作を適切に制御することができるように、当該予測制御を最適化することができる。
【０１４９】
［特徴］
以上のとおり、本実施形態に係る予測制御開発装置１は、予測モデル５０がコントローラに提供された後、ステップＳ２０５及びステップＳ２０６により、この予測モデル５０による予測の精度を検証することができる。そして、その検証の結果、予測モデル５０による予測の精度が予測制御の利用に許容されない場合には、予測制御開発装置１は、ステップＳ２０９により、予測モデル５０を提供した環境下で新たに得られた第２時系列データ２２５に基づいて新たな予測モデル５０を生成する。予測制御開発装置１は、この一連の処理を繰り返すことで、制御対象装置を運用する環境下で、予測モデル５０による予測の精度を改善することができる。
【０１５０】
この一連の処理の繰り返しによる予測モデル５０の改善は、制御対象装置を実運用する前に実行されてもよいし、制御対象装置を実運用しながら実行されてもよい。つまり、本実施形態に係る予測制御開発装置１は、予測モデル５０を実運用しながらであっても、当該予測モデル５０の予測精度を改善し続けることができる。したがって、本実施形態に係る予測制御開発装置１によれば、大規模な生産装置は勿論のこと、プレス機３のような比較的に小規模な生産装置を制御対象装置とする場合でも、制御量を高精度に予測可能な予測モデル５０を生成することができる。本実施形態の一例では、プレス機３を含む工場プロセスを最適化し、生産される製品４１に不良が生じる可能性を低減することができる。
【０１５１】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０１５２】
＜４．１＞
上記実施形態において、制御対象装置の数は、１つに限られなくてもよく、実施の形態に応じて適宜決定されてよい。また、上記実施形態の一例では、制御対象装置はプレス機３である。しかしながら、制御対象装置の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。制御対象装置は、プレス機の他、例えば、例えば、ウェブ搬送装置、射出成形機、ＮＣ旋盤、放電加工機、包装機等の生産ラインで利用される比較的に小規模な生産装置であってもよい。この比較的に小規模な生産装置の動作は、例えば、ＰＬＣに代表される小規模な制御装置によって制御されてよい。また、上記実施形態の一例では、制御量は、上側金型３２の位置であり、操作量は、上側金型３２を駆動するサーボモータの電圧である。しかしながら、制御量及び操作量はそれぞれ、このような例に限定されなくてもよく、制御対象装置に応じて適宜選択されてよい。
【０１５３】
図１１は、本変形例に係る予測制御システム１００Ａの適用場面の一例を模式的に例示する。予測制御システム１００Ａは、上記実施形態に係る予測制御システム１００と同様に、予測制御開発装置１及びＰＬＣ２を備えている。本変形例では、ＰＬＣ２には、プレス機３に代えて、ウェブ搬送装置７が接続されている。この点を除き、本変形例は、上記実施形態と同様に構成される。ウェブ搬送装置７は、制御対象装置の他の一例である。ウェブ搬送装置７は、ウェブ７０の端部の位置を調節しながら、当該ウェブ７０を搬送するように構成されている。
【０１５４】
図１２を更に用いて、ウェブ搬送装置７の構成の一例について説明する。図１２は、ウェブ搬送装置７においてウェブ７０の端部の位置を調節する場面を模式的に例示する。図１１に示されるとおり、本変形例に係るウェブ搬送装置７は、ウェブ７０を供給する供給ロール７１、及び供給されたウェブ７０を回収する回収ロール７６を備えている。ウェブ７０の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ウェブ７０は、例えば、ポリエチレンフィルム等の樹脂フィルムであってよい。供給ロール７１及び回収ロール７６の回転軸にはそれぞれサーボモータ（７１１、７６１）が取り付けられている。これにより、各サーボモータ（７１１、７６１）を駆動することで、回収ロール７６からウェブ７０が繰り出され、供給されたウェブ７０が回収ロール７６に巻き取られる。
【０１５５】
供給ロール７１及び回収ロール７６の間には、３つの従動ローラ（７２、７３、７４１）が配置されている。これらのうち従動ローラ７４１において、ウェブ７０の端部の位置を修正する（すなわち、変位させる）ように構成された修正装置７４が設けられている。図１２に示されるとおり、修正装置７４は、従動ローラ７４１及びアクチュエータ７４３を備えている。従動ローラ７４１は、軸７４２を有し、ウェブ７０を搬送するように軸７４２の周りに回転可能に構成されている。また、軸７４２にはアクチュエータ７４３が取り付けられており、従動ローラ７４１は、このアクチュエータ７４３の駆動により、軸方向にスライド可能に構成されている。この修正装置７４によれば、アクチュエータ７４３の駆動により、従動ローラ７４１を軸方向にスライドさせることで、ウェブ７０の端部の位置を修正することができる。具体的には、従動ローラ７４１をスライドさせた方向に、スライドさせた分に応じて、ウェブ７０の端部の位置を変位させることができる。
【０１５６】
修正装置７４付近には、エッジセンサ７５が配置されている。本実施形態では、エッジセンサ７５は、ウェブ７０の搬送方向に対して、修正装置７４を備える従動ローラ７４１より回収ロール７６側に配置されている。エッジセンサ７５は、搬送されるウェブ７０の端部の位置を検出するように構成される。エッジセンサ７５の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。図１２の例では、エッジセンサ７５は、光学センサであり、コの字型の間を通過するウェブ７０の端部の位置を測定可能に構成されている。
【０１５７】
以上により、本実施形態に係るウェブ搬送装置７は、ウェブ７０の端部の位置を調節しながら、当該ウェブ７０を搬送するように構成されている。ただし、ウェブ搬送装置７の構成は、このような例に限定されなくてもよい。ウェブ搬送装置７の構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換、及び追加が可能である。例えば、従動ローラの数は、３つに限られなくてもよい。また、修正装置７４の配置は、図１１の例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。修正装置７４の種類は、図１２の例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。修正装置７４の構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換、及び追加が可能である。
【０１５８】
本変形例において、ＰＬＣ２は、各ロール（７１、７６）の各サーボモータ（７１１、７６１）を操作することで、ウェブ７０の搬送速度を制御することができる。そのため、各サーボモータ（７１１、７６１）の電圧が操作量として取り扱われ、ウェブ７０の搬送速度が制御量として取り扱われてもよい。すなわち、予測制御開発装置１は、上記処理手順により、ウェブ７０の搬送速度の推移を示す第１時系列データを取得し、取得された第１時系列データを分析することで、ウェブ７０の搬送速度を予測するための予測モデルを生成してもよい。ウェブ７０の搬送速度は、速度センサ（不図示）等により適宜計測されてよい。ＰＬＣ２は、生成された予測モデルを利用して、各サーボモータ（７１１、７６１）に対する指令値を補正することで、ウェブ７０の搬送速度を予測制御してもよい。予測制御開発装置１は、予測制御の間におけるウェブ７０の搬送速度の推移を示す第２時系列データを取得し、予測モデルにより予測される予測値及び第２時系列データにより示される搬送速度の値の差に基づいて、予測モデルによる予測の精度が許容されるか否かを評価してもよい。そして、予測モデルによる予測の精度が許容されないと評価される場合には、予測制御開発装置１は、第２時系列データを分析することで、搬送速度の予測モデルを再度生成し、再度生成された予測モデルをＰＬＣ２に提供してもよい。
【０１５９】
また、本変形例において、ＰＬＣ２は、修正装置７４のアクチュエータ７４３を操作することで、ウェブ７０の端部の位置を制御することができる。そのため、ウェブ７０の端部の位置を調節するためのアクチュエータ７４３の電圧が操作量として取り扱われ、ウェブ７０の端部の位置が制御量として取り扱われてよい。すなわち、予測制御開発装置１は、上記処理手順により、ウェブ７０の端部の位置の推移を示す第１時系列データを取得し、取得された第１時系列データを分析することで、ウェブ７０の端部の位置を予測するための予測モデルを生成してもよい。ウェブ７０の端部の位置は、エッジセンサ７５により計測されてよい。ＰＬＣ２は、生成された予測モデルを利用して、アクチュエータ７４３に対する指令値を補正することで、ウェブ７０の端部の位置を予測制御してもよい。予測制御開発装置１は、予測制御の間におけるウェブ７０の端部の位置の推移を示す第２時系列データを取得し、予測モデルにより予測される予測値及び第２時系列データにより示される端部の位置の値の差に基づいて、予測モデルによる予測の精度が許容されるか否かを評価してもよい。そして、予測モデルによる予測の精度が許容されないと評価される場合には、予測制御開発装置１は、第２時系列データを分析することで、端部位置の予測モデルを再度生成し、再度生成された予測モデルをＰＬＣ２に提供してもよい。本変形例によれば、ウェブ搬送装置７を含む工場プロセスを最適化し、品質の悪い製品が製造される確率を低減することができる。
【０１６０】
＜４．２＞
上記実施形態では、予測制御開発装置１は、ステップＳ２０７において、予測モデル５０の評価に関する情報を表示装置１５に出力している。しかしながら、情報の出力先は、このような例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部１１は、予測モデル５０の評価に関する情報を、表示装置１５とは別の表示装置に出力してもよいし、表示装置以外の出力先（例えば、メモリ、表示装置以外の出力装置）に出力してもよい。
【０１６１】
＜４．３＞
上記実施形態では、予測モデル５０及び補正器５５は別体に構成されている。しかしながら、予測モデル５０及び補正器５５の構成は、このような例に限定されなくてもよい。予測モデル５０は、補正器５５を含んでもよい。すなわち、予測モデル５０は、制御量の計測値及び基礎目標値の入力に対して、予測される制御量の予測値に応じて補正済みの目標値６３を出力するように構成されてよい。この場合、予測制御開発装置１は、予測モデル５０の生成に、制御量の計測値に対応する補正済みの目標値６３を更に利用する。制御量の計測値に対応する補正済みの目標値６３は適宜与えられてよい。また、上記実施形態において、予測モデル５０の入力値及び出力値の少なくとも一方には、何らかの情報処理が実行されてよい。例えば、制御量の計測値は、特徴量に変換されてもよく、予測モデル５０は、計測値から算出された特徴量の入力を受け付けるように構成されてもよい。なお、特徴量は、計測値の何らかの特徴を表し得るものであれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、特徴量は、計測値の時系列データから予測に利用する対象の特徴を抽出することで得られてもよい。また、例えば、特徴量は、集約された情報（例えば、単位区間毎の平均値の時系列）、予測時点から過去の位置区間の系列そのもの等であってよい。具体例として、特徴量は、例えば、最小値、最大値、平均値、尖度、微分値等であってよい。
【０１６２】
また、上記実施形態では、予測制御において制御対象装置に与える指令値は、予測モデル５０により予測される制御量の予測値に応じて制御量の基礎目標値を補正することで間接的に補正される。しかしながら、指令値を補正する方法は、このような例に限定されなくてもよい。指令値は、予測モデル５０により予測される制御量の予測値に応じて直接的に補正されてもよい。例えば、ＰＬＣ２の制御部２１は、上記予測制御の処理において、例えば、ＰＩＤ制御、ＰＩ制御等の公知の方法により、制御量の基礎目標値に従って、指令値を決定してもよい。次に、制御部２１は、ステップＳ１０４の処理を実行し、予測モデル５０を利用して、取得された制御量の計測値から予測値を算出してもよい。そして、制御部２１は、上記ステップＳ１０５に代えて、算出された制御量の予測値に応じて、決定された指令値を補正してもよい。指令値の補正量は適宜決定されてよい。例えば、指令値の補正量は、上記式１と同様の方法で算出されてよい。
【０１６３】
なお、予測モデル５０は、過去の複数の時刻における各値、複数種類の特徴量等の複数の値が入力されるように構成されてよい。基本的には、予測モデル５０に入力される値の数が増えるほど、予測モデル５０による予測の精度が向上する。一方で、予測モデル５０に入力される値の数が増えると、予測モデル５０の予測処理の計算量が増えるため、当該予測処理の実行時間が長くなってしまう。予測モデル５０は、予測の精度が高く、かつ予測処理の実行時間が短くなるように生成されるのが好ましい。特に、ＰＬＣ等の比較的に小規模な制御装置で予測モデル５０を利用する場合には、予測処理の実行時間に起因して、予測制御を実施することができない可能性がある。そこで、上記実施形態に係る予測制御開発装置１は、予測モデル５０を提供する前に、予測モデル５０の予測精度及び予測処理の実行時間に基づいて、当該予測モデル５０が予測制御に利用可能か否かを評価してもよい。
【０１６４】
図１３は、本変形例に係る予測制御開発装置１のソフトウェア構成の一例を模式的に例示する。当該変形例では、モデル評価部１１６は、テストデータ２２９を利用して、生成された予測モデル５０の予測精度及び予測処理の実行時間を評価する。そして、モデル評価部１１６は、予測精度及び予測処理の実行時間の評価の結果に基づいて、生成された予測モデル５０を予測制御に利用するか否かを判定する。生成された予測モデル５０を予測制御に利用すると判定された場合、モデル提供部１１３は、生成された予測モデル５０をコントローラに提供する。一方、生成された予測モデル５０を予測制御に利用しないと判定された場合、モデル生成部１１２は、予測モデル５０のパラメータを変更し、予測モデル５０を再度生成する。パラメータは、予測モデル５０の入力値及び出力値（予測値）の少なくともいずれかに対応する。パラメータを変更することは、入力項目を減らすこと、入力項目を増やすこと、特徴量の種類を変更すること等を含んでよい。これらの点を除き、本変形例は、上記実施形態と同様であってよい。
【０１６５】
図１４Ａ及び図１４Ｂは、本変形例に係る予測制御開発装置１の処理手順の一例を示すフローチャートである。本変形例では、制御部１１は、上記ステップＳ２０１及びＳ２０２の処理を実行した後に、モデル評価部１１６として動作し、ステップＳ２０２Ｕ及びＳ２０２Ｗの処理を実行する。
【０１６６】
ステップＳ２０２Ｕでは、制御部１１は、テストデータ２２９を利用して、生成された予測モデル５０の予測の精度及び予測処理の実行時間を評価する。テストデータ２２９は、第１時系列データ２２３及び第２時系列データ２２５と同様に、制御対象装置の制御量の値の推移を示す。ステップＳ２０２Ｕでは、テストデータ２２９は、第１時系列データ２２３と同様に取得されてよい。例えば、テストデータ２２９は、第１時系列データ２２３のうち、予測モデル５０の生成に利用されなかった部分から取得されてよい。
【０１６７】
テストデータ２２９を利用して、予測モデル５０の予測の精度を評価する方法は、上記ステップＳ２０６とほぼ同様であってよい。例えば、制御部１１は、生成された予測モデル５０を利用した予測制御の動作、すなわち、上記ステップＳ１０１〜Ｓ１０６の処理をシミュレートしてもよい。制御量の計測値には、テストデータ２２９により示される制御量の値が用いられてよい。制御部１１は、これにより得られる一連の予測値とテストデータ２２９により示される制御量の値との相違の程度に基づいて、予測モデル５０の予測の精度を算出してもよい。
【０１６８】
また、予測処理の実行時間を評価する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。予測処理の実行時間を算出する方法には、プログラムの計算時間を算出する公知の方法が採用されてよい。例えば、制御部１１は、コントローラ（ＰＬＣ２）の演算資源の性能を示す情報に基づいて、予測モデル５０を利用した予測制御の演算処理をシミュレートすることで、予測処理の実行時間を算出してもよい。演算資源は、例えば、メモリ、プロセッサ等である。予測制御の処理は、例えば、上記ステップＳ１０１〜Ｓ１０６までの処理である。
【０１６９】
また、例えば、コントローラ上での予測処理の実行時間を予測モデル５０のパラメータから推定するための推定モデルが予め生成されてもよい。この推定モデルは、予測モデル５０のパラメータとその予測モデル５０をコントローラが利用した時の実行時間の実測値との相関関係から適宜生成されてよい。制御部１１は、この推定モデルを利用して、生成された予測モデル５０のパラメータから予測処理の実行時間を推定してもよい。
【０１７０】
ステップＳ２０２Ｗでは、制御部１１は、予測精度及び予測処理の実行時間それぞれを評価した結果に基づいて、生成された予測モデル５０を予測制御に利用するか否かを判定する。例えば、制御部１１は、ステップＳ２０２Ｕにより算出された予測モデル５０の予測精度及び予測処理の実行時間を表示装置１５に出力し、生成された予測モデル５０を予測制御に利用するか否かの選択を受け付けてもよい。そして、制御部１１は、オペレータによる当該選択に基づいて、生成された予測モデル５０を予測制御に利用するか否かを判定してもよい。
【０１７１】
また、例えば、制御部１１は、ステップＳ２０２Ｕにより算出された予測モデル５０の予測精度及び予測処理の実行時間それぞれと閾値との比較に基づいて、生成された予測モデル５０を予測制御に利用するか否かを判定してもよい。予測精度に対する第１閾値及び予測処理の実行時間に対する第２閾値はそれぞれ適宜決定されてよい。各閾値は、オペレータ等により手動で設定されてもよいし、コントローラを利用した過去の実績から適宜決定されてもよい。制御部１１は、算出された予測精度の値が第１閾値よりも高く、かつ算出された予測処理の実行時間の推定値が第２閾値よりも短い場合に、生成された予測モデル５０を予測制御に利用すると判定してもよい。一方、そうではない場合に、制御部１１は、生成された予測モデル５０を予測制御に利用しないと判定してもよい。
【０１７２】
生成された予測モデル５０を予測制御に利用すると判定した場合、制御部１１は、上記実施形態と同様に、ステップＳ２０３以降の処理を実行する。一方、生成された予測モデル５０を予測制御に利用しないと判定した場合、制御部１１は、ステップＳ２０２に戻って、予測モデル５０の生成処理を繰り返す。この際、制御部１１は、予測モデル５０のパラメータを変更する。
【０１７３】
パラメータの変更は、オペレータ等により手動で行われてよい。例えば、制御部１１は、予測モデル５０のパラメータを表示装置１５に出力すると共に、当該パラメータの変更の指定を受け付けてもよい。そして、制御部１１は、受け付けた内容に従って、予測モデル５０のパラメータを変更してもよい。
【０１７４】
また、例えば、制御部１１は、予測精度及び予測処理の実行時間を評価した結果に基づいて、予測モデル５０のパラメータを自動的に変更してもよい。一例として、予測処理の実行時間が閾値よりも長い場合、入力項目を減らすこと、及び対象の特徴量をより演算時間の短い特徴量に変更することのいずれか一方が選択されてよい。また、例えば、予測精度が閾値よりも低い場合に、入力項目を増やすこと、及び特徴量を変更することのいずれか一方が選択されてよい。
【０１７５】
予測モデル５０のパラメータを変更した後、制御部１１は、ステップＳ２０２の処理を再度実行し、変更されたパラメータを有する予測モデル５０を第１時系列データ２２３から生成する。そして、制御部１１は、生成された予測モデル５０に対してステップＳ２０２Ｕ及びＳ２０２Ｗの処理を実行する。
【０１７６】
本変形例では、制御部１１は、上記ステップＳ２０３〜Ｓ２０９の処理を実行した後に、モデル評価部１１６として動作し、ステップＳ２０９Ｕ及びＳ２０９Ｗの処理を実行する。ステップＳ２０２で生成された予測モデル５０からステップＳ２０９で生成された予測モデル５０に評価の対象が変更される点を除き、ステップＳ２０９Ｕ及びＳ２０９Ｗは、上記ステップＳ２０２Ｕ及びＳ２０２Ｗと同様であってよい。ステップＳ２０９Ｗにおいて、生成された予測モデル５０を予測制御に利用しないと判定した場合、制御部１１は、ステップＳ２０９に戻って、予測モデル５０の生成処理を繰り返す。この際、上記ステップＳ２０２と同様に、制御部１１は、予測モデル５０のパラメータを変更した上で、第２時系列データ２２５から予測モデル５０を生成してもよい。なお、ステップＳ２０９Ｕにおいて、テストデータ２２９は、第１時系列データ２２３及び第２時系列データ２２５のうち、予測モデル５０の生成に利用されなかった部分から取得されてよい。
【０１７７】
＜４．４＞
上記実施形態において、予測制御開発装置１のソフトウェア構成から補正量指定部１１４が省略されてもよく、予測制御開発装置１の処理手順からステップＳ２０４が省略されてもよい。この場合、指令値に対する補正量の値は、予め与えられてもよい。また、ステップＳ２０４は、予測モデル５０を利用するまでの任意のタイミングで実行されてよい。ステップＳ２０３〜ステップＳ２０７の処理が繰り返される際、制御部１１は、ステップＳ２０４において、指令値に対する補正量の値を適宜決定してもよい。また、予測制御開発装置１の処理手順からステップＳ２０７による出力処理が省略されてもよい。これに応じて、予測制御開発装置１のソフトウェア構成から出力部１１７が省略されてもよい。
【符号の説明】
【０１７８】
１…予測制御開発装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…表示装置、１６…ドライブ、
１１１…第１取得部、１１２…モデル生成部、
１１３…モデル提供部、１１４…補正量指定部、
１１５…第２取得部、１１６…モデル評価部、
１１７…出力部、
１２５…生成結果データ、
８１…予測制御開発プログラム、９１…記憶媒体、
２…ＰＬＣ、
２１…制御部、２２…記憶部、２３…通信インタフェース、
２４…外部インタフェース、
２１１…目標値取得部、２１２…動作制御部、
２１３…補正処理部、２１４…データ収集部、
２２１…目標値情報、
２２３…第１時系列データ、２２５…第２時系列データ、
２２７…予測結果データ、
８２…制御プログラム、
３…プレス機（制御対象装置）、
３１…サーボドライバ、３２…上側金型、３３…下側金型、
３５…位置センサ、
４０…ワーク、４１…製品、
５０…予測モデル、５５…補正器、
６０…指令値、
１５０…画面
【図１】
2020135758.tif 000004
【図２】
2020135758.tif 000005
【図３】
2020135758.tif 000006
【図４】
2020135758.tif 000007
【図５Ａ】
2020135758.tif 000008
【図５Ｂ】
2020135758.tif 000009
【図５Ｃ】
2020135758.tif 000010
【図５Ｄ】
2020135758.tif 000011
【図６】
2020135758.tif 000012
【図７】
2020135758.tif 000013
【図８】
2020135758.tif 000014
【図９】
2020135758.tif 000015
【図１０】
2020135758.tif 000016
【図１１】
2020135758.tif 000017
【図１２】
2020135758.tif 000018
【図１３】
2020135758.tif 000019
【図１４Ａ】
2020135758.tif 000020
【図１４Ｂ】
2020135758.tif 000021