(57)【要約】【課題】制御装置の更新タイミングと制御対象モデルの更新タイミングとのずれを低減することを目的とする。【解決手段】第１刻み幅変更部２１は、シミュレーション時間軸において、モデル演算装置２０ａにおけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、制御装置１０のｊ番目（ｊは２以上の整数）の演算時刻Ｔｊが到来する場合であって、かつ、ｉ番目の演算時刻とｊ番目の演算時刻との差が予め設定されている許容時間を超えていた場合に、ｉ＋１番目の演算時刻がｊ番目の演算時刻よりも前に到来するように、ｉ番目からｉ＋１番目までの刻み幅を変更する。モデル演算装置２０ａは、変更後の刻み幅でシミュレーションを行い、変更後の刻み幅におけるｉ＋１番目の演算時刻のシミュレーション結果を、ｊ番目以降のいずれかの演算時刻における入力情報として制御装置１０に与える。【選択図】図１
2014063391.tif 000002
【特許請求の範囲】
【請求項１】
制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを備えるシミュレータシステムであって、
前記モデル演算装置の時間刻みは可変であるとともに、第１刻み幅変更手段を備え、
前記第１刻み幅変更手段は、
シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻Ｔｊが到来する場合であって、かつ、前記ｉ番目の演算時刻と前記ｊ番目の演算時刻との差が予め設定されている許容時間を超えていた場合に、前記ｉ＋１番目の演算時刻が前記ｊ番目の前記演算時刻よりも前に到来するように、前記ｉ番目から前記ｉ＋１番目までの刻み幅を変更し、
前記モデル演算装置は、変更後の前記刻み幅でシミュレーションを行い、変更後の前記刻み幅におけるｉ＋１番目の演算時刻のシミュレーション結果を、前記ｊ番目以降のいずれかの演算時刻における入力情報として前記制御装置に与えるシミュレータシステム。
【請求項２】
前記モデル演算装置におけるｉ＋２番目の演算時刻が、前記制御装置の前記ｊ番目の演算時刻に予め設定されている所定の許容時間を加えた第１時刻を超える場合に、前記ｊ番目の演算時刻以降であって、かつ、前記第１時刻以前に、前記ｉ＋２番目の演算時刻が到来するように、前記ｉ＋１番目から前記ｉ＋２番目までの刻み幅を変更する第２刻み幅変更手段を備え、
前記制御装置は、前記ｊ番目以前の演算時刻における制御指令を、変更後の前記刻み幅におけるｉ＋２番目の演算時刻の入力情報として、前記モデル演算装置に与える請求項１に記載のシミュレータシステム。
【請求項３】
制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを備えるシミュレータシステムであって、
前記モデル演算装置の時間刻みは可変であり、
シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻が到来する場合であって、かつ、前記ｉ＋１番目の演算時刻が、前記ｊ番目の演算時刻に予め設定されている所定の許容時間を加えた第１時刻を超える場合に、前記ｊ番目の演算時刻以降であって、かつ、前記第１時刻以前に、前記ｉ＋１番目の演算時刻が到来するように、前記ｉ番目から前記ｉ＋１番目までの刻み幅を変更する第２刻み幅変更手段を備え、
前記制御装置は、前記ｊ番目以前の演算時刻における制御指令を、変更後の前記刻み幅におけるｉ＋１番目の演算時刻の入力情報として、前記モデル演算装置に与えるシミュレータシステム。
【請求項４】
前記第１刻み幅変更手段及び前記第２刻み幅変更手段は、変更後の刻み幅が、前記シミュレーション演算が担保される所定の最小刻み幅以上となるように、前記刻み幅の変更を行う請求項２に記載のシミュレータシステム。
【請求項５】
制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを用いるシミュレーション方法であって、
前記モデル演算装置の時間刻みは可変であり、
シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻Ｔｊが到来する場合であって、かつ、前記ｉ番目の演算時刻と前記ｊ番目の演算時刻との差が予め設定されている許容時間を超えていた場合に、前記ｉ＋１番目の演算時刻が前記ｊ番目の前記演算時刻よりも前に到来するように、前記ｉ番目から前記ｉ＋１番目までの刻み幅を変更し、
前記モデル演算装置は、変更後の前記刻み幅でシミュレーションを行い、変更後の前記刻み幅におけるｉ＋１番目の演算時刻のシミュレーション結果を、前記ｊ番目以降のいずれかの演算時刻における入力情報として前記制御装置に与えるシミュレーション方法。
【請求項６】
前記モデル演算装置におけるｉ＋２番目の演算時刻が、前記制御装置の前記ｊ番目の演算時刻に予め設定されている所定の許容時間を加えた第１時刻を超える場合に、前記ｊ番目の演算時刻以降であって、かつ、前記第１時刻以前に、前記ｉ＋２番目の演算時刻が到来するように、前記ｉ＋１番目から前記ｉ＋２番目までの刻み幅を変更し、
前記制御装置は、前記ｊ番目以前の演算時刻における制御指令を、変更後の前記刻み幅におけるｉ＋２番目の演算時刻の入力情報として、前記モデル演算装置に与える請求項５に記載のシミュレーション方法。
【請求項７】
制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを用いるシミュレーション方法であって、
前記モデル演算装置の時間刻みは可変であり、
シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻が到来する場合であって、かつ、前記ｉ＋１番目の演算時刻が、前記ｊ番目の演算時刻に予め設定されている所定の許容時間を加えた第１時刻を超える場合に、前記ｊ番目の演算時刻以降であって、かつ、前記第１時刻以前に、前記ｉ＋１番目の演算時刻が到来するように、前記ｉ番目から前記ｉ＋１番目までの刻み幅を変更し、
前記制御装置は、前記ｊ番目の演算時刻における制御指令を、変更後の前記刻み幅におけるｉ＋１番目の演算時刻の入力情報として、前記モデル演算装置に与えるシミュレーション方法。
【請求項８】
制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを備えるシミュレータシステムであって、
前記モデル演算装置の時間刻みは可変であり、
シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻が到来する場合に、前記ｉ番目から前記ｉ＋１番目までの刻み幅におけるシミュレーション結果を内挿補間することで、ｊ番目の演算時刻よりも予め設定された所定時間早い時刻におけるシミュレーション結果を取得する内挿補間手段を備え、
内挿補間手段によって得られた前記シミュレーション結果を、前記ｊ番目以降のいずれかの演算時刻における入力情報として前記制御装置に与えるシミュレータシステム。
【請求項９】
制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを用いるシミュレーション方法であって、
前記モデル演算装置の時間刻みは可変であり、
シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻が到来する場合に、前記ｉ番目から前記ｉ＋１番目までの刻み幅におけるシミュレーション結果を内挿補間することで、ｊ番目の演算時刻よりも予め設定された所定時間早い時刻におけるシミュレーション結果を取得し、
該内挿補間によって取得したシミュレーション結果を、前記ｊ番目以降のいずれかの演算時刻における入力情報として前記制御装置に与えるシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレータシステム及びシミュレーション方法に関するものである。
【背景技術】
【０００２】
従来、制御装置のロジック検証や運用検討を目的に、実機制御装置又はそのエミュレータと、プラントモデルとを組み合わせたシミュレータシステムが広く用いられている（例えば、特許文献１参照）。
シミュレータシステムでは、一定周期の固定刻みで演算する制御装置に対し、プラントモデルでは、過渡事象などを考慮して可変刻みで演算を行うことが好ましい。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２１５９６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、制御装置の演算周期と同程度の周波数をもった急激な過渡事象が発生した場合であっても、プラントモデルの解析条件（例えば、数値積分法等）によっては、プラントモデルの演算周期（刻み幅）が比較的長く設定される場合がある。このような場合、例えば、図１３に示すように、制御装置の更新タイミング（時刻Ｔｊ）とプラントモデルの更新タイミング（時刻ｔｉ）とにずれが生じ、制御装置と授受する値ｘｉが、実機状況、すなわち、時刻Ｔｊ付近で読み込まれる値ｘｉ＋αと異なってしまう。この結果、シミュレーション精度が低下してしまうという問題があった。
【０００５】
また、このようなずれが生じないように、プラントモデルにおける演算周期、すなわち、刻み幅を短くすることが考えられる。しかしながら、プラントモデルにおける刻み幅を短く設定してしまうと、演算負荷が大きくなり、シミュレーション演算に長時間要することとなり、リアルタイム性が損なわれるという問題があった。
【０００６】
本発明は、このような事情に鑑みてなされたものであって、制御装置の更新タイミングと制御対象モデルの更新タイミングとのずれを低減することのできるシミュレータシステム及びシミュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１態様は、制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを備えるシミュレータシステムであって、前記モデル演算装置の時間刻みは可変であるとともに、第１刻み幅変更手段を備え、前記第１刻み幅変更手段は、シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻Ｔｊが到来する場合であって、かつ、前記ｉ番目の演算時刻と前記ｊ番目の演算時刻との差が予め設定されている許容時間を超えていた場合に、前記ｉ＋１番目の演算時刻が前記ｊ番目の前記演算時刻よりも前に到来するように、前記ｉ番目から前記ｉ＋１番目までの刻み幅を変更し、前記モデル演算装置は、変更後の前記刻み幅でシミュレーションを行い、変更後の前記刻み幅におけるｉ＋１番目の演算時刻のシミュレーション結果を、前記ｊ番目以降のいずれかの演算時刻における入力情報として前記制御装置に与えるシミュレータシステムである。
【０００８】
上記態様によれば、制御装置のｊ番目の演算時刻よりも前であり、かつ、ｉ番目の演算時刻よりもｊ番目の演算時刻に近い時刻のシミュレーション結果を制御装置に対して返すことが可能となる。これにより、モデル演算装置から制御装置へのデータの受け渡し環境を実機に近づけることが可能となり、シミュレーション精度を向上させることが可能となる。
【０００９】
上記シミュレータシステムは、前記モデル演算装置におけるｉ＋２番目の演算時刻が、前記制御装置の前記ｊ番目の演算時刻に予め設定されている所定の許容時間を加えた第１時刻を超える場合に、前記ｊ番目の演算時刻以降であって、かつ、前記第１時刻以前に、前記ｉ＋２番目の演算時刻が到来するように、前記ｉ＋１番目から前記ｉ＋２番目までの刻み幅を変更する第２刻み幅変更手段を備え、前記制御装置は、前記ｊ番目以前の演算時刻における制御指令を、変更後の前記刻み幅におけるｉ＋２番目の演算時刻の入力情報として、前記モデル演算装置に与えることとしてもよい。
【００１０】
これにより、制御装置のｊ番目の演算時刻よりも後であり、かつ、ｊ番目の演算時刻から許容時間内に設定される所定の演算時刻に対して、ｊ番目またはｊ番目よりも前の演算時刻において制御装置により演算された制御指令を与えることが可能となる。これにより、制御装置からモデル演算装置へのデータの受け渡し環境を実機に近づけることが可能となり、シミュレーション精度を向上させることが可能となる。
【００１１】
本発明の第２態様は、制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを備えるシミュレータシステムであって、前記モデル演算装置の時間刻みは可変であり、シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻が到来する場合であって、かつ、前記ｉ＋１番目の演算時刻が、前記ｊ番目の演算時刻に予め設定されている所定の許容時間を加えた第１時刻を超える場合に、前記ｊ番目の演算時刻以降であって、かつ、前記第１時刻以前に、前記ｉ＋１番目の演算時刻が到来するように、前記ｉ番目から前記ｉ＋１番目までの刻み幅を変更する第２刻み幅変更手段を備え、前記制御装置は、前記ｊ番目以前の演算時刻における制御指令を、変更後の前記刻み幅におけるｉ＋１番目の演算時刻の入力情報として、前記モデル演算装置に与えるシミュレータシステムである。
【００１２】
上記態様によれば、制御装置のｊ番目の演算時刻よりも後であり、かつ、ｊ番目の演算時刻から所定の許容時間内に設定される所定の演算時刻に対して、ｊ番目またはｊ番目よりも前の演算時刻において制御装置により演算された制御指令を与えることが可能となる。これにより、制御装置からモデル演算装置へのデータの受け渡し環境を実機に近づけることが可能となり、シミュレーション精度を向上させることが可能となる。
【００１３】
上記シミュレータシステムにおいて、前記第１刻み幅変更手段及び前記第２刻み幅変更手段は、変更後の刻み幅が、前記シミュレーション演算が担保される所定の最小刻み幅以上となるように、前記刻み幅の変更を行うことが好ましい。
【００１４】
シミュレーションを行う場合、シミュレーション実行可能な最小の刻み幅が通常決められている。したがって、刻み幅が変更された場合には、変更後の刻み幅が最小刻み幅以上となっていることを確認することで、シミュレーションを確実に実行させることが可能となる。
【００１５】
本発明の第３態様は、制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを用いるシミュレーション方法であって、前記モデル演算装置の時間刻みは可変であり、シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻Ｔｊが到来する場合であって、かつ、前記ｉ番目の演算時刻と前記ｊ番目の演算時刻との差が予め設定されている許容時間を超えていた場合に、前記ｉ＋１番目の演算時刻が前記ｊ番目の前記演算時刻よりも前に到来するように、前記ｉ番目から前記ｉ＋１番目までの刻み幅を変更し、前記モデル演算装置は、変更後の前記刻み幅でシミュレーションを行い、変更後の前記刻み幅におけるｉ＋１番目の演算時刻のシミュレーション結果を、前記ｊ番目以降のいずれかの演算時刻における入力情報として前記制御装置に与えるシミュレーション方法である。
【００１６】
上記シミュレーション方法において、前記モデル演算装置におけるｉ＋２番目の演算時刻が、前記制御装置の前記ｊ番目の演算時刻に予め設定されている所定の許容時間を加えた第１時刻を超える場合に、前記ｊ番目の演算時刻以降であって、かつ、前記第１時刻以前に、前記ｉ＋２番目の演算時刻が到来するように、前記ｉ＋１番目から前記ｉ＋２番目までの刻み幅を変更し、前記制御装置は、前記ｊ番目以前の演算時刻における制御指令を、変更後の前記刻み幅におけるｉ＋２番目の演算時刻の入力情報として、前記モデル演算装置に与えることとしてもよい。
【００１７】
本発明の第４態様は、制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを用いるシミュレーション方法であって、前記モデル演算装置の時間刻みは可変であり、シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻が到来する場合であって、かつ、前記ｉ＋１番目の演算時刻が、前記ｊ番目の演算時刻に予め設定されている所定の許容時間を加えた第１時刻を超える場合に、前記ｊ番目の演算時刻以降であって、かつ、前記第１時刻以前に、前記ｉ＋１番目の演算時刻が到来するように、前記ｉ番目から前記ｉ＋１番目までの刻み幅を変更し、前記制御装置は、前記ｊ番目の演算時刻における制御指令を、変更後の前記刻み幅におけるｉ＋１番目の演算時刻の入力情報として、前記モデル演算装置に与えるシミュレーション方法である。
【００１８】
本発明の第５態様は、制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを備えるシミュレータシステムであって、前記モデル演算装置の時間刻みは可変であり、シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻が到来する場合に、前記ｉ番目から前記ｉ＋１番目までの刻み幅におけるシミュレーション結果を内挿補間することで、ｊ番目の演算時刻よりも予め設定された所定時間早い時刻におけるシミュレーション結果を取得する内挿補間手段を備え、内挿補間手段によって得られた前記シミュレーション結果を、前記ｊ番目以降のいずれかの演算時刻における入力情報として前記制御装置に与えるシミュレータシステムである。
【００１９】
本発明の第６態様は、制御装置と、前記制御装置から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレーションするモデル演算装置とを用いるシミュレーション方法であって、前記モデル演算装置の時間刻みは可変であり、シミュレーション時間軸において、前記モデル演算装置におけるｉ番目（ｉは１以上の整数）とｉ＋１番目の演算時刻との間に、前記制御装置のｊ番目（ｊは２以上の整数）の演算時刻が到来する場合に、前記ｉ番目から前記ｉ＋１番目までの刻み幅におけるシミュレーション結果を内挿補間することで、ｊ番目の演算時刻よりも予め設定された所定時間早い時刻におけるシミュレーション結果を取得し、該内挿補間によって取得したシミュレーション結果を、前記ｊ番目以降のいずれかの演算時刻における入力情報として前記制御装置に与えるシミュレーション方法である。
【発明の効果】
【００２０】
本発明によれば、シミュレーション精度を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１実施形態に係るシミュレータシステムの概略構成を示した図である。
【図２】本発明の第１実施形態に係るシミュレータシステムの制御装置及びモデル演算装置における演算周期の一例を示したタイムチャートである。
【図３】図１に示した第１刻み幅変更部の処理手順を示したフローチャートである。
【図４】本発明の第２実施形態に係るシミュレータシステムの概略構成を示した図である。
【図５】本発明の第２実施形態における制御装置及びモデル演算装置における演算周期の一例を示したタイムチャートである。
【図６】本発明の第２実施形態に係る第２刻み幅変更部の処理手順を示したフローチャートである。
【図７】本発明の第３実施形態に係るシミュレータシステムの概略構成を示した図である。
【図８】本発明の第３実施形態に係るシミュレータシステムの制御装置及びモデル演算装置における演算周期の一例を示したタイムチャートである。
【図９】本発明の第３実施形態に係るシミュレータシステムにおいて、１周期の信号遅延を持たせた場合のタイミングチャートの一例を示した図である。
【図１０】本発明の第４実施形態に係るシミュレータシステムの概略構成を示した図である。
【図１１】本発明の第４実施形態に係る制御装置及びモデル演算装置における演算周期の一例を示したタイムチャートである。
【図１２】本発明の第４実施形態に係る内挿補間部の処理手順を示したフローチャートである。
【図１３】従来のシミュレータシステムにおけるプラントモデルの更新タイミングと、実機における更新タイミングとを比較して示した図である。
【発明を実施するための形態】
【００２２】
以下、本発明の各実施形態に係るシミュレータシステム及びシミュレーション方法について、図面を参照して説明する。
【００２３】
〔第１実施形態〕
図１は、本発明の第１実施形態に係るシミュレータシステム１ａの概略構成を示した図である。図１に示すように、シミュレータシステム１ａは、制御装置１０と、制御装置１０から出力された制御指令を制御対象モデルに与えることで、制御対象モデルの挙動をシミュレートするモデル演算装置２０ａとを主な構成として備えている。制御装置１０とモデル演算装置２０ａとは、ＬＡＮなどの通信回線を介して接続されており、双方向におけるデータの授受が可能な構成とされている。
制御装置１０は、実機制御装置でもよいし、実機制御装置を模擬したエミュレータであってもよい。
モデル演算装置２０ａは、第１刻み幅変更部２１と、シミュレーション実行部２２とを主な構成として備えている。
【００２４】
制御装置１０及びモデル演算装置２０ａの各々は、例えば、ＣＰＵ、主記憶メモリ、補助記憶メモリ等を備えるコンピュータによって具現化される。
制御装置１０の補助記憶メモリには、制御対象（例えば、発電プラント）を制御するための制御プログラムが格納されており、ＣＰＵが補助記憶メモリから制御プログラムを読み出して実行することで、制御対象に対する制御指令が生成される。
モデル演算装置２０ａの補助記憶メモリには、制御対象モデル（例えば、発電プラント）のデータ及び制御対象モデルのシミュレーションを行うために必要となるプログラムやデータなどが格納されており、ＣＰＵがこれらのプログラムを実行することにより、後述する各部の機能が実現される。
なお、制御装置１０における制御指令を得るための演算処理及びモデル演算装置２０ａにおける制御対象モデルのシミュレーションに関する演算処理については、公知である種々の手法を適用すればよく、ここでの詳細な説明は省略する。
【００２５】
次に、モデル演算装置２０ａにおける第１刻み幅変更部２１及びシミュレーション実行部２２の処理について図２及び図３を参照して説明する。
図２は、本実施形態に係るシミュレータシステム１ａの制御装置１０及びモデル演算装置２０ａの演算周期の一例を示したタイムチャートである。
【００２６】
図２（ａ）は、制御装置１０の演算周期を示している。このように、制御装置１０は、固定周期で演算を行う、いわゆる固定刻みを採用している。図２（ｂ１）、（ｂ２）は、モデル演算装置２０ａの演算周期を示しており、図２（ｂ１）は後述する第１刻み幅変更部２１による刻み幅の変更が行われる前の演算周期（刻み幅）を示しており、図２（ｂ２）は後述する第１刻み幅変更部２１による刻み幅の変更が行われた後の演算周期（刻み幅）を示している。図２（ｂ１）に示される各刻み幅は、例えば、シミュレーション実行部２２がシミュレーションを行う上で所定のアルゴリズムを実行することで決定される。この刻み幅の具体的な決定方法については、公知の技術を採用することが可能である。
なお、図２において、ｉとｊとは必ずしも同じ値を取る必要はない。これは、制御装置１０が固定刻みを採用しているのに対し、モデル演算装置２０ａが可変刻みを採用しているためである。
【００２７】
図３は、第１刻み幅変更部２１の処理手順を示したフローチャートである。第１刻み幅変更部２１によって実現される後述の処理は、例えば、プログラムの形式でモデル演算装置２０ａ内のコンピュータ読み取り可能な記録媒体に記録されており、ＣＰＵがこのプログラムを読み出して実行することにより実現されるものである。
以下、本実施形態に係る第１刻み幅変更部２１について図２及び図３を参照して説明する。
【００２８】
まず、シミュレーション実行部２２により、ある時点におけるｉ（ｉは１以上の整数）番目の演算時刻ｔｉからｉ＋１番目の演算時刻ｔｉ＋１までの刻み幅ｄｔｉにおけるシミュレーションが実行され、そのシミュレーションが終了すると、その旨が第１刻み幅変更部２１に通知される（図３のステップＳＡ１）。
第１刻み幅変更部２１は、この情報を受けると、ｉ＋１番目の演算時刻ｔｉ＋１が、制御装置１０におけるｊ番目の演算時刻Ｔｊを超えているか否かを判定する（ステップＳＡ２）。換言すると、モデル演算装置２０ａにおけるｉ番目とｉ＋１番目の演算時刻との間に、制御装置１０のｊ番目の演算時刻Ｔｊが到来したか否かを判定する。
【００２９】
この結果、演算時刻ｔｉと演算時刻ｔｉ＋１との間に、制御装置１０の演算時刻Ｔｊが到来していない場合には（ステップＳＡ２において「ＮＯ」）、シミュレーション実行部２２に対して次の刻み幅におけるシミュレーション実行の指示を出力する（ステップＳＡ３）。
【００３０】
一方、図２に示すように、モデル演算装置２０ａにおけるｉ番目とｉ＋１番目の演算時刻との間に、制御装置１０のｊ番目の演算時刻Ｔｊが到来していた場合には（ステップＳＡ２において「ＹＥＳ」）、ｉ番目の演算時刻ｔｉとｊ番目の演算時刻Ｔｊとの差分ΔＴ１（＝Ｔｊ−ｔｉ）が予め設定されている許容時間ａを超えているか否かを判定する（ステップＳＡ４）。この結果、差分ΔＴ１が許容時間ａ以内である場合には（ステップＳＡ４において「ＮＯ」）、演算時刻ｔｉは、演算時刻Ｔｊに十分近い時刻であると判断し、刻み幅の変更は行わずに、演算時刻ｔｉのシミュレーション結果ｘｉを演算時刻Ｔｊの入力情報として、制御装置１０に与える（ステップＳＡ５）。
【００３１】
一方、差分ΔＴ１が許容時間ａを超えている場合には（ステップＳＡ４において「ＹＥＳ」）、ｉ＋１番目の演算時刻ｔｉ＋１がｊ番目の演算時刻Ｔｊよりも前に到来するように、ｉ番目からｉ＋１番目までの刻み幅ｄｔｉを再設定する（ステップＳＡ６）。
例えば、刻み幅ｄｔｉ´は、演算時刻Ｔｊから演算時刻ｔｉ及び予め設定された調整時間ｂ（ｂ≦ａ）を引いた値（ｄｔｉ´＝Ｔｊ−ｔｉ−ｂ）に設定される。
このような刻み幅ｄｔｉ´によれば、ｉ＋１番目の演算時刻ｔｉ＋１´は、演算時刻Ｔｊよりも所定の時刻ｂだけ、早い時刻に設定されることとなる。
【００３２】
次に、ステップＳＡ６で設定した刻み幅ｄｔｉ´が、シミュレーションの実行を担保する最小刻み幅ｄｔｍｉｎ以上であるか否かを判定する（ステップＳＡ７）。この結果、変更後の刻み幅ｄｔｉ´が最小刻み幅ｄｔｍｉｎ未満である場合には（ステップＳＡ７において「ＮＯ」）、刻み幅の変更は行わずに、演算時刻ｔｉのシミュレーション結果を演算時刻Ｔｊの入力情報として、制御装置１０に与える（ステップＳＡ５）。
これに対し、刻み幅ｄｔｉ´が最小刻み幅ｄｔｍｉｎ以上である場合には（ステップＳＡ７において「ＹＥＳ」）、刻み幅をステップＳＡ６で設定した刻み幅ｄｔｉ´に変更する（ステップＳＡ８）。これにより、変更後の刻み幅ｄｔｉ´におけるｉ＋１番目の演算時刻ｔｉ＋１´は、ｔｉ＋１´＝Ｔｊ−ｂに変更される。
このようにして刻み幅を変更すると、変更後の刻み幅ｄｔｉ´の情報をシミュレーション実行部２２に出力し、変更後の刻み幅ｄｔｉ´においてシミュレーションを再度行うよう指示をする（ステップＳＡ９）。
【００３３】
これにより、シミュレーション実行部２２によって新たな刻み幅ｄｔｉ´におけるシミュレーションが行われる。そして、新たな刻み幅ｄｔｉ´におけるシミュレーションが終了すると、第１刻み幅変更部２１は、演算時刻ｔｉ＋１´のシミュレーション結果ｘｉ＋１´を演算時刻Ｔｊにおける入力情報として制御装置１０に与える（ステップＳＡ１０）。なお、この場合のタイムチャートが図２（ｂ２）に相当する。
【００３４】
このように、制御装置１０にシミュレーション結果を通知すると、制御装置１０では、このシミュレーション結果に基づいて制御指令を生成する処理が実行され、生成された新たな制御指令がモデル演算装置２０ａに入力されることとなる。この新たな制御指令を受け付けると、この制御指令に基づくシミュレーションがシミュレーション実行部２２によって実行され、また、同時に、図３に示される刻み幅の変更処理が第１刻み幅変更部２１によって行われることとなる。
【００３５】
以上、説明してきたように、本実施形態に係るシミュレータシステム１ａ及びシミュレーション方法によれば、制御装置１０の演算時刻Ｔｊの手前かつ近傍に、モデル演算装置２０ａによる演算時刻が到来するように、制御装置１０の演算時刻Ｔｊ付近におけるモデル演算装置２０ａの刻み幅ｄｔｉを調整するので、より一層、実機に近い出力値を制御装置１０に与えることが可能となる。これにより、モデル演算装置２０ａから制御装置１０へのデータの受け渡し環境を実機に近づけることが可能となり、シミュレーション精度を向上させることが可能となる。
【００３６】
本実施形態では、モデル演算装置２０ａが第１刻み幅変更部２１を有する場合について説明したが、例えば、制御装置１０とモデル演算装置２０ａとの間にデータの授受を制御するような中継装置が存在する場合には、この中継装置に第１刻み幅変更部２１を設け、中継装置と制御装置１０、中継装置とモデル演算装置２０ａとの通信を行うことにより、上述した第１刻み幅変更部２１の各種処理を実現することとしてもよい。
【００３７】
また、本実施形態では、例えば、モデル演算装置２０ａから制御装置１０へシミュレーション結果を与える場合に、制御装置１０の演算時刻Ｔｊに返すこととしていたが、これに代えて、演算時刻Ｔｊ以降のいずれかの演算時刻（例えば、Ｔｊ＋１）に返すこととしてもよい（例えば、図９参照）。
すなわち、実機においては、センサの計測遅れやデータ通信の遅延などによって、プラントのシミュレーション結果の取り込みが１周期以上遅れる場合がある。したがって、シミュレーション結果を演算時刻Ｔｊ以降のいずれかの演算時刻に返すことにより、実機に生ずる遅延の発生を考慮したシミュレーションを実施することができる。なお、この場合には、何周期後の演算時刻に返すのかを予め設定しておく必要がある。
【００３８】
〔第２実施形態〕
次に、本発明の第２実施形態に係るシミュレータシステム１ｂ及びシミュレーション方法について図を参照して説明する。上述した第１実施形態では、モデル演算装置から制御装置へ出力値を与えるタイミングを調整していたが、本実施形態では、制御装置からモデル演算装置に制御指令を与えるタイミングを調整する点で第１実施形態とは異なる。
以下、第１実施形態と共通する点については説明を省略し、異なる点について主に説明する。
【００３９】
図４は、本実施形態に係るシミュレータシステム１ｂの概略構成を示した図である。図４に示すように、本実施形態に係るシミュレータシステム１ｂは、上述した第１刻み幅変更部２１に代えて、第２刻み幅変更部２４をモデル演算装置２０ｂが有する点で異なる。
【００４０】
図５は、本実施形態における制御装置１０及びモデル演算装置２０ｂの演算周期の一例を示したタイムチャートであり、図５（ａ）は、制御装置１０における演算周期を、図５（ｂ１）は後述する第２刻み幅変更部２４による刻み幅の変更が行われる前の演算周期（刻み幅）を示しており、図５（ｂ２）は後述する第２刻み幅変更部２４による刻み幅の変更が行われた後の演算周期（刻み幅）を示している。
なお、図５において、ｉとｊとは必ずしも同じ値を取る必要はない。これは、制御装置１０が固定刻みを採用しているのに対し、モデル演算装置２０ｂが可変刻みを採用しているためである。
【００４１】
図６は、本実施形態に係る第２刻み幅変更部２４の処理手順を示したフローチャートである。ここで、図６に示される処理は、例えば、プログラムの形式でモデル演算装置内のコンピュータ読み取り可能な記録媒体に記録されており、ＣＰＵがこのプログラムを読み出して実行することにより実現されるものである。
【００４２】
以下、本実施形態に係る第２刻み幅変更部２４について図５及び図６を参照して説明する。
まず、シミュレーション実行部２２により、ある時点におけるｉ（ｉは１以上の整数）番目の演算時刻ｔｉからｉ＋１番目の演算時刻ｔｉ＋１までの刻み幅ｄｔｉにおけるシミュレーションが実行され、そのシミュレーションが終了すると、その旨が第２刻み幅変更部２１に通知される（図６のステップＳＢ１）。
第２刻み幅変更部２１は、この情報を受けると、ｉ＋１番目の演算時刻ｔｉ＋１が、制御装置１０におけるｊ番目の演算時刻Ｔｊを超えているか否かを判定する（ステップＳＢ２）。換言すると、モデル演算装置２０ｂにおけるｉ番目とｉ＋１番目の演算時刻との間に、制御装置１０のｊ番目の演算時刻Ｔｊが到来したか否かを判定する。
【００４３】
この結果、演算時刻ｔｉと演算時刻ｔｉ＋１との間に、制御装置１０の演算時刻Ｔｊが到来していない場合には（ステップＳＢ２において「ＮＯ」）、シミュレーション実行部２２に対して次の刻み幅におけるシミュレーション実行の指示を出力する（ステップＳＢ３）。
【００４４】
一方、図５に示すように、モデル演算装置２０ｂにおけるｉ番目とｉ＋１番目の演算時刻との間に、制御装置１０のｊ番目の演算時刻Ｔｊが到来していた場合には（ステップＳＢ２において「ＹＥＳ」）、ｊ番目の演算時刻Ｔｊとｉ＋１番目の演算時刻ｔｉ＋１との差分ΔＴ２（＝ｔｉ＋１−Ｔｊ）が予め設定されている許容時間ｃを超えているか否かを判定する（ステップＳＢ４）。換言すると、ｉ＋１番目の演算時刻ｔｉ＋１が、演算時刻Ｔｊに予め設定されている所定の許容時間ｃを加えた第１時刻（＝Ｔｊ＋ｃ）を超えているか否かを判定する。
【００４５】
この結果、差分ΔＴ２が許容時間ｃ以内である場合には（ステップＳＢ４において「ＮＯ」）、演算時刻ｔｉ＋１は、演算時刻Ｔｊに十分近い時刻であると判断し、刻み幅の変更は行わずに、演算時刻Ｔｊの制御指令を演算時刻ｔｉ＋１の入力情報として制御装置１０から取得し、この制御指令をシミュレーション実行部２２に渡す（ステップＳＢ５）。
【００４６】
一方、差分ΔＴ２が許容時間ｃを超えている場合には（ステップＳＢ４において「ＹＥＳ」）、ｉ＋１番目の演算時刻ｔｉ＋１が、演算時刻Ｔｊ以降であって所定の許容時間ｃ以内に到来するように、ｉ番目からｉ＋１番目までの刻み幅ｄｔｉ´を再設定する（ステップＳＢ６）。例えば、刻み幅ｄｔｉ´は、演算時刻Ｔｊから演算時刻ｔｉ引いた値に予め設定された調整時間ｄ（ｄ≦ｃ）を加えた値（ｄｔｉ´＝Ｔｊ−ｔｉ＋ｄ）に設定される。
【００４７】
次に、ステップＳＢ６で設定した刻み幅ｄｔｉ´が、シミュレーションの実行を担保する最小刻み幅ｄｔｍｉｎ以上であるか否かを判定する（ステップＳＢ７）。この結果、変更後の刻み幅ｄｔｉ´が最小刻み幅ｄｔｍｉｎ未満である場合には（ステップＳＢ７において「ＮＯ」）、刻み幅の変更は行わずに、演算時刻Ｔｊの制御指令を演算時刻ｔｉ＋１の入力情報として制御装置１０から取得し、この制御指令をシミュレーション実行部２２に渡す（ステップＳＢ５）。
【００４８】
これに対し、刻み幅ｄｔｉ´が最小刻み幅ｄｔｍｉｎ以上である場合には（ステップＳＢ７において「ＹＥＳ」）、刻み幅をステップＳＢ６で設定した刻み幅ｄｔｉ´に変更する（ステップＳＢ８）。これにより、変更後の刻み幅ｄｔｉ´におけるｉ＋１番目の演算時刻ｔｉ＋１´は、ｔｉ＋１´＝Ｔｊ＋ｂに変更される。
このようにして刻み幅を変更すると、変更後の刻み幅ｄｔｉ´の情報をシミュレーション実行部２２に出力し、変更後の刻み幅ｄｔｉ´においてシミュレーションを再度行うよう指示をする（ステップＳＢ９）。
【００４９】
そして、変更後の刻み幅ｄｔｉ´におけるシミュレーションが終了すると、演算時刻ｔｉ＋１´から開始される次の刻み幅ｄｔｉ＋１の制御指令として、演算時刻Ｔｊの制御指令を制御装置１０から取得し、この制御指令をシミュレーション実行部２２に渡す（ステップＳＢ１０）。なお、この場合のタイムチャートが図５（ｂ２）に相当する。
【００５０】
以上、説明してきたように、本実施形態に係るシミュレータシステム１ｂ及びシミュレーション方法によれば、制御装置１０の演算時刻Ｔｊの以降かつ近傍に、モデル演算装置２０ｂによる演算時刻が到来するように、制御装置１０の演算時刻Ｔｊ付近におけるモデル演算装置２０ｂの刻み幅ｄｔｉを調整するので、より一層、実機に近い制御指令をモデル演算装置２０ｂに与えることが可能となる。これにより、制御装置１０からモデル演算装置２０ｂへのデータ受け渡し環境を実機に近づけることが可能となり、シミュレーション精度を向上させることが可能となる。
【００５１】
ここで、本実施形態においても、上記第１実施形態と同様に、第２刻み幅変更部２４を中継装置に設けることとしても良い。
また、本施形態においても、センサの計測遅れやデータ通信の遅延などによって生ずるデータ授受の遅延を考慮して、上述した制御装置１０の演算時刻Ｔｊにおける制御指令に代えて、演算時刻Ｔｊよりも前の演算時刻（例えば、Ｔｊ−１）における制御指令を、モデル演算装置２０ｂにおける演算時刻ｔｉ＋１の入力情報として与えることとしてもよい。この場合においても、何周期前における制御指令を与えるのかについては、予め決定しておく必要がある。
【００５２】
〔第３実施形態〕
次に、本発明の第３実施形態に係るシミュレータシステム１ｃ及びシミュレーション方法について図を参照して説明する。本実施形態は、上述した第１実施形態及び第２実施形態を組み合わせたものである。以下、図を参照して本実施形態に係るシミュレータシステム１ｃ及びシミュレーション方法について簡単に説明する。
【００５３】
図７は、本実施形態に係るシミュレータシステム１ｃの概略構成を示した図である。図７に示すように、本実施形態に係るモデル演算装置２０ｃは、第１刻み幅変更部２１と、シミュレーション実行部２２と、第２刻み幅変更部２４とを備えている。
図８は、本実施形態に係るシミュレータシステム１ｃの制御装置１０及びモデル演算装置２０ｃにおける演算周期の一例を示したタイムチャートである。
【００５４】
図８に示すように、本実施形態に係るシミュレータシステム１ｃによれば、第１刻み幅変更部２１の作用により、図８（２ｂ）に示されるように、制御装置１０の演算時刻Ｔｊの以前かつ近傍に、モデル演算装置２０ｃによる演算時刻ｔｉ＋１が到来するように、制御装置１０の演算時刻Ｔｊ付近におけるモデル演算装置の刻み幅ｄｔｉが変更される。更に、第２刻み幅変更部２４の作用により、制御装置１０の演算時刻Ｔｊの以降かつ近傍に、モデル演算装置２０ｃによる演算時刻ｔｉ＋２が到来するように、制御装置１０の演算時刻Ｔｊ付近におけるモデル演算装置２０ｃの刻み幅ｄｔｉ＋１が変更される。
これにより、制御装置１０とモデル演算装置２０ｃとの間でのデータの授受の環境を実機に一層近づけることが可能となり、シミュレーション精度をより一層向上させることが可能となる。
【００５５】
また、本実施形態においても、センサの計測遅延等による制御装置１０とモデル演算装置２０ｃとの間のデータ遅延を加味して、演算周期をずらしてシミュレーションの取り込み、及び、制御指令の出力を行うこととしてもよい。図９は、本実施形態において、制御装置１０からモデル演算装置２０ｃへのデータ送信及びモデル演算装置２０ｃから制御装置１０へのデータ送信にそれぞれ１周期の信号遅延を持たせた場合のタイミングチャートの一例を示した図である。
【００５６】
〔第４実施形態〕
次に、本発明の第４実施形態に係るシミュレータシステム１ｄ及びシミュレーション方法について図を参照して説明する。上述した第１実施形態から第３実施形態では、モデル演算装置２０ａ〜２０ｃにおける演算周期（刻み幅）を調整することにより、実機に近いデータの授受を実現するものであったが、本実施形態は、制御装置１０へ与える出力値を内挿補間により取得し、この値を制御装置１０へ出力する点で上記各実施形態と異なる。
以下、第１実施形態と共通する点については説明を省略し、異なる点について主に説明する。
【００５７】
図１０は、本実施形態に係るシミュレータシステム１ｄの概略構成を示した図である。
図１０に示すように、本実施形態に係るモデル演算装置２０ｄは、第１実施形態に係る第１刻み幅変更部２１に代えて内挿補間部２５を備えている。
図１１は、本実施形態に係る制御装置１０及びモデル演算装置２０ｄの演算周期の一例を示したタイムチャート、図１２は、内挿補間部２５の処理手順を示したフローチャートである。
【００５８】
以下、本実施形態に係る内挿補間部２５について図１１及び図１２を参照して説明する。
まず、シミュレーション実行部２２により、ある時点におけるｉ（ｉは１以上の整数）番目の演算時刻ｔｉからｉ＋１番目の演算時刻ｔｉ＋１までの刻み幅ｄｔｉにおけるシミュレーションが実行され、そのシミュレーションが終了すると、その旨が内挿補間部２５に通知される（図１２のステップＳＣ１）。
内挿補間部２５は、この情報を受けると、ｉ＋１番目の演算時刻ｔｉ＋１が、制御装置１０におけるｊ番目の演算時刻Ｔｊを超えているか否かを判定する（ステップＳＣ２）。換言すると、モデル演算装置２０ｃにおけるｉ番目とｉ＋１番目の演算時刻との間に、制御装置１０のｊ番目の演算時刻Ｔｊが到来したか否かを判定する。
【００５９】
この結果、演算時刻ｔｉと演算時刻ｔｉ＋１との間に、制御装置１０の演算時刻Ｔｊが到来していない場合には（ステップＳＣ２において「ＮＯ」）、シミュレーション実行部２２に対して次の刻み幅におけるシミュレーション実行の指示を出力する（ステップＳＣ３）。
【００６０】
一方、図１２に示すように、モデル演算装置２０ｃにおけるｉ番目とｉ＋１番目の演算時刻との間に、制御装置１０のｊ番目の演算時刻Ｔｊが到来していた場合には（ステップＳＣ２において「ＹＥＳ」）、内挿補間部２５は、演算時刻ｔｉにおけるシミュレーション結果と演算時刻ｔｉ＋１におけるシミュレーション結果とを内挿補間することにより、演算時刻Ｔｊから所定の調整時間ｅを引いた時刻Ｔｊｅにおけるシミュレーション結果を得、この値を制御装置１０に出力する（ステップＳＣ４）。
ここで、所定の調整時間ｅは、実機におけるデータ送受信の遅延量に相当する値である。実際のプラントでは、プラントのプロセス値が制御装置１０に入力されるまでに所定の遅延が生じるため、ここでもその遅延量を与えることにより、より一層実機に近い状況を作り出すこととしている。
【００６１】
上述したように、本実施形態によれば、演算時刻Ｔｊから所定の調整時間ｅを引いた時刻Ｔｊｃにおけるシミュレーション結果に相当する値を制御装置１０に渡すので、一層実機に近い出力値を制御装置１０に渡すことが可能となる。
【００６２】
また、本実施形態においても、センサの計測遅延等による制御装置１０とモデル演算装置２０ｄとの間のデータ遅延を加味して、演算周期をずらしてシミュレーションの取り込み、及び、制御指令の出力を行うこととしてもよい。
【符号の説明】
【００６３】
１ａ〜１ｄ  シミュレータシステム
１０  制御装置
２０ａ〜２０ｄ  モデル演算装置
２１  第１刻み幅変更部
２２  シミュレーション実行部
２４  第２刻み幅変更部
２５  内挿補間部
【図１】
2014063391.tif 000003
【図２】
2014063391.tif 000004
【図３】
2014063391.tif 000005
【図４】
2014063391.tif 000006
【図５】
2014063391.tif 000007
【図６】
2014063391.tif 000008
【図７】
2014063391.tif 000009
【図８】
2014063391.tif 000010
【図９】
2014063391.tif 000011
【図１０】
2014063391.tif 000012
【図１１】
2014063391.tif 000013
【図１２】
2014063391.tif 000014
【図１３】
2014063391.tif 000015