JP6568746B2 - Distributed simulation system, simulation execution method, and control system - Google Patents

Distributed simulation system, simulation execution method, and control system Download PDF

Info

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
Application number
JP2015164132A
Other languages
Japanese (ja)
Other versions
JP2017041201A (en
Inventor
泰平 塚本
泰平 塚本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP2015164132A priority Critical patent/JP6568746B2/en
Publication of JP2017041201A publication Critical patent/JP2017041201A/en
Application granted granted Critical
Publication of JP6568746B2 publication Critical patent/JP6568746B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特開平11−265297号公報JP-A-11-265297

ここで、複数のシミュレーションモデルは、異なるシミュレーションを実行するため、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.

図1は、第1実施形態に係る分散シミュレーションシステムの構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a distributed simulation system according to the first embodiment. 図2は、第1実施形態に係る計算処理装置が実行するシミュレーションのタイムチャートである。FIG. 2 is a time chart of a simulation executed by the calculation processing apparatus according to the first embodiment. 図3は、第1実施形態に係る制御処理装置の構成を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of the control processing device according to the first embodiment. 図4は、各周期の設定を説明するためのチャートである。FIG. 4 is a chart for explaining the setting of each cycle. 図5は、同期処理を説明するためのタイムチャートである。FIG. 5 is a time chart for explaining the synchronization processing. 図6は、制御処理装置の同期処理を説明するフローチャートである。FIG. 6 is a flowchart for explaining the synchronization processing of the control processing device. 図7は、各計算処理装置のシミュレーション実行処理を説明するフローチャートである。FIG. 7 is a flowchart for explaining a simulation execution process of each calculation processing apparatus. 図8は、取り合い同期処理を説明するためのタイムチャートである。FIG. 8 is a time chart for explaining the contact synchronization processing. 図9は、制御処理装置の取り合い同期処理を説明するフローチャートである。FIG. 9 is a flowchart for explaining the contact synchronization processing of the control processing device. 図10は、要求データ同期処理を説明するためのタイムチャートである。FIG. 10 is a time chart for explaining the request data synchronization processing. 図11は、制御処理装置の要求データ同期処理を説明するフローチャートである。FIG. 11 is a flowchart illustrating request data synchronization processing of the control processing device. 図12は、各計算処理装置のシミュレーション実行処理を説明するフローチャートである。FIG. 12 is a flowchart for explaining a simulation execution process of each calculation processing apparatus. 図13は、第2実施形態に係る制御処理装置の構成を示すブロック図である。FIG. 13 is a block diagram illustrating a configuration of a control processing device according to the second embodiment. 図14は、速度変更処理を説明するためのタイムチャートである。FIG. 14 is a time chart for explaining the speed changing process.

以下に添付図面を参照して、本発明の好適な実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではなく、また、実施形態が複数ある場合には、各実施例を組み合わせて構成するものも含むものである。   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 calculation processing device 10B, a third calculation processing device 10C, and a fourth calculation processing device 10D, and a control. It has a processing device 20 and an instructor operating device 30. Hereinafter, the first calculation processing device 10A, the second calculation processing device 10B, the third calculation processing device 10C, and the fourth calculation processing device 10D will be referred to as the calculation processing device 10 when not distinguished from each other.

分散シミュレーションシステム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 control processing device 20. The distributed simulation system 1 is used for plant operation training, particularly for nuclear power reprocessing plant operation training, but the application is not limited thereto.

(計算処理装置)
計算処理システムとしての計算処理装置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 communication unit 12 and a calculation processing unit 14. The communication unit 12 communicates with the control processing device 20. The communication unit 12 acquires a command for executing a simulation and input data for simulation from the control processing device 20, and outputs output data as a simulation result to the control processing device 20. The calculation processing unit 14 executes a predetermined simulation based on a command from the control processing device 20 via the communication unit 12. Note that although there are four calculation processing apparatuses 10 in the present embodiment, the number is not limited to this as long as it is plural. The calculation processing device 10 is configured by a plurality of processing devices that execute at least one type of simulation every time, but may be configured by a single processing device that executes a plurality of types of simulations. Further, the calculation processing device 10, the control processing device 20, and the instructor operation device 30 are different processing devices from each other, but may be a single processing device.

以下、計算処理装置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 control processing device 20, calculation processing for executing simulation (calculation) based on the input data, and results of the calculation processing. And output processing for outputting the output data to the control processing device 20. In the simulation executed by the calculation processing apparatus 10, the input process, the calculation process, and the output process are set as one calculation cycle. The simulation in the present description refers to performing the input process, the calculation process, and the output process only once. In other words, the simulation in this description has only one calculation period. The calculation processing apparatus 10 outputs the state of the plant as output data for each virtual time that is an elapsed time in the simulation by repeating this simulation a plurality of times every time.

計算処理装置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 calculation processing apparatus 10B 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 TA4. Then, output processing is executed in the time from clock timing TA4 to TA5. That is, the calculation time AB of the second calculation processing device 10B is 0.4 seconds, which is the time from the clock timing TA1 to TA5. The second calculation processing device 10B repeats this simulation every time.

第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 calculation processing device 10D 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 TA5. Then, the output process is executed in the time from the clock timing TA5 to TA6. That is, the calculation time AD of the fourth calculation processing device 10D is 0.5 seconds, which is the time from the clock timing TA1 to TA6. The fourth calculation processing device 10D repeats this simulation every time.

各計算処理装置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 calculation processing device 10B uses the output data of the first calculation processing device 10A as its own input data. The second calculation processing device 10B also uses the output data of the fourth calculation processing device 10D as its own input data. Further, the third calculation processing device 10C uses the output data of the second calculation processing device 10B as its own input data.

計算処理装置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 control processing device 20. The operation information is information for setting the operation of the simulation. For example, the RUN operation for starting the simulation of all the calculation processing apparatuses 10, the FREEZE operation for stopping the simulation of all the calculation processing apparatuses 10, and the speed change for changing the simulation speed. There are operations.

(制御処理装置)
制御処理システムとしての制御処理装置20は、計算処理装置10と通信可能に接続され、全ての計算処理装置10のシミュレーション処理を一括で制御する処理装置(コンピュータ)である。図3は、第1実施形態に係る制御処理装置の構成を示すブロック図である。図3に示すように、制御処理装置20は、制御通信部40と、周期設定部42と、計算指示部44と、計算データ部46と、変更要求データ取得部48と、を有する。
(Control processing device)
The control processing device 20 as a control processing system is a processing device (computer) that is connected to the calculation processing device 10 so as to be communicable and collectively controls simulation processing of all the calculation processing devices 10. FIG. 3 is a block diagram illustrating a configuration of the control processing device according to the first embodiment. As illustrated in FIG. 3, the control processing device 20 includes a control communication unit 40, a cycle setting unit 42, a calculation instruction unit 44, a calculation data unit 46, and a change request data acquisition unit 48.

制御通信部40は、計算処理装置10の通信部12と通信を行って、計算処理装置10と情報のやり取りを行うものであり、インストラクタ操作装置30の通信部34と通信を行って、インストラクタ操作装置30と情報のやり取りを行うものである。   The control communication unit 40 communicates with the communication unit 12 of the calculation processing device 10 to exchange information with the calculation processing device 10, and communicates with the communication unit 34 of the instructor operation device 30 to operate the instructor. It exchanges information with the device 30.

周期設定部42は、処理周期設定部52と、基本周期設定部54と、同期周期設定部56と、仮想時間設定部58と、を有する。   The cycle setting unit 42 includes a processing cycle setting unit 52, a basic cycle setting unit 54, a synchronization cycle setting unit 56, and a virtual time setting unit 58.

処理周期設定部52は、計算処理装置10毎に処理周期Bを設定するものである。処理周期Bは、各計算処理装置10がシミュレーションを1回実行する周期、言い換えれば、シミュレーションを開始してから次のシミュレーションを開始するまでの時間である。上述のように、計算処理装置10が1つのシミュレーションの計算に要する時間である計算時間Aは、その計算処理装置10のスペックとシミュレーションの内容とに依存する。そのため、計算処理装置10は、計算時間Aよりも短い周期でシミュレーションを繰り返すことはできない。従って、処理周期設定部52は、各計算処理装置10について、それぞれの計算時間A以上の長さを有するように、処理周期Bを設定する。処理周期の設定方法の詳細は後述する。   The processing cycle setting unit 52 sets the processing cycle B for each calculation processing device 10. The processing cycle B is a cycle in which each calculation processing device 10 executes the simulation once, in other words, a time from the start of the simulation to the start of the next simulation. As described above, the calculation time A, which is the time required for the calculation processing device 10 to calculate one simulation, depends on the specifications of the calculation processing device 10 and the contents of the simulation. Therefore, the calculation processing device 10 cannot repeat the simulation at a cycle shorter than the calculation time A. Therefore, the processing cycle setting unit 52 sets the processing cycle B so that each calculation processing device 10 has a length equal to or longer than the respective calculation time A. Details of the processing cycle setting method will be described later.

基本周期設定部54は、計算処理装置10全てに共通する基本周期Cを設定するものである。基本周期Cは、各処理周期Bの公倍数の長さを有する周期である。基本周期Cの詳細については後述する。   The basic period setting unit 54 sets a basic period C common to all the calculation processing apparatuses 10. The basic cycle C is a cycle having a common multiple of each processing cycle B. Details of the basic period C will be described later.

同期周期設定部56は、計算処理装置10全てに共通する同期周期Dを設定するものである。同期周期Dは、各処理周期Bの公約数の長さを有する周期である。同期周期Dについては後述する。   The synchronization cycle setting unit 56 sets a synchronization cycle D that is common to all the calculation processing devices 10. The synchronization period D is a period having a common divisor length of each processing period B. The synchronization period D will be described later.

仮想時間設定部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 cycle setting unit 42 sets the processing cycle B, the basic cycle C, the synchronization cycle D, and the calculation virtual time E, which are set values for synchronizing the calculation processing devices 10. The cycle setting unit 42 sets these by itself based on the calculation time A of each calculation processing device 10 and the contents of the simulation to be executed, but these are set by an input operation to the cycle setting unit 42 by the operator. May be.

次に、制御処理装置20の計算指示部44について説明する。図3に示すように、計算指示部44は、同期信号生成部62と、計算処理フラグセット部64と、計算仮想時間フラグセット部66と、操作フラグセット部68と、を有する。   Next, the calculation instruction unit 44 of the control processing device 20 will be described. As illustrated in FIG. 3, the calculation instruction unit 44 includes a synchronization signal generation unit 62, a calculation processing flag set unit 64, a calculation virtual time flag set unit 66, and an operation flag set unit 68.

同期信号生成部62は、同期信号SDを、同期周期D毎に生成する。同期信号生成部62は、制御通信部40を介して、同期周期D毎に計算処理装置10のそれぞれに同期信号SDを出力する。同期信号SDを取得した各計算処理装置10は、シミュレーション実行のための処理をスタートさせたりするが、詳しくは後述する。   The synchronization signal generator 62 generates the synchronization signal SD for each synchronization period D. The synchronization signal generator 62 outputs the synchronization signal SD to each of the calculation processing devices 10 for each synchronization period D via the control communication unit 40. Each calculation processing device 10 that has acquired the synchronization signal SD starts a process for executing a simulation, which will be described later in detail.

計算処理フラグセット部64は、後述する同期処理を行うためのものである。計算処理フラグセット部64は、同期信号SDに同期させて、自身の書き込み可能領域内に、計算処理フラグFBをセットする。計算処理フラグセット部64は、計算処理装置10のそれぞれに対応した計算処理フラグFBをセットする。本実施形態では、計算処理フラグセット部64は、各計算処理装置10に対応させて、計算指示フラグF1及び計算不実施フラグF2をセットする。計算指示フラグF1は、その計算処理装置10に新たにシミュレーションを行わせる指示を出すためのフラグである。計算不実施フラグF2は、その計算処理装置10に新たにシミュレーションを行わせない指示を出すためのフラグである。計算処理装置10は、自身のために設定された計算処理フラグFBを計算処理フラグセット部64から読み込み、その計算処理フラグFBに基づき、新たなシミュレーションを開始させたりさせなかったりする。   The calculation process flag setting unit 64 is for performing a synchronization process described later. The calculation processing flag setting unit 64 sets the calculation processing flag FB in its writable area in synchronization with the synchronization signal SD. The calculation processing flag setting unit 64 sets a calculation processing flag FB corresponding to each of the calculation processing devices 10. In the present embodiment, the calculation processing flag setting unit 64 sets a calculation instruction flag F1 and a calculation non-execution flag F2 corresponding to each calculation processing device 10. The calculation instruction flag F1 is a flag for issuing an instruction to cause the calculation processing apparatus 10 to perform a new simulation. The calculation non-execution flag F2 is a flag for giving an instruction not to perform a new simulation to the calculation processing apparatus 10. The calculation processing device 10 reads the calculation processing flag FB set for itself from the calculation processing flag setting unit 64 and may or may not start a new simulation based on the calculation processing flag FB.

例えば、計算処理フラグセット部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 unit 64 is synchronized with the synchronization signal SD transmitted to the second calculation processing device 10B at a timing that coincides with the processing cycle B (second processing cycle BB) of the second calculation processing device 10B. The calculation instruction flag F1 for the second calculation processing device 10B is set. In addition, the calculation processing flag set unit 64 synchronizes with the synchronization signal SD transmitted to the second calculation processing device 10B at a timing that does not coincide with the processing cycle B (second processing cycle BB) of the second calculation processing device 10B, for example. Thus, the calculation non-execution flag F2 for the second calculation processing device 10B is set. The second calculation processing device 10B starts a new simulation when the calculation instruction flag F1 is read, and does not start a new simulation when the calculation non-execution flag F2 is read.

計算仮想時間フラグセット部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 data acquisition unit 48. The change request data acquisition unit 48 is a case where the operation information is change request data which is information on a change request for a simulation operation, and when the operation information is a RUN operation or a FREEZE operation, the change request data acquisition unit 48 stores the change request data in an operation flag set unit 68. Output to. The operation flag setting unit 68 sets the operation flag FG based on the change request data. Each calculation processing device 10 reads the operation flag FG and changes the simulation operation performed by itself based on the operation flag FG. Details of the operation flag FG will be described later.

次に、制御処理装置20の計算データ部46について説明する。図3に示すように、計算データ部46は、計算データ取得部72と、計算データ記憶部74と、を有する。計算データ取得部72は、各計算処理装置10の出力データを取得する。計算データ記憶部74は、各計算処理装置10の入力データを記憶するとともに、計算データ取得部72から各計算処理装置10の出力データを取得して記憶する。各計算処理装置10は、計算データ記憶部74から入力データを読み出して、シミュレーションを実行する。なお、計算データ記憶部74は、各計算処理装置10の出力データのみを記憶していてもよく、各計算処理装置10の入力データは、計算処理装置10自身が記憶してもよい。   Next, the calculation data unit 46 of the control processing device 20 will be described. As shown in FIG. 3, the calculation data unit 46 includes a calculation data acquisition unit 72 and a calculation data storage unit 74. The calculation data acquisition unit 72 acquires output data of each calculation processing device 10. The calculation data storage unit 74 stores the input data of each calculation processing device 10, and acquires and stores the output data of each calculation processing device 10 from the calculation data acquisition unit 72. Each calculation processing device 10 reads input data from the calculation data storage unit 74 and executes a simulation. Note that the calculation data storage unit 74 may store only the output data of each calculation processing device 10, and the input data of each calculation processing device 10 may be stored by the calculation processing device 10 itself.

また、計算データ取得部72は、後述する取り合いデータ同期処理のために用いられる。計算データ取得部72は、出力データのうちの取り合いデータを所定時間保持するバッファとしての機能を有する。取り合いデータは、他の計算処理装置10の入力データとして使用する出力データである。取り合いデータの保持の詳細については、後述する。   Moreover, the calculation data acquisition part 72 is used for the transaction data synchronization process mentioned later. The calculation data acquisition unit 72 has a function as a buffer that holds the exchange data of the output data for a predetermined time. The trade data is output data used as input data of another calculation processing device 10. Details of holding the trade data will be described later.

変更要求データ取得部48は、上述のように、インストラクタ操作装置30に入力された操作情報を取得するものである。   The change request data acquisition unit 48 acquires operation information input to the instructor operation device 30 as described above.

制御処理装置20は、以上説明したような構成を有する。制御処理装置20は、各計算処理装置10のシミュレーション同士の同期をとるため、周期設定、同期処理、取り合いデータ同期処理、及び要求データ同期処理を行う。以下に、制御処理装置20の各処理について説明する。   The control processing device 20 has a configuration as described above. The control processing device 20 performs cycle setting, synchronization processing, transaction data synchronization processing, and request data synchronization processing in order to synchronize simulations of the respective calculation processing devices 10. Below, each process of the control processing apparatus 20 is demonstrated.

(周期設定)
最初に、周期設定部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 cycle setting unit 42 will be described. FIG. 4 is a chart for explaining the setting of each cycle. The cycle setting unit 42 first sets the processing cycle B of each calculation processing device 10 by the processing cycle setting unit 52. The processing cycle setting unit 52 sets the processing cycle B based on the calculation time A and the contents of the simulation to be executed. The processing cycle setting unit 52 sets the processing cycle B for each calculation processing device 10 so as to be longer than the calculation time A of the calculation processing device 10. Further, the processing cycle setting unit 52 may set the processing cycle B so as to be as long as the calculation time A and as short as possible. Since the frequency of simulation increases by shortening the processing cycle B, it is possible to improve the simulation accuracy. Further, the processing cycle setting unit 52 sets the processing cycle B based on the type of simulation. For example, if the processing cycle setting unit 52 is a simulation (for example, temperature control or water amount control) for a control change of a plant control device, the processing cycle setting unit 52 is longer than the calculation time A in order to increase the accuracy of the simulation, In addition, the processing cycle B is set so that the length is as short as possible. Further, in the case of a chemical reaction simulation, the processing cycle setting unit 52 is a control device in which the processing cycle B is longer than the calculation time A and has the same calculation time A because the progress of the reaction is slow. It may be set longer than the simulation for the control change. That is, when it is assumed that the calculation time A is the same, the processing cycle setting unit 52 sets the processing cycle B so that the length is as short as possible in the simulation related to the parameter that frequently needs to be checked. In a simulation related to a parameter that does not require a state check, the processing cycle B is set to be longer than that.

また、処理周期設定部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 cycle setting unit 52 sets the processing cycle B to the same length as the processing cycle of the actual nuclear power plant control device. Can be made the same as the actual nuclear power plant movement. Further, since the propagation speed of the pressure in the sealed pipe, the explosion event, the critical event, or the like has a high parameter change speed, the processing cycle setting unit 52 performs the processing cycle for the simulation related to the event with the high parameter changing speed. B is set to be as short as possible. That is, the processing cycle setting unit 52 shortens the length of the processing cycle B with respect to the calculation time A for an event with a higher parameter change rate. By shortening the length of the processing cycle B with respect to the calculation time A, the length of the processing cycle B can be brought close to the calculation time A, and the processing cycle B can be shortened as much as possible. In addition, the processing cycle setting unit 52 increases the length of the processing cycle B for a simulation with a large calculation load such as a fire event. Further, the processing cycle setting unit 52 sets a processing cycle B in a range that does not affect (e.g., divergence) in the simulation of the connection destination for a simulation that requires convergence calculation.

本実施形態の例では、処理周期設定部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 cycle setting unit 52 sets the first processing cycle BA, which is the processing cycle of the first calculation processing device 10A, to 0, which is the time from the clock timing TA1 to TA4. .3 seconds is set. The first processing cycle BA has the same length as the calculation time AA of the first calculation processing device 10A. When the start timing of the first processing cycle BA is the processing cycle timing TB and the processing cycle timing TB1 is the same timing as the clock timing TA1, the processing cycle timing TB2 is the same timing as the clock timing TA4. Similarly, the processing cycle timing TB3 is the same timing as the clock timing TA7, the processing cycle timing TB4 is the same timing as the clock timing TA10, and the processing cycle timing TB5 is the same timing as the clock timing TA13.

第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 cycle setting unit 52 sets the second processing cycle BB, which is the processing cycle of the second calculation processing device 10B, to 0.6 seconds that is the time from the clock timing TA1 to TA7. That is, the second processing cycle BB is the time from the processing cycle timing TB1 to TB3. The second processing cycle BB is longer than the calculation time AB of the second calculation processing device 10B. The processing cycle setting unit 52 has a second processing cycle that is a multiple of the first processing cycle BA of the first processing apparatus 10A, which is equal to or longer than the calculation time AB and is shorter than itself, and is as short as possible. BB is set.

第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 calculation processing device 10B performs simulation once each between the processing cycle timings TB1 and TB3 and between the processing cycle timings TB3 and TB5. Execute.

処理周期設定部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 cycle setting unit 52 sets the third processing cycle BC, which is the processing cycle of the third calculation processing device 10C, to 1.2 seconds, which is the time from the clock timing TA1 to TA13. That is, the third processing cycle BC is the time from the processing cycle timing TB1 to TB5. The third processing cycle BC is longer than the calculation time AC of the third calculation processing device 10C. The processing cycle setting unit 52 has a third processing cycle that is equal to or more than a common multiple of the first processing cycle BA and the second processing cycle BB that are equal to or longer than the calculation time AC and shorter than the calculation time AC. BC is set.

第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 cycle setting unit 52 sets the fourth processing cycle BD that is the processing cycle of the fourth calculation processing device 10D to 1.2 seconds that is the time from the clock timing TA1 to TA13. That is, the fourth processing cycle BD is the time from the processing cycle timing TB1 to TB13. The fourth processing cycle BD is longer than the calculation time AD of the fourth calculation processing device 10D. The fourth processing cycle BD of the fourth calculation processing device 10D is equal to or longer than the calculation time AD and is a multiple of the first processing cycle BA and the second processing cycle BB, which are shorter than the calculation time itself, and is as short as possible. In such a case, the time is 0.6 seconds. However, since it is not necessary to increase the simulation frequency in the simulation of the fourth calculation processing device 10D, the processing cycle setting unit 52 sets the fourth processing cycle BD to 1.2 times the double.

第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 calculation processing device 10D executes the simulation once between the processing cycle timings TB1 and TB5.

ただし、処理周期設定部52による、処理周期Bの設定方法は、以上説明した方法に限られない。処理周期設定部52は、計算時間A以上の長さとなるように、処理周期Bを設定するものであればよい。   However, the method of setting the processing cycle B by the processing cycle setting unit 52 is not limited to the method described above. The processing cycle setting unit 52 only needs to set the processing cycle B so as to be longer than the calculation time A.

次に、周期設定部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 period setting unit 42 sets the basic period C common to the calculation processing devices 10 by the basic period setting unit 54. The basic period setting unit 54 sets the basic period C so as to be a common multiple of each processing period B. More specifically, it is preferable that the basic period setting unit 54 sets the basic period C so as to be the least common multiple of each processing period B. That is, in the example of FIG. 4, the basic cycle C is the first processing cycle BA, the second processing cycle BB, the third processing cycle BC, and the third processing cycle BC, which is the least common multiple of the fourth processing cycle BD, and the fourth processing. A period (1.2 seconds) having the same length as the period BD is defined as a basic period C. When the basic cycle timing TC is the same timing as the processing cycle timing TB1 when the basic cycle C start timing is the basic cycle timing TC, the basic cycle timing TC2 is the same timing as the processing cycle timing TB5.

なお、基本周期設定部54は、各計算時間A中の最長の計算時間以上の長さを基本周期Cとして設定し、処理周期設定部52が、その計算処理装置10における計算時間A以上の長さであり、かつ基本周期Cの約数の長さを有するように、各計算処理装置10の処理周期Bを設定してもよい。この場合において、処理周期設定部52は、基本周期Cの長さができるだけ短くなるように、各処理周期Bを設定することが好ましい。   The basic cycle setting unit 54 sets a length equal to or longer than the longest calculation time in each calculation time A as the basic cycle C, and the processing cycle setting unit 52 is longer than the calculation time A in the calculation processing device 10. Furthermore, the processing cycle B of each calculation processing device 10 may be set so as to have a length that is a divisor of the basic cycle C. In this case, it is preferable that the processing cycle setting unit 52 sets each processing cycle B so that the length of the basic cycle C is as short as possible.

次に、周期設定部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 cycle setting unit 42 sets a synchronization cycle D common to all the calculation processing devices 10 by the synchronization cycle setting unit 56. The synchronization period setting unit 56 sets the synchronization period D so as to be the length of the common divisor of each processing period B. In the example of FIG. 4, the synchronization period setting unit 56 synchronizes a period (0.3 seconds) having the same length as the first processing period BA, which is the greatest common divisor of the first processing periods BA, BB, BC, and BD. Let it be period D. When the start timing of the synchronization cycle D is the synchronization timing TD and the synchronization timing TD1 is the same timing as the processing cycle timing TB1, the synchronization timing TD2 is the same timing as the processing cycle timing TB2, and the synchronization timing TD3 is the same as the processing cycle timing TB3. The synchronization timing TD4 is the same timing as the processing cycle timing TB4, and the synchronization timing TD5 is the same timing as the processing cycle timing TB5.

次に、周期設定部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 cycle setting unit 42 sets the calculation virtual time E for each calculation processing device 10 by the virtual time setting unit 58. The calculated virtual time E is an elapsed time on one simulation. That is, the calculated virtual time E is a virtual elapsed time in the simulation executed in one processing cycle. The virtual time setting unit 58 sets each calculation virtual time E so that the relationship ratio is the same as the relationship ratio between the lengths of the processing periods B. Here, the calculation virtual time E set in the first calculation processing device 10A is set as the first calculation virtual time EA, the calculation virtual time E set in the second calculation processing device 10B is set as the second calculation virtual time EB, The calculation virtual time E set in the third calculation processing device 10C is the third calculation virtual time EC, and the calculation virtual time E set in the fourth calculation processing device 10D is the fourth calculation virtual time ED. In the example of FIG. 4, the length ratio of the first processing cycle BA, the second processing cycle BB, the third processing cycle BC, and the fourth processing cycle BD is 1: 2: 4: 4. The ratio of the lengths of the 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. The first calculation virtual time EA has a length of Δ3, the second calculation virtual time EB has a length of Δ6, and the third calculation virtual time EC and the fourth calculation virtual time ED have a length of the first. 2 Δ12 which is twice the calculation virtual time EB. For example, Δ3 is 0.3 seconds, Δ6 is 0.6 seconds, and Δ12 is 1.2 seconds, but is not limited thereto.

ここで、基本周期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 cycle setting unit 42 sets the processing cycle B, the basic cycle C, the synchronization cycle D, and the calculation virtual time E. The cycle setting unit 42 sets the processing cycle B, the basic cycle C, the synchronization cycle D, and the calculation virtual time E in this order, but the processing order is not limited to this. The cycle setting unit 42 preferably calculates the processing cycle B first, and calculates the basic cycle C, the synchronization cycle D, and the calculation virtual time E based on the processing cycle B. For example, the cycle setting unit 42 may set the processing cycle B, the calculation virtual time E, the basic cycle C, and the synchronization cycle D in this order. However, the cycle setting unit 42 is not limited to calculating the processing cycle B first.

(同期処理)
次に、制御処理装置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 control processing device 20 will be described. FIG. 5 is a time chart for explaining the synchronization processing. In the control processing device 20, the synchronization signal generation unit 62 generates a synchronization signal SD for each synchronization cycle D, and outputs the synchronization signal SD to each of the calculation processing devices 10 for each synchronization cycle D via the control communication unit 40. To do. In the example of FIG. 5, the synchronization signal generation unit 62 outputs the synchronization signal SD to each calculation processing device 10 at each timing of the synchronization timings TD1, TD2, TD3, TD4, and TD5. The basic cycle timing TC1 matches the synchronization timing TD1, and the basic cycle timing TC2 matches the synchronization timing TD5. Further, the synchronization timings TD1, TD2, TD3, TD4, and TD5 coincide with the processing cycle timings TB1, TB2, TB3, TB4, and TB5, respectively (see FIG. 4).

また、制御処理装置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 control processing device 20 sets the calculation processing flag FB corresponding to each of the calculation processing devices 10 by the calculation processing flag setting unit 64. The calculation processing flag setting unit 64 selects the calculation processing flag FB to be set from the calculation instruction flag F1 or the calculation non-execution flag F2 based on the processing cycle B of each calculation processing device 10. The calculation processing flag set unit 64 synchronizes with the synchronization signal SD transmitted to each calculation processing device 10 at a timing that coincides with the processing cycle B of the calculation processing device 10, and calculates instructions for the calculation processing device 10. Set the flag F1. In addition, the calculation processing flag set unit 64 synchronizes with the synchronization signal SD transmitted to each calculation processing device 10 at a timing that does not coincide with the processing cycle B of the calculation processing device 10, and performs calculation for the calculation processing device 10. A non-execution flag F2 is set.

本説明の例では、第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 unit 64 synchronizes with the synchronization signal SD output at the synchronization timing TD1, TD2, TD3, TD4, TD5 as the first calculation processing flag FBA of the first calculation processing device 10A, and calculates the calculation instruction flag. Set F1.

本説明の例では、第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 calculation processing device 10B is twice as long as the synchronization cycle D. Accordingly, the calculation processing flag setting unit 64 sets the calculation instruction flag F1 in synchronization with the synchronization signal SD output at the synchronization timings TD1, TD3, and TD5 as the second calculation processing flag FBB of the second calculation processing device 10B. . Then, the calculation process flag setting unit 64 sets the calculation non-execution flag F2 in synchronization with the synchronization signal SD output at the synchronization timings TD2 and TD4 as the second calculation process flag FBB.

本説明の例では、第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 flag setting unit 64 sets the calculation instruction flag F1 in synchronization with the synchronization signal SD output at the synchronization timings TD1 and TD5 as the third calculation processing flag FBC of the third calculation processing device 10C. Then, the calculation processing flag setting unit 64 sets the calculation non-execution flag F2 as the third calculation processing flag FBC in synchronization with the synchronization signal SD output at the synchronization timings TD2 and TD3TD4. The fourth processing cycle BD of the fourth calculation processing device 10D has the same length as the third processing cycle BC. Accordingly, the fourth calculation processing flag FBD of the fourth calculation processing device 10D is the same as the third calculation processing flag FBC.

また、制御処理装置20は、計算仮想時間フラグセット部66により、同期信号SDに同期させて、各計算処理装置10に対応した計算仮想時間フラグFEをセットする。計算仮想時間フラグFEは、設定された計算仮想時間Eの情報を有するフラグである。   Further, the control processing device 20 sets the calculation virtual time flag FE corresponding to each calculation processing device 10 by the calculation virtual time flag setting unit 66 in synchronization with the synchronization signal SD. The calculated virtual time flag FE is a flag having information on the set calculated virtual time E.

本説明の例では、第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 calculation processing device 10B is Δ6, and the third calculation processing device 10C. The third calculation virtual time EC is Δ12, and the fourth calculation virtual time ED of the fourth calculation processing device 10D is Δ12. Therefore, the calculation virtual time flag set unit 66 outputs the first calculation virtual time flag FEA of the first calculation processing apparatus 10A having the information of Δ3 at the synchronization timings TD1, TD2, TD3, TD4, and TD5. Set in sync with SD. The calculation virtual time flag set unit 66 outputs the second calculation virtual time flag FEB of the second calculation processing apparatus 10B having the information of Δ6 to the synchronization signal SD output at the synchronization timings TD1, TD2, TD3, TD4, and TD5. Set in sync. The calculation virtual time flag set unit 66 outputs the third calculation virtual time flag FEC of the third calculation processing device 10C having the information of Δ12 to the synchronization signal SD output at the synchronization timings TD1, TD2, TD3, TD4, and TD5. Set in sync. The calculation virtual time flag set unit 66 outputs the fourth calculation virtual time flag FED of the fourth calculation processing device 10D having the information of Δ12 to the synchronization signal SD output at the synchronization timings TD1, TD2, TD3, TD4, and TD5. Set in sync.

なお、計算仮想時間フラグセット部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 control processing device 20. When the calculation processing flag FB is the calculation instruction flag F1, each calculation processing device 10 starts a simulation for the calculation virtual time E indicated by the calculation virtual time flag FE. Further, each calculation processing device 10 does not start the simulation when the calculation processing flag FB is the calculation non-execution flag F2.

図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 flag setting unit 64 of the control processing device 20 and the calculation virtual The first calculation virtual time flag FEA set in the time flag setting unit 66 is read. Since the first calculation processing flag FBA at the synchronization timing TD1 is the calculation instruction flag F1, the first calculation processing device 10A newly starts a simulation for the first calculation virtual time EA (Δ3 minutes). As shown in FIG. 5, this simulation ends by the synchronization timing TD2.

また、同期タイミング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 calculation processing device 10B acquires the synchronization signal SD at the synchronization timing TD1, the second calculation processing device 10B reads the second calculation processing flag FBB and the second calculation virtual time flag FEB. Since the second calculation processing flag FBB at the synchronization timing TD1 is the calculation instruction flag F1, the second calculation processing device 10B newly starts a simulation for the second calculation virtual time EB (Δ6 minutes). As shown in FIG. 5, this simulation ends by the synchronization timing TD3.

また、同期タイミング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 calculation processing device 10B does not newly start a simulation at the synchronization timing TD2. At the synchronization timing TD2, the second calculation processing device 10B is executing a simulation started at the synchronization timing TD1.

また、同期タイミング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 calculation processing device 10B newly starts a simulation for the second calculation virtual time EB (Δ6 minutes) at the synchronization timings TD3 and TD5. Further, the second calculation processing device 10B does not newly start the simulation at the synchronization timing TD4 in which the calculation non-execution flag F2 is set.

図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 calculation processing device 10D acquires the synchronization signal SD at the synchronization timing TD1, the fourth calculation processing device 10D reads the fourth calculation processing flag FBD and the fourth calculation virtual time flag FED. Since the fourth calculation processing flag FBD at the synchronization timing TD1 is the calculation instruction flag F1, the fourth calculation processing device 10D newly starts a simulation for the fourth calculation virtual time ED (Δ12 minutes). As shown in FIG. 5, this simulation ends by the synchronization timing TD3.

また、同期タイミング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 calculation processing device 10D does not newly start a simulation at the synchronization timings TD2, TD3, and TD4. Note that the simulation started at the synchronization timing TD1 has already ended at the synchronization timing TD3, but the fourth calculation processing apparatus 10D does not newly start the simulation at the synchronization timing TD3.

また、同期タイミング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 calculation processing device 10D newly starts a simulation for the fourth calculation virtual time ED (Δ12 minutes) at the synchronization timing TD5.

同期タイミング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 control processing device 20 and each calculation processing device 10 repeat the processing from the synchronization timing TD1 to TD4 as one cycle. In other words, the control processing device 20 and each calculation processing device 10 set the basic cycle C (basic cycle timings TC1 to TC2) as one cycle, and repeat the processing in this one cycle every time.

基本周期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 calculation processing device 10B executes the simulation twice, and the third calculation processing device 10C and The fourth calculation processing device 10D executes the simulation once. Since 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 are Δ3, Δ6, Δ12, and Δ12, respectively, the elapsed time in the simulation for each basic period (Basic virtual time CX) is Δ12, which is the same for all the calculation processing devices 10.

また、以上説明したように、各計算処理装置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 control processing device 20 resets the elapsed time (step S12) and sets a flag (step S14) when the synchronization period D has elapsed (step S10; Yes). . In step S14, the control processing device 20 sets the calculation processing flag FB and the calculation virtual time flag FE in correspondence with each calculation processing device 10. If the synchronization period D has not elapsed (step S10; No), the control processing device 20 returns to step S10 and waits until the synchronization period D has elapsed.

フラグをセットした後、制御処理装置20は、同期信号SDを各計算処理装置10に出力する(ステップS16)。その後、制御処理装置20は、ステップS18に進み、処理を終了する場合(ステップS18;Yes)、本処理を終了する。制御処理装置20は、処理を終了しない場合(ステップS18;No)、ステップS10に戻り、次の同期周期Dの経過を待つ。   After setting the flag, the control processing device 20 outputs the synchronization signal SD to each calculation processing device 10 (step S16). Thereafter, the control processing device 20 proceeds to step S18, and ends the process when the process is terminated (step S18; Yes). If the processing is not finished (step S18; No), the control processing device 20 returns to step S10 and waits for the next synchronization period D to elapse.

図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 data acquisition unit 72 of the control processing device 20 (step S28). . Thereafter, the calculation processing apparatus 10 proceeds to step S29, and ends the process when the process is terminated (step S29; Yes). If the calculation processing device 10 does not end the processing (step S29; No), the calculation processing device 10 returns to step S20 and acquires the next synchronization signal SD.

制御処理装置20は、以上説明したように同期処理を行い、各計算処理装置10のシミュレーション実行処理を制御する。ただし、制御処理装置20は、計算処理フラグFB及び計算仮想時間フラグFEを自身の領域にセットするかわりに、これらの情報を有する信号を、同期周期D又はそれぞれの処理周期B毎に、各計算処理装置10に出力してもよい。   As described above, the control processing device 20 performs the synchronization processing and controls the simulation execution processing of each calculation processing device 10. However, instead of setting the calculation processing flag FB and the calculation virtual time flag FE in its own region, the control processing device 20 outputs a signal having such information for each synchronization cycle D or each processing cycle B. You may output to the processing apparatus 10. FIG.

(取り合い同期処理)
次に、制御処理装置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 control processing device 20 will be described. FIG. 8 is a time chart for explaining the contact synchronization processing. The trade synchronization process is a process for synchronizing trade data. The contact data is input data of a calculation processing device 10 other than the calculation processing device 10 among the output data of the calculation processing device 10 as described above. In the present description, the second calculation processing device 10B uses the contact data of the first calculation processing device 10A and the contact data of the fourth calculation processing device 10D. Further, the third calculation processing device 10C uses the contact data of the second calculation processing device 10B.

制御処理装置20は、計算データ取得部72が、各計算処理装置10の出力データを取得する。計算データ取得部72は、出力データを計算データ記憶部74に出力し、計算データ記憶部74がその出力データを記憶する。また、計算データ取得部72は、出力データのうち取り合いデータを一時的に保持し、直前タイミングTIにおいて、その取り合いデータを計算データ記憶部74に出力する。従って、計算データ記憶部74は、直前タイミングTI以降において、取り合いデータを記憶する。すなわち、計算データ取得部72は、取り合いデータを計算データ記憶部74に記憶させるタイミングを、直前タイミングTIまで遅らせる。   In the control processing device 20, the calculation data acquisition unit 72 acquires the output data of each calculation processing device 10. The calculation data acquisition unit 72 outputs the output data to the calculation data storage unit 74, and the calculation data storage unit 74 stores the output data. Further, the calculation data acquisition unit 72 temporarily holds the contact data among the output data, and outputs the contact data to the calculation data storage unit 74 at the immediately preceding timing TI. Accordingly, the calculation data storage unit 74 stores the trade data after the immediately preceding timing TI. That is, the calculation data acquisition unit 72 delays the timing for storing the trade data in the calculation data storage unit 74 until the immediately preceding timing TI.

ここで、取り合いデータを算出した計算処理装置10において、その取り合いデータを算出した処理周期Bを取り合い処理周期Bとし、その次の処理周期を次処理周期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における取り合い処理周期Bが、同期タイミング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 calculation processing device 10B receives the output data (interaction data) of the simulation of the first calculation processing device 10A at the synchronization timings TD2 and TD4 and the input of its own simulation at the synchronization timings TD3 and TD5. Used as data. Here, scramble processing period B X in the first computing device 10A, a processing period TB beginning with synchronization timing TD2, the following processing period B X + 1, will be described a processing cycle TB beginning with synchronization timing TD3. In this case, as shown in FIG. 8, the first immediately preceding timing TIA, which is the immediately preceding timing TI of the first calculation processing device 10A, is the synchronization timing TD2 immediately before the processing cycle TB (next processing cycle B X + 1 ) at the synchronization timing TD3. It is later and before the start timing (synchronization timing TD3) of the processing cycle TB at the synchronization timing TD3.

なお、第1直前タイミングTIAは、同期タイミングTD2でのシミュレーションの出力データを取り合いデータとしているため、同期タイミングTD2でのシミュレーションの出力データの出力のタイミング以降となっている。第1計算処理装置10Aにおける取り合い処理周期Bを、同期タイミング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における取り合い処理周期Bを、同期タイミング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 calculation processing device 10B uses the output data (interaction data) of the simulation of the fourth calculation processing device 10D at the synchronization timing TD1 as the input data of its own simulation at the synchronization timing TD5. Used. Here, the scramble processing period B X in the fourth computing unit 10D, a processing period TB in synchronous timing TD1, the next processing cycle B X + 1, will be described for the case where the processing cycle TB in synchronous timing TD5. In this case, as shown in FIG. 8, the fourth immediately preceding timing TID of the fourth calculation processing device 10D is a timing after the synchronization timing TD4 immediately before the processing cycle TB (next processing cycle B X + 1 ) at the synchronization timing TD5. Yes, and before the start timing (synchronization timing TD5) of the processing cycle TB at the synchronization timing TD5. The second calculation processing device 10B does not use the output data (interaction data) of the simulation of the fourth calculation processing device 10D at the synchronization timing TD1 as input data of its own simulation at the synchronization timing TD3.

また、図8の例では、第3計算処理装置10Cは、同期タイミングTD3での第2計算処理装置10Bのシミュレーションの出力データ(取り合いデータ)を、同期タイミングTD5での自身のシミュレーションの入力データとして用いている。ここで、第2計算処理装置10Bにおける取り合い処理周期Bを、同期タイミング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 calculation processing device 10B at the synchronization timing TD3 as input data of its own simulation at the synchronization timing TD5. Used. Here, the scramble processing period B X in the second computing device 10B, the processing cycle TB in synchronous timing TD3, the next processing cycle B X + 1, will be described for the case where the processing cycle TB in synchronous timing TD5. In this case, as shown in FIG. 8, the second immediately preceding timing TIB of the second calculation processing device 10B is a timing after the synchronization timing TD4 immediately before the processing cycle TB (next processing cycle B X + 1 ) at the synchronization timing TD5. Yes, it is a timing before the start timing (synchronization timing TD5) of the processing cycle TB at the synchronization timing TD5.

計算データ取得部72は、以上説明したような直前タイミングTIまで取り合いデータを保持し、直前タイミングTIにおいて、計算データ記憶部74に出力する。これにより、制御処理装置20は、各計算処理装置10がデータの取り合いを行う場合に、取り合いデータの同期を適切に行うことができる。例えば、計算データ取得部72が取り合いデータを直前タイミングTIまで保持せず、すぐに計算データ記憶部74に出力した場合、計算処理装置10は、同期の取れていない取り合いデータに基づき、シミュレーションを行うおそれがある。この場合、シミュレーションの精度が低下する。   The calculation data acquisition unit 72 holds the contact data until the immediately preceding timing TI as described above, and outputs it to the calculation data storage unit 74 at the immediately preceding timing TI. As a result, the control processing device 20 can appropriately synchronize the exchange data when each calculation processing device 10 exchanges data. For example, when the calculation data acquisition unit 72 does not hold the contact data until the immediately preceding timing TI and immediately outputs it to the calculation data storage unit 74, the calculation processing device 10 performs a simulation based on the contact data that is not synchronized. There is a fear. In this case, the accuracy of simulation decreases.

例えば、同期タイミング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 calculation processing apparatus 10D performed at the synchronization timing TD1 is calculated before the synchronization timing TD3 and is output to the calculation data acquisition unit 72. In this case, when the calculation data acquisition unit 72 does not hold until the fourth immediately preceding timing TID, the calculation data storage unit 74 stores this contact data before the synchronization timing TD3. The second calculation processing apparatus 10B that uses the trade data may read and use the trade data for the simulation performed at the synchronization timing TD3. This exchange data is output data of the fourth calculation processing apparatus 10D performed at the synchronization timing TD1, and is data calculated by Δ12 minutes (fourth calculation virtual time ED) on the simulation, that is, data after Δ12 minutes have passed. However, the simulation performed by the second calculation processing device 10B at the synchronization timing TD3 is a calculation performed immediately after Δ6 (third calculation virtual time EC). Therefore, in this case, the simulation performed by the second calculation processing apparatus 10B at the synchronization timing TD3 uses data at different times on the simulation, and the accuracy of the simulation decreases.

しかし、同期タイミング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 calculation processing device 10D performed at the synchronization timing TD1 is held until the fourth immediately preceding timing TID, that is, after the synchronization timing TD3. In this case, the second calculation processing device 10B uses the contact data of the fourth calculation processing device 10D performed at the synchronization timing TD1 in the calculation at the synchronization timing TD5 as described above. The simulation of the second calculation processing device 10B at the synchronization timing TD5 is a calculation performed immediately after Δ12 (two times of the third calculation virtual time EC). Therefore, this simulation uses data at the same time on the simulation. As described above, the second calculation processing device 10B according to the present embodiment does not use data at different times on the simulation, and can suppress a decrease in the accuracy of the simulation.

なお、直前タイミングTIは、上述で説明したタイミングに限られない。ここで、取り合いデータを出力する側の計算処理装置10の次処理周期BX+1の直前における、取り合いデータを使用する側の計算処理装置10の処理周期Bを、相手側処理周期Bとする。直前タイミングTIは、相手側処理周期Bの処理周期タイミングTB(相手側処理周期Bの開始タイミング)より後のタイミングであって、次処理周期BX+1の処理周期タイミングTB(次処理周期BX+1の開始タイミング)より前のタイミングであればよい。例えば、図8の例での第4直前タイミングTIDにおいて、取り合いデータを使用する相手側の計算処理装置10は、第2計算処理装置10Bであり、相手側処理周期Bは、同期タイミングTD3での処理周期Bである。この場合、第4直前タイミングTIDは、同期タイミングTD3(相手側処理周期Bの開始タイミング)より後のタイミングであって、次処理周期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 calculation processing device 10B, and the counterpart processing cycle BY is the synchronization timing TD3. Is the processing cycle B. In this case, the fourth immediately preceding timing TID is a timing after the synchronization timing TD3 (start timing of the other party processing cycle BY ) and the start timing of the processing cycle TB at the synchronization timing TD5 which is the next processing cycle B X + 1. It is before (synchronization timing TD5).

以上説明した取り合い同期処理のフローを、フローチャートに基づき説明する。図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 control processing device 20 determines whether or not the calculation data acquisition unit 72 has reached the previous timing TI for the calculation processing device 10 that has output the contact data after acquiring the contact data (step S30). Judgment is made (step S32). If the previous timing TI has not been reached (step S32; No), the calculation data acquisition unit 72 returns to step S32 and holds the acquired contact data until the previous timing TI is reached. When the immediately preceding timing TI is reached (step S32; Yes), the calculation data acquisition unit 72 outputs the acquired contact data to the calculation data storage unit 74 (step S34). The calculation data storage unit 34 stores the acquired trade data. The calculation processing apparatus 10 using the trade data reads the trade data stored in the computation data storage unit 74 as its own input data. The control processing device 20 proceeds to step S36 after step S34. If the process has not been completed (step S36; No), the process returns to step S30 to continue the process, and the process is terminated (step S36; Yes). ), And finishes these processes.

制御処理装置20は、以上説明したように取り合い同期処理を行い、各計算処理装置10の取り合いデータの取得タイミングを制御する。なお、計算データ取得部72は、出力データが取り合いデータであるかを判断し、取り合いデータのみを直前タイミングTIまで保持しているが、これに限られず、取得した出力データを全て直前タイミングTIまで保持してもよい。   As described above, the control processing device 20 performs the contact synchronization processing, and controls the acquisition timing of the contact data of each calculation processing device 10. The calculation data acquisition unit 72 determines whether the output data is the contact data, and holds only the contact data until the immediately preceding timing TI. However, the present invention is not limited to this, and all the acquired output data is until the immediately preceding timing TI. It may be held.

(要求データ同期処理)
次に、制御処理装置20による各計算処理装置10の要求データ同期処理について説明する。図10は、要求データ同期処理を説明するためのタイムチャートである。要求データ同期処理とは、変更要求データに示された操作者からのシミュレーション動作の変更要求を、各計算処理装置10に同期して反映する処理である。
(Request data synchronization processing)
Next, request data synchronization processing of each calculation processing device 10 by the control processing device 20 will be described. FIG. 10 is a time chart for explaining the request data synchronization processing. The request data synchronization process is a process of reflecting the change request for the simulation operation from the operator indicated in the change request data in synchronization with each calculation processing device 10.

インストラクタ操作装置30に入力された操作情報は、変更要求データ取得部48に入力される。変更要求データ取得部48は、その操作情報がシミュレーション動作の変更要求の情報である変更要求データである場合であって、RUN操作又はFREEZE操作である場合、その変更要求データを操作フラグセット部68に出力する。   The operation information input to the instructor operation device 30 is input to the change request data acquisition unit 48. The change request data acquisition unit 48 is a case where the operation information is change request data which is information on a change request for a simulation operation, and when the operation information is a RUN operation or a FREEZE operation, the change request data acquisition unit 48 stores the change request data in an operation flag set unit 68. Output to.

操作フラグセット部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 data acquisition unit 48 outputs the change request data RU to the operation flag set unit 68. The operation flag setting unit 68 sets the operation execution flag FG1 at the synchronization timing TD1, which is the start timing of the basic period C immediately after that.

また、制御処理装置20は、基本周期タイミングTC1と同期されている同期タイミングTD1において、同期信号SDを出力する。各計算処理装置10は、この同期信号SDを取得すると、操作フラグセット部68にセットされた操作フラグFGを読み出す。同期タイミングTD1における操作フラグFGは、操作実行フラグFG1であるため、各計算処理装置10は、同期タイミングTD1からシミュレーション処理を開始する。   Further, the control processing device 20 outputs the synchronization signal SD at the synchronization timing TD1 that is synchronized with the basic cycle timing TC1. Each calculation processing device 10 reads the operation flag FG set in the operation flag setting unit 68 when acquiring the synchronization signal SD. Since the operation flag FG at the synchronization timing TD1 is the operation execution flag FG1, each calculation processing device 10 starts the simulation process from the synchronization timing TD1.

さらに、図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 data acquisition unit 48 outputs the change request data FR to the operation flag set unit 68. The operation flag setting unit 68 sets the operation stop flag FG2 at the synchronization timing TD5 that is the start timing of the basic period C immediately after that. In the basic cycle C of the basic cycle timing TC1, the operation execution flag FG1 remains set even at the synchronization timing TD4 after the change request data FR is input. Therefore, each calculation processing device 10 does not stop the simulation in the basic cycle C of the basic cycle timing TC1. Each calculation processing device 10 reads the operation stop flag FG2 by the synchronization signal SD at the synchronization timing TD5 in which the operation stop flag FG2 is set, and stops the simulation from the synchronization timing TD5 onward.

このように、操作フラグセット部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 control processing apparatus 20 can reflect the change request by the operator in synchronization with each calculation processing apparatus 10. For example, when the change request data is set without waiting until the start timing of the immediately following basic cycle C, the elapsed time on the simulation may be different for each calculation processing device 10. In this case, the simulations are not matched and the accuracy of the simulation is lowered.

例えば、図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 calculation processing device 10B stops the simulation after executing the simulation twice at the synchronization timings TD1 and TD3. Then, the third calculation processing device 10C and the fourth calculation processing device 10D stop the simulation after executing the simulation once at the synchronization timing TD1. In this case, the elapsed time in the simulation until the stop in the second calculation processing device 10B, the third calculation processing device 10B, and the fourth calculation processing device 10D is Δ12. Therefore, the elapsed time in simulation differs between the first calculation processing apparatus 10A and the other calculation processing apparatus 10. For example, in this case, when the simulation is resumed, the time on the simulation is different.

一方、本実施形態においては、同期タイミング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 data acquisition unit 48 acquires the change request information (step S40), the control processing device 20 outputs information indicating that the change request information has been acquired to the instructor operation device 30. (Step S42), the obtained change request information is output to the operation flag set unit 68 (Step S43).

基本周期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 control processing device 20, the operation flag setting unit 68 sets the operation flag FG in its own region (step S46). Specifically, the operation flag setting unit 68 sets the operation flag FG at the basic cycle timing TC immediately after the change request information is input. When the basic period has not elapsed (step S44; No), the control processing device 20 returns to step S44 and waits until the basic period has elapsed. After setting the operation flag FG, the control processing device 20 outputs the synchronization signal SD to each calculation processing device 10 (step S48). Thereafter, the control processing device 20 proceeds to step S49, and terminates the process when the process is terminated (step S49; Yes). If the processing is not finished (step S49; No), the control processing device 20 returns to step S40 and waits for a change processing request.

図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 control processing device 20 and determines whether the operation flag FG has changed. (Step 52). If there is a change in the operation flag FG (step S52; Yes) and the changed operation flag FG is the operation stop flag FG2 (step S54; Yes), the computer 10 stops the subsequent simulation. (Step S56). Further, the calculation processing device 10 has a change in the operation flag FG (step S52; Yes), and the changed operation flag FG is not the operation stop flag FG2, that is, a change to the operation execution flag FG1 ( Step S54; No), the next simulation is executed (step S58).

また、計算処理装置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 processing device 20. The control processing device 20 includes a processing cycle setting unit 52, a virtual time setting unit 58, and a calculation instruction unit 44. The processing cycle setting unit 52 sets a processing cycle B, which is a cycle in which the calculation processing device 10 executes the simulation once, for each calculation processing device 10. The virtual time setting unit 58 sets the calculation virtual time E, which is the elapsed time in one simulation, so as to have the same relationship ratio as the relationship ratio between the lengths of the processing cycles B for each calculation processing device 10. To do. The calculation instruction unit 44 transmits a calculation instruction signal (synchronization signal SD synchronized with the calculation instruction flag F1) to each of the calculation processing apparatuses 10 at each timing for each processing cycle B set in the calculation processing apparatus 10. Each of the calculation processing devices 10 is caused to execute a simulation for the set calculation virtual time E for each processing cycle B set in itself. The processing cycle B of at least some of the calculation processing devices 10 is different from the processing cycle B of other calculation processing devices 10.

分散シミュレーションシステム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 control processing device 20 sets processing periods B having different lengths in accordance with the calculation processing device 10. Further, the control processing device 20 sets a calculated virtual time E that is a virtual elapsed time on one simulation so as to have the same relationship as the ratio of the length of the processing cycle B.

処理周期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 calculation instruction unit 44 transmits the calculation instruction signal at each timing for each processing cycle B, thereby differentiating the number of simulation executions of the plurality of calculation processing devices 10 in the basic cycle. The distributed simulation system 1 can set the number of simulation processes according to the type of simulation and the specifications of the calculation processing apparatus 10 by making the number of simulation executions in the basic period different from each other. Therefore, this distributed simulation system 1 can improve the accuracy of the simulation.

また、制御処理装置20は、計算データ取得部72と、計算データ記憶部74とを有する。計算データ取得部72は、他の計算処理システムの入力データとして使用する出力データである取り合いデータを取得する。計算データ記憶部74は、計算データ取得部72が取得した取り合いデータを記憶する。複数の計算処理装置10は、少なくとも一部が、計算データ記憶部74に記憶された取り合いデータを取得して、取り合いデータに基づきシミュレーションを実行する。この分散シミュレーションシステム1は、計算処理装置10が互いのシミュレーションの結果を利用し合う場合において、制御処理装置20の共通する領域(計算データ取得部72と計算データ記憶部74)で、取り合いデータを記憶する。従って、この分散シミュレーションシステム1は、取り合いデータを適切に計算処理装置10に提供することができる。   In addition, the control processing device 20 includes a calculation data acquisition unit 72 and a calculation data storage unit 74. The calculation data acquisition unit 72 acquires contact data that is output data used as input data of another calculation processing system. The calculation data storage unit 74 stores the contact data acquired by the calculation data acquisition unit 72. At least a part of the plurality of calculation processing apparatuses 10 acquires the contact data stored in the calculation data storage unit 74 and executes a simulation based on the contact data. In the distributed simulation system 1, when the calculation processing device 10 uses the mutual simulation results, the shared data is stored in the common area (calculation data acquisition unit 72 and calculation data storage unit 74) of the control processing device 20. Remember. Therefore, the distributed simulation system 1 can appropriately provide the trade data to the calculation processing device 10.

また、計算データ取得部72は、取得した取り合いデータを保持し、直前タイミングTIにおいて、取り合いデータを計算データ記憶部74に出力する。取り合いデータを算出した以外の計算処理装置10は、少なくとも一部が、直前タイミングTIの直後の処理周期Bにおけるシミュレーションを行う際に、直前タイミングTIで記憶された取り合いデータを取得し、その取り合いデータに基づきシミュレーションを実行する。直前タイミングTIは、取り合いデータを算出した処理周期Bの次の処理周期Bの開始直前のタイミングである。この計算データ取得部72は、取り合いデータを直前タイミングTIまで保持するため、計算処理装置10は、直前タイミングTI以降に、その取り合いデータを読み出す。従って、この分散シミュレーションシステム1は、計算処理装置10が互いのシミュレーションの結果を利用し合う場合において、取り合いデータの取得についても同期を取ることが可能となる。   In addition, the calculation data acquisition unit 72 holds the acquired trade data, and outputs the trade data to the calculation data storage unit 74 at the immediately preceding timing TI. The calculation processing apparatus 10 other than that having calculated the contact data acquires the contact data stored at the immediately preceding timing TI when at least a part of the simulation is performed in the processing cycle B immediately after the immediately preceding timing TI. Based on the above, the simulation is executed. The immediately preceding timing TI is a timing immediately before the start of the processing cycle B next to the processing cycle B for which the trade data has been calculated. Since the calculation data acquisition unit 72 holds the contact data until the previous timing TI, the calculation processing device 10 reads the contact data after the previous timing TI. Therefore, the distributed simulation system 1 can synchronize the acquisition of the contact data when the calculation processing devices 10 use the results of the simulations.

また、制御処理装置20は、さらに、操作者によるシミュレーション動作の変更要求の情報である変更要求データを取得する変更要求データ取得部48を有する。計算指示部44は、変更要求データが取得されたタイミングの直後の基本周期Cの開始タイミングにおいて、計算処理装置10に変更要求データの情報を示す変更要求信号(操作フラグFGと同期した同期信号SD)を送信する。これにより、計算指示部44は、計算処理装置10に対する変更要求信号中の変更処理の反映のタイミングを、他の計算処理装置10に同期させる。この制御処理装置20は、操作者による変更要求を、各計算処理装置10に同期させて反映するため、各シミュレーションの整合を取って、シミュレーションの精度低下を抑制する。   The control processing device 20 further includes a change request data acquisition unit 48 that acquires change request data that is information on a change request for a simulation operation by an operator. The calculation instructing unit 44 receives a change request signal (synchronization signal SD synchronized with the operation flag FG) indicating information of the change request data to the calculation processing device 10 at the start timing of the basic cycle C immediately after the timing at which the change request data is acquired. ). Accordingly, the calculation instruction unit 44 synchronizes the timing of reflecting the change process in the change request signal to the calculation processing apparatus 10 with the other calculation processing apparatus 10. Since the control processing device 20 reflects the change request by the operator in synchronization with each calculation processing device 10, the simulation processing is matched to suppress a decrease in the accuracy of the simulation.

また、制御処理装置20は、それぞれの処理周期Bの長さの最小公倍数の長さの周期となるように、基本周期Cを設定する。制御処理装置20は、基本周期Cが処理周期Bの長さの最小公倍数とすることで、基本周期Cをできるだけ短く設定することができる。これにより、例えば、変更処理の反映のタイミングを、同期を取りながらできるだけ早く行うことができる。   In addition, the control processing device 20 sets the basic cycle C so that the cycle is the least common multiple of the length of each processing cycle B. The control processing device 20 can set the basic cycle C as short as possible by setting the basic cycle C to the least common multiple of the length of the processing cycle B. Thereby, for example, the reflection timing of the change process can be performed as soon as possible while synchronizing.

また、計算処理装置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 control processing device 20 can appropriately synchronize each calculation processing device 10 for each simulation.

また、計算処理装置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 control processing device 20 can appropriately take synchronization for each simulation.

(第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 control processing device 20a included in the distributed simulation system 1a according to the second embodiment includes a calculation instruction unit 44a and a change request data acquisition unit 48a. The calculation instruction unit 44a is different from the first embodiment in that the operation flag setting unit 68a sets a speed flag FH in addition to the operation flag FG.

操作フラグセット部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 data acquisition unit 48a. The change request data acquisition unit 48a is a case where the operation information is change request data which is information on a change request for a simulation operation and a request for a speed change operation. Output to. The operation flag setting unit 68a sets the speed flag FH based on the speed change change request data. The operation flag setting unit 68a sets the speed flag FH at the start timing of the basic cycle C immediately after the timing at which the speed change change request data is input. The control processing device 20 executes a speed change process when the speed flag FH changes.

速度変更操作とは、シミュレーションの速度を変更する指示である。シミュレーションの速度を変更させる場合、制御処理装置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 control processing device 20 performs a speed change process for changing the basic virtual time CX. If the basic virtual time CX becomes longer, the elapsed time in the simulation when the calculation processing apparatus 10 is operated for the same time becomes longer, so it can be said that the speed of the simulation is increased. On the contrary, when the basic virtual time CX is shortened, the elapsed time in the simulation when the calculation processing apparatus 10 is operated for the same time is shortened, so that it can be said that the simulation speed is reduced.

制御処理装置20は、速度変更処理として、速度変更の変更要求データを取得した直後の基本周期Cにおいて、セットする計算指示フラグF1の数、又は計算仮想時間フラグFE中での計算仮想時間Eの長さの少なくともいずれか一方を変化させる。基本周期C内でセットする計算指示フラグF1の数が変化すると、シミュレーションの実施回数が変化するため、基本周期Cでのトータルの仮想経過時間である基本仮想時間CXが変化する。また、計算仮想時間Eの長さが変化すると、トータルの基本仮想時間CXが変化する。以下、より具体的に説明する。   As the speed change process, the control processing device 20 sets the number of calculation instruction flags F1 to be set or the calculation virtual time E in the calculation virtual time flag FE in the basic period C immediately after the speed change change request data is acquired. At least one of the lengths is changed. When the number of calculation instruction flags F1 set within the basic period C changes, the number of times the simulation is performed changes, and thus the basic virtual time CX that is the total virtual elapsed time in the basic period C changes. Further, when the length of the calculated virtual time E changes, the total basic virtual time CX changes. More specific description will be given below.

図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 calculation processing apparatus 10B, and the third calculation processing apparatus 10C, and the fourth calculation processing apparatus 10D. The number of calculation instruction flags F1 set in the basic cycle C is changed. When the speed flag FH2 is set, the calculation virtual time flag setting unit 66 sets the first calculation virtual time EA at the synchronization timings TD1, TD2, TD3, and TD4 in the same basic period C to Δ6 that is twice the conventional value. . Similarly, the calculation virtual time flag setting unit 66 sets the second calculation virtual time EB at the synchronization timings TD1, TD2, TD3, and TD4 to Δ12, which is twice the conventional value. Similarly, the calculation virtual time flag setting unit 66 sets the third calculation virtual time EC at the synchronization timings TD1, TD2, TD3, and TD4 to Δ24 that is twice the conventional value.

一方、計算処理フラグセット部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 flag setting unit 64 doubles the number of calculation instruction flags F1 in the basic cycle C. Specifically, the calculation process flag setting unit 64 changes the fourth calculation process flag FBD at the synchronization timing TD3 from the calculation non-execution flag F2 to the calculation instruction flag F1. The calculation processing flag setting unit 64 may change the fourth calculation processing flag FBD at the synchronization timing other than the synchronization timing TD3 to the calculation instruction flag F1 if the simulation is not performed.

このような速度変更処理を行うことで、図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 calculation processing device 10B calculates the calculation virtual time Δ12. The third calculation processing device 10C executes the simulation of the calculation virtual time Δ24 once, and the fourth calculation processing device 10D executes the simulation of the calculation virtual time Δ12 twice. . Therefore, the basic virtual time CX of all the calculation processing devices 10 is Δ24, which is twice that of the conventional case.

また、図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 flag setting unit 64 and the calculation virtual time flag setting unit 66 restore the calculation processing flag FB and the calculation virtual time flag FE.

以上のように、計算指示部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 calculation instruction unit 44 calculates the calculation processing device 10 at the start timing of the basic cycle C immediately after the timing at which the change request data is acquired. A change request signal (synchronization signal SD synchronized with the speed flag FH) indicating the information of the change request data is transmitted. Accordingly, the calculation instruction unit 44 synchronizes the timing of reflecting the change process in the change request signal to the calculation processing apparatus 10 with the other calculation processing apparatus 10. Since the control processing device 20 reflects the change request by the operator in synchronization with each calculation processing device 10, the simulation processing is matched to suppress a decrease in the accuracy of the simulation.

以上、本発明の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。   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 calculation processing apparatus 10B 2nd calculation processing apparatus 10C 3rd calculation processing apparatus 10D 4th calculation processing apparatus 20 Control processing apparatus 30 Instructor operation apparatus 44 Calculation instruction | indication part 52 Processing period setting part 54 Basic cycle setting unit 56 Synchronization cycle setting unit 58 Virtual time setting unit 62 Synchronization signal setting unit 64 Calculation processing flag set unit 66 Calculation virtual time flag set unit 68 Operation flag set unit 72 Calculation data acquisition unit 74 Calculation data storage unit A Calculation time B Processing cycle C Basic cycle D Synchronization cycle E Calculation virtual time TA Clock timing TB Processing cycle timing TC Basic cycle timing TD Synchronization timing


Claims (9)

1つの計算周期での計算時間が互いに異なるシミュレーションを経時毎に実行する複数の計算処理システムと、
複数の前記計算処理システムと通信可能に接続される制御処理システムと、を有し、
前記制御処理システムは、
前記計算処理システムが前記シミュレーションを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 .
前記計算指示部は、前記処理周期毎の各タイミングにおいて前記計算指示信号を送信することにより、それぞれの前記処理周期の長さの公倍数の長さを有する基本周期において、複数の前記計算処理システムのシミュレーション実行回数を、互いに異ならせる、請求項1に記載の分散シミュレーションシステム。   The calculation instruction unit transmits the calculation instruction signal at each timing for each processing cycle, so that a plurality of the calculation processing systems in the basic cycle having a length that is a common multiple of the length of each processing cycle. The distributed simulation system according to claim 1, wherein the number of simulation executions is different from each other. 前記制御処理システムは、さらに、操作者によるシミュレーション動作の変更要求の情報である変更要求データを取得する操作情報取得部を有し、
前記計算指示部は、前記変更要求データが取得されたタイミングの直後の前記基本周期の開始タイミングにおいて、前記計算処理システムに前記変更要求データの情報を示す変更要求信号を送信することで、前記計算処理システムに対する前記変更要求信号中の変更処理の反映のタイミングを、他の計算処理システムに同期させる、請求項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.
前記制御処理システムは、それぞれの前記処理周期の長さの最小公倍数の長さの周期となるように、前記基本周期を設定する基本周期設定部を有する、請求項2から請求項のいずれか1項に記載の分散シミュレーションシステム。 Wherein the control processing system, such that the length period of the least common multiple of the length of each of the processing cycle, with a fundamental period setting unit for setting the basic period, any of claims 2 4 2. A distributed simulation system according to item 1. 前記複数の計算処理システムは、それぞれ少なくとも1つのシミュレーションを実行する複数の計算処理装置である、請求項1から請求項のいずれか1項に記載の分散シミュレーションシステム。 The distributed simulation system according to any one of claims 1 to 5 , wherein each of the plurality of calculation processing systems is a plurality of calculation processing devices that execute at least one simulation. 前記複数の計算処理システムは、複数の前記シミュレーションを実行する一つの計算処理装置である、請求項1から請求項のいずれか1項に記載の分散シミュレーションシステム。 Wherein the plurality of computing systems, which is one of the central processing unit for executing a plurality of said simulation, distributed simulation system according to any one of claims 1 to 6. 1つの計算周期での計算時間が互いに異なるシミュレーションを経時毎に実行する複数の計算処理システムと、複数の前記計算処理システムと通信可能に接続される制御処理システムと、を用いてシミュレーションを実行するシミュレーション実行方法であって、
前記計算処理システムが前記シミュレーションを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回実行する周期である処理周期を、前記計算処理システム毎に設定する処理周期設定部と、
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 .
JP2015164132A 2015-08-21 2015-08-21 Distributed simulation system, simulation execution method, and control system Active JP6568746B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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