JP6020476B2 - プロセス制御装置及びその更新方法 - Google Patents

プロセス制御装置及びその更新方法 Download PDF

Info

Publication number
JP6020476B2
JP6020476B2 JP2014008047A JP2014008047A JP6020476B2 JP 6020476 B2 JP6020476 B2 JP 6020476B2 JP 2014008047 A JP2014008047 A JP 2014008047A JP 2014008047 A JP2014008047 A JP 2014008047A JP 6020476 B2 JP6020476 B2 JP 6020476B2
Authority
JP
Japan
Prior art keywords
state
application
operating system
communication
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014008047A
Other languages
English (en)
Other versions
JP2015138292A (ja
Inventor
雅信 土屋
雅信 土屋
大野 毅
毅 大野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2014008047A priority Critical patent/JP6020476B2/ja
Priority to US14/599,101 priority patent/US9869984B2/en
Priority to CN201510025653.XA priority patent/CN104793581A/zh
Priority to CN201710963283.3A priority patent/CN107741737B/zh
Priority to EP15151577.2A priority patent/EP2897007B1/en
Publication of JP2015138292A publication Critical patent/JP2015138292A/ja
Application granted granted Critical
Publication of JP6020476B2 publication Critical patent/JP6020476B2/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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • 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
    • 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/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2212All processors are loaded with same program, only part of program is used
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23327Modification of program in real time
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Hardware Redundancy (AREA)
  • Safety Devices In Control Systems (AREA)

Description

本発明は、プロセス制御装置及びその更新方法に関する。
従来から、プラントや工場等(以下、これらを総称する場合には、単に「プラント」という)においては、工業プロセスにおける各種の状態量(例えば、圧力、温度、流量等)を制御するプロセス制御システムが構築されており、高度な自動操業が実現されている。具体的には、例えば以下の特許文献1に示す通り、プロセス制御システムの核をなすコントローラ(プロセス制御装置)が、複数のセンサ(流量計や温度計等)の検出結果を取得し、この検出結果に応じてアクチュエータ(バルブ等)の操作量を求め、この操作量に応じてアクチュエータを操作することによって、上述した各種の状態量が制御されている。
従来のプロセス制御システムは、独自仕様の専用の機器を用いて構築されていたが、近年のプロセス制御システムは、オープン化されつつあり、仕様が公開された汎用的な機器(コンピュータやワークステーション等)を用いて構築されるものが多くなっている。このような汎用的な機器が用いられるプロセス制御システムにおいては、一般の情報システムと同様に、ハードウェア及びオペレーティングシステム(OS)等からなるプラットフォームの切り替え(更新)が必要になる。このようなプラットフォームの切り替えは、例えばプラットフォームの機能を拡張し、或いはプラットフォームの不具合・脆弱性を修正するために行う。
また、従来のプロセス制御システムは、単独で構築されるものが多かったが、近年のプロセス制御システムは、プラントにおける生産性の向上等のために、生産管理等を行う他の情報システムに接続される機会が増えている。このように、プロセス制御システムが他の情報システムに接続される環境においては、外部からのサイバー攻撃を受けるリスクが考えられるため、プラットフォームの切り替えを継続して行うことが重要になる。
特許第4399773号公報
ところで、従来、プロセス制御装置は、制御アプリケーションによる制御の停止時間が極力短くなるようにプラットフォームの切り替えが行われていた。具体的に、プロセス制御装置のプラットフォームの切り替えは、例えば以下に示す手順によって行われていた。尚、以下の「旧プロセス制御装置」は、それまでに用いられていたプロセス制御装置であり、「新プロセス制御装置」は新たに用いられようとしているプロセス制御装置である。
1.新プロセス制御装置を起動させ、制御アプリケーションの設定が可能な状態にする
2.旧プロセス制御装置上で動作していた制御アプリケーションの設定を新プロセス制御装置に転送させる
3.旧プロセス制御装置を停止させる(これにより、ネットワークが切断されて、制御アプリケーションが停止する)
4.新プロセス制御装置上の制御アプリケーションを起動させる
上記の手順において、新プロセス制御装置上の制御アプリケーションの起動(手順4)を行う前に、旧プロセス制御装置の停止(手順3)を行うことによって、同一の制御アプリケーションが複数動作することによる制御の競合を防止することができる。しかしながら、このような手順でプラットフォームの切り替えを行うと、旧プロセス制御装置の停止(手順3)を行った時点で制御アプリケーションの動作が途絶してしまい、旧プロセス制御装置の動作状態(制御アプリケーションの動作状態、オペレーティングシステムの動作状態、通信状態等)が新プロセス制御装置に引き継がれないという問題がある。
動作状態が引き継がれずに新プロセス制御装置上で制御アプリケーションが起動されると、その制御アプリケーションは初期化処理から動作を開始するため、制御動作が不連続になる可能性がある。ここで、不連続になるとは、例えば、本来行われるべき動作が欠落する、同じ動作が重複して行われる状況が生ずることである。制御動作が不連続になると、仕掛品の性質によっては仕掛品が台無しになるだけでなく、制御対象の設備が破損する可能性も考えられる。
本発明は上記事情に鑑みてなされたものであり、動作状態を引き継ぐことによって制御アプリケーションの動作を継続させつつプラットフォームの切り替えを行うことが可能なプロセス制御装置及びその更新方法を提供することを目的とする。
上記課題を解決するために、第1発明に係るプロセス制御装置は、プラントで実現される工業プロセスの制御を行うプロセス制御装置(20a、20c)において、ハードウェア(HW1)上でハードウェアの代わりとして動作する仮想化部(41、VM11、VM12)と、前記仮想化部上で動作し、前記工業プロセスの制御が開始された場合には前記工業プロセスの制御の開始を待機している状態である第1状態(ST2)から前記工業プロセスの制御が実行されている状態である第2状態(ST3)に遷移し、前記工業プロセスの1回分の制御が終了した場合には前記第2状態から前記第1状態に遷移する第1オペレーティングシステム(42、61)と、前記第1オペレーティングシステム上で動作して前記工業プロセスの制御を定周期で行うアプリケーション(44、63)と、前記第1オペレーティングシステムが前記第1状態のときに前記アプリケーションの復元に必要となる前記アプリケーションの内部状態を示す情報を保存する保存部(43)とを備えることを特徴としている。
この発明によると、第1オペレーティングシステムが前記第1状態のときに、アプリケーションの復元に必要となるアプリケーションの内部状態を示す情報が保存部によって保存される。
また、第1発明に係るプロセス制御装置は、前記仮想化部上で動作する第2オペレーティングシステム(45)と、 前記第2オペレーティングシステム上で動作し、上位装置(30)の通信状態を維持し、前記アプリケーションと上位装置との間の通信の継続を行いながら、前記アプリケーションと上位装置との間の通信状態を維持しながら前記アプリケーションと上位装置との間で行われる通信を中継する通信中継部(46、64)とを備えることを特徴としている。
上記課題を解決するために、第2発明に係るプロセス制御装置は、プラントで実現される工業プロセスの制御を行うプロセス制御装置(20b、20d)において、ハードウェア(HW2)上でハードウェアの代わりとして動作する仮想化部(51、VM21、VM22)と、前記仮想化部上で動作し、前記工業プロセスの制御が開始された場合には前記工業プロセスの制御の開始を待機している状態である第1状態(ST2)から前記工業プロセスの制御が実行されている状態である第2状態(ST3)に遷移し、前記工業プロセスの1回分の制御が終了した場合には前記第2状態から前記第1状態に遷移する第1オペレーティングシステム(52、71)と、第1発明に係るプロセス制御装置に設けられた前記保存部によって保存された情報を用いて自装置における前記第1オペレーティングシステム上に前記アプリケーションを復元する復元部(53)とを備えることを特徴としている。
この発明によると、第1発明に係るプロセス制御装置で動作するアプリケーションが、第1発明に係るプロセス制御装置に設けられた保存部によって保存された情報を用いて、復元部により第2発明に係るプロセス制御装置の第1オペレーティングシステム上に復元される。
また、第2発明に係るプロセス制御装置は、前記仮想化部が、第1発明に係るプロセス制御装置に設けられた前記第2オペレーティングシステム及び前記通信中継部を、前記アプリケーションと前記上位装置との間の通信を引き継ぎながら移行することを特徴としている。
また、第1,第2発明に係るプロセス制御装置は、前記第1オペレーティングシステムが、前記アプリケーションの動作に必要となるリソースを事前に割り当てる静的オペレーティングシステム(42、52)、又は前記アプリケーションの動作に必要となるリソースを前記アプリケーションの要求に応じて動的に割り当てる動的オペレーティングシステム(61、71)であることを特徴としている。
また、第1,第2発明に係るプロセス制御装置は、前記第1オペレーティングシステムと前記アプリケーションとの間に実装され、前記アプリケーションが行う通信路の確立を前記アプリケーションに代理して行うミドルウェア(62、72)を備えることを特徴としている。
上記課題を解決するために、第3発明に係るプロセス制御装置は、プラントで実現される工業プロセスの制御を行うプロセス制御装置(20e)において、ハードウェア(HW)上でハードウェアの代わりとして動作する仮想化部(HV、VM11、VM12、VM21)と、前記仮想化部上で動作し、前記工業プロセスの制御が開始された場合には前記工業プロセスの制御の開始を待機している状態である第1状態(ST2)から前記工業プロセスの制御が実行されている状態である第2状態(ST3)に遷移し、前記工業プロセスの1回分の制御が終了した場合には前記第2状態から前記第1状態に遷移する複数の第1オペレーティングシステム(42、52)と、前記第1オペレーティングシステム上で動作して前記工業プロセスの制御を定周期で行うアプリケーション(44)と、前記第1オペレーティングシステムが前記第1状態のときに前記アプリケーションの復元に必要となる前記アプリケーションの内部状態を示す情報を保存する保存部(43)と、前記保存部によって保存された情報を用いて前記アプリケーションが動作している前記第1オペレーティングシステムとは異なる前記第1オペレーティングシステム上に前記アプリケーションを復元する復元部(53)とを備えることを特徴としている。
この発明によると、第1オペレーティングシステムが前記第1状態のときにアプリケーションの復元に必要となるアプリケーションの内部状態を示す情報が保存部によって保存され、保存された情報を用いて復元部により、アプリケーションが動作している第1オペレーティングシステムとは異なる第1オペレーティングシステム上にアプリケーションが復元される。
本発明のプロセス制御装置の更新方法は、プラントで実現される工業プロセスの制御を行うプロセス制御装置(20)の更新方法であって、前記工業プロセスの制御が開始された場合には前記工業プロセスの制御の開始を待機している状態である第1状態(ST2)から前記工業プロセスの制御が実行されている状態である第2状態(ST3)に遷移し、前記工業プロセスの1回分の制御が終了した場合には前記第2状態から前記第1状態に遷移する第1オペレーティングシステム(42、61)上で動作して前記工業プロセスの制御を定周期で行うアプリケーション(44、63)の復元に必要となる前記アプリケーションの内部状態を示す情報を前記第1オペレーティングシステムが前記第1状態のときに保存する第1ステップ(S13)と、前記第1ステップで保存された情報を用いて前記第1オペレーティングシステムと同じ遷移を行う別の第1オペレーティングシステム(52、71)上に前記アプリケーションを復元する第2ステップ(S20)とを有することを特徴としている。
また、本発明のプロセス制御装置の更新方法は、第2オペレーティングシステム(45)上で動作し、上位装置(30)の通信状態の維持と、前記アプリケーションと上位装置との間の通信の継続を行いながら前記アプリケーションと上位装置との間で行われる通信を中継する通信中継部(46、64)を、前記第2オペレーティングシステムとともに、上位装置の通信状態の維持と、前記アプリケーションと上位装置との間の通信の継続を行いながら移行する第3ステップ(S17)とを有することを特徴としている。
本発明によれば、動作状態を引き継ぐことによって制御アプリケーションの動作を継続させつつプラットフォームの切り替えを行うことが可能であるという効果がある。また、上位装置との間で確立されていた通信路が切断されることもないという効果がある。
本発明の第1実施形態によるプロセス制御装置が用いられるプロセス制御システムの要部構成を示すブロック図である。 本発明の第1実施形態における静的オペレーティングシステムの状態遷移図である。 本発明の第1実施形態において、スナップショットの保存・復元を行う構成を示すブロック図である。 本発明の第1実施形態におけるコントローラの切り替え方法を示すフローチャートである。 本発明の第1実施形態においてコントローラの切り替え後のプロセス制御システムを示すブロック図である。 本発明の第2実施形態によるプロセス制御装置が用いられるプロセス制御システムの要部構成を示すブロック図である。 本発明の第2実施形態で用いられるデータベースの内容の一例を示す図である。 本発明の第3実施形態によるプロセス制御装置が用いられるプロセス制御システムの要部構成を示すブロック図である。
以下、図面を参照して本発明の実施形態によるプロセス制御装置及びその更新方法について詳細に説明する。
〔第1実施形態〕
〈プロセス制御システム〉
図1は、本発明の第1実施形態によるプロセス制御装置が用いられるプロセス制御システムの要部構成を示すブロック図である。図1に示す通り、プロセス制御システム1は、複数のフィールド機器10、コントローラ20(プロセス制御装置)、及び監視装置30(上位装置)を備えており、監視装置30の監視の下でコントローラ20がフィールド機器10を制御することによって、プラント(図示省略)で実現される工業プロセスの制御を行う。
尚、図1に示す2つのコントローラ20のうちの一方のコントローラ20aは工業プロセスの制御に用いられている従前のコントローラであり、他方のコントローラ20bはコントローラ20aに代えて設けられる新たなコントローラである。つまり、コントローラ20bは、コントローラ20aのプラットフォームの切り替えにより新たに設けられるコントローラである。
ここで、フィールド機器10及びコントローラ20(20a,20b)はフィールドネットワークN1に接続され、コントローラ20(20a,20b)及び監視装置30は制御ネットワークN2に接続される。フィールドネットワークN1は、例えばプラントの現場に敷設され、プロセス制御装置とフィールド機器間でステートレスな通信路により通信が行われる有線のネットワークである。他方、制御ネットワークN2は、例えばプラントの現場と監視室との間に敷設され、プロセス制御装置同士やプロセス制御装置と監視装置間でステートレス或いはステートフルな通信路によって通信が行われる有線のネットワークである。尚、これらフィールドネットワークN1及び制御ネットワークN2は、無線のネットワークであっても良い。
ここで、「ステートレスな通信路」とは、通信路の端点で、通信の状態の意味づけを行わない通信路である。つまり、通信の状態を管理せずとも、他の手段により通信が行えることを保証している通信路である。これに対し、「ステートフルな通信路」とは、通信路の端点で、送受信に対応する通信の状態の意味付けを行い、通信の状態を管理しながら通信を行う通信路である。尚、ステートフルな通信路において、通信の整合性が失われて回復ができない場合には、端点の何れかにおいて通信路を破棄する処理が行われる。
フィールド機器10は、例えば流量計や温度センサ等のセンサ機器、流量制御弁や開閉弁等のバルブ機器、ファンやモータ等のアクチュエータ機器、その他のプラントの現場に設置される機器である。尚、図1においては、理解を容易にするために、プラントに設置されたフィールド機器10のうちの流体の流量を測定するセンサ機器11と流体の流量を制御(操作)するバルブ機器12とを図示している。
フィールド機器10は、コントローラ20からフィールドネットワークN1を介して送信されてくる制御データに応じた動作を行う。例えば、コントローラ20からセンサ機器11に測定データ(流体の流量の測定結果を示すデータ)の送信要求が送信されてきた場合には、センサ機器11は、フィールドネットワークN1を介してコントローラ20に向けて測定データを送信する。また、コントローラ20からバルブ機器12に対して制御データ(開度を制御するデータ)が送信されてきた場合には、バルブ機器12は、流体が通過する弁の開度を制御データで指示される開度にする。
コントローラ20は、監視装置30の監視の下で工業プロセスの制御に係る定周期処理を行う。ここで、定周期処理とは、コントローラ20が一定の周期で行う処理をいう。例えば、一定の周期で、センサ機器11からPV(プロセス)値を収集し、監視装置30から操作されるSV(設定)値を受け取り、MV(操作)値を決定する演算処理を行ってバルブ機器12へ伝達する、一連の処理を行う。コントローラ20の機能は、ソフトウェアがコンピュータに読み込まれて、ソフトウェアとハードウェア資源とが協働することによって実現される。尚、コントローラ20(20a,20b)で実現される機能の詳細については後述する。
監視装置30は、例えばコンピュータによって実現され、運転員によって操作されて工業プロセスの監視のために用いられる。具体的に、監視装置30は、コントローラ20で動作するアプリケーション(詳細は後述する)の制御機能のモニタを行い、そのモニタ等の結果に応じて、運転員が指示を行い、コントローラ20を操作する。尚、監視装置30は、コントローラ20に対してステートフルな通信路を確立する。
〈コントローラ20a〉
コントローラ20aは、MPU(Micro-Processing Unit:マイクロプロセッサ)やメモリ等からなるハードウェアHW1を備えており、インストールされたプログラムがハードウェアHW1によって実行されることによってコントローラ20aの機能が実現される。尚、図1中の実デバイスRD11,RD12は、NIC(Network Interface Card)やI/O(Input/Output)モジュール等の通信デバイスであり、実デバイスRD11はフィールドネットワークN1に接続されており、実デバイスRD12は制御ネットワークN2に接続されている。
ここで、コントローラ20aには、ハイパーバイザ41(仮想化部)を実現するプログラム、静的オペレーティングシステム(OS)42(第1オペレーティングシステム)、保存部43を実現するプログラム、及びオペレーティングシステム45(第2オペレーティングシステム)を実現するプログラムがインストールされている。尚、これらのプログラムによって実現される機能は、コントローラ20aに固定的に組み込まれる機能である。また、コントローラ20aには、アプリケーション44を実現するプログラム及び通信中継部46を実現するプログラムがインストールされている。尚、これらのプログラムによって実現される機能は、コントローラ20aのプラットフォームの切り替えによりコントローラ20bに移行される機能である。
上記のハイパーバイザ41は、静的オペレーティングシステム42、保存部43、及びアプリケーション44と、オペレーティングシステム45及び通信中継部46とをそれぞれ独立して動作させることを可能にするものである。このハイパーバイザ41は、ハードウェア資源の割り当て、実デバイスRD11,RD12と仮想デバイスVD11,VD12との対応付け等を行って、仮想マシーンVM11,VM12(仮想化部)を並列動作させる。
仮想マシーンVM11は、静的オペレーティングシステム42、保存部43、及びアプリケーション44が動作する仮想的なハードウェアである。この仮想マシーンVM11は、実デバイスRD11に対応する仮想デバイスVD11を備える。また、仮想マシーンVM12は、オペレーティングシステム45及び通信中継部46が動作する仮想的なハードウェアである。この仮想マシーンVM12は、実デバイスRD12に対応する仮想デバイスVD12を備える。つまり、上述したハイパーバイザ41は、ハードウェアHW1の代わりとして仮想的に動作する仮想マシーンVM11,VM12の管理を行う。
また、図1に示す通り、ハイパーバイザ41は、通信部41a及びVM移行指示受信部41bを備える。通信部41aは、仮想マシーンVM11と仮想マシーンVM12との間の通信を実現する。この通信部41aは、いわばハイパーバイザ41内における仮想的な通信経路であるため、外部通信との互換性を意識しない通信方法による通信が可能である。例えば、仮想マシーンVM11,VM12を1対1で接続する方法や、通信オーバーヘッド削減と実装の簡単化のために通信内容を共有メモリへのデータコピーで実現する方法を採用することができる。
VM移行指示受信部41bは、指定された仮想マシーンを他のハイパーバイザへ移行する指示(ライブマイグレーションの指示)を受信する。ここで、ライブマイグレーションとは、仮想マシーンの実行を中断し、通信の状態を含む実行中の仮想マシーンの内部状態を丸ごとコピーして、移動先の仮想マシーン上でそのコピーされた内部状態を用いて実行を再開することで、仮想マシーンの実行場所を移動する技術である。仮想マシーン外部からは無停止・無初期化で別の場所に移動したように見える。尚、本実施形態において、上記ライブマイグレーションの指示は、保存部43によってなされる。
静的オペレーティングシステム42は、仮想マシーンVM11上で動作し、保存部43及びアプリケーション44の動作環境の提供及びOSリソースオブジェクトの管理を行う。この静的オペレーティングシステム42は、保存部43やアプリケーション44の動作に必要となるOSリソースオブジェクトを事前に割り当てるオペレーティングシステムである。尚、事前に割り当てるOSリソースオブジェクトは、共有メモリ、タスク、セマフォ、ネットワーク接続等である。このようなOSリソースオブジェクトの割り当ては、静的オペレーティングシステム42の動作前にコンフィグレータ(OSリソースオブジェクトの割り当てツール)を用いて行われる。
静的オペレーティングシステム42は、静的オペレーティングシステム42を初期化する初期化部42aを備える。この初期化部42aは、保存部43及びアプリケーション44が動作する前に以下の処理を行うことによって静的オペレーティングシステム42を初期化する。
・OSリソースオブジェクトの初期化
・アプリケーション44のステートフルな通信路の確立
ここで、静的オペレーティングシステム42の状態は、コントローラ20aの動作状況に応じて遷移する。図2は、本発明の第1実施形態における静的オペレーティングシステムの状態遷移図である。図2に示す通り、静的オペレーティングシステム42は、コントローラ20aの動作状況に応じて、OS未ロード状態ST1、OS初期化済状態ST2(第1状態)、及びOSリソースオブジェクト使用中状態ST3(第2状態)に遷移する。
OS未ロード状態ST1は、コントローラ20aの電源が投入され、ハイパーバイザ41及び仮想マシーンVM11,VM12が起動して、静的オペレーティングシステム42がロードされる直前の状態である。OS初期化済状態ST2は、静的オペレーティングシステム42が初期化され、アプリケーション44の実行を開始できる状態である。静的オペレーティングシステム42がロードされた後に初めてOS初期化済状態ST2に遷移するとき、静的オペレーティングシステム42は、初期化部42aを動作させてコンフィグレータで割り当てたOSリソースオブジェクトの初期化と、ステートフルな通信路の確立を行う。
OSリソースオブジェクト使用中状態ST3は、アプリケーション44が実行され、アプリケーション44に設けられた定周期処理部44a(詳細は後述する)が処理中の状態である。この状態では、定周期処理部44は定周期処理内容に従ってOSリソースオブジェクトを使い始めるため、静的オペレーティングシステム42の内部状態が一意に確定できない過渡的な状態となる。尚、図2に示す通り、定周期処理部44aによって行われる1回分の定周期処理が終了すると、OSリソースオブジェクトを使い終わり、初期化処理が行われた直後の状態に戻るため、静的オペレーティングシステム42は、内部状態が一意に確定可能なOS初期化済状態ST2に遷移し、再び定周期処理部44aによる1回分の定周期処理が開始されると、静的オペレーティングシステム42はOSリソースオブジェクト使用中状態ST3に遷移する。
保存部43は、コントローラ20aで動作しているアプリケーション44をコントローラ20bに復元するために必要となる情報(スナップショット)を保存し、保存したスナップショットをコントローラ20bに送信する。ここで、上記のスナップショットとは、アプリケーション44の状態を維持するために保存される、動作中のアプリケーション44の内部状態を表すコンテキストである。このスナップショットを用いることにより、ある時点からのアプリケーション44の動作を復元し、動作を継続することができる。尚、ある時点での内部状態を表すコンテキストとは、例えば、アプリケーション44のメモリ領域の内容である。ここで、スナップショットには、通信の状態を参照して通信を行うために、アプリケーション44が確立した通信路の識別子が含まれる。
図3は、本発明の第1実施形態において、スナップショットの保存・復元を行う構成を示すブロック図である。図3に示す通り、保存部43は、切替指示伝達部43a、スナップショット保存部43b、及びスナップショット送信部43cを備える。切替指示伝達部43aは、コントローラ20aの外部に設けられた指示装置(図示省略)から送信される切替指示(コントローラ20aをコントローラ20bに切り替える指示)を受信し、受信した切替指示をスナップショット保存部43bに出力する。
スナップショット保存部43bは、切替指示伝達部43aからの切替指示に基づき、アプリケーション44の動作状態をコントローラ20bに引き継ぐために、保存タイミング検知部DTで検知されるタイミングでスナップショットを生成して保存する。保存タイミング検知部DTは、アプリケーション44の動作を監視して、スナップショット保存部43bが動作を開始するタイミング(アプリケーション44に設けられた定周期処理部44aが1回分の定周期処理を終了するタイミング)を検知する。
スナップショット送信部43cは、スナップショット保存部43bで保存されたスナップショットをコントローラ20bの復元部53に送信する。尚、このスナップショット送信部43cは、スナップショットをコントローラ20bの復元部53に送信できれば必ずしも保存部43内に設けられている必要はない。例えば、静的オペレーティングシステム42の内部、或いは通信部41a内に設けられていても良い。
アプリケーション44は、静的オペレーティングシステム42上で動作し、プロセスの制御を行う上で必要なフィールド機器10の制御を行う。具体的に、アプリケーション44は、定周期処理部44aを備えており、前述した工業プロセスの制御に係る定周期処理を行う。例えば、センサ機器11からの測定データを一定の周期で収集する処理、バルブ機器12を制御する制御データを一定周期で演算する処理、或いはバルブ機器12に制御データを一定周期で送信する処理等の処理を行う。
オペレーティングシステム45は、仮想マシーンVM12上で動作し、通信中継部46の実行環境を提供する。後述する通信の引き継ぎを行うため、オペレーティングシステムは動的な通信路の確立を実現できる必要がある。静的オペレーティングシステム以外の例えば、パーソナルコンピュータやワークステーションで用いられている一般的なオペレーティングシステムはこの機能を持つ。
通信中継部46は、オペレーティングシステム45上で動作し、通信中継部46と監視装置30との間のステートフルな通信路の通信状態を維持しながら、アプリケーション44と通信中継部46との間の通信路を必要に応じて再確立して通信を引き継ぎ、アプリケーション44と監視装置30との間で行われる通信を中継することで、アプリケーション44と監視装置30との間の通信の継続を実現する。
ここで、「通信の継続」とは「通信状態の維持」と「通信の引き継ぎ」により、通信路の両端が通信を続けられることをいう。「通信状態の維持」とは、通信路の一方の終端(通信中継部46)が移動しても、他方の終端(監視装置30)は移動を感知せずに、これら終端の間の通信を保つことをいう。また、「通信の引き継ぎ」とは、通信先(通信中継部46)が移動した際に、通信路を作り直して(再確立して)新しい通信状態を生成することをいう。
通信中継部46は、図1に示す通り、通信状態維持部46a及び通信引継部46bを備える。通信状態維持部46aは、アプリケーション44に代わって、制御ネットワークN2に接続された監視装置30とのステートフルな通信路を確立して通信を行う。この通信状態維持部46aは、確立したステートフルな通信路が破棄されないように維持する。これに対し、通信引継部46bは、監視装置30に代わって、アプリケーション44との通信路を確立して通信を行う。また、通信引継部46bは、プラットフォームの切り替えが行われて、確立した通信路が破棄された場合に、その通信路を再確立するための処理を行う。
通信状態維持部46aの通信状態を維持する機能と通信引継部46bの通信路を引き継ぐ機能は、例えばリバースプロキシを用いて実現することができる。ここでリバースプロキシとは、通常のプロキシ(プロキシの内側のクライアントからのリクエストを集約して外側のサーバへ代理通信するプロキシ)とは異なり、プロキシの外側のクライアントからのリクエストを集約して内側のサーバへ代理通信するプロキシである。例えば、通信中継部46が、HTTP(HyperText Transfer Protocol)のリバースプロキシにより実現されている場合には、TCP(Transmission Control Protocol)のシーケンス番号、通信中継部46及び監視装置30の各々が通信路に割り当てるIPアドレス、ポート番号等を保存することで、アプリケーション44と監視装置30との間のステートフルな通信路の状態を維持することができる。
〈コントローラ20b〉
コントローラ20bは、コントローラ20aと同様に、MPUやメモリ等からなるハードウェアHW2を備えており、インストールされたプログラムがハードウェアHW2によって実行されることによってコントローラ20bの機能が実現される。尚、図1中の実デバイスRD21,RD22は、NICやI/Oモジュール等の通信デバイスであり、実デバイスRD21はフィールドネットワークN1に接続されており、実デバイスRD22は制御ネットワークN2に接続されている。
ここで、コントローラ20bには、ハイパーバイザ51(仮想化部)を実現するプログラム、静的オペレーティングシステム52(第1オペレーティングシステム)、及び復元部53を実現するプログラムがインストールされている。上記のハイパーバイザ51は、コントローラ20aのハイパーバイザ41と同様に、仮想マシーンVM21,VM22(仮想化部)を並列動作させる。
また、ハイパーバイザ51は、コントローラ20aのハイパーバイザ41と協働して、ライブマイグレーションを実施し、コントローラ20aで動作する仮想マシーンVM12を仮想マシーンVM22として移行する。つまり、コントローラ20aのオペレーティングシステム45及び通信中継部46を、アプリケーション44と監視装置30との間の通信を引き継ぎながら移行する。
仮想マシーンVM21は、静的オペレーティングシステム52及び復元部53が動作する仮想的なハードウェアである。この仮想マシーンVM21は、実デバイスRD21に対応する仮想デバイスVD21を備える。また、仮想マシーンVM22は、ライブマイグレーションによってコントローラ10aから移行されたオペレーティングシステム45及び通信中継部46が動作する仮想的なハードウェアである。この仮想マシーンVM22は、実デバイスRD22に対応する仮想デバイスVD22を備える。
また、図1に示す通り、ハイパーバイザ51は、通信部51aを備える。この通信部51aは、コントローラ20aのハイパーバイザ41が備える通信部41aと同様のものであり、仮想マシーンVM21と仮想マシーンVM22との間の通信を実現する。尚、第1実施形態の説明では、コントローラ20bにおいて、仮想マシーンVM22のライブマイグレーションを行わない。このため、図1において、コントローラ20aのハイパーバイザ41が備えるVM移行指示受信部41bに相当する構成の図示を省略している。
静的オペレーティングシステム52は、仮想マシーンVM21上で動作し、復元部53及び復元されるアプリケーション44の動作環境の提供及びOSリソースオブジェクトの管理を行う。この静的オペレーティングシステム52は、コントローラ20aの静的オペレーティングシステム42と同様に、初期化部52aを備えており、図2に示す状態遷移を行う。
復元部53は、コントローラ20aで動作しているアプリケーション44をコントローラ20bに復元する。具体的に、復元部53は、コントローラ20aの保存部43で得られたスナップショットを用いて、アプリケーション44をコントローラ20bの静的オペレーティングシステム52上に復元する。図3に示す通り、復元部53は、スナップショット受信部53a及びアプリケーション復元部53bを備える。
スナップショット受信部53aは、保存部43のスナップショット送信部43cから送信されてくるスナップショットを受信する。尚、このスナップショット受信部53aは、保存部43からのスナップショットを受信できればよく、保存部43のスナップショット送信部43cと同様に、必ずしも復元部53内に設けられている必要はない。アプリケーション復元部53bは、スナップショット受信部53aで受信されたスナップショットを用いて、静的オペレーティングシステム52上にアプリケーション44を復元する。
〈コントローラの切り替え方法〉
次に、コントローラ20の切り替え方法(更新方法)について説明する。尚、以下では、既に動作状態にあって工業プロセスの制御に係る定周期処理を行っているコントローラ20aをコントローラ20bに切り替える方法を例に挙げて説明する。ここで、コントローラ20aの静的オペレーティングシステム42には、予めコンフィグレータを用いて、以下のOSリソースオブジェクトが割り当てられているものとする。
・保存部43やアプリケーション44を実現するタスクの個数、依存関係
・個々のタスクが使用するメモリ領域等の割当量
・個々のタスクが使用するタスク間で共有するリソースの種類と個数
リソースの種類の例:排他処理を実現するロック、セマフォ等、プロセス間通信を実現するメールボックス、共有メモリ等
・静的オペレーティングシステム42が確立するネットワーク接続リソースの個数と、ネットワーク接続設定
上記のネットワーク接続設定は、静的オペレーティングシステム42がネットワーク接続を受け付けるためにネットワーク接続のOSリソースオブジェクトに対して行う設定である。例えば、トランスポート層の通信プロトコルにTCPやUDP(User Datagram Protocol)を使用する場合には、以下の設定項目が存在する。
・通信路の識別子(ソケットディスクリプタ)
・通信路の確立方法
方法の例:connect(能動的に接続を行う)、listen(受動的に接続されるのを待つ)
・接続を受け付け、通信に使用するポート番号
・通信に使用するトランスポート層のプロトコル
プロトコルの例:TCP、UDP
尚、コントローラ20aのアプリケーション44と監視装置30との間には、通信中継部46を介したステートフルな通信路が確保されているものとする。
コントローラ20aをコントローラ20bに切り替えるに当たり、まず新たなコントローラ20bに対する設定作業が行われる。具体的には、コントローラ20bで仮想マシーンVM21,VM22を動作させるための設定作業、及び静的オペレーティングシステム52におけるOS初期化済状態ST2の設定作業が行われる。
前者の設定作業では、例えばハードウェア資源の割り当て、実デバイスRD21,RD22と仮想デバイスVD21,VD22との対応付け等を設定する作業が行われる。また、後者の設定作業では、例えばコンフィグレータを用いてOSリソースオブジェクトを割り当てることによりOS初期化済状態ST2を設定する作業が行われる。具体的に、後者の設定作業では、コントローラ20aの静的オペレーティングシステム42に対して割り当てられているOSリソースオブジェクトを包含するOSリソースオブジェクトを、コントローラ20bの静的オペレーティングシステム52に割り当てる作業が行われる。
次に、以上の設定を終えたコントローラ20bを現場に設置してフィールドネットワークN1及び制御ネットワークN2に接続する作業が行われる。かかる作業が終了し、コントローラ20bの電源を投入すると、コントローラ20bの初期化処理が行われる。この初期化処理が開始されると、まずハイパーバイザ51が起動され、起動されたハイパーバイザ51が仮想マシーンVM21を動作させて、静的オペレーティングシステム52をロードする処理が行われる。次いで、上述した作業によって設定された内容に従ってOSリソースオブジェクトを初期化する処理及びネットワークを設定する処理が、静的オペレーティングシステム52によって行われる。
続いて、初期化部52aが実行する初期化処理がステートフルな通信路の確立の待ち状態になる。以上の処理が終了すると、初期化部52aは、復元部53を起動させる。復元部53が起動すると、スナップショット受信部53a(図3参照)は、スナップショットの受信待ち状態になり、ハイパーバイザ51は、ライブマイグレーションの実行待ち状態になる。
以上の待ち状態になった後に、不図示の指示装置からコントローラ20aに対して切替指示(コントローラ20aをコントローラ20bに切り替える指示)が送信されるとコントローラ20の切り替え処理が行われる。指示装置は、例えば制御ネットワークN2に接続され、制御動作の継続と無関係な通信を用いてコントローラ20へ指示を行えるエンジニアリングワークステーションである。尚、監視装置30がステートフルな通信路とは別に、制御動作の継続と無関係な通信を行えるのであれば、監視装置30が指示装置の機能を兼ね備えてもよい。図4は、本発明の第1実施形態におけるコントローラの切り替え方法を示すフローチャートである。尚、図4に示すフローチャートの処理は、コントローラ20aの保存部43に設けられた切替指示伝達部43a(図3参照)が、不図示の指示装置から送信されてきた切替指示を受信することによって開始される。
処理が開始されると、まず切替指示伝達部43aからスナップショット保存部43bに切替指示が出力される。これにより、保存タイミング検知部DTでは、アプリケーション44に設けられた定周期処理部44aで行われる1回分の定周期処理の終了タイミングを検知する処理が開始される(ステップS11)。次に、1回分の定周期処理の終了タイミングが保存タイミング検知部DTで検知されたか否か(つまり、静的オペレーティングシステム42がOSリソースオブジェクト使用中状態ST3からOS初期化済状態ST2に遷移したか否か)がスナップショット保存部43bで判断される(ステップS12)。
1回分の定周期処理の終了タイミングが検知されていないと判断した場合(ステップS12の判断結果が「NO」の場合)には、ステップS12の処理が繰り返される。これに対し、1回分の定周期処理の終了タイミングが検知されたと判断した場合(ステップS12の判断結果が「YES」の場合)には、コントローラ20aで動作しているアプリケーション44をコントローラ20bに復元するために必要となる情報(スナップショット)を生成して保存する処理がスナップショット保存部43bで行われる(ステップS13:第1ステップ)。続いて、保存部43からハイパーバイザ41のVM移行指示受信部41bに対して、通信中継部46が動作する仮想マシーンVM12のライブマイグレーションを実施する指示がなされる(ステップS14)。
そして、スナップショット保存部43bに保存されたスナップショットを転送する処理が行われる(ステップS15)。具体的に、コントローラ20aでは、スナップショット保存部43bに保存されたスナップショットがスナップショット送信部43cに読み出されてコントローラ20bの復元部53に向けて送信する処理が行われる。また、コントローラ20bでは、コントローラ20aのスナップショット送信部43cから送信されてきたスナップショットを復元部53のスナップショット受信部53aが受信してアプリケーション復元部53bに出力する処理が行われる。スナップショットの転送が完了すると、コントローラ20aにおいて、アプリケーション44を停止する処理が行われる(ステップS16)。
また、以上の処理と並行して、ライブマイグレーションを指示された、コントローラ20aのハイパーバイザ41がコントローラ20bのハイパーバイザ51に対して、ライブマイグレーションを実施する。具体的には、コントローラ20aで動作する仮想マシーンVM12が、コントローラ20bで動作する仮想マシーンVM22として継続動作するように、ハイパーバイザ41,51がライブマイグレーションを実施する。このようなライブマイグレーションが実施されることにより、コントローラ20aで動作している通信中継部46はコントローラ20bに移行される(ステップS17:第3ステップ)。
ここで、コントローラ20aで動作していた通信中継部46は、通信状態が維持されたままコントローラ20bに引き継がれるため、通信状態維持部46aと監視装置30との間で確立されていたステートフルな通信路が切断されることはない。以上のライブマイグレーションが完了すると、コントローラ20aにおいて、通信中継部46を停止する処理が行われる(ステップS18)。
以上の処理が終了すると、コントローラ20bに復元されるアプリケーション44と監視装置30との間のステートフルな通信を再確立する処理が、コントローラ20bに移行された通信中継部46で行われる(ステップS19)。具体的には、コントローラ20bに移行された通信中継部46の通信引継部46bが、コントローラ20bに復元されるアプリケーション44との間の通信路を改めて確立する処理を行う。
より具体的には、通信引継部46bが、予め規定されたネットワーク接続設定に従い、通信路の確立待ちで待機している静的オペレーティングシステム52のポートへ接続する処理を行う。尚、通信引継部46bが接続を行う上記のポートは、既に監視装置30との間で確立されている通信路のポートと同じ番号のポートである。かかる処理が行われると、静的オペレーティングシステム52の初期化部52aは、通信引継部46bからの接続を受け付け、コントローラ20bに復元されるアプリケーション44との間の通信路を確立する。尚、確立された通信路の識別子は、上記のネットワーク接続設定により固定で割り当てられるため、コントローラ20bに復元されるアプリケーション44が有する通信路の識別子の更新は不要である。
以上の通信路の確立により、静的オペレーティングシステム52がOS初期化済状態ST2に遷移し、初期化部52aの初期化処理が完了する。初期化処理が完了すると、コントローラ20bにおいて、スナップショットを展開し、コントローラ20aで動作していたアプリケーション44を復元する処理が行われる(ステップS20:第2ステップ)。具体的には、コントローラ20bに設けられた復元部53のアプリケーション復元部53bが、アプリケーション44の状態を復元するために、静的オペレーティングシステム52上のメモリ領域にスナップショットの内容を反映させる。これにより、コントローラ20aで動作していたアプリケーション44の状態が反映され、定周期処理部44aが復元される。
尚、スナップショットを生成して保存する処理(ステップS13:第1ステップ)の開始から、スナップショットを展開して復元する処理(ステップS20:第2ステップ)の終了までの一連の流れに、静的オペレーティングシステム42の状態を静的オペレーティングシステム52に引き継ぐ処理は不要である。かかる一連の流れの間、静的オペレーティングシステム42、52の状態は、共に同じOS初期化済状態ST2のまま変化しないためである。
静的オペレーティングシステム52上にアプリケーション44が復元されると、アプリケーション44の定周期処理部44aは、次に1回分の定周期処理を開始するタイミングで自動的に動作を再開する。このようにして、アプリケーション44の動作を継続させつつコントローラ20aがコントローラ20bに切り替えられる。
図5は、本発明の第1実施形態においてコントローラの切り替え後のプロセス制御システムを示すブロック図である。尚、図5においては、図1に示すブロックと同じブロックについては同一の符号を付してある。図5に示す通り、コントローラの切り替えが完了すると、コントローラ20aは、ハードウェアHW1上でハイパーバイザ41が動作しているものの、ハイパーバイザ41上で動作する仮想マシーンが無くなった状態になる。これは、図4中のステップS16の処理でコントローラ20aのアプリケーション44が停止され、ステップS18の処理でコントローラ20aの通信中継部46が停止されているためである。
これに対し、コントローラ20bは、静的オペレーティングシステム52上でアプリケーション44が動作するとともに、コントローラ20aで動作していた仮想マシーンVM12が仮想マシーンVM22として動作する状態になる。ここで、前述した通り、アプリケーション44は、動作が継続するようにコントローラ20bに復元され、且つ監視装置30との間のステートフルな通信路が切断されることもない。このように、本実施形態では、アプリケーション44の動作を継続させつつ、且つ通信路を維持しつつコントローラ20の切り替えを行うことができる。
〔第2実施形態〕
〈プロセス制御システム〉
図6は、本発明の第2実施形態によるプロセス制御装置が用いられるプロセス制御システムの要部構成を示すブロック図である。尚、図6においては、図1に示すブロックと同じブロックについては同一の符号を付してある。図6に示す通り、プロセス制御システム2は、図1に示すプロセス制御システム1のコントローラ20a,20bを、動的オペレーティングシステムを用いるコントローラ20c,20dにそれぞれ代えた構成である。
ここで、動的オペレーティングシステムとは、OSリソースオブジェクトをアプリケーション実行時に都度割り当て可能なオペレーティングシステムである。OSリソースオブジェクトの割り当てはアプリケーションが決定するため、静的オペレーティングシステムで行っていた、コンフィグレータによるOSリソースオブジェクトの事前割り当ては行えない。
〈コントローラ20c〉
コントローラ20cは、図1に示すコントローラ20aの静的オペレーティングシステム42、アプリケーション44、及び通信中継部46を、それぞれ動的オペレーティングシステム61、アプリケーション63、及び通信中継部64に代えるとともに、新たにミドルウェア62を設けた構成である。アプリケーション63の初期化部63bは、仮想マシーンVM11上で動作する動的オペレーティングシステム61に対し、動作に必要となるOSリソースオブジェクトの割り当てを指示する。この動的オペレーティングシステム61は、静的オペレーティングシステム42とはOSリソースオブジェクトの割り当て方が異なるものの、静的オペレーティングシステム42と同様に状態が遷移する(図3参照)。
ミドルウェア62は、動的オペレーティングシステム61とアプリケーション63との間に実装され、アプリケーション63が行う通信路の確立を代理で行う。また、ミドルウェア62は、通信路を確立した場合には、アプリケーション63が行う通信を変換して通信中継部64を経由させる処理を行う。尚、ミドルウェア62は、例えばsocket通信ライブラリのラッパーとして実現される。
アプリケーション63は、ミドルウェア62を介して動的オペレーティングシステム61上で動作し、図1に示すアプリケーション44と同様に、工業プロセスの制御を行う上で必要なフィールド機器10の制御を行う。このアプリケーション63は、定周期処理部63a及び初期化部63bを備える。
初期化部63bは、図1に示す静的オペレーティングシステム42の初期化部42aと同様の初期化処理を行って、動的オペレーティングシステム61を初期化する。この初期化部63bは、動的オペレーティングシステム61上で動作するため、アプリケーション63側でOSリソースオブジェクトを動的に生成して初期化することが可能になる。また、初期化部63bは、アプリケーション63の一部となることで、初期化時にミドルウェア62の機能を利用することが可能になる。
定周期処理部63aは、図1に示すアプリケーション44の定周期処理部44aが行う定周期処理と同様の定周期処理を行う。但し、1回分の定周期処理の末尾で、動的オペレーティングシステム61を、初期化部63bの初期化処理が行われた直後と等しい状態、すなわちOS初期化済状態ST2に戻す必要がある。具体的には、定周期処理中に作成されたOSリソースオブジェクトがあれば全て破棄した上、状態が変更されたOSリソースオブジェクトを初期化処理が行われた直後の状態に戻す。
通信中継部64は、図1に示す通信中継部46と同様に、オペレーティングシステム45上で動作し、アプリケーション63と監視装置30との間のステートフルな通信路の状態を維持しながらアプリケーション63と監視装置30との間で行われる通信を中継する。この通信中継部64は、通信状態維持部64a及び通信引継部64bを備える。これら通信状態維持部64a及び通信引継部64bは、図1に示す通信中継部46が備える通信状態維持部46a及び通信引継部46bとそれぞれ同様のものである。
但し、通信引継部64bは、第1、第2ディスクリプタを対応付けた情報を格納するデータベースDBを備える。データベースDBは初期化部63bの初期化処理に伴って生成され(後述)、アプリケーション63と監視装置30間の通信の中継や通信路を改めて確立する処理に用いる。ここで、第1ディスクリプタはアプリケーション63との間で確立された通信路のアプリケーション63上の識別子であり、第2ディスクリプタは監視装置30との間で確立されたステートフルな通信路の通信状態維持部64a上の識別子である。データベースDBを生成する理由は、通信路の両端の情報が初期化部63bの内部で動的に決定されるにもかかわらず、初期化部63bを再動作させられない(後述)ので、初期化部63bの外部の機能が、通信路の両端の情報の代わりに第1、第2ディスクリプタの対応を用いて、通信の中継や再確立を実施するためである。
図7は、本発明の第2実施形態で用いられるデータベースの内容の一例を示す図である。尚、図7に例示するデータベースは、通信路の識別子がsocketディスクリプタである場合のものである。図7に示す通り、データベースDBには、第1ディスクリプタと第2ディスクリプタとが対応付けられた情報がエントリ毎に格納されている。
初期化部63bの初期化処理で通信路の確立が指示されると、通信引継部64bはデータベースDBのエントリを生成する。例えば、初期化処理において、監視装置30との通信路の確立を試みると、ミドルウェア62はアプリケーション63に対して、第1ディスクリプタを返すと共に、通信引継部64bに対して、第1ディスクリプタを送信する。通信引継部64bは、通信状態維持部64aに監視装置30と通信を行うための通信路の確立を依頼し、第2ディスクリプタを受け取る。そして、通信引継部64bは、得られた第1、第2ディスクリプタを対応付け、データベースDBへ格納する。尚、アプリケーション63は得られた第1ディスクリプタをメモリ領域に保持する。このとき、ミドルウェア72と通信引継部64b間には、通信部41aを用いて、通信データと第1、第2ディスクリプタの情報をやり取りできる任意の通信路をあらかじめ確立しておく。
〈コントローラ20d〉
コントローラ20dは、図1に示すコントローラ20bの静的オペレーティングシステム52を動的オペレーティングシステム71に代えて、新たにミドルウェア72を設けた構成である。動的オペレーティングシステム71は、仮想マシーンVM21上で動作し、
復元部53及び復元されるアプリケーション63を動作させるために必要となるOSリソースオブジェクトを都度生成して割り当てる。この動的オペレーティングシステム71は、静的オペレーティングシステム52とはOSリソースオブジェクトの割り当て方が異なるものの、静的オペレーティングシステム52と同様に状態が遷移する(図3参照)。尚、動的オペレーティングシステム71は、コントローラ20dが起動されると、自動的に初期化される。
ミドルウェア72は、動的オペレーティングシステム71と復元されるアプリケーション63との間に実装され、復元されるアプリケーション63が行う通信路の確立を代理で行う。また、ミドルウェア72は、ミドルウェア62と同様に、通信路を確立した場合には、復元したアプリケーション63が行う通信を変換して通信中継部64を経由させる処理を行う。
〈コントローラの切り替え方法〉
コントローラ20cからコントローラ20dへの切り替え手順は、基本的には第1実施形態で説明したコントローラ20aからコントローラ20bへの切り替え手順と同様である。つまり、新たなコントローラ20dに対する設定作業と、コントローラ20dを現場に設置してフィールドネットワークN1及び制御ネットワークN2に接続する作業とを順に行う。そして、コントローラ20dの電源を投入した後に、不図示の指示装置からコントローラ20cに対して切替指示(コントローラ20cをコントローラ20dに切り替える指示)が送信されることによってコントローラ20の切り替え処理が行われる。尚、コントローラ20の切り替え処理は、基本的には図4に示すフローチャートに従って行われるため、ここでは詳細な説明を省略する。
尚、通信の継続は、ミドルウェア72とVM22に移動した通信引継部64bが通信の引き継ぎを行って実現する。アプリケーション63の復元後に初期化部63bを動作させると、復元したアプリケーション63の状態が再初期化されてしまうため、第1実施形態で示した、初期化部の動作による通信の引き継ぎは行えない。
通信の引き継ぎは、ミドルウェア72や通信引継部64bがデータベースDBのエントリを参照して行う。データベースDBのエントリには第1、第2ディスクリプタの対応が記述されているため、ミドルウェア72がVM21に移動したアプリケーション63上の第1ディスクリプタに対して、通信引継部64bが通信状態維持部64a上の第2ディスクリプタに対して、ディスクリプタに対応する通信を中継すれば、通信の引き継ぎが行える。このとき、ミドルウェア72と通信引継部64b間には、通信部51aを用いて、通信データと第1、第2ディスクリプタの情報をやり取りできる任意の通信路をあらかじめ再確立しておけばよい。
尚、コントローラの切り替えが行われても、データベースDBのエントリは更新なしで通信の引き継ぎに利用できる。第2ディスクリプタは通信状態維持部64aで維持され、第1ディスクリプタはアプリケーション63のメモリ領域で保持されるため、切り替えが行われても、第1、第2ディスクリプタはそのまま切り替え先に引き継がれるためである。
〔第3実施形態〕
図8は、本発明の第3実施形態によるプロセス制御装置が用いられるプロセス制御システムの要部構成を示すブロック図である。尚、図8においては、図1に示すブロックと同じブロックについては同一の符号を付してある。図8に示す通り、プロセス制御システム3は、図1に示すプロセス制御システム1のコントローラ20a,20bに代えて、コントローラ20eを設けた構成である。
上述した第1,第2実施形態は、コントローラ20a,20cで動作するアプリケーション44,63及び通信中継部46,64を、別のコントローラ20b,20dにそれぞれ移行するものであった。これに対し、本実施形態は、コントローラ20eの内部でアプリケーション44を移行するものである。
図8に示す通り、コントローラ20eは、いわば図1に示すコントローラ20a,20bのハードウェアHW1,HW2をハードウェアHWとしてまとめるとともに、ハイパーバイザ41,51をハイパーバイザHVとして1つにまとめた構成である。そして、ハイパーバイザHV上で仮想マシーンVM11,VM12,VM21を動作させるようにしたものである。
かかる構成のコントローラ20eでは、上述した第1実施形態と同様の処理によって静的オペレーティングシステム42上で動作しているアプリケーション44を、静的オペレーティングシステム52上に復元するこことができる。尚、アプリケーション44が復元される前後において、通信中継部46の動作は継続されるため、通信中継部46を移行する必要はない。このようなコントローラ20eは、例えば静的オペレーティイングシステムをバーションアップ等により更新する場合に有用である。尚、本実施形態は、図6に示すコントローラ20c,20dのように、動的オペレーティングシステムを用いるコントローラにも適用することができる。
〔その他の実施形態〕
上述した第1,第2実施形態を組み合わせて、図1に示す静的オペレーティングシステム42の初期化部42aを、アプリケーション44内に設けるようにしても良い。尚、静的オペレーティングシステム52の初期化部52aは、復元されたアプリケーション44内に設けられることになる。このような構成にすることで、ステートフルな通信路の確立を、アプリケーション44内に設けられた初期化部42a(復元されたアプリケーション44内に設けられた初期化部52a)で行うことが可能になる。これにより、省メモリ及び短時間でアプリケーション44を動作させることができる静的オペレーティングシステムの利点を生かしつつ、動的に通信路を確立することができる。
以上、本発明の実施形態によるプロセス制御装置及びその更新方法について説明したが、本発明は上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、複数のオペレーティングシステムやアプリケーションを動作させ得る仮想環境をハイパーバイザによって実現する例について説明したが、このような仮想環境を実現する手段はハイパーバイザに限られるものではない。例えば、上記の仮想環境をハードウェアによって実現しても良い。
また、上述した実施形態では、フィールド機器10がフィールドネットワークN1を介したディジタル通信が可能なものを例に挙げて説明したが、アナログ信号の入出力を行うフィールド機器を用いることもできる。このようなフィールド機器を用いる場合には、フィールド機器で入出力される信号(アナログ信号)とフィールドネットワークN1を介して通信される信号(ディジタル信号)との変換を行うIOノードをフィールドネットワークN1に接続し、このIOノードとフィールド機器とをアナログ伝送路(例えば、「4〜20mA」信号の伝送に使用される伝送線)で接続すれば良い。
また、上述した実施形態では、説明を容易にするため、フィールドネットワークN1の通信はステートレスな通信路で行われ、通信状態の維持が不要な構成で説明を行ったが、フィールドネットワークN1でもステートフルな通信路を用いてもよい。この場合、通信中継部46がフィールドネットワークN1についても通信状態を維持すればよい。
20 コントローラ
20a〜20e コントローラ
30 監視装置
41,51 ハイパーバイザ
42,52 静的オペレーティングシステム
43 保存部
44 アプリケーション
45 オペレーティングシステム
46 通信中継部
53 復元部
61,71 動的オペレーティングシステム
62,72 ミドルウェア
63 アプリケーション
64 通信中継部
HV ハイパーバイザ
HW ハードウェア
HW1,HW2 ハードウェア
ST2 OS初期化済状態
ST3 OSリソースオブジェクト使用中状態
VM11 仮想マシーン
VM12 仮想マシーン
VM21 仮想マシーン
VM22 仮想マシーン

Claims (9)

  1. プラントで実現される工業プロセスの制御を行うプロセス制御装置において、
    ハードウェア上でハードウェアの代わりとして動作する仮想化部と、
    前記仮想化部上で動作し、前記工業プロセスの制御が開始された場合には前記工業プロセスの制御の開始を待機していて内部状態が一意に確定可能な初期化処理が行われた後の状態である第1状態から前記工業プロセスの制御が実行されていて内部状態が一意に確定できない過渡的な状態である第2状態に遷移し、前記工業プロセスの1回分の制御が終了した場合には前記第2状態から前記第1状態に遷移する第1オペレーティングシステムと、
    前記第1オペレーティングシステム上で動作して前記工業プロセスの制御を定周期で行うアプリケーションと、
    前記第1オペレーティングシステムが前記第1状態のときに前記アプリケーションの復元に必要となる前記アプリケーションの内部状態を示す情報を保存する保存部と
    を備えることを特徴とするプロセス制御装置。
  2. 前記仮想化部上で動作する第2オペレーティングシステムと、
    前記第2オペレーティングシステム上で動作し、上位装置との間の通信路の通信状態を維持しながら、前記アプリケーションと上位装置との間で行われる通信を中継する通信中継部と
    を備えることを特徴とする請求項1記載のプロセス制御装置。
  3. プラントで実現される工業プロセスの制御を行うプロセス制御装置において、
    ハードウェア上でハードウェアの代わりとして動作する仮想化部と、
    前記仮想化部上で動作し、前記工業プロセスの制御が開始された場合には前記工業プロセスの制御の開始を待機していて内部状態が一意に確定可能な初期化処理が行われた後の状態である第1状態から前記工業プロセスの制御が実行されていて内部状態が一意に確定できない過渡的な状態である第2状態に遷移し、前記工業プロセスの1回分の制御が終了した場合には前記第2状態から前記第1状態に遷移する第1オペレーティングシステムと、
    請求項1又は請求項2記載のプロセス制御装置に設けられた前記保存部によって保存された情報を用いて自装置における前記第1オペレーティングシステム上に前記アプリケーションを復元する復元部と
    を備えることを特徴とするプロセス制御装置。
  4. 前記仮想化部は、請求項2記載のプロセス制御装置に設けられた前記第2オペレーティングシステム及び前記通信中継部を、前記通信中継部と上位装置との間の通信路の通信状態を維持したまま自装置に移行させることを特徴とする請求項3記載のプロセス制御装置。
  5. 前記第1オペレーティングシステムは、前記アプリケーションの動作に必要となるリソースを事前に割り当てる静的オペレーティングシステム、又は前記アプリケーションの動作に必要となるリソースを前記アプリケーションの要求に応じて動的に割り当てる動的オペレーティングシステムであることを特徴とする請求項1から請求項4の何れか一項に記載のプロセス制御装置。
  6. 前記第1オペレーティングシステムと前記アプリケーションとの間に実装され、前記アプリケーションが行う通信路の確立を前記アプリケーションに代理して行うミドルウェアを備えることを特徴とする請求項5記載のプロセス制御装置。
  7. プラントで実現される工業プロセスの制御を行うプロセス制御装置において、
    ハードウェア上でハードウェアの代わりとして動作する仮想化部と、
    前記仮想化部上で動作し、前記工業プロセスの制御が開始された場合には前記工業プロセスの制御の開始を待機していて内部状態が一意に確定可能な初期化処理が行われた後の状態である第1状態から前記工業プロセスの制御が実行されていて内部状態が一意に確定できない過渡的な状態である第2状態に遷移し、前記工業プロセスの1回分の制御が終了した場合には前記第2状態から前記第1状態に遷移する複数の第1オペレーティングシステムと、
    前記第1オペレーティングシステム上で動作して前記工業プロセスの制御を定周期で行うアプリケーションと、
    前記第1オペレーティングシステムが前記第1状態のときに前記アプリケーションの復元に必要となる前記アプリケーションの内部状態を示す情報を保存する保存部と、
    前記保存部によって保存された情報を用いて前記アプリケーションが動作している前記第1オペレーティングシステムとは異なる前記第1オペレーティングシステム上に前記アプリケーションを復元する復元部と
    を備えることを特徴とするプロセス制御装置。
  8. プラントで実現される工業プロセスの制御を行うプロセス制御装置の更新方法であって、
    前記工業プロセスの制御が開始された場合には前記工業プロセスの制御の開始を待機していて内部状態が一意に確定可能な初期化処理が行われた後の状態である第1状態から前記工業プロセスの制御が実行されていて内部状態が一意に確定できない過渡的な状態である第2状態に遷移し、前記工業プロセスの1回分の制御が終了した場合には前記第2状態から前記第1状態に遷移する第1オペレーティングシステム上で動作して前記工業プロセスの制御を定周期で行うアプリケーションの復元に必要となる前記アプリケーションの内部状態を示す情報を前記第1オペレーティングシステムが前記第1状態のときに保存する第1ステップと、
    前記第1ステップで保存された情報を用いて前記第1オペレーティングシステムと同じ遷移を行う別の第1オペレーティングシステム上に前記アプリケーションを復元する第2ステップと
    を有することを特徴とするプロセス制御装置の更新方法。
  9. 第2オペレーティングシステム上で動作し、上位装置との間の通信路の通信状態を維持しながら、前記アプリケーションと上位装置との間で行われる通信を中継する通信中継部を、前記第2オペレーティングシステムとともに、前記通信中継部と上位装置との間の通信路の通信状態が維持されたまま移行させる第3ステップと
    を有することを特徴とする請求項8記載のプロセス制御装置の更新方法。
JP2014008047A 2014-01-20 2014-01-20 プロセス制御装置及びその更新方法 Active JP6020476B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014008047A JP6020476B2 (ja) 2014-01-20 2014-01-20 プロセス制御装置及びその更新方法
US14/599,101 US9869984B2 (en) 2014-01-20 2015-01-16 Process controller and updating method thereof
CN201510025653.XA CN104793581A (zh) 2014-01-20 2015-01-19 过程控制器及其更新方法
CN201710963283.3A CN107741737B (zh) 2014-01-20 2015-01-19 过程控制器
EP15151577.2A EP2897007B1 (en) 2014-01-20 2015-01-19 Process controller and updating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014008047A JP6020476B2 (ja) 2014-01-20 2014-01-20 プロセス制御装置及びその更新方法

Publications (2)

Publication Number Publication Date
JP2015138292A JP2015138292A (ja) 2015-07-30
JP6020476B2 true JP6020476B2 (ja) 2016-11-02

Family

ID=52465178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014008047A Active JP6020476B2 (ja) 2014-01-20 2014-01-20 プロセス制御装置及びその更新方法

Country Status (4)

Country Link
US (1) US9869984B2 (ja)
EP (1) EP2897007B1 (ja)
JP (1) JP6020476B2 (ja)
CN (2) CN104793581A (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409270B2 (en) * 2015-04-09 2019-09-10 Honeywell International Inc. Methods for on-process migration from one type of process control device to different type of process control device
JP2017108231A (ja) * 2015-12-08 2017-06-15 富士通株式会社 通信制御プログラム、通信制御方法及び情報処理装置
US9971655B1 (en) * 2016-06-29 2018-05-15 EMC IP Holding Company LLC Primed application recovery
JP7257329B2 (ja) * 2017-05-01 2023-04-13 フィッシャー-ローズマウント システムズ,インコーポレイテッド オープンアーキテクチャ産業制御システム
CN109643119B (zh) * 2017-05-11 2022-06-14 达闼机器人股份有限公司 一种机器人控制和服务提供方法、装置及电子设备
WO2019209322A1 (en) * 2018-04-27 2019-10-31 Hewlett-Packard Development Company, L.P. Signals to i/o devices based on virtual computer messages
CN108920252A (zh) * 2018-06-15 2018-11-30 西安微电子技术研究所 一种基于多队列千兆以太网控制器的io虚拟化装置
JP6819660B2 (ja) * 2018-09-26 2021-01-27 横河電機株式会社 プロセス制御システム、プロセス制御装置、及びプログラム更新方法
US11249464B2 (en) 2019-06-10 2022-02-15 Fisher-Rosemount Systems, Inc. Industrial control system architecture for real-time simulation and process control
GB2589663B (en) 2019-06-10 2024-04-10 Fisher Rosemount Systems Inc Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
US11550311B2 (en) 2019-06-10 2023-01-10 Fisher-Rosemount Systems, Inc. Centralized virtualization management node in process control systems
GB202318172D0 (en) 2019-06-10 2024-01-10 Fisher Rosemount Systems Inc Virtualized real-time i/o in process control systems
US11231701B2 (en) 2019-06-10 2022-01-25 Fisher-Rosemount Systems, Inc. Publish/subscribe protocol for real-time process control
EP3757691A1 (de) * 2019-06-26 2020-12-30 Siemens Aktiengesellschaft Automatisierungsgerät
JP7234905B2 (ja) 2019-11-20 2023-03-08 横河電機株式会社 情報処理装置及びアドレス重複管理方法
US20220317645A1 (en) * 2021-03-30 2022-10-06 Yokogawa Electric Corporation Process control system, process control apparatus, and program update method
KR20230174933A (ko) * 2022-06-22 2023-12-29 한국수력원자력 주식회사 원자력발전소 가상화 시스템 및 그 운용방법

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100810A (ja) * 1999-09-29 2001-04-13 Omron Corp コントローラ
JP2001350514A (ja) * 2000-06-07 2001-12-21 Mitsubishi Electric Corp プラント監視制御システムの試験方法
JP4154853B2 (ja) * 2000-11-13 2008-09-24 富士電機機器制御株式会社 制御データを等値化する冗長化プログラマブルコントローラ及び等値化方法。
WO2002065309A1 (en) * 2001-02-13 2002-08-22 Candera, Inc. System and method for policy based storage provisioning and management
US8069218B1 (en) * 2003-05-05 2011-11-29 Parallels Holdings, Ltd. System, method and computer program product for process migration with planned minimized down-time
JP4399773B2 (ja) 2003-11-19 2010-01-20 横河電機株式会社 制御システム
CN100430848C (zh) * 2005-08-24 2008-11-05 沈阳中科博微自动化技术有限公司 基于基金会现场总线高速以太网的可编程控制器系统
US9342945B2 (en) * 2005-09-09 2016-05-17 Bally Gaming, Inc. Gaming device with a virtualization manager
US20080189700A1 (en) * 2007-02-02 2008-08-07 Vmware, Inc. Admission Control for Virtual Machine Cluster
US8370473B2 (en) * 2009-12-16 2013-02-05 International Business Machines Corporation Live multi-hop VM remote-migration over long distance
US8207752B2 (en) * 2010-01-11 2012-06-26 Kannan Raj Fault-tolerant multi-chip module
JP5190084B2 (ja) * 2010-03-30 2013-04-24 株式会社日立製作所 仮想マシンのマイグレーション方法およびシステム
JP2015038644A (ja) * 2010-06-30 2015-02-26 株式会社東芝 計算機および仮想マシンの更新方法
CN103238143B (zh) 2010-09-27 2016-11-16 费希尔-罗斯蒙特系统公司 用于虚拟化过程控制系统的方法和设备
WO2012077235A1 (ja) * 2010-12-10 2012-06-14 三菱電機株式会社 多重系システムおよび多重系システムの系切り替え方法
US8990824B2 (en) * 2011-04-28 2015-03-24 Dell Products L.P. System and method for automated virtual network configuration
US8838837B2 (en) * 2011-06-23 2014-09-16 Microsoft Corporation Failover mechanism
CN102231116A (zh) * 2011-07-04 2011-11-02 成都市华为赛门铁克科技有限公司 应用程序虚拟化安装及加载方法及装置
US8875124B2 (en) * 2012-01-11 2014-10-28 Dell Products L.P. In-band hypervisor-managed firmware updates
US8893147B2 (en) * 2012-01-13 2014-11-18 Ca, Inc. Providing a virtualized replication and high availability environment including a replication and high availability engine
JP5561298B2 (ja) 2012-03-23 2014-07-30 横河電機株式会社 プロセス制御システム
JP5113952B1 (ja) 2012-07-03 2013-01-09 日農機製工株式会社 カルチベータ砕土均平ローラ装置の作用幅可変構造
US20160197809A1 (en) * 2013-09-30 2016-07-07 Hewlett Packard Enterprise Development Lp Server downtime metering
US10250444B2 (en) * 2015-07-02 2019-04-02 Perspecta Labs Inc. Hybrid SDN/legacy policy enforcement

Also Published As

Publication number Publication date
US9869984B2 (en) 2018-01-16
CN107741737A (zh) 2018-02-27
CN104793581A (zh) 2015-07-22
US20150205280A1 (en) 2015-07-23
CN107741737B (zh) 2021-06-29
EP2897007B1 (en) 2020-11-25
JP2015138292A (ja) 2015-07-30
EP2897007A1 (en) 2015-07-22

Similar Documents

Publication Publication Date Title
JP6020476B2 (ja) プロセス制御装置及びその更新方法
RU2487388C2 (ru) Исполнительный механизм для систем hvac и способ его функционирования
Govindaraj et al. Container live migration for latency critical industrial applications on edge computing
JP5617839B2 (ja) パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006196014A5 (ja)
US20130138818A1 (en) Method for accessing an automation system and system operating according to the method
CN107544783B (zh) 一种数据更新方法、装置及系统
JP5149258B2 (ja) ロボットコンポーネント管理装置
CN102932409B (zh) 一种虚拟机在线迁移的方法和系统
JP6299640B2 (ja) 通信装置
EP3716072A1 (en) Controller application module orchestrator
JP2010039730A (ja) ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置
JP2008283608A (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
US9740429B2 (en) Relay interface module for a distributed control system
JP2007221364A (ja) コントローラ、制御システム及び制御装置の拡張方法
CN107168774B (zh) 一种基于本地存储的虚拟机迁移方法及系统
WO2019082627A1 (ja) 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
Krummacker et al. Status-preserving, seamless relocation of processes in orchestrated networks such as organic 6G
WO2015045004A1 (ja) プログラマブルコントローラおよびプログラマブルコントローラの制御方法
JPWO2017170309A1 (ja) ネットワークシステム、その管理方法および装置ならびにサーバ
US20230305931A1 (en) Control device and non-transitory machine readable storage medium
EP3467655A1 (en) System and method for mpi implementation in an embedded operating system
US20240028021A1 (en) Network system and control device
JP2018077594A (ja) 仮想マシン管理装置、システム、仮想マシン移動方法及びプログラム
US11522762B2 (en) Coordination device and method for providing control applications via a communication network for transmitting time-critical data

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160701

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160919

R150 Certificate of patent or registration of utility model

Ref document number: 6020476

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250