JP2018022367A - コントローラ、および、制御システム - Google Patents

コントローラ、および、制御システム Download PDF

Info

Publication number
JP2018022367A
JP2018022367A JP2016153610A JP2016153610A JP2018022367A JP 2018022367 A JP2018022367 A JP 2018022367A JP 2016153610 A JP2016153610 A JP 2016153610A JP 2016153610 A JP2016153610 A JP 2016153610A JP 2018022367 A JP2018022367 A JP 2018022367A
Authority
JP
Japan
Prior art keywords
control software
controller
control
area
new
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
JP2016153610A
Other languages
English (en)
Inventor
道明 真島
Michiaki Majima
道明 真島
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
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions 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, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2016153610A priority Critical patent/JP2018022367A/ja
Publication of JP2018022367A publication Critical patent/JP2018022367A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】制御システムのコントローラの制御ソフトウェアを更新する際に、コントローラによる制御停止時間を短くすること。
【解決手段】実施形態のコントローラにおいて、制御部は、第1の領域に記憶されている制御ソフトウェアを実行することによるI/O機器の制御中に、外部から新たな制御ソフトウェアを受信した場合に、当該新たな制御ソフトウェアを第2の領域に記憶してから、I/O機器に対して、データの出力を停止してデータを保持するようにさせる出力保持指令を送信し、実行する制御ソフトウェアを、第1の領域に記憶されている制御ソフトウェアから第2の領域に記憶されている新たな制御ソフトウェアに切り替えるリセット処理を実行した後、第2の領域に記憶されている新たな制御ソフトウェアを実行するとともに、I/O機器に対して、データの出力を許可する出力許可指令を送信する。
【選択図】図1

Description

本発明の実施形態は、コントローラ、および、制御システムに関する。
従来から、産業プラント(以下、単に「プラント」という。)等において、I/O(Input/output)機器等を制御するためにコントローラ(プログラマブルコントローラ)が用いられている。コントローラは、例えば、制御ソフトウェア(制御プログラム。ファームウェア)とアプリケーションプログラムに基づいて動作する。そして、制御ソフトウェアの更新を行う必要が生じる場合がある。
特開2013−142933号公報
一般に、例えば、パソコンのOS(Operating System)の更新は、新たなOSをダウンロードし、電源を再起動することによって行われる。その所要時間は、数分程度であり、パソコンの使用に関して、特に支障はない。
一方、プラント等におけるDCS(Distributed Control System)やPLC(Programmable Logic Controller)などを用いた制御システムは、昼夜を通して不停止で動作している場合が多い。従来技術では、コントローラの制御ソフトウェアを更新するためにプラント等を停止する時間は、短くても数分程度であり、さらなる短時間化が求められている。
実施形態のコントローラは、不揮発性半導体記憶媒体と、制御部と、を備える。不揮発性半導体記憶媒体は、制御ソフトウェアを記憶している第1の領域と、制御ソフトウェアとは異なる制御ソフトウェアを記憶可能な第2の領域と、を有し、電気的に書き換え可能である。制御部は、第1の領域に記憶されている制御ソフトウェアを実行することによるI/O機器の制御中に、外部から新たな制御ソフトウェアを受信した場合に、当該新たな制御ソフトウェアを第2の領域に記憶してから、I/O機器に対して、データの出力を停止してデータを保持するようにさせる出力保持指令を送信し、実行する制御ソフトウェアを、第1の領域に記憶されている制御ソフトウェアから第2の領域に記憶されている新たな制御ソフトウェアに切り替えるリセット処理を実行した後、第2の領域に記憶されている新たな制御ソフトウェアを実行するとともに、I/O機器に対して、データの出力を許可する出力許可指令を送信する。
実施形態の制御システムは、前記コントローラと、制御ソフトウェアによって動作し、当該コントローラと同様にして外部から新たな制御ソフトウェアを受信して記憶するとともに当該新たな制御ソフトウェアによる制御処理を実行する機器と、を備える。
図1は、第1の実施形態にかかる制御システムの構成図である。 図2は、第1の実施形態にかかる制御システムの動作説明図である。 図3は、第1の実施形態にかかるコントローラのブート処理を示すフローチャートである。 図4は、第1の実施形態にかかるコントローラの第1制御ソフトウェアによる処理を示すフローチャートである。 図5は、第1の実施形態にかかるコントローラの第2制御ソフトウェアによる処理を示すフローチャートである。 図6は、第2の実施形態にかかる制御システムの構成図である。 図7は、第3の実施形態にかかる制御システムの構成図である。 図8は、第4の実施形態にかかる制御システムの構成図である。 図9は、第5の実施形態にかかる制御システムの構成図である。 図10は、第5の実施形態にかかるコントローラのブート処理を示すフローチャートである。 図11は、第5の実施形態にかかるコントローラのCPUによる処理を示すフローチャートである。
以下、添付の図面を用いて、第1の実施形態〜第5の実施形態にかかるコントローラ、および、制御システムについて説明する。なお、第2の実施形態以降において、それまでの実施形態と重複する事項の説明は、適宜省略する。
(第1の実施形態)
図1は、第1の実施形態にかかる制御システムSの構成図である。制御システムSは、例えば、プラントに適用されるものであり、パソコン1と、コントローラ2と、I/O機器3と、を備えている。
パソコン1は、コンピュータ装置であり、エンジニアリングツール11を備えている。エンジニアリングツール11とは、制御システムSに関するシステム構築、プログラミング、モニタリング、情報収集、監視等をサポートするために開発されたソフトウェアである。エンジニアリングツール11は、例えば、新たな制御ソフトウェア(制御プログラム。ファームウェア)をコントローラ2に提供(ダウンロード)する。
コントローラ2は、プラントの制御を行うための基本機能をプログラミングした制御ソフトウェアやアプリケーションプログラム等を実行する装置であり、CPU(Central Processing Unit)21、RAM(Random Access Memory)22、FROM(Flash Read Only Memory)23、ツールインタフェース24、I/Oインタフェース25、および、バス26を備えている。
CPU21は、制御部である。RAM22は、CPU21の動作領域であり、プラントを制御するためにユーザが作成したアプリケーションプログラム(不図示)や各種変数のほか、初期診断実行フラグ221等を記憶する。初期診断実行フラグ221は、例えば、「0」がCPU21による初期診断を実行しないことを意味し、「1」がCPU21による初期診断を実行することを意味するフラグである。例えば、コントローラ2に電源が入れられた直後は初期診断を実行すべきなので、初期診断実行フラグ221はその直前までに「1」にセットされる。また、コントローラ2に新たな制御ソフトウェアがダウンロードされた後にリセット処理(リブート)した直後は初期診断を実行する必要がないので、初期診断実行フラグ221はその直前までに「0」にセットされる。例えば、初期診断実行フラグ221に記憶されている値は、コントローラ2の電源が切られる場合はFROM23に保存され、その後にコントローラ2の電源が入れられた場合に復旧される(他の実施形態も同様)。
FROM23は、いわゆるフラッシュメモリであり、第1制御ソフトウェア(制御ソフトウェア)を記憶している第1の領域232と、第1制御ソフトウェアとは異なる第2制御ソフトウェア(新たな制御ソフトウェア)を記憶可能な第2の領域233と、を有する、電気的に書き換え可能な不揮発性半導体記憶媒体である。また、FROM23は、ブート処理プログラム231と、制御ソフトウェア選択フラグ2311と、を記憶する。
コントローラ2の電源が入れられた後や、コントローラ2がリセット処理(リブート)された後に、CPU21は、まず、ブート処理プログラム231を実行する。制御ソフトウェア選択フラグ2311は、例えば、「0」が第1の領域232に記憶されている第1制御ソフトウェアの選択を意味し、「1」が第2の領域233に記憶されている第2制御ソフトウェアの選択を意味するフラグである。
CPU21は、第1の領域232に記憶されている第1制御ソフトウェアを実行することによるI/O機器3の制御中に、外部から第2制御ソフトウェア(新たな制御ソフトウェア)を受信した場合に、第2制御ソフトウェアを第2の領域233に記憶してから、I/O機器3に対して、コントローラ2へのデータの出力を停止してデータを保持するようにさせる出力保持指令を送信する。その後、CPU21は、実行する制御ソフトウェアを、第1の領域232に記憶されている第1制御ソフトウェアから第2の領域233に記憶されている第2制御ソフトウェアに切り替えるリセット処理を実行した後、第2の領域233に記憶されている第2制御ソフトウェアを実行するとともに、I/O機器3に対して、データの出力を許可する出力許可指令を送信する。
なお、従来技術と比較すると、FROM23において、ブート処理プログラム231と第1制御ソフトウェアを記憶する第1の領域232は従来技術でも存在する構成であり、第2制御ソフトウェアを記憶する第2の領域233が新たな構成である。したがって、FROM23は、従来技術のものと比較して、第2の領域233の分、容量が大きなものである必要がある。
ツールインタフェース24は、パソコン1との間で情報の送受信を行うためのインタフェースである。I/Oインタフェース25は、I/O機器3との間で情報の送受信を行うためのインタフェースである。バス26は、コントローラ2の内部のデータ伝送路である。
I/O機器3は、プラントを構成する装置との入出力を行うための機器である。I/O機器3としては、例えば、制御対象設備に設置されたセンサ等からの信号の入力を行う入力装置(AI(Analog Input)機器、DI(Digital Input)機器)や、制御対象設備のアクチュエータ等に対して信号の出力を行う出力装置(AO(Analog Output)機器、DO(Digital Output)機器)がある。
通信路4は、パソコン1とコントローラ2を結ぶ通信路であり、例えば、Ethernet(登録商標)やUSB(Universal Serial Bus)などの高速の通信路が好ましいが、それらに限定されない。通信路5は、コントローラ2とI/O機器3を結ぶ通信路である。
次に、図2を用いて制御システムSの動作の概要を説明した後、図3〜図5を用いて各構成の動作の詳細を説明する。図2に示す例では、CPU21は、第1の領域232に記憶されている第1制御ソフトウェアを実行して、I/O機器3を制御しているものとする。
図2は、第1の実施形態にかかる制御システムSの動作説明図である。まず、パソコン1のエンジニアリングツール11は、ユーザの操作に基づいて、第2制御ソフトウェア(新たな制御ソフトウェア)をコントローラ2へダウンロードする(1)。CPU21は、現在の制御ソフトウェア選択フラグ2311の状態(「0」)に基づいて、第1の領域232と第2の領域233のうち、第2の領域233が空いていることを認識し(2)、ダウンロードされた第2制御ソフトウェアを第2の領域233に格納する(3)。
次に、CPU21は、制御ソフトウェア選択フラグ2311を「0」から「1」に変更する(4)。これは、リブートした後に、CPU21が第2の領域233に記憶された第2制御ソフトウェアによって動作するようにするためである。次に、CPU21は、初期診断実行フラグ221を「1」から「0」に変更する(5)。これは、コントローラ2に第2制御ソフトウェアがダウンロードされた後にリブートした直後は、コントローラ2の電源を入れた直後と違って初期診断を実行する必要がないからである。以上で、CPU21を第2制御ソフトウェアで動作させるための準備が整ったことになる。
その後、CPU21は、I/Oインタフェース25を経由して、すべてのI/O機器3へ出力保持指令を送信する(6)。これにより、I/O機器3は、コントローラ2へのデータの出力を停止してデータを保持する。これは、コントローラ2が、リセット処理(リブート)をしている間はI/O機器3からの出力を受け付けることができないからである。
その後、CPU21は、コントローラ2をリセット処理(リブート)する(7)。このリセット処理(リブート)は、例えば、コントローラ2に対するユーザの操作に基づいて実行してもよいし、あるいは、自動的に実行してもよい。このリセット処理により、CPU21は、ブート処理プログラム231を実行する。CPU21は、ブート処理プログラム231にしたがって、制御ソフトウェア選択フラグ2311の状態(「1」)を参照し、第2の領域233に記憶された第2制御ソフトウェアによる処理に移行する。そして、CPU21は、第2の領域233に記憶された第2制御ソフトウェアを実行し、初期診断実行フラグ221の状態(「0」)に基づいて初期診断を実施せず、初期診断実行フラグ221を「0」から「1」に変更する(8)。次に、CPU21は、RAM22のアプリケーションプログラムを実行し、I/O機器3との通信設定が完了したら、すべてのI/O機器3へ出力許可指令を送信する(9)。
図3は、第1の実施形態にかかるコントローラ2のブート処理プログラム231によるブート処理の動作を示すフローチャートである。CPU21は、まず、ブート(リブート)処理の要求があったか否かを判定し(ステップS1)、Yesの場合はステップS2に進み、Noの場合はステップS1に戻る。ステップS1でYesの場合とは、例えば、コントローラ2に電源が入れられたときや、コントローラ2に新たな制御ソフトウェアがダウンロードされ、その後にリブートする場合である。
ステップS2において、CPU21は、初期化処理を実行する。次に、CPU21は、制御ソフトウェア選択フラグ2311が「0」と「1」のいずれであるかを判定し(ステップS3)、「0」の場合(図2の(2)の後)はステップS4に進み、「1」の場合(図2の(7)の後)はステップS5に進む。
ステップS4において、CPU21は、第1制御ソフトウェアによる処理に移行し、処理を終了する。また、ステップS5において、CPU21は、第2制御ソフトウェアによる処理に移行し、処理を終了する。
図4は、第1の実施形態にかかるコントローラ2の第1制御ソフトウェアによる処理(図3のステップS4の後の処理)を示すフローチャートである。CPU21は、第1の領域232に記憶された第1制御ソフトウェアを実行し、まず、初期設定を実行する(ステップS11)。次に、CPU21は、初期診断実行フラグ221の状態(「1」)に基づいて、初期診断を実行する(ステップS12)。
次に、CPU21は、RAM22に格納されたアプリケーションプログラムも併せて用いて、I/O機器3に対する制御処理を開始する(ステップS13)。
次に、CPU21は、パソコン1のエンジニアリングツール11から新たな制御ソフトウェア(第2制御ソフトウェア)のダウンロード要求があるか否かを判定し(ステップS14)、Yesの場合はステップS15に進み、Noの場合はステップS14に戻る。
ステップS15において、CPU21は、空いている第2の領域233に、パソコン1のエンジニアリングツール11からダウンロードした第2制御ソフトウェアを格納する(図2の(3))。
次に、CPU21は、制御ソフトウェア選択フラグ2311を「0」から「1」に書き換える(変更する)(ステップS16。図2の(4))。次に、CPU21は、初期診断実行フラグ221を「1」から「0」に変更(クリア)する(ステップS17。図2の(5))。
次に、CPU21は、I/Oインタフェース25を経由して、すべてのI/O機器3へ出力保持指令を送信する(ステップS18。図2の(6))。次に、CPU21は、ブート(リブート)処理を要求し(ステップS19)、処理を終了する。この後、CPU21は、ブート処理プログラム231を実行し、図3の処理において、ステップS1でYes→ステップS2→ステップS3で「1」→ステップS5と進み、第2制御ソフトウェアによる処理に移行する。
図5は、第1の実施形態にかかるコントローラ2の第2制御ソフトウェアによる処理(図3のステップS5の後の処理)を示すフローチャートである。CPU21は、第2の領域233に記憶された第2制御ソフトウェアを実行し、まず、初期設定を実行する(ステップS21)。次に、CPU21は、初期診断実行フラグ221の状態(「0」)に基づいて、初期診断を実行せず、初期診断実行フラグ221を「0」から「1」に変更する(ステップS22。図2の(8))。
次に、CPU21は、RAM22に格納されたアプリケーションプログラムも併せて用いて、I/O機器3に対する制御処理を開始する(ステップS23)。
次に、CPU21は、I/Oインタフェース25を経由して、すべてのI/O機器3へ出力許可指令を送信する(ステップS24。図2の(9))。次に、CPU21は、さらに新たな制御ソフトウェアのダウンロード要求があるか否かを判定し(ステップS25)、Yesの場合は図4のステップS15以降と同様の処理に進み、Noの場合はステップS25に戻る。なお、ステップS25でYesの場合、CPU21は、第1の領域232に新たな制御ソフトウェアをダウンロードし、リブート後、その新たな制御ソフトウェアでの制御処理を実行する。
このようにして、本実施形態の制御システムSによれば、コントローラ2の制御ソフトウェアを更新するために制御システムSを停止する時間を従来よりも短くすることができる。例えば、FROM23の容量を第2の領域233の分だけ増量させる必要はあるが、それ以外にハードウェア資源を追加することなく、パソコン1のエンジニアリングツール11から高速通信可能な通信路4、ツールインタフェース24を経由して新たな制御ソフトウェアをコントローラ2にダウンロードすることができる。そして、プラントを停止する時間の長さは、コントローラ2からI/O機器3に出力保持指令を送信してから出力許可指令を送信するまでの短時間(例えば数秒〜数十秒程度)で済む。なお、パソコン1のエンジニアリングツール11から新たな制御ソフトウェアをコントローラ2にダウンロードするたびに、CPU21は、第1の領域232に記憶している制御ソフトウェアによる処理と、第2の領域233に記憶している制御ソフトウェアによる処理を、交互に実行することになる。
一方、従来技術では、コントローラに新たな制御ソフトウェアをダウンロードするには、例えば、まず、コントローラの電源をOFFしてから、ディップスイッチなどの設定によってコントローラを専用モードで立上げ、制御ソフトウェア更新のための専用機器をRS−232Cなどのインタフェースを経由してコントローラに接続し、ダウンロードを実施する。その後、ダウンロードが完了したら、コントローラの電源を再度OFFしてから、スイッチ設定を通常へ戻し、再起動を行っていた。そのため、コントローラの制御ソフトウェアを更新するためにプラント等を停止する時間が長く(短くても数分程度に)なってしまっていた。
(第2の実施形態)
次に、第2の実施形態にかかる制御システムSについて説明する。図6は、第2の実施形態にかかる制御システムSの構成図である。この制御システムSは、第1の実施形態の場合と比較して、コントローラ2のRAM22内に、時計情報222、切替日時情報223、切替タイミング情報224が記憶されている点で相違する。これにより、コントローラ2は、予め定められたタイミングで、または、パソコン1のユーザから指示があったタイミングで、リセット処理(第2制御ソフトウェアをダウンロードした後のリブート)を実行することができる。以下、詳細に説明する。
時計情報222は、RTC(Real Time Clock)やソフトタイマにより実現され、コントローラ2の内部で参照可能な日時情報である。
切替日時情報223は、新たな制御ソフトウェアによる処理へ切り替える日時の情報であり、パソコン1のエンジニアリングツール11により設定される。
切替タイミング情報224は、次の(A)〜(C)の3つから選択可能な情報であり、パソコン1のエンジニアリングツール11により設定される。
(A)ダウンロード完了と同時に切り替え
(B)指定日時に切り替え
(C)エンジニアリングツール11からの指示により切り替え
(A)が選択されている場合、第1の実施形態で説明した動作となる。つまり、CPU21は、第1の領域232に記憶されている制御ソフトウェアを実行し、図4のステップS15で第2制御ソフトウェアをダウンロードした後に、RAM22の切替タイミング情報224を参照し、(A)が選択されていれば、すぐにステップS16以降の処理に移行する。
また、CPU21は、図4のステップS15で第2制御ソフトウェアをダウンロードした後、RAM22の切替タイミング情報224を参照し、(B)が選択されていれば、定期的に時計情報222と切替日時情報223を参照し、切替日時情報223で指定される日時に、ステップS16以降の処理に移行する。
また、CPU21は、図4のステップS15で第2制御ソフトウェアをダウンロードした後、RAM22の切替タイミング情報224を参照し、(C)が選択されていれば、エンジニアリングツール11からの指示を常時監視し、指示があれば、ステップS16以降の処理に移行する。
このようにして、第2の実施形態の制御システムSによれば、予め指定したプラントを停止しても影響の少ない時間帯や、あるいは、プラントを停止しても影響が少ないとパソコン1のユーザが判断した任意のタイミングで、コントローラ2を新たな制御ソフトウェアによる処理に切り替えることができ、より安全かつ便利である。
(第3の実施形態)
次に、第3の実施形態にかかる制御システムSについて説明する。図7は、第3の実施形態にかかる制御システムSの構成図である。
プラントを制御するコントローラ2は、実際には複数の機器から構成されることが多い。図7に示すように、コントローラ2は、メイン機器であるコントローラ機器と、複数のステーションバス機器#1、#2、・・・(以下、区別しないときは単に「ステーションバス機器」という。)とで構成され、それらはステーションバス201で接続される。ステーションバス機器は、例えば、Ethernet(登録商標)通信によって他の機器と接続する機能を有する機器である。
I/O機器3は、I/O通信機器#1、#2、・・・(以下、区別しないときは単に「I/O通信機器」という。)と、それらに接続されるAI機器、AO機器、DI機器、DO機器(以下、区別しないときは単に「I/O機器」という。)とで構成されている。
コントローラ機器とI/O通信機器は、I/Oバス301で接続される。また、I/O通信機器#1と、AI機器#1、AO機器#1、DI機器#1、DO機器#1は、I/Oバス302で接続される。また、I/O通信機器#2と、AI機器#2、AO機器#2、DI機器#2、DO機器#2は、I/Oバス303で接続される。
図7に示したコントローラ2内の機器とI/O機器3内の機器のすべては、図1に示したコントローラ2と同様にCPU、RAM、FROM、通信インタフェース等を備え、制御ソフトウェアによって動作する。そして、これらの機器すべてに対して、第1の実施形態や第2の実施形態と同様の新たな制御ソフトウェアのダウンロードおよび実行を行わせることができる。つまり、これらのすべての機器は、制御ソフトウェアによって動作し、図1に示したコントローラ2と同様にして新たな制御ソフトウェアをダウンロード(受信して各々のFROM内の領域に記憶)するとともに当該新たな制御ソフトウェアによる制御処理を実行する機器である。
データ経路R1は、パソコン1のエンジニアリングツール11からコントローラ2内の機器に新たな制御ソフトウェアをダウンロードする経路である。また、データ経路R2は、パソコン1のエンジニアリングツール11からI/O機器3内のI/O通信機器に新たな制御ソフトウェアをダウンロードする経路である。また、データ経路R3は、パソコン1のエンジニアリングツール11からI/O機器3内のI/O機器に新たな制御ソフトウェアをダウンロードする経路である。
このようにして、第3の実施形態の制御システムSによれば、コントローラ2内の機器とI/O機器3内の機器のすべてに対して、パソコン1のエンジニアリングツール11から新たな制御ソフトウェアをダウンロードし、実行させることができる。
一方、従来技術では、コントローラ2内の機器とI/O機器3内の機器のそれぞれに対して、1台ずつ、制御ソフトウェア更新のための専用機器をRS−232Cなどのインタフェースを経由して接続し、電源再投入などの操作を行いながら作業していたので、手間や時間が多くかかった。第3の実施形態の制御システムSによれば、各機器が設置されている現場へ作業者が行くことなく、しかも、短時間で、各機器の制御ソフトウェアを更新することができる。
(第4の実施形態)
次に、第4の実施形態にかかる制御システムSについて説明する。図8は、第4の実施形態にかかる制御システムSの構成図である。この第4の実施形態は、第3の実施形態を前提とする。
パソコン1(管理装置)のエンジニアリングツール11に、制御システムSにおける機器構成と制御ソフトウェアファイルの関連を示すID(IDentifier)を含むテーブル情報である機器構成・制御ソフトウェアファイルIDテーブル111と、制御システムSにおける機器毎の種類に応じた複数の制御ソフトウェアファイルの集合である制御ソフトウェアファイル群112を設ける。
機器構成・制御ソフトウェアファイルIDテーブル111は、コントローラ機器を頂点として、ステーションバス機器、I/O通信機器、AI機器、AO機器、DI機器、DO機器のすべての配置と、各機器の制御ソフトウェアファイルを識別するためのIDを格納する。
エンジニアリングツール11における機器構成・制御ソフトウェアファイルIDテーブル111と制御ソフトウェアファイル群112を、コントローラ機器に送信し、記憶させておく。そして、コントローラ機器は、その記憶した機器構成・制御ソフトウェアファイルIDテーブル111と制御ソフトウェアファイル群112に基づいて、データ経路R1〜R3に沿って各機器に対応する制御ソフトウェアファイルをダウンロードさせるとともに当該制御ソフトウェアによる制御処理を実行させる。
実際のプラントでは、コントローラ機器の配下に、数十〜数百のI/O通信機器と、数百〜数千のI/O機器(AI機器、AO機器、DI機器、DO機器)が存在する場合が多い。従来技術における新たな制御ソフトウェアの機器毎のダウンロードでは、数日以上の膨大な時間を必要としていた。
一方、第4の実施形態の制御システムSによれば、パソコン1のエンジニアリングツール11で新たな制御ソフトウェアのダウンロードを行う機器の選択と必要な制御ソフトウェアファイルの読み込みを行うだけで、すべての機器へのダウンロードを実行できるので、数分という短時間で完了することができる。また、所定の複数の機器(例えば、複数のI/O通信機器など)へ並行してダウンロードを実施することもできる。
(第5の実施形態)
次に、第5の実施形態にかかる制御システムSについて説明する。第1の実施形態では、図1等に示すように、CPU21は、第1の領域232に記憶されている第1制御ソフトウェアを実行してI/O機器3の制御を行いながら、パソコン1のエンジニアリングツール11から受信した新たな制御ソフトウェアを第2の領域233に書き込んでいた。第5の実施形態では、FROM23に制御ソフトウェアを記憶しておき、CPU21は、その制御ソフトウェアを実行するときは、RAM22に転送してRAM22上で実行し、パソコン1のエンジニアリングツール11から新たな制御ソフトウェアを受信したときは、その新たな制御ソフトウェアをFROM23に書き込む。以下、第1の実施形態との相違点を中心に詳述する。
図9は、第5の実施形態にかかる制御システムSの構成図である。コントローラ2のFROM23には、制御ソフトウェアが格納されている。また、FROM23には、第1の実施形態と異なり、制御ソフトウェア選択フラグ2311が存在しない。
RAM22は、FROM23から転送された制御ソフトウェアを記憶する。CPU21は、RAM22に記憶されている制御ソフトウェアを実行することによるI/O機器3の制御中に、パソコン1のエンジニアリングツール11(外部)から新たな制御ソフトウェアを受信した場合に、当該新たな制御ソフトウェアをFROM23に記憶してから、I/O機器3に対して出力保持指令を送信する。その後、CPU21は、リセット処理を実行してFROM23に記憶されている新たな制御ソフトウェアをRAM22に転送した後、RAM22に記憶されている新たな制御ソフトウェアを実行するとともに、I/O機器3に対して出力許可指令を送信する。
以下、図9を用いて制御システムSの動作の概要を説明した後、図10、図11を用いて各構成の動作の詳細を説明する。まず、パソコン1のエンジニアリングツール11は、新たな制御ソフトウェアをコントローラ2へダウンロードする(11)。CPU21は、ダウンロードされた新たな制御ソフトウェアをFROM23に格納する(12)。
次に、CPU21は、初期診断実行フラグ221を「1」から「0」に変更する(13)。次に、CPU21は、I/Oインタフェース25を経由して、すべてのI/O機器3へ出力保持指令を送信する(14)。これにより、I/O機器3は、データの出力を停止してデータを保持する。次に、CPU21は、コントローラ2をリセット処理(リブート)する(15)。次に、CPU21は、リセット処理の後、FROM23の新たな制御ソフトウェアをRAM22に転送し(16)、RAM22上の新たな制御ソフトウェアとアプリケーションプログラムを実行し、I/O機器3との通信設定が完了したら、すべてのI/O機器3へ出力許可指令を送信する(17)。
図10は、第5の実施形態にかかるコントローラ2のブート処理を示すフローチャートである。CPU21は、ブート処理プログラム231を実行し、まず、ブート(リブート)処理の要求があったか否かを判定し(ステップS31)、Yesの場合はステップS32に進み、Noの場合はステップS31に戻る。
ステップS32において、CPU21は、初期化処理を実行する。次に、CPU21は、FROM23の制御ソフトウェアをRAM22に転送する(ステップS33)。次に、CPU21は、RAM22上の制御ソフトウェアによる処理に移行し(ステップS34)、処理を終了する。
図11は、第5の実施形態にかかるコントローラ2のCPU21による処理を示すフローチャートである。まず、CPU21は、RAM22上の制御ソフトウェアによる処理を開始する(ステップS41)。
次に、CPU21は、パソコン1のエンジニアリングツール11から新たな制御ソフトウェアのダウンロード要求があるか否かを判定し(ステップS42)、Yesの場合はステップS43に進み、Noの場合はステップS42に戻る。
ステップS43において、CPU21は、FROM23に、パソコン1のエンジニアリングツール11から受信した新たな制御ソフトウェアをダウンロードする(図9の(11)(12))。
次に、CPU21は、初期診断実行フラグ221を「1」から「0」に変更(クリア)する(ステップS44。図9の(13))。
次に、CPU21は、I/Oインタフェース25を経由して、すべてのI/O機器3へ出力保持指令を送信する(ステップS45。図9の(14))。次に、CPU21は、ブート(リブート)処理を要求する(ステップS46)。この後、CPU21は、ブート処理プログラム231を実行し(ステップS47)、図10の処理において、ステップS31でYes→ステップS32→ステップS33→ステップS34と進み、新たな制御ソフトウェアをFROM23からRAM22に転送する(図9の(16))とともに、新たな制御ソフトウェアによる処理に移行する。
次に、CPU21は、RAM22上の新たな制御ソフトウェアを実行し、初期診断実行フラグ221の状態(「0」)に基づき、初期診断を実行せず、初期診断実行フラグ221を「0」から「1」に変更する(ステップS48)。
次に、CPU21は、RAM22に格納されたアプリケーションプログラムも併せて用いて、I/O機器3に対する制御処理を開始する(ステップS49)。
次に、CPU21は、I/Oインタフェース25を経由して、すべてのI/O機器3へ出力許可指令を送信する(ステップS50。図9の(17))。ステップS50の後、ステップS42に戻る。
このようにして、第5の実施形態の制御システムSによれば、コントローラ2の制御ソフトウェアを更新するために制御システムSを停止する時間を従来よりも短くすることができる。さらに、既存のコントローラで、FROMでの素子劣化によるリードエラーを回避するためにFROMの制御ソフトウェアをRAM上に転送して動作させている場合、RAM上に初期診断実行フラグ221を追加する等の少ない変更のみで第5の実施形態のコントローラ2を実現できるので、手間が少なくて済む。
なお、前述した第2の実施形態〜第4の実施形態は、第1の実施形態の制御システムSを前提として説明したが、この第5の実施形態の制御システムSを前提として実現してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
また、本実施形態の制御システムSで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータ装置で読み取り可能な記録媒体に記録して提供することができる。また、本実施形態の制御システムSで実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。
1 パソコン
11 エンジニアリングツール
111 機器構成・制御ソフトウェアファイルIDテーブル
112 制御ソフトウェアファイル群
2 コントローラ
21 CPU
22 RAM
221 初期診断実行フラグ
222 時計情報
223 切替日時情報
224 切替タイミング情報
23 FROM
231 ブート処理プログラム
232 第1の領域
233 第2の領域
24 ツールインタフェース
25 I/Oインタフェース
26 バス
3 I/O機器
4 通信路
5 通信路

Claims (5)

  1. 制御ソフトウェアを記憶している第1の領域と、前記制御ソフトウェアとは異なる制御ソフトウェアを記憶可能な第2の領域と、を有する、電気的に書き換え可能な不揮発性半導体記憶媒体と、
    前記第1の領域に記憶されている前記制御ソフトウェアを実行することによるI/O機器の制御中に、外部から新たな制御ソフトウェアを受信した場合に、当該新たな制御ソフトウェアを前記第2の領域に記憶してから、前記I/O機器に対して、データの出力を停止してデータを保持するようにさせる出力保持指令を送信し、実行する制御ソフトウェアを、前記第1の領域に記憶されている制御ソフトウェアから前記第2の領域に記憶されている前記新たな制御ソフトウェアに切り替えるリセット処理を実行した後、前記第2の領域に記憶されている前記新たな制御ソフトウェアを実行するとともに、前記I/O機器に対して、データの出力を許可する出力許可指令を送信する制御部と、を備えるコントローラ。
  2. 制御ソフトウェアを記憶する、電気的に書き換え可能な不揮発性半導体記憶媒体と、
    前記不揮発性半導体記憶媒体から転送された前記制御ソフトウェアを記憶するRAMと、
    前記RAMに記憶されている前記制御ソフトウェアを実行することによるI/O機器の制御中に、外部から新たな制御ソフトウェアを受信した場合に、当該新たな制御ソフトウェアを前記不揮発性半導体記憶媒体に記憶してから、前記I/O機器に対して、データの出力を停止してデータを保持するようにさせる出力保持指令を送信し、リセット処理を実行して前記不揮発性半導体記憶媒体に記憶されている前記新たな制御ソフトウェアを前記RAMに転送した後、前記RAMに記憶されている前記新たな制御ソフトウェアを実行するとともに、前記I/O機器に対して、データの出力を許可する出力許可指令を送信する制御部と、を備えるコントローラ。
  3. 前記制御部は、予め定められたタイミングで、または、ユーザから指示があったタイミングで、前記リセット処理を実行する、請求項1または請求項2に記載のコントローラ。
  4. 請求項1から請求項3のいずれか一項に記載の前記コントローラと、
    前記制御ソフトウェアによって動作し、前記コントローラと同様にして外部から新たな制御ソフトウェアを受信して記憶するとともに当該新たな制御ソフトウェアによる制御処理を実行する機器と、を備える制御システム。
  5. 前記制御システムにおける機器構成と制御ソフトウェアファイルの関連を示すIDを含むテーブル情報と、前記制御システムにおける機器毎の前記制御ソフトウェアファイルと、を記憶する管理装置を、さらに備え、
    前記コントローラは、前記管理装置から前記テーブル情報と前記制御ソフトウェアファイルとを受信して記憶し、前記テーブル情報と前記制御ソフトウェアファイルとに基づいて、前記制御システム内の機器に新たな制御ソフトウェアを記憶させるとともに当該新たな制御ソフトウェアによる制御処理を実行させる、請求項4に記載の制御システム。
JP2016153610A 2016-08-04 2016-08-04 コントローラ、および、制御システム Pending JP2018022367A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016153610A JP2018022367A (ja) 2016-08-04 2016-08-04 コントローラ、および、制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016153610A JP2018022367A (ja) 2016-08-04 2016-08-04 コントローラ、および、制御システム

Publications (1)

Publication Number Publication Date
JP2018022367A true JP2018022367A (ja) 2018-02-08

Family

ID=61164545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016153610A Pending JP2018022367A (ja) 2016-08-04 2016-08-04 コントローラ、および、制御システム

Country Status (1)

Country Link
JP (1) JP2018022367A (ja)

Similar Documents

Publication Publication Date Title
CN102033790B (zh) 一种嵌入式系统bootrom的升级方法和装置
JP4888718B2 (ja) 分散型制御システム
JP5747584B2 (ja) 制御装置およびシステムプログラム
JP5653568B1 (ja) ネットワークシステム
WO2013168224A1 (ja) プログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システム
WO2019207729A1 (ja) 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム
JP6879625B2 (ja) プログラマブルコントローラ、管理装置および制御システム
US11287793B2 (en) Control device, control method for control device, information processing program, and recording medium
JP5849592B2 (ja) プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法
JP5636783B2 (ja) プログラマブルコントローラ、およびプログラマブルコントローラのデバッグ方法
JP2018022367A (ja) コントローラ、および、制御システム
KR102434126B1 (ko) Plc 프로그램 처리 장치
JP6119452B2 (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム
EP1835398A1 (en) Frequency converter controller, peripheral device, method and program
WO2015136966A1 (ja) 制御機器、制御システム、支援装置、および、制御機器のメンテナンスの管理方法
JP7281275B2 (ja) モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法
CN110637263B (zh) 监视辅助装置、监视辅助方法及记录介质
JP2015162179A (ja) プログラマブルコントローラのシーケンスプログラム置き換え方法
JP5647597B2 (ja) 保守管理システムおよびクライアント端末
JP6645223B2 (ja) 制御システム、および制御装置
JP2010117970A (ja) ディスク制御装置およびファームウェアの更新方法
JP2020027346A (ja) コントローラ
JP6176206B2 (ja) プログラマブルロジックコントローラ
JP2016081292A (ja) ネットワーク対応の家電機器
JP2014146914A (ja) ネットワーク装置、ネットワーク装置の制御方法及びネットワーク装置の制御プログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170911

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170912

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200707

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210105