JP6401657B2 - Process control system, maintenance support device and controller - Google Patents
Process control system, maintenance support device and controller Download PDFInfo
- Publication number
- JP6401657B2 JP6401657B2 JP2015091688A JP2015091688A JP6401657B2 JP 6401657 B2 JP6401657 B2 JP 6401657B2 JP 2015091688 A JP2015091688 A JP 2015091688A JP 2015091688 A JP2015091688 A JP 2015091688A JP 6401657 B2 JP6401657 B2 JP 6401657B2
- Authority
- JP
- Japan
- Prior art keywords
- control program
- revised
- controller
- component
- identification code
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23296—Load, update new program without test program, save memory space
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31418—NC program management, support, storage, distribution, version, update
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Description
本発明は、プラント装置を制御するプロセス制御システム、及び、そのプロセス制御システムが備える保守支援装置及びコントローラに関する。 The present invention relates to a process control system that controls a plant apparatus, and a maintenance support apparatus and a controller included in the process control system.
発電所や工場などでは、各種のプラントの操業停止は、即、製品の生産量の低下、ひいては、売上高や収益の低下をもたらす。そのため、できる限りプラントの操業停止に至ることのない運用ができることが望まれている。
システムを停止させてしまうような異常を起こさないためには、プロセス制御を行う制御プログラムの適切な管理が重要である。このため、動作に影響を与えるような制御プログラムの改訂を確実に検出して、システムの運用者が、その改訂範囲が必要十分であることを確認でき、その改訂の内容が正しいかをクロスチェックできるようにすることが重要である。このようにシステムの運用者が制御プログラムの改訂を管理できるようにすることで、誤った制御プログラムの更新を防ぎ、システムの稼働率を高めることができる。
In power plants and factories, the suspension of operation of various plants immediately leads to a decrease in product production, which in turn leads to a decline in sales and profits. Therefore, it is desired to be able to operate the plant without stopping the operation as much as possible.
In order not to cause an abnormality that stops the system, it is important to appropriately manage a control program that performs process control. For this reason, it is possible to reliably detect revisions of the control program that affect the operation, and to confirm that the revision scope is necessary and sufficient, and to cross-check whether the revisions are correct. It is important to be able to do that. By enabling the system operator to manage revisions of the control program in this way, erroneous control program updates can be prevented and the system operating rate can be increased.
上述した制御プログラムの改訂の管理を行うために、従来は、制御プログラムごとにIDを付与し、改訂管理を実施するようにしている。例えば、特許文献1に開示されたバージョンチェック方式では管理対象のIDとして生成日の日付情報を用いている。
In order to manage revision of the control program described above, conventionally, an ID is assigned to each control program and revision management is performed. For example, in the version check method disclosed in
プラント装置を制御するプロセス制御システムにおいて、大規模な制御プログラム改訂を実施する場合、更新作業手順が複雑になることは避けられない。このとき、更新プログラムの対象誤りや更新漏れを起こす可能性があり、また、影響を受ける可能性のある機能が広範囲にわたるため、制御プログラムの動作確認漏れが発生しやすい。このような制御プログラムの動作確認漏れが発生したとき、不具合を残したまま運用に至ってしまう恐れがある。 In a process control system that controls a plant apparatus, when a large-scale control program revision is performed, it is inevitable that the update work procedure becomes complicated. At this time, there is a possibility that a target error of the update program or an update failure may occur, and since there is a wide range of functions that may be affected, an operation check failure of the control program is likely to occur. When such an operation check omission of the control program occurs, there is a possibility that the operation may be continued with a defect.
また、プログラム改訂が大規模になる場合、プログラムの改訂作業を複数の装置で分担することがある。このとき、特許文献1に記載されるような日付情報によるバージョン管理では、装置ごとの時刻設定のずれや時差により、改訂順の前後関係が崩れることがあり、最新プログラムを誤って判断してしまう可能性がある。また、ハッシュ値などによるID付けをした場合にも、プログラムファイルとしての更新しか検出できないため、プログラムの改訂がシステムの動作にどれほどの影響を与えるかを把握することができず、適切な作業計画を立てることができない。
In addition, when the program revision becomes large, the program revision work may be shared by a plurality of devices. At this time, in version management based on date information as described in
本発明は、制御プログラムが改訂された際の、更新内容の確認や認証処理が容易かつ確実に行えるようにすることを目的とする。 An object of the present invention is to make it possible to easily and reliably check update contents and perform authentication processing when a control program is revised.
本発明のプロセス制御システムは、構成要素毎に数値として判断できる個別の識別符号が付与された制御プログラムを保持し、保持した制御プログラムを実行することにより、制御対象プロセスを制御するコントローラと、制御プログラムを改訂すると共に、改訂した制御プログラムをコントローラに設定する保守支援装置とを備えるプロセス制御システムである。
保守支援装置は、制御プログラムの改訂作業を実行すると共に、改訂作業が行われた際に、改訂された構成要素及びその改訂された構成要素の上位となる構成要素に対して、既に使用された識別符号よりも値が増加する新たな識別符号を付与する制御プログラム改訂部と、制御プログラム改訂部で改訂された制御プログラムの構成要素に付与された識別符号の中の最大の値を、改訂された制御プログラムの識別符号として、コントローラに配信する制御プログラム配信部とを備える。
The process control system of the present invention holds a control program to which an individual identification code that can be determined as a numerical value for each component is held, and executes a held control program to control a process to be controlled, and a control A process control system including a maintenance support device that revises a program and sets the revised control program in a controller.
The maintenance support device executes the revision work of the control program, and when the revision work is performed, the maintenance support apparatus has already been used for the revised component and the components that are higher than the revised component. The control program revision unit that assigns a new identification code whose value is greater than the identification code and the maximum value among the identification codes assigned to the components of the control program revised by the control program revision unit are revised. And a control program distribution unit that distributes the control program to the controller.
本発明の保守支援装置は、構成要素毎に数値として判断できる個別の識別符号が付与された制御プログラムを改訂すると共に、改訂した制御プログラムを、制御対象プロセスを制御するコントローラに配信する保守支援装置である。
そして、制御プログラムの改訂作業を実行すると共に、改訂作業が行われた際に、改訂された構成要素及びその改訂された構成要素が影響を与える構成要素に対して、既に使用された識別符号よりも値が増加する新たな識別符号を付与する制御プログラム改訂部と、
前記制御プログラム改訂部で改訂された制御プログラムの構成要素に付与された識別符号の中の最大の値を、改訂された制御プログラムの識別符号として、前記コントローラに配信する制御プログラム配信部とを備える。
A maintenance support apparatus according to the present invention revises a control program to which individual identification codes that can be determined as numerical values for each component are revised, and distributes the revised control program to a controller that controls a process to be controlled. It is.
Then, the control program revision work is executed, and when the revision work is performed, the revised component and the component affected by the revised component are identified based on the identification codes already used. A control program revision unit that assigns a new identification code whose value also increases,
A control program distribution unit that distributes the maximum value among the identification codes assigned to the components of the control program revised by the control program revision unit to the controller as the identification code of the revised control program; .
本発明のコントローラは、構成要素毎に数値として判断できる個別の識別符号が付与された制御プログラムを記憶する制御プログラム記憶部と、制御プログラム記憶部が記憶した制御プログラムにより、制御対象プロセスを制御する制御処理部と、制御プログラム記憶部が記憶した制御プログラムが更新されたとき、更新前の制御プログラムの識別符号と、更新後の制御プログラムの識別符号との差分が、予め設定された閾値以内である場合に、制御プログラムの更新を許可し、閾値を越える場合に、更新された制御プログラムの実行を制限する実行プログラム管理部とを備える。 The controller of the present invention controls a process to be controlled by a control program storage unit that stores a control program to which individual identification codes that can be determined as numerical values for each constituent element are stored, and a control program stored in the control program storage unit When the control processing unit and the control program stored in the control program storage unit are updated, the difference between the identification code of the control program before the update and the identification code of the control program after the update is within a preset threshold. In some cases, the system includes an execution program management unit that permits updating of the control program and restricts execution of the updated control program when a threshold value is exceeded.
本発明によると、制御プログラムの更新を、誤り無く正確に実施することができる。また、更新作業を行う際に作業者の判断ミスを排除できると共に、作業計画の誤りを防ぐことができる。したがって、本発明によると制御プログラム更新時の不具合を排除できるので、稼働率の高いシステム運用を実現できる。 According to the present invention, the control program can be updated accurately without error. In addition, it is possible to eliminate an operator's judgment error when performing update work, and to prevent an error in the work plan. Therefore, according to the present invention, it is possible to eliminate a problem at the time of updating the control program, and thus it is possible to realize a system operation with a high operation rate.
以下、本発明の一実施の形態例(以下、「本例」と称する。)を、添付図面を参照して説明する。
[1.システムの全体構成]
図1は、プロセス制御システム100の全体構成例を示す。
プロセス制御システム100は、2重化されたコントローラ1a,1bを備えた制御システムである。すなわち、プロセス制御システム100は、プロセス入出力装置2を介して制御対象プロセス3を制御する2つのコントローラ1a,1bと、通信ネットワーク4を介して2つのコントローラ1a,1bに接続された保守支援装置5とを含んで構成される。2つのコントローラ1a,1bの内の一方のコントローラ1aをA系と称し、他方のコントローラ1bをB系と称する。ここでは、A系のコントローラ1aは主系であり、B系のコントローラ1bは待機系である。但し、後述するように主系と待機系は制御状況により入れ替わる。
Hereinafter, an embodiment of the present invention (hereinafter referred to as “this example”) will be described with reference to the accompanying drawings.
[1. Overall system configuration]
FIG. 1 shows an example of the overall configuration of the
The
A系のコントローラ1aは、コントローラ記憶部10aと、コントローラ処理部11aとで構成される。コントローラ記憶部10aに記憶される情報には、承認IDテーブル12aが含まれる。コントローラ処理部11aは、実行プログラム管理部13aと、状態制御部14aと、制御処理部15aとを備える。制御処理部15aには、実行用制御プログラム16aが記憶される。実行用制御プログラム16aは、制御処理部15a内の制御プログラム記憶部(不図示)に記憶される。コントローラ1aが主系であるとき、制御処理部15aは、この実行用制御プログラム16aの実行で、プロセス入出力装置2を介して制御対象プロセス3を制御する。
B系のコントローラ1bについても、A系のコントローラ1aと同じ構成である。すなわち、B系のコントローラ1bは、コントローラ記憶部10bと、コントローラ処理部11bとで構成される。コントローラ記憶部10bに記憶される情報には、承認IDテーブル12bが含まれる。コントローラ処理部11bは、実行プログラム管理部13bと、状態制御部14bと、制御処理部15bとを備える。制御処理部15bには、実行用制御プログラム16bが記憶される。実行用制御プログラム16bは、制御処理部15b内の制御プログラム記憶部(不図示)に記憶される。コントローラ1aの代わりにコントローラ1bが主系となる場合には、制御処理部15bは、この実行用制御プログラム16bの実行で、プロセス入出力装置2を介して制御対象プロセス3を制御する。
The A-system controller 1a includes a
The B system controller 1b has the same configuration as the A system controller 1a. That is, the B-system controller 1b includes a controller storage unit 10b and a controller processing unit 11b. The information stored in the controller storage unit 10b includes an approval ID table 12b. The controller processing unit 11b includes an execution
制御処理部15a,15bは、例えば、汎用のマイクロプロセッサやFPGA(Field-Programmable Gate Array)を用いた演算処理装置と半導体メモリによる記憶装置とによって構成される。そして、実行用制御プログラム16a,16bは、各制御処理部15a,15bの記憶装置に記憶された情報である。演算処理装置は、実行用制御プログラム16a,16bを実行することによって所定の制御動作を実現する。また、承認IDテーブル12a,12bには、承認済制御データのIDが記憶される。
The
状態制御部14a,14bは、制御プログラム16a,16bの更新や保守のために保守支援装置5から送信される、コントローラ状態遷移要求を受信する。そして、その受信した内容により、状態制御部14a,14bがコントローラ1a,1bの停止及び運転の管理を行う。
実行プログラム管理部13a,13bは、コントローラ1a,1bが状態制御部14a,14bにより運転状態に遷移する際に、実行する制御プログラム16a,16bが実行可能かどうかをチェックする。
具体的には、実行プログラム管理部13a,13bは、まず実行用制御プログラム16a,16bが承認済みか否かを、承認IDテーブル12a,12bを参照してチェックする。次に、実行プログラム管理部13a,13bは、これから実行しようとしている制御プログラム16a,16bが、もう一方の系の制御プログラムと機能が乖離していないかどうかをチェックする。チェックの結果、実行プログラム管理部13a,13bは実行用制御プログラム16が実行不可と判断した場合には、状態制御部14a,14bにその旨を返し、状態遷移処理を中断させる。
The
The execution
Specifically, the execution
制御処理部15a,15bは、制御プログラム16a,16bの指示に従って制御対象プロセス3からプロセス入出力装置2を介してプロセスデータを入力し、制御データを演算する。そして、制御処理部15a,15bは、演算した制御データの一部を、プロセス入出力装置2を介して制御対象プロセス3へ出力する。
The
保守支援装置5は、保守機能処理部50と、保守データ記憶部51とを備える。保守機能処理部50は、制御プログラムエディタ部52と、制御プログラムコンパイラ部53と、制御プログラム配信部54と、制御プログラム比較部55と、制御プログラム承認部56とを有する。制御プログラムエディタ部52と制御プログラムコンパイラ部53は、制御プログラムを改訂する制御プログラム改訂部として機能する。
保守データ記憶部51に記憶されるデータには、制御プログラムソース57、付与IDデータ58、及び配布用制御プログラム59が含まれる。
この保守支援装置5は、演算処理装置と半導体メモリなどを備えたコンピュータ装置によって構成され、キーボードやマウスなどの入力装置60や、液晶ディスプレイ(LCD:Liquid Crystal Display)などの表示装置61が接続されている。
The maintenance support device 5 includes a maintenance function processing unit 50 and a maintenance data storage unit 51. The maintenance function processing unit 50 includes a control
The data stored in the maintenance data storage unit 51 includes a
The maintenance support device 5 is configured by a computer device including an arithmetic processing device and a semiconductor memory, and is connected to an
制御プログラムエディタ部52は、表示装置61などに対するグラフィカルなユーザインタフェースを有し、入力装置60を介してユーザの操作入力を受け付けて、制御プログラムソース57の新規作成や、既存の制御プログラムソース57の改訂を行う。ここでの改訂には、制御プログラムソース57の一部の構成要素を書き換える修正の他に、制御プログラムソース57の構成要素の追加などの、制御プログラムソース57の一部を変更する種々の処理が含まれる。
制御プログラムソース57の改訂内容がプログラムの動作に影響がある場合、制御プログラムエディタ部52は、制御プログラムソース57の改訂した構成要素及び影響箇所に、新たにIDを付与する。このIDは、付与IDデータ58に記録されており、付与する毎に制御プログラムエディタ部52が付与IDデータ58を元の値に加算した値で更新する。例えば、元の値に1つ加算した値に更新する。付与IDデータ58に記録されるIDは制御プログラムの構成要素毎に付与されるため、1つの制御プログラムは複数のIDを持つ。IDの付与例については後述する。
The control
When the revised contents of the
制御プログラムコンパイラ部53は、制御プログラムソース57をコンピュータ装置が実行可能な形式のプログラムに変換するコンパイル処理を行い、コントローラ1a,1bにおける実行プログラムモジュールである配布用制御プログラム59を作成する。このとき、ソース中に書き込まれていたIDを配布用制御プログラム59に付与する。
こうして作成された制御プログラムソース57と配布用制御プログラム59は、いったん保守支援装置5の保守データ記憶部51に記憶される。そして、配布用制御プログラム59は制御プログラム配信部54により、待機系であるB系コントローラ1bへ配信され、実行用制御プログラム16bが改訂される。
The control
The
また、制御プログラムソース57の改訂があった際に承認を行う作業者は、制御プログラム比較部55により、これから更新する配布用制御プログラム59と、既に運用されている実行用制御プログラム16bを比較し、その更新内容が正しいかを比較する。この比較で、更新内容が妥当であると承認作業者が判断した場合、制御プログラム承認部56は、制御プログラムの構成要素毎の承認IDを管理する承認IDテーブル12bに、承認IDを設定する。
また、改訂された実行用制御プログラム16bが承認され、作業者により動作の確認が行われた後、主系がA系コントローラ1aからB系コントローラ1bに切り替えられる。そして、改訂された実行用制御プログラム16bがセットされたB系コントローラ1bにより、制御対象プロセス3が制御される。その後、待機系となったA系コントローラ1aへ、配布用制御プログラム59が配信され、実行用制御プログラム16aについても改訂される。
Further, an operator who approves when the
Further, after the revised
[2.制御プログラム改訂時の処理の流れ]
図2は、ユーザが保守支援装置5の上でプログラムを改訂する手順と、それにより実行される処理の流れを示すフローチャートである。
まず、改訂作業者が、保守支援装置5を使用して、制御プログラムを改訂し、改訂された制御プログラムを保存する(ステップS11)。このとき、制御プログラムエディタ部52が、改訂された制御プログラムソース57に付与IDデータ58で管理されているID571を付与して出力する。制御プログラムソース57は複数出力可能で、それぞれにIDが付与される。例えば、図2に示すように、改訂された制御プログラムソース57−1,57−2,57−3が存在するとき、それぞれにID571−1,571−2,571−3が付与される。
[2. Flow of processing when control program is revised]
FIG. 2 is a flowchart showing a procedure for a user to revise a program on the maintenance support device 5 and a flow of processing executed thereby.
First, the revision operator revises the control program using the maintenance support device 5, and stores the revised control program (step S11). At this time, the control
次に、改訂作業者がコンパイル操作を行うと(ステップS12)、制御プログラムコンパイラ部53が、制御プログラムソース57を元に配布用制御プログラム59を出力する。このとき、配布用制御プログラム59には、ID571と同一のID591が付与される。配布用制御プログラム59は複数出力可能で、それぞれにIDが付与される。例えば、図2に示すように、改訂された配布用制御プログラム59−1,59−2,59−3が存在するとき、それぞれにID591−1,591−2,591−3が付与される。
Next, when the revision operator performs a compile operation (step S12), the control
次に、改訂作業者がダウンロード操作を行うと(ステップS13)、制御プログラム配信部54が、配布用制御プログラム59を、待機系のコントローラ(A系コントローラ1a又はB系コントローラ1b)に配信する。配信された配布用制御プログラム59は、制御処理部15a又は15bの実行用制御プログラム16a又は16bに上書きコピーされる。このとき、上書きコピーされた実行用制御プログラム16a又は16bのID161a又は161bについても、配布用制御プログラム59のID591と同一のものに上書きされる。例えば、図2に示すように、改訂された実行用制御プログラム16−1,16−2,16−3が存在するとき、それぞれのID161−1,161−2,161−3も書き換えられる。
Next, when the revision operator performs a download operation (step S13), the control
その後、承認を行う作業者は、保守支援装置5上で、配布用制御プログラム59と改訂前の実行用制御プログラム16a又は16bとの比較確認を行う(ステップS14)。このとき、制御プログラム比較部55が、配布用制御プログラム59の改訂された構成要素などを表示装置61に表示させる。そして、承認を行う作業者が、改訂された制御プログラムの承認操作を行うと(ステップS15)、制御プログラム承認部56は、承認対象となる制御プログラムのID値に承認ID161を設定する。すなわち、制御プログラム承認部56は、承認IDテーブル12a又は12b上の該当IDの値と、実行用制御プログラム16a又は16bのIDとを一致させる。
Thereafter, the worker who performs the approval performs a comparison check between the
最後に、作業者は、コントローラ1a又は1b上で制御処理部15a又は15bを実行させ、制御処理部15a又は15bにセットされた実行用制御プログラム16a又は16bを作動させ、実行結果を保守支援装置5に出力する。作業者は、出力内容を確認する。
Finally, the worker executes the
[3.制御プログラム改訂時のID付与処理]
図3のフローチャートは、制御プログラム改訂時のID付与処理の例を示す。
制御プログラムエディタ部52は、改訂された制御プログラムソース57と改訂前の制御プログラムソース57とを比較し、更新された構成要素を判断する(ステップS101)。ここでの更新された構成要素には、処理を示す構成要素の他に、関数を示す構成要素も含まれる。
[3. ID assignment process when the control program is revised]
The flowchart of FIG. 3 shows an example of ID assignment processing when the control program is revised.
The control
さらに、ステップS101で判断した構成要素が変更されたとき、処理内容に影響を与える他の構成要素があるか否かを判断する(ステップS102)。ここで、処理内容に影響を与える他の構成要素がある場合(ステップS102のYes)には、更新された構成要素と、影響を与える構成要素に付与されたIDを削除する(ステップS103)。また、処理内容に影響を与える他の構成要素がない場合(ステップS102のNo)には、更新された構成要素に付与されたIDを削除する(ステップS104)。 Furthermore, when the component determined in step S101 is changed, it is determined whether there is another component that affects the processing content (step S102). Here, if there is another component that affects the processing content (Yes in step S102), the updated component and the ID assigned to the component that affects are deleted (step S103). When there is no other component that affects the processing content (No in step S102), the ID assigned to the updated component is deleted (step S104).
次に、制御プログラムエディタ部52は、IDを削除した構成要素に対して、新たにIDを付与する(ステップS105)。このときには、制御プログラムエディタ部52は、付与IDデータ58として既に付与されたIDの最も大きな値から、1つずつ値を加算したIDを、各構成要素に順に付与する。但し、値を1つ加算するのは1つの例であり、後述するように、1を越える値を加算する場合もある。
Next, the control
ステップS105でのIDの付与処理が終了すると、制御プログラムエディタ部52は、ステップS105で各構成要素に付与したIDの中で最も大きな値を、改訂された制御プログラムソース57のIDに設定する(ステップS106)。ステップS106で制御プログラムソース57のIDが設定されると、保守データ記憶部51に記憶された制御プログラムソース57のID571が、設定された値に更新される。ID571が更新されることで、配布用制御プログラム59のID591や実行用制御プログラム16a,16bのID161a,161bについても、改訂された制御プログラムの配布時などに更新される。
When the ID assigning process in step S105 is completed, the
なお、保守支援装置5の制御プログラム承認部56は、制御プログラムの改訂前と改訂後とで、それぞれの構成要素のIDの一致又は不一致により改訂が行われた構成要素を判断する。そして、制御プログラム承認部56は、その判断に基づいて構成要素の改訂の有無をコントローラ1a,1bに通知する。
Note that the control
[4.ID付与処理の例(例1)]
図4は、制御プログラムの一部の構成要素が改訂されたときの、IDの付与処理の例(例1)を示す。
ここでは、8個の構成要素の制御プログラムAをツリー構造で示す。改訂前の初期状態C11では、それぞれの構成要素に個別のIDが付与されている。すなわち、最も上位の要素CPU−Aの下に、タスク−Lとタスク−Mが存在し、タスク−Lの下位には処理−Pが存在する。また、処理−Pの下位には、関数−Vと関数−Wが存在する。さらに、処理−Qの下位には、関数−Xが存在する。このとき、図4に示すように、状態C11のプログラムの8個の構成要素に、「1」から「8」のIDが個別に付与されている。図4のカッコ内の値がIDである。
この初期状態C11では、構成要素のIDの最大値である「8」が、制御プログラムAのIDである。
[4. Example of ID assignment processing (Example 1)]
FIG. 4 shows an example (Example 1) of an ID assignment process when some components of the control program are revised.
Here, the control program A for eight components is shown in a tree structure. In the initial state C11 before revision, individual IDs are assigned to the respective components. That is, task-L and task-M exist under the highest element CPU-A, and process-P exists under task-L. Further, a function -V and a function -W exist below the process -P. Further, a function -X exists below the process -Q. At this time, as shown in FIG. 4, IDs “1” to “8” are individually assigned to the eight components of the program in the state C11. The value in parentheses in FIG. 4 is the ID.
In the initial state C11, “8” which is the maximum value of the component ID is the ID of the control program A.
そして、初期状態C11から、作業者による制御プログラムの改訂で、処理−Qを改訂した状態C12に変化したとする。このとき、制御プログラムエディタ部52は、処理−QのID(6)を削除する。図4では、カッコ内のID値を空欄として、IDが削除された状態を示す。
また、処理−Qの改訂が、処理内容に影響を与える可能性がある他の構成要素のIDについても削除する。ここでは、処理−Qの構成要素よりも上位の構成要素である、タスク−Mと、タスク−Mのさらに上位の構成要素である、CPU−Aについても、IDを削除する。
Then, it is assumed that the process-Q is changed to the revised state C12 by the revision of the control program by the operator from the initial state C11. At this time, the control
In addition, the IDs of the other components that may affect the processing contents when the processing-Q is revised are also deleted. Here, IDs are also deleted for the task-M, which is a higher-order component than the process-Q, and for the CPU-A, which is a higher-order component of the task-M.
そして、改訂された制御プログラムの保存時の状態C13では、処理−Qと、タスク−Mと、CPU−Aに、新たなIDが付与される。このときには、改訂前の構成要素のIDの最大値が「8」であり、次に付与されるIDは、「8」に1つ加算した値である「9」からになる。この例では、IDが付与されていない要素の最下位は処理-Qであるため、処理−QのIDを「9」とする。以降下位の要素から順に、値を1つずつ加算して、タスク-Mに「10」を、CPU−Aに「11」を付与する。
そして、改訂された制御プログラムAのIDは、これら要素のIDの最大値であるため、「11」とする。
And in state C13 at the time of preservation | save of the revised control program, new ID is provided to process-Q, task-M, and CPU-A. At this time, the maximum value of the ID of the component before revision is “8”, and the next assigned ID is “9” which is a value obtained by adding one to “8”. In this example, since the lowest order of the elements to which no ID is assigned is process-Q, the process-Q ID is set to “9”. Subsequently, the values are added one by one in order from the lower element, and “10” is assigned to task-M and “11” is assigned to CPU-A.
The ID of the revised control program A is “11” because it is the maximum value of the IDs of these elements.
[5.ID付与処理の例(例2)]
図5は、制御プログラムの一部の構成要素が改訂されたときの、IDの付与処理の例(例2)を示す。図5の例の初期状態C11の制御プログラムAは、図4の例の初期状態C11の制御プログラムAと同じである。
この初期状態C11では、構成要素のIDの最大値である「8」が、制御プログラムAのIDである。
[5. Example of ID assignment processing (example 2)]
FIG. 5 shows an example (example 2) of an ID assigning process when some components of the control program are revised. The control program A in the initial state C11 in the example of FIG. 5 is the same as the control program A in the initial state C11 in the example of FIG.
In the initial state C11, “8” which is the maximum value of the component ID is the ID of the control program A.
そして、初期状態C11から、作業者による制御プログラムの改訂で、タスク−Mを改訂した状態C14に変化したとする。このとき、制御プログラムエディタ部52は、タスク−MのID(7)を削除する。また、タスク−Mの改訂が、処理内容に影響を与える可能性がある他の構成要素のIDについても削除する。ここでは、タスク−Mの上位の構成要素である、CPU−AのIDを削除する。カッコ内のID値が空欄のものが、IDが削除された状態である。
Then, it is assumed that the task-M is changed to the revised state C14 by the revision of the control program by the operator from the initial state C11. At this time, the control
そして、改訂された制御プログラムの保存時の状態C15では、タスク−Mと、CPU−Aに、新たなIDが付与される。このときには、改訂前の構成要素のIDの最大値が「8」であり、タスク-Mを「9」とし、CPU−Aを「10」とする。
そして、改訂された制御プログラムAのIDは、これら要素のIDの最大値であるため、「10」とする。
In the state C15 when the revised control program is saved, new IDs are assigned to the task-M and the CPU-A. At this time, the maximum value of the component ID before revision is “8”, the task-M is “9”, and the CPU-A is “10”.
The revised ID of the control program A is “10” because it is the maximum value of the IDs of these elements.
[6.ID付与処理の例(例3)]
図6は、制御プログラムの一部の構成要素が改訂されたときの、IDの付与処理の例(例3)を示す。図6の例の初期状態C11の制御プログラムAは、図4の例の初期状態C11の制御プログラムAと同じである。
この初期状態C11では、構成要素のIDの最大値である「8」が、制御プログラムAのIDである。
[6. Example of ID assignment processing (example 3)]
FIG. 6 shows an example (example 3) of ID assignment processing when some components of the control program are revised. The control program A in the initial state C11 in the example of FIG. 6 is the same as the control program A in the initial state C11 in the example of FIG.
In the initial state C11, “8” which is the maximum value of the component ID is the ID of the control program A.
そして、初期状態C11から、作業者による制御プログラムの改訂で、関数−Xを改訂した状態C16に変化したとする。このとき、制御プログラムエディタ部52は、関数−XのID(3)を削除する。
また、関数−Xの改訂が、処理内容に影響を与える可能性がある他の構成要素のIDについても削除する。ここでは、タスク−Mの上位の構成要素である、処理−Qとタスク−MとCPU−AのIDを削除する。カッコ内のID値が空欄のものが、IDが削除された状態である。
Then, it is assumed that the function -X is changed to the revised state C16 by the revision of the control program by the operator from the initial state C11. At this time, the control
In addition, the IDs of other components that may affect the processing contents when the function-X is revised are also deleted. Here, the IDs of process-Q, task-M, and CPU-A, which are upper components of task-M, are deleted. If the ID value in the parentheses is blank, the ID is deleted.
そして、改訂された制御プログラムの保存時の状態C17では、関数−Xと、処理−Qと、タスク−Mと、CPU−Aに、新たなIDが付与される。このときには、改訂前の構成要素のIDの最大値が「8」であり、関数−Xを「9」とし、処理−Qを「10」とし、タスク-Mを「11」とし、CPU−Aを「12」とする。
そして、改訂された制御プログラムAのIDは、これら要素のIDの最大値であるため、「12」とする。
In the state C17 when the revised control program is saved, new IDs are assigned to the function -X, the process -Q, the task -M, and the CPU-A. At this time, the maximum value of the ID of the component before revision is “8”, the function −X is “9”, the process −Q is “10”, the task −M is “11”, and the CPU-A Is "12".
The ID of the revised control program A is “12” because it is the maximum value of the IDs of these elements.
[7.ID付与処理の例(例4)]
図7は、制御プログラムの一部の構成要素が改訂されたときの、IDの付与処理の例(例3)を示す。図7の例の初期状態C11の制御プログラムAは、図4の例の初期状態C11の制御プログラムAと同じである。
この初期状態C11では、構成要素のIDの最大値である「8」が、制御プログラムAのIDである。
そして、初期状態C11から、作業者による制御プログラムの改訂で、処理−Qを改訂した状態C18に変化したとする。このとき、制御プログラムエディタ部52は、処理−QのID(6)を削除する。
ここでは、処理−Qの改訂が、他の構成要素には影響を及ぼさないとする。あるいは、IDを管理する上では、処理−Qの改訂が上位の構成要素であるタスク−MやCPU−Aへの影響が無視できるとする。この場合、図7に示す状態C18のように、タスク−MやCPU−AのIDは削除しない。
[7. Example of ID assignment processing (example 4)]
FIG. 7 shows an example (example 3) of ID assignment processing when some components of the control program are revised. The control program A in the initial state C11 in the example of FIG. 7 is the same as the control program A in the initial state C11 in the example of FIG.
In the initial state C11, “8” which is the maximum value of the component ID is the ID of the control program A.
Then, it is assumed that the initial state C11 is changed to the state C18 in which the process-Q is revised by the revision of the control program by the operator. At this time, the control
Here, it is assumed that the revision of the process-Q does not affect other components. Alternatively, in managing IDs, it is assumed that the revision of the process-Q can ignore the influence on the task-M and CPU-A, which are upper components. In this case, the task-M or CPU-A ID is not deleted as in the state C18 shown in FIG.
そして、改訂された制御プログラムの保存時の状態C19では、処理−Qに、新たなIDが付与される。このときには、改訂前の構成要素のIDの最大値が「8」であり、次に付与されるIDは、「8」に1つ加算した値である「9」になる。そして、改訂された制御プログラムAのIDは、付与したIDの最大値であるため、「9」になる。
なお、図4〜図7に示す各構成要素のID付与状態は一つの例であり、後述する変形例で説明するように、その他のID付与状態としてもよい。
And in state C19 at the time of preservation | save of the revised control program, new ID is provided to process-Q. At this time, the maximum value of the ID of the component before revision is “8”, and the ID assigned next is “9” which is a value obtained by adding one to “8”. The revised ID of the control program A is “9” because it is the maximum value of the assigned ID.
It should be noted that the ID assignment state of each component shown in FIGS. 4 to 7 is one example, and other ID assignment states may be used as will be described in a later-described modification.
[8.コントローラでの制御プログラムの更新例]
図8及び図9は、実行用制御プログラム16a,16bが更新された際に、コントローラ1a,1bでの切り替え処理を示すフローチャートである。
図8及び図9の左側は保守支援装置5における処理を示し、図8及び図9の右側はコントローラ1a,1bの状態を示す。図8に示すように、最初の状態C21では、A系コントローラ1aが主系であり、B系コントローラ1bが待機系である。ここで、オンライン運転状態とは、主系の場合、制御対象プロセス3に対し制御データの出力動作を行っている状態、待機系の場合、主系と同じ制御プログラムを実行していつでも主系への切替えが可能な状態をいう。
[8. Example of control program update on the controller]
FIGS. 8 and 9 are flowcharts showing the switching process in the controllers 1a and 1b when the
The left side of FIGS. 8 and 9 shows processing in the maintenance support device 5, and the right side of FIGS. 8 and 9 shows the states of the controllers 1a and 1b. As shown in FIG. 8, in the initial state C21, the A-system controller 1a is the main system and the B-system controller 1b is the standby system. Here, the online operation state is a state in which control data is output to the
まず保守支援装置5は、状態C21のときに、待機系のB系コントローラ1bへ停止要求を送信する(ステップS21)。B系コントローラ1bの状態制御部14bは、その停止要求を受信すると、自装置を停止状態にする(状態C22)。ここでの停止状態とは、制御プログラム16bの実行を停止した状態をいう。したがって、状態C22では、B系コントローラ1bは、いわゆるホットスタンバイが解除された状態になる。
この状態で、保守支援装置5は、状態C22の待機系のB系コントローラ1bに、改訂された制御プログラム59を送信する(ステップS22)。B系コントローラ1bは、その制御プログラム59を受信して、制御プログラム16bを、改訂された制御プログラム59に更新する。
First, the maintenance support device 5 transmits a stop request to the standby B-system controller 1b in the state C21 (step S21). When the
In this state, the maintenance support device 5 transmits the revised
次に保守支援装置5は、待機系のB系コントローラ1bに、オフライン運転要求を送信する(ステップS23)。B系コントローラ1bの状態制御部14bは、そのオフライン運転要求を受信すると、自装置を待機系オフライン運転状態にする(状態C23)。ここで、オフライン運転状態とは、待機系のB系コントローラ1bが制御プログラム16bの実行を開始し、その動作の正否を確認している状態である。この動作の正否の判断は、例えば、B系コントローラ1bがA系コントローラ1aから送信される一致化用制御データを、自装置で得られた制御データと比較することによって行うことができる。
Next, the maintenance support device 5 transmits an offline operation request to the standby B-system controller 1b (step S23). When the
ここで、待機系のB系コントローラ1bがオフライン運転状態では、制御プログラム16bの実行を開始する直前に、作業者が意図した制御プログラムがコントローラ1b上で動作しているかどうかをチェックする処理が行われる。すなわち、B系コントローラ1bの実行プログラム管理部13bは、制御プログラム16bの承認状態を判定する。
まず、実行プログラム管理部13bは、制御プログラム16bが承認済みか否かを判断する(ステップS24)。ここでは、実行プログラム管理部13bは、承認IDテーブル12にIDが登録されているか否かを判断して、承認済みか未承認かを判断する。
ここで、承認IDテーブル12bにIDが登録されていなければ未承認の状態(ステップS24のNo)であり、実行プログラム管理部13bは処理を中断し、未承認であることを表示装置61などで作業者に通知する。そして、作業者が制御プログラム59をさらに改訂するなどの対策を行った後、ステップS21からの処理を再度実行する。また、承認IDテーブル12にIDが登録されていれば承認済(ステップS24のYes)であり、実行プログラム管理部13bは処理を続行し、ステップS25の判断に移る。
Here, when the standby B-system controller 1b is in an offline operation state, immediately before the execution of the
First, the execution
Here, if the ID is not registered in the approval ID table 12b, it is in an unapproved state (No in step S24), and the execution
次に、実行プログラム管理部13bは、A系コントローラ1aの承認IDテーブル12aに記録されている承認IDデータを、B系コントローラ1bのコントローラ記憶部10b上にコピーする。そして、実行プログラム管理部13bは、そのコピーした承認IDデータの値と、待機系の承認IDテーブル12bとのIDの値を比較し、両者のIDの値の差を判定する(ステップS25)。
ステップS25でのIDの差の判断は、例えば図4に示す更新前の状態C11の制御プログラムAのID「8」と、更新後の状態13の制御プログラムAのID「11」とを比較することに相当する。このIDの値の差を判定することは、制御プログラムの改訂規模が、規定値(規定された規模)を超えるか否かを判定することになる。
Next, the execution
In step S25, the ID difference is determined by, for example, comparing the ID “8” of the control program A in the state C11 before update shown in FIG. 4 with the ID “11” of the control program A in the state 13 after update. It corresponds to that. Determining the difference between the ID values determines whether or not the revision scale of the control program exceeds a prescribed value (a prescribed scale).
ここでのIDの差の規定値はシステムの特性に応じて予め設定される。改訂規模がこの規定値を超えた場合、オンライン運転中の更新は、プログラム改訂の影響が大きく十分な動作確認ができないことが予想されるため、システム停止してプログラム更新を行うべきという指針にて決定しておく。具体的には、例えば規定値を「1」又は「2」のような比較的小さな値に設定する。 The specified value of the ID difference here is preset according to the characteristics of the system. If the revision scale exceeds this specified value, it is expected that the update during online operation will be affected greatly by the program revision and sufficient operation cannot be confirmed. Make a decision. Specifically, for example, the specified value is set to a relatively small value such as “1” or “2”.
ステップS25の判断で、規定値を超えていた場合(ステップS25でNo)、保守支援装置5は、オンライン保守を中断し、改造規模が大きくオンライン保守できないことを表示装置61などで作業者に通知する。この通知を確認した作業者は、別の検査環境でシミュレーションを行って動作確認を行い、更新作業を行う。また、ステップS25の判断で、改訂規模が規定値内の場合(ステップS25でYes)、処理を続行する。
If it is determined in step S25 that the specified value has been exceeded (No in step S25), the maintenance support device 5 interrupts online maintenance and notifies the operator that the scale of modification is large and online maintenance cannot be performed using the
次に作業者は、制御プログラムの16bの動作確認を行い、B系コントローラ1bの動作が正しいか否かを判断する(ステップS26)。ここで、B系コントローラ1bの動作が正しいことを確認できなかった場合(ステップS26でNo)、処理を中断する。そして、作業者が制御プログラム59をさらに改訂するなどの対策をして、ステップS21以下の処理を再度実行する。
Next, the worker confirms the operation of the
ステップS26でB系コントローラ1bの動作が正しいことを確認できた場合には(ステップS26でYes)、保守支援装置5は、待機系のB系コントローラ1bへオンライン運転要求を送信する(ステップS27)。B系コントローラ1bの状態制御部14bは、そのオンライン運転要求を受信すると、自装置を待機系オンライン運転状態にする(状態C24)。
次に、保守支援装置5は、主系のA系コントローラ1aへ主系放棄要求を送信する(ステップS28)。その主系放棄要求を受信したA系コントローラ1aは、主系を放棄して、待機系オンライン運転状態になり、それに伴いB系コントローラ1bが主系オンライン運転状態になる(状態C25)。状態C25では、A系コントローラ1a及びB系コントローラ1bは、主系及び待機系が交代したことになる。
When it is confirmed in step S26 that the operation of the B system controller 1b is correct (Yes in step S26), the maintenance support device 5 transmits an online operation request to the standby system B controller 1b (step S27). . When receiving the online operation request, the
Next, the maintenance support device 5 transmits a main system abandonment request to the main system A controller 1a (step S28). The A system controller 1a that has received the main system abandonment request abandons the main system and enters the standby system online operation state, and accordingly, the B system controller 1b enters the main system online operation state (state C25). In the state C25, the main system and the standby system of the A system controller 1a and the B system controller 1b are changed.
その後、図8の処理から図9の処理に移り、ステップS31の処理が行われる。
図9のステップS31〜S38の処理は、保守支援装置5がA系コントローラ1aに対して行う処理であり、図8のステップS21〜S28で、保守支援装置5がB系コントローラ1bに対して行う処理と同じ内容である。つまり、ステップS31〜S38は、ステップS21〜S28の処理においてA系コントローラ1aとB系コントローラ1bとが入れ替わったものであり、ここでは説明を省略する。なお、コントローラの状態についても、状態C31〜C34は、状態C22〜C25から、A系コントローラ1aとB系コントローラ1bとが入れ替わった状態である。
Thereafter, the process proceeds from the process of FIG. 8 to the process of FIG. 9, and the process of step S31 is performed.
The processing in steps S31 to S38 in FIG. 9 is processing performed by the maintenance support device 5 for the A-system controller 1a. In steps S21 to S28 in FIG. 8, the maintenance support device 5 performs processing for the B-system controller 1b. The content is the same as the processing. That is, steps S31 to S38 are obtained by replacing the A-system controller 1a and the B-system controller 1b in the processing of steps S21 to S28, and the description thereof is omitted here. Regarding the controller states, states C31 to C34 are states in which the A system controller 1a and the B system controller 1b are switched from the states C22 to C25.
以上のようにして、A系コントローラ1a及びB系コントローラ1bの制御プログラム16a,16bは、保守支援装置5から送信された改訂された制御プログラム59に更新される。そして、A系コントローラ1a及びB系コントローラ1bの状態は、もとの状態C21に戻る。
このように本例のコントローラ1a,1bが2重化されたプロセス制御システム100によると、2つのコントローラ1a,1bが順に待機系になり、その待機系のコントローラをオフライン状態として制御プログラムの更新処理が行われるようになる。そして、その制御プログラムの更新時には、それぞれのコントローラ1a,1bごとに、制御プログラムの改造規模が許容範囲内か否かが判断され、許容範囲である場合には、更新が許可される。したがって、本例のプロセス制御システム100によると、更新の影響が大きくリスクが高い場合のオンライン保守が制限され、安全なシステム運用を実現することができる。
As described above, the
As described above, according to the
[9.制御プログラムの更新時の具体例]
ここで、ステップS25及びS35で行われる、更新前の制御プログラムのIDの値と、更新後の制御プログラムのIDの値を比較して、制御プログラムの改訂規模を判断する具体的な処理を、図4〜図7の例を使って説明する。
例えば、比較する際の規定値が「1」であるとする。このとき、図4に示すように、更新前の制御プログラムAのIDが「8」であり、更新後の制御プログラムのIDが「11」であるとき、双方のIDの値の差が「3」になる。したがって、図4の例の場合、実行プログラム管理部13bでは、規定値が「1」を越えることが判定され、プログラムの改造規模が許容範囲を超えたことが検出される。このため、保守支援装置5では、詳細な動作確認が必要であるとして、オンライン保守が中断される。また、図5の例及び図6の例の場合も、それぞれ更新前と更新後のIDの値の差が「2」,「4」であり、同様に、プログラムの改造規模が許容範囲を超えたことが検出される。一方、図7の例の場合には、更新前と更新後のIDの値の差が「1」であり、プログラムの改造規模が許容範囲であると検出される。
[9. Specific example when updating control program]
Here, the specific process of determining the revision scale of the control program by comparing the value of the control program ID before the update and the value of the control program ID after the update performed in steps S25 and S35, This will be described with reference to the examples of FIGS.
For example, it is assumed that the specified value for comparison is “1”. At this time, as shown in FIG. 4, when the ID of the control program A before the update is “8” and the ID of the control program after the update is “11”, the difference between both ID values is “3”. "become. Therefore, in the example of FIG. 4, the execution
このように、規定値が「1」の場合には、制御プログラムの構成要素1つだけが修正され、しかもその修正が他の構成要素に影響を及ぼさない小規模なものである場合にだけ、オンライン保守で自動的に制御プログラムの改訂が許可されるようになる。
なお、規定値を「2」に設定した場合には、図5に示す制御プログラムの改訂が許容範囲内になり、図4の例と図6の例が許容範囲外になる。規定値をどの値にするかは、制御対象プロセス3の構成や、システムの安定性がどの程度求められるか、などの種々の要件により決まる。
Thus, when the specified value is “1”, only one component of the control program is modified, and only when the modification is a small one that does not affect the other components. On-line maintenance will automatically allow revision of the control program.
If the specified value is set to “2”, the revision of the control program shown in FIG. 5 falls within the allowable range, and the example of FIG. 4 and the example of FIG. 6 fall outside the allowable range. The value to be set as the predetermined value depends on various requirements such as the configuration of the
[10.ID設定時の変形例]
上述した実施の形態例では、制御プログラムの改訂を行う際に、保守支援装置5が、修正した構成要素それぞれに、使用済みのIDの値に1つ加算した値を新たなIDとする処理を行うようにした。例えば、図6の例では、状態C17で、更新された構成要素である関数−Xと、影響がある構成要素である処理−Q,タスク−M,CPU−Aに、元の制御プログラムのID「8」よりも大きな「9」,「10」,「11」,「12」を設定するようにした。
[10. Modified example when setting ID]
In the embodiment described above, when the control program is revised, the maintenance support device 5 performs a process of setting a value obtained by adding one to the used ID value for each modified component as a new ID. I did it. For example, in the example of FIG. 6, in the state C17, the function-X that is the updated component and the processing-Q, task-M, and CPU-A that are the affected components are assigned the ID of the original control program. “9”, “10”, “11”, and “12” larger than “8” are set.
これに対して、保守支援装置5が、IDを付与し直す構成要素ごとに、その構成要素の重要度に応じて重みづけを行って、ID付与時の加算値を可変設定してもよい。例えば、関数の構成要素は、修正の影響が大きいため、直前に付与したIDから3つ加算した値とする。また、処理の構成要素は、修正の影響が中程度であり、直前に付与したIDから2つ加算した値とする。また、タスクやCPUの構成要素は、修正の影響が比較的少ないため、直前に付与したIDから1つ加算した値とする。このようなルールで、図6の例の状態C17で、各構成要素のIDを設定した場合には、関数−X(11),処理−Q(13),タスク−M(14),CPU−A(15)となる。修正後の制御プログラムAのIDは「15」となる。 On the other hand, the maintenance support device 5 may weight each component element to which an ID is reassigned according to the importance of the component element, and may variably set an addition value at the time of ID assignment. For example, the component of the function is a value obtained by adding three from the ID assigned immediately before because the influence of the correction is large. The processing component is moderately affected by the correction, and is a value obtained by adding two from the ID assigned immediately before. Further, since the task and the CPU component are relatively less affected by the correction, a value obtained by adding one from the ID assigned immediately before is assumed. When the ID of each component is set in the state C17 in the example of FIG. 6 with such a rule, the function -X (11), processing -Q (13), task -M (14), CPU- A (15). The ID of the control program A after correction is “15”.
このように構成要素にIDを付与する際に重みづけを行うようにしたことで、制御プログラムのIDの修正前と修正後との差が、改造規模に応じてより顕著に表れるようになる。したがって、制御プログラムのIDの修正前と修正後との差と規定値との比較で、より正確に改訂が安全か否かの判断ができるようになる。 Since weighting is performed when assigning IDs to the components in this way, the difference between before and after the modification of the ID of the control program becomes more prominent depending on the scale of modification. Therefore, it is possible to more accurately determine whether the revision is safe by comparing the difference between the control program ID before and after the correction and the specified value.
また、構成要素の種類ごとに重みづけを行う代わりに、修正された構成要素の改修パターンや改修の程度から、自動的にIDを付与し直す際の重みづけを行うようにしてもよい。例えば、修正された構成要素が1つであっても、その1つの構成要素内の2つの箇所が修正された場合には、直前に付与したIDから2つ加算した値とする。このようにすることでも、制御プログラムのIDの修正前と修正後との差が、改造規模に応じてより顕著に表れるようになる。 Further, instead of weighting each type of component, weighting may be performed when an ID is automatically reassigned based on the modification pattern of the modified component and the degree of modification. For example, even if there is only one modified component, if two locations in the component are modified, the value obtained by adding two from the ID assigned immediately before is used. Even in this way, the difference between before and after the correction of the ID of the control program becomes more prominent depending on the scale of modification.
また、図4〜図6の例では、全ての構成要素に対してIDを付与するようにした。これに対して、最上位の構成要素(図4の例の場合はCPU−A)などの一部の構成要素については、IDの付与を省略してもよい。 In the examples of FIGS. 4 to 6, IDs are assigned to all the components. On the other hand, ID assignment may be omitted for some components such as the highest-level component (CPU-A in the example of FIG. 4).
[11.その他の変形例]
なお、図1に示すプロセス制御システム100は、2重化されたコントローラ1a,1bを備える構成とした。これに対して、本発明は2重化されていないシステムにも適用が可能である。但し、2重化されていないシステムの場合には、プロセスの制御を止めてコントローラに改訂された制御プログラムをセットする必要があり、図8及び図9のフローチャートで説明したような連続稼働はできない。
[11. Other variations]
Note that the
また、図8及び図9のフローチャートでは、コントローラ内での承認処理として、ステップS24,S25,S26及びS34,S35,S36の順序で行うようにした。これに対して、ステップS24,S34での承認済みか否かの判断と、ステップS25,S35での改造規模の判断と、ステップS26,S36での動作の判断を行う順序は、これとは異なる順序で行うようにしてもよい。 Also, in the flowcharts of FIGS. 8 and 9, the approval process in the controller is performed in the order of steps S24, S25, S26 and S34, S35, S36. On the other hand, the order of determining whether or not the approval has been made in steps S24 and S34, the determination of the modification scale in steps S25 and S35, and the determination of the operation in steps S26 and S36 are different. You may make it carry out in order.
また、上述した実施の形態例では、コントローラ1a,1b内で改訂前と改訂後の制御プログラムのIDを比較するようにした。これに対して、改訂前と改訂後の制御プログラムのIDの比較は、保守支援装置5内で行うようにしてもよい。例えば、保守支援装置5内の制御プログラム承認部56が、図8のステップS24,S25,S26などの承認処理を行うようにしてもよい。
In the embodiment described above, the IDs of the control programs before and after the revision are compared in the controllers 1a and 1b. On the other hand, the IDs of the control programs before and after the revision may be compared in the maintenance support device 5. For example, the control
さらに、本発明は上述した実施の形態例に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した実施の形態例は、本発明を分かりやすく説明するために装置の構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、装置の内部構成を示す図1に示す信号の流れのラインは説明上必要と考えられるものを示しており、必ずしも装置として必要な全てのラインを示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
Furthermore, the present invention is not limited to the above-described embodiments, and various other application examples and modifications can be taken without departing from the gist of the present invention described in the claims.
For example, in the above-described embodiment, the configuration of the apparatus is described in detail and specifically for easy understanding of the present invention, and is not necessarily limited to the configuration including all the configurations described. .
Further, the signal flow lines shown in FIG. 1 showing the internal configuration of the apparatus show what is considered necessary for the description, and do not necessarily indicate all lines necessary for the apparatus. Actually, it may be considered that almost all the components are connected to each other.
1a…A系コントローラ、1b…B系コントローラ、2…プロセス入出力装置、3…制御対象プロセス、4…通信ネットワーク、5…保守支援装置、10a,10b…コントローラ記憶部、11a,11b…コントローラ処理部,12a,12b…承認IDテーブル、13a,13b…実行プログラム管理部、14a,14b…状態制御部、15a,15b…制御処理部、16a,16b…実行用制御プログラム、50…保守機能処理部、51…保守データ記憶部、52…制御プログラムエディタ部、53…制御プログラムコンパイル部
54…制御プログラム配信部、55…制御プログラム比較部、56…制御プログラム承認部、57…制御プログラムソース、58…付与IDデータ、59…配信用制御プログラム、60…入力装置、61…表示装置、100…2重化プロセス制御システム
DESCRIPTION OF SYMBOLS 1a ... A system controller, 1b ... B system controller, 2 ... Process input / output device, 3 ... Process to be controlled, 4 ... Communication network, 5 ... Maintenance support device, 10a, 10b ... Controller memory | storage part, 11a, 11b ... Controller processing , 12a, 12b ... approval ID table, 13a, 13b ... execution program management unit, 14a, 14b ... state control unit, 15a, 15b ... control processing unit, 16a, 16b ... execution control program, 50 ... maintenance function processing unit 51 ... Maintenance
Claims (8)
前記制御プログラムを改訂すると共に、改訂した前記制御プログラムを前記コントローラに設定する保守支援装置とを備えるプロセス制御システムであり、
前記保守支援装置は、
前記制御プログラムの改訂作業を実行すると共に、改訂作業が行われた際に、改訂された構成要素及びその改訂された構成要素が影響を与える上位となる構成要素に対して、既に使用された識別符号よりも値が増加する新たな識別符号を付与する制御プログラム改訂部と、
前記制御プログラム改訂部で改訂された制御プログラムの構成要素に付与された識別符号の中の最大の値を、改訂された制御プログラムの識別符号として、前記コントローラに配信する制御プログラム配信部とを備える
プロセス制御システム。 A controller that controls a process to be controlled by holding a control program to which an individual identification code that can be determined as a numerical value for each component is held, and executing the held control program;
A process control system comprising a maintenance support device that revises the control program and sets the revised control program in the controller,
The maintenance support device includes:
Performing the revision work of the control program, and the identifications already used for the revised component and the higher-level components that the revised component will affect when the revision work is performed A control program revision unit for assigning a new identification code whose value increases from the code;
A control program distribution unit that distributes the maximum value among the identification codes assigned to the components of the control program revised by the control program revision unit to the controller as the identification code of the revised control program; Process control system.
前記制御プログラム配信部が付与した制御プログラムの識別符号と、改訂前の制御プログラムの識別符号との差分が、改訂された制御プログラムの改訂規模を示すようにした
請求項1に記載のプロセス制御システム。 The control program revision unit uses an identification code whose value monotonously increases by a predetermined value when a new identification code is given to the revised component and the component affected by the revised component,
The process control system according to claim 1, wherein the difference between the identification code of the control program given by the control program distribution unit and the identification code of the control program before revision indicates the revision scale of the revised control program. .
前記承認部は、それぞれの構成要素の識別符号の一致又は不一致により改訂が行われた構成要素を判断し、その判断に基づいて構成要素の改訂の有無を前記コントローラに通知する
請求項1に記載のプロセス制御システム。 The maintenance support device includes a control program approval unit,
The approval unit determines a component that has been revised due to a match or mismatch of identification codes of the respective components, and notifies the controller of whether or not the component has been revised based on the determination. Process control system.
請求項1に記載のプロセス制御システム。 The controller controls the revised control program based on the revision scale determined from the difference between the identification code of the revised control program distributed from the control program distribution unit and the identification code of the control program before the revision. The process control system according to claim 1, wherein execution is managed.
前記主系コントローラが制御対象プロセスを制御中に、前記保守支援装置は、前記待機系コントローラの制御プログラムを改訂された制御プログラムに更新するオンライン保守を行うと共に、
前記待機系コントローラは、前記オンライン保守を行う際に、前記主系コントローラが実行中の制御プログラムの識別符号と、更新後の制御プログラムの識別符号との差分が、予め設定された閾値以内である場合に、前記オンライン保守を許可し、前記閾値を越える場合に、前記オンライン保守が行えないように制限する
請求項1に記載のプロセス制御システム。 The controller includes a main controller that controls the process to be controlled, and a standby controller that controls the process to be controlled instead of the main controller when an abnormality occurs in the main controller.
While the main system controller is controlling the process to be controlled, the maintenance support device performs online maintenance to update the control program of the standby system controller to a revised control program, and
When the standby controller performs the online maintenance, the difference between the identification code of the control program being executed by the main controller and the identification code of the updated control program is within a preset threshold. The process control system according to claim 1, wherein the online maintenance is permitted, and the online maintenance is restricted so that the online maintenance cannot be performed when the threshold value is exceeded.
請求項1〜5のいずれか1項に記載のプロセス制御システム。 When the control program revision unit assigns a new identification code whose value is greater than the identification code already used to the revised component and the component affected by the revised component. The process control system according to any one of claims 1 to 5, wherein an increase value when the value of the identification code is increased is variably set according to the type of component or the degree of modification.
前記制御プログラムの改訂作業を実行すると共に、改訂作業が行われた際に、改訂された構成要素及びその改訂された構成要素が影響を与える構成要素に対して、既に使用された識別符号よりも値が増加する新たな識別符号を付与する制御プログラム改訂部と、
前記制御プログラム改訂部で改訂された制御プログラムの構成要素に付与された識別符号の中の最大の値を、改訂された制御プログラムの識別符号として、前記コントローラに配信する制御プログラム配信部とを備える
保守支援装置。 A maintenance support device that revises a control program to which an individual identification code that can be determined as a numerical value for each component is given, and distributes the revised control program to a controller that controls a process to be controlled.
The control program is revised, and when the revision work is performed, the revised component and the component affected by the revised component are more than the identification codes already used. A control program revision unit for assigning a new identification code whose value increases;
A control program distribution unit that distributes the maximum value among the identification codes assigned to the components of the control program revised by the control program revision unit to the controller as the identification code of the revised control program; Maintenance support device.
前記制御プログラム記憶部が記憶した制御プログラムにより、制御対象プロセスを制御する制御処理部と、
前記制御プログラム記憶部が記憶した制御プログラムが更新されたとき、更新前の制御プログラムの識別符号と、更新後の制御プログラムの識別符号との差分が、予め設定された閾値以内である場合に、制御プログラムの更新を許可し、前記閾値を越える場合に、更新された制御プログラムの実行を制限する実行プログラム管理部とを備える
コントローラ。 A control program storage unit for storing a control program provided with an individual identification code that can be determined as a numerical value for each component;
A control processing unit that controls a process to be controlled by a control program stored in the control program storage unit;
When the control program stored in the control program storage unit is updated, the difference between the identification code of the control program before the update and the identification code of the control program after the update is within a preset threshold, A controller comprising: an execution program management unit that permits updating of the control program and restricts execution of the updated control program when the threshold is exceeded.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015091688A JP6401657B2 (en) | 2015-04-28 | 2015-04-28 | Process control system, maintenance support device and controller |
CA2926352A CA2926352C (en) | 2015-04-28 | 2016-04-07 | Process control system, maintenance support device, and controller |
GB1605965.1A GB2539079B (en) | 2015-04-28 | 2016-04-07 | Process control system, maintenance support device, and controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015091688A JP6401657B2 (en) | 2015-04-28 | 2015-04-28 | Process control system, maintenance support device and controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016207150A JP2016207150A (en) | 2016-12-08 |
JP6401657B2 true JP6401657B2 (en) | 2018-10-10 |
Family
ID=57215500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015091688A Active JP6401657B2 (en) | 2015-04-28 | 2015-04-28 | Process control system, maintenance support device and controller |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6401657B2 (en) |
CA (1) | CA2926352C (en) |
GB (1) | GB2539079B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018122893A1 (en) * | 2016-12-26 | 2018-07-05 | 株式会社日立製作所 | Data access system and data access method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100430891C (en) * | 2000-10-04 | 2008-11-05 | 西门子能量及自动化公司 | Manufacturing system software version management |
US7117052B2 (en) * | 2003-02-18 | 2006-10-03 | Fisher-Rosemount Systems, Inc. | Version control for objects in a process plant configuration system |
JP3913742B2 (en) * | 2004-02-24 | 2007-05-09 | 株式会社大和総研 | Object version check system and method, and program |
JP2006318197A (en) * | 2005-05-12 | 2006-11-24 | Fuji Electric Fa Components & Systems Co Ltd | Controller support device and program |
JP4799114B2 (en) * | 2005-10-06 | 2011-10-26 | 中村留精密工業株式会社 | NC machine tool control program update method and apparatus |
JP4865634B2 (en) * | 2007-05-14 | 2012-02-01 | 株式会社キーエンス | Program editing support apparatus, computer program, program editing support method, and PLC system |
-
2015
- 2015-04-28 JP JP2015091688A patent/JP6401657B2/en active Active
-
2016
- 2016-04-07 GB GB1605965.1A patent/GB2539079B/en active Active
- 2016-04-07 CA CA2926352A patent/CA2926352C/en active Active
Also Published As
Publication number | Publication date |
---|---|
GB2539079A (en) | 2016-12-07 |
GB2539079B (en) | 2019-01-16 |
JP2016207150A (en) | 2016-12-08 |
CA2926352C (en) | 2019-05-14 |
CA2926352A1 (en) | 2016-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150362903A1 (en) | Control device and method of operating control device | |
US10037203B1 (en) | Real-time software upgrade | |
EP3151071B1 (en) | System for updating a control program while actively controlling an industrial process | |
JP2013125318A (en) | Production device | |
US20200382365A1 (en) | Updating software in cloud gateways | |
JP5653568B1 (en) | Network system | |
CN107656734A (en) | Update method, system, computer-readable recording medium and the storage control of code release information | |
JP2017515418A (en) | A gateway that provides a logical model mapped to an independent underlying network | |
JP2009135176A (en) | Component mounting system and method of changing data in component mounting system | |
JP5421894B2 (en) | Duplex process control apparatus and control data matching method | |
JP2017142794A (en) | Programmable controller system, controller thereof, support device, hci device, and duplex controller system | |
JP2007102625A (en) | Method and device for updating control program of nc machine tool | |
JP6401657B2 (en) | Process control system, maintenance support device and controller | |
TWI677773B (en) | Handling control system | |
JP6346450B2 (en) | Engineering apparatus and control logic verification method | |
US20150066160A1 (en) | Control program management device, information processing device, and control program processing method | |
CN112204479B (en) | Program management system, program support device, program management method, and program support program | |
US20120260128A1 (en) | Method for controlling changes of replication directions in a multi-site disaster recovery environment for high available application | |
JP6973678B1 (en) | Controls, control methods, and programs | |
JP2015022511A (en) | Programmable controller system, and support device and program thereof | |
CN116848476A (en) | PLC-based support for zero downtime upgrades of control functions | |
CN109643094B (en) | Security control unit, security control method, and storage medium | |
CN105320030A (en) | Engineering device, engineering system, and download processing method | |
JP2015132954A (en) | Plant monitoring system and software update method | |
JP2010224908A (en) | Information processor and data restoration method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170703 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180801 |
|
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: 20180904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180907 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6401657 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |