JP6401657B2 - Process control system, maintenance support device and controller - Google Patents

Process control system, maintenance support device and controller Download PDF

Info

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
Application number
JP2015091688A
Other languages
Japanese (ja)
Other versions
JP2016207150A (en
Inventor
石川 健二
健二 石川
優 堀越
優 堀越
祐策 大塚
祐策 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Industry and Control Solutions Co 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, Hitachi Industry and Control Solutions Co Ltd filed Critical Hitachi Ltd
Priority to JP2015091688A priority Critical patent/JP6401657B2/en
Priority to CA2926352A priority patent/CA2926352C/en
Priority to GB1605965.1A priority patent/GB2539079B/en
Publication of JP2016207150A publication Critical patent/JP2016207150A/en
Application granted granted Critical
Publication of JP6401657B2 publication Critical patent/JP6401657B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23296Load, update new program without test program, save memory space
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31418NC program management, support, storage, distribution, version, update
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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 Patent Document 1, date information on the generation date is used as the ID of the management target.

特開2005−242492号公報JP-A-2005-242492

プラント装置を制御するプロセス制御システムにおいて、大規模な制御プログラム改訂を実施する場合、更新作業手順が複雑になることは避けられない。このとき、更新プログラムの対象誤りや更新漏れを起こす可能性があり、また、影響を受ける可能性のある機能が広範囲にわたるため、制御プログラムの動作確認漏れが発生しやすい。このような制御プログラムの動作確認漏れが発生したとき、不具合を残したまま運用に至ってしまう恐れがある。   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 Patent Document 1, the order of revision order may be disrupted due to a time setting shift or time difference for each apparatus, and the latest program is erroneously determined. there is a possibility. In addition, even when IDs are assigned with hash values, etc., only updates as program files can be detected, so it is impossible to grasp how much the revision of the program will affect the operation of the system, and an appropriate work plan I ca n’t stand up.

本発明は、制御プログラムが改訂された際の、更新内容の確認や認証処理が容易かつ確実に行えるようにすることを目的とする。   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.

本発明の一実施の形態例によるシステム全体の構成例を示すブロック図である。It is a block diagram which shows the example of a structure of the whole system by the example of 1 embodiment of this invention. 本発明の一実施の形態例によるプログラム改訂手順の例を示すフローチャートである。It is a flowchart which shows the example of the program revision procedure by one embodiment of this invention. 本発明の一実施の形態例による構成要素とプログラムにIDを付与する処理の例を示すフローチャートである。It is a flowchart which shows the example of the process which provides ID to the component and program by one embodiment of this invention. 本発明の一実施の形態例による制御プログラムの内部構成例とIDの付与例(例1)を示す図である。It is a figure which shows the example of an internal structure of the control program by the example of 1 embodiment of this invention, and the example (Example 1) of provision of ID. 本発明の一実施の形態例による制御プログラムの内部構成例とIDの付与例(例2)を示す図である。It is a figure which shows the example of an internal structure of the control program by the example of 1 embodiment of this invention, and the example of giving ID (example 2). 本発明の一実施の形態例による制御プログラムの内部構成例とIDの付与例(例3)を示す図である。It is a figure which shows the example of an internal structure of the control program by the example of 1 embodiment of this invention, and the example of giving ID (example 3). 本発明の一実施の形態例による制御プログラムの内部構成例とIDの付与例(例4)を示す図である。It is a figure which shows the internal structural example of the control program by the example of 1 embodiment of this invention, and the example (Example 4) of provision of ID. 本発明の一実施の形態例による保守支援装置による処理例を示すフローチャートである。It is a flowchart which shows the process example by the maintenance assistance apparatus by one embodiment of this invention. 本発明の一実施の形態例による保守支援装置による処理例を示すフローチャート(図8の続き)である。It is a flowchart (continuation of FIG. 8) which shows the process example by the maintenance assistance apparatus by one embodiment of this invention.

以下、本発明の一実施の形態例(以下、「本例」と称する。)を、添付図面を参照して説明する。
[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 process control system 100.
The process control system 100 is a control system including duplicated controllers 1a and 1b. That is, the process control system 100 includes two controllers 1a and 1b that control the control target process 3 via the process input / output device 2 and a maintenance support device connected to the two controllers 1a and 1b via the communication network 4. 5. One controller 1a of the two controllers 1a and 1b is referred to as an A system, and the other controller 1b is referred to as a B system. Here, the A-system controller 1a is the main system, and the B-system controller 1b is the standby system. However, as will be described later, the main system and the standby system are switched depending on the control status.

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 controller storage unit 10a and a controller processing unit 11a. The information stored in the controller storage unit 10a includes an approval ID table 12a. The controller processing unit 11a includes an execution program management unit 13a, a state control unit 14a, and a control processing unit 15a. An execution control program 16a is stored in the control processor 15a. The execution control program 16a is stored in a control program storage unit (not shown) in the control processing unit 15a. When the controller 1a is the main system, the control processing unit 15a controls the process 3 to be controlled through the process input / output device 2 by executing the execution control program 16a.
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 program management unit 13b, a state control unit 14b, and a control processing unit 15b. The control processing unit 15b stores an execution control program 16b. The execution control program 16b is stored in a control program storage unit (not shown) in the control processing unit 15b. When the controller 1b becomes the main system instead of the controller 1a, the control processing unit 15b controls the control target process 3 via the process input / output device 2 by executing the execution control program 16b.

制御処理部15a,15bは、例えば、汎用のマイクロプロセッサやFPGA(Field-Programmable Gate Array)を用いた演算処理装置と半導体メモリによる記憶装置とによって構成される。そして、実行用制御プログラム16a,16bは、各制御処理部15a,15bの記憶装置に記憶された情報である。演算処理装置は、実行用制御プログラム16a,16bを実行することによって所定の制御動作を実現する。また、承認IDテーブル12a,12bには、承認済制御データのIDが記憶される。   The control processing units 15a and 15b are configured by, for example, an arithmetic processing device using a general-purpose microprocessor or FPGA (Field-Programmable Gate Array) and a storage device using a semiconductor memory. The execution control programs 16a and 16b are information stored in the storage devices of the control processing units 15a and 15b. The arithmetic processing unit realizes a predetermined control operation by executing the execution control programs 16a and 16b. In addition, the IDs of the approved control data are stored in the approval ID tables 12a and 12b.

状態制御部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 state control units 14a and 14b receive the controller state transition request transmitted from the maintenance support device 5 for updating and maintenance of the control programs 16a and 16b. Then, according to the received contents, the state control units 14a and 14b manage the stop and operation of the controllers 1a and 1b.
The execution program management units 13a and 13b check whether or not the control programs 16a and 16b to be executed are executable when the controllers 1a and 1b are shifted to the operation state by the state control units 14a and 14b.
Specifically, the execution program management units 13a and 13b first check whether or not the execution control programs 16a and 16b have been approved with reference to the approval ID tables 12a and 12b. Next, the execution program management units 13a and 13b check whether or not the control programs 16a and 16b to be executed are different from the functions of the control program of the other system. As a result of the check, if the execution program management units 13a and 13b determine that the execution control program 16 is not executable, the execution program management units 13a and 13b return the fact to the state control units 14a and 14b and interrupt the state transition process.

制御処理部15a,15bは、制御プログラム16a,16bの指示に従って制御対象プロセス3からプロセス入出力装置2を介してプロセスデータを入力し、制御データを演算する。そして、制御処理部15a,15bは、演算した制御データの一部を、プロセス入出力装置2を介して制御対象プロセス3へ出力する。   The control processing units 15a and 15b input process data from the control target process 3 via the process input / output device 2 according to instructions of the control programs 16a and 16b, and calculate control data. Then, the control processing units 15 a and 15 b output a part of the calculated control data to the control target process 3 via the process input / output device 2.

保守支援装置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 program editor unit 52, a control program compiler unit 53, a control program distribution unit 54, a control program comparison unit 55, and a control program approval unit 56. The control program editor unit 52 and the control program compiler unit 53 function as a control program revision unit that revises the control program.
The data stored in the maintenance data storage unit 51 includes a control program source 57, assignment ID data 58, and a distribution control program 59.
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 input device 60 such as a keyboard and a mouse and a display device 61 such as a liquid crystal display (LCD). ing.

制御プログラムエディタ部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 program editor unit 52 has a graphical user interface for the display device 61 and the like, accepts user operation input via the input device 60, and creates a new control program source 57 or the existing control program source 57. Make revisions. The revision here includes various processes for changing a part of the control program source 57, such as addition of a constituent element of the control program source 57, in addition to a modification of rewriting a part of the control program source 57. included.
When the revised contents of the control program source 57 affect the operation of the program, the control program editor unit 52 newly assigns IDs to the revised components and affected parts of the control program source 57. This ID is recorded in the assignment ID data 58, and each time the ID is given, the control program editor unit 52 updates the value with the addition ID data 58 added to the original value. For example, it is updated to a value obtained by adding one to the original value. Since the ID recorded in the assigned ID data 58 is assigned for each component of the control program, one control program has a plurality of IDs. An example of ID assignment will be described later.

制御プログラムコンパイラ部53は、制御プログラムソース57をコンピュータ装置が実行可能な形式のプログラムに変換するコンパイル処理を行い、コントローラ1a,1bにおける実行プログラムモジュールである配布用制御プログラム59を作成する。このとき、ソース中に書き込まれていたIDを配布用制御プログラム59に付与する。
こうして作成された制御プログラムソース57と配布用制御プログラム59は、いったん保守支援装置5の保守データ記憶部51に記憶される。そして、配布用制御プログラム59は制御プログラム配信部54により、待機系であるB系コントローラ1bへ配信され、実行用制御プログラム16bが改訂される。
The control program compiler unit 53 performs a compiling process for converting the control program source 57 into a program that can be executed by the computer apparatus, and creates a distribution control program 59 that is an execution program module in the controllers 1a and 1b. At this time, the ID written in the source is assigned to the distribution control program 59.
The control program source 57 and the distribution control program 59 created in this way are temporarily stored in the maintenance data storage unit 51 of the maintenance support device 5. Then, the distribution control program 59 is distributed by the control program distribution unit 54 to the B-system controller 1b which is a standby system, and the execution control program 16b is revised.

また、制御プログラムソース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 control program source 57 is revised compares the distribution control program 59 to be updated with the execution control program 16b that is already operated by the control program comparison unit 55. , Compare whether the update is correct. In this comparison, when the approval worker determines that the update content is valid, the control program approval unit 56 sets the approval ID in the approval ID table 12b that manages the approval ID for each component of the control program.
Further, after the revised execution control program 16b is approved and the operation is confirmed by the operator, the main system is switched from the A system controller 1a to the B system controller 1b. The controlled process 3 is controlled by the B system controller 1b in which the revised execution control program 16b is set. Thereafter, the distribution control program 59 is distributed to the A-system controller 1a that has become the standby system, and the execution control program 16a is also 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 program editor unit 52 assigns and outputs the revised control program source 57 with the ID 571 managed by the assignment ID data 58. A plurality of control program sources 57 can be output, and each is assigned an ID. For example, as shown in FIG. 2, when revised control program sources 57-1, 57-2, and 57-3 exist, IDs 571-1, 571-2, and 571-3 are assigned to them.

次に、改訂作業者がコンパイル操作を行うと(ステップ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 program compiler unit 53 outputs a distribution control program 59 based on the control program source 57. At this time, the distribution control program 59 is assigned the same ID 591 as the ID 571. A plurality of distribution control programs 59 can be output, and each is assigned an ID. For example, as shown in FIG. 2, when the revised distribution control programs 59-1, 59-2, 59-3 exist, IDs 591-1, 591-2, 591-3 are respectively assigned.

次に、改訂作業者がダウンロード操作を行うと(ステップ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 program distribution unit 54 distributes the distribution control program 59 to the standby system controller (A system controller 1a or B system controller 1b). The distributed distribution control program 59 is overwritten and copied to the execution control program 16a or 16b of the control processing unit 15a or 15b. At this time, the ID 161a or 161b of the execution control program 16a or 16b that has been overwritten is also overwritten with the same ID 591 of the distribution control program 59. For example, as shown in FIG. 2, when the revised execution control programs 16-1, 16-2, 16-3 exist, the respective IDs 161-1, 161-2, 161-3 are also rewritten.

その後、承認を行う作業者は、保守支援装置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 distribution control program 59 and the execution control program 16a or 16b before the revision on the maintenance support device 5 (step S14). At this time, the control program comparison unit 55 causes the display device 61 to display revised components of the distribution control program 59. When the worker who performs the approval performs an approval operation for the revised control program (step S15), the control program approval unit 56 sets the approval ID 161 as the ID value of the control program to be approved. That is, the control program approval unit 56 matches the value of the corresponding ID on the approval ID table 12a or 12b with the ID of the execution control program 16a or 16b.

最後に、作業者は、コントローラ1a又は1b上で制御処理部15a又は15bを実行させ、制御処理部15a又は15bにセットされた実行用制御プログラム16a又は16bを作動させ、実行結果を保守支援装置5に出力する。作業者は、出力内容を確認する。   Finally, the worker executes the control processing unit 15a or 15b on the controller 1a or 1b, operates the execution control program 16a or 16b set in the control processing unit 15a or 15b, and displays the execution result as a maintenance support device. 5 is output. The operator confirms the output contents.

[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 program editor unit 52 compares the revised control program source 57 with the control program source 57 before revision, and determines an updated component (step S101). The updated components here include components indicating functions in addition to components indicating processing.

さらに、ステップ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 program editor unit 52 newly assigns an ID to the component from which the ID has been deleted (step S105). At this time, the control program editor unit 52 sequentially assigns each component with an ID obtained by adding one value from the largest value of the IDs already assigned as the assigned ID data 58. However, adding one value is one example, and a value exceeding 1 may be added as will be described later.

ステップ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 control program editor 52 sets the largest value among the IDs assigned to the respective components in step S105 as the revised ID of the control program source 57 ( Step S106). When the ID of the control program source 57 is set in step S106, the ID 571 of the control program source 57 stored in the maintenance data storage unit 51 is updated to the set value. By updating the ID 571, the ID 591 of the distribution control program 59 and the IDs 161a and 161b of the execution control programs 16a and 16b are also updated when the revised control program is distributed.

なお、保守支援装置5の制御プログラム承認部56は、制御プログラムの改訂前と改訂後とで、それぞれの構成要素のIDの一致又は不一致により改訂が行われた構成要素を判断する。そして、制御プログラム承認部56は、その判断に基づいて構成要素の改訂の有無をコントローラ1a,1bに通知する。   Note that the control program approval unit 56 of the maintenance support device 5 determines the component that has been revised based on the match or mismatch of the IDs of the respective components before and after the revision of the control program. Based on the determination, the control program approval unit 56 notifies the controllers 1a and 1b of whether or not the component has been revised.

[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 program editor unit 52 deletes the ID (6) of process-Q. FIG. 4 shows a state in which the ID is deleted with the ID value in parentheses blank.
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 program editor unit 52 deletes the ID (7) of task-M. In addition, the IDs of other component elements that may affect the processing contents when the task-M is revised are also deleted. Here, the ID of CPU-A, which is a higher-order component of task-M, is deleted. If the ID value in the parentheses is blank, the ID is deleted.

そして、改訂された制御プログラムの保存時の状態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 program editor unit 52 deletes the ID (3) of the function -X.
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 program editor unit 52 deletes the ID (6) of process-Q.
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 execution control programs 16a and 16b are updated.
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 process 3 to be controlled in the case of the main system, and in the case of the standby system, the same control program as that of the main system is executed to the main system at any time. This is a state in which switching is possible.

まず保守支援装置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 state control unit 14b of the B-system controller 1b receives the stop request, the state controller 14b puts its own device into a stop state (state C22). The stop state here means a state in which the execution of the control program 16b is stopped. Therefore, in the state C22, the B-system controller 1b is in a state where so-called hot standby is released.
In this state, the maintenance support device 5 transmits the revised control program 59 to the standby B-system controller 1b in the state C22 (step S22). The B-system controller 1b receives the control program 59, and updates the control program 16b to the revised control program 59.

次に保守支援装置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 state control unit 14b of the B-system controller 1b receives the offline operation request, the state controller 14b sets the own apparatus in the standby system offline operation state (state C23). Here, the offline operation state is a state in which the standby B-system controller 1b starts executing the control program 16b and confirms whether the operation is correct. Whether the operation is correct or not can be determined, for example, by comparing the matching control data transmitted from the A-system controller 1a by the B-system controller 1b with the control data obtained by the own apparatus.

ここで、待機系の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 control program 16b is started, a process for checking whether the control program intended by the operator is operating on the controller 1b is performed. Is called. That is, the execution program management unit 13b of the B-system controller 1b determines the approval state of the control program 16b.
First, the execution program management unit 13b determines whether or not the control program 16b has been approved (step S24). Here, the execution program management unit 13b determines whether or not an ID is registered in the approval ID table 12, and determines whether the ID has been approved or not.
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 program management unit 13b interrupts the process, and the display device 61 or the like indicates that the ID is not approved. Notify workers. Then, after the operator takes measures such as further revising the control program 59, the processing from step S21 is executed again. If the ID is registered in the approval ID table 12, it is approved (Yes in step S24), and the execution program management unit 13b continues the process, and proceeds to the determination in step S25.

次に、実行プログラム管理部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 program management unit 13b copies the approval ID data recorded in the approval ID table 12a of the A system controller 1a onto the controller storage unit 10b of the B system controller 1b. Then, the execution program management unit 13b compares the copied approval ID data value with the ID value of the standby approval ID table 12b, and determines the difference between the two ID values (step S25).
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 display device 61 or the like. To do. The worker who confirms the notification performs simulation in another inspection environment, confirms the operation, and performs the update operation. If it is determined in step S25 that the revision scale is within the specified value (Yes in step S25), the process is continued.

次に作業者は、制御プログラムの16bの動作確認を行い、B系コントローラ1bの動作が正しいか否かを判断する(ステップS26)。ここで、B系コントローラ1bの動作が正しいことを確認できなかった場合(ステップS26でNo)、処理を中断する。そして、作業者が制御プログラム59をさらに改訂するなどの対策をして、ステップS21以下の処理を再度実行する。   Next, the worker confirms the operation of the control program 16b and determines whether or not the operation of the B-system controller 1b is correct (step S26). Here, when it cannot be confirmed that the operation of the B-system controller 1b is correct (No in step S26), the process is interrupted. Then, the operator takes measures such as further revising the control program 59, and executes the processing in step S21 and subsequent steps again.

ステップ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 state control unit 14b of the B-system controller 1b sets its own device in the standby system online operation state (state C24).
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 control programs 16a and 16b of the A system controller 1a and the B system controller 1b are updated to the revised control program 59 transmitted from the maintenance support device 5. Then, the states of the A-system controller 1a and the B-system controller 1b return to the original state C21.
As described above, according to the process control system 100 in which the controllers 1a and 1b of this example are duplicated, the two controllers 1a and 1b sequentially become standby systems, and the standby system controllers are set in an offline state to update the control program. Will be done. When the control program is updated, it is determined for each of the controllers 1a and 1b whether the remodeling scale of the control program is within an allowable range. If the control program is within the allowable range, the update is permitted. Therefore, according to the process control system 100 of this example, online maintenance when the influence of updating is large and the risk is high is restricted, and safe system operation can be realized.

[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 program management unit 13b determines that the specified value exceeds “1”, and detects that the scale of the program modification exceeds the allowable range. For this reason, in the maintenance support apparatus 5, online maintenance is interrupted on the assumption that detailed operation confirmation is required. In the example of FIG. 5 and the example of FIG. 6, the difference between the ID values before and after the update is “2” and “4”, respectively. Similarly, the scale of the program modification exceeds the allowable range. Is detected. On the other hand, in the example of FIG. 7, the difference between the ID values before and after the update is “1”, and it is detected that the remodeling scale of the program is within the allowable range.

このように、規定値が「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 control target process 3 and the degree of stability of the system required.

[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 process control system 100 shown in FIG. 1 is configured to include dual controllers 1a and 1b. In contrast, the present invention can also be applied to a system that is not duplicated. However, in the case of a system that is not duplicated, it is necessary to stop the process control and set a revised control program in the controller, and continuous operation as described in the flowcharts of FIGS. 8 and 9 is not possible. .

また、図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 program approval unit 56 in the maintenance support device 5 may perform approval processes such as steps S24, S25, and S26 in FIG.

さらに、本発明は上述した実施の形態例に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した実施の形態例は、本発明を分かりやすく説明するために装置の構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、装置の内部構成を示す図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 data storage unit 52 ... Control program editor unit 53 ... Control program compilation unit 54 ... Control program distribution unit 55 ... Control program comparison unit 56 ... Control program approval unit 57 ... Control program source 58 ... Assigned ID data, 59 ... distribution control program, 60 ... input device, 61 ... table Display device, 100 ... duplex process control system

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.
JP2015091688A 2015-04-28 2015-04-28 Process control system, maintenance support device and controller Active JP6401657B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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