JPH0346841B2 - - Google Patents
Info
- Publication number
- JPH0346841B2 JPH0346841B2 JP56163486A JP16348681A JPH0346841B2 JP H0346841 B2 JPH0346841 B2 JP H0346841B2 JP 56163486 A JP56163486 A JP 56163486A JP 16348681 A JP16348681 A JP 16348681A JP H0346841 B2 JPH0346841 B2 JP H0346841B2
- Authority
- JP
- Japan
- Prior art keywords
- controller
- control program
- control
- executed
- controllers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- 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
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Multi Processors (AREA)
- Feedback Control In General (AREA)
- Safety Devices In Control Systems (AREA)
- Programmable Controllers (AREA)
Description
【発明の詳細な説明】
本発明は、プラントを分散制御する方法に関
し、特に複数の分散制御コントローラにおけるメ
モリ容量を徒らに増大せしめることなく、何れか
のコントローラが故障した場合であつても支障な
しにプラントを制御し得る方法に関するものであ
る。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a method for distributed control of a plant, and particularly to a method for controlling a plant in a distributed manner, in particular, without unnecessarily increasing the memory capacity of a plurality of distributed controllers, even if any one of the controllers fails, problems can be prevented. The present invention relates to a method that allows a plant to be controlled without any
従来より例えば原子力プラント制御システムに
おいては制御対象が多くなる程に単一のプラント
制御用コントローラで以てそれらを制御すること
は危険であることから、複数のプラント制御用コ
ントローラによつて分散的に制御対象を制御する
ようになつている。このような分散制御において
は何れかのプラント制御用コントローラが故障し
た場合にはその機能を残りの正常なプラント制御
用コントローラが肩代り実行するようになつてい
るわけであるが、従来にあつては制御システム自
体が不経済なものであつたり、コントローラ間の
接続態様が複雑であつたり、あるいは各コントロ
ーラにおける制御プログラム格納用のメモリの容
量を徒らに増大せねばならないなどの欠点をもつ
ている。 Conventionally, for example, in a nuclear power plant control system, as the number of control objects increases, it is dangerous to control them with a single plant controller, so multiple plant controllers are used to control them in a decentralized manner. It has come to control the controlled object. In this kind of distributed control, if any plant controller fails, the remaining normal plant controllers take over the function, but in the past, However, the control system itself is uneconomical, the connection between the controllers is complicated, and the memory capacity for storing the control program in each controller must be unnecessarily increased. There is.
即ち、従来にあつては制御の高信頼度化を実現
する観点より制御システムは一般に2重系や2ア
ウト・オブ3などの冗長系または8対1バツクア
ツプなどのバツクアツプ系として構成されていた
ものである。しかしながら、冗長系として構成さ
れる場合はシステム構成が不経済になることは否
めない。また、バツクアツプ系として構成される
場合にはバツクアツプ用コントローラとの接続態
様が複雑化するばかりか、バツクアツプ用コント
ローラは他のコントローラの機能を全て肩代り実
行する必要があることから、制御プログラム格納
用メモリの容量はコントローラや制御対象の数が
多くなる程に大としなければならないという欠点
がある。 That is, in the past, from the perspective of achieving high control reliability, control systems were generally configured as redundant systems such as a duplex system or 2 out of 3 system, or as a backup system such as an 8-to-1 backup system. It is. However, when configured as a redundant system, it cannot be denied that the system configuration becomes uneconomical. In addition, when configured as a backup system, not only does the connection with the backup controller become complicated, but the backup controller also needs to perform all the functions of other controllers, so it is necessary to store the control program. The disadvantage is that the memory capacity must be increased as the number of controllers and controlled objects increases.
このため冗長系やバツクアツプ系として構成せ
ず複数あるコントローラのうち何れかが故障した
場合には他のコントローラがその機能を互いに肩
代り実行するといつた制御システムも考えられて
いる。複数のコントローラが互いにバツクアツプ
し合うわけであるが、このような制御システムに
問題がないわけではない。というのは、互いにバ
ツクアツプし合うためには各コントローラは他の
コントローラの機能をも全て実行するべく他のコ
ントローラが実行する制御プログラムをも予め内
臓する必要があるからである。通常時にあつては
他のコントローラが実行する制御プログラムを各
コントローラは何等実行することはないが、他の
コントローラが故障した場合に初めてそのコント
ローラが実行すべき制御プログラムを肩代り実行
するところとなるものである。したがつて、この
ような制御システムにおけるコントローラとして
はメモリ容量を大としなければならず分散制御を
経済的に行ない得ないというものである。 For this reason, control systems are being considered that are not configured as a redundant system or a backup system, but instead have a plurality of controllers in which if one of the controllers fails, another controller executes its function in its place. Although multiple controllers back up each other, such control systems are not without problems. This is because, in order to back up each other, each controller must also contain a control program to be executed by the other controller in order to execute all the functions of the other controller. In normal times, each controller does not execute any control programs that other controllers execute, but when another controller fails, that controller takes over and executes the control program that should be executed. It is something. Therefore, a controller in such a control system must have a large memory capacity, and distributed control cannot be carried out economically.
よつて本発明の目的は、各分散制御用コントロ
ーラにおけるメモリ容量を徒らに増大せしめるこ
となく、しかもシステム構成簡単にして何れかの
コントローラが故障した場合であつても特に支障
をきたすことなくプラントを経済的に制御し得る
プラント分散制御方法を提供するにある。 Therefore, it is an object of the present invention to simplify the system configuration without unnecessarily increasing the memory capacity of each distributed control controller, so that even if one of the controllers fails, the plant can be operated without any particular trouble. The object of the present invention is to provide a plant distributed control method that can economically control the plant.
この目的のため本発明は、各コントローラが本
来実行すべき制御プログラムは各種制御プログラ
ム部分よりなり、しかもそれら制御プログラム部
分の重要度は一般に同一ではなく重要度の低いも
のは実行されなくとも差し当り特に支障をきたさ
ない事実に着目してなされたものである。即ち、
各コントローラには少なくとも自己が本来実行す
べき制御プログラムのみを予め内臓せしめてお
き、何れかのコントローラが故障する度に予め定
められたコントローラがそのコントローラの機能
を肩代り実行すべく自己が実行する制御プログラ
ムを重要度の高い制御プログラム部分よりなるも
のとして再編成したうえ、再編成に係る制御プロ
グラムを実行するようにしたものである。制御プ
ログラムの再編成に際しては、故障に係るコント
ローラより上位コンピユータを介し重要度の高い
制御プログラム部分を受け取り、これを自己が本
来実行すべき重要度の低い制御プログラム部分に
代えて実行するわけである。 For this purpose, the present invention provides that the control program that each controller should originally execute consists of various control program parts, and that the importance of these control program parts is generally not the same, and that less important parts may not be executed for the time being. This was done by focusing on the fact that it does not cause any problems. That is,
Each controller is preloaded with at least the control program that it is supposed to execute, and whenever one of the controllers breaks down, a predetermined controller takes over and executes the functions of that controller. The control program is reorganized into control program parts with high importance, and the control program related to the reorganization is executed. When reorganizing the control program, the controller receives the more important control program part from the faulty controller via the higher-level computer and executes it in place of the less important control program part that it should have originally executed. .
以下、本発明を第1図から第4図により説明す
る。 The present invention will be explained below with reference to FIGS. 1 to 4.
先ず第1図は本発明に係るプラント分散制御シ
ステムの一例でのシステム構成を示したものであ
る。 First, FIG. 1 shows the system configuration of an example of a plant distributed control system according to the present invention.
図示の如く3つの分散制御用のコントローラ
A,B,Cは上位コンピユータ1による制御下に
バスライン2を介し間接的に結合されており、通
常各コントローラA,B,Cは自己に割り当てら
れている検出器からの検出出力を入力する一方、
その検出出力を適当に演算処理するなどして操作
器を制御するようになつている。符号10A,1
0B,10Cは検出器を、また符号11A,11
B,11Cは操作器を示すが、実際には各コント
ローラA,B,Cは各種検出器や操作器を複数収
容するようにしてなることは勿論である。ところ
で各コントローラA,B,Cは同一として構成さ
れる。その構成をコントローラAについて説明す
れば、CPU部3A、メモリ部6A,7A、プロ
セス入出力部8A、通信部4A、プログラム再編
成部5Aおよび切替部9Aよりなるが、他のコン
トローラB,Cについても事情は同様である。上
記メモリ部6A,7Aのうちメモリ部6Aは制御
プログラム格納用として、またメモリ部7Aはオ
ペレーテイングシステム(OS)や基本制御用サ
ブルーチン(比例・積分・微分制御やリミツタな
どについての)格納用として設けられたものであ
るが、ここで注意すべきはメモリ部6Aに格納さ
れる制御プログラムの種類である。メモリ部6A
にコントローラAが本来実行すべき制御プログラ
ムが格納されることは当然として、場合によつて
はコントローラB,Cの何れか一方が本来実行す
べき重要度の高い制御プログラムもが格納される
ということである。コントローラB,Cが本来実
行すべき制御プログラムの全てが格納されるとす
れば、メモリ容量の点で従来技術と何等変わると
ころないからである。但し、基本的には自己が本
来実行すべき制御プログラムのみで必要十分であ
る。コントローラB,Cにおけるメモリ部6B,
6Cに格納される制御プログラムについても事情
は全く同じである。 As shown in the figure, three controllers A, B, and C for distributed control are indirectly connected via a bus line 2 under the control of a host computer 1, and normally each controller A, B, and C is assigned to itself. While inputting the detection output from the detector,
The operating device is controlled by appropriately processing the detection output. Code 10A,1
0B, 10C are detectors, and codes 11A, 11
Although B and 11C indicate operating devices, it goes without saying that each controller A, B, and C actually accommodates a plurality of various detectors and operating devices. By the way, each controller A, B, and C are configured identically. To explain the configuration of controller A, it consists of a CPU section 3A, memory sections 6A and 7A, process input/output section 8A, communication section 4A, program reorganization section 5A, and switching section 9A. The situation is similar. Of the memory sections 6A and 7A, the memory section 6A is used to store control programs, and the memory section 7A is used to store the operating system (OS) and basic control subroutines (proportional, integral, differential control, limiters, etc.). However, what should be noted here is the type of control program stored in the memory section 6A. Memory section 6A
It goes without saying that the control program that should originally be executed by controller A is stored in the controller A, but in some cases, highly important control programs that should originally be executed by either controller B or C are also stored. It is. This is because if all of the control programs that controllers B and C should originally execute are stored, there is no difference from the prior art in terms of memory capacity. However, basically, only the control program that should be executed by itself is necessary and sufficient. Memory section 6B in controllers B and C,
The situation is exactly the same for the control program stored in 6C.
さてここでコントローラAが故障した場合には
コントローラBが、コントローラBが故障した場
合はコントローラCが、コントローラCが故障し
た場合にはコントローラAがそれぞれの機能を肩
代り実行するものとすれば、メモリ部6A,6
B,6Cには少なくともコントローラA,B,C
が本来実行すべき制御プログラムが格納され、場
合によつてはメモリ部6A,6B,6Cには更
に、コントローラC,A,Bが本来実行すべき重
要度の高い制御プログラムが格納されるというわ
けである。通常時にあつては各コントローラA,
B,Fは自己に割り当てられた検出器や操作器を
切替部、プロセス入出力部を介して収容し、自己
が本来実行すべき制御プログラムを実行すること
によつて、プラント全体を分散制御するが、この
ような状態でコントローラA,,B,Cの何れか
が故障した場合は故障に係るコントローラに隣接
するコントローラがその機能を肩代り実行するよ
うになるものである。 Now, suppose that if controller A fails, controller B will perform the respective functions, if controller B fails, controller C will perform the respective functions, and if controller C fails, controller A will perform the respective functions. Memory section 6A, 6
At least controllers A, B, and C are installed in B and 6C.
Control programs that should originally be executed by controllers C, A, and B are stored in the memory sections 6A, 6B, and 6C in some cases. It is. During normal times, each controller A,
B and F accommodate their own assigned detectors and operating devices via the switching section and process input/output section, and perform distributed control over the entire plant by executing the control programs that they should originally execute. However, if any of the controllers A, B, or C fails in such a state, the controller adjacent to the failed controller will take over the function.
例えばコントローラAが故障すれば、その故障
はウオツチドツグタイマー等によつて検出される
が、これによつて切替部9Aが切替制御され検出
器10A、操作器11Aはそれぞれ中継信号線1
2AB,12BAに接続されるところとなるもの
である。一方、コントローラAが故障した旨は通
信部4A、バスライン2を介し上位コンピユータ
1に、更に上位コンピユータ1よりバスライン2
を介しコントローラBに報告され、コントローラ
Bは必要な措置を採るところとなる。即ち、コン
トローラBは直ちに切替部9Bを切替制御するこ
とによつて検出器10A、操作器11Aをも自己
に収容し、制御プログラムの再編成を行なうもの
である。この場合の再編成はプログラム再編成部
5Bによつて行なわれるが、メモリ部6Bにコン
トローラAが本来実行すべき制御プログラムの全
部あるいはそのうちの重要度の高い制御プログラ
ム部分が格納されているか否かによつて編成の態
様は若干異なる。メモリ部6Bに格納されている
場合は重要度の高い制御プログラム部分をコント
ローラA,Bが本来実行すべき制御プログラムよ
り抽出して再編成し、再編成に係る制御プログラ
ムをコントローラBが実行するようになるが、格
納されていない場合には、上位コンピユータ1に
よる介在転送制御下にコントローラAより重要度
の高い制御プログラム部分を受け取つた後再編成
が行なわれるからである。 For example, if controller A malfunctions, the malfunction is detected by a watchdog timer or the like, which controls switching of switching section 9A and relay signal line 11 of detector 10A and operation device 11A.
This is where it will be connected to 2AB and 12BA. On the other hand, the fact that the controller A has failed is communicated to the communication unit 4A via the bus line 2 to the host computer 1, and then from the host computer 1 to the bus line 2.
The information will be reported to controller B via , and controller B will take necessary measures. That is, the controller B immediately controls the switching section 9B to accommodate the detector 10A and the operating device 11A, and reorganizes the control program. In this case, the reorganization is performed by the program reorganization unit 5B, but it is not necessary to check whether the memory unit 6B stores all of the control programs that should originally be executed by the controller A or the most important control program portions thereof. The mode of organization differs slightly depending on the type. If stored in the memory unit 6B, controllers A and B extract and reorganize the highly important control program portions from the control programs that should originally be executed, so that controller B executes the control programs related to the reorganization. However, if it is not stored, the reorganization will be performed after receiving the control program portion with higher importance from the controller A under the intervening transfer control by the host computer 1.
コントローラB,Cが故障した場合にもそれぞ
れコントローラC,Aが上記の場合と同様にして
故障に係るコントローラB,Aの機能を肩代り実
行するところとなるものである。本発明による場
合何れか1つのコントローラを残して他のコント
ローラの全てが故障した場合でも特に支障をきた
すことなくプラントを制御し得る。例えば第1図
においてコントローラA,Bが故障した場合はコ
ントローラCがそれらコントローラA,Bの機能
を肩代り実行するものである。故障したコントロ
ーラの切替部においてはそれまで収容していた検
出器や操作器をその両側に存する中継信号線に収
容接続せしめる一方、正常なコントローラは必要
に応じ故障に係るコントローラより重要度の高い
制御プログラム部分を受け取つて制御プログラム
を再編成すればよいからである。なお、本発明の
内容をコントローラが3つの場合について概略的
に説明したが、本発明は一般に2つ以上のコント
ローラを有するプラント分散制御システムに適用
可である。但し、各コントローラにおける切替部
は中継信号線を介しループ状に配されている必要
がある。 Even if controllers B and C fail, controllers C and A, respectively, will take over and execute the functions of controllers B and A related to the failure, in the same manner as in the above case. According to the present invention, even if all but one controller fails, the plant can be controlled without any particular trouble. For example, in FIG. 1, if controllers A and B fail, controller C takes over the functions of controllers A and B. In the switching section of the faulty controller, the detectors and operating devices that were previously housed are accommodated and connected to the relay signal lines on both sides, while the normal controller performs control that is more important than the faulty controller as necessary. This is because it is sufficient to receive the program portions and reorganize the control program. Although the content of the present invention has been schematically described for the case where there are three controllers, the present invention is generally applicable to a plant distributed control system having two or more controllers. However, the switching units in each controller must be arranged in a loop via relay signal lines.
本発明は以上のようなものであるが、以下最も
基本的な場合を想定して本発明をより詳細に説明
する。各コントローラがそのメモリ部に自己が本
来実行すべき制御プログラムだけを有していると
想定した場合、何れかのコントローラが故障すれ
ば原則としてそれに隣接したコントローラがその
機能を肩代り実行することは既に述べたところで
あるが、第2図は故障に係るコントローラの機能
を肩代り実行するコントローラのメモリ部におけ
る制御プログラムの格納状態が如何に変化するか
を示したものである。即ち、第2図aは故障前の
それを、また、第2図bは故障後のそれを示す。
図示の如く本例ではメモリ部6は16進表示で1000
番地より15FFまでとされ、6等分された各メモ
りエリアには制御プログラム部分が256バイト長
で格納されるようになつている。各メモリエリア
の先頭アドレスには制御プログラム部分を特定す
る1バイト長のラベルが格納されており、このラ
ベルによつて後述するところの制御プログラムの
再編成が行なわれる。本例での場合ラベルを構成
する上位3ビツトはコントローラ固有のプログラ
ム名を、下位2ビツトはその制御プログラム部分
の重要部を、中央部に位置する3ビツトは制御プ
ログラム部分の実行順序を示すようになつてい
る。したがつて例えばラベルが“00101011”であ
ればそのラベルはビツト区間を上記の如くに区切
ることによつて(123)として表示され得、これ
よりこのラベルが付された制御プログラム部分は
機能を肩代り実行するコントローラの制御プログ
ラムの部分を構成し、重要度は3であつて、しか
も2番目に実行されるものであることが知れるも
のである。但し、本例での場合重要度については
数値が小なる程に重要となつている。 Although the present invention is as described above, the present invention will be explained in more detail assuming the most basic case below. Assuming that each controller has only the control program that it is supposed to execute in its memory, if one of the controllers fails, the adjacent controller will not, in principle, be able to take over and execute that function. As already mentioned, FIG. 2 shows how the storage state of the control program in the memory section of the controller that takes over the function of the failed controller changes. That is, FIG. 2a shows it before the failure, and FIG. 2b shows it after the failure.
As shown in the figure, in this example, the memory section 6 is 1000 in hexadecimal notation.
The memory area is divided into six equal parts, and the control program part is stored in a length of 256 bytes. A 1-byte long label for specifying a control program portion is stored at the start address of each memory area, and the control program is reorganized as described later using this label. In this example, the upper 3 bits that make up the label indicate the controller-specific program name, the lower 2 bits indicate the important part of the control program, and the middle 3 bits indicate the execution order of the control program. It's getting old. Therefore, for example, if the label is "00101011", that label can be displayed as (123) by dividing the bit interval as described above, and from this, the control program part to which this label is attached has no function. It constitutes a part of the control program of the controller that is executed instead, has an importance level of 3, and is known to be executed second. However, in this example, the smaller the value, the more important the importance is.
通常時でのメモリ部6における制御プログラム
部分の格納態様は第2図aに示すようであるが、
隣接したコントローラが故障した場合はそのコン
トローラより重要度の高い制御プログラム部分を
受け取り、それら制御プログラム部分を自己の重
要度の低い制御プログラム部分が格納されている
メモリエリアに所定順に格納しようというもので
ある。第2図b中における(210),(231)および
(241)の各制御プログラム部分は勿論故障に係る
コントローラからのものであり、故障に係るコン
トローラ固有のプログラム名は「2」と表示され
ているものである。機能を肩代り実行するコント
ローラはその再編成に係る制御プログラムを例え
ば(110),(130),(151),(210),(231),(2
41)
といつた順に順次実行することにより故障に係る
コントローラの機能を肩代り実行し得るものであ
る。このようにして故障に係るコントローラの機
能をバツクアツプする場合には、重要度の低い制
御プログラム部分は実行されなくなるにしても重
要度の高いものはコントローラが故障したにも拘
わらず実行され得るから、差し当り大きな問題は
生じないものである。 The manner in which the control program portion is stored in the memory unit 6 during normal times is as shown in FIG. 2a.
When an adjacent controller fails, the controller receives control program parts that are more important than that controller, and stores those control program parts in a predetermined order in the memory area where its own less important control program parts are stored. be. The control program parts (210), (231), and (241) in Figure 2b are of course from the faulty controller, and the program name unique to the faulty controller is displayed as "2". It is something that exists. The controller that executes the functions takes over the control programs related to the reorganization, such as (110), (130), (151), (210), (231), (2
41)
By sequentially executing the above steps, the functions of the controller related to the failure can be executed in place of the controller. When backing up the functions of a failed controller in this way, even if less important parts of the control program are no longer executed, more important parts can still be executed despite the failure of the controller. No major problems will arise for the time being.
ところで以上のような制御プログラムの再編成
や再編成に係る制御プログラムの実行に際しては
重要度の低い制御プログラム部分を探索してその
先頭アドレスを表示したり、故障に係るコントロ
ーラからの重要度の高い制御プログラム部分を円
滑、且つ迅速にメモリ部に格納したり、実行され
るべき制御プログラム部分対応の先頭アドレスを
発生表示させるなどの配慮が必要である。これら
を円滑に行なうために用意されたのがプログラム
再編成部なわけである。 By the way, when reorganizing a control program as described above or executing a control program related to reorganization, it is necessary to search for a control program part of low importance and display its start address, or to search for a control program part of low importance and display the start address of a control program part of high importance from a controller related to a failure. Consideration must be given to storing the control program portion smoothly and quickly in the memory unit, and generating and displaying the start address corresponding to the control program portion to be executed. The program reorganization section was prepared to facilitate these operations.
第3図はプログラム再編成部の構成を示したも
のである。既に述べた如く何れかのコントローラ
が故障すればその旨は通信部、バスライン等を介
し、更にはそのコントローラの機能を肩代り実行
するコントローラの通信部を介しCPU部に報告
されるが、これによつてCPU部はコントローラ
内部のバスラインを介しプログラム再編成部5を
起動するところとなるものである。プログラム再
編成部5が起動されるとその制御回路5bは先ず
ラベル入力レジスタ5dに重要度の低い値をセツ
トすることになる。第2図a,bに示す例からす
れば先ず「3」の値がセツトされるわけである。
以下、第2図a,bに示す例に従つて説明すれ
ば、この重要度の値をマスクレジスタ5eを介し
連想メモリ5fに格納されているラベルと比較す
れば、重要度が一致したラベル(123),(163)に
は一致した旨のフラグが立つようになつているも
のである。照合用レジスタ5gはラベル対応のビ
ツトよりなるが、重要度が一致したラベル対応の
ビツト位置にはフラグが立つわけである。ラベル
入力レジスタ5dにおける重要度の値を適当な範
囲内で更新することによつて照合用レジスタ5g
に次々にフラグを立てれば、重要度の低い制御プ
ログラム部分が検出され得、フラツグ情報にもと
づきそれら制御プログラム部分の先頭アドレスが
実アドレス発生回路5hで発生されアドレスレジ
スタ5iに所定順に格納されるようになつている
ものである。一方、故障に係るコントローラから
の重要度の高い制御プログラム部分は重要度が高
い順にその通信部よりバスライン上に出力され、
直接間接に機能を肩代り実行するコントローラに
通信部を介して入力された後、プログラム再編成
部5のバツフアレジスタ5aに一時的に格納され
るようになつている。しかしてDMA制御回路5
cがアドレスレジスタ5iに格納されている先頭
アドレスにもとづき制御プログラム部分をバツフ
アメモリ5aよりメモリ部にDMA転送するよう
にすれば、それまで重要度が低い制御プログラム
部分が格納されていたメモリエリアには故障に係
るコントローラからの重要度の高い制御プログラ
ム部分が所定順に格納されるものである。 FIG. 3 shows the configuration of the program reorganization section. As already mentioned, if any controller malfunctions, that fact is reported to the CPU unit via the communication unit, bus line, etc., and further via the communication unit of the controller that takes over the function of that controller. Accordingly, the CPU section activates the program reorganization section 5 via the bus line inside the controller. When the program reorganization section 5 is activated, its control circuit 5b first sets a value of low importance in the label input register 5d. In the example shown in FIGS. 2a and 2b, the value "3" is first set.
Hereinafter, referring to the example shown in FIG. 123) and (163) are flagged to indicate a match. The matching register 5g consists of bits corresponding to labels, and a flag is set at the bit position corresponding to the label with the same degree of importance. By updating the importance value in the label input register 5d within an appropriate range, the verification register 5g
By setting flags one after another, control program parts with low importance can be detected, and based on the flag information, the start addresses of these control program parts are generated by the real address generation circuit 5h and stored in the address register 5i in a predetermined order. It is something that has become popular. On the other hand, the control program parts with high importance from the controller related to the failure are output from the communication unit to the bus line in order of importance.
After being input via the communication unit to the controller that directly or indirectly executes the function, it is temporarily stored in the buffer register 5a of the program reorganization unit 5. However, the DMA control circuit 5
If the control program part is DMA-transferred from the buffer memory 5a to the memory section based on the start address stored in the address register 5i, the memory area where the control program part of low importance was previously stored will be Control program parts of high importance from a controller related to a failure are stored in a predetermined order.
制御プログラム部分のメモリ部への格納の終了
に伴い制御プログラムの再編成も終了するが、こ
の後は再編成に係る制御プログラムをコントロー
ラが実行することになる。この実行において制御
プログラム部分の実行順序は1000番地から15FF
番地に向つて順に実行されるとは限らない。既述
した第2図bの例では○印中に表示された数字の
順に制御プログラム部分が実行されるが、そのよ
うな実行順序の制御は以下のようにして行なわれ
る。即ち、CPU部は制御プログラム実行に際し
先ず(11X)をプログラム再編成部5に送るよう
にされる。但し、重要度を示すXの値はこの場合
如何なる値であつてもよい。(11X)はDMA制御
回路5cを介し制御回路5bに入力された後、ラ
ベル入力レジスタ5dにセツトされ、重要度を無
視した状態でマスクレジスタ5eを介し連想メモ
リ5fの内容と比較されるものである。制御プロ
グラム実行時には連想メモリ5fにおける格納内
容は第4図に示す如くになつており、プログラム
名と実行順序が一致した場合には前述の場合と同
様にして照合用レジスタ5gにおけるそのラベル
対応のビツト位置にはフラグが立つようになつて
いるものである。したがつて、フラグが立つたビ
ツト位置ナンバYより実行されるべき制御プログ
ラム部分の実先頭アドレスは16進表示で以下のよ
うにして求められる。 When the storage of the control program portion in the memory section is completed, the reorganization of the control program is also completed, but after this, the controller executes the control program related to the reorganization. In this execution, the execution order of the control program part is from address 1000 to 15FF
They are not necessarily executed in order toward the addresses. In the example shown in FIG. 2b already described, the control program portions are executed in the order of the numbers displayed in the circles, but such control of the execution order is performed as follows. That is, the CPU section first sends (11X) to the program reorganization section 5 when executing the control program. However, the value of X indicating the degree of importance may be any value in this case. (11X) is input to the control circuit 5b via the DMA control circuit 5c, is set in the label input register 5d, and is compared with the contents of the content addressable memory 5f via the mask register 5e, ignoring the importance level. be. When the control program is executed, the contents stored in the associative memory 5f are as shown in FIG. A flag is placed at the location. Therefore, the actual start address of the control program portion to be executed from the bit position number Y where the flag is set can be determined in hexadecimal notation as follows.
実先頭アドレス=$1000
+$100×(ビツト位置ナンバY)
実先頭アドレスは実アドレス発生回路5hによ
つて求められるが、これがアドレスレジスタ5
i、制御回路5bなどを介しCPU部に送られる
ことによつてCPU部は先ずラベル(110)対応の
制御プログラム部分を実行するものである。この
実行終了後CPU部はラベル(12X)をプログラム
再編成部5に送ることになるが、この場合はフラ
グが立つことはないのでその旨の報告を受けた
CPU部は次にはラベル(13X)を送るようになる
ものである。このように送つたラベルに対してフ
ラグが立つた場合はそのラベル対応の制御プログ
ラム部分を実行し、制御プログラム部分が実行終
了された場合およびフラグが立たなかつた場合に
は実行順序が更新されたラベルをプログラム再編
成部5に送るものである。CPU部がラベル
(16X)を送つた後はラベル(21X),(22X),
(23X),(24X),(25X),(26X)を順次送ること
によつて、既に述べた如くにして制御プログラム
部分は所定順に実行され得るわけである。なお、
連想メモリ5fの代りに通常のメモリを使用し、
これにラベルを書き込んでから順次読み出し、照
合ラベルと比較することも可であるが、処理に多
くの時間を要する。Real start address = $1000 + $100 x (bit position number Y) The real start address is obtained by the real address generation circuit 5h, and this is the address register 5.
i. The CPU section first executes the control program portion corresponding to the label (110) by being sent to the CPU section via the control circuit 5b. After this execution is completed, the CPU section will send the label (12X) to the program reorganization section 5, but in this case, the flag will not be raised, so we received a report to that effect.
The CPU section then sends a label (13X). If a flag is set for a label sent in this way, the control program part corresponding to that label is executed, and if the control program part is finished running or the flag is not set, the execution order is updated. The label is sent to the program reorganization section 5. After the CPU section sends the label (16X), the labels (21X), (22X),
By sequentially sending (23X), (24X), (25X), and (26X), the control program portions can be executed in a predetermined order as described above. In addition,
Use normal memory instead of associative memory 5f,
Although it is possible to write a label on it, read it out sequentially, and compare it with a collation label, it takes a lot of time to process.
以上本発明を最も基本的な場合について説明し
たが、故障に係るコントローラの機能を肩代り実
行するコントローラが予めそのメモリ部に故障に
係るコントローラの制御プログラムを有している
場合には、切替部を切替制御した後直ちにバツク
アツプし得ることは勿論である。故障に係るコン
トローラをバツクアツプしているコントローラが
更に故障した場合には、正常に動作している他の
コントローラがそのコントローラの制御プログラ
ム部分を入手して制御プログラムを更に再編成す
るところとなるものである。 The present invention has been described above regarding the most basic case, but if the controller that takes over the function of the failed controller has a control program for the failed controller in its memory section, the switching unit Of course, it is possible to back up immediately after controlling the switching. If the controller that is backing up the failed controller fails again, another controller that is operating normally will obtain the control program portion of that controller and further reorganize the control program. be.
一般にコントローラ内部に他のコントローラの
制御プログラムを有しさせておく程に分散制御は
効率的に行なわれるが、その反面メモリ容量の増
大は免れ得ない。しかしながら、予め必要最小限
の制御プログラムを各コントローラに有せしめて
おく場合はメモリ容量を徒らに増大させることも
なければ、コントローラの何れかに故障が生じた
としてもプラント全体の機能に特に支障を与える
ことなく必要最小限以上の分散制御が可能となる
ものである。本発明が適用された分散制御システ
ムにおいては全てのコントローラが同時に故障し
ない限り制御機能を失なうことはなく、しかもプ
ラントを停止させることなく故障に係るコントロ
ーラを修復することが可能であるから、例えば原
子力プラントなど高信頼性、高安全性が要求され
るプラントに対しては非常に有効なものとなり、
経済的にも見合つたものとなる。 In general, distributed control is more efficient when a controller contains control programs for other controllers, but on the other hand, an increase in memory capacity is inevitable. However, if each controller is provided with the minimum necessary control program in advance, the memory capacity will not be increased unnecessarily, and even if a failure occurs in one of the controllers, it will not affect the functionality of the entire plant. This makes it possible to perform more distributed control than the necessary minimum without giving any problems. In the distributed control system to which the present invention is applied, the control function will not be lost unless all controllers fail at the same time, and it is possible to repair the failed controller without stopping the plant. For example, it is extremely effective for plants that require high reliability and high safety, such as nuclear power plants.
It will also be economically viable.
以上説明したように本発明は、各コントローラ
に自己が本来実行すべき制御プログラムのみを格
納せしめておき、何れかのコントローラが故障す
る度に所定のコントローラが故障に係るコントロ
ーラより重要度の高い制御プログラム部分を受
け、故障に係るコントローラが実行すべき重要度
の高い制御プログラム部分と自己が実行すべき重
要度の高い制御プログラム部分とから制御プログ
ラムを再編成したうえこの再編成された制御プロ
グラムを実行するようにしたものである。したが
つて本発明による場合は、各コントローラにおけ
るメモリ容量を徒らに増大せしめることなく、し
かも何れかのコントローラが故障した場合であつ
ても特に支障をきたすことなくプラントを経済的
に制御し得るという効果がある。 As explained above, the present invention allows each controller to store only the control program that it should originally execute, and whenever one of the controllers malfunctions, a predetermined controller executes a control program that is more important than the controller involved in the malfunction. After receiving the program part, the control program is reorganized from the highly important control program part that should be executed by the faulty controller and the highly important control program part that should be executed by itself, and the reorganized control program is It was designed to be executed. Therefore, according to the present invention, it is possible to economically control the plant without unnecessarily increasing the memory capacity of each controller, and without causing any particular trouble even if any of the controllers breaks down. There is an effect.
第1図は、本発明に係るプラント分散制御シス
テムの一例でのシステム構成を示す図、第2図
a,bは、制御プログラムのメモリ部における一
例での格納状態の再編成後のそれの格納状態を示
す図、第3図は、第1図におけるプログラム再編
成部の一部での構成を示す図、第4図は、再編成
された制御プログラムの実行時における連想メモ
リを中心とした動作説明図である。
2……バスライン、3A〜3C……CPU部、
5A〜5C,5……プログラム再編成部、6A〜
6C,6……(制御プログラム格納用)メモリ
部、8A〜8C……プロセス入出力部、9A〜9
C……切替部、10A〜10C……検出器、11
A〜11C……操作器。
FIG. 1 is a diagram showing a system configuration of an example of a plant distributed control system according to the present invention, and FIGS. 2 a and 2 b show an example of the storage state of a control program in the memory section after its storage state has been reorganized. 3 is a diagram showing the configuration of a part of the program reorganization unit in FIG. 1, and FIG. 4 is a diagram showing the operation centered on the associative memory when the reorganized control program is executed. It is an explanatory diagram. 2...Bus line, 3A-3C...CPU section,
5A~5C, 5...Program reorganization department, 6A~
6C, 6...Memory section (for storing control programs), 8A-8C...Process input/output section, 9A-9
C...Switching unit, 10A to 10C...Detector, 11
A~11C...Operator.
Claims (1)
スラインを介し間接的に互いに接続されてなる複
数のコントローラがプラントを分散制御するよう
にしてなるシステムにおいて、各コントローラに
自己が本来実行すべき制御プログラムのみを予め
格納せしめておき、何れかのコントローラが故障
する度に該コントローラに接続収容されていた制
御対象および検出器を予め定められた所定のコン
トローラに接続収容せしめる一方、該所定のコン
トローラは故障に係るコントローラより重要度の
高い制御プログラム部分を受け、故障に係るコン
トローラが実行すべき重要度の高い制御プログラ
ム部分と、自己が実行すべき重要度の高い制御プ
ログラム部分とから新たな制御プログラムを再編
成したうえ実行するようにしたことを特徴とする
プラント分散制御方法。1. In a system in which multiple controllers are indirectly connected to each other via an external common bus line under the control of a host computer and perform distributed control over a plant, each controller is given only the control program that it is supposed to execute. The controller is stored in advance, and each time a controller fails, the controlled object and detector that were connected and housed in that controller are connected and housed in a predetermined controller, while the specified controller is connected to and housed in a predetermined controller. Receives a control program part that is more important than the controller, and reorganizes a new control program from the highly important control program part that should be executed by the failed controller and the highly important control program part that should be executed by itself. 1. A plant distributed control method characterized in that the plant decentralized control method is further executed.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16348681A JPS5864502A (en) | 1981-10-15 | 1981-10-15 | Plant decentralized control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16348681A JPS5864502A (en) | 1981-10-15 | 1981-10-15 | Plant decentralized control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5864502A JPS5864502A (en) | 1983-04-16 |
| JPH0346841B2 true JPH0346841B2 (en) | 1991-07-17 |
Family
ID=15774776
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16348681A Granted JPS5864502A (en) | 1981-10-15 | 1981-10-15 | Plant decentralized control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5864502A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1993005296A1 (en) * | 1991-09-10 | 1993-03-18 | Smc Kabushiki Kaisha | Fluid pressure apparatus |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60239802A (en) * | 1984-05-15 | 1985-11-28 | Yokogawa Hokushin Electric Corp | Control switching method of control system |
| JPS61106989A (en) * | 1984-10-08 | 1986-05-24 | Hokuetsu Kogyo Co Ltd | Control system of compressor |
| JPH07120164B2 (en) * | 1985-11-19 | 1995-12-20 | キヤノン株式会社 | Control device |
| JPH0665885B2 (en) * | 1990-08-31 | 1994-08-24 | エスエムシー株式会社 | Actuator control device |
| JPH03163201A (en) * | 1990-08-31 | 1991-07-15 | Smc Corp | Control method of actuator and device therefor |
| JPH03249406A (en) * | 1990-11-30 | 1991-11-07 | Smc Corp | Actuator controller |
| US6973508B2 (en) * | 2002-02-12 | 2005-12-06 | Fisher-Rosemount Systems, Inc. | Highly versatile process control system controller |
| JP2007257657A (en) * | 2007-05-07 | 2007-10-04 | Hitachi Ltd | Distributed control device, system and controller |
| JP5256810B2 (en) * | 2008-03-24 | 2013-08-07 | 村田機械株式会社 | Storage system and transport system with storage |
| EP2764455B1 (en) * | 2011-10-05 | 2022-04-20 | Opteon Corporation | System and method for monitoring and/or controlling dynamic environments |
| WO2020148870A1 (en) * | 2019-01-17 | 2020-07-23 | 三菱電機株式会社 | Alternative control device, alternative control method, alternative control program, and fail-operational system |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS51122350A (en) * | 1975-04-18 | 1976-10-26 | Toshiba Corp | Control computer system |
| JPS5918740B2 (en) * | 1976-04-27 | 1984-04-28 | 株式会社東芝 | multiple computer system |
| JPS5640901A (en) * | 1979-09-11 | 1981-04-17 | Toshiba Corp | Backup method of process control |
-
1981
- 1981-10-15 JP JP16348681A patent/JPS5864502A/en active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1993005296A1 (en) * | 1991-09-10 | 1993-03-18 | Smc Kabushiki Kaisha | Fluid pressure apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5864502A (en) | 1983-04-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1426863B1 (en) | Method and apparatus for maintaining consistency of data stored in a group of mirroring devices | |
| US4872106A (en) | Industrial process control system with back-up data processors to take over from failed primary data processors | |
| EP0444544B1 (en) | Updating or restoring method for stored data groups and system executing same | |
| JPH0346841B2 (en) | ||
| KR970062904A (en) | Database recovery method using double-sided nonvolatile memory and method thereof | |
| JP2687927B2 (en) | External bus failure detection method | |
| JPS59154700A (en) | Data processing system | |
| JPH05181824A (en) | Data management method | |
| JPS63140352A (en) | Memory device for data base of on-line system | |
| JP3068713B2 (en) | Extended storage device maintenance controller | |
| JP2635777B2 (en) | Programmable controller | |
| JPS6218059B2 (en) | ||
| JP2645175B2 (en) | Plant control system | |
| GB2248369A (en) | Computer apparatus for high-speed shared access to data | |
| JPH01173140A (en) | File control method | |
| JPH0277943A (en) | System recovery method | |
| JPS58141500A (en) | Memory management protection method | |
| JPS62284440A (en) | Software resource maintenance system for terminal equipment | |
| JP2603880B2 (en) | A method for controlling updating of a database of a redundant processor in a process control system. | |
| JPS6152495B2 (en) | ||
| JP2021140642A (en) | Data processing device, data processing method, and program | |
| JPS5931267A (en) | Controller for elevator | |
| JPS59231798A (en) | Data processor | |
| JPS62212865A (en) | Multiprocessor control system | |
| JPH01211138A (en) | Resetting circuit for supervising circuit of computer system |