JP7294517B1 - CONTROL SYSTEM, CONTROL METHOD OF CONTROL SYSTEM, AND NETWORK SWITCH - Google Patents

CONTROL SYSTEM, CONTROL METHOD OF CONTROL SYSTEM, AND NETWORK SWITCH Download PDF

Info

Publication number
JP7294517B1
JP7294517B1 JP2022210564A JP2022210564A JP7294517B1 JP 7294517 B1 JP7294517 B1 JP 7294517B1 JP 2022210564 A JP2022210564 A JP 2022210564A JP 2022210564 A JP2022210564 A JP 2022210564A JP 7294517 B1 JP7294517 B1 JP 7294517B1
Authority
JP
Japan
Prior art keywords
measurement data
cache server
node
controller
controllers
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
JP2022210564A
Other languages
Japanese (ja)
Other versions
JP2024093915A (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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2022210564A priority Critical patent/JP7294517B1/en
Application granted granted Critical
Publication of JP7294517B1 publication Critical patent/JP7294517B1/en
Publication of JP2024093915A publication Critical patent/JP2024093915A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Testing And Monitoring For Control Systems (AREA)

Abstract

Figure 0007294517000001

【課題】フィールド機器の制御システムにおいて、より簡易な構成でコントローラの冗長化を実現可能とする。
【解決手段】フィールド機器が接続されたIOノードと、フィールド機器が取得した測定データに基づき演算を行う複数のコントローラと、ネットワークスイッチと、キャッシュサーバと、を備え、複数のコントローラの各々は、予め定められた制御タイミングごとに、フィールド機器が取得した測定データに対する要求をネットワークスイッチへ送信し、ネットワークスイッチは、キャッシュサーバが測定データを保持していない場合、IOノードに、当該IOノードに接続されたフィールド機器の測定データをコントローラへ送信させ、キャッシュサーバが測定データを保持している場合、当該キャッシュサーバに、フィールド機器の測定データをコントローラへ送信させ、複数のコントローラの各々は、受信した測定データに基づき、予め定められた演算を行う。
【選択図】図11

Figure 0007294517000001

Kind Code: A1 In a field device control system, controller redundancy can be achieved with a simpler configuration.
An IO node to which a field device is connected, a plurality of controllers that perform calculations based on measurement data acquired by the field device, a network switch, and a cache server. A request for the measurement data acquired by the field device is sent to the network switch at each predetermined control timing, and the network switch is connected to the IO node when the cache server does not hold the measurement data. If the measurement data of the field device is transmitted to the controller, and if the cache server holds the measurement data, the cache server is caused to transmit the measurement data of the field device to the controller, and each of the plurality of controllers receives the measurement data A predetermined calculation is performed based on the data.
[Selection drawing] Fig. 11

Description

本開示は、制御システム、制御システムの制御方法、及び、ネットワークスイッチに関する。 The present disclosure relates to a control system, a control method for the control system, and a network switch.

特許文献1には、フィールド機器が接続された装置であるIOノードを経由して、コントローラからフィールド機器の動作を制御する制御システムが記載されている。 Patent Literature 1 describes a control system in which a controller controls the operation of a field device via an IO node, which is a device to which the field device is connected.

特開2021-157392号公報JP 2021-157392 A

上記のような制御システムにおいて、複数のコントローラを設け、各コントローラがフィールド機器の入出力について同一の処理を行い、各コントローラの処理結果を比較することにより、コントローラの動作の信頼性を向上させることが考えられる。このようなコントローラの冗長化を行う場合において、従来の構成においては、複数のコントローラが高い精度で時間的に同期して動作する必要があり、処理及び構成が複雑になっていた。 In the control system as described above, a plurality of controllers are provided, each controller performs the same processing for the input/output of the field device, and the processing results of each controller are compared to improve the reliability of the operation of the controllers. can be considered. In the case of such redundancy of controllers, in the conventional configuration, a plurality of controllers need to operate in synchronization with each other with high precision, which complicates processing and configuration.

本開示は、フィールド機器の制御システムにおいて、より簡易な構成でコントローラの冗長化を実現可能とすることを目的とする。 An object of the present disclosure is to enable controller redundancy with a simpler configuration in a field device control system.

幾つかの実施形態に係る制御システムは、
(1)測定データを取得するフィールド機器が接続されたIOノードと、
前記フィールド機器が取得した前記測定データに基づき演算を行う複数のコントローラと、
ネットワークスイッチと、
キャッシュサーバと、
を備え、
前記複数のコントローラの各々は、予め一定の周期で定められた一定期間である制御タイミングごとに、前記フィールド機器が取得した前記測定データに対する要求を前記ネットワークスイッチへ送信し、
前記ネットワークスイッチは、
前記キャッシュサーバが前記測定データを保持していない場合、前記IOノードに、前記ネットワークスイッチを介して、当該IOノードに接続された前記フィールド機器が取得した前記測定データを前記コントローラへ送信させ、
前記キャッシュサーバが前記測定データを保持している場合、当該キャッシュサーバに、前記ネットワークスイッチを介して、前記フィールド機器が取得した前記測定データを前記コントローラへ送信させ、
前記複数のコントローラの各々は、前記IOノード又は前記キャッシュサーバから受信した前記測定データに基づき、予め定められた演算を行う。
A control system according to some embodiments includes:
(1) an IO node to which a field device that acquires measurement data is connected;
a plurality of controllers that perform calculations based on the measurement data acquired by the field devices;
a network switch;
a cache server;
with
Each of the plurality of controllers transmits a request for the measurement data acquired by the field device to the network switch at each control timing, which is a constant period defined in advance at a constant cycle;
The network switch is
if the cache server does not hold the measurement data, causing the IO node to transmit the measurement data obtained by the field device connected to the IO node to the controller via the network switch;
if the cache server holds the measurement data, causing the cache server to transmit the measurement data acquired by the field device to the controller via the network switch;
Each of the plurality of controllers performs a predetermined operation based on the measurement data received from the IO node or cache server.

このように、各コントローラは、非同期に動作する場合であっても、ネットワークスイッチを介して、IOノード又はキャッシュサーバから、制御タイミングにおける同一の測定データを取得することができる。すなわち、コントローラ30から見ると、同一の装置にアクセスしているように見えながら、実際は、キャッシュの有無に応じて、IOノード20、又は、キャッシュサーバ40から、全コントローラ30へ共通の測定データを取得させることができる。したがって、フィールド機器の制御システムにおいて、より簡易な構成でコントローラの冗長化を実現することが可能である。 In this way, each controller can acquire the same measurement data at control timing from an IO node or cache server via a network switch even when operating asynchronously. In other words, when viewed from the controller 30, it appears that the same device is accessed, but in reality, common measurement data is sent from the IO node 20 or the cache server 40 to all the controllers 30 depending on whether or not there is a cache. can be obtained. Therefore, in the field device control system, it is possible to achieve controller redundancy with a simpler configuration.

(2)(1)の制御システムにおいて、
前記ネットワークスイッチは、
前記キャッシュサーバが前記測定データを保持していない場合、前記IOノードに対して前記測定データを要求し、
前記要求に基づき前記IOノードから前記測定データを受信したことに応じて、当該測定データを、前記コントローラへ送信するとともに、前記測定データを前記キャッシュサーバへ送信して前記測定データのキャッシュとして記憶させてもよい。
(2) In the control system of (1),
The network switch is
if the cache server does not hold the measurement data, requesting the measurement data from the IO node;
In response to receiving the measurement data from the IO node based on the request, the measurement data is transmitted to the controller, and the measurement data is transmitted to the cache server to be stored as a cache of the measurement data. may

このように、ネットワークスイッチは、キャッシュサーバが測定データを保持していない場合に、IOノードから測定データを受信し、コントローラ及びキャッシュサーバへ送信する。このように、最初に測定データを要求したコントローラに対して送信された測定データがキャッシュサーバに記憶されるため、他のコントローラも、キャッシュサーバから同一の測定データを取得して、共通の測定データに基づき演算を行うことが可能である。 Thus, the network switch receives the measurement data from the IO node and transmits it to the controller and the cache server when the cache server does not hold the measurement data. In this way, since the measured data transmitted to the controller that requested the measured data first is stored in the cache server, the other controllers also acquire the same measured data from the cache server and share the same measured data. It is possible to perform calculations based on

(3)(1)又は(2)の制御システムにおいて、
前記ネットワークスイッチは、
前記キャッシュサーバが前記測定データを保持している場合、前記キャッシュサーバに対して前記測定データのキャッシュを要求し、
前記要求に基づき前記キャッシュサーバから前記測定データのキャッシュを受信したことに応じて、当該測定データのキャッシュを前記コントローラへ送信してもよい。
(3) In the control system of (1) or (2),
The network switch is
if the cache server holds the measurement data, requesting the cache server to cache the measurement data;
The cache of measurement data may be transmitted to the controller in response to receiving the cache of measurement data from the cache server based on the request.

このように、ネットワークスイッチは、キャッシュサーバが測定データを保持している場合に、キャッシュサーバから測定データのキャッシュを受信して、コントローラへ送信する。したがって、他のコントローラも、ネットワークスイッチを介してキャッシュサーバから測定データを取得して、共通の測定データに基づき演算を行うことが可能である。 In this way, when the cache server holds the measurement data, the network switch receives cached measurement data from the cache server and transmits it to the controller. Therefore, other controllers can also acquire the measurement data from the cache server via the network switch and perform calculations based on the common measurement data.

(4)(1)から(3)のいずれかの制御システムにおいて、
前記ネットワークスイッチは、
前記制御タイミングごとに前記キャッシュサーバが前記測定データを保持しているか否かを示す情報を含む管理テーブルを保持し、
前記複数のコントローラのいずれかから前記測定データに対する前記要求を受けたことに応じて、前記管理テーブルを参照して、前記キャッシュサーバが前記測定データを保持しているか否かを判定してもよい。
(4) In the control system of any one of (1) to (3),
The network switch is
holding a management table containing information indicating whether or not the cache server holds the measurement data for each of the control timings;
It may be determined whether or not the cache server holds the measurement data by referring to the management table in response to receiving the request for the measurement data from one of the plurality of controllers. .

このように、ネットワークスイッチは、制御タイミングごとにキャッシュサーバが測定データを保持しているか否かを示す情報を含む管理テーブルを保持するため、制御タイミングにキャッシュサーバに問い合わせなくても、キャッシュサーバが測定データを保持しているか否かを判定することができる。 In this way, the network switch holds a management table containing information indicating whether or not the cache server holds measurement data at each control timing. It can be determined whether or not measurement data is held.

(5)(4)の制御システムにおいて、
前記ネットワークスイッチは、前記制御タイミングごとに、前記測定データを受信した前記コントローラの識別情報を含む情報を前記管理テーブルとして保持してもよい。
(5) In the control system of (4),
The network switch may hold, as the management table, information including identification information of the controller that has received the measurement data for each control timing.

このように、ネットワークスイッチが測定データのキャッシュを送信したコントローラの識別情報を記録することで、記録を参照してキャッシュデータを送信したコントローラを特定することが可能になる。 In this way, the network switch records the identification information of the controller that transmitted the cache of the measurement data, thereby making it possible to identify the controller that transmitted the cache data by referring to the record.

(6)(1)から(5)のいずれかの制御システムにおいて、
前記複数のコントローラの各々は、前記制御タイミングごとに、前記ネットワークスイッチを介して受信した前記測定データに基づき、前記演算を行った結果である演算結果を前記IOノードへ送信し、
前記IOノードは、
前記制御タイミングごとに、前記複数のコントローラの各々から受信した前記演算結果を比較して、前記複数のコントローラの動作が正常であるか否かを判定し、
前記複数のコントローラの動作が正常であるか否かの判定結果を出力してもよい。
(6) In the control system of any one of (1) to (5),
each of the plurality of controllers transmits a calculation result, which is a result of performing the calculation, to the IO node at each control timing based on the measurement data received via the network switch;
The IO node is
comparing the calculation results received from each of the plurality of controllers at each control timing to determine whether the operation of the plurality of controllers is normal;
A determination result as to whether the operations of the plurality of controllers are normal may be output.

このように、ネットワークスイッチは、制御システムは、複数のコントローラの演算結果を比較することで、コントローラの異常を検出することができる。また、制御タイミング内に受信した演算結果に基づきコントローラの動作が正常であるか否かを判定するため、制御タイミング内に演算結果を送信できなかったコントローラの演算結果については、動作が異常であるか否かの判定に使用しないようにすることができる。 In this way, the network switch and the control system can detect an abnormality in a controller by comparing the calculation results of a plurality of controllers. In addition, since it is determined whether or not the operation of the controller is normal based on the operation result received within the control timing, the operation result of the controller that could not be transmitted within the control timing is abnormal. It is possible not to use it for determining whether or not.

幾つかの実施形態に係るネットワークスイッチは、
(7)フィールド機器の制御システムに用いられるネットワークスイッチであって、
前記フィールド機器が取得した測定データに対する要求をコントローラから受信したことに応じて、前記測定データをキャッシュサーバが保持しているか否かの情報を前記キャッシュサーバから取得し、
前記キャッシュサーバが前記測定データを保持していない場合、前記フィールド機器が接続されたIOノードへ、前記測定データに対する要求を送信し、
前記キャッシュサーバが前記測定データを保持している場合、当該キャッシュサーバへ、前記測定データ対する要求を送信する。
A network switch according to some embodiments includes:
(7) A network switch used in a field device control system,
Acquiring from the cache server information as to whether the measurement data is held by the cache server in response to a request for the measurement data acquired by the field device being received from the controller;
if the cache server does not hold the measurement data, sending a request for the measurement data to the IO node to which the field device is connected;
If the cache server holds the measurement data, a request for the measurement data is sent to the cache server.

このように、ネットワークスイッチは、コントローラから測定データに対する要求を受信したことに応じて、キャッシュサーバが測定データを保持しているか否かに応じて、測定データに対する要求をIOノード又はキャッシュサーバに振り分けて送信する。そのため、各コントローラは、同一のネットワーク装置に問い合わせて、全てのコントローラに共通の測定データを取得することができる。 In this way, upon receiving a request for measurement data from the controller, the network switch distributes the request for measurement data to the IO node or cache server according to whether the cache server holds the measurement data. to send. Therefore, each controller can query the same network device to obtain measurement data common to all controllers.

幾つかの実施形態に係る制御システムの制御方法は、
(8)測定データを取得するフィールド機器が接続されたIOノードと、
前記フィールド機器が取得した前記測定データに基づき演算を行う複数のコントローラと、
ネットワークスイッチと、
キャッシュサーバと、
を備える制御システムの制御方法であって、
前記複数のコントローラの各々が、予め一定の周期で定められた一定期間である制御タイミングごとに、前記フィールド機器が取得した前記測定データに対する要求を前記ネットワークスイッチへ送信する工程と、
前記ネットワークスイッチが、前記キャッシュサーバが前記測定データを保持していない場合、前記IOノードに、前記ネットワークスイッチを介して、当該IOノードに接続された前記フィールド機器が取得した前記測定データを前記コントローラへ送信させ、前記キャッシュサーバが前記測定データを保持している場合、当該キャッシュサーバに、前記ネットワークスイッチを介して、前記フィールド機器が取得した前記測定データを前記コントローラへ送信させる、工程と、
前記複数のコントローラの各々が、前記IOノード又は前記キャッシュサーバから受信した前記測定データに基づき、予め定められた演算を行う工程と、
を含む。
A method of controlling a control system according to some embodiments includes:
(8) an IO node to which a field device that acquires measurement data is connected;
a plurality of controllers that perform calculations based on the measurement data acquired by the field devices;
a network switch;
a cache server;
A control method for a control system comprising
a step in which each of the plurality of controllers transmits a request for the measurement data acquired by the field device to the network switch at each control timing, which is a constant period defined in advance at a constant cycle;
When the cache server does not hold the measurement data, the network switch transmits the measurement data obtained by the field device connected to the IO node to the IO node via the network switch. and if the cache server holds the measurement data, causing the cache server to transmit the measurement data acquired by the field device to the controller via the network switch;
each of the plurality of controllers performing a predetermined calculation based on the measurement data received from the IO node or the cache server;
including.

このように、各コントローラは、非同期に動作する場合であっても、ネットワークスイッチを介して、IOノード又はキャッシュサーバから、制御タイミングにおける同一の測定データを取得することができる。すなわち、コントローラ30から見ると、同一の装置にアクセスしているように見えながら、実際は、キャッシュの有無に応じて、IOノード20、又は、キャッシュサーバ40から、全コントローラ30へ共通の測定データを取得させることができる。したがって、フィールド機器の制御システムにおいて、より簡易な構成でコントローラの冗長化を実現することが可能である。 In this way, each controller can acquire the same measurement data at control timing from an IO node or cache server via a network switch even when operating asynchronously. In other words, when viewed from the controller 30, it appears that the same device is accessed, but in reality, common measurement data is sent from the IO node 20 or the cache server 40 to all the controllers 30 depending on whether or not there is a cache. can be obtained. Therefore, in the field device control system, it is possible to achieve controller redundancy with a simpler configuration.

本開示の一実施形態によれば、フィールド機器の制御システムにおいて、より簡易な構成でコントローラの冗長化を実現することができる。 According to an embodiment of the present disclosure, controller redundancy can be achieved with a simpler configuration in a field device control system.

比較例に係る制御システムの構成を示す図である。It is a figure which shows the structure of the control system which concerns on a comparative example. 一実施形態に係る制御システムの概略構成例を示す図である。1 is a diagram showing a schematic configuration example of a control system according to an embodiment; FIG. 図2の制御システムの機能構成例を示すブロック図である。3 is a block diagram showing a functional configuration example of the control system of FIG. 2; FIG. 図3の管理テーブルの一例を示す図である。4 is a diagram showing an example of a management table in FIG. 3; FIG. 図3の管理テーブルの一例を示す図である。4 is a diagram showing an example of a management table in FIG. 3; FIG. 図2のIOノードのハードウェア構成例を示すブロック図である。3 is a block diagram showing a hardware configuration example of an IO node in FIG. 2; FIG. 図2のコントローラのハードウェア構成例を示すブロック図である。3 is a block diagram showing a hardware configuration example of a controller in FIG. 2; FIG. 図2のキャッシュサーバのハードウェア構成例を示すブロック図である。3 is a block diagram showing a hardware configuration example of a cache server in FIG. 2; FIG. 一実施形態に係る制御システムの動作例を示すシーケンスチャートである。4 is a sequence chart showing an operation example of the control system according to one embodiment; 一実施形態に係る制御システムの動作例を示すシーケンスチャートである。4 is a sequence chart showing an operation example of the control system according to one embodiment; 一実施形態に係る制御システムの概略構成例を示す図である。1 is a diagram showing a schematic configuration example of a control system according to an embodiment; FIG. 図11のネットワークスイッチのハードウェア構成例を示すブロック図である。12 is a block diagram showing a hardware configuration example of the network switch of FIG. 11; FIG. 一実施形態に係る制御システムの動作例を示すシーケンスチャートである。4 is a sequence chart showing an operation example of the control system according to one embodiment; 一実施形態に係る制御システムの動作例を示すシーケンスチャートである。4 is a sequence chart showing an operation example of the control system according to one embodiment;

<比較例>
図1は、比較例に係る制御システム9の構成を示す図である。制御システム9は、フィールド機器91(91a,91b)、IO(Input/Output)ノード92、及び、コントローラ93(93a,93b)を備える。IOノード92及びコントローラ93(93a,93b)は、ネットワーク95を介して互いに通信可能に接続される。
<Comparative example>
FIG. 1 is a diagram showing the configuration of a control system 9 according to a comparative example. The control system 9 includes field devices 91 (91a, 91b), IO (Input/Output) nodes 92, and controllers 93 (93a, 93b). The IO node 92 and the controllers 93 (93a, 93b) are connected via a network 95 so as to be able to communicate with each other.

フィールド機器91(91a,91b)は、プラントの制御のための測定データの取得、及び、プラントの操作の少なくとも一方を行う装置である。IOノード92は、フィールド機器91(91a,91b)が接続され、コントローラ93(93a,93b)とのインタフェースとして機能する装置である。コントローラ93(93a,93b)は、フィールド機器91(91a,91b)の測定データに対して演算を行い、演算結果に基づきフィールド機器91(91a,91b)を制御する装置である。 The field devices 91 (91a, 91b) are devices that perform at least one of acquisition of measurement data for plant control and plant operation. The IO node 92 is a device to which the field devices 91 (91a, 91b) are connected and functions as an interface with the controllers 93 (93a, 93b). The controller 93 (93a, 93b) is a device that performs computation on the measurement data of the field device 91 (91a, 91b) and controls the field device 91 (91a, 91b) based on the computation result.

制御システム9において、IOノード92は、一定周期(例えば、1秒ごと)でフィールド機器91(91a,91b)から測定データを収集する。コントローラ93a,93bの各々は、一定周期(例えば、1秒ごと)でIOノード92からフィールド機器91(91a,91b)の測定データを取得する。コントローラ93(93a,93b)は、取得した測定データに基づき演算を行い、IOノード92へ演算結果を送信する。IOノードは、コントローラ93(93a,93b)から演算結果を受信すると、受信した演算結果をフィールド機器へ出力する。 In the control system 9, the IO node 92 collects measurement data from the field devices 91 (91a, 91b) at regular intervals (for example, every second). Each of the controllers 93a and 93b acquires measurement data of the field devices 91 (91a and 91b) from the IO node 92 at regular intervals (for example, every second). The controllers 93 ( 93 a and 93 b ) perform calculations based on the acquired measurement data and transmit the calculation results to the IO node 92 . When the IO node receives the calculation result from the controller 93 (93a, 93b), it outputs the received calculation result to the field device.

図1の例では、コントローラ93(93a,93b)の演算の信頼性向上のため、制御システム9は、複数のコントローラ93a,93bを備え、コントローラ93a,93bの演算結果を比較する。具体的には、コントローラ93a,93bの各々は、フィールド機器91(91a,91b)の同一の測定データに対して同一の演算を行い、演算結果をIOノード92へ出力する。IOノード92は、コントローラ93a,93bから受信した演算結果を比較する。IOノード92は、複数のコントローラ93a,93bから受信した演算結果が一致した場合は正常と判定し、一致しなかった場合はコントローラ93a,93bの故障等により正しく演算できなかったと判定する。このようなコントローラ93(93a,93b)の冗長化により演算の信頼性を向上させるためには、コントローラ93(93a,93b)がIOノード92から同一のタイミングの測定データを取得し、同一の演算を行うことが必要である。 In the example of FIG. 1, the control system 9 includes a plurality of controllers 93a and 93b and compares the calculation results of the controllers 93a and 93b in order to improve the reliability of the calculations of the controllers 93 (93a and 93b). Specifically, each of the controllers 93 a and 93 b performs the same calculation on the same measurement data of the field device 91 ( 91 a and 91 b ) and outputs the calculation result to the IO node 92 . The IO node 92 compares the calculation results received from the controllers 93a and 93b. If the calculation results received from the controllers 93a and 93b match, the IO node 92 determines that the results are normal. In order to improve the reliability of computation by making the controllers 93 (93a, 93b) redundant, the controllers 93 (93a, 93b) acquire measurement data at the same timing from the IO node 92, and perform the same computation. It is necessary to

一般に、IOノード92がフィールド機器91(91a,91b)から測定データを収集するタイミングと、コントローラ93(93a,93b)がIOノード92から測定データを収集するタイミングとは同期していない。そのため、コントローラ93aとコントローラ93bとでIOノード92から測定データを取得するタイミングがずれると、同一の測定データを取得することができない場合がある。しかし、コントローラ93a,93bの演算動作タイミングを一致させるには、高精度な時刻同期が必要となり、処理及び構成が複雑になる。IOノード92と、コントローラ93a,93bのデータ取得タイミングを同期させるためにも、コントローラ93(93a,93b)において、高精度な時刻同期が必要となる。 Generally, the timing at which the IO node 92 collects measurement data from the field devices 91 (91a, 91b) and the timing at which the controller 93 (93a, 93b) collects measurement data from the IO node 92 are not synchronized. Therefore, if the controller 93a and the controller 93b acquire the measurement data from the IO node 92 at different timings, the same measurement data may not be acquired. However, in order to match the operation timings of the controllers 93a and 93b, highly accurate time synchronization is required, which complicates processing and configuration. In order to synchronize the data acquisition timings of the IO node 92 and the controllers 93a and 93b, the controllers 93 (93a and 93b) require highly accurate time synchronization.

このように、比較例に係る制御システム9においては、複数のコントローラ93(93a,93b)が高い精度で時間的に同期して動作する必要があり、処理及び構成が複雑になる。本開示は、高精度な時刻同期を伴わずに、複数のコントローラが同一のタイミングの測定データを取得可能にすることを目的とする。 As described above, in the control system 9 according to the comparative example, the plurality of controllers 93 (93a, 93b) need to operate in synchronization with each other with high accuracy, which complicates the processing and configuration. An object of the present disclosure is to enable a plurality of controllers to acquire measurement data at the same timing without high-precision time synchronization.

<実施形態1>
以下、本開示の一実施形態について、図面を参照して説明する。各図面中、同一の構成又は機能を有する部分には、同一の符号を付している。本実施形態の説明において、同一の部分については、重複する説明を適宜省略又は簡略化する場合がある。
<Embodiment 1>
An embodiment of the present disclosure will be described below with reference to the drawings. In each drawing, parts having the same configuration or function are given the same reference numerals. In the description of the present embodiment, overlapping descriptions of the same parts may be appropriately omitted or simplified.

(制御システム)
図2は、一実施形態に係る制御システム1aの概略構成例を示す図である。制御システム1aは、フィールド機器10(10a,10b)、IOノード20、コントローラ30(30a,30b)、キャッシュサーバ40、及び、ネットワーク50を備える。
(control system)
FIG. 2 is a diagram showing a schematic configuration example of the control system 1a according to one embodiment. The control system 1 a includes field devices 10 ( 10 a, 10 b ), IO nodes 20 , controllers 30 ( 30 a, 30 b ), cache servers 40 and a network 50 .

フィールド機器10(10a,10b)は、プラントの制御のための測定データの取得、及び、プラントの操作の少なくとも一方を行う装置である。フィールド機器10(10a,10b)は、例えば、温度センサ又は流量計等のセンサ10a、及び、バルブ機器、ファン又はモータ等のアクチュエータ10bでもよい。以下、フィールド機器10a,10bをまとめて「フィールド機器10」と称する場合がある。フィールド機器10は、測定データをIOノード20へ出力するとともに、IOノード20から受信した制御信号に基づき動作を制御する。図2の例において、制御システム1aは2つのフィールド機器10a,10bを備えるが、フィールド機器10の個数は任意である。 The field devices 10 (10a, 10b) are devices that perform at least one of acquisition of measurement data for plant control and plant operation. The field devices 10 (10a, 10b) may be, for example, sensors 10a, such as temperature sensors or flow meters, and actuators 10b, such as valve devices, fans or motors. Hereinafter, the field devices 10a and 10b may be collectively referred to as "field device 10". The field device 10 outputs measurement data to the IO node 20 and controls operations based on control signals received from the IO node 20 . In the example of FIG. 2, the control system 1a includes two field devices 10a and 10b, but the number of field devices 10 is arbitrary.

IOノード20は、フィールド機器10が接続され、フィールド機器10とコントローラ30(30a,30b)とのインタフェースとして機能する装置である。IOノード20はネットワーク50に接続され、ネットワーク50を介して、コントローラ30(30a,30b)と通信可能である。図2の例において、制御システム1aは1つのIOノード20を備えるが、IOノード20の個数は任意である。また、各IOノード20に接続されるフィールド機器10の個数は任意である。 The IO node 20 is a device to which the field device 10 is connected and functions as an interface between the field device 10 and the controllers 30 (30a, 30b). The IO node 20 is connected to the network 50 and can communicate with the controller 30 (30a, 30b) via the network 50. FIG. In the example of FIG. 2, the control system 1a has one IO node 20, but the number of IO nodes 20 is arbitrary. Also, the number of field devices 10 connected to each IO node 20 is arbitrary.

コントローラ30(30a,30b)は、フィールド機器10の測定データに対して演算を行い、演算結果に基づきフィールド機器10を制御する装置である。以下、コントローラ30a,30bをまとめて「コントローラ30」と称する場合がある。コントローラ30は、ネットワーク50を経由して、IOノード20及びキャッシュサーバ40と通信可能に構成される。コントローラ30は、IOノード20を経由して、フィールド機器10にアクセスすることができる。制御システム1aは、2つのコントローラ30a,30bを備えているが、コントローラ30の個数は任意の複数個である。 The controller 30 (30a, 30b) is a device that performs computation on the measurement data of the field device 10 and controls the field device 10 based on the computation result. Hereinafter, the controllers 30a and 30b may be collectively referred to as "controller 30". The controller 30 is configured to communicate with the IO node 20 and the cache server 40 via the network 50 . The controller 30 can access the field device 10 via the IO node 20 . The control system 1a includes two controllers 30a and 30b, but the number of controllers 30 is arbitrary.

キャッシュサーバ40は、コントローラ30a,30bのうち先にこのキャッシュサーバ40にアクセスした方がIOノード20から取得した測定データをキャッシュとして保持する装置である。制御システム1aは、1つのキャッシュサーバ40を備えているが、キャッシュサーバ40の個数は任意である。 The cache server 40 is a device that caches the measurement data acquired from the IO node 20 by whichever of the controllers 30a and 30b accesses the cache server 40 first. The control system 1a includes one cache server 40, but the number of cache servers 40 is arbitrary.

ネットワーク50は、プラント内のIOノード20、コントローラ30、及び、キャッシュサーバ40等の情報機器を接続可能な専用の通信ネットワークである。ネットワーク50は、有線又は無線の構内通信網(LAN:Local Area Network)を含んでよい。有線の構内通信網は、例えば、イーサネットを含む。無線の構内通信網は、例えばWi-Fi(登録商標)及びWiMAX(登録商標)等の無線通信規格に準拠した無線ネットワークを含む。さらにOPC UA又はPROFINETのような標準化されたプロトコルを使用する通信ネットワークを用いてもよい。さらには、ネットワークは、ネットワーク50は、例えばインターネット、イントラネット、及び移動体通信網等を含んでもよい。 The network 50 is a dedicated communication network that can connect information devices such as the IO node 20, the controller 30, and the cache server 40 in the plant. The network 50 may include a wired or wireless local area network (LAN). Wired local area networks include, for example, Ethernet. The wireless local communication network includes wireless networks complying with wireless communication standards such as Wi-Fi (registered trademark) and WiMAX (registered trademark). Additionally, communication networks using standardized protocols such as OPC UA or PROFINET may be used. Furthermore, the network 50 may include, for example, the Internet, an intranet, a mobile communication network, and the like.

制御システム1aにおいて、IOノード20は、一定周期(例えば、1秒ごと)でフィールド機器10から測定データを収集する。IOノード20は、収集した測定データを記憶部202(図6参照)に記憶させる。コントローラ30a,30bの各々は、一定周期(例えば、1秒ごと)でキャッシュサーバ40にアクセスし、フィールド機器91(91a,91b)の測定データを取得するための処理を行う。ここで、IOノード20及びコントローラ30a,30bの動作は完全に時間的に同期しているわけではなく、それぞれ別個に一定周期で動作している。 In the control system 1a, the IO node 20 collects measurement data from the field device 10 at regular intervals (for example, every second). The IO node 20 stores the collected measurement data in the storage unit 202 (see FIG. 6). Each of the controllers 30a and 30b accesses the cache server 40 at regular intervals (for example, every second) and performs processing for acquiring measurement data of the field devices 91 (91a and 91b). Here, the operations of the IO node 20 and the controllers 30a and 30b are not completely synchronized with each other in terms of time, and they operate separately at regular intervals.

このような構成において、複数のコントローラ30(30a,30b)の内、最初にキャッシュサーバ40にアクセスした方のみIOノード20にアクセスして測定データを取得する。例えば、コントローラ30aが最初にキャッシュサーバ40にアクセスした場合、コントローラ30aは、IOノード20にアクセスし、IOノード20からフィールド機器10の測定データを取得する。コントローラ30aは、取得した測定データをキャッシュサーバ40に送信し、キャッシュサーバ40に測定データのキャッシュを保持させる。一方、遅れてキャッシュサーバ40にアクセスしたコントローラ30bは、キャッシュサーバ40から、測定データのキャッシュを取得する。このように、制御システム1aにおいては、最初にキャッシュサーバ40にアクセスしたコントローラ30(例えば、コントローラ30a)のみがIOノード20からフィールド機器10の測定データを取得する。それ以外のコントローラ30(例えば、コントローラ30b)は、キャッシュサーバ40から測定データのキャッシュを取得する。したがって、制御システム1aは、各コントローラの動作が高い精度で同期して動作していなくても、複数のコントローラ30(30a,30b)が同一の測定データを取得することを保証することが可能である。 In such a configuration, only one of the plurality of controllers 30 (30a, 30b) that first accesses the cache server 40 accesses the IO node 20 and acquires measurement data. For example, when the controller 30 a first accesses the cache server 40 , the controller 30 a accesses the IO node 20 and acquires measurement data of the field device 10 from the IO node 20 . The controller 30a transmits the acquired measurement data to the cache server 40 and causes the cache server 40 to cache the measurement data. On the other hand, the controller 30b that accessed the cache server 40 later obtains the cached measurement data from the cache server 40 . Thus, in the control system 1 a , only the controller 30 (for example, the controller 30 a ) that first accessed the cache server 40 acquires the measurement data of the field device 10 from the IO node 20 . Other controllers 30 (for example, the controller 30 b ) acquire cached measurement data from the cache server 40 . Therefore, the control system 1a can ensure that the plurality of controllers 30 (30a, 30b) acquire the same measurement data even if the operations of the controllers are not synchronized with high accuracy. be.

コントローラ30(30a,30b)の各々は、取得した測定データに基づき演算を行い、IOノード20へ演算結果を送信する。IOノード20は、各コントローラ30(30a,30b)から演算結果を受信すると、受信した演算結果を比較して、各コントローラ30(30a,30b)の動作が正常であるか否かを判定する。IOノード20は、判定結果をログ情報として記憶部302(図5参照)又は表示装置(ディスプレイ)等へ出力する。IOノード20は、判定結果をコントローラ30又はキャッシュサーバ40等の他の装置へ送信してもよい。 Each of the controllers 30 ( 30 a , 30 b ) performs computation based on the acquired measurement data and transmits the computation result to the IO node 20 . When the IO node 20 receives the calculation result from each controller 30 (30a, 30b), it compares the received calculation result and determines whether the operation of each controller 30 (30a, 30b) is normal. The IO node 20 outputs the determination result as log information to the storage unit 302 (see FIG. 5), a display device (display), or the like. The IO node 20 may transmit the determination result to another device such as the controller 30 or cache server 40 .

図3は、図2の制御システム1aの機能構成例を示すブロック図である。IOノード20は、制御アプリケーション部21、アクセス経路制御部22、及び、通信制御部23を備える。 FIG. 3 is a block diagram showing a functional configuration example of the control system 1a of FIG. The IO node 20 includes a control application unit 21 , an access route control unit 22 and a communication control unit 23 .

制御アプリケーション部21は、IOノード20に接続されたフィールド機器10を制御する。制御アプリケーション部21は、オペレーティングシステム上で動作してよい。制御アプリケーション部21は、プロセス制御を行う上で必要なフィールド機器10の制御を行う。例えば、制御アプリケーション部21は、フィールド機器10からの測定データの収集、及び、フィールド機器10に対する制御データの送信等を行う。 The control application unit 21 controls the field device 10 connected to the IO node 20 . The control application unit 21 may run on an operating system. The control application unit 21 controls the field devices 10 necessary for process control. For example, the control application unit 21 collects measurement data from the field devices 10, transmits control data to the field devices 10, and the like.

アクセス経路制御部22は、制御アプリケーション部21に対して抽象化されたIOアクセス方法を提供する。アクセス経路制御部22は、アクセス経路制御部22が搭載されたIOノード20とフィールド機器10との物理的な関係に合わせてアクセス方法を適応的に変更する。ハードウェアを抽象化するため、アクセス経路制御部22は、IOノード20内の仮想化部24に含まれてよい。仮想化部24は、IOノード20のハードウェア上でハードウェアの代わりとして仮想的に動作する。仮想化部24は、制御アプリケーション部21を変更することなくIOノード20のハードウェアの交換を可能にするために設けられる。しかし、アクセス経路制御部22の機能を提供するために、仮想化部24は必須ではない。仮想化部24が無くとも、アクセス経路制御部22を実装することは可能である。 The access path control unit 22 provides an abstracted IO access method to the control application unit 21 . The access route control unit 22 adaptively changes the access method according to the physical relationship between the IO node 20 on which the access route control unit 22 is mounted and the field device 10 . The access route controller 22 may be included in the virtualizer 24 within the IO node 20 in order to abstract the hardware. The virtualization unit 24 virtually operates on the hardware of the IO node 20 as a substitute for hardware. The virtualization unit 24 is provided to enable replacement of hardware of the IO node 20 without changing the control application unit 21 . However, in order to provide the function of the access route control unit 22, the virtualization unit 24 is not essential. It is possible to implement the access route control unit 22 without the virtualization unit 24 .

通信制御部23は、IOノード20に接続されたフィールド機器10、及び、ネットワーク50に接続されたコントローラ30との間で通信を行う。通信制御部23は、フィールド機器10との接続形態、及び、ネットワーク50の種類等に応じて必要な通信処理を行う。 The communication control unit 23 communicates with the field device 10 connected to the IO node 20 and the controller 30 connected to the network 50 . The communication control unit 23 performs necessary communication processing according to the connection form with the field device 10, the type of the network 50, and the like.

コントローラ30(30a,30b)は、制御アプリケーション部31(31a,31b)、アクセス経路制御部32(32a,32b)、及び、通信制御部33(33a,33b)を備える。コントローラ30(30a,30b)は、IOノード20と同様に、仮想化部34(34a,34b)を備えてもよい。コントローラ30aの制御アプリケーション部31a、アクセス経路制御部32a、通信制御部33a、及び、仮想化部34aは、コントローラ30bの制御アプリケーション部31b、アクセス経路制御部32b、通信制御部33b、及び、仮想化部34bと同一である。そこで、以下、制御アプリケーション部31a,31b、アクセス経路制御部32a,32b、通信制御部33a,33b、仮想化部34a,34bを、まとめて「制御アプリケーション部31」、「アクセス経路制御部32」、「通信制御部33」、「仮想化部34」と称する場合がある。コントローラ30の制御アプリケーション部31、アクセス経路制御部32、通信制御部33、仮想化部34は、IOノード20の制御アプリケーション部21、アクセス経路制御部22、通信制御部23、仮想化部24と同一又は類似の機能を有するので、詳細な説明を省略する。 The controller 30 (30a, 30b) includes a control application unit 31 (31a, 31b), an access route control unit 32 (32a, 32b), and a communication control unit 33 (33a, 33b). Like the IO node 20, the controllers 30 (30a, 30b) may include virtualization units 34 (34a, 34b). The control application unit 31a, the access route control unit 32a, the communication control unit 33a, and the virtualization unit 34a of the controller 30a are connected to the control application unit 31b, the access route control unit 32b, the communication control unit 33b, and the virtualization unit 34a of the controller 30b. It is the same as the part 34b. Therefore, the control application units 31a and 31b, the access route control units 32a and 32b, the communication control units 33a and 33b, and the virtualization units 34a and 34b are hereinafter collectively referred to as "control application unit 31" and "access route control unit 32". , “communication control unit 33”, and “virtualization unit 34”. The control application unit 31, the access route control unit 32, the communication control unit 33, and the virtualization unit 34 of the controller 30 are the control application unit 21, the access route control unit 22, the communication control unit 23, and the virtualization unit 24 of the IO node 20. Since they have the same or similar functions, detailed description is omitted.

キャッシュサーバ40は、管理テーブル41、アクセス経路制御部42、通信制御部43、及びキャッシュデータベース45を備える。 The cache server 40 includes a management table 41 , an access route control section 42 , a communication control section 43 and a cache database 45 .

管理テーブル41は、コントローラ30のキャッシュサーバ40へのアクセスの状況を管理するためのテーブルである。図4及び図5は、図3の管理テーブルの一例を示す図である。キャッシュサーバ40は、一定周期(例えば、1秒ごと)で、最初にキャッシュサーバ40にアクセスしたコントローラ30の識別情報を保持する。初期状態において、管理テーブル41は、空白、「0」、又は、「-」等の値(図4及び図5の例では「-」)を保持する。図4及び図5の例において、制御タイミングは、コントローラ30が周期的に測定データを取得するための、予め一定の周期で定められた一定期間を示す。制御タイミングT001は、例えば、時刻0時0分0秒~0時0分1秒の期間に対応する。制御タイミングT002は、例えば、時刻0時0分1秒~0時0分2秒の期間に対応する。制御タイミングT003は、例えば、時刻0時0分2秒~0時0分3秒の期間に対応する。これらの例において、制御タイミングT001~T003は、1秒の周期で定められた長さが1秒の期間に相当する。なお、制御タイミングの周期と長さとは異なってもよく、例えば、制御タイミングは、10秒周期で定められた長さ1秒の期間としてもよい。制御タイミングは、キャッシュサーバ40の計時部により測定された時刻に基づき決定されるが、NTP(Network Time Protocol)サーバ等の時刻サーバ又はコントローラ30等の他の装置により測定された時刻に基づき決定されてもよい。制御タイミングを時刻サーバにより測定された時刻に基づき決定する場合、正確な時刻を反映した制御タイミングを取得することができ、制御タイミングの信頼性を保つことができる。制御タイミングを各コントローラ30により測定された時刻に基づき決定する場合、各コントローラ30は、時刻サーバ等の他の装置にアクセスすることなく制御タイミングを決定することができ、可用性を保つことができる。 The management table 41 is a table for managing the access status of the controller 30 to the cache server 40 . 4 and 5 are diagrams showing an example of the management table of FIG. 3. FIG. The cache server 40 retains the identification information of the controller 30 that first accessed the cache server 40 at regular intervals (for example, every second). In the initial state, the management table 41 holds values such as blank, "0", or "-" ("-" in the examples of FIGS. 4 and 5). In the examples of FIGS. 4 and 5, the control timing indicates a predetermined period of time for the controller 30 to periodically acquire measurement data. The control timing T001 corresponds to, for example, a period from 0:00:00 to 0:00:01. The control timing T002 corresponds to, for example, a period from 0:00:01 to 0:00:02. The control timing T003 corresponds to, for example, a period from 0:00:02 to 0:00:03. In these examples, the control timings T001 to T003 correspond to a period of 1 second in length defined by a cycle of 1 second. Note that the period and length of the control timing may be different. For example, the control timing may be a period of 1 second in length determined by a period of 10 seconds. The control timing is determined based on the time measured by the clock unit of the cache server 40, but is determined based on the time measured by a time server such as an NTP (Network Time Protocol) server or another device such as the controller 30. may When the control timing is determined based on the time measured by the time server, it is possible to acquire the control timing that reflects the correct time and maintain the reliability of the control timing. When the control timing is determined based on the time measured by each controller 30, each controller 30 can determine the control timing without accessing another device such as a time server, thereby maintaining availability.

図2の例においてIOノード20の個数は1つだが、図4の管理テーブル41は、3つのIOノード20(IO-1,IO-2,IO-3)を備えた制御システム1aにおいて、最初にキャッシュサーバ40にアクセスしたコントローラ30の識別情報を保持している。図5の管理テーブル41は、2つのIOノード20(IO-5,IO-6)を備えた制御システム1aにおいて、最初にキャッシュサーバ40にアクセスしたコントローラ30の識別情報を保持している。 Although the number of IO nodes 20 is one in the example of FIG. 2, the management table 41 of FIG. holds the identification information of the controller 30 that has accessed the cache server 40 . The management table 41 of FIG. 5 holds identification information of the controller 30 that first accessed the cache server 40 in the control system 1a having two IO nodes 20 (IO-5, IO-6).

例えば、図4において、制御タイミング「T001」では、識別情報「IO-1」「IO-2」のIOノード20については、識別情報「CNT-1」のコントローラ30(例えば、コントローラ30a)が最初にキャッシュサーバ40にアクセスしている。「IO-3」のIOノード20については、識別情報「CNT-2」のコントローラ30(例えば、コントローラ30b)が最初にキャッシュサーバ40にアクセスしている。制御タイミング「T002」では、識別情報「IO-1」「IO-2」「IO-3」の各IOノード20について、識別情報「CNT-1」のコントローラ30(例えば、コントローラ30a)が最初にキャッシュサーバ40にアクセスしている。制御タイミング「T003」では、識別情報「IO-1」「IO-2」のIOノード20について、識別情報「CNT-2」のコントローラ30(例えば、コントローラ30b)が最初にキャッシュサーバ40にアクセスしている。識別情報「IO-3」のIOノード20については、まだいずれのコントローラ30もキャッシュサーバ40にアクセスしていない。図5の例では、いずれの制御タイミングにおいても、いずれのIOノード20についても、まだコントローラ30はキャッシュサーバ40にアクセスしていない。 For example, in FIG. 4, at the control timing "T001", for the IO nodes 20 with the identification information "IO-1" and "IO-2", the controller 30 (for example, the controller 30a) with the identification information "CNT-1" is the first. , the cache server 40 is accessed. As for the IO node 20 of “IO-3”, the controller 30 (for example, the controller 30b) of the identification information “CNT-2” first accesses the cache server 40 . At the control timing “T002”, for each IO node 20 with identification information “IO-1”, “IO-2” and “IO-3”, the controller 30 (for example, controller 30a) with identification information “CNT-1” first The cache server 40 is accessed. At the control timing “T003”, the controller 30 (for example, the controller 30b) with the identification information “CNT-2” first accesses the cache server 40 for the IO nodes 20 with the identification information “IO-1” and “IO-2”. ing. None of the controllers 30 has accessed the cache server 40 for the IO node 20 with the identification information "IO-3". In the example of FIG. 5, the controller 30 has not yet accessed the cache server 40 for any IO node 20 at any control timing.

キャッシュサーバ40は、複数のコントローラ30の複数のIOノード20に対するアクセスを管理する場合、コントローラ30及びIOノード20を複数の制御グループに分類し、制御グループごとに管理テーブル41を保持してもよい。例えば、冗長化の対象とする複数のコントローラ30に対して、「C001」等の制御グループを設定してもよい。例えば、キャッシュサーバ40は、どのコントローラ30がどのIOノード20に接続されたフィールド機器10の測定データの演算を行うかに応じて、コントローラ30及びIOノード20を複数の制御グループに分類してもよい。例えば、図4の管理テーブル41は、識別情報「CNT-1」「CNT-2」のコントローラ30が識別情報「IO-1」「IO-2」「IO-3」のIOノード20の制御を行う制御グループ1のアクセス管理を示してもよい。例えば、図5の管理テーブル41は、識別情報「CNT-X」「CNT-Y」のコントローラ30が識別情報「IO-5」「IO-6」のIOノード20の制御を行う制御グループ2のアクセス管理を示してもよい。同一の制御グループに含まれるコントローラ30は、同一の制御演算を行う。 When managing accesses to multiple IO nodes 20 by multiple controllers 30, the cache server 40 may classify the controllers 30 and IO nodes 20 into multiple control groups and hold a management table 41 for each control group. . For example, a control group such as "C001" may be set for a plurality of controllers 30 to be redundant. For example, the cache server 40 may classify the controllers 30 and the IO nodes 20 into a plurality of control groups according to which controller 30 performs calculation of the measurement data of the field device 10 connected to which IO node 20. good. For example, the management table 41 of FIG. It may indicate the access management of control group 1 to be performed. For example, the management table 41 of FIG. May indicate access control. Controllers 30 included in the same control group perform the same control calculation.

図3の説明に戻る。キャッシュサーバ40のアクセス経路制御部42、通信制御部43、及び、仮想化部44は、IOノード20のアクセス経路制御部22、通信制御部23、及び、仮想化部24と同一又は類似の機能を有するので、詳細な説明を省略する。 Returning to the description of FIG. The access route control unit 42, the communication control unit 43, and the virtualization unit 44 of the cache server 40 have the same or similar functions as the access route control unit 22, the communication control unit 23, and the virtualization unit 24 of the IO node 20. , detailed description is omitted.

キャッシュデータベース45は、各制御タイミングにおいて、もっとも早くキャッシュサーバ40にアクセスしたコントローラ30がIOノード20から取得した測定データをキャッシュとして記憶する。図1のように、IOノード20に複数のフィールド機器10a,10bが接続されている場合、キャッシュデータベース45は、各フィールド機器10の測定データを記憶してもよい。前述のように、制御システム1aが複数のIOノード20を含む場合、キャッシュデータベース45は、IOノード20毎に、各IOノード20から取得した測定データを記憶してもよい。前述のように、制御システム1aが複数の制御グループに分類された数のコントローラ30の複数のIOノード20に対するアクセスを管理する場合、キャッシュデータベース45は、制御グループ毎に、各IOノード20から取得した測定データを記憶してもよい。 The cache database 45 stores measurement data acquired from the IO node 20 by the controller 30 that accessed the cache server 40 earliest at each control timing as a cache. When multiple field devices 10 a and 10 b are connected to the IO node 20 as shown in FIG. 1 , the cache database 45 may store the measurement data of each field device 10 . As described above, when the control system 1 a includes a plurality of IO nodes 20 , the cache database 45 may store measurement data acquired from each IO node 20 for each IO node 20 . As described above, when the control system 1a manages accesses to a plurality of IO nodes 20 by a number of controllers 30 classified into a plurality of control groups, the cache database 45 is obtained from each IO node 20 for each control group. You may store the measurement data which carried out.

(IOノード)
図6は、図2のIOノード20のハードウェア構成例を示すブロック図である。IOノード20は、1つ又は互いに通信可能な複数のコンピュータ装置である。IOノード20は、例えば、PC(Personal Computer)又はWS(Workstation)等の汎用のコンピュータにより実現されるが、FPGA(Field Programmable Gate Array)又はプラント等の制御用に設計された専用コンピュータ等により実現されてもよい。図6に示すように、IOノード20は、制御部201、記憶部202、及び、通信部203を備える。
(IO node)
FIG. 6 is a block diagram showing a hardware configuration example of the IO node 20 of FIG. The IO node 20 is one or more computer devices that can communicate with each other. The IO node 20 is realized by, for example, a general-purpose computer such as a PC (Personal Computer) or WS (Workstation). may be As shown in FIG. 6 , the IO node 20 includes a control section 201 , a storage section 202 and a communication section 203 .

制御部201は、1つ以上のプロセッサを含む。一実施形態において「プロセッサ」は、汎用のプロセッサ、又は特定の処理に特化した専用のプロセッサであるが、これらに限定されない。制御部201は、IOノード20を構成する各構成部と通信可能に接続され、IOノード20全体の動作を制御する。 Control unit 201 includes one or more processors. In one embodiment, a "processor" is a general-purpose processor or a dedicated processor specialized for a particular process, but is not limited to these. The control unit 201 is communicably connected to each component constituting the IO node 20 and controls the operation of the IO node 20 as a whole.

記憶部202は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、ROM(Read-Only Memory)、及びRAM(Random Access Memory)等の任意の記憶モジュールを含む。記憶部202は、例えば、主記憶装置、補助記憶装置、又はキャッシュメモリとして機能してもよい。記憶部202は、IOノード20の動作に用いられる任意の情報を記憶する。例えば、記憶部202は、システムプログラム(オペレーティングシステム)、アプリケーションプログラム、及び通信部203によって受信された各種情報等を記憶してもよい。記憶部202は、IOノード20に内蔵されているものに限定されず、外付けのデータベース又は外付け型の記憶モジュールであってもよい。 The storage unit 202 includes arbitrary storage modules such as HDD (Hard Disk Drive), SSD (Solid State Drive), ROM (Read-Only Memory), and RAM (Random Access Memory). The storage unit 202 may function, for example, as a main storage device, an auxiliary storage device, or a cache memory. The storage unit 202 stores arbitrary information used for the operation of the IO node 20 . For example, the storage unit 202 may store a system program (operating system), an application program, various information received by the communication unit 203, and the like. The storage unit 202 is not limited to being built in the IO node 20, and may be an external database or an external storage module.

通信部203は、任意の通信技術によってフィールド機器10及びコントローラ30等の他の装置と通信接続可能な、任意の通信モジュールを含む。通信部203は、さらに、他の装置との通信を制御するための通信制御モジュール、及び他の装置との通信に必要となる識別情報等の通信用データを記憶する記憶モジュールを含んでもよい。 The communication unit 203 includes any communication module that can be communicatively connected with other devices such as the field device 10 and the controller 30 by any communication technology. The communication unit 203 may further include a communication control module for controlling communication with other devices, and a storage module for storing communication data such as identification information required for communication with other devices.

IOノード20の機能は、本実施形態に係るコンピュータプログラム(プログラム)を、制御部201に含まれるプロセッサで実行することにより実現されうる。すなわち、IOノード20の機能は、ソフトウェアにより実現されうる。コンピュータプログラムは、IOノード20の動作に含まれるステップの処理をコンピュータに実行させることで、各ステップの処理に対応する機能をコンピュータに実現させる。すなわち、コンピュータプログラムは、コンピュータを本実施形態に係るIOノード20として機能させるためのプログラムである。コンピュータプログラムは、コンピュータで読み取り可能な記録媒体に記録してもよい。プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるものが含まれる。例えば、コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータは、「プログラムに準ずるもの」に該当する。 The functions of the IO node 20 can be implemented by executing a computer program (program) according to the present embodiment with a processor included in the control unit 201 . That is, the functions of the IO node 20 can be realized by software. The computer program causes the computer to execute the processing of steps included in the operation of the IO node 20, thereby causing the computer to implement functions corresponding to the processing of each step. That is, the computer program is a program for causing a computer to function as the IO node 20 according to this embodiment. The computer program may be recorded on a computer-readable recording medium. The program includes information that is used for processing by a computer and that conforms to the program. For example, data that is not a direct instruction to a computer but that has the property of prescribing the processing of the computer corresponds to "things equivalent to a program."

IOノード20の一部又は全ての機能が、制御部201に含まれる専用回路により実現されてもよい。すなわち、IOノード20の一部又は全ての機能が、ハードウェアにより実現されてもよい。また、IOノード20は単一のコンピュータ装置により実現されてもよいし、複数のコンピュータ装置の協働により実現されてもよい。 A part or all of the functions of the IO node 20 may be realized by a dedicated circuit included in the control unit 201. FIG. That is, part or all of the functions of the IO node 20 may be realized by hardware. Also, the IO node 20 may be realized by a single computer device, or may be realized by cooperation of a plurality of computer devices.

(コントローラ)
図7は、図2のコントローラ30のハードウェア構成例を示すブロック図である。コントローラ30は、1つ又は互いに通信可能な複数のコンピュータ装置である。コントローラ30は、例えば、PC又はWS等の汎用のコンピュータにより実現されるが、FPGA又はプラント等の制御用に設計された専用コンピュータ等により実現されてもよい。図7に示すように、コントローラ30は、制御部301、記憶部302、及び、通信部303を備える。コントローラ30の制御部301、記憶部302、及び、通信部303は、IOノード20の制御部201、記憶部202、及び、通信部203と同様に実現されるため、詳細な説明を省略する。また、IOノード20と同様に、コントローラ30の機能は、本実施形態に係るプログラムを、制御部301に含まれるプロセッサで実行することにより実現されうる。
(controller)
FIG. 7 is a block diagram showing an example hardware configuration of the controller 30 of FIG. Controller 30 is one or more computing devices that can communicate with each other. The controller 30 is implemented by, for example, a general-purpose computer such as a PC or WS, but may also be implemented by a dedicated computer designed for control of an FPGA, plant, or the like. As shown in FIG. 7 , the controller 30 includes a control section 301 , a storage section 302 and a communication section 303 . The control unit 301, the storage unit 302, and the communication unit 303 of the controller 30 are realized in the same manner as the control unit 201, the storage unit 202, and the communication unit 203 of the IO node 20, so detailed description thereof will be omitted. Also, similarly to the IO node 20 , the functions of the controller 30 can be realized by executing the program according to the present embodiment with the processor included in the control unit 301 .

(キャッシュサーバ)
図8は、図2のキャッシュサーバ40のハードウェア構成例を示すブロック図である。キャッシュサーバ40は、1つ又は互いに通信可能な複数のコンピュータ装置である。キャッシュサーバ40は、例えば、PC又はWS等の汎用のコンピュータにより実現されるが、FPGA又はプラント等の制御用に設計された専用コンピュータ等により実現されてもよい。図8に示すように、キャッシュサーバ40は、制御部401、記憶部402、及び、通信部403を備える。キャッシュサーバ40の制御部401、記憶部402、及び、通信部403は、IOノード20の制御部201、記憶部202、及び、通信部203と同様に実現されるため、詳細な説明を省略する。また、IOノード20と同様に、キャッシュサーバ40の機能は、本実施形態に係るプログラムを、制御部401に含まれるプロセッサで実行することにより実現されうる。
(cache server)
FIG. 8 is a block diagram showing a hardware configuration example of the cache server 40 of FIG. The cache server 40 is one or more computer devices that can communicate with each other. The cache server 40 is realized by, for example, a general-purpose computer such as a PC or WS, but may be realized by an FPGA, a dedicated computer designed for controlling a plant, or the like. As shown in FIG. 8 , the cache server 40 includes a control section 401 , a storage section 402 and a communication section 403 . The control unit 401, the storage unit 402, and the communication unit 403 of the cache server 40 are realized in the same manner as the control unit 201, the storage unit 202, and the communication unit 203 of the IO node 20, so detailed description thereof will be omitted. . Also, similarly to the IO node 20 , the functions of the cache server 40 can be realized by executing the program according to the present embodiment with the processor included in the control unit 401 .

(制御システムの動作)
図9及び図10は、一実施形態に係る制御システム1aの動作例を示すシーケンスチャートである。図9及び図10を参照して説明する制御システム1aの動作は、制御システム1aの制御方法の一つに相当してもよい。図9及び図10の各ステップの動作は、IOノード20の制御部201、コントローラ30の制御部301、又は、キャッシュサーバ40の制御部401による制御に基づき実行されてもよい。図9及び図10の処理は、制御タイミングごと、例えば、1秒ごとに実行される。図9及び図10は、ある制御タイミングにおいて、まずコントローラ30aがキャッシュサーバ40にアクセスし、その後、コントローラ30bがキャッシュサーバ40にアクセスしている例を示している。図9は、コントローラ30aが測定データを取得して演算を行う処理を示している。図10は、コントローラ30bが測定データを取得して演算を行う処理を示している。以下、図2のように、制御システム1aは1つのIOノード20を備える例を説明する。
(Operation of control system)
9 and 10 are sequence charts showing an operation example of the control system 1a according to one embodiment. The operation of the control system 1a described with reference to FIGS. 9 and 10 may correspond to one control method of the control system 1a. 9 and 10 may be executed under the control of the control unit 201 of the IO node 20, the control unit 301 of the controller 30, or the control unit 401 of the cache server 40. FIG. The processing in FIGS. 9 and 10 is executed at each control timing, for example, every second. 9 and 10 show examples in which the controller 30a first accesses the cache server 40 and then the controller 30b accesses the cache server 40 at certain control timings. FIG. 9 shows processing in which the controller 30a obtains measurement data and performs calculation. FIG. 10 shows processing in which the controller 30b obtains measurement data and performs calculation. An example in which the control system 1a includes one IO node 20 as shown in FIG. 2 will be described below.

図9のステップS1において、コントローラ30aの制御部301は、キャッシュサーバ40に対し、IOノード20に接続されているフィールド機器10の測定データのキャッシュがキャッシュデータベース45に記憶されているか否かを問い合わせる。例えば、コントローラ30aのアクセス経路制御部32aが問い合わせを行ってもよい。 In step S1 of FIG. 9, the control unit 301 of the controller 30a inquires of the cache server 40 whether or not the cache of the measurement data of the field device 10 connected to the IO node 20 is stored in the cache database 45. . For example, the access route control unit 32a of the controller 30a may make the inquiry.

ステップS2において、キャッシュサーバ40の制御部401は、ステップS1で問い合わせを受けた測定データのキャッシュが記憶されているか否かを判定する。例えば、制御部401は、管理テーブル41を参照し、該当する制御タイミング及びIOノード20について、コントローラ30のアクセスが記録されているか否かを判定して、キャッシュの有無を判定してもよい。図9の例は、ある制御タイミングにおいてコントローラ30aが初めてアクセスした場合を示しているため、制御部401は、キャッシュなしと判定する。 In step S2, the control unit 401 of the cache server 40 determines whether or not the cache of the measurement data inquired in step S1 is stored. For example, the control unit 401 may refer to the management table 41 to determine whether or not access by the controller 30 is recorded for the corresponding control timing and IO node 20, thereby determining whether or not there is a cache. Since the example of FIG. 9 shows the case where the controller 30a accesses for the first time at a certain control timing, the control unit 401 determines that there is no cache.

ステップS3において、キャッシュサーバ40の制御部401は、コントローラ30aに対し、キャッシュなしを通知する。 In step S3, the control unit 401 of the cache server 40 notifies the controller 30a that there is no cache.

キャッシュサーバ40からキャッシュなしの通知を受けると、ステップS4において、コントローラ30aの制御部301は、IOノード20に対して、フィールド機器10の測定データを要求する。例えば、コントローラ30aの制御アプリケーション部31aがデータ取得を要求してもよい。 Upon receiving the no-cache notification from the cache server 40, the controller 301 of the controller 30a requests the IO node 20 for the measurement data of the field device 10 in step S4. For example, the control application unit 31a of the controller 30a may request data acquisition.

コントローラ30aから測定データの要求を受信すると、ステップS5において、IOノード20の制御部201は、フィールド機器10の測定データを取得する。前述のように、IOノード20は、一定周期(例えば、1秒ごと)でフィールド機器10から測定データを収集し、収集した測定データを記憶部202に記憶させる。そこで、制御部201は、記憶部202から測定データを読み出して、測定データを取得する。なお、制御部201は、コントローラ30から測定データの要求を受信したことに応じて、フィールド機器10から測定データを取得してもよい。 Upon receiving the measurement data request from the controller 30a, the control unit 201 of the IO node 20 acquires the measurement data of the field device 10 in step S5. As described above, the IO node 20 collects measurement data from the field device 10 at regular intervals (for example, every second) and stores the collected measurement data in the storage unit 202 . Therefore, the control unit 201 reads the measurement data from the storage unit 202 and acquires the measurement data. Note that the control unit 201 may acquire measurement data from the field device 10 in response to receiving a request for measurement data from the controller 30 .

ステップS6において、IOノード20の制御部201は、ステップS5で取得したフィールド機器10の測定データをコントローラ30aへ送信する。 In step S6, the control unit 201 of the IO node 20 transmits the measurement data of the field device 10 acquired in step S5 to the controller 30a.

フィールド機器10の測定データをIOノード20から受信すると、ステップS7において、コントローラ30aの制御部301は、受信した測定データを記憶部302に記憶させるとともに、キャッシュサーバ40へ測定データを送信する。 When the measurement data of the field device 10 is received from the IO node 20, the control unit 301 of the controller 30a stores the received measurement data in the storage unit 302 and transmits the measurement data to the cache server 40 in step S7.

フィールド機器10の測定データをコントローラ30aから受信すると、ステップS8において、キャッシュサーバ40の制御部401は、受信した測定データをキャッシュデータベース45に記憶させるとともに、管理テーブル41を更新する。例えば、制御部401は、対応する制御グループの管理テーブル41において、該当する制御タイミングのIOノード20に対応する項目を、コントローラ30aの識別情報により更新してもよい。 When the measurement data of the field device 10 is received from the controller 30a, the control unit 401 of the cache server 40 stores the received measurement data in the cache database 45 and updates the management table 41 in step S8. For example, the control unit 401 may update the item corresponding to the IO node 20 at the corresponding control timing with the identification information of the controller 30a in the management table 41 of the corresponding control group.

一方、ステップS9において、コントローラ30aの制御部301は、ステップS7で取得した測定データに基づき、予め定められた演算を行う。例えば、コントローラ30aの制御アプリケーション部21aが演算を行ってもよい。演算内容は、フィールド機器10の種類等に応じて、予め設定されている。 On the other hand, in step S9, the control section 301 of the controller 30a performs predetermined calculation based on the measurement data acquired in step S7. For example, the control application unit 21a of the controller 30a may perform the calculation. The calculation content is set in advance according to the type of the field device 10 or the like.

ステップS10において、コントローラ30aの制御部301は、ステップS9の処理による演算結果をIOノード20へ送信する。なお、制御システム1aは、ステップS7,S8の前に、ステップS9,S10の処理を実行してもよい。 In step S<b>10 , the control unit 301 of the controller 30 a transmits to the IO node 20 the calculation result obtained by the process of step S<b>9 . Note that the control system 1a may execute the processes of steps S9 and S10 before steps S7 and S8.

コントローラ30aから演算結果を受信すると、ステップS11において、IOノード20の制御部201は、コントローラ30aから受信した演算結果を記憶部202に記憶させて保持する。 Upon receiving the calculation result from the controller 30a, in step S11, the control unit 201 of the IO node 20 causes the storage unit 202 to store and hold the calculation result received from the controller 30a.

次に、図10のステップS21において、コントローラ30bの制御部301は、キャッシュサーバ40に対し、IOノード20に接続されているフィールド機器10の測定データのキャッシュがキャッシュデータベース45に記憶されているか否かを問い合わせる。例えば、コントローラ30bの仮想化部34bが問い合わせを行ってもよい。 Next, in step S21 of FIG. 10, the control unit 301 of the controller 30b asks the cache server 40 whether or not the cache of the measurement data of the field device 10 connected to the IO node 20 is stored in the cache database 45. inquire whether For example, the inquiry may be made by the virtualization unit 34b of the controller 30b.

ステップS22において、キャッシュサーバ40の制御部401は、キャッシュサーバ40の制御部401は、ステップS21で問い合わせを受けた測定データのキャッシュが記憶されているか否かを判定する。例えば、制御部401は、管理テーブル41を参照し、該当する制御タイミング及びIOノード20について、コントローラ30のアクセスが記録されているか否かを判定して、キャッシュの有無を判定してもよい。図10の例は、該当する制御タイミングにおいて既にコントローラ30aがアクセスした場合を示しているため、制御部401は、キャッシュありと判定する。 In step S22, the control unit 401 of the cache server 40 determines whether or not the cache of the measurement data inquired in step S21 is stored. For example, the control unit 401 may refer to the management table 41 to determine whether or not access by the controller 30 is recorded for the corresponding control timing and IO node 20, thereby determining whether or not there is a cache. Since the example of FIG. 10 shows the case where the controller 30a has already accessed at the corresponding control timing, the control unit 401 determines that there is a cache.

そこで、ステップS23において、キャッシュサーバ40の制御部401は、図9のステップS8でキャッシュデータベース45に保持した測定データのキャッシュを読み出して取得する。具体的には、制御部401は、該当する制御グループのIOノード20の識別情報に対応づけて記憶された、該当する制御タイミングの測定データを取得してもよい。 Therefore, in step S23, the control unit 401 of the cache server 40 reads and acquires the cache of the measurement data held in the cache database 45 in step S8 of FIG. Specifically, the control unit 401 may acquire the measurement data of the relevant control timing stored in association with the identification information of the IO node 20 of the relevant control group.

ステップS24において、キャッシュサーバ40の制御部401は、ステップS23で取得した測定データのキャッシュをコントローラ30bへ送信する。 In step S24, the control unit 401 of the cache server 40 transmits the cache of the measurement data acquired in step S23 to the controller 30b.

測定データのキャッシュをキャッシュサーバ40から受信すると、ステップS25において、コントローラ30bの制御部301は、取得した測定データのキャッシュに基づき、予め定められた演算を行う。例えば、コントローラ30bの制御アプリケーション部21bが演算を行ってもよい。演算内容は、コントローラ30aが実行する演算と同一である。 Upon receiving the cached measurement data from the cache server 40, in step S25, the controller 301 of the controller 30b performs a predetermined calculation based on the acquired cached measurement data. For example, the control application unit 21b of the controller 30b may perform the calculation. The calculation content is the same as the calculation executed by the controller 30a.

ステップS26において、コントローラ30bの制御部301は、ステップS25の処理による演算結果をIOノード20へ送信する。 In step S<b>26 , the control unit 301 of the controller 30 b transmits to the IO node 20 the calculation result obtained by the process of step S<b>25 .

コントローラ30bから演算結果を受信すると、ステップS27において、IOノード20の制御部201は、図9のステップS11で保持したコントローラ30aによる演算結果と比較し、コントローラ30a,30bが正常に動作しているか否かを判定する。例えば、制御部201は、コントローラ30a,30bによる演算結果が一致した場合、各コントローラ30a,30bは正常に動作しており、そうでない場合は正常に動作していないと判定してもよい。制御システム1aが3つ以上のコントローラ30を備えている場合も同様に、制御部201は、全てのコントローラ30による演算結果が一致した場合、各コントローラ30は正常に動作しており、そうでない場合は正常に動作していないと判定してもよい。 Upon receiving the calculation result from the controller 30b, in step S27, the control unit 201 of the IO node 20 compares it with the calculation result of the controller 30a held in step S11 of FIG. 9 to determine whether the controllers 30a and 30b are operating normally. determine whether or not For example, the controller 201 may determine that the controllers 30a and 30b are operating normally when the calculation results of the controllers 30a and 30b match, and that they are not operating normally otherwise. Similarly, when the control system 1a includes three or more controllers 30, the control unit 201 determines that each controller 30 is operating normally if the calculation results of all the controllers 30 match; may be determined not to be operating normally.

ステップS28において、IOノード20の制御部201は、ステップS27で判定した結果を出力する。例えば、制御部201は、判定結果をログファイルとして、記憶部202に出力してもよい。あるいは、制御部201は、判定結果を表示装置(ディスプレイ)等に表示させたり、コントローラ30又はキャッシュサーバ40等の他の装置へ送信したりしてもよい。制御部201は、ステップS27において正常でないと判定された場合に、このような出力を行うようにしてもよい。 In step S28, the control unit 201 of the IO node 20 outputs the result determined in step S27. For example, the control unit 201 may output the determination result to the storage unit 202 as a log file. Alternatively, the control unit 201 may display the determination result on a display device (display) or the like, or transmit the determination result to another device such as the controller 30 or the cache server 40 . The control unit 201 may perform such an output when it is determined in step S27 that it is not normal.

以上のように、制御システム1aは、測定データを取得するフィールド機器10が接続されたIOノード20、フィールド機器10が取得した測定データに基づき演算を行う複数のコントローラ30a,30b、及び、キャッシュサーバ40を備える。複数のコントローラ30a,30bの各々の制御部301は、予め一定の周期で定められた一定期間である制御タイミングごとに、フィールド機器10が取得した測定データを保持しているか否かをキャッシュサーバ40に問い合わせるなどして判定する。制御部301は、キャッシュサーバ40が測定データを保持していない場合、IOノード20から、IOノード20に接続されたフィールド機器10が取得した測定データを取得する。制御部301は、キャッシュサーバ40が測定データを保持している場合、キャッシュサーバ40から、フィールド機器10が取得した測定データを取得する。制御部301は、IOノード20又はキャッシュサーバ40から受信した測定データに基づき、予め定められた演算を行う。したがって、仮にコントローラ30の動作タイミングがずれたとしても、全てのコントローラ30は、制御タイミングにおける同一の測定データに基づき演算を行うことが可能である。 As described above, the control system 1a includes the IO node 20 to which the field device 10 that acquires measurement data is connected, the plurality of controllers 30a and 30b that perform calculations based on the measurement data acquired by the field device 10, and the cache server. 40. The control unit 301 of each of the plurality of controllers 30a and 30b determines whether or not the field device 10 holds measurement data acquired by the cache server 40 at each control timing, which is a certain period of time determined in advance at regular intervals. determine by inquiring The control unit 301 acquires the measurement data acquired by the field device 10 connected to the IO node 20 from the IO node 20 when the cache server 40 does not hold the measurement data. The control unit 301 acquires the measurement data acquired by the field device 10 from the cache server 40 when the cache server 40 holds the measurement data. The control unit 301 performs predetermined calculations based on measurement data received from the IO node 20 or the cache server 40 . Therefore, even if the operation timings of the controllers 30 deviate, all the controllers 30 can perform calculations based on the same measurement data at the control timings.

なお、複数のコントローラ30a,30bの各々の制御部301は、制御タイミングごとに、IOノード20又はキャッシュサーバ40から受信した測定データに基づき、演算を行った結果である演算結果をIOノード20へ送信してもよい。IOノード20の制御部201は、制御タイミングごとに、複数のコントローラ30a,30bの各々から受信した演算結果を比較して、複数のコントローラ30a,30bの動作が正常であるか否かを判定してもよい。制御部201は、複数のコントローラ30a,30bの動作が正常であるか否かの判定結果を出力してもよい。このように、制御システム1aは、複数のコントローラ30a,30bの演算結果を比較することで、コントローラ30の異常を検出することができる。また、制御システム1aは、制御タイミング内に演算結果を送信できなかったコントローラ30a,30bの演算結果については、動作が異常であるか否かの判定に使用しないようにすることができる。 Note that the control unit 301 of each of the plurality of controllers 30a and 30b performs calculation based on the measurement data received from the IO node 20 or the cache server 40, and sends the calculation result to the IO node 20 at each control timing. You may send. The control unit 201 of the IO node 20 compares the calculation results received from each of the plurality of controllers 30a and 30b at each control timing to determine whether the operations of the plurality of controllers 30a and 30b are normal. may The control unit 201 may output a determination result as to whether the operations of the plurality of controllers 30a and 30b are normal. Thus, the control system 1a can detect an abnormality in the controller 30 by comparing the calculation results of the controllers 30a and 30b. In addition, the control system 1a can avoid using the calculation results of the controllers 30a and 30b that have failed to transmit the calculation results within the control timing for determining whether or not the operation is abnormal.

また、複数のコントローラ30a,30bの各々の制御部301は、IOノード20から、IOノード20に接続されたフィールド機器10が取得した測定データを取得した場合、取得した測定データをキャッシュサーバ40へ送信してもよい。キャッシュサーバ40の制御部401は、複数のコントローラ30a,30bに含まれるコントローラ30から測定データを受信した場合、その受信した測定データを記憶部402に保持させてもよい。したがって、制御システム1aは、最初にキャッシュサーバ40にアクセスしたコントローラ30の測定データをキャッシュして保持させることで、他のコントローラ30がこの測定データに基づき演算を行うことを可能にする。 Further, when the control unit 301 of each of the plurality of controllers 30a and 30b acquires the measurement data acquired by the field device 10 connected to the IO node 20 from the IO node 20, the acquired measurement data is transferred to the cache server 40. You may send. When receiving measurement data from the controllers 30 included in the plurality of controllers 30a and 30b, the control unit 401 of the cache server 40 may cause the storage unit 402 to hold the received measurement data. Therefore, the control system 1a caches and holds the measurement data of the controller 30 that first accessed the cache server 40, thereby enabling other controllers 30 to perform calculations based on this measurement data.

また、キャッシュサーバ40の制御部401は、制御タイミングごとに、測定データを受信したコントローラ30の識別情報を管理テーブル41に記録してもよい。このように、測定データのキャッシュを送信したコントローラ30の識別情報を記録することで、キャッシュデータを送信したコントローラ30を特定することができる。 Also, the control unit 401 of the cache server 40 may record the identification information of the controller 30 that has received the measurement data in the management table 41 at each control timing. In this way, by recording the identification information of the controller 30 that has sent the measurement data cache, the controller 30 that has sent the cache data can be specified.

また、キャッシュサーバ40の制御部401は、制御タイミングごとに、複数のコントローラ30a,30bに含まれるいずれかのコントローラ30(例えば、コントローラ30a)から、フィールド機器10が取得した測定データを保持しているか否かの問合せを初めて受けてからそのコントローラ30aから測定データを受信するまで、他のコントローラ30(例えば、コントローラ30b)からの問合せに対する回答を保留してもよい。具体的には、例えば、図9のステップS1でコントローラ30aから問い合わせを受けてから、ステップS8で測定データをキャッシュに保持するまで、コントローラ30bから問い合わせを受けても(S21)、すぐに回答しないようにしてもよい。これにより、あるコントローラ30aがIOノード20から測定データを取得している間に他のコントローラ30bから問い合わせがあった場合に、他のコントローラ30bもIOノード20にアクセスすることなく、全てのコントローラが同一の測定データを取得することを保証することができる。 Further, the control unit 401 of the cache server 40 holds measurement data acquired by the field device 10 from one of the controllers 30 (for example, the controller 30a) included in the plurality of controllers 30a and 30b at each control timing. A reply to an inquiry from another controller 30 (for example, the controller 30b) may be withheld from the first inquiry as to whether or not the controller 30a is received until measurement data is received from the controller 30a. Specifically, for example, even if an inquiry is received from the controller 30b (S21) from the time the inquiry is received from the controller 30a in step S1 of FIG. You may do so. As a result, when an inquiry is received from another controller 30b while a certain controller 30a is acquiring measurement data from the IO node 20, all the controllers can access the IO node 20 without the other controller 30b Acquisition of the same measurement data can be guaranteed.

なお、以上の実施形態例においては、キャッシュサーバ40が管理テーブル41を保持している例を説明したが、コントローラ30の各々も、キャッシュサーバ40の管理テーブル41(第1の管理テーブル)と同期して管理された管理テーブル(第2の管理テーブル)を保持するようにしてもよい。このような構成によれば、コントローラ30は、キャッシュサーバ40に問い合わせることなく、測定データの取得先がIOノード20とキャッシュサーバ40のいずれであるかを判定することができる。また、IOノード20が定期的にフィールド機器10から測定データを取得する例を説明したが、このような処理に限られない。例えば、フィールド機器10a,10bがそれぞれ独立に測定データをIOノード20に送信するようにしてもよい。 In the above embodiment, the cache server 40 holds the management table 41, but each controller 30 also synchronizes with the management table 41 (first management table) of the cache server 40. A management table (second management table) managed in this manner may be held. According to such a configuration, the controller 30 can determine whether the acquisition destination of the measurement data is the IO node 20 or the cache server 40 without inquiring of the cache server 40 . Also, although an example in which the IO node 20 periodically acquires measurement data from the field device 10 has been described, the processing is not limited to such processing. For example, the field devices 10 a and 10 b may independently transmit measurement data to the IO node 20 .

<実施形態2>
実施形態1では、コントローラ30の仮想化部34において測定データの取得先を制御する例を説明したが、ネットワーク(NW)スイッチ等の他の装置が測定データの取得先を制御するようにしてもよい。
<Embodiment 2>
In the first embodiment, an example in which the virtualization unit 34 of the controller 30 controls the acquisition destination of the measurement data has been described. good.

(制御システム)
図11は、実施形態2に係る制御システム1bの概略構成例を示す図である。制御システム1bは、フィールド機器10(10a,10b)、IOノード20、コントローラ30(30a,30b)、キャッシュサーバ40、ネットワーク50、及び、ネットワークスイッチ60を備える。フィールド機器10(10a,10b)、IOノード20、コントローラ30(30a,30b)、キャッシュサーバ40、及び、ネットワーク50の機能及び構成は、図2の制御システム1aと同様であるため、実施形態1の構成と相違する内容についてのみ説明する。
(control system)
FIG. 11 is a diagram showing a schematic configuration example of a control system 1b according to the second embodiment. The control system 1 b includes field devices 10 ( 10 a, 10 b ), IO nodes 20 , controllers 30 ( 30 a, 30 b ), cache servers 40 , networks 50 and network switches 60 . Since the functions and configurations of the field devices 10 (10a, 10b), IO nodes 20, controllers 30 (30a, 30b), cache servers 40, and networks 50 are the same as those of the control system 1a of FIG. Only the content different from the configuration of is explained.

制御システム1bにおいては、キャッシュサーバ40に代えて、又は、キャッシュサーバ40とともに、ネットワークスイッチ60は管理テーブル61を保持する。ネットワークスイッチ60の管理テーブル61は、キャッシュサーバ40の管理テーブル41と同様であり、例えば、図4及び図5に例示した内容と同一の情報を含んでもよい。制御システム1bにおいて、複数のコントローラ30a,30bは、制御タイミングごとに、フィールド機器10が取得した測定データのIOノード20に対する要求をネットワークスイッチ60へ送信する。ネットワークスイッチ60は、管理テーブル61を参照して、キャッシュサーバ40が測定データを保持しているか否かを判定する。ネットワークスイッチ60は、キャッシュサーバ40が測定データを保持していない場合、IOノード20に、IOノード20に接続されたフィールド機器10が取得した測定データを、ネットワークスイッチ60を介してコントローラ30へ送信させる。ネットワークスイッチ60は、IOノード20から受信した測定データをキャッシュサーバ40に送信して保持させる。一方、ネットワークスイッチ60は、キャッシュサーバ40が測定データを保持している場合、キャッシュサーバ40に、フィールド機器10が取得した測定データをコントローラ30へ送信させる。複数のコントローラ30の各々は、IOノード20又はキャッシュサーバ40から受信した測定データに基づき、予め定められた演算を行う。具体的には、ネットワークスイッチ60は、例えば、コントローラ30、IOノード20、及び、キャッシュサーバ40から受信したパケットのIPアドレス等を書き換えることで通信先を切り替えるようにしてもよい。 In the control system 1b, the network switch 60 holds a management table 61 instead of the cache server 40 or together with the cache server 40. FIG. The management table 61 of the network switch 60 is similar to the management table 41 of the cache server 40, and may contain the same information as the contents illustrated in FIGS. 4 and 5, for example. In the control system 1b, the plurality of controllers 30a and 30b transmit a request to the IO node 20 for measurement data acquired by the field device 10 to the network switch 60 at each control timing. The network switch 60 refers to the management table 61 to determine whether the cache server 40 holds measurement data. When the cache server 40 does not hold the measurement data, the network switch 60 transmits the measurement data acquired by the field device 10 connected to the IO node 20 to the controller 30 via the network switch 60. Let The network switch 60 transmits the measurement data received from the IO node 20 to the cache server 40 to hold it. On the other hand, when the cache server 40 holds measurement data, the network switch 60 causes the cache server 40 to transmit the measurement data acquired by the field device 10 to the controller 30 . Each of the plurality of controllers 30 performs predetermined calculations based on measurement data received from the IO nodes 20 or cache servers 40 . Specifically, the network switch 60 may switch the communication destination by rewriting the IP address or the like of the packet received from the controller 30, the IO node 20, and the cache server 40, for example.

このような構成によれば、コントローラ30から見ると、同一の装置にアクセスしているように見えながら、実際は、キャッシュの有無に応じて、IOノード20、又は、キャッシュサーバ40から、全コントローラ30へ共通の測定データを取得させることができる。なお、ネットワークスイッチ60を備えた構成においても、アクセス先の切り替えを、ネットワークスイッチ60ではなく、各コントローラ30のアクセス経路制御部32が実行するようにしてもよい。 According to such a configuration, when viewed from the controller 30, it appears that the same device is being accessed. to acquire common measurement data. Note that even in a configuration including the network switch 60 , the access destination switching may be performed by the access route control section 32 of each controller 30 instead of the network switch 60 .

(ネットワークスイッチ)
図12は、図11のネットワークスイッチ60のハードウェア構成例を示すブロック図である。ネットワークスイッチ60は、1つ又は互いに通信可能な複数のコンピュータ装置である。ネットワークスイッチ60は、例えば、FPGA又はプラント等の制御用に設計された専用コンピュータ等により実現されるが、PC等の汎用の装置により実現されてもよい。図12に示すように、ネットワークスイッチ60は、制御部601、記憶部602、及び、通信部603を備える。ネットワークスイッチ60の制御部601、記憶部602、及び、通信部603は、IOノード20の制御部201、記憶部202、及び、通信部203と同様に実現されるため、詳細な説明を省略する。また、IOノード20と同様に、ネットワークスイッチ60の機能は、本実施形態に係るプログラムを、制御部601に含まれるプロセッサで実行することにより実現されうる。
(network switch)
FIG. 12 is a block diagram showing a hardware configuration example of the network switch 60 of FIG. 11. As shown in FIG. Network switch 60 is one or more computer devices that can communicate with each other. The network switch 60 is implemented by, for example, an FPGA or a dedicated computer designed for control of a plant or the like, but may be implemented by a general-purpose device such as a PC. As shown in FIG. 12 , the network switch 60 includes a control section 601 , a storage section 602 and a communication section 603 . The control unit 601, the storage unit 602, and the communication unit 603 of the network switch 60 are realized in the same manner as the control unit 201, the storage unit 202, and the communication unit 203 of the IO node 20, so detailed description thereof will be omitted. . Also, like the IO node 20 , the functions of the network switch 60 can be realized by executing the program according to the present embodiment by the processor included in the control unit 601 .

(制御システムの動作)
図13及び図14は、一実施形態に係る制御システム1bの動作例を示すシーケンスチャートである。図13及び図14を参照して説明する制御システム11bの動作は、制御システム1bの制御方法の一つに相当してもよい。図13及び図14の各ステップの動作は、IOノード20の制御部201、コントローラ30の制御部301、キャッシュサーバ40の制御部401、又は、ネットワークスイッチ60の制御部601による制御に基づき実行されてもよい。図13及び図14の処理は、制御タイミングごと、例えば、1秒ごとに実行される。図13及び図14は、ある制御タイミングにおいて、まずコントローラ30aがネットワークスイッチ60にアクセスし、その後、コントローラ30bがネットワークスイッチ60にアクセスしている例を示している。図13は、コントローラ30aが測定データを取得して演算を行う処理を示している。図14は、コントローラ30bが測定データを取得して演算を行う処理を示している。以下、図11のように、制御システム1bは1つのIOノード20を備える例を説明する。
(Operation of control system)
13 and 14 are sequence charts showing an operation example of the control system 1b according to one embodiment. The operation of the control system 11b described with reference to FIGS. 13 and 14 may correspond to one control method of the control system 1b. 13 and 14 are executed under the control of the control unit 201 of the IO node 20, the control unit 301 of the controller 30, the control unit 401 of the cache server 40, or the control unit 601 of the network switch 60. may The processing in FIGS. 13 and 14 is executed at each control timing, for example, every second. 13 and 14 show examples in which the controller 30a first accesses the network switch 60 and then the controller 30b accesses the network switch 60 at certain control timings. FIG. 13 shows processing in which the controller 30a obtains measurement data and performs calculation. FIG. 14 shows processing in which the controller 30b obtains measurement data and performs calculation. An example in which the control system 1b includes one IO node 20 as shown in FIG. 11 will be described below.

図13のステップS31において、コントローラ30aの制御部301は、ネットワークスイッチ60に対し、IOノード20に接続されているフィールド機器10の測定データを要求する。例えば、コントローラ30aのアクセス経路制御部32aが要求を行ってもよい。 In step S31 of FIG. 13, the control unit 301 of the controller 30a requests the network switch 60 for measurement data of the field device 10 connected to the IO node 20. FIG. For example, the access route control unit 32a of the controller 30a may make the request.

ステップS32において、ネットワークスイッチ60の制御部601は、ステップS31で要求を受けた測定データのキャッシュがキャッシュサーバ40に記憶されているか否かを判定する。例えば、制御部601は、自装置が保持する管理テーブル61を参照し、該当する制御タイミング及びIOノード20について、コントローラ30のアクセスが記録されているか否かを判定して、キャッシュの有無を判定してもよい。図13の例は、ある制御タイミングにおいてコントローラ30aが初めてアクセスした場合を示しているため、制御部601は、キャッシュなしと判定する(ステップS33)。 In step S32, the control unit 601 of the network switch 60 determines whether or not the cache server 40 stores the measurement data requested in step S31. For example, the control unit 601 refers to the management table 61 held by its own device, and determines whether or not access by the controller 30 is recorded for the corresponding control timing and IO node 20, and determines whether or not there is a cache. You may Since the example of FIG. 13 shows the case where the controller 30a accesses for the first time at a certain control timing, the control unit 601 determines that there is no cache (step S33).

ステップS34において、ネットワークスイッチ60の制御部601は、IOノード20に対して、フィールド機器10の測定データを要求する。例えば、制御部601は、ステップS31でコントローラ30aから受信したパケットのIPアドレス等を書き換えて、測定データの要求をIOノード20へ送信してもよい。 In step S<b>34 , the control unit 601 of the network switch 60 requests the IO node 20 for measurement data of the field device 10 . For example, the control unit 601 may rewrite the IP address or the like of the packet received from the controller 30a in step S31 and transmit the measurement data request to the IO node 20 .

ネットワークスイッチ60から測定データの要求を受信すると、ステップS35において、IOノード20の制御部201は、フィールド機器10の測定データを取得する。前述のように、IOノード20は、一定周期(例えば、1秒ごと)でフィールド機器10から測定データを収集し、収集した測定データを記憶部202に記憶させる。そこで、制御部201は、記憶部202から測定データを読み出して、測定データを取得する。なお、制御部201は、ネットワークスイッチ60から測定データの要求を受信したことに応じて、フィールド機器10から測定データを取得してもよい。 Upon receiving the measurement data request from the network switch 60, the control unit 201 of the IO node 20 acquires the measurement data of the field device 10 in step S35. As described above, the IO node 20 collects measurement data from the field device 10 at regular intervals (for example, every second) and stores the collected measurement data in the storage unit 202 . Therefore, the control unit 201 reads the measurement data from the storage unit 202 and acquires the measurement data. Note that the control unit 201 may acquire measurement data from the field device 10 in response to receiving a request for measurement data from the network switch 60 .

ステップS36において、IOノード20の制御部201は、ステップS35で取得したフィールド機器10の測定データをネットワークスイッチ60へ送信する。 At step S<b>36 , the control unit 201 of the IO node 20 transmits the measurement data of the field device 10 acquired at step S<b>35 to the network switch 60 .

ステップS37において、ネットワークスイッチ60の制御部601は、フィールド機器10の測定データをIOノード20から受信して取得する。 In step S<b>37 , the control unit 601 of the network switch 60 receives and acquires the measurement data of the field device 10 from the IO node 20 .

ステップS38において、ネットワークスイッチ60の制御部601は、ステップS37で取得した測定データをコントローラ30aへ送信する。例えば、制御部601は、ステップS36でIOノード20から受信したパケットのIPアドレス等を書き換えて、測定データをコントローラ30aへ送信してもよい。 At step S38, the controller 601 of the network switch 60 transmits the measurement data obtained at step S37 to the controller 30a. For example, the control unit 601 may rewrite the IP address or the like of the packet received from the IO node 20 in step S36 and transmit the measurement data to the controller 30a.

ステップS39において、ネットワークスイッチ60の制御部601は、ステップS37で取得した測定データをキャッシュサーバ40へ送信する。 In step S<b>39 , the control unit 601 of the network switch 60 transmits the measurement data acquired in step S<b>37 to the cache server 40 .

ステップS40において、ネットワークスイッチ60の制御部601は、管理テーブル61を更新する。例えば、制御部401は、対応する制御グループの管理テーブル61において、該当する制御タイミングのIOノード20に対応する項目を、コントローラ30aの識別情報により更新してもよい。 At step S<b>40 , the control unit 601 of the network switch 60 updates the management table 61 . For example, the control unit 401 may update the item corresponding to the IO node 20 at the corresponding control timing with the identification information of the controller 30a in the management table 61 of the corresponding control group.

一方、ステップS41において、コントローラ30aの制御部301は、ステップS38で取得した測定データに基づき、予め定められた演算を行う。例えば、コントローラ30aの制御アプリケーション部21aが演算を行ってもよい。演算内容は、フィールド機器10の種類等に応じて、予め設定されている。 On the other hand, in step S41, the control unit 301 of the controller 30a performs predetermined calculation based on the measurement data acquired in step S38. For example, the control application unit 21a of the controller 30a may perform the calculation. The calculation content is set in advance according to the type of the field device 10 or the like.

ステップS42において、コントローラ30aの制御部301は、ステップS41の処理による演算結果をIOノード20へ送信する。なお、制御システム1bは、ステップS39,S40の前に、ステップS41,S42の処理を実行してもよい。 In step S<b>42 , the control unit 301 of the controller 30 a transmits to the IO node 20 the computation result obtained by the process of step S<b>41 . Note that the control system 1b may execute the processes of steps S41 and S42 before steps S39 and S40.

コントローラ30aから演算結果を受信すると、ステップS43において、IOノード20の制御部201は、コントローラ30aから受信した演算結果を記憶部202に記憶させて保持する。 Upon receiving the calculation result from the controller 30a, in step S43, the control unit 201 of the IO node 20 causes the storage unit 202 to store and hold the calculation result received from the controller 30a.

一方、キャッシュサーバ40の制御部401は、フィールド機器10の測定データをネットワークスイッチ60から受信すると、ステップS44において、受信した測定データをキャッシュデータベース45に記憶させるとともに、管理テーブル41を更新する。例えば、制御部401は、対応する制御グループの管理テーブル41において、該当する制御タイミングのIOノード20に対応する項目を、コントローラ30aの識別情報により更新してもよい。 On the other hand, when the control unit 401 of the cache server 40 receives the measurement data of the field device 10 from the network switch 60, it stores the received measurement data in the cache database 45 and updates the management table 41 in step S44. For example, the control unit 401 may update the item corresponding to the IO node 20 at the corresponding control timing with the identification information of the controller 30a in the management table 41 of the corresponding control group.

次に、図14のステップS51において、コントローラ30bの制御部301は、ネットワークスイッチ60に対し、IOノード20に接続されているフィールド機器10の測定データを要求する。例えば、コントローラ30bの仮想化部34bが要求を行ってもよい。 Next, in step S51 of FIG. 14, the control section 301 of the controller 30b requests the network switch 60 for measurement data of the field device 10 connected to the IO node 20. FIG. For example, the request may be made by the virtualization unit 34b of the controller 30b.

ステップS52において、ネットワークスイッチ60の制御部601は、ステップS51で要求を受けた測定データのキャッシュがキャッシュサーバ40に記憶されているか否かを判定する。例えば、制御部601は、管理テーブル61を参照し、該当する制御タイミング及びIOノード20について、コントローラ30のアクセスが記録されているか否かを判定して、キャッシュの有無を判定してもよい。図14の例は、該当する制御タイミングにおいて既にコントローラ30aがアクセスした場合を示しているため、制御部601は、キャッシュありと判定する(ステップS53)。 In step S52, the control unit 601 of the network switch 60 determines whether or not the cache server 40 stores the measurement data requested in step S51. For example, the control unit 601 may refer to the management table 61 to determine whether or not access by the controller 30 is recorded for the corresponding control timing and IO node 20, thereby determining whether or not there is a cache. Since the example of FIG. 14 shows the case where the controller 30a has already accessed at the corresponding control timing, the control unit 601 determines that there is a cache (step S53).

そこで、ステップS54において、ネットワークスイッチ60の制御部601は、キャッシュサーバ40に対し、図13のステップS44でキャッシュデータベース45に保持した測定データのキャッシュを要求する。例えば、制御部601は、ステップS51でコントローラ30bから受信したパケットのIPアドレス等を書き換えて、測定データの要求をキャッシュサーバ40へ送信してもよい。具体的には、制御部601は、該当する制御グループのIOノード20の識別情報に対応づけて記憶された、該当する制御タイミングの測定データのキャッシュを要求してもよい。 Therefore, in step S54, the control unit 601 of the network switch 60 requests the cache server 40 to cache the measurement data held in the cache database 45 in step S44 of FIG. For example, the control unit 601 may rewrite the IP address or the like of the packet received from the controller 30b in step S51 and transmit the measurement data request to the cache server 40 . Specifically, the control unit 601 may request caching of measurement data of the relevant control timing stored in association with the identification information of the IO node 20 of the relevant control group.

ステップS55において、キャッシュサーバ40の制御部401は、ネットワークスイッチ60により要求された測定データのキャッシュをキャッシュデータベース45から取得する。 In step S<b>55 , the control unit 401 of the cache server 40 acquires the cache of the measurement data requested by the network switch 60 from the cache database 45 .

ステップS56において、キャッシュサーバ40の制御部401は、ステップS55で取得した測定データのキャッシュをネットワークスイッチ60へ送信する。 In step S<b>56 , the control unit 401 of the cache server 40 transmits the cache of the measurement data acquired in step S<b>55 to the network switch 60 .

ステップS57において、ネットワークスイッチ60の制御部601は、フィールド機器10の測定データのキャッシュをキャッシュサーバ40から受信して取得する。 In step S<b>57 , the control unit 601 of the network switch 60 receives and acquires the cache of the measurement data of the field device 10 from the cache server 40 .

ステップS58において、ネットワークスイッチ60の制御部601は、ステップS57で取得した測定データのキャッシュをコントローラ30bへ送信する。例えば、制御部601は、ステップS56でキャッシュサーバ40から受信したパケットのIPアドレス等を書き換えて、測定データのキャッシュをコントローラ30bへ送信してもよい。 In step S58, the control unit 601 of the network switch 60 transmits the cached measurement data acquired in step S57 to the controller 30b. For example, the control unit 601 may rewrite the IP address or the like of the packet received from the cache server 40 in step S56 and transmit the cached measurement data to the controller 30b.

測定データのキャッシュを取得すると、ステップS59において、コントローラ30bの制御部301は、取得した測定データのキャッシュに基づき、予め定められた演算を行う。例えば、コントローラ30bの制御アプリケーション部21bが演算を行ってもよい。演算内容は、コントローラ30aが実行する演算と同一である。 After acquiring the cached measurement data, in step S59, the controller 301 of the controller 30b performs a predetermined calculation based on the acquired cached measurement data. For example, the control application unit 21b of the controller 30b may perform the calculation. The calculation content is the same as the calculation executed by the controller 30a.

ステップS60において、コントローラ30bの制御部301は、ステップS59の処理による演算結果をIOノード20へ送信する。 In step S<b>60 , the control unit 301 of the controller 30 b transmits to the IO node 20 the calculation result obtained by the process of step S<b>59 .

コントローラ30bから演算結果を受信すると、ステップS61において、IOノード20の制御部201は、図13のステップS43で保持したコントローラ30aによる演算結果と比較し、コントローラ30a,30bが正常に動作しているか否かを判定する。例えば、制御部201は、コントローラ30a,30bによる演算結果が一致した場合、各コントローラ30a,30bは正常に動作しており、そうでない場合は正常に動作していないと判定してもよい。制御システム1bが3つ以上のコントローラ30を備えている場合も同様に、制御部201は、全てのコントローラ30による演算結果が一致した場合、各コントローラ30は正常に動作しており、そうでない場合は正常に動作していないと判定してもよい。 Upon receiving the calculation result from the controller 30b, in step S61, the control unit 201 of the IO node 20 compares it with the calculation result of the controller 30a held in step S43 of FIG. determine whether or not For example, the controller 201 may determine that the controllers 30a and 30b are operating normally when the calculation results of the controllers 30a and 30b match, and that they are not operating normally otherwise. Similarly, when the control system 1b includes three or more controllers 30, the control unit 201 determines that each controller 30 is operating normally if the calculation results of all the controllers 30 match; may be determined not to be operating normally.

ステップS62において、IOノード20の制御部201は、ステップS61で判定した結果を出力する。例えば、制御部201は、判定結果をログファイルとして、記憶部202に出力してもよい。あるいは、制御部201は、判定結果を表示装置(ディスプレイ)等に表示させたり、コントローラ30、キャッシュサーバ40、又は、ネットワークスイッチ60等の他の装置へ送信したりしてもよい。制御部201は、ステップS61において正常でないと判定された場合に、このような出力を行うようにしてもよい。 In step S62, the control unit 201 of the IO node 20 outputs the result determined in step S61. For example, the control unit 201 may output the determination result to the storage unit 202 as a log file. Alternatively, the control unit 201 may display the determination result on a display device (display) or the like, or transmit the determination result to another device such as the controller 30, the cache server 40, or the network switch 60. The control unit 201 may make such an output when it is determined in step S61 that it is not normal.

以上のように、本開示に係る制御システム1a,1bによれば、非同期に動作する複数のコントローラ30間で同じタイミングのデータを取得することができる。したがって、各コントローラ30の動作が高精度に同期していなくても、各コントローラ30の演算結果を比較して、コントローラ30の異常を検出することが可能である。 As described above, according to the control systems 1a and 1b according to the present disclosure, it is possible to acquire data at the same timing among the plurality of controllers 30 that operate asynchronously. Therefore, even if the operation of each controller 30 is not synchronized with high accuracy, it is possible to detect an abnormality in the controller 30 by comparing the calculation results of each controller 30 .

また、制御システム1a,1bの手法は、マルチキャスト又はブロードキャスト等におけるpub/sub通信でのパケットの到達保証に応用してもよい。マルチキャスト又はブロードキャストを利用してpub/sub通信を行う場合、通信プロトコルにはUDP(User Datagram Protocol)を使用する。UDPはTCP(Transmission Control Protocol)と異なり送達確認の仕組みがなく、送信されたデータを確実に受信できる保証がない。そのため受信できなかった場合の処理が必要になる。 Also, the technique of the control systems 1a and 1b may be applied to packet arrival assurance in pub/sub communication such as multicast or broadcast. When performing pub/sub communication using multicast or broadcast, UDP (User Datagram Protocol) is used as a communication protocol. Unlike TCP (Transmission Control Protocol), UDP does not have a delivery confirmation mechanism, and there is no guarantee that transmitted data can be reliably received. Therefore, it is necessary to perform processing when reception is not possible.

例えば、図2の制御システム1aにおいて、IOノード20が、任意のタイミングでフィールド機器10から測定データを取得し、コントローラ30及びキャッシュサーバ40を含む各ノードへ制御タイミング情報(T001)及び測定データを配布(publish)する場合を考える。この場合、各ノード(コントローラ30a,30b、及び、キャッシュサーバ40)はIOノード20からのデータを待ち受け、受信(subscribe)する。コントローラ30は、制御タイミングT001で使用するノードの測定データを受信できた場合、そのデータを使用して演算を行う。また、コントローラ30は、受信した測定データをキャッシュサーバ40に保持させる。コントローラ30a,30bは、使用する測定データが受信できなかった場合、キャッシュサーバ40にデータ取得要求を送信し、データを取得する。 For example, in the control system 1a of FIG. 2, the IO node 20 acquires measurement data from the field device 10 at arbitrary timing, and sends control timing information (T001) and measurement data to each node including the controller 30 and the cache server 40. Consider the case of publishing. In this case, each node (controllers 30 a and 30 b and cache server 40 ) waits for data from the IO node 20 and subscribes. When the controller 30 can receive the measurement data of the node to be used at the control timing T001, the data is used to perform the calculation. Also, the controller 30 causes the cache server 40 to hold the received measurement data. When the controllers 30a and 30b cannot receive the measurement data to be used, they transmit a data acquisition request to the cache server 40 and acquire the data.

このように、コントローラ30は、制御タイミングにおける測定データを受信できた場合はその測定データに基づき演算を行うとともに、測定データをキャッシュサーバ40に保持させる。コントローラ30は、制御タイミングにおける測定データを受信できなかった場合は、キャッシュサーバ40にアクセスして必要な測定データを取得し、所定の演算を行う。したがって、コントローラ30からIOノード20へアクセスするのではなく、IOノード20からフィールド機器10の測定データをマルチキャスト又はブロードキャストする場合においても、各コントローラ30は、同一の測定データに基づき演算できる。よって、各コントローラ30の演算結果を比較して、コントローラ30の異常を検知することが可能である。 In this way, when the controller 30 can receive the measurement data at the control timing, the controller 30 performs the calculation based on the measurement data and causes the cache server 40 to hold the measurement data. When the controller 30 fails to receive the measured data at the control timing, it accesses the cache server 40 to acquire necessary measured data and performs a predetermined calculation. Therefore, even when the measurement data of the field device 10 is multicast or broadcast from the IO node 20 instead of accessing the IO node 20 from the controller 30, each controller 30 can perform calculations based on the same measurement data. Therefore, it is possible to detect an abnormality in the controller 30 by comparing the calculation results of each controller 30 .

本開示は上述の実施形態に限定されるものではない。例えば、ブロック図に記載の複数のブロックは統合されてもよいし、又は1つのブロックは分割されてもよい。フローチャートに記載の複数のステップは、記述に従って時系列に実行する代わりに、各ステップを実行する装置の処理能力に応じて、又は必要に応じて、並列的に又は異なる順序で実行されてもよい。その他、本開示の趣旨を逸脱しない範囲での変更が可能である。 The disclosure is not limited to the embodiments described above. For example, multiple blocks shown in the block diagrams may be combined, or a single block may be divided. Instead of being performed in chronological order according to the description, multiple steps described in the flowcharts may be performed in parallel or in a different order depending on the processing power of the device performing each step or as required. . Other modifications are possible without departing from the scope of the present disclosure.

1,1a 制御システム
10 フィールド機器
20 IOノード
21 制御アプリケーション部
22 仮想化部
23 通信制御部
24 アクセス経路制御部
201 制御部
202 記憶部
203 通信部
30 コントローラ
31 制御アプリケーション部
32 仮想化部
33 通信制御部
34 アクセス経路制御部
301 制御部
302 記憶部
303 通信部
40 キャッシュサーバ
41 管理テーブル
42 仮想化部
43 通信制御部
44 アクセス経路制御部
45 キャッシュデータベース
401 制御部
402 記憶部
403 通信部
50 ネットワーク
60 ネットワークスイッチ
61 管理テーブル
601 制御部
602 記憶部
603 通信部
1, 1a control system 10 field device 20 IO node 21 control application unit 22 virtualization unit 23 communication control unit 24 access route control unit 201 control unit 202 storage unit 203 communication unit 30 controller 31 control application unit 32 virtualization unit 33 communication control Unit 34 Access route control unit 301 Control unit 302 Storage unit 303 Communication unit 40 Cache server 41 Management table 42 Virtualization unit 43 Communication control unit 44 Access route control unit 45 Cache database 401 Control unit 402 Storage unit 403 Communication unit 50 Network 60 Network Switch 61 Management Table 601 Control Unit 602 Storage Unit 603 Communication Unit

Claims (7)

測定データを取得するフィールド機器が接続されたIOノードと、
前記フィールド機器が取得した前記測定データに基づき演算を行う複数のコントローラと、
ネットワークスイッチと、
キャッシュサーバと、
を備え、
前記複数のコントローラの各々は、予め一定の周期で定められた一定期間である制御タイミングごとに、前記フィールド機器が取得した前記測定データに対する要求を前記ネットワークスイッチへ送信し、
前記ネットワークスイッチは、
前記複数のコントローラのいずれかから前記測定データに対する前記要求を受けたことに応じて、前記キャッシュサーバが前記測定データを保持しているか否かを前記制御タイミングごとに示す情報を含む管理テーブルに基づき、前記キャッシュサーバが前記測定データを保持しているか否かを判定し、
前記キャッシュサーバが前記測定データを保持していない場合、前記IOノードに、前記ネットワークスイッチを介して、当該IOノードに接続された前記フィールド機器が取得した前記測定データを前記コントローラへ送信させ、
前記キャッシュサーバが前記測定データを保持している場合、当該キャッシュサーバに、前記ネットワークスイッチを介して、前記フィールド機器が取得した前記測定データを前記コントローラへ送信させ、
前記複数のコントローラの各々は、前記IOノード又は前記キャッシュサーバから受信した前記測定データに基づき、予め定められた演算を行う、
制御システム。
an IO node to which a field device that acquires measurement data is connected;
a plurality of controllers that perform calculations based on the measurement data acquired by the field devices;
a network switch;
a cache server;
with
Each of the plurality of controllers transmits a request for the measurement data acquired by the field device to the network switch at each control timing, which is a constant period defined in advance at a constant cycle;
The network switch is
based on a management table including information indicating whether or not the cache server holds the measurement data for each control timing in response to receiving the request for the measurement data from any one of the plurality of controllers; , determining whether the cache server holds the measurement data;
if the cache server does not hold the measurement data, causing the IO node to transmit the measurement data obtained by the field device connected to the IO node to the controller via the network switch;
if the cache server holds the measurement data, causing the cache server to transmit the measurement data acquired by the field device to the controller via the network switch;
each of the plurality of controllers performs a predetermined operation based on the measurement data received from the IO node or the cache server;
control system.
前記ネットワークスイッチは、
前記キャッシュサーバが前記測定データを保持していない場合、前記IOノードに対して前記測定データを要求し、
前記要求に基づき前記IOノードから前記測定データを受信したことに応じて、当該測定データを、前記コントローラへ送信するとともに、前記測定データを前記キャッシュサーバへ送信して前記測定データのキャッシュとして記憶させる、
請求項1に記載の制御システム。
The network switch is
if the cache server does not hold the measurement data, requesting the measurement data from the IO node;
In response to receiving the measurement data from the IO node based on the request, the measurement data is transmitted to the controller, and the measurement data is transmitted to the cache server to be stored as a cache of the measurement data. ,
A control system according to claim 1 .
前記ネットワークスイッチは、
前記キャッシュサーバが前記測定データを保持している場合、前記キャッシュサーバに対して前記測定データのキャッシュを要求し、
前記要求に基づき前記キャッシュサーバから前記測定データのキャッシュを受信したことに応じて、当該測定データのキャッシュを前記コントローラへ送信する、
請求項1に記載の制御システム。
The network switch is
if the cache server holds the measurement data, requesting the cache server to cache the measurement data;
transmitting the cache of the measurement data to the controller in response to receiving the cache of the measurement data from the cache server based on the request;
A control system according to claim 1 .
前記ネットワークスイッチは、前記制御タイミングごとに、前記測定データを受信した前記コントローラの識別情報を含む情報を前記管理テーブルとして保持する、請求項に記載の制御システム。 4. The control system according to claim 3 , wherein said network switch holds, as said management table, information including identification information of said controller that has received said measurement data for each of said control timings. 前記複数のコントローラの各々は、前記制御タイミングごとに、前記ネットワークスイッチを介して受信した前記測定データに基づき、前記演算を行った結果である演算結果を前記IOノードへ送信し、
前記IOノードは、
前記制御タイミングごとに、前記複数のコントローラの各々から受信した前記演算結果を比較して、前記複数のコントローラの動作が正常であるか否かを判定し、
前記複数のコントローラの動作が正常であるか否かの判定結果を出力する、
請求項1に記載の制御システム。
each of the plurality of controllers transmits a calculation result, which is a result of performing the calculation, to the IO node at each control timing based on the measurement data received via the network switch;
The IO node is
comparing the calculation results received from each of the plurality of controllers at each control timing to determine whether the operation of the plurality of controllers is normal;
outputting a determination result as to whether the operation of the plurality of controllers is normal;
A control system according to claim 1 .
フィールド機器の制御システムに用いられるネットワークスイッチであって、
前記フィールド機器が取得した測定データに対する要求をコントローラから受信したことに応じて、キャッシュサーバが前記測定データを保持しているか否かを示す情報を含む管理テーブルに基づき、前記キャッシュサーバが前記測定データを保持しているか否かを判定し、
前記キャッシュサーバが前記測定データを保持していない場合、前記フィールド機器が接続されたIOノードへ、前記測定データに対する要求を送信し、
前記キャッシュサーバが前記測定データを保持している場合、当該キャッシュサーバへ、前記測定データ対する要求を送信する、
ネットワークスイッチ。
A network switch used in a field device control system,
In response to receiving from a controller a request for the measurement data acquired by the field device , the cache server receives the measurement data based on a management table containing information indicating whether the cache server holds the measurement data. is held ,
if the cache server does not hold the measurement data, sending a request for the measurement data to the IO node to which the field device is connected;
if the cache server holds the measurement data, sending a request for the measurement data to the cache server;
network switch.
測定データを取得するフィールド機器が接続されたIOノードと、
前記フィールド機器が取得した前記測定データに基づき演算を行う複数のコントローラと、
ネットワークスイッチと、
キャッシュサーバと、
を備える制御システムの制御方法であって、
前記複数のコントローラの各々が、予め一定の周期で定められた一定期間である制御タイミングごとに、前記フィールド機器が取得した前記測定データに対する要求を前記ネットワークスイッチへ送信する工程と、
前記ネットワークスイッチが、前記複数のコントローラのいずれかから前記測定データに対する前記要求を受けたことに応じて、前記キャッシュサーバが前記測定データを保持しているか否かを前記制御タイミングごとに示す情報を含む管理テーブルに基づき、前記キャッシュサーバが前記測定データを保持しているか否かを判定し、前記キャッシュサーバが前記測定データを保持していない場合、前記IOノードに、前記ネットワークスイッチを介して、当該IOノードに接続された前記フィールド機器が取得した前記測定データを前記コントローラへ送信させ、前記キャッシュサーバが前記測定データを保持している場合、当該キャッシュサーバに、前記ネットワークスイッチを介して、前記フィールド機器が取得した前記測定データを前記コントローラへ送信させる、工程と、
前記複数のコントローラの各々が、前記IOノード又は前記キャッシュサーバから受信した前記測定データに基づき、予め定められた演算を行う工程と、
を含む、制御システムの制御方法。
an IO node to which a field device that acquires measurement data is connected;
a plurality of controllers that perform calculations based on the measurement data acquired by the field devices;
a network switch;
a cache server;
A control method for a control system comprising
a step in which each of the plurality of controllers transmits a request for the measurement data acquired by the field device to the network switch at each control timing, which is a constant period defined in advance at a constant cycle;
Information indicating whether or not the cache server holds the measurement data at each control timing in response to the network switch receiving the request for the measurement data from one of the plurality of controllers. Based on the management table included, it is determined whether or not the cache server holds the measurement data, and if the cache server does not hold the measurement data, the IO node via the network switch, When the measurement data acquired by the field device connected to the IO node is transmitted to the controller, and the cache server holds the measurement data, the cache server receives the causing the field device to transmit the acquired measurement data to the controller;
each of the plurality of controllers performing a predetermined operation based on the measurement data received from the IO node or the cache server;
A method of controlling a control system, including
JP2022210564A 2022-12-27 2022-12-27 CONTROL SYSTEM, CONTROL METHOD OF CONTROL SYSTEM, AND NETWORK SWITCH Active JP7294517B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022210564A JP7294517B1 (en) 2022-12-27 2022-12-27 CONTROL SYSTEM, CONTROL METHOD OF CONTROL SYSTEM, AND NETWORK SWITCH

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022210564A JP7294517B1 (en) 2022-12-27 2022-12-27 CONTROL SYSTEM, CONTROL METHOD OF CONTROL SYSTEM, AND NETWORK SWITCH

Publications (2)

Publication Number Publication Date
JP7294517B1 true JP7294517B1 (en) 2023-06-20
JP2024093915A JP2024093915A (en) 2024-07-09

Family

ID=86772706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022210564A Active JP7294517B1 (en) 2022-12-27 2022-12-27 CONTROL SYSTEM, CONTROL METHOD OF CONTROL SYSTEM, AND NETWORK SWITCH

Country Status (1)

Country Link
JP (1) JP7294517B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011186903A (en) * 2010-03-10 2011-09-22 Fuji Electric Co Ltd Remote monitoring device and data access method in the device
JP2013152557A (en) * 2012-01-24 2013-08-08 Nippon Telegr & Teleph Corp <Ntt> Metadata attachment apparatus, metadata attachment method and metadata attachment program
JP2013167922A (en) * 2012-02-14 2013-08-29 Yokogawa Electric Corp Redundant communication system and redundant communication method
JP2021157392A (en) * 2020-03-26 2021-10-07 横河電機株式会社 Control system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011186903A (en) * 2010-03-10 2011-09-22 Fuji Electric Co Ltd Remote monitoring device and data access method in the device
JP2013152557A (en) * 2012-01-24 2013-08-08 Nippon Telegr & Teleph Corp <Ntt> Metadata attachment apparatus, metadata attachment method and metadata attachment program
JP2013167922A (en) * 2012-02-14 2013-08-29 Yokogawa Electric Corp Redundant communication system and redundant communication method
JP2021157392A (en) * 2020-03-26 2021-10-07 横河電機株式会社 Control system

Similar Documents

Publication Publication Date Title
JP4197652B2 (en) Centralized monitoring control device and method for plant
JP2018173710A (en) Control device, control program, and control system
WO2021002421A1 (en) Control system
US9128902B2 (en) Systems and methods for managing disaster recovery in a storage system
US20150019687A1 (en) Server System for Providing Current Data and Past Data to Clients
CN101183264A (en) Real-time process history server
US20130159525A1 (en) Information processing apparatus and data control method
JP2019008703A (en) Control system, control device, connection method, and program
CN104980307A (en) Processing method of data access requests, processing device of data access requests and database server
US20220391368A1 (en) Cryptography system for using associated values stored in different locations to encode and decode data
US20160034191A1 (en) Grid oriented distributed parallel computing platform
US20200151146A1 (en) Apparatus and method for implementing process control redundancy using operating system (os) file system support
JP7294517B1 (en) CONTROL SYSTEM, CONTROL METHOD OF CONTROL SYSTEM, AND NETWORK SWITCH
JP7311015B1 (en) CONTROL SYSTEM, CONTROL METHOD OF CONTROL SYSTEM, AND CONTROLLER
JP6138933B2 (en) Control monitoring system and control monitoring method
Koziolek et al. Dynamic updates of virtual plcs deployed as kubernetes microservices
US11108883B2 (en) Systems and methods for remote network topology discovery
US20190229885A1 (en) Computing device and control system
JP2011258125A (en) Process data collection device
WO2021131530A1 (en) Control system
WO2024142593A1 (en) Control system, control method for control system, and controller
JP2024093915A (en) CONTROL SYSTEM, CONTROL METHOD FOR CONTROL SYSTEM, AND NETWORK SWITCH
CN105339906A (en) Data writing control method for persistent storage device
JP2024093909A (en) CONTROL SYSTEM, CONTROL METHOD FOR CONTROL SYSTEM, AND CONTROLLER
US12007991B2 (en) Automation device and method for optimized access to a variable

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230105

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230405

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: 20230509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230522

R150 Certificate of patent or registration of utility model

Ref document number: 7294517

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150