JPWO2015037116A1 - Control device and control system - Google Patents
Control device and control system Download PDFInfo
- Publication number
- JPWO2015037116A1 JPWO2015037116A1 JP2015536381A JP2015536381A JPWO2015037116A1 JP WO2015037116 A1 JPWO2015037116 A1 JP WO2015037116A1 JP 2015536381 A JP2015536381 A JP 2015536381A JP 2015536381 A JP2015536381 A JP 2015536381A JP WO2015037116 A1 JPWO2015037116 A1 JP WO2015037116A1
- Authority
- JP
- Japan
- Prior art keywords
- program
- control
- main
- alternative
- field device
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
Abstract
本発明では、稼働中のシステムへの影響を抑えつつ、柔軟に代替システムに切換えることを目的とする。上記課題を解決するため、本発明ではネートワークを介して接続するフィールド装置から制御情報を取得する通信制御部と、取得した前記制御情報に基づいて前記フィールド装置の監視または制御を行う主系プログラムを実行する演算処理部と、前記主系プログラムの動作状態、および、前記フィールド装置の監視または制御に必要な設定情報を記憶するメモリと、を備え、前記演算処理部は、前記主系プログラムの動作を監視して、前記メモリに記憶する前記動作状態を逐次更新しており、所定のタイミングで前記メモリ内の前記動作状態、および、前記設定情報から前記主系プログラムと切替え可能に代替プログラムを構築し、前記主系プログラムから前記代替プログラムへ切換えることを特徴とする。An object of the present invention is to flexibly switch to an alternative system while suppressing the influence on an operating system. In order to solve the above problems, in the present invention, a communication control unit that acquires control information from a field device connected via a network, and a main program that monitors or controls the field device based on the acquired control information And a memory for storing setting information necessary for monitoring or control of the field device, and the arithmetic processing unit includes: The operation state is monitored and the operation state stored in the memory is sequentially updated, and the alternative program can be switched to the main program from the operation state in the memory and the setting information at a predetermined timing. And constructing and switching from the main program to the alternative program.
Description
本発明は、制御システムおよび制御プログラムの切換え方法に関するものである。 The present invention relates to a control system and a control program switching method.
フィールドデバイスの監視制御には、システムの信頼性向上を図る方法として、その制御を司る処理装置(プロセッサ)を二重化し、運転中のプロセッサを稼動側、故障の際切換えるプロセッサを待機側として冗長化して運用する方式がある。 In field device monitoring and control, as a method to improve system reliability, the processing device (processor) that controls the control is duplicated, and the operating processor is made redundant and the processor that switches in the event of a failure is made redundant. There is a method to operate.
このような、冗長化システムにおけるプロセッサのソフトウェア更新において、サービスの一時中断を防ぐ方法として、例えば特許文献1の技術がある。
As a method for preventing temporary interruption of service in such software update of a processor in a redundant system, for example, there is a technique disclosed in
特許文献1では、待機系のプロセッサに対しソフトウェア更新部を駆動して新版ソフトウェアを設定し,稼働系の制御状態データを待機系にも徐々に反映させ,所定時間が経過して可変の制御状態データが全て待機系に反映された状態になると待機系のプロセッサを稼働系に切換えるよう構成することが記載されている。
In
ここで、特許文献1に記載のような切り替え方式では、稼働系と切換えられるように、稼動系と同様のハードウェア構成で待機系を構築して運用させて待機する必要があり、システムの可用性に劣るという課題があった。
Here, in the switching method as described in
本発明では、稼働中のシステムへの影響を抑えつつ、柔軟に代替システムに切換えることができる制御システムおよび制御プログラムの切換え方法を提供することを目的とする。 It is an object of the present invention to provide a control system and a control program switching method capable of flexibly switching to an alternative system while suppressing the influence on an operating system.
上記課題を解決するために、本発明は、ネートワークを介して接続するフィールド装置から制御情報を取得する通信制御部と、取得した前記制御情報に基づいて前記フィールド装置の監視制御を行う主系プログラムを実行する演算処理部と、前記主系プログラムの動作状態、および、前記フィールド装置の監視または制御に必要な設定情報を記憶するメモリと、を備え、前記演算処理部は、前記主系プログラムの動作を監視して、前記メモリに記憶する前記動作状態を逐次更新しており、所定のタイミングで前記メモリ内の前記動作状態、および、前記設定情報から前記主系プログラムと切替え可能に代替プログラムを構築し、前記主系プログラムから前記代替系プログラムへ前記フィールド装置の監視制御主体を切換えることを特徴とする。 In order to solve the above problems, the present invention provides a communication control unit that acquires control information from a field device connected via a network, and a main system that performs monitoring control of the field device based on the acquired control information An arithmetic processing unit that executes a program; and an operation state of the main program, and a memory that stores setting information necessary for monitoring or controlling the field device, the arithmetic processing unit including the main program The operation state stored in the memory is sequentially updated, and the alternative program can be switched to the main program from the operation state in the memory and the setting information at a predetermined timing. And the monitoring control subject of the field device is switched from the main system program to the alternative system program.
本発明では、稼働中のシステムへの影響を抑えつつ、柔軟に代替システムに切換えることができる。
In the present invention, it is possible to flexibly switch to an alternative system while suppressing the influence on the operating system.
ICT(Information and Communication Technology)の分野ではクラウドシステムやSDN(Software Defined Networking)に代表される仮想化技術の活用が広がっている。制御システムの分野においても,従来のコントローラによるハードウェア処理をソフトウェアPLC(Programmable Logic Controller)などの仮想環境上で実行する技術が普及してきている。今後は両分野の融合が一段と進み,仮想環境からフィールドデバイスの監視制御を実行する技術が普及していくと予測される。 In the field of ICT (Information and Communication Technology), the use of cloud technologies and virtualization technologies represented by SDN (Software Defined Networking) is spreading. In the field of control systems, a technology for executing hardware processing by a conventional controller in a virtual environment such as a software PLC (Programmable Logic Controller) has become widespread. In the future, the fusion of both fields will progress further, and it is expected that technology to execute field device monitoring control from a virtual environment will become widespread.
以下の実施形態では、ソフトウェアによってPLC(Programmable Logic controller)やSCADA(Supervisory Control And Data Acquisition)など監視制御プログラムを構築し、これらによってフィールドデバイスを監視制御する例として説明する。 In the following embodiments, an example will be described in which a monitoring control program such as PLC (Programmable Logic Controller) and SCADA (Supervisory Control And Data Acquisition) is constructed by software, and field devices are monitored and controlled by these.
以下、本発明を実施するための形態(以降、「本実施形態」と称す)について、適宜図面を参照しながら詳細に説明する。 Hereinafter, a mode for carrying out the present invention (hereinafter referred to as “the present embodiment”) will be described in detail with reference to the drawings as appropriate.
尚、以下説明する実施形態に記載の内容は、ファクトリーオートメーション(FA),プロセスオートメーション(PA)に使用されるDCS(distributed control system)やPLC(Programmable Logic controller)などの制御装置,および,SCADA(Supervisory Control And Data Acquisition)などの制御システムに適用可能である。
(第1実施形態)
図1は、第1実施形態における制御システムの構成の一例を示した図である。本実施形態による制御システムは、フィールド装置4と、フィールド装置を監視制御する制御装置1と、制御装置1とフィールド装置4を接続するネットワーク2と、制御装置1とフィールド装置4との通信データを中継する通信経路切換え部3とから構成される。The contents described in the embodiments described below include control devices such as DCS (distributed control system) and PLC (Programmable Logic Controller) used for factory automation (FA) and process automation (PA), and SCADA ( It can be applied to control systems such as Supervisory Control And Data Acquisition.
(First embodiment)
FIG. 1 is a diagram illustrating an example of a configuration of a control system in the first embodiment. The control system according to the present embodiment includes a
制御装置1は、フィールド装置から取得した制御情報を用いて監視や制御演算を行う演算処理部100と、種々のDB(データベース)が記憶される記憶部110と、ネットワーク2との通信機能を有し、フィールド装置とのデータの送受信を行う通信制御部120と、を有する。また、演算処理部100は、記憶部110からプログラムを図示しない主記憶装置へ転送し、このプログラムを実行する。実行するプログラムとしては、オペレーティングシステム(以
下「OS」と称す)や、OS上で動作するアプリケーションプログラムがある。The
また、演算処理部100、記憶部110、通信制御部120はそれぞれ図示しないバスを介して接続され、バスとしては、例えば、PCIバス、ISAバス、PCI Expressバス、システムバス、及びメモリバスを採用できる。
The arithmetic processing unit 100, the
記憶部110には、通信経路設定DB9と、情報更新DB7が記憶され、演算処理部100は、稼働プログラム5-1と代替プログラム5-2と状態監視部6と情報更新DB7と動作切換え部8を実行する。
The
稼働プログラム5-1は,フィールド装置4の監視や制御を実行するためのプログラムであり,例えばソフトウェアPLCやSCADAアプリケーションなどである。代替プログラム5-2は稼働プログラム5-1に代わってフィールド装置4の監視や制御を実行するための機能を有するプログラムであり,稼働プログラム5-1と同様に,例えばソフトウェアPLCやSCADAアプリケーションなどである。
The operation program 5-1 is a program for executing monitoring and control of the
状態監視部6は,稼働プログラム5-1の動作状態と設定情報と制御情報を取得し,情報更新DB7に取得した動作状態を送信する機能を有する。ここで,動作状態とは例えば,稼働プログラム5-1の起動中,処理中,待機中,停止,異常発生などを示すステータス情報や診断情報である。設定情報とは,例えばフィールド装置4の監視や制御に必要なコンフィグレーションデータや稼働プログラム5-1の種類やバージョン情報などである。コンフィグレーションデータとは,例えばフィールド装置4のアドレス情報,監視・制御のための初期設定値,キャリブレーション情報などである。また,制御情報とは,稼働プログラム5-1がフィールド装置4の監視や制御を実行するために取得したセンサ情報,接点情報,トレンドデータなどである。また,状態監視部6は,稼働プログラム5-1の処理タイミングと代替プログラム5-2の処理タイミングを同期させるための機能を有する。
The state monitoring unit 6 has a function of acquiring the operation state, setting information, and control information of the operation program 5-1, and transmitting the acquired operation state to the
情報更新DB7は状態監視部6が取得した設定情報と制御情報とを保存し,新たな情報を取得した場合にはその情報に更新される。情報の保存には例えばメモリやハードディスクなどの記憶装置を利用する。また,制御情報にはタイムスタンプを加えて時系列的に保存し,所定の保存期間が経過した制御情報は廃棄するなど,順次最新の情報に更新しても良い。 The information update DB 7 stores the setting information and control information acquired by the state monitoring unit 6 and is updated to that information when new information is acquired. For storage of information, for example, a storage device such as a memory or a hard disk is used. In addition, the control information may be time-sequentially added with a time stamp, and the control information that has passed a predetermined storage period may be discarded and updated to the latest information sequentially.
通信経路設定DB9は,稼働プログラム5-1が監視・制御対象としているフィールド装置4のアドレス情報などを特定する情報と,特定したアドレス情報から代替プログラム5-2が前述のフィールド装置4にアクセスするための通信経路および通信方式(通信プロトコル)が記憶される。稼働プログラム5-1が監視・制御対象としているフィールド装置4の情報を取得する手段として,例えば状態監視部6や情報更新DB7を介して稼働プログラム5-1のコンフィグレーションデータを参照するなどの方法がある。
In the communication
動作切換え部8は、情報更新DB7から稼動プログラム5−1の動作状態、設定情報、制御情報を取得し、通信経路設定DB9からフィールド装置4にアクセスするための通信経路や通信方式を取得する。これら取得した情報を元に,代替プログラム5-2の動作方法を設定し,フィールド装置4を監視・制御するためのプログラムを稼働プログラム5-1から代替プログラム5-2に切換えると同時に,通信経路切換え部3の通信経路を設定し,代替プログラム5-2が対象のフィールド装置4にアクセスできる状態に設定する機能を有する。
The
通信経路切換え部3は,動作切換え部8の指示に従って,制御装置1とフィールド装置4を接続する通信経路や通信方式を切換える機能を有する。通信経路切換え部3は例えば,各種ゲートウェイやスイッチの組合せ,Open Flow技術などによって実現できる。通信経路切換え部3の実現例については後述する。
The communication
フィールド装置4は制御装置1からの指示に従ってコントロールされるセンサやアクチュエータなどであり,ネットワーク2を介して制御装置1と接続される。ここで,実際に制御システムの扱うフィールド装置4の数や種類は本例に限定されるものではない。
The
また,制御装置1は,PCやサーバ,コントローラなどのハードウェアで構成されていても良いし,クラウドシステムなどの仮想環境上に構成されていても良い。
Moreover, the
図2は、稼働プログラム5-1および代替プログラム5-2がOS上で実行されるアプリケーションとして,それぞれ別個のハードウェア上に実装される例である。 FIG. 2 shows an example in which the operation program 5-1 and the alternative program 5-2 are mounted on separate hardware as applications to be executed on the OS.
本例では制御装置1Aは,稼働プログラム5-1と状態監視部6を備え,制御装置1Bは代替プログラム5-2と動作切換え部8と動作切換え部8と情報更新DB7とを備える。制御装置1Aと制御装置1Bはネットワーク20を介して接続され,状態監視部6からの情報はネットワーク20を介して制御装置1Bへ送信される。ここで,ネットワーク20は制御装置とフィールド装置とを接続するためのネットワーク2とは別種類のネットワークでも良いし,同種類のネットワークでも良い。
In this example, the control device 1A includes an operation program 5-1 and a state monitoring unit 6, and the control device 1B includes an alternative program 5-2, an
制御装置1がクラウドシステムなどの仮想環境上に構築される場合には,稼働プログラム5-1,代替プログラム5-2,状態監視部6,動作切換え部8,はそれぞれ仮想システム上における一つの実行プロセスとして動作する。これらの実行プロセスは同一のハードウェア(サーバ)上に実装し,内部のプロセス間通信によって相互接続しても良いし,異なるハードウェア上に実装し,Ethernetなどのネットワーク接続によって相互接続されていても良い。以降は,制御装置1がクラウドシステムなどの仮想環境上に構築されている場合を例に説明するが,実ハードウェア上に実装されている場合でも同様に実施可能である。 図3は、通信経路切換え部3の動作を説明する図である。図3では、図1に示す制御システムから説明簡略のため一部の構成要素を省略している。図3に示す制御装置1は、通信制御120として通信方式A(通信プロトコルA)によってネットワーク2Aに接続するための通信インタフェース10A(通信IF10-A)と,通信方式B(通信プロトコルB)によってネットワーク2Bに接続するための通信インタフェース10B(通信IF10-B)を有するものとする。
When the
また,フィールド装置4Aは通信方式Aによりネットワーク2Aと接続し,同様にフィールド装置4Bおよびフィールド装置4Cは,それぞれ通信方式B,通信方式Cにより,ネットワーク2B,ネットワーク2Cに接続するものとする。 The field device 4A is connected to the network 2A by the communication method A, and similarly, the field device 4B and the field device 4C are connected to the network 2B and the network 2C by the communication method B and the communication method C, respectively.
さらに,ネットワーク2Aとネットワーク2B間の通信は,通信方式Aと通信方式B間のプロトコル変換が可能なゲートウェイ11(通信方式A⇔B)を介して行う。同様に,ネットワーク2Aとネットワーク2C間の通信は,通信方式Aと通信方式C間のプロトコル変換が可能なゲートウェイ11(通信方式A⇔C)を介して行う。また,ネットワーク2Bとネットワーク2C間の通信は,ゲートウェイ11(通信方式A⇔B)およびゲートウェイ11(通信方式A⇔C)を介して行うようにネットワーク2が構成されているものとする。
Further, communication between the network 2A and the network 2B is performed via a gateway 11 (communication method A⇔B) that can convert a protocol between the communication method A and the communication method B. Similarly, communication between the network 2A and the network 2C is performed via the gateway 11 (communication method A⇔C) that can convert the protocol between the communication method A and the communication method C. Further, it is assumed that the
動作切換え部8は,通信経路設定DB9から取得した情報に従い,制御装置1が,監視制御対象とするフィールド装置4Aに応じて,ゲートウェイ11(通信方式A⇔B)およびゲートウェイ11(通信方式A⇔C)の動作を設定する。ここで,動作を設定するための情報伝達は,コントロール専用に別の通信経路を使用しても良いし,ネットワーク2Aまたはネットワーク2Bを介して行っても良い。制御装置1が通信IF10-Aによってフィールド装置4Aにアクセスする場合や通信IF10−Bによってフィールド装置4Bにアクセスする場合には,通信経路切換え部3をどのゲートウェイ11も経由しない経路に設定する。
In accordance with the information acquired from the communication
一方,通信IF10−Aによって,フィールド装置4Bもしくはフィールド装置4Cにアクセスする場合には,通信経路切換え部3をゲートウェイ11(通信方式A⇔B)もしくはゲートウェイ11(通信方式A⇔C)を経由する経路に設定する。また,通信IF10-Bによってフィールド装置4Cにアクセスする場合には,通信経路切換え部3を,ゲートウェイ11(通信方式A⇔B)を経由した後,ゲートウェイ11(通信方式A⇔C)を経由するように設定する。ここで,通信経路切換え部3が扱う制御装置1,ネットワーク2,通信方式の種類や数は本例で示した設定に限定されるものではない。
On the other hand, when the field device 4B or the field device 4C is accessed by the communication IF 10-A, the communication
図4は、本実施形態の制御システムにおいて動作切換え部8が,フィールド装置4を監視・制御するためのプログラムを,稼働プログラム5-1から代替プログラム5-2に切換えるための処理フローを示す図である。
FIG. 4 is a diagram showing a processing flow for the
まず,動作切換え部8は情報更新DB7からの情報を元に稼動プログラム5−1の切換えが必要か否かを判定する(ステップS401)。判定方法の例として,状態監視部6によって取得した稼働プログラム5-1の動作状態を利用する方法や,外部からのユーザ指示に従う方法などがある。
First, the
ステップS401においてプログラムの切換えが必要と判定された場合には,稼働プログラム5-1が対象としているフィールド装置4と代替プログラム5-2との間に接続可能なネットワーク2が準備できるかを判定する(ステップS402)。ここで,接続可能なネットワーク2が準備できない場合には,準備が完了するまで待機しても良いし,所定時間経過しても準備が完了できない場合には,ステップS407のエラー処理を実行しても良い。通信経路切換えの準備とは,例えばネットワーク2のプロトコル設定やルーティングテーブルの作成などである。
If it is determined in step S401 that the program needs to be switched, it is determined whether the
次に,代替プログラム5-2が実際に稼働できる状態に準備されているかを判定する(ステップS403)。ここで,代替プログラム5-2の準備が完了できない場合には,準備が完了するまで待機しても良いし,所定時間経過しても準備が完了できない場合には,ステップS407エラー処理を実行しても良い。代替プログラム5-2の準備とは具体的には,状態監視部6から情報更新DB7を介して取得した設定情報を元に,代替プログラム5-2の設定を稼働プラグラムと同等の設定を行い、稼動プログラム5−1と切替え可能に代替プログラム5-2を構築することである。
Next, it is determined whether or not the alternative program 5-2 is actually ready for operation (step S403). Here, when the preparation of the alternative program 5-2 cannot be completed, it is possible to wait until the preparation is completed. When the preparation cannot be completed even after a predetermined time has elapsed, an error process is executed in step S407. May be. Specifically, the preparation of the alternative program 5-2 is performed by setting the setting of the alternative program 5-2 to be equivalent to the operation program based on the setting information acquired from the state monitoring unit 6 via the
次に,稼働プログラム5-1が実行中のフィールド装置4に対する監視・制御を阻害しないタイミングで,稼働プログラム5-1から代替プログラム5-2に切換えることができるかを判定する。具体的には,前述の制御情報の更新周期に応じて,稼働プログラム5-1から制御情報を引継ぐタイミングを決定する。例えば,フィールド装置4の監視などリアルタイム性の低い処理を実行している場合には,即時プログラムの切換えを行い,高精度なリアルタイム処理中などは,一連のリアルタイム処理が完了するまで切換えのタイミングを延期する。また,フィードバック制御などを実行している場合には,稼働プログラム5-1からの制御情報を元に,稼働プログラム5-1と全く同じ処理を並列実行させておき,制御に影響を与えないタイミングでプログラムの実行を切換えるという方法でも良い。
Next, it is determined whether or not the operation program 5-1 can be switched to the alternative program 5-2 at a timing that does not hinder the monitoring / control of the
ステップS405においてプログラムを同期させることが可能と判定された場合には,直ちに稼働プログラム5-1から代替プログラム5-2へ処理を切換えると同時に,通信経路切換え部3においても,制御装置1から対象のフィールド装置4への通信経路を切換える(ステップS405)。通信経路の切換え方法については前述の図3に示した方法などがある。
If it is determined in step S405 that the program can be synchronized, the processing is immediately switched from the operation program 5-1 to the alternative program 5-2, and at the same time, the communication
次に,ステップS404において,プログラムと通信経路の切換えが正常に実行されたか否かを判定する(ステップS406)。正常に切換えが完了しなかった場合にはエラー処理を実行する(ステップS407)。 Next, in step S404, it is determined whether switching between the program and the communication path has been executed normally (step S406). If the switching is not completed normally, error processing is executed (step S407).
図5は、ステップS406およびステップS407の処理の例について説明する図である。例えば,プログラムの動作にエラーが発生した場合,制御装置1とフィールド装置4間との通信にエラーが発生した場合,ステップS405におけるプログラムと通信経路の切換えが同時に実行されなかった場合は,正常にプログラムの切換えができなかったと判定する。この場合,それぞれのエラー原因の詳細を検証し,エラー原因に応じたエラー処理を実行する。
FIG. 5 is a diagram for explaining an example of the processing in step S406 and step S407. For example, if an error occurs in the operation of the program, if an error occurs in communication between the
例えば,図5の表1段目に示すように,プログラムの設定情報にエラーが生じた場合には,設定情報を再度取得・更新したうえで処理を継続する。エラー処理(1)14を実行したにも拘らず,エラーが修正できなかった場合には,エラー処理(2)15に記載するように,プログラムの切換えを中止し,元の稼働プログラム5-1に戻す。 For example, as shown in the first row of FIG. 5, when an error occurs in the program setting information, the setting information is acquired / updated again and the processing is continued. If the error processing (1) 14 is executed but the error cannot be corrected, the program switching is stopped and the original operation program 5-1 is written as described in the error processing (2) 15. Return to.
図5の表2段目に示すように,プログラムの制御情報にエラーが生じた場合には,制御情報を再取得・更新したうえで処理を継続する。エラー処理(1)14を実行したにも拘らず,エラーが修正できなかった場合には,エラー処理(2)15に記載するように,プログラムの切換えを中止し,元の稼働プログラム5-1に戻す。 As shown in the second row of FIG. 5, when an error occurs in the control information of the program, the processing is continued after re-acquiring / updating the control information. If the error processing (1) 14 is executed but the error cannot be corrected, the program switching is stopped and the original operation program 5-1 is written as described in the error processing (2) 15. Return to.
図5の表3段目に示すように,プロトコル設定による通信エラーが生じた場合には,プロトコル設定を再取得・更新したうえで処理を継続する。エラー処理(1)14を実行したにも拘らず,エラーが修正できなかった場合には,エラー処理(2)15に記載するように,プログラムの切換えを中止し,元の稼働プログラム5-1に戻す。 As shown in the third row of FIG. 5, when a communication error occurs due to the protocol setting, the processing is continued after re-obtaining / updating the protocol setting. If the error processing (1) 14 is executed but the error cannot be corrected, the program switching is stopped and the original operation program 5-1 is written as described in the error processing (2) 15. Return to.
図5の表4段目に示すように,経路切断による通信エラーが生じた場合には,経路の再探索,切換えをしたうえで処理を継続する。エラー処理(1)14を実行したにも拘らず,エラーが修正できなかった場合には,エラー処理(2)15に記載するように,プログラムの切換えを中止し,元の稼働プログラム5-1に戻す。 As shown in the fourth row of FIG. 5, when a communication error occurs due to route disconnection, the processing is continued after re-searching and switching the route. If the error processing (1) 14 is executed but the error cannot be corrected, the program switching is stopped and the original operation program 5-1 is written as described in the error processing (2) 15. Return to.
図5の表5段目に示すように,プログラムの切換えが遅延したことによって切換えタイミング不一致になった場合には,制御情報を再取得し,次周期から処理継続する。エラー処理(1)14を実行したにも拘らず,エラーが修正できなかった場合には,エラー処理(2)15に記載するように,エラー処理1をリトライする。
As shown in the fifth row of FIG. 5, when the switching timing becomes inconsistent due to the delay of program switching, the control information is re-acquired and the processing is continued from the next cycle. If the error cannot be corrected despite the execution of error processing (1) 14,
図5の表6段目に示すように,経路の切換えが遅延したことによって切換えタイミング不一致になった場合には,次周期から処理継続する。エラー処理(1)14を実行したにも拘らず,エラーが修正できなかった場合には,エラー処理(2)15に記載するように,エラー処理1をリトライする。
As shown in the sixth row of FIG. 5, when the switching timing becomes inconsistent due to the delay of the path switching, the processing is continued from the next cycle. If the error cannot be corrected despite the execution of error processing (1) 14,
このように正常にプログラムの切換えができなかったと判定した場合,それぞれのエラー原因の詳細を検証し,エラー原因に応じたエラー処理を実行する。尚、図5に示す,エラー原因12,詳細エラー原因13,エラー処理(1)14エラー処理(2)15の項目や組合せは一例であり,対象とするフィールド装置4と監視・制御方法に応じて処理内容や組合せを変えても良い。
When it is determined that the program cannot be switched normally as described above, the details of each error cause are verified, and error processing corresponding to the error cause is executed. The items and combinations of error cause 12,
以上のように,本実施形態によれば制御システムにおいて,実行中の制御装置1に対する監視・制御に影響を与えることなく,稼働中のプログラムから待機中のプログラムへと切換えることが可能である。
As described above, according to the present embodiment, in the control system, it is possible to switch from the active program to the standby program without affecting the monitoring / control of the
また、本実施形態に記載のような、特にフィールドデバイスを様々な種類のネットワークを介して監視制御するような制御システムの場合、監視制御プログラムを切換えと、フィールドデバイスへの通信経路の切換えも考慮しなければいけない。本実施形態では、稼動プログラムがフィールドデバイスへのアクセスに使用する通信方式(通信プロトコル等)及び通信経路と、代替プログラムが使用可能な通信方式及び通信経路と、から代替プログラムがフィールドデバイスへのアクセスに必要な通信方式の変換路を設定するため、通信経路を適切に制御した監視制御プログラムの切換えが可能となる。 In addition, in the case of a control system for monitoring and controlling field devices via various types of networks as described in this embodiment, switching of the monitoring control program and switching of communication paths to the field devices are also considered. I have to do it. In the present embodiment, the alternative program accesses the field device from the communication method (communication protocol, etc.) and communication path that the operation program uses to access the field device, and the communication method and communication path that the alternative program can use. Therefore, it is possible to switch the monitoring control program that appropriately controls the communication path.
また、本実施形態では、ソフトウェアによってPLCやSCADAなど稼動プログラムを構築し、必要な場合に代替プログラムを切換え可能に構築するため、予め稼動系と同様のハードウェア構成で待機系を構築して運用させておく必要がなく、柔軟にプログラムの切換えが可能となる。
Also, in this embodiment, an operation program such as PLC or SCADA is constructed by software, and if necessary, an alternative program can be switched so that a standby system is constructed and operated in advance with the same hardware configuration as the operation system. This makes it possible to switch programs flexibly.
(第2実施形態)
図6は、第2実施形態における制御システムの構成の一例を示した図である。第2実施形態における制御システムは,制御装置21とネットワーク2および通信経路切換え部3とで接続されたフィールド装置4から構成される。また、制御装置21は、第1実施形態と同様に演算処理部100と、記憶部110と、通信制御部120と、を有する。(Second Embodiment)
FIG. 6 is a diagram illustrating an example of a configuration of a control system in the second embodiment. The control system according to the second embodiment includes a
本実施形態の演算処理部100は、複数の制御プログラム25と動作検証・切換え部22とアップデート部24を実行する。また、記憶部110には、情報更新DB23と通信経路設定DB9が記憶される。
The arithmetic processing unit 100 according to the present embodiment executes a plurality of
制御プログラム25は,第1実施形態の制御装置21における稼働プログラム5-1や代替プログラム5-2と同様に,フィールド装置4の監視や制御を実行するためのプログラムであり,例えばソフトウェアPLCやSCADAアプリケーションなどである。
The
動作検証・切換え部22は,第1実施形態における状態監視部6と同様の機能を有する。すなわち,制御プログラム25の動作状態と設定情報と制御情報を取得し,情報更新DB7に取得した動作状態を送信する機能を有する。加えて,動作検証・切換え部22は,第1実施形態における動作切換え部8と同様の機能を有する。すなわち,情報更新DB7と通信経路設定DB9から情報を取得し,制御プログラム25の動作方法を設定し,フィールド装置4を監視・制御するためのプログラムを切換えると同時に,通信経路切換え部3の通信経路を設定し,フィールド装置4にアクセスための通信経路を切換える機能を有する。加えて,動作検証・切換え部22は,アップデート部24,および,情報更新DB23からの情報に従って,制御プログラム25の動作方法を変更し,制御プログラム25の処理が正常に実行されるか否かを検証する機能を有する。ここで,動作検証・切換え部22の機能については,前述の第1実施形態における状態監視部6に相当する機能,動作切換え部8に相当する機能,および動作検証を行う機能にそれぞれ分割して実装しても良い。動作検証・切換え部22の詳細な処理フローについては後述する。
The operation verification /
情報更新DB23は第1実施形態における情報更新DB3と同様の機能を有する。すなわち,動作検証・切換え部22が取得した設定情報と制御情報とを保存し,新たな情報を取得した場合にはその情報へ更新される。
The
通信経路設定DB9は第1実施形態における通信経路設定DB9と同様の機能を有する。すなわち,所定の制御プログラム25が監視・制御対象としているフィールド装置4のアドレス情報などを記憶する。そして、動作検証・切換え部22は、通信経路設定DB9に記憶されるアドレス情報から他の制御プログラム25が前述のフィールド装置4にアクセスするための通信経路および通信方式(通信プロトコル)を設定し,設定した通信経路や通信方式を用いて通信を切り換える。
The communication
アップデート部24は,制御装置21に搭載されたプログラムのバージョンチェックを実施し,追加プログラムを制御装置21にインストールする機能を有する。ここで,プログラムとは制御プログラム25の他,制御装置21のファームウェア,デバイスドライバ,OS(オペレーティングシステム)や,ユーザインタフェースなどのアプリケーションを対象としても良い。また,追加プログラムとはバグフィックス用の修正プログラム,バージョンアップ用のアップデートプログラム,セキュリティパッチ,新機能追加のためのプログラム,ウィイルススキャンプログラムなどである。
The
通信経路切換え部3は,第1実施形態における通信経路切換え部3と同様の機能を有する。すなわち,動作検証・切換え部22の指示に従って,制御装置21とフィールド装置4を接続する通信経路や通信方式を切換える機能を有する。
The communication
フィールド装置4は,第1実施形態と同様に,制御装置21からの指示に従ってコントロールされるセンサやアクチュエータなどであり,ネットワーク2を介して制御装置21と接続される。ここで,実際に制御システムの扱うフィールド装置4の数や種類は本例に限定されるものではない。
Similarly to the first embodiment, the
制御装置21は,第1実施形態と同様にPCやサーバ,コントローラなどのハードウェアで構成されていても良いし,クラウドシステムなどの仮想環境上に構成されていても良い。前者の場合,制御プログラム25は,例えば図7に示すように,OS上で実行されるアプリケーションとして,それぞれ別個のハードウェア上に実装されていても良い。また,通信経路設定DB9,情報更新DB23,動作検証・切換え部22,アップデート部24についても,各制御装置21内に実装されていても良いし,図7の様に,それぞれ別個のハードウェア上に実装されネットワーク20を介して接続されていても良い。ここで,ネットワーク20は制御装置とフィールド装置とを接続するためのネットワーク2とは別種類のネットワークでも良いし,同種類のネットワークでも良い。
The
制御装置21がクラウドシステムなどの仮想環境上に構築される場合には,制御プログラム25,動作検証・切換え部22,はそれぞれ仮想システム上における一つの実行プロセスとして動作する。これらの実行プロセスは同一のハードウェア(サーバ)上に実装し,内部のプロセス間通信によって相互接続しても良いし,異なるハードウェア上に実装し,Ethernetなどのネットワーク接続によって相互接続されていても良い。
When the
図7は、制御装置21が異なる実ハードウェア上に実装されている場合の例を示す図である。複数の制御プログラム25は、それぞれ個別の制御装置21A〜C上に実装される。制御装置21A〜Cは、ネットワーク2、および、ネットワーク20を介して接続される。また、動作検証・切換え部22、および、アップデート部24、それぞれ別のハードウェア上の演算処理装置によって実行され、情報更新DB23、および、通信経路設定DB9もそれぞれ別のハードウェア上の記憶部に記憶される。そしてこれらは、ネットワーク20を介して接続される。本図に示すように実ハードウェア上に実装されている場合でも同様に実施可能である。尚、以降は図7に示すような例ではなく、制御装置21がクラウドシステムなどの仮想環境上に構築されている場合を例に説明する。
FIG. 7 is a diagram illustrating an example in which the
図8は、本実施形態の制御システムにおいて動作検証・切換え部22が,フィールド装置4を監視・制御するためのプログラムの動作検証および切換えを実行するための処理フローを示す図である。
FIG. 8 is a diagram showing a processing flow for the operation verification /
まず,動作検証・切換え部22はアップデート部24からの情報を元に,フィールド装置4を監視・制御しているプログラムの更新が必要か否かを判定する(ステップS801)。例えば,アップデート部24は,対象とするプログラムのバージョン更新用プログラムやセキュリティパッチなどが存在するか否かを判定する。ここで,アップデート部24は,例えばインターネットなどの外部ネットワークと接続し,アップデート情報があるか否かを自身で判断しても良いし,外部からの命令入力や情報伝達に従っても良い。また,プログラムのアップデートではなくウィルスやマルウェアなどセキュリティ上の脅威をチェック(セキュリティチェック)する必要があるか否かを判定しても良い。
First, based on the information from the
次に,ステップS801において,プログラムのアップデート,またはセキュリティチェックが必要と判定された場合には,動作検証・切換え部22は,アップデート対象の制御プログラム25Aと同じ実行環境の制御プログラム25Bを代替プログラムとして準備する(ステップS802)。代替プログラムの準備方法として,例えば,第一実施形態における代替プログラム5-2の準備と同様の手順(ステップS403)がある。すなわち,情報更新DB23に記憶する情報をもとに,稼働中の制御プログラム25Aの設定情報と制御情報から,代替用の制御プログラム25Bを準備する。ただし,制御情報については必須ではなく,制御プログラム25Aと制御プログラム25Bの動作実行環境が同一になる状態に設定できれば良い。
Next, when it is determined in step S801 that program update or security check is necessary, the operation verification /
次に,代替プログラムである制御プログラム25Bのアップデートを実行する(ステップS803)。例えば,アップデート部24からバージョン更新用プログラムやセキュリティパッチなどを取得しインストールを実行する。ここで,制御プログラム25のアップデートが目的ではなく,セキュリティチェックを目的とする場合には,必ずしも更新用プログラムなどを実行する必要はなく,代わりにウィルススキャン用のプログラムなどを実行する。
Next, the control program 25B, which is an alternative program, is updated (step S803). For example, a version update program or a security patch is acquired from the
次に,ステップS803においてアップデートした制御プログラム25Bが正常に動作可能であるか否か,もしくは,セキュリティチェックにおいて問題が検出されたか否かを検証する(ステップS804)。例えば,制御プログラム25Aがフィールド装置4を監視・制御するプログラムである場合には,アップデート後の制御プログラム25Bが,アップデート前の制御プログラム25Aと同様に正常に動作可能か否かを検証する。検証の方法としては,例えばフィールド装置4を監視制御するためのシミュレータや,実際に検証用のフィールド装置4を利用しても良い。セキュリティチェックが目的の場合には,制御プログラム25Aの動作環境を複製した制御プログラム25B上でセキュリティスキャンを実行し,プログラムの正常動作を妨げるウィルスやマルウェアの有無を検証しても良い。
Next, it is verified whether or not the control program 25B updated in step S803 can operate normally, or whether or not a problem has been detected in the security check (step S804). For example, when the control program 25A is a program for monitoring and controlling the
ステップS804において,アップデートしたプログラムの動作に異常がないと判定された場合には,フィールド装置4の監視制御のためのプログラムを,制御プログラム25Aから制御プログラム25Bに切換える準備を行う(ステップS805)。例えば,第1実施形態におけるステップS402,ステップS403,ステップS404と同様の処理を実行する。ただし,ステップS402と同様に,制御装置21の通信経路切換え準備を行った後は,稼働中の制御プログラム25Aの制御情報を代替用の制御プログラム25Bに引き継ぎ,ステップ404の処理と同様に,制御周期のタイミングを合わせ,制御装置21の監視制御に影響を与えることなくプログラムを切換えられるタイミングを合わせる。
If it is determined in step S804 that there is no abnormality in the operation of the updated program, preparation is made to switch the program for monitoring control of the
ここで,ステップS804において,アップデートしたプログラムの動作が異常と判定された場合には,ステップS808のエラー処理を実行する。ただし,ステップS808のエラー処理ではなく,ステップS802における代替プログラムの準備からやり直しても良い。また,セキュリティチェックが目的の場合には,ステップS804において,異常が検出されなければ,セキュリティチェックは完了とし処理を終了させる。 If it is determined in step S804 that the operation of the updated program is abnormal, error processing in step S808 is executed. However, instead of the error processing in step S808, it may be redone from the preparation of the alternative program in step S802. If the security check is intended, if no abnormality is detected in step S804, the security check is completed and the process is terminated.
ステップS805において,制御プログラム25Aと制御プログラム25Bを同期して切換えることが可能と判定した場合には,動作検証・切換え部は,直ちに稼働するプログラムの切換えを実行すると同時に,通信経路切換え部3に指示し,制御装置21から対象のフィールド装置4への通信経路と通信方式を切換える(ステップS806)。
If it is determined in step S805 that the control program 25A and the control program 25B can be switched synchronously, the operation verification / switching unit immediately switches the program to be operated, and at the same time, the communication
次に,ステップ806において,プログラムと通信経路の切換えが正常に実行されたか否かを判定する(ステップS807)。正常に切換えが完了しなかった場合にはエラー処理を実行する(ステップS808)。エラー処理の例としては,第1実施形態における図5に示したエラー処理などがある。その他,アップデート用プログラムの再取得や再更新,ウィイルス駆除などの処理を実行しても良い。 Next, in step 806, it is determined whether or not switching between the program and the communication path has been executed normally (step S807). If the switching is not completed normally, error processing is executed (step S808). An example of error processing includes the error processing shown in FIG. 5 in the first embodiment. In addition, processing such as reacquisition and renewal of the update program, and virus removal may be executed.
以上のように,本実施形態によれば制御システムにおいて,制御装置21が実行中のフィールド装置4に対する監視制御に影響を与えることなく,稼働中のプログラムをアップデートすることや,セキュリティパッチを適用することが可能である。また,稼働中のプログラムと同じ実行環境を代替プログラムとして複製し,制御システムの動作に影響を与えることなくウィルススキャンなどの負荷処理を実行することが可能である。
As described above, according to the present embodiment, in the control system, the operating program is updated and the security patch is applied without affecting the monitoring control for the
また、本実施形態では、事前に稼働中のシステムとは別個に構築した代替システム上でシステムアップデートなどの動作確認を行ったうえで、切替えるため、制御システムの運用への影響を与えることなく代替システムに切換えることが可能となる。 Also, in this embodiment, switching is performed after confirming the operation of the system update etc. on an alternative system constructed separately from the system that is operating in advance, so that replacement is performed without affecting the operation of the control system. It is possible to switch to the system.
(第3実施形態)
図9は、第3実施形態における制御システムを説明する図である。第3実施形態における制御システムは,制御装置31とネットワーク2および通信経路切換え部3とで接続されたフィールド装置4から構成される。(Third embodiment)
FIG. 9 is a diagram illustrating a control system according to the third embodiment. The control system according to the third embodiment includes a
また、制御装置31は、第1,2実施形態と同様に演算処理部100と、記憶部110と、通信制御部120と、を有する。本実施形態の演算処理部100は、一つ以上のオペレーティングシステム30(以降,OS30と略す)と複数の制御プログラム35と動作検証・切換え部32と状態監視部36とアップデート部34を実行する。また、記憶部110には、情報更新DB33と通信経路設定DB9とが記憶される。
Moreover, the
OS30は制御プログラム35を動作させるための実行環境であり,制御プログラム35に応じて異なる種類で複数実装されていても良いし,一つのOS30が全ての制御プログラム35を実行しても良い。本実施形態では複数のOS30から構成されるものとして説明する。OS30は実際にフィールド装置4の監視制御の実行に関わっている稼働OS30-1と,待機状態にある代替OS30-2とから構成される。
The
制御プログラム35は,第1実施形態の制御装置21や第2実施形態の制御装置31と同様に,フィールド装置4の監視や制御を実行するためのプログラムであり,例えばソフトウェアPLCやSCADAアプリケーションなどである。制御プログラム35は実際にフィールド装置4の監視制御を実行している稼働中の制御プログラム35(稼働プログラム35-1)と,待機状態にある制御プログラム(代替プログラム35-2)とに区別される。
The
動作検証・切換え部32は第1実施形態における動作切換え部8と同様の機能を有する。すなわち,情報更新DB33と通信経路設定DB9に記憶する情報を元に,制御プログラム35の動作方法を設定し,フィールド装置4を監視制御するためのプログラムを切換えると同時に,通信経路切換え部3の通信経路を設定し,フィールド装置4にアクセスための通信経路と通信方式を切換える機能を有する。さらに,動作検証・切換え部32は,情報更新DB33に記憶する情報に従って,制御プログラム35の動作方法を変更し,制御プログラム35の処理が正常に実行されるか否かを検証する機能を有する。ここで,前述の動作切換え部8に相当する機能や動作検証を行う機能はそれぞれ別個に実装しても良い。
The operation verification /
状態監視部36は,第1実施形態における状態監視部6と同様の機能を有する。すなわち,複数の稼働プログラム35-1の動作状態と設定情報と制御情報を取得し,情報更新DB33に取得した情報を送信する機能を有する。なお,状態監視部36の機能は動作検証・切換え部32が有していても良い。
The
情報更新DB33は第1実施形態における情報更新DB7や第2実施形態における情報更新DB23と同様の機能を有し,アップデート部34よりOS30もしくは制御プログラム35の更新に関する情報を取得する機能を有する。通信経路設定DB9は第1実施形態における通信経路設定DB9と同様の機能を有する。
The
アップデート部34は,第2実施形態におけるアップデート部24と同様の機能を有する。すなわち,制御装置31に搭載された各種OS30や各種プログラムのバージョンチェックを実施し,追加プログラムを制御装置31にインストールする機能を有する。ここで,アップデート部34はプログラムの更新処理を情報更新DB33を介して実行しても良いし,直接実行しても良い。
The
通信経路切換え部3は第1実施形態もしくは第2実施形態における通信経路切換え部3と同様の機能を有する。すなわち,動作検証・切換え部32の指示に従って,制御装置31とフィールド装置4を接続する通信経路や通信方式を切換える機能を有する。
The communication
フィールド装置4は,第1実施形態および第2実施形態と同様に,制御装置31からの指示に従ってコントロールされるセンサやアクチュエータなどであり,ネットワーク2を介して制御装置31と接続される。ここで,実際に制御システムの扱うフィールド装置4の数や種類は本例に限定されるものではない。
The
制御装置31は,第1実施形態および第2実施形態と同様に,PCやサーバ,コントローラなどのハードウェアで構成されていても良いし,クラウドシステムなどの仮想環境上に構成されていても良い。前者の場合,制御プログラム35は,例えば図10に示すように,OS30上で実行されるアプリケーションとして,それぞれ別個のハードウェア上に実装されていても良い。また,通信経路設定DB9,情報更新DB33,動作検証・切換え部32,アップデート部34,状態監視部36についても,各制御装置31内に実装されていても良いし,それぞれ別個のハードウェア上に実装されネットワーク20を介して接続されていても良いし,図10に示すように制御装置管理部37として同一のハードウェアもしくはソフトウェア環境上に構築されていても良い。ここで,ネットワーク20は制御装置とフィールド装置とを接続するためのネットワーク2とは別種類のネットワークでも良いし,同種類のネットワークでも良い。
As in the first and second embodiments, the
ここで,各制御装置31に搭載されるOS30やプログラムは同じ種類や数で構成されていても良いし,図10に示すように,異なる構成であっても良い。
Here, the
図10は、各プログラムが異なる実ハードウェア上に実装されている場合の例を示す図である。制御装置31Aには代替OS30-2と代替プログラム35-2および稼働OS30-1と稼働プログラム35-1が搭載され,制御装置31Bには一つの稼働OS30-1上に二つの稼働プログラム35-1が搭載され,制御装置31Cには稼働OS30-1と稼働プログラム35-1が2組搭載されており、これらはネットワーク20を介して接続される。また、制御装置31A〜Cを、ネットワーク20経由で管理する制御装置管理部37は、通信経路設定DB9と情報更新DB33を記憶し、アップデート部34と、状態監視部36と、動作検証・切換え部32を実行する。本図の例のように構成することで、異なるハードウェア上に実装される制御プログラムに対しても柔軟にプログラム切換えを行うことができる。なお,本例で示す以外の構成であっても本発明は有効である。
FIG. 10 is a diagram illustrating an example in which each program is mounted on different real hardware. The control device 31A is equipped with an alternative OS 30-2, an alternative program 35-2, an operation OS 30-1, and an operation program 35-1, and the control device 31B has two operation programs 35-1 on one operation OS 30-1. And two sets of operating OS 30-1 and operating program 35-1 are mounted on the control device 31C, which are connected via the network 20. A control
図11は、本実施形態の制御システムにおいて動作検証・切換え部32が,フィールド装置4を監視制御するためのプログラムの動作検証および切換えを実行するための処理フローである。なお,本実施形態の動作検証・切換え部32は,図4に示した第1実施形態における動作切換え部8の処理フローや,図8に示した第2実施形態における動作検証・切換え部22の処理フローと同様の処理フローを実行することもできる。
FIG. 11 is a processing flow for the operation verification /
まず,動作検証・切換え部32は,状態監視部36からの情報などを利用し,稼働中のプログラムに異常が発生していないかを判定する(ステップS1101)。ステップS1101において異常を検出した場合には,異常が発生した稼働プログラム35-1の代わりに稼働させる代替プログラム35-2の準備,および,プログラムと通信経路を切換えるための準備を実行する(ステップS1102)。例えば,図4に示したステップS403およびステップS404の処理や,図8に示したステップS802〜ステップS805における処理と同様の処理方法がある。
First, the operation verification /
次に,ステップS1102において代替プログラム5-2への切換え準備が完了した場合には,異常の発生した稼働プログラム35-1から代替プログラム35-2への切換えを実行する(ステップS1103)。ここで,稼働プログラム35-1の制御情報の引き継ぎと制御タイミングを同期させるための処理を実行しても良いし,異常の発生により信頼性が低下した稼働プログラム35-1の制御情報は使用せず,直ちに新規に代替プログラム35-2の制御処理を立ち上げても良い。その他,例えば,タイムスタンプを加えて時系列に保存してある制御情報から,異常が発生する前の時点の情報を取得し,代替プログラム35-1へ反映させても良い。また,図4におけるステップS405,もしくは,図8におけるステップS806と同様の処理を実行しても良い。 Next, when preparation for switching to the alternative program 5-2 is completed in step S1102, switching from the operation program 35-1 in which an abnormality has occurred to the alternative program 35-2 is executed (step S1103). Here, a process for synchronizing the control timing with the control information takeover of the operation program 35-1 may be executed, or the control information of the operation program 35-1 whose reliability has decreased due to the occurrence of an abnormality may be used. Instead, the control processing of the alternative program 35-2 may be newly started immediately. In addition, for example, information at a time point before the occurrence of an abnormality may be acquired from control information stored in time series with a time stamp added, and reflected in the alternative program 35-1. Further, the same processing as step S405 in FIG. 4 or step S806 in FIG. 8 may be executed.
次に,ステップS1103においてプログラムと通信経路の切換えが正常に完了したか否かを判定する(ステップS1104)。正常に完了した場合には,異常が発生した元の稼働プログラム35-1を修正し,再度プログラムと通信経路の切換えを実行して復帰させる必要があるか否かを判定する(ステップS1105)。一方,ステップS1103の処理が正常に完了しなかった場合には,エラー処理を実行する(ステップS1107)。エラー処理としては例えば,図4に示したステップS407,もしくは,図8に示したステップS808と同様の処理を実行する。 Next, in step S1103, it is determined whether switching between the program and the communication path has been completed normally (step S1104). If the operation is normally completed, the original operation program 35-1 in which the abnormality has occurred is corrected, and it is determined whether or not it is necessary to return by executing switching between the program and the communication path again (step S1105). On the other hand, if the process of step S1103 is not completed normally, an error process is executed (step S1107). As the error process, for example, the same process as in step S407 shown in FIG. 4 or step S808 shown in FIG. 8 is executed.
ステップS1105においてプログラムの復帰が必要と判定された場合には,異常が発生した元の稼働プログラム35-1の修正やアップデートを実行する(ステップS1106)。例えば,アップデート部34から更新プログラムやセキュリティパッチを取得し,異常の発生したプログラムに適用したうえで動作検証を実行する。
If it is determined in step S1105 that the program needs to be restored, the original operation program 35-1 in which an abnormality has occurred is corrected or updated (step S1106). For example, an update program or a security patch is acquired from the
正常にプログラム修正やアップデートが完了した場合には,元の稼働プログラム35-1に動作を戻すための準備を実行する。本処理は,切換え元および切換え先のプログラムが入れ替わっているものの,処理方法についてはステップS1102と全く同様である。以降は,同様にステップS1103の処理を実行する。一方,ステップS1106において正常にプログラム修正やアップデートが完了しなかった場合には,ステップS1107のエラー処理を実行する。 When the program correction or update is normally completed, preparation for returning the operation to the original operation program 35-1 is executed. In this processing, although the switching source program and the switching destination program are switched, the processing method is exactly the same as in step S1102. Thereafter, the process of step S1103 is similarly executed. On the other hand, if the program correction or update is not normally completed in step S1106, error processing in step S1107 is executed.
以上のように,本実施形態によれば制御システムにおいて,フィールド装置を監視制御するための複数のOSやプログラムに対して,異常発生時のバックアップを1対1ではなく,N対1で準備することができるため,制御システム全体の処理リソースを節約することが可能となる。また,一部のOSやプログラムに異常が発生した場合には,制御システムの可用性に影響を与えることなく,一時的に代替OSや代替プログラムに切換えることで,異常を修正し元のシステム状態に復旧させることが可能となる。 As described above, according to the present embodiment, in the control system, backups in the event of an abnormality are prepared not for one-to-one but for N-to-one for a plurality of OSs and programs for monitoring and controlling field devices. Therefore, it is possible to save processing resources of the entire control system. In addition, if an error occurs in some OS or program, the error is corrected and the original system state is restored by temporarily switching to the alternative OS or program without affecting the availability of the control system. It can be restored.
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 In addition, this invention is not limited to an above-described Example, Various modifications are included. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
また、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
Information such as programs, tables, and files for realizing each function may be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, SD card, or DVD. it can.
Further, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
1,21,31 制御装置
2,20 ネットワーク
3 通信経路切換え部
4 フィールド装置
100 演算処理部
110 記憶部
120 通信制御部
5,25,35 制御プログラム
5‐1,35-1 稼働プログラム
5-2,35-2 代替プログラム
6,36 状態監視部
7,23,33 情報更新DB
8 動作切換え部
9 通信経路設定DB
10 通信インタフェース(通信IF)
11 ゲートウェイ
12 エラー原因
13 詳細エラー原因
14 エラー処理(1)
15 エラー処理(2)
22,32 動作検証・切換え部
24,34 アップデート部
37 制御装置管理部1,21,31
3 Communication
8
10 Communication interface (communication IF)
11 Gateway 12
15 Error handling (2)
22, 32 Operation verification /
Claims (11)
取得した前記制御情報に基づいて前記フィールド装置の監視または制御を行う主系プログラムを実行する演算処理部と、
前記主系プログラムの動作状態、および、前記フィールド装置の監視または制御に必要な設定情報を記憶するメモリと、を備え、
前記演算処理部は、前記主系プログラムの動作を監視して、前記メモリに記憶する前記動作状態を逐次更新しており、所定のタイミングで前記メモリ内の前記動作状態、および、前記設定情報から前記主系プログラムと切替え可能に代替プログラムを構築し、前記主系プログラムから前記代替プログラムへ切換えることを特徴とする制御システム。A communication control unit for obtaining control information from a field device connected via a network;
An arithmetic processing unit that executes a main program for monitoring or controlling the field device based on the acquired control information;
An operation state of the main system program, and a memory for storing setting information necessary for monitoring or controlling the field device,
The arithmetic processing unit monitors the operation of the main system program and sequentially updates the operation state stored in the memory. From the operation state in the memory and the setting information at a predetermined timing A control system, wherein an alternative program is constructed so as to be switchable with the main program, and the main program is switched to the alternative program.
前記メモリは、前記代替プログラムが前記フィールド装置との通信に必要な通信プロトコルを記憶し、
前記演算処理部は、前記メモリに記憶する前記通信プロトコルに基づいて前記代替プログラムが前記フィールド装置へアクセスするために必要な通信プロトコルの変換方式を設定し、前記主系プログラムから前記代替プログラムへ切換えることを特徴とする制御システム。In claim 1,
The memory stores a communication protocol necessary for the alternative program to communicate with the field device,
The arithmetic processing unit sets a communication protocol conversion method necessary for the alternative program to access the field device based on the communication protocol stored in the memory, and switches from the main program to the alternative program. A control system characterized by that.
前記通信制御部と前記フィールド装置との通信を中継する通信経路切換え装置を備え、
前記通信経路切換え装置は、一方のネットワークから受信した通信データの通信プロトコルを異なる通信プロトコルへ変換して他方のネットワークへ送信するものであって、
前記演算処理部は、前記代替プログラムが通信に用いる通信プロトコルと、前記フィールド装置が通信に用いる通信プロトコルと、から前記代替プログラムと前記フィールド装置との間の通信に必要な通信プロトコルの変換経路を前記通信経路切換え装置へ設定し、前記主系プログラムから前記代替プログラムへ切換えることを特徴とする制御システム。In claim 2,
A communication path switching device for relaying communication between the communication control unit and the field device;
The communication path switching device converts a communication protocol of communication data received from one network into a different communication protocol and transmits it to the other network,
The arithmetic processing unit determines a communication protocol conversion path necessary for communication between the alternative program and the field device from a communication protocol used for communication by the alternative program and a communication protocol used by the field device for communication. A control system which is set in the communication path switching device and switches from the main program to the alternative program.
前記主系プログラムを実行する演算処理部と、前記代替プログラムを実行する演算処理部と、はそれぞれ別の制御装置に備えられ、前記代替プログラムを実行する制御装置は、前記メモリに記憶する前記動作状態、および、前記設定情報から前記主系プログラムを実行する制御装置と切替え可能に当該代替プログラムを構築して、前記主系プログラムから前記代替プログラムへ切換えることを特徴とする制御システム。
In claim 1,
The arithmetic processing unit that executes the main program and the arithmetic processing unit that executes the alternative program are provided in different control devices, respectively, and the control device that executes the alternative program stores the operation in the memory. A control system, wherein the alternative program is constructed so as to be switchable with a control device that executes the main program from the state and the setting information, and is switched from the main program to the alternative program.
前記演算処理部は、実行中の前記主系プログラムの更新要否をチェックし、プログラムの更新が必要だと判断すると、構築された前記代替プログラムに対してプログラムの更新を実行し、更新後の前記代替プログラムが正常に動作するか確認し、前記主系プログラムから前記代替プログラムへ切換えることを特徴とする制御システム。In claim 1,
The arithmetic processing unit checks whether or not the main program being executed needs to be updated. When the arithmetic processing unit determines that the program needs to be updated, the arithmetic processing unit executes the program update on the constructed alternative program, A control system comprising: checking whether the substitute program operates normally and switching from the main program to the substitute program.
前記演算処理部は、稼動中の複数の前記主系プログラムの更新要否をチェックし、いずれかの前記主系プログラムに更新が必要だと判断すると、更新が必要と判断された前記主系プログラムに関する前記動作状態および前記設定情報から当該主系プログラムと切替え可能に前記代替プログラムを構築し、構築された前記代替プログラムに対してプログラムの更新を実行し、更新が必要と判断された前記主系プログラムから前記代替プログラムへ切換えることを特徴とする制御システム。The control system according to claim 1 operates a plurality of main programs to monitor and control a plurality of field devices,
The arithmetic processing unit checks whether it is necessary to update a plurality of active main programs, and determines that any of the main programs needs to be updated. The alternative program is constructed so that it can be switched to the main program from the operation state and the setting information with respect to the main program, the program is updated with respect to the constructed alternative program, and the main program determined to be updated A control system for switching from a program to the alternative program.
前記主系プログラムおよび前記代替プログラムは、ソフトウェアによって構成されたプログラマブルロジックコントローラであることを特徴とする制御システム。In claim 6,
The main system program and the alternative program are programmable logic controllers configured by software.
請求項1に記載の制御システムは、複数の前記主系プログラムを稼動して、複数のフィールド装置を監視制御するものであって、
前記演算処理部は、稼動中の複数の前記主系プログラムをチェックし、いずれかの前記主系プログラムに更新が必要だと判断すると、更新が必要と判断された主系プログラムに関する前記動作状態および前記設定情報から当該主系プログラムと切替え可能に前記代替プログラムを構築し、更新が必要と判断された主系プログラムから前記代替プログラムへ前記フィールド装置の監視制御主体を切換え、当該主系プログラムに対してプログラムの更新を実行し、さらに前記代替プログラムから更新された前記主系プログラムへ切換えることを特徴とする制御システム。In claim 1,
The control system according to claim 1 operates a plurality of main programs to monitor and control a plurality of field devices,
The arithmetic processing unit checks a plurality of active main programs and determines that any one of the main programs needs to be updated. The operation state relating to the main program determined to be updated and The alternative program is constructed so that it can be switched to the main program from the setting information, the monitoring control subject of the field device is switched from the main program determined to be updated to the alternative program, and the main program is switched to A control system, wherein the program is updated, and further, the replacement program is switched to the updated main program.
取得した前記制御情報に基づいて前記フィールド装置の監視制御を行う主系プログラムを実行するステップと、
前記主系プログラムの動作を監視して前記主系プログラムの動作状態をメモリへ格納するステップと、
所定のタイミングで予めメモリに記憶する前記フィールド装置の監視または制御に必要な設定情報、および、前記メモリに格納された前記動作状態から前記主系プログラムと切替え可能に代替プログラムを構築するステップと、
前記主系プログラムから前記代替系プログラムへ運用を切換えるステップと、
を含む制御プログラムの切換え方法。Obtaining control information from a field device connected via a network;
Executing a main program for monitoring and controlling the field device based on the acquired control information;
Monitoring the operation of the main program and storing the operation state of the main program in a memory;
Setting information necessary for monitoring or control of the field device to be stored in a memory in advance at a predetermined timing, and constructing an alternative program that can be switched to the main system program from the operation state stored in the memory;
Switching operation from the main program to the alternative program;
Control program switching method including:
実行中の前記主系プログラムの更新要否をチェックするステップと、
プログラムの更新が必要だと判断すると、構築された前記代替プログラムに対してプログラムの更新を実行するステップと、
更新後の前記代替プログラムが正常に動作するか確認するステップと、
前記主系プログラムから前記代替プログラムへ運用を切換えるステップと、
を含む制御プログラムの切換え方法。Further in claim 9,
Checking whether the main program being executed needs to be updated;
If it is determined that a program update is necessary, executing the program update on the constructed alternative program; and
A step of confirming whether the alternative program after the update normally operates;
Switching operation from the main program to the alternative program;
Control program switching method including:
複数の前記主系プログラムを稼動して、複数のフィールド装置を監視制御するステップと、
稼動中の複数の前記主系プログラムをチェックするステップと、
いずれかの前記主系プログラムに更新が必要だと判断すると、更新が必要と判断された前記主系プログラムに関する前記動作状態および前記設定情報から当該主系プログラムと切替え可能に前記代替プログラムを構築するステップと、
構築された前記代替プログラムに対してプログラムの更新を実行するステップと、
更新が必要と判断された前記主系プログラムから前記代替プログラムへ運用を切換えるステップと、
を含む制御プログラムの切換え方法。In claim 9, further comprising the step of operating a plurality of main programs to monitor and control a plurality of field devices;
Checking a plurality of said main programs in operation;
If it is determined that any of the main programs needs to be updated, the alternative program is constructed so as to be switchable to the main program from the operation state and the setting information regarding the main program determined to be updated. Steps,
Executing a program update on the constructed alternative program;
Switching operation from the main program determined to be updated to the alternative program;
Control program switching method including:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/074792 WO2015037116A1 (en) | 2013-09-13 | 2013-09-13 | Control device and control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2015037116A1 true JPWO2015037116A1 (en) | 2017-03-02 |
Family
ID=52665258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015536381A Pending JPWO2015037116A1 (en) | 2013-09-13 | 2013-09-13 | Control device and control system |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2015037116A1 (en) |
WO (1) | WO2015037116A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016152610A1 (en) * | 2015-03-23 | 2016-09-29 | 日本電気株式会社 | Information processing device, repeating device, information processing system and method, and program |
WO2018015984A1 (en) | 2016-07-21 | 2018-01-25 | Nec Corporation | Communication apparaus, system, rollback method, and program |
US11431569B2 (en) | 2016-07-21 | 2022-08-30 | Nec Corporation | Communication apparatus, system, rollback method, and non-transitory medium |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002259355A (en) * | 2001-02-28 | 2002-09-13 | Hitachi Ltd | Multiplex system |
US20130173024A1 (en) * | 2012-01-03 | 2013-07-04 | William Robert Pettigrew | Method and system for control system redundancy |
-
2013
- 2013-09-13 JP JP2015536381A patent/JPWO2015037116A1/en active Pending
- 2013-09-13 WO PCT/JP2013/074792 patent/WO2015037116A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2015037116A1 (en) | 2015-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11575618B2 (en) | Automated network change system | |
US11575769B2 (en) | Redundancy in a network centric process control system | |
JP5713056B2 (en) | Process control apparatus and system and update method thereof | |
JP6299640B2 (en) | Communication device | |
JP6527173B2 (en) | Gateway providing logical model mapped to independent underlying network | |
JP2016184373A (en) | Process control system | |
CN117378179A (en) | System and method for debugging, optimizing, profiling or recovering network devices in a real-time network | |
WO2015037116A1 (en) | Control device and control system | |
JP4964666B2 (en) | Computer, program and method for switching redundant communication paths | |
WO2014147817A1 (en) | Information processing device, program update method, and program | |
JP6558882B2 (en) | Control system and relay device | |
JP2019179361A (en) | Safety control system and safety control unit | |
JP2013167922A (en) | Redundant communication system and redundant communication method | |
US10715396B2 (en) | Support apparatus, non-transitory computer readable recording medium and setting method | |
JP2015032301A (en) | Version update method for virtual host and network equipment | |
JP6196505B2 (en) | Cloud control system and method for executing the control program | |
JP2006246152A (en) | Packet transfer apparatus, packet transfer network, and method for transferring packet | |
JP7107262B2 (en) | Control system and controller | |
CN112667428A (en) | BMC fault processing circuit, method and device, electronic equipment and storage medium | |
JP6554801B2 (en) | Redundant communication device and control method thereof | |
WO2019113196A1 (en) | Automated network change system | |
US20240007233A1 (en) | Edge Device and Method for Providing Redundancy Functions on the Edge Device | |
CN115499296B (en) | Cloud desktop hot standby management method, device and system | |
JP7135790B2 (en) | Link aggregation management device, relay device, link aggregation management method and program | |
JP2015138987A (en) | Communication system and service restoration method in communication system |