JP2019114263A - ソフトウェア定義plcの監視及び再構成方法及び装置 - Google Patents

ソフトウェア定義plcの監視及び再構成方法及び装置 Download PDF

Info

Publication number
JP2019114263A
JP2019114263A JP2018240346A JP2018240346A JP2019114263A JP 2019114263 A JP2019114263 A JP 2019114263A JP 2018240346 A JP2018240346 A JP 2018240346A JP 2018240346 A JP2018240346 A JP 2018240346A JP 2019114263 A JP2019114263 A JP 2019114263A
Authority
JP
Japan
Prior art keywords
soft
guardian
server
plc
microkernel
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.)
Granted
Application number
JP2018240346A
Other languages
English (en)
Other versions
JP6694499B2 (ja
Inventor
ジエンウェイ ソン,
Jianwei Song
ジエンウェイ ソン,
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.)
Kyland Technology Co Ltd
Original Assignee
Kyland Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyland Technology Co Ltd filed Critical Kyland Technology Co Ltd
Publication of JP2019114263A publication Critical patent/JP2019114263A/ja
Application granted granted Critical
Publication of JP6694499B2 publication Critical patent/JP6694499B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2035Error 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 without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1204Multiprocessing, several plc's, distributed logic control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14006Safety, monitoring in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Programmable Controllers (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

【課題】PLCの分野に関し、特に、パワーダウンせずに仮想PLCを迅速に再構成するためのソフトウェア定義PLCの監視及び再構成方法及び装置に関する。【解決手段】ソフトガーディアンが仮想PLCの故障を監視すると、サーバクラスターにおける各サーバ上の各物理コアの動作状態及び各物理コア上の各マイクロカーネルの動作状態を取得することと、各サーバ上の各物理コアの動作状態及び各物理コア上の各マイクロカーネルの動作状態に基づいてターゲットマイクロカーネルを決定することと、ターゲットマイクロカーネルで仮想PLCを再構成するように指示するための再構成命令をターゲットマイクロカーネルに送信することとを含む。【選択図】図5d

Description

本発明の実施例は、PLCの分野に関し、特に、ソフトウェア定義PLCの監視及び再構成方法及び装置に関する。
コンピュータ技術、信号処理技術、制御技術ネットワークが絶え間なく発展し、ユーザニーズが絶え間なく向上するのに伴い、プログラマブルロジックコントローラ(Programmable Logic Controller、PLCと略称)は広く使用されている。例えば、鋼鉄、石油、化学工業、電力、機械製造、配達及び文化娯楽などの様々な業界、特に分散制御システムに使用されている。
従来技術において、PLCに基づく分散制御システムは、複数台のハードPLCで構成されている。分散制御システムの制御対象機器は、一般的に数多く、大きなエリア内に分散し、かつ制御対象機器同士が互いに関連付けられる恐れがあり、したがって、分散制御システムにおけるハードPLCは制御対象機器をリアルタイムに制御する必要がある。分散制御システムにおけるあるハードPLCが故障して制御対象機器をリアルタイムに制御することができない場合は、分散制御システム全体の正常な動作に影響を与えることがある。したがって、分散制御システムには、一般的に、対応するディザスタリカバリ方式が設定されている。
現在、大量のハードPLCで構成される分散制御システムのディザスタリカバリ方式は、各独立したハードPLCに1つ又は複数の冗長なハードPLCを設定することである。ハードPLCが故障すると、冗長なハードPLCに切り替える。しかし、あるエリアの複数台のハードPLC及び対応する冗長なPLCがすべて故障した場合、他のエリアのハードPLCが正常に動作し、かつ2つのエリアの間のPLC間に互いに影響があるため、この場合、分散制御システム全体の動作を停止させて故障が発生したエリアのハードPLCを交換することしかできない。
本発明の実施例は、パワーダウンせずに仮想PLCを迅速に再構成することを実現するためのソフトウェア定義PLCの監視及び再構成方法及び装置を提供する。
本発明の実施例は、サーバクラスターに適用されるソフトウェア定義PLCの監視及び再構成方法を提供し、前記サーバクラスターにおける各サーバは、少なくとも2つのマイクロカーネルが設置された少なくとも1つの物理コアを含み、前記サーバクラスターは、1つ又は複数のソフトガーディアンを含み、前記マイクロカーネルに仮想PLC又はソフトガーディアン(soft guardian)が設定され、前記方法は、前記ソフトガーディアンが仮想PLCの故障を監視すると、前記サーバクラスターにおける各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態を取得することと、前記ソフトガーディアンが、前記各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態に基づいてターゲットマイクロカーネルを決定することと、前記ソフトガーディアンが、前記ターゲットマイクロカーネルで前記仮想PLCを再構成するように指示するための再構成命令を前記ターゲットマイクロカーネルに送信することとを含む。
該技術手段によれば、1つの物理コアに複数のマイクロカーネルを仮想化し、各マイクロカーネル(仮想化オペレーティングシステム)で1つの仮想PLCを実行する。仮想PLCが故障すれば、他のマイクロカーネルで該PLCを再構成することができ、各マイクロカーネルの間に互いに影響がないため、仮想PLCを再構成する場合、サーバをパワーダウンする必要がなく、サーバを再配線する必要もなく、パワーダウンせずに仮想PLCを迅速に再構成することを実現することができるため、システムにおける他のPLCの動作に影響を与えない。
さらに、サーバクラスターにおける各サーバの物理コアには仮想化のリアルタイムオペレーティングシステムが設定され、仮想PLCが仮想化のリアルタイムオペレーティングシステムに設定されているため、各仮想PLCの制御時のリアルタイム性を向上させることができ、また、ソフトガーディアンが仮想化のリアルタイムオペレーティングシステムに設定されると、システム全体のリアルタイム性を向上させることができる。
好ましくは、設定情報を取得し、前記ソフトガーディアンは、前記設定情報に基づいて、前記特定仮想PLCの動作状態を監視し、前記設定情報は、前記ソフトガーディアンで監視する特定仮想PLCを示し、また、前記ソフトガーディアンが前記ソフトガーディアンと同一の物理コアにあるか、又は前記ソフトガーディアンと同一の物理コアにないことを示す。
好ましくは、前記ソフトガーディアンは、前記ソフトガーディアンで監視する特定仮想PLCを示し、前記特定仮想PLCのユーザプログラム編集結果ファイルをさらに含む設定情報を取得し、前記ソフトガーディアンは、前記ターゲットマイクロカーネルに前記特定仮想PLCのユーザプログラム編集結果ファイルに基づいて前記特定仮想PLCを再構成するように指示するための、再構成命令を前記ターゲットマイクロカーネルに送信することができる(再構成命令は前記特定仮想PLCのユーザプログラム編集結果ファイルを含む)。このように、ユーザプログラムを再編集する必要がなく、ユーザプログラムにおけるいずれか1つの命令セットを直接的に読み出して実行することにより仮想PLCの再構成を実現することができ、従来技術における冗長バックアップに比べて、仮想PLCを迅速に再構成することを実現することができる。かつ、サーバは、パワーダウンせずに仮想PLCを再構築することができ、さらに分散制御システム全体における正常な仮想PLCの正常な動作に影響を与えない。
本発明の実施例は、ターゲットマイクロカーネルを決定する以下の2種類の方式を提供する。
実現方式1では、前記各物理コアの動作状態は、前記各物理コアの第1の負荷情報を含み、前記各マイクロカーネルの動作状態は、前記各マイクロカーネルの第2の負荷情報を含み、前記ソフトガーディアンは、前記各サーバ上の各物理コアの第1の負荷情報及び前記各物理コア上の各マイクロカーネルの第2の負荷情報を取得し、前記ソフトガーディアンは、前記各サーバ上の各物理コアの第1の負荷情報及び前記各物理コア上の各マイクロカーネルの第2の負荷情報に基づいてターゲットマイクロカーネルを決定する。
実現方式2では、前記ソフトガーディアンは、前記ソフトガーディアンが特定仮想PLCを保護することを含み、前記特定仮想特定仮想PLCが故障した後に再構成された物理コアの優先順位及び各物理コア上のマイクロカーネルの優先順位を指示する特定仮想PLCの故障時の配置ポリシーをさらに含む設定情報を取得し、前記ソフトガーディアンは、前記各サーバ上の各物理コアの第1の負荷情報、前記各物理コア上の各マイクロカーネルの第2の負荷情報及び特定仮想PLCの故障時の配置ポリシーに基づいて、前記ターゲットマイクロカーネルを決定することができる。
本発明の実施例は、サーバクラスターに適用されるソフトウェア定義PLCの監視及び再構成方法を提供し、前記サーバクラスターにおける各サーバは、少なくとも2つのマイクロカーネルが設置された少なくとも1つの物理コアを含み、前記サーバクラスターは、1つ又は複数のソフトガーディアンを含み、前記マイクロカーネルに仮想PLC又はソフトガーディアンが設定され、前記方法は、サーバが、前記ソフトガーディアンで保護される特定仮想PLCのユーザプログラム編集結果ファイルと前記特定仮想PLCを再構成するターゲットマイクロカーネルとを含む、前記ソフトガーディアンからの再構成命令を受信することと、前記サーバが、前記特定仮想PLCのユーザプログラム編集結果ファイルに基づいて、前記ターゲットマイクロカーネルで前記仮想PLCを再構成することとを含む。
好ましくは、前記サーバが、前記特定仮想PLCのユーザプログラム編集結果ファイルに基づいて、前記ターゲットマイクロカーネルで前記仮想PLCを再構成することは、前記ターゲットマイクロカーネルで前記ターゲットマイクロカーネルにプリインストールされた仮想PLCのシステムプログラムを起動することと、仮想PLCのシステムプログラムで前記特定仮想PLCのユーザプログラム編集結果ファイルを実行することとを含む。
好ましくは、サーバが前記ソフトガーディアンからの再構成命令を受信する前に、さらに、前記サーバが、特定物理コア上の特定マイクロカーネルにソフトガーディアンを設定することと、特定物理コア上の特定マイクロカーネルに仮想PLCを設定することに用いられ、前記ソフトガーディアンで監視する特定仮想PLCを含む、クライアントからの初期化設定命令を受信することと、前記サーバが前記初期化設定命令における前記設定情報に基づいて仮想PLC及びソフトガーディアンを設定することとを含む。前記特定仮想PLCは、前記ソフトガーディアンと同一の物理コアにあるか、又は前記ソフトガーディアンと同一の物理コアにない。
本発明の実施例は、サーバクラスターに適用されるサーバを提供し、前記サーバクラスターにおける各サーバは、少なくとも2つのマイクロカーネルが設置された少なくとも1つの物理コアを含み、前記サーバクラスターは、1つ又は複数のソフトガーディアンを含み、前記マイクロカーネルに仮想PLC又はソフトガーディアンが設定され、前記サーバに設定されたソフトガーディアンは、仮想PLCの故障を監視すると、前記サーバクラスターにおける各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態を取得するための取得ユニットと、前記各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態に基づいてターゲットマイクロカーネルを決定するための処理ユニットと、前記ターゲットマイクロカーネルで前記仮想PLCを再構成するように指示するための再構成命令を前記ターゲットマイクロカーネルに送信するための送信ユニットとを含む。
好ましくは、前記取得ユニットは、さらに、設定情報を取得するために用いられ、前記処理ユニットは、さらに、前記設定情報に基づいて、前記特定仮想PLCの動作状態を監視するために用いられ、前記設定情報は、前記ソフトガーディアンで監視する特定仮想PLCを示し、また、前記特定仮想PLCが前記ソフトガーディアンと同一の物理コアにあるか、又は前記ソフトガーディアンと同一の物理コアにないことを示す。
好ましくは、前記取得ユニットは、さらに、前記ソフトガーディアンで監視する特定仮想PLCを示し、前記特定仮想PLCのユーザプログラム編集結果ファイルをさらに含む設定情報を取得するために用いられ、前記送信ユニットは、具体的には、前記ターゲットマイクロカーネルに前記特定仮想PLCのユーザプログラム編集結果ファイルに基づいて前記特定仮想PLCを再構成するように指示するための再構成命令を前記ターゲットマイクロカーネルに送信するために用いられる。前記再構成命令は、前記特定仮想PLCのユーザプログラム編集結果ファイルを含む。
好ましくは、前記各物理コアの動作状態は、前記各物理コアの第1の負荷情報を含み、前記各マイクロカーネルの動作状態は、前記各マイクロカーネルの第2の負荷情報を含み、前記取得ユニットは、具体的には、前記各サーバ上の各物理コアの第1の負荷情報及び前記各物理コア上の各マイクロカーネルの第2の負荷情報を取得するために用いられ、前記処理ユニットは、具体的には、前記各サーバ上の各物理コアの第1の負荷情報及び前記各物理コア上の各マイクロカーネルの第2の負荷情報に基づいてターゲットマイクロカーネルを決定するために用いられる。
本発明の実施例は、サーバクラスターに適用されるサーバを提供し、前記サーバクラスターにおける各サーバは、少なくとも2つのマイクロカーネルが設置された少なくとも1つの物理コアを含み、前記サーバクラスターは、1つ又は複数のソフトガーディアンを含み、前記マイクロカーネルに仮想PLC又はソフトガーディアンが設定され、前記サーバは、前記ソフトガーディアンで保護される特定仮想PLCのユーザプログラム編集結果ファイルと前記特定仮想PLCを再構成するターゲットマイクロカーネルを含む前記ソフトガーディアンからの再構成命令を受信するための受信ユニットと、前記特定仮想PLCのユーザプログラム編集結果ファイルに基づいて、前記ターゲットマイクロカーネルで前記仮想PLCを再構成するための処理ユニットとを含む。
好ましくは、前記処理ユニットは、具体的には、前記ターゲットマイクロカーネルで前記ターゲットマイクロカーネルにプリインストールされた仮想PLCのシステムプログラムを起動し、仮想PLCのシステムプログラムで前記特定仮想PLCのユーザプログラム編集結果ファイルを実行するために用いられる。
好ましくは、前記受信ユニットは、さらに、特定物理コア上の特定マイクロカーネルにソフトガーディアンを設定することと、特定物理コア上の特定マイクロカーネルに仮想PLCを設定することと、前記ソフトガーディアンで監視する特定仮想PLCを示すことに用いられる、クライアントからの初期化設定命令を受信するために用いられ、前記処理ユニットは、さらに、前記初期化設定命令における前記設定情報に基づいて仮想PLC及びソフトガーディアンを設定するために用いられる。前記特定仮想PLCは、前記ソフトガーディアンと同一の物理コアにあるか、又は前記ソフトガーディアンと同一の物理コアにない。
本発明の実施例は、仮想化オペレーティングシステムが設定されたサーバクラスターに適用されるPLCに基づく分散制御システムのディザスタリカバリ方法を提供し、前記サーバクラスターにおける各サーバに、仮想PLC及び前記仮想PLCのリアルタイムオペレーティングシステムが設定され、前記ソフトガーディアンは、前記仮想PLCの故障を確認すると、前記サーバクラスターにおける各サーバの動作状態を取得し、前記ソフトガーディアンは、前記各サーバの動作状態に基づいてターゲットサーバを決定し、前記ソフトガーディアンは、前記ターゲットサーバに前記仮想PLCを設定するように指示するための設定命令を前記ターゲットサーバに送信する。
本発明の実施例では、前記サーバクラスターにおける各サーバに仮想PLC及び前記仮想PLCのリアルタイムオペレーティングシステムが設定されているため、仮想PLCのリアルタイムオペレーティングシステムにより各仮想PLCの制御時のリアルタイム性を向上させることができ、前記ソフトガーディアンのリアルタイムオペレーティングシステムにより分散制御システム全体のリアルタイム性を向上させることができる。
さらに、前記ソフトガーディアンは、前記仮想PLCの故障を確認すると、前記サーバクラスターにおける各サーバの動作状態を取得し、前記各サーバの動作状態に基づいてターゲットサーバを決定し、決定された前記ターゲットサーバに設定命令を送信することにより、ターゲットサーバに仮想PLCを自動的に再設定することを実現し、分散制御システム全体の正常な動作に影響を与えず、このようにすれば、分散制御システムのディザスタリカバリ能力を向上させることができ、かつ分散制御システムをメンテナンスしやすい。
好ましくは、前記ソフトガーディアンが前記仮想PLCの故障を確認する前に、さらに、前記ソフトガーディアンがソフトガーディアンと仮想PLCとの間のマッピング関係を含む前記仮想PLCトポロジ情報を取得することと、前記ソフトガーディアンが前記マッピング関係に基づいて前記仮想PLCの動作状態を保護することとを含む。
好ましくは、前記ソフトガーディアンが前記ターゲットサーバに設定命令を送信することは、前記ソフトガーディアンが、イベント駆動で実行される第1の命令セットと、周期ポーリング及びイベント駆動で実行される第2の命令セットとを含む前記仮想PLCの命令セットを決定することと、前記ソフトガーディアンが前記仮想PLCの命令セットを含む設定命令を前記ターゲットサーバに送信することとを含む。
好ましくは、前記ソフトガーディアンが前記ターゲットサーバに設定命令を送信した後、さらに、前記ソフトガーディアンが前記仮想PLCトポロジ情報を更新することを含む。
好ましくは、PLCに基づく分散制御システムのディザスタリカバリ方法は、前記ソフトガーディアンが各前記サーバの動作状態を保護することと、前記ソフトガーディアンが、異常状態のサーバが存在すると決定する場合、警報情報を送信することとをさらに含む。
本発明の実施例は、仮想化オペレーティングシステムが設定されたサーバクラスターに適用されるPLCに基づく分散制御システムのディザスタリカバリ装置を提供し、前記サーバクラスターにおける各サーバに仮想PLC及び前記仮想PLCのリアルタイムオペレーティングシステムが設定され、前記ソフトガーディアンは、前記仮想PLCの故障を確認すると、前記サーバクラスターにおける各サーバの動作状態を取得するための取得ユニットと、前記各サーバの動作状態に基づいてターゲットサーバを決定するための決定ユニットと、前記ターゲットサーバに前記仮想PLCを設定するように指示するための設定命令を前記ターゲットサーバに送信するための送信ユニットとを含む。
好ましくは、前記取得ユニットは、さらに、ソフトガーディアンと仮想PLCとの間のマッピング関係を含む前記仮想PLCトポロジ情報を取得するために用いられ、前記マッピング関係に基づいて、前記仮想PLCの動作状態を保護するためのガーディアンユニットをさらに含む。
好ましくは、前記決定ユニットは、イベント駆動で実行される第1の命令セットと、周期ポーリング及びイベント駆動で実行される第2の命令セットとを含む前記仮想PLCの命令セットを決定するために用いられ、前記送信ユニットは、前記仮想PLCの命令セットを含む設定命令を前記ターゲットサーバに送信するために用いられる。
好ましくは、前記仮想PLCトポロジ情報を更新するための更新ユニットをさらに含む。
好ましくは、前記ガーディアンユニットは、さらに、各前記サーバの動作状態を保護するために用いられ、前記送信ユニットは、異常状態のサーバが存在すると決定する場合、警報情報を送信するために用いられる。
本発明の実施例は、コンピュータに前記方法を実行させるためのコンピュータ実行可能な命令が記憶されているコンピュータ可読記憶媒体を提供する。
本発明の実施例は、プログラム命令を記憶するためのメモリと、前記メモリに記憶されたプログラム命令を呼び出して、取得されたプログラムに従って前記方法を実行するためのプロセッサとを含むコンピュータ装置を提供する。
本発明の実施例における技術手段をより明確に説明するために、以下、実施例の説明に必要な図面を簡単に説明するが、以下に記載の図面は本発明のいくつかの実施例に過ぎず、当業者にとって、創造的な労働を行わない前提で、これらの図面に基づいて他の図面を取得することができる。
本発明の実施例に係るPLCに基づく分散制御システムのアーキテクチャ概略図である 本発明の実施例に係るPLCに基づく分散制御システムのディザスタリカバリ方法の方法フローチャートである。 本発明の実施例に係る仮想PLCとサーバとの間の配置関係のアーキテクチャ概略図である。 本発明の実施例に係るPLCに基づく分散制御システムのディザスタリカバリ装置の構造概略図である。 本発明の実施例に係るサーバの内部構造概略図である。 本発明の実施例に係るサーバ上の一つの物理コアが故障した後の内部配置構造概略図である。 本発明の実施例に係る仮想PLCが故障した後のサーバの内部構造概略図である。 本発明の実施例に係るソフトウェア定義PLCの監視及び再構成方法のフローチャートである。 本発明の実施例に係るサーバが仮想PLC又はガーディアンを設定する方法のフローチャートである。 本発明の実施例に係るソフトガーディアンの構造概略図である。 本発明の実施例に係るサーバの構造概略図である。
本発明の目的、技術手段及び利点をより明確にするために、以下、図面を合わせて本発明をさらに詳細に説明し、明らかに、説明された実施例は、本発明の一部の実施例に過ぎず、全ての実施例ではない。本発明における実施例に基づいて、当業者が創造的な労働を行わない前提で得られた全ての他の実施例は、いずれも本発明の保護範囲に属する。
(実施例1)
図1は、本発明の実施例が適用される分散ディザスタリカバリ装置のアーキテクチャ概略図を示す。図1に示すように、該システムアーキテクチャは、クライアント101、サーバクラスター102、入力/出力(Input/Output、I/Oと略称)バス103、制御対象機器104を含むことができる。図1は、サーバーグループがサーバ102a、サーバ102b及びサーバ102cを含むことを例として説明する。クライアント101とサーバクラスター102における各サーバとの間は、有線又は無線の方式で接続され、サーバ102a、サーバ102b及びサーバ102cの間は、有線又は無線の方式で接続され、サーバ102a、サーバ102b及びサーバ102cは、それぞれI/Oバス103を介して制御対象機器104に接続される。
クライアント101には、アプリケーション開発環境ソフトウェア、例えば、統合開発環境(Integrated Development Environment、IDEと略称)ソフトウェアが配置されている。開発環境ソフトウェアは、エディタ、コンパイラを含む。前記開発環境ソフトウェアは、国際電気標準会議(International Electrotechnical Commission、IECと略称)61131標準及びIEC61499標準をサポートする。ユーザは、開発環境においてIEC61131標準のストラクチャードテキスト(Structured text、STと略称)言語エディタ、中間言語(Intermediate Language、ILと略称)言語エディタ、ファンクションブロックダイアグラム(Function Block Diagram、FBDと略称)言語エディタ、シーケンシャルファンクションチャート(Seauential Fuction Chart、SFCと略称)言語エディタ、ラダーロジックプログラミング言語(LadderLogic Programming Language、LADと略称)言語エディタを用いてエディタでプログラミングし、IEC61499標準のファンクションブロックダイアグラムエディタ、IEC61499の実行制御遷移図(Execution Control Chart、ECCと略称)グラフエディタ、クロスエディタを用いてファンクションブロックダイアグラムとECCグラフのプログラミングを行う。本発明の実施例において、クライアントは、エディタでプログラム編集を行う場合、IEC61499標準及びIEC61131標準を組み合わせて用いてソフトPLC、及びソフトガーディアンを設定し、IEC61131標準には単独のソフトPLCの制御ロジック、単一のソフトPLC間の通信プロトコル及び通信ポリシーが規定されるので、PLCに基づく分散制御システム全体に対する制御ロジックを取得するために、IEC61499標準を補充として用いる。IEC61499標準は、各ソフトPLC間の通信プロトコル及び通信ポリシーを規定し、通信プロトコルの機能を弱化し、このように、編集者がソフトPLC及びソフトガーディアンをプログラミングする場合、開始時に各ソフトPLC間の通信プロトコル及び通信ポリシーを考慮することを省略することができ、分散制御システム全体の制御ロジックに注目するだけで、分散制御システム全体の制御ロジックを配置した後、IEC61131標準に基づいて、具体的な各ソフトPLCに割り当てる。各サーバに設定されたソフトPLCとソフトガーディアンは、IEC61499標準及びIEC61131標準を組み合わせたプログラミング方式を用いて、プログラミングがより簡潔で容易になり、かつプログラムのメンテナンス性が高い。編集者は、必要に応じて、エディタでソフトPLCのトポロジ情報と前記ソフトPLCの命令セットを編集する。コンパイラにおいてソフトPLCトポロジ情報と前記ソフトPLCの制御ロジックソースコードを実行環境で実行可能な機械命令セットに変換する。
サーバクラスター102における各サーバは、産業用サーバであってよく、サーバクラスター102における各サーバに仮想化オペレーティングシステムが設定される。前記サーバクラスターにおける各サーバに仮想化オペレーティングシステムが設定され、前記サーバは、ソフトPLCトポロジ情報、ソフトガーディアントポロジ情報、ソフトPLCのリアルタイムオペレーティングシステム情報及びソフトガーディアンのリアルタイムオペレーティングシステム情報を含む初期化設定命令を受信し、前記初期化設定命令に基づいて、前記サーバの前記仮想化オペレーティングシステムにソフトPLC、ソフトガーディアン、前記ソフトPLCのリアルタイムオペレーティングシステム及び前記ソフトガーディアンのリアルタイムオペレーティングシステムを設定するために用いられ、前記初期化設定命令は、IEC61499標準及びIEC61131標準を組み合わせるプログラミング方式で生成されるものである。前記仮想化オペレーティングシステムは、Interwell OSシステムであってよく、ソフトPLCは、ランタイム環境(Run Time Environment、RTEと略称)ソフトウェアであってよく、リアルタイムオペレーティングシステムは、Unix系カーネルソフトウェア、例えば「デルタ」システムであってよい。Unixカーネルソフトウェアは、マルチユーザ、マルチタスクオペレーティングシステムであり、複数種のプロセッサアーキテクチャ時分割オペレーティングシステムをサポートする。サーバクラスター102における各サーバには、前記ソフトPLCのリアルタイムオペレーティングシステム及び前記ソフトコントローラのリアルタイムオペレーティングシステムが設定されているため、リアルタイムオペレーティングシステムにより各ソフトPLC制御の制御対象機器のリアルタイム性及び分散制御システム全体のリアルタイム性を向上させることができる。
I/Oバス103は、入力を取得し入力を実行して、工業現場の各制御対象機器104を制御して対応する命令を実行するために用いられ、制御対象機器104は、モータ又はマニピュレーターなどであってよい。
本発明の実施例では、ソフトガーディアンは、ソフトPLCの動作状態を保護するための、サーバに設定されたシミュレーションガーディアンである。ソフトガーディアンの配置は、様々な方式を含む。方式1では、ソフトガーディアンがソフトPLCと同一のサーバに設定されてよい。同一のサーバの故障時の負担を低減するために、一般的には、ソフトガーディアンは、ガーディアンされたソフトPLCと同一のサーバに設定されない。方式2では、ソフトガーディアンが単独で1つのサーバに設定される。好ましくは、各方式でのソフトガーディアンは1つ又は複数配置されて、あるソフトガーディアンが故障すると、ソフトPLCの動作状態をリアルタイムに保護できないことを防止することができる。
図1に示すシステムアーキテクチャに基づいて、図2は、本発明の実施例に係るPLCに基づく分散制御のディザスタリカバリ方法の方法フローチャートを例示的に示し、図2に示すように、該PLCに基づく分散制御のディザスタリカバリ方法は、
ソフトガーディアンがソフトPLCの故障を確認すると、サーバクラスターにおける各サーバの動作状態を取得するステップ201と、
ソフトガーディアンが各サーバの動作状態に基づいてターゲットサーバを決定するステップ202と、
ソフトガーディアンがターゲットサーバにソフトPLCを設定するように指示するための設定命令をターゲットサーバに送信するステップ203とを含む。
本発明の実施例では、前記サーバクラスターにおける各サーバにソフトPLC及び前記ソフトPLCのリアルタイムオペレーティングシステムが設定されているため、ソフトPLCのリアルタイムオペレーティングシステムにより、各ソフトPLCの制御時のリアルタイム性を向上させることができ、前記ソフトガーディアンのリアルタイムオペレーティングシステムにより分散制御システム全体のリアルタイム性を向上させることができる。
さらに、前記ソフトガーディアンは、前記ソフトPLCの故障を確認すると、前記サーバクラスターにおける各サーバの動作状態を取得し、前記各サーバの動作状態に基づいてターゲットサーバを決定し、決定された前記ターゲットサーバに設定命令を送信することにより、ターゲットサーバにソフトPLCを自動的に再設定することを実現し、分散制御システム全体の正常な動作に影響を与えず、このようにすれば、分散制御システムのディザスタリカバリ能力を向上させることができ、かつ分散制御システムをメンテナンスしやすい。
本発明の実施例では、編集者は、実際の必要に応じて、クライアントにおいてIEC61499標準及びIEC61131標準を組み合わせるプログラミング方式で、サーバクラスターにおけるサーバの間のトポロジ情報、前記ソフトPLCトポロジ情報、ソフトPLCのリアルタイムオペレーティングシステム情報、ソフトガーディアンのリアルタイムオペレーティングシステム情報、ソフトPLCトポロジ情報及び前記ソフトPLCの命令セットを含む初期化設定命令を予め編集し、ソフトPLCの命令セットは、イベント駆動で実行される第1の命令セットと、周期ポーリング及びイベント駆動で実行される第2の命令セットとを含み、前記ソフトPLCトポロジ情報は、各ソフトPLCとサーバとの間のマッピング関係と、ソフトガーディアンとソフトPLCとの間のマッピング関係とを含む。その後、クライアントは、エディタで編集された内容をコンパイラにおいて実行環境で実行可能な機械命令に変換し、かつサーバクラスターにおける各サーバに送信する。
好ましくは、サーバクラスターにおける各サーバがクライアントから送信された初期化設定命令を受信すると、各サーバは、前記初期化設定命令に基づいて、前記サーバの前記仮想化オペレーティングシステムにソフトPLC、ソフトガーディアン、前記ソフトPLCのリアルタイムオペレーティングシステム及び前記ソフトガーディアンのリアルタイムオペレーティングシステムを設定し、かつ成功に設定された旨の応答をクライアントに送信する。クライアントは、サーバクラスターにおける各サーバから送信され成功に設定された旨の応答を受信した後、前記各ソフトPLC及びソフトガーディアンを起動して実行することを確認する。好ましくは、各サーバにおいて仮想化されたソフトガーディアンは、ソフトPLCトポロジ情報に基づいて、保護すべきソフトPLCを決定し、各ソフトPLCは、ソフトPLCの命令セットに基づいて、実行しようとする命令を決定する。サーバクラスターにおける各サーバが各クライアントから送信された起動命令を受信すると、前記起動命令に基づいて前記ソフトPLC及び前記ソフトガーディアンを起動し、ソフトPLCと前記ソフトガーディアンが起動した後、ソフトPLCの命令セットに基づいて対応する命令をそれぞれ実行し、ソフトガーディアンがソフトPLCトポロジ情報に基づいて対応するソフトPLCを保護する。
本発明の実施例では、ソフトPLC、ソフトガーディアン、前記ソフトPLCのリアルタイムオペレーティングシステム及び前記ソフトガーディアンのリアルタイムオペレーティングシステムを設定することは、仮想化技術によりソフトPLC、ソフトガーディアン、前記ソフトPLCのリアルタイムオペレーティングシステム及び前記ソフトガーディアンのリアルタイムオペレーティングシステムを仮想化することであってもよい。
理解を容易にするために、本発明の実施例における図3は、本発明の実施例が適用されるソフトPLCとサーバとの間の配置関係を示す。図3に示すように、サーバ102aにソフトPLC11、PLC12及びソフトガーディアン1が配置され、サーバ102bにPLC21、PLC22、PLC23、ソフトガーディアン2が配置され、サーバ102cにPLC31及びソフトガーディアン3が配置され、ソフトガーディアン1は、ソフトPLC21、PLC22、PLC23及びPLC31の保護を担当し、ソフトガーディアン2は、ソフトPLC11、PLC12及びPLC31の保護を担当し、ソフトガーディアン3は、PLC11、PLC12、PLC21、PLC22及びPLC23の保護を担当する。同一のサーバが故障する場合に負担されるリスクを低減するために、一般的には、ソフトガーディアンは、該ソフトガーディアンで保護されるソフトPLCと同一のサーバに設定されない。
本発明の実施例では、前記ソフトガーディアンが前記ソフトPLCの故障を確認する前に、さらに、前記ソフトガーディアンがソフトガーディアンとソフトPLCとの間のマッピング関係を含む前記ソフトPLCトポロジ情報を取得することと、前記ソフトガーディアンが前記マッピング関係に基づいて前記ソフトPLCの動作状態を保護することとを含む。
本発明の実施例では、ソフトガーディアンとソフトPLCとの間のマッピング関係は、具体的には、ソフトガーディアンがどのソフトPLCを保護する必要があるかということであり、前記ソフトガーディアンが保護する必要があるソフトPLCを決定すると、ソフトガーディアンは、前記ソフトPLCの動作状態を保護する。具体的な実現方式は、前記ソフトガーディアンが各保護されるソフトPLCにハートビートメッセージを送信し、ソフトPLCが正常な動作状態にあると、ソフトガーディアンにハートビートメッセージの応答をフィードバックし、前記ソフトガーディアンが予め設定された時間内に前記ソフトPLCのハートビートメッセージ応答を受信しないと、前記ソフトガーディアンが前記ソフトPLCの動作状態が故障であると決定することである。
ソフトガーディアンがソフトPLCの故障を確認すると、分散制御システム全体の動作に影響を与えないために、ソフトガーディアンは、ターゲットサーバに設定命令を送信し、故障したソフトPLCに対応する新たなソフトPLCを設定する必要がある。
本発明の実施例では、前記ソフトガーディアンが前記ターゲットサーバに設定命令を送信することは、前記ソフトガーディアンが前記ソフトPLCの設定情報と、イベント駆動で実行される第1の命令セット、及び周期ポーリング及びイベント駆動で実行される第2の命令セットを含む前記ソフトPLCの命令セットとを決定することと、前記ソフトガーディアンが前記ソフトPLCの設定情報及び前記ソフトPLCの命令セットを含む設定命令を前記ターゲットサーバに送信することとを含む。好ましい方式では、ソフトガーディアンがソフトPLCの故障を確認すると、前記サーバクラスターにおける各サーバの動作状態、例えば、各サーバの中央処理装置(Central Processing Unit、CPUと略称)の占有率を取得し、CPU占有率が最小であるサーバをターゲットサーバとするか、又は、CPU占有率が第1の閾値より低いサーバをターゲットサーバとする。ターゲットサーバは、1つであっても複数であってもよい。ターゲットサーバが複数であれば、設定命令において複数のターゲットサーバの間に設定されたルールが伝送される。例えば、平均割当ルール又は各ターゲットサーバのCPU占有率の反比例に基づいて、故障したソフトPLCを設定する。
本発明の実施例では、前記ソフトガーディアンが前記ターゲットサーバに設定命令を送信した後、さらに、前記ソフトガーディアンが前記ソフトPLCトポロジ情報を更新することを含む。
好ましくは、前記ソフトPLCのトポロジ情報は、各ソフトPLCとサーバとの間のマッピング関係をさらに含む。ソフトPLCが故障すると、ソフトガーディアンは、ターゲットサーバに設定命令を送信し、ターゲットサーバは、該設定命令に基づいて、故障したソフトPLCに対応する新たなソフトPLCを設定し、ターゲットサーバは、故障したソフトPLCが所在するサーバである可能性があるが、そうではない可能性がある。ターゲットサーバが元の故障したソフトPLCの所在するサーバではなければ、ソフトガーディアンにおけるソフトPLCトポロジを更新する必要があり、すなわち、各ソフトPLCとサーバとの間のマッピング関係を更新する。保守員のメンテナンスを容易にする。
本発明の実施例では、前記ソフトガーディアンは、各サーバの動作状態を保護し、前記ソフトガーディアンは、異常状態のサーバが存在すると決定する場合、警報情報を送信する。
本発明の実施例では、異常状態は、サーバが故障すること又はサーバの現在のCPU占有率が第2の閾値より大きいことを含み、第2の閾値は、第1の閾値より大きく、ソフトガーディアンは、サーバクラスターに異常状態のサーバが存在すると決定する場合、警報を送信する。このようにすれば、サービスマンを提示して、故障したサーバをタイムリーに修復するか又はCPU占有率が第2の閾値より大きいサーバを特に注目しやすく、さらにPLCに基づく分散制御システム全体のディザスタリカバリ能力を向上させる。
上記内容から分かるように、本発明の実施例では、前記サーバクラスターにおける各サーバにソフトPLC及び前記ソフトPLCのリアルタイムオペレーティングシステムが設定されるため、ソフトPLCのリアルタイムオペレーティングシステムにより、各ソフトPLCの制御時のリアルタイム性を向上させることができ、前記ソフトガーディアンのリアルタイムオペレーティングシステムにより分散制御システム全体のリアルタイム性を向上させることができる。
さらに、前記ソフトガーディアンが前記ソフトPLCの故障を確認すると、前記サーバクラスターにおける各サーバの動作状態を取得し、前記各サーバの動作状態に基づいてターゲットサーバを決定し、決定された前記ターゲットサーバに設定命令を送信することにより、ターゲットサーバにソフトPLCを自動的に再設定することを実現し、分散制御システム全体の正常な動作に影響を与えず、このようにすれば、分散制御システムのディザスタリカバリ能力を向上させることができ、かつ分散制御システムをメンテナンスしやすい。
同じ技術的思想に基づいて、本発明の実施例は、上記方法の実施例を実行可能なPLCに基づく分散制御システムのディザスタリカバリ装置をさらに提供する。該装置は、仮想化オペレーティングシステムが設定されたサーバクラスターに適用され、前記サーバクラスターにおける各サーバにソフトPLC、前記ソフトPLCのリアルタイムオペレーティングシステム、ソフトガーディアン及び前記ソフトガーディアンのリアルタイムオペレーティングシステムが設定され、図4は、本発明の実施例に係るPLCに基づく分散制御システムのディザスタリカバリ装置の構造概略図であり、図4に示すように、該装置は、取得ユニット401、決定ユニット402、送信ユニット403を含み、好ましくは、ガーディアンユニット404及び更新ユニット405をさらに含む。
取得ユニットは、前記ソフトPLCの故障を確認すると、前記サーバクラスターにおける各サーバの動作状態を取得するために用いられ、決定ユニットは、前記各サーバの動作状態に基づいてターゲットサーバを決定するために用いられ、送信ユニットは、前記ターゲットサーバに前記ソフトPLCを設定するように指示するための設定命令を前記ターゲットサーバに送信するために用いられる。
本発明の実施例では、前記サーバクラスターにおける各サーバにソフトPLC及び前記ソフトPLCのリアルタイムオペレーティングシステムが設定されるため、ソフトPLCのリアルタイムオペレーティングシステムにより、各ソフトPLCの制御時のリアルタイム性を向上させることができ、前記ソフトガーディアンのリアルタイムオペレーティングシステムにより分散制御システム全体のリアルタイム性を向上させることができる。
さらに、前記ソフトガーディアンは、前記ソフトPLCの故障を確認すると、前記サーバクラスターにおける各サーバの動作状態を取得し、前記各サーバの動作状態に基づいてターゲットサーバを決定し、決定された前記ターゲットサーバに設定命令を送信することにより、ターゲットサーバにソフトPLCを自動的に再設定することを実現し、分散制御システム全体の正常な動作に影響を与えず、このようにすれば、分散制御システムのディザスタリカバリ能力を向上させることができ、かつ分散制御システムをメンテナンスしやすい。
好ましくは、前記取得ユニットは、さらに、ソフトガーディアンとソフトPLCとの間のマッピング関係を含む前記ソフトPLCトポロジ情報を取得するために用いられ、前記マッピング関係に基づいて、前記ソフトPLCの動作状態を保護するためのガーディアンユニットをさらに含む。
好ましくは、前記決定ユニットは、イベント駆動で実行される第1の命令セット、及び周期ポーリング及びイベント駆動で実行される第2の命令セットを含む前記ソフトPLCの命令セットとを決定するために用いられ、前記送信ユニットは、前記ソフトPLCの命令セットを含む設定命令を前記ターゲットサーバに送信するために用いられる。好ましくは、前記ソフトPLCトポロジ情報を更新するための更新ユニットをさらに含む。
好ましくは、前記ガーディアンユニットは、さらに、各前記サーバの動作状態を保護するために用いられ、前記送信ユニットは、異常状態のサーバが存在すると決定する場合、警報情報を送信するために用いられる。
上記内容から分かるように、前記サーバクラスターにおける各サーバにソフトPLC及び前記ソフトPLCのリアルタイムオペレーティングシステムが設定されるため、ソフトPLCのリアルタイムオペレーティングシステムにより、各ソフトPLCの制御時のリアルタイム性を向上させることができ、前記ソフトガーディアンのリアルタイムオペレーティングシステムにより分散制御システム全体のリアルタイム性を向上させることができる。
さらに、前記ソフトガーディアンは、前記ソフトPLCの故障を確認すると、前記サーバクラスターにおける各サーバの動作状態を取得し、前記各サーバの動作状態に基づいてターゲットサーバを決定し、決定された前記ターゲットサーバに設定命令を送信することにより、ターゲットサーバにソフトPLCを自動的に再設定することを実現し、分散制御システム全体の正常な動作に影響を与えず、このようにすれば、分散制御システムのディザスタリカバリ能力を向上させることができ、かつ分散制御システムをメンテナンスしやすい。
(実施例2)
実施例1を基に、本実施例におけるサーバクラスターにおける各サーバは、各々に複数のマイクロカーネルが実行される1つ又は複数の物理コアを含む。本実施例におけるマイクロカーネルは、仮想化リアルタイムオペレーティングシステムであってよく、物理コアは、CPU物理コアであってよく、仮想化リアルタイムオペレーティングシステムは、複数のUnix系カーネルがインストールされた仮想化オペレーティングシステム、例えば、「道」(一種のオペレーティングシステムである)がインストールされたIntewell OSシステムであってよく、Unixカーネルソフトウェアは、マルチユーザ、マルチタスクオペレーティングシステムであり、複数種のプロセッサアーキテクチャ時分割オペレーティングシステムをサポートする。PLC分散制御システムの制御ロジックに基づいて、PLC分散制御システムは、各々が異なるマイクロカーネルで実行される、関係を有する複数の仮想PLCの情報を含む。故障する仮想PLCがあれば、該仮想PLCを再構成して、故障した仮想PLCの対応する機能を実現することができる。仮想化されたリアルタイムオペレーティングシステムは、マルチコアCPU、命令仮想化、およびインターフェイス仮想化方式により実行されており、少なくとも物理メモリへのアクセルの隔離、I/Oデバイスへのアクセスの隔離、I/Oデバイスの中断の受信の隔離、およびタイムシェアリング・スケジューリングのような安全的な隔離特性を有する。仮想PLCは、リアルタイムオペレーティングシステムにおいて実行されるPLCである。仮想PLCは、仮想化リアルタイムオペレーティングシステムと、仮想化リアルタイムオペレーティングシステムにおいて実行されるPLCシステムプログラムと、PLCシステムプログラムにおいて実行されるユーザプログラム編集結果ファイルとを含む。ソフトガーディアンは、仮想化監視プログラムであり、リアルタイムオペレーティングシステムにおいて実行される。ソフトガーディアンは、仮想化リアルタイムオペレーティングシステムと、仮想化リアルタイムオペレーティングシステムにおいて実行されるガーディアンカーネルとを含む。ガーディアンカーネルは、ガーディアン機能を実施するコアアプリケーションである。ここで、物理メモリへのアクセス隔離とは、仮想化オペレーティングシステムが、オペレーティングシステムのセキュリティカーネルを介して物理メモリをアクセルすることにより、物理メモリを隔離する目的を達成することを意味する。I/Oデバイスへのアクセスの隔離とは、仮想化オペレーティングシステムがオペレーティングシステムのセキュリティカーネルを介してI/Oデバイスをアクセスすることにより、I/Oデバイスを隔離する目的を達成することを意味する。I/Oデバイスの中断の受信の隔離とは、仮想化オペレーティングシステムが、オペレーティングシステムセキュリティカーネルにより転送されたI/Oデバイスの中断を受信することにより、I/Oデバイスの中断を隔離する目的を達成することを意味する。タイムシェアリング・スケジューリングとは、オペレーティングシステムのセキュリティカーネルに、タイムシェアリング・スケジューリング方法を用いて、1つの物理コア上の複数の仮想化オペレーティングシステムの並列動作を実現することを意味する。
図5aは、本発明の実施例に係るサーバの内部構造概略図を例示的に示す。サーバは、上記実施例1におけるサーバ102a、サーバ102b及びサーバ102cのいずれか1つであってよい。図5aに示すように、サーバは、物理コアA及び物理コアBを含み、物理コアAに10個の仮想化リアルタイムオペレーティングシステムが設定され、10個の仮想化リアルタイムオペレーティングシステムのいずれか5つにRTEが配置され、いずれか1つにガーディアンカーネルが設置され、このように、物理コアに仮想PLC、仮想PLC、仮想PLC、仮想PLC、仮想PLC、及びソフトガーディアン1を配置することを実現することができる。RTEもガーディアンカーネルも設置されない4つの仮想化リアルタイムオペレーティングシステムは、スロットと呼ばれてもよく、仮想化リアルタイムオペレーティングシステムが冗長であると理解されてもよい。物理コアBにも10個の仮想化リアルタイムオペレーティングシステムが設定され、そのうちのいずれか2つの仮想化リアルタイムオペレーティングシステムにRTEが配置され、いずれか2つにガーディアンカーネルが設置されて、物理コアBに仮想PLC、仮想PLC、ソフトガーディアン2及びソフトガーディアン3を配置することを実現することができる。RTEもガーディアンカーネルも設置されない6つの仮想化リアルタイムオペレーティングシステムは、スロットと呼ばれてもよく、仮想化リアルタイムオペレーティングシステムが冗長であると理解されてもよい。好ましくは、物理コアは、ハードPLCであってよい。ソフトガーディアンは、仮想PLCの動作状態を保護するための、サーバの物理コア上のマイクロカーネルに設定されたシミュレーションガーディアンであると理解されてもよい。例示的に、ソフトガーディアン1は、仮想PLC及び仮想PLCを保護し、ソフトガーディアン2は、仮想PLC、仮想PLC及び仮想PLCを保護し、ソフトガーディアン3は、仮想PLC及び仮想PLCを保護する。実行環境RTE(Run Time Environment)は、本発明の実施例に係る仮想PLCのシステムプログラムの1つの実施手段である。
上記図5a、図5bに基づいて、本発明の実施例に係るサーバ上の1つの物理コアが故障した後の内部配置構造概略図を例示的に示す。図5bに示すように、物理コアAが故障した後、物理コアAの故障した仮想PLC、仮想PLC、仮想PLC、仮想PLC、仮想PLC、及びソフトガーディアン1を物理コアBの6つのスロットである仮想化リアルタイムオペレーティングシステムで再構成することができ、図5bの物理コアBに示す配置構造を得ることができる。
上記内容に基づいて、図5dは、本発明の実施例に係るソフトウェア定義PLCの監視及び再構成方法のフローチャートを例示的に示す。ソフトウェア定義PLCとは、ユーザカスタム方式に基づいて、システムを起動する前に、各マイクロカーネルでどの仮想PLCが実行されるか、各マイクロカーネル上の対応する仮想PLCのスケジューリングアルゴリズムを予め決定することにより、マイクロカーネルによりPLCの工業制御を実現する。サーバは、上記実施例1における図1のサーバ102a、サーバ102b及びサーバ102cのいずれか1つであってよい。図5dに示すように、該方法は、以下のステップを含む。
ステップ501では、ソフトガーディアンが仮想PLCの故障を監視すると、サーバクラスターにおける各サーバ上の各物理コアの動作状態及び各物理コア上の各マイクロカーネルの動作状態を取得する。
サーバクラスターに1つまたは複数のソフトガーディアンを設定することができ、サーバにおいて、ソフトガーディアンごとに、当該ソフトガーディアンにより監視する特定仮想PLCを予め設置することができる。サーバが実行された後、各々ソフトガーディアンが特定仮想PLCに故障の有無を監視する。ソフトガーディアンが特定仮想PLCの故障を監視した場合、サーバクラスター中の各サーバ上の各物理コアの動作状態及び各物理コア上の各マイクロカーネルの動作状態を取得する。ここで、各サーバ上の各物理コアの動作状態は、物理コアの占用率であってよい各サーバ上の各物理コアの第1の負荷情報を含む。各マイクロカーネルの動作状態は、マイクロカーネルの占有率であってよい各マイクロカーネルの第2の負荷情報を含む。
上記図5aを合わせて、ソフトガーディアン1、ソフトガーディアン2及びソフトガーディアン3は、いずれも物理コアA及び物理コアBの動作状態を取得してもよく、物理コアA上の10個のマイクロカーネルの動作状態及び物理コアB上の10個のマイクロカーネルの動作状態を取得してもよい。
ステップ502では、ソフトガーディアンは、各サーバ上の各物理コアの動作状態及び各物理コア上の各マイクロカーネルの動作状態に基づいてターゲットカーネルを決定する。
本発明の実施例は、ターゲットマイクロカーネルを決定する以下の実現方式1及び実現方式2の2種類の方式を提供する。
実現方式1では、ソフトガーディアンは、サーバクラスターにおける各サーバ上の各物理コアの第1の負荷情報及び前記各物理コア上の各マイクロカーネルの第2の負荷情報を取得し、ソフトガーディアンは、各サーバ上の各物理コアの第1の負荷情報及び各物理コア上の各マイクロカーネルの第2の負荷情報に基づいてターゲットマイクロカーネルを決定する。
本発明の実施では、第1の負荷情報が物理コアの占有率であり、第2の負荷情報がマイクロカーネルの占用率であることを例として説明する。ソフトガーディアンは、サーバクラスターにおける各サーバ上の各物理コアの占有率及び各マイクロカーネルの占有率を取得することができる。1つの方式は、占用率が最小である物理コアをターゲット物理コアとして決定して、ターゲット物理コアにおけるマイクロカーネルの占有率が最小であるマイクロカーネルをターゲットマイクロカーネルとして決定するものである。別の方式は、物理コアの占有率が第1の閾値より低い物理コアをターゲット物理コアとし、ターゲット物理コアにおけるマイクロカーネルの占有率が第2の閾値より低いマイクロカーネルをターゲットマイクロカーネルとするものであり、ここで、第1の閾値と第2の閾値が同じでも異なってもよい。決定されたターゲットマイクロカーネルは、1つであっても複数であってもよい。複数であれば、ソフトガーディアンにおいて、いくつかの配置ルール、例えば平均配置ルール、ランダム配置ルール又は各マイクロカーネルの重みに応じて配置することなどを予め記憶することができる。
実現方式2では、ソフトガーディアンが取得した配置情報は、特定仮想PLCが故障した後に再構成される場合の物理コアの優先順位と各物理コア上のマイクロカーネルの優先順位を指示する特定仮想PLCの故障時の配置ポリシーを含む。いくつかの実施例では、ソフトガーディアンは、各サーバ上の各物理コアの第1の負荷情報、各物理コア上の各マイクロカーネルの第2の負荷情報、及び特定仮想PLCの故障時の配置ポリシーに基づいてターゲットマイクロカーネルを決定する。
上記実現方式2に対して、本発明の実施例は、2種の可能な実現方式(方式A及び方式B)を提供する。
方式Aでは、物理コアの優先順位に基づいて、優先順位が最高である物理コアを準ターゲット物理コアとして決定する。準ターゲット物理コアの第1の負荷情報が第1の閾値より小さければ、該準ターゲット物理コアをターゲット物理コアとして決定することができ、該準ターゲット物理コアの第1の負荷情報が第1の閾値以であると決定すれば、優先順位が第2位である物理コアを準ターゲット物理コアとして決定することができ、このように類推して、ターゲット物理コアを決定することができる。その後にターゲット物理コアからターゲットマイクロカーネルを決定し、ターゲット物理コア上の優先順位が最高であるマイクロカーネルを準ターゲットマイクロカーネルとして決定する。該準ターゲットマイクロカーネルの第2の負荷情報が第2の閾値より小さければ、該準ターゲットマイクロカーネルがターゲットマイクロカーネルであると決定することができ、該準ターゲットマイクロカーネルの第2の負荷情報が第2の閾値以であれば、優先順位が第2位であるマイクロカーネルを準ターゲットマイクロカーネルとして決定し、優先順位が第2位である準ターゲットマイクロカーネルの第2の負荷情報が第2の閾値より小さいと決定すれば、優先順位が第2位である準ターゲットマイクロカーネルをターゲットマイクロカーネルとして決定する。このように類推し、ターゲット物理コアからターゲットマイクロカーネルを決定する。
方式Bでは、各物理コア中の第1の負荷情報が第1の閾値より小さい物理コアを準ターゲット物理コアとして決定して、準ターゲット物理コア中の優先順位が最高である準ターゲット物理コアをターゲット物理コアとして決定する。さらに、ターゲット物理コア上の各マイクロカーネルの第2の負荷情報が第2の閾値より小さい各マイクロカーネルを準ターゲットマイクロカーネルとして決定し、準ターゲットマイクロカーネル中の優先順位が最高である準マイクロカーネルをターゲットマイクロカーネルとして決定する。
1つの可能な実現方式では、ソフトガーディアンは、特定仮想PLCのターゲットマイクロカーネルの再構成を決定する場合、各サーバ上の各物理コアの動作状態及び各物理コア上の各マイクロカーネルの動作状態に加えて、各マイクロカーネルに仮想化PLCのシステムプログラムがプリインストールされているかどうかを考慮する。再構成速度を向上するため、仮想化PLCのシステムプログラムのマイクロカーネルがプリインストールされた負荷及び当該マイクロカーネルの物理コア負荷範囲内の条件下で、仮想の化PLCがシステムプログラムプリインストールマイクロカーネルをターゲットマイクロカーネルとするのが好ましい。図5cは本発明の実施例に係る仮想PLCが故障した後のサーバの内部構造概略図である。図5cに示すように、RTEもガーディアンカーネルもプリインストールされていないマイクロカーネルは、スロットと呼ばれてもよい。マイクロカーネル−Cにガーディアンカーネルがプリインストールされており、マイクロカーネル−Cにソフトガーディアンを設置することができる。RTEが設置されたが仮想PLCを設置されていないマイクロカーネルは、マイクロカーネル−B、マイクロカーネル−E及びマイクロカーネル−Dである。仮想PLCが故障した後、仮想PLCを実行するサーバは、マイクロカーネル−B、マイクロカーネル−E及びマイクロカーネル−Dのいずれかにおいて、仮想PLCを再構成することができる。どちらのマイクロカーネルに仮想PLCを設置するかについて、仮想PLCを監視するソフトガーディアン2により決定する。仮想PLCを監視するソフトガーディアン2は、サーバ上の各物理コアの動作状態及び各物理コア条の各マイクロカーネルの動作状態に基づき、仮想PLCを再構成するターゲットマイクロカーネルをマイクロカーネル-Bとするように決定する。仮想PLCを実行するサーバが仮想PLCを再構成する場合、再構成命令に従って、マイクロカーネル−Bにおいて、マイクロカーネル−BにプリインストールされたRTEを実行し、RTEにおいて、仮想PLCのユーザプログラム編集結果ファイルを実行する。
1つの可能な実現方式では、ターゲットマイクロカーネルは、故障した仮想PLCが所在するサーバ上の1つのマイクロカーネルであってもよく、故障した仮想PLCが所在するサーバ上のマイクロカーネルではなくてもよい。
ステップ503では、ソフトガーディアンは、ターゲットマイクロカーネルで仮想PLCを再構成するように指示するための再構成命令をターゲットマイクロカーネルに送信する。
それに応じて、サーバは、ソフトガーディアンで保護される特定仮想PLCのユーザプログラム編集結果ファイルと特定仮想PLCを再構成するターゲットマイクロカーネルを含むソフトガーディアンからの再構成命令を受信する。
好ましい実現方式では、ソフトガーディアンが取得した設定情報は、ソフトガーディアンで監視する特定仮想PLC、及び特定仮想PLCのユーザプログラム編集結果ファイルを含む。ここで、設定情報がソフトガーディアンで監視する特定仮想PLCを示すことにより、いずれのソフトガーディアンについて、当該ソフトガーディアンがどの仮想PLCを監視するのかを決定することができる。また、いずれの仮想PLCについて、当該仮想PLCがどちらのソフトガーディアンで監視されるのかを決定することもできる。設定情報によりソフトガーディアンで監視する特定仮想PLCを示す1つの方法としては、設定情報がソフトガーディアンと仮想PLCのマッピング関係を提示することであり、マッピング関係により、いずれのソフトガーディアンで監視する特定仮想PLCを決定でき、また、いずれの仮想PLCがどちらのソフトガーディアンにより監視されているのかも決定できる。ソフトガーディアンで監視する特定仮想PLCは、ソフトガーディアンと同一の物理コアにあるか、又は、ソフトガーディアンで監視する特定PLCは、ソフトガーディアンと同一の物理コアにない。好ましくは、ソフトガーディアンは、設定情報に基づいて、特定仮想PLCの動作状態を監視する。ここで、ソフトガーディアンが取得した設定情報は、サーバがクライアントから受信した初期化設定命令であることができる。初期化設定命令は図6に対する記載を参照されたい。
1つの可能な実現方式では、ソフトガーディアンは、ターゲットマイクロカーネルに特定仮想PLCのユーザプログラム編集結果ファイルを含む再構成命令を送信する。仮想PLCのユーザプログラムは、産業制御目的を達成するために編集されたプログラムであり、タスクコンテンツ、入出力情報及びタスク命令セットなどを含んでよい。命令セットは、バルブを開き、バルブを閉じ、把持アーム又はプロセスフロー上の制御命令を起動する集合であってよい。タスクは、仮想PLCロード命令セットのキャリアであり、周期性タスクとトリガ式タスクに分けられ、周期、優先度、トリガ条件などの属性を有する。周期性タスクは、周期ポーリングタスクとも呼ばれ、トリガ式タスクは、イベント駆動式タスクとも呼ばれる。入/出力情報のうちの出力情報は、どのハードウェアからどの情報が収集されるかを指す。出力情報は、どのハードウェアにどの情報が出力されるかを指す。
ステップ504では、サーバは、特定仮想PLCのユーザプログラム編集結果ファイルに基づいてターゲットカーネルで仮想PLCを再構成する。
1つの可能な実現方式では、ターゲットマイクロカーネルでターゲットマイクロカーネルにプリインストールされた仮想PLCのシステムプログラムを起動し、仮想PLCのシステムプログラムで特定仮想PLCのユーザプログラム編集結果ファイルを実行する。本願の実施例は、仮想PLCのシステムプログラムが仮想PLCのユーザプログラムを読み出し、リソースを初期化し、ユーザプログラムにおけるタスク命令セットを実行すれば、仮想PLCを成功に配置することを実現できる可能な実現方式を提供する。このように、ユーザプログラムを再編集する必要がなく、ユーザプログラムのうちのいずれか1つの命令セットを直接的に読み出し実行することにより仮想PLCの再構成を実現することができ、従来技術における冗長バックアップに比べて、仮想PLCを迅速に再構成することを実現することができる。かつ、サーバはパワーダウンせずに仮想PLCを再構築することができ、さらに分散制御システム全体における正常な仮想PLCの正常な動作に影響を与えなくてよい。
上記図5a及び図5bを合わせて、ターゲットマイクロカーネル上の仮想PLCとしてプリインストールされたシステムプログラムは、RTEソフトウェアであってよい。RTEソフトウェアは、仮想PLCのユーザプログラムのためにハードウェアリソースにアクセスする機能(例えばメモリ、CPUなどにアクセス)、入出力機能(例えばセンサーの情報を収集し、制御される部材に情報を出力する)を提供し、ユーザプログラムのためにハードウェア環境及び外部通信環境を遮断し、ユーザプログラムは、PLCの制御ロジック、出力のコンテンツ、及び入力のコンテンツなどのみに関心があり、どのように情報を外部に出力し、外部情報を収集するか、どのようにハードウェアリソースにアクセスするかなどに関心がない。
従来のPLC分散制御システムにおけるPLC冗長バックアップは、1つのPLCに対して、1つ又は複数の冗長なPLCを追加し、ホットバックアップを実現することである。該PLCが故障した後、そのバックアップPLCに実行することを通知する。該PLC及びそのバックアップがいずれも故障した後、分散システムにおけるPLCの間に論理関係があるため、分散システムにおける他のPLCも実行できなくなり、サーバをパワーダウンして新たなPLCで置き換え、PLCを再配線する必要がある。しかしながら、本発明の実施例における上記ステップ501〜ステップ504から分かるように、1つの物理コアで複数のマイクロカーネルを仮想化し、各マイクロカーネル(仮想化オペレーティングシステム)で1つの仮想PLCを実行する。仮想PLCが故障すれば、他のマイクロカーネルで該PLCを再構成することができ、各マイクロカーネルの間に互いに影響がないため、仮想PLCを再構成する場合、サーバをパワーダウンする必要がなく、サーバを再配線する必要もなく、パワーダウンせずに仮想PLCを再構成することを実現することができるため、システムにおける他のPLCの動作に影響を与えない。
さらに、サーバクラスターにおける各サーバの物理コアに仮想化のリアルタイムオペレーティングシステムを設定し、仮想PLCを仮想化のリアルタイムオペレーティングシステムに配置するため、各仮想PLCの制御時のリアルタイム性を向上させることができ、また、ソフトガーディアンを仮想化のリアルタイムオペレーティングシステムに配置することは、システム全体のリアルタイム性を向上させることができる。
上記ステップ501の前に、各サーバは、物理コアのマイクロカーネルで仮想PLC又はソフトガーディアンを設定することができる。図6は、本願に係るサーバが仮想PLC又はガーディアンを設定する方法のフローチャートを例示的に示す。サーバは、上記実施例1における図1のサーバ102a、サーバ102b及びサーバ102cのいずれか1つであってよい。図6に示すように、方法は、ステップ601〜606を含む。
ステップ601では、クライアントは、初期化設定命令を設定する。初期化設定命令における設定情報は、特定物理コア上の特定マイクロカーネルにソフトガーディアンを設定すること、特定物理コア上の特定マイクロカーネルに仮想PLCを設定することと、ソフトガーディアンで監視する特定仮想PLCを示すことに用いられる。ここで、設定情報が特定物理コア上の特定マイクロカーネル上にソフトガーディアンを設定することを示すことにより、いずれのソフトガーディアンがどの物理コアのどのマイクロカーネルに設定されるのかを決定することができる。設定情報が特定物理コア上の特定マイクロカーネル上に仮想PLCを設定することを示すことにより、いずれの仮想PLCがどの物理コア上のどのマイクロカーネルに設定されるのかを決定することができる。設定情報がソフトガーディアンで監視する特定仮想PLCを示すことにより、いずれのソフトガーディアンについて、当該ソフトガーディアンがどの仮想PLCを監視するのかを決定することができ、また、いずれの仮想PLCについて、当該仮想PLCがどのソフトガーディアンにより監視されるのかを決定することもできる。ここで、ソフトガーディアンで監視する特定仮想PLCがソフトガーディアンと同一の物理コアにあるか、又はソフトガーディアンで監視する特定PLCがソフトガーディアンと同一の物理コアにない。つまり、仮想PLCは、当該仮想PLCを監視するソフトガーディアンと同一の物理コアにあるか、または、同一の物理コアにない。
上記図5aを合わせて、ソフトガーディアン1とソフトガーディアン1が監視する特定仮想特定仮想PLCと仮想PLCは、同一の物理コアになく、ソフトガーディアン2とソフトガーディアン2が監視する特定仮想特定仮想PLC、仮想PLC、仮想PLCは、同一の物理コアになく、ソフトガーディアン3とソフトガーディアン3が監視する特定仮想PLCと仮想PLCも同一の物理コアにない。図5bにおけるソフトガーディアン1とソフトガーディアン1が監視する特定仮想特定仮想PLCと仮想PLCは、同一の物理コアにあり、ソフトガーディアン2と特定仮想特定仮想PLC、仮想PLC、仮想PLCは、同一の物理コアにあり、ソフトガーディアン3とソフトガーディアン3が監視する特定仮想PLCと仮想PLCも同一の物理コアにある。
さらに、ソフトガーディアンとサーバとの間に以下の2種の配置方式を有する。方式1では、ソフトガーディアンは、特定仮想PLCと同一のサーバに配置でき、すなわち同一のサーバの異なる物理コアの異なるマイクロカーネルに配置することができる。同一のサーバの故障時の負担を低減するために、ソフトガーディアンと特定仮想PLCを異なるサーバに配置することができる。方式2では、全てのソフトガーディアンは、1つのサーバに単独に設定され、すなわち異なるソフトガーディアンは、同一のサーバの異なる物理コアに設定され、かついずれも特定仮想PLCと異なるサーバに設定され、かつソフトガーディアンが単独に設定されたサーバは、バックアップされた少なくとも1つのサーバを有する。好ましくは、各方式でのソフトガーディアンは1つ又は複数配置されてよく、あるソフトガーディアンが故障すると、仮想PLCの動作状態をリアルタイムに保護できないことを防止する。
1つの可能な実現方式では、初期化設定命令は、IEC61499標準及びIEC61131標準を組み合わせるプログラミング方式で生成されるものである。クライアントは、エディタで編集されたコンテンツをコンパイラにおいて実行環境で実行可能な機械命令セットに変換し、かつサーバクラスターにおける各サーバに送信すると理解されてもよい。
ステップ602では、クライアントは、サーバに初期化設定命令を送信する。それに応じて、サーバは、クライアントからの初期化設定命令を受信する。1つの実施可能の形態では、初期化設定命令における設定情報は、特定マイクロカーネルにおいて仮想PLCのシステムプログラムを設定することを示し、また、特定マイクロカーネルにおいてガーディアンカーネルを設定することを示す。
ステップ603では、サーバは、初期化設定命令における設定情報に基づいて仮想PLC及びソフトガーディアンを設定する。
ステップ604では、サーバは、成功に設定された旨の応答をクライアントに送信する。
ステップ605では、クライアントは、サーバクラスターにおける各サーバから送信され成功に設定された旨の応答を受信した後、各仮想PLC及びソフトガーディアンを起動して実行することを確認し、かつサーバクラスターにおける各サーバ上の各物理コアの各マイクロカーネルに起動実行指令を送信する。
ステップ606では、サーバは、各仮想PLC及び各ソフトガーディアンを起動して実行する。
本発明の実施例では、サーバが仮想PLC及びソフトガーディアンを起動して実行した後、ソフトガーディアンは、設定情報におけるソフトガーディアンで監視する特定仮想PLCに基づいて、特定仮想PLCを保護する。ソフトガーディアンは、物理コアに跨って特定仮想PLCを保護してもよく、サーバに跨って特定仮想PLCを保護してもよい。ソフトガーディアンは、各保護される特定仮想PLCにハートビートメッセージを送信し、特定仮想PLCが正常な動作状態にあると、ソフトガーディアンにハートビートメッセージの応答をフィードバックし、ソフトガーディアンが予め設定された時間内に特定仮想PLCのハートビートメッセージ応答を受信しなければ、ソフトガーディアンは、特定仮想PLCの動作状態が異常状態であると決定し、警報情報を送信することができる。
いくつかの可能な実施例では、サーバ上の各物理コアの動作状態、及び各物理コア上の各マイクロカーネルの動作状態は、異常状態をさらに含む。ソフトガーディアンは、サーバ上の物理コアが異常状態にあると決定するか、又は物理コア上のマイクロカーネルが異常状態にあると決定すると、ソフトガーディアンは、警報情報を送信することができる。
本発明の実施例では、異常状態は、物理コア及び/又はマイクロカーネルの故障を含んでもよく、物理コア及び/又はマイクロカーネルの現在の占有率が第3の閾値より大きくてもよく、第3の閾値は、第1の閾値より大きく、第3の閾値は、第2の閾値よりも大きい。ソフトガーディアンは、サーバクラスターにおけるサーバ上の物理コア及び/又はマイクロカーネルが異常状態にあると決定すると、警報を送信する。このように、サービスマンを提示して、故障した物理コア及び/又はマイクロカーネルをタイムリーに修復するか、又は占有率が第3の閾値より大きい物理コア及び/又はマイクロカーネルを特に注目しやすく、さらに仮想PLCシステム全体のディザスタリカバリ能力を向上させることができる。
同じ技術的思想に基づいて、本発明の実施例は、上記方法の実施例を実行可能なサーバを提供する。該サーバは、サーバクラスターに適用され、前記サーバクラスターにおける各サーバは、少なくとも2つのマイクロカーネルが設置された少なくとも1つの物理コアを含み、前記サーバクラスターは1つ又は複数のソフトガーディアンを含み、前記マイクロカーネルに仮想PLC又はソフトガーディアンが設定されている。図7は、本発明の実施例に係るソフトガーディアンの構造概略図であり、図7に示すように、該ソフトガーディアン700は、取得ユニット701、処理ユニット702及び送信ユニット703を含む。
取得ユニット701は、仮想PLCの故障を監視すると、前記サーバクラスターにおける各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態を取得するために用いられ、処理ユニット702は、前記各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態に基づいてターゲットマイクロカーネルを決定するために用いられ、送信ユニット703は、前記ターゲットマイクロカーネル上に前記仮想PLCを再構成するように指示するための再構成命令を前記ターゲットマイクロカーネルに送信するために用いられる。
好ましくは、前記取得ユニット701は、さらに、設定情報を取得するために用いられ、前記処理ユニット702は、さらに、前記設定情報に基づいて、前記特定仮想PLCの動作状態を監視するために用いられる。前記設定情報は、前記ソフトガーディアンで監視する特定仮想PLCを示し、また、前記特定仮想PLCが前記ソフトガーディアンと同一の物理コアにあるか、又は前記ソフトガーディアンと同一の物理コアにないことを示す。
好ましくは、前記取得ユニット701は、さらに、前記ソフトガーディアンで監視する特定仮想PLCを示し、前記特定仮想PLCのユーザプログラム編集結果ファイルをさらに含む設定情報を取得するために用いられ、前記送信ユニット703は、具体的には、前記ターゲットマイクロカーネルに前記特定仮想PLCのユーザプログラム編集結果ファイルに基づいて前記特定仮想PLCを再構成するように指示するための、前記特定仮想PLCのユーザプログラム編集結果ファイルを含む再構成命令を前記ターゲットマイクロカーネルに送信するために用いられる。
好ましくは、前記各物理コアの動作状態は、前記各物理コアの第1の負荷情報を含み、前記各マイクロカーネルの動作状態は、前記各マイクロカーネルの第2の負荷情報を含み、前記取得ユニット701は、具体的には、前記各サーバ上の各物理コアの第1の負荷情報及び前記各物理コア上の各マイクロカーネルの第2の負荷情報を取得するために用いられ、前記処理ユニット702は、具体的には、前記各サーバ上の各物理コアの第1の負荷情報及び前記各物理コア上の各マイクロカーネルの第2の負荷情報に基づいてターゲットマイクロカーネルを決定するために用いられる。
同じ技術的思想に基づいて、本発明の実施例は、サーバクラスターに適用されるサーバを提供し、前記サーバクラスターにおける各サーバは、少なくとも2つのマイクロカーネルが設置された少なくとも1つの物理コアを含み、前記サーバクラスターは、1つ又は複数のソフトガーディアンを含み、前記マイクロカーネルに仮想PLC又はソフトガーディアンが設定されている。図8は、本発明の実施例に係るサーバの構造概略図であり、図8に示すように、該サーバ800は、受信ユニット801及び処理ユニット802を含む。
受信ユニット801は、前記ソフトガーディアンで保護される特定仮想PLCのユーザプログラム編集結果ファイルと前記特定仮想PLCを再構成するターゲットマイクロカーネルを含む前記ソフトガーディアンからの再構成命令を受信するために用いられ、処理ユニット802は、前記特定仮想PLCのユーザプログラム編集結果ファイルに基づいて、前記ターゲットマイクロカーネルで前記仮想PLCを再構成するために用いられる。
好ましくは、前記処理ユニット802は、具体的には、前記ターゲットマイクロカーネルで前記ターゲットマイクロカーネルにプリインストールされた仮想PLCのシステムプログラムを起動し、仮想PLCのシステムプログラムで前記特定仮想PLCのユーザプログラム編集結果ファイルを実行するために用いられる。
好ましくは、前記受信ユニット801は、さらに、クライアントからの初期化設定命令を受信するために用いられ、前記初期化設定命令における設定情報は、特定物理コア上の特定マイクロカーネルにソフトガーディアンを設定することと、特定物理コア上の特定マイクロカーネルに仮想PLCを設定することと、前記ソフトガーディアンで監視する特定仮想PLCを示すことに用いられる。、前記処理ユニット802は、さらに、前記初期化設定命令における前記設定情報に基づいて仮想PLC及びソフトガーディアンを設定するために用いられる。前記特定仮想PLCは、前記ソフトガーディアンと同一の物理コアにあるか、又は前記ソフトガーディアンと同一の物理コアにない。
上記実施例では、全て又は部分的にソフトウェア、ハードウェア、ファームウェア又は他の任意の組み合わせにより実現され、ソフトウェアプログラムで実現されると、全て又は部分的にコンピュータプログラム製品の形態で実現され得る。前記コンピュータプログラム製品は、1つ又は複数の命令を含む。コンピュータに前記コンピュータプログラム命令をロードし実行する場合、本願の実施例に記載のフロー又は機能に基づいて全て又は部分的に生成される。前記コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラマブル装置であってもよい。前記命令は、コンピュータ記憶媒体に記憶されるか、又は1つのコンピュータ記憶媒体から別のコンピュータ記憶媒体に送信され、例えば、前記命令は、有線(例えば、同軸ケーブル、光ファイバー、デジタル加入者線(DLS))又は無線(例えば、赤外線、無線、マイクロ波など)方式で、1つのウェブサイト、コンピュータ、サーバ又はデータセンターから別のウェブサイト、コンピュータ、サーバ又はデータセンターに送信され得る。前記コンピュータ記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体、又は1つ又は複数の利用可能な媒体で集積されたサーバ、データセンターなどを含むデータ記憶装置であってもよい。前記利用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、磁気テープ、光磁気ディスク(MO)など)、光学媒体(例えば、CD、DVD、BD、HVDなど)、又は半導体媒体(例えば、ROM、EPROM、EEPROM、不揮発性メモリ(NAND FLASH)、ソリッドステートディスク(Solid State Disk、SSD))などであってもよい。当業者であれば、本願の実施例は、方法、システム、又はコンピュータプログラム製品として提供することができることを理解すべきである。したがって、本願の実施例は、完全なハードウェア実施例、完全なソフトウェア実施例、又はソフトウェアとハードウェアを組み合わせる実施例の形式を用いることができる。また、本願の実施例は、コンピュータ利用可能なプログラムコードを含む1つ又は複数のコンピュータ利用可能な記憶媒体(磁気ディスクメモリ、CD−ROM、光学メモリなどを含むが、これらに限定されない)で実施されたコンピュータプログラム製品の形式を用いることができる。
本願の実施例は、本願の実施例に係る方法、装置(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明される。フローチャート及び/又はブロック図の各フロー及び/又はブロック、及び、フローチャート及び/又はブロック図におけるフロー及び/又はブロックの組み合わせは、命令によって実現できることが理解されるべきである。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、埋込みプロセッサ又は他のプログラマブルデータ処理装置のプロセッサに提供してマシンを生成することにより、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサによって実行される命令が、フローチャートの1つのフロー又は複数のフロー、及び/又はブロック図の1つのブロック又は複数のブロック内で指定された機能を実現するための装置を生成するようにしてもよい。また、これらの命令を、コンピュータ又は他のプログラマブルデータ処理装置を特定の方式で機能するように指令することができるコンピュータ可読記憶装置に記憶することにより、該コンピュータ可読記憶装置に記憶された命令が、フローチャートの1つのフロー又は複数のフロー、及び/又はブロック図の1つのブロック又は複数のブロックで指定された機能を実現する命令装置を含む製造品を生成するようにしてもよい。
また、これらの命令を、コンピュータ又は他のプログラマブルデータ処理装置にロードして、コンピュータ又は他のプログラマブルデータ処理装置で一連の動作ステップを実行させて、コンピュータ実現プロセスを生成することにより、コンピュータ又は他のプログラマブル装置で実行された命令が、フローチャートの1つのフロー又は複数のフロー、及び/又はブロック図の1つのブロック又は複数のブロック内で指定された機能を実現するためのステップを提供するようにしてもよい。
明らかに、当業者は、本願の精神及び範囲から逸脱せずに、本願の実施例について様々な修正及び変形を行うことができる。このように、本願の実施例のこれらの修正及び変形が本願の特許請求の範囲及びその同等技術の範囲内に属すれば、本願はこれらの修正及び変形も含むべきである。
本願は、2017年12月22日に中国特許局に提出され、出願番号が201711407327.0で、発明の名称が「PLCに基づく分散制御システムのディザスタリカバリ方法及び装置」の中国特許出願の優先権を主張し、その全ての内容は、参照により本願に組み込まれる。

Claims (11)

  1. サーバクラスターに適用されるソフトウェア定義PLCの監視及び再構成方法であって、
    前記サーバクラスターにおける各サーバは、少なくとも2つのマイクロカーネルが設置された少なくとも1つの物理コアを含み、前記サーバクラスターは、1つ又は複数のソフトガーディアン(soft guardian)を含み、前記マイクロカーネルに仮想PLC又はソフトガーディアンが設定されており、
    前記方法は、
    前記ソフトガーディアンが、仮想PLCの故障を監視すると、前記サーバクラスターにおける各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態を取得することと、
    前記ソフトガーディアンが、前記各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態に基づいてターゲットマイクロカーネルを決定することと、
    前記ソフトガーディアンが、前記ターゲットマイクロカーネルで前記仮想PLCを再構成するように指示するための再構成命令を前記ターゲットマイクロカーネルに送信することとを含むことを特徴とするソフトウェア定義PLCの監視及び再構成方法。
  2. 前記ソフトガーディアンが前記仮想PLCの故障を監視する前に、
    設定情報を取得することと、
    前記ソフトガーディアンが前記設定情報に基づいて前記仮想PLCの動作状態を監視することとをさらに含み、
    前記設定情報は、前記ソフトガーディアンで監視する特定仮想PLCを示し、また、前記ソフトガーディアンが、前記ソフトガーディアンと同一の物理コアにあるか、又は前記ソフトガーディアンと同一の物理コアにないことを示すことを特徴とする請求項1に記載の方法。
  3. 前記ソフトガーディアンが前記仮想PLCの故障を監視する前に、さらに、
    前記ソフトガーディアンが、前記ソフトガーディアンで監視する特定仮想PLCを示し、前記特定仮想PLCのユーザプログラム編集結果ファイルをさらに含む設定情報を取得することを含み、
    前記ソフトガーディアンが再構成命令を前記ターゲットマイクロカーネルに送信することは、
    前記ソフトガーディアンが前記ターゲットマイクロカーネルに前記特定仮想PLCのユーザプログラム編集結果ファイルに基づいて前記特定仮想PLCを再構成するように指示するための再構成命令を前記ターゲットマイクロカーネルに送信することを含み、
    前記再構成命令は、前記特定仮想PLCのユーザプログラム編集結果ファイルを含むことを特徴とする請求項1に記載の方法。
  4. 前記各物理コアの動作状態は、前記各物理コアの第1の負荷情報を含み、前記各マイクロカーネルの動作状態は、前記各マイクロカーネルの第2の負荷情報を含み、
    前記ソフトガーディアンが前記サーバクラスターにおける各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態を取得することは、
    前記ソフトガーディアンが前記各サーバ上の各物理コアの第1の負荷情報及び前記各物理コア上の各マイクロカーネルの第2の負荷情報を取得することを含み、
    前記ソフトガーディアンが前記各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態に基づいてターゲットマイクロカーネルを決定することは、
    前記ソフトガーディアンが前記各サーバ上の各物理コアの第1の負荷情報及び前記各物理コア上の各マイクロカーネルの第2の負荷情報に基づいてターゲットマイクロカーネルを決定することを含むことを特徴とする請求項1に記載の方法。
  5. サーバクラスターに適用されるソフトウェア定義PLCの監視及び再構成方法であって、
    前記サーバクラスターにおける各サーバは、少なくとも2つのマイクロカーネルが設置された少なくとも1つの物理コアを含み、前記サーバクラスターは、1つ又は複数のソフトガーディアンを含み、前記マイクロカーネルに仮想PLC又はソフトガーディアンが設定され、
    前記方法は、
    サーバが、前記ソフトガーディアンで保護される特定仮想PLCのユーザプログラム編集結果ファイルと前記特定仮想PLCを再構成するターゲットマイクロカーネルとを含む、前記ソフトガーディアンからの再構成命令を受信することと、
    前記サーバが、前記特定仮想PLCのユーザプログラム編集結果ファイルに基づいて、前記ターゲットマイクロカーネルで前記特定仮想PLCを再構成することとを含むことを特徴とするソフトウェア定義PLCの監視及び再構成方法。
  6. 前記サーバが、前記特定仮想PLCのユーザプログラム編集結果ファイルに基づいて、前記ターゲットマイクロカーネルで前記仮想PLCを再構成することとは、
    前記ターゲットマイクロカーネルで前記ターゲットマイクロカーネルにプリインストールされた仮想PLCのシステムプログラムを起動することと、仮想PLCのシステムプログラムで前記特定仮想PLCのユーザプログラム編集結果ファイルを実行することとを含むことを特徴とする請求項5に記載の方法。
  7. サーバが前記ソフトガーディアンからの再構成命令を受信する前に、さらに、
    前記サーバが、クライアントからの初期化設定命令を受信することと、
    前記サーバが前記初期化設定命令における設定情報に基づいて仮想PLC及びソフトガーディアンを設定することとを含み、
    前記初期化設定命令における設定情報は、特定物理コア上の特定マイクロカーネルにソフトガーディアンを設定することと、特定物理コア上の特定マイクロカーネルに仮想PLCを設定することと、前記特定PLCが前記ソフトガーディアンと同一の物理コアにあるか、又は前記ソフトガーディアンと同一の物理コアにないこととを示し、前記ソフトガーディアンで監視する特定仮想PLCを含む
    ことを特徴とする請求項5又は6に記載の方法。
  8. サーバクラスターに適用されるソフトウェア定義PLCの監視及び再構成用のサーバであって、
    前記サーバクラスターにおける各サーバは、少なくとも2つのマイクロカーネルが設置された少なくとも1つの物理コアを含み、前記サーバクラスターは、1つ又は複数のソフトガーディアンを含み、前記マイクロカーネルに仮想PLC又はソフトガーディアンが設定され、前記サーバに設定されたソフトガーディアンは、
    仮想PLCの故障を監視すると、前記サーバクラスターにおける各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態を取得するための取得ユニットと、
    前記各サーバ上の各物理コアの動作状態及び前記各物理コア上の各マイクロカーネルの動作状態に基づいてターゲットマイクロカーネルを決定するための処理ユニットと、
    前記ターゲットマイクロカーネルで前記仮想PLCを再構成するように指示するための再構成命令を前記ターゲットマイクロカーネルに送信するための送信ユニットとを含むことを特徴とするサーバ。
  9. 前記取得ユニットは、さらに、
    前記ソフトガーディアンと同一の物理コアにあるか、又は前記ソフトガーディアンと同一の物理コアにないことと、前記ソフトガーディアンで監視する特定仮想PLCを示す設定情報を取得するために用いられ、
    前記処理ユニットは、さらに、
    前記設定情報に基づいて、前記特定仮想PLCの動作状態を監視するために用いられることを特徴とする請求項8に記載のサーバ。
  10. 前記取得ユニットは、さらに、
    前記ソフトガーディアンで監視する特定仮想PLCを示し、前記特定仮想PLCのユーザプログラム編集結果ファイルをさらに含む設定情報を取得するために用いられ、
    前記送信ユニットは、
    前記ターゲットマイクロカーネルに前記特定仮想PLCのユーザプログラム編集結果ファイルに基づいて前記特定仮想PLCを再構成するように指示するための再構成命令を前記ターゲットマイクロカーネルに送信するために用いられ、
    前記再構成命令は、前記特定仮想PLCのユーザプログラム編集結果ファイルを含むことを特徴とする請求項8に記載のサーバ。
  11. 前記各物理コアの動作状態は、前記各物理コアの第1の負荷情報を含み、前記各マイクロカーネルの動作状態は、前記各マイクロカーネルの第2の負荷情報を含み、
    前記取得ユニットは、
    前記各サーバ上の各物理コアの第1の負荷情報及び前記各物理コア上の各マイクロカーネルの第2の負荷情報を取得するために用いられ、
    前記処理ユニットは、
    前記各サーバ上の各物理コアの第1の負荷情報及び前記各物理コア上の各マイクロカーネルの第2の負荷情報に基づいてターゲットマイクロカーネルを決定するために用いられることを特徴とする請求項8に記載のサーバ。
JP2018240346A 2017-12-22 2018-12-21 ソフトウェア定義plcの監視及び再構成方法及び装置 Active JP6694499B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201711407327.0A CN108196501A (zh) 2017-12-22 2017-12-22 一种基于plc的分布式控制系统的容灾方法、装置和系统
CN201711407327.0 2017-12-22
CN201811298670.0 2018-11-02
CN201811298670.0A CN109240197B (zh) 2017-12-22 2018-11-02 一种软件定义plc的监控和重构方法和装置

Publications (2)

Publication Number Publication Date
JP2019114263A true JP2019114263A (ja) 2019-07-11
JP6694499B2 JP6694499B2 (ja) 2020-05-13

Family

ID=62583355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018240346A Active JP6694499B2 (ja) 2017-12-22 2018-12-21 ソフトウェア定義plcの監視及び再構成方法及び装置

Country Status (5)

Country Link
US (1) US10877455B2 (ja)
EP (1) EP3502901B1 (ja)
JP (1) JP6694499B2 (ja)
CN (2) CN108196501A (ja)
ES (1) ES2823523T3 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7297178B1 (ja) 2022-08-01 2023-06-23 三菱電機株式会社 シミュレーションプログラム、シミュレーション装置、シミュレーションシステム及びシミュレーション方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109445847B (zh) * 2018-07-09 2021-09-17 北京东土科技股份有限公司 工业服务器微内核架构实现方法
CN108984267B (zh) * 2018-07-09 2020-11-13 北京东土科技股份有限公司 工业服务器的微内核架构控制系统及工业服务器
CN109857393B (zh) * 2019-01-31 2022-03-29 南京南瑞继保电气有限公司 顺序控制图的可视化实现方法、装置及存储介质
CN110519092B (zh) * 2019-08-27 2022-11-22 深圳力维智联技术有限公司 边缘网关、配置工具和软plc功能的脚本化实现方法
WO2021040732A1 (en) * 2019-08-30 2021-03-04 Siemens Aktiengesellschaft System and method for deploying logic to a distributed automation system
CN110609512B (zh) * 2019-09-25 2021-10-15 新奥(中国)燃气投资有限公司 一种物联网平台和物联网设备监控方法
CN110928592A (zh) * 2019-12-09 2020-03-27 新石器慧通(北京)科技有限公司 一种嵌入式系统及其启动方法、装置及电子设备
CN111026387B (zh) * 2019-12-23 2023-01-24 北京东土科技股份有限公司 工业服务器的vplc配置方法、装置及可读存储介质
CN113495522B (zh) * 2020-03-19 2022-12-13 南京南瑞继保电气有限公司 一种确定环境与设备监控系统中plc的值班状态的方法和装置
CN112543141B (zh) * 2020-12-04 2022-03-01 互联网域名系统北京市工程研究中心有限公司 Dns转发服务器容灾调度的方法和系统
CN113434341B (zh) * 2021-07-01 2023-02-17 北京东土科技股份有限公司 一种实现冗余虚拟plc的方法、装置、设备及存储介质
CN113626190B (zh) * 2021-08-04 2022-10-18 电子科技大学 面向多核环境的微内核操作系统中负载均衡方法
US20230244464A1 (en) * 2022-01-31 2023-08-03 Hewlett Packard Enterprise Development Lp Environment establishment for a program in a server system
CN114879593B (zh) * 2022-05-07 2023-03-14 科东(广州)软件科技有限公司 实时系统运行plc控制器的方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036101A (ja) * 2001-07-25 2003-02-07 Yokogawa Electric Corp 冗長化コントローラ
US20030033030A1 (en) * 2000-07-07 2003-02-13 Ron Naismith Input/output (I/O) scanner for a control system with peer determination
US20080208361A1 (en) * 2007-02-27 2008-08-28 Rockwell Automation Technologies, Inc. Dynamic load balancing using virtual controller instances
JP2010503115A (ja) * 2006-09-22 2010-01-28 インテル コーポレイション 仮想マシン環境におけるゲスト間での情報の共有
JP2016509328A (ja) * 2013-03-12 2016-03-24 アーベーベー・テクノロジー・アーゲー 産業プラントの分散制御システムを試験するためのシステムおよび方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5316707A (en) * 1991-09-05 1994-05-31 Tempcraft, Inc. Injection molding apparatus control system and method of injection molding
US7032029B1 (en) * 2000-07-07 2006-04-18 Schneider Automation Inc. Method and apparatus for an active standby control system on a network
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
JP5377898B2 (ja) * 2008-07-10 2013-12-25 株式会社日立製作所 クラスタリングを構成する計算機システムの系切替方法、及びシステム
WO2010068465A2 (en) * 2008-11-25 2010-06-17 Citrix Systems. Inc. Systems and methods for maintaining persistence by a backup virtual server
CN101788803B (zh) * 2010-01-15 2012-04-18 上海维宏电子科技有限公司 一种基于Windows的易伸缩数控系统
JP5494298B2 (ja) * 2010-07-06 2014-05-14 富士通株式会社 計算機装置,障害復旧制御プログラムおよび障害復旧制御方法
JP5651772B2 (ja) * 2011-05-31 2015-01-14 株式会社日立製作所 ジョブ管理サーバ及びジョブ管理方法
JP6366694B2 (ja) * 2013-10-23 2018-08-01 華為技術有限公司Huawei Technologies Co.,Ltd. クラウドアプリケーションの冗長化のための方法、システム、および装置
WO2017064554A1 (en) * 2015-10-13 2017-04-20 Schneider Electric Industries Sas Method for arranging workloads in a software defined automation system
US10795976B2 (en) * 2016-01-11 2020-10-06 Siemens Aktiengesellschaft Program randomization for cyber-attack resilient control in programmable logic controllers
CN107122229A (zh) * 2017-04-21 2017-09-01 紫光华山信息技术有限公司 一种虚拟机恢复方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033030A1 (en) * 2000-07-07 2003-02-13 Ron Naismith Input/output (I/O) scanner for a control system with peer determination
JP2003036101A (ja) * 2001-07-25 2003-02-07 Yokogawa Electric Corp 冗長化コントローラ
JP2010503115A (ja) * 2006-09-22 2010-01-28 インテル コーポレイション 仮想マシン環境におけるゲスト間での情報の共有
US20080208361A1 (en) * 2007-02-27 2008-08-28 Rockwell Automation Technologies, Inc. Dynamic load balancing using virtual controller instances
JP2016509328A (ja) * 2013-03-12 2016-03-24 アーベーベー・テクノロジー・アーゲー 産業プラントの分散制御システムを試験するためのシステムおよび方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MINGHUI ZHANG, YANXIA LU, TIANJIAO XIA: "The Design and Implementation of Virtual Machine System in Embedded SoftPLC System", 2013 INTERNATIONAL CONFERENCE ON COMPUTER SCIENCES AND APPLICATIONS, JPN6019047662, 2013, US, pages 775 - 778, XP032609157, ISSN: 0004169246, DOI: 10.1109/CSA.2013.185 *
小幡 正規: "現場ニーズへのソフトPLCの効果的適応法", 計装, vol. 第55巻・12月号, JPN6019047660, JP, ISSN: 0004169245 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7297178B1 (ja) 2022-08-01 2023-06-23 三菱電機株式会社 シミュレーションプログラム、シミュレーション装置、シミュレーションシステム及びシミュレーション方法

Also Published As

Publication number Publication date
CN109240197B (zh) 2020-01-21
CN109240197A (zh) 2019-01-18
ES2823523T3 (es) 2021-05-07
US20190196435A1 (en) 2019-06-27
US10877455B2 (en) 2020-12-29
EP3502901B1 (en) 2020-09-09
CN108196501A (zh) 2018-06-22
EP3502901A1 (en) 2019-06-26
JP6694499B2 (ja) 2020-05-13

Similar Documents

Publication Publication Date Title
JP2019114263A (ja) ソフトウェア定義plcの監視及び再構成方法及び装置
JP7257329B2 (ja) オープンアーキテクチャ産業制御システム
CN108513655B (zh) 软件定义自动化系统及其架构
CN108614688B (zh) 应用于混合云环境的可视化应用编排系统及方法
EP2614436B1 (en) Controlled automatic healing of data-center services
JP2021051735A (ja) モジュラープロセス制御システム
WO2021076310A1 (en) Systems and methods for cross-platform scheduling and workload automation
US9354920B2 (en) Managing virtual appliances supporting multiple profiles
US20170161044A1 (en) Automated-application-release-management subsystem that incorporates script tasks within application-release-management pipelines
CN111143044B (zh) 任务调度管理系统、方法、装置及其可存储介质
JP2017187992A (ja) 制御装置、制御方法およびプログラム
WO2014110063A1 (en) Automated failure handling through isolation
EP3591530B1 (en) Intelligent backup and recovery of cloud computing environment
ES2658755T3 (es) Sistema de supervisión y control de un sistema de energía
US8429251B2 (en) Method for the consistent provision of configuration data in an industrial automation system comprising a plurality of networked control units, and industrial automation system
Feminella et al. Piloteur: a lightweight platform for pilot studies of smart homes
US20160274930A1 (en) Method and apparatus for an on-process migration in a virtual environment within an industrial process control and automation system
US9032251B2 (en) Re-forming an application control tree without terminating the application
US20210117264A1 (en) Optimized high availability management using cluster-wide view
CN111095134A (zh) 用于综合楼宇自动化系统的容错服务
CN113986662A (zh) 边缘集群监控方法和系统
Hagimont et al. Component-based autonomic management for legacy software
Pugdeethosapol et al. Dynamic configuration of the computing nodes of the ALICE O 2 system
CN114124651B (zh) 云平台管理节点的控制方法、装置及云平台服务器集群
Neve et al. Application of manufacturing message specification for flexible manufacturing system control

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200417

R150 Certificate of patent or registration of utility model

Ref document number: 6694499

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250