説明

シミュレータ構築装置およびシミュレータ構築方法

【課題】部品モジュールの接続が限定されない系統モデルを構築可能な装置及び方法を提供する。
【解決手段】シミュレータ構築装置20は、入力手段22から受け付けた情報に従い部品モジュールを配置し結線する処理部38と、配置し結線した部品モジュールの種類、個数および並び順を判断する処理部39と、部品モジュールの種類と当該種類に対応するソースコードとを関連付けた部品基本ソースプログラム32と部品モジュールのプロトコル設定の情報を含むソース生成ルール情報33を参照し、各部品モジュールのソースコードをそれぞれ生成する処理部40と、何れかの部品モジュールを制御する旨の情報と、部品モジュールと同じプロトコルで各部品モジュールと通信する旨の情報とを有する組み上げルール情報34を参照し、部品モジュールを制御するメインモジュールのソースコードを組み上げる処理部41とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シミュレータ構築装置およびシミュレータ構築方法に関する。
【背景技術】
【0002】
例えば、プラントを対象としたシミュレータでは、プラントの実機と近い環境を作るために多くの機器を模擬するプラントモデル作成システムやプラント模擬装置が提案されている。このような多くの機器を模擬するプラントモデル作成システムやプラント模擬装置では、そのソフトウェアの量は通常膨大なものであり、その開発・製作・保守には多大な労力を要している。
【0003】
上記の様な事情に鑑みて、プラントモデル作成システム等に関わるソフトウェア開発・製作・保守の労力軽減化を図った種々の技術が提案されている。例えば、特開2011−34179号公報(特許文献1)に記載されるように、プラントを対象としたシミュレータを構築する技術の一例としては、弁、ポンプ、タンクなどの機器を部品モジュールとして作成し、作成した部品モジュールを接続してプラントの系統モデルを作成することによってプラントを対象としたシミュレータを構築する技術がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011−34179号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1等に記載されるような従来のシミュレータを構築する技術では、既存のソースを流用する等、事前に準備していたソースプログラムを用いて予め部品のモデルとなる部品モジュールを作成している。そのため、部品モジュールを接続して系統モデルを作成する場合でも、決まった部品モジュールとの接続に限られていた。従って、既存の部品モジュールを接続して系統モデルを構築できない場合には、当該系統モデルを作成するための部品モジュール(以下、「特殊部品モジュール」と称する。)を新たに作成する必要が生じ、系統モデルの作成が効率的に行えない場合があるという課題がある。
【0006】
また、特殊部品モジュールは、機能が限定されてしまうため、汎用性に乏しく、他の系統モデルに流用し難い上、単体の既存部品で対応できない場合には、その都度、特殊部品モジュールを作成する必要がある。
【0007】
例えば、弁、ポンプなどの部品化された部品モジュールをグラフィカルユーザインターフェイス(Graphical User Interface:GUI)により、配置、結線して系統モデルを構築する従来のシミュレータの場合、当該系統モデルを構成する部品モジュールのソースプログラムは予め準備されているものであるため、構築する系統モデルにおいて、弁部品等が単体の弁部品を組み合わせたものでは対応できない場合が生じる。この場合、当該系統モデルを構築するのに必要な部品モジュールおよびそのソースプログラムを予め準備する必要がある。
【0008】
より具体的な例として、プラントにおける系統の一部として、例えば、液体等が流れるパイプおよび弁で構成された流路を模擬する場合を説明する。
【0009】
流路を模擬する際には、常に上流の状態を考慮して下流の状態を判断する必要がある。例えば、パイプに一つの弁が設置されている流路であれば、その弁の状態のみを考慮すれば良いが、パイプに二つの弁が直列に設置されている流路においては、下流側の弁が開いていても、上流側の弁が閉じているのであれば、この流路に液体を流そうとしても流れない。二つの弁が直列に設置されている流路の場合には、両方の弁がともに「開」の状態、すなわち、二つの弁が両方とも開いている状態にあって初めて液体が流れ、流量等の液体の流れに関する物理量が検出される。
【0010】
このことを、ソースプログラム(式)で示すと、弁単体で構成される流路の流量を求めるソースプログラムは、Fを流路の流量、Fcを弁の定格流量、Zvを弁の開度とすると、以下の式(1)のように表すことができる。
【0011】
F = Fc * Zv ・・・(1)
【0012】
一方、上記式(1)の場合と同一の定格流量Fcを有する二つの弁(第1の弁と第2の弁)を直列に設置した流路における流量を求めるソースプログラムは、Fが流路の流量、Fcが弁の定格流量、Zv1およびZv2が第1の弁の開度および第2の弁の開度とすると、以下の式(2)のように表すことができる。
【0013】
F = Fc * Zv0 * Zv1 ・・・(2)
【0014】
このように、弁単体で構成される流路と同じ弁を直列に二つ配置した流路とでは、同じ弁を設置して構成される流路であっても、ソースプログラムが異なるため、使用する弁の配置毎、すなわち、流路の構成毎に部品モジュールを作成する必要が生じている。そうなると、一から系統モデルの構築する場合と同様の負担が生じてしまうため、系統モデルの作成が効率的に行えない場合があるという課題がある。
【0015】
さらに、部品モジュール間のインターフェースが必ずしも共通化されたものではなく、この様な場合には、部品モジュールを接続する際にインターフェースの属性を考慮する必要があるため、系統モデルの作成が効率的に行えない場合があるという課題がある。これは、既存のソースプログラムを部品モジュールに設定する、あるいは、予め使用される状況を想定したソースプログラムを設定するためである。
【0016】
本発明は、上述した課題を解決するためになされたものであり、部品モジュールの接続が限定されない系統モデルを構築できるシミュレータ構築装置およびシミュレータ構築方法を提供することを目的とする。
【課題を解決するための手段】
【0017】
本発明の実施形態に係るシミュレータ構築装置は、上述した課題を解決するため、シミュレーションを実行する系統の構成部品となる部品のモデルである部品モジュールを配置して結線することによって前記部品モジュールと前記部品モジュールを制御するメインモジュールとを備え、前記部品モジュールと前記メインモジュールとが共通のプロトコルに従って情報をやりとりする前記系統のモデルを構築するシミュレータ構築処理手段を具備し、前記シミュレータ構築処理手段は、入力手段から受け付けた前記系統の構成部品となる部品モジュールを配置および結線する情報に従って前記部品モジュールを配置して結線する部品配置結線処理部と、前記部品配置結線処理部が配置して結線する前記部品モジュールの種類、個数および並び順を判断する系統構成・部品順序判断処理部と、前記部品モジュールの種類と当該部品モジュールの種類に対応するソースコードとが関連付けられた部品基本ソースプログラムと前記部品モジュールについて前記共通のプロトコルを設定する情報を含んだソース生成ルール情報とを参照して、前記ソース生成ルール情報に、前記部品モジュールのソースコードと、当該部品モジュールの識別情報であるIDと、当該部品モジュールの名称の情報と、部品基本ソースコードに含まれる変数の情報とを付加して前記部品モジュールのソースコードをそれぞれ生成する部品ソース生成部と、前記メインモジュールが何れかの部品モジュールを制御する旨の情報と、前記部品モジュールと同じプロトコルで各部品モジュールと通信する旨の情報とを有する前記メインモジュールのソースコードのテンプレート情報を含む組み上げルール情報を参照して、前記メインモジュールの前記テンプレート情報に、前記系統のモデルの外部から入力される変数および外部へ出力する変数の情報と、制御対象となる個々の部品モジュールに付される名称の情報、IDの情報、使用する変数および前記メインモジュールと前記制御対象となる個々の部品モジュールとの間で情報を授受する順序の情報を付加して前記メインモジュールのソースコードを組み上げるメインソース組み上げ処理部と、を備えることを特徴とする。
【0018】
本発明の実施形態に係るシミュレータ構築方法は、上述した課題を解決するため、コンピュータを用いて、シミュレーションを実行する系統の構成部品となる部品のモデルである部品モジュールを配置して結線することによって前記部品モジュールと前記部品モジュールを制御するメインモジュールとを備え、前記部品モジュールと前記メインモジュールとが共通のプロトコルに従って情報をやりとりする前記系統のモデルを構築する方法であり、部品配置結線処理部が、入力手段から受け付けた前記系統の構成部品となる部品モジュールを配置および結線する情報に従って前記部品モジュールを配置して結線する部品配置結線処理ステップと、系統構成・部品順序判断処理部が、前記部品配置結線処理ステップで配置され結線された前記部品モジュールの種類、個数および並び順を判断する系統構成・部品順序判断処理ステップと、部品ソース生成部が、前記部品モジュールの種類と当該部品モジュールの種類に対応するソースコードとが関連付けられた部品基本ソースプログラムと前記部品モジュールについて前記共通のプロトコルを設定する情報を含んだソース生成ルール情報とを参照して、前記ソース生成ルール情報に、前記部品モジュールのソースコードと、当該部品モジュールの識別情報であるIDと、当該部品モジュールの名称の情報と、部品基本ソースコードに含まれる変数の情報とを付加して前記部品モジュールのソースコードをそれぞれ生成する部品ソース生成ステップと、メインソース組み上げ処理部が、前記メインモジュールが何れかの部品モジュールを制御する旨の情報と、前記部品モジュールと同じプロトコルで各部品モジュールと通信する旨の情報とを有する前記メインモジュールのソースコードのテンプレート情報を含む組み上げルール情報を参照して、前記メインモジュールの前記テンプレート情報に、前記系統のモデルの外部から入力される変数および外部へ出力する変数の情報と、制御対象となる個々の部品モジュールに付される名称の情報、IDの情報、使用する変数および前記メインモジュールと前記制御対象となる個々の部品モジュールとの間で情報を授受する順序の情報を付加して前記メインモジュールのソースコードを組み上げるメインソース組み上げ処理ステップと、を備えることを特徴とする。
【発明の効果】
【0019】
本発明によれば、モデルを作成する際の効率を従来よりも高めることができる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施形態に係るシミュレータ構築装置および構築方法の概念を従来のものと対比して説明する説明図であり、(A)は系統の結線図、(B)は従来のシミュレータ構築装置および構築方法によって作成した系統モデルの処理の流れを説明する説明図、図1(C)は本発明の実施形態に係るシミュレータ構築装置および構築方法によって作成した系統モデルの処理の流れを説明する説明図。
【図2】本発明の実施形態に係るシミュレータ構築装置の構成を示す概略図。
【図3】部品基本ソースプログラム、ソース生成ルール情報並びに部品基本ソースプログラムおよびソース生成ルール情報を用いて生成される部品ソースの一例を示す説明図であり、(A)が部品基本ソースプログラムの一例を示す説明図、(B)がソース生成ルール情報の一例を示す説明図、(C)が部品ソースの一例を示す説明図。
【図4】組み上げルール情報と、組み上げルール情報に基づいて組み上げられたメインソースの一例を示す説明図であり、(A)が組み上げルール情報、(B)が図1(C)に示される系統モデルにおけるメインモジュールのメインソースの一例を示す説明図。
【図5】本発明の実施形態に係るシミュレータ構築装置を用いてユーザが行う操作手順を説明する説明図。
【図6】本発明の実施形態に係るシミュレータ構築装置が実行する系統モデル構築処理手順の処理工程を示した処理フロー図。
【図7】本発明の実施形態に係るシミュレータ構築方法の一例である系統モデル構築処理手順が具備する部品ソース生成処理工程のより詳細な処理内容を示した処理フロー図。
【図8】本発明の実施形態に係るシミュレータ構築方法の一例である系統モデル構築処理手順が具備するメインソース組み上げ処理工程のより詳細な処理内容を示した処理フロー図。
【図9】本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法によって構築された系統モデルの一例について構成を示す概略図。
【図10】系統の一例である模擬系統および当該模擬系統をモデル化した系統モデルの構成を説明する図であり、(A)は模擬系統の構成を説明する説明図、(B)は模擬系統をモデル化した系統モデルの構成を説明する説明図。
【図11】図10に示される系統モデルのシミュレーション実行時における動作例を示す説明図。
【図12】本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法によって構築された系統モデルのシミュレーション実行時におけるメインモジュールと各部品モジュールの共通バスにおける伝送状態を示した波形図。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法について、添付の図面を参照して説明する。
【0022】
本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法は、シミュレーションを実行する系統(システム)のモデル(以下、「系統モデル」と称する。)を、当該系統を構成する部品のモデルである部品モジュールと、部品モジュールの構成、接続および状態を管理し、個々の部品モジュールで計算させた結果を取得し、取得した結果を用いて計算するメインモジュールとを備え、各部品モジュールとメインモジュールとが共通する通信規約(共通プロトコル)によって情報の授受を可能に接続して構成したものである。
【0023】
従来、シミュレーションを実行する系統を構成する部品のモデルである部品モジュールを接続して構築した系統モデルにおいて、当該部品モジュールの接続順に順を追って(シーケンシャルに)計算を行っていたものを、本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法では、系統モデルを構成する部品モジュールで個々の計算を行い、その計算結果の情報をメインモジュールで管理して最終的な計算結果を得るようにしたものである。すなわち、本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法は、従来は各部品モジュールを接続して系統モデルとなる単一の計算処理実行体(モジュール)を構築していたのに対して、メインモジュールと部品モジュールとが情報をやりとりするモジュールの結合体を構築する点で相違する。
【0024】
図1は、本発明の実施形態に係るシミュレータ構築装置および構築方法の概念を従来のものと対比して説明する説明図である。より詳細には、図1(A)は系統の結線図、図1(B)は従来のシミュレータ構築装置および構築方法によって図1(A)に示される系統の系統モデルを作成した場合における系統モデルの処理の流れを説明する説明図、図1(C)は本発明の実施形態に係るシミュレータ構築装置および構築方法によって図1(A)に示される系統の系統モデルを作成した場合における系統モデルの処理の流れを説明する説明図である。
【0025】
図1(A)に示される系統は、一例として、配管2と弁3(3a,3b,3c,3d)とを接続して構成された流路4である。
【0026】
系統の一例である流路4は、第1の弁3aが配置された主流路4aから第1の弁3aの下流側で二つの分岐流路4b,4cに分岐し、分岐流路4bに配置された第2の弁3bの下流側と分岐流路4cに配置された第4の弁3dの下流側で合流流路4dに合流する。なお、弁3a,3b,3c,3dは、何れも同じ弁とする。
【0027】
図1(B)に示される従来の系統モデル5は、以下の式(3)〜(5)の式で表される計算を順次行い、流路4の出口流量Foutを計算する単一のモジュールである。系統モデル5では、まず、入力条件として与えられる分岐流路4bに流入する流量Fin1および分岐流路4cに流入するFin2とを用いて、分岐流路4bを流れる流量F1および分岐流路4cを流れる流量F2を計算する。
【0028】
流量F1,F2は、第1の弁3aの開度をZv1、第2の弁3bの開度をZv2、第3の弁3cの開度をZv3および第4の弁3dの開度をZv4とすると、それぞれ、以下の式(3),(4)で計算される。
【0029】
F1 = Fin1 * Zv1 * Zv2 ・・・(3)
F2 = Fin2 * Zv1 * Zv3 *Zv4 ・・・(4)
【0030】
流量F1および流量F2を計算した後は、計算の結果、得られた流量F1および流量F2を以下の式(5)に従って加算し、合流流路4dの流量、すなわち、流路4の出口流量Foutを計算する。
【0031】
Fout = F1 + F2 ・・・(5)
【0032】
一方、図1(C)に示される系統モデル7は、メインモジュール8と、少なくとも一つ以上の部品モジュール9(図1(C)に示される例では、部品モジュール9a,9b,9c,9d,9e,9f)とを備え、メインモジュール8が部品モジュール9と情報の授受を行う。
【0033】
メインモジュール8は個々の部品モジュール9a,9b,9c,9d,9e,9fの接続状態を把握しており、受け取った情報をどの部品モジュール9(9a,9b,9c,9d,9e,9f)に与えるかまたは最終結果として出力するかを管理する機能を有する。
【0034】
また、部品モジュール9(9a,9b,9c,9d,9e,9f)は、例えば、弁3等の同じ機器の単位で構成される部品モデルである。図1(C)に示される部品モジュール9の例は、四つの弁3a,3b,3c,3dに対応する弁の部品モジュール(以下、「弁モジュール」と称する。)9a,9b,9c,9dと、一つの流路である主流路4aから二つの流路である分岐流路4b,4cに分岐する流路に対応する分岐の部品モジュール(以下、「分岐モジュール」と称する。)9eと、二つの流路である分岐流路4b,4cから一つの流路である合流流路4dに合流する流路に対応する合流の部品モジュール(以下、「合流モジュール」と称する。)9fである。
【0035】
系統モデル7では、まず、入力条件として与えられる主流路4aに流入する流量Finをメインモジュール8が受け取る。メインモジュール8は、受け取った流量Finの情報を、主流路4aにおいてFinの流量が流入する第1の弁3aについての部品モジュール(以下、「第1の弁モジュール」と称する。)9aに与える。
【0036】
図1(C)に示される系統モデル7では、弁モジュール9a,9b,9c,9dは、何れも以下の式(6)を演算するように構成されている。
【0037】
弁の出口の流量=弁の入口の流量×弁の開度 ・・・(6)
【0038】
第1の弁モジュール9aは、メインモジュール8から流量Finの情報を受け取ると、上記式(6)を用いて計算する。第1の弁モジュール9aでは、入口の流量がFinなので、第1の弁3aの開度をZv1、第1の弁3aの出口の流量をF1とすれば、上記式(6)は、以下の式(6a)となる。
【0039】
F1 = Fin * Zv1 ・・・(6a)
【0040】
第1の弁モジュール9aは、メインモジュール8から受け取った流量Finの情報と上記式(6a)に基づいて、第1の弁3aの出口の流量F1を算出し、得られた結果を、メインモジュール8へ与える。
【0041】
続いて、メインモジュール8は、第1の弁モジュール9aから受け取った第1の弁3aの出口の流量F1を、第1の弁モジュール9aの下流側に接続される分岐モジュール9eに与える。
【0042】
分岐モジュール9eは、分岐モジュール9eの入口の流量は流量F1として、以下の式(7),(8)で与えられる分岐流路4bを流れる流体の流量F01および分岐流路4cを流れる流体の流量F02を計算する。ここで、下記式(7)に記される「rate」は、主流路4aから分岐流路4b側へ分岐する割合である。
【0043】
F01 = F1 * rate ・・・(7)
F02 = F1 − F01 ・・・(8)
【0044】
分岐モジュール9eは、分岐流路4bおよび分岐流路4cの流量F01,F02を算出し、得られた結果を、メインモジュール8へ与える。
【0045】
続いて、メインモジュール8は、分岐モジュール9eから受け取った分岐流路4bの流量F01を、分岐モジュール9eの下流側に位置する分岐流路4b側の第2の弁3bについての部品モジュール(以下、「第2の弁モジュール」と称する。)9bへ与える。また、メインモジュール8は、分岐モジュール9eから受け取った分岐流路4cの流量F02を、分岐モジュール9eの下流側に位置する分岐流路4c側の第3の弁3cについての部品モジュール(以下、「第3の弁モジュール」と称する。)9cへ与える。
【0046】
第2の弁モジュール9bおよび第3の弁モジュール9cは、それぞれ、メインモジュール8から分岐流路4bの流量F01および分岐流路4cの流量F02の情報を受け取ると、上記式(6)を用いて計算する。ここで、それぞれの弁3b,3cの開度をZv2,Zv3、弁3b,3cの出口の流量をF2,F3とすれば、弁モジュール9b,9cは、それぞれの弁入口における流量がF01,F02なので、上記式(6)は、それぞれ、以下の式(6b),(6c)となる。
【0047】
F2 = F01 * Zv2 ・・・(6b)
F3 = F02 * Zv3 ・・・(6c)
【0048】
第2の弁モジュール9bおよび第3の弁モジュール9cは、メインモジュール8から受け取った流量F01,F02の情報と上記式(6b),(6c)に基づいて、第2の弁3bの出口の流量F2および第3の弁3cの出口の流量F3を算出し、得られた結果を、メインモジュール8へ与える。
【0049】
続いて、メインモジュール8は、第2の弁モジュール9bから受け取った第2の弁3bの出口の流量F2を第2の弁モジュール9bの下流側に接続される合流モジュール9fに与え、第3の弁モジュール9cから受け取った第3の弁3cの出口の流量F3を第3の弁モジュール9cの下流側に接続される第4の弁3dについての部品モジュール(以下、「第4の弁モジュール」と称する。)9dに与える。
【0050】
第4の弁モジュール9dは、メインモジュール8から第3の弁3cの出口の流量F3の情報を受け取ると、上記式(6)を用いて計算する。第4の弁モジュール9dでは、入口の流量がF3なので、第4の弁3dの開度をZv4、第4の弁3dの出口の流量をF4とすれば、上記式(6)は、以下の式(6d)となる。
【0051】
F4 = F3 * Zv4 ・・・(6d)
【0052】
第4の弁モジュール9dは、メインモジュール8から受け取った流量F3の情報と上記式(6d)に基づいて、第4の弁3dの出口の流量F4を算出し、得られた結果を、メインモジュール8へ与える。
【0053】
続いて、メインモジュール8は、第4の弁モジュール9dから受け取った第4の弁3dの出口の流量F4を、第4の弁モジュール9dの下流側に接続される合流モジュール9fに与える。
【0054】
合流モジュール9fは、分岐流路4bを流れる流体F2および分岐流路4cを流れる流体の流量F4として、以下の式(9)で与えられる合流流路4dを流れる流体の流量Foutを計算する。
【0055】
Fout = F2 + F4 ・・・(9)
【0056】
合流モジュール9fは、合流流路4dを流れる流体の流量Foutを算出すると、得られた結果を、メインモジュール8へ与える。メインモジュール8は、最終(最下流)の構成要素である合流モジュール9fから算出結果を受け取ると、合流モジュール9fから受け取った結果、すなわち、合流流路4dを流れる流量Foutを流路4の出口流量として出力する。
【0057】
このように、本発明の実施形態に係るシミュレータ構築装置および構築方法によって作成された系統モデル7は、各部品モジュール9の入出力をメインモジュールによって管理(制御)、すなわち、メインモジュール8で中央管理する。
【0058】
図2は、本発明の実施形態に係るシミュレータ構築装置の一例であるシミュレータ構築装置20の構成を示す概略図である。
【0059】
シミュレータ構築装置20は、例えば、ハードウエア資源であるコンピュータとソフトウェア資源であるシミュレータ構築処理プログラム(以下、プログラムをPGと省略する。)21とが協働することによって実現される。シミュレータ構築装置20は、操作の入力を受け付ける入力手段22と、処理実行結果等の視覚的な情報をユーザに提示する表示手段23と、シミュレーションを実行する系統(システム)のモデル(以下、「系統モデル」と称する。)の構成部品となる部品のモデルを配置して結線することによって系統モデルを構築するシミュレータ構築処理手段24と、シミュレータ構築処理手段24で構築した系統モデルによってシミュレーションを実行するシミュレーション実行手段25と、プログラム、ファイル、データベース(以下、「DB」と省略する。)等の電子的な情報を記憶して格納可能な記憶領域を有する記憶手段26と、各手段22,23,24,25,26と情報をやりとりし、各手段22,23,24,25,26をそれぞれ制御する制御手段27と、を具備する。
【0060】
ここで、符号31,32,33,34は、それぞれ、シミュレータ構築処理手段24が系統モデルを構築する際に参照する部品モジュールDB、部品基本ソースPG、ソース生成ルール情報および組み上げルール情報である。また、符号36は、シミュレータ構築処理手段24が構築した系統モデルについてのプログラムソース(以下、「系統モデルプログラムソース」と称する。)である。
【0061】
シミュレータ構築処理手段24は、部品配置結線処理部38と、系統構成・部品順序判断処理部39と、部品ソース生成部40と、メインソース組み上げ処理部41と、を備える。
【0062】
部品配置結線処理部38は、グラフィカルユーザインターフェイス(Graphical User Interface:GUI)をユーザに提供する機能(GUI機能)と、入力手段22が受け付けた部品モジュール(部品モデル)および当該部品モジュールを配置する位置についての情報に基づいて、当該部品モジュールを指定された位置に配置する機能(部品モジュール配置機能)と、指定された二つの部品モジュールを結線する機能(部品モジュール結線機能)と、を有する。
【0063】
部品配置結線処理部38は、GUI機能を用いて、ユーザに配置および結線する部品モジュールを指定する操作の入力を入力手段22の一例であるポインティングデバイスを操作して行うことができる環境(インターフェイス)を提供する。また、部品配置結線処理部38は、部品モジュール配置機能と部品モジュール結線機能とを用いて、指定された部品モジュールの配置および結線を行う。
【0064】
系統構成・部品順序判断処理部39は、部品配置結線処理部38が部品モジュールを配置し結線することによって構築される系統モデルの構成、すなわち、系統モデルを構成する部品モジュールの種類および個数を判断する機能(構成判断機能)と、系統モデルを構成する部品モジュールの並び順を判断する機能(順序判断機能)と、を有する。
【0065】
系統構成・部品順序判断処理部39は、部品モジュールのアイコン(図柄)と当該アイコンに対応する部品モジュールの名称またはサブルーチン名とを関連付けた情報を有する部品モジュールDB31を参照するとともに、構成判断機能および順序判断機能を用いて、部品配置結線処理部38が配置した部品モジュールのアイコンと対応する部品モジュールの名称またはサブルーチン名の情報を取得する。また、部品配置結線処理部38が配置した部品モジュールのアイコンの個数および配置場所から、構築される系統モデルを構成する部品モジュールの個数およびその並び順を判断する。
【0066】
部品ソース生成部40は、部品基本ソースPG32およびソース生成ルール情報33を参照して、系統構成・部品順序判断処理部39が判断した系統モデルを構成する部品モジュールのソースコードを生成する機能(部品ソース生成機能)を有する。
【0067】
ここで、部品基本ソースPG32は、部品モジュールとして予め作成される部品の種類と当該部品の種類に対応する部品基本ソースコードとが関連付けられた情報である。部品基本ソースコードは、部品モジュールのソースコード(部品ソース)の基本情報であり、実行文に相当する情報である。同じ部品についての部品モジュールでは同じになる。
【0068】
また、ソース生成ルール情報33は、部品基本ソースコードから部品ソースを生成する際に行う処理内容(ルール)を規定した情報であり、部品モジュール間でプロトコルを共通化する情報、すなわち、部品モジュールのインターフェースを設定する情報を含んだ、いわば、部品ソースのテンプレートとなる情報(以下、「部品ソーステンプレート情報」と称する。)である。
【0069】
部品ソース生成部40は、部品基本ソースPG32およびソース生成ルール情報33を参照し、系統構成・部品順序判断処理部39が判断した系統モデルを構成する部品モジュールとして作成される部品の種類に対応する部品基本ソースコードおよび部品ソーステンプレート情報を取得し、部品基本ソースコードと、当該部品モジュールの識別情報であるIDと、当該部品モジュールの名称(サブルーチンの名称)の情報と、部品基本ソースコードに含まれる変数の情報を部品ソーステンプレート情報に付加して、当該部品モジュールの部品ソースを生成する。
【0070】
メインソース組み上げ処理部41は、メインモジュールとして個々の部品モジュールを管理するメインソースのテンプレート情報(以下、「メインソーステンプレート情報」と称する。)を有する組み上げルール情報34を参照して、メインソーステンプレート情報を取得し、メインソーステンプレート情報を有するメインモジュールを生成する機能(メインモジュール生成機能)と、系統構成・部品順序判断処理部39が判断した系統モデルを構成する部品モジュールを管理するメインモジュールと外部との入力および出力の設定を行う機能(外部入出力設定機能)と、管理する部品モジュールを設定する機能(管理対象設定機能)と、メインモジュールとメインモジュールの管理対象となる部品モジュールとの情報授受の順番、すなわち、系統モデルにおいて何れの部品モジュールから処理を実行するかの順番を設定する機能(処理順番設定機能)と、を有する。
【0071】
ここで、メインソーステンプレート情報は、メインモジュールが何れかの部品モジュールを管理(制御)する旨の情報と、部品モジュールと共通のプロトコル(共通プロトコル)で部品モジュールと通信する旨の情報とを有する、いわば、メインソースのテンプレートとなる情報である。
【0072】
メインソース組み上げ処理部41は、メインモジュール生成機能を用いて、メインソーステンプレート情報を有するメインモジュールを生成する。続いて、メインソース組み上げ処理部41は、外部入出力設定機能を用いて、メインソーステンプレート情報に、外部から入力される変数および外部へ出力する変数の情報を付加する。
【0073】
さらに、メインソース組み上げ処理部41は、管理対象設定機能および処理順番設定機能を用いて、メインソーステンプレート情報に、管理対象となる個々の部品モジュールに付されるサブルーチンの名称、IDの情報、サブルーチンの実行で使用する変数、および、メインモジュールと部品モジュールとの間で情報を授受する順序の情報を含む管理部品モジュール情報を付加(設定)して部品配置結線処理部38が配置し結線した個々の部品モジュールを制御するメインモジュールとして設定し、メインソースの組み上げを完了する。
【0074】
メインソース組み上げ処理部41が、メインソースの組み上げを完了すると、メインモジュールとメインモジュールの管理対象となる部品モジュールの各々とは共通プロトコルで情報の授受が可能に接続される。換言すれば、メインモジュールとメインモジュールの管理対象となる部品モジュールを有し、メインモジュールとメインモジュールの管理対象となる部品モジュールの各々とは共通プロトコルで情報の授受が可能に接続された系統モデルの系統モデルプログラムソース36が生成される。
【0075】
なお、図2に示されるシミュレータ構築装置20は、シミュレーション実行手段25を具備する場合の例であるが、シミュレータ構築処理手段24で構築した系統モデルによるシミュレーションの実行を自装置(シミュレータ構築装置)20内で行うことを想定していない場合等を考慮してシミュレーション実行手段25を具備しないシミュレータ構築装置20を構成しても良い。
【0076】
図3は部品基本ソースPG32、ソース生成ルール情報33並びに部品基本ソースPG32およびソース生成ルール情報33を用いて生成される部品ソース43の一例を示す説明図である。より詳細には、図3(A)が部品基本ソースPG32の一例を示す説明図、図3(B)がソース生成ルール情報33の一例を示す説明図、図3(C)が部品ソース43の一例を示す説明図である。
【0077】
部品基本ソースPG32は、部品モジュールとして予め作成される部品の種類を示す「サブルーチン名」と各サブルーチン名に対応する部品基本ソースコードが規定される。部品基本ソースコードとは、部品ソースにおける実行文に相当する情報であり、例えば、図3(A)に示されるように、弁(valve)ならば、「Fout=Fin*Zv」である。なお、Foutは弁の流出流量、Finは流入流量、Zvは弁の開度である。
【0078】
ソース生成ルール情報33は、部品モジュールの部品ソーステンプレート情報が規定される。部品ソーステンプレート情報には、系統モデルプログラムソース36において部品モジュールとメインモジュールとを接続する共通バスのプロトコルであるリクエスト(REQ)、レスポンス(RES)および部品モジュールを識別する識別情報を示す変数IDinの情報を含んでいる。生成後の部品ソース43と比較すると、部品基本ソースコードと、この部品基本ソースコードで使用される変数の情報と、部品モジュールを個別に識別する識別情報としてのIDと、サブルーチン名(部品モジュールの名称)の情報とが存在していない状態である。
【0079】
図3(C)は、部品基本ソースPG32およびソース生成ルール情報33を用いて生成される部品ソース43の一例を説明する説明図である。
【0080】
部品ソース43は、部品ソース生成部40が、部品基本ソースPG32を参照することで取得した部品基本ソースコード(部品ソース43における実行文に相当する情報)と、部品基本ソースコードで使用される変数の情報と、当該部品基本ソースコードに対応する部品モジュールの名称を示すサブルーチン名の情報と、部品ソース43を生成する際に発行されるID(例えば番号)とをソース生成ルール情報33に付加することによって生成される。
【0081】
図3(C)に示される部品ソース43は、例えば、第1の弁(valve 1)についての部品モジュールの部品ソースであり、図3(B)に示されるソース生成ルール情報33に対して、第1行目では、subroutine(サブルーチン)の後に「valve 1」がサブルーチン名を示す情報として追記される。また、第1行目の( )内には、弁の実行文「Fout=Fin*Zv」で使用される変数であるFout、FinおよびZvが追記される。
【0082】
さらに、第4行目(空白行を数えない、以下同じ。)には、部品ソース43を生成する際に発行される部品モジュールを個別に識別するID(ID番号)である「ID=1」が追記される。さらにまた、第6行目には、弁の実行文「Fout=Fin*Zv」が追記される。
【0083】
図4は、組み上げルール情報34と、組み上げルール情報34に基づいて組み上げられたメインソース45の一例を示す説明図である。より詳細には、図4(A)が組み上げルール情報34、すなわち、メインソーステンプレート情報の一例を示す説明図、図4(B)が一例として図1(C)に示される系統モデル7におけるメインモジュール8のメインソース45の一例を示す説明図である。
【0084】
組み上げルール情報34は、メインモジュールが何れかの部品モジュールを管理(制御)する旨の情報と、部品モジュールと共通のプロトコル(共通プロトコル)で部品モジュールと通信する旨の情報とを有する。例えば、図4(A)に示される組み上げルール情報34では、第6行目の「call sys1 cnt」が何れかの部品モジュールを管理(制御)する旨の情報に相当する。
【0085】
また、「call sys1 cnt」の( )内に含まれるREQ(リクエスト),RES(レスポンス),ID(アイディ:部品モジュールの識別情報)は部品モジュールの部品ソースでも使用されるプロトコルであり、部品モジュールと共通のプロトコル(共通プロトコル)で部品モジュールと通信する旨の情報に相当する。
【0086】
図4(B)に示されるメインソース45では、図4(A)に示される組み上げルール情報34に対して、外部からの入力、外部への出力、呼び出すサブルーチンおよび当該サブルーチンで使用される変数の情報が付加されている。より詳細には、図4(B)に示されるメインソース45のうち、第10行目の「call sig_in(Fin)」のうち( )内の「Fin」が外部からの入力を示す情報であり、第17行目の「call sig_in(Fout)」のうち( )内の「Fout」が外部への出力である。
【0087】
また、第11〜16行目の「call valve 1(REQ,RES(1),ID,F1,Fin,Zv1)」、「call branch(REQ,RES(5),ID,F01,F02,F1,rate)」、「call valve 2(REQ,RES(2),ID,F2,F01,Zv2)」、「call valve 3(REQ,RES(3),ID,F3,F02,Zv3)」、「call valve 4(REQ,RES(4),ID,F4,F3,Zv4)」および「call join(REQ,RES(6),ID,Fout,F2,F4)」が呼び出すサブルーチンである。
【0088】
このとき、弁(valve)等の同じ部品が存在する場合、同じ変数が登場するため、開度についてはサブルーチン名と同様に末尾に数字を付す等して区別して追記される。例えば、弁の開度Zvは、第1の弁モジュール9a〜第4の弁モジュール9dについて、それぞれ、Zv1〜Zv4となる。また、RES(1)〜RES(6)のかっこ内の数字はどの部品モジュールからのRESかを判別するために追記される情報であり、例えばIDと対応した数字が付される。
【0089】
また、入口の流量および出口の流量を示す変数FinおよびFoutについては、接続関係を考慮して変数が変更される。例えば、系統モデル7の入口となる第1の弁モジュール9aについては、入口側の流量を示す変数Finはそのまま維持し、出口側の流量をF1とする。また、分岐モジュール9eについては、入口側が第1の弁モジュール9aと接続されているため、入口側の流量を第1の弁モジュール9aの出口側の流量と同じF1とし、出口側の流量をF01,F02とする。
【0090】
第2の弁モジュール9bについては、入口側が分岐モジュール9eと接続されているため、入口側の流量を分岐モジュール9eの出口側の流量のうち第2の弁モジュール9b側へ流れる流量と同じF01とし、出口側の流量をF2とする。また、第3の弁モジュール9cについては、入口側が分岐モジュール9eと接続されているため、入口側の流量を分岐モジュール9eの出口側の流量のうち第3の弁モジュール9c側へ流れる流量と同じF02とし、出口側の流量をF3とする。さらに、第4の弁モジュール9dについては、入口側が第3の弁モジュール9cと接続されているため、入口側の流量を第3の弁モジュール9cの出口側の流量と同じF3とし、出口側の流量をF4とする。
【0091】
そして、系統モデル7の出口となる合流モジュール9fについては、出口側の流量を示す変数Foutをそのまま維持する。一方で、入口側の流量のうち第2の弁モジュール9b側の流量を第2の弁モジュール9bの出口側の流量であるF2、第4の弁モジュール9d側の流量を第4の弁モジュール9dの出口側の流量であるF4とする。
【0092】
サブルーチンで使用される変数の情報については、例えば、第2行目の「common rate,Zv1,Zv2,Zv3,Zv4」と、第5,6行目の「real rate,Zv1,Zv2,Zv3,Zv4,Fin,Fout」および「real F1,F2,F3,F4,F01,F02」と、第9行目の「call sys1 cnt(REQ,RES,ID,Fin,Fout,F1,F2,F3,F4,F01,F02)」に示されるように、サブルーチンで使用される変数であるrate,Zv1,Zv2,Zv3,Zv4,Fin,Fout,F1,F2,F3,F4,F01,F02の情報が付加される。
【0093】
図5はシミュレータ構築装置20を用いてユーザが行う操作手順を説明する説明図である。
【0094】
図5に示されるように、表示手段の一例であるディスプレイの画面47には、例えば、部品基本ソースPGが用意された部品モジュールと対応するアイコン(図柄)51を提示(表示)する部品メニュー窓48と、部品の配置および結線を行う作業領域である部品配置結線処理窓49とが表示される。
【0095】
画面47に表示されるアイコン51の情報は、制御手段から表示手段に与えられる情報である。制御手段は、シミュレータ構築処理手段を制御して、シミュレータ構築処理手段からアイコン51の情報を取得する。シミュレータ構築処理手段は、部品モジュールDBを参照することで、部品モジュールDBに格納されるアイコン51の情報を取得することができる。
【0096】
シミュレータ構築装置20は、GUIを有し、ユーザは部品配置結線処理窓49にアイコン(図柄)51(51a,51b,51c,51d)を配置し(作業w1)、結線する(作業w2)作業を、入力手段の一例であるポインティングデバイスを操作して行うことができる。
【0097】
シミュレータ構築装置20では、ユーザの入力操作によって、部品配置結線処理窓49に配置されたアイコン51が結線されると、シミュレータ構築処理手段24が部品配置結線処理窓49に配置され結線されたアイコン51と対応する部品モジュールと、当該部品モジュールを管理(制御)するメインモジュールとを備えた系統モデルを構築する処理を実行する。
【0098】
図6はシミュレータ構築装置20が実行する系統モデル7を構築する処理手順(以下、「系統モデル構築処理手順」と称する。)の処理工程を示した処理フロー図である。
【0099】
本発明の実施形態に係るシミュレータ構築方法の一例である系統モデル構築処理手順は、シミュレータ構築処理手段24が、構築する系統モデルを構成する部品モジュール(部品モデル)を配置し結線する部品配置結線処理工程(ステップS1)と、部品配置結線処理工程で配置結線された部品モジュールの配置順序を判断する系統構成・部品順序判断処理工程(ステップS2)と、系統構成・部品順序判断処理工程で判断された結果に基づき、部品基本ソースPG32およびソース生成ルール情報33を参照して部品配置結線処理部38が配置し結線した部品モジュールのソースコードを生成する部品ソース生成処理工程(ステップS3)と、組み上げルール情報34を参照して、系統構成・部品順序判断処理工程で判断された系統モデルを構成する個々の部品モジュールをそれぞれ制御するメインモジュールとメインモジュールの管理対象となる部品モジュールとを共通プロトコルで接続した系統モデルを生成するメインソース組み上げ処理工程(ステップS4)と、を具備する。
【0100】
部品配置結線処理工程(ステップS1)では、シミュレータ構築処理手段24の部品配置結線処理部38が部品モジュールDB31を参照して系統モデルを構成する部品モジュール(部品モデル)を配置し結線するための操作環境としてGUIを提供し、部品モジュールに対応するアイコンを配置し結線する操作の入力を受け付ける。部品モジュールに対応するアイコンを配置し結線する操作の入力を制御手段が認識すると、制御手段から入力のあった操作の情報をシミュレータ構築処理手段24の部品配置結線処理部38に与えられ、部品配置結線処理部38が受け取った操作の情報に従って、アイコンに対応する部品モジュールを配置して結線する。
【0101】
続くステップS2では、系統構成・部品順序判断処理部39が部品配置結線処理工程で配置結線された部品モジュールの配置順序を判断する。系統構成・部品順序判断処理部39は、部品モジュールDB31を参照し、配置された部品モジュールに対応するアイコン(図柄)を検索キーとして部品モジュールの名称(サブルーチン名)を取得する。また、部品配置結線処理部38が配置した部品モジュールのアイコンの個数および配置場所から、構築される系統モデルを構成する部品モジュールの個数およびその並び順を判断する。
【0102】
続くステップS3では、部品ソース生成部40が、系統構成・部品順序判断処理工程で判断された結果に基づき、部品配置結線処理工程で配置され結線された部品モジュールの種類、個数および並び順を特定する。そして、部品ソース生成部40が部品基本ソースPG32およびソース生成ルール情報33を参照して、部品配置結線処理工程で配置され結線された部品モジュールのソースコードを生成する。部品ソース生成処理工程(ステップS3)のより詳細な処理内容については後述する図7に示す。
【0103】
続くステップS4では、メインソース組み上げ処理部41が、組み上げルール情報34を参照して、系統構成・部品順序判断処理工程で判断された系統モデルを構成する部品モジュールの各々をそれぞれ制御するメインモジュールとメインモジュールの管理対象となる部品モジュールとが共通プロトコルで情報の授受可能に接続し、系統モデルプログラムソース36を生成する。メインソース組み上げ処理工程(ステップS4)のより詳細な処理内容については後述する図8に示す。
【0104】
図7は、本発明の実施形態に係るシミュレータ構築方法の一例である系統モデル構築処理手順が具備する部品ソース生成処理工程(ステップS3)のより詳細な処理内容を示した処理フロー図である。
【0105】
部品ソース生成処理工程は、部品基本ソースコード取得ステップ(ステップS31)と、部品ソーステンプレート情報取得ステップ(ステップS32)と、部品ソース生成ステップ(ステップS33)と、部品ソース生成処理完了判定ステップ(ステップS34)とを備える。
【0106】
部品基本ソースコード取得ステップ(ステップS31)では、部品ソース生成部40が、部品基本ソースPG32を参照し、系統構成・部品順序判断処理部39から受け取った系統構成・部品順序判断処理工程で判断された部品の種類判断結果が示す部品の種類に対応した部品基本ソースコードを取得する。
【0107】
部品ソーステンプレート情報取得ステップ(ステップS32)では、部品ソース生成部40が、ソース生成ルール情報33を参照し、部品ソースのテンプレート情報を読み出して取得する。
【0108】
部品ソース生成ステップ(ステップS33)では、部品ソース生成部40が、部品ソースのテンプレート情報に、当該部品モジュールの部品基本ソースコードと、識別情報であるIDと、モジュールの名称(サブルーチンの名称)とを付加して当該部品モジュールの部品ソースを生成する。
【0109】
部品ソース生成処理完了判定ステップ(ステップS34)では、部品ソース生成部40が、系統構成・部品順序判断処理部39から受け取った系統構成・部品順序判断処理工程で判断された部品の部品モジュールのうち、部品ソースを生成していない部品モジュールが存在するか否かを判断する。
【0110】
部品ソースを生成していない部品モジュールがある場合(ステップS34でYESの場合)には、ステップS31に戻り、ステップS31〜ステップS34の処理ステップを繰り返し、系統構成・部品順序判断処理工程で判断された全部品についての部品モジュールのソースコードを生成する。そして、部品ソースを生成していない部品モジュールがなくなった場合(ステップS34でNOの場合)には、部品ソース生成処理工程の全処理ステップ(ステップS31〜ステップS34)を終了する。
【0111】
なお、ステップS31とステップS32の処理実行の順番は、ステップS33の実行前に完了していれば、どのような順番であっても構わない。すなわち、ステップS32がステップS31の前に実行されても良いし、ステップS31と同時に実行されても良い。
【0112】
図8は、本発明の実施形態に係るシミュレータ構築方法の一例である系統モデル構築処理手順が具備するメインソース組み上げ処理工程(ステップS4)のより詳細な処理内容を示した処理フロー図である。
【0113】
メインソース組み上げ処理工程(ステップS4)は、メインモジュール生成ステップ(ステップS41)と、外部入出力設定ステップ(ステップS42)と、管理部品モジュール設定ステップ(ステップS43)と、を備える。
【0114】
メインモジュール生成ステップ(ステップS41)では、メインソース組み上げ処理部41が、組み上げルール情報34を参照して、部品モジュールを管理(制御)するメインモジュールのメインソーステンプレート情報を取得する。すなわち、メインソーステンプレート情報を有するメインモジュールを生成する。
【0115】
外部入出力設定ステップ(ステップS42)では、メインソース組み上げ処理部41が、系統構成・部品順序判断処理工程で判断された系統モデルを構成する部品モジュールの接続状態に基づき、メインモジュールの外部との入力および出力の設定を行う。すなわち、メインモジュールのメインソーステンプレート情報に外部との入力および出力を示す変数を追記する。
【0116】
管理部品モジュール設定ステップ(ステップS43)では、メインソース組み上げ処理部41が、メインソーステンプレート情報に、系統構成・部品順序判断処理工程で判断された系統モデルを構成する部品モジュールのサブルーチンの名称、IDの情報、サブルーチンの実行で使用する変数、および、メインモジュールと部品モジュールとの間で情報を授受する順序の情報を含む管理部品モジュール情報をさらに付加(設定)して部品配置結線処理部38が配置し結線した個々の部品モジュールを制御するメインモジュールとして設定する。
【0117】
メインソース組み上げ処理部41がステップS41〜ステップS43の処理ステップを完了すると、メインモジュールとメインモジュールの管理対象となる部品モジュールの各々とは共通プロトコルで情報の授受が可能に接続される。換言すれば、メインモジュールとメインモジュールの管理対象となる部品モジュールを有し、メインモジュールとメインモジュールの管理対象となる部品モジュールの各々とは共通プロトコルで情報の授受が可能に接続された系統モデルの系統モデルプログラムソース36が生成される。
【0118】
図9は、本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法によって構築された系統モデル7の一例について構成を示す概略図である。
【0119】
系統モデル7は、メインモジュール8と、少なくとも一つ以上の部品モジュール9とを備え、メインモジュール8と部品モジュール9とが共通プロトコルでの情報の伝送が可能なバス(共通バス)55で接続される。また、系統モデル7は、必要に応じて、部品モジュール9が模擬している部品の設計仕様情報(例えば、弁ならば定格流量、タンクならば定格容量、ポンプならば定格流量や定格出力、分岐させる場合には分岐比等)を有する設計仕様情報DB56を備え、設計仕様情報DB56が共通バス55に接続される。
【0120】
なお、入力境界57および出力境界58は、系統モデル7の入力および出力である。メインモジュール8へ与えられる入力境界57および操作信号は、シミュレータ構築装置の入力手段から入力することで与えることができる。
【0121】
図9に示されるように、メインモジュール8と共通バス55を設け、各部品モジュール9を共通プロトコルで共通バス55に接続した系統モデル7を作成することによって、各部品モジュール9での計算結果はメインモジュール8に集められる。そして、メインモジュール8が部品モジュール9の接続状態に従って入出力を制御することができる。
【0122】
故に、部品モジュール9間における接続状態を変更する場合、メインモジュール8における入出力の制御、すなわち、メインソースを変更するだけで済む。本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法であれば、弁単体で構成される流路と同じ弁を直列に二つ配置した流路とでは、同じ弁を設置して構成される流路であってもそれぞれ部品モジュールを作成する必要が生じていた従来のシミュレータ構築装置およびシミュレータ構築方法よりも格段に負担を軽減できる。
【0123】
次に、本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法で構築された系統モデル7によるシミュレーションの実行時の情報の流れを説明する。
【0124】
図10は系統の一例である模擬系統61および当該模擬系統61をモデル化した系統モデル7の構成を説明する図であり、より詳細には、図10(A)は模擬系統61の構成を説明する説明図、図10(B)は模擬系統61をモデル化した系統モデル7の構成を説明する説明図である。
【0125】
図10(A)に示される模擬系統61は、入力側(図10(A)における左側)から順に第1の弁3aと、タンク3eと、第2の弁3bとを直列に接続して構成される。また、図10(B)に示される系統モデル7は、図10(A)に示される模擬系統61をモデル化したものであり、メインモジュール8には、他の系統モデルとの入力側の境界となる入力境界57と他の系統モデルとの出力側の境界となる出力境界58が接続される。さらに、メインモジュール8は、共通バス55を介して、第1の弁3aの部品モジュールである第1の弁モジュール9aと、タンク3eの部品モジュールであるタンクモジュール9gと、第2の弁3bの部品モジュールである第2の弁モジュール9bと、タンク3eの定格容量、流出の液侵および流出の定格容量等の設計仕様情報DB56と接続される。また、第1の弁モジュール9a、タンクモジュール9gおよび第2の弁モジュール9bには、それぞれ、IDが1,2,3と付されている。
【0126】
図11は図10に示される系統モデル7のシミュレーション実行時における動作例を示す説明図である。なお、図11に示される左欄は操作信号または設定値の入力(図11において「操作/設定入力」と示す)を示す欄であり、右欄は共通バスの入出力の様子を示す欄である。
【0127】
図10に示される系統モデル7のシミュレーション実行時における動作は、図11に示されるように、まず、上流系統からの情報である「流入流量:1m/h(立方メートル毎時)」が入力境界57に与えられ、入力境界57からメインモジュール8へ与えられる(ステップS51)。
【0128】
続いて、メインモジュール8は、与えられた入力(流入流量:1m/h)を第1の弁モジュール9aへ伝送するため、リクエスト(REQ)フラグ、ID(ID=1)および流入流量(1m/h)を共通バス55へ流す(ステップS52)。
【0129】
続いて、第1の弁モジュール9aでは、リクエストがONの状態で自己の部品モジュールを示すID=1を検知して、計算を開始する。この時、第1の弁モジュール9aは計算に必要な操作信号として第1の弁3aの開度の入力を受け付ける。第1の弁3aの開度が入力されると、第1の弁3aの流出流量を計算する(ステップS53)。第1の弁3aの開度として入力された開度が50%ならば、流出流量(m/h)は流入流量1(m/h)×開度50%(=0.5)を計算して0.5m/hとなる。第1の弁モジュール9aが計算した結果の情報は、メインモジュール8へ送られる。
【0130】
続いて、メインモジュール8は、第1の弁3aの直ぐ下流側に接続されるタンク3eの部品モジュールであるタンクモジュール9gへ伝送するため、リクエスト(REQ)フラグ、ID(ID=2)および流入流量(0.5m/h)を共通バス55へ流す(ステップS54)。
【0131】
続いて、タンクモジュール9gでは、リクエストがONの状態で自己の部品モジュールを示すID=2を検知して、計算を開始する(ステップS55)。この時、タンクモジュール9gは計算に必要な操作信号として現在の液位、タンクの定格容量、流出の液浸および定格の流出流量の入力を受け付ける。なお、図11に示される例の場合、液位が0m(立方メートル)であり、液浸以下の液位であるため流出流量も0m/hとなる。タンクモジュール9gが計算した結果の情報は、メインモジュール8へ送られる。
【0132】
続いて、メインモジュール8は、タンク3eの直ぐ下流側に接続される第2の弁3bの部品モジュールである第2の弁モジュール9bへ伝送するため、リクエスト(REQ)フラグ、ID(ID=3)および流入流量(0m/h)を共通バス55へ流す(ステップS56)。
【0133】
続いて、第2の弁モジュール9bでは、リクエストがONの状態で自己の部品モジュールを示すID=3を検知して、計算を開始する。この時、第2の弁モジュール9bは計算に必要な操作信号として第2の弁3bの開度の入力を受け付ける。第2の弁3bの開度が入力されると、第2の弁3bの流出流量を計算する(ステップS57)。第2の弁3bの開度として入力された開度が0%ならば、流出流量(m/h)は流入流量0(m/h)×開度0%(=0)を計算して0m/hとなる。
【0134】
第2の弁モジュール9bが計算した結果の情報は、メインモジュール8へ送られる。メインモジュール8は、第2の弁モジュール9bの計算結果、すなわち、0(m/h)を、系統モデル7の最終出力として出力境界58へ与える(ステップS58)。
【0135】
図12は本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法によって構築された系統モデルのシミュレーション実行時におけるメインモジュールと各部品モジュールの共通バスにおける伝送状態を示した波形図である。
【0136】
図12に示されるように、メインモジュールでは、まず、ID=1の部品モジュール(第1の弁モジュール)へ入力された情報(例えば、流入流量1m/h)をリクエスト(REQ)がオン(ON)のタイミングでリクエストのオンと共にID=1およびID=1の部品モジュールの入力となる情報(上記例では流入流量1m/h)が共通バスを介して伝送する。
【0137】
メインモジュールからリクエストのオンとID=1の部品モジュール(第1の弁モジュール)の入力となる流入流量1m/hが共通バスを介してID=1の部品モジュールに伝送されると、ID=1の部品モジュールでは、メインモジュールから入力された流入流量1m/hと操作信号とから当該部品モジュールの部品ソースで規定される計算を行い、レスポンス(RES)がオン(ON)のタイミングでレスポンスのオンと共に計算結果をメインモジュールへ共通バスを介して伝送する。
【0138】
以降同様にして、メインモジュールと、メインモジュールと接続される全ての部品モジュールとの間で情報のやりとりが繰り返される。すなわち、メインモジュールは、共通バスを介してID=2の部品モジュール(タンクモジュール)へID=1の部品モジュールから受け取った情報をリクエストがオンのタイミングで送り、ID=2の部品モジュールが計算した計算結果をレスポンスがオンのタイミングで共通バスを介して受け取る。続いて、メインモジュールは、共通バスを介してID=3の部品モジュール(第2の弁モジュール)へID=2の部品モジュールから受け取った情報をリクエストがオンのタイミングで送り、ID=3の部品モジュールが計算した計算結果をレスポンスがオンのタイミングで共通バスを介して受け取る。
【0139】
以上、本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法によれば、系統モデル7を作成する際の効率を従来よりも高めることができる。すなわち、従来では、弁単体で構成される流路と同じ弁を直列に二つ配置した流路とでは、同じ弁を設置して構成される流路であっても、ソースプログラムが異なるため、使用する弁の配置毎、に部品モジュール9を作成する必要が生じていたが、本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法では、部品モジュール9を新たに作成する必要は無く、部品モジュール9の接続が限定されない系統モデル7を構築できる。
【0140】
また、本発明の実施形態に係るシミュレータ構築装置およびシミュレータ構築方法によれば、部品モジュール間のインターフェースを共通化しておくので、インターフェースの属性を考慮する必要がなく、系統モデル7の作成を効率的に行うことができる。
【0141】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階では、上述した実施例以外にも様々な形態で実施することが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0142】
2 配管
3 弁
4 流路
5 従来の系統モデル
7 系統モデル
8 メインモジュール
9 部品モジュール
20 シミュレータ構築装置
21 シミュレータ構築処理PG
22 入力手段
23 表示手段
24 シミュレータ構築処理手段
25 シミュレーション実行手段
26 記憶手段
27 制御手段
31 部品モジュールDB
32 部品基本ソースPG
33 ソース生成ルール情報
34 組み上げルール情報
36 系統モデルプログラムソース
38 部品配置結線処理部
39 系統構成・部品順序判断処理部
40 部品ソース生成部
41 メインソース組み上げ処理部
43 部品ソース
45 メインソース
47 画面
48 部品メニュー窓
49 部品配置結線処理窓
51 アイコン
55 共通バス
56 設計仕様情報DB
61 模擬系統

【特許請求の範囲】
【請求項1】
シミュレーションを実行する系統の構成部品となる部品のモデルである部品モジュールを配置して結線することによって前記部品モジュールと前記部品モジュールを制御するメインモジュールとを備え、前記部品モジュールと前記メインモジュールとが共通のプロトコルに従って情報をやりとりする前記系統のモデルを構築するシミュレータ構築処理手段を具備し、
前記シミュレータ構築処理手段は、入力手段から受け付けた前記系統の構成部品となる部品モジュールを配置および結線する情報に従って前記部品モジュールを配置して結線する部品配置結線処理部と、
前記部品配置結線処理部が配置して結線する前記部品モジュールの種類、個数および並び順を判断する系統構成・部品順序判断処理部と、
前記部品モジュールの種類と当該部品モジュールの種類に対応するソースコードとが関連付けられた部品基本ソースプログラムと前記部品モジュールについて前記共通のプロトコルを設定する情報を含んだソース生成ルール情報とを参照して、前記ソース生成ルール情報に、前記部品モジュールのソースコードと、当該部品モジュールの識別情報であるIDと、当該部品モジュールの名称の情報と、部品基本ソースコードに含まれる変数の情報とを付加して前記部品モジュールのソースコードをそれぞれ生成する部品ソース生成部と、
前記メインモジュールが何れかの部品モジュールを制御する旨の情報と、前記部品モジュールと同じプロトコルで各部品モジュールと通信する旨の情報とを有する前記メインモジュールのソースコードのテンプレート情報を含む組み上げルール情報を参照して、前記メインモジュールの前記テンプレート情報に、前記系統のモデルの外部から入力される変数および外部へ出力する変数の情報と、制御対象となる個々の部品モジュールに付される名称の情報、IDの情報、使用する変数および前記メインモジュールと前記制御対象となる個々の部品モジュールとの間で情報を授受する順序の情報を付加して前記メインモジュールのソースコードを組み上げるメインソース組み上げ処理部と、を備えることを特徴とするシミュレータ構築装置。
【請求項2】
前記系統のモデルは、前記部品モジュールの各々と前記部品モジュールの各々を制御するメインモジュールとを共通のバスで接続し、前記共通のプロトコルで通信可能に構成したことを特徴とする請求項1記載のシミュレータ構築装置。
【請求項3】
前記系統のモデルは、前記部品モジュールが模擬している部品の設計仕様情報を有する設計仕様情報データベースを前記共通のバスに、さらに、接続して構成されることを特徴とする請求項2記載のシミュレータ構築装置。
【請求項4】
前記部品配置結線処理部は、前記部品モジュールの図柄を表示手段に表示して、前記入力手段から与えられた前記部品モジュールの図柄を配置して結線する旨の指示に従って前記部品モジュールの図柄を配置して結線した状態を前記表示手段に表示するグラフィカルユーザインターフェイスをユーザに提供する機能を有することを特徴とする請求項1から3の何れか1項に記載のシミュレータ構築装置。
【請求項5】
前記メインモジュールは、前記各部品モジュールの入出力を制御し、各部品モジュールの入出力の管理を行うことを特徴とする請求項1から4の何れか1項に記載のシミュレータ構築装置。
【請求項6】
前記共通のバスに伝送される信号は、前記メインモジュールから前記部品モジュールに信号を送る場合には、リクエストのオンと共に前記部品モジュールの識別情報および前記部品モジュールの入力となる情報を送信し、前記部品モジュールから前記メインモジュールへ信号を送る場合にはレスポンスのオンと共に計算結果を送信するように構成されることを特徴とする請求項1から5の何れか1項に記載のシミュレータ構築装置。
【請求項7】
コンピュータを用いて、シミュレーションを実行する系統の構成部品となる部品のモデルである部品モジュールを配置して結線することによって前記部品モジュールと前記部品モジュールを制御するメインモジュールとを備え、前記部品モジュールと前記メインモジュールとが共通のプロトコルに従って情報をやりとりする前記系統のモデルを構築する方法であり、
部品配置結線処理部が、入力手段から受け付けた前記系統の構成部品となる部品モジュールを配置および結線する情報に従って前記部品モジュールを配置して結線する部品配置結線処理ステップと、
系統構成・部品順序判断処理部が、前記部品配置結線処理ステップで配置され結線された前記部品モジュールの種類、個数および並び順を判断する系統構成・部品順序判断処理ステップと、
部品ソース生成部が、前記部品モジュールの種類と当該部品モジュールの種類に対応するソースコードとが関連付けられた部品基本ソースプログラムと前記部品モジュールについて前記共通のプロトコルを設定する情報を含んだソース生成ルール情報とを参照して、前記ソース生成ルール情報に、前記部品モジュールのソースコードと、当該部品モジュールの識別情報であるIDと、当該部品モジュールの名称の情報と、部品基本ソースコードに含まれる変数の情報とを付加して前記部品モジュールのソースコードをそれぞれ生成する部品ソース生成ステップと、
メインソース組み上げ処理部が、前記メインモジュールが何れかの部品モジュールを制御する旨の情報と、前記部品モジュールと同じプロトコルで各部品モジュールと通信する旨の情報とを有する前記メインモジュールのソースコードのテンプレート情報を含む組み上げルール情報を参照して、前記メインモジュールの前記テンプレート情報に、前記系統のモデルの外部から入力される変数および外部へ出力する変数の情報と、制御対象となる個々の部品モジュールに付される名称の情報、IDの情報、使用する変数および前記メインモジュールと前記制御対象となる個々の部品モジュールとの間で情報を授受する順序の情報を付加して前記メインモジュールのソースコードを組み上げるメインソース組み上げ処理ステップと、を備えることを特徴とするシミュレータ構築方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2013−65099(P2013−65099A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−202296(P2011−202296)
【出願日】平成23年9月15日(2011.9.15)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】