JPH08202409A - Decentralized control unit, system, and controller - Google Patents

Decentralized control unit, system, and controller

Info

Publication number
JPH08202409A
JPH08202409A JP7012293A JP1229395A JPH08202409A JP H08202409 A JPH08202409 A JP H08202409A JP 7012293 A JP7012293 A JP 7012293A JP 1229395 A JP1229395 A JP 1229395A JP H08202409 A JPH08202409 A JP H08202409A
Authority
JP
Japan
Prior art keywords
processor
controller
load
processors
task
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.)
Granted
Application number
JP7012293A
Other languages
Japanese (ja)
Other versions
JP3244982B2 (en
Inventor
Hiromasa Yamaoka
弘昌 山岡
Mitsuru Watabe
満 渡部
Takayasu Kasahara
孝保 笠原
Katsunari Shibata
克成 柴田
Kiyoshi Matsubara
清 松原
Yasuo Morooka
泰男 諸岡
Seiju Funabashi
誠壽 舩橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP01229395A priority Critical patent/JP3244982B2/en
Publication of JPH08202409A publication Critical patent/JPH08202409A/en
Application granted granted Critical
Publication of JP3244982B2 publication Critical patent/JP3244982B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Control By Computers (AREA)

Abstract

PURPOSE: To provide a controller which has many kinds of various control function for a decentralized control system. CONSTITUTION: Controllers 1-6 consist of plural processors which perform numerical operation, sequence operation, neural net(NN) operation, fuzzy operation, etc. The controllers 1-6 are reduced in size by the configuring technology with LSI. Further, processor functions and I/O functions are made programmable to increase flexibility. A program incorporates a simple standard program and learnt models of the NN, etc., and weights and adds plural calculated outputs to generate output data. Further, the value of weighting is updated by learning. Consequently, the decentralized control system having many kinds of various control function such as numerical operation control, sequence control, NN application control, and fuzzy application control and the controllers used for them can be provided.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は各種プロセス制御,プラ
ント制御,車両制御等において複数の制御装置(コント
ローラ)を用いて分散制御を行う分散制御システムに関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed control system for performing distributed control by using a plurality of control devices (controllers) in various process control, plant control, vehicle control and the like.

【0002】[0002]

【従来の技術】従来からプラント制御システムの例で
は、複数のコントローラを分散して制御を行う分散制御
システム、DCS(Distributed Control System)と呼
ばれる制御システムがある。このDCSは複数のコント
ローラとマンマシンシステムとしてのオペレーターズコ
ンソールをネットワークで結びプラントを制御しようと
するものである。しかし、分散システムといってもコン
トローラ自体は計器室、電気室あるいは計算機室等と呼
ばれる専用の設置スペースに集中配置し、そこからプラ
ントのセンサあるいはアクチュエータへ入出力ケーブル
を接続するのが常であった。しかし、この方法ではコン
トローラの専用設置スペースが必要になることと、コン
トローラの入出力とプラント間の接続ケーブルの敷設に
費用がかかるという問題点があった。
2. Description of the Related Art Conventionally, as an example of a plant control system, there is a control system called DCS (Distributed Control System), which is a distributed control system for controlling a plurality of controllers in a distributed manner. This DCS connects a plurality of controllers and an operator's console as a man-machine system via a network to control the plant. However, even in the case of a distributed system, it is common to arrange the controllers themselves in a dedicated installation space called an instrument room, electric room, computer room, etc., and connect input / output cables to the sensors or actuators of the plant from there. It was However, this method has a problem in that a dedicated installation space for the controller is required and that it is expensive to lay out a connecting cable between the controller input / output and the plant.

【0003】また、従来のコントローラを分散配置する
とコントローラが故障した際にその保守がすぐにはでき
ないという問題点が発生する。
Further, if the conventional controllers are distributedly arranged, there is a problem that the maintenance cannot be performed immediately when the controller fails.

【0004】また、一般には一つのプラントは複数の制
御対象グループから構成され、さらに一つの制御対象グ
ループは複数の制御対象機器から構成されている。そこ
で、一つのコントローラでどれだけの制御対象機器を掌
握するかが従来から議論されている。一般には、一台の
コントローラで掌握する制御対象機器が少なければ少な
いほど、一台のコントローラが故障してもその影響範囲
は小さくなり危険分散化が図れるが、コントローラ間の
通信量は増大するという問題があった。
In general, one plant is composed of a plurality of control target groups, and one control target group is composed of a plurality of control target devices. Therefore, it has been conventionally discussed how many control target devices are controlled by one controller. Generally, the smaller the number of controlled devices controlled by one controller, the smaller the influence range and the more decentralized risk even if one controller fails, but the communication volume between controllers increases. There was a problem.

【0005】一方で、制御の高度化は今後ますます進
み、リレー接点ロジックの代替であるシーケンス制御や
単なる数値演算制御だけではなく、多変数制御を行うた
めの高速行列演算、あいまい量を取り扱うファジィ制
御,学習能力をもつニューラルネットワーク応用制御等
各種の制御が複合して用いられるようになってきてい
る。しかし、このような制御システムは、各々専用の機
能を持ったコントローラを適当に組み合わせて構築して
いるのが現状である。その結果、高度な制御を行なおう
とすれば、分散システム内に多種類のコントローラを配
置する必要があり、設計、プログラミング、運転、保守
いずれの時点においても複雑さが増大しそれに伴うコス
トも増大するという問題があった。
On the other hand, the sophistication of control is further advanced in the future, and not only sequence control which is an alternative to relay contact logic and mere numerical operation control but also high-speed matrix operation for performing multivariable control and fuzzy handling of ambiguous amount Various types of control such as neural network applied control with control and learning ability are being used in combination. However, such a control system is currently constructed by appropriately combining controllers each having a dedicated function. As a result, a high degree of control requires the placement of multiple controllers in a distributed system, adding complexity and associated costs at any point during design, programming, operation or maintenance. There was a problem of doing.

【0006】また、一つのコントローラを複数のプロセ
ッサで実現する所謂マルチプロセッサ構成のコントロー
ラも実現されている。例えば、伝送処理を行うネットワ
ークコントロールプロセッサ、数値演算プロセッサおよ
び高速シーケンスプロセッサというように複数のプロセ
ッサでもってコントローラを実現するわけである。しか
し、従来の方法では各種制御内容に応じた複数種類のプ
ロセッサを用意し、制御対象に応じてその組み合わせを
変える必要があった。即ち、各種制御対象のセンサー、
アクチュエータの種類,点数,制御内容が異なるため、
各プロセッサおよびプロセス入出力カードがプラグイン
ユニット式で増設、交換できるように作られている。と
ころが、このコントローラを1ボード化またはLSI化
しようとすると非常に困難な事態が発生する。すなわ
ち、制御対象毎に異る機能のボードやLSIを作ること
になり、開発期間、開発コスト面において大きな障害と
なるとともに保守面においてもすべての品種に対応した
保守部品、保守管理が必要になり、保守コストの増大に
つながる。特にLSI化のメリットの1つは大量生産に
よる低価格化にあり、この様に個別に多くの種類のLS
Iを開発することは、このLSIの最大のメリットを享
受できないという事になる。
Also, a controller having a so-called multiprocessor structure in which one controller is realized by a plurality of processors has been realized. For example, the controller is realized by a plurality of processors such as a network control processor, a numerical operation processor, and a high-speed sequence processor that perform transmission processing. However, in the conventional method, it is necessary to prepare a plurality of types of processors according to various control contents and change the combination according to the control target. That is, sensors of various controlled objects,
Since the type of actuator, number of points, and control content are different,
Each processor and process I / O card are designed to be plug-in unit type so that they can be added and replaced. However, if this controller is to be integrated into a single board or an LSI, a very difficult situation occurs. In other words, a board or LSI with different functions will be created for each control target, which will be a major obstacle in terms of development period and development cost, and also in terms of maintenance, maintenance parts and maintenance management compatible with all types will be required. , Leading to an increase in maintenance costs. In particular, one of the merits of making LSI is the cost reduction due to mass production, and in this way many types of LS are individually available.
The development of I means that the maximum merit of this LSI cannot be enjoyed.

【0007】また、コントローラのプログラミングに関
しては、従来各制御部のプログラムをユーザが逐一書い
ていた。一般的には、より良い制御性能を得ようとする
とプログラムは複雑化する。また、従来のプログラムで
は、経時変化や環境の変化、ユーザの好みに柔軟に対応
していくことが大変困難であった。そこで、ニューラル
ネットなどを使用して徐々に学習しながら制御性を良く
するというアプローチがある。しかし、従来の学習によ
るアプローチでは所望の出力を得るまでに、非常に多く
の学習,経験を積まなければならず、学習の初期におい
ては所望とする制御出力とかけ離れたものしか得られな
いのが常である。一方、制御の初期段階から所望とする
制御出力に近い値を得なければならないことも事実であ
る。また、ユーザが持っている知識が優れている場合に
はそれを最大限利用するといった方法が望れているが、
ニューロ等による学習結果とユーザの知識のどちらが優
れているかの判断が難しい。
With regard to programming of the controller, the user conventionally wrote the programs of the respective control units one by one. Generally, the program becomes complicated to obtain better control performance. Moreover, it is very difficult for the conventional program to flexibly respond to changes over time, changes in the environment, and user preferences. Therefore, there is an approach to improve controllability while gradually learning by using a neural network or the like. However, in the conventional learning approach, a large amount of learning and experience must be gained before the desired output is obtained, and in the initial stage of learning, only a control output that is far from the desired control output can be obtained. It is always. On the other hand, it is also true that a value close to the desired control output must be obtained from the initial stage of control. In addition, there is a demand for a method of maximizing the use of knowledge that the user has,
It is difficult to judge which is better, the learning result by neuro or the like or the user's knowledge.

【0008】さらに、制御性能の評価については、例え
ば、自動車の場合のように、その基準は乗り心地,スピ
ード,温度など、複数存在することが多い。また、その
価値基準は人によって、また、同じ人でも時によって異
なる。このようなことに、柔軟に対応するためには、動
作中にユーザがその価値基準算出法を変更可能であるこ
とが必要である。
Further, with respect to the evaluation of the control performance, there are often a plurality of criteria such as riding comfort, speed, temperature, etc., as in the case of an automobile. Also, the standard of value varies from person to person, and even the same person from time to time. In order to flexibly deal with such a situation, it is necessary that the user can change the value criterion calculation method during operation.

【0009】ネットワークについては制御対象が定常状
態であれば通信情報量の増減はあまり無いが、過渡状態
特に異常発生時などは通信情報量が増加してしまう。例
えば、従来の分散制御システムの診断方法であるブラッ
クボードアーキテクチャによってもコモンモード故障時
に個々のコントローラから通信ネットワーク上に多数の
故障情報が送信されネットワークの通信ネックが発生す
る危険性があった。
Regarding the network, if the controlled object is in a steady state, the communication information amount does not increase or decrease much, but in the transient state, especially when an abnormality occurs, the communication information amount increases. For example, even with a blackboard architecture, which is a conventional method for diagnosing a distributed control system, there is a risk that a large number of pieces of failure information will be transmitted from the individual controllers to the communication network when a common mode failure occurs and a network communication neck will occur.

【0010】またさらに、分散制御システムの稼働率と
信頼性の向上に関しては、1台のコントローラが故障
(ダウン)した場合に他のコントローラがその負荷を代
替(バックアップ)する方法が一般的である。例えば、
特開昭62−177634号と特開昭63−118860号に示されるよ
うに、あるコントローラのダウンに対してバックアップ
するコントローラをあらかじめ定めておく方法が知られ
ている。さらに、特開平2−224169号と特開平3−296851
号に示されるように計算機システムでは各計算機の負荷
状況に応じて、ダウンした計算機の負荷を分割し複数の
計算機でバックアップする方式が知られている。ところ
が、前者の方法はバックアップ専用のコントローラを準
備する必要があった。また、後者の方法は負荷の分散を
集中管理しているためその集中管理用の計算機がダウン
した場合、計算機システムの全体が停止する可能性があ
った。
Further, in order to improve the operating rate and reliability of the distributed control system, it is general to use a method in which when one controller fails (down), another controller substitutes (backs up) the load. . For example,
As disclosed in JP-A-62-177634 and JP-A-63-118860, there is known a method of predefining a controller to be backed up when a certain controller goes down. Further, JP-A-2-224169 and JP-A-3-296851
In the computer system, there is known a method in which the load of a down computer is divided and backed up by a plurality of computers according to the load status of each computer as shown in No. However, in the former method, it was necessary to prepare a controller dedicated for backup. In the latter method, the load distribution is centrally managed, so that if the computer for centralized management goes down, the entire computer system may stop.

【0011】[0011]

【発明が解決しようとする課題】本発明が解決しようと
する一つの課題は、一台のコントローラで掌握する制御
対象機器を最小限度に少なくし、危険分散を図ることが
可能なコントロールシステムを実現することである。
SUMMARY OF THE INVENTION One of the problems to be solved by the present invention is to realize a control system which can minimize the number of control target devices held by a single controller and can disperse danger. It is to be.

【0012】またさらに、本発明が解決しようとするも
う一つの課題は、コントローラの専用設置スペースおよ
びコントローラの入出力とプラント間の接続ケーブルの
敷設を不要または最小にできる分散設置形のコントロー
ルシステムにも適用できるコントローラを実現すること
である。
Further, another problem to be solved by the present invention is to provide a distributed installation type control system capable of eliminating or minimizing the installation space for exclusive use of the controller and the laying of the connecting cable between the input / output of the controller and the plant. Is to realize a controller that can also be applied.

【0013】またさらに、本発明が解決しようとするも
う一つの課題は、できる限り少ない種類で各種の制御対
象,制御方式に対応可能な汎用性のあるコントローラを
提供することである。
Still another object of the present invention is to provide a versatile controller that can handle various types of control objects and control methods with the fewest possible types.

【0014】またさらに、本発明が解決しようとするも
う一つの課題は小型かつ低コストなコントローラを提供
することである。
Still another object of the present invention is to provide a compact and low cost controller.

【0015】またさらに、本発明が解決しようとするも
う一つの課題は、小規模のコントローラから大規模のコ
ントローラまで同一アーキテクチャで構成できるスケー
ラビリティを有したコントローラを提供することにあ
る。
Further, another problem to be solved by the present invention is to provide a controller having a scalability capable of being configured with the same architecture from a small scale controller to a large scale controller.

【0016】またさらに、本発明が解決しようとするも
う一つの課題は、ハードウエア完成後に目的に合わせて
機能のプログラムが可能なコントローラを提供すること
にある。ここで言う機能のプログラムとは、数値演算機
能、ファジィ推論機能、ニューラルネット処理機能、シ
ーケンス演算機能などの専用処理機能をコントローラ内
のハードウエアに埋め込むことである。
Further, another object of the present invention is to provide a controller capable of programming a function according to the purpose after completion of hardware. The program of the function referred to here is to embed a dedicated processing function such as a numerical operation function, a fuzzy inference function, a neural network processing function, a sequence operation function in the hardware in the controller.

【0017】またさらに、本発明が解決しようとするも
う一つの課題は、部分故障に対して自己修復可能なコン
トローラを提供することにある。
Still another object of the present invention is to provide a controller capable of self-repairing against partial failure.

【0018】またさらに、本発明が解決しようとするも
う一つの課題は、プログラミングの簡単なコントロール
システムを提供することにある。
Still another object of the present invention is to provide a control system with simple programming.

【0019】またさらに、本発明が解決しようとするも
う一つの課題は、コモンモード故障時に個々のコントロ
ーラから通信ネットワーク上に送信される故障情報を減
じ、ネットワークの通信ネックによるシステムダウンが
発生しにくい分散制御システムを提供することにある。
Further, another problem to be solved by the present invention is to reduce the failure information transmitted from the individual controllers to the communication network at the time of the common mode failure so that the system down due to the communication neck of the network is less likely to occur. To provide a distributed control system.

【0020】またさらに、本発明が解決しようとするも
う一つの課題は、集中管理用のコントローラと待機用コ
ントローラを設けずに、正常に動作しているコントロー
ラがダウンしたコントローラの負荷を自律的に分割して
バックアップすることが可能な分散制御システムを実現
することである。特に、コントローラの多重ダウンに対
しても、正常に動作しているコントローラが協調して、
その余剰性能を有効に活用し分散制御システムの総合性
能の限界までバックアップを実施することにある。
Further, another problem to be solved by the present invention is to autonomously reduce the load of a controller that is operating normally without providing a controller for centralized management and a controller for standby. It is to realize a distributed control system that can be divided and backed up. Especially when multiple controllers are down, the controllers that are operating normally cooperate with each other.
It is to effectively utilize the surplus performance and perform backup to the limit of the total performance of the distributed control system.

【0021】[0021]

【課題を解決するための手段】上記課題を解決するため
に、本発明では、コントローラの内部構成、外観構造と
もに拡張性のあるものとし、その基本単位をLSI化し
小型のコントローラを実現できるようにした。従って、
分散設置型としても集中設置型としても利用できる。ま
た、本コントローラを制御対象機器単位に配置すること
により、危険分散システムが実現できる。
In order to solve the above problems, according to the present invention, it is assumed that the controller has an expandable internal structure and external structure, and its basic unit is an LSI so that a small controller can be realized. did. Therefore,
It can be used as a distributed installation type or a centralized installation type. Also, by arranging this controller in units of control target devices, a risk distribution system can be realized.

【0022】さらに、汎用性をもったコントローラを実
現するために、一つのコントローラを数値演算機能はも
とよりニューロ、ファジィ、行列等を高速に演算するた
めの並列演算機能を実行するプロセッサ、シーケンス制
御演算を高速に実行するするプロセッサ、さらには、ネ
ットワークとの通信機能を実行するプロセッサ等の複数
のプロセッサから構成し、各機能を並列に実行可能とし
た。また、入出力及びプロセッサを機能プログラムでき
るチップを実現する方法も提供した。
Further, in order to realize a controller having general versatility, a single controller is used to perform a numerical operation function as well as a parallel operation function for high-speed operation of neuro, fuzzy, matrix, etc., and a sequence control operation. It is composed of multiple processors, such as a processor for executing high-speed communication, and a processor for executing a communication function with a network, and each function can be executed in parallel. Also provided is a method for implementing a chip capable of functionally programming an input / output and a processor.

【0023】また、同一コントローラ内の一つのプロセ
ッサがダウンしても他のプロセッサがその機能を代替で
きる手段を設けた。
Further, even if one processor in the same controller goes down, another processor can substitute its function.

【0024】制御演算部にニューラルネットと従来のよ
うなユーザが付与したモデルを計算する手段または方法
を設け、両者を重み付けして加えることによって制御出
力を生成することとした。そして、その重み付けの値を
学習が進んでいない状態ではユーザの付与モデル出力を
100%またはそれに近い値とし、その後学習によって
更新し、また、ニューロや他の手段からの出力値に対す
る重み付けの値もニューラルネットで行い、学習させる
こととした。
The control calculation unit is provided with a means or method for calculating a model given by a user as in the conventional art, and the control output is generated by weighting and adding both. Then, the weighted value is set to 100% or a value close to the user's added model output in a state where learning is not progressing, and then updated by learning, and the weighted value for the output value from the neuro or other means is also changed. I decided to do it with a neural network and let it learn.

【0025】また、評価についても、状態の評価値をユ
ーザに表示し、それをユーザが修正する手段を有し、さ
らに、新しい評価基準をユーザが定義すると共に、複数
の評価値を何らかの加工をした後に最小値を求め、これ
を用いて出力の演算法を更新していくこととした。
With respect to the evaluation, the evaluation value of the state is displayed to the user, and the user has a means to modify the evaluation value. Further, the user defines a new evaluation standard and the plurality of evaluation values are processed in some way. After that, the minimum value was obtained, and this was used to update the output calculation method.

【0026】さらに、故障診断時のネットワークの負荷
を低減する手段としては、ネットワークの伝達情報をマ
ンマシン装置に格納し、編集・処理するネットワークモ
ニタ、および各コントローラにつけた入出力情報フィル
タを設け冗長な情報はネットワークには乗らないように
した。
Further, as means for reducing the load on the network at the time of failure diagnosis, a network monitor for storing and transmitting / editing network transmission information in a man-machine device, and an input / output information filter attached to each controller are provided for redundancy. I tried not to get such information on the network.

【0027】さらに、ダウンしたコントローラの負荷を
自律的に分割してバックアップするための手段は、各コ
ントローラが実行しているタスクとその負荷状況を示す
実行分担表と、各タスクを実行したときの負荷を示すタ
スク負荷表と、各コントローラの負荷状況によりどのコ
ントローラが余裕がありバックアップを実行しやすいか
を示す受付順位表とに基づきバックアップを依頼するバ
ックアップ依頼手段と、前記表によりバックアップを受
付可能か判定し受付けたか否かを回答するとともに受け
付けたタスクの実行を指示するバックアップ受付手段と
から構成される。
Further, means for autonomously dividing and backing up the load of the controller that has gone down is as follows: a task executed by each controller and an execution allocation table showing its load status; Backup request means that requests backup based on the task load table that shows the load and the reception order table that shows which controller has room to easily execute the backup depending on the load status of each controller, and the backup can be received from the above table It is configured to include a backup acceptance unit that determines whether or not it has been accepted and gives an instruction to execute the accepted task.

【0028】また、一つのコントローラ自身の耐故障性
と信頼性を向上するために、各コントローラは複数のプ
ロセッサで構成され、前述の実行分担表はさらに各プロ
セッサの負荷状況とどのプロセッサが余裕があり負荷を
バックアップしやすいかを示すものとし、これらの実行
分担表とタスク負荷表に応じて故障したプロセッサの負
荷をバックアップするプロセッサを定める内部バックア
ップ手段を設けたものである。
Further, in order to improve the fault tolerance and reliability of one controller itself, each controller is composed of a plurality of processors, and the above-mentioned execution allocation table further shows the load status of each processor and which processor has a margin. It shows whether the load can be easily backed up, and an internal backup means is provided to determine the processor that backs up the load of the failed processor according to the execution allocation table and the task load table.

【0029】[0029]

【作用】一種類で多種多様な制御機能を並列に実行可能
なコントローラを実現したことにより柔軟なシステム構
成能力を有する分散制御システムが構築できる。即ち、
ハード的に同一構造のコントローラを複数台設置するこ
とができるため一台のコントローラが故障しても他のコ
ントローラでのバックアップが容易にでき、迅速な保守
対応が困難な場所にもコントローラを分散設置できる。
By implementing a controller capable of executing a wide variety of control functions in parallel with one type, a distributed control system having a flexible system configuration capability can be constructed. That is,
Since multiple controllers with the same hardware structure can be installed, even if one controller fails, it is easy to back up with other controllers, and the controllers can be distributed even in locations where quick maintenance is difficult. it can.

【0030】プログラミングに関しては、ユーザは付与
モデルとして比較的簡単なモデルをプログラムすればよ
い。学習の初期では付与モデルに従って動作をし、学習
が進んでニューラルネットによる学習モデルの出力値が
良くなるにつれてニューラルネットの出力に対する重み
値を大きくしていくことができる。そしてさらに、状態
の評価部を設け、その出力の時間微分によって出力デー
タの評価を行うことで、前記重み値をユーザが意識する
ことなく、学習によって次第に変化させていくことがで
きる。また、該重み値を入力データからニューラルネッ
トで求め、さらにそのニューラルネットを学習させるこ
とによって、付与モデルの出力が良いところではその出
力を、学習モデルの出力の方が良い場合にはその出力の
重みが大きくなるように場合によってその重み付けの仕
方を変えることもできるようになる。
With respect to programming, the user may program a relatively simple model as the grant model. At the beginning of learning, the operation is performed according to the imparted model, and the weight value for the output of the neural network can be increased as the learning progresses and the output value of the learning model by the neural network improves. Further, by providing a state evaluation unit and evaluating the output data by time differentiation of the output, the weight value can be gradually changed by learning without the user being aware of it. Further, the weight value is obtained from the input data by a neural network, and the neural network is further trained so that the output of the added model is good when the output is good, and the output of the learning model is good when the output is good. Depending on the case, the weighting method can be changed so that the weight becomes larger.

【0031】また、評価値の表示手段と修正手段によっ
て、評価値とユーザの感覚とにずれがあった時に修正す
ることで、簡単にユーザの感覚にあった評価が可能とな
る。また、ユーザが新しい評価基準を設けることで、さ
らにユーザの評価方法にできるだけ近付ける。そして、
こうしてできた複数の評価基準を直接または何らかの変
換をしてその最小値をとることによって、現在ユーザが
最も不適と感じている項目を抽出し、この評価基準を用
いて制御出力の演算法を更新していくことで、複数の評
価基準からみて調和のとれた制御が可能になる。
Further, the evaluation value display means and the correction means can correct the evaluation value and the user's feeling when there is a discrepancy between the evaluation value and the user's feeling. Also, by setting a new evaluation standard by the user, the evaluation method of the user can be made as close as possible. And
By directly or in some way converting the multiple evaluation criteria created in this way and taking the minimum value, the items that the user feels are most unsuitable are extracted, and the calculation method of the control output is updated using these evaluation criteria. By doing so, it becomes possible to perform harmonious control in view of multiple evaluation criteria.

【0032】故障診断時のネットワーク負荷を低減する
手段に関しては、各コントローラは、故障発生時に異常
情報を入出力フィルタに送り、入出力フィルタは、送信
された異常情報を含んだ異常情報がすでにネットワーク
に送信されているかどうかを各コントローラが格納して
いる履歴情報を参照して判定し、送信された故障情報を
含んだ異常情報がすでにネットワークに送信されていな
ければ該異常情報をネットワークに送信することによ
り、冗長な異常情報がネットワークに送信されることを
防止することができる。
Regarding the means for reducing the network load at the time of failure diagnosis, each controller sends abnormality information to the input / output filter when a failure occurs, and the input / output filter has already transmitted the abnormality information including the transmitted abnormality information to the network. Whether or not the error information has been sent to the network is judged by referring to the history information stored in each controller, and if the error information including the sent failure information has not already been sent to the network, the error information is sent to the network. As a result, it is possible to prevent redundant abnormality information from being transmitted to the network.

【0033】さらに自律的なバックアップに関しては、
各コントローラに具備した実行分担表と,タスク負荷表
と,受付順位表とにより、どのコントローラのバックア
ップ依頼手段でバックアップすべきタスクとバックアッ
プに適するコントローラを検索し、バックアップ受付手
段に通知することが可能になる。また、バックアップを
依頼されたコントローラのバックアップ受付手段は自己
が持つ実行分担表の自己の負荷に基づき、この通知にあ
るバックアップ対象タスクを実行可能か否かを自ら判断
し、選択的にバックアップ対象タスクを受付ける。この
選択の結果を受付メッセージとして放送(ブロードキャ
スト)することにより依頼元および他のコントローラは
バックアップを実施したコントローラの負荷状況の変化
を実行分担表及び受付順位表に反映可能である。さらに
依頼元のコントローラでは受付られなかったバックアッ
プ対象タスクを知ることが可能であり、再び受付順位表
(この時は先にバックアップを実施したコントローラは
負荷率が高まるため受付順位表の先頭にいないであろ
う)にしたがって新たなコントローラに未受付分を依頼
可能である。
For more autonomous backup,
It is possible to search the task to be backed up and the controller suitable for the backup by which controller's backup request means by the execution sharing table, task load table, and reception order table provided for each controller, and notify the backup acceptance means. become. In addition, the backup acceptance means of the controller requested to back up determines based on its own load of its own execution allocation table whether the backup target task in this notification can be executed, and selectively executes the backup target task. Accept. By broadcasting the result of this selection as a reception message, the requester and other controllers can reflect the change in the load status of the controller that has performed the backup in the execution allocation table and the reception order table. In addition, it is possible to know the backup target task that was not accepted by the requesting controller, and again the acceptance ranking table (at this time, the controller that backed up first is not at the top of the acceptance ranking table because the load factor increases. You can request a new controller for the unaccepted portion.

【0034】このようにして本発明では各コントローラ
がシステムの実行状況を常に正確に把握し、また、バッ
クアップを依頼されたコントローラが依頼を拒否可能で
あるため、自律的にバックアップすべきタスクを分割/
分散して処理することができる。さらに、一つのコント
ローラに含まれる複数のプロセッサの一つが故障したと
きにおいても、内部バックアップ手段が実行分担表によ
り負荷が小さいプロセッサを選択し、そのプロセッサに
故障したプロセッサの負荷をすべてバックアップできる
かを判定し、そのプロセッサが負荷オーバにならないよ
うにバックアップを実施させ、残りの負荷がある場合に
はさらに他のプロセッサを選択し同様にバックアップさ
せる。このように本内部バックアップ手段は各プロセッ
サが負荷オーバにならない様に故障したプロセッサの負
荷を各プロセッサの負荷限界に収まるように分割し、複
数のプロセッサで次々とバックアップさせていくもので
ある。
As described above, in the present invention, each controller always grasps the execution status of the system accurately, and the controller requested to back up can reject the request. Therefore, the task to be backed up is divided autonomously. /
It can be distributed and processed. Furthermore, even when one of the multiple processors included in one controller fails, the internal backup means selects a processor with a small load according to the execution allocation table, and checks whether the load of the failed processor can be backed up to that processor. It is determined that backup is performed so that the processor does not become overloaded, and if there is a remaining load, another processor is selected and backup is performed in the same manner. In this way, the internal backup means divides the load of the failed processor into the load limit of each processor so that each processor does not become overloaded, and backs up one after another by a plurality of processors.

【0035】[0035]

【実施例】以下本発明の実施例を図面により詳細に説明
する。
Embodiments of the present invention will now be described in detail with reference to the drawings.

【0036】図1は本発明の一実施例であるプラント制
御システムを示す。制御対象プラント100は流量計等
のアナログ形センサ111,115,119,制御弁等
のアナログ形アクチュエータ112,116,120,
リミットスイッチ等のディジタル形センサ113,11
7,121および電磁弁等のディジタル形アクチュエー
タ114,118,122から構成されている。本例で
はセンサ111とアクチュエータ112が一組、センサ
113とアクチュエータ114が一組となり各々制御対
象機器を構成している。本図では各制御対象機器には一
つのセンサと一つのアクチュエータしか図示していない
が、これらは複数個ある場合もある。コントローラ1,
2,3,4,5,6は各制御対象機器に対応して配置さ
れそれらはネットワーク1000で結合されている。
FIG. 1 shows a plant control system which is an embodiment of the present invention. The controlled plant 100 includes analog type sensors 111, 115, 119 such as flow meters, analog type actuators 112, 116, 120, such as control valves.
Digital sensors 113, 11 such as limit switches
7, 121 and digital actuators 114, 118, 122 such as solenoid valves. In this example, the sensor 111 and the actuator 112 make up one set, and the sensor 113 and the actuator 114 make up one set, and each constitutes a control target device. Although only one sensor and one actuator are shown in each device to be controlled in this figure, there may be a plurality of them. Controller 1,
2, 3, 4, 5, and 6 are arranged corresponding to each control target device, and they are connected by a network 1000.

【0037】マンマシン装置1200はプラントの運転
監視を行い場合によっては人手での運転指令を各コント
ローラに発する装置である。
The man-machine device 1200 is a device that monitors the operation of the plant and issues a manual operation command to each controller in some cases.

【0038】次に、本発明の一実施例の具体例の一つで
ある鉄鋼圧延制御システムについて説明する。参考のた
め、従来の鉄鋼圧延制御システムを図2により説明す
る。ペイオフリール151,152は被圧延材のコイル
であり、被圧延材180は入側処理ライン153,ルー
パ154を経由して圧延機155,156,157,1
58にて圧延され最終製品181となりテンションリー
ル159に巻き取られる。上記リール、圧延機等はモー
タ140,141,142,143,144,145,
146で駆動される。各々のモータに対応したドライブ
装置130,131,132,133,134,13
5,136は各モータを駆動するパワー回路である。従
来はドライブ装置130,131,132,133,1
34,135,136は電力変換器190とそれを制御
する専用の高速コントローラ195から構成されてい
る。図2にはドライブ装置130の内部のみ図示したが
ドライブ装置131,132,133,134,13
5,136の内部構成も同様である。一方コントローラ
1500,1501,1502,1503は板厚目標
値,入側板厚,スタンド間張力などから各モータのスピ
ード指令を計算して各ドライブ装置に指令値を出力する
構成を取っていた。
Next, a steel rolling control system, which is one of the specific examples of one embodiment of the present invention, will be described. For reference, a conventional steel rolling control system will be described with reference to FIG. The pay-off reels 151 and 152 are coils of the material to be rolled, and the material 180 to be rolled is passed through the entry side processing line 153 and the looper 154, and rolling mills 155, 156, 157, 1 are provided.
It is rolled at 58 and becomes a final product 181 and is wound on a tension reel 159. The reels, rolling mills, etc. are motors 140, 141, 142, 143, 144, 145.
Driven at 146. Drive devices 130, 131, 132, 133, 134, 13 corresponding to respective motors
Reference numerals 5 and 136 are power circuits for driving the respective motors. Conventionally, drive devices 130, 131, 132, 133, 1
34, 135, and 136 are composed of a power converter 190 and a dedicated high-speed controller 195 for controlling it. Although only the inside of the drive device 130 is shown in FIG. 2, the drive devices 131, 132, 133, 134, 13 are shown.
The same applies to the internal configurations of 5,136. On the other hand, the controllers 1500, 1501, 1502, 1503 have a configuration in which the speed command of each motor is calculated from the target plate thickness, the plate thickness on the inlet side, the tension between stands, etc., and the command value is output to each drive device.

【0039】本制御システムの運転監視はマンマシン装
置1200,1201にて行う。各コントローラ及びマ
ンマシン装置の間はネットワーク1000で結合されて
いる。
Operation monitoring of this control system is performed by man-machine devices 1200 and 1201. A network 1000 connects the controllers and the man-machine devices.

【0040】図3は本発明を適用した鉄鋼圧延制御シス
テムを示す。本実施例では各モータドライブ装置16
1,162,163,164,165,166,167
に一対一でコントローラ11,12,13,14,1
5,16,17を割り付けている。しかも、各モータド
ライブ装置161,162,163,164,165,
166,167は電力変換器190のみから構成されて
おり、従来のような専用のコントローラはない。後述す
るように本発明のコントローラはマルチプロセッサ構成
であり、従来の電力変換器制御機能はそのコントローラ
内の一つのプロセッサに割り当てている。
FIG. 3 shows a steel rolling control system to which the present invention is applied. In this embodiment, each motor drive device 16
1,162,163,164,165,166,167
One-to-one with the controllers 11, 12, 13, 14, 1
5, 16, 17 are allocated. Moreover, each motor drive device 161, 162, 163, 164, 165
166 and 167 are composed of only the power converter 190, and there is no dedicated controller as in the past. As will be described later, the controller of the present invention has a multiprocessor configuration, and the conventional power converter control function is assigned to one processor in the controller.

【0041】なお、図示はしていないが圧延機155,
156,157,158のロール間ギャップの制御は通
常、油圧圧下装置で制御されている。この油圧圧下装置
はやはり数ミリ秒という高速で制御しなければならず、
従来はそれ専用のコントローラを特別に配置していた。
しかし、本発明によれば、モータの制御と同じくその制
御に圧下指令計算用コントローラ内の一つのプロセッサ
を割り当てればよい。このような構成を採ることにより
後述するように、非常に高信頼,高性能な制御システム
が実現できる。
Although not shown, rolling mills 155,
The control of the roll gap between 156, 157 and 158 is usually controlled by a hydraulic pressure reduction device. This hydraulic pressure reduction device must be controlled at a high speed of several milliseconds,
In the past, a dedicated controller was specially placed.
However, according to the present invention, as in the control of the motor, one processor in the rolling-down instruction calculation controller may be assigned to the control. By adopting such a configuration, as will be described later, an extremely highly reliable and high performance control system can be realized.

【0042】図4及び図5は本発明の他の一実施例であ
るところの自動車の制御を示したものである。図4は一
般的な自動車の制御項目を説明したものである。図5は
自動車の制御に本発明を適用した場合の制御システム構
成を示したものである。
FIG. 4 and FIG. 5 show the control of an automobile which is another embodiment of the present invention. FIG. 4 illustrates control items of a general automobile. FIG. 5 shows a control system configuration in the case where the present invention is applied to control of an automobile.

【0043】コントローラ21はエンジン21aを制御
する。このコントローラ21はシリンダに流入する空気
量と、エンジンの回転数と回転角度と、アクセルペダル
が踏み込まれた角度と、エンジンの冷却水の温度と、排
気浄化用の触媒の温度とを検出する。これらに応じて、
シリンダ内の燃料と空気の比が理論空燃比となるように
燃料の噴射量を操作する。そして、上記の状態量に応じ
て点火時期を操作する。これらの操作はエンジンの効率
を高め出力を増加する。同時に、排気中の有害物質を低
減する。また、このコントローラ21はエンジンの冷却
水の温度と排気浄化用の触媒の温度が適温より低い場合
にはそれらを素早く暖めるために点火時期をやや進角す
る。コントローラ21は前照燈の点灯と冷房装置の運転
をコントローラ28がネットワーク1000を介して通
知したとき、エンジンの停止や車速の変動を防ぐために
スロットルをやや開いてエンジンの出力を増加させる。
コントローラ22がネットワーク1000を介して通知
する車速が特定の値を超過した場合には、コントローラ
21は燃料の噴射量を減じて車速が特定の値を大きく越
えないようにする。コントローラ22が変速中であると
ネットワーク1000を介して通知したとき、このコントロ
ーラ21は変速の前後で加速度が滑らかに変化するよう
にエンジンの出力を調整する。コントローラ21はアク
セルペダル踏み込み角度が急激に大きくなった場合には
運転車が急激な加速を要求していると判断する。そし
て、このコントローラ21は冷房装置で消費されている
エンジンの出力を車の加速に使用するためにネットワー
ク1000を介してコントローラ28に対して冷房装置
の停止を要求する。同時に、コントローラ22にシフト
ダウンを要求する。
The controller 21 controls the engine 21a. The controller 21 detects the amount of air flowing into the cylinder, the number of revolutions and the angle of rotation of the engine, the angle at which the accelerator pedal is depressed, the temperature of the cooling water of the engine, and the temperature of the catalyst for exhaust gas purification. Depending on these,
The fuel injection amount is manipulated so that the ratio of fuel to air in the cylinder becomes the stoichiometric air-fuel ratio. Then, the ignition timing is operated according to the state quantity. These operations increase the efficiency of the engine and increase the power output. At the same time, it reduces harmful substances in the exhaust. Further, when the temperature of the engine cooling water and the temperature of the exhaust gas purification catalyst are lower than the optimum temperature, the controller 21 slightly advances the ignition timing in order to quickly warm them. When the controller 28 notifies the lighting of the headlight and the operation of the cooling device via the network 1000, the controller 21 slightly opens the throttle to increase the output of the engine in order to prevent the engine from stopping or the vehicle speed from varying.
When the vehicle speed notified by the controller 22 via the network 1000 exceeds a specific value, the controller 21 reduces the fuel injection amount to prevent the vehicle speed from significantly exceeding the specific value. When the controller 22 notifies via the network 1000 that a gear change is in progress, the controller 21 adjusts the output of the engine so that the acceleration changes smoothly before and after the gear change. When the accelerator pedal depression angle suddenly increases, the controller 21 determines that the driver's vehicle requires rapid acceleration. Then, the controller 21 requests the controller 28 to stop the cooling device via the network 1000 in order to use the output of the engine consumed in the cooling device to accelerate the vehicle. At the same time, the controller 22 is requested to shift down.

【0044】コントローラ22は変速機22aを制御す
る。このコントローラ22は車速を検出し、これに応じ
たギヤ比に変速する。この時、ネットワーク1000を
介してコントローラ21が通知するスロットル開度とエ
ンジンの回転速度とコントローラ23が通知する車体姿
勢に応じて、変速の基準となる車速を変更する。スロッ
トル開度が小さくエンジンの回転速度が高いときはエン
ジンの吸気抵抗による出力の損失が増大するため、低速
でシフトアップしエンジン回転速度を低下させる。車体
姿勢が後傾しているときは坂道を昇っていると判定しシ
フトアップの基準車速を高め、低速ギヤを使用するよう
にして登坂力を維持する。
The controller 22 controls the transmission 22a. The controller 22 detects the vehicle speed and shifts to a gear ratio corresponding to this. At this time, the vehicle speed, which is the reference of the gear shift, is changed according to the throttle opening degree notified by the controller 21 via the network 1000, the rotation speed of the engine, and the vehicle body posture notified by the controller 23. When the throttle opening is small and the engine rotation speed is high, the output loss due to the intake resistance of the engine increases, so the engine speed is reduced by shifting up at a low speed. If the vehicle body is leaning backward, it is determined that the vehicle is climbing a slope, the standard vehicle speed for upshifting is increased, and the low-speed gear is used to maintain the climbing force.

【0045】コントローラ23はサスペンション23a
を制御する。このコントローラ23はサスペンションの
変位と車体姿勢とを検出し、ネットワーク1000を介
してコントローラ22から車速を、コントローラ25か
ら舵角を受信し、これらに応じてサスペンションの空気
バネ内の気圧を制御して所望の車体姿勢にする。このコ
ントローラ23は車体姿勢をネットワーク1000を介
して他のコントローラに通知する。
The controller 23 is a suspension 23a
Control. The controller 23 detects the displacement of the suspension and the vehicle body posture, receives the vehicle speed from the controller 22 and the steering angle from the controller 25 via the network 1000, and controls the air pressure in the air spring of the suspension accordingly. Set the desired body posture. This controller 23 notifies other controllers of the vehicle body attitude via the network 1000.

【0046】コントローラ24はブレーキ24aを制御
する。このコントローラ24はタイヤの回転速度を検出
し、ネットワーク1000を介してコントローラ22か
ら車速をコントローラ25から舵角を受信し、これらに
応じて地面に対するタイヤの滑り率を求め、この値が所
定の値以下になるように制動力を定める。さらに、旋回
時に内輪に弱い制動を掛けて滑らかに旋回する。
The controller 24 controls the brake 24a. The controller 24 detects the rotation speed of the tire, receives the vehicle speed from the controller 22 via the network 1000, and receives the steering angle from the controller 25, obtains the slip ratio of the tire with respect to the ground according to these, and this value is a predetermined value. Determine the braking force so that Furthermore, when turning, the inner wheel is weakly braked to smoothly turn.

【0047】コントローラ25はパワーステアリング2
5aを制御する。このコントローラ25はステアリング
シャフトのねじれ角度を検出し、その角度が小さくなる
ようにパワーステアリングのアシストトルクを調節す
る。さらに、このコントローラ25は舵角を検出し、他
のコントローラにネットワーク1000を介して通知す
る。
The controller 25 is the power steering 2
5a is controlled. The controller 25 detects the twisting angle of the steering shaft and adjusts the assist torque of the power steering so that the angle becomes smaller. Further, the controller 25 detects the steering angle and notifies the other controllers via the network 1000.

【0048】コントローラ26は故障を診断する。この
コントローラ26はネットワーク1000を介して他の
コントローラから通知される状態量や操作量を自己のシ
ミュレーション結果と比較することによって、他のコン
トローラあるいは制御対象機器の故障あるいは劣化を検
出する。故障あるいは劣化を検出した場合は、コントロ
ーラ28に対して故障診断結果を通知する。
The controller 26 diagnoses the failure. The controller 26 detects a failure or deterioration of another controller or a device to be controlled by comparing the amount of state or the amount of operation notified from another controller via the network 1000 with its own simulation result. When a failure or deterioration is detected, the failure diagnosis result is notified to the controller 28.

【0049】コントローラ27はドライブレコーダであ
り、ネットワーク1000を介して通知された車の動作
の履歴を衝撃及び熱に強い記憶装置に格納する。
The controller 27 is a drive recorder, and stores the history of vehicle operation notified via the network 1000 in a storage device resistant to shock and heat.

【0050】コントローラ28はスイッチ28aとメー
タ28bとディスプレイ28cなどのマンマシンインタ
フェースを制御する。コントローラ28は運転者がスイ
ッチ28aを操作した場合にそのオン/オフに応じて対
応する装置を作動あるいは停止させる。また、ネットワ
ーク1000を介して通知された車速やエンジンの回転
速度等の状態量と故障診断の結果などをメータ28bあ
るいはディスプレイ28cに表示する。また、ネットワ
ーク1000を介した他のコントローラからの依頼ある
いは要求に応じて各種装置をオン/オフする。
The controller 28 controls the man-machine interface such as the switch 28a, the meter 28b and the display 28c. When the driver operates the switch 28a, the controller 28 activates or deactivates the corresponding device according to the on / off state. Further, the state quantities such as the vehicle speed and the engine rotation speed notified via the network 1000 and the result of the failure diagnosis are displayed on the meter 28b or the display 28c. Also, various devices are turned on / off in response to a request or request from another controller via the network 1000.

【0051】このように各コントローラはネットワーク
1000を介して検出した状態量と制御出力あるいは操
作依頼を互いに通知し、そして、各コントローラは通知
された状態量と制御出力と操作依頼に応じて所轄の機器
を制御する。
As described above, each controller notifies each other of the detected state quantity and the control output or the operation request via the network 1000, and each controller is responsible for the notified state quantity, the control output and the operation request. Control the equipment.

【0052】以上のように複数のコントローラを各制御
対象機器毎に対応して分散配置するところに本発明の一
つの特徴がある。
One of the features of the present invention is that a plurality of controllers are distributed and arranged corresponding to each control target device as described above.

【0053】図6は本発明を階層システムに適用した場
合のシステム構成例である。プラントが各々異なった制
御対象機器群100,101,102から構成されてい
る場合やその制御機器群100,101,102が広域
に分散している場合などでは本図のようにネットワーク
をネットワーク1000,1001,1002のように
分割し各ネットワーク下にコントローラ1,2,3,
4,5,6を配置する。ネットワーク1000,100
1,1002は各々統括コントローラ1300,130
1,1302を介して上位ネットワーク1500に接続
される。統括マンマシン1600はこの制御システムの
運転監視を行う。
FIG. 6 shows an example of system configuration when the present invention is applied to a hierarchical system. When the plant is composed of different control target device groups 100, 101, 102 or when the control device groups 100, 101, 102 are distributed over a wide area, etc., the network is changed to the network 1000, as shown in FIG. Controllers 1, 2, 3, etc. are divided under each network by dividing them like 1001, 1002.
Place 4, 5 and 6. Network 1000,100
Reference numerals 1 and 1002 denote integrated controllers 1300 and 130, respectively.
1, 1302 to the upper network 1500. The general man-machine 1600 monitors the operation of this control system.

【0054】図7及び図8は今まで述べたコントローラ
の内部構成を示す。コントローラ1はグローバルメモリ
(GM)52,演算プロセッサ(PR1,PR2,PR
3)54,56,58入出力処理装置(I/O)53,
ネットワーク制御プロセッサ(NCP)40,ネットワ
ークコネクタ(NetworkConnector)41,規模拡張用コ
ネクタ(BusConnector)60,61,62,63および
制御対象機器との接続用コネクタ(I/O Connector)
64から構成されている。また演算プロセッサ(PR
1,PR2,PR3)54,56,58は各々ローカル
メモリ(LM1,LM2,LM3)55,57,59を
有している。
7 and 8 show the internal structure of the controller described so far. The controller 1 includes a global memory (GM) 52, arithmetic processors (PR1, PR2, PR
3) 54, 56, 58 input / output processing unit (I / O) 53,
Network control processor (NCP) 40, network connector (NetworkConnector) 41, scale expansion connectors (BusConnector) 60, 61, 62, 63, and a connector (I / O Connector) for connection with a device to be controlled
64. In addition, arithmetic processor (PR
1, PR2, PR3) 54, 56, 58 have local memories (LM1, LM2, LM3) 55, 57, 59, respectively.

【0055】NCP40はバス70を介してGM52,
LM55,57,59およびI/O53の内容を読み込
み他のコントローラまたはマンマシン装置(図1の12
00)へ送信する機能と、逆に他のコントローラまたは
マンマシン装置2000から送信されたデータをGM5
2,LM55,57,59およびI/O53に書き込む
機能を有する。バス72はプロセッサ54,56,58
がGM52およびI/O53をアクセスするのに用い
る。バス71は伝送用のシリアルデータ用のバスであ
る。このような構成を採ることでコントローラの拡張性
を確保でき、もし一つのプロセッサが故障しても他のプ
ロセッサで代替処理ができ(後述)しかも1台のコント
ローラ内の全てのプロセッサが故障したとしても他のコ
ントローラで代替処理ができる(後述)システムが構築
できる。
The NCP 40 is connected to the GM 52,
The contents of the LM 55, 57, 59 and I / O 53 are read, and another controller or man-machine device (12 in FIG. 1) is read.
00) to the data sent from another controller or man-machine device 2000.
2, it has a function to write in LM55,57,59 and I / O53. The bus 72 is a processor 54, 56, 58
Used to access GM52 and I / O53. The bus 71 is a bus for serial data for transmission. By adopting such a configuration, the expandability of the controller can be secured, and even if one processor fails, another processor can perform alternative processing (described later) and all the processors in one controller fail. Also, it is possible to build a system (described later) that can perform alternative processing with other controllers.

【0056】図8は図7におけるプロセッサ(PR1)5
4の内部構成を示したものである。図7において各プロ
セッサは同一の構成であり、その構成をプロセッサ(P
R1)を例に取り上げ説明する。プロセッサ(PR1)
54はタスクを実行する汎用エンジン(GE)6811
と、タスクの中に含まれたニューロ演算を加速するため
のニューラルエンジン(NE)6812と、タスクの中
に含まれたシーケンス制御用の演算を加速するシーケン
スエンジン(SE)6813と、アクセスすべきメモリ
がグローバルメモリ(GM)52のときバス70とプロ
セッサ内のバス6819を結合するバスインタフェース
(BIF)6817と、ローカルメモリ(LM)55と
グローバルメモリ(GM)52の間で高速な転送を実行
するダイレクトメモリアクセス制御(DMAC)681
8と、スケジューリングのための時計であるフリーラン
タイマ(FRT)6815と、各構成要素の故障を検出
してプロセッサの動作を停止させるとともに故障を他の
プロセッサにバス72を通して通知する故障制御回路6
820を含む。さらに、各構成要素はバス6819で接
続されている。
FIG. 8 shows the processor (PR1) 5 in FIG.
4 shows the internal configuration of No. 4. In FIG. 7, each processor has the same configuration, and that configuration is referred to as a processor (P
R1) will be described as an example. Processor (PR1)
54 is a general-purpose engine (GE) 6811 that executes a task
And a neural engine (NE) 6812 for accelerating the neuro operation included in the task, and a sequence engine (SE) 6813 for accelerating the operation for sequence control included in the task. When the memory is the global memory (GM) 52, a high-speed transfer is performed between the local memory (LM) 55 and the global memory (GM) 52, and the bus interface (BIF) 6817 that connects the bus 70 and the bus 6819 in the processor. Direct memory access control (DMAC) 681
8, a free-run timer (FRT) 6815 that is a clock for scheduling, and a failure control circuit 6 that detects a failure of each component to stop the operation of the processor and notify the other processor of the failure via the bus 72.
820 inclusive. Furthermore, each component is connected by a bus 6819.

【0057】図9は今まで述べたコントローラの他の実
施例の内部構成を示す。図7との相異点は図7における
NCP40の機能を複数のプロセッサ84,87,9
0,93いずれにおいても実行できるように各プロセッ
サ84,87,90,93にシリアルデータのパラレル
データ化あるいはその逆の操作と符号化/復号化などを
実行するランアダプタ(LA)86,89,92,95
を付加したことである。これにより、プロセッサの代替
処理と同様に伝送機能(NCP)の代替処理が行える。
FIG. 9 shows the internal construction of another embodiment of the controller described so far. The difference from FIG. 7 is that the function of the NCP 40 in FIG.
Run adapters (LA) 86, 89 for executing parallel data conversion of serial data or vice versa and encoding / decoding for each processor 84, 87, 90, 93 so that they can be executed by any of 0, 93. 92, 95
Is added. As a result, the transmission function (NCP) substitution processing can be performed similarly to the processor substitution processing.

【0058】図10は図9におけるプロセッサ(PR
1)84の内部構成を示したものである。図8との相異
点はランアダプタ(LA)86とバス6819の接続イ
ンタフェース6902を設けたことである。
FIG. 10 shows the processor (PR
1) The internal structure of 84 is shown. The difference from FIG. 8 is that a run adapter (LA) 86 and a connection interface 6902 for the bus 6819 are provided.

【0059】図11はさらに他の実施例の内部構成を示
す。図9との相異点は図9におけるローカルメモリ8
5,88,91,94の代替としてキャッシュメモリ
(CM)301,302,303,304を用いたこと
である。キャッシュメモリコントローラ(CMC)40
1,402,403,404はキャッシュメモリ(C
M)301,302,303,304とグローバルメモ
リ400との間のデータ転送を行う。
FIG. 11 shows the internal structure of still another embodiment. The difference from FIG. 9 is that the local memory 8 in FIG.
That is, the cache memories (CM) 301, 302, 303, 304 are used instead of 5, 88, 91, 94. Cache memory controller (CMC) 40
1, 402, 403, and 404 are cache memories (C
M) Transfer data between 301, 302, 303, 304 and the global memory 400.

【0060】図12は図11におけるプロセッサ(PR
1)84の内部構成を示したものである。図10との相
異点は図12においては図10におけるダイレクトメモ
リアクセス制御(DMAC)6818が不要なことであ
る。これは、キャッシュメモリ(CM)301とグロー
バルメモリ400との間のデータ転送をキャッシュメモ
リコントローラ(CMC)401が行うためである。
FIG. 12 shows the processor (PR
1) The internal structure of 84 is shown. The difference from FIG. 10 is that the direct memory access control (DMAC) 6818 in FIG. 10 is unnecessary in FIG. This is because the cache memory controller (CMC) 401 performs data transfer between the cache memory (CM) 301 and the global memory 400.

【0061】図13はさらに他の実施例の内部構成を示
す。図11との違いはランアダプタ86,89,92,
95とネットワークコネクタ41およびプロセッサ8
4,87,90,93の接続をプログラマブルスイッチ
アレイ(PSW1,PSW2)8101,8102でプロ
グラマブルにしたことにある。これにより伝送機能をプ
ロセッサ84,87,90,93いずれにおいても実行
できるようだけでなく、シリアルデータのパラレルデー
タ化あるいはその逆の操作と符号化/復号化などを実行
するランアダプタ(LA)86,89,92,95の故
障に関してもランアダプタを切り替えることによりプロ
セッサを切り替えることなく伝送機能の代替処理が行え
る(図11の構成では、ランアダプタの故障であっても
プロセッサを切り替える必要がある。)。尚、図13に
おけるプロセッサの内部構成は図12に示したものと同
様で良い。
FIG. 13 shows the internal structure of still another embodiment. The difference from FIG. 11 is that run adapters 86, 89, 92,
95, network connector 41 and processor 8
The connection of 4,87,90,93 is made programmable by programmable switch arrays (PSW1, PSW2) 8101, 8102. As a result, not only the transmission function can be executed by any of the processors 84, 87, 90 and 93, but also a run adapter (LA) 86 for converting serial data into parallel data or vice versa and encoding / decoding. , 89, 92, and 95, the alternative processing of the transmission function can be performed without switching the processor by switching the run adapter (in the configuration of FIG. 11, it is necessary to switch the processor even if the run adapter fails. ). The internal configuration of the processor in FIG. 13 may be the same as that shown in FIG.

【0062】図14にはプログラマブルスイッチアレイ
の構成例を示す。スイッチアレイへの入出力XiとYj
の交点にはMOSトランジスタTijが設けられてお
り、MOSトランジスタTijのゲートには不揮発性メ
モリセルMijが接続されている。すなわちメモリセル
Mijの出力が“1”の場合MOSトランジスタTij
がONしXiとYjが接続され事になる。逆にMijの
出力が“0”の場合はTijがOFFとなりXiとYj
は切り離された状態となる。またメモリセルMijには
アドレス線A1,A2,A3とデータ線D1,D2,D
3が接続されており、これを介してデータの書込みが行
われる。
FIG. 14 shows a configuration example of the programmable switch array. Input / output Xi and Yj to the switch array
A MOS transistor Tij is provided at the intersection of the two, and a nonvolatile memory cell Mij is connected to the gate of the MOS transistor Tij. That is, when the output of the memory cell Mij is "1", the MOS transistor Tij
Is turned on and Xi and Yj are connected. On the contrary, when the output of Mij is "0", Tij turns off and Xi and Yj
Is in a disconnected state. The memory cells Mij have address lines A1, A2, A3 and data lines D1, D2, D.
3 is connected, and data is written via this.

【0063】図15にメモリセルMijの内部回路例を
示す。この回路では不揮発性メモリ素子としてフラッシ
ュメモリを用いている。通常動作状態では書換えモード
信号は“LOW”になっており、NMOS:N1がOF
F、PMOS:P1がONとなっている。またアドレス
線の電位は例えば電源電圧に等しくなっている。従って
ノードAの電位はメモリ素子が消去状態(しきい値電圧
が低い)のときは“LOW”となりインバータI2の出
力も“0”となる。すなわちこのセルにつながるMOS
トランジスタTijがOFFとなる。逆にメモリ素子が
書込み状態(しきい値電圧が高い)のときはノードAの
電位が“HIGH”となりインバータI2の出力が
“1”スイッチMOSトランジスタTijがONとな
る。メモリセルへの書込みを行うには書込みモード信号
を“HIGH”にし、NMOS:N1をON,PMO
S:P1をOFFにする。この状態でアドレス線及びデ
ータ線に高電圧を印加することによりメモリ素子M1は
書込み状態になる。メモリ素子の消去はアドレス線を
“LOW”にしメモリ素子のソースに高電圧を印加する
ことにより行われる。
FIG. 15 shows an example of the internal circuit of the memory cell Mij. This circuit uses a flash memory as a non-volatile memory element. In the normal operation state, the rewrite mode signal is "LOW", and the NMOS: N1 is OF
F, PMOS: P1 is ON. The potential of the address line is equal to the power supply voltage, for example. Therefore, the potential of the node A becomes "LOW" when the memory element is in the erased state (threshold voltage is low), and the output of the inverter I2 also becomes "0". That is, the MOS connected to this cell
The transistor Tij is turned off. On the contrary, when the memory element is in the written state (high threshold voltage), the potential of the node A becomes "HIGH" and the output of the inverter I2 becomes "1", and the switch MOS transistor Tij is turned on. To write to a memory cell, set the write mode signal to "HIGH", turn on NMOS: N1 and turn PMO on.
S: P1 is turned off. In this state, by applying a high voltage to the address line and the data line, the memory element M1 is in the write state. Erasing the memory element is performed by setting the address line to "LOW" and applying a high voltage to the source of the memory element.

【0064】図16にプログラマブルスイッチアレイに
予備領域を設け、部分的な故障に対して救済を可能とす
るための構成を示す。この例は図14に示したスイッチ
アレイに故障救済用素子:Ts1〜Ts3,T1s〜T
3s,Ty1〜Ty3,Ms1〜Ms3,M1s〜M3s
を追加したものである。通常故障のない状態ではTs1〜
Ts3およびT1s〜T3sはOFF、Ty1〜Ty3
はONとなっており、図14の回路と同じ動作をする。
次に故障が検出された場合の救済方法を以下に示す。メ
モリセルM11が故障した場合について説明する。まず
M11〜M13の内容をMs1〜Ms3に移す。次にM
1sを“1”にし、T1sをON,Ty1をOFFにす
る。これにより故障部分が予備回路で置き換えられたこ
とになり、故障前と同一の動作が可能となる。
FIG. 16 shows a structure for providing a spare area in the programmable switch array so that a partial failure can be relieved. In this example, the switch array shown in FIG. 14 is provided with failure relief elements: Ts1 to Ts3 and T1s to T.
3s, Ty1 to Ty3, Ms1 to Ms3, M1s to M3s
Is added. Normally, Ts1 ~
Ts3 and T1s to T3s are OFF, Ty1 to Ty3
Is ON, and the same operation as the circuit of FIG. 14 is performed.
Next, the remedy method when a failure is detected is shown below. A case where the memory cell M11 fails will be described. First, the contents of M11 to M13 are transferred to Ms1 to Ms3. Then M
Turn 1s to "1", turn T1s ON and turn Ty1 OFF. As a result, the faulty part is replaced by the spare circuit, and the same operation as before the fault can be performed.

【0065】図17は図8,図10,図12における汎
用エンジンの内部構成例を示したものである。本エンジ
ンはマイクロプログラムメモリ8202,読みだし回路
8203,マイクロ命令レジスタ8204及びデコーダ82
05、レジスタ、演算ユニット8206,マルチプレク
サ8208,アドレスデコーダ8207から構成され
る。起動当初はアドレスデコーダ8207がクリアさ
れ、マイクロプログラムメモリ8202のゼロ番地の命
令がデコーダ8205で解釈され実行される。マイクロ
命令には次に実行する命令の番地を指し示している(8
207)。そのようにしてマイクロプログラムメモリ8
202に書き込まれているマイクロ命令が順次実行され
る。
FIG. 17 shows an example of the internal structure of the general-purpose engine shown in FIGS. 8, 10 and 12. This engine is a micro program memory 8202, a reading circuit
8203, microinstruction register 8204, and decoder 82
05, a register, an arithmetic unit 8206, a multiplexer 8208, and an address decoder 8207. At the beginning of activation, the address decoder 8207 is cleared, and the instruction at address 0 of the microprogram memory 8202 is interpreted and executed by the decoder 8205. The micro instruction indicates the address of the next instruction to be executed (8
207). In this way, the micro program memory 8
The microinstructions written in 202 are sequentially executed.

【0066】マイクロプログラムメモリ8202は例え
ばフラッシュメモリ等の不揮発性メモリで構成されてお
り、このマイクロプログラムを書換えることによりプロ
セッサの機能を目的にあったものに変更することができ
る。この書換えのためにマイクロプログラムメモリ82
02は専用の書換え回路8201を内蔵しており、書換
えモード信号8302により書換えモードに設定するこ
とにより書換え用のアドレスバス8301,データバス
8300から供給されるアドレス及びデータにしたがっ
て書換えが行われる。
The micro program memory 8202 is composed of, for example, a non-volatile memory such as a flash memory, and the function of the processor can be changed to a desired one by rewriting this micro program. For this rewriting, the micro program memory 82
02 has a built-in rewrite circuit 8201 for exclusive use, and by setting a rewrite mode by a rewrite mode signal 8302, rewriting is performed according to the address and data supplied from the rewriting address bus 8301 and the data bus 8300.

【0067】図18に他の実施例として各プロセッサを
複数のプロセッサエレメント(PE)の組み合せで構成し
た例を示す。各プロセッサの目的に応じて必要な数のプ
ロセッサエレメントを組み合せ各プロセッサを構成す
る。こうする事によりLSI全体を同一のプロセッサエ
レメントで構成することができ、LSI化が容易になる
と共に無駄の少ないコントローラの構成が可能となる。
FIG. 18 shows, as another embodiment, an example in which each processor is configured by combining a plurality of processor elements (PE). Each processor is configured by combining a required number of processor elements according to the purpose of each processor. By doing so, the entire LSI can be configured with the same processor element, and the LSI can be easily implemented and a controller with less waste can be configured.

【0068】次に入出力部について詳細に説明する。Next, the input / output unit will be described in detail.

【0069】先にも述べたように各コントローラに接続
されるセンサ、アクチュエータの種類及び点数は制御対
象により異なる。従って従来はそれらに応じた入出力装
置をレパートリの中から選択しコントローラに接続する
必要があった。一方、本発明では極力少ない種類のハー
ドウエアを用いて制御システムを構築するのが一つの目
的であるから以下に示す入出力構成を採用した。
As described above, the types and points of the sensors and actuators connected to each controller differ depending on the control target. Therefore, conventionally, it was necessary to select an input / output device corresponding to them from the repertoire and connect it to the controller. On the other hand, in the present invention, one purpose is to construct a control system using as few kinds of hardware as possible, so the following input / output configuration is adopted.

【0070】図19は図9におけるI/O83の内部構
成を示す。I/O83はバスインタフェース830,D
/A変換器832,OPアンプ833からなるアナログ
出力とOPアンプ835,A/D変換器834からなる
アナログ入力とレジスタ836,パワー回路837からな
るディジタル出力とパワー回路838からなるディジタ
ル入力及びこれらとI/Oコネクタ64との結合を決定
するパワースイッチアレイ840から構成される。
FIG. 19 shows the internal structure of the I / O 83 in FIG. The I / O 83 is a bus interface 830, D
/ A converter 832, analog output composed of OP amplifier 833, analog input composed of OP amplifier 835, A / D converter 834, register 836, digital output composed of power circuit 837 and digital input composed of power circuit 838, and these It is composed of a power switch array 840 that determines the coupling with the I / O connector 64.

【0071】パワースイッチアレイ840のプログラム
はインタフェース回路830から信号線850を介して
行われる。パワースイッチアレイ840の構成は図16
で示したものと同一であるが、パワーを取り扱うため物
理的な容量は大きくする必要がある。
The power switch array 840 is programmed from the interface circuit 830 through the signal line 850. The configuration of the power switch array 840 is shown in FIG.
Although it is the same as the one shown in, the physical capacity must be increased to handle the power.

【0072】図20はI/O83を1チップの半導体で
実現した構成図を示す。半導体は大きく2層より構成さ
れ上部半導体980にはパワー回路部902,パワース
イッチアレイ部901,プロセスとの接続端子900よ
りなり下部半導体950はOPアンプ部951,D/A
変換部952,A/D変換部953,レジスタ部954,
バスインタフェース955及びバスインタフェースとの
接続端子960から構成されている(図21は下部半導
体950を図示したものである)。また、上部半導体9
80と下部半導体950の配線は配線層970によって
行う。
FIG. 20 is a block diagram showing the I / O 83 realized by a one-chip semiconductor. The semiconductor is roughly composed of two layers, and the upper semiconductor 980 includes a power circuit section 902, a power switch array section 901, and a process connection terminal 900, and the lower semiconductor 950 includes an OP amplifier section 951 and D / A.
Conversion unit 952, A / D conversion unit 953, register unit 954,
It is composed of a bus interface 955 and a connection terminal 960 for connecting to the bus interface (FIG. 21 shows the lower semiconductor 950). Also, the upper semiconductor 9
Wiring between 80 and the lower semiconductor 950 is performed by a wiring layer 970.

【0073】図22及び図23は図9におけるコントロ
ーラ1′を1チップの半導体で実現した構成図を示す。
半導体は大きく2層より構成され上部半導体980は図
20と同じ構成であるが、下部半導体950はOPアン
プ部951,D/A変換部952,A/D変換部95
3,レジスタ部954以外にメモリ群956およびプロ
セッサ群957から構成されている(図23は下部半導
体950を図示したものである)。また、上部半導体9
80と下部半導体950の配線は配線層970によって
行う。
22 and 23 are block diagrams in which the controller 1'in FIG. 9 is realized by a one-chip semiconductor.
The semiconductor is roughly composed of two layers, and the upper semiconductor 980 has the same structure as in FIG. 20, but the lower semiconductor 950 has an OP amplifier 951, a D / A converter 952, and an A / D converter 95.
3, a memory group 956 and a processor group 957 other than the register section 954 are included (FIG. 23 shows the lower semiconductor 950). Also, the upper semiconductor 9
Wiring between 80 and the lower semiconductor 950 is performed by a wiring layer 970.

【0074】以上コントローラの内部構成について実施
例を用いて説明したが、本発明の範囲は実施例の範囲に
限定されるものではなく種々の変形が可能である。例え
ば機能プログラム用の不揮発性メモリとしては、フラッ
シュメモリ以外に他の電気的に書換え可能なEEPRO
Mまたは強誘電体RAM、さらには電池でバックアップ
したSRAMでもよい。
Although the internal structure of the controller has been described with reference to the embodiments, the scope of the present invention is not limited to the scope of the embodiments and various modifications can be made. For example, as the nonvolatile memory for the function program, other than the flash memory, electrically rewritable EEPRO is used.
It may be M or a ferroelectric RAM, or a battery-backed SRAM.

【0075】次に図24に本発明のコントローラの外観
を示す。コントローラの前面にはI/Oコネクタ64が
左右側面と上下面には規模拡張用コネクタ60,61,
62,63が実装されている。背面1700にはネット
ワーク用コネクタ1701及び電源用コネクタ1702
が実装されている。外形寸法は高さ約20cm,奥行き約
10cm,幅約3cmあり、入出力を接続可能でかつ分散設
置するに十分な寸法である。本寸法は本発明によりどの
程度の小型化を図れるかを参考に示すためのものであ
り、本発明はこの寸法に限られる訳ではない。
Next, FIG. 24 shows the appearance of the controller of the present invention. I / O connectors 64 are provided on the front surface of the controller, and left and right side surfaces and upper and lower surfaces are provided with scale expansion connectors 60, 61,
62 and 63 are mounted. A network connector 1701 and a power connector 1702 are provided on the back surface 1700.
Has been implemented. The external dimensions are about 20 cm in height, about 10 cm in depth, and about 3 cm in width, which is sufficient for connecting input and output and for distributed installation. This dimension is for reference only to show how small the present invention can be, and the present invention is not limited to this dimension.

【0076】図25は二台のコントローラを規模拡張用
コネクタ60,61を用いて結合したものである。
FIG. 25 shows two controllers connected to each other using the scale expansion connectors 60 and 61.

【0077】図26は二台のコントローラを規模拡張用
コネクタ62,63を用いて結合したものである。
FIG. 26 shows a case in which two controllers are connected using the scale expansion connectors 62 and 63.

【0078】図27は四台のコントローラを規模拡張用
コネクタ60,61,62,63を用いて結合したもの
である。
In FIG. 27, four controllers are connected using the scale expansion connectors 60, 61, 62, 63.

【0079】このように本実施例のバス構成と外観構造
を有することによりコントローラ規模が容易に拡張でき
る。
As described above, by having the bus structure and the external structure of this embodiment, the controller scale can be easily expanded.

【0080】次に、本発明で用いた制御演算方法につい
て説明する。
Next, the control calculation method used in the present invention will be described.

【0081】図28はセンサー等からの入力データに基
づいて制御演算を行う制御演算部の基本構成図を示す。
本発明では、入力データ2001を複数の出力生成手
段、ここではニューラルネットワーク2101とファジ
ィ推論手段2102とPID制御手段2103の3個の
手段に入力する。そして、重み付け部2021において
各出力生成手段の出力値をそれぞれに対応する重み値K
1 ,K2 ,K3 で重み付けし、出力データ合成部202
2で重み付けした各出力値を加算し、出力データ200
2を得る。この時、前記重み値K1 ,K2 ,K3 を加え
て1になるようにしておけば、出力データ合成部202
2では、重み付けされた出力を単純に加算するだけでよ
い。ここで、ニューラルネットワーク2101,ファジ
ィ推論手段2102,PID制御手段2103の3個の
手段は各々並列的に実行できるため各々別プロセッサで
実行させる(例えば、図7のコントローラでいえば、プ
ロセッサ54,56,58に3種の演算を担当させる)
ことにより、処理速度を落とすことなく制御演算が実行
できる。
FIG. 28 shows a basic block diagram of a control arithmetic unit for performing a control arithmetic operation based on input data from a sensor or the like.
In the present invention, the input data 2001 is input to a plurality of output generation means, here, the neural network 2101, the fuzzy inference means 2102 and the PID control means 2103. Then, in the weighting unit 2021, the output value of each output generation means is assigned a corresponding weight value K.
The output data synthesizing unit 202 is weighted with 1 , K 2 , and K 3.
Output data weighted by 2 is added to output data 200
Get 2. At this time, if the weight values K 1 , K 2 and K 3 are added so as to be 1, the output data synthesizing unit 202
At 2, we simply need to add the weighted outputs. Here, since the three means of the neural network 2101, the fuzzy inference means 2102, and the PID control means 2103 can be respectively executed in parallel, they are executed by different processors (for example, in the case of the controller of FIG. 7, the processors 54, 56). , 58 are in charge of three kinds of operations)
As a result, the control calculation can be executed without reducing the processing speed.

【0082】図29に実施例の全体概要図を示す。ここ
では、出力計算部2012及び出力評価部2015より
なり、出力計算部2012および評価部2015がそれ
ぞれ学習モデルと付与モデルを持って両者を適応的に協
調させる制御方法を示す。センサ等2010からのデー
タ2001を必要に応じて入力処理部2011で入力処
理した入力データ2300は出力計算部2012と評価
部2015へ入力される。出力計算部2012では、入
力データ2300を受けとり、その内部に持つパラメー
タ等を用いてその出力データ2301を計算し、必要に
応じて出力処理部2013にて必要な出力処理を行った
後、その値2002をアクチュエータ等2014へ出力
する。ここで、パラメータ等とは、学習モデルであるニ
ューラルネット内のニューロン間の結合の重み値や、付
与モデル内のパラメータ、さらに学習モデルと付与モデ
ルの重み付けのパラメータを含む。一方、評価部201
5では、やはり、入力データ2300及び内部のパラメ
ータ等を用いて現在の状態の評価を行い、その結果から
出力評価信号2302を出力する。そして、出力計算部
2012ではこの出力評価信号2302を用いて、この
値が大きくなるように内部のパラメータ等の学習を行
う。一方、評価部2015内のパラメータに関しては、
例えばマンマシン装置1200に状態評価信号2303
を表示し、ユーザがこれを見て不適切と感じる場合にタ
ッチパネル、マウス等のポインティングデバイス201
7を用いて修正値を入力する。これを外部評価信号23
04として評価部2015へ入力し、この時に外部評価
有効信号2305をオンにして評価部2015内のパラ
メータ等を更新することによって、様々な状況に適応し
た評価ができるように学習させていく。
FIG. 29 shows an overall schematic diagram of the embodiment. Here, a control method that includes an output calculation unit 2012 and an output evaluation unit 2015, and the output calculation unit 2012 and the evaluation unit 2015 have a learning model and an assignment model, respectively, and adaptively cooperate the two will be described. Input data 2300 obtained by input processing the data 2001 from the sensor 2010 or the like in the input processing unit 2011 as necessary is input to the output calculation unit 2012 and the evaluation unit 2015. The output calculation unit 2012 receives the input data 2300, calculates the output data 2301 using the parameters and the like inside the input data 2300, performs the necessary output processing in the output processing unit 2013 as necessary, and then outputs the value. 2002 is output to the actuator 2014. Here, the parameters and the like include weight values of connections between neurons in a neural net that is a learning model, parameters in the imparting model, and parameters for weighting the learning model and the imparting model. On the other hand, the evaluation unit 201
In No. 5, the current state is evaluated using the input data 2300 and internal parameters, and the output evaluation signal 2302 is output from the result. Then, the output calculation unit 2012 uses the output evaluation signal 2302 to learn internal parameters and the like so that this value becomes large. On the other hand, regarding the parameters in the evaluation unit 2015,
For example, the state evaluation signal 2303 is sent to the man-machine device 1200.
Is displayed, and when the user sees this and feels inappropriate, a pointing device 201 such as a touch panel or a mouse is displayed.
Enter the correction value using 7. This is the external evaluation signal 23
04 is input to the evaluation unit 2015, and at this time, the external evaluation valid signal 2305 is turned on to update the parameters and the like in the evaluation unit 2015 so that the learning can be performed so that the evaluation adapted to various situations can be performed.

【0083】出力計算部2012の構成を図30に示
す。出力計算部2012の学習は、評価部2015の場
合の外部評価信号2304のような直接的な教師信号は
ないため、各パラメータ等に乱数成分を付加し、その時
の評価値に基づいて乱数成分を評価し、修正を行う。従
って、出力の計算法は以下のようになる。まず、入力デ
ータ2300と学習モデルパラメータ保持部2421か
ら得られる学習モデルパラメータを用いて、学習モデル
計算部2401において出力を計算すると共に、予めユ
ーザから付与された付与モデルに従って、入力データ2
300と付与モデルパラメータ保持部2411から得ら
れる付与モデルパラメータに乱数付加部2412によっ
て微小な乱数を付加したものをパラメータとして用い、
付与モデル計算部2402の出力を求める。そして、重
み付け部2403でそれぞれの出力値を重み付けして加
えあわせて出力データ2301とする。ただし、学習モ
デル計算部2401からの出力には乱数付加部2422
によって微小な乱数を加えたものに対し重み付けを行
う。また、さらに、重み付け部2403で用いる重み値
も、重み値保持部2431に保持されている重み値に対
し、乱数付加部2432によって乱数を付加したものを実際
に用いて重み付けする。まず、重み付け部2403の重み値
に関しては、乱数付加部2432によって付加された乱
数2433と評価部2015から得られる出力評価信号
2302を重み値更新量計算部2434において、例え
ば乗算し、重み値保持部2431にその値を渡して、も
との重み値に加えて新しい重み値とする。一方、学習モ
デル計算部2401内のパラメータに関しては、出力誤
差計算部2424にて、乱数付加部2422によって付
加された乱数2423と評価部2015からの出力評価
信号2302を例えば乗算して、学習モデル計算部24
01に与える誤差とし、学習モデル計算部2401で
は、その値に基づいてバックプロパゲーション等の学習
アルゴリズムに従って内部のニューラルネットの重み値
等のパラメータに更新量を計算し、新たな値を学習モデ
ルパラメータ保持部2421に書き込む。また、付与モ
デル計算部2402では、やはり、付与モデル内パラメータ
更新量計算部2414において、乱数付加部2412で
加えた乱数2413と評価部2015からの出力評価信
号2302を例えば乗算し、その値を付与モデルパラメータ
保持部2411に渡して新しい付与モデルパラメータの
値を書き込む。
The configuration of the output calculation unit 2012 is shown in FIG. In the learning of the output calculation unit 2012, since there is no direct teacher signal like the external evaluation signal 2304 in the case of the evaluation unit 2015, a random number component is added to each parameter and the random number component is added based on the evaluation value at that time. Evaluate and make corrections. Therefore, the output calculation method is as follows. First, using the input data 2300 and the learning model parameters obtained from the learning model parameter holding unit 2421, the learning model calculation unit 2401 calculates the output, and the input data 2 according to the addition model given in advance by the user.
300 and the added model parameter obtained from the added model parameter holding unit 2411, to which a minute random number is added by the random number adding unit 2412 is used as a parameter,
The output of the addition model calculation unit 2402 is obtained. Then, the weighting unit 2403 weights the respective output values and adds them to obtain output data 2301. However, the output from the learning model calculation unit 2401 is the random number addition unit 2422.
The weighting is applied to the one to which a minute random number is added. Further, the weight value used in the weighting unit 2403 is also weighted by actually using the weight value held in the weight value holding unit 2431 to which a random number is added by the random number adding unit 2432. First, regarding the weight value of the weighting unit 2403, the random number 2433 added by the random number adding unit 2432 and the output evaluation signal 2302 obtained from the evaluation unit 2015 are multiplied in the weight value update amount calculation unit 2434, for example, and the weight value holding unit The value is passed to 2431, and a new weight value is added to the original weight value. On the other hand, regarding the parameters in the learning model calculation unit 2401, the output error calculation unit 2424 multiplies the random number 2423 added by the random number addition unit 2422 and the output evaluation signal 2302 from the evaluation unit 2015, for example, to calculate the learning model. Part 24
The learning model calculation unit 2401 calculates the update amount for the parameter such as the weight value of the internal neural network based on the value as the error to be given to 01, and the new value as the learning model parameter. Write to the holding unit 2421. In addition, in the addition model calculation unit 2402, in the addition model parameter update amount calculation unit 2414, the random number 2413 added by the random number addition unit 2412 is also multiplied by the output evaluation signal 2302 from the evaluation unit 2015, for example, and the value is added. The value of the new added model parameter is written to the model parameter holding unit 2411.

【0084】一方、図31に評価部2015の構成を示
す。ここでは、まず、入力データ2300と学習モデル
パラメータ保持部2521から得られるニューラルネッ
トの結合の重み値などの学習モデルパラメータを用い
て、学習モデル計算部2501から出力を求める。また、そ
れと並行して、予めユーザから付与されたモデルに従っ
て、入力データ2300と付与モデルパラメータ保持部
2511から得られる付与モデルパラメータを用いて、
付与モデル計算部2502においても出力を計算する。
そして、重み付け部2503でそれぞれの出力値を重み
値保持部2531に保持されている重み値に基づいて重み付
けして足しあわせ、その足しあわせた結果を時間微分計
算部2505にて時間微分することによって出力評価信
号2302を生成する。また、評価部2015内の学習に関
しては、外部評価有効信号2305がオンの時に外部評価信
号2304からの信号に基づいて行われる。例えば、学
習モデル計算部2501と付与モデル計算部2502の
それぞれの出力を比較し、外部評価信号2304に近い
方の重み付けパラメータを大きくし、もう一方のパラメ
ータを小さくする。また、学習モデル計算部2501に
対しては、外部評価信号2304を教師信号として与え
て学習を行う。一方、付与モデル計算部2502では、通常
の出力値以外に、パラメータに微小な乱数を与えてもう
一つの出力値を求め、その両者を比較して乱数を加えた
方が外部評価信号2304に近ければ、実際にパラメー
タに対し、加えた乱数と学習定数を掛けたものを足し、
乱数を加えない方が良い場合には、パラメータから加え
た乱数と学習定数を加えたものを引くことによって学習
を行うことができる。また、付与モデルは学習機能がな
くても良いし、評価部2015が付与モデル計算部だけ
で学習モデル計算部がなくても差し支えない。また、学
習モデル計算部2501と付与モデル計算部2502の両方
を有する場合には、初期状態の両者の出力の重み付け
は、付与モデル側を1とし学習モデル側を0とすること
によって、学習開始前には学習モデルの出力が影響を及
ぼさないようにすることができる。
On the other hand, FIG. 31 shows the configuration of the evaluation unit 2015. Here, first, the learning model calculation unit 2501 obtains an output by using the learning model parameters such as the weight value of the connection of the neural network obtained from the input data 2300 and the learning model parameter holding unit 2521. Further, in parallel with this, according to the model previously given by the user, using the input data 2300 and the addition model parameter obtained from the addition model parameter holding unit 2511,
The applied model calculation unit 2502 also calculates the output.
Then, the weighting section 2503 weights the respective output values on the basis of the weight values held in the weight value holding section 2531 and adds them together, and the time differentiation calculation section 2505 differentiates the added results by time. An output evaluation signal 2302 is generated. The learning in the evaluation unit 2015 is performed based on the signal from the external evaluation signal 2304 when the external evaluation valid signal 2305 is on. For example, the outputs of the learning model calculation unit 2501 and the addition model calculation unit 2502 are compared, and the weighting parameter closer to the external evaluation signal 2304 is increased and the other parameter is decreased. Further, the learning model calculation unit 2501 is given learning by applying the external evaluation signal 2304 as a teacher signal. On the other hand, in the addition model calculation unit 2502, in addition to the normal output value, a minute random number is given to the parameter to obtain another output value, the two are compared, and the random number is added to the external evaluation signal 2304. For example, add the product of the added random number and learning constant to the parameter,
If it is better not to add random numbers, learning can be performed by subtracting the random number added from the parameter and the learning constant. Further, the imparting model does not need to have a learning function, and the evaluation unit 2015 does not have to include the imparting model calculating unit and the learning model calculating unit. When both the learning model calculating unit 2501 and the imparting model calculating unit 2502 are provided, weighting of both outputs in the initial state is performed by setting the imparting model side to 1 and the learning model side to 0, before starting learning. It is possible to prevent the output of the learning model from affecting.

【0085】次に、複数個の評価基準を有する場合の実
施例を示す。全体構成図を図32に示す。ここでは、複
数の評価部として第1評価部2601と第2評価部26
02があるものとする。各評価部内のパラメータの修正
は、評価部が1個の場合と同じく、マンマシン装置12
00に第1評価部2601の状態評価値2603と第2
評価部2602の状態評価値2604を表示し、これを
タッチパネル、マウス等のポインティングデバイス20
17を用いて修正し、修正された時は、該当する外部評
価有効信号2605に1を立てる。そして、その時の修
正値を外部評価信号2606として各評価部へ受け渡
す。そして、該当する評価部では、その内部のパラメー
タを修正すれば良い。また、出力評価信号に関しても複
数得られるが、例えば、その複数の出力評価信号の最小
値を選んで出力計算部2012へ与えることが考えられ
る。すると、ユーザが最も不適であると感じる評価基準
に関して、より良くなるように出力計算部2012内の
パラメータ等を更新できることになる。
Next, an embodiment in the case of having a plurality of evaluation criteria will be shown. The overall configuration diagram is shown in FIG. Here, a first evaluation unit 2601 and a second evaluation unit 26 are provided as a plurality of evaluation units.
It is assumed that there is 02. The parameters in each evaluation unit are modified by the man-machine device 12 as in the case of one evaluation unit.
00 to the state evaluation value 2603 of the first evaluation unit 2601 and the second
The state evaluation value 2604 of the evaluation unit 2602 is displayed, and the state evaluation value 2604 is displayed on the pointing device 20 such as a touch panel or a mouse.
17 is used for correction, and when corrected, 1 is set to the corresponding external evaluation valid signal 2605. Then, the correction value at that time is transferred to each evaluation unit as an external evaluation signal 2606. Then, in the corresponding evaluation unit, the internal parameters may be modified. Moreover, although a plurality of output evaluation signals can be obtained, for example, it is conceivable that the minimum value of the plurality of output evaluation signals is selected and given to the output calculation unit 2012. Then, the parameters and the like in the output calculation unit 2012 can be updated so that the evaluation standard that the user feels most unsuitable can be improved.

【0086】次に、複数の手段や方法による出力の重み
付けをする重み値を、入力データ2001によって変化
させる場合を図33に示す。ここでは、入力データ2001
をニューラルネットワーク2701に入力し、出てきた
出力に乱数付加部2702によって乱数成分を付加し、
その値Kに基づいて重み付け部2021において、ニュ
ーラルネットワーク2101と出力生成手段2102の
出力を重み付けし出力データ合成部2022で重み付け
されたデータを加えあわせて出力データ2002を生成す
る。一方、教師信号生成部2703においてその乱数成
分と出力評価信号2302を掛け算しニューラルネット
ワーク2701の出力と足して教師信号としてニューラ
ルネットワーク2701に渡し、学習を行わせる。ただ
し、この時、学習が始まる前はニューラルネットワーク
2701の出力が0に近い値になるようにし、出力生成
手段2(2102)の出力が出力データ2002になる
ようにすると良い。
Next, FIG. 33 shows a case where the weight value for weighting the outputs by a plurality of means and methods is changed by the input data 2001. Here, input data 2001
Is input to the neural network 2701, a random number component is added to the output that has been output by the random number addition unit 2702,
Based on the value K, the weighting unit 2021 weights the outputs of the neural network 2101 and the output generation unit 2102, adds the data weighted by the output data synthesizing unit 2022, and generates output data 2002. On the other hand, in the teacher signal generation unit 2703, the random number component is multiplied by the output evaluation signal 2302, and the result is added to the output of the neural network 2701 and passed to the neural network 2701 as a teacher signal for learning. However, at this time, the output of the neural network 2701 may be set to a value close to 0 before the learning is started, and the output of the output generation means 2 (2102) may be the output data 2002.

【0087】以下、本発明のネットワーク通信負荷を低
減する方法に関する実施例を図面を用いて詳しく説明す
る。図34は、本発明の対象となる分散制御システムの
構成を示したもので、ネットワーク1000によって複
数のコントローラ(1,2,3,…)が制御を行ってい
る。システム全体の制御情報および診断情報は、マンマ
シン装置1200において加工・表示される。各コント
ローラは、それぞれに制御を実行するだけでなく、診断
処理も実行するので、診断処理部4010,制御実行部
4011,制御情報および診断情報をネットワークを通
じて他のコントローラに送信するための通信インタフェ
ース4012をもっている。
Embodiments relating to the method for reducing the network communication load of the present invention will be described in detail below with reference to the drawings. FIG. 34 shows the configuration of the distributed control system to which the present invention is applied, in which a plurality of controllers (1, 2, 3, ...) Are controlled by the network 1000. The control information and diagnostic information of the entire system are processed and displayed on the man-machine device 1200. Since each controller executes not only control but also diagnosis processing, the communication interface 4012 for transmitting the diagnosis processing unit 4010, the control execution unit 4011 and the control information and the diagnosis information to another controller via the network. I have

【0088】このような分散制御システムに於ては、コ
モンモード故障が発生した場合に、各分散制御センサー
からの異常情報が多数ネットワークに送信され、通信不
良となる可能性がある。
In such a distributed control system, when a common mode failure occurs, a large amount of abnormal information from each distributed control sensor may be transmitted to the network, resulting in communication failure.

【0089】例えば、各コントローラが制約条件をもっ
ており、診断処理部において制約のチェックをおこな
い、もし、制約が充足されなければ制約を充足しない制
約式をネットワークに送信する場合を考える。このよう
な場合、異常診断とは充足されない制約式の制約変数の
中でどの変数が制約を充足しない原因となっているかを
同定することである。
For example, consider a case where each controller has a constraint condition, the diagnostic processing unit checks the constraint, and if the constraint is not satisfied, a constraint expression that does not satisfy the constraint is transmitted to the network. In such a case, the abnormality diagnosis is to identify which of the constraint variables of the constraint equations that are not satisfied causes the constraint not to be satisfied.

【0090】図35は、以後の説明のための具体例とし
て4つのコントローラからなる分散制御システムの各コ
ントローラの入力変数、出力変数、制約式を示したもの
である。例えば、コントローラ1は、入力変数としてX
1,X2をもち、出力変数としてX3をもち、制約式と
して、C1:E(X3,X1+X2,e1)をもつとす
る。ここで、Eは、誤差関係式で、第1変数と、第2変
数の絶対値の差が第3変数以下であることを表す。この
例では、 X1+X2−e1<X3<X1+X2+e1 であることを示している。
FIG. 35 shows an input variable, an output variable, and a constraint equation of each controller of the distributed control system consisting of four controllers as a concrete example for the following description. For example, the controller 1 uses X as an input variable.
1 and X2, X3 as an output variable, and C1: E (X3, X1 + X2, e1) as a constraint expression. Here, E is an error relational expression and represents that the difference between the absolute values of the first variable and the second variable is equal to or less than the third variable. In this example, it is shown that X1 + X2-e1 <X3 <X1 + X2 + e1.

【0091】対象プラントの状態量がX1=1,X2=
2,X4=2とする。コントローラが、この各状態量に
対して制御を行う時、図35に示した制約をおのおのが
チェックして、もし制約が充足されない場合には、ネッ
トワークに情報を送信するとしよう。この時、コントロ
ーラ1が正常に動作していれば、入力変数X1,X2の
値から、制約条件C1を充足するX3の値であるX3=
3を決定し、出力する。しかし、ここで、コントローラ
1が何等かの原因で故障し、X3=13を出力したとし
よう。この時、コントローラ2では、制約条件C2と、
入力X3,X4から、X5=15,制約条件C3と入力
X3から、X6=13が出力されるが、制約条件C4が
充足されないので制約条件C4が未充足であるという異
常が送信される。コントローラ3では、入力X3,X5
と、制約条件C5より、出力X7=195となるが、こ
れは、制約条件C6を充足しないのでコントローラ3か
らは、制約条件C6が未充足という異常が送信される。
コントローラ4では、入力変数X3,X5およびX6と
制約条件C7よりX9=15が出力され、制約条件C8
より、X8=26が出力されるが、これは、制約条件C
9を充足しないので、コントローラ4からは、制約条件
C9が未充足という異常情報が送信される。このよう
に、分散制御系においては一つのコントローラが故障し
たために、他の多くのコントローラから異常情報が出力
され通信ネックが発生し、診断が妨げられる心配があ
る。
The state quantities of the target plant are X1 = 1, X2 =
2, X4 = 2. When the controller controls each state quantity, each checks the constraints shown in FIG. 35, and if the constraints are not satisfied, it sends information to the network. At this time, if the controller 1 is operating normally, X3 = the value of X3 that satisfies the constraint condition C1 from the values of the input variables X1 and X2 =
3 is determined and output. However, suppose that the controller 1 fails for some reason and outputs X3 = 13. At this time, in the controller 2, the constraint condition C2,
Inputs X3 and X4 output X5 = 15 and constraint condition C3 and input X3 output X6 = 13. However, since constraint condition C4 is not satisfied, an abnormality indicating that constraint condition C4 is unsatisfied is transmitted. In the controller 3, inputs X3 and X5
Then, according to the constraint condition C5, the output X7 = 195, but since this does not satisfy the constraint condition C6, the controller 3 transmits an abnormality that the constraint condition C6 is not satisfied.
In the controller 4, X9 = 15 is output from the input variables X3, X5 and X6 and the constraint condition C7, and the constraint condition C8 is output.
Therefore, X8 = 26 is output, which is the constraint condition C
9 is not satisfied, the controller 4 transmits abnormality information that the constraint condition C9 is not satisfied. As described above, in the distributed control system, since one controller fails, abnormality information may be output from many other controllers, a communication neck may occur, and diagnosis may be hindered.

【0092】このような問題を解決するために、本発明
においては、個々のコントローラからネットワークへ入
出力される情報をフィルタリングする方法をとった。ま
た、異常発生時に送信する情報として、各コントローラ
がフィルタリングを実行するためにマンマシン装置に送
るものと、ネットワークを経由して順次各コントローラ
に送るものの二つデータフレームを用意する。ネットワ
ークもこれにあわせて、各コントローラをリング状に結
合するものと、各コントローラとマンマシン装置をつな
ぐ二種類のネットワークを用意すれば、より高速な処理
が可能である。ここでは、一実施例として、マンマシン
装置も各コントローラも一つのネットワークで接続して
おり、異常発生時の異常情報の送り先を異常情報の中に
含める方法をとる。
In order to solve such a problem, the present invention employs a method of filtering information input / output from / to each controller to the network. In addition, as information to be transmitted when an abnormality occurs, two data frames are prepared, one for each controller to send to the man-machine device for executing filtering, and one for each controller to sequentially send via the network. Higher-speed processing is possible by preparing a network in which the controllers are connected in a ring shape and two types of networks that connect the controllers and the man-machine device in accordance with this. Here, as one embodiment, both the man-machine device and each controller are connected by one network, and the destination of the abnormality information when an abnormality occurs is included in the abnormality information.

【0093】図36は、個々のコントローラの通信イン
タフェースの構成を示したもので、4030が不要な入
力情報をふるい分け、必要な情報だけコントローラに取
り込む為の入力情報フィルタ部、4031は、不要な出
力情報をふるい分け、不要な出力情報をネットワークに
送信しないための出力情報フィルタ、4032は、暗号
化され、情報圧縮された情報を復元するための通信処理
部である。これらの処理は図7で示すコントローラでは
NCP40が、図9,図11に示すコントローラではラ
ンアダプタ86,89,92,95が実行する。
FIG. 36 shows the configuration of the communication interface of each controller. The input information filter section 4030 is for filtering unnecessary input information by the 4030 and the necessary information is taken into the controller, and 4031 is the unnecessary output. An output information filter 4032 for sieving information and not transmitting unnecessary output information to the network is a communication processing unit for decompressing encrypted and information-compressed information. These processes are executed by the NCP 40 in the controller shown in FIG. 7 and by the run adapters 86, 89, 92, 95 in the controllers shown in FIGS.

【0094】ここで、不要な出力情報のふるい分けの一
実施例として、制約変数集合を用いた方法を説明する。
ここで、制約変数集合とは、制約式中に定義された全て
の変数をさす。例えば、図35中の制約条件C1の制約
変数集合をV(C1)とすると、V(C1)={X1,
X2,X3}である。誤差変数e1は誤差範囲を示すた
めに人工的に導入されたものなので、制約変数集合には
含めないとする。
Here, a method using a constraint variable set will be described as an example of sieving unnecessary output information.
Here, the constraint variable set refers to all variables defined in the constraint equation. For example, if the constraint variable set of the constraint condition C1 in FIG. 35 is V (C1), V (C1) = {X1,
X2, X3}. Since the error variable e1 is artificially introduced to indicate the error range, it is not included in the constraint variable set.

【0095】この制約変数集合の包含関係に基づいて、
個々の分散制御系で検出した異常をネットワークを経由
して、他の個別コントローラとマンマシン装置1200
に送信するか否かを決定する。ただし、この情報だけか
らでは不十分なので、個々の分散制御システムにおける
入出力変数の情報も利用する。つまり、ネットワークに
異常情報を送信するときは、図37に示したように、制
約変数集合の他に、入力変数集合、展開変数集合、消去
変数集合,異常情報データID,機器IDの情報も付加
する。ここで、入力変数とは、異常が発生した個々のコ
ントローラにおける入力変数で、コントローラ1におけ
る入力変数を、In(1)とすると、In(1)={X
1,X2}である。展開変数と、消去変数は、別のコン
トローラから異常情報を受信した場合に異常変数の絞り
込みの際につけ加わる情報で、後で詳しく述べる。異常
データIDは、このデータフレームが、異常データとい
うタイプのデータで、いつ送信されたかを示す為の情報
で、ここでは、AB_92_07_03_10_24_
10とする。ABは、異常情報であることを示し、後の
数字は異常情報を送信したのが、92年7月3日10時
24分10秒であることを示す。送信先IDは、異常デ
ータが、マンマシン装置あってのものか、各コントロー
ラ宛のものかを示すものである。例えば、マンマシン装
置向けのものであれば、ここに、0を、各コントローラ
宛のものであれば、ここに、また、機器IDは、この異
常情報が発せられたコントローラのIDを記述するため
のデータフィールドでここでは、コントローラ1から送
信されたので1と記入されている。
Based on the inclusion relation of this constraint variable set,
The abnormality detected by each distributed control system is passed through the network to another individual controller and the man-machine device 1200.
Decide whether to send to. However, since this information alone is not sufficient, information on input / output variables in each distributed control system is also used. That is, when transmitting the abnormality information to the network, as shown in FIG. 37, in addition to the constraint variable set, the input variable set, the expansion variable set, the deletion variable set, the abnormality information data ID, and the device ID information are also added. To do. Here, the input variable is an input variable in each controller in which an abnormality has occurred. If the input variable in the controller 1 is In (1), In (1) = {X
1, X2}. The expansion variable and the elimination variable are information added when narrowing down the abnormal variable when the abnormal information is received from another controller, and will be described in detail later. The abnormal data ID is information for indicating when this data frame is data of a type called abnormal data and is transmitted, and here, AB_92_07_03_10_24_.
It is assumed to be 10. AB indicates that the information is abnormal, and the subsequent numbers indicate that the abnormal information is transmitted at 10:24:10 on July 3, 1992. The transmission destination ID indicates whether the abnormal data is for the man-machine device or is addressed to each controller. For example, if it is for a man-machine device, 0 is described here, if it is addressed to each controller, here, and the device ID describes the ID of the controller that issued this abnormality information. In this data field, since it is transmitted from the controller 1, 1 is entered here.

【0096】このような異常情報がネットワークに送信
されると、各コントローラは、その情報が自分と関係の
あるものかどうかを、入力情報フィルタにおいて判定
し、もし関係のある情報であれば取り込む。一方、異常
情報データフォーマット中の異常データIDと制約変数
集合、機器ID,入力変数集合だけは、加工されないま
ま、ただちに、マンマシン装置に送られる。
When such abnormal information is transmitted to the network, each controller determines whether or not the information is related to itself by the input information filter, and if it is related information, takes it in. On the other hand, only the abnormal data ID, the constraint variable set, the device ID and the input variable set in the abnormal information data format are immediately sent to the man-machine device without being processed.

【0097】以下の説明では、今の例をもちいて、ま
ず、どのようにして不必要な異常情報が、ネットワーク
に送信されるのが抑制されるかを示し、次に、異常箇所
がどのように同定されるかを示す。
In the following description, using the present example, first, it is shown how unnecessary abnormal information is suppressed from being transmitted to the network, and then, how the abnormal point is detected. Will be identified.

【0098】まず、不必要な情報の抑制処理を図38及
び図39に示す。図38は、処理の概要を示したもの
で、マンマシン装置に登録されている異常情報を参照し
て、新たに送信しようとしている異常情報が既に送信さ
れている情報に含まれているかどうかを判定し、もし含
まれていれば、送信を止める。図39は、異常情報相互
の包含関係の判定処理を示したもので、制約集合の間に
包含関係があるかないかをまず調べ、もし包含関係がな
くてもコントローラ間に入出力関係があり、この入出力
関係まで考慮すると包含関係が成り立つ場合もあり、こ
の判定も行っている。これらの処理を具体的な例で示
す。
First, processing for suppressing unnecessary information is shown in FIGS. 38 and 39. FIG. 38 shows an outline of the process. By referring to the abnormality information registered in the man-machine device, it is determined whether the abnormality information to be newly transmitted is included in the already transmitted information. Judge, and if included, stop transmission. FIG. 39 shows the process of determining the inclusion relation between the abnormal information. First, it is checked whether or not there is an inclusion relation between the constraint sets. If there is no inclusion relation, there is an input / output relation between the controllers. Considering this input / output relationship, the inclusion relationship may be established in some cases, and this determination is also performed. These processes will be shown by a concrete example.

【0099】まず、コントローラ1から上記の異常情報
がマンマシン装置宛のものと各コントローラ宛のものの
2つのデータフレームとして送信され、すでにマンマシ
ン装置で受信している場合について考えてみる。すでに
述べたように他のコントローラ2,3,4でも制約違反
を検知し異常情報を送信しようとする。たとえば、コン
トローラ2では、制約条件C4が充足されない。この異
常情報の制約変数集合はV(C4)={X5}であり、
入力変数集合は、{X3,X4}である。コントローラ
2の通信インタフェースの出力情報フィルタ部では、こ
の情報を送信する前に、マンマシン装置の異常情報を参
照して、自分が発信しようとしている異常情報の制約変
数集合を含む制約変数集合をもった異常情報がすでに送
信されていないかどうか確認する。この場合、コントロ
ーラ1から送信された異常情報の制約変数集合のV(C
1)={X1,X2,X3}は、V(C4)を含んでい
ない。しかし、入出力関係まで考慮すると異なった結果
となる。つまり、コントローラ2の入力変数X3は、コ
ントローラ1から送信された異常情報の制約変数集合V
(C1)に属しているから、この入力変数X3の影響で
コントローラ2の出力変数X5,X6に異常が生じる可
能性がある。
First, consider the case where the above-mentioned abnormality information is transmitted from the controller 1 as two data frames, one for the man-machine device and the other for each controller, and already received by the man-machine device. As described above, the other controllers 2, 3 and 4 also detect the constraint violation and try to transmit the abnormality information. For example, the controller 2 does not satisfy the constraint condition C4. The constraint variable set of this abnormality information is V (C4) = {X5},
The input variable set is {X3, X4}. Before transmitting this information, the output information filter section of the communication interface of the controller 2 refers to the abnormality information of the man-machine device and has a constraint variable set including the constraint variable set of the abnormality information that the user is trying to transmit. Check if the abnormal information has already been sent. In this case, V (C) of the constraint variable set of the abnormality information transmitted from the controller 1
1) = {X1, X2, X3} does not include V (C4). However, the result will be different if the input / output relationship is taken into consideration. That is, the input variable X3 of the controller 2 is the constraint variable set V of the abnormality information transmitted from the controller 1.
Since it belongs to (C1), the output variable X5, X6 of the controller 2 may be abnormal due to the influence of the input variable X3.

【0100】一方、コントローラ1の異常情報の入力変
数は、{X1,X2}であるから、コントローラ2の出
力変数X5に関する異常の原因は、コントローラ1の出
力変数X3を媒介してコントローラ1の入力変数X1,
X2である可能性がある。つまり、コントローラ2にと
っては、V(C1)={X1,X2,X3}にくわえ
て、Op(C1,2)={X5,X6}も制約変数であ
る。ここで、Op(C1,2)は、コントローラ2にと
っての制約条件C1の仮想的な制約変数であって、ここ
では展開変数集合と呼ぶ。そこでV(C1)UOp(C
1,2)にV(C4)が含まれているから、制約条件C
4の未充足は、すでに送信された制約条件C1の未充足
に関する情報に含まれる情報であって、ネットワーク上
にデータがあふれることを防止するためには、出力情報
フィルタ部でふるいにかけ、送信させないこととする。
On the other hand, since the input variable of the abnormality information of the controller 1 is {X1, X2}, the cause of the abnormality related to the output variable X5 of the controller 2 is the input of the controller 1 via the output variable X3 of the controller 1. Variable X1,
It may be X2. That is, for the controller 2, in addition to V (C1) = {X1, X2, X3}, Op (C1, 2) = {X5, X6} is also a constraint variable. Here, Op (C1, 2) is a virtual constraint variable of the constraint condition C1 for the controller 2, and is referred to as an expansion variable set here. So V (C1) U Op (C
1,2) includes V (C4), the constraint condition C
The unsatisfied number 4 is information included in the already-transmitted information about the unsatisfied condition C1. In order to prevent the data from overflowing the network, the output information filter section sifts it and does not allow it to be transmitted. I will.

【0101】同様にコントローラ3においても制約条件
C6が充足されていないのでこれをネットワークに送信
しようとする。ところがすでに、コントローラ1から異
常情報がマンマシン装置に送信されているので、コント
ローラ3の出力情報フィルタでは、自分の持っている異
常情報が送信するに値するものかどうか判定する。この
時、コントローラ2におけるのと同様に、Op(C1,
3)を求めると、コントローラ3は、入力変数としてコ
ントローラ1の出力変数X3を持っているからコントロ
ーラ3の出力変数X7も仮想的な制約変数であって、O
p(C1,3)={X7}となり、V(C1)UOp(C
1,3)にV(C6)が含まれるから、制約条件C6に
関する異常情報は、送信されない。さらに、コントロー
ラ4についてもOp(C1,4)={X8,X9}であ
り、V(C1)UOp(C1,4)にV(C9)が含まれ
る。したがって制約条件C9が充足されないための異常
情報は送信されない。このようにして、重複した異常情
報の発生を押えることができる。
Similarly, since the constraint condition C6 is not satisfied in the controller 3 as well, the controller 3 tries to send it to the network. However, since the abnormality information has already been transmitted from the controller 1 to the man-machine device, the output information filter of the controller 3 determines whether or not the abnormality information that the user has is worthy of transmission. At this time, as in the controller 2, Op (C1,
3) is obtained, the controller 3 has the output variable X3 of the controller 1 as an input variable, and therefore the output variable X7 of the controller 3 is also a virtual constraint variable.
p (C1,3) = {X7}, and V (C1) U Op (C
Since V (C6) is included in 1, 3), the abnormality information regarding the constraint condition C6 is not transmitted. Further, also for the controller 4, Op (C1,4) = {X8, X9}, and V (C1) U Op (C1,4) includes V (C9). Therefore, the abnormality information because the constraint condition C9 is not satisfied is not transmitted. In this way, it is possible to suppress the occurrence of duplicate abnormality information.

【0102】次に、既に送信された異常情報を用いて、
異常情報を絞り込んでいく方法について図40によって
説明する。異常情報が、あるコントローラから送信され
るとデータは、直接、マンマシン装置に行くものと、各
コントローラに放送されるものに分かれる。異常情報の
絞り込みが行われるのは、各コントローラに放送される
異常情報である。まず、各コントローラはネットワーク
上の情報が、自分と関係のある情報かどうかの判定をお
こなう。
Next, using the already transmitted abnormality information,
A method of narrowing down the abnormality information will be described with reference to FIG. When the abnormality information is transmitted from a certain controller, the data is divided into one that goes directly to the man-machine device and one that is broadcast to each controller. The abnormality information is narrowed down to the abnormality information broadcast to each controller. First, each controller determines whether the information on the network is related to itself.

【0103】まずデータバス上の異常情報をコントロー
ラの通信インタフェースに取り込み、取り込まれた異常
情報は、ネットワークから削除する。通信インタフェー
スでは、まず通信処理部において、データを圧縮された
状態から処理可能な状態に変換し、次に異常情報データ
の中の入力変数を出力変数として持つかどうかを判定
し、もし持てば、コントローラの入力変数を展開変数と
して異常情報に付加する。今の例では、コントローラ1
から発生した異常情報の入力変数集合は、X1,X2で
あり、これらをコントローラ2は、出力変数としてもた
ないからNoである。次に、異常情報の制約集合に含ま
れる制約変数集合に含まれる制約変数集合にもつ制約条
件はあるかを判定し、これもNoであるから、異常情報
を加工することなく、ネットワークに異常情報が返され
る。つまり、入力フィルータでフィルタされ、何も処理
がおこなわれない。今の例では、他のコントローラも同
様にして、何の処理も行わず、始めに送信された制約C
1の異常情報が原形のまま、ネットワークをとおりぬけ
る。一方、既に述べたようにこの場合には、ほかの制約
違反は、出力情報のフィルーターにかかって、発信され
ないから、絞り込みがなくても、はじめから原因は、コ
ントローラ1にあると特定することができる。これに対
して、何かの原因で、例えば、コントローラ3のC6の
制約条件違反の異常情報が、コントローラ1からよりも
先に送信されたとする。この異常情報の制約変数集合
は、V(C6)={X7}であり、入力変数集合In
(3)={X3,X5}である。この異常情報が、コン
トローラ1にくると、入力変数X3をコントローラ1
は、出力変数としてもつから(このような変数を共通変
数という)、コントローラの入力変数X1,X2,およ
びを展開変数に追加する。次の判定で、異常情報の制約
変数集合{X7}と展開変数集合{X1,X2,X3}
の和集合は、制約条件1の制約変数集合{X1,X2,
X3}を含むから、異常情報は、図41の処理手順によ
って加工される。このとき、制約条件C1は、制約条件
C6に含まれるという。まず、受信した制約条件に含ま
れる制約条件C1が充足しているかどうかを判定する。
この場合は、充足していないので、次に、制約条件C1
は、送信されているかどうかをチェックする。C1が先
に送信された場合には、C6は、すでに述べたプロセス
により送信されないが、C6が先に送信された場合に
は、C1が送信されることはありえる。C1がすでに送
信されていれば、受け取った異常情報は、消去され、ま
だ送信されていなければ、異常情報は、C1に関するも
のに書き換えられる。いずれの場合にもネットワーク上
には、C1に関する制約条件のみが生き残る。これは、
見方をかえれば、異常原因がコントローラ1に絞り込ま
れたことをしめしている。
First, the abnormality information on the data bus is fetched into the communication interface of the controller, and the fetched abnormality information is deleted from the network. In the communication interface, first in the communication processing unit, the data is converted from the compressed state to the processable state, then it is determined whether or not the input variable in the abnormality information data has the output variable, and if so, The input variables of the controller are added to the error information as expansion variables. In this example, controller 1
The input variable set of the abnormality information generated from is X1 and X2, and since the controller 2 does not have these as output variables, it is No. Next, it is determined whether or not there is a constraint condition in the constraint variable set included in the constraint variable set included in the constraint set of the abnormality information. Since this is also No, the abnormality information is processed in the network without processing the abnormality information. Is returned. In other words, it is filtered by the input filter and nothing is done. In the present example, the other controller does not perform any processing in the same manner, and the constraint C transmitted first is transmitted.
The anomaly information of 1 is passed through the network with the original form. On the other hand, as described above, in this case, other constraint violations are applied to the filter of the output information and are not transmitted. Therefore, even if there is no narrowing down, it is necessary to specify that the cause is the controller 1 from the beginning. You can On the other hand, it is assumed that, for some reason, for example, the abnormal information about the violation of the constraint condition of C6 of the controller 3 is transmitted before the controller 1. The constraint variable set of this abnormality information is V (C6) = {X7}, and the input variable set In
(3) = {X3, X5}. When this abnormal information comes to the controller 1, the input variable X3 is set to the controller 1
Has output variables (such variables are referred to as common variables), the controller input variables X1, X2, and are added to the expansion variables. In the next judgment, the abnormal information constraint variable set {X7} and the expansion variable set {X1, X2, X3}
Is the constraint variable set {X1, X2,
X3} is included, the abnormality information is processed according to the processing procedure of FIG. 41. At this time, the constraint condition C1 is said to be included in the constraint condition C6. First, it is determined whether the constraint condition C1 included in the received constraint condition is satisfied.
In this case, since it is not satisfied, the constraint condition C1
Checks if it is being sent. If C1 was sent first, C6 will not be sent by the process already described, but if C6 was sent first, C1 could be sent. If C1 has already been transmitted, the received abnormality information is erased, and if it has not been transmitted yet, the abnormality information is rewritten to that relating to C1. In either case, only the constraint condition regarding C1 survives on the network. this is,
From a different point of view, it indicates that the cause of the abnormality has been narrowed down to the controller 1.

【0104】なお、以上のような不必要な情報の送信の
カットと、異常原因の絞り込みは、各コントローラの入
出力フィルタの部分及び、マンマシン装置に異常情報の
包含関係に関する知識をインストールすることによって
も実現できる。
To cut unnecessary information transmission and narrow down the cause of abnormality as described above, install knowledge about the inclusion relation of abnormality information in the input / output filter part of each controller and the man-machine device. Can be realized by

【0105】例えば、制約の包含関係を図42に示した
ようなツリーで表現した知識を用意し、図37の異常デ
ータフォーマット上の制約変数集合のかわりに、充足さ
れなかった制約名称を記述することとすれば、図39の
処理の代りに既にマンマシン装置に登録されている異常
情報の制約式名称を用いて、既に登録されている異常情
報が送信しようとしている異常情報を含んでいれば、異
常情報を他のコントローラに送信せずに、統合監視装置
の異常情報を追加するだけにすることにより、不要な異
常情報の送信を抑制できる。
For example, knowledge that represents the inclusion relationship of constraints by a tree as shown in FIG. 42 is prepared, and instead of the constraint variable set on the abnormal data format of FIG. 37, the unsatisfied constraint name is described. In this case, if the constraint expression name of the abnormality information already registered in the man-machine device is used instead of the processing of FIG. 39 and the already registered abnormality information includes the abnormality information to be transmitted. By adding only the abnormality information of the integrated monitoring device without transmitting the abnormality information to another controller, it is possible to suppress the transmission of unnecessary abnormality information.

【0106】さらにまた、信頼性及び耐故障性の向上を
目的とした本発明の分散制御システムのもう一つの実施
例を示す。本発明は分散制御システムのコントローラの
多重ダウンに対しても稼働中のコントローラが負荷を自
律的に分散しバックアップすることを可能にしたもので
ある。このバックアップを実現する手段を図43に示
す。図43は分散制御システムのコントローラの多重ダ
ウンに対して稼働中のコントローラが負荷を自律的に分
散しバックアップする本発明の一実施例である。プラン
ト100のセンサ及び制御対象に接続されそれらを制御
するコントローラ1,2,3,4はネットワーク100
0で相互に接続された分散制御システムを構成してい
る。コントローラ1,2,3,4はそれぞれ通信手段6
110,6210,6310,6410と、バックアッ
プ依頼手段6120,6220,6320,6420
と、バックアップ受付手段6130,6230,633
0,6430と、スケジューラ6140,6240,6
340,6440と、制御手段6150,6250,6
350,6450と、記憶手段6160,6260,6
360,6460と、さらに、内部バックアップ手段6
170,6270,6370,6470と、切り離し手
段6180,6280,6380,6480とを含む各
コントローラは同様の構成であるので、コントローラ1
を代表例として取り上げ説明する。なお、各コントロー
ラは後述の図47に示すとおり4個のプロセッサを持っ
ている。さらに各プロセッサはここに示した通信手段、
バックアップ依頼手段、バックアップ受付手段、内部バ
ックアップ手段、切り離し手段、スケジューラ、制御手
段の各手段を提供するに充分なハードウェアを持ち、か
つ、各手段を提供するソフトウェア(タスク)を実行す
るに充分な処理能力を持っている。このため前記の手段
は何れのプロセッサ上でも実施可能である。以下各手段
の機能を説明する。
Furthermore, another embodiment of the distributed control system of the present invention for improving reliability and fault tolerance will be shown. The present invention makes it possible for an operating controller to autonomously distribute and back up loads even when multiple controllers in the distributed control system are down. A means for realizing this backup is shown in FIG. FIG. 43 is an embodiment of the present invention in which the controller in operation autonomously distributes and backs up the load against multiple down of the controller of the distributed control system. The controllers 1, 2, 3, 4 connected to and controlling the sensors and control targets of the plant 100 are the network 100.
0 constitutes a distributed control system mutually connected. The controllers 1, 2, 3, 4 are communication means 6 respectively.
110, 6210, 6310, 6410 and backup request means 6120, 6220, 6320, 6420
And backup acceptance means 6130, 6230, 633
0,6430 and schedulers 6140,6240,6
340, 6440 and control means 6150, 6250, 6
350, 6450 and storage means 6160, 6260, 6
360, 6460 and further internal backup means 6
Each controller including the 170, 6270, 6370, 6470 and the disconnecting means 6180, 6280, 6380, 6480 has the same configuration, so the controller 1
Will be described as a typical example. Each controller has four processors as shown in FIG. 47 described later. Furthermore, each processor is a communication means shown here,
It has sufficient hardware to provide the backup requesting means, backup accepting means, internal backup means, disconnecting means, scheduler, and control means, and is sufficient to execute the software (task) that provides each means. Has processing power. Therefore, the above means can be implemented on any processor. The function of each means will be described below.

【0107】通信手段6110はネットワーク100
0、バックアップ依頼手段6120,バックアップ受付
手段6130,スケジューラ6140,制御手段615
0と記憶手段6160,内部バックアップ手段617
0,切り離し手段6180に接続されており、他のコン
トローラとのメッセージの交換を実行し、コントローラ
内の他の手段と他のコントローラの間でのメッセージあ
るいはデータの交換を可能にする。スケジューラ614
0は自分自身に登録された複数のタスクをプロセッサに
割り付ける順番及び時間間隔などを定め、かつ指示する
ものである。制御手段6150はプラント100のセン
サ及び制御対象を制御するものである。スケジューラ6
140と制御手段6150は記憶手段6160と接続さ
れており、そこに記憶されたタスク及びデータとスケジ
ューリング情報に基づきスケジューリングとプランと1
00の制御を司る。また、スケジューラ6140と制御
手段6150は通信手段6110と接続されており、他
のコントローラとの同期をとるために通信手段6110
とネットワーク1000を介して他のコントローラとメ
ッセージを交換する。本実施例は以上により分散制御を
実施している。
The communication means 6110 is the network 100.
0, backup request means 6120, backup acceptance means 6130, scheduler 6140, control means 615
0, storage means 6160, internal backup means 617
0, connected to the disconnecting means 6180, for exchanging messages with other controllers, and for exchanging messages or data between other means in the controller and other controllers. Scheduler 614
0 defines and instructs the order and time interval for allocating a plurality of tasks registered in itself to the processor. The control means 6150 controls the sensors and controlled objects of the plant 100. Scheduler 6
140 and the control means 6150 are connected to the storage means 6160, and based on the tasks and data and scheduling information stored therein, the scheduling and the plan 1
Controls 00. Further, the scheduler 6140 and the control means 6150 are connected to the communication means 6110, and the communication means 6110 is used to synchronize with another controller.
And exchange messages with other controllers via network 1000. In this embodiment, the distributed control is performed as described above.

【0108】バックアップを司る手段について説明す
る。
Means for controlling backup will be described.

【0109】切り離し手段6180は内部バックアップ
手段6170と通信手段6110に接続されている。こ
の手段はコントローラ内部のハードウェアの故障あるい
はソフトウェアの暴走などのダウンを検出し、ダウンし
たプロセッサの動作を停止させる。また、ネットワーク
1000を通して他のコントローラから自己を含むコン
トローラの故障を通知された場合にも同様の動作を実施
する。他のコントローラからの故障の通知によってバッ
クアップを開始できるように、切り離し手段6180は
通信手段6110に接続されている。さらに、自ら故障
を検出した場合および故障を通知された場合のどちらで
も、どのプロセッサがダウンしたかを内部バックアップ
手段6170に前記の接続を通して知らせる。
The disconnecting means 6180 is connected to the internal backup means 6170 and the communication means 6110. This means detects a failure such as a hardware failure in the controller or a software runaway, and stops the operation of the down processor. In addition, the same operation is performed when another controller notifies the failure of the controller including itself through the network 1000. The disconnecting means 6180 is connected to the communication means 6110 so that the backup can be started by notification of a failure from another controller. Furthermore, the internal backup means 6170 is notified through the connection whether the processor is down, either when the failure is detected by itself or when the failure is notified.

【0110】前述のスケジューラ6140は、前述の機
能に加えて、コントローラ内部のプロセッサで実行され
ている各タスクに対して単位時間当りの実行時間を測定
し、その値の単位時間に対する比を各タスクの負荷率と
する。この値により後述するタスク負荷表を更新する。
そして、これらの負荷率の和が後述する限界負荷率を越
えた場合に当該のプロセッサにて負荷オーバが発生する
と予測する。また当該のプロセッサにて各タスクの負荷
率の和が100%を越えたか否かを判定することにより
負荷オーバを検出する。越えた場合が負荷オーバであ
る。負荷オーバが発生すると予測されたプロセッサある
いは負荷オーバが発生したプロセッサを内部バックアッ
プ手段6170に知らせる。
In addition to the above functions, the scheduler 6140 described above measures the execution time per unit time for each task executed by the processor inside the controller, and calculates the ratio of that value to the unit time for each task. The load factor of The task load table described later is updated with this value.
Then, when the sum of these load factors exceeds a limit load factor described later, it is predicted that overload will occur in the processor. Further, the load over is detected by determining whether or not the sum of the load factors of the respective tasks exceeds 100% in the processor. If it exceeds, the load is over. The internal backup unit 6170 is informed of the processor predicted to have an overload or the processor having an overload.

【0111】内部バックアップ手段6170は通信手段
6110,記憶手段6160,切り離し手段6180,
スケジューラ6140とバックアップ依頼手段6120
に接続されている。この手段は、切り離し手段6180
からコントローラ内部のダウンを通知された場合に、あ
るいはスケジューラ6140からコントローラ内部の負
荷オーバの発生あるいは負荷オーバの予測を通知された
場合に図44の手順に従い、ダウンあるいは負荷オーバ
により実行できなくなるタスクをその優先度に応じてコ
ントローラ内でバックアップする。部分的ダウンあるい
は負荷オーバがコントローラ全体のダウンにつながるこ
とを防ぐために、コントローラの管理運用に必要不可欠
なタスクを最も優先する。ネットワーク1000の通信
量のボトルネックが顕在化し通信の遅延あるいは不良が
頻発することを防ぐために、他のコントローラでバック
アップした場合に多量の通信を必要とするタスクが次に
優先される。バックアップは負荷の軽いプロセッサから
順番に実施していき、バックアップされるべきタスクが
あるかぎり、次々と負荷の重いプロセッサで実施してい
く。途中でバックアップされるべきタスクが無くなれば
そこで処理を終了する。すべてのプロセッサでバックア
ップを実施してもバックアップされるべきタスクが残っ
ているときはバックアップ依頼手段6120にこの状況
を通知して図45のコントローラ間でのバックアップに
関する手順を実行させ、本手段は実行を終了する。この
図44の手順を内部バックアップ手順と呼び、後にその
詳細を具体的な例により説明するが、ここでは本手段の
機能を説明するうえでその概略を説明する。
The internal backup means 6170 includes a communication means 6110, a storage means 6160, a disconnection means 6180,
Scheduler 6140 and backup request means 6120
It is connected to the. This means is a detaching means 6180.
When the internal down of the controller is notified from, or when the scheduler 6140 is notified of occurrence of overload of the controller or prediction of overload, the task that cannot be executed due to down or overload is executed according to the procedure of FIG. Backup is performed in the controller according to the priority. In order to prevent a partial down or overload leading to down of the whole controller, the tasks that are indispensable for the management operation of the controller are given the highest priority. In order to prevent the communication bottleneck of the network 1000 from becoming apparent and frequent communication delay or failure, a task requiring a large amount of communication when backed up by another controller is given priority next. Backups are carried out in order from the processor with the lightest load, and as long as there are tasks to be backed up, they will be executed with the processors with the heavy load one after another. If there are no tasks to be backed up on the way, the process ends there. If the tasks to be backed up remain even after the backup is performed on all the processors, the backup request means 6120 is notified of this situation, and the procedure concerning the backup between the controllers of FIG. 45 is executed, and this means is executed. To finish. The procedure of FIG. 44 is called an internal backup procedure, and details thereof will be described later by a specific example. Here, an outline thereof will be described to explain the function of this means.

【0112】まず、本手段は手順6510から手順65
15にて、ダウンあるいは負荷オーバにより実行できな
くなったタスクのバックアップを担当するプロセッサを
コントローラ内から決める。この決定において記憶手段
6160に格納されている各プロセッサの実行状態に関
する情報を用いる。すなわち、多くのタスクをバックア
ップさせるために負荷の低いプロセッサあるいは余剰性
能の大きいプロセッサに決定する。なお、これらの情報
は図48に示した実行分担表と呼ぶ表に格納されてい
る。さらに、ダウンあるいは負荷オーバにより実行でき
なくなったタスクのうちバックアップされるべきタスク
を決定する。この決定では、タスクの属性に関する情報
を用い、他のプロセッサでバックアップする必要のない
タスクを除外する。このタスクの属性に関する情報は図
49に示したタスク負荷表と呼ぶ表に格納されている。
First, the present means performs the steps 6510 to 65.
At 15, the processor responsible for backing up a task that cannot be executed due to a down or overload is determined from within the controller. In this determination, the information on the execution state of each processor stored in the storage unit 6160 is used. That is, a processor with a low load or a processor with a large surplus performance is determined to back up many tasks. Note that these pieces of information are stored in a table called an execution sharing table shown in FIG. Further, it determines the tasks to be backed up among the tasks that cannot be executed due to down or overload. This decision uses information about task attributes and excludes tasks that do not need to be backed up by other processors. Information on the task attributes is stored in a table called a task load table shown in FIG.

【0113】つづいて本手段は手順6520から手順6
540にて、バックアップされるべきタスクにバックア
ップを担当する部分がバックアップ前に実行していた複
数のタスクを追加する。そしてこれらの中から、バック
アップを担当するプロセッサがバックアップ後に実行す
べきタスクを優先度に応じて選択する。このとき、部分
的ダウンあるいは負荷オーバがコントローラ全体のダウ
ンを引き起こさないようにするために、通信手段611
0,バックアップ依頼手段6120,スケジューラ61
40を提供するタスクなどのコントローラの管理運用に
必要不可欠なタスクを最も優先して選択する。ネットワ
ーク1000の通信量のボトルネックが顕在化して通信
不良を引き起こすことがないようにするために、他のコ
ントローラでバックアップした場合に多量の通信を必要
とするタスクが次に優先して選択される。その後、その
他のタスクを選択する。各優先度においてバックアップ
を担当するプロセッサの負荷が限界値を越えない範囲で
最大負荷となる組合せのタスクを選択する。この負荷の
限界値は記憶手段6160に格納されており、限界負荷
率と呼ぶ。この選択において記憶手段6160に格納さ
れている各タスクの負荷率とこの選択における優先度と
タスクの原籍に関する情報を用いる。タスクの負荷率と
は着目したタスクを当該プロセッサで実行した場合の単
位時間当りに必要とされる処理時間であり、あらかじめ
同等の処理能力を持つプロセッサあるいは当該部分で実
行したときに計測した値である。なんらかの事情で計測
できないときにはあらかじめ推定し定めた値を用いる。
タスクの原籍は各タスクが元々所属するコントローラあ
るいはその一部分を示す。なお、これらの情報は図49
に示したタスク負荷表と呼ぶ表に格納されている。ま
た、この選択において、バックアップを担当するプロセ
ッサがバックアップ前に実行していたタスクであろうと
も優先度が低い場合にはバックアップ後に実行させない
ことがある。このように追い出されたタスクは、バック
アップされるべきタスクに追加され、他のプロセッサで
バックアップされることを待つ。
Subsequently, this means performs steps 6520 to 6
At 540, the tasks to be backed up add the plurality of tasks that the part in charge of backup was executing before the backup. Then, from among these, the processor in charge of the backup selects a task to be executed after the backup according to the priority. At this time, in order to prevent partial down or overload from causing down of the entire controller, the communication means 611 is used.
0, backup request means 6120, scheduler 61
Tasks that are indispensable for management operation of the controller, such as tasks that provide 40, are selected with the highest priority. In order to prevent the communication volume bottleneck of the network 1000 from becoming apparent and causing a communication failure, a task requiring a large amount of communication when backed up by another controller is selected next with priority. . Then select other tasks. In each priority, the task of the combination that has the maximum load is selected within the range in which the load of the processor in charge of backup does not exceed the limit value. The limit value of this load is stored in the storage means 6160 and is called the limit load factor. In this selection, the load factor of each task stored in the storage unit 6160, the priority in this selection, and the information about the original domicile of the task are used. The task load factor is the processing time required per unit time when the focused task is executed by the relevant processor, and is the value measured when it is executed by a processor having the same processing capacity or the relevant part in advance. is there. If the measurement cannot be made for some reason, the value estimated and set in advance is used.
The original name of a task indicates the controller to which each task originally belongs or a part thereof. Note that these pieces of information are shown in FIG.
It is stored in a table called a task load table shown in FIG. Further, in this selection, even if the processor in charge of backup has executed the task before the backup, it may not be executed after the backup if the priority is low. The task evicted in this way is added to the task to be backed up and waits for being backed up by another processor.

【0114】つづいて本手段は手順6550にて、選択
したタスクをスケジューラ6140に登録し実行手段6
150にて実行を開始させる。バックアップを担当する
プロセッサから追い出されたタスクはスケジューラ61
40から削除しその実行を停止させる。
Subsequently, this means registers the selected task in the scheduler 6140 in step 6550, and executes the executing means 6
Start execution at 150. The task ejected from the processor in charge of backup is the scheduler 61
Delete from 40 and stop its execution.

【0115】つづいて本手段は手順6560から手順6
590にて、バックアップされるべきタスクの状況と、
コントローラ内でバックアップを担当させていないプロ
セッサの有無とに応じて3通りの処理を実行する。ま
ず、バックアップされるべきタスクに優先度の高いタス
クがあり、かつ、コントローラ内の稼働中のプロセッサ
のすべてにバックアップを担当させる前述の手順を実施
していない場合には、次に負荷率が低いプロセッサをバ
ックアップを担当するプロセッサとして選択し、再び手
順6520より内部バックアップ手順を繰り返す。多く
のタスクあるいは多くの負荷をコントローラ内でバック
アップできるように、コントローラ内の各プロセッサに
対して順番にバックアップを担当させるというこの繰り
返しを設けた。一方、バックアップされるべきタスクが
優先度の低いタスクのみの場合と、バックアップされる
べきタスクに優先度の高いタスクがあるが、コントロー
ラ内の稼働中のプロセッサのすべてにバックアップを担
当させる前述の手順を実施した場合には、コントローラ
の新しい実行状況をネットワーク1000を通して放送
し、バックアップされるべきタスクをコントローラ間で
バックアップさせるためにバックアップ依頼手段612
0にバックアップされるべきタスクが残っていることを
前記接続を介して通知し図45のコントローラ間のバッ
クアップに関する手順を開始させ、本手段の処理を終了
する。さらに、一方で、バックアップされるべきタスク
がない場合には、コントローラの新しい実行状況をネッ
トワーク1000を通して放送し、本手段の処理を終了
する。
Subsequently, the present means is from step 6560 to step 6.
At 590, the status of the task to be backed up,
Three types of processing are executed depending on the presence / absence of a processor that is not in charge of backup in the controller. First, if the task to be backed up has a high priority task and you have not performed the above procedure that makes all the active processors in the controller responsible for backup, then the next lowest load factor. The processor is selected as the processor in charge of backup, and the internal backup procedure is repeated from procedure 6520 again. In order to back up many tasks or many loads in the controller, we have made this repetition by having each processor in the controller take charge of backup in order. On the other hand, if there are only low priority tasks to be backed up, and some tasks to be backed up have high priority tasks, the above procedure in which all active processors in the controller are responsible for backup In the case of executing the above, the backup request means 612 is provided to broadcast the new execution status of the controller through the network 1000 and to backup the task to be backed up between the controllers.
0 indicates that there is a task to be backed up via the connection, the procedure for backup between controllers in FIG. 45 is started, and the processing of this means ends. Further, on the other hand, when there is no task to be backed up, the new execution status of the controller is broadcast through the network 1000, and the processing of this means ends.

【0116】バックアップ依頼手段6120は通信手段
6110と記憶手段6160と内部バックアップ手段6
170とに接続されている。この手段は、内部バックア
ップ手段6170からバックアップされるべきタスクが
残っていることを通知された場合に、図45の手順に従
い、ネットワーク1000に接続された他のコントロー
ラあるいはそのプロセッサからバックアップの依頼先を
選定しバックアップを依頼する。すべてのタスクのバッ
クアップが終了するまでこの選定と依頼を繰り返す。こ
の手順をバックアップ依頼手順と呼び、後にその詳細を
具体的な例により説明するが、ここでは本手段の機能を
説明するうえでその概略を説明する。
The backup request means 6120 is a communication means 6110, a storage means 6160 and an internal backup means 6.
170 is connected to. When the internal backup unit 6170 notifies that the task to be backed up remains, this unit follows the procedure of FIG. Select and request backup. This selection and request are repeated until the backup of all tasks is completed. This procedure will be referred to as a backup request procedure, and the details thereof will be described later by a specific example. Here, an outline thereof will be described to explain the function of this means.

【0117】この手段は手順6610にて、記憶手段6
160に格納されているすべてのプロセッサの負荷状態
に関する情報とを用いて、バックアップを依頼するコン
トローラあるいはそのプロセッサを選定する。選定基準
は他のコントローラのプロセッサのなかで最も負荷の小
さいことである。なお、この情報は図49に示した外部
受付順位表に格納されている。
This procedure is executed by the storage means 6 in step 6610.
Using the information on the load states of all the processors stored in 160, the controller or its processor for which the backup is requested is selected. The selection criterion is that it has the least load among the processors of other controllers. Note that this information is stored in the external reception order table shown in FIG.

【0118】つづいて本手段は手順6620から手順6
640にて、さきに選定した依頼先に宛ててバックアッ
プを依頼することを示すメッセージ6600を発信す
る。このメッセージ6600はバックアップされるべき
タスクの情報を含む。メッセージ6600はネットワー
ク1000を介して送られる。そして、依頼先からの応
答を待つ。応答は依頼先によってシステム全体に放送さ
れるところの、バックアップの依頼に対する応答である
ことを示すメッセージ6700である。メッセージ67
00はさらに依頼先がバックアップしたタスクとこのバ
ックアップにより依頼先で実行されなくなったタスク
(追い出されたタスク)を示す情報を含む。本手段はこ
のメッセージ6700を受信するまで待ち状態に入って
おり、これを受信すると待ち状態が解除されて次の手順
6642に進む。
Subsequently, this means performs steps 6620 to 6
At 640, a message 6600 indicating that the backup is requested is sent to the request destination selected earlier. This message 6600 contains information on the tasks to be backed up. Message 6600 is sent via network 1000. Then, it waits for a response from the request destination. The response is a message 6700 that is broadcast to the entire system by the requestee and indicates that it is a response to the backup request. Message 67
00 further includes information indicating a task backed up by the request destination and a task that has not been executed by the request destination due to this backup (a task that has been ejected). This means is in the waiting state until receiving this message 6700, and when receiving this message, the waiting state is released and the process proceeds to the next step 6642.

【0119】つづいて本手段は手順6642から664
8にて、依頼先がバックアップしたタスクの有無を判定
し、依頼先がバックアップしたタスクがある場合にはバ
ックアップの依頼の終了を判定する手順(手順6650
から手順6670)に進む。依頼先がバックアップした
タスクがない場合には、さらに手順6644にて他のコ
ントローラのプロセッサのすべてにバックアップを依頼
したかを判定する。他のコントローラのプロセッサのす
べてにバックアップを依頼していない場合には、手順6
646にて他のコントローラのプロセッサの中で今回の
依頼先に次いで負荷が小さいものを次回のバックアップ
依頼先に指定し、手順6620に戻りバックアップの依
頼を繰り返す。また、他のコントローラのプロセッサの
すべてにバックアップを依頼していた場合には、バック
アップが失敗している。そこでこの場合には手順664
8に示すように縮退運転手段に縮退運転を開始しさせ、
本手段はバックアップ依頼手順を終了する。
Subsequently, this means executes steps 6642 to 664.
At 8, the procedure determines whether or not there is a task backed up by the request destination, and if there is a task backed up by the request destination, the procedure for determining the end of the backup request (step 6650).
To step 6670). If there is no task backed up by the requestee, it is further determined in step 6644 whether or not all processors of other controllers have been requested for backup. If you have not requested backup of all the processors of other controllers, proceed to step 6.
At 646, among the processors of the other controllers, the one having the smallest load next to the request destination of this time is designated as the next backup request destination, and the process returns to step 6620 to repeat the backup request. If all the processors of other controllers are requested to perform backup, the backup has failed. Therefore, in this case, the procedure 664
As shown in 8, the degenerate operation means is caused to start the degenerate operation,
This means ends the backup request procedure.

【0120】手順6642の判定にて依頼先がバックア
ップしたタスクがあった場合には、つづいて、本手段は
手順6660から手順6670にて、依頼先からのメッ
セージ6700に応じて記憶手段6160に格納されて
いる各表を変更する。さらに、依頼先がバックアップし
たタスクをバックアップされるべきタスクから削除し、
依頼先から追い出されたタスクをバックアップされるべ
きタスクに追加する。その後、バックアップされるべき
タスクの有無を判定し、バックアップされるべきタスク
が有るときには手順6610に戻り依頼先の選定とバッ
クアップの依頼を繰り返す。この依頼の繰り返しと依頼
先の拒否あるいは受付により、バックアップされるべき
タスクを自律的に分散してバックアップすることを可能
にした。バックアップ受付手段6130は通信手段61
10と記憶手段6160とに接続されている。この手段
は、ネットワーク1000を介して他のコントローラか
ら送られてきたバックアップを依頼するメッセージ66
00を受け取った場合に、図46の手順に従い、メッセ
ージ6600によってバックアップを依頼されたタスク
をバックアップを依頼されたプロセッサの負荷状態に応
じてバックアップする。この手順ではバックアップを担
当するプロセッサの負荷率が限界負荷率を越えない範囲
できる限り大きくなるように、バックアップを依頼され
たタスクとそのプロセッサが実行しているタスクとの入
れ替えも実施する。この入れ替えはかなり大きい負荷率
のタスクをバックアップするために必要な機能である。
大きな負荷率のタスクをバックアップする余裕が無くと
も、小さな負荷率のタスクを追い出し余裕を作れば大き
な負荷率のタスクをバックアップできることが多い。追
い出されたタスクはバックアップされるべきタスクとし
て、さらに他のプロセッサにバックアップ依頼されそこ
で実行されることになろう。あるいはさらにそこで入れ
替えを引き起こすかも知れないが、入れ替えの度により
小さな負荷率のタスクが追い出されるためバックアップ
できる可能性が高まってゆき、最終的にはバックアップ
できるであろう。この入れ替えにおいて自らのコントロ
ーラの管理運用に必要不可欠なタスクあるいは他のコン
トローラで実行した場合に多量の通信を必要とするタス
クを追い出してしまうと、自らのコントローラのダウン
やネットワーク1000の通信量のボトルネックによる
通信の不良を引き起こしたりする。これを防ぐためにバ
ックアップ後に実行するタスクとしてそれらのタスクを
優先して選択するこの手順とした。また、本手段はバッ
クアップの結果をシステム全体に知らしめる。この手順
をバックアップ受付手順と呼び、後にその詳細を具体的
な例により説明するが、ここでは本手段の機能を説明す
るうえでその概略を説明する。
If there is a task backed up by the requestee in the judgment of step 6642, then this means stores it in the storage means 6160 in steps 6660 to 6670 according to the message 6700 from the requestee. Modify each of the listed tables. Furthermore, delete the task backed up by the requestee from the tasks that should be backed up,
Add the task evicted from the requestee to the tasks that should be backed up. After that, the presence / absence of a task to be backed up is determined, and when there is a task to be backed up, the procedure returns to step 6610 and the request destination selection and the backup request are repeated. By repeating this request and rejecting or accepting the request, the tasks to be backed up can be autonomously distributed and backed up. The backup acceptance unit 6130 is the communication unit 61.
10 and the storage means 6160. This means uses a message 66 requesting a backup sent from another controller via the network 1000.
When 00 is received, the task requested to be backed up by the message 6600 is backed up according to the load state of the processor requested to back up according to the procedure of FIG. In this procedure, the task requested for backup and the task executed by that processor are also exchanged so that the load factor of the processor in charge of the backup is as large as possible within the limit load factor. This replacement is a necessary function for backing up tasks with a fairly large load factor.
Even if there is no room to back up a task with a large load factor, it is often possible to back up a task with a large load factor by ejecting a task with a small load factor and creating a margin. The expelled task will be requested to be backed up to another processor and executed there as a task to be backed up. Alternatively, replacement may occur there, but each replacement replaces a task with a smaller load factor, increasing the possibility of backup and eventually backup. In this replacement, if a task that is indispensable for the management operation of the controller itself or a task that requires a large amount of communication when executed by another controller is shunted, the controller will be down or the bottleneck of the communication volume of the network 1000. It may cause communication failure due to the neck. To prevent this, this procedure is used to select those tasks as the tasks to be executed after backup. Further, this means informs the whole system of the result of the backup. This procedure will be referred to as a backup acceptance procedure, and the details thereof will be described later by a specific example. Here, an outline thereof will be described to explain the function of the present means.

【0121】この手段は手順6710から手順6730
にて、バックアップされるべきタスクとバックアップを
担当するプロセッサで実行されている複数のタスクの中
から、バックアップを担当するプロセッサがバックアッ
プ後に実行すべきタスクを優先度に応じて選択する。こ
のとき、バックアップにより自らのコントローラがダウ
ンしないようにするために、通信手段6110,バック
アップ依頼手段6120,スケジューラ6140を提供する
タスクなどの自らのコントローラの管理運用に必要不可
欠なタスクを最も優先して選択する。ネットワーク10
00の通信量のボトルネックが顕在化して通信不良を引
き起こすことがないようにするために、他のコントロー
ラで実行した場合に多量の通信を必要とするタスクが次
に優先して選択される。その後、その他のタスクを選択
する。各優先度においてバックアップを担当するプロセ
ッサの負荷が限界値を越えない範囲で最大負荷となる組
合せのタスクを選択する。この負荷の限界値は記憶手段
6160に格納されており、限界負荷率と呼ぶ。この選
択は図44の内部バックアップ手順の手順6530と同
一である。また、この選択において、バックアップを担
当するプロセッサがバックアップ前に実行していたタス
クであろうとも優先度が低い場合にはバックアップ後に
実行させないことがある。つづいて、本手段は選択した
タスクをスケジューラ6140に登録し実行手段615
0にて実行を開始させる。バックアップを担当するプロ
セッサから追い出されたタスクはスケジューラ6140
から削除しその実行を停止させる。
This means includes steps 6710 to 6730.
Then, among the tasks to be backed up and the plurality of tasks executed by the processor in charge of backup, the processor in charge of backup selects a task to be executed after backup in accordance with the priority. At this time, in order to prevent the own controller from going down due to the backup, the tasks essential to the management operation of the own controller, such as the task of providing the communication unit 6110, the backup request unit 6120, and the scheduler 6140, are given the highest priority. select. Network 10
In order to prevent the communication volume bottleneck of 00 from becoming actual and causing communication failure, the task that requires a large amount of communication when executed by another controller is selected next with priority. Then select other tasks. In each priority, the task of the combination that has the maximum load is selected within the range in which the load of the processor in charge of backup does not exceed the limit value. The limit value of this load is stored in the storage means 6160 and is called the limit load factor. This selection is the same as the procedure 6530 of the internal backup procedure of FIG. Further, in this selection, even if the processor in charge of backup has executed the task before the backup, it may not be executed after the backup if the priority is low. Subsequently, the present means registers the selected task in the scheduler 6140 and executes the execution means 615.
Start execution at 0. The task ejected from the processor in charge of backup is the scheduler 6140.
And stop its execution.

【0122】つづいてこの手段は手順6740にて、バ
ックアップするタスクと追い出すタスクを示す情報を含
むメッセージ6700をネットワーク上に放送(ブロー
ドキャスト)する。このメッセージ6700により自ら
のコントローラの実行状態の変化を他のコントローラの
すべてにに知らしめる。さらに、本手段はすべてのコン
トローラは各々の記憶手段6160,6260,636
0,6460に格納されている実行分担表とタスク負荷
表と外部受付順位表をこのメッセージ6700によって
書き換える。また前述したように、このメッセージ67
00に基づいて依頼元のバックアップ依頼手段(622
0,6320,6420のいずれか)はバックアップさ
れるべきタスクからバックアップされたタスクを削除
し,追い出されたタスクをバックアップされるべきタス
クに追加する。
Subsequently, in step 6740, this means broadcasts a message 6700 containing information indicating the task to be backed up and the task to be ejected on the network. This message 6700 informs all the other controllers of the change in the execution state of the own controller. Further, in this means, all the controllers have respective storage means 6160, 6260, 636.
The execution allocation table, task load table, and external acceptance ranking table stored in 0, 6460 are rewritten by this message 6700. Also, as mentioned above, this message 67
Backup requesting means (622
0, 6320, 6420) deletes the backed up task from the tasks to be backed up and adds the evicted task to the tasks to be backed up.

【0123】このように1台のダウンあるいは負荷オー
バしたコントローラが実行していた複数のタスクがバッ
クアップを依頼された稼働中のコントローラの負荷に応
じて分割されることにより、最終的には複数のコントロ
ーラでバックアップされる。つまり、本発明の分散制御
システムは1台のコントローラのダウンあるいは負荷オ
ーバを複数台の稼働中のコントローラが自らの負荷状況
応じて分担してバックアップするものである。さらに、
このバックアップにおいてネットワークの通信量増加を
抑さえるために、タスクの通信量に関する属性に応じて
分担してバックアップするものである。
In this way, a plurality of tasks executed by one down or overloaded controller are divided according to the load of the operating controller requested to be backed up, and finally a plurality of tasks are executed. Backed up by the controller. That is, in the distributed control system of the present invention, when one controller goes down or overloads, a plurality of operating controllers share the backup according to their own load conditions. further,
In order to suppress an increase in network traffic in this backup, the backup is shared according to the attribute of the task traffic.

【0124】この分散制御システムの物理的な構成を図
47に示す。コントローラ1,2,3,4は同一の構成で
あり、各々がネットワーク1000と接続されたネット
ワーク接続用コネクタ41a,41b,41c,41d
と、これらのネットワーク接続用コネクタの各々とシリ
アルデータ用のバス71a,71b,71c,71dを
介して接続された4個づつのプロセッサ(PR1,PR
2,PR3,PR4)701〜704,711〜71
4,721〜724,731〜734と、これらのプロ
セッサ(PR1,PR2,PR3,PR4)とバス70
a,70b,70c、70dを介して接続されたグローバ
ルメモリ82a,82b,82c,82dと、これらの
プロセッサ(PR1,PR2,PR3,PR4)と接続
された入出力処理装置(I/O)83a,83b,83
c,83dと、これらのプロセッサに接続され故障の通
知を行うバス70bを含む。各コントローラにはDC
1,DC2,DC3,DC4という名前を付けた。各コ
ントローラ内の各プロセッサにはPR1,PR2,PR
3,PR4という名前を付けた。ここで、各プロセッサ
はその中に記したタスクを実行しているものとした。こ
こでタスクNC1,NC2,NC3,NC4はネットワ
ーク1000を介したコントローラ間のメッセージの送
受信を制御するタスクであり、図43の通信手段611
0,6210,6310,6410を提供する。また、タ
スクCM1,CM2,CM3,CM4は各コントローラ
1,2,3,4でのタスクの実行を制御するタスクであ
り、図43のバックアップ依頼手段6120,622
0,6320,6420と、バックアップ受付手段61
30,6230,6330,6430を提供する。頭文
字がTで始まるタスクは各コントローラが実行する制御
演算などであり、図43の制御手段を提供する。OS1
1などのOSで始まるタスクはバックアップ関係の機能
を組み込んだリアルタイムオペレーティングシステムで
あり、各プロセッサで実行されている。これら各々が図
43の内部バックアップ手段6170,6270,637
0,6470を提供する。またこれらのリアルタイムオ
ペレーティングシステムの各々が独立に各々のプロセッ
サに関するスケジューリングを実施している。すなわ
ち、各々が各コントローラのスケジューラ6140,6
240,6340,6440を各プロセッサに関する部
分に分割して提供している。
FIG. 47 shows the physical configuration of this distributed control system. The controllers 1, 2, 3, 4 have the same configuration, and each of them is connected to the network 1000 by a network connection connector 41a, 41b, 41c, 41d.
And four processors (PR1, PR) connected to each of these network connection connectors via serial data buses 71a, 71b, 71c, 71d.
2, PR3, PR4) 701-704, 711-71
4, 721 to 724, 731 to 734, these processors (PR1, PR2, PR3, PR4) and bus 70
Global memories 82a, 82b, 82c and 82d connected via a, 70b, 70c and 70d, and an input / output processing device (I / O) 83a connected to these processors (PR1, PR2, PR3 and PR4) , 83b, 83
c, 83d, and a bus 70b connected to these processors and notifying of a failure. DC for each controller
The names are 1, DC2, DC3, DC4. PR1, PR2, PR for each processor in each controller
I named it 3, PR4. Here, it is assumed that each processor is executing the task described therein. Here, tasks NC1, NC2, NC3, NC4 are tasks for controlling transmission / reception of messages between controllers via the network 1000, and the communication means 611 in FIG.
0, 6210, 6310, 6410 are provided. Further, tasks CM1, CM2, CM3, and CM4 are tasks that control the execution of tasks in the controllers 1, 2, 3, and 4, and backup request means 6120 and 622 in FIG.
0, 6320, 6420 and backup acceptance means 61
30, 6230, 6330, 6430 are provided. Tasks starting with T are control calculation executed by each controller and provide the control means of FIG. OS1
A task starting with OS such as 1 is a real-time operating system incorporating a backup-related function, and is executed by each processor. Each of these is the internal backup means 6170, 6270, 637 of FIG.
0,6470 is provided. Further, each of these real-time operating systems independently carries out scheduling for each processor. That is, each scheduler 6140, 6 of each controller
240, 6340, and 6440 are provided by being divided into parts related to each processor.

【0125】また、各プロセッサ内の故障制御回路68
20(図8,図10,図12参照)は他のプロセッサの
故障制御回路と協同してバス70bを通信路として用い
ることにより切り離し手段を提供する。例えば図47の
プロセッサ702が故障した場合には、プロセッサ70
2の故障制御回路が故障を検出し、他のプロセッサ70
1,703,704に対してバス70bを通してプロセッ
サ702の故障を通知し、同時にプロセッサ702の汎
用エンジン(GE)の動作を停止さる。さらに、プロセッ
サ701,703,704の各故障制御回路は各々のプ
ロセッサPRで実行されている内部バックアップ手段を
提供するタスクOS11,OS13、OS14に内部バ
ックアップ手順を開始させる。このように図43の切り
離し手段6180における機能は物理的には4つのプロ
セッサに分担されている。
Further, the failure control circuit 68 in each processor
Reference numeral 20 (see FIGS. 8, 10 and 12) provides a disconnecting means by using the bus 70b as a communication path in cooperation with the failure control circuit of another processor. For example, if the processor 702 in FIG. 47 fails, the processor 70
The second failure control circuit detects the failure and the other processor 70
The failure of the processor 702 is notified to the 1, 703 and 704 via the bus 70b, and at the same time, the operation of the general-purpose engine (GE) of the processor 702 is stopped. Further, the respective failure control circuits of the processors 701, 703, 704 cause the tasks OS11, OS13, OS14, which provide the internal backup means executed in the respective processors PR, to start the internal backup procedure. As described above, the function of the disconnecting means 6180 in FIG. 43 is physically shared by the four processors.

【0126】さらに、図47の各コントローラのなかの
すべてのプロセッサがランアダプタ(LA)を持つた
め、いずれのプロセッサも通信手段6110,621
0,6310,6410として動作可能である。従来技術で
は通信関係の手段が冗長化されておらず信頼性が不充分
であったが本実施例の構成により冗長化され信頼性が向
上する。各コントローラ内の4つのランアダプタ(L
A)のなかで、実際に通信手段6110,6210,6
310,6410となるものはタスクNC1,NC2,
NC3,NC4が実行されているプロセッサのランアダ
プタ(LA)である。つまり通信手段として動作中のラ
ンアダプタ(LA)が故障して通信が不通になっても、タ
スクNC1,NC2,NC3,NC4をコントローラ内
でバックアップすることで通信を回復することができ
る。また、従来技術ではプロセッサあるいはプロセッサ
がローカルメモリを持った場合、そのプロセッサあるい
はプロセッサがダウンすると、ローカルメモリに蓄えら
れた制御用の学習結果のデータなどにアクセスできない
という問題があった。そこでローカルメモリ(LM)68
16をデュアルポートメモリで構成し、バス6819の
ほかにバス70aにも接続した。この接続により他のプ
ロセッサからバス71aを介してローカルメモリ(LM)6
816へアクセスできるようにした。コントローラ内の
4つのプロセッサ(PR1,PR2,PR3,PR4)
のローカルメモリ(LM)とグローバルメモリ(GM)に
よって図34の記憶手段6160,6260,636
0,6460を構成している。
Further, since all the processors in each controller of FIG. 47 have the run adapter (LA), all the processors have the communication means 6110, 621.
It is possible to operate as 0, 6310, 6410. In the prior art, the communication-related means were not redundant and the reliability was insufficient, but the configuration of the present embodiment makes them redundant and improves the reliability. Four run adapters (L
In A), the communication means 6110, 6210, 6 are actually used.
310 and 6410 are tasks NC1, NC2,
NC3 and NC4 are run adapters (LA) of the processor executing. That is, even if the run adapter (LA) operating as the communication means fails and communication is interrupted, the communication can be restored by backing up the tasks NC1, NC2, NC3, NC4 in the controller. Further, in the conventional technology, when the processor or the processor has a local memory, if the processor or the processor goes down, there is a problem that the learning result data for control stored in the local memory cannot be accessed. So local memory (LM) 68
16 is composed of a dual port memory and is connected to the bus 70a in addition to the bus 6819. By this connection, the local memory (LM) 6 from another processor via the bus 71a.
816 is now accessible. 4 processors in the controller (PR1, PR2, PR3, PR4)
The local memory (LM) and the global memory (GM) of the storage means 6160, 6260, 636 of FIG.
0,6460 is configured.

【0127】以下では本実施例のバックアップ方法につ
いて詳細に例示する。図48は図47の動作状態におけ
る実行分担表であり、各記憶手段6160,6260,
6360,6460に格納されている。この表の内容は
プロセッサを特定可能な名前と、そのプロセッサが実行
しているタスクの名称と、それらのタスクによってプロ
セッサが被る負荷率と、各コントローラ内での各プロセ
ッサに負荷の軽い順に1番から番号を付けた順位(内部
負荷順位)である。本例ではコントローラ名とプロセッ
サ名を連結しプロセッサを特定可能な名称としている。
このほかの特定する方式として各々異なる番号を与える
ものがある。このプロセッサを特定するために用いる方
式は本発明の主旨とは関係なくどのような方式でもよ
い。本表を用いて内部バックアップ手段6170,62
70,6370,6470は、バックアップされるべき
タスクをダウンあるいは負荷オーバしたプロセッサ名か
ら検索し、コントローラ内で負荷の小さいプロセッサか
ら大きいプロセッサへ順番にバックアップを担当させる
ために内部負荷順位を検索する。また、バックアップ受
付手段6130,6230,6330,6440がバッ
クアップを依頼されたプロセッサ名からそのプロセッサ
が実行しているタスク名を検索するために実行分担表を
用いる。なお、内部負荷順位が無くても、内部バックア
ップ手段はプロセッサ名と負荷率をもとに内部負荷順位
と同等の情報を生成し上記の処理を実行可能であるが、
バックアップの途中でこの情報を生成するためバックア
ップを終了するまでの時間が長くなる。バックアップを
終了するまでの時間を短縮するために、本実施例では通
常の稼働状態の時に内部負荷順位を生成しこの実行分担
表に記憶しておく方式にした。
The backup method of this embodiment will be described below in detail. FIG. 48 is an execution allocation table in the operating state of FIG.
It is stored in 6360 and 6460. The contents of this table are the names that can identify the processor, the names of the tasks that the processor is executing, the load factor that the processor incurs due to those tasks, and the first number in the order of light load on each processor in each controller. It is the order numbered from (internal load order). In this example, the controller name and the processor name are concatenated to identify the processor.
There are other methods of specifying different numbers. The method used to specify this processor may be any method regardless of the gist of the present invention. Internal backup means 6170, 62 using this table
70, 6370, and 6470 search for tasks to be backed up from the names of the processors that are down or overloaded, and in the controller, search the internal load order in order from the processor with the smallest load to the processor with the largest load. Further, the backup acceptance unit 6130, 6230, 6330, 6440 uses the execution allotment table in order to retrieve the name of the task executed by the processor from the names of the processors requested to be backed up. Even if there is no internal load rank, the internal backup means can generate information equivalent to the internal load rank based on the processor name and the load factor, and execute the above processing.
Since this information is generated during the backup, it takes a long time to complete the backup. In this embodiment, in order to shorten the time until the backup is completed, the internal load order is generated and stored in this execution allocation table in the normal operating state.

【0128】図49は図47の動作状態におけるタスク
負荷表であり、各記憶手段6160,6260,636
0,6460に格納されている。この表の内容はタスク
の名前と、そのタスクを実行したときの負荷率と、バッ
クアップに関係する属性と、タスクがどのプロセッサの
ものかを示す原籍である。属性は4つあり、原籍のプロ
セッサにおいて必要不可欠であるが他のプロセッサでバ
ックアップする必要のない(あるいはしてはならない)
タスクであることを示す“fixed”と、コントローラの
管理運用に必要なタスクであることを示す“internall
y”と、通信量が多いことを示す“communicative”
と、原籍以外のコントローラで実行してもよいタスクで
あることを示す“somewhere” である。よって、他のプ
ロセッサでバックアップされるべきタスクは属性が“fi
xed” でないものである。これらをあるプロセッサにお
ける優先度として扱い優先度が高いものから降順に並べ
ると、最優先のものはこのプロセッサが原籍である“fi
xed” 、次に優先されるものはこのプロセッサが原籍で
ある“internally”、さらに次に優先されるものはこの
プロセッサが原籍である“communicative” 、優先度の
最も低いものはこのプロセッサが原籍である“somewher
e”とこのプロセッサが原籍でない“fixed”,“intern
ally”,“communicative”と“somewhere”である。た
だし、原籍以外のプロセッサに属性が“fixed”や“int
ernally” のタスクをバックアップさせることはコント
ローラあるいはシステムの不具合を生じるため、バック
アップ手順の中でこれを防いでいる。すなわち、原籍の
プロセッサあるいはそれを含むコントローラ(原籍のコ
ントローラと呼ぶ)にて最優先でバックアップされるよ
うにしている。内部バックアップ手段6170,627
0,6370,6470と、バックアップ受付手段61
30,6230,6330,6440がバックアップを
されるべきタスクとバックアップを担当するプロセッサ
が実行していたタスクとから各々のタスクの優先度と原
籍と負荷率を基準としてバックアップ後に実行すべきタ
スクを選択する時に、タスク名からそれらの内容を知る
ためにこのタスク負荷表を用いる。
FIG. 49 is a task load table in the operation state of FIG. 47, and each storage means 6160, 6260, 636.
0,6460. The contents of this table are the name of the task, the load factor when the task is executed, the attributes related to the backup, and the original register indicating which processor the task belongs to. There are four attributes, which are indispensable for the original processor but do not need to be (or should not) be backed up by other processors.
“Fixed”, which indicates that the task is a task, and “internall, which indicates that the task is required for controller management operation
y ”and“ communicative ”indicating that the communication volume is high
And "somewhere", which indicates that the task may be executed by a controller other than the original one. Therefore, a task that should be backed up by another processor has the attribute "fi
These are not "xed". When these are treated as priorities in a certain processor and arranged in descending order from the highest priority, the highest priority is "fi
xed ”, the next highest priority is“ internally ”where this processor is the original, the next highest priority is“ communicative ”where this processor is the original, and the lowest priority is this processor There is “somewher
e ”and this processor is not the original one“ fixed ”,“ intern
"ally", "communicative", and "somewhere", except for processors whose attributes are "fixed" or "int"
Backing up the “ernally” task causes a controller or system failure, so this is prevented in the backup procedure. In other words, the original processor or the controller containing it (called the original controller) has the highest priority. Internal backup means 6170, 627.
0, 6370, 6470 and backup acceptance means 61
30, 6230, 6330, 6440 selects the tasks to be executed after the backup based on the priority of each task, the original register and the load factor from the tasks to be backed up and the tasks executed by the processor in charge of the backup. This task load table is used to know their contents from the task name when doing.

【0129】図50は図47の動作状態における外部受
付順位表でであり、各記憶手段6160,6260,636
0,6460に格納されている。本表はバックアップ依
頼手段6120,6220,6320,6420が他の
コントローラのプロセッサの中から、最小負荷率のプロ
セッサの名称を最初に検索し、つづいて必要ならば順番
に負荷の大きいものの名称を検索するために用いる。こ
の表はプロセッサ名を負荷率をキーとして昇順に並べた
ものである。よって、実行分担表に本表の情報も含まれ
ているが、実行分担表で最も負荷率の小さいプロセッサ
を検索するためには相当な時間がかかる。そこで、検索
時間短縮を目的として本表を設けた。本表では先頭のプ
ロセッサ名を読みだすだけですべてのプロセッサの中で
最小負荷率のプロセッサ名を知ることができる。それが
バックアップを依頼するコントローラに属するときは次
の順位を読みだす。この繰り返しで他のコントローラの
プロセッサで最も負荷が小さいものを選択できる。本表
はダウンあるいは負荷オーバやバックアップの度に書き
換えるが、一度並べ帰られているので削除,2分検索,
挿入の3ステップでこの表の昇順を維持する。このた
め、この外部受付順位表を用いた場合にバックアップ時
に実行分担表の内容をソーティングを実施する必要がな
く処理が高速になる。すなわち、バックアップに要する
時間が短縮できる。
FIG. 50 is an external acceptance order table in the operating state of FIG. 47, and each storage means 6160, 6260, 636.
0,6460. In this table, the backup requesting means 6120, 6220, 6320, 6420 first searches the processors of other controllers for the name of the processor with the smallest load factor, and then, if necessary, the names of the processors with the largest load in order. Used to do. This table lists processor names in ascending order with the load factor as a key. Therefore, although the information of this table is also included in the execution allocation table, it takes a considerable time to search the processor with the smallest load factor in the execution allocation table. Therefore, this table is provided for the purpose of shortening the search time. In this table, the processor name with the smallest load factor among all the processors can be known simply by reading the first processor name. If it belongs to the controller requesting the backup, read the next order. By repeating this process, the processor with the smallest load can be selected from the processors of other controllers. This table is rewritten every time it goes down, overloaded, or backed up, but it is deleted once because it is returned to the list once.
The ascending order of this table is maintained in the three steps of insertion. Therefore, when this external acceptance ranking table is used, it is not necessary to sort the contents of the execution allocation table at the time of backup, and the processing becomes faster. That is, the time required for backup can be shortened.

【0130】ここで、実行分担表とタスク負荷表と外部
受付順位表の内容の関係を説明する。プロセッサDC
1.PR1が実行しているタスクは実行分担表よりタス
クOS11,NC1,CM1,T11である。このときの負
荷率はタスク負荷表からタスクOS11が5%,NC1
が26%,CM1が28%,T11が13%であるから
これらの和である72%となる。実行分担表の例示で省
略されたプロセッサの負荷率はこの値より充分大きいと
して、プロセッサDC1.PR1の負荷率は昇順で3番
目であるから、外部受付順位表では順位が3番目になっ
ている。
Here, the relationship among the contents of the execution sharing table, the task load table, and the external acceptance ranking table will be described. Processor DC
1. The tasks executed by PR1 are tasks OS11, NC1, CM1, and T11 according to the execution allocation table. The load factor at this time is 5% for the task OS 11 and NC1 from the task load table.
Is 26%, CM1 is 28%, and T11 is 13%, so the sum of these is 72%. Assuming that the load factor of the processor omitted in the example of the execution share table is sufficiently larger than this value, the processor DC1. Since the load factor of PR1 is the third in ascending order, it is ranked third in the external reception ranking table.

【0131】ここで、本実施例のバックアップ手順の理
解の助けとして、図51に示すようにコントローラ1の
プロセッサ(DC1.PR1)701がダウンした場合
において、タスクNC1,CM1,T11が分割してバ
ックアップされる過程とそれにより追い出されたタスク
がさらにまた他のプロセッサによってバックアップされ
る過程を説明する。ここで前述の限界負荷率は90%に
定められているものとする。
Here, as an aid in understanding the backup procedure of this embodiment, when the processor (DC1.PR1) 701 of the controller 1 goes down as shown in FIG. 51, the tasks NC1, CM1, and T11 are divided. The process of being backed up and the task evicted thereby will be further backed up by another processor. Here, it is assumed that the above-mentioned limit load factor is set to 90%.

【0132】(FD0)コントローラ1のプロセッサ70
1のプロセッサ6811が故障したものとする。この故
障により通信手段6110とバックアップ依頼手段61
20とバックアップ受付手段6130がダウンし、スケ
ジューラ6140と制御手段6150の各一部分がダウ
ンした。
(FD0) Processor 70 of controller 1
It is assumed that the processor 6811 of 1 fails. Due to this failure, the communication means 6110 and the backup request means 61
20 and the backup reception means 6130 went down, and each part of the scheduler 6140 and the control means 6150 went down.

【0133】(FD1)コントローラ1の切り離し手段
6180がプロセッサ701のダウンを検出すると、こ
のプロセッサを停止させる。同時に内部バックアップ手
段6170にプロセッサ701のダウンを通知し、内部
バックアップ手段6170に図46の内部バックアップ
手順を開始させる。
(FD1) When the disconnecting means 6180 of the controller 1 detects that the processor 701 is down, this processor is stopped. At the same time, the internal backup means 6170 is notified that the processor 701 is down, and the internal backup means 6170 is caused to start the internal backup procedure of FIG.

【0134】より詳細には、プロセッサ701の故障制
御回路(FD)6820が汎用エンジン(GE)681
1の故障を検出すると、バス70bを通して他のプロセ
ッサの故障制御回路(FD)にプロセッサ701の故障
を通知する。その後プロセッサ701を停止させる。プ
ロセッサ702,703,704の故障制御回路(FD)6
820は故障の通知を受けると各々のプロセッサ681
1に対してバス70aの割り込み要求信号線を用いて割
り込み処理を要求する。この割り込み処理が、内部バッ
クアップ手段6170を提供するタスクOS12,OS
13,OS14に内部バックアップ手順を開始させる。
なお、停止されたプロセッサのローカルメモリ(LM)
6816はバス70aと接続されているため、このプロ
セッサが停止していても他のプロセッサからアクセス可
能である。この接続はタスクをバックアップし再開する
ときに必要なデータをプロセッサが停止していても取得
できるようにしたものである。
More specifically, the failure control circuit (FD) 6820 of the processor 701 is a general-purpose engine (GE) 681.
When the failure of the processor 701 is detected, the failure control circuit (FD) of the other processor is notified of the failure of the processor 701 through the bus 70b. After that, the processor 701 is stopped. Failure control circuit (FD) 6 of processors 702, 703, 704
Upon receiving the notification of failure, each processor 681 receives the failure.
An interrupt request is issued to the signal 1 using the interrupt request signal line of the bus 70a. This interrupt processing provides the task OS 12 and OS that provide the internal backup means 6170.
13. OS 14 starts the internal backup procedure.
The local memory (LM) of the stopped processor
Since the 6816 is connected to the bus 70a, it can be accessed by other processors even when this processor is stopped. This connection allows you to get the data you need when the processor backs up and resumes, even when the processor is stopped.

【0135】以下、内部バックアップ手段6170が実
行する図46に示した内部バックアップ手順について説
明する。
The internal backup procedure shown in FIG. 46 executed by the internal backup means 6170 will be described below.

【0136】(OS0)内部バックアップ手段6170が
起動される。詳細には稼働中のプロセッサのすべてにお
いて内部バックアップを司るタスクが各々独立に図46
の内部バックアップ手順を実行する。図51の例示では
プロセッサ(DC1.PR2)702でタスクOS12が
内部バックアップ手順を実行する。プロセッサ(DC1.P
R3)703でタスクOS13が内部バックアップ手順
を実行する。プロセッサ(DC1.PR4)704でタ
スクOS14が内部バックアップ手順を実行する。バッ
クアップを担当しないタスクが自ら停止し、自動的にバ
ックアップを実施するものが決定する。プロセッサの間
にバックアップに関する特定の依存関係がないためコン
トローラ内を均一のハードウェア及び均一のソフトウェ
ア体形とすることが可能となり、コントローラの構築が
容易になる。このように図46の内部バックアップ手順
を構築した。次のステップでこの決定方法を説明する。
(OS0) The internal backup means 6170 is activated. More specifically, the task of controlling the internal backup in all the operating processors is independently shown in FIG.
Perform the internal backup procedure for. In the example of FIG. 51, the task OS 12 executes the internal backup procedure in the processor (DC1.PR2) 702. Processor (DC1.P
In R3) 703, the task OS 13 executes the internal backup procedure. The task OS 14 executes the internal backup procedure in the processor (DC1.PR4) 704. The task that is not in charge of backup stops by itself, and the one that automatically performs backup is determined. Since there is no specific backup dependency between the processors, it is possible to have uniform hardware and uniform software in the controller, which facilitates the construction of the controller. Thus, the internal backup procedure of FIG. 46 was constructed. The next step will explain this decision method.

【0137】(OS1)手順6510:内部バックアッ
プ手段6170は上記の稼働中のプロセッサのなかで負
荷が最も小さいプロセッサをバックアップを実施するプ
ロセッサに決定する。
(OS1) Procedure 6510: The internal backup means 6170 determines the processor with the smallest load among the above operating processors as the processor to be backed up.

【0138】具体的には前記のタスクの各々が実行分担
表からダウンしたプロセッサの内部負荷順位と自らの内
部負荷順位を読みだす。ダウンしたプロセッサの負荷が
最も小さいのならば内部負荷順位は前述のように1番で
ある。よって、その内部負荷順位が1ならば稼働中のプ
ロセッサの中で負荷が最も小さいものは内部負荷順位が
2番目である。この場合には、自らの内部負荷順位が2
番であることを判定することにより、自らがバックアッ
プを担当するか否かを定める。内部負荷順位が2番なら
ばバックアップを担当することになり、手順6520に
進む。もし、内部負荷順位が2番でなければ内部バック
アップ手順を終了し、バックアップを担当しない。一
方、ダウンしたプロセッサの負荷より稼働中のプロセッ
サの負荷が小さい場合には、稼働中のプロセッサの中で
負荷が最も小さいものは内部負荷順位が1番目である。
この場合には、自らの内部負荷順位が1番であることを
判定することにより、自らがバックアップを担当するか
否かを定める。内部負荷順位が1番ならばバックアップ
を担当することになり、手順6520に進む。もし、内
部負荷順位が1番でなければ内部バックアップ手順を終
了し、バックアップを担当しない。
Specifically, each of the above tasks reads out the internal load ranking of the down processor and its own internal load ranking from the execution allocation table. If the load of the processor that has gone down is the smallest, the internal load ranking is first as described above. Therefore, if the internal load rank is 1, the processor with the smallest load among the operating processors has the second internal load rank. In this case, the internal load ranking of itself is 2
By determining that it is the turn, it determines whether or not it is in charge of backup. If the internal load rank is No. 2, the backup is in charge, and the process proceeds to step 6520. If the internal load rank is not 2, the internal backup procedure is terminated and the backup is not taken charge of. On the other hand, when the load on the operating processor is smaller than the load on the down processor, the processor having the smallest load among the operating processors has the first internal load rank.
In this case, by determining that the internal load rank of the self is the first, it is determined whether the self is in charge of backup. If the internal load rank is first, the backup is in charge, and the procedure proceeds to step 6520. If the internal load ranking is not first, the internal backup procedure is terminated and the backup is not taken charge of.

【0139】図51の例示ではダウンしたプロセッサ
(DC1.PR1)701の内部負荷順位が図48の実行
分担表に示すとおり2番であり、プロセッサ(DC1.
PR2)702の内部負荷順位が4番であるため、タス
クOS12は手順6510で内部バックアップ手順を終
了する。また、プロセッサ(DC1.PR3)703の
内部負荷順位が3番であるため、タスクOS13は手順
6510で内部バックアップ手順を終了する。一方、プ
ロセッサ(DC1.PR4)704の内部負荷順位は1
番であるため、タスクOS14は手順6510から手順
6520に進み、内部バックアップ手順を継続する。よ
って、プロセッサ(DC1.PR4)704がまず初め
にバックアップを実施する。
In the example shown in FIG. 51, the processor is down.
The internal load rank of (DC1.PR1) 701 is No. 2 as shown in the execution share table of FIG.
Since the internal load rank of PR2) 702 is 4, the task OS 12 ends the internal backup procedure in procedure 6510. Further, since the internal load rank of the processor (DC1.PR3) 703 is 3, the task OS 13 ends the internal backup procedure in procedure 6510. On the other hand, the internal load rank of the processor (DC1.PR4) 704 is 1
Therefore, the task OS 14 proceeds from step 6510 to step 6520 and continues the internal backup procedure. Therefore, the processor (DC1.PR4) 704 first performs the backup.

【0140】(OS2)手順6515:内部バックアッ
プ手段6170はダウンにより実行できなくなったタス
クのうちバックアップする必要の有るものをタスクキュ
ーに登録する。詳細にはまず受付用タスクキューを初期
化する。そして、実行分担表からダウンしたプロセッサ
の名前に対応するタスク名を読みだし、タスク負荷表か
らそれらのタスクに対する負荷率と属性を読みだす。そ
して、属性がバックアップする必要がないこと、あるい
は、バックアップしてはならないことを示す“fixed”
のものを除外して、バックアップされるべきタスクとし
て受付用タスクキューに登録する。図51の例示ではダ
ウンしたプロセッサ(DC1.PR1)701の名前DC
1.PR1に対応するタスク名であるOS11とNC1
とCM1とT11が実行分担表から読みだされ、タスク負
荷表から各々の負荷率5%,26%,28%,13%と
属性“fixed”,“communicative”,“somewhere”が
読みだされる。そして、タスクの属性が“fixed” であ
るタスクOS11に関する情報を除いて、これらの内容
が受付用タスクキューに登録される。
(OS2) Step 6515: The internal backup means 6170 registers in the task queue those tasks which cannot be executed due to the down and which need to be backed up. For details, first, initialize the task queue for reception. Then, the task names corresponding to the names of the downed processors are read from the execution allocation table, and the load factors and attributes for those tasks are read from the task load table. And "fixed", which indicates that the attribute does not need to be backed up or should not be backed up
Exclude the ones that are registered in the reception task queue as tasks to be backed up. In the example of FIG. 51, the name DC of the down processor (DC1.PR1) 701
1. OS11 and NC1 which are task names corresponding to PR1
And CM1 and T11 are read from the execution sharing table, and the respective load factors 5%, 26%, 28%, 13% and the attributes "fixed", "communicative" and "somewhere" are read from the task load table. . Then, except for the information about the task OS 11 whose task attribute is "fixed", these contents are registered in the accepting task queue.

【0141】(OS3)手順6520:内部バックアッ
プ手段6170はバックアップを担当するプロセッサが
実行しているタスクを受付用タスクキューに追加する。
詳細には実行分担表からバックアップを担当するプロセ
ッサの名前に対応するタスク名を読みだし、タスク負荷
表からそれらのタスクに対する負荷率と属性を読みだ
す。そしてそれらのタスクを受付用タスクキューに追加
する。同時にそれらの負荷率及び属性も追加する。
(OS3) Step 6520: The internal backup means 6170 adds the task executed by the processor in charge of backup to the accepting task queue.
Specifically, the task names corresponding to the names of the processors in charge of backup are read from the execution allocation table, and the load factors and attributes for those tasks are read from the task load table. Then, those tasks are added to the reception task queue. At the same time, those load factors and attributes are also added.

【0142】この手順以降はコントローラ内部のすべて
のプロセッサがバックアップを担当するまで、あるい
は、バックアップされるべきタスクがなくなるまで繰り
返し実行される。図51の例示における今回の実行で
は、バックアップを担当するプロセッサ704の名前D
C1.PR4に対応するタスク名であるOS14とT1
7とT18が実行分担表から読みだされ、タスク負荷表
から各々の負荷率5%,25%,26%と属性“fixe
d”,“internally”,“communicative”が読みだされ
る。これらが受付用タスクキューに追加される。
After this procedure, it is repeatedly executed until all the processors in the controller are in charge of backup or until there are no tasks to be backed up. In this execution in the example of FIG. 51, the name D of the processor 704 in charge of backup
C1. OS14 and T1 which are task names corresponding to PR4
7 and T18 are read out from the execution allocation table, and the respective load factors 5%, 25%, 26% and the attribute "fixe" are read from the task load table.
"d", "internally", and "communicative" are read. These are added to the task queue for reception.

【0143】(OS4)手順6530:内部バックアッ
プ手段6170はバックアップを担当するプロセッサが
バックアップ後に実行すべきタスクを受付用タスクキュ
ーから選択する。具体的には、受付用タスクキューをタ
スクの属性による優先順位と負荷率で並べ変えて、優先
順位の高いタスクのなかで限界負荷率に最も近くなる組
合せを選択し、さらにすべてを選択しても負荷率に余裕
があるならば次の優先度のタスクのなかでその余裕に最
も近くなる組合せを選択する。何れかの優先順位のタス
クの中で選択できないものが生じるまで、この組合せと
選択を繰り返す。図51の例示では受付用タスクキュー
が図52に示した内容になり、タスクOS14とNC1
とCM1とT17が最終的に選択さる。ここで、バック
アップされるタスクはNC1とCM1であり、バックア
ップされないタスクはT11であり、追い出されるタス
クはT18である。
(OS4) Step 6530: The internal backup means 6170 selects a task to be executed by the processor in charge of backup after the backup from the accepting task queue. Specifically, sort the reception task queue by priority and load factor according to task attributes, select the combination that is closest to the limit load factor among the tasks with high priority, and then select all. Also, if there is a margin in the load factor, a combination that comes closest to the margin is selected among the tasks of the next priorities. This combination and selection are repeated until some of the tasks of any priority cannot be selected. In the example of FIG. 51, the accepting task queue has the content shown in FIG. 52, and the task OS 14 and NC1
And CM1 and T17 are finally selected. Here, the tasks that are backed up are NC1 and CM1, the tasks that are not backed up are T11, and the tasks that are evicted are T18.

【0144】(OS5)手順6540:前手順により選
択されたタスクを受付用タスクキューから削除する。具
体的には、受付用タスクキューから前手順で選択された
タスクの名称とその負荷率と属性を削除する。図51の
例示ではタスクOS14とNC1とCM1とT17が最
終的に選択さた。当手順では、これらのタスクを受付用
タスクキューから削除する。受付用タスクキューに残さ
れたタスクは、バックアップされなかったタスクT11
と追い出されたタスクT18である。
(OS5) Step 6540: Delete the task selected in the previous step from the accepting task queue. Specifically, the name of the task selected in the previous procedure, its load factor, and its attribute are deleted from the accepting task queue. In the example of FIG. 51, the task OS 14, NC1, CM1, and T17 are finally selected. In this procedure, these tasks are deleted from the reception task queue. The task left in the reception task queue is the task T11 that was not backed up.
That is the task T18 that was expelled.

【0145】(OS6)手順6550:手順6530に
て選択されたタスクをスケジューラ6140に登録し実
行を開始させる。具体的には、バックアップを担当する
プロセッサのスケジューリングを担当するタスクに対し
てバックアップされるタスクを追加登録し、追い出され
るタスクの登録を削除する。図51の例示ではバックア
ップを担当するプロセッサ704のスケジューリングを
担当するタスク、すなわち、リアルタイムオペレーティ
ングシステムであるタスクOS14に、バックアップさ
れるタスクであるタスクNC1とCM1を追加登録し実
行を開始させる。また、追い出されるタスクであるタス
クT18をスケジューラから削除し実行を停止させる。
ここにおいて、プロセッサ701の故障によりダウンし
ていた通信手段6110とバックアップ依頼手段612
0とバックアップ受付手段6130が回復された。以降、コ
ントローラ間のバックアップや制御タスクの実行に必要
なネットワーク1000との通信が実行できる。
(OS6) Step 6550: The task selected in Step 6530 is registered in the scheduler 6140 and execution is started. Specifically, the task to be backed up is additionally registered to the task to be responsible for scheduling the processor in charge of backup, and the registration of the task to be expelled is deleted. In the example of FIG. 51, the tasks NC1 and CM1 that are the tasks to be backed up are additionally registered in the task that is in charge of the scheduling of the processor 704 that is in charge of backup, that is, the task OS14 that is the real-time operating system, and execution is started. Also, the task T18, which is the task to be expelled, is deleted from the scheduler and execution is stopped.
Here, the communication unit 6110 and the backup request unit 612, which have been down due to the failure of the processor 701.
0 and backup acceptance means 6130 have been restored. After that, communication with the network 1000 necessary for backup between controllers and execution of control tasks can be executed.

【0146】(OS7)手順6560:当手順はバック
アップの状況に応じて内部バックアップ手順を3通りに
分岐させる。一つは完全にバックアップが終了したので
バックアップに関する手順を終了させる処理への分岐で
ある。二つは内部でのバックアップを完了しコントロー
ラ間におけるバックアップを開始させる処理への分岐で
ある。三つは内部でのバックアップを繰り返す処理への
分岐である。手順6560の中でこれらの分岐を手順656
2,6564,6566が実施している。手順6562
はバックアップすべきタスク、すなわち、受付用タスク
キューに残っているタスクの中で優先度の高いタスクが
有るか否かを判定し、有るならば処理は手順6564へ
進む。無いならば処理は手順6566へ進む。手順65
64はコントローラ内のすべてのプロセッサにバックア
ップを担当させたか否かを判定し、すべてに担当させた
後ならば処理は手順6574以降のコントローラ間にお
けるバックアップを開始させる処理へ分岐する。すべて
に担当させていないならば処理は手順6580以降の内
部でのバックアップを繰り返す処理へ分岐する。手順6
566はバックアップすべきタスクが残っているか否か
を、すなわち、受付用タスクキューにタスクが残ってい
るか否かを判定し、タスクが残っているならば処理は手
順6574以降のコントローラ間におけるバックアップ
を開始させる処理へ分岐する。タスクが残っていないな
らば処理は手順6572以降のバックアップに関する手
順を終了させる処理へ分岐する。
(OS7) Procedure 6560: This procedure branches the internal backup procedure into three ways according to the backup status. One is a branch to a process for ending the procedure related to the backup because the backup has been completed completely. The second is a branch to the process of completing the internal backup and starting the backup between the controllers. The third is a branch to the process of repeating the internal backup. Create these branches in step 6560 in step 6560.
2,6564,6566 are implemented. Step 6562
Determines whether there is a task to be backed up, that is, a task with a high priority among the tasks remaining in the reception task queue, and if there is, the process proceeds to step 6564. If not, the process proceeds to step 6566. Step 65
Reference numeral 64 determines whether or not all processors in the controller are in charge of backup. If all processors are in charge of backup, the process branches to the process of starting backup between controllers after step 6574. If not assigned to all, the process branches to a process of repeating internal backup after step 6580. Step 6
566 determines whether or not there is a task to be backed up, that is, whether or not there is a task in the reception task queue, and if there is a task, the process performs backup between the controllers after step 6574. Branch to the process to start. If no task remains, the process branches to a process for ending the procedure related to backup after step 6572.

【0147】図51の例示において、今回は、属性が
“communicative” であり優先度が高いタスクT11が
受付タスクキューに残っており、尚且つ、まだプロセッ
サ704にバックアップを担当させたのみであるため、手
順6580以降の内部でのバックアップを繰り返す処理
へ分岐する。
In the example of FIG. 51, this time, the task T11 having the attribute "communicative" and a high priority remains in the reception task queue, and the processor 704 is only in charge of the backup. , And branches to a process of repeating internal backup after step 6580.

【0148】(OS8)手順6580:今回バックアッ
プを担当したプロセッサの次に負荷が小さいものを次回
のバックアップを担当するプロセッサに選定し、次回の
バックアップを実施するために手順6520へ戻る。詳
細には今回バックアップを担当したプロセッサの内部受
付順位とダウンしたプロセッサの内部受付順位を実行分
担表から読みだす。前者の値に1を加え次の内部受付順
位を求める。この値が後者の受付順位であった場合には
さらに1を加えてダウンしたプロセッサを指定してしま
うことを防ぐ。コントローラ内で内部受付順位がこの値
であるプロセッサを実行分担表から求める。求めたプロ
セッサを次回にバックアップを担当するものとして選択
する。図51の例示では今回バックアップを担当したプ
ロセッサ704の内部受付順位が1番であり、ダウンし
たプロセッサの内部受付順位が2番であるため、次回に
バックアップを担当するプロセッサの内部受付順位は3
番になる。よって実行分担表においてコントローラ1内
で内部受付順位が3番であるプロセッサ703が次回の
バックアップを担当するものとして選択される。ここか
ら2回目の内部バックアップにはいる。すでに説明した
各手順は図51の例示に関する説明のみを記述する。
(OS8) Step 6580: The processor with the next smallest load of the processor in charge of the backup this time is selected as the processor in charge of the next backup, and the procedure returns to step 6520 to execute the next backup. For details, read the internal acceptance order of the processor in charge of backup this time and the internal acceptance order of the downed processor from the execution allocation table. 1 is added to the former value to obtain the next internal reception order. When this value is the latter acceptance order, 1 is further added to prevent designation of a down processor. In the controller, the processor whose internal acceptance order is this value is obtained from the execution allocation table. Select the required processor as the next person in charge of backup. In the example of FIG. 51, the internal reception order of the processor 704 that is in charge of the backup this time is 1, and the internal reception order of the down processor is number 2. Therefore, the internal reception order of the processor that is in charge of the backup next time is 3
It's my turn. Therefore, the processor 703 having the third internal acceptance order in the controller 1 in the execution allocation table is selected as the person in charge of the next backup. We are now in the second internal backup. The procedures described above describe only the explanation related to the example of FIG.

【0149】(OS9)手順6520:図51の例示に
おける今回の実行では、バックアップをプロセッサ70
3が担当する。そこで、その名前DC1.PR3に対応
するタスク名であるOS13とT15とT16が実行分
担表から読みだされ、タスク負荷表から各々の負荷率5
%,28%,41%と属性“fixed”,“somewhere”,
“communicative” が読みだされる。これらが受付用タ
スクキューに追加される。
(OS9) Procedure 6520: In this execution in the example shown in FIG.
3 is in charge. So its name DC1. OS13, T15, and T16, which are task names corresponding to PR3, are read from the execution allocation table, and each load factor 5 is read from the task load table.
%, 28%, 41% and attributes "fixed", "somewhere",
“Communicative” is read out. These are added to the reception task queue.

【0150】(OS10)手順6530:図51の例示
では受付用タスクキューが図53に示した内容になり、
タスクOS13とT15とT16とT11が最終的に選
択さる。ここで、バックアップされるタスクはT11で
あり、バックアップされないタスクはT18であり、追
い出されるタスクは無い。
(OS10) Step 6530: In the example shown in FIG. 51, the accepting task queue has the contents shown in FIG.
The tasks OS13, T15, T16, and T11 are finally selected. Here, the task that is backed up is T11, the task that is not backed up is T18, and there is no task that is evicted.

【0151】(OS11)手順6540:図51の例示
ではタスクOS13とT15とT16とT11が最終的に
選択された。当手順では、これらのタスクを受付用タス
クキューから削除する。受付用タスクキューに残された
タスクは、バックアップされなかったタスクT18のみ
である。
(OS11) Procedure 6540: In the example shown in FIG. 51, the tasks OS13, T15, T16 and T11 are finally selected. In this procedure, these tasks are deleted from the reception task queue. The only task left in the accepting task queue is task T18 that was not backed up.

【0152】(OS12)手順6550:図51の例示
ではバックアップを担当するプロセッサ703のスケジ
ューリングを担当するタスク、すなわち、リアルタイム
オペレーティングシステムであるタスクOS13に、バ
ックアップされるタスクであるタスクT11を追加登録
し実行を開始させる。また、追い出されるタスクが無い
ため、スケジューラから削除され実行を停止させられる
ものは無い。
(OS12) Procedure 6550: In the example of FIG. 51, the task responsible for scheduling the processor 703 responsible for backup, that is, the task OS13 which is the real-time operating system, additionally registers the task T11 which is the task to be backed up. Start execution. In addition, since there are no tasks to be evicted, there is nothing that can be deleted from the scheduler and execution stopped.

【0153】(OS13)手順6560:図51の例示
において、今回は、属性が“somewhere”であり優先す
る必要がないタスクT18のみが受付タスクキューに残
っている。すなわち、この状態は優先度の高いタスクは
残っていないが、バックアップすべきタスクが残ってい
る状態である。よって、当手順は処理を手順6574以
降のコントローラ間におけるバックアップを開始させる
処理へ分岐させる。
(OS13) Procedure 6560: In the example of FIG. 51, this time, only the task T18 whose attribute is "somewhere" and which does not need to be prioritized remains in the reception task queue. That is, in this state, there are no tasks with high priority remaining, but there are tasks that should be backed up. Therefore, this procedure branches the processing to the processing of starting backup between controllers after the procedure 6574.

【0154】(OS14)手順6574:新しい実行状
態を示すメッセージ6700をネットワーク1000に
放送(ブロードキャスト)する。このメッセージにより
他のコントローラはプロセッサのダウンと、そのバック
アップを担当したプロセッサの新しい実行状態を知るこ
とができる。このメッセージ6700の内容に合わせ
て、各コントローラは各々の記憶手段に格納している実
行分担表とタスク負荷表と外部受付順位表を修正する。
図51の例示において、メッセージ6700はダウン情
報としてプロセッサ701のダウンを示す。さらに、新
しい実行状況としてプロセッサ703が実行しているタ
スクOS13,T15,T16,T11と、プロセッサ
704が実行しているタスクOS14,NC1,CM
1,T17とを示す。修正された実行分担表と外部受付
順位表を図55及び図56に示す。
(OS14) Procedure 6574: Broadcast a message 6700 indicating a new execution state to the network 1000. This message allows other controllers to know the processor down and the new execution state of the processor responsible for the backup. In accordance with the contents of this message 6700, each controller modifies the execution allocation table, task load table, and external acceptance ranking table stored in each storage means.
In the example of FIG. 51, the message 6700 indicates that the processor 701 is down as down information. Further, as new execution statuses, task OSs 13, T15, T16, and T11 executed by the processor 703 and task OSs 14, NC1, and CM executed by the processor 704 are executed.
1, T17. The modified execution sharing table and external acceptance ranking table are shown in FIGS. 55 and 56.

【0155】(OS15)手順6590:コントローラ
間でのバックアップを実施するために、バックアップ依
頼手段6120を起動する。詳細には残ったバックアッ
プされるべきタスクを受付用タスクキューからバックア
ップ依頼手段6120が用いる依頼用タスクキューに移
し、受付用タスクキューを空にする。そして、バックア
ップ依頼手段6120にバックアップされるべきタスク
が残っていることを通知する。この通知はリアルタイム
オペレーティングシステムのタスク間通信機能を利用し
て行われてもよい。あるいは、ナットワーク1000を
介した自コントローラから自コントローラ宛のメッセー
ジ通信を利用して行われてもよい。
(OS15) Step 6590: The backup requesting means 6120 is activated to carry out a backup between the controllers. Specifically, the remaining tasks to be backed up are moved from the accepting task queue to the requesting task queue used by the backup requesting means 6120, and the accepting task queue is emptied. Then, the backup request means 6120 is notified that there are tasks remaining to be backed up. This notification may be performed using the intertask communication function of the real-time operating system. Alternatively, the message may be transmitted from the own controller via the nutwork 1000 to the own controller.

【0156】(OS16)以上にて内部バックアップ手
順を終了する。
(OS16) With this, the internal backup procedure is completed.

【0157】続いて、コントローラ間でバックアップ手
順に移行し、タスクT18を他のコントローラでバック
アップする。
Then, the controller moves to the backup procedure, and the task T18 is backed up by another controller.

【0158】(CM1)コントローラ1のバックアップ
依頼手段6120が起動され、図45のバックアップ依
頼手順の実行を開始する。
(CM1) The backup requesting means 6120 of the controller 1 is activated to start executing the backup requesting procedure shown in FIG.

【0159】(CM2)手順6610:バックアップ依
頼手段6120が外部受付順位表を用い、ダウンしたプ
ロセッサを吹く不コントローラとは異なる他のコントロ
ーラのプロセッサの中で負荷が最も小さいものをバック
アップの依頼先に決定する。詳細には外部受付順位表か
ら順位が1番のプロセッサ名を読みだす。そのプロセッ
サが他のコントローラに所属するならばそこで読みだし
を停止し、そのプロセッサをバックアップの依頼先にす
る。もし、ダウンしたプロセッサと同一のコントローラ
に所属しているならば、再び外部受付順位表から次の順
位のプロセッサ名を読みだす。そして、他のコントロー
ラに所属しているか否かを判定する。他のコントローラ
に所属するプロセッサが読みだされるまで以上を繰り返
す。図51の例示ではダウンしたプロセッサを含むコン
トローラ内でのバックアップを終了しているため、図5
0の外部受付順位表は図56に変更されている。この図
56の外部受付順位表から順位1番のプロセッサ名を読
みだす。この名前はDC2.PR2であり、このプロセッサ
はコントローラDC2に属する。ダウンしたプロセッサ
を含むコントローラはDC1であるため、読みだされた
プロセッサはダウンしたプロセッサを含むコントローラ
とは異なったコントローラに属する。よって次の順位の
プロセッサ名を読みだす処理に戻らずに、このプロセッ
サ(DC2.PR2)712をバックアップを依頼する
プロセッサに決定する。このプロセッサを依頼先と呼
ぶ。
(CM2) Procedure 6610: The backup requesting means 6120 uses the external acceptance ranking table, and the processor with the smallest load among the processors of other controllers different from the non-controller blowing the down processor is designated as the backup request destination. decide. For details, read the processor name with the first rank from the external reception order table. If the processor belongs to another controller, the reading is stopped there, and the processor becomes the backup request destination. If it belongs to the same controller as the down processor, the processor name of the next rank is read again from the external reception rank table. Then, it is determined whether or not it belongs to another controller. The above is repeated until the processor belonging to another controller is read. In the example of FIG. 51, the backup in the controller including the down processor is completed,
The external reception order table of 0 has been changed to FIG. The processor name of the first rank is read from the external reception rank table of FIG. Its name is DC2.PR2 and this processor belongs to the controller DC2. Since the controller including the down processor is DC1, the read processor belongs to a controller different from the controller including the down processor. Therefore, this processor (DC2.PR2) 712 is determined as the processor requesting the backup without returning to the process of reading the processor name of the next rank. This processor is called the request destination.

【0160】(CM3)手順6620:バックアップ依
頼手段6120がバックアップの依頼であることを示す
情報と、依頼用タスクキューに登録されているすべての
タスク名を示す情報とを含むメッセージ6600を作成
し、依頼先に宛てて発信する。このメッセージを依頼メ
ッセージと呼ぶ。図51の例示では依頼メッセージ66
00はタスクT18のバックアップを依頼するものであ
り、依頼先であるプロセッサ712に宛ててネットワー
ク1000を介して送付される。
(CM3) Step 6620: Create a message 6600 including information indicating that the backup requesting means 6120 is a backup request and information indicating all task names registered in the requesting task queue, Send to the request destination. This message is called a request message. In the example of FIG. 51, the request message 66
00 is a request for backup of the task T18, and is sent to the processor 712 which is the request destination via the network 1000.

【0161】(CM4)手順6630:バックアップ依
頼手段6120はバックアップを依頼したメッセージ6
600に対する回答としてバックアップの依頼先から放
送されるメッセージ6700を待つ。
(CM4) Procedure 6630: The backup requesting means 6120 sends a message 6 requesting backup
It waits for a message 6700 broadcast from the backup request destination as an answer to 600.

【0162】以後、メッセージ6700が放送されるま
でバックアップ依頼手段6120はバックアップ依頼手
順を中断して、待ち状態となる。ここからは依頼先のバ
ックアップ受付手段6230の動作について説明する。
Thereafter, the backup requesting means 6120 suspends the backup requesting procedure and waits until the message 6700 is broadcast. The operation of the backup acceptance unit 6230 of the request destination will be described below.

【0163】(CM5)依頼先のプロセッサ712を含
むコントローラ2に於て、メッセージ6500を通信手
段6210が受け取り、バックアップ受付手段6230
を起動する。バックアップ受付手段6230は図46の
バックアップ受付手順を開始する。ここで、バックアッ
プ受付手段6230はそれ自身を含むコントローラの記
憶手段6260に格納されている受付用タスクキューと
タスク負荷表を用いる。
(CM5) In the controller 2 including the requested processor 712, the communication means 6210 receives the message 6500, and the backup acceptance means 6230.
To start. The backup acceptance unit 6230 starts the backup acceptance procedure of FIG. Here, the backup acceptance unit 6230 uses the acceptance task queue and task load table stored in the storage unit 6260 of the controller including itself.

【0164】(CM6)手順6710:バックアップ受
付手段6130がメッセージ6600によって依頼され
たタスクとバックアップを依頼されたプロセッサが実行
しているタスクを受付用タスクキューに登録する。詳細
にはバックアップ受付手段6230はまず記憶手段62
60内の受付用タスクキューを初期化する。続いて、メ
ッセージ6600から依頼されたタスクの名称をとりだ
し、記憶手段6260内のタスク負荷表からそのタスク名に
対応する負荷率と属性と原籍を読みだし、先に初期化し
た受付用タスクキューに登録する。さらに、記憶手段6
260内の実行分担表から依頼先のプロセッサの名前に
対応するタスク名を読みだし、タスク負荷表からそれら
のタスクに対する負荷率と属性を読みだす。そしてそれ
らのタスクを受付用タスクキューに追加する。同時にそ
れらの負荷率及び属性も追加する。
(CM6) Step 6710: The backup accepting means 6130 registers the task requested by the message 6600 and the task executed by the processor requested for backup in the accepting task queue. In detail, the backup acceptance unit 6230 first stores the storage unit 62.
The task queue for reception in 60 is initialized. Then, the name of the task requested from the message 6600 is extracted, the load factor, the attribute, and the original register corresponding to the task name are read from the task load table in the storage means 6260, and are stored in the reception task queue initialized earlier. to register. Further, the storage means 6
The task name corresponding to the name of the requested processor is read from the execution sharing table in 260, and the load factors and attributes for those tasks are read from the task load table. Then, those tasks are added to the reception task queue. At the same time, those load factors and attributes are also added.

【0165】図51の例示では、メッセージ6600に
よりバックアップを依頼されたタスクの名称T18を受
付用タスクキューに登録する。同時に、タスク負荷表か
らその名称に対応した負荷率26%と属性“somewher
e” と原籍DC1.PR4を読みだしこれらを登録す
る。さらに、バックアップを依頼されたプロセッサ71
2が実行しているタスクの名称として、そのプロセッサ
名DC2.PR2に対応するタスク名OS22とT21
とT22を実行分担表から読みだす。さらに、タスク負
荷表から各々のタスクに対応した負荷率5%,18%,
35%と属性“fixed”,“communicative”,“somewh
ere”と原籍DC2.PR2,DC2.PR2,DC2.
PR2とを読みだす。そして、これらのタスク名と負荷
率と属性と原籍を受付用タスクキューに追加する。
In the example of FIG. 51, the name T18 of the task requested to be backed up by the message 6600 is registered in the accepting task queue. At the same time, from the task load table, the load factor 26% and the attribute "somewher" corresponding to the name
e ”and original DC1.PR4 are read and these are registered. Furthermore, the processor 71 requested to back up
2 is the name of the task being executed by the processor name DC2. Task name OS22 and T21 corresponding to PR2
And T22 are read from the execution allocation table. Furthermore, from the task load table, the load factors corresponding to each task are 5%, 18%,
35% and attributes "fixed", "communicative", "somewh"
ere ”and original DC2.PR2, DC2.PR2, DC2.
Read out PR2. Then, the task name, the load factor, the attribute, and the original register are added to the reception task queue.

【0166】(CM7)手順6720:バックアップ受
付手段6130はバックアップを依頼されたプロセッサ
がバックアップ後に実行すべきタスクを受付用タスクキ
ューから選択する。具体的には、受付用タスクキューを
タスクの属性による優先順位と負荷率で並べ変えて、優
先順位の高いタスクのなかで限界負荷率に最も近くなる
組合せを選択し、さらにすべてを選択しても負荷率に余
裕があるならば次の優先度のタスクのなかでその余裕に
最も近くなる組合せを選択する。何れかの優先順位のタ
スクの中で選択できないものが生じるまで、あるいは、
全てのタスクが選択されるまでこの組合せと選択を繰り
返す。図51の例示では受付用タスクキューが図54に
示した内容になり、タスクOS22とT21とT23と
T18が最終的に選択さる。ここで、バックアップされ
るタスクはT18であり、バックアップされないタスク
は無い、追い出されるタスクも無い。すなわち、受付用
タスクキュー内の全てのタスクが選択された。
(CM7) Procedure 6720: The backup accepting means 6130 selects a task to be executed by the processor requested for backup after the backup from the accepting task queue. Specifically, sort the reception task queue by priority and load factor according to task attributes, select the combination that is closest to the limit load factor among the tasks with high priority, and then select all. Also, if there is a margin in the load factor, a combination that comes closest to the margin is selected among the tasks of the next priorities. Until some of the tasks of any priority cannot be selected, or
This combination and selection are repeated until all tasks are selected. In the example of FIG. 51, the accepting task queue has the content shown in FIG. 54, and the task OS22, T21, T23, and T18 are finally selected. Here, the task to be backed up is T18, there is no task that is not backed up, and there is no task that is evicted. That is, all the tasks in the accepting task queue have been selected.

【0167】(CM8)手順6730:バックアップ受
付手段6130は前手順により選択されたタスクをスケ
ジューラ6240に登録し、それらの実行を開始する。
具体的には、バックアップされるタスクをスケジューラ
6240に追加して登録し、その実行を開始させる。ま
た追い出されるタスクの登録をスケジューラ6240か
ら削除し、その実行を停止させる。図51の例示ではタ
スクT18を登録し、実行を開始させる。登録を削除す
るものはない。
(CM8) Procedure 6730: The backup acceptance means 6130 registers the tasks selected by the previous procedure in the scheduler 6240 and starts their execution.
Specifically, the task to be backed up is added to the scheduler 6240, registered, and its execution is started. Further, the registration of the task to be expelled is deleted from the scheduler 6240 and its execution is stopped. In the example of FIG. 51, the task T18 is registered and execution is started. There is nothing to delete a registration.

【0168】(CM9)手順6740:バックアップ受
付手段6130はバックアップを依頼されたプロセッサ
の新しい実行状態を示すメッセージ6700をネットワ
ーク1000に放送(ブロードキャスト)する。このメ
ッセージ6700はバックアップの依頼に対する回答で
あることを示す情報と、バックアップ受付手順が終了し
たときにバックアップを依頼されたプロセッサが実行し
ているタスクの情報と、バックアップを依頼されたタス
クの中でバックアップしたタスクを示す情報と、バック
アップを依頼されたプロセッサから追い出されてその実
行を停止されたタスクを示す情報を含む。このメッセー
ジにより他のコントローラはバックアップを依頼された
プロセッサの新しい実行状態を知り、各々の記憶手段に
格納している実行分担表とタスク負荷表と外部受付順位
表を修正する。また、このメッセージ6700によりバ
ックアップの依頼元であるバックアップ依頼手段612
0は待ち状態から抜け出し、バックアップ依頼手順を再
開する。図51の例示において、メッセージ6700は
新しい実行状況としてプロセッサ712が実行している
タスクOS22,T21,T22,T18を示す。バッ
クアップされたタスクとしてタスクT18を示す。追い
出されたタスクとしては、該当するものがないため、追
い出されたものがないことを示す。
(CM9) Step 6740: The backup accepting means 6130 broadcasts a message 6700 indicating the new execution state of the processor requested for backup to the network 1000. This message 6700 is information indicating that it is a response to the backup request, information on the task executed by the processor requested for the backup when the backup acceptance procedure is completed, and the task requested for the backup. It includes information indicating the backed up task and information indicating the task that has been evicted from the processor requested to back up and its execution has been stopped. From this message, the other controller knows the new execution state of the processor requested for backup, and modifies the execution allocation table, task load table, and external acceptance ranking table stored in each storage means. Further, this message 6700 causes the backup requesting means 612 which is the backup request source.
0 exits the waiting state and restarts the backup request procedure. In the example of FIG. 51, a message 6700 indicates the task OS22, T21, T22, T18 that the processor 712 is executing as a new execution status. Task T18 is shown as a backed up task. Since there is no corresponding task that has been evicted, it indicates that there is no evicted task.

【0169】(CM10)バックアップ受付手段623
0がバックアップ受付手順を終了する。
(CM10) Backup acceptance means 623
0 ends the backup acceptance procedure.

【0170】以降、メッセージ6700により処理を再
開したバックアップ依頼手順6120の処理について説明す
る。
Hereinafter, the processing of the backup request procedure 6120, which is restarted by the message 6700, will be described.

【0171】(CM11)手順6642:バックアップ
依頼手段6120がメッセージ6700からバックアップさ
れたタスクを示す情報をとりだす。そして、バックアッ
プされたタスクがあるか否かを判定する。もし、バック
アップされたタスクがないならば手順6644にて全て
のプロセッサにバックアップを依頼したか否かを判定す
る。さらにもし、すべてのプロセッサに依頼していない
ならば手順6646にて外部負荷順位表を参照して、今
回の依頼先に次いで負荷が小さいプロセッサを依頼先に
選定する。そして、再び手順6620以降によりバック
アップの依頼を繰り返す。手順6644にて、もし全て
のプロセッサに依頼した後であったならば、バックアッ
プが失敗したため、縮退運転手段を起動し縮退運転を行
う。さて、手順6642に戻る。ここで、バックアップ
されたタスクが存在するならば手順6650へ進む。
(CM11) Step 6642: The backup requesting means 6120 takes out the information indicating the backed up task from the message 6700. Then, it is determined whether or not there is a backed up task. If there is no backed up task, it is determined in step 6644 whether or not all processors have been requested to back up. Further, if all the processors have not been requested, the external load ranking table is referred to in step 6646, and the processor with the smallest load next to the request destination this time is selected as the request destination. Then, the backup request is repeated again after step 6620. In step 6644, if it is after all the processors have been requested, the backup has failed, and the degenerate operation means is activated to perform the degenerate operation. Now, return to step 6642. Here, if there is a backed up task, the procedure goes to step 6650.

【0172】図51の例示ではタスクT18がバックア
ップされたため、手順6650へ進む。
In the example of FIG. 51, the task T18 has been backed up, so the procedure proceeds to step 6650.

【0173】(CM12)手順6650:バックアップ
依頼手段6120はメッセージ6700の内容に応じて記憶
手段6160内の実行分担表とタスク負荷表と外部受付
順位表を変更する。図51の例示では図55の実行分担
表のマイクとコンピュータDC2.PR2の実行してい
るタスクの欄にタスクT18を追加する。同じく負荷率
の欄を58%の負荷率から84%に変更する。コントロ
ーラ2(DC2)関係の内部負荷順位を変更し、プロセ
ッサDC2.PR1を2番に、プロセッサDC2.PR
2を4番に、プロセッサDC2.PR3を1番に、プロ
セッサDC2.PR4を3番にする。外部受付順位表で
は受付順位1番のプロセッサDC2.PR2が負荷率8
4%となったためそれを後ろに回し、負荷率84%以下
のプロセッサの順位を1番ずつ繰り上げる。したがっ
て、外部受付順位が1番のプロセッサはDC3.PR1
になる。
(CM12) Procedure 6650: The backup requesting means 6120 changes the execution allocation table, task load table and external acceptance ranking table in the storage means 6160 according to the contents of the message 6700. In the example shown in FIG. 51, the microphone and the computer DC2. The task T18 is added to the column of the task executed by PR2. Similarly, the load factor column is changed from 58% load factor to 84%. The internal load order of the controller 2 (DC2) is changed, and the processor DC2. PR1 to second, processor DC2.PR
2 to 4, processor DC2.PR3 to first, processor DC2.PR3. Set PR4 to number 3. In the external acceptance ranking table, the processor DC2. PR2 has a load factor of 8
Since it was 4%, it is turned to the back and the rank of the processor with a load factor of 84% or less is advanced one by one. Therefore, the processor with the first external reception order is DC3. PR1
become.

【0174】(CM13)手順6660:バックアップ
依頼手段6120は依頼用タスクキューからメッセージ
6700に示されたところのバックアップされたタスク
を削除する。また、依頼用タスクキューにメッセージ6
700に示されたところの追い出されたタスクを追加す
る。この操作は1回のバックアップ依頼で全てのバック
アップが終了しなくてもよいように設けた。すなわち、
1回のバックアップでバックアップできなかったタス
ク、あるいは、負荷率を上げるために追い出されたタス
クがある場合には、依頼用タスクキューにタスクが残
り、これを今回の依頼先と異なった依頼先に次回に依頼
できるようにしたものである。図51の例示では依頼用
タスクキューからタスクT18が削除され、依頼用タス
クキューが空になる。
(CM13) Step 6660: The backup requesting means 6120 deletes the backed up task indicated by the message 6700 from the requesting task queue. In addition, message 6 is sent to the requesting task queue.
Add the evicted task as shown at 700. This operation is provided so that all backups do not have to be completed by one backup request. That is,
If there is a task that could not be backed up in one backup, or a task that was evicted to increase the load factor, the task remains in the requesting task queue and is assigned to a request destination different from this request destination. This is the one that can be requested next time. In the example of FIG. 51, the task T18 is deleted from the requesting task queue and the requesting task queue becomes empty.

【0175】(CM14)手順6670:バックアップ
依頼手段6120は依頼用タスクキューにタスクが残っ
ているか否かを判定する。もし残っているならば再び手
順6610に戻り新規に依頼先を決定し、バックアップ
を依頼する。また、もし、依頼用タスクキューにタスク
が残っていないならば、全てのタスクのバックアップを
終了したことになる。このときバックアップ依頼手段6
120はバックアップ依頼手順の終了に進む。
(CM14) Step 6670: The backup requesting means 6120 judges whether or not any task remains in the requesting task queue. If it remains, the procedure returns to step 6610 again to determine a new request destination and request backup. Also, if no tasks remain in the requesting task queue, it means that backup of all tasks has been completed. At this time, backup request means 6
Step 120 ends the backup request procedure.

【0176】(CM15)バックアップ依頼手段612
0はバックアップ依頼手順を終了する。
(CM15) Backup requesting means 612
0 ends the backup request procedure.

【0177】以上のステップにより本実施例の分散制御
システムは1台のプロセッサ(DC1.PR1)701のダ
ウンに対して、そこで実施されていたタスクNC1,C
M1,T11を自律的に分割してそれぞれをコントロー
ラ1のプロセッサ(DC1.PR4)704,コントロ
ーラ1のプロセッサ(DC1.PR3)703,コント
ローラ2のプロセッサ(DC2.PR2)712におい
てバックアップする。図51の例示ではダウンしたプロ
セッサを持つコントローラと、バックアップを依頼する
コントローラが同じ場合を示した。しかし、本発明の主
旨によればコントローラ1、2、3、4の各々がすべて
のコントローラの実行状態を記述している実行分担表を
持っているために、あるコントローラのダウンにおいて
他の一つのコントローラがさらに他のもう一つのコント
ローラに対してバックアップを依頼することが可能であ
る。具体的には図51の例示において、コントローラ1
のプロセッサ704でバックアップされたタスクCM1
によって提供されるバックアップ依頼手段6120の代
わりに、コントローラ2のプロセッサ711で実行され
ているタスクCM2によって提供されるバックアップ依
頼手段6220が記憶手段6260に格納された実行分
担表と外部受付順位表を用いてバックアップを依頼する
こともできる。このために、実行分担表とタスク負荷表
と外部受付順位表は全てのコントローラ、あるいは、全
てのプロセッサの状態を記憶している。図51の例示で
はダウンを検出したコントローラのバックアップ依頼手
段が作動するものとした。
Through the above steps, the distributed control system of the present embodiment, when one processor (DC1.PR1) 701 goes down, performs the tasks NC1 and C executed there.
M1 and T11 are autonomously divided and each is backed up by the processor (DC1.PR4) 704 of the controller 1, the processor (DC1.PR3) 703 of the controller 1, and the processor (DC2.PR2) 712 of the controller 2. In the example shown in FIG. 51, the controller having the down processor and the controller requesting the backup are the same. However, according to the gist of the present invention, since each of the controllers 1, 2, 3, and 4 has the execution allocation table that describes the execution states of all the controllers, when one controller is down, the other one is executed. It is possible for a controller to ask another controller for backup. Specifically, in the example of FIG. 51, the controller 1
CM1 backed up by the processor 704 of
The backup request means 6120 provided by the task CM2 executed by the processor 711 of the controller 2 is replaced by the backup request means 6120 provided by the execution request table and the external acceptance order table stored in the storage means 6260. You can also request a backup. Therefore, the execution allocation table, the task load table, and the external acceptance ranking table store the states of all the controllers or all the processors. In the example of FIG. 51, the backup requesting means of the controller that detects the down is activated.

【0178】本実施例はコントローラが4台のシステム
であるが、本発明の主旨を逸脱しない範囲で2台以上の
コントローラを持つシステムに拡張できる。さらに、本
実施例では1台のコントローラが4個のプロセッサを含
むものとしたが本発明の主旨を逸脱しない範囲で1個以
上のプロセッサを持つシステムに拡張できる。
Although this embodiment is a system having four controllers, it can be expanded to a system having two or more controllers without departing from the spirit of the present invention. Further, in the present embodiment, one controller includes four processors, but it can be expanded to a system having one or more processors without departing from the spirit of the present invention.

【0179】[0179]

【発明の効果】一つのコントローラを数値演算機能はも
とよりニューロ,ファジィ,行列等を高速に演算するた
めの並列演算機能を実行するプロセッサ,シーケンス制
御演算を高速に実行するするプロセッサ、さらには、ネ
ットワークとの通信機能を実行するプロセッサ等の複数
のプロセッサから構成し、各機能を並列に実行可能とす
ることにより、幅広い分野に適用可能なコントローラが
実現できる。このコントローラをネットワークワーク接
続することにより、幅広い分野に適用可能分散制御シス
テムが実現できる。
According to the present invention, one controller has a numerical operation function as well as a parallel operation function for high-speed operation of neuro, fuzzy, matrix, etc., a processor for high-speed sequence control operation, and a network. A controller that can be applied to a wide range of fields can be realized by being configured with a plurality of processors such as a processor that executes a communication function with and enabling each function in parallel. A distributed control system applicable to a wide range of fields can be realized by connecting this controller to a network.

【0180】また、入出力及びプロセッサを機能プログ
ラムできるチップを実現する方法も提供した。このこと
により、多種多様な制御対象に対しても少ない種類のコ
ントローラで対応でき、保守性の点で優れたシステムを
構成できる。
Also provided is a method for implementing a chip capable of functionally programming input / output and processor. As a result, a small number of types of controllers can handle a wide variety of control targets, and a system excellent in maintainability can be configured.

【0181】各プロセッサをより小さい単位のプロセッ
サエレメントで構成することにより、フレキシビリティ
が向上しLSI化も容易になり、コントローラの小型化
を図れる。従って、コントローラ本体の小型化が図れ、
分散設置可能なコントローラが実現できる。また予備プ
ロセッサ及び不揮発性メモリの予備領域を設けたことに
より、部分故障に対してコントローラ自身で自己修復が
可能となる。
By configuring each processor with processor elements in smaller units, flexibility is improved, LSI can be easily formed, and the controller can be miniaturized. Therefore, the controller body can be downsized,
A controller that can be distributed and installed can be realized. Further, by providing the spare processor and the spare area of the non-volatile memory, the controller itself can self-repair against a partial failure.

【0182】また、バスの拡張が容易なバスコネクタつ
きの外観構造を採ることで小規模から大規模まで広い範
囲の制御対象への対応が可能となる。
Further, by adopting an external structure with a bus connector that allows easy expansion of the bus, it is possible to deal with a wide range of control targets from small scale to large scale.

【0183】また、ユーザの書いたプログラムとニュー
ラルネットワーク等の複数の出力生成手段によって得ら
れる複数の出力を、学習状況や経時変化等に対し適応的
に複合させてより良い制御を可能にすると共に、簡単な
操作でユーザの好みの制御を行わせることができる。
In addition, a program written by the user and a plurality of outputs obtained by a plurality of output generating means such as a neural network are adaptively combined with the learning situation and changes with time to enable better control. , It is possible to control the user's preference with a simple operation.

【0184】さらに、本発明により分散制御システムに
おけるコモンモード故障時に異常情報が多数ネットワー
クに発生し通信ネックが発生することを防止することが
できる。また、分散制御システムにおける故障箇所の同
定が可能である。
Further, according to the present invention, it is possible to prevent a communication neck from occurring due to a large amount of abnormal information in the network when a common mode failure occurs in the distributed control system. In addition, it is possible to identify the failure point in the distributed control system.

【0185】さらにまた、本発明により分散制御システ
ムのコントローラの多重ダウンに対しても負荷を自律的
に稼働中のコントローラに分散しバックアップすること
が可能である。さらにまた、本発明により分散制御シス
テムのコントローラを複数のプロセッサで構成したた
め、同一コントローラ内のプロセッサの多重ダウンに対
しても負荷を自律的に稼働中のプロセッサに分散しバッ
クアップすることが可能である。このため、信頼性及び
耐故障性を高めることが可能である。
Furthermore, according to the present invention, even in the case of multiple down of the controllers of the distributed control system, it is possible to autonomously distribute the load to the operating controllers and back it up. Furthermore, since the controller of the distributed control system is composed of a plurality of processors according to the present invention, even if multiple processors in the same controller are down, the load can be autonomously distributed and backed up to the operating processors. . Therefore, it is possible to improve reliability and fault tolerance.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例であるところのプラント制御
システム。
FIG. 1 is a plant control system according to an embodiment of the present invention.

【図2】従来のの鉄鋼圧延制御システム。FIG. 2 is a conventional steel rolling control system.

【図3】具体的な本発明の応用例であるところの鉄鋼圧
延制御システム。
FIG. 3 is a steel rolling control system which is a specific application example of the present invention.

【図4】別の具体的な本発明の応用例であるところの自
動車の制御システム。
FIG. 4 is a control system for an automobile, which is another specific application example of the present invention.

【図5】別の具体的な本発明の応用例であるところの自
動車の制御システム。
FIG. 5 is an automobile control system as another specific application example of the present invention.

【図6】本発明を階層システムに適用した場合のシステ
ム構成例。
FIG. 6 is a system configuration example when the present invention is applied to a hierarchical system.

【図7】本発明の一実施例であるところのコントローラ
の内部構成図。
FIG. 7 is an internal configuration diagram of a controller that is an embodiment of the present invention.

【図8】本発明の一実施例であるところのコントローラ
の内部構成図。
FIG. 8 is an internal configuration diagram of a controller that is an embodiment of the present invention.

【図9】本発明の他の一実施例であるところのコントロ
ーラの内部構成図。
FIG. 9 is an internal configuration diagram of a controller which is another embodiment of the present invention.

【図10】本発明の他の一実施例であるところのコント
ローラの内部構成図。
FIG. 10 is an internal configuration diagram of a controller which is another embodiment of the present invention.

【図11】本発明のさらに他の一実施例であるところの
コントローラの内部構成図。
FIG. 11 is an internal configuration diagram of a controller which is still another embodiment of the present invention.

【図12】本発明のさらに他の一実施例であるところの
コントローラの内部構成図。
FIG. 12 is an internal configuration diagram of a controller which is still another embodiment of the present invention.

【図13】機能プログラム可能なコントローラの全体ブ
ロック図。
FIG. 13 is an overall block diagram of a function programmable controller.

【図14】入出力間の接続を不揮発性メモリを用いてプ
ログラマブルとしたスイッチアレイの構成例。
FIG. 14 is a configuration example of a switch array in which a connection between input and output is programmable using a nonvolatile memory.

【図15】図10に示したスイッチアレイの中のメモリ
セルの構成例。
15 is a configuration example of a memory cell in the switch array shown in FIG.

【図16】スイッチアレイに予備領域を設けた実施例。FIG. 16 shows an embodiment in which a spare area is provided in the switch array.

【図17】マイクロプログラムメモリに不揮発性メモリ
を用いたプロセッサの内部構成例。
FIG. 17 is an internal configuration example of a processor using a nonvolatile memory as a micro program memory.

【図18】各プロセッサをプロセッサエレメントの組み
合せで構成した実施例。
FIG. 18 is an embodiment in which each processor is configured by a combination of processor elements.

【図19】I/O83の内部構成図。FIG. 19 is an internal configuration diagram of the I / O 83.

【図20】I/O83を1チップの半導体で実現した構
成図。
FIG. 20 is a configuration diagram in which the I / O 83 is realized by a one-chip semiconductor.

【図21】I/O83を1チップの半導体で実現した構
成図。
FIG. 21 is a configuration diagram in which the I / O 83 is realized by a one-chip semiconductor.

【図22】本発明のコントローラ1′を1チップの半導
体で実現した構成図。
FIG. 22 is a configuration diagram in which a controller 1'of the present invention is realized by a one-chip semiconductor.

【図23】本発明のコントローラ1′を1チップの半導
体で実現した構成図。
FIG. 23 is a configuration diagram in which a controller 1'of the present invention is realized by a one-chip semiconductor.

【図24】本発明の一実施例であるところのコントロー
ラの外観をそれぞれ示す図。
FIG. 24 is a diagram showing the appearance of a controller that is an embodiment of the present invention.

【図25】本発明の一実施例であるところのコントロー
ラの外観をそれぞれ示す図。
FIG. 25 is a diagram showing the appearance of a controller that is one embodiment of the present invention.

【図26】本発明の一実施例であるところのコントロー
ラの外観をそれぞれ示す図。
FIG. 26 is a diagram showing the appearance of a controller that is one embodiment of the present invention.

【図27】本発明の一実施例であるところのコントロー
ラの外観をそれぞれ示す図。
FIG. 27 is a diagram showing the appearance of a controller that is one embodiment of the present invention.

【図28】本発明における制御演算部の基本構成図。FIG. 28 is a basic configuration diagram of a control calculation unit according to the present invention.

【図29】本発明における制御演算部の全体概要図。FIG. 29 is an overall schematic diagram of a control calculation unit in the present invention.

【図30】出力計算部の構成。FIG. 30 is a configuration of an output calculation unit.

【図31】評価部の構成。FIG. 31 shows a configuration of an evaluation unit.

【図32】複数の評価基準を有する場合の全体概要図。FIG. 32 is an overall schematic diagram in the case of having a plurality of evaluation criteria.

【図33】ニューラルネットによって重み値を生成する
場合の基本構成図。
FIG. 33 is a basic configuration diagram when a weight value is generated by a neural network.

【図34】診断機能つきの分散型コントローラ構成図。FIG. 34 is a block diagram of a distributed controller with a diagnostic function.

【図35】分散システムの各コントローラの制約条件の
例図。
FIG. 35 is an example diagram of constraint conditions of each controller in the distributed system.

【図36】各コントローラの通信インタフェースの構成
図。
FIG. 36 is a configuration diagram of a communication interface of each controller.

【図37】異常情報フォーマット図。FIG. 37 is an abnormal information format diagram.

【図38】制約未充足時の異常信号送信処理の処理手順
図。
FIG. 38 is a processing procedure diagram of abnormal signal transmission processing when constraints are not satisfied.

【図39】不要情報判定アルゴリズムの処理手順図。FIG. 39 is a processing procedure diagram of an unnecessary information determination algorithm.

【図40】診断情報取込み判断処理手順図。FIG. 40 is a diagnostic information acquisition determination processing procedure chart.

【図41】故障情報の加工処理手順図。FIG. 41 is a processing procedure diagram of failure information.

【図42】異常情報の包含関係を示す例図。FIG. 42 is an exemplary diagram showing an inclusion relationship of abnormality information.

【図43】自律分散制御システムの論理的構成図。FIG. 43 is a logical configuration diagram of the autonomous distributed control system.

【図44】自律的なバックアップ依頼手順図。FIG. 44 is an autonomous backup request procedure diagram.

【図45】自律的なバックアップ受付手順図。FIG. 45 is an autonomous backup acceptance procedure diagram.

【図46】内部バックアップ手順図。FIG. 46 is an internal backup procedure diagram.

【図47】自律分散制御システムの物理的構成図。FIG. 47 is a physical configuration diagram of the autonomous distributed control system.

【図48】実行分担表を示す例図。FIG. 48 is an example diagram showing an execution allocation table.

【図49】タスク負荷表を示す例図。FIG. 49 is an example diagram showing a task load table.

【図50】外部受付順位表を示す例図。FIG. 50 is an example diagram showing an external reception ranking table.

【図51】自律分散制御システムのバックアップ方法を
示す例図。
FIG. 51 is an example diagram showing a backup method for an autonomous distributed control system.

【図52】1回目の内部バックアップにおける受付用タ
スクキューの例図。
FIG. 52 is an example diagram of a reception task queue in the first internal backup.

【図53】2回目の内部バックアップにおける受付用タ
スクキューの例図。
FIG. 53 is an example diagram of a reception task queue in the second internal backup.

【図54】1回目の外部バックアップにおける受付用タ
スクキューの例図。
FIG. 54 is an example diagram of a receiving task queue in the first external backup.

【図55】内部バックアップ後の実行分担表を示す例
図。
FIG. 55 is an example diagram showing an execution allocation table after internal backup.

【図56】内部バックアップ後の受付順位表を示す例
図。
FIG. 56 is an example diagram showing a reception order table after internal backup.

【符号の説明】[Explanation of symbols]

1,2,3,4,5,6,6000…コントローラ、4
0…NCP、41a,41b,41c,41d…ネット
ワーク接続用コネクタ、52,82,82a,82b,
82c,82d…グローバルメモリ、53…I/O、5
4,56,58,84,87,90,93…プロセッ
サ、55,57,59,85,88,91,94…ロー
カルメモリ、60,61,62,63…バス拡張用コネ
クタ、64…I/Oコネクタ、70a,70b,70
c,70d…バス、71a,71b,71c,71d…
シリアルデータ通信用のバス、72a,72b,72
c,72d…故障通知用のバス、83a,83b,83
c,83d…入出力処理装置(I/O)、86,89,
92,95…ランアダプタ、100…プラント、70
1,702,703,704…コントローラ1のプロセ
ッサ、711,712,713,714…コントローラ2
のプロセッサ、721,722,723,724…コン
トローラ3のプロセッサ、731,732,733,7
34…コントローラ4のプロセッサ、1000…ネット
ワークワーク、2001…センサ等からの入力データ、
2002…入力データ、2003…出力データ、200
4…アクチュエータ等への出力データ、2010…セン
サ等、2011…入力処理部、2012…出力計算部、
2013…出力処理部、2014…アクチュエータ等、
2015…評価部、1200…マンマシン装置、201
7…タッチパネル,マウス等のポインティングデバイ
ス、2021…重み付け部、2022…出力データ合成
部、2101…ニューラルネットワーク、2102…出
力生成手段2、2103…出力生成手段3、2122…
重み値更新信号、6110,6210,6310,64
10…通信手段、6120,6220,6320,64
20…バックアップ依頼手段、6130,6230,6
330,6430…バックアップ受付手段、6140,
6240,6340,6440…スケジューラ、615
0,6250,6350,6450…制御手段、616
0,6260,6360,6460…記憶手段、617
0,6270,6370,6470…内部バックアップ
手段、6180,6280,6380,6480…切り
離し手段、6811…汎用エンジン(GE)、6812
…ニューラルエンジン(NE)、6813…シーケンス
エンジン(SE)、6814…ランアダプタ(LA)、
6815…フリーランタイマ(FRT)、6816…ロ
ーカルメモリ(LM)、6817…バスインタフェース
(BIF)、6818…ダイレクトメモリアクセス制御
(DMAC)、6819…プロセッサ内のバス、682
0…故障制御回路。
1, 2, 3, 4, 5, 6, 6000 ... Controller, 4
0 ... NCP, 41a, 41b, 41c, 41d ... Network connection connector, 52, 82, 82a, 82b,
82c, 82d ... Global memory, 53 ... I / O, 5
4, 56, 58, 84, 87, 90, 93 ... Processor, 55, 57, 59, 85, 88, 91, 94 ... Local memory, 60, 61, 62, 63 ... Bus expansion connector, 64 ... I / O connector, 70a, 70b, 70
c, 70d ... Bus, 71a, 71b, 71c, 71d ...
Buses for serial data communication, 72a, 72b, 72
c, 72d ... Bus for notification of failure, 83a, 83b, 83
c, 83d ... Input / output processing device (I / O), 86, 89,
92, 95 ... Run adapter, 100 ... Plant, 70
1, 702, 703, 704 ... Processor of controller 1, 711, 712, 713, 714 ... Controller 2
Processor, 721, 722, 723, 724 ... Processor of controller 3, 731, 732, 733, 7
34 ... Processor of controller 4, 1000 ... Network work, 2001 ... Input data from sensor, etc.
2002 ... Input data, 2003 ... Output data, 200
4 ... Output data to actuator etc. 2010 ... Sensor etc. 2011 ... Input processing unit 2012 ... Output calculation unit,
2013 ... Output processing unit, 2014 ... Actuator, etc.
2015 ... Evaluation unit, 1200 ... Man-machine device, 201
7 ... Pointing device such as touch panel and mouse, 2021 ... Weighting unit, 2022 ... Output data synthesizing unit, 2101 ... Neural network, 2102 ... Output generating means 2, 2103 ... Output generating means 3, 2122 ...
Weight value update signal, 6110, 6210, 6310, 64
10 ... Communication means, 6120, 6220, 6320, 64
20 ... Backup requesting means, 6130, 6230, 6
330, 6430 ... Backup acceptance means, 6140,
6240, 6340, 6440 ... Scheduler, 615
0, 6250, 6350, 6450 ... Control means, 616
0, 6260, 6360, 6460 ... Storage means, 617
0, 6270, 6370, 6470 ... Internal backup means, 6180, 6280, 6380, 6480 ... Separation means, 6811 ... General-purpose engine (GE), 6812
... Neural engine (NE), 6813 ... Sequence engine (SE), 6814 ... Run adapter (LA),
6815 ... Free-run timer (FRT), 6816 ... Local memory (LM), 6817 ... Bus interface (BIF), 6818 ... Direct memory access control (DMAC), 6819 ... Bus in processor, 682
0 ... Failure control circuit.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 柴田 克成 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 松原 清 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 諸岡 泰男 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 舩橋 誠壽 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Katsunari Shibata, 1-280, Higashi Koikekubo, Kokubunji City, Tokyo, Central Research Laboratory, Hitachi, Ltd. (72) Inventor, Kiyoshi Matsubara 5-2-1, Josuihonmachi, Kodaira-shi, Tokyo Incorporated company Hitachi Ltd. Semiconductor Division (72) Inventor Yasuo Morooka 7-1, 1-1 Omika-cho, Hitachi City, Ibaraki Prefecture Incorporated Hitachi Ltd. Hitachi Research Laboratory (72) Inventor Makoto Funabashi 1099 Ozenji, Aso-ku, Kawasaki City, Kanagawa Prefecture Bachi Co., Ltd. Hitachi, Ltd. System Development Laboratory

Claims (21)

【特許請求の範囲】[Claims] 【請求項1】複数の制御対象機器を有するプロセスの制
御装置において制御対象機器に制御指令を発するコント
ローラを各制御対象機器に対応して現場設置したことを
特徴とする分散制御装置。
1. A distributed control device comprising: a controller for a process having a plurality of control target devices, wherein a controller for issuing a control command to the control target devices is installed on site corresponding to each control target device.
【請求項2】複数のプロセッサからなる制御システム用
コントローラにおいて各コントローラ内の複数のプロセ
ッサは自己の健全/異常の判別手段、プロセッサの負荷
を測定または予測する手段を有し、一つのプロセッサが
異常または負荷オーバーとなることを予測または検知し
た場合、他のプロセッサが負荷の代替を行うことを特徴
とするコントローラ。
2. In a controller for a control system comprising a plurality of processors, the plurality of processors in each controller have their own soundness / abnormality determining means and means for measuring or predicting the load of the processor, and one processor is abnormal. Alternatively, when predicting or detecting that the load will be overloaded, another processor substitutes the load.
【請求項3】複数のコントローラと各コントローラを接
続する伝送手段を有する分散制御システムにおいて各コ
ントローラのうち少なくとも一台のコントローラは複数
のプロセッサから構成され、該コントローラ内の複数の
プロセッサは自己の健全/異常の判別手段、プロセッサ
の負荷を測定または予測する手段を有し、一つのプロセ
ッサが異常または負荷オーバーとなることを予測または
検知した場合、同一コントローラ内の他のプロセッサが
負荷の代替を行うことを特徴とする分散制御システム。
3. In a distributed control system having a plurality of controllers and a transmission means for connecting the respective controllers, at least one controller among the controllers is composed of a plurality of processors, and the plurality of processors in the controllers are self-healing. / Abnormality determination means and means for measuring or predicting processor load, and when one processor is predicted or detected to be abnormal or overloaded, another processor in the same controller substitutes the load. A distributed control system characterized by the above.
【請求項4】複数のコントローラと各コントローラを接
続する伝送手段を有する分散制御システムにおいて各コ
ントローラのうち少なくとも一台のコントローラはメモ
リまたは入出力を共有する複数のプロセッサから構成さ
れ、該伝送手段は該コントローラ内プロセッサ群の正
常、異常に関係なく該コントローラの上記メモリまたは
入出力の内容を読み書きできるように構成したことを特
徴とする分散制御システム。
4. In a distributed control system having a plurality of controllers and a transmission means for connecting the controllers, at least one controller among the controllers is composed of a memory or a plurality of processors sharing input / output, and the transmission means is A distributed control system characterized in that the contents of the memory or the input / output of the controller can be read / written regardless of whether the processor group in the controller is normal or abnormal.
【請求項5】複数のコントローラと各コントローラを接
続する伝送手段を有する分散制御システムにおいて少な
くとも一台のコントローラは複数のプロセッサから構成
され、上記プロセッサ群は上記伝送手段を制御する通信
プロセッサを含み、該通信プロセッサが故障時は他のプ
ロセッサが通信プロセッサを代替するように構成したこ
とを特徴とする分散制御システム。
5. In a distributed control system having a plurality of controllers and a transmission means for connecting the respective controllers, at least one controller is composed of a plurality of processors, and the processor group includes a communication processor for controlling the transmission means. A distributed control system characterized in that when the communication processor fails, another processor substitutes for the communication processor.
【請求項6】複数のコントローラと各コントローラを接
続する伝送手段を有する分散制御システムにおいて少な
くとも一台のコントローラは複数のプロセッサから構成
され、上記プロセッサのうち一つのプロセッサが故障時
は他のプロセッサが該故障プロセッサを代替するように
構成したことを特徴とする分散制御システム。
6. In a distributed control system having a plurality of controllers and a transmission means for connecting the controllers, at least one controller is composed of a plurality of processors, and when one of the processors fails, another processor A distributed control system configured to replace the faulty processor.
【請求項7】複数のプロセッサからなる制御システム用
コントローラにおいて、各プロセッサの故障を検出する
第1の手段(6180)と、各プロセッサの負荷状況を
記憶する第2の手段(6160)と、各プロセッサの負
荷を制御する第3の手段(6170)を有し、第1の手
段(6180)が一つのプロセッサの故障を検出した場
合に、第2の手段(6160)に記憶された各プロセッ
サの負荷状況に応じて第3の手段(6170)が故障し
たプロセッサの負荷を他の一つ以上のプロセッサに対し
て分割して代替させることを特徴とするコントローラ。
7. A controller for a control system comprising a plurality of processors, comprising first means (6180) for detecting a failure of each processor, second means (6160) for storing a load status of each processor, and A third means (6170) for controlling the load of the processor, and when the first means (6180) detects the failure of one processor, the second means (6160) stores each processor A controller characterized in that the third means (6170) divides the load of the failed processor into one or more other processors and substitutes them according to the load status.
【請求項8】複数のプロセッサを有し、各プロセッサが
複数のタスクを実行している制御システム用コントロー
ラにおいて、各プロセッサの故障を検出する第1の手段
(6180)と、各プロセッサの負荷状況を記憶する第
2の手段(6160)と、各プロセッサの負荷を制御す
る第3の手段(6170)を有し、第1の手段(618
0)が一つのプロセッサの故障を検出した場合に、第2
の手段(6160)に記憶された各プロセッサの負荷状況
に応じて第3の手段(6170)が故障したプロセッサ
のタスクを他の一つ以上のプロセッサに対して選択して
代替させることを特徴とするコントローラ。
8. In a controller for a control system having a plurality of processors, each processor executing a plurality of tasks, first means (6180) for detecting a failure of each processor, and a load condition of each processor. And a third means (6170) for controlling the load of each processor, and a first means (618).
0) detects the failure of one processor, the second
The third means (6170) selects and substitutes the task of the failed processor for one or more other processors according to the load status of each processor stored in the means (6160). The controller to do.
【請求項9】複数のプロセッサからなり、各プロセッサ
が複数のタスクを実行している制御システム用コントロ
ーラにおいて、各プロセッサの故障を検出する第1の手
段(6180)と、各プロセッサの負荷状況を記憶する
第2の手段(6160)と、各プロセッサの負荷を制御
する第3の手段(6170)を有し、第1の手段(61
80)が一つのプロセッサの故障を検出した場合に、第
2の手段(6160)に記憶された各プロセッサの負荷状
況に基づいて、第3の手段(6170)が故障したプロ
セッサのタスクと他の一つ以上のプロセッサが実行して
いるタスクとからその一つ以上のプロセッサの各々が実
行するタスクを選択し、それらプロセッサが選択された
タスクを実行することを特徴とするコントローラ。
9. A controller for a control system comprising a plurality of processors, each processor executing a plurality of tasks, comprising: first means (6180) for detecting a failure of each processor; and load status of each processor. The first means (61) has a second means (6160) for storing and a third means (6170) for controlling the load of each processor.
When 80) detects the failure of one processor, the third means (6170) determines the task of the failed processor and other tasks based on the load status of each processor stored in the second means (6160). A controller which selects a task to be executed by each of the one or more processors from the tasks being executed by the one or more processors, and the processors execute the selected task.
【請求項10】複数のプロセッサを有する制御システム
用コントローラにおいて、各プロセッサの負荷を検出す
る第1の手段(6140)と、各プロセッサの負荷状況
を記憶する第2の手段(6160)と、各プロセッサの
負荷を制御する第3の手段(6170)を有し、第1の
手段(6140)が一つのプロセッサの負荷オーバを検
出した場合に、第2の手段(6160)に記憶された各
プロセッサの負荷状況に応じて第3の手段(6170)
が負荷オーバとなったプロセッサの負荷を一つ以上のプ
ロセッサに対して分割して代替させることを特徴とする
コントローラ。
10. In a controller for a control system having a plurality of processors, first means (6140) for detecting the load of each processor, second means (6160) for storing the load status of each processor, and Each processor has a third means (6170) for controlling the load of the processor, and when the first means (6140) detects an overload of one processor, each processor stored in the second means (6160). Means (6170) depending on the load situation of
A controller that divides the load of the processor whose load is over to one or more processors and substitutes it.
【請求項11】複数のプロセッサからなり、各プロセッ
サが複数のタスクを実行している制御システム用コント
ローラにおいて、各プロセッサの負荷を検出する第1の
手段(6140)と、各プロセッサの負荷状況を記憶す
る第2の手段(6160)と、各プロセッサの負荷を制
御する第3の手段(6170)を有し、第1の手段(6
140)が一つのプロセッサの負荷オーバを検出した場
合に、第2の手段(6160)に記憶された各プロセッサ
の負荷状況に応じて第3の手段(6170)が負荷オーバ
となったプロセッサのタスクを一つ以上のプロセッサに
対して選択して代替させることを特徴とするコントロー
ラ。
11. A controller for a control system comprising a plurality of processors, each processor executing a plurality of tasks, comprising: a first means (6140) for detecting a load on each processor; and a load status of each processor. The first means (6) has a second means (6160) for storing and a third means (6170) for controlling the load of each processor.
140) detects an overload of one processor, the third means (6170) performs the task of the processor that is overloaded according to the load status of each processor stored in the second means (6160). A controller that selects and replaces one or more processors.
【請求項12】複数のプロセッサを有し、各プロセッサ
が複数のタスクを実行している制御システム用コントロ
ーラにおいて、各プロセッサの負荷を検出する第1の手
段(6140)と、各プロセッサの負荷状況を記憶する
第2の手段(6160)と、各プロセッサの負荷を制御
する第3の手段(6170)を有し、第1の手段(61
40)が一つのプロセッサの負荷オーバを検出した場合
に、第2の手段(6160)に記憶された各プロセッサ
の負荷状況に基づいて、第3の手段(6170)が負荷
オーバとなったプロセッサのタスクと他の一つ以上のプ
ロセッサが実行しているタスクとからその一つ以上のプ
ロセッサの各々が実行するタスクを選択し、それらプロ
セッサが選択されたタスクを実行することを特徴とする
コントローラ。
12. In a controller for a control system having a plurality of processors, each processor executing a plurality of tasks, first means (6140) for detecting the load of each processor, and the load status of each processor. And a third means (6170) for controlling the load of each processor, and a first means (61).
40) detects that one processor is overloaded, the third means (6170) determines the overloaded processor based on the load status of each processor stored in the second means (6160). A controller characterized by selecting a task to be executed by each of the one or more processors from a task and a task being executed by one or more other processors, and the processors executing the selected task.
【請求項13】複数のコントローラと各コントローラを
接続するネットワークを有する分散制御システムにおい
て、各コントローラは自コントローラの負荷を測定し測
定した負荷をネットワークに送信する第1の手段(61
40)と、任意のコントローラの負荷の代替を他のコン
トローラに依頼する第2の手段(6120)と、他のコ
ントローラから代替の依頼に対して自己の負荷状況に基
づき回答する手段をする第3の手段を有し、何れかのコ
ントローラが負荷オーバあるいは故障した場合、その負
荷オーバあるいは故障を検出したコントローラの第2の
手段は各第1の手段から伝えられた負荷状況に応じて負
荷の代替を依頼するコントローラを定め負荷の代替を依
頼し、依頼されたコントローラの第3の手段は自己の負
荷状況に応じて代替する負荷を定めこの負荷の実行を制
御すると共にこの代替状況を回答することを特徴とした
分散制御システム。
13. In a distributed control system having a network connecting a plurality of controllers and each controller, each controller measures the load of its own controller and transmits the measured load to the network (61).
40), second means (6120) for requesting another controller to substitute the load of an arbitrary controller, and third means for responding to the alternative request from another controller based on its own load status. When any of the controllers has an overload or a failure, the second means of the controller which detects the overload or the failure replaces the load in accordance with the load condition transmitted from each first means. Requesting the substitution of the load, and the third means of the requested controller defines the substitute load according to its own load situation, controls the execution of this load, and replies this substitution situation. A distributed control system featuring.
【請求項14】複数のコントローラと各コントローラを
接続する伝送手段を有する分散制御システムにおいて少
なくとも一台のコントローラはグローバルメモリまたは
入出力を共有する複数のプロセッサから構成され、上記
プロセッサはキャッシュメモリおよび該キャッシュメモ
リの内容とグローバルメモリの内容一致化手段を有し、
グローバルメモリの内容または入出力の内容は上記伝送
手段を介して他のコントローラから読み取り可能なよう
に構成したことを特徴とする分散制御システム。
14. In a distributed control system having a plurality of controllers and a transmission means for connecting the respective controllers, at least one controller comprises a global memory or a plurality of processors sharing input / output, said processor comprising a cache memory and said processor. It has means for matching the contents of the cache memory and the contents of the global memory,
A distributed control system characterized in that the contents of the global memory or the contents of input / output can be read from another controller via the transmission means.
【請求項15】複数のコントローラと各コントローラを
接続する伝送手段からなる分散制御システムにおいて少
なくとも一台以上のコントローラは入出力有し、該入出
力の接続がプログラマブルであることを特徴とする分散
制御システム。
15. A distributed control system comprising a plurality of controllers and transmission means for connecting the respective controllers, wherein at least one controller has an input / output, and the connection of the input / output is programmable. system.
【請求項16】複数のコントローラを有する分散制御シ
ステムにおいて少なくとも一台のコントローラは複数の
プロセッサから構成され、該複数のプロセッサ各々は自
己の健全/異常の判別手段、各プロセッサの負荷を測定
する手段を有し、一つのプロセッサが負荷オーバーにな
ると、他のプロセッサのうち最も負荷の小さいプロセッ
サが負荷の代替を行うことを特徴とする分散制御システ
ム。
16. In a distributed control system having a plurality of controllers, at least one controller is composed of a plurality of processors, and each of the plurality of processors determines its own soundness / abnormality, and measures the load of each processor. And a processor having the least load, among the other processors, the processor with the smallest load replaces the load.
【請求項17】複数のプロセッサを有する制御システム
用コントローラにおいて、該複数のプロセッサのうち少
なくとも一つのプロセッサはニューロ演算,ファジィ演
算,数値演算またはシーケンス演算を実行することを特
徴とするコントローラ。
17. A controller for a control system having a plurality of processors, wherein at least one of the plurality of processors executes a neuro operation, a fuzzy operation, a numerical operation or a sequence operation.
【請求項18】それぞれが情報を格納するメモリを有す
る複数のプロセッサと上記各メモリ、各プロセッサ及び
外部のネットワークとの間で上記メモリの情報を授受す
るために上記相互を連絡する伝送線と少なくとも一つの
プロセッサにネットワークと各メモリ間の情報授受を制
御するネットワーク制御機能を設定する手段とを有し、
上記手段により特定された一つのプロセッサによって、
上記ネットワークと上記メモリ間の情報授受を制御する
ようにしたことを特徴とするコントローラ。
18. A transmission line, which communicates with each other for exchanging information in the memory between a plurality of processors each having a memory for storing information, each memory, each processor and an external network. One processor has means for setting a network control function for controlling information exchange between the network and each memory,
By one processor identified by the above means,
A controller characterized by controlling information exchange between the network and the memory.
【請求項19】センサ等からの入力を用いて制御出力を
求める制御システムにおいて、該入力から少なくとも1
つのニューラルネットワークを含む複数の手段または方
法によって計算される複数の出力を、重み付けして総合
することによって制御出力を生成し、かつ該重み付けの
値を学習によって更新していくことを特徴とする適応的
制御システム。
19. In a control system for obtaining a control output using an input from a sensor or the like, at least one of the inputs
An adaptation characterized in that a plurality of outputs calculated by a plurality of means or methods including one neural network are weighted and combined to generate a control output, and the value of the weighting is updated by learning. Control system.
【請求項20】複数のコントローラをネットワークで接
続して制御を実行する分散制御システムにおいて、該複
数のコントローラにおいて感知した異常をネットワーク
上に送信するか否かの判定をネットワークからの受信情
報に基づいて各コントローラで実行する分散型コントロ
ーラの診断方式。
20. In a distributed control system for executing control by connecting a plurality of controllers via a network, it is determined whether or not an abnormality detected by the plurality of controllers is to be transmitted to the network based on information received from the network. A distributed controller diagnostic method executed by each controller.
【請求項21】それぞれの機能及び相互接続がプログラ
マブルなプロセッサを複数内蔵するシングルチップコン
トローラ。
21. A single-chip controller containing a plurality of processors each having a programmable function and interconnection.
JP01229395A 1995-01-30 1995-01-30 Distributed control system Expired - Fee Related JP3244982B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01229395A JP3244982B2 (en) 1995-01-30 1995-01-30 Distributed control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01229395A JP3244982B2 (en) 1995-01-30 1995-01-30 Distributed control system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001166491A Division JP2002049405A (en) 2001-06-01 2001-06-01 Distributed controller and system and controller

Publications (2)

Publication Number Publication Date
JPH08202409A true JPH08202409A (en) 1996-08-09
JP3244982B2 JP3244982B2 (en) 2002-01-07

Family

ID=11801292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01229395A Expired - Fee Related JP3244982B2 (en) 1995-01-30 1995-01-30 Distributed control system

Country Status (1)

Country Link
JP (1) JP3244982B2 (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10304696A (en) * 1997-04-21 1998-11-13 Toshiba Corp Motor-controlled system
JP2000284808A (en) * 1999-03-31 2000-10-13 Mitsubishi Electric Corp Vehicle control communication system
JP2001502085A (en) * 1996-10-04 2001-02-13 フィッシャー コントロールズ インターナショナル,インコーポレイテッド Method and apparatus for debugging and tuning a process control network with distributed control functions
JP2001514403A (en) * 1997-08-22 2001-09-11 ヒノミクス・コーポレーション Hybrid control architecture of multiple agents for intelligent real-time control of distributed nonlinear processes
JP2001251702A (en) * 2000-03-06 2001-09-14 Toshiba Corp Electric car control device
JP2002049602A (en) * 2000-08-02 2002-02-15 Ricoh Co Ltd Retrieval system
JP2003233403A (en) * 2002-02-06 2003-08-22 Toshiba Corp Control apparatus and programming apparatus
JP2004005569A (en) * 2002-05-16 2004-01-08 Hewlett Packard Co <Hp> System and method for orienting (directing) flow of data and instruction to at least one functional unit
JP2004140677A (en) * 2002-10-18 2004-05-13 Denso Corp Vehicle communication system
JP2004519054A (en) * 2001-03-02 2004-06-24 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング Control / evaluation system for sensors
JP2005512174A (en) * 2001-12-04 2005-04-28 ダイムラークライスラー・アクチェンゲゼルシャフト Control device
JP2006511856A (en) * 2002-12-19 2006-04-06 インターナショナル・ビジネス・マシーンズ・コーポレーション TCET extension mechanism
JP2010503816A (en) * 2006-09-18 2010-02-04 エス・エム・エス・ジーマーク・アクチエンゲゼルシャフト Method and furnace for operating a molten metal furnace
US7900205B2 (en) 2004-03-31 2011-03-01 Toyota Jidosha Kabushiki Kaisha System and method for executing selected task based on task management table having at least one task and at least two associated processors
WO2013140517A1 (en) * 2012-03-19 2013-09-26 富士通株式会社 Detection device, notification method, and notification program
US8589930B2 (en) 2002-03-22 2013-11-19 Toyota Jidosha Kabushiki Kaisha Determining whether to execute a new task by deleting task objects of existing tasks
KR101445531B1 (en) * 2012-06-26 2014-09-29 도시바 미쓰비시덴키 산교시스템 가부시키가이샤 Data collection system, data collection device, recording medium for data collection system program, and recording medium for data collection program
JP2019028824A (en) * 2017-08-01 2019-02-21 株式会社日立製作所 Plant control device and method of controlling the same, rolling machine control apparatus and control method and program therefor
JP2022136092A (en) * 2018-05-04 2022-09-15 アップル インコーポレイテッド Systems and methods for assigning tasks in neural network processor
DE102012200181B4 (en) 2012-01-09 2024-06-20 Robert Bosch Gmbh Control devices on board the motor vehicle

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001502085A (en) * 1996-10-04 2001-02-13 フィッシャー コントロールズ インターナショナル,インコーポレイテッド Method and apparatus for debugging and tuning a process control network with distributed control functions
JPH10304696A (en) * 1997-04-21 1998-11-13 Toshiba Corp Motor-controlled system
JP2001514403A (en) * 1997-08-22 2001-09-11 ヒノミクス・コーポレーション Hybrid control architecture of multiple agents for intelligent real-time control of distributed nonlinear processes
JP2000284808A (en) * 1999-03-31 2000-10-13 Mitsubishi Electric Corp Vehicle control communication system
JP2001251702A (en) * 2000-03-06 2001-09-14 Toshiba Corp Electric car control device
JP2008245521A (en) * 2000-03-06 2008-10-09 Toshiba Corp Electric vehicle control unit
JP2002049602A (en) * 2000-08-02 2002-02-15 Ricoh Co Ltd Retrieval system
JP2004519054A (en) * 2001-03-02 2004-06-24 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング Control / evaluation system for sensors
JP2005512174A (en) * 2001-12-04 2005-04-28 ダイムラークライスラー・アクチェンゲゼルシャフト Control device
JP2003233403A (en) * 2002-02-06 2003-08-22 Toshiba Corp Control apparatus and programming apparatus
US8589930B2 (en) 2002-03-22 2013-11-19 Toyota Jidosha Kabushiki Kaisha Determining whether to execute a new task by deleting task objects of existing tasks
JP2004005569A (en) * 2002-05-16 2004-01-08 Hewlett Packard Co <Hp> System and method for orienting (directing) flow of data and instruction to at least one functional unit
JP2004140677A (en) * 2002-10-18 2004-05-13 Denso Corp Vehicle communication system
US8086771B2 (en) 2002-12-19 2011-12-27 International Business Machines Corporation TCET expander
JP2006511856A (en) * 2002-12-19 2006-04-06 インターナショナル・ビジネス・マシーンズ・コーポレーション TCET extension mechanism
US7900205B2 (en) 2004-03-31 2011-03-01 Toyota Jidosha Kabushiki Kaisha System and method for executing selected task based on task management table having at least one task and at least two associated processors
JP2010503816A (en) * 2006-09-18 2010-02-04 エス・エム・エス・ジーマーク・アクチエンゲゼルシャフト Method and furnace for operating a molten metal furnace
DE102012200181B4 (en) 2012-01-09 2024-06-20 Robert Bosch Gmbh Control devices on board the motor vehicle
WO2013140517A1 (en) * 2012-03-19 2013-09-26 富士通株式会社 Detection device, notification method, and notification program
US9465646B2 (en) 2012-03-19 2016-10-11 Fujitsu Limited Detection apparatus, notification method, and computer product
KR101445531B1 (en) * 2012-06-26 2014-09-29 도시바 미쓰비시덴키 산교시스템 가부시키가이샤 Data collection system, data collection device, recording medium for data collection system program, and recording medium for data collection program
JP2019028824A (en) * 2017-08-01 2019-02-21 株式会社日立製作所 Plant control device and method of controlling the same, rolling machine control apparatus and control method and program therefor
JP2022136092A (en) * 2018-05-04 2022-09-15 アップル インコーポレイテッド Systems and methods for assigning tasks in neural network processor

Also Published As

Publication number Publication date
JP3244982B2 (en) 2002-01-07

Similar Documents

Publication Publication Date Title
JP3244982B2 (en) Distributed control system
JP2007257657A (en) Distributed control apparatus, system, and controller
US5796936A (en) Distributed control system in which individual controllers executed by sharing loads
CN102608965B (en) Upgrade in process device and the method and apparatus controlling redundancy is provided
JP3234949B2 (en) Flexible way to create recipes in process control systems
US20060111825A1 (en) Vehicle network system and component of network
CN101398686A (en) Adaptive industrial systems via embedded historian data
JP2003263219A (en) Problem partitioning method and system
CN110750351B (en) Multi-core task scheduler, multi-core task scheduling method, multi-core task scheduling device and related products
JP2006309345A (en) Parallel-type monitoring control system and update method of firmware of parallel-type controller of same system
CN104303117B (en) System and method for robust real-time control of regular automated production
JP2002049405A (en) Distributed controller and system and controller
CN102929725A (en) Dynamic reconfiguration method of signal processing parallel computing software
CN110402430A (en) Control device, control method and control program
JP2608593B2 (en) Failure diagnosis method
CN114968601B (en) Scheduling method and scheduling system for AI training jobs with resources reserved in proportion
JP2006031731A (en) Distributed control system and controller
US7890437B2 (en) Configuration and method for operating a technical installation
EP1579279A2 (en) Tcet expander
EP3686695A1 (en) Modularized model predictive control for industrial plants
JP2001325010A (en) Programmable controller system
JP3368370B2 (en) Load distribution apparatus and method
JP4186383B2 (en) Programmable controller system
US7729785B2 (en) Method and controller for program control of a computer program having multitasking capability
WO2020208915A1 (en) Control method and control device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071026

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081026

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091026

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091026

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101026

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111026

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121026

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121026

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131026

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees