JP2006309345A - 並列型監視制御システム、同システムの並列型コントローラのファームウェアの更新方法 - Google Patents

並列型監視制御システム、同システムの並列型コントローラのファームウェアの更新方法 Download PDF

Info

Publication number
JP2006309345A
JP2006309345A JP2005128508A JP2005128508A JP2006309345A JP 2006309345 A JP2006309345 A JP 2006309345A JP 2005128508 A JP2005128508 A JP 2005128508A JP 2005128508 A JP2005128508 A JP 2005128508A JP 2006309345 A JP2006309345 A JP 2006309345A
Authority
JP
Japan
Prior art keywords
task
controller
parallel
firmware
controllers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005128508A
Other languages
English (en)
Inventor
Shinya Sato
信也 佐藤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005128508A priority Critical patent/JP2006309345A/ja
Publication of JP2006309345A publication Critical patent/JP2006309345A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 複数のコントローラで構成された並列型監視制御システムにおいて、制御動作を停止させることなく、夫々のコントローラのファームウェアの更新を可能とする、並列型監視制御システム、及び同システムの並列型コントローラのファームウェア更新方法を提供することを目的とする。
【解決手段】 ファームウェア更新モジュール21は、第1のコントローラに記憶された第1のタスクを、ソフトウェア管理ステーション4から予めダウンロードされたタスク平準化テーブルTBで指定された第2のコントローラにコピーし、第1のタスクと、コピーしたタスクを並列実行させ、入出力装置23の出力差が同じ制御周期内で、所定の許容範囲であることを確認し、第1タスクをスリープさせ、第2タスクを起動し、第2のコントローラによって監視制御を継続し、第1のコントローラのファームウェアOSを更新する。
【選択図】 図1

Description

本発明は、例えば、石油化学などのプロセス制御、発電プラントなどのプラント制御等において、複数のコントローラ(制御装置)を並列使用してプロセスやプラントの監視制御を行う並列型監視制御システム、同システムの並列型コントローラのファームウェア更新方法に関する。
従来の各種のプラント設備の監視制御システムは、複数のコントローラを分散して並列に制御を行う並列型監視制御システム(分散制御システムともいう)が主体となり、各種のプロセス制御において一般的に使用されている。
この並列型監視制御システムは、被制御対象の総合的な集中制御を目的とするもので、システムの規模は大規模なものから小規模なものまで多様に存在する。
近年、大規模プラント用のコントローラとして複数のコントローラをネットワークで接続して、1台のコントローラで分担する被制御対象機器を最小限度に少なくして、危険分散を図る並列型コントローラによる並列型監視制御システムが知られている(例えば、特許文献1参照)。
この特許文献1によれば、コントローラ毎に分担しているタスクの負荷率を予め求めておき、複数のコントローラが多重ダウンした場合、待機用のコントローラを設けずに、正常に動作しているコントローラに自律的に負荷を分散しバックアップすることを可能とする、信頼性を高めた技術が開示されている。
こうした監視制御システムには、故障や保守によるシステムの停止が許されない高い信頼性を要求される発電プラントなどでは、常用系と待機糸の2系統を同一プログラムで運転して監視制御する二重化制御システムを採用している。
この二重化制御システムでは、通常、常用系と待機糸の2系統のコントローラでは、二重化されたコントローラ間でタイミングの同期を図りながら入出力装置からのデータ、及びアプリケーションプログラムによる演算を繰り返し実行して、プロセスの制御を行っている。
このような二重化制御システムでは、コントローラのアプリケーションプログラムを変更する場合、最初に一方のコントローラの制御を停止状態とした後、停止したコントローラのアプリケーションプログラムを変更後、二重化制御運転に復帰させていた。
このような操作は多くの時間を伴うだけでなく、ご操作を誘発しやすい恐れがあるため、コントローラに接続され、変更するアプリケーションプログラムを適宜分割して順次保守を実行する保守ツールと2つのアプリケーションプログラムメモリとを備えて、分割されたアプリケーションプログラムを順次取り込み、他方のアプリケーションメモリに格納して、制御機能を停止することなくアプリケーションプログラムの変更を可能としている技術が開示されている(例えば、特許文献2参照。)。
特許第3244982号明細書 特開平7−334202号公報
ところで、このような監視制御システムのソフトウェアの構成は、ラダー図や制御フロー図のようにユーザが作成するアプリケーションプログラムと、アプリケーションプログラムを実行させる環境や診断機能等を含むコントローラの動作を保障するためのファームウェアとがある。
従来の監視制御システムにおいては、通常、機能の変更や機能の追加を行う場合、アプリケーションプログラムの変更あるいは追加を行うことによって実現している。
このようなソフトウェアの変更、追加作業は、プロセスの制御動作を停止することなく実行できることが、監視制御システムの稼働率や信頼性、また、システムの保守性を向上する上で重要である。
しかしながら、特許文献1には、コントローラの監視制御動作中コントローラの負荷の分散を行うことは出来ても、アプリケーションプログラムやファームウェアを、コントローラの監視制御動作を停止することなく変更することが出来ない問題がある。
また、特許文献2には、コントローラの監視制御動作中にアプリケーションプログラムを更新する機能は開示されているが、ファームウェアを更新する技術は開示されていない。
また、二重化制御システムにおいては、待機系のファームウェアを停止してファームウェアを更新することになるので、このファームウェアの変更作業中は、システムが二重化されない1系統での運転となる問題がある。
また、通常の監視制御システムの対象プラントは連続稼動で、システム停止を行うのは、予め定められた年に1度程度のメンテナンス時の機会しかなく、ファームウェア更新作業は、これらの機会に合わせて行うか、あるいはプラントの操業を停止させて行わなければならなかった。
本発明は、上記問題点を解決するためになされたもので、並列型コントローラで構成された監視制御システムにおいて、制御動作を停止させることなく、必要とされるときに、夫々のコントローラのファームウェアの更新を可能とする、並列型監視制御システム、及び同システムの並列型コントローラのファームウェア更新方法を提供することを目的とする。
上記目的を達成するために、本発明に係る請求項1の並列型監視制御システムは、被制御対象を複数のコントローラで監視制御する並列型監視制御システムであって、前記並列型監視制御システムは、前記被制御対象を監視制御する複数のコントローラを有する並列型コントローラと、前記並列型コントローラで制御される監視情報をオペレータが監視し、操作する監視制御ステーションと、前記並列型コントローラに予めダウンロードされるアプリケーションプログラムとそのファームウェアとからなるソフトウェア及び前記並列型コントローラの夫々の前記コントローラに記憶させるタスクの分配先を指定したタスク平準化テーブルを記憶するソフトウェア管理ステーションと、前記並列型コントローラ、前記監視制御ステーション、及び前記ソフトウェア管理ステーションを接続するネットワークとから成り、前記ソフトウェア管理ステーションは、前記アプリケーションプログラムを構成する複数の前記タスクを複数の前記コントローラへ分配する分配先を指定するための第1のタスク平準化テーブルと、前記ファームウェアを交換する場合に、交換対象となる第1のコントローラの記憶手段に記憶されたタスクをこの第1のコントローラ以外の第2のコントローラに分配する分配先のコントローラを指定する第2のタスク平準化テーブルとから成るタスク平準化テーブルを生成するタスク平準化テーブル生成手段と、前記タスク平準化テーブル及び前記ソフトウェアを記憶する記憶手段とを有し、前記並列型コントローラは、前記ソフトウェア管理ステーションに記憶された前記ソフトウェア及び前記タスク平準化テーブルをダウンロードして記憶する記憶手段と、前記アプリケーションプログラムによって前記被制御対象を監視制御する複数の前記コントローラと、前記コントローラで演算された前記被制御対象との入出力信号をインタフェースする入出力装置と、前記タスク平準化テーブルに基づいて、前記コントローラの前記ファームウェアを更新するファームウェア更新手段と、前記記憶手段、複数の前記コントローラ、前記入出力装置、及び前記ファームウェア更新手段を接続するシステムバスとを有し、前記ファームウェア更新手段は、予め設定される前記タスク平準化テーブルに基づいて、前記コントローラの前記ファームウェアを更新するようにしたことを特徴とする。
上記目的を達成するために、本発明の請求項1における請求項2に係る並列型監視制御システムは、前記ファームウェア更新手段は、前記ソフトウェア管理ステーションから前記並列型コントローラに対して前記ファームウェアの更新要求があった場合に、前記第1のコントローラに記憶された第1のタスクを、前記ソフトウェア管理ステーションから予めダウンロードされた前記第2のタスク配置テーブルで指定された前記第2のコントローラにコピーし、前記第1のタスクと、コピーした第2のタスクとを並列実行させ、前記入出力装置の出力の差が、予め設定される所定の許容値の範囲内であることを確認し、前記前記第1タスクをスリープさせるとともに、コピーした前記第2タスクを起動し、前記第2のコントローラによって監視制御を継続するとともに、前記第1のコントローラの前記ファームウェアを更新するようにしたことを特徴とする。
上記目的を達成するために、本発明の請求項1における請求項3に係る並列型監視制御システムは、前記ファームウェア更新手段は、前記ソフトウェア管理ステーションから前記並列型コントローラに対して前記ファームウェアの更新要求があった場合に、前記第1のコントローラに記憶された第1のタスクを、前記ソフトウェア管理ステーションから予めダウンロードされた前記第2のタスク配置テーブルで指定された前記第2のコントローラにコピーし、前記第1のコントローラの前記第1のタスクとコピーした前記第2のコントローラの前記第2タスクとを並列実行させ、前記入出力装置の出力の差が、予め設定される所定の許容値の範囲内であることを確認し、前記第1のコントローラの前記第1のタスクをスリープさせるとともに、前記第2のコントローラの前記第2タスクを起動し、制御を継続するとともに、更新対象となる前記第2のコントローラの前記ファームウェアを更新し、更新された夫々の前記コントローラに記憶されたタスクの配置を前記コントローラと対応付けして記憶したタスク配置状態テーブルとして記憶し、順次、前記第2のコントローラの中から前記ファームウェアを更新対象とする前記第1のコントローラとその他の前記第2のコントローラとを選択し、前記第1のコントローラに記憶されたタスクをその他の前記第2のコントローラにコピーし、前記第1のコントローラの前記第1のタスクと、コピーした前記第2のコントローラの前記第2のタスクを並列実行させ、前記入出力装置の出力の差が、予め設定される所定の許容値の範囲内であることを確認し、前記第のタスクをスリープ状態にするとともに、前記第2のタスクを起動し、更新された夫々の前記コントローラに記憶された前記タスクの配置を、前記タスク配置状態テーブルに記憶し、全ての前記コントローラについてファームウェアの更新を実行し、全て更新が終了すると、前記第1のタスク平準化テーブルに基づいて、全ての前記タスクを夫々の前記コントローラの分配指定先に記憶し、前記並列型コントローラの前記ファームウェアを更新するとともに、監視制御を継続して実行するようにしたことを特徴とする。
上記目的を達成するために、本発明の請求項1における請求項5に係る並列型監視制御システムは、前記タスク平準化テーブルを作成するための前記タスク平準化テーブル生成手段の平準化アルゴリズムは、前記コントローラが、タスクの記憶容量と前記コントローラに記憶可能な記憶容量との比で表されるエリア占有率を一方の軸とし、前記タスクを実行するに要する時間とその実行周期との比で表される負荷率を他方の軸とした空間をタスク情報空間として、夫々の前記コントローラに前記タスクを分配し、実行したときの前記タスク情報空間での位置をプロットし、分配された前記コントローラの全台数のプロット点を連ねた多角形の面積が最小に、また、直線の長さが最小になるように前記タスクを分配するようにしたことを特徴とする。
上記目的を達成するために、本発明の請求項7に係る被制御対象を複数のコントローラで監視制御する並列型監視制御システムの並列型コントローラのファームウェア更新方法であって、被制御対象を複数のコントローラで監視制御する並列型監視制御システムの並列型コントローラのファームウェア更新方法であって、前記並列型監視制御システムは、前記被制御対象を監視制御する複数のコントローラを有する並列型コントローラと、前記並列型コントローラで制御される監視情報をオペレータが監視し、操作する監視制御ステーションと、前記並列型コントローラに予めダウンロードされるアプリケーションプログラムとそのファームウェアとからなるソフトウェア及び前記並列型コントローラの夫々の前記コントローラに記憶させるタスクの分配先を指定したタスク平準化テーブルを記憶するソフトウェア管理ステーションと、前記並列型コントローラ、前記監視制御ステーション、及び前記ソフトウェア管理ステーションを接続するネットワークとから成り、前記ソフトウェア管理ステーションは、前記アプリケーションプログラムを構成する複数の前記タスクを複数の前記コントローラへ分配する分配先を指定するための第1のタスク平準化テーブルと、前記ファームウェアを交換する場合に、交換対象となる第1のコントローラの記憶手段に記憶されたタスクをこの第1のコントローラ以外の第2のコントローラに分配する分配先のコントローラを指定する第2のタスク平準化テーブルとから成るタスク平準化テーブルを生成するタスク平準化テーブル生成手段と、前記タスク平準化テーブル及び前記ソフトウェアを記憶する記憶手段とを有し、前記並列型コントローラは、前記ソフトウェア管理ステーションに記憶された前記ソフトウェア及び前記タスク平準化テーブルをダウンロードして記憶する記憶手段と、前記アプリケーションプログラムによって前記被制御対象を監視制御する複数の前記コントローラと、前記コントローラで演算された前記被制御対象との入出力信号をインタフェースする入出力装置と、前記タスク平準化テーブルに基づいて、前記コントローラの前記ファームウェアを更新するファームウェア更新手段と、前記記憶手段、複数の前記コントローラ、前記入出力装置、及び前記ファームウェア更新手段を接続するシステムバスとを有し、前記ファームウェア更新手段は、前記ソフトウェア管理ステーションから前記並列型コントローラに対して前記ファームウェアの更新要求があった場合に、前記第1のコントローラに記憶された第1のタスクを、前記ソフトウェア管理ステーションから予めダウンロードされた前記第2のタスク配置テーブルで指定された前記第2のコントローラにコピーし、前記第1のコントローラの前記第1のタスクとコピーした前記第2のコントローラの前記第2タスクとを並列実行させ、前記入出力装置の出力の差が、予め設定される所定の許容値の範囲内であることを確認し、前記第1のコントローラの前記第1のタスクをスリープさせるとともに、前記第2のコントローラの前記第2タスクを起動し、制御を継続するとともに、更新対象となる前記第2のコントローラの前記ファームウェアを更新し、更新された夫々の前記コントローラに記憶されたタスクの配置を前記コントローラと対応付けして記憶したタスク配置状態テーブルとして記憶し、順次、前記第2のコントローラの中から前記ファームウェアを更新対象とする前記第1のコントローラとその他の前記第2のコントローラとを選択し、前記第1のコントローラに記憶されたタスクをその他の前記第2のコントローラにコピーし、前記第1のコントローラの前記第1のタスクと、コピーした前記第2のコントローラの前記第2のタスクを並列実行させ、前記入出力装置の出力の差が、予め設定される所定の許容値の範囲内であることを確認し、前記第のタスクをスリープ状態にするとともに、前記第2のタスクを起動し、更新された夫々の前記コントローラに記憶された前記タスクの配置を、前記タスク配置状態テーブルに記憶し、全ての前記コントローラについてファームウェアの更新を実行し、全て更新が終了すると、前記第1のタスク平準化テーブルに基づいて、全ての前記タスクを夫々の前記コントローラの分配指定先に記憶し、前記並列型コントローラの前記ファームウェアを更新するとともに、監視制御を継続して実行するようにしたことを特徴とする。
上記目的を達成するために、本発明の請求項7における請求項8に係る被制御対象を複数のコントローラで監視制御する並列型監視制御システムの並列型コントローラのファームウェア更新方法であって、前記ファームウェア更新手段は、全ての前記コントローラのファームウェアが更新された後、前記コントローラからの全て前記タスクの前記タスク情報を測定して前記ソフトウェア管理ステーションに送信し、前記ソフトウェア管理ステーションは、送信された前記タスク情報に基づいて、前記コントロー毎の前記タスク情報を求め、予め設定された所定の負荷状態を超える場合、前記第1のタスク平準化テーブル、前記第2のタスク平準化テーブルでの前記タスクの分配状態を前記平準化アルゴリズムに基づいて再配置し、前記第1のタスク平準化テーブル、前記第2のタスク平準化テーブルを更新するようにしたことを特徴とする。
本発明によれば、ネットワークに接続された並列型コントローラのソフトウェア管理ステーションに、並列型コントローラが実行するソフトウェアを記憶させ、さらに、並列型コントローラの夫々のコントローラが実行するタスクの分担先を指定する第1のタスク平準化テーブルと、ファームウェアを更新するコントローラを除く他のコントローラでのタスクの分担先を指定する第2のタスク平準化テーブルを備え、これらのテーブルを予め並列型コントローラに記憶させて置き、ファームウェアの更新が必要になったときに、並列型コントローラに対し、更新要求をし、第2のタスク平準化テーブルに基づいて、最初に更新するコントローラを指定して、指定されたコントローラ以外の他のコントローラでタスクの実行を分担し、ファームウェア更新対象のコントローラのタスクの実行を停止させてファームウェアを更新するようにしたので、監視制御を停止することなくコントローラのファームウェアを更新することが出来る。
また、コントローラの負荷を平準化するためのタスク平準化テーブルの生成は、夫々のコントローラが実行するタスクについての占有率、負荷率をタスク情報として求めるようにしたので、ファームウェアを更新する場合、特定のコントローラに負荷が集中することなくファームウェアの更新が可能となり、安定した監視制御システムの運転が継続される。
また、タスク平準化テーブルの生成は、監視制御を実行中にタスク情報を収集して再作成することもできるので、監視制御を停止することなくファームウェアを保守することができる。
したがって、並列型コントローラのソフトウェアの更新が生じた場合に、監視制御動作を停止することなく、必要とされる時に、夫々のコントローラのファームウェアの更新を可能とする、並列型監視制御システム、及び同システムの並列型コントローラのファームウェア更新方法を提供することができる。
以下、図面を参照して、本発明の実施例を説明する。
本発明による実施例1に係る並列型監視制御システムについて、図1乃至図13を参照して説明する。図1は、並列型監視制御システムの構成を示すシステムブロック図である。
並列型監視制御システムは、プラントを操作するバルブなどの操作端1aや、プラントの状態を検出するセンサなどの検出端1bからなる被制御対象1を制御する複数のコントローラを有する並列型コントローラ2、並列型コントローラ2で制御された被制御対象1の制御状態をプラントのオペレータが監視操作する監視制御ステーション3、並列型コントローラ2が実行するソフトウェアを管理するソフトウェア管理ステーション4、及びこれらを接続するネットワーク5から構成される。
並列型コントローラ2は、監視制御ステーション3及びソフトウェア管理ステーション4との間の信号を伝送し、ソフトウェア管理ステーション4からソフトウェアSWをダウンロードし、N台の並列型コントローラ2が実行するアプリケーションプログラムTKをタスク平準化テーブルTBで指定される夫々のコントローラ22の分担先に送信するファームウェア更新モジュール21、このファームウェア更新モジュール21から夫々のコントローラ22に送信されるソフトウェアSWを記憶し、被制御対象1を協調して演算制御する複数のコントローラ22乃至コントローラ22からなる。
以下、コントローラ22やタスクの個々の番号を示すことが必要な場合は、コントローラ22、タスクTKのように、サフィックス番号を付して記すことにする。
さらに、被制御対象1との間でこれらのコントローラ22から送信される入出力信号を授受する入出力装置23、及びこれらの並列型コントローラ2を構成する各部を相互に接続するシステムバス24とから構成される。
また、監視制御ステーション3は、並列型監視制御システムのオペレータが並列型コントローラ2から送信され、予め設定される監視制御情報を図示しないモニタ装置に表示し、被制御対象1を監視、操作する装置である。
また、ソフトウェア管理ステーション4は、並列型コントローラ2で使用するソフトウェアSWの記憶手段、並列型コントローラ2からの要求でネットワーク5を介してソフトウェアSWをダウンロード可能とする通信手段、更に、詳細を後述する平準化アルゴリズムに基づいてタスク平準化テーブルTBを生成するタスク平準化テーブル生成手段とから構成される。
このソフトウェア管理ステーション4は、記憶手段、演算手段を備えた汎用のパソコンで容易実現されるものなのでその詳細構成を省略する。
また、このソフトウェアSWは、並列型コントローラ2の夫々のコントローラ22に搭載するオペレーティングシステムを含むファームウェアOS、多数のタスクから構成されるアプリケーションプログラムTK、及び詳細を後述するコントローラ22に記憶するタスクを指定するタスク平準化テーブルTBとからなる。
次に、各部の詳細構成について説明する。先ず、並列型コントローラ2の詳細構成について、図2を参照して説明する。
コントローラ22乃至コントローラ22は、全て同じ構成で、各種の演算制御を実行するマイクロコントローラを有するCPU22aと、CPU22aのハードウェアを制御するソフトウェアSWを記憶するフラッシュメモリ等の不揮発性メモリ22bと、CPU22aから直接アクセス可能な主メモリで、被制御対象1を制御するための各種の制御データを制御周期単位で一時記憶するRAM22c、及びこれらコントローラを構成する各部を接続する内部バス22eとを有する。
さらに、この内部バス22eと並列型コントローラ2の各部とを接続するシステムバス24と、これらのバスを介して伝送される信号を制御するシステムバス制御回路部22fとから成る。
さらに詳細には、システムバス制御回路部22fは、システムバス制御回路22f1と共有メモリ22f2とを備え、共有メモリ22f2は、システムバス24に接続された他のコントローラ22から書き込み、読み出しが可能で、システムバス制御回路22f1によってこの制御を実行するように構成されている。
次に、これらのコントローラ22の構成と一部を異にするファームウェア更新モジュール21と入出力装置23の詳細構成について説明する。ファームウェア更新モジュール21及び入出力装置23の各部がコントローラ22の各部と同じものは同一の符号で示し、その説明を省略する。
ファームウェア更新モジュール21の構成がコントローラ22の構成と異なる点は、ファームウェア更新モジュール21の内部バス22eとネットワーク5とを接続するネットワーク制御回路21dを備え、並列型コントローラ2で使用するソフトウェアSWをソフトウェア管理ステーション4からダウンロードし、夫々にコントローラ22にアプリケーションプログラムTKを分配するようにしていることにある。
このソフトウェアSWは、ファームウェア更新モジュール21の不揮発性メモリ22bに記憶される。
尚、ファームウェア更新モジュール21が実行するアプリケーションプログラムTKには、詳細を後述するコントローラ22のファームウェアOSを更新するためのアプリケーションプログラムTK、及び、タスク平準化テーブルTBが含まれる。
次に、入出力装置23の構成がコントローラ22の構成と異なる点は、内部バス22eに接続され被制御対象1と通信する伝送制御回路23dを備え、この伝送制御回路23dがシステムバス制御回路部22fの共有メモリ22f2に接続され、伝送制御回路23dが共有メモリ22f2に書き込まれた出力データを読出し被制御対象1に送信し、また、被制御対象1より受信した入力データを共有メモリ22f2に書き込むことで被制御対象1との間の入出力データを授受するようにしていることにある。
次に、このように構成された並列型コントローラ2のソフトウェアSWの構成と設定について、図3乃至図5を参照して説明する。
図3は、ソフトウェアSWの構成を示す図で、ソフトウェアSWは、この並列型監視制御システムの監視制御機能を達成するための複数のタスクTK1〜MからなるアプリケーションプログラムTKと、このアプリケーションプログラムTKを実行するための、実行環境や、各種の診断機能とコントローラ22のハードウェアを制御するオペレーティングシステムとからなるファームウェアOSとで構成される。
次に、ソフトウェア管理ステーション4から並列型コントローラ2へのソフトウェアの設定方法について、図4を参照してその概要を説明する。
図4(a)は、この監視制御システムを構築するときに、並列型コントローラ22に予め設定される初期のアプリケーションプログラムTKの設定手順を示す。
多数のタスクからなるアプリケーションプログラムTKは、エンジニアリング段階でその全てが生成され(s1)、ソフトウェア管理ステーション4にダウンロードされる(s2)。
そして、夫々のコントローラ22が、極力均一な負荷状態で運転されるようにタスクの分配先を指定するタスク平準化テーブルTBを、詳細を後述する平準化アルゴリズムに基づいて作成する(s3)。
作成されたタスク平準化テーブルTBは、並列型コントローラ2のファームウェア更新モジュール21にダウンロード(s4)されるとともに、アプリケーションプログラムTKもダウンロード(s5)される。
ファームウェア更新モジュール21にダウンロードされたアプリケーションプログラムTKは、同時に記憶されたタスク平準化テーブルTBに基づいて(s6)、ファームウェア更新モジュール21から夫々のコントローラ22に分配、記憶される(s7)。
このように初期インストールされたソフトウェアSWは、その後、改造や改良が発生し、更新を要求されることが発生する。図4(b)は、システム構築時の初期にインストールされたファームウェアOSの変更を行うときの、更新手順を示す。
先ず、ファームウェアOSを生成し(s11)、ソフトウェア管理ステーション4にダウンロードする(s12)。次に、ダウンロードされたファームウェアをファームウェア更新モジュール21の不揮発性メモリ22bに書き込む(s13)。
一方、ファームウェアOSの更新要求をソフトウェア管理ステーションからファームウェア更新モジュール21に送信し(s14)、この要求を受けたファームウェア更新モジュール21は、詳細を後述するファームウェア更新処理手順に従って、夫々のコントローラ22のファームウェアOSの制御を停止することなくファームウェアOSの更新を実行する。
次に、図4に示した初期のタスク分配処理(s6)と、このタスクの分配先を指定するタスク平準化テーブルTBの例を図5乃至図7で説明する。
ソフトウェア管理ステーション4からファームウェア更新モジュール21の不揮発性メモリ22bに記憶されたタスクTK1〜Mは、図5に示すように、予め設定されたタスク平準化テーブルTBに基づいて、夫々のコントローラ22に分配されたタスクグループとして、夫々コントローラ221〜Nの不揮発性メモリ22bに記憶される。
次に、ソフトウェア管理ステーション4からファームウェア更新モジュール21の不揮発性メモリ22bに記憶されたタスクの分配先を指定するタスク平準化テーブルTBについて、図6を参照して説明する。
タスク平準化テーブルTBには、N台でタスクを分担する場合の割当先を指定したNタスク平準化テーブルと、N−1台のコントローラ221〜Nで、ファームウェアOSを更新するコントローラ22台目のタスクを分担する場合の割当て先を指定したN−1タスク平準化テーブルとがある。
例えば、図6に示すNタスク平準化テーブルTBは、21個のタスクTK1〜21を4台のコントローラ221〜4での分担先を示し、タスクTK1〜5はグループ1、タスクTK6〜11はグループ2、タスクTK12〜16はグループ3、またタスクTK17〜21はグループ4に分割され、夫々のグループ(番号)は平準化されたときのどのタスクがどのコントローラ22に配置されるかを示すテーブルである。
また、N−1平準化タスクテーブルは、コントローラ22のグループ4のタスクTK17〜21を残り3台のコントローラ221〜3で分担する場合、コントローラ22が分担していたタスクTK18〜21を、コントローラ22には、タスクTK17、18を、コントローラ22には、タスクTK19を、また、コントローラ22には、タスクTK20、21を分担するように指定していることを示すテーブルである。
図6に示すNタスク平準化テーブル及びN−1タスク平準化テーブルは、並列型監視制御システムの運転を開始する初期に、ソフトウェア管理ステーション4から予め設定されるもので、このテーブルの分担先の状態は変化しないものである。
これ以外に、図7に示すようなファームウェア更新モジュール21で管理するタスク配置状態テーブルがある。このタスク配置状態テーブルは、タスクをN台のコントローラ22でN個のグループに分割した時に、どのコントローラのグループに属するかを示すもので、ファームウェアOSを更新する時に、動的に変化するタスクの配置状態とそのタスクの実行状態を示すものである。
このタスク配置状態テーブルは、ファームウェア更新モジュール21がソフトウェア管理ステーション4から、詳細を後述するファームウェア更新要求を受信した時、ファームウェアOSを更新するコントローラ22を順次指定し、指定されたコントローラ22のタスクの分担を更新して行く場合に作られるもので、図4のファームウェア更新処理s15のステップで生成される。
図7においては、タスクTK1〜5は、コントローラ22に、タスクTK6〜11は、コントローラ22に、また、タスクTK12〜16は、コントローラ22に夫々配置され、実行可能な状態であることを示す。
また、コントローラ22に配置されたグロープ4のタスクTK17〜21は、タスクTK17、18が、実行可能な状態で、且つ、コントローラ22にコピー済みでスリープ状態、タスクTK19は、コントローラ22にコピー中で、且つ、実行可能な状態、また、タスクTK21、21は実行可能な状態であることを示している。
次に、このように構成された並列型監視制御システムの並列型コントローラ2によって入出力装置23を介して実行される被制御対象1との入出力処理動作について図8を参照して説明する。
入出力装置23の共有メモリ22f2には、被制御対象1の入力端1aからの入力データ、出力端1bへの出力データが予めマッピングされ、そのアドレスと入出力データの対応付けがされている。
コントローラ221〜Nは、これらの共有メモリ22eに書き込まれた入力データを読出し、予め記憶されたアプリケーションプログラムTKに従って制御演算を実行し、演算結果を所定の制御周期で入出力装置23の共有メモリ22f2に書き込む。
そして、書き込まれた出力データは、伝送制御回路23dで読み取り、出力端1bに伝送される。
次に、このように構成された並列型監視制御システムにおいて、各コントローラ22の負荷を平準化するためタスク平準化テーブルTBを生成するための平準化アルゴリズムについて、その平準化の動作原理を図9乃至図11を参照して説明する。
コントローラ22の負荷の平準化を評価する評価パラメータは、図9に示すように、コントローラ22があるタスクを実行したときのエリア占有率と負荷率のベクトル空間での座標位置で評価する。
タスクのエリア占有率TRkは、コントローラ22に記憶可能なプログラムの記憶容量CCに対するあるタスクのプログラム記憶容量TCkとの比率
TRk=TCk/CC
で定義する。
一方、負荷率LRkは、タスクの実行制御周期TSkと、タスクの実行時間TTkとの比率
LRk=TTk/TSk
で定義する。
このようなエリア占有率TRkと負荷率LRkからなるタスク情報を、予め全てのタスクについて測定しておき、エリア占有率TRkと負荷率LRkからなる座標空間(以下、タスク情報空間と称す)において、座標位置をプロットして負荷状態を判定する。
次に、このタスク情報空間での負荷の平準化をするためのタスクの分配動作について説明する。例えば、N台のコントローラが存在する場合、N台にタスクを平準化した状態とN−1台にタスクを平準化した状態とが存在する。
実際には、N台の中の1台のタスクをN−1台に分配すれば良いので、N−1台に平準化されている状態から、いくつかのタスクを抽出し他の1台に割り当てることによりN台に平準化されている状態にすることができる。
以下では、並列型コントローラ2がN台(N≧4)のコントローラ22で構成され、アプリケーションプログラムTKとしてM個(M≧N)のタスクがある場合について説明をする。
また、下の説明においては、コントローラの番号としてj(0≦j≦N)を使用する。j=Nとなるコントローラは平準化のためのタスク分配元となるコントローラの番号とする。また、タスクの番号としてk(0≦k≦M)を使用する。
先ず、与えられたタスクを「SQRT(TRk+LRk)」(タスク情報空間座標面上では(0、0)からの距離)の降順にソートし、この順にタスクを選択してN−1台のコントローラ22のいずれかに対してタスクTK1〜Mを割当てる。
次に、あるタスクをどのコントローラ22に分担させるかを選択する場合の処理は、次のようにする。例えば、タスクTK1〜N−1までは、コントローラ221〜N−1までに順にN−1個のタスクTK1〜N−1を割り当てる。
次に、タスクTK以降は、その時点までにp個のタスクが割当てられていたとすると、コントローラ22においてそれまでのエリア占有率TRkの総和をTTRj(p)、負荷率CRkの総和をTLRj(p)とする。
そして、図10(a)、(b)に示すように、タスク情報空間座表面上では、(TTRj(p)、TLRj(p))となる点PCj(p)をプロットしそれらを結ぶとN−1角形以下の4角形または3角形の多角形ができる。特殊な場合には線分となる場合もある。
次に、図11は、このようにして作られるタスク情報に、p+1個目のタスクTKp+1を4台のいずれかのコントローラ22に割当てた場合、この多角形の形状が変化は、PCj(p+1)に示すようになるが、それにより形成された4角形または3角形の面積が最小となるコントローラ22に割当てる。
図11の場合、図11(c)に示すようにコントローラ22に割り当てた場合が最も小さくなるので、タスクTKp+1はコントローラ22に割り当てられる。なお、線分となった場合には、その長さが最小となるコントローラに割当てる。
このような操作を、タスクTKまで繰り返す。これによりM個のタスクをN−1台のコントローラ22に平準化して分配することができる。
このようにして選択されたタスクTK1〜Mの各コントローラ22への割り当てが、N−1タスク平準化テーブルとして決定される。
ただし、割り当てられたコントローラ22のタスクの集合は、コントローラ22間で移動するため、タスク平準化テーブルTB上はグループとして処理される。
以上のような処理は、ソフトウェア管理ステーション4で全タスクについてタスク情報を予め収集し、収集されたタスク情報から平準化アルゴリズムに基づいて、N−1タスク平準化テーブルが作成される。
次に、N台目のコントローラ22に対する割り当ては、q個のタスクが割当てられていた時点で、それまでのエリア占有率TRkの総和TTRj(q)、負荷率LRkの総和TLRj(q)がともに{(N−1)/N}を越えないような所定の範囲で、所定の範囲を超える場合は、q+1個目以降のタスクTKq+1〜MをコントローラNに割当てる。
そして、N−1タスク平準化テーブルから、全てのコントローラ22のタスク情報が偏らないように、所定の範囲内の負荷状態としてコントローラ22に分配されたものを、Nタスク平準化テーブルとして作成する。
次に、このように構成された並列型監視制御システムにおいて、監視制御を実行中にファームウェアOSを更新する場合の並列型コントローラ2の処理動作について図12乃至図13を参照して説明する。
尚、この処理動作は、図4のステップ(s15)での処理に該当する。
例えば、並列型コントローラ2が、4台のコントローラ221〜4で、21個のタスクTK1〜21を予め指定された割り当で協調して制御を実行している状態を想定する。
この状態からファームウェ更新モジュール21によって、4台のコントローラ221〜4のファームウェアOSを更新処理した場合のコントローラ221〜4に割り当てられるタスクTK1〜21の遷移状態を図示したものである。
尚、図12、図13では、コントローラ221〜4を、サフィックス部のみを記して、コントローラ1乃至コントローラ4と図示している。
また、コントローラ221〜4に記憶されるタスクTK1〜Mの各々は、長方形で図示したコントローラ221〜4上の上下方向に長い矩形で示し、矢印はそのタスクの移動先を示している。
このファームウェア更新処理の動作の概要は、ファームウェア更新モジュール21が、最初に4台目のコントローラ22のファームウェアOSを更新するため、このコントローラ22が実行していたタスクを他の3台のコントローラ221〜3で分担する状態にし、コントローラ22では実行するアプリケーションプログラムTKがない状態にする。
そして、この状態で、コントローラ22のファームウェアOSを更新する。以下、同様の方法で他の全てのコントローラ22のファームウェアOSを順次更新し、全ての更新が完了すると最後に当初のタスク分配の状態に戻す。
以下、この動作の詳細について、説明する。
先ず、(1)の状態の前に、ソフトウェア管理ステーション4からファームウェア更新モジュール21に対して、新しいファームウェアOSをダウンロードし、ファームウェア更新モジュール21の不揮発性メモリ22bに記憶する(ST1)。
この状態では、Nタスク平準化テーブルの状態に各コントローラ22のタスクが予め配置されている。
次に、この状態からN−1タスク平準化テーブルの状態になるようにするため、コントローラ22のタスクを予め設定されたN−1タスク平準化テーブルに基づいて、コントローラ221〜3に分配コピーする(ST2)。
この(ST2)の状態では、分配された矢印先のタスクはコピー元のコントローラ22においては実行状態で、コピー先のコントローラ221〜3においてはスリープ状態である。
この(ST2)の状態から、コピー元のコントローラ22のタスクをスリープさせ、コピー先のコントローラ221〜3のタスクを起動することで、該当するタスクを実行するコントローラ22を切替える。
なお、入出力データの継続性を保つため、切り替え前の制御周期0入出力データを実行中のタスクからスリープ中のタスクへ転送する(ST3)。
この(ST3)の状態では、起動しているタスクの配置がN−1タスク平準化テーブルの状態になっており、コントローラ221〜3によって全てのタスクが実行されている。
ここで、コントローラ22のタスクを削除し、コントローラ22のファームウェアOSを更新する。新しいファームウェアOSは、ファームウェア更新モジュール21に記憶されていたものをファームウェア更新モジュール21がコントローラ22の不揮発性メモリ22bに転送する。
これにより(ST4)の状態になる。この状態から、次にファームウェアOSを更新するコントローラ22からファームウェアOSを更新済のコントローラ22へタスクをすべてコピーする(ST5)。
この(ST5)の状態から、コピー元のコントローラ22のタスクをスリープさせ、コピー先のコントローラ22のタスクを起動することでタスクを実行するコントローラ22を切替える。
なお、制御実行中の入出力データの継続性を保つため、切り替え前の入出力データを実行中のタスクからスリープ中のタスクへ転送する。この時、ファームウェア更新モジュール21で管理するタスク配置状態テーブルは、グループ3とグループ4のコントローラ22を入れ替える(ST6)。
この(ST6)の状態では、起動しているタスクの配置がN−1タスク平準化テーブルの状態になっており、コントローラ22、コントローラ22、コントローラ22によってすべてのタスクが実行されている。
ここで、コントローラ22のタスクを削除し、コントローラ22のファームウェアOSを更新する。ファームウェアOSは、ソフトウェア管理ステーション4からダウンロードし、ファームウェア更新モジュール21に予め記憶された新しいファームウェアOSを転送する。
コントローラ22、コントローラ22に対しても順次(ST5)、(ST6)、(ST7)の内容の処理を繰り返し行う(ST7、ST8)。
この(ST8)状態からNタスク平準化テーブルの状態になるようにするため、コントローラ222〜4に分配されていたタスクをコントローラ22にコピーする(ST9)。
この(ST9)の状態では、分配されたタスクはコピー元のコントローラ222〜4では、実行状態で、コピー先のコントローラ22でスリープ状態である。
つぎに、(ST9)の状態から、コピー元のタスクをスリープさせ、コピー先のタスクを起動することでタスTKを実行するコントローラ22を切替える。
なお、同様に、監視制御中の入出力データの継続性を保つため、切り替え前の制御周期の入出力データを実行中のタスクからスリープ中のタスクへ転送する(ST10)。
この(ST10)の状態からスリープさせた不要なタスクを削除する。この状態では、起動しているタスクの配置がNタスク平準化テーブルの状態になっており、コントローラ221〜4によってすべてのタスクが実行され状態となる。
このように、従来の監視制御システムでは、このアプリケーションプログラムTKがファームウェアOSの実行環境の下で動作しているので、ファームウェアOSを更新する場合は、アプリケーションプログラムTKの実行を停止する必要があったが、本実施例に拠れば、並列型監視制御システムにおいてはソフトウェア管理ステーション4からファームウェアの更新が必要になった時に、監視制御の実行を停止することなく、新しいファームウェアOSに更新することが可能となる。
したがって、年間に1回乃至2回程度の定期修理期間でしか実行できなかったソフトウェアの保守が、操業に影響を与えることなく必要なときに可能となりシステムの保守性が向上する。
以下に、本発明の実施例2に係る並列型監視制御システムについて、図14を参照して説明する。
図14は、並列型監視制御システムの入出力装置23と被制御対象1との入出力データをタスクTKiで実行中のコントローラ22からコントローラ22に切り替える場合の入出力データの流れをシステム構成ブロック図上に矢印で示したものである。
この実施例2の各部について、実施例1の並列型監視制御システムと同一部分は同一符号で示し、その説明を省略する。
この実施例2が実施例1と異なる点は、実施例1においては、コントローラ22が実行しているタスクTKiを切り替える場合、実行中のタスクTKiをスリープさせるとともに、コピーした先のコントローラ22のタスクTKiを起動させるようにしていたが、本実施例2では、2台のコントローラ22とコントローラ22とで、タスクTKiを並列実行させ、入出力装置23の共有メモリ22f2上の出力データを伝送制御回路23dが選択して切り替える方法とした点にある。
そして、ソフトウェア管理ステーション4から、入出力装置2対して破線矢印で示すように2台のコントローラ22の出力データ差を判定する許容幅を予め設定するようにしておき、選択する出力データの差が、許容幅内となった時に、共有メモリ22f2上の出力データのアドレスを切り替えるように構成しておく。
したがって、従来の方法では非同期の制御周期で動作しているコントローラ22とコントローラ22とは、実行するタスクを切り替えたときにコントローラ22からコントローラ22へ転送された出力データは、切り替える前と切り替えた後で同じ制御状態となることが保証されていないが、本実施例2の方法では、切り替える前後で出力データの差が所定の許容幅ないであることを確認して切り替えているので、制御性能に変化を与えない、いわゆるバンプレス制御が可能となる。
以下に、本発明の実施例3に係る並列型監視制御システムについて、図15を参照して説明する。
図15は、ファームウェア更新時の手順を示すフローチャートで、実施例1の図4(b)に対応するものである。この実施例2の各部について、実施例1の並列型監視制御システムと同一部分は同一符号で示し、その説明を省略する。
この実施例2の並列型監視制御システムのファームウェア更新方法が実施例1と異なる点は、実施例1においては、タスク平準化テーブルTBは、コントローラ22にインストールする前に、予めソフトウェア管理ステーション4で生成されたタスク平準化テーブルTBを設定して、ファームウェアを更新するようにしていたが、本実施例3では、ファームウェア更新要求(s14)があると、ファームウェア更新モジュール21を介して、監視制御実行中の夫々のコントローラ22に分配された夫々のタスク情報の測定を要求し(s22)、測定したタスク情報をソフトウェア管理ステーション4にアップロードし(s26)、タスク平準化テーブルTBをソフトウェア管理ステーション4で再生成して(s27)し、作成されたタスク平準化テーブルTBをダウンロードし(s28)、ファームウェア更新モジュール(s29)に書き込み、再度ファームウェアの更新要求をして(s30)、ファームウェア更新処理(s31)を実行するようにしたことにある。
本実施例に拠れば、一度インストールされたタスク平準化テーブルTBのタスク情報を監視制御実行中に各コントローラ22から実測し、その結果に基づいてタスク平準化テーブルを再度作成するようにしたので、ファームウェア更新時の負荷状態を検証し、負荷が特定のコントローラ22に偏ったりすることを修正することができる。
本発明は、上述した実施例に何ら限定されるものではなく、上述した夫々のコントローラ22のファームウェアOSの変更時の平準化は、更新対象以外の全てのコントローラ22に分配せず、夫々のコントローラの負荷が分担可能なコントローラ台数で平準化しても良く、本発明の主旨を逸脱しない範囲で種々変形して実施することも可能である。
また、本並列型監視制御システムによれば、ファームウェアの更新だけでなく、タスクの更新も可能であることはいうまでもない。
本発明の実施例1に係る並列型監視制御システムの構成図。 本発明の並列型コントローラの構成図。 本発明の並列型コントローラのソフトウェア構成図。 本発明の実施例1に係るファームウェア更新動作のフロー図。 本発明のアプリケーションプログラムのダウンロード動作説明図。 本発明の実施例1に係る第1のタスク平準化テーブルの例。 本発明の実施例1に係る第2のタスク平準化テーブルの例。 本発明の入出力処理の動作を説明するフロー図。 本発明のタスク情報の説明図。 本発明のタスク平準化アルゴリズムの動作原理説明図。 本発明のタスク平準化アルゴリズムの動作原理説明図。 本発明のファームウェアの更新動作の説明図。 本発明のファームウェアの更新動作の説明図。 本発明の実施例2に係るバンプレス制御動作の説明図。 本発明の実施例3に係るファームウェア更新動作のフロー図。
符号の説明
1 被制御対象
1a 出力端
1b 入力端
2 並列型コントローラ
3 監視制御ステーション
4 ソフトウェア管理ステーション
5 ネットワーク
21 ファームウェア更新モジュール
21d ネットワーク制御回路
22〜22 コントローラ
22a CPU
22b 不揮発性メモリ
22c RAM
22e 内部バス
22f システムバス制御回路部
22f1 システムバス制御回路
22f2 共有メモリ
23 入出力装置
23d 伝送制御回路
24 システムバス
TB タスク平準化テーブル
TK アプリケーションプログラム
OS ファームウェア
TK1〜M タスク

Claims (8)

  1. 被制御対象を複数のコントローラで監視制御する並列型監視制御システムであって、
    前記並列型監視制御システムは、前記被制御対象を監視制御する複数のコントローラを有する並列型コントローラと、前記並列型コントローラで制御される監視情報をオペレータが監視し、操作する監視制御ステーションと、前記並列型コントローラに予めダウンロードされるアプリケーションプログラムとそのファームウェアとからなるソフトウェア及び前記並列型コントローラの夫々の前記コントローラに記憶させるタスクの分配先を指定したタスク平準化テーブルを記憶するソフトウェア管理ステーションと、前記並列型コントローラ、前記監視制御ステーション、及び前記ソフトウェア管理ステーションを接続するネットワークとから成り、
    前記ソフトウェア管理ステーションは、前記アプリケーションプログラムを構成する複数の前記タスクを複数の前記コントローラへ分配する分配先を指定するための第1のタスク平準化テーブルと、前記ファームウェアを交換する場合に、交換対象となる第1のコントローラの記憶手段に記憶されたタスクをこの第1のコントローラ以外の第2のコントローラに分配する分配先のコントローラを指定する第2のタスク平準化テーブルとから成るタスク平準化テーブルを生成するタスク平準化テーブル生成手段と、前記タスク平準化テーブル及び前記ソフトウェアを記憶する記憶手段とを有し、
    前記並列型コントローラは、
    前記ソフトウェア管理ステーションに記憶された前記ソフトウェア及び前記タスク平準化テーブルをダウンロードして記憶する記憶手段と、前記アプリケーションプログラムによって前記被制御対象を監視制御する複数の前記コントローラと、前記コントローラで演算された前記被制御対象との入出力信号をインタフェースする入出力装置と、前記タスク平準化テーブルに基づいて、前記コントローラの前記ファームウェアを更新するファームウェア更新手段と、前記記憶手段、複数の前記コントローラ、前記入出力装置、及び前記ファームウェア更新手段を接続するシステムバスとを有し、
    前記ファームウェア更新手段は、予め設定される前記タスク平準化テーブルに基づいて、前記コントローラの前記ファームウェアを更新するようにしたことを特徴とする並列型監視制御システム。
  2. 前記ファームウェア更新手段は、前記ソフトウェア管理ステーションから前記並列型コントローラに対して前記ファームウェアの更新要求があった場合に、前記第1のコントローラに記憶された第1のタスクを、前記ソフトウェア管理ステーションから予めダウンロードされた前記第2のタスク配置テーブルで指定された前記第2のコントローラにコピーし、前記第1のタスクと、コピーした第2のタスクとを並列実行させ、
    前記入出力装置の出力の差が、予め設定される所定の許容値の範囲内であることを確認し、
    前記前記第1タスクをスリープさせるとともに、コピーした前記第2タスクを起動し、前記第2のコントローラによって監視制御を継続するとともに、前記第1のコントローラの前記ファームウェアを更新するようにしたことを特徴とする請求項1に記載の並列型監視制御システム。
  3. 前記ファームウェア更新手段は、前記ソフトウェア管理ステーションから前記並列型コントローラに対して前記ファームウェアの更新要求があった場合に、前記第1のコントローラに記憶された第1のタスクを、前記ソフトウェア管理ステーションから予めダウンロードされた前記第2のタスク配置テーブルで指定された前記第2のコントローラにコピーし、前記第1のコントローラの前記第1のタスクとコピーした前記第2のコントローラの前記第2タスクとを並列実行させ、
    前記入出力装置の出力の差が、予め設定される所定の許容値の範囲内であることを確認し、
    前記第1のコントローラの前記第1のタスクをスリープさせるとともに、前記第2のコントローラの前記第2タスクを起動し、制御を継続するとともに、更新対象となる前記第2のコントローラの前記ファームウェアを更新し、
    更新された夫々の前記コントローラに記憶されたタスクの配置を前記コントローラと対応付けして記憶したタスク配置状態テーブルとして記憶し、
    順次、前記第2のコントローラの中から前記ファームウェアを更新対象とする前記第1のコントローラとその他の前記第2のコントローラとを選択し、前記第1のコントローラに記憶されたタスクをその他の前記第2のコントローラにコピーし、前記第1のコントローラの前記第1のタスクと、コピーした前記第2のコントローラの前記第2のタスクを並列実行させ、前記入出力装置の出力の差が、予め設定される所定の許容値の範囲内であることを確認し、
    前記第のタスクをスリープ状態にするとともに、前記第2のタスクを起動し、
    更新された夫々の前記コントローラに記憶された前記タスクの配置を、前記タスク配置状態テーブルに記憶し、
    全ての前記コントローラについてファームウェアの更新を実行し、
    全て更新が終了すると、前記第1のタスク平準化テーブルに基づいて、全ての前記タスクを夫々の前記コントローラの分配指定先に記憶し、
    前記並列型コントローラの前記ファームウェアを更新するとともに、監視制御を継続して実行するようにしたことを特徴とする請求項1に記載の並列型監視制御システム。
  4. 前記第1のコントローラは1台とし、前記第2のコントローラは前記第1のコントローラを除く他の1台以上の全てとしたことを特徴とする請求項1に記載の並列型監視制御システム。
  5. 前記タスク平準化テーブルを作成するための前記タスク平準化テーブル生成手段の平準化アルゴリズムは、前記コントローラが、タスクの記憶容量と前記コントローラに記憶可能な記憶容量との比で表されるエリア占有率を一方の軸とし、前記タスクを実行するに要する時間とその実行周期との比で表される負荷率を他方の軸とした空間をタスク情報空間として、夫々の前記コントローラに前記タスクを分配し、実行したときの前記タスク情報空間での位置をプロットし、分配された前記コントローラの全台数のプロット点を連ねた多角形の面積が最小に、また、直線の長さが最小になるように前記タスクを分配するようにしたことを特徴とする請求項1に記載の並列型監視制御システム。
  6. 前記タスク平準化テーブル生成手段は、制御実行中に前記ファームウェア更新手段を介して前記コントローラの前記タスク情報を収集し、収集した前記タスク情報に基づいて前記第1のタスク平準化テーブル及び前記第2のタスク平準化テーブルを更新するようにしたことを特徴とする請求項1に記載の並列型監視制御システム。
  7. 被制御対象を複数のコントローラで監視制御する並列型監視制御システムの並列型コントローラのファームウェア更新方法であって、
    前記並列型監視制御システムは、前記被制御対象を監視制御する複数のコントローラを有する並列型コントローラと、前記並列型コントローラで制御される監視情報をオペレータが監視し、操作する監視制御ステーションと、前記並列型コントローラに予めダウンロードされるアプリケーションプログラムとそのファームウェアとからなるソフトウェア及び前記並列型コントローラの夫々の前記コントローラに記憶させるタスクの分配先を指定したタスク平準化テーブルを記憶するソフトウェア管理ステーションと、前記並列型コントローラ、前記監視制御ステーション、及び前記ソフトウェア管理ステーションを接続するネットワークとから成り、
    前記ソフトウェア管理ステーションは、前記アプリケーションプログラムを構成する複数の前記タスクを複数の前記コントローラへ分配する分配先を指定するための第1のタスク平準化テーブルと、前記ファームウェアを交換する場合に、交換対象となる第1のコントローラの記憶手段に記憶されたタスクをこの第1のコントローラ以外の第2のコントローラに分配する分配先のコントローラを指定する第2のタスク平準化テーブルとから成るタスク平準化テーブルを生成するタスク平準化テーブル生成手段と、前記タスク平準化テーブル及び前記ソフトウェアを記憶する記憶手段とを有し、
    前記並列型コントローラは、
    前記ソフトウェア管理ステーションに記憶された前記ソフトウェア及び前記タスク平準化テーブルをダウンロードして記憶する記憶手段と、前記アプリケーションプログラムによって前記被制御対象を監視制御する複数の前記コントローラと、前記コントローラで演算された前記被制御対象との入出力信号をインタフェースする入出力装置と、前記タスク平準化テーブルに基づいて、前記コントローラの前記ファームウェアを更新するファームウェア更新手段と、前記記憶手段、複数の前記コントローラ、前記入出力装置、及び前記ファームウェア更新手段を接続するシステムバスとを有し、
    前記ファームウェア更新手段は、前記ソフトウェア管理ステーションから前記並列型コントローラに対して前記ファームウェアの更新要求があった場合に、前記第1のコントローラに記憶された第1のタスクを、前記ソフトウェア管理ステーションから予めダウンロードされた前記第2のタスク配置テーブルで指定された前記第2のコントローラにコピーし、前記第1のコントローラの前記第1のタスクとコピーした前記第2のコントローラの前記第2タスクとを並列実行させ、
    前記入出力装置の出力の差が、予め設定される所定の許容値の範囲内であることを確認し、
    前記第1のコントローラの前記第1のタスクをスリープさせるとともに、前記第2のコントローラの前記第2タスクを起動し、制御を継続するとともに、更新対象となる前記第2のコントローラの前記ファームウェアを更新し、
    更新された夫々の前記コントローラに記憶されたタスクの配置を前記コントローラと対応付けして記憶したタスク配置状態テーブルとして記憶し、
    順次、前記第2のコントローラの中から前記ファームウェアを更新対象とする前記第1のコントローラとその他の前記第2のコントローラとを選択し、前記第1のコントローラに記憶されたタスクをその他の前記第2のコントローラにコピーし、前記第1のコントローラの前記第1のタスクと、コピーした前記第2のコントローラの前記第2のタスクを並列実行させ、前記入出力装置の出力の差が、予め設定される所定の許容値の範囲内であることを確認し、
    前記第のタスクをスリープ状態にするとともに、前記第2のタスクを起動し、
    更新された夫々の前記コントローラに記憶された前記タスクの配置を、前記タスク配置状態テーブルに記憶し、
    全ての前記コントローラについてファームウェアの更新を実行し、
    全て更新が終了すると、前記第1のタスク平準化テーブルに基づいて、全ての前記タスクを夫々の前記コントローラの分配指定先に記憶し、
    前記並列型コントローラの前記ファームウェアを更新するとともに、監視制御を継続して実行するようにしたことを特徴とする並列型監視制御システムの並列型コントローラのファームウェア更新方法。
  8. 前記ファームウェア更新手段は、全ての前記コントローラのファームウェアが更新された後、前記コントローラからの全て前記タスクの前記タスク情報を測定して前記ソフトウェア管理ステーションに送信し、
    前記ソフトウェア管理ステーションは、送信された前記タスク情報に基づいて、前記コントロー毎の前記タスク情報を求め、予め設定された所定の負荷状態を超える場合、前記第1のタスク平準化テーブル、前記第2のタスク平準化テーブルでの前記タスクの分配状態を前記平準化アルゴリズムに基づいて再配置し、前記第1のタスク平準化テーブル、前記第2のタスク平準化テーブルを更新するようにしたことを特徴とする請求項7に記載の並列型監視制御システムの並列型コントローラのファームウェア更新方法。
JP2005128508A 2005-04-26 2005-04-26 並列型監視制御システム、同システムの並列型コントローラのファームウェアの更新方法 Pending JP2006309345A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005128508A JP2006309345A (ja) 2005-04-26 2005-04-26 並列型監視制御システム、同システムの並列型コントローラのファームウェアの更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005128508A JP2006309345A (ja) 2005-04-26 2005-04-26 並列型監視制御システム、同システムの並列型コントローラのファームウェアの更新方法

Publications (1)

Publication Number Publication Date
JP2006309345A true JP2006309345A (ja) 2006-11-09

Family

ID=37476185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005128508A Pending JP2006309345A (ja) 2005-04-26 2005-04-26 並列型監視制御システム、同システムの並列型コントローラのファームウェアの更新方法

Country Status (1)

Country Link
JP (1) JP2006309345A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217488A (ja) * 2008-03-10 2009-09-24 Hitachi Ltd 運行管理システムおよびそのリモート保守方法
JP2010529561A (ja) * 2007-06-04 2010-08-26 グラコ ミネソタ インコーポレーテッド 分散監視及び流体処理制御システム
JP2010198307A (ja) * 2009-02-25 2010-09-09 Hitachi Automotive Systems Ltd 自動車用制御装置
US7873733B2 (en) 2008-03-28 2011-01-18 Fujitsu Limited Load distribution method, load distribution device, and system including load distribution device
JP2011114513A (ja) * 2009-11-26 2011-06-09 Mitsubishi Electric Corp 録画装置
JP2013080346A (ja) * 2011-10-03 2013-05-02 Daiwa Securities Group Inc 情報処理装置、保守作業支援方法および保守作業支援用プログラム
KR101349603B1 (ko) 2010-11-02 2014-01-15 한국전자통신연구원 실시간 시스템에서 소프트웨어 업데이트 방법 및 이를 위한 장치
WO2015198623A1 (ja) * 2014-06-27 2015-12-30 株式会社日立製作所 故障予兆検出システム
JPWO2014109019A1 (ja) * 2013-01-09 2017-01-19 三菱電機株式会社 プラントエンジニアリングシステム
CN114650208A (zh) * 2020-12-18 2022-06-21 华为技术有限公司 设备固件升级方法、装置、设备及介质

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010529561A (ja) * 2007-06-04 2010-08-26 グラコ ミネソタ インコーポレーテッド 分散監視及び流体処理制御システム
TWI483584B (zh) * 2007-06-04 2015-05-01 Graco Minnesota Inc 分配式監視及控制流體處理系統
JP2009217488A (ja) * 2008-03-10 2009-09-24 Hitachi Ltd 運行管理システムおよびそのリモート保守方法
US7873733B2 (en) 2008-03-28 2011-01-18 Fujitsu Limited Load distribution method, load distribution device, and system including load distribution device
JP2010198307A (ja) * 2009-02-25 2010-09-09 Hitachi Automotive Systems Ltd 自動車用制御装置
JP2011114513A (ja) * 2009-11-26 2011-06-09 Mitsubishi Electric Corp 録画装置
KR101349603B1 (ko) 2010-11-02 2014-01-15 한국전자통신연구원 실시간 시스템에서 소프트웨어 업데이트 방법 및 이를 위한 장치
JP2013080346A (ja) * 2011-10-03 2013-05-02 Daiwa Securities Group Inc 情報処理装置、保守作業支援方法および保守作業支援用プログラム
JPWO2014109019A1 (ja) * 2013-01-09 2017-01-19 三菱電機株式会社 プラントエンジニアリングシステム
WO2015198623A1 (ja) * 2014-06-27 2015-12-30 株式会社日立製作所 故障予兆検出システム
JP2016012157A (ja) * 2014-06-27 2016-01-21 株式会社日立製作所 故障予兆検出システム
CN114650208A (zh) * 2020-12-18 2022-06-21 华为技术有限公司 设备固件升级方法、装置、设备及介质
CN114650208B (zh) * 2020-12-18 2023-08-22 华为技术有限公司 设备固件升级方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
JP2006309345A (ja) 並列型監視制御システム、同システムの並列型コントローラのファームウェアの更新方法
JP5819575B2 (ja) プロセス工場において制御冗長性をアップグレードおよび提供するための方法と機器
US7275236B1 (en) Method for programming a multiple device control system using object sharing
CN110874261B (zh) 可用性系统、方法和存储有程序的存储介质
US20050203648A1 (en) System and method for accessing PLC data on demand
GB2507604A (en) Rack and method thereof for simultaneously updating basic input output systems
JPH0283601A (ja) プログラマブル・コントローラ
JP2015176191A (ja) コントローラ
JP2018055583A (ja) 制御装置、制御方法およびプログラム
CN104303117A (zh) 用于定期自动化生产的鲁棒实时控制的系统和方法
JPH08202409A (ja) 分散制御装置、システム及びコントローラ
TWI534569B (zh) 控制裝置、開發裝置,及開發程式
JP5421894B2 (ja) 2重化プロセス制御装置および制御データ一致化方法
US11287793B2 (en) Control device, control method for control device, information processing program, and recording medium
JP2009181443A (ja) 産業用コントローラ用機器
US20180074470A1 (en) Apparatus and method for generating program
US20220326673A1 (en) Support device and storage medium
KR20220101650A (ko) 기계 배열체의 제어 및 모니터링
WO2015045004A1 (ja) プログラマブルコントローラおよびプログラマブルコントローラの制御方法
CN116974689A (zh) 集群容器调度方法、装置、设备及计算机可读存储介质
JP6119452B2 (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム
CN115328065A (zh) 一种应用于工业控制系统的控制单元功能自动迁移的方法
JP2002049405A (ja) 分散制御装置、システム及びコントローラ
JP2006313559A (ja) 数値制御工作機械設備の運転方法
CN116909678A (zh) 一种容器化plc的实现方法及系统、管理服务器