JP2025035682A - 監視制御システム及び監視制御方法 - Google Patents

監視制御システム及び監視制御方法 Download PDF

Info

Publication number
JP2025035682A
JP2025035682A JP2023142894A JP2023142894A JP2025035682A JP 2025035682 A JP2025035682 A JP 2025035682A JP 2023142894 A JP2023142894 A JP 2023142894A JP 2023142894 A JP2023142894 A JP 2023142894A JP 2025035682 A JP2025035682 A JP 2025035682A
Authority
JP
Japan
Prior art keywords
controlled
plc
data
monitoring
control
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
JP2023142894A
Other languages
English (en)
Inventor
征浩 佐藤
Yukihiro Satou
英文 宮田
Hidefumi Miyata
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2023142894A priority Critical patent/JP2025035682A/ja
Publication of JP2025035682A publication Critical patent/JP2025035682A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

Figure 2025035682000001
【課題】従来、更新前の制御システムと更新後の制御システムを同時に動作させて監視制御を継続しつつ、制御システムを更新することができなかった。
【解決手段】監視制御システム1は、更新開始前に現行の制御装置10と一以上の被制御機器を接続していた第1のネットワークと異なる第2のネットワークで、現行の制御装置10と仮想化装置53を接続し、第1のネットワークで後継の制御装置50と被制御機器を接続した構成を有し、後継の制御装置50と仮想化装置53とは通信可能である。仮想化装置53が現行の制御装置10から受信したデータを基に、後継の制御装置50が、被制御機器へ制御データを送信して被制御機器を制御する。後継の制御装置50が被制御機器から受信したデータを基に、被制御機器の模擬データを、現行の制御装置10へ送信し、後継の制御装置50が被制御機器を監視する。
【選択図】図3

Description

本発明は、プラントや工場等で稼働する監視制御システム及び監視制御方法に関する。
従来、プラントや工場などで、プログラマブルロジックコントローラ(以下、「PLC」と記す)やI/O(Input/Output)装置を組み合わせて、制御対象機器を監視及び制御する監視制御システムが構築されている。
このような監視制御システムでは、制御装置であるPLCの製品寿命やPLCの機能拡充により、新たなPLCへの更新(入替え)が必要となることがある。例えば、特許文献1には、ハードウェア上でハードウェアの代わりとして動作する仮想化部と、仮想化部上で動作しアプリケーションを復元する復元部を備えたプロセス制御装置による更新方法が開示されている。
特開2015-138292号公報
ところで、特許文献1には、制御アプリケーションの動作を継続させつつプロセス制御装置の更新を行うことが記載されているが、更新後のプロセス制御装置のデバッグや調整については記載されていない。また、デバッグ中や調整中は、更新前のプロセス制御装置と更新後のプロセス制御装置を同時に動作させることが必要となる場合があるが、それについても記載されていない。更新後のプロセス制御装置のデバッグ中や調整中に、更新前のプロセス制御装置を動作させていなかった。
このような状況から、監視制御システムを動作させながら更新前の制御装置と更新後の制御装置を同時に動作させて監視制御を継続しつつ、制御装置を更新する手法が要望されていた。
上記課題を解決するために、本発明の一態様の監視制御システムは、被制御機器を監視制御する現行の制御装置を、後継の制御装置に更新する作業が実施される監視制御システムであって、更新開始前に現行の制御装置と一以上の被制御機器を接続していた第1のネットワークと異なる第2のネットワークで、現行の制御装置と仮想化装置を接続し、第1のネットワークで後継の制御装置と被制御機器を接続した構成を有する。後継の制御装置と仮想化装置とは通信可能に構成されている。
仮想化装置が第2のネットワークを介して現行の制御装置から受信したデータを基に、後継の制御装置が、第1のネットワークを介して被制御機器へ制御データを送信して被制御機器を制御する。後継の制御装置が第1のネットワークを介して被制御機器から受信したデータを基に、仮想化装置が現行の制御装置で異常を検出されない模擬データを、第2のネットワークを介して現行の制御装置へ送信し、後継の制御装置が被制御機器を監視する。
本発明の少なくとも一態様によれば、対象に対する監視制御を継続したまま、監視制御システム内の制御装置の更新が可能となる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
PLCを更新する前の監視制御システムの構成例を示す図である。 従来のPLC更新期間中の監視制御システムの構成例を示す図である。 本発明の一実施形態に係るPLC更新期間中の監視制御システムの構成例を示す図である。 PLCの各部が備える計算機のハードウェア構成例を示す図である。 本発明の一実施形態に係る更新後PLCのオプションモジュール及び仮想化装置の構成例を示す図である。 本発明の一実施形態に係るPLC更新期間中の更新後PLCの構成及び処理動作の例を示す図である。 本発明の一実施形態に係るCPUモジュールが異常停止した場合のデータスルーモードにおける更新後PLCの構成及び処理動作の例を示す図である。 本発明の一実施形態に係る監視制御システムにおいてPLCを更新する手順の例を示すフローチャートである。
以下、添付図面を参照して、本発明を実施するための形態(以下、「実施形態」と称する)の例について説明する。
本明細書及び添付図面において、同一の構成要素又は類似の構成要素には同一の符号を付与し、重複する説明を省略する、又は差分を中心とした説明のみを行う場合がある。各構成要素の数は、特に断りがない限り単数でも複数でもよい。
図面を参照して、本発明の一実施形態に係る監視制御システムにおける制御装置更新方法について詳細に説明する。
本発明の一実施形態を説明する前に、監視制御システムを稼働した状態で制御装置(例えば、PLC)を更新する場合の従来の制御システム更新方式について、図1~2を用いて説明する。
図1は、PLCを更新する前の監視制御システムの構成例を示す図である。
図1において、監視制御システムは、監視制御を行うPLC10と、各種信号や状態値などの入出力を行う入出力機器である被制御機器31~33(被制御機器群30)と、それらを接続するLAN(Local Area Network)40から構成される。本図では、説明のためPLCを1台のみ記述しているが、複数のPLCをLAN40に接続してもよい。また、被制御機器を3台のみ記述しているが、さらに複数の被制御機器をLAN40に接続してもよい。
PLC10は、演算処理機能を有し被制御機器の監視及び制御を実行するCPUモジュール(Central Processing Unit)11と、通信装置であるオプションモジュール12から構成される。PLC10内において、CPUモジュール11とオプションモジュール12は、相互にデータ伝送する。オプションモジュール12は、LAN40を介して被制御機器群30と通信する。
LAN40は、リング型のネットワークを想定して記述しているが、一般的なネットワーク、例えばイーサネット(登録商標)を用いて接続してもよい。また、有線ネットワークだけではなく無線ネットワークを使用してもよい。
被制御機器31~33は、監視制御システム内で動作する各種入出力機器であり、監視制御システムの現場に設置される。例えば、被制御機器は、水量計や温度センサ等のセンサ機器、流量制御弁や開閉弁等のバルブ機器、モータ、及び、その他現場に設置される機器である。これらの被制御機器31~33は、PLC10から送信される、指令値などのビットデータや、モータの指定回転数などの数値データに基づき動作する。また、被制御機器31~33は、状態値などのビットデータや、モータの現状の回転数などの数値データを、PLC10へ送信する。
<従来のPLC更新期間中の監視制御システムの構成>
図2は、従来のPLC更新期間中の監視制御システムの構成例を示す図である。
図2には、図1に示した監視制御システムにPLC20が増設された例が示されている。すなわち、図2に示す監視制御システムは、PLC10と、PLC10に替わって新たに監視制御を行うPLC20と、被制御機器31~33(被制御機器群30)と、それらを接続するLAN40から構成される。
本図では、説明のため更新後のPLCを1台のみ記述しているが、複数のPLCをLAN40に接続してもよい。また、被制御機器を3台のみ記述しているが、さらに複数の被制御機器をLAN40に接続してもよい。
更新後のPLC20(後継機)は、基本的にPLC10(現行機)と同様の構成を備える。PLC10は、更新期間中に、更新前の制御ロジックをそのまま使用するPLCである。一方、PLC20は、更新後の変更した制御ロジックを使用するPLCである。PLC20は、被制御機器群30の監視及び制御を実行するCPUモジュール21と、通信装置であるオプションモジュール22から構成される。オプションモジュール22は、LAN40を介して被制御機器群30と通信する。
新たに監視制御システムに設置したPLC20は、デバッグや調整等が必要であるため、設置後直ぐに被制御機器群30を含むプラントを監視制御することはできない。しかし、その間もプラントの監視制御を停止することはできないため、図2のように、更新前のPLC(以下、「更新前PLC」と記す)10と、更新後のPLC(以下、「更新後PLC」と記す)20を同じLAN40に並列に接続し、それぞれのPLCの制御対象の被制御機器を分けることにより、部分的にデバッグや調整を行っていた。
例えば、PLC10のアプリケーションプログラムを改造して、更新前PLC10の制御対象から被制御機器33を除外する。その後、更新後PLC20のアプリケーションプログラムを変更して、除外した被制御機器33のみを更新後PLC20の制御対象として、更新後PLC20のデバッグを行う。以上のように、更新前PLC10及び更新後PLC20両方のアプリケーションプログラムを、更新のために改造する必要があった。
また、この方式では、更新後PLC20のアプリケーションプログラムも変更しなければならないため、デバッグ終了後に変更内容の戻し忘れや変更ミス等により、不良を作り込む可能性もあった。
プラント(監視制御システム)で使用されるPLCの運用年数は、通常10年を超えることも少なくない。このため、更新前PLC10のアプリケーションプログラムを改造するためのプログラミングツール、並びにコンパイラやアセンブラといったプログラムの開発環境が入手できなくなっている場合もある。プログラミングツールや開発環境が入手できた場合でも、それらを動作させるための条件を満たすPC(Personal Computer)が製造中止とっており入手できない場合ある。それらの要因により、アプリケーションプログラムの改造そのものが行えない場合もありえる。
その場合は、被制御機器が動作していない時間帯に、デバッグや調整を行うという運用方法をとっていた。例えば、夜間などに、更新前PLC10をLAN40から物理的に切離し、更新後PLC20をLAN40に接続して、デバッグや調整を行う。そのため、更新作業における作業者の負担が重く、さらに作業期間も長くなる傾向があった。
<PLC更新期間中の監視制御システムの構成>
次に、本発明の一実施形態に係るPLC更新期間中の監視制御システムの構成について、図3を参照して説明する。
図3は、本発明の一実施形態に係るPLC更新期間中の監視制御システムの構成例を示す図である。
図3では、更新前PLC10と更新後PLC50を、更新後PLC50に実装した仮想化装置53を経由して接続した構成が示されている。図3において、監視制御システム1は、更新前PLC10と、更新前PLC10に替わって新たに監視制御を行うPLC50と、更新前PLC10と更新後PLC50を接続するLAN60と、被制御機器群30と、更新後PLC50と被制御機器群30を接続するLAN40から構成される。さらに、LAN60を介して、監視操作装置70がPLC50の上位に接続されている。また、被制御機器31~33が接続されているLAN40に、被制御機器34が新たに接続されている。
更新前PLC10(現行機)は、前述したように、被制御機器群30の監視制御を実行するCPUモジュール11と、通信装置であるオプションモジュール12から構成される。
オプションモジュール12は、LAN60を介して更新後PLC50に実装した仮想化装置53と通信する。
LAN60は、リング型のネットワークを想定して記述しているが、一般的なネットワーク、例えばイーサネットを用いて接続してもよい。また、有線ネットワークだけでなく無線ネットワークを使用してもよい。
更新後PLC50(後継機)は、被制御機器群30の監視制御を実行するCPUモジュール51と、通信装置であるオプションモジュール52と、被制御機器群30の模擬動作をする仮想化装置53から構成される。
CPUモジュール51は、被制御機器群30の監視制御を実行する。ただし、PLCの更新に関わる構成及び機能については、後述する図6を参照して詳しく述べる。
オプションモジュール52は、LAN40を介して被制御機器群30と通信する。
仮想化装置53は、LAN60を介して更新前PLC10に実装したオプションモジュール12と通信する。仮想化装置53は、更新期間中に、更新前PLC10と更新後PLC50を混在させるために設けられている。更新前PLC10と被制御機器群30との間に仮想化装置53を設置することで、更新後PLC50と被制御機器群30が仮想化され、更新前PLC10は従来通りに動作可能となる。仮想化装置53は、被制御機器の動作を模擬することにより、更新後PLC50と被制御機器群30を仮想化する。
本実施形態では、仮想化装置53を用いて、更新前PLC10に影響を与えずに、更新後PLC50の動作検証、更新前PLC10と更新後PLC50の混在動作、及び入替えを行う。以下、LAN40及びLAN60を経由したデータ通信の説明において、LAN40及びLAN60の記載を省略する場合がある。
この本実施形態に係る構成では、更新前PLC10と被制御機器群30を接続するLANを分けることを特徴としている。これにより、更新前PLC10と更新後PLC50を同時に動作させたまま、更新後PLC50のデバッグや調整が行える。
また、この構成では、仮想化装置53が被制御機器を模擬した動作を行い、更新前PLC10に被制御機器と通信していると認識させることを特徴としている。これにより、更新前PLC10のアプリケーションプログラムを変更する必要がない。
<PLCが備える計算機のハードウェア構成例>
PLC50を構成する、CPUモジュール51、オプションモジュール52、及び被制御機器群30は、それぞれ計算機を備える。
図4に、PLC50の各部が備える計算機のハードウェア構成例を示す。
図4において、計算機80は、CPU等のプロセッサ80a、及び、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶部80b、入出力I/F80c、及び通信I/F80dを備えるコンピュータによって構成される。PLC50の各部の機能は、予めROM又は不揮発性ストレージに書き込まれたプログラムを、プロセッサ80aがRAMに読み出して実行することにより実現される。
CPUモジュール51、オプションモジュール52、及び仮想化装置53の各々が、プロセッサ80a及びメモリ(記憶部80b)を有するコンピュータによって動作する。
入出力I/F80cは、図示しない入力装置から送られるUI(User Interface)情報の入力処理を行い、図示しない表示装置に対するデータの出力処理を行う。入力装置は、キーボードやマウスなどである。さらに、入力装置は、タッチセンサと表示パネルが積層されたタッチパネルでもよい。
通信I/F80dは、PLC50内の各部間、又は、他のPLCや被制御機器群30との間で、データを送受信する通信処理を行う。図2に示したPLC10及びPLC20の各モジュールも、本図に示した構成と同様の構成を備えている。さらに、監視操作装置70も同様の構成を備えている。また、被制御機器も、基本的に同様の構成を備えていると考えてよい。
<更新後PLCのオプションモジュール及び仮想化装置の構成>
次に、本発明の一実施形態に係る更新後PLCのオプションモジュール及び仮想化装置の構成について、図5を参照して説明する。
図5は、更新後PLC50のオプションモジュール52及び仮想化装置53の構成例を示す図である。図5においてCPUモジュール51の記載は省略している。
[仮想化装置]
仮想化装置53は、被制御機器模擬プログラム531、通信プログラム532、設定パラメータ533、送信バッファ534、及び受信バッファ535から構成される。送信バッファ534、及び受信バッファ535は、RAM(記憶部80b)により実現される。
被制御機器模擬プログラム531は、被制御機器群30の通信動作を模擬するソフトウェアである。被制御機器模擬プログラム531は、設定ツールから設定された設定パラメータ533に従って、オプションモジュール52と通信する被制御機器群30の台数分起動される。あるいは、被制御機器模擬プログラム531は一つのみ起動し、一つのプログラムで被制御機器群30の台数分の処理を実行してもよい。被制御機器群30の台数分とは、通信したい被制御機器の台数であって、通常はLAN40に接続している被制御機器のほぼ全台数である。設定ツールには、ユーザーインタフェース用のPC上で動作する設定ツール、又はPLC50の上位に接続される監視操作装置70上で動作する設定ツールを用いることができる。
設定パラメータ533には、更新前PLC10が通信していた被制御機器群30の台数、及び被制御機器それぞれの情報が含まれる。例えば、被制御機器それぞれの情報(以下、「構築情報」と称する場合がある)には、送信語数、受信語数、送信用エリアのアドレス、及び受信エリアのアドレスが含まれる。送信語数及び受信語数はデータ長と関連しており、受信語数は通信データが自分宛かどうかを判断するための材料の一つである。送信用エリアのアドレスと受信エリアのアドレスはそれぞれ、仮想化装置53が備えるメモリ(例えば、記憶部80b)において各データを格納する記憶領域を示す情報である。
通信プログラム532は、被制御機器模擬プログラム531からの要求に従い、送信バッファ534経由でLAN60へデータを送信する。また、通信プログラム532は、LAN60から受信バッファ535に受信したデータを、被制御機器模擬プログラム531へ受け渡す。通信プログラム532は、低レベルの通信プログラムである。すなわち、通信プログラム532は、物理層に近い、低レイヤのプロトコルを規定したプログラムである。なお、通信プログラム532は、図5では被制御機器模擬プログラム531とは分離して記述してあるが、被制御機器模擬プログラム531に含まれてもよい。
本実施形態では、後継の制御装置(更新後PLC50)は、被制御機器の監視制御を実行する処理装置(CPUモジュール51)と、被制御機器と通信する通信装置(オプションモジュール52)と、を備える。仮想化装置において現行の制御装置(更新前PLC10)から受信したデータが、処理装置を経由して通信装置へ転送される。また、通信装置において被制御機器から受信したデータが、処理装置を経由して仮想化装置へ転送される。
[更新前PLCのオプションモジュールと被制御機器群との通信]
更新前PLC10のオプションモジュール12(図1)と、被制御機器群30との通信は、以下の手順で確立する。これは、PLC等の制御装置と被制御機器群との一般的な通信確立の手順と同じである。
まず、更新前PLC10のオプションモジュール12から被制御機器群30へ、LAN40を介して、接続要求を送信する。接続要求の送信宛先の被制御機器は、1台でもよいし複数台でもよい。
接続要求を受信した被制御機器は、接続要求が自分宛であると判断した場合に、オプションモジュール12へ接続要求に対する応答(許可応答)を送信する。
被制御機器から接続要求に対する応答を受信したオプションモジュール12は、接続状態を“接続処理中”へ遷移させ、図示しない通信ステータス情報に“接続処理中”を設定する。
次に、オプションモジュール12から構築情報(図示略)を被制御機器群30へ送信する。構築情報は、オプションモジュール12から被制御機器へ対する送信語数、受信語数、送信用エリアのアドレス、及び受信エリアのアドレスから構成される。構築情報は、設定パラメータ533と同様に、設定ツールを用いて設定することができる。ここでの送信用エリアのアドレスと受信エリアのアドレスはそれぞれ、オプションモジュール12が備えるメモリ(例えば、記憶部80b)において各データを格納する記憶領域を示す情報である。
被制御機器は、オプションモジュール12から送られる構築情報の所定の項目が自身の持つ情報と一致する場合、オプションモジュール12へ接続完了の応答を送信する。不一致の場合には、被制御機器は、拒否応答を送信する。
接続完了の応答を受信したオプションモジュール12は、“接続完了状態”へ遷移し、通信ステータス情報に“接続完了状態”を設定する。以上により、更新前PLC10のオプションモジュール12と被制御機器群30との接続が確立する。
その後、オプションモジュール12は、制御周期に従い被制御機器群30へ周期的に制御データを送信し、その応答として被制御機器群30から状態値等の監視データを受信する。また、オプションモジュール12は、被制御機器群30からの応答を監視する。そして、オプションモジュール12は、一定時間応答がない場合に“未接続状態”へ遷移し、被制御機器群30に再度接続要求を送信して再接続を試みる。
[仮想化装置の模擬動作]
更新後PLC50の仮想化装置53(図5)は、上記の手順を模擬した動作を実行する。通常、通信ネットワークに接続される機器には固有の番号が事前に割り当てられて、自身の番号宛以外のデータは受信しない。しかし、仮想化装置53は、自身の番号宛以外のデータも受信(スヌープ)することにより、模擬動作を可能としている。
仮想化装置53の被制御機器模擬プログラム531は、仮想化装置53の電源投入により起動される。被制御機器模擬プログラム531は、オプションモジュール52内部にある通信ステータス情報521を参照して、更新前PLC10に実装したオプションモジュール12からの接続要求に応答するかを決定する。通信ステータス情報521は、オプションモジュール52と被制御機器群30との通信状態を表す情報である。通信状態には、“未接続”や“接続処理中”や“接続完了“などの状態がある。通信ステータス情報521は、被制御機器ごとに生成される。
通信ステータス情報521が“接続完了”の場合、被制御機器模擬プログラム531は、通信プログラム532経由で、更新前PLC10のオプションモジュール12から受信した接続要求に対する応答(許可応答)を送信する。接続要求に対する応答を受信したオプションモジュール12は、対象の被制御機器へ向けて構築情報を送信する。この被制御機器へ向けて送信された構築情報は、仮想化装置53を経由する。
オプションモジュール12から構築情報を受信した仮想化装置53では、被制御機器模擬プログラム531が、受信した構築情報と設定パラメータ533を比較する。そして、両者が一致した場合、被制御機器模擬プログラム531は、オプションモジュール12へ接続完了の応答を送信する。接続完了の応答を受信したオプションモジュール12は、仮想化装置53との“接続完了状態”へ遷移する。
被制御機器のいずれかへ送られたデータの情報(構築情報)と、設定パラメータ533の情報には、少なくともオプションモジュール12から被制御機器へ対する送信語数、受信語数、送信用エリアのアドレス、及び受信エリアのアドレスが含まれる。
このように、仮想化装置は、被制御機器を模擬した動作を行うための被制御機器模擬プログラムを、被制御機器ごとに有する。被制御機器模擬プログラムは、現行の制御装置(更新前PLC10)から被制御機器のいずれかへ送られたデータの情報(構築情報)と、予め設定された設定パラメータ533の情報を比較する。そして、被制御機器模擬プログラムは、両情報が一致する場合には、データの送信先が自身の被制御機器であると判断し、現行の制御装置と接続する処理を開始する。
このような被制御機器模擬プログラム531の模擬動作によって、オプションモジュール12と仮想化装置53の接続が完了し、更新前PLC10は、あたかも被制御機器群30と接続しているかのように動作することができる。
被制御機器模擬プログラム531は、一定間隔で通信ステータス情報521を参照し続け、オプションモジュール12との通信状態を動的に変化させる。被制御機器群30の内の1台、例えば被制御機器31の電源をオフし、通信ステータス情報521が“未接続”へ変化した場合、被制御機器模擬プログラム531は、被制御機器31に関してオプションモジュール12との接続を切断する。このように、仮想化装置53は、オプションモジュール52と被制御機器群30との通信の接続状態を監視することにより、リアルタイムに更新前PLC10へ、被制御機器群30の通信の接続状態を伝達することが可能となる。
また、後述の図6に示すように、仮想化装置53が更新前PLC10から受信したデータは、CPUモジュール51(図3)とオプションモジュール52を経由して、被制御機器群30へ転送される。これにより、更新前PLC10と更新後PLC50を同一のLAN60(図3)に接続したまま、更新前PLC10から被制御機器群30を制御することが可能となる。
さらに、後述の図6に示すように、オプションモジュール52が、被制御機器群30から受信したデータは、CPUモジュール51と仮想化装置53を経由して、更新前PLC10へ転送される。これにより、更新前PLC10と更新後PLC50を同一のLAN60に接続したまま、更新前PLC10において被制御機器群30の監視が可能となる。
(模擬データ)
この動作状態で、更新後PLC50から更新前PLC10へ、更新前PLC10で異常を検出しない模擬データ(安全系データ)を送信することにより、被制御機器31~33のいずれかを更新前PLC10の監視対象外とすることもできる。この模擬データは、更新前PLC10のアプリケーションプログラムで異常と判断されないような仕様のデータである。
模擬データは、更新後PLCが被制御機器の監視データを模擬して生成したデータ、又は被制御機器の監視データを模擬して事前に用意してあるデータである。異常時を想定したデバックを実施したいときに、更新前PLC10に本当に異常なデータを送信すると、更新前PLC10が当該異常なデータに対応した動作を実施してしまう。このため、更新後PLC50は、被制御機器から受信したデータを用いてデバックを行いつつ、更新前PLC10には正常な値を模した模擬データを送る。
監視対象外とした被制御機器、例えば被制御機器31の模擬データを、更新前PLC10へ送信する。これにより、更新前PLC10による監視対象外とした被制御機器31を、更新後PLC50から監視することができ、更新後PLC50で被制御機器31に関係するデバッグや調整が可能となる。
模擬的に安全系データを送信する単位(切り替え)は、被制御機器単位又はデータ単位でもよい(可能とする)。データ単位とすることにより、例えば、被制御機器31が複数チャンネルを持ちアナログ値(24Vの電圧入力等)を扱う入力機器の場合、チャンネル“0”の値は更新前PLC10が監視し、それ以外のチャンネルの値を更新後PLC50が監視するという運用が可能となる。このため、更新後PLC50のデバッグを柔軟に行うことが可能となる。
(制御データ)
また、更新後PLC50では、更新前PLC10から受信したデータを、被制御機器群30へ転送せずに、CPUモジュール51のアプリケーションプログラム513(図6参照)の制御データ512d(図6参照)に切り替えることもできる。これにより、更新後PLC50から被制御機器を制御することができ、更新後PLC50のデバッグや調整が可能となる。
アプリケーションプログラム513からの制御データ512dへ切り替えるのは、被制御機器単位又はデータ単位でもよい(可能とする)。データ単位とすることにより、例えば、被制御機器32が複数チャンネルを持ちアナログ値(24Vの電圧出力等)を扱う出力機器の場合、チャンネル“0”の値は更新前PLC10が出力し、それ以外のチャンネルの値を更新後PLC50が出力するという運用が可能となる。このため、更新後PLC50のデバッグを柔軟に行うことが可能となる。
被制御機器31~33が接続されているLAN40に、更新後PLC50のみが監視制御する被制御機器、例えば被制御機器34(図3)を新たに増設することもできる。その場合、更新前PLC10に対して、増設した被制御機器34からの送信データを転送しないため、更新前PLC10へ影響を与えずに安全に被制御機器34の増設を行うことができる。更新後PLC50は、更新前PLC10の関与しない追加の被制御機器34への対応が可能となる。
以上により、更新前PLC10の監視制御を継続したまま、更新後PLC50のデバッグ及び調整が可能となる。
<PLC更新期間中の更新後PLCの処理動作>
次に、PLC更新期間中の更新後PLCの処理動作について、図6を参照して詳細に説明する。
図6は、本発明の一実施形態に係るPLC更新期間中の更新後PLCの構成及び処理動作の例を示す図である。
CPUモジュール51は、制御プログラム511と、データ用メモリ512と、アプリケーションプログラム513から構成される。オプションモジュール52と仮想化装置53の構成の説明は省略する。
制御プログラム511は、CPUモジュール51内におけるデータ転送やデータ切替えなどを制御するプログラムである。
アプリケーションプログラム513は、被制御機器群30を監視制御するプログラムである。
更新後PLC50の仮想化装置53は、オプションモジュール52が被制御機器群30と通信を開始したときに設定する通信ステータス情報521と、設定ツールから設定された設定パラメータ533を基に、被制御機器模擬プログラム531を起動する。
仮想化装置53は、被制御機器模擬プログラム531を、オプションモジュール52が通信している被制御機器群30の台数分起動するか、又は一つの被制御機器模擬プログラム531を起動して、複数台の被制御機器を管理する。例えば、オプションモジュール52が4台の被制御機器31~34と通信している場合は、仮想化装置53は4台分の被制御機器模擬プログラム531を生成する。
(仮想化装置経由で更新前PLCから被制御機器へのデータ通信)
被制御機器模擬プログラム531は、前述した手順により、更新前PLC10に実装されたオプションモジュール12と接続を確立し周期的に通信を実行する。
被制御機器模擬プログラム531は、受信バッファ535に格納されている更新前PLC10から受信した制御データを、通信プログラム532経由で受け取る。そして、被制御機器模擬プログラム531は、更新前PLC10から取得したデータを、CPUモジュール51のデータ用メモリ512に配置された受信用エリア512cへ転送する。
CPUモジュール51の制御プログラム511は、更新前PLC10から送られた受信用エリア512cのデータを、被制御機器へ送信するデータを格納する送信用エリア512eへコピーする。
オプションモジュール52の通信制御プログラム524は、被制御機器へ送信するCPUモジュール51の送信用エリア512eのデータを、オプションモジュール52内の送信バッファ522にコピーした後、被制御機器へ送信する。
(オプションモジュール経由で被制御機器から更新前PLCへのデータ通信)
次に、オプションモジュール52の通信制御プログラム524は、被制御機器から受信した監視データを、オプションモジュール52内の受信バッファ523に格納する。そして、通信制御プログラム524は、受信バッファ523に格納された被制御機器から受信したデータを、CPUモジュール51のデータ用メモリ512に配置された被制御機器からの受信用エリア512fへコピーする。
CPUモジュール51の制御プログラム511は、被制御機器からの受信用エリア512fのデータを、データ用メモリ512に配置された更新前PLC10への送信用エリア512bへコピーする。
仮想化装置53の被制御機器模擬プログラム531は、CPUモジュール51のデータ用メモリ512に配置された送信用エリア512bからデータを取り出し、通信プログラム532経由で送信バッファ534へコピーする。そして、被制御機器模擬プログラム531は、送信バッファ534のデータを、更新前PLC10のオプションモジュール12へ送信する。
このように、更新後PLC50は、更新前PLC10から受信した制御データを、仮想化装置53→CPUモジュール51→オプションモジュール52経由で被制御機器群30へ転送する。
また、更新後PLC50は、被制御機器群30から受信した監視データを、オプションモジュール52→CPUモジュール51→仮想化装置53経由で更新前PLC10へ転送する。
このような制御データ及び監視データの転送を行うことにより、更新前PLC10から更新後PLC50を経由して被制御機器群30の監視制御が可能となる。
CPUモジュール51の制御プログラム511が、更新前PLC10からの受信用エリア512cのデータを、被制御機器への送信用エリア512eへコピーするときに、受信用エリア512cのデータの替わりに、アプリケーションプログラム513の制御データ512dをコピーするように切り替えることができる。切替えは、被制御機器単位、又はデータ単位とすることができる。
同様に、CPUモジュール51の制御プログラム511が、被制御機器からの受信用エリア512fのデータを、更新前PLC10への送信用エリア512bへコピーするときに、受信用エリア512fのデータの替わりに、模擬データ512aをコピーするように切り替えることができる。切替えは、被制御機器単位、又はデータ単位とすることができる。
制御データ512d又は模擬データ512aへの切替え動作自体は、仮想化装置53の設定に基づいて、制御プログラム511が行う。なお、切替え指示(条件設定)は、アプリケーションプログラム513若しくは制御プログラム511が読み込む制御パラメータ(説明省略)、又は、ユーザーインタフェース用のPC上で動作する設定ツール、又は、更新後PLC50の上位に接続される監視操作装置70で動作する設定ツールから行うことができる。条件設定は、記憶部80bに保存される。
このように、処理装置(CPUモジュール51)は、仮想化装置の設定に基づいて、仮想化装置から受信したデータを通信装置(オプションモジュール52)へ転送する替わりに、制御データを通信装置へ転送することを選択できる機能を有する。
また、処理装置(CPUモジュール51)は、仮想化装置の設定に基づいて、通信装置(オプションモジュール52)が被制御機器から受信したデータを仮想化装置へ転送する替わりに、模擬データを仮想化装置へ転送することを選択できる機能を有する。
前述したように、被制御機器単位又はデータ単位で、更新前PLC10のデータと更新後PLC50のデータをリアルタイムに切り替えることにより、更新前PLC10と被制御機器を分離し、更新後PLC50のデバッグを柔軟に行うことが可能となる。
以上のとおり、本実施形態に係る監視制御システムは、被制御機器を監視制御する現行の制御装置(更新前PLC10)を、後継の制御装置(更新後PLC50)に更新する作業が実施される監視制御システムである。
更新開始前に現行の制御装置と一以上の被制御機器(被制御機器群30)を接続していた第1のネットワーク(LAN40)と異なる第2のネットワーク(LAN60)で、現行の制御装置と仮想化装置を接続し、第1のネットワークで後継の制御装置と被制御機器を接続した構成を有する。後継の制御装置と仮想化装置とは通信可能に構成されている。
仮想化装置が第2のネットワークを介して現行の制御装置から受信したデータを基に、後継の制御装置が、第1のネットワークを介して被制御機器へ制御データを送信して被制御機器を制御する。
後継の制御装置が第1のネットワークを介して被制御機器から受信したデータを基に、仮想化装置が現行の制御装置で異常を検出されない模擬データを、第2のネットワークを介して現行の制御装置へ送信し、後継の制御装置が被制御機器を監視する。
<CPUモジュールが異常停止した場合の処理動作>
次に、図7を参照して、更新後PLCのデバッグ中にCPUモジュールが異常停止した場合の、データスルーモード時の更新後PLCの処理動作について説明する。
図7は、本発明の一実施形態に係るCPUモジュールが異常停止した場合の、データスルーモードにおける更新後PLCの構成及び処理動作の例を示す図である。
図7において、仮想化装置53とオプションモジュール52は、CPUモジュール51内部にある、CPUモジュール51の状態を表すCPUステータス情報514を一定周期で読み出し、CPUモジュール51の動作に異常がないか監視する。例えば、CPUモジュール51が自身の状態を自己診断し、診断結果をCPUステータス情報514に書き込む。CPUモジュール51の異常の監視は、仮想化装置53の被制御機器模擬プログラム531、及びオプションモジュール52の通信制御プログラム524が実行する。
CPUモジュール51の異常(例えば、プログラムエラー等)によりCPUモジュール51の停止を検出した場合、仮想化装置53の被制御機器模擬プログラム531は、更新前PLC10から受信したデータをCPUモジュール51の受信用エリア512cへコピーしない。被制御機器模擬プログラム531は、更新前PLC10から受信したデータを、オプションモジュール52の送信バッファ522へ直接コピーする。
また、CPUモジュール51の停止を検出した場合、オプションモジュール52の通信制御プログラム524は、オプションモジュール52内の受信バッファ523に格納された被制御機器から受信したデータを、CPUモジュール51の受信用エリア512fへコピーしない。通信制御プログラム524は、被制御機器から受信したデータを、仮想化装置53の被制御機器模擬プログラム531へ受け渡す。
このように、仮想化装置53とオプションモジュール52が、CPUモジュール51を経由せずに、更新前PLC10と被制御機器群30間のデータをやり取りする。このような構成とすることで、CPUモジュール51が異常停止した場合でも、更新前PLC10による被制御機器群30の監視制御を継続することが可能となる。なお、CPUモジュール51に被制御機器群30の監視制御に支障をきたすような異常が発生した場合にも、データスルーモードへ移行してもよい。
仮想化装置53をデータスルーモードへ切り替えるのは、前述の設定ツールから手動で行うこともできる。これにより、被制御機器群30の監視制御を停止することなく、安全に更新後PLC50(CPUモジュール51)のアプリケーションプログラム513を入れ替えることができる。
<PLCを更新する手順>
次に、図8を参照して、更新後PLCの仮想化装置を使用した制御装置更新方法について説明する。
図8は、本実施形態に係る監視制御システムにおいてPLCを更新する手順の例を示すフローチャートである。
まず、図1において、更新前PLC10から被制御機器群30への出力を安全な状態へ遷移させた後、更新前PLC10による監視制御を停止する。そして、ユーザは、更新前PLC10をLAN40から切り離して、更新前PLC10と被制御機器群30を切り離す(ステップS1)。
次に、図3に示すように、ユーザは、更新後PLC50に実装されている仮想化装置53と、更新前PLC10に実装されているオプションモジュール12を、新たに敷設したLAN60経由で接続する(ステップS2)。
次に、ユーザは、更新後PLC50に実装されているオプションモジュール52を、更新前から敷設されているLAN40に接続し、更新後PLC50と被制御機器群30をLAN40経由で接続する(ステップS3)。
次に、ユーザは、更新後PLC50に実装されているオプションモジュール52に、被制御機器群30と通信するための設定パラメータ(図示略)を設定する。そして、更新後PLC50のオプションモジュール52と、被制御機器群30の通信を開始する(ステップS4)。
これにより、更新後PLC50による被制御機器群30の監視及び制御が開始される。
次に、ユーザは、更新後PLC50に実装されている仮想化装置53に、更新前PLC10に実装されているオプションモジュール12と通信するための設定パラメータ533を設定する。そして、更新前PLC10と、更新後PLC50の仮想化装置53の通信を開始する(ステップS5)。
仮想化装置53は、設定パラメータ533を設定されることにより更新前PLC10と通信を開始する。そして、仮想化装置53は、ステップS4で通信を開始している、オプションモジュール52と被制御機器群30との通信により作成される通信ステータス情報521を使用して、被制御機器群30を模擬した動作を開始する。これにより、更新前PLC10は、被制御機器群30が接続されている場合と同様に、被制御機器群30を監視制御することが可能となる。
次に、更新後PLC50のデバッグ及び調整を開始する(ステップS6)。
既に述べたように、更新後PLC50の制御プログラム511が、更新前PLC10から受信したデータを制御データ512dに切り替えて被制御機器群30へ送信し、更新後PLC50のデバッグ及び調整を実施する。
また、制御プログラム511が、被制御機器群30から受信したデータを模擬データ512aに切り替えて更新前PLC10へ送信し、更新後PLC50のデバッグ及び調整を実施する。
模擬データ512aと被制御機器群30から得られる実データを、デバッグ及び調整する箇所に応じて切り替えることにより、更新前PLC10による監視制御を継続したまま、更新後PLC50のデバッグ及び調整を実施することができる。
次に、ユーザは、更新後PLC50のデバッグ及び調整が終了したか否かを判定し(ステップS7)、デバッグ及び調整が終了していない場合には(ステップS7のNO判定)、ステップS6へ戻る。ステップS6の処理を、更新後PLC50のデバッグ及び調整が終了するまで繰り返す。
更新後PLC50のデバッグ及び調整が終了した場合(ステップS7のYES)、被制御機器を監視制御する主体を、更新後PLC50へ全面的に切り替える。そして、ユーザは、更新前PLC10及びLAN60を撤去する(ステップS8)。
ただし、仮想化装置53は撤去しても、更新後PLC50に実装したまま残しても、どちらでもよい。LAN60もそのまま残しておいてもよい。更新作業の終了後、更新後PLC50に仮想化装置53を実装したままにする場合、仮想化装置53を無効に設定し、CPUモジュール51及びオプションモジュール52のみを有効にして被制御機器群30の監視制御を行う。
以上により、更新前PLC10による被制御機器群30の監視制御を実行したまま、更新後PLC50のデバッグ調整を行い、最終的にPLCの更新(PLC10からPLC50へ入替え)を実現することが可能となる。
<変形例>
なお、本発明は上述した実施形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、その他種々の応用例、変形例を取り得ることは勿論である。例えば、上述した実施形態は本発明を分かりやすく説明するためにその構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成要素を備えるものに限定されない。また、実施形態の構成の一部について、他の構成要素の追加又は置換、削除をすることも可能である。
例えば、PLC50に、CPUモジュール51と、オプションモジュール52と、仮想化装置53を実装したが、仮想化装置53をPLC50の外部に配置してもよい。この場合、PLC50と外部の仮想化装置53は、専用線、又はLAN40若しくはLAN60を介して、データをやり取りする。これにより、PLCを更新後、仮想化装置53の撤去が容易となる。
また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。ハードウェアとして、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などの広義のプロセッサデバイスを用いてもよい。
また、上述した実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成要素が相互に接続されていると考えてもよい。
1…監視制御システム、 10…PLC(更新前PLC)、 11…CPUモジュール、 12…オプションモジュール、 30…被制御機器群、 40…LAN、 50…PLC(更新後PLC)、 51…CPUモジュール、 52…オプションモジュール、 53…仮想化装置、 60…LAN(増設分)、 511…制御プログラム、 512…データ用メモリ、 512a…模擬データ、 512b…送信用エリア、 512c…受信用エリア、 512d…制御データ、 512e…送信用エリア、 512f…受信用エリア、 513…アプリケーションプログラム、 514…CPUステータス情報、 521…通信ステータス情報、 522…送信バッファ、 523…受信バッファ、 524…通信制御プログラム、 531…被制御機器模擬プログラム、 532…通信プログラム、 533…設定パラメータ、 534…送信バッファ、 535…受信バッファ

Claims (10)

  1. 被制御機器を監視制御する現行の制御装置を、後継の制御装置に更新する作業が実施される監視制御システムであって、
    更新開始前に前記現行の制御装置と一以上の前記被制御機器を接続していた第1のネットワークと異なる第2のネットワークで、前記現行の制御装置と仮想化装置を接続し、第1のネットワークで前記後継の制御装置と前記被制御機器を接続した構成を有し、
    前記後継の制御装置と前記仮想化装置とは通信可能に構成され、
    前記仮想化装置が第2のネットワークを介して前記現行の制御装置から受信したデータを基に、前記後継の制御装置が、第1のネットワークを介して前記被制御機器へ制御データを送信して前記被制御機器を制御し、
    前記後継の制御装置が第1のネットワークを介して前記被制御機器から受信したデータを基に、前記仮想化装置が前記現行の制御装置で異常を検出されない模擬データを、第2のネットワークを介して前記現行の制御装置へ送信し、前記後継の制御装置が前記被制御機器を監視する
    監視制御システム。
  2. 前記後継の制御装置は、前記被制御機器の監視制御を実行する処理装置と、前記被制御機器と通信する通信装置と、を備え、
    前記仮想化装置において前記現行の制御装置から受信したデータが、前記処理装置を経由して前記通信装置へ転送され、
    前記通信装置において前記被制御機器から受信したデータが、前記処理装置を経由して前記仮想化装置へ転送される
    請求項1に記載の監視制御システム。
  3. 前記処理装置は、前記仮想化装置経由で前記現行の制御装置から受信したデータを前記被制御機器へ送らず、前記処理装置から前記通信装置経由で制御データを前記被制御機器へ送信して前記被制御機器を制御し、
    前記仮想化装置は、前記処理装置が前記被制御機器の監視データを模擬して生成したデータ、又は前記被制御機器の監視データを模擬して事前に用意してあるデータを、前記模擬データとして前記現行の制御装置へ送信し、前記通信装置が前記被制御機器から受信したデータを前記処理装置が監視する
    請求項2に記載の監視制御システム。
  4. 前記処理装置は、前記仮想化装置の設定に基づいて、前記仮想化装置から受信したデータを前記通信装置へ転送する替わりに、前記制御データを前記通信装置へ転送することを選択できる機能を有する
    請求項3に記載の監視制御システム。
  5. 前記処理装置は、前記仮想化装置の設定に基づいて、前記通信装置が前記被制御機器から受信したデータを前記仮想化装置へ転送する替わりに、前記模擬データを前記仮想化装置へ転送することを選択できる機能を有する
    請求項3に記載の監視制御システム。
  6. 前記仮想化装置は、前記被制御機器を模擬した動作を行うための被制御機器模擬プログラムを、前記被制御機器ごとに有し、
    前記被制御機器模擬プログラムは、前記現行の制御装置から前記被制御機器のいずれかへ送られたデータの情報と、予め設定された設定パラメータの情報を比較し、両情報が一致する場合には、前記データの送信先が自身の被制御機器と判断し、前記現行の制御装置と接続する処理を開始する
    請求項1に記載の監視制御システム。
  7. 前記被制御機器のいずれかへ送られた前記データの情報と、前記設定パラメータの情報には、少なくとも前記現行の制御装置から前記被制御機器へ対する送信語数、受信語数、送信用エリアのアドレス、及び受信エリアのアドレスが含まれる
    請求項6に記載の監視制御システム。
  8. 前記処理装置の状態に関する情報が前記処理装置の異常を示す場合、前記仮想化装置と前記通信装置は、前記処理装置を経由しないで前記データをやり取りする
    請求項2に記載の監視制御システム。
  9. 前記後継の制御装置と前記仮想化装置が一体に構成されている
    請求項1に記載の監視制御システム。
  10. 被制御機器を監視制御する現行の制御装置を、後継の制御装置に更新する作業が実施される監視制御システムによる監視制御方法であって、
    更新開始前に前記現行の制御装置と一以上の前記被制御機器を接続していた第1のネットワークと異なる第2のネットワークで、前記現行の制御装置と仮想化装置を接続し、第1のネットワークで前記後継の制御装置と前記被制御機器を接続した構成を有し、
    前記後継の制御装置と前記仮想化装置とは通信可能に構成され、
    前記仮想化装置が第2のネットワークを介して前記現行の制御装置から受信したデータを基に、前記後継の制御装置が、第1のネットワークを介して前記被制御機器へ制御データを送信して前記被制御機器を制御する処理と、
    前記後継の制御装置が第1のネットワークを介して前記被制御機器から受信したデータを基に、前記仮想化装置が前記現行の制御装置で異常を検出されない模擬データを、第2のネットワークを介して前記現行の制御装置へ送信し、前記後継の制御装置が前記被制御機器を監視する処理と、を含む
    監視制御方法。
JP2023142894A 2023-09-04 2023-09-04 監視制御システム及び監視制御方法 Pending JP2025035682A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023142894A JP2025035682A (ja) 2023-09-04 2023-09-04 監視制御システム及び監視制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023142894A JP2025035682A (ja) 2023-09-04 2023-09-04 監視制御システム及び監視制御方法

Publications (1)

Publication Number Publication Date
JP2025035682A true JP2025035682A (ja) 2025-03-14

Family

ID=94928849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023142894A Pending JP2025035682A (ja) 2023-09-04 2023-09-04 監視制御システム及び監視制御方法

Country Status (1)

Country Link
JP (1) JP2025035682A (ja)

Similar Documents

Publication Publication Date Title
JP6806727B2 (ja) 制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置
US7774073B2 (en) Modular programmable automation controller with multi-processor architecture
JP5154874B2 (ja) 安全計装システム又はプロセス制御システムにおけるコントローラ間通信方法
US5761518A (en) System for replacing control processor by operating processor in partially disabled mode for tracking control outputs and in write enabled mode for transferring control loops
US20090228611A1 (en) Configuration of field devices on a network
US20150362903A1 (en) Control device and method of operating control device
WO2001067194A1 (en) Robot, robot system, and robot control method
CN105988956B (zh) 冗余pc系统
JP5660082B2 (ja) プロセス制御装置及びシステム
JP6299064B2 (ja) 制御装置、制御方法、およびプログラム
JP5891891B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5000620B2 (ja) プロセス制御システム
JP2025035682A (ja) 監視制御システム及び監視制御方法
JP2003273875A (ja) データサーバ
US7337095B2 (en) Method for planning and/or configuring a project
JP2017062758A (ja) 制御システムおよび制御方法
WO2020137343A1 (ja) サポート装置、支援プログラムおよび制御装置
JP7585111B2 (ja) 新旧監視制御切替システム、新旧監視制御切替システムの切替方法
JP3338327B2 (ja) プログラマブルコントローラにおける入出力データ伝達制御方法およびプログラマブルコントローラ
JP2007304678A (ja) 制御システム及び制御装置群の更新方法