JP6568746B2 - Distributed simulation system, simulation execution method, and control system - Google Patents
Distributed simulation system, simulation execution method, and control system Download PDFInfo
- Publication number
- JP6568746B2 JP6568746B2 JP2015164132A JP2015164132A JP6568746B2 JP 6568746 B2 JP6568746 B2 JP 6568746B2 JP 2015164132 A JP2015164132 A JP 2015164132A JP 2015164132 A JP2015164132 A JP 2015164132A JP 6568746 B2 JP6568746 B2 JP 6568746B2
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- processing
- simulation
- cycle
- timing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、分散シミュレーションシステム、シミュレーション実行方法及び制御システムに関する。 The present invention relates to a distributed simulation system, a simulation execution method, and a control system.
プラントの運転訓練等に用いられるシミュレータは、複数のシミュレーションモデルを有することがある。各シミュレーションモデルは、1サイクルのシミュレーションを経時毎に繰り返す。シミュレータの操作者は、経時毎の各シミュレーションモデルの計算結果に基づき、シミュレーション上でのプラントの状態を把握して、運転制御の訓練を行う。 A simulator used for plant operation training or the like may have a plurality of simulation models. Each simulation model repeats one cycle of simulation every time. Based on the calculation results of each simulation model over time, the simulator operator grasps the state of the plant on the simulation and performs operation control training.
シミュレータの計算結果は、再現性を必要とされる。すなわち、シミュレータは、同一の入力条件があった場合、同一の計算結果となることが求められる。複数のシミュレーションモデルを有するシミュレータ(分散シミュレーションシステム)の場合、再現性を実現するためには、複数のシミュレーション同士の同期を取ることが重要となる。シミュレーション同士の同期とは、シミュレーション上での経過時間同士の同期を取ることである。例えば、特許文献1には、シミュレーションを実行する複数の中央処理装置と、その複数の中央処理装置の動作を制御するスケジューラを有する1つの中央処理装置と、を有するシステムが開示されている。 The calculation result of the simulator needs to be reproducible. That is, the simulator is required to have the same calculation result when there is the same input condition. In the case of a simulator (distributed simulation system) having a plurality of simulation models, it is important to synchronize a plurality of simulations in order to realize reproducibility. Synchronization between simulations means synchronization between elapsed times on the simulation. For example, Patent Document 1 discloses a system having a plurality of central processing units that execute simulations and a single central processing unit that includes a scheduler that controls operations of the central processing units.
ここで、複数のシミュレーションモデルは、異なるシミュレーションを実行するため、1つの計算周期での計算時間が互いに異なる場合がある。このような場合、シミュレーション上での経過時間の同期をとることは、より困難となる。特許文献1の1つの中央処理装置は、複数の中央処理装置の計算周期の同期を取っているが、複数の中央処理装置の1つの計算周期での計算時間が互いに異なる場合における同期については、記載がされていない。 Here, since a plurality of simulation models execute different simulations, calculation times in one calculation cycle may be different from each other. In such a case, it is more difficult to synchronize the elapsed time on the simulation. One central processing unit of Patent Document 1 synchronizes the calculation cycles of a plurality of central processing units. However, regarding synchronization in the case where the calculation times of one central processing unit are different from each other, It is not described.
従って、本発明は、1つの計算周期での計算時間が互いに異なる複数のシミュレーションモデルを有する分散シミュレーションシステムにおいて、各シミュレーション同士の同期を適切にとる分散シミュレーションシステム、シミュレーション実行方法、又は制御システムを提供することを目的とする。 Accordingly, the present invention provides a distributed simulation system, a simulation execution method, or a control system that appropriately synchronizes simulations in a distributed simulation system having a plurality of simulation models having different calculation times in one calculation cycle. The purpose is to do.
上述した課題を解決し、目的を達成するために、本発明の分散シミュレーションシステムは、1つの計算周期での計算時間が互いに異なるシミュレーションを経時毎に実行する複数の計算処理システムと、複数の前記計算処理システムと通信可能に接続される制御処理システムと、を有し、前記制御処理システムは、前記計算処理システムが前記シミュレーションを1回実行する周期である処理周期を、前記計算処理システム毎に設定する処理周期設定部と、1回のシミュレーション内での経過時間である計算仮想時間を、前記計算処理システム毎に、前記処理周期の長さ同士の関係比と同じ関係比となるように設定する仮想時間設定部と、前記計算処理システムのそれぞれに、その計算処理システムに設定された前記処理周期毎の各タイミングにおいて計算指示信号を送信して、前記計算処理システムのそれぞれに、自身に設定された前記処理周期毎に、設定された前記計算仮想時間分のシミュレーションを実行させる、計算指示部と、を有し、少なくとも一部の計算処理システムに設定された前記処理周期は、他の計算処理システムに設定された前記処理周期と、長さが異なる。 In order to solve the above-described problems and achieve the object, a distributed simulation system of the present invention includes a plurality of calculation processing systems that execute simulations with different calculation times in one calculation cycle every time, and a plurality of the above-described calculation processing systems. A control processing system communicably connected to the calculation processing system, wherein the control processing system sets a processing cycle, which is a cycle in which the calculation processing system executes the simulation once, for each of the calculation processing systems. The processing cycle setting unit to be set and the calculation virtual time that is the elapsed time in one simulation are set so as to be the same as the relationship ratio between the lengths of the processing cycles for each calculation processing system. Each of the virtual time setting unit and the calculation processing system for each processing cycle set in the calculation processing system. A calculation instructing unit that transmits a calculation instruction signal and causes each of the calculation processing systems to execute a simulation for the set calculation virtual time for each of the set processing cycles. However, the processing cycle set in at least some of the calculation processing systems is different in length from the processing cycle set in other calculation processing systems.
この分散シミュレーションシステムによると、同じ時間だけ各処理システムを作動させた際に、計算処理システム毎のシミュレーション上での経過時間が同じとなる。従って、分散シミュレーションシステムは、各計算処理システムのシミュレーション毎の同期を適切にとることができる。 According to this distributed simulation system, when each processing system is operated for the same time, the elapsed time on the simulation for each calculation processing system becomes the same. Therefore, the distributed simulation system can appropriately synchronize each simulation processing system for each simulation.
前記分散シミュレーションシステムにおいて、計算指示部は、前記処理周期毎の各タイミングにおいて前記計算指示信号を送信することにより、それぞれの前記処理周期の長さの公倍数の長さを有する基本周期において、複数の前記計算処理システムのシミュレーション実行回数を、互いに異ならせることが好ましい。この分散シミュレーションシステムによると、シミュレーションの種類及びその計算処理システムのスペックに合わせてシミュレーションの処理回数を設定することができる。そのため、この分散シミュレーションシステムによると、シミュレーションの精度を向上させることができる。 In the distributed simulation system, the calculation instruction unit transmits a calculation instruction signal at each timing for each processing cycle, so that a plurality of basic cycles each having a common multiple of the length of the processing cycle are transmitted. It is preferable that the number of simulation executions of the calculation processing system is different from each other. According to this distributed simulation system, the number of simulation processes can be set in accordance with the type of simulation and the specifications of the calculation processing system. Therefore, according to this distributed simulation system, the accuracy of simulation can be improved.
前記分散シミュレーションシステムにおいて、前記制御処理システムは、前記シミュレーションの処理結果である出力データのうち、他の前記計算処理システムの入力データとして使用する出力データである取り合いデータを取得する計算データ取得部と、前記計算データ取得部が取得した前記取り合いデータを記憶する計算データ記憶部と、をさらに有し、複数の前記計算処理システムは、少なくとも一部が、前記計算データ記憶部に記憶された前記取り合いデータを取得して、前記取り合いデータに基づき前記シミュレーションを実行することが好ましい。この分散シミュレーションシステムによると、取り合いデータを適切に計算処理システムに提供することができる。 In the distributed simulation system, the control processing system includes a calculation data acquisition unit that acquires contact data that is output data to be used as input data of the other calculation processing system among output data that is a result of the simulation. A calculation data storage unit that stores the exchange data acquired by the calculation data acquisition unit, and a plurality of the calculation processing systems are at least partially stored in the calculation data storage unit. It is preferable to acquire data and execute the simulation based on the contact data. According to this distributed simulation system, the trade data can be appropriately provided to the calculation processing system.
前記分散シミュレーションシステムにおいて、前記計算データ取得部は、取得した前記取り合いデータを保持し、前記取り合いデータを算出した処理周期の次の処理周期の開始直前のタイミングである直前タイミングにおいて、前記取り合いデータを前記計算データ記憶部に出力し、前記取り合いデータを算出した以外の前記計算処理システムは、少なくとも一部が、前記直前タイミングの直後の処理周期におけるシミュレーションを行う際に、前記直前タイミングで記憶された取り合いデータを取得し、その取り合いデータに基づき前記シミュレーションを実行することが好ましい。この分散シミュレーションシステムによると、取り合いデータの取得についても同期を適切に取ることができる。 In the distributed simulation system, the calculation data acquisition unit holds the acquired interaction data, and at the timing immediately before the start of the processing cycle next to the processing cycle in which the interaction data is calculated, The calculation processing system other than the calculation data storage unit that outputs to the calculation data storage unit and calculates the contact data is stored at the timing immediately before at least a part of the simulation in the processing cycle immediately after the timing immediately before. It is preferable to acquire trade data and execute the simulation based on the trade data. According to this distributed simulation system, it is possible to appropriately synchronize the acquisition of trade data.
前記分散シミュレーションシステムにおいて、前記制御処理システムは、さらに、操作者によるシミュレーション動作の変更要求の情報である変更要求データを取得する操作情報取得部を有し、前記計算指示部は、前記変更要求データが取得されたタイミングの直後の前記基本周期の開始タイミングにおいて、前記計算処理システムに前記変更要求データの情報を示す変更要求信号を送信することで、前記計算処理システムに対する前記変更要求信号中の変更処理の反映のタイミングを、他の計算処理システムに同期させることが好ましい。この分散シミュレーションシステムによると、操作者による変更要求を各計算処理システムに同期させて反映するため、各シミュレーションの同期を適切にとることができる。 In the distributed simulation system, the control processing system further includes an operation information acquisition unit that acquires change request data that is information on a change request for simulation operation by an operator, and the calculation instruction unit includes the change request data. Change in the change request signal for the calculation processing system by transmitting a change request signal indicating information of the change request data to the calculation processing system at the start timing of the basic period immediately after the timing at which It is preferable to synchronize the timing of the reflection of processing with another calculation processing system. According to this distributed simulation system, since the change request by the operator is reflected in synchronization with each calculation processing system, each simulation can be appropriately synchronized.
前記分散シミュレーションシステムにおいて、前記計算指示部は、前記計算処理システムのそれぞれに対し、各処理周期の公約数の長さの周期である同期周期毎のタイミングで、同期信号を送信するものであり、前記計算指示部は、前記計算処理システムのそれぞれに対し、その計算処理システムの前記処理周期と一致するタイミングで送信する同期信号に同期させて、計算指示フラグをセットし、その計算処理システムの前記処理周期と一致しないタイミングで送信する同期信号に同期させて、シミュレーションを新たに実行させない情報である計算不実施フラグをセットすることが好ましい。この分散シミュレーションシステムによると、同期信号を送信するため、各シミュレーションの同期を適切にとることができる。 In the distributed simulation system, the calculation instruction unit transmits a synchronization signal to each of the calculation processing systems at a timing of each synchronization period that is a period of a common divisor of each processing period. The calculation instruction unit sets a calculation instruction flag for each of the calculation processing systems in synchronization with a synchronization signal transmitted at a timing that coincides with the processing cycle of the calculation processing system. It is preferable to set a calculation non-execution flag, which is information not to newly execute a simulation, in synchronization with a synchronization signal transmitted at a timing that does not coincide with the processing cycle. According to this distributed simulation system, since the synchronization signal is transmitted, each simulation can be appropriately synchronized.
前記分散シミュレーションシステムにおいて、前記制御処理システムは、それぞれの前記処理周期の長さの最小公倍数の長さの周期となるように、前記基本周期を設定する基本周期設定部を有することが好ましい。この分散シミュレーションシステムによると、基本周期をできるだけ短く設定することができる。 In the distributed simulation system, it is preferable that the control processing system includes a basic period setting unit that sets the basic period so that the period becomes a least common multiple of the lengths of the processing periods. According to this distributed simulation system, the basic period can be set as short as possible.
前記分散シミュレーションシステムにおいて、前記複数の計算処理システムは、それぞれ少なくとも1つのシミュレーションを実行する複数の計算処理装置であることが好ましい。この分散シミュレーションシステムによると、多種のシミュレーションを実行しつつ、シミュレーション毎の同期を適切にとることができる。 In the distributed simulation system, it is preferable that the plurality of calculation processing systems are a plurality of calculation processing apparatuses each executing at least one simulation. According to this distributed simulation system, it is possible to appropriately synchronize each simulation while executing various simulations.
前記分散シミュレーションシステムにおいて、前記複数の計算処理システムは、複数の前記シミュレーションを実行する一つの計算処理装置であることが好ましい。この分散シミュレーションシステムによると、各シミュレーションの制御が容易となる。 In the distributed simulation system, the plurality of calculation processing systems are preferably one calculation processing device that executes the plurality of simulations. According to this distributed simulation system, control of each simulation becomes easy.
上述した課題を解決し、目的を達成するために、本発明のシミュレーション実行方法は、1つの計算周期での計算時間が互いに異なるシミュレーションを経時毎に実行する複数の計算処理システムと、複数の前記計算処理システムと通信可能に接続される制御処理システムと、を用いてシミュレーションを実行するシミュレーション実行方法であって、
前記計算処理システムが前記シミュレーションを1回実行する周期である処理周期を、前記計算処理システム毎に設定する処理周期設定ステップと、1回のシミュレーション内での経過時間である計算仮想時間を、前記計算処理システム毎に、前記処理周期の長さ同士の関係比と同じ関係比となるように設定する仮想時間設定ステップと、前記計算処理システムのそれぞれに、その計算処理システムに設定された前記処理周期毎の各タイミングにおいて計算指示信号を送信して、前記計算処理システムのそれぞれに、自身に設定された前記計算仮想時間分のシミュレーションを、設定された前記処理周期毎に実行させる、計算指示ステップと、を有し、前記処理周期設定ステップにおいて、少なくとも一部の計算処理システムに設定された前記処理周期を、他の計算処理システムに設定された前記処理周期と、長さを異ならせる。このシミュレーション実行方法によると、シミュレーション毎の同期を適切にとることができる。
In order to solve the above-described problems and achieve the object, a simulation execution method of the present invention includes a plurality of calculation processing systems that execute simulations with different calculation times in one calculation cycle every time, and a plurality of the above-described calculation processing systems. A simulation execution method for executing a simulation using a control processing system communicably connected to a calculation processing system,
A processing cycle setting step for setting a processing cycle, which is a cycle in which the calculation processing system executes the simulation once, for each calculation processing system; and a calculation virtual time, which is an elapsed time in one simulation, For each calculation processing system, a virtual time setting step for setting the relationship ratio to be the same as the relationship ratio between the lengths of the processing cycles, and the processing set in the calculation processing system for each of the calculation processing systems A calculation instruction step of transmitting a calculation instruction signal at each timing of each cycle, and causing each of the calculation processing systems to execute the simulation for the calculation virtual time set in itself for each of the set processing cycles And in the processing cycle setting step, before being set in at least some of the calculation processing systems The processing cycle, and the processing cycle set to another computing system, varying the length. According to this simulation execution method, synchronization for each simulation can be appropriately taken.
上述した課題を解決し、目的を達成するために、本発明の制御処理システムは、1つの計算周期での計算時間が互いに異なるシミュレーションを経時毎に実行する複数の計算処理システムを制御する制御処理システムであって、前記計算処理システムが前記シミュレーションを1回実行する周期である処理周期を、前記計算処理システム毎に設定する処理周期設定部と、1回のシミュレーション内での経過時間である計算仮想時間を、前記計算処理システム毎に、前記処理周期の長さ同士の関係比と同じ関係比となるように設定する仮想時間設定部と、前記計算処理システムのそれぞれに、その計算処理システムに設定された前記処理周期毎の各タイミングにおいて計算指示信号を送信して、前記計算処理システムのそれぞれに、自身に設定された前記処理周期毎に、設定された前記計算仮想時間分のシミュレーションを実行させる、計算指示部と、を有し、少なくとも一部の計算処理システムに設定された前記処理周期は、他の計算処理システムに設定された前記処理周期と、長さが異なる。この制御処理システムによると、シミュレーション毎の同期を適切にとることができる。 In order to solve the above-described problems and achieve the object, the control processing system of the present invention controls a plurality of calculation processing systems that execute simulations with different calculation times in one calculation cycle every time. A calculation cycle that is a cycle in which the calculation processing system executes the simulation once, a processing cycle setting unit that sets the processing cycle for each calculation processing system, and an elapsed time in one simulation For each of the calculation processing systems, a virtual time setting unit that sets the virtual time for each calculation processing system so as to have the same relationship ratio as the relationship ratio between the lengths of the processing cycles. A calculation instruction signal is transmitted at each timing of the set processing cycle, and set to each of the calculation processing systems. A calculation instruction unit that executes simulation for the set calculation virtual time for each of the set processing cycles, and the processing cycle set in at least some of the calculation processing systems includes other calculations. The length is different from the processing cycle set in the processing system. According to this control processing system, synchronization for each simulation can be appropriately taken.
本発明によれば、各シミュレーション同士の同期を適切にとることができる。 According to the present invention, each simulation can be appropriately synchronized.
以下に添付図面を参照して、本発明の好適な実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではなく、また、実施形態が複数ある場合には、各実施例を組み合わせて構成するものも含むものである。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, this invention is not limited by this embodiment, Moreover, when there are two or more embodiments, what comprises a combination of each Example is also included.
(第1実施形態)
最初に、第1実施形態について説明する。図1は、第1実施形態に係る分散シミュレーションシステムの構成を示すブロック図である。図1に示すように、第1実施形態に係る分散シミュレーションシステム1は、第1計算処理装置10A、第2計算処理装置10B、第3計算処理装置10C、及び第4計算処理装置10Dと、制御処理装置20と、インストラクタ操作装置30と、を有する。以下、第1計算処理装置10A、第2計算処理装置10B、第3計算処理装置10C、及び第4計算処理装置10Dをそれぞれ区別しない場合は、計算処理装置10と記載する。
(First embodiment)
First, the first embodiment will be described. FIG. 1 is a block diagram showing a configuration of a distributed simulation system according to the first embodiment. As shown in FIG. 1, the distributed simulation system 1 according to the first embodiment includes a first calculation processing device 10A, a second
分散シミュレーションシステム1は、制御処理装置20の制御により複数の計算処理装置10のそれぞれにシミュレーションを実行させる分散シミュレーションシステムである。分散シミュレーションシステム1は、プラントの運転訓練、特に原子力の再処理プラントの運転訓練に用いるものであるが、用途はこれに限られない。
The distributed simulation system 1 is a distributed simulation system that causes each of a plurality of calculation processing devices 10 to execute a simulation under the control of the
(計算処理装置)
計算処理システムとしての計算処理装置10は、1つのシミュレーションを実行する処理装置(コンピュータ)である。図1に示すように、計算処理装置10は、通信部12と計算処理部14とを有する。通信部12は、制御処理装置20と通信を行う。通信部12は、制御処理装置20から、シミュレーションを実行する旨の命令やシミュレーション用の入力データを取得したり、シミュレーション結果である出力データを制御処理装置20に出力したりする。計算処理部14は、通信部12を介した制御処理装置20からの命令に基づき、所定のシミュレーションを実行する。なお、計算処理装置10は、本実施形態では、4つであるが、複数であればこれに限られない。また、計算処理装置10は、少なくとも1種類のシミュレーションを経時毎に実行する複数の処理装置で構成されるが、複数種類のシミュレーションを実行する1つの処理装置で構成されてもよい。また、計算処理装置10と制御処理装置20とインストラクタ操作装置30とも、互いに別の処理装置であるが、1つの処理装置であってもよい。
(Calculation processor)
A calculation processing apparatus 10 as a calculation processing system is a processing apparatus (computer) that executes one simulation. As illustrated in FIG. 1, the calculation processing device 10 includes a
以下、計算処理装置10が実行するシミュレーションについて説明する。図2は、第1実施形態に係る計算処理装置が実行するシミュレーションのタイムチャートである。図2に示すように、計算処理装置10が実行するシミュレーションは、制御処理装置20から入力データを取得する入力処理と、入力データに基づきシミュレーション(計算)を実行する計算処理と、計算処理の結果である出力データを制御処理装置20に出力する出力処理と、の各処理を実行するものである。計算処理装置10が実行するシミュレーションは、この入力処理と計算処理と出力処理とを、1つの計算周期とする。本説明におけるシミュレーションは、この入力処理と計算処理と出力処理とを一度だけ行うものをいう。言い換えれば、本説明におけるシミュレーションは、1つの計算周期のみを有する。計算処理装置10は、このシミュレーションを経時毎に複数回繰り返すことにより、シミュレーション内での経過時間である仮想時間毎に、プラントの状態を出力データとして出力する。
Hereinafter, the simulation executed by the calculation processing apparatus 10 will be described. FIG. 2 is a time chart of a simulation executed by the calculation processing apparatus according to the first embodiment. As shown in FIG. 2, the simulation executed by the calculation processing device 10 includes input processing for acquiring input data from the
計算処理装置10は、実行するシミュレーションの内容が互いに異なる。シミュレーションの内容としては、プラント内の各部の温度、プラント内の配管の水流、バルブの開度、プラント内での化学反応、プラント内の制御装置の制御等が例示される。計算処理装置10は、1つのシミュレーションに要する計算時間Aが互いに異なる。図2に示すクロックタイミングTAは、各処理の長さを説明するためのタイミングであり、TA1、TA2、・・・TA12の順で、等間隔に時間の経過を示している。本実施形態では、各クロックタイミングTAは、0.1秒刻みである。すなわち、TA1は処理開始時点のタイミングであり、TA2は0.1秒経過時点でのタイミングであり、TA3は0.2秒経過時点のタイミングであり、TA12は1.1秒経過時点のタイミングである。 The calculation processing device 10 is different in the contents of the simulation to be executed. Examples of the contents of the simulation include temperature of each part in the plant, water flow of piping in the plant, valve opening, chemical reaction in the plant, control of the control device in the plant, and the like. The calculation processing apparatus 10 differs in calculation time A required for one simulation. The clock timing TA shown in FIG. 2 is a timing for explaining the length of each process, and shows the passage of time at equal intervals in the order of TA1, TA2,. In this embodiment, each clock timing TA is in increments of 0.1 seconds. That is, TA1 is the timing at the start of processing, TA2 is the timing when 0.1 second has elapsed, TA3 is the timing when 0.2 seconds have elapsed, and TA12 is the timing when 1.1 seconds have elapsed. is there.
図2に示すように、第1計算処理装置10Aは、クロックタイミングTA1で入力処理の指令を受けると、クロックタイミングTA1からTA2までの時間で、入力処理を実行する。そして、第1計算処理装置10Aは、クロックタイミングTA2からTA3までの時間で、計算処理を実行し、クロックタイミングTA3からTA4までの時間で、出力処理を実行する。クロックタイミングTA1からTA4が、第1計算処理装置10Aのシミュレーションの計算周期となる。すなわち、第1計算処理装置10Aの計算時間AAは、クロックタイミングTA1からTA4までの時間である0.3秒である。第1計算処理装置10Aは、このシミュレーションを経時毎に繰り返す。 As illustrated in FIG. 2, when the first calculation processing device 10A receives an input processing command at the clock timing TA1, the first calculation processing device 10A executes the input processing in the time from the clock timing TA1 to TA2. Then, the first calculation processing device 10A executes the calculation process in the time from the clock timing TA2 to TA3, and executes the output process in the time from the clock timing TA3 to TA4. Clock timings TA1 to TA4 are simulation cycles of the first calculation processing apparatus 10A. That is, the calculation time AA of the first calculation processing device 10A is 0.3 seconds, which is the time from the clock timing TA1 to TA4. The first calculation processing apparatus 10A repeats this simulation every time.
第2計算処理装置10Bは、クロックタイミングTA1で入力処理の指令を受けると、クロックタイミングTA1からTA2までの時間で、入力処理を実行し、クロックタイミングTA2からTA4までの時間で、計算処理を実行し、クロックタイミングTA4からTA5までの時間で、出力処理を実行する。すなわち、第2計算処理装置10Bの計算時間ABは、クロックタイミングTA1からTA5までの時間である0.4秒である。第2計算処理装置10Bは、このシミュレーションを経時毎に繰り返す。
When receiving the input processing command at the clock timing TA1, the second
第3計算処理装置10Cは、クロックタイミングTA1で入力処理の指令を受けると、クロックタイミングTA1からTA2までの時間で、入力処理を実行し、クロックタイミングTA2からTA12までの時間で、計算処理を実行し、クロックタイミングTA12からTA13までの時間で、出力処理を実行する。すなわち、第3計算処理装置10Cの計算時間ACは、クロックタイミングTA1からTA13までの時間である1.2秒である。第3計算処理装置10Cは、このシミュレーションを経時毎に繰り返す。 When the third processing unit 10C receives an input processing command at the clock timing TA1, the third processing unit 10C executes the input processing in the time from the clock timing TA1 to TA2, and executes the calculation processing in the time from the clock timing TA2 to TA12. Then, the output process is executed in the time from the clock timing TA12 to TA13. That is, the calculation time AC of the third calculation processing device 10C is 1.2 seconds, which is the time from the clock timing TA1 to TA13. The third calculation processing apparatus 10C repeats this simulation every time.
第4計算処理装置10Dは、クロックタイミングTA1で入力処理の指令を受けると、クロックタイミングTA1からTA2までの時間で、入力処理を実行し、クロックタイミングTA2からTA5までの時間で、計算処理を実行し、クロックタイミングTA5からTA6までの時間で、出力処理を実行する。すなわち、第4計算処理装置10Dの計算時間ADは、クロックタイミングTA1からTA6までの時間である0.5秒である。第4計算処理装置10Dは、このシミュレーションを経時毎に繰り返す。
When receiving the input processing command at the clock timing TA1, the fourth
各計算処理装置10は、1つのシミュレーションを実行するのに、以上説明した計算時間Aを要する。ただし、計算時間Aは、その計算処理装置10のスペックとシミュレーションの内容とに依存するため、以上の説明は一例である。 Each calculation processing apparatus 10 requires the calculation time A described above to execute one simulation. However, since the calculation time A depends on the specifications of the calculation processing apparatus 10 and the contents of the simulation, the above description is an example.
また、計算処理装置10の少なくとも一部は、他の計算処理装置10の出力データ(計算結果)を、自身の入力データとして使用する。本実施形態の説明例では、第2計算処理装置10Bは、第1計算処理装置10Aの出力データを、自身の入力データとして使用する。また、第2計算処理装置10Bは、第4計算処理装置10Dの出力データについても、自身の入力データとして使用する。また、第3計算処理装置10Cは、第2計算処理装置10Bの出力データを、自身の入力データとして使用する。
In addition, at least a part of the calculation processing device 10 uses output data (calculation result) of another calculation processing device 10 as its own input data. In the explanation example of the present embodiment, the second
計算処理装置10のシミュレーションは以上説明したものであるが、これらは例であり、互いに1つの計算周期での計算時間が互いに異なるシミュレーションを経時毎に実行するものであれば、以上の説明に限られない。 The simulation of the calculation processing apparatus 10 has been described above. However, these are examples, and the simulation is limited to the above description as long as simulations with different calculation times in one calculation cycle are executed every time. I can't.
(インストラクタ操作装置)
インストラクタ操作装置30は、操作者(インストラクタ)からの操作情報を取得するマンマシン(コンピュータ)である。図1に示すように、インストラクタ操作装置30は、操作部32と通信部34とを有する。操作部32は、操作者からが操作情報を入力するためのインターフェイスであり、例えばコンピュータのマウスやキーボード、タッチパネル等である。通信部34は、操作者からが操作情報を制御処理装置20に送信する。操作情報は、シミュレーションの動作を設定する情報であり、例えば、計算処理装置10全てのシミュレーションを開始させるRUN操作、計算処理装置10全てのシミュレーションを停止させるFREEZE操作、シミュレーションの速度を変更する速度変更操作等がある。
(Instructor operation device)
The instructor operating device 30 is a man machine (computer) that acquires operation information from an operator (instructor). As shown in FIG. 1, the instructor operation device 30 includes an operation unit 32 and a communication unit 34. The operation unit 32 is an interface for inputting operation information from an operator, and is, for example, a computer mouse, a keyboard, a touch panel, or the like. The communication unit 34 transmits operation information from the operator to the
(制御処理装置)
制御処理システムとしての制御処理装置20は、計算処理装置10と通信可能に接続され、全ての計算処理装置10のシミュレーション処理を一括で制御する処理装置(コンピュータ)である。図3は、第1実施形態に係る制御処理装置の構成を示すブロック図である。図3に示すように、制御処理装置20は、制御通信部40と、周期設定部42と、計算指示部44と、計算データ部46と、変更要求データ取得部48と、を有する。
(Control processing device)
The
制御通信部40は、計算処理装置10の通信部12と通信を行って、計算処理装置10と情報のやり取りを行うものであり、インストラクタ操作装置30の通信部34と通信を行って、インストラクタ操作装置30と情報のやり取りを行うものである。
The control communication unit 40 communicates with the
周期設定部42は、処理周期設定部52と、基本周期設定部54と、同期周期設定部56と、仮想時間設定部58と、を有する。
The
処理周期設定部52は、計算処理装置10毎に処理周期Bを設定するものである。処理周期Bは、各計算処理装置10がシミュレーションを1回実行する周期、言い換えれば、シミュレーションを開始してから次のシミュレーションを開始するまでの時間である。上述のように、計算処理装置10が1つのシミュレーションの計算に要する時間である計算時間Aは、その計算処理装置10のスペックとシミュレーションの内容とに依存する。そのため、計算処理装置10は、計算時間Aよりも短い周期でシミュレーションを繰り返すことはできない。従って、処理周期設定部52は、各計算処理装置10について、それぞれの計算時間A以上の長さを有するように、処理周期Bを設定する。処理周期の設定方法の詳細は後述する。
The processing
基本周期設定部54は、計算処理装置10全てに共通する基本周期Cを設定するものである。基本周期Cは、各処理周期Bの公倍数の長さを有する周期である。基本周期Cの詳細については後述する。
The basic
同期周期設定部56は、計算処理装置10全てに共通する同期周期Dを設定するものである。同期周期Dは、各処理周期Bの公約数の長さを有する周期である。同期周期Dについては後述する。
The synchronization
仮想時間設定部58は、計算処理装置10毎に、計算仮想時間Eを設定するものである。計算仮想時間Eは、シミュレーション内での経過時間である。計算処理装置10は、1回のシミュレーションで、計算仮想時間E分だけシミュレーションを実行する。すなわち、例えば温度変化のシミュレーションを行う場合、計算処理装置10は、計算仮想時間Eの経過前後における温度変化を算出する。従って、計算仮想時間Eは、実際の経過時間(ここでは計算時間A又は処理周期B)とは異なる場合がある。計算処理装置10は、このシミュレーションを複数回繰り返すことで、シミュレーション内の仮想の経過時間毎の処理結果を算出することができる。計算仮想時間Eの設定方法の詳細は後述する。 The virtual time setting unit 58 sets the calculation virtual time E for each calculation processing device 10. The calculated virtual time E is an elapsed time in the simulation. The calculation processing apparatus 10 executes the simulation for the calculation virtual time E in one simulation. That is, for example, when a temperature change simulation is performed, the calculation processing device 10 calculates a temperature change before and after the calculation virtual time E elapses. Therefore, the calculated virtual time E may be different from the actual elapsed time (here, the calculation time A or the processing cycle B). The calculation processing apparatus 10 can calculate a processing result for each virtual elapsed time in the simulation by repeating this simulation a plurality of times. Details of the setting method of the calculation virtual time E will be described later.
以上のように、周期設定部42は、各計算処理装置10の同期をとるための設定値である、処理周期Bと基本周期Cと同期周期Dと計算仮想時間Eとを設定する。周期設定部42は、各計算処理装置10の計算時間A及び実行するシミュレーションの内容に基づき、自身でこれらを設定するものであるが、操作者の周期設定部42への入力操作によりこれらを設定してもよい。
As described above, the
次に、制御処理装置20の計算指示部44について説明する。図3に示すように、計算指示部44は、同期信号生成部62と、計算処理フラグセット部64と、計算仮想時間フラグセット部66と、操作フラグセット部68と、を有する。
Next, the
同期信号生成部62は、同期信号SDを、同期周期D毎に生成する。同期信号生成部62は、制御通信部40を介して、同期周期D毎に計算処理装置10のそれぞれに同期信号SDを出力する。同期信号SDを取得した各計算処理装置10は、シミュレーション実行のための処理をスタートさせたりするが、詳しくは後述する。
The
計算処理フラグセット部64は、後述する同期処理を行うためのものである。計算処理フラグセット部64は、同期信号SDに同期させて、自身の書き込み可能領域内に、計算処理フラグFBをセットする。計算処理フラグセット部64は、計算処理装置10のそれぞれに対応した計算処理フラグFBをセットする。本実施形態では、計算処理フラグセット部64は、各計算処理装置10に対応させて、計算指示フラグF1及び計算不実施フラグF2をセットする。計算指示フラグF1は、その計算処理装置10に新たにシミュレーションを行わせる指示を出すためのフラグである。計算不実施フラグF2は、その計算処理装置10に新たにシミュレーションを行わせない指示を出すためのフラグである。計算処理装置10は、自身のために設定された計算処理フラグFBを計算処理フラグセット部64から読み込み、その計算処理フラグFBに基づき、新たなシミュレーションを開始させたりさせなかったりする。
The calculation process
例えば、計算処理フラグセット部64は、第2計算処理装置10Bに対し、第2計算処理装置10Bの処理周期B(第2処理周期BB)と一致するタイミングで送信する同期信号SDに同期させて、第2計算処理装置10Bのための計算指示フラグF1をセットする。また、計算処理フラグセット部64は、例えば第2計算処理装置10Bに対し、第2計算処理装置10Bの処理周期B(第2処理周期BB)と一致しないタイミングで送信する同期信号SDに同期させて、第2計算処理装置10Bのための計算不実施フラグF2をセットする。第2計算処理装置10Bは、計算指示フラグF1を読み込んだ場合に、新たなシミュレーションをスタートさせ、計算不実施フラグF2を読み込んだ場合に、新たなシミュレーションをスタートさせない。
For example, the calculation processing flag set
計算仮想時間フラグセット部66は、同期信号SDに同期させて、自身の書き込み可能領域内に、計算仮想時間フラグFEをセットする。計算仮想時間フラグセット部66は、各計算処理装置10に対応させて、計算仮想時間フラグFEをセットする。計算仮想時間フラグFEは、1回のシミュレーションでの経過時間である計算仮想時間Eの情報を示すフラグである。計算処理装置10は、自身のために設定された計算仮想時間フラグFEを計算仮想時間フラグセット部66から読み込み、その計算仮想時間フラグFEにおける計算仮想時間Eの長さ分だけ、シミュレーションを実行する。 The calculation virtual time flag setting unit 66 sets the calculation virtual time flag FE in its writable area in synchronization with the synchronization signal SD. The calculation virtual time flag setting unit 66 sets the calculation virtual time flag FE in correspondence with each calculation processing device 10. The calculation virtual time flag FE is a flag indicating information of the calculation virtual time E that is an elapsed time in one simulation. The calculation processing device 10 reads the calculation virtual time flag FE set for itself from the calculation virtual time flag set unit 66, and executes the simulation for the length of the calculation virtual time E in the calculation virtual time flag FE. .
操作フラグセット部68は、後述する要求データ同期処理を行うためのものである。操作フラグセット部68は、基本周期Cに同期させて、自身の書き込み可能領域内に操作フラグFGをセットする。操作フラグセット部68は、各計算処理装置10の全てに共通する操作フラグFGをセットする。操作フラグFGは、インストラクタ操作装置30に入力された操作者(インストラクタ)からの操作情報に基づいてセットされるフラグである。インストラクタ操作装置30に入力された操作情報は、変更要求データ取得部48に入力される。変更要求データ取得部48は、その操作情報がシミュレーション動作の変更要求の情報である変更要求データである場合であって、RUN操作又はFREEZE操作である場合、その変更要求データを操作フラグセット部68に出力する。操作フラグセット部68は、その変更要求データに基づき、操作フラグFGをセットする。各計算処理装置10は、その操作フラグFGを読み込み、その操作フラグFGに基づき、自身の実行するシミュレーション動作を変更させる。操作フラグFGの詳細については後述する。
The operation flag set unit 68 is for performing request data synchronization processing described later. The operation flag setting unit 68 sets the operation flag FG in its own writable area in synchronization with the basic cycle C. The operation flag setting unit 68 sets an operation flag FG common to all the calculation processing devices 10. The operation flag FG is a flag that is set based on operation information from an operator (instructor) input to the instructor operation device 30. The operation information input to the instructor operation device 30 is input to the change request
次に、制御処理装置20の計算データ部46について説明する。図3に示すように、計算データ部46は、計算データ取得部72と、計算データ記憶部74と、を有する。計算データ取得部72は、各計算処理装置10の出力データを取得する。計算データ記憶部74は、各計算処理装置10の入力データを記憶するとともに、計算データ取得部72から各計算処理装置10の出力データを取得して記憶する。各計算処理装置10は、計算データ記憶部74から入力データを読み出して、シミュレーションを実行する。なお、計算データ記憶部74は、各計算処理装置10の出力データのみを記憶していてもよく、各計算処理装置10の入力データは、計算処理装置10自身が記憶してもよい。
Next, the
また、計算データ取得部72は、後述する取り合いデータ同期処理のために用いられる。計算データ取得部72は、出力データのうちの取り合いデータを所定時間保持するバッファとしての機能を有する。取り合いデータは、他の計算処理装置10の入力データとして使用する出力データである。取り合いデータの保持の詳細については、後述する。
Moreover, the calculation
変更要求データ取得部48は、上述のように、インストラクタ操作装置30に入力された操作情報を取得するものである。
The change request
制御処理装置20は、以上説明したような構成を有する。制御処理装置20は、各計算処理装置10のシミュレーション同士の同期をとるため、周期設定、同期処理、取り合いデータ同期処理、及び要求データ同期処理を行う。以下に、制御処理装置20の各処理について説明する。
The
(周期設定)
最初に、周期設定部42における処理周期Bと、基本周期Cと、同期周期Dと、計算仮想時間Eとの設定について説明する。図4は、各周期の設定を説明するためのチャートである。周期設定部42は、最初に、処理周期設定部52により、各計算処理装置10の処理周期Bを設定する。処理周期設定部52は、計算時間Aと、実行するシミュレーションの内容とに基づき、処理周期Bを設定する。処理周期設定部52は、各計算処理装置10について、その計算処理装置10の計算時間A以上の長さとなるように、処理周期Bを設定する。また、処理周期設定部52は、計算時間A以上の長さであり、かつできるだけ長さが短くなるように、処理周期Bを設定してもよい。処理周期Bを短くすることにより、シミュレーションの頻度が増加するため、シミュレーション精度を高めることが可能となる。また、処理周期設定部52は、シミュレーションの種類に基づいて、処理周期Bを設定する。例えば、処理周期設定部52は、プラントの制御装置の制御変更についてのシミュレーション(例えば温度制御や水量制御)であれば、シミュレーションの精度を高めるために、計算時間A以上の長さであって、かつ、できるだけ長さが短くなるように、処理周期Bを設定する。また、処理周期設定部52は、化学反応のシミュレーションの場合は、反応の進行が遅いため、処理周期Bを、計算時間A以上の長さであって、かつ、同じ計算時間Aとなる制御装置の制御変更についてのシミュレーションよりも長く設定してもよい。すなわち、処理周期設定部52は、計算時間Aが同じと仮定した場合に、頻繁に状態の確認が必要なパラメータに関するシミュレーションにおいては、できるだけ長さが短くなるように処理周期Bを設定し、頻繁な状態確認が不要なパラメータに関するシミュレーションにおいては、それよりも長くなるように処理周期Bを設定する。
(Cycle setting)
First, the setting of the processing cycle B, the basic cycle C, the synchronization cycle D, and the calculation virtual time E in the
また、処理周期設定部52は、例えば、計算時間Aが短く処理周期Bを短く設定できるシミュレーションについて、処理周期Bを、実際の原子力プラントの制御装置の処理周期と同じ長さとすることで、シミュレーションを実際の原子力プラントの動きと同じにすることができる。また、密閉配管内の圧力の伝播、爆発事象、又は臨界事象等は、パラメータ変化の速度が高いため、処理周期設定部52は、これらのパラメータ変化の速度が高い
事象に関するシミュレーションについては、処理周期Bをできるだけ長さが短くなるように設定する。すなわち、処理周期設定部52は、パラメータ変化の速度が高い事象ほど、計算時間Aに対する処理周期Bの長さを短くする。計算時間Aに対する処理周期Bの長さを短くすることにより、処理周期Bの長さを計算時間Aに近づけて、処理周期Bをできるだけ短くすることができる。また、処理周期設定部52は、例えば火災事象等の計算負荷が大きいシミュレーションについては、処理周期Bの長さを長くする。また、処理周期設定部52は、収束計算が必要なシミュレーションについては、取り合い先のシミュレーションに影響(発散など)を与えない範囲の処理周期Bを設定する。
Further, for example, for the simulation in which the calculation time A is short and the processing cycle B can be set short, the processing
本実施形態の例では、処理周期設定部52は、図4に示すように、第1計算処理装置10Aの処理周期である第1処理周期BAを、クロックタイミングTA1からTA4までの時間である0.3秒と設定している。第1処理周期BAは、第1計算処理装置10Aの計算時間AAと同じ長さである。第1処理周期BAの開始タイミングを処理周期タイミングTBとして、処理周期タイミングTB1をクロックタイミングTA1と同じタイミングとした場合、処理周期タイミングTB2がクロックタイミングTA4と同タイミングとなる。同様に、処理周期タイミングTB3はクロックタイミングTA7と同タイミングとなり、処理周期タイミングTB4はクロックタイミングTA10と同タイミングとなり、処理周期タイミングTB5はクロックタイミングTA13と同タイミングとなる。
In the example of the present embodiment, as illustrated in FIG. 4, the processing
第1計算処理装置10Aは、図4に示すように、処理周期タイミングTB1でシミュレーションを開始した場合、処理周期タイミングTB1からTB2の間、処理周期タイミングTB2からTB3の間、処理周期タイミングTB3からTB4の間、処理周期タイミングTB4からTB5の間で、各1回ずつシミュレーションを実行する。 As shown in FIG. 4, when the simulation is started at the processing cycle timing TB1, the first calculation processing device 10A, between the processing cycle timings TB1 and TB2, between the processing cycle timings TB2 and TB3, and between the processing cycle timings TB3 and TB4. , The simulation is executed once each between the processing cycle timings TB4 and TB5.
また、処理周期設定部52は、第2計算処理装置10Bの処理周期である第2処理周期BBを、クロックタイミングTA1からTA7までの時間である0.6秒と設定している。すなわち、第2処理周期BBは、処理周期タイミングTB1からTB3までの時間となる。第2処理周期BBは、第2計算処理装置10Bの計算時間ABより長い。処理周期設定部52は、計算時間AB以上であって、自身より計算時間の短い第1処理装置10Aの第1処理周期BAの倍数となり、かつできるだけ長さが短くなるように、第2処理周期BBを設定している。
In addition, the processing
第2計算処理装置10Bは、図4に示すように、処理周期タイミングTB1でシミュレーションを開始した場合、処理周期タイミングTB1からTB3の間、処理周期タイミングTB3からTB5の間で、各1回ずつシミュレーションを実行する。
As shown in FIG. 4, when the simulation is started at the processing cycle timing TB1, the second
処理周期設定部52は、第3計算処理装置10Cの処理周期である第3処理周期BCを、クロックタイミングTA1からTA13までの時間である1.2秒と設定している。すなわち、第3処理周期BCは、処理周期タイミングTB1からTB5までの時間となる。第3処理周期BCは、第3計算処理装置10Cの計算時間ACより長い。処理周期設定部52は、計算時間AC以上であって、自身より計算時間の短い第1処理周期BA、第2処理周期BBの公倍数となり、かつできるだけ長さが短くなるように、第3処理周期BCを設定している。
The processing
第3計算処理装置10Cは、図4に示すように、処理周期タイミングTB1でシミュレーションを開始した場合、処理周期タイミングTB1からTB5の間で、1回シミュレーションを実行する。 As illustrated in FIG. 4, when the simulation is started at the processing cycle timing TB1, the third calculation processing device 10C executes the simulation once between the processing cycle timings TB1 and TB5.
処理周期設定部52は、第4計算処理装置10Dの処理周期である第4処理周期BDを、クロックタイミングTA1からTA13までの時間である1.2秒と設定している。すなわち、第4処理周期BDは、処理周期タイミングTB1からTB13までの時間となる。第4処理周期BDは、第4計算処理装置10Dの計算時間ADより長い。第4計算処理装置10Dの第4処理周期BDは、計算時間AD以上であって、自身より計算時間の短い第1処理周期BA、第2処理周期BBの倍数となり、かつできるだけ長さが短くなるように設定した場合は、0.6秒となる。ただし、第4計算処理装置10Dのシミュレーションは、シミュレーション頻度を多くする必要がないため、処理周期設定部52は、第4処理周期BDを、その倍の1.2秒としている。
The processing
第4計算処理装置10Dは、図4に示すように、処理周期タイミングTB1でシミュレーションを開始した場合、処理周期タイミングTB1からTB5の間で、1回シミュレーションを実行する。
As shown in FIG. 4, when the simulation is started at the processing cycle timing TB1, the fourth
ただし、処理周期設定部52による、処理周期Bの設定方法は、以上説明した方法に限られない。処理周期設定部52は、計算時間A以上の長さとなるように、処理周期Bを設定するものであればよい。
However, the method of setting the processing cycle B by the processing
次に、周期設定部42は、基本周期設定部54により、各計算処理装置10に共通する基本周期Cを設定する。基本周期設定部54は、各処理周期Bの公倍数となるように、基本周期Cを設定する。より詳しくは、基本周期設定部54は、各処理周期Bの最小公倍数となるように、基本周期Cを設定することが好ましい。すなわち、図4の例では、基本周期Cは、第1処理周期BA、第2処理周期BB、第3処理周期BC、第4処理周期BDの最小公倍数である第3処理周期BC、第4処理周期BDと同じ長さの周期(1.2秒)を、基本周期Cとする。基本周期Cの開始タイミングを基本周期タイミングTCとして、基本周期タイミングTC1を処理周期タイミングTB1と同じタイミングとした場合、基本周期タイミングTC2が処理周期タイミングTB5と同タイミングとなる。
Next, the
なお、基本周期設定部54は、各計算時間A中の最長の計算時間以上の長さを基本周期Cとして設定し、処理周期設定部52が、その計算処理装置10における計算時間A以上の長さであり、かつ基本周期Cの約数の長さを有するように、各計算処理装置10の処理周期Bを設定してもよい。この場合において、処理周期設定部52は、基本周期Cの長さができるだけ短くなるように、各処理周期Bを設定することが好ましい。
The basic
次に、周期設定部42は、同期周期設定部56により、計算処理装置10全てに共通する同期周期Dを設定する。同期周期設定部56は、各処理周期Bの公約数の長さとなるように、同期周期Dを設定する。図4の例では、同期周期設定部56は、第1処理周期BA、BB、BC、BDの最大公約数である第1処理周期BAと同じ長さの周期(0.3秒)を、同期周期Dとする。同期周期Dの開始タイミングを同期タイミングTDとして、同期タイミングTD1を処理周期タイミングTB1と同じタイミングとした場合、同期タイミングTD2が処理周期タイミングTB2と同タイミングとなり、同期タイミングTD3が処理周期タイミングTB3と同タイミングとなり、同期タイミングTD4が処理周期タイミングTB4と同タイミングとなり、同期タイミングTD5が処理周期タイミングTB5と同タイミングとなる。
Next, the
次に、周期設定部42は、仮想時間設定部58により、計算処理装置10毎に、計算仮想時間Eを設定する。計算仮想時間Eは、1つのシミュレーション上の経過時間である。すなわち、計算仮想時間Eは、1処理周期において実行したシミュレーションの、そのシミュレーション内における仮想の経過時間である。仮想時間設定部58は、各処理周期B同士の長さの関係比と同じ関係比となるように、各計算仮想時間Eを設定する。ここで、第1計算処理装置10Aに設定される計算仮想時間Eを第1計算仮想時間EAとし、第2計算処理装置10Bに設定される計算仮想時間Eを第2計算仮想時間EBとし、第3計算処理装置10Cに設定される計算仮想時間Eを第3計算仮想時間ECとし、第4計算処理装置10Dに設定される計算仮想時間Eを第4計算仮想時間EDとする。図4の例では、第1処理周期BA、第2処理周期BB、第3処理周期BC、第4処理周期BDの長さの比が1:2:4:4であるため、第1計算仮想時間EA、第2計算仮想時間EB、第3計算仮想時間EC、第4計算仮想時間EDの長さの比は、1:2:4:4となる。第1計算仮想時間EAは、長さがΔ3となり、第2計算仮想時間EBは、長さがその倍のΔ6となり、第3計算仮想時間EC及び第4計算仮想時間EDは、長さが第2計算仮想時間EBの倍のΔ12となっている。例えば、Δ3は0.3秒であり、Δ6は、0.6秒であり、Δ12は1.2秒であるが、これに限られない。
Next, the
ここで、基本周期Cにおけるシミュレーション上の仮想的な経過時間を基本仮想時間CXとする。基本周期Cの長さは、1つの計算処理装置10において、基本周期C内の処理周期Bの長さの合計である。すなわち、基本周期Cの長さは、第1処理周期BAの4倍であり、第2処理周期BBの2倍であり、第3処理周期BC、第4処理周期BDの等倍である。従って、基本仮想時間CXは、第1計算仮想時間EAの4倍であり、第2計算仮想時間EBの2倍であり、第3計算仮想時間EC、第4計算仮想時間EDの等倍である。上述のように、第1計算仮想時間EA、第2計算仮想時間EB、第3計算仮想時間EC、第4計算仮想時間EDの長さの比は、1:2:4:4である。そのため、基本仮想時間CXは、計算処理装置10毎に同一であるということができる。 Here, a virtual elapsed time on simulation in the basic period C is defined as a basic virtual time CX. The length of the basic cycle C is the sum of the lengths of the processing cycles B within the basic cycle C in one calculation processing device 10. That is, the length of the basic cycle C is four times the first processing cycle BA, twice the second processing cycle BB, and equal to the third processing cycle BC and the fourth processing cycle BD. Therefore, the basic virtual time CX is four times the first calculation virtual time EA, twice the second calculation virtual time EB, and equal to the third calculation virtual time EC and the fourth calculation virtual time ED. . As described above, the ratio of the lengths of the first calculation virtual time EA, the second calculation virtual time EB, the third calculation virtual time EC, and the fourth calculation virtual time ED is 1: 2: 4: 4. Therefore, it can be said that the basic virtual time CX is the same for each calculation processing device 10.
以上のように、周期設定部42は、処理周期Bと、基本周期Cと、同期周期Dと、計算仮想時間Eとを設定する。周期設定部42は、処理周期Bと、基本周期Cと、同期周期Dと、計算仮想時間Eとの順で設定を行ったが、処理の順番はこれに限られない。周期設定部42は、処理周期Bを最初に算出し、処理周期Bに基づき、基本周期Cと、同期周期Dと、計算仮想時間Eとを算出することが好ましい。例えば、周期設定部42は、処理周期Bと、計算仮想時間Eと、基本周期Cと、同期周期Dとの順で設定を行ってもよい。ただし、周期設定部42は、処理周期Bを最初に算出することに限られない。
As described above, the
(同期処理)
次に、制御処理装置20による各計算処理装置10の同期処理について説明する。図5は、同期処理を説明するためのタイムチャートである。制御処理装置20は、同期信号生成部62が、同期周期D毎に同期信号SDを生成し、制御通信部40を介して、同期周期D毎に計算処理装置10のそれぞれに同期信号SDを出力する。図5の例では、同期信号生成部62は、同期タイミングTD1、TD2、TD3、TD4、TD5の各タイミングで、各計算処理装置10に同期信号SDを出力する。基本周期タイミングTC1は同期タイミングTD1と一致し、基本周期タイミングTC2は同期タイミングTD5と一致する。また、同期タイミングTD1、TD2、TD3、TD4、TD5は、それぞれ処理周期タイミングTB1、TB2、TB3、TB4、TB5と一致する(図4参照)。
(Synchronous processing)
Next, synchronization processing of each calculation processing device 10 by the
また、制御処理装置20は、計算処理フラグセット部64により、計算処理装置10のそれぞれに対応した計算処理フラグFBをセットする。計算処理フラグセット部64は、各計算処理装置10の処理周期Bに基づき、セットする計算処理フラグFBを、計算指示フラグF1又は計算不実施フラグF2のうちから選択する。計算処理フラグセット部64は、各計算処理装置10に対し、その計算処理装置10の処理周期Bと一致するタイミングで送信する同期信号SDに同期させて、その計算処理装置10のための計算指示フラグF1をセットする。また、計算処理フラグセット部64は、各計算処理装置10に対し、計算処理装置10の処理周期Bと一致しないタイミングで送信する同期信号SDに同期させて、その計算処理装置10のための計算不実施フラグF2をセットする。
Further, the
本説明の例では、第1計算処理装置10Aの第1処理周期BAは、同期周期Dと同じ長さである。従って、計算処理フラグセット部64は、第1計算処理装置10Aの第1計算処理フラグFBAとして、同期タイミングTD1、TD2、TD3、TD4、TD5で出力する同期信号SDに同期させて、計算指示フラグF1をセットする。
In the example of the present description, the first processing cycle BA of the first calculation processing device 10A has the same length as the synchronization cycle D. Therefore, the calculation processing flag set
本説明の例では、第2計算処理装置10Bの第2処理周期BBは、同期周期Dの2倍の長さである。従って、計算処理フラグセット部64は、第2計算処理装置10Bの第2計算処理フラグFBBとして、同期タイミングTD1、TD3、TD5で出力する同期信号SDに同期させて、計算指示フラグF1をセットする。そして、計算処理フラグセット部64は、第2計算処理フラグFBBとして、同期タイミングTD2、TD4で出力する同期信号SDに同期させて、計算不実施フラグF2をセットする。
In the example of the present description, the second processing cycle BB of the second
本説明の例では、第3計算処理装置10Cの第3処理周期BCは、同期周期Dの4倍の長さである。従って、計算処理フラグセット部64は、第3計算処理装置10Cの第3計算処理フラグFBCとして、同期タイミングTD1、TD5で出力する同期信号SDに同期させて、計算指示フラグF1をセットする。そして、計算処理フラグセット部64は、第3計算処理フラグFBCとして、同期タイミングTD2、TD3TD4で出力する同期信号SDに同期させて、計算不実施フラグF2をセットする。第4計算処理装置10Dの第4処理周期BDは、第3処理周期BCと同じ長さである。従って、第4計算処理装置10Dの第4計算処理フラグFBDは、第3計算処理フラグFBCと同じとなる。
In the example of the present description, the third processing cycle BC of the third calculation processing device 10C is four times as long as the synchronization cycle D. Accordingly, the calculation processing
また、制御処理装置20は、計算仮想時間フラグセット部66により、同期信号SDに同期させて、各計算処理装置10に対応した計算仮想時間フラグFEをセットする。計算仮想時間フラグFEは、設定された計算仮想時間Eの情報を有するフラグである。
Further, the
本説明の例では、第1計算処理装置10Aの第1計算仮想時間EAは、Δ3であり、第2計算処理装置10Bの第2計算仮想時間EBは、Δ6であり、第3計算処理装置10Cの第3計算仮想時間ECは、Δ12であり、第4計算処理装置10Dの第4計算仮想時間EDは、Δ12である。従って、計算仮想時間フラグセット部66は、Δ3の情報を持たせた第1計算処理装置10Aの第1計算仮想時間フラグFEAを、同期タイミングTD1、TD2、TD3、TD4、TD5で出力する同期信号SDに同期させてセットする。計算仮想時間フラグセット部66は、Δ6の情報を持たせた第2計算処理装置10Bの第2計算仮想時間フラグFEBを、同期タイミングTD1、TD2、TD3、TD4、TD5で出力する同期信号SDに同期させてセットする。計算仮想時間フラグセット部66は、Δ12の情報を持たせた第3計算処理装置10Cの第3計算仮想時間フラグFECを、同期タイミングTD1、TD2、TD3、TD4、TD5で出力する同期信号SDに同期させてセットする。計算仮想時間フラグセット部66は、Δ12の情報を持たせた第4計算処理装置10Dの第4計算仮想時間フラグFEDを、同期タイミングTD1、TD2、TD3、TD4、TD5で出力する同期信号SDに同期させてセットする。
In the example of this description, the first calculation virtual time EA of the first calculation processing device 10A is Δ3, the second calculation virtual time EB of the second
なお、計算仮想時間フラグセット部66は、計算指示フラグF1をセットする場合にのみ、計算仮想時間フラグFEをセットしてもよい。すなわち、計算仮想時間フラグセット部66は、例えば第2計算仮想時間フラグFEBを、同期タイミングTD1、TD3、TD5で出力する同期信号SDにのみ同期させてセットしてもよい。 Note that the calculated virtual time flag setting unit 66 may set the calculated virtual time flag FE only when the calculation instruction flag F1 is set. That is, the calculation virtual time flag setting unit 66 may set the second calculation virtual time flag FEB in synchronization with only the synchronization signal SD output at the synchronization timings TD1, TD3, and TD5, for example.
各計算処理装置10は、同期信号SDを取得すると、制御処理装置20から、自身に対応する計算処理フラグFB及び計算仮想時間フラグFEを読み込む。各計算処理装置10は、計算処理フラグFBが計算指示フラグF1である場合に、計算仮想時間フラグFEに示された計算仮想時間E分のシミュレーションを開始する。また、各計算処理装置10は、計算処理フラグFBが計算不実施フラグF2である場合には、シミュレーションを開始しない。
When each calculation processing device 10 acquires the synchronization signal SD, each calculation processing device 10 reads the calculation processing flag FB and the calculation virtual time flag FE corresponding to itself from the
図5の例では、第1計算処理装置10Aは、同期タイミングTD1における同期信号SDを取得すると、制御処理装置20の計算処理フラグセット部64にセットされた第1計算処理フラグFBAと、計算仮想時間フラグセット部66にセットされた第1計算仮想時間フラグFEAとを読み出す。同期タイミングTD1における第1計算処理フラグFBAは計算指示フラグF1であるため、第1計算処理装置10Aは、第1計算仮想時間EA分(Δ3分)のシミュレーションを新たに開始する。図5に示すように、このシミュレーションは、同期タイミングTD2までに終了する。
In the example of FIG. 5, when the first calculation processing device 10A acquires the synchronization signal SD at the synchronization timing TD1, the first calculation processing flag FBA set in the calculation processing
また、同期タイミングTD2、TD3、TD4、TD5における第1計算処理フラグFBAも、計算指示フラグF1である。従って、第1計算処理装置10Aは、同期タイミングTD2、TD3、TD4、TD5においても、同様に、第1計算仮想時間EA分(Δ3分)のシミュレーションを新たに開始する。 The first calculation processing flag FBA at the synchronization timings TD2, TD3, TD4, and TD5 is also the calculation instruction flag F1. Accordingly, the first calculation processing apparatus 10A similarly starts a new simulation for the first calculation virtual time EA (Δ3 minutes) at the synchronization timings TD2, TD3, TD4, and TD5.
図5の例では、第2計算処理装置10Bは、同期タイミングTD1における同期信号SDを取得すると、第2計算処理フラグFBBと第2計算仮想時間フラグFEBとを読み出す。同期タイミングTD1における第2計算処理フラグFBBは計算指示フラグF1であるため、第2計算処理装置10Bは、第2計算仮想時間EB分(Δ6分)のシミュレーションを新たに開始する。図5に示すように、このシミュレーションは、同期タイミングTD3までに終了する。
In the example of FIG. 5, when the second
また、同期タイミングTD2における第2計算処理フラグFBBは、計算不実施フラグF2である。従って、第2計算処理装置10Bは、同期タイミングTD2においては、シミュレーションを新たに開始しない。なお、同期タイミングTD2において、第2計算処理装置10Bは、同期タイミングTD1で開始したシミュレーションを実行中である。
The second calculation processing flag FBB at the synchronization timing TD2 is a calculation non-execution flag F2. Therefore, the second
また、同期タイミングTD3、TD5における第2計算処理フラグFBBは、計算指示フラグF1である。従って、第2計算処理装置10Bは、同期タイミングTD3、TD5において、第2計算仮想時間EB分(Δ6分)のシミュレーションを新たに開始する。また、第2計算処理装置10Bは、計算不実施フラグF2がセットされている同期タイミングTD4においては、シミュレーションを新たに開始しない。
The second calculation processing flag FBB at the synchronization timings TD3 and TD5 is the calculation instruction flag F1. Accordingly, the second
図5の例では、第3計算処理装置10Cは、同期タイミングTD1における同期信号SDを取得すると、第3計算処理フラグFBCと第3計算仮想時間フラグFECとを読み出す。同期タイミングTD1における第3計算処理フラグFBCは計算指示フラグF1であるため、第3計算処理装置10Cは、第3計算仮想時間EC分(Δ12分)のシミュレーションを新たに開始する。図5に示すように、このシミュレーションは、同期タイミングTD5までに終了する。 In the example of FIG. 5, when the third calculation processing device 10C acquires the synchronization signal SD at the synchronization timing TD1, the third calculation processing device 10C reads the third calculation processing flag FBC and the third calculation virtual time flag FEC. Since the third calculation processing flag FBC at the synchronization timing TD1 is the calculation instruction flag F1, the third calculation processing device 10C newly starts a simulation for the third calculation virtual time EC (Δ12 minutes). As shown in FIG. 5, this simulation ends by the synchronization timing TD5.
また、同期タイミングTD2、TD3、TD4における第3計算処理フラグFBCは、計算不実施フラグF2である。従って、第3計算処理装置10Cは、同期タイミングTD2、TD3、TD4においては、シミュレーションを新たに開始しない。なお、同期タイミングTD2、TD3、TD4において、第3計算処理装置10Cは、同期タイミングTD1で開始したシミュレーションを実行中である。 In addition, the third calculation processing flag FBC at the synchronization timings TD2, TD3, and TD4 is the calculation non-execution flag F2. Accordingly, the third calculation processing device 10C does not newly start a simulation at the synchronization timings TD2, TD3, and TD4. Note that at the synchronization timings TD2, TD3, and TD4, the third calculation processing device 10C is executing the simulation started at the synchronization timing TD1.
また、同期タイミングTD5における第3計算処理フラグFBCは、計算指示フラグF1である。従って、第3計算処理装置10Cは、同期タイミングTD5において、第3計算仮想時間EC分(Δ12分)のシミュレーションを新たに開始する。 The third calculation processing flag FBC at the synchronization timing TD5 is the calculation instruction flag F1. Therefore, the third calculation processing apparatus 10C newly starts a simulation for the third calculation virtual time EC (Δ12 minutes) at the synchronization timing TD5.
図5の例では、第4計算処理装置10Dは、同期タイミングTD1における同期信号SDを取得すると、第4計算処理フラグFBDと第4計算仮想時間フラグFEDとを読み出す。同期タイミングTD1における第4計算処理フラグFBDは計算指示フラグF1であるため、第4計算処理装置10Dは、第4計算仮想時間ED分(Δ12分)のシミュレーションを新たに開始する。図5に示すように、このシミュレーションは、同期タイミングTD3までに終了する。
In the example of FIG. 5, when the fourth
また、同期タイミングTD2、TD3、TD4における第4計算処理フラグFBDは、計算不実施フラグF2である。従って、第4計算処理装置10Dは、同期タイミングTD2、TD3、TD4においては、シミュレーションを新たに開始しない。なお、同期タイミングTD1で開始したシミュレーションは、同期タイミングTD3においては既に終了しているが、第4計算処理装置10Dは、同期タイミングTD3において、シミュレーションを新たに開始しない。
Further, the fourth calculation processing flag FBD at the synchronization timings TD2, TD3, and TD4 is the calculation non-execution flag F2. Accordingly, the fourth
また、同期タイミングTD5における第4計算処理フラグFBDは、計算指示フラグF1である。従って、第4計算処理装置10Dは、同期タイミングTD5において、第4計算仮想時間ED分(Δ12分)のシミュレーションを新たに開始する。
The fourth calculation processing flag FBD at the synchronization timing TD5 is the calculation instruction flag F1. Accordingly, the fourth
同期タイミングTD5以降の同期タイミングにおける処理は、同期タイミングTD1からTD4での処理と同じである。すなわち、制御処理装置20及び各計算処理装置10は、同期タイミングTD1からTD4までの処理を1サイクルとして繰り返す。言い換えれば、制御処理装置20及び各計算処理装置10は、基本周期C(基本周期タイミングTC1からTC2)を1サイクルとして、この1サイクルでの処理を経時毎に繰り返す。
The processing at the synchronization timing after the synchronization timing TD5 is the same as the processing at the synchronization timing TD1 to TD4. That is, the
基本周期C(基本周期タイミングTC1からTC2)において、第1計算処理装置10Aは、シミュレーションを4回実行し、第2計算処理装置10Bは、シミュレーションを2回実行し、第3計算処理装置10C及び第4計算処理装置10Dは、シミュレーションを1回実行する。第1計算仮想時間EA、第2計算仮想時間EB、第3計算仮想時間EC、第4計算仮想時間EDは、それぞれΔ3、Δ6、Δ12、Δ12であるため、基本周期毎のシミュレーション上の経過時間(基本仮想時間CX)は、Δ12となり全ての計算処理装置10で一致する。
In the basic cycle C (basic cycle timings TC1 to TC2), the first calculation processing device 10A executes the simulation four times, the second
また、以上説明したように、各計算処理装置10は、計算指示フラグF1と同期した同期信号SDに基づき、その計算指示フラグF1を読み出してシミュレーションを実行する。そして、各計算処理装置10は、計算不実施フラグF2と同期した同期信号SDに基づき、その計算不実施フラグF2を読み出してシミュレーションを実行する。従って、計算指示フラグF1と同期した同期信号SDは、各計算処理装置10にシミュレーションを実行させるための計算指示信号であるということができる。また、計算不実施フラグF2と同期した同期信号SDは、各計算処理装置10にシミュレーションを新たに実行させないための計算不実施信号であるということができる。 Further, as described above, each calculation processing device 10 reads the calculation instruction flag F1 and executes the simulation based on the synchronization signal SD synchronized with the calculation instruction flag F1. And each calculation processing apparatus 10 reads the calculation non-execution flag F2 based on the synchronizing signal SD synchronized with the calculation non-execution flag F2, and executes a simulation. Therefore, it can be said that the synchronization signal SD synchronized with the calculation instruction flag F1 is a calculation instruction signal for causing each calculation processing device 10 to execute a simulation. Further, it can be said that the synchronization signal SD synchronized with the calculation non-execution flag F2 is a calculation non-execution signal for preventing each calculation processing apparatus 10 from newly executing a simulation.
以上説明した同期処理のフローを、フローチャートに基づき説明する。図6は、制御処理装置の同期処理を説明するフローチャートである。図7は、各計算処理装置のシミュレーション実行処理を説明するフローチャートである。図6に示すように、制御処理装置20は、処理を開始した後、同期周期Dが経過すると(ステップS10;Yes)、経過時間をリセットし(ステップS12)、フラグをセットする(ステップS14)。制御処理装置20は、ステップS14において、各計算処理装置10に対応させて、計算処理フラグFB及び計算仮想時間フラグFEをセットする。なお、制御処理装置20は、同期周期Dが経過していない場合(ステップS10;No)、ステップS10に戻り、同期周期Dが経過するまで待機する。
The synchronization processing flow described above will be described with reference to a flowchart. FIG. 6 is a flowchart for explaining the synchronization processing of the control processing device. FIG. 7 is a flowchart for explaining a simulation execution process of each calculation processing apparatus. As shown in FIG. 6, after the processing starts, the
フラグをセットした後、制御処理装置20は、同期信号SDを各計算処理装置10に出力する(ステップS16)。その後、制御処理装置20は、ステップS18に進み、処理を終了する場合(ステップS18;Yes)、本処理を終了する。制御処理装置20は、処理を終了しない場合(ステップS18;No)、ステップS10に戻り、次の同期周期Dの経過を待つ。
After setting the flag, the
図7は、図6のステップS16で出力された同期信号SDを受け取った計算処理装置10の処理を説明するフローチャートである。図7に示すように、計算処理装置10は、制御処理装置20から同期信号SDを取得すると(ステップS20)、制御処理装置20からフラグを読み出す(ステップS21)。ステップS21において、計算処理装置10は、自身に関連付けてセットされた計算処理フラグFB及び計算仮想時間フラグFEを読み出す。計算処理装置10は、読み出したフラグに計算指示フラグF1がある場合(ステップS22;Yes)、制御処理装置20の計算データ記憶部74から、シミュレーションに使用する入力データを取得する(ステップS24)。計算処理装置10は、読み出したフラグに計算指示フラグF1がない場合(ステップS22;No)、新たにシミュレーションを実行せず、ステップS20に戻って次の同期信号SDの取得を行う。 FIG. 7 is a flowchart for explaining the processing of the calculation processing device 10 that has received the synchronization signal SD output in step S16 of FIG. As illustrated in FIG. 7, when the calculation processing device 10 acquires the synchronization signal SD from the control processing device 20 (step S20), the calculation processing device 10 reads a flag from the control processing device 20 (step S21). In step S21, the calculation processing device 10 reads the calculation processing flag FB and the calculation virtual time flag FE set in association with itself. When there is the calculation instruction flag F1 in the read flag (step S22; Yes), the calculation processing device 10 acquires input data used for the simulation from the calculation data storage unit 74 of the control processing device 20 (step S24). If there is no calculation instruction flag F1 in the read flag (step S22; No), the calculation processing device 10 returns to step S20 to acquire the next synchronization signal SD without executing a new simulation.
計算処理装置10は、ステップS22で入力データを取得した後、シミュレーションを実行し(ステップS26)、シミュレーション結果である出力データを、制御処理装置20の計算データ取得部72に出力する(ステップS28)。その後、計算処理装置10は、ステップS29に進み、処理を終了する場合(ステップS29;Yes)、本処理を終了する。計算処理装置10は、処理を終了しない場合(ステップS29;No)、ステップS20に戻り、次の同期信号SDの取得を行う。
The calculation processing device 10 acquires the input data in step S22, and then executes a simulation (step S26), and outputs output data as a simulation result to the calculation
制御処理装置20は、以上説明したように同期処理を行い、各計算処理装置10のシミュレーション実行処理を制御する。ただし、制御処理装置20は、計算処理フラグFB及び計算仮想時間フラグFEを自身の領域にセットするかわりに、これらの情報を有する信号を、同期周期D又はそれぞれの処理周期B毎に、各計算処理装置10に出力してもよい。
As described above, the
(取り合い同期処理)
次に、制御処理装置20による各計算処理装置10の取り合い同期処理について説明する。図8は、取り合い同期処理を説明するためのタイムチャートである。取り合い同期処理とは、取り合いデータを同期させるための処理である。取り合いデータとは、上述のように、計算処理装置10の出力データのうち、その計算処理装置10以外の計算処理装置10の入力データである。本説明においては、第2計算処理装置10Bは、第1計算処理装置10Aの取り合いデータ、及び第4計算処理装置10Dの取り合いデータを使用する。また、第3計算処理装置10Cは、第2計算処理装置10Bの取り合いデータを使用する。
(Interaction synchronization processing)
Next, the process synchronization process of each calculation processing device 10 by the
制御処理装置20は、計算データ取得部72が、各計算処理装置10の出力データを取得する。計算データ取得部72は、出力データを計算データ記憶部74に出力し、計算データ記憶部74がその出力データを記憶する。また、計算データ取得部72は、出力データのうち取り合いデータを一時的に保持し、直前タイミングTIにおいて、その取り合いデータを計算データ記憶部74に出力する。従って、計算データ記憶部74は、直前タイミングTI以降において、取り合いデータを記憶する。すなわち、計算データ取得部72は、取り合いデータを計算データ記憶部74に記憶させるタイミングを、直前タイミングTIまで遅らせる。
In the
ここで、取り合いデータを算出した計算処理装置10において、その取り合いデータを算出した処理周期Bを取り合い処理周期BXとし、その次の処理周期を次処理周期BX+1とする。直前タイミングTIは、次処理周期BX+1の開始タイミングTBの直前の同期タイミングTDより後のタイミングであり、かつ、次処理周期BX+1の処理周期タイミングTB(次処理周期BX+1の開始タイミング)より前のタイミングである。 Here, in the calculation processing unit 10 to calculate the scramble data, and the processing period B calculated the scramble data and the scramble processing cycle B X, to the next processing cycle as follows processing cycle B X + 1. Immediately before timing TI is a timing later than the synchronization timing TD just before the start time TB of the next processing cycle B X + 1, and, from the next processing period B X + 1 of the processing cycle time TB (start timing of the next processing cycle B X + 1) It is the previous timing.
図8の例では、第2計算処理装置10Bは、同期タイミングTD2、TD4での第1計算処理装置10Aのシミュレーションの出力データ(取り合いデータ)を、同期タイミングTD3、TD5での自身のシミュレーションの入力データとして用いている。ここで、第1計算処理装置10Aにおける取り合い処理周期BXが、同期タイミングTD2で始まる処理周期TBであり、次処理周期BX+1が、同期タイミングTD3で始まる処理周期TBである場合について説明する。この場合、図8に示すように、第1計算処理装置10Aの直前タイミングTIである第1直前タイミングTIAは、同期タイミングTD3での処理周期TB(次処理周期BX+1)の直前の同期タイミングTD2より後であり、同期タイミングTD3での処理周期TBの開始タイミング(同期タイミングTD3)より前である。
In the example of FIG. 8, the second
なお、第1直前タイミングTIAは、同期タイミングTD2でのシミュレーションの出力データを取り合いデータとしているため、同期タイミングTD2でのシミュレーションの出力データの出力のタイミング以降となっている。第1計算処理装置10Aにおける取り合い処理周期BXを、同期タイミングTD4での処理周期TBとした場合も、直前タイミングTIAは同様のタイミングとなる。 The first immediately preceding timing TIA is after the output timing of the simulation output data at the synchronization timing TD2, since the output data of the simulation at the synchronization timing TD2 is used as the data. The scramble processing cycle B X in the first computing device 10A, even when a processing cycle TB in synchronous timing TD4, immediately before the timing TIA is the same timing.
また、図8の例では、第2計算処理装置10Bは、同期タイミングTD1での第4計算処理装置10Dのシミュレーションの出力データ(取り合いデータ)を、同期タイミングTD5での自身のシミュレーションの入力データとして用いている。ここで、第4計算処理装置10Dにおける取り合い処理周期BXを、同期タイミングTD1での処理周期TBとし、次処理周期BX+1を、同期タイミングTD5での処理周期TBとした場合について説明する。この場合、図8に示すように、第4計算処理装置10Dの第4直前タイミングTIDは、同期タイミングTD5での処理周期TB(次処理周期BX+1)の直前の同期タイミングTD4より後のタイミングであり、同期タイミングTD5での処理周期TBの開始タイミング(同期タイミングTD5)より前である。第2計算処理装置10Bは、同期タイミングTD1での第4計算処理装置10Dのシミュレーションの出力データ(取り合いデータ)を、同期タイミングTD3での自身のシミュレーションの入力データとしては用いていない。
In the example of FIG. 8, the second
また、図8の例では、第3計算処理装置10Cは、同期タイミングTD3での第2計算処理装置10Bのシミュレーションの出力データ(取り合いデータ)を、同期タイミングTD5での自身のシミュレーションの入力データとして用いている。ここで、第2計算処理装置10Bにおける取り合い処理周期BXを、同期タイミングTD3での処理周期TBとし、次処理周期BX+1を、同期タイミングTD5での処理周期TBとした場合について説明する。この場合、図8に示すように、第2計算処理装置10Bの第2直前タイミングTIBは、同期タイミングTD5での処理周期TB(次処理周期BX+1)の直前の同期タイミングTD4より後のタイミングであり、同期タイミングTD5での処理周期TBの開始タイミング(同期タイミングTD5)より前のタイミングである。
In the example of FIG. 8, the third calculation processing device 10C uses the output data (interaction data) of the simulation of the second
計算データ取得部72は、以上説明したような直前タイミングTIまで取り合いデータを保持し、直前タイミングTIにおいて、計算データ記憶部74に出力する。これにより、制御処理装置20は、各計算処理装置10がデータの取り合いを行う場合に、取り合いデータの同期を適切に行うことができる。例えば、計算データ取得部72が取り合いデータを直前タイミングTIまで保持せず、すぐに計算データ記憶部74に出力した場合、計算処理装置10は、同期の取れていない取り合いデータに基づき、シミュレーションを行うおそれがある。この場合、シミュレーションの精度が低下する。
The calculation
例えば、同期タイミングTD1で行った第4計算処理装置10Dのシミュレーションの出力データ(取り合いデータ)は、同期タイミングTD3よりも前に算出され、計算データ取得部72に出力される。この場合、計算データ取得部72が第4直前タイミングTIDまで保持しなかった場合、計算データ記憶部74は、同期タイミングTD3より前にこの取り合いデータを記憶する。その取り合いデータを使用する第2計算処理装置10Bは、同期タイミングTD3で行うシミュレーションに、この取り合いデータを読み出して使用するおそれがある。この取り合いデータは、同期タイミングTD1で行った第4計算処理装置10Dの出力データであり、シミュレーション上でΔ12分(第4計算仮想時間ED分)計算したデータ、すなわちΔ12分経過したデータである。しかし、第2計算処理装置10Bが同期タイミングTD3で行うシミュレーションは、Δ6(第3計算仮想時間EC)の直後から行う計算である。従って、この場合、第2計算処理装置10Bが同期タイミングTD3で行うシミュレーションは、シミュレーション上での異なる時刻におけるデータを使用することとなり、シミュレーションの精度が低下する。
For example, the output data (interaction data) of the simulation of the fourth
しかし、同期タイミングTD1で行った第4計算処理装置10Dのシミュレーションの出力データ(取り合いデータ)は、第4直前タイミングTID、すなわち同期タイミングTD3よりも後まで保持される。この場合、第2計算処理装置10Bは、上述のように同期タイミングTD5での計算において、同期タイミングTD1で行った第4計算処理装置10Dの取り合いデータを使用する。同期タイミングTD5での第2計算処理装置10Bのシミュレーションは、Δ12(第3計算仮想時間ECの2回分)の直後から行う計算である。そのため、このシミュレーションは、シミュレーション上での同じ時刻におけるデータを使用することになる。このように、本実施形態における第2計算処理装置10Bは、シミュレーション上での異なる時刻におけるデータを使用することがなく、シミュレーションの精度低下を抑制することができる。
However, the output data (interaction data) of the simulation of the fourth
なお、直前タイミングTIは、上述で説明したタイミングに限られない。ここで、取り合いデータを出力する側の計算処理装置10の次処理周期BX+1の直前における、取り合いデータを使用する側の計算処理装置10の処理周期Bを、相手側処理周期BYとする。直前タイミングTIは、相手側処理周期BYの処理周期タイミングTB(相手側処理周期BYの開始タイミング)より後のタイミングであって、次処理周期BX+1の処理周期タイミングTB(次処理周期BX+1の開始タイミング)より前のタイミングであればよい。例えば、図8の例での第4直前タイミングTIDにおいて、取り合いデータを使用する相手側の計算処理装置10は、第2計算処理装置10Bであり、相手側処理周期BYは、同期タイミングTD3での処理周期Bである。この場合、第4直前タイミングTIDは、同期タイミングTD3(相手側処理周期BYの開始タイミング)より後のタイミングであって、次処理周期BX+1である同期タイミングTD5での処理周期TBの開始タイミング(同期タイミングTD5)より前である。
Note that the immediately preceding timing TI is not limited to the timing described above. Here, the processing cycle B of the calculation processing device 10 on the side using the trade data immediately before the next processing cycle B X + 1 of the calculation processing device 10 on the side of outputting the trade data is defined as a counterpart processing cycle BY . Immediately before timing TI is a timing after the treatment cycle timing TB of the mating process cycle B Y (start timing of the mating process cycle B Y), the next processing cycle B X + 1 of the processing cycle time TB (next processing cycle B Any timing may be used before ( X + 1 start timing). For example, at the fourth immediately preceding timing TID in the example of FIG. 8, the counterpart calculation processing device 10 that uses the trade data is the second
以上説明した取り合い同期処理のフローを、フローチャートに基づき説明する。図9は、制御処理装置の取り合い同期処理を説明するフローチャートである。図9に示すように、制御処理装置20は、計算データ取得部72が、取り合いデータを取得した後(ステップS30)、その取り合いデータを出力した計算処理装置10に対する直前タイミングTIに到達したかを判断する(ステップS32)。直前タイミングTIに到達していない場合(ステップS32;No)、計算データ取得部72は、ステップS32に戻り、直前タイミングTIに到達するまで、取得した取り合いデータを保持する。直前タイミングTIに到達した場合(ステップS32;Yes)、計算データ取得部72は、取得した取り合いデータを、計算データ記憶部74に出力する(ステップS34)。計算データ記憶部34は、その取得した取り合いデータを記憶する。その取り合いデータを使用する計算処理装置10は、計算データ記憶部74が記憶した取り合いデータを、自身の入力データとして読み出す。制御処理装置20は、ステップS34の後、ステップS36に進み、処理が終了していない場合(ステップS36;No)は、ステップS30に戻り処理を継続し、処理が終了する場合(ステップS36;Yes)、これらの処理を終了する。
The flow of the interaction synchronization process described above will be described based on the flowchart. FIG. 9 is a flowchart for explaining the contact synchronization processing of the control processing device. As shown in FIG. 9, the
制御処理装置20は、以上説明したように取り合い同期処理を行い、各計算処理装置10の取り合いデータの取得タイミングを制御する。なお、計算データ取得部72は、出力データが取り合いデータであるかを判断し、取り合いデータのみを直前タイミングTIまで保持しているが、これに限られず、取得した出力データを全て直前タイミングTIまで保持してもよい。
As described above, the
(要求データ同期処理)
次に、制御処理装置20による各計算処理装置10の要求データ同期処理について説明する。図10は、要求データ同期処理を説明するためのタイムチャートである。要求データ同期処理とは、変更要求データに示された操作者からのシミュレーション動作の変更要求を、各計算処理装置10に同期して反映する処理である。
(Request data synchronization processing)
Next, request data synchronization processing of each calculation processing device 10 by the
インストラクタ操作装置30に入力された操作情報は、変更要求データ取得部48に入力される。変更要求データ取得部48は、その操作情報がシミュレーション動作の変更要求の情報である変更要求データである場合であって、RUN操作又はFREEZE操作である場合、その変更要求データを操作フラグセット部68に出力する。
The operation information input to the instructor operation device 30 is input to the change request
操作フラグセット部68は、その変更要求データに基づき、基本周期Cに同期させて、操作フラグFGをセットする。より詳しくは、操作フラグセット部68は、その変更要求データを取得した直後の基本周期Cの開始タイミング(直後の基本周期タイミングTC)において、その変更要求データを反映した操作フラグFGをセットする。操作フラグセット部68は、その変更要求データがRUN操作に変更する内容である場合、基本周期Cに同期させて、操作実行フラグFG1をセットする。操作フラグセット部68は、その変更要求データがFREEZE操作に変更する内容である場合、基本周期Cに同期させて、操作停止フラグFG2をセットする。各計算処理装置10は、その操作フラグFGをセットしたタイミングに同期した同期タイミングTDの同期信号SDを取得すると、その操作フラグFGを読み出す。各計算処理装置10は、読み出した操作フラグFGが操作実行フラグFG1である場合、その同期タイミングTDから、新たにシミュレーションを開始する。また、各計算処理装置10は、読み出した操作フラグFGが操作停止フラグFG2である場合、その同期タイミングTD以降、シミュレーションを実行しない。なお、この操作フラグFGは、全ての計算処理装置10に共通するフラグであるが、個別に異なる種類のフラグをセットするものであってもよい。 The operation flag setting unit 68 sets the operation flag FG in synchronization with the basic period C based on the change request data. More specifically, the operation flag setting unit 68 sets the operation flag FG reflecting the change request data at the start timing of the basic period C immediately after the change request data is acquired (immediately after the basic period timing TC). The operation flag setting unit 68 sets the operation execution flag FG1 in synchronization with the basic period C when the change request data is the content to be changed to the RUN operation. The operation flag setting unit 68 sets the operation stop flag FG2 in synchronization with the basic period C when the change request data is the content to be changed to the FREEZE operation. When each calculation processing device 10 acquires the synchronization signal SD at the synchronization timing TD synchronized with the timing at which the operation flag FG is set, the calculation processing device 10 reads the operation flag FG. When the read operation flag FG is the operation execution flag FG1, each calculation processing device 10 newly starts a simulation from the synchronization timing TD. In addition, when the read operation flag FG is the operation stop flag FG2, each calculation processing device 10 does not execute the simulation after the synchronization timing TD. Note that the operation flag FG is a flag common to all the calculation processing devices 10, but a different type of flag may be set individually.
図10の例では、基本周期タイミングTC1の直前の基本周期Cにおいて、各計算処理装置10のシミュレーションは、実行されておらず、その基本周期タイミングTC1の直前の基本周期Cにおいて、RUN操作に変更する変更要求データRUが入力された場合を示している。変更要求データ取得部48は、その変更要求データRUを操作フラグセット部68に出力する。操作フラグセット部68は、その直後の基本周期Cの開始タイミングである同期タイミングTD1において、操作実行フラグFG1をセットする。
In the example of FIG. 10, the simulation of each calculation processing device 10 is not executed in the basic cycle C immediately before the basic cycle timing TC1, and the operation is changed to the RUN operation in the basic cycle C immediately before the basic cycle timing TC1. This shows a case where change request data RU to be input is input. The change request
また、制御処理装置20は、基本周期タイミングTC1と同期されている同期タイミングTD1において、同期信号SDを出力する。各計算処理装置10は、この同期信号SDを取得すると、操作フラグセット部68にセットされた操作フラグFGを読み出す。同期タイミングTD1における操作フラグFGは、操作実行フラグFG1であるため、各計算処理装置10は、同期タイミングTD1からシミュレーション処理を開始する。
Further, the
さらに、図10の例では、同期タイミングTD3と同期タイミングTD4の間のタイミングで、FREEZE操作に変更する変更要求データFRが入力されている。変更要求データ取得部48は、その変更要求データFRを操作フラグセット部68に出力する。操作フラグセット部68は、その直後の基本周期Cの開始タイミングである同期タイミングTD5において、操作停止フラグFG2をセットする。基本周期タイミングTC1の基本周期Cにおいては、変更要求データFRが入力された後の同期タイミングTD4においても、操作実行フラグFG1がセットされたままである。従って、各計算処理装置10は、基本周期タイミングTC1の基本周期Cにおいては、シミュレーションを停止しない。各計算処理装置10は、操作停止フラグFG2がセットされた同期タイミングTD5の同期信号SDにより、操作停止フラグFG2を読み出し、同期タイミングTD5以降から、シミュレーションを停止する。
Further, in the example of FIG. 10, change request data FR to be changed to the FREEZE operation is input at a timing between the synchronization timing TD3 and the synchronization timing TD4. The change request
このように、操作フラグセット部68は、変更要求データを取得した直後の基本周期Cの開始タイミングにおいて、その変更要求データ中の情報を示す操作実行フラグFG1をセットする。これにより、制御処理装置20は、操作者による変更要求を、各計算処理装置10に同期させて反映することができる。例えば、変更要求データを、直後の基本周期Cの開始タイミングまで待たずにセットした場合、計算処理装置10毎に、シミュレーション上での経過時間が異なってしまうおそれがある。この場合、各シミュレーションの整合が取れずに、シミュレーションの精度が低下する。
As described above, the operation flag setting unit 68 sets the operation execution flag FG1 indicating the information in the change request data at the start timing of the basic cycle C immediately after the change request data is acquired. Thereby, the
例えば、図10の例において、同期タイミングTD3と同期タイミングTD4の間のタイミングで入力された変更要求データFRをすぐに反映して、例えば同期タイミングTD4において操作停止フラグFG2をセットした場合を考える。この場合、第1計算処理装置10Aは、同期タイミングTD1からTD3まで、3回シミュレーションを実行した後に、シミュレーションを停止させる。この場合、第1計算処理装置10Aにおける停止までのシミュレーション上の経過時間は、Δ3を3回分でΔ9となる。一方、第2計算処理装置10Bは、同期タイミングTD1とTD3とで2回シミュレーションを実行した後にシミュレーションを停止させる。そして、第3計算処理装置10C、第4計算処理装置10Dは、同期タイミングTD1で1回シミュレーションを実行した後にシミュレーションを停止させる。この場合、第2計算処理装置10B、第3計算処理装置10B、第4計算処理装置10Dにおける停止までのシミュレーション上の経過時間は、Δ12となる。従って、第1計算処理装置10Aと他の計算処理装置10とのシミュレーション上の経過時間が異なってしまう。例えばこの場合、シミュレーションを再開した場合に、シミュレーション上の時刻が異なってしまう。
For example, in the example of FIG. 10, a case is considered in which the change request data FR input at the timing between the synchronization timing TD3 and the synchronization timing TD4 is immediately reflected, and for example, the operation stop flag FG2 is set at the synchronization timing TD4. In this case, the first calculation processing apparatus 10A stops the simulation after executing the simulation three times from the synchronization timing TD1 to TD3. In this case, the elapsed time in the simulation until the stop in the first calculation processing apparatus 10A becomes Δ9 when Δ3 is three times. On the other hand, the second
一方、本実施形態においては、同期タイミングTD3と同期タイミングTD4の間のタイミングで入力された変更要求データFRを、同期タイミングTD5において反映する。すなわち、計算処理装置10は、シミュレーション上の経過時間における同じタイミングで、要求された変更処理を実行する。従って、シミュレーション停止までの各計算処理装置10のシミュレーション上の経過時間は、同じとなる。 On the other hand, in the present embodiment, the change request data FR input at a timing between the synchronization timing TD3 and the synchronization timing TD4 is reflected at the synchronization timing TD5. That is, the calculation processing device 10 executes the requested change process at the same timing in the elapsed time on the simulation. Therefore, the elapsed time on the simulation of each calculation processing apparatus 10 until the simulation is stopped is the same.
また、以上説明したように、各計算処理装置10は、操作実行フラグFG1と同期した同期信号SDに基づき、その操作実行フラグFG1を読み出して新たにシミュレーションを実行する。そして、各計算処理装置10は、操作停止フラグFG2と同期した同期信号SDに基づき、その操作停止フラグFG2を読み出してシミュレーションを停止する。従って、操作フラグFGと同期した同期信号SDは、各計算処理システムに変更要求データの情報を示す変更要求信号であるということができる。 Further, as described above, each calculation processing device 10 reads the operation execution flag FG1 and newly executes a simulation based on the synchronization signal SD synchronized with the operation execution flag FG1. Then, each calculation processing device 10 reads the operation stop flag FG2 based on the synchronization signal SD synchronized with the operation stop flag FG2, and stops the simulation. Therefore, it can be said that the synchronization signal SD synchronized with the operation flag FG is a change request signal indicating information of change request data to each calculation processing system.
以上説明した要求データ同期処理のフローを、フローチャートで説明する。図11は、制御処理装置の要求データ同期処理を説明するフローチャートである。図12は、各計算処理装置のシミュレーション実行処理を説明するフローチャートである。図11に示すように、制御処理装置20は、変更要求データ取得部48が、変更要求情報を取得すると(ステップS40)、変更要求情報を取得した旨の情報を、インストラクタ操作装置30に出力し(ステップS42)、取得した変更要求情報を、操作フラグセット部68に出力する(ステップS43)。
The flow of the request data synchronization process described above will be described with reference to a flowchart. FIG. 11 is a flowchart illustrating request data synchronization processing of the control processing device. FIG. 12 is a flowchart for explaining a simulation execution process of each calculation processing apparatus. As illustrated in FIG. 11, when the change request
基本周期Cが経過したら(ステップS44;Yes)、制御処理装置20は、操作フラグセット部68が、操作フラグFGを自身の領域にセットする(ステップS46)。具体的には、操作フラグセット部68は、変更要求情報が入力された直後の基本周期タイミングTCにおいて、操作フラグFGをセットする。基本周期が経過していない場合(ステップS44;No)、制御処理装置20は、ステップS44に戻り、基本周期経過まで待機する。制御処理装置20は、操作フラグFGをセットした後、同期信号SDを各計算処理装置10に出力する(ステップS48)。その後、制御処理装置20は、ステップS49に進み、処理を終了する場合(ステップS49;Yes)、本処理を終了する。制御処理装置20は、処理を終了しない場合(ステップS49;No)、ステップS40に戻り変更処理要求を待つ。
When the basic period C has elapsed (step S44; Yes), in the
図12は、図11のステップS48で出力された同期信号SDを受け取った計算処理装置10の処理を説明するフローチャートである。図12に示すように、計算処理装置10は、制御処理装置20から同期信号SDを取得すると(ステップS50)、制御処理装置20から操作フラグFGを読み出し、操作フラグFGに変化があるかを判断する(ステップ52)。計算処理装置10は、操作フラグFGに変化があって(ステップS52;Yes)、かつ、その変化した操作フラグFGが操作停止フラグFG2である場合(ステップS54;Yes)、その後のシミュレーションを停止させる(ステップS56)。また、計算処理装置10は、操作フラグFGに変化があって(ステップS52;Yes)、かつ、その変化した操作フラグFGが操作停止フラグFG2でない、すなわち操作実施フラグFG1への変更である場合(ステップS54;No)、次のシミュレーションを実行する(ステップS58)。
FIG. 12 is a flowchart illustrating the processing of the calculation processing device 10 that has received the synchronization signal SD output in step S48 of FIG. As illustrated in FIG. 12, when the calculation processing device 10 acquires the synchronization signal SD from the control processing device 20 (step S50), the calculation processing device 10 reads the operation flag FG from the
また、計算処理装置10は、操作フラグFGに変化がなく(ステップS52;No)、現在の操作フラグFGが操作実行フラグFG1である場合(ステップS53;Yes)、次のシミュレーションを続けて実行する(ステップS58)。また、計算処理装置10は、操作フラグFGに変化がなく(ステップS52;No)、現在の操作フラグFGが操作実行フラグFG1でない、すなわち操作停止フラグFG2である場合(ステップS53;No)、新たにシミュレーションを開始せずに、ステップS50に戻って次の同期信号SDの取得を待つ。 Further, when there is no change in the operation flag FG (step S52; No) and the current operation flag FG is the operation execution flag FG1 (step S53; Yes), the calculation processing device 10 continuously executes the next simulation. (Step S58). Further, when the operation flag FG is not changed (step S52; No) and the current operation flag FG is not the operation execution flag FG1, that is, the operation stop flag FG2 (step S53; No), the calculation processing device 10 newly Without starting simulation, the process returns to step S50 to wait for acquisition of the next synchronization signal SD.
計算処理装置10は、ステップS56、S58の後にステップS59に進み、処理を終了する場合(ステップS59;Yes)、本処理を終了する。計算処理装置10は、処理を終了しない場合(ステップS59;No)、ステップS50に戻り、次の同期信号SDの取得を行う。 The calculation processing apparatus 10 proceeds to step S59 after steps S56 and S58, and terminates the process when the process ends (step S59; Yes). If the calculation processing device 10 does not end the processing (step S59; No), the calculation processing device 10 returns to step S50 and obtains the next synchronization signal SD.
以上説明した分散シミュレーションシステム1は、1つの計算周期での計算時間Aが互いに異なるシミュレーションを経時毎に実行する複数の計算処理装置10と、複数の計算処理装置10と通信可能に接続される制御処理装置20と、を有する。制御処理装置20は、処理周期設定部52と、仮想時間設定部58と、計算指示部44と、を有する。処理周期設定部52は、計算処理装置10がシミュレーションを1回実行する周期である処理周期Bを、計算処理装置10毎に設定する。仮想時間設定部58は、1回のシミュレーション内での経過時間である計算仮想時間Eを、計算処理装置10毎に、処理周期Bの長さ同士の関係比と同じ関係比となるように設定する。計算指示部44は、計算処理装置10のそれぞれに、その計算処理装置10に設定された処理周期B毎の各タイミングにおいて計算指示信号(計算指示フラグF1に同期した同期信号SD)を送信して、計算処理装置10のそれぞれに、自身に設定された処理周期B毎に、設定された計算仮想時間E分のシミュレーションを実行させる。そして、少なくとも一部の計算処理装置10の処理周期Bは、他の計算処理装置10の処理周期Bと異なる。
The distributed simulation system 1 described above includes a plurality of calculation processing devices 10 that execute simulations with different calculation times A in one calculation cycle every time, and a control that is communicably connected to the plurality of calculation processing devices 10. And a
分散シミュレーションシステム1は、シミュレーションを実行する上での計算時間Aが互いに異なる複数の計算処理装置10にシミュレーションを実行させる。制御処理装置20は、そのような計算処理装置10に合わせて、それぞれ異なる長さの処理周期Bを設定する。さらに、制御処理装置20は、処理周期Bの長さの比にと同じ関係となるように、1回のシミュレーション上での仮想の経過時間である計算仮想時間Eを設定する。
The distributed simulation system 1 causes a plurality of calculation processing apparatuses 10 having different calculation times A to execute the simulation to execute the simulation. The
処理周期Bが異なる計算処理装置10を同じ時間だけ作動させると、シミュレーションの実行回数がそれぞれ異なる場合がある。ここで計算仮想時間Eと処理周期Bとの整合が取れていない場合、同じ時間だけ計算処理装置10を作動させた際に、計算処理装置10毎のシミュレーション上での経過時間の同期がとれない場合がある。例えば計算仮想時間Eが計算処理装置10毎に同じである場合、処理周期Bが短い(シミュレーションの実行回数が多い)計算処理装置10のシミュレーションの方が、シミュレーション上での経過時間が先に進んでしまう。このような場合、シミュレーションの精度が低下する。しかし、本実施形態においては、計算仮想時間Eを、処理周期Bの長さの比にと同じ関係となるように設定する。そのため、同じ時間だけ処理装置10を作動させた際に、計算処理装置10毎のシミュレーション上での経過時間も同じとなる。このように、本実施形態に係る分散シミュレーションシステム1は、各計算処理装置10のシミュレーション毎の同期を適切にとることができる。 When the calculation processing devices 10 having different processing cycles B are operated for the same time, the number of simulation executions may be different. Here, when the calculation virtual time E and the processing cycle B are not matched, when the calculation processing device 10 is operated for the same time, the elapsed time on the simulation for each calculation processing device 10 cannot be synchronized. There is a case. For example, when the calculation virtual time E is the same for each calculation processing device 10, the simulation processing time of the calculation processing device 10 with a shorter processing cycle B (the number of times of simulation execution is larger) is advanced. End up. In such a case, the accuracy of simulation decreases. However, in the present embodiment, the calculation virtual time E is set to have the same relationship as the ratio of the length of the processing cycle B. Therefore, when the processing apparatus 10 is operated for the same time, the elapsed time on the simulation for each calculation processing apparatus 10 is also the same. Thus, the distributed simulation system 1 according to the present embodiment can appropriately synchronize each simulation processing device 10 for each simulation.
また、計算指示部44は、処理周期B毎の各タイミングにおいて計算指示信号を送信することにより、基本周期における複数の計算処理装置10のシミュレーション実行回数を、互いに異ならせる。この分散シミュレーションシステム1は、基本周期におけるシミュレーションの実行回数を互いに異ならせることにより、シミュレーションの種類及びその計算処理装置10のスペックに合わせてシミュレーションの処理回数を設定することができる。そのため、この分散シミュレーションシステム1は、シミュレーションの精度を向上させることができる。
In addition, the
また、制御処理装置20は、計算データ取得部72と、計算データ記憶部74とを有する。計算データ取得部72は、他の計算処理システムの入力データとして使用する出力データである取り合いデータを取得する。計算データ記憶部74は、計算データ取得部72が取得した取り合いデータを記憶する。複数の計算処理装置10は、少なくとも一部が、計算データ記憶部74に記憶された取り合いデータを取得して、取り合いデータに基づきシミュレーションを実行する。この分散シミュレーションシステム1は、計算処理装置10が互いのシミュレーションの結果を利用し合う場合において、制御処理装置20の共通する領域(計算データ取得部72と計算データ記憶部74)で、取り合いデータを記憶する。従って、この分散シミュレーションシステム1は、取り合いデータを適切に計算処理装置10に提供することができる。
In addition, the
また、計算データ取得部72は、取得した取り合いデータを保持し、直前タイミングTIにおいて、取り合いデータを計算データ記憶部74に出力する。取り合いデータを算出した以外の計算処理装置10は、少なくとも一部が、直前タイミングTIの直後の処理周期Bにおけるシミュレーションを行う際に、直前タイミングTIで記憶された取り合いデータを取得し、その取り合いデータに基づきシミュレーションを実行する。直前タイミングTIは、取り合いデータを算出した処理周期Bの次の処理周期Bの開始直前のタイミングである。この計算データ取得部72は、取り合いデータを直前タイミングTIまで保持するため、計算処理装置10は、直前タイミングTI以降に、その取り合いデータを読み出す。従って、この分散シミュレーションシステム1は、計算処理装置10が互いのシミュレーションの結果を利用し合う場合において、取り合いデータの取得についても同期を取ることが可能となる。
In addition, the calculation
また、制御処理装置20は、さらに、操作者によるシミュレーション動作の変更要求の情報である変更要求データを取得する変更要求データ取得部48を有する。計算指示部44は、変更要求データが取得されたタイミングの直後の基本周期Cの開始タイミングにおいて、計算処理装置10に変更要求データの情報を示す変更要求信号(操作フラグFGと同期した同期信号SD)を送信する。これにより、計算指示部44は、計算処理装置10に対する変更要求信号中の変更処理の反映のタイミングを、他の計算処理装置10に同期させる。この制御処理装置20は、操作者による変更要求を、各計算処理装置10に同期させて反映するため、各シミュレーションの整合を取って、シミュレーションの精度低下を抑制する。
The
また、制御処理装置20は、それぞれの処理周期Bの長さの最小公倍数の長さの周期となるように、基本周期Cを設定する。制御処理装置20は、基本周期Cが処理周期Bの長さの最小公倍数とすることで、基本周期Cをできるだけ短く設定することができる。これにより、例えば、変更処理の反映のタイミングを、同期を取りながらできるだけ早く行うことができる。
In addition, the
また、計算処理装置10は、それぞれ少なくとも1つのシミュレーションを実行する複数の装置である。計算処理装置10が複数の装置からなる場合、多種のシミュレーションを実行することができる。一方、このような場合、それぞれ異なるCPUを有することになるため、計算時間Aを統一することが困難となる。このような場合においても、制御処理装置20は、各計算処理装置10のシミュレーション毎の同期を適切にとることができる。
The calculation processing device 10 is a plurality of devices that execute at least one simulation. When the calculation processing apparatus 10 includes a plurality of apparatuses, various kinds of simulations can be executed. On the other hand, in such a case, since the CPUs are different from each other, it is difficult to unify the calculation time A. Even in such a case, the
また、計算処理装置10は、複数のシミュレーションを実行する一つの装置であってもよい。計算処理装置10が一つの装置からなる場合、各シミュレーションの制御が容易となる。このような場合でも、制御処理装置20は、シミュレーション毎の同期を適切にとることができる。
The calculation processing device 10 may be a single device that executes a plurality of simulations. When the calculation processing apparatus 10 consists of one apparatus, control of each simulation becomes easy. Even in such a case, the
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態に係る分散シミュレーションシステム1aは、シミュレーションの速度を変更可能な点で、第1実施形態とは異なる。第2実施形態において、第1実施形態と構成が共通する点は、説明を省略する。
(Second Embodiment)
Next, a second embodiment will be described. The distributed simulation system 1a according to the second embodiment is different from the first embodiment in that the speed of simulation can be changed. In the second embodiment, the description of the same configuration as the first embodiment is omitted.
図13は、第2実施形態に係る制御処理装置の構成を示すブロック図である。図13に示すように、第2実施形態に係る分散シミュレーションシステム1aが有する制御処理装置20aは、計算指示部44aと、変更要求データ取得部48aとを有する。計算指示部44aは、操作フラグセット部68aが、操作フラグFGに加え、速度フラグFHをセットする点で、第1実施形態とは異なる。
FIG. 13 is a block diagram illustrating a configuration of a control processing device according to the second embodiment. As illustrated in FIG. 13, the
操作フラグセット部68aは、操作フラグFGと同タイミングで、すなわち、基本周期Cに同期させて、自身の書き込み可能領域内に速度フラグFHをセットする。操作フラグセット部68aは、各計算処理装置10の全てに共通する速度フラグFHをセットする。速度フラグFHは、インストラクタ操作装置30に入力された操作者(インストラクタ)からの操作情報に基づいてセットされるフラグである。インストラクタ操作装置30に入力された操作情報は、変更要求データ取得部48aに入力される。変更要求データ取得部48aは、その操作情報がシミュレーション動作の変更要求の情報である変更要求データである場合であって、速度変更操作の要求である場合、その変更要求データを操作フラグセット部68aに出力する。操作フラグセット部68aは、その速度変更の変更要求データに基づき、速度フラグFHをセットする。操作フラグセット部68aは、速度変更の変更要求データが入力されたタイミングの直後の基本周期Cの開始タイミングで、速度フラグFHをセットする。制御処理装置20は、速度フラグFHが変化した場合に、速度変更処理を実行する。
The operation flag setting unit 68a sets the speed flag FH in its writable area at the same timing as the operation flag FG, that is, in synchronization with the basic cycle C. The operation flag setting unit 68a sets a speed flag FH common to all the calculation processing devices 10. The speed flag FH is a flag that is set based on operation information from an operator (instructor) input to the instructor operation device 30. The operation information input to the instructor operation device 30 is input to the change request
速度変更操作とは、シミュレーションの速度を変更する指示である。シミュレーションの速度を変更させる場合、制御処理装置20は、基本仮想時間CXを変更する速度変更処理を行う。基本仮想時間CXが長くなると、同じ時間だけ計算処理装置10を作動させた場合におけるシミュレーション上の経過時間が長くなるため、シミュレーションの速度が上がっているということができる。逆に、基本仮想時間CXが短くなると、同じ時間だけ計算処理装置10を作動させた場合におけるシミュレーション上の経過時間が短くなるため、シミュレーションの速度が下がっているということができる。
The speed change operation is an instruction to change the speed of the simulation. When the simulation speed is changed, the
制御処理装置20は、速度変更処理として、速度変更の変更要求データを取得した直後の基本周期Cにおいて、セットする計算指示フラグF1の数、又は計算仮想時間フラグFE中での計算仮想時間Eの長さの少なくともいずれか一方を変化させる。基本周期C内でセットする計算指示フラグF1の数が変化すると、シミュレーションの実施回数が変化するため、基本周期Cでのトータルの仮想経過時間である基本仮想時間CXが変化する。また、計算仮想時間Eの長さが変化すると、トータルの基本仮想時間CXが変化する。以下、より具体的に説明する。
As the speed change process, the
図14は、速度変更処理を説明するためのタイムチャートである。図14は、速度変更の変更要求データとして、速度を2倍とする指示が、基本周期タイミングTC1の直前の基本周期Cで入力された例を示している。この場合、操作フラグセット部68aは、変更要求データが入力された直後の基本周期Cの開始タイミングである同期タイミングTD1に同期して、速度フラグFH2をセットする。速度フラグFH2は、速度を2倍にする内容のフラグである。 FIG. 14 is a time chart for explaining the speed changing process. FIG. 14 shows an example in which an instruction to double the speed is input in the basic period C immediately before the basic period timing TC1 as change request data for speed change. In this case, the operation flag setting unit 68a sets the speed flag FH2 in synchronization with the synchronization timing TD1, which is the start timing of the basic period C immediately after the change request data is input. The speed flag FH2 is a flag with contents for doubling the speed.
図14の例での速度変更処理は、第1計算処理装置10A、第2計算処理装置10B、第3計算処理装置10Cについて、計算仮想時間Eの長さを変更し、第4計算処理装置10Dについて、基本周期C内でセットする計算指示フラグF1の数を変更する。計算仮想時間フラグセット部66は、速度フラグFH2がセットされている場合、同じ基本周期Cにおける同期タイミングTD1、TD2、TD3、TD4における第1計算仮想時間EAを、従来の2倍のΔ6とする。同様に、計算仮想時間フラグセット部66は、同期タイミングTD1、TD2、TD3、TD4における第2計算仮想時間EBを、従来の2倍のΔ12とする。同様に、計算仮想時間フラグセット部66は、同期タイミングTD1、TD2、TD3、TD4における第3計算仮想時間ECを、従来の2倍のΔ24とする。
The speed change process in the example of FIG. 14 changes the length of the calculation virtual time E for the first calculation processing apparatus 10A, the second
一方、計算処理フラグセット部64は、速度フラグFH2がセットされている場合、その基本周期Cにおける計算指示フラグF1の数を2倍にする。具体的には、計算処理フラグセット部64は、同期タイミングTD3における第4計算処理フラグFBDを、計算不実施フラグF2から計算指示フラグF1に変更する。計算処理フラグセット部64は、シミュレーションが実施されていないタイミングであれば、同期タイミングTD3以外の同期タイミングの第4計算処理フラグFBDを、計算指示フラグF1に変更してもよい。
On the other hand, when the speed flag FH2 is set, the calculation processing
このような速度変更処理を行うことで、図14に示すように、第1計算処理装置10Aは、計算仮想時間Δ6のシミュレーションを4回実行し、第2計算処理装置10Bは、計算仮想時間Δ12のシミュレーションを2回実行し、第3計算処理装置10Cは、計算仮想時間Δ24のシミュレーションを1回実行し、第4計算処理装置10Dは、計算仮想時間Δ12のシミュレーションを2回実行するようになる。従って、全ての計算処理装置10の基本仮想時間CXが、従来の2倍のΔ24となる。
By performing such speed change processing, as shown in FIG. 14, the first calculation processing device 10A executes the simulation of the calculation virtual time Δ6 four times, and the second
また、図14の例では、基本周期タイミングTC1の基本周期Cであって、同期タイミングTD3と同期タイミングTD4の間のタイミングで、速度を1倍に戻す変更要求データが入力されている。この場合、操作フラグセット部68aは、変更要求データが入力された直後の基本周期Cの開始タイミングである同期タイミングTD5に同期して、速度フラグFH1をセットする。速度フラグFH1は、速度を1倍にする内容のフラグである。同期タイミングTD5の基本周期Cにおいて、計算処理フラグセット部64と計算仮想時間フラグセット部66とは、計算処理フラグFB及び計算仮想時間フラグFEを、元に戻す。
In the example of FIG. 14, change request data for returning the speed to 1 is input at the basic cycle C of the basic cycle timing TC1 and between the synchronization timing TD3 and the synchronization timing TD4. In this case, the operation flag setting unit 68a sets the speed flag FH1 in synchronization with the synchronization timing TD5 that is the start timing of the basic period C immediately after the change request data is input. The speed flag FH1 is a flag with contents for doubling the speed. In the basic cycle C of the synchronization timing TD5, the calculation processing
以上のように、計算指示部44は、変更要求データとして速度変更要求が入力された場合にも、その変更要求データが取得されたタイミングの直後の基本周期Cの開始タイミングにおいて、計算処理装置10に変更要求データの情報を示す変更要求信号(速度フラグFHと同期した同期信号SD)を送信する。これにより、計算指示部44は、計算処理装置10に対する変更要求信号中の変更処理の反映のタイミングを、他の計算処理装置10に同期させる。この制御処理装置20は、操作者による変更要求を、各計算処理装置10に同期させて反映するため、各シミュレーションの整合を取って、シミュレーションの精度低下を抑制する。
As described above, even when the speed change request is input as the change request data, the
以上、本発明の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。 As mentioned above, although embodiment of this invention was described, embodiment is not limited by the content of this embodiment. In addition, the above-described constituent elements include those that can be easily assumed by those skilled in the art, those that are substantially the same, and those in a so-called equivalent range. Furthermore, the above-described components can be appropriately combined. Furthermore, various omissions, substitutions, or changes of the components can be made without departing from the spirit of the above-described embodiment.
1 分散シミュレーションシステム
10 計算処理装置
10A 第1計算処理装置
10B 第2計算処理装置
10C 第3計算処理装置
10D 第4計算処理装置
20 制御処理装置
30 インストラクタ操作装置
44 計算指示部
52 処理周期設定部
54 基本周期設定部
56 同期周期設定部
58 仮想時間設定部
62 同期信号設定部
64 計算処理フラグセット部
66 計算仮想時間フラグセット部
68 操作フラグセット部
72 計算データ取得部
74 計算データ記憶部
A 計算時間
B 処理周期
C 基本周期
D 同期周期
E 計算仮想時間
TA クロックタイミング
TB 処理周期タイミング
TC 基本周期タイミング
TD 同期タイミング
DESCRIPTION OF SYMBOLS 1 Distributed simulation system 10 Calculation processing apparatus 10A 1st
Claims (9)
複数の前記計算処理システムと通信可能に接続される制御処理システムと、を有し、
前記制御処理システムは、
前記計算処理システムが前記シミュレーションを1回実行する周期である処理周期を、前記計算処理システム毎に設定する処理周期設定部と、
1回のシミュレーション内での経過時間である計算仮想時間を、前記計算処理システム毎に、前記処理周期の長さ同士の関係比と同じ関係比となるように設定する仮想時間設定部と、
前記計算処理システムのそれぞれに、その計算処理システムに設定された前記処理周期毎の各タイミングにおいて計算指示信号を送信して、前記計算処理システムのそれぞれに、自身に設定された前記処理周期毎に、設定された前記計算仮想時間分のシミュレーションを実行させる、計算指示部と、
を有し、
少なくとも一部の計算処理システムに設定された前記処理周期は、他の計算処理システムに設定された前記処理周期と、長さが異なり、
前記制御処理システムは、
前記シミュレーションの処理結果である出力データのうち、他の前記計算処理システムの入力データとして使用する出力データである取り合いデータを取得する計算データ取得部と、
前記計算データ取得部が取得した前記取り合いデータを記憶する計算データ記憶部と、をさらに有し、
前記計算データ取得部は、取得した前記取り合いデータを保持し、前記取り合いデータを算出した処理周期の次の処理周期の開始直前のタイミングである直前タイミングにおいて、前記取り合いデータを前記計算データ記憶部に出力し、
前記取り合いデータを算出した以外の前記計算処理システムは、少なくとも一部が、前記直前タイミングの直後の処理周期におけるシミュレーションを行う際に、前記直前タイミングで記憶された取り合いデータを取得し、その取り合いデータに基づき前記シミュレーションを実行する、分散シミュレーションシステム。 A plurality of calculation processing systems for executing simulations with different calculation times in one calculation cycle every time;
A control processing system communicably connected to the plurality of calculation processing systems,
The control processing system includes:
A processing cycle setting unit that sets a processing cycle, which is a cycle in which the calculation processing system executes the simulation once, for each of the calculation processing systems;
A virtual time setting unit that sets a calculation virtual time, which is an elapsed time in one simulation, to be the same relationship ratio as the relationship ratio between the lengths of the processing cycles for each of the calculation processing systems;
A calculation instruction signal is transmitted to each of the calculation processing systems at each timing for each of the processing cycles set in the calculation processing system, and each of the calculation processing systems is set to its own processing cycle. A calculation instruction unit for executing simulation for the set calculation virtual time;
Have
The processing cycle set in at least some of the calculation processing systems is different in length from the processing cycle set in other calculation processing systems,
The control processing system includes:
Of the output data that is the processing result of the simulation, a calculation data acquisition unit that acquires contact data that is output data used as input data of the other calculation processing system;
A calculation data storage unit that stores the contact data acquired by the calculation data acquisition unit;
The calculation data acquisition unit holds the acquired interaction data, and stores the interaction data in the calculation data storage unit at a timing immediately before the start of a processing cycle next to a processing cycle in which the interaction data is calculated. Output,
The calculation processing system other than the calculation of the contact data obtains the contact data stored at the immediately preceding timing when at least a part of the calculation processing system performs a simulation in the processing cycle immediately after the immediately preceding timing. A distributed simulation system for executing the simulation based on the above .
前記計算指示部は、前記変更要求データが取得されたタイミングの直後の前記基本周期の開始タイミングにおいて、前記計算処理システムに前記変更要求データの情報を示す変更要求信号を送信することで、前記計算処理システムに対する前記変更要求信号中の変更処理の反映のタイミングを、他の計算処理システムに同期させる、請求項2に記載の分散シミュレーションシステム。 The control processing system further includes an operation information acquisition unit that acquires change request data that is information on a change request for a simulation operation by an operator,
The calculation instructing unit transmits the change request signal indicating information on the change request data to the calculation processing system at a start timing of the basic period immediately after the timing at which the change request data is acquired, thereby calculating the calculation The distributed simulation system according to claim 2, wherein the timing of reflecting the change process in the change request signal to the processing system is synchronized with another calculation processing system.
前記計算指示部は、前記計算処理システムのそれぞれに対し、その計算処理システムの前記処理周期と一致するタイミングで送信する同期信号に同期させて、計算指示フラグをセットし、その計算処理システムの前記処理周期と一致しないタイミングで送信する同期信号に同期させて、シミュレーションを新たに実行させない情報である計算不実施フラグをセットする、請求項2又は請求項3に記載の分散シミュレーションシステム。 The calculation instruction unit transmits a synchronization signal to each of the calculation processing systems at a timing for each synchronization period that is a period of a common divisor of each processing period,
The calculation instruction unit sets a calculation instruction flag for each of the calculation processing systems in synchronization with a synchronization signal transmitted at a timing that coincides with the processing cycle of the calculation processing system. 4. The distributed simulation system according to claim 2, wherein a calculation non-execution flag, which is information not to newly execute a simulation, is set in synchronization with a synchronization signal transmitted at a timing that does not coincide with the processing cycle.
前記計算処理システムが前記シミュレーションを1回実行する周期である処理周期を、前記計算処理システム毎に設定する処理周期設定ステップと、
1回のシミュレーション内での経過時間である計算仮想時間を、前記計算処理システム毎に、前記処理周期の長さ同士の関係比と同じ関係比となるように設定する仮想時間設定ステップと、
前記計算処理システムのそれぞれに、その計算処理システムに設定された前記処理周期毎の各タイミングにおいて計算指示信号を送信して、前記計算処理システムのそれぞれに、自身に設定された前記計算仮想時間分のシミュレーションを、設定された前記処理周期毎に実行させる、計算指示ステップと、を有し、
前記処理周期設定ステップにおいて、少なくとも一部の計算処理システムに設定された前記処理周期を、他の計算処理システムに設定された前記処理周期と、長さを異ならせる、
さらに、前記シミュレーションの処理結果である出力データのうち、他の前記計算処理システムの入力データとして使用する出力データである取り合いデータを取得する計算データ取得ステップを、さらに有し、
前記計算データ取得ステップにおいて、取得した前記取り合いデータを保持し、前記取り合いデータを算出した処理周期の次の処理周期の開始直前のタイミングである直前タイミングにおいて、前記取り合いデータを、前記取り合いデータを記憶する計算データ記憶部に出力し、
前記取り合いデータを算出した以外の前記計算処理システムの少なくとも一部に、前記直前タイミングの直後の処理周期におけるシミュレーションを行う際に、前記直前タイミングで記憶された取り合いデータを取得させ、その取り合いデータに基づき前記シミュレーションを実行させる、シミュレーション実行方法。 The simulation is executed by using a plurality of calculation processing systems that execute simulations with different calculation times in one calculation cycle every time and a control processing system that is connected to the plurality of calculation processing systems so as to be communicable. A simulation execution method,
A processing cycle setting step for setting a processing cycle, which is a cycle in which the calculation processing system executes the simulation once, for each of the calculation processing systems;
A virtual time setting step for setting a calculation virtual time, which is an elapsed time in one simulation, to be the same relationship ratio as the relationship ratio between the lengths of the processing cycles for each of the calculation processing systems;
A calculation instruction signal is transmitted to each of the calculation processing systems at each timing of the processing cycle set in the calculation processing system, and the calculation virtual time set in the calculation processing system is transmitted to each of the calculation processing systems. A calculation instruction step for causing the simulation to be executed every set processing cycle,
In the processing cycle setting step, the processing cycle set in at least some of the calculation processing systems is different in length from the processing cycle set in other calculation processing systems.
Furthermore, among the output data that is the processing result of the simulation, further includes a calculation data acquisition step of acquiring contact data that is output data used as input data of the other calculation processing system,
In the calculation data acquisition step, the acquired contact data is held, and the contact data is stored in the immediately preceding timing which is a timing immediately before the start of the processing cycle next to the processing cycle in which the contact data is calculated. Output to the calculation data storage
When performing simulation in the processing cycle immediately after the immediately preceding timing, at least a part of the calculation processing system other than that having calculated the interaction data, the interaction data stored at the immediately preceding timing is acquired, A simulation execution method for executing the simulation based on the simulation .
前記計算処理システムが前記シミュレーションを1回実行する周期である処理周期を、前記計算処理システム毎に設定する処理周期設定部と、
1回のシミュレーション内での経過時間である計算仮想時間を、前記計算処理システム毎に、前記処理周期の長さ同士の関係比と同じ関係比となるように設定する仮想時間設定部と、
前記計算処理システムのそれぞれに、その計算処理システムに設定された前記処理周期毎の各タイミングにおいて計算指示信号を送信して、前記計算処理システムのそれぞれに、自身に設定された前記処理周期毎に、設定された前記計算仮想時間分のシミュレーションを実行させる、計算指示部と、
を有し、
少なくとも一部の計算処理システムに設定された前記処理周期は、他の計算処理システムに設定された前記処理周期と、長さが異なり、
前記シミュレーションの処理結果である出力データのうち、他の前記計算処理システムの入力データとして使用する出力データである取り合いデータを取得する計算データ取得部と、
前記計算データ取得部が取得した前記取り合いデータを記憶する計算データ記憶部と、をさらに有し、
前記計算データ取得部は、取得した前記取り合いデータを保持し、前記取り合いデータを算出した処理周期の次の処理周期の開始直前のタイミングである直前タイミングにおいて、前記取り合いデータを前記計算データ記憶部に出力し、
前記取り合いデータを算出した以外の前記計算処理システムの少なくとも一部に、前記直前タイミングの直後の処理周期におけるシミュレーションを行う際に、前記直前タイミングで記憶された取り合いデータを取得させ、その取り合いデータに基づき前記シミュレーションを実行させる、制御システム。 A control system for controlling a plurality of calculation processing systems that execute simulations with different calculation times in one calculation cycle every time,
A processing cycle setting unit that sets a processing cycle, which is a cycle in which the calculation processing system executes the simulation once, for each of the calculation processing systems;
A virtual time setting unit that sets a calculation virtual time, which is an elapsed time in one simulation, to be the same relationship ratio as the relationship ratio between the lengths of the processing cycles for each of the calculation processing systems;
A calculation instruction signal is transmitted to each of the calculation processing systems at each timing for each of the processing cycles set in the calculation processing system, and each of the calculation processing systems is set to its own processing cycle. A calculation instruction unit for executing simulation for the set calculation virtual time;
Have
The processing cycle set in at least some of the calculation processing systems is different in length from the processing cycle set in other calculation processing systems,
Of the output data that is the processing result of the simulation, a calculation data acquisition unit that acquires contact data that is output data used as input data of the other calculation processing system;
A calculation data storage unit that stores the contact data acquired by the calculation data acquisition unit;
The calculation data acquisition unit holds the acquired interaction data, and stores the interaction data in the calculation data storage unit at a timing immediately before the start of a processing cycle next to a processing cycle in which the interaction data is calculated. Output,
When performing simulation in the processing cycle immediately after the immediately preceding timing, at least a part of the calculation processing system other than that having calculated the interaction data, the interaction data stored at the immediately preceding timing is acquired, A control system for executing the simulation based on the above .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015164132A JP6568746B2 (en) | 2015-08-21 | 2015-08-21 | Distributed simulation system, simulation execution method, and control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015164132A JP6568746B2 (en) | 2015-08-21 | 2015-08-21 | Distributed simulation system, simulation execution method, and control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017041201A JP2017041201A (en) | 2017-02-23 |
JP6568746B2 true JP6568746B2 (en) | 2019-08-28 |
Family
ID=58206528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015164132A Active JP6568746B2 (en) | 2015-08-21 | 2015-08-21 | Distributed simulation system, simulation execution method, and control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6568746B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102025129B1 (en) * | 2017-09-05 | 2019-09-25 | 미쓰비시덴키 가부시키가이샤 | Simulation device and simulation method |
JP7417493B2 (en) | 2020-08-06 | 2024-01-18 | 三菱重工業株式会社 | Training system, relay device control method, and program |
JPWO2023119524A1 (en) * | 2021-12-22 | 2023-06-29 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11219099A (en) * | 1998-02-03 | 1999-08-10 | Mitsubishi Electric Corp | Simulator |
JP2010128722A (en) * | 2008-11-26 | 2010-06-10 | Canon Inc | Simulation system, simulation method and program |
JP2010224972A (en) * | 2009-03-24 | 2010-10-07 | Fujitsu Ten Ltd | Simulation system |
JP5686609B2 (en) * | 2011-01-12 | 2015-03-18 | キヤノン株式会社 | Information processing apparatus and program |
JP6249665B2 (en) * | 2013-08-02 | 2017-12-20 | キヤノン株式会社 | Simulation device, simulation method, and program |
-
2015
- 2015-08-21 JP JP2015164132A patent/JP6568746B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017041201A (en) | 2017-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7778814B2 (en) | Method and device for simulating an automation system | |
JP6568746B2 (en) | Distributed simulation system, simulation execution method, and control system | |
JP5651251B2 (en) | Simulation execution method, program, and system | |
TWI553497B (en) | Simulation system, programmable controller, simulation device and engineering tool | |
JPWO2012114435A1 (en) | Electric motor control system and communication method | |
JP5984178B2 (en) | Driving training simulator | |
CN107688301A (en) | HIL analogue systems and its control method | |
JP6423971B2 (en) | Functional unit and control device | |
EP3196718A1 (en) | Embedded emulation modules in industrial control devices | |
JP4875545B2 (en) | Simulation synchronization apparatus and control method thereof | |
JP6120657B2 (en) | Integrated simulator apparatus, simulation method, and program | |
JP2007536659A (en) | Method and apparatus for simulation of automated systems | |
JP2015001494A (en) | Earthquake sensor, and seismic waveform recording method | |
JP6608019B2 (en) | Functional unit and control device | |
KR20210055458A (en) | Method and apparatus of windowed pulse-coupling synchronization for practical implementation | |
JP6750682B2 (en) | Time management system, time management device, synchronization processing device, computer, time management method, and program | |
JP4905782B2 (en) | Plant control system, plant control method, and program for plant control | |
JP6225091B2 (en) | Multiplexing control apparatus and method, and apparatus control system and method | |
JP2014157386A (en) | Data processing system | |
JP6496278B2 (en) | Simulation system | |
KR20190132097A (en) | Method and apparatus of real-time scheduling for industrial robot system | |
JP3955843B2 (en) | Microprocessor parallel simulation system | |
US11287789B2 (en) | Program development support device, program development support system, program development support method, and non-transitory computer-readable recording medium | |
JP6260445B2 (en) | Simulation device | |
TWI448075B (en) | Pulse generate device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180709 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190320 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190423 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190624 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190709 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190805 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6568746 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |