JP2007257657A - Distributed control apparatus, system, and controller - Google Patents

Distributed control apparatus, system, and controller Download PDF

Info

Publication number
JP2007257657A
JP2007257657A JP2007122046A JP2007122046A JP2007257657A JP 2007257657 A JP2007257657 A JP 2007257657A JP 2007122046 A JP2007122046 A JP 2007122046A JP 2007122046 A JP2007122046 A JP 2007122046A JP 2007257657 A JP2007257657 A JP 2007257657A
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.)
Pending
Application number
JP2007122046A
Other languages
Japanese (ja)
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 JP2007122046A priority Critical patent/JP2007257657A/en
Publication of JP2007257657A publication Critical patent/JP2007257657A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a controller having various control functions in a distributed control system. <P>SOLUTION: The controller comprises a plurality of processors for executing numerical operation, sequence operation, neural network (NN), fuzzy and other controls. The controller is miniaturized by an LSI technique. Moreover, processor functions and I/O functions are programmable so that flexibility can be increased. A standard program whose programming is simple and a learning model such as NN are integrated for weighting and adding a plurality of calculated outputs to generate output data. Also, the value of weighting is updated according to learning. Thus, it is possible to implement a distributed control system having various control functions such as numerical operation control, sequence control, NN-applied control and fuzzy-applied control, and a controller for use therein. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は各種プロセス制御,プラント制御,車両制御等において複数の制御装置(コントローラ)を用いて分散制御を行う分散制御システムに関する。   The present invention relates to a distributed control system that performs distributed control using a plurality of control devices (controllers) in various process control, plant control, vehicle control, and the like.

従来からプラント制御システムの例では、複数のコントローラを分散して制御を行う分散制御システム、DCS(Distributed Control System)と呼ばれる制御システムがある。このDCSは複数のコントローラとマンマシンシステムとしてのオペレーターズコンソールをネットワークで結びプラントを制御しようとするものである。しかし、分散システムといってもコントローラ自体は計器室、電気室あるいは計算機室等と呼ばれる専用の設置スペースに集中配置し、そこからプラントのセンサあるいはアクチュエータへ入出力ケーブルを接続するのが常であった。しかし、この方法ではコントローラの専用設置スペースが必要になることと、コントローラの入出力とプラント間の接続ケーブルの敷設に費用がかかるという問題点があった。   Conventional examples of plant control systems include a distributed control system that performs control by distributing a plurality of controllers, and a control system called DCS (Distributed Control System). This DCS is intended to control a plant by connecting a plurality of controllers and an operator's console as a man-machine system through a network. However, even in a distributed system, the controller itself is usually placed centrally in a dedicated installation space called an instrument room, electrical room, or computer room, and I / O cables are connected to plant sensors or actuators from there. It was. However, this method has a problem that a dedicated installation space for the controller is required, and that it is expensive to install the connection cable between the input / output of the controller and the plant.

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

また、一般には一つのプラントは複数の制御対象グループから構成され、さらに一つの制御対象グループは複数の制御対象機器から構成されている。そこで、一つのコントローラでどれだけの制御対象機器を掌握するかが従来から議論されている。一般には、一台のコントローラで掌握する制御対象機器が少なければ少ないほど、一台のコントローラが故障してもその影響範囲は小さくなり危険分散化が図れるが、コントローラ間の通信量は増大するという問題があった。   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. Thus, it has been discussed in the past how many devices to be controlled with a single controller. In general, the smaller the number of devices to be controlled by a single controller, the smaller the influence range of a single controller will be and its risk distribution will be reduced, but the communication volume between controllers will increase. There was a problem.

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

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

また、コントローラのプログラミングに関しては、従来各制御部のプログラムをユーザが逐一書いていた。一般的には、より良い制御性能を得ようとするとプログラムは複雑化する。また、従来のプログラムでは、経時変化や環境の変化、ユーザの好みに柔軟に対応していくことが大変困難であった。そこで、ニューラルネットなどを使用して徐々に学習しながら制御性を良くするというアプローチがある。しかし、従来の学習によるアプローチでは所望の出力を得るまでに、非常に多くの学習,経験を積まなければならず、学習の初期においては所望とする制御出力とかけ離れたものしか得られないのが常である。一方、制御の初期段階から所望とする制御出力に近い値を得なければならないことも事実である。また、ユーザが持っている知識が優れている場合にはそれを最大限利用するといった方法が望れているが、ニューロ等による学習結果とユーザの知識のどちらが優れているかの判断が難しい。   In addition, with respect to controller programming, the user has conventionally written programs for each controller. In general, the program becomes complicated when trying to obtain better control performance. Also, with conventional programs, it has been very difficult to respond flexibly to changes over time, environmental changes, and user preferences. Therefore, there is an approach of improving controllability while gradually learning using a neural network or the like. However, in the conventional learning approach, a great deal of learning and experience must be gained before obtaining the desired output, and in the initial stage of learning, only what is far from the desired control output can be obtained. 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, when the knowledge possessed by the user is excellent, a method of maximizing the use of the knowledge is desired. However, it is difficult to determine whether the learning result by neuro or the like or the knowledge of the user is superior.

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

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

またさらに、分散制御システムの稼働率と信頼性の向上に関しては、1台のコントローラが故障(ダウン)した場合に他のコントローラがその負荷を代替(バックアップ)する方法が一般的である。例えば、特許文献1と特許文献2に示されるように、あるコントローラのダウンに対してバックアップするコントローラをあらかじめ定めておく方法が知られている。さらに、特許文献3と特許文献4に示されるように計算機システムでは各計算機の負荷状況に応じて、ダウンした計算機の負荷を分割し複数の計算機でバックアップする方式が知られている。ところが、前者の方法はバックアップ専用のコントローラを準備する必要があった。また、後者の方法は負荷の分散を集中管理しているためその集中管理用の計算機がダウンした場合、計算機システムの全体が停止する可能性があった。
特開昭62−177634号 特開昭63−118860号 特開平2−224169号 特開平3−296851号
Furthermore, with respect to improving the operating rate and reliability of the distributed control system, when one controller fails (down), another controller substitutes (loads) the load. For example, as shown in Patent Document 1 and Patent Document 2, a method is known in which a controller to be backed up for a certain controller down is determined in advance. Furthermore, as shown in Patent Document 3 and Patent Document 4, in computer systems, a method is known 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. However, the former method had to prepare a controller dedicated to backup. Further, since the latter method centrally manages load distribution, there is a possibility that the entire computer system may stop when the computer for centralized management goes down.
Japanese Patent Laid-Open No. 62-177634 JP 63-118860 JP-A-2-224169 JP-A-3-296851

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

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

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

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

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

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

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

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

またさらに、本発明が解決しようとするもう一つの課題は、コモンモード故障時に個々のコントローラから通信ネットワーク上に送信される故障情報を減じ、ネットワークの通信ネックによるシステムダウンが発生しにくい分散制御システムを提供することにある。   Furthermore, another problem to be solved by the present invention is that a distributed control system that reduces failure information transmitted from each controller to the communication network when a common mode failure occurs and is unlikely to cause a system down due to a network communication bottleneck. Is to provide.

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

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

さらに、汎用性をもったコントローラを実現するために、一つのコントローラを数値演算機能はもとよりニューロ、ファジィ、行列等を高速に演算するための並列演算機能を実行するプロセッサ、シーケンス制御演算を高速に実行するするプロセッサ、さらには、ネットワークとの通信機能を実行するプロセッサ等の複数のプロセッサから構成し、各機能を並列に実行可能とした。また、入出力及びプロセッサを機能プログラムできるチップを実現する方法も提供した。   Furthermore, in order to realize a versatile controller, a processor that executes a parallel operation function for high-speed operation of a neuro, fuzzy, matrix, etc. as well as a numerical operation function of one controller, and a sequence control operation at high speed A processor to be executed and a plurality of processors such as a processor to execute a communication function with a network are configured so that each function can be executed in parallel. In addition, a method for realizing a chip capable of function programming the input / output and the processor is also provided.

また、同一コントローラ内の一つのプロセッサがダウンしても他のプロセッサがその機能を代替できる手段を設けた。   In addition, there is provided means for allowing another processor to substitute its function even if one processor in the same controller goes down.

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

また、評価についても、状態の評価値をユーザに表示し、それをユーザが修正する手段を有し、さらに、新しい評価基準をユーザが定義すると共に、複数の評価値を何らかの加工をした後に最小値を求め、これを用いて出力の演算法を更新していくこととした。   As for the evaluation, the evaluation value of the state is displayed to the user, and the user has a means for correcting it. Further, the user defines a new evaluation standard, and at the least after processing a plurality of evaluation values. The value is obtained and the output calculation method is updated using this value.

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

さらに、ダウンしたコントローラの負荷を自律的に分割してバックアップするための手段は、各コントローラが実行しているタスクとその負荷状況を示す実行分担表と、各タスクを実行したときの負荷を示すタスク負荷表と、各コントローラの負荷状況によりどのコントローラが余裕がありバックアップを実行しやすいかを示す受付順位表とに基づきバックアップを依頼するバックアップ依頼手段と、前記表によりバックアップを受付可能か判定し受付けたか否かを回答するとともに受け付けたタスクの実行を指示するバックアップ受付手段とから構成される。   Furthermore, the means for autonomously dividing and backing up the load of the controller that has gone down shows the task that each controller is executing, the execution allocation table that shows the load status, and the load when each task is executed Backup request means for requesting backup based on the task load table and an acceptance order table indicating which controller has sufficient capacity depending on the load status of each controller and backup can be easily performed, and the table determines whether backup can be accepted. It comprises backup accepting means for answering whether or not it has been accepted and instructing execution of the accepted task.

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

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

プログラミングに関しては、ユーザは付与モデルとして比較的簡単なモデルをプログラムすればよい。学習の初期では付与モデルに従って動作をし、学習が進んでニューラルネットによる学習モデルの出力値が良くなるにつれてニューラルネットの出力に対する重み値を大きくしていくことができる。そしてさらに、状態の評価部を設け、その出力の時間微分によって出力データの評価を行うことで、前記重み値をユーザが意識することなく、学習によって次第に変化させていくことができる。また、該重み値を入力データからニューラルネットで求め、さらにそのニューラルネットを学習させることによって、付与モデルの出力が良いところではその出力を、学習モデルの出力の方が良い場合にはその出力の重みが大きくなるように場合によってその重み付けの仕方を変えることもできるようになる。   As for programming, the user may program a relatively simple model as the assigned model. In the initial stage of learning, the operation is performed according to the given 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. Furthermore, 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 conscious. In addition, the weight value is obtained from the input data by a neural network, and further, the neural network is trained so that the output of the given model is good and the output of the learning model is good when the output of the learning model is better. In some cases, the weighting method can be changed so that the weight is increased.

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

故障診断時のネットワーク負荷を低減する手段に関しては、各コントローラは、故障発生時に異常情報を入出力フィルタに送り、入出力フィルタは、送信された異常情報を含んだ異常情報がすでにネットワークに送信されているかどうかを各コントローラが格納している履歴情報を参照して判定し、送信された故障情報を含んだ異常情報がすでにネットワークに送信されていなければ該異常情報をネットワークに送信することにより、冗長な異常情報がネットワークに送信されることを防止することができる。   Regarding the means to reduce 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. By referring to the history information stored in each controller, and if the abnormality information including the transmitted failure information has not already been transmitted to the network, by transmitting the abnormality information to the network, It is possible to prevent redundant abnormality information from being transmitted to the network.

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

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

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

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

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

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

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

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

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

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

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

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

次に、本発明の一実施例の具体例の一つである鉄鋼圧延制御システムについて説明する。参考のため、従来の鉄鋼圧延制御システムを図2により説明する。ペイオフリール151,152は被圧延材のコイルであり、被圧延材180は入側処理ライン153,ルーパ154を経由して圧延機155,156,157,158にて圧延され最終製品181となりテンションリール159に巻き取られる。上記リール、圧延機等はモータ140,141,142,143,144,145,146で駆動される。各々のモータに対応したドライブ装置130,131,132,133,134,135,136は各モータを駆動するパワー回路である。従来はドライブ装置130,131,132,133,134,135,136は電力変換器190とそれを制御する専用の高速コントローラ195から構成されている。図2にはドライブ装置130の内部のみ図示したがドライブ装置131,132,133,134,135,136の内部構成も同様である。一方コントローラ1500,1501,1502,1503は板厚目標値,入側板厚,スタンド間張力などから各モータのスピード指令を計算して各ドライブ装置に指令値を出力する構成を取っていた。   Next, a steel rolling control system that is one specific example 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 payoff reels 151 and 152 are coils of a material to be rolled, and the material to be rolled 180 is rolled by rolling mills 155, 156, 157, and 158 via an entry side processing line 153 and a looper 154 to become a final product 181. 159 is wound up. The reels, rolling mills and the like are driven by motors 140, 141, 142, 143, 144, 145, and 146. The drive devices 130, 131, 132, 133, 134, 135, 136 corresponding to the respective motors are power circuits that drive the respective motors. Conventionally, the drive devices 130, 131, 132, 133, 134, 135, 136 are composed of a power converter 190 and a dedicated high-speed controller 195 that controls the power converter 190. Although only the inside of the drive device 130 is illustrated in FIG. 2, the internal configuration of the drive devices 131, 132, 133, 134, 135, 136 is the same. On the other hand, the controllers 1500, 1501, 1502, and 1503 are configured to calculate the speed command of each motor from the plate thickness target value, the entry side plate thickness, the tension between the stands, and the like and output the command value to each drive device.

本制御システムの運転監視はマンマシン装置1200,1201にて行う。各コントローラ及びマンマシン装置の間はネットワーク1000で結合されている。   The operation monitoring of this control system is performed by man-machine devices 1200 and 1201. Each controller and man-machine device are connected by a network 1000.

図3は本発明を適用した鉄鋼圧延制御システムを示す。本実施例では各モータドライブ装置161,162,163,164,165,166,167に一対一でコントローラ11,12,13,14,15,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, controllers 11, 12, 13, 14, 15, 16, and 17 are assigned to the motor drive devices 161, 162, 163, 164, 165, 166, and 167 on a one-to-one basis. Moreover, each of the motor drive devices 161, 162, 163, 164, 165, 166, and 167 is composed of only the power converter 190, and there is no dedicated controller as in the prior art. 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.

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

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

コントローラ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 rotational speed and rotational angle of the engine, the angle at which the accelerator pedal is depressed, the temperature of the engine cooling water, and the temperature of the exhaust purification catalyst. In accordance with 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 manipulated according to the state quantity. These operations increase engine efficiency and increase 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 purification catalyst are lower than the proper temperature, the controller 21 slightly advances the ignition timing in order to quickly warm them. When the controller 28 notifies the lighting of the headlamp and the operation of the cooling device via the network 1000, the controller 21 slightly opens the throttle to increase the engine output in order to prevent engine stop and vehicle speed fluctuation. 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 so that the vehicle speed does not greatly exceed the specific value. When the controller 22 notifies via the network 1000 that a shift is in progress, the controller 21 adjusts the engine output so that the acceleration changes smoothly before and after the shift. When the accelerator pedal depression angle suddenly increases, the controller 21 determines that the driving vehicle requires rapid acceleration. And this controller 21 requests | requires the stop of a cooling device with respect to the controller 28 via the network 1000, in order to use the output of the engine currently consumed with the cooling device for a vehicle acceleration. At the same time, the controller 22 is requested to shift down.

コントローラ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 the detected vehicle speed. At this time, the vehicle speed serving as a reference for shifting is changed according to the throttle opening degree notified by the controller 21 via the network 1000, the rotational speed of the engine, and the vehicle body posture notified by the controller 23. When the throttle opening is small and the engine speed is high, the output loss due to the intake resistance of the engine increases, so the engine speed is lowered by shifting up at a low speed. When the vehicle body posture is tilted backward, it is determined that the vehicle is climbing a slope, the reference vehicle speed for upshifting is increased, and the climbing force is maintained by using a low-speed gear.

コントローラ23はサスペンション23aを制御する。このコントローラ23はサスペンションの変位と車体姿勢とを検出し、ネットワーク1000を介してコントローラ22から車速を、コントローラ25から舵角を受信し、これらに応じてサスペンションの空気バネ内の気圧を制御して所望の車体姿勢にする。このコントローラ23は車体姿勢をネットワーク1000を介して他のコントローラに通知する。   The controller 23 controls the suspension 23a. This controller 23 detects the displacement of the suspension and the posture of the vehicle body, 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 according to these. Make the desired body posture. The controller 23 notifies the other vehicle controller of the vehicle body posture via the network 1000.

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

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

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

コントローラ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 that is resistant to shock and heat.

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

このように各コントローラはネットワーク1000を介して検出した状態量と制御出力あるいは操作依頼を互いに通知し、そして、各コントローラは通知された状態量と制御出力と操作依頼に応じて所轄の機器を制御する。   In this way, each controller notifies each other of the detected state quantity and control output or operation request via the network 1000, and each controller controls the device in charge according to the notified state quantity, control output and operation request. To do.

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

図6は本発明を階層システムに適用した場合のシステム構成例である。プラントが各々異なった制御対象機器群100,101,102から構成されている場合やその制御機器群100,101,102が広域に分散している場合などでは本図のようにネットワークをネットワーク1000,1001,1002のように分割し各ネットワーク下にコントローラ1,2,3,4,5,6を配置する。ネットワーク1000,1001,1002は各々統括コントローラ1300,1301,1302を介して上位ネットワーク1500に接続される。統括マンマシン1600はこの制御システムの運転監視を行う。   FIG. 6 shows a system configuration example 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, the network is connected to the network 1000, Controllers 1, 2, 3, 4, 5, and 6 are arranged under each network and divided into 1001 and 1002. The networks 1000, 1001, and 1002 are connected to the upper network 1500 via the overall controllers 1300, 1301, and 1302, respectively. The general man machine 1600 monitors the operation of this control system.

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

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

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

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

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

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

図12は図11におけるプロセッサ(PR1)84の内部構成を示したものである。図10との相異点は図12においては図10におけるダイレクトメモリアクセス制御(DMAC)6818が不要なことである。これは、キャッシュメモリ(CM)301とグローバルメモリ400との間のデータ転送をキャッシュメモリコントローラ(CMC)401が行うためである。   FIG. 12 shows the internal configuration of the processor (PR1) 84 in FIG. 10 is that the direct memory access control (DMAC) 6818 in FIG. 10 is not required 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.

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

図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,D3が接続されており、これを介してデータの書込みが行われる。   FIG. 14 shows a configuration example of a programmable switch array. A MOS transistor Tij is provided at the intersection of the inputs / outputs Xi and Yj to the switch array, 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. Conversely, when the output of Mij is “0”, Tij is OFF and Xi and Yj are separated. Further, address lines A1, A2, A3 and data lines D1, D2, D3 are connected to the memory cell Mij, and data is written through these.

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

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

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

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

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

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

先にも述べたように各コントローラに接続されるセンサ、アクチュエータの種類及び点数は制御対象により異なる。従って従来はそれらに応じた入出力装置をレパートリの中から選択しコントローラに接続する必要があった。一方、本発明では極力少ない種類のハードウエアを用いて制御システムを構築するのが一つの目的であるから以下に示す入出力構成を採用した。   As described above, the types and points of sensors and actuators connected to each controller vary 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, since the purpose is to construct a control system using as few kinds of hardware as possible, the following input / output configuration is adopted.

図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 configuration of the I / O 83 in FIG. The I / O 83 includes an analog output composed of a bus interface 830, a D / A converter 832 and an OP amplifier 833, an analog input composed of an OP amplifier 835 and an A / D converter 834, a digital output composed of a register 836 and a power circuit 837, and power. It consists of a digital switch consisting of circuit 838 and a power switch array 840 that determines the coupling between these and the I / O connector 64.

パワースイッチアレイ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 the same as that shown in FIG. 16, but it is necessary to increase the physical capacity in order to handle the power.

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

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

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

次に図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. An I / O connector 64 is mounted on the front surface of the controller, and scale expansion connectors 60, 61, 62, 63 are mounted on the left and right side surfaces and the upper and lower surfaces. A network connector 1701 and a power connector 1702 are mounted on the back surface 1700. The external dimensions are about 20 cm in height, about 10 cm in depth, and about 3 cm in width, and can be connected to the input and output and are sufficient for distributed installation. This dimension is for reference to show how much the size can be reduced by the present invention, and the present invention is not limited to this dimension.

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

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

図27は四台のコントローラを規模拡張用コネクタ60,61,62,63を用いて結合したものである。   FIG. 27 shows a combination of four controllers using scale expansion connectors 60, 61, 62 and 63.

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

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

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

図29に実施例の全体概要図を示す。ここでは、出力計算部2012及び出力評価部2015よりなり、出力計算部2012および評価部2015がそれぞれ学習モデルと付与モデルを持って両者を適応的に協調させる制御方法を示す。センサ等2010からのデータ2001を必要に応じて入力処理部2011で入力処理した入力データ2300は出力計算部2012と評価部2015へ入力される。出力計算部2012では、入力データ2300を受けとり、その内部に持つパラメータ等を用いてその出力データ2301を計算し、必要に応じて出力処理部2013にて必要な出力処理を行った後、その値2002をアクチュエータ等2014へ出力する。ここで、パラメータ等とは、学習モデルであるニューラルネット内のニューロン間の結合の重み値や、付与モデル内のパラメータ、さらに学習モデルと付与モデルの重み付けのパラメータを含む。一方、評価部2015では、やはり、入力データ2300及び内部のパラメータ等を用いて現在の状態の評価を行い、その結果から出力評価信号2302を出力する。そして、出力計算部2012ではこの出力評価信号2302を用いて、この値が大きくなるように内部のパラメータ等の学習を行う。一方、評価部2015内のパラメータに関しては、例えばマンマシン装置1200に状態評価信号2303を表示し、ユーザがこれを見て不適切と感じる場合にタッチパネル、マウス等のポインティングデバイス2017を用いて修正値を入力する。これを外部評価信号2304として評価部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 in which the output calculation unit 2012 and the evaluation unit 2015 have a learning model and a grant model, respectively, and adaptively coordinate both of them will be described. Input data 2300 obtained by performing input processing on the data 2001 from the sensor or the like 2010 by the input processing unit 2011 as necessary is input to the output calculation unit 2012 and the evaluation unit 2015. In the output calculation unit 2012, the input data 2300 is received, the output data 2301 is calculated using parameters and the like in the input data, and the output processing unit 2013 performs necessary output processing as necessary, and then the value is obtained. 2002 is output to the actuator 2014. Here, the parameters and the like include a weight value for coupling between neurons in the neural network that is a learning model, a parameter in the grant model, and a parameter for weighting the learning model and the grant model. On the other hand, the evaluation unit 2015 also evaluates the current state using the input data 2300 and internal parameters, and outputs an output evaluation signal 2302 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, with respect to the parameters in the evaluation unit 2015, for example, a state evaluation signal 2303 is displayed on the man-machine device 1200, and when the user feels inappropriate by looking at the state evaluation signal 2303, a correction value is used using a pointing device 2017 such as a touch panel Enter. This is input to the evaluation unit 2015 as an external evaluation signal 2304. At this time, the external evaluation valid signal 2305 is turned on and the parameters in the evaluation unit 2015 are updated so that evaluation suitable for various situations can be performed. I will let you.

出力計算部2012の構成を図30に示す。出力計算部2012の学習は、評価部2015の場合の外部評価信号2304のような直接的な教師信号はないため、各パラメータ等に乱数成分を付加し、その時の評価値に基づいて乱数成分を評価し、修正を行う。従って、出力の計算法は以下のようになる。まず、入力データ2300と学習モデルパラメータ保持部2421から得られる学習モデルパラメータを用いて、学習モデル計算部2401において出力を計算すると共に、予めユーザから付与された付与モデルに従って、入力データ2300と付与モデルパラメータ保持部2411から得られる付与モデルパラメータに乱数付加部2412によって微小な乱数を付加したものをパラメータとして用い、付与モデル計算部2402の出力を求める。そして、重み付け部2403でそれぞれの出力値を重み付けして加えあわせて出力データ2301とする。ただし、学習モデル計算部2401からの出力には乱数付加部2422によって微小な乱数を加えたものに対し重み付けを行う。また、さらに、重み付け部2403で用いる重み値も、重み値保持部2431に保持されている重み値に対し、乱数付加部2432によって乱数を付加したものを実際に用いて重み付けする。まず、重み付け部2403の重み値に関しては、乱数付加部2432によって付加された乱数2433と評価部2015から得られる出力評価信号2302を重み値更新量計算部2434において、例えば乗算し、重み値保持部2431にその値を渡して、もとの重み値に加えて新しい重み値とする。一方、学習モデル計算部2401内のパラメータに関しては、出力誤差計算部2424にて、乱数付加部2422によって付加された乱数2423と評価部2015からの出力評価信号2302を例えば乗算して、学習モデル計算部2401に与える誤差とし、学習モデル計算部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 calculated based on the evaluation value at that time. Evaluate and make corrections. Therefore, the output calculation method is as follows. First, the learning model calculation unit 2401 calculates an output using the learning model parameters obtained from the input data 2300 and the learning model parameter holding unit 2421, and the input data 2300 and the grant model according to the grant model given in advance by the user. An output of the assigned model calculation unit 2402 is obtained by using, as a parameter, a parameter obtained by adding a minute random number by the random number adding unit 2412 to the assigned model parameter obtained from the parameter holding unit 2411. The weighting unit 2403 weights and adds the respective output values to obtain output data 2301. However, the output from the learning model calculation unit 2401 is weighted by adding a random number by the random number addition unit 2422. 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 with a random number added by the random number adding unit 2432. First, regarding the weight value of the weighting unit 2403, the weight value update amount calculation unit 2434 multiplies the random number 2433 added by the random number addition unit 2432 and the output evaluation signal 2302 obtained from the evaluation unit 2015, for example, and the weight value holding unit The value is passed to 2431 to be a new weight value in addition to the original weight value. On the other hand, for 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. The learning model calculation unit 2401 calculates an update amount for a parameter such as a weight value of an internal neural network according to a learning algorithm such as backpropagation based on the value, and calculates a new value as a learning model. Write to the parameter holding unit 2421. In addition, the assignment model calculation unit 2402 also multiplies the random number 2413 added by the random number addition unit 2412 and the output evaluation signal 2302 from the evaluation unit 2015 in the assignment model parameter update amount calculation unit 2414, for example, and assigns the value. The value is transferred to the model parameter holding unit 2411 and the new assigned model parameter value is written.

一方、図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 a configuration of the evaluation unit 2015. Here, first, an output is obtained from the learning model calculation unit 2501 using learning model parameters such as a weight value of the combination of the neural network obtained from the input data 2300 and the learning model parameter holding unit 2521. In parallel with this, the assigned model calculation unit 2502 calculates an output using the input model parameters obtained from the input data 2300 and the assigned model parameter holding unit 2511 according to a model given in advance by the user. The weighting unit 2503 weights and adds the respective output values based on the weight values held in the weight value holding unit 2531, and the time differentiation calculation unit 2505 performs time differentiation on the result. An output evaluation signal 2302 is generated. The learning in the evaluation unit 2015 is performed based on a signal from the external evaluation signal 2304 when the external evaluation valid signal 2305 is on. For example, the respective outputs of the learning model calculation unit 2501 and the assigned model calculation unit 2502 are compared, the weighting parameter closer to the external evaluation signal 2304 is increased, and the other parameter is decreased. The learning model calculation unit 2501 performs learning by giving the external evaluation signal 2304 as a teacher signal. On the other hand, the assigned model calculation unit 2502 obtains another output value by giving a small random number to the parameter in addition to the normal output value, and compares the two to add the random number, which is closer to the external evaluation signal 2304. For example, if it is better to add the actual number multiplied by the added random number and the learning constant and not add the random number, learning by subtracting the added random number and the learning constant from the parameter It can be carried out. Further, the grant model may not have a learning function, and the evaluation unit 2015 may have only the grant model calculation unit and no learning model calculation unit. In addition, when both the learning model calculation unit 2501 and the grant model calculation unit 2502 are provided, the weights of the outputs of both in the initial state are set to 1 on the grant model side and 0 on the learning model side, so that the learning is started. Can be prevented from affecting the output of the learning model.

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

次に、複数の手段や方法による出力の重み付けをする重み値を、入力データ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 output by a plurality of means and methods is changed according to the input data 2001. Here, the input data 2001 is input to the neural network 2701, and a random number component is added to the output that has been output by the random number adding unit 2702. Based on the value K, the weighting unit 2021 uses the neural network 2101 and the output generation unit 2102. The output data 2002 is generated by weighting the output and adding the data weighted by the output data synthesis unit 2022. On the other hand, the teacher signal generation unit 2703 multiplies the random number component and the output evaluation signal 2302 and adds the result to the output of the neural network 2701 and passes it to the neural network 2701 as a teacher signal for learning. However, at this time, before learning starts, the output of the neural network 2701 may be set to a value close to 0, and the output of the output generation means 2 (2102) may be the output data 2002.

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

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

例えば、各コントローラが制約条件をもっており、診断処理部において制約のチェックをおこない、もし、制約が充足されなければ制約を充足しない制約式をネットワークに送信する場合を考える。このような場合、異常診断とは充足されない制約式の制約変数の中でどの変数が制約を充足しない原因となっているかを同定することである。   For example, consider a case where each controller has a constraint condition, the constraint is checked in the diagnosis processing unit, and if a constraint is not satisfied, a constraint equation 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 equation that are not satisfied is the cause that does not satisfy the constraint.

図35は、以後の説明のための具体例として4つのコントローラからなる分散制御システムの各コントローラの入力変数、出力変数、制約式を示したものである。例えば、コントローラ1は、入力変数としてX1,X2をもち、出力変数としてX3をもち、制約式として、C1:E(X3,X1+X2,e1)をもつとする。ここで、Eは、誤差関係式で、第1変数と、第2変数の絶対値の差が第3変数以下であることを表す。この例では、
X1+X2−e1<X3<X1+X2+e1
であることを示している。
FIG. 35 shows input variables, output variables, and constraint equations of each controller of a distributed control system including four controllers as a specific example for the following description. For example, assume that the controller 1 has X1 and X2 as input variables, 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 smaller than the third variable. In this example,
X1 + X2-e1 <X3 <X1 + X2 + e1
It is shown that.

対象プラントの状態量が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が出力されるが、これは、制約条件C9を充足しないので、コントローラ4からは、制約条件C9が未充足という異常情報が送信される。
このように、分散制御系においては一つのコントローラが故障したために、他の多くのコントローラから異常情報が出力され通信ネックが発生し、診断が妨げられる心配がある。
Assume that the state quantities of the target plant are X1 = 1, X2 = 2, and X4 = 2. When the controller controls each of these state quantities, each of the constraints shown in FIG. 35 is checked, and if the constraints are not satisfied, information is transmitted to the network. At this time, if the controller 1 is operating normally, X3 = 3, which is a value of X3 that satisfies the constraint condition C1, is determined from the values of the input variables X1 and X2, and output. However, suppose that the controller 1 fails for some reason and outputs X3 = 13. At this time, the controller 2 outputs X5 = 15 from the constraint condition C2 and the inputs X3 and X4 and X6 = 13 from the constraint condition C3 and the input X3, but the constraint condition C4 is not satisfied because the constraint condition C4 is not satisfied. An anomaly that is not satisfied is sent. In the controller 3, the output X7 = 195 from the inputs X3 and X5 and the constraint condition C5. However, since the constraint condition C6 is not satisfied, 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 X8 = 26 is output from the constraint condition C8, but this does not satisfy the constraint condition C9. Is transmitted abnormality information that the constraint condition C9 is not satisfied.
As described above, in a distributed control system, since one controller has failed, there is a concern that abnormality information is output from many other controllers, a communication bottleneck occurs, and diagnosis is hindered.

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

図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 filtering unit 4030 screens unnecessary input information, and 4031 screens unnecessary output information. An output information filter 4032 for preventing unnecessary output information from being transmitted to the network is a communication processing unit for restoring 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, and 95 in the controllers shown in FIGS.

ここで、不要な出力情報のふるい分けの一実施例として、制約変数集合を用いた方法を説明する。ここで、制約変数集合とは、制約式中に定義された全ての変数をさす。例えば、図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 screening unnecessary output information. Here, the constraint variable set refers to all the variables defined in the constraint expression. 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.

この制約変数集合の包含関係に基づいて、個々の分散制御系で検出した異常をネットワークを経由して、他の個別コントローラとマンマシン装置1200に送信するか否かを決定する。ただし、この情報だけからでは不十分なので、個々の分散制御システムにおける入出力変数の情報も利用する。つまり、ネットワークに異常情報を送信するときは、図37に示したように、制約変数集合の他に、入力変数集合、展開変数集合、消去変数集合,異常情報データID,機器IDの情報も付加する。ここで、入力変数とは、異常が発生した個々のコントローラにおける入力変数で、コントローラ1における入力変数を、In(1)とすると、In(1)={X1,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 the constraint variable set, it is determined whether or not an abnormality detected in each distributed control system is transmitted to another individual controller and the man-machine apparatus 1200 via the network. However, since this information alone is not sufficient, input / output variable information in each distributed control system is also used. That is, when sending abnormal information to the network, as shown in FIG. 37, in addition to the constraint variable set, information on the input variable set, expanded variable set, erase variable set, abnormal information data ID, and device ID is 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) = {X1, X2}. The expansion variable and the erasure variable are information added when the abnormal variable is narrowed down 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 AB_92_07_03_10_24_10 here. AB indicates abnormal information, and the subsequent numbers indicate that the abnormal information was transmitted at 10:24:10 on July 3, 1992. The transmission destination ID indicates whether the abnormal data is for a man-machine device or for each controller. For example, if it is for a man-machine device, 0 is written here, if it is for each controller, here, and the device ID describes the ID of the controller that issued this abnormality information. In this case, since it is transmitted from the controller 1, “1” is entered.

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

以下の説明では、今の例をもちいて、まず、どのようにして不必要な異常情報が、ネットワークに送信されるのが抑制されるかを示し、次に、異常箇所がどのように同定されるかを示す。   In the following explanation, using the current example, we first show how unnecessary abnormal information is suppressed from being sent to the network, and then how abnormal points are identified. Indicates whether

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

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

一方、コントローラ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(C1,2)にV(C4)が含まれているから、制約条件C4の未充足は、すでに送信された制約条件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 caused by the input variable X1, of the controller 1 via the output variable X3 of the controller 1. 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 herein as an expanded variable set. Therefore, since V (C1) U Op (C1,2) includes V (C4), the unsatisfied constraint C4 is information included in the information regarding the unsatisfied constraint C1 that has already been transmitted. Thus, in order to prevent data from overflowing on the network, the output information filter unit is screened and not transmitted.

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

次に、既に送信された異常情報を用いて、異常情報を絞り込んでいく方法について図40によって説明する。異常情報が、あるコントローラから送信されるとデータは、直接、マンマシン装置に行くものと、各コントローラに放送されるものに分かれる。異常情報の絞り込みが行われるのは、各コントローラに放送される異常情報である。まず、各コントローラはネットワーク上の情報が、自分と関係のある情報かどうかの判定をおこなう。   Next, a method of narrowing down abnormality information using already transmitted 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 abnormality information broadcast to each controller. First, each controller determines whether the information on the network is related to itself.

まずデータバス上の異常情報をコントローラの通信インタフェースに取り込み、取り込まれた異常情報は、ネットワークから削除する。通信インタフェースでは、まず通信処理部において、データを圧縮された状態から処理可能な状態に変換し、次に異常情報データの中の入力変数を出力変数として持つかどうかを判定し、もし持てば、コントローラの入力変数を展開変数として異常情報に付加する。今の例では、コントローラ1から発生した異常情報の入力変数集合は、X1,X2であり、これらをコントローラ2は、出力変数としてもたないからNoである。次に、異常情報の制約集合に含まれる制約変数集合に含まれる制約変数集合にもつ制約条件はあるかを判定し、これもNoであるから、異常情報を加工することなく、ネットワークに異常情報が返される。つまり、入力フィルータでフィルタされ、何も処理がおこなわれない。今の例では、他のコントローラも同様にして、何の処理も行わず、始めに送信された制約C1の異常情報が原形のまま、ネットワークをとおりぬける。一方、既に述べたようにこの場合には、ほかの制約違反は、出力情報のフィルーターにかかって、発信されないから、絞り込みがなくても、はじめから原因は、コントローラ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, abnormality information on the data bus is taken into the communication interface of the controller, and the taken abnormality information is deleted from the network. In the communication interface, first, in the communication processing unit, the data is converted from a compressed state to a processable state, and then it is determined whether or not the input variable in the abnormal information data is an output variable. The controller input variable is added to the abnormality information as an expanded variable. In this example, the input variable set of abnormality information generated from the controller 1 is X1 and X2, and these are No because the controller 2 does not have an output variable. 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 not transmitted to the network without processing the abnormality information. Is returned. That is, it is filtered by the input filter and no processing is performed. In the present example, the other controllers do not perform any processing in the same manner, and the abnormality information of the constraint C1 transmitted first passes through the network in its original form. On the other hand, as described above, in this case, other constraint violations will be transmitted to the output router, and will not be transmitted. Therefore, even if there is no narrowing down, the cause must be identified in the controller 1 from the beginning. Can do.
On the other hand, it is assumed that, for some reason, for example, the abnormality information of C6 constraint condition violation of the controller 3 is transmitted earlier than the controller 1. The constraint variable set of the abnormal information is V (C6) = {X7}, and the input variable set In (3) = {X3, X5}. When this abnormality information comes to the controller 1, the controller 1 has the input variable X3 as an output variable (such a variable is called a common variable), so the controller input variables X1, X2, and are added to the expansion variables. . In the next determination, the union of the constraint variable set {X7} of the abnormal information and the expanded variable set {X1, X2, X3} includes the constraint variable set {X1, X2, X3} of the constraint condition 1. Is processed by the processing procedure of FIG. At this time, the constraint condition C1 is included in the constraint condition C6. First, it is determined whether or not the constraint condition C1 included in the received constraint condition is satisfied. In this case, since it is not satisfied, it is next checked whether or not the constraint condition C1 is transmitted. If C1 is sent first, C6 is not sent by the process already described, but if C6 is 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 constraints on C1 survive on the network. In other words, this indicates that the cause of the abnormality has been narrowed down to the controller 1.

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

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

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

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

バックアップを司る手段について説明する。   The means for managing backup will be described.

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

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

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

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

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

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

つづいて本手段は手順6560から手順6590にて、バックアップされるべきタスクの状況と、コントローラ内でバックアップを担当させていないプロセッサの有無とに応じて3通りの処理を実行する。まず、バックアップされるべきタスクに優先度の高いタスクがあり、かつ、コントローラ内の稼働中のプロセッサのすべてにバックアップを担当させる前述の手順を実施していない場合には、次に負荷率が低いプロセッサをバックアップを担当するプロセッサとして選択し、再び手順6520より内部バックアップ手順を繰り返す。多くのタスクあるいは多くの負荷をコントローラ内でバックアップできるように、コントローラ内の各プロセッサに対して順番にバックアップを担当させるというこの繰り返しを設けた。一方、バックアップされるべきタスクが優先度の低いタスクのみの場合と、バックアップされるべきタスクに優先度の高いタスクがあるが、コントローラ内の稼働中のプロセッサのすべてにバックアップを担当させる前述の手順を実施した場合には、コントローラの新しい実行状況をネットワーク1000を通して放送し、バックアップされるべきタスクをコントローラ間でバックアップさせるためにバックアップ依頼手段6120にバックアップされるべきタスクが残っていることを前記接続を介して通知し図45のコントローラ間のバックアップに関する手順を開始させ、本手段の処理を終了する。さらに、一方で、バックアップされるべきタスクがない場合には、コントローラの新しい実行状況をネットワーク1000を通して放送し、本手段の処理を終了する。   Subsequently, in step 6560 to step 6590, this means executes three processes according to the status of the task to be backed up and the presence / absence of a processor not in charge of backup in the controller. First, if the task to be backed up has a high-priority task and the above procedure is not performed to make all the active processors in the controller take charge of the backup, the load factor is the next lowest The processor is selected as the processor in charge of backup, and the internal backup procedure is repeated again from procedure 6520. In order to be able to back up many tasks or many loads within the controller, this repetition of providing backup to each processor in the controller in turn was provided. On the other hand, when the task to be backed up is only a low priority task, and the task to be backed up has a high priority task, the above procedure for all the active processors in the controller to take charge of the backup In the case of performing the above, the connection state that the task to be backed up remains in the backup request means 6120 in order to broadcast the new execution status of the controller through the network 1000 and to back up the task to be backed up between the controllers. To start the procedure relating to the backup between the controllers in FIG. 45, and the processing of this means is terminated. On the other hand, if there is no task to be backed up, a new execution status of the controller is broadcast through the network 1000, and the processing of this means is terminated.

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

この手段は手順6610にて、記憶手段6160に格納されているすべてのプロセッサの負荷状態に関する情報とを用いて、バックアップを依頼するコントローラあるいはそのプロセッサを選定する。選定基準は他のコントローラのプロセッサのなかで最も負荷の小さいことである。なお、この情報は図49に示した外部受付順位表に格納されている。   In step 6610, this means uses the information on the load state of all the processors stored in the storage means 6160 to select the controller or the processor that requests backup. The selection criterion is the smallest load among the processors of other controllers. This information is stored in the external reception order table shown in FIG.

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

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

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

この手段は手順6710から手順6730にて、バックアップされるべきタスクとバックアップを担当するプロセッサで実行されている複数のタスクの中から、バックアップを担当するプロセッサがバックアップ後に実行すべきタスクを優先度に応じて選択する。このとき、バックアップにより自らのコントローラがダウンしないようにするために、通信手段6110,バックアップ依頼手段6120,スケジューラ6140を提供するタスクなどの自らのコントローラの管理運用に必要不可欠なタスクを最も優先して選択する。ネットワーク1000の通信量のボトルネックが顕在化して通信不良を引き起こすことがないようにするために、他のコントローラで実行した場合に多量の通信を必要とするタスクが次に優先して選択される。その後、その他のタスクを選択する。各優先度においてバックアップを担当するプロセッサの負荷が限界値を越えない範囲で最大負荷となる組合せのタスクを選択する。この負荷の限界値は記憶手段6160に格納されており、限界負荷率と呼ぶ。この選択は図44の内部バックアップ手順の手順6530と同一である。また、この選択において、バックアップを担当するプロセッサがバックアップ前に実行していたタスクであろうとも優先度が低い場合にはバックアップ後に実行させないことがある。つづいて、本手段は選択したタスクをスケジューラ6140に登録し実行手段6150にて実行を開始させる。バックアップを担当するプロセッサから追い出されたタスクはスケジューラ6140から削除しその実行を停止させる。   In step 6710 to step 6730, this means prioritizes a task to be executed by the processor in charge of backup after the backup from among a plurality of tasks to be backed up and a processor in charge of backup. Select accordingly. At this time, in order to prevent the own controller from being 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. Tasks that require a large amount of communication when executed on other controllers are selected next in order to prevent a bottleneck in the communication amount of the network 1000 from becoming obvious and causing a communication failure. . Then select other tasks. In each priority, a task is selected that has a maximum load as long as the load of the processor in charge of backup does not exceed the limit value. This load limit value is stored in the storage means 6160 and is called a limit load rate. This selection is the same as the procedure 6530 of the internal backup procedure of FIG. In this selection, even if the processor in charge of backup is a task that was executed before backup, it may not be executed after backup if the priority is low. Subsequently, this means registers the selected task in the scheduler 6140 and causes the execution means 6150 to start execution. The task evicted from the processor in charge of backup is deleted from the scheduler 6140 and its execution is stopped.

つづいてこの手段は手順6740にて、バックアップするタスクと追い出すタスクを示す情報を含むメッセージ6700をネットワーク上に放送(ブロードキャスト)する。このメッセージ6700により自らのコントローラの実行状態の変化を他のコントローラのすべてにに知らしめる。さらに、本手段はすべてのコントローラは各々の記憶手段6160,6260,6360,6460に格納されている実行分担表とタスク負荷表と外部受付順位表をこのメッセージ6700によって書き換える。また前述したように、このメッセージ6700に基づいて依頼元のバックアップ依頼手段(6220,6320,6420のいずれか)はバックアップされるべきタスクからバックアップされたタスクを削除し,追い出されたタスクをバックアップされるべきタスクに追加する。   Subsequently, in step 6740, this means broadcasts a message 6700 including information indicating a task to be backed up and a task to be kicked out on the network. This message 6700 informs all of the other controllers of the change in the execution state of its own controller. Further, in this means, all controllers rewrite the execution assignment table, task load table, and external reception order table stored in the respective storage means 6160, 6260, 6360, 6460 by this message 6700. Further, as described above, based on this message 6700, the requesting backup request means (any one of 6220, 6320, 6420) deletes the backed up task from the task to be backed up, and the evicted task is backed up. Add to the task to be done.

このように1台のダウンあるいは負荷オーバしたコントローラが実行していた複数のタスクがバックアップを依頼された稼働中のコントローラの負荷に応じて分割されることにより、最終的には複数のコントローラでバックアップされる。つまり、本発明の分散制御システムは1台のコントローラのダウンあるいは負荷オーバを複数台の稼働中のコントローラが自らの負荷状況応じて分担してバックアップするものである。さらに、このバックアップにおいてネットワークの通信量増加を抑さえるために、タスクの通信量に関する属性に応じて分担してバックアップするものである。   In this way, multiple 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 backed up by multiple controllers Is done. That is, in the distributed control system of the present invention, a plurality of operating controllers share the backup or load over of one controller in accordance with their own load status for backup. Further, in order to suppress an increase in network traffic in this backup, the backup is performed in accordance with the attribute relating to the task traffic.

この分散制御システムの物理的な構成を図47に示す。コントローラ1,2,3,4は同一の構成であり、各々がネットワーク1000と接続されたネットワーク接続用コネクタ41a,41b,41c,41dと、これらのネットワーク接続用コネクタの各々とシリアルデータ用のバス71a,71b,71c,71dを介して接続された4個づつのプロセッサ(PR1,PR2,PR3,PR4)701〜704,711〜714,721〜724,731〜734と、これらのプロセッサ(PR1,PR2,PR3,PR4)とバス70a,70b,70c、70dを介して接続されたグローバルメモリ82a,82b,82c,82dと、これらのプロセッサ(PR1,PR2,PR3,PR4)と接続された入出力処理装置(I/O)83a,83b,83c,83dと、これらのプロセッサに接続され故障の通知を行うバス70bを含む。各コントローラにはDC1,DC2,DC3,DC4という名前を付けた。各コントローラ内の各プロセッサにはPR1,PR2,PR3,PR4という名前を付けた。ここで、各プロセッサはその中に記したタスクを実行しているものとした。ここでタスクNC1,NC2,NC3,NC4はネットワーク1000を介したコントローラ間のメッセージの送受信を制御するタスクであり、図43の通信手段6110,6210,6310,6410を提供する。また、タスクCM1,CM2,CM3,CM4は各コントローラ1,2,3,4でのタスクの実行を制御するタスクであり、図43のバックアップ依頼手段6120,6220,6320,6420と、バックアップ受付手段6130,6230,6330,6430を提供する。頭文字がTで始まるタスクは各コントローラが実行する制御演算などであり、図43の制御手段を提供する。OS11などのOSで始まるタスクはバックアップ関係の機能を組み込んだリアルタイムオペレーティングシステムであり、各プロセッサで実行されている。これら各々が図43の内部バックアップ手段6170,6270,6370,6470を提供する。またこれらのリアルタイムオペレーティングシステムの各々が独立に各々のプロセッサに関するスケジューリングを実施している。すなわち、各々が各コントローラのスケジューラ6140,6240,6340,6440を各プロセッサに関する部分に分割して提供している。   FIG. 47 shows the physical configuration of this distributed control system. The controllers 1, 2, 3, and 4 have the same configuration, each of which is a network connection connector 41a, 41b, 41c, 41d connected to the network 1000, and each of these network connection connectors and a serial data bus. Four processors (PR1, PR2, PR3, PR4) 701 to 704, 711 to 714, 721 to 724, 731 to 734 connected via 71a, 71b, 71c, and 71d, and these processors (PR1, PR2, PR3, PR4) and global memories 82a, 82b, 82c, 82d connected to the buses 70a, 70b, 70c, 70d, and inputs / outputs connected to these processors (PR1, PR2, PR3, PR4) Processing devices (I / O) 83a, 83b, 83c, 83d and their processors And a bus 70b for notifying failure. Each controller was named DC1, DC2, DC3, DC4. Each processor in each controller is named PR1, PR2, PR3, PR4. Here, it is assumed that each processor executes a task described therein. Here, the tasks NC1, NC2, NC3, and NC4 are tasks for controlling transmission and reception of messages between the controllers via the network 1000, and provide communication means 6110, 6210, 6310, and 6410 in FIG. 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, 6220, 6320, and 6420 in FIG. 6130, 6230, 6330, 6430 are provided. A task whose initial begins with T is a control operation executed by each controller, and provides the control means of FIG. A task that starts with an OS such as the OS 11 is a real-time operating system incorporating a backup-related function, and is executed by each processor. Each of these provides the internal backup means 6170, 6270, 6370, 6470 of FIG. In addition, each of these real-time operating systems independently performs scheduling for each processor. In other words, the schedulers 6140, 6240, 6340, and 6440 of each controller are provided by being divided into portions related to the respective processors.

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

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

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

図49は図47の動作状態におけるタスク負荷表であり、各記憶手段6160,6260,6360,6460に格納されている。この表の内容はタスクの名前と、そのタスクを実行したときの負荷率と、バックアップに関係する属性と、タスクがどのプロセッサのものかを示す原籍である。属性は4つあり、原籍のプロセッサにおいて必要不可欠であるが他のプロセッサでバックアップする必要のない(あるいはしてはならない)タスクであることを示す“fixed”と、コントローラの管理運用に必要なタスクであることを示す“internally”と、通信量が多いことを示す“communicative”と、原籍以外のコントローラで実行してもよいタスクであることを示す“somewhere”である。よって、他のプロセッサでバックアップされるべきタスクは属性が“fixed”でないものである。これらをあるプロセッサにおける優先度として扱い優先度が高いものから降順に並べると、最優先のものはこのプロセッサが原籍である“fixed”
、次に優先されるものはこのプロセッサが原籍である“internally”、さらに次に優先されるものはこのプロセッサが原籍である“communicative” 、優先度の最も低いものはこのプロセッサが原籍である“somewhere”とこのプロセッサが原籍でない“fixed”,“internally”,“communicative”と“somewhere”である。ただし、原籍以外のプロセッサに属性が“fixed”や“internally”
のタスクをバックアップさせることはコントローラあるいはシステムの不具合を生じるため、バックアップ手順の中でこれを防いでいる。すなわち、原籍のプロセッサあるいはそれを含むコントローラ(原籍のコントローラと呼ぶ)にて最優先でバックアップされるようにしている。内部バックアップ手段6170,6270,6370,6470と、バックアップ受付手段6130,6230,6330,6440がバックアップをされるべきタスクとバックアップを担当するプロセッサが実行していたタスクとから各々のタスクの優先度と原籍と負荷率を基準としてバックアップ後に実行すべきタスクを選択する時に、タスク名からそれらの内容を知るためにこのタスク負荷表を用いる。
FIG. 49 is a task load table in the operation state of FIG. 47 and is stored in each storage means 6160, 6260, 6360, 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, "fixed" indicating that the task is indispensable for the original processor, but does not need to be backed up by another processor (or must not be done), and the task required for the management operation of the controller “Internally” indicating that the communication amount is large, “communicative” indicating that there is a large amount of communication, and “somewhere” indicating that the task may be executed by a controller other than the original bank. Therefore, the task to be backed up by another processor is one whose attribute is not “fixed”. If these are treated as priorities in a certain processor and arranged in descending order from the highest priority, the one with the highest priority is "fixed"
The next priority is "internally" where this processor is the original, the next priority is "communicative" where this processor is the original, and the lowest priority is this processor. “somewhere” and “fixed”, “internally”, “communicative” and “somewhere”, where this processor is not the original. However, the attribute is “fixed” or “internally” for processors other than the original register.
Backing up these tasks causes problems with the controller or system, so this is prevented during the backup procedure. That is, backup is performed with the highest priority by the original processor or a controller including the processor (referred to as an original controller). The internal backup means 6170, 6270, 6370, 6470, and the backup reception means 6130, 6230, 6330, 6440, and the priority of each task from the task to be backed up and the task executed by the processor in charge of the backup, This task load table is used to know the contents from the task name when selecting a task to be executed after the backup based on the master register and the load factor.

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

ここで、実行分担表とタスク負荷表と外部受付順位表の内容の関係を説明する。プロセッサDC1.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 assignment table, task load table, and external reception order table will be described. Processor DC1. The tasks executed by PR1 are tasks OS11, NC1, CM1, and T11 from the execution allocation table. The load factor at this time is 5% for task OS11 from the task load table, 26% for NC1, 28% for CM1, and 13% for T11, so the sum of these is 72%. Assuming that the load factor of the processor omitted in the execution allocation table is sufficiently larger than this value, the processor DC1. Since the load factor of PR1 is third in ascending order, the rank is third in the external reception order table.

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

(FD0)コントローラ1のプロセッサ701のプロセッサ6811が故障したものとする。この故障により通信手段6110とバックアップ依頼手段6120とバックアップ受付手段6130がダウンし、スケジューラ6140と制御手段6150の各一部分がダウンした。   (FD0) Assume that the processor 6811 of the processor 701 of the controller 1 has failed. Due to this failure, the communication unit 6110, the backup request unit 6120, and the backup reception unit 6130 are down, and parts of the scheduler 6140 and the control unit 6150 are down.

(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.

より詳細には、プロセッサ701の故障制御回路(FD)6820が汎用エンジン(GE)6811の故障を検出すると、バス70bを通して他のプロセッサの故障制御回路(FD)にプロセッサ701の故障を通知する。その後プロセッサ701を停止させる。プロセッサ702,703,704の故障制御回路(FD)6820は故障の通知を受けると各々のプロセッサ6811に対してバス70aの割り込み要求信号線を用いて割り込み処理を要求する。この割り込み処理が、内部バックアップ手段6170を提供するタスクOS12,OS13,OS14に内部バックアップ手順を開始させる。なお、停止されたプロセッサのローカルメモリ(LM)6816はバス70aと接続されているため、このプロセッサが停止していても他のプロセッサからアクセス可能である。この接続はタスクをバックアップし再開するときに必要なデータをプロセッサが停止していても取得できるようにしたものである。   More specifically, when the failure control circuit (FD) 6820 of the processor 701 detects a failure of the general-purpose engine (GE) 6811, the failure control circuit (FD) of another processor is notified of the failure of the processor 701 through the bus 70b. Thereafter, the processor 701 is stopped. When the failure control circuit (FD) 6820 of each of the processors 702, 703, and 704 receives the notification of the failure, it requests an interrupt process from each processor 6811 using the interrupt request signal line of the bus 70a. This interrupt processing causes the tasks OS12, OS13, and OS14 that provide the internal backup means 6170 to start the internal backup procedure. Since the local memory (LM) 6816 of the stopped processor is connected to the bus 70a, it can be accessed from other processors even when this processor is stopped. This connection makes it possible to acquire data necessary for backing up and restarting tasks even when the processor is stopped.

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

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

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

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

図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 of FIG. 51, the internal load order of the down processor (DC1.PR1) 701 is No. 2 as shown in the execution allocation table of FIG. 48, and the internal load order of the processor (DC1.PR2) 702 is No. 4. The task OS 12 ends the internal backup procedure in step 6510. Also, since the internal load order of the processor (DC1.PR3) 703 is No. 3, the task OS 13 ends the internal backup procedure in step 6510. On the other hand, since the internal load order of the processor (DC1.PR4) 704 is No. 1, the task OS 14 proceeds from the procedure 6510 to the procedure 6520 and continues the internal backup procedure. Therefore, the processor (DC1.PR4) 704 first performs backup.

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

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

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

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

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

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

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

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

(OS8)手順6580:今回バックアップを担当したプロセッサの次に負荷が小さいものを次回のバックアップを担当するプロセッサに選定し、次回のバックアップを実施するために手順6520へ戻る。詳細には今回バックアップを担当したプロセッサの内部受付順位とダウンしたプロセッサの内部受付順位を実行分担表から読みだす。前者の値に1を加え次の内部受付順位を求める。この値が後者の受付順位であった場合にはさらに1を加えてダウンしたプロセッサを指定してしまうことを防ぐ。コントローラ内で内部受付順位がこの値であるプロセッサを実行分担表から求める。求めたプロセッサを次回にバックアップを担当するものとして選択する。図51の例示では今回バックアップを担当したプロセッサ704の内部受付順位が1番であり、ダウンしたプロセッサの内部受付順位が2番であるため、次回にバックアップを担当するプロセッサの内部受付順位は3番になる。よって実行分担表においてコントローラ1内で内部受付順位が3番であるプロセッサ703が次回のバックアップを担当するものとして選択される。
ここから2回目の内部バックアップにはいる。すでに説明した各手順は図51の例示に関する説明のみを記述する。
(OS8) Procedure 6580: The processor with the next smallest load next to the processor in charge of the current backup is selected as the processor in charge of the next backup, and the process returns to step 6520 to perform the next backup. Specifically, the internal acceptance rank of the processor responsible for this backup and the internal acceptance rank of the down processor are read from the execution allocation table. Add 1 to the former value to obtain the next internal acceptance order. If this value is the latter order of acceptance, 1 is added to prevent the down processor from being designated. The processor whose internal reception order is this value in the controller is obtained from the execution allocation table. The obtained processor is selected as the next person in charge of backup. In the example of FIG. 51, the internal reception rank of the processor 704 responsible for the current backup is No. 1 and the internal reception rank of the down processor is No. 2, so the internal reception rank of the processor responsible for the next backup is No. 3. become. Therefore, the processor 703 whose internal reception order is No. 3 in the controller 1 in the execution allocation table is selected as the next backup.
The second internal backup starts from here. Each procedure already described describes only the explanation regarding the example of FIG.

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

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

(OS11)手順6540:図51の例示ではタスクOS13とT15とT16とT11が最終的に選択された。当手順では、これらのタスクを受付用タスクキューから削除する。受付用タスクキューに残されたタスクは、バックアップされなかったタスクT18のみである。   (OS11) Procedure 6540: In the example of 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 task left in the reception task queue is only the task T18 that has not been backed up.

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

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

(OS14)手順6574:新しい実行状態を示すメッセージ6700をネットワーク1000に放送(ブロードキャスト)する。このメッセージにより他のコントローラはプロセッサのダウンと、そのバックアップを担当したプロセッサの新しい実行状態を知ることができる。このメッセージ6700の内容に合わせて、各コントローラは各々の記憶手段に格納している実行分担表とタスク負荷表と外部受付順位表を修正する。図51の例示において、メッセージ6700はダウン情報としてプロセッサ701のダウンを示す。さらに、新しい実行状況としてプロセッサ703が実行しているタスクOS13,T15,T16,T11と、プロセッサ704が実行しているタスクOS14,NC1,CM1,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 that the processor is 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 assignment table, task load table, and external reception order 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. Furthermore, the task OS13, T15, T16, and T11 executed by the processor 703 and the task OS14, NC1, CM1, and T17 executed by the processor 704 are shown as new execution statuses. FIG. 55 and FIG. 56 show the corrected execution assignment table and the external reception order table.

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

(OS16)以上にて内部バックアップ手順を終了する。   (OS16) The internal backup procedure is terminated.

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

(CM1)コントローラ1のバックアップ依頼手段6120が起動され、図45のバックアップ依頼手順の実行を開始する。   (CM1) The backup request unit 6120 of the controller 1 is activated and starts executing the backup request procedure of FIG.

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

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

(CM4)手順6630:バックアップ依頼手段6120はバックアップを依頼したメッセージ6600に対する回答としてバックアップの依頼先から放送されるメッセージ6700を待つ。   (CM4) Procedure 6630: The backup request unit 6120 waits for a message 6700 broadcast from the backup request destination as a reply to the message 6600 that requested the backup.

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

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

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

図51の例示では、メッセージ6600によりバックアップを依頼されたタスクの名称T18を受付用タスクキューに登録する。同時に、タスク負荷表からその名称に対応した負荷率26%と属性“somewhere” と原籍DC1.PR4を読みだしこれらを登録する。さらに、バックアップを依頼されたプロセッサ712が実行しているタスクの名称として、そのプロセッサ名DC2.PR2に対応するタスク名OS22とT21とT22を実行分担表から読みだす。さらに、タスク負荷表から各々のタスクに対応した負荷率5%,18%,35%と属性“fixed”,“communicative”,“somewhere”と原籍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 reception task queue. At the same time, the load factor 26% corresponding to the name from the task load table and the attribute “somewhere” and the original DC Read PR4 and register them. Further, as the name of the task being executed by the processor 712 requested to backup, the processor name DC2. The task names OS22, T21, and T22 corresponding to PR2 are read from the execution assignment table. Further, from the task load table, the load rates corresponding to each task are 5%, 18%, 35% and the attributes “fixed”, “communicative”, “somewhere” and the original DC2. PR2, DC2.PR2, DC2. Read PR2. Then, these task name, load factor, attribute, and master register are added to the reception task queue.

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

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

(CM9)手順6740:バックアップ受付手段6130はバックアップを依頼されたプロセッサの新しい実行状態を示すメッセージ6700をネットワーク1000に放送(ブロードキャスト)する。このメッセージ6700はバックアップの依頼に対する回答であることを示す情報と、バックアップ受付手順が終了したときにバックアップを依頼されたプロセッサが実行しているタスクの情報と、バックアップを依頼されたタスクの中でバックアップしたタスクを示す情報と、バックアップを依頼されたプロセッサから追い出されてその実行を停止されたタスクを示す情報を含む。このメッセージにより他のコントローラはバックアップを依頼されたプロセッサの新しい実行状態を知り、各々の記憶手段に格納している実行分担表とタスク負荷表と外部受付順位表を修正する。また、このメッセージ6700によりバックアップの依頼元であるバックアップ依頼手段6120は待ち状態から抜け出し、バックアップ依頼手順を再開する。図51の例示において、メッセージ6700は新しい実行状況としてプロセッサ712が実行しているタスクOS22,T21,T22,T18を示す。バックアップされたタスクとしてタスクT18を示す。追い出されたタスクとしては、該当するものがないため、追い出されたものがないことを示す。   (CM9) Procedure 6740: The backup receiving 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 an answer to the backup request, information on the task being executed by the processor requested to be backed up when the backup acceptance procedure is completed, and among the tasks requested for backup. It includes information indicating a task that has been backed up and information indicating a task that has been evicted from the processor requested to be backed up and whose execution has been stopped. The other controller knows the new execution state of the processor requested to be backed up by this message, and corrects the execution assignment table, task load table, and external reception order table stored in each storage means. Also, the backup request means 6120, which is the backup request source, exits from the waiting state by this message 6700, and resumes the backup request procedure. In the example of FIG. 51, a message 6700 indicates the tasks OS22, T21, T22, T18 being executed by the processor 712 as a new execution status. Task T18 is shown as the backed up task. Since there is no applicable task that has been evicted, this indicates that there is no evicted task.

(CM10)バックアップ受付手段6230がバックアップ受付手順を終了する。   (CM10) The backup reception unit 6230 ends the backup reception procedure.

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

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

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

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

(CM13)手順6660:バックアップ依頼手段6120は依頼用タスクキューからメッセージ6700に示されたところのバックアップされたタスクを削除する。また、依頼用タスクキューにメッセージ6700に示されたところの追い出されたタスクを追加する。この操作は1回のバックアップ依頼で全てのバックアップが終了しなくてもよいように設けた。すなわち、1回のバックアップでバックアップできなかったタスク、あるいは、負荷率を上げるために追い出されたタスクがある場合には、依頼用タスクキューにタスクが残り、これを今回の依頼先と異なった依頼先に次回に依頼できるようにしたものである。図51の例示では依頼用タスクキューからタスクT18が削除され、依頼用タスクキューが空になる。   (CM13) Procedure 6660: The backup request unit 6120 deletes the backed up task indicated by the message 6700 from the requesting task queue. In addition, the evicted task indicated by the message 6700 is added to the requesting task queue. This operation is provided so that all backups do not have to be completed by one backup request. In other words, 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 request task queue, and this request is different from the current request destination. It was made to be able to request next time first. In the example of FIG. 51, the task T18 is deleted from the request task queue, and the request task queue becomes empty.

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

(CM15)バックアップ依頼手段6120はバックアップ依頼手順を終了する。   (CM15) The backup request unit 6120 ends the backup request procedure.

以上のステップにより本実施例の分散制御システムは1台のプロセッサ(DC1.PR1)701のダウンに対して、そこで実施されていたタスクNC1,CM1,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の例示ではダウンを検出したコントローラのバックアップ依頼手段が作動するものとした。
With the above steps, the distributed control system according to the present embodiment autonomously divides the tasks NC1, CM1, and T11 performed there in response to the down of one processor (DC1.PR1) 701 and assigns each to the controller 1 Backup (DC1.PR4) 704, controller 1 processor (DC1.PR3) 703, controller 2 processor (DC2.PR2) 712.
In the example of FIG. 51, the controller having the down processor is the same as the controller requesting the backup. However, according to the gist of the present invention, each of the controllers 1, 2, 3, and 4 has an execution allocation table that describes the execution states of all the controllers. It is possible for the controller to request backup from another controller. Specifically, in the example of FIG. 51, instead of the backup request means 6120 provided by the task CM1 backed up by the processor 704 of the controller 1, the backup provided by the task CM2 executed by the processor 711 of the controller 2 The request unit 6220 can request backup using the execution assignment table and the external reception order table stored in the storage unit 6260. For this reason, the execution assignment table, task load table, and external reception order table store the states of all controllers or all processors. In the example of FIG. 51, it is assumed that the backup request means of the controller that detects the down is activated.

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

本発明の一実施例であるところのプラント制御システム。The plant control system which is one Example of this invention. 従来のの鉄鋼圧延制御システム。Conventional steel rolling control system. 具体的な本発明の応用例であるところの鉄鋼圧延制御システム。A steel rolling control system which is a specific application example of the present invention. 別の具体的な本発明の応用例であるところの自動車の制御システム。An automobile control system which is another specific application example of the present invention. 別の具体的な本発明の応用例であるところの自動車の制御システム。An automobile control system which is another specific application example of the present invention. 本発明を階層システムに適用した場合のシステム構成例。1 is a system configuration example when the present invention is applied to a hierarchical system. 本発明の一実施例であるところのコントローラの内部構成図。The internal block diagram of the controller which is one Example of this invention. 本発明の一実施例であるところのコントローラの内部構成図。The internal block diagram of the controller which is one Example of this invention. 本発明の他の一実施例であるところのコントローラの内部構成図。The internal block diagram of the controller which is another Example of this invention. 本発明の他の一実施例であるところのコントローラの内部構成図。The internal block diagram of the controller which is another Example of this invention. 本発明のさらに他の一実施例であるところのコントローラの内部構成図。The internal block diagram of the controller which is another one Example of this invention. 本発明のさらに他の一実施例であるところのコントローラの内部構成図。The internal block diagram of the controller which is another one Example of this invention. 機能プログラム可能なコントローラの全体ブロック図。Block diagram of a functional programmable controller. 入出力間の接続を不揮発性メモリを用いてプログラマブルとしたスイッチアレイの構成例。A configuration example of a switch array in which connection between input and output is programmable using a nonvolatile memory. 図10に示したスイッチアレイの中のメモリセルの構成例。11 is a configuration example of a memory cell in the switch array shown in FIG. スイッチアレイに予備領域を設けた実施例。An embodiment in which a spare area is provided in the switch array. マイクロプログラムメモリに不揮発性メモリを用いたプロセッサの内部構成例。The internal structural example of the processor which used the non-volatile memory for the microprogram memory. 各プロセッサをプロセッサエレメントの組み合せで構成した実施例。An embodiment in which each processor is configured by a combination of processor elements. I/O83の内部構成図。The internal block diagram of I / O83. I/O83を1チップの半導体で実現した構成図。The block diagram which realized I / O83 with the semiconductor of 1 chip. I/O83を1チップの半導体で実現した構成図。The block diagram which realized I / O83 with the semiconductor of 1 chip. 本発明のコントローラ1′を1チップの半導体で実現した構成図。The block diagram which realized controller 1 'of this invention with the semiconductor of 1 chip | tip. 本発明のコントローラ1′を1チップの半導体で実現した構成図。The block diagram which realized controller 1 'of this invention with the semiconductor of 1 chip | tip. 本発明の一実施例であるところのコントローラの外観をそれぞれ示す図。The figure which each shows the external appearance of the controller which is one Example of this invention. 本発明の一実施例であるところのコントローラの外観をそれぞれ示す図。The figure which each shows the external appearance of the controller which is one Example of this invention. 本発明の一実施例であるところのコントローラの外観をそれぞれ示す図。The figure which each shows the external appearance of the controller which is one Example of this invention. 本発明の一実施例であるところのコントローラの外観をそれぞれ示す図。The figure which each shows the external appearance of the controller which is one Example of this invention. 本発明における制御演算部の基本構成図。The basic block diagram of the control calculating part in this invention. 本発明における制御演算部の全体概要図。1 is an overall schematic diagram of a control calculation unit in the present invention. 出力計算部の構成。Configuration of output calculation unit. 評価部の構成。Configuration of the evaluation unit. 複数の評価基準を有する場合の全体概要図。The whole schematic diagram in the case of having a plurality of evaluation criteria. ニューラルネットによって重み値を生成する場合の基本構成図。The basic block diagram in the case of producing | generating a weight value with a neural network. 診断機能つきの分散型コントローラ構成図。The distributed controller block diagram with a diagnostic function. 分散システムの各コントローラの制約条件の例図。The example figure of the constraint condition of each controller of a distributed system. 各コントローラの通信インタフェースの構成図。The block diagram of the communication interface of each controller. 異常情報フォーマット図。Abnormal information format diagram. 制約未充足時の異常信号送信処理の処理手順図。The process sequence figure of the abnormal signal transmission process at the time of restrictions unsatisfied. 不要情報判定アルゴリズムの処理手順図。The process sequence figure of an unnecessary information determination algorithm. 診断情報取込み判断処理手順図。Diagnosis information take-in determination processing procedure diagram. 故障情報の加工処理手順図。Failure information processing procedure diagram. 異常情報の包含関係を示す例図。The example figure which shows the inclusion relationship of abnormality information. 自律分散制御システムの論理的構成図。The logical block diagram of an autonomous distributed control system. 自律的なバックアップ依頼手順図。Autonomous backup request procedure diagram. 自律的なバックアップ受付手順図。Autonomous backup acceptance procedure diagram. 内部バックアップ手順図。Internal backup procedure diagram. 自律分散制御システムの物理的構成図。The physical block diagram of an autonomous distributed control system. 実行分担表を示す例図。The example figure which shows an execution allocation table. タスク負荷表を示す例図。The example figure which shows a task load table. 外部受付順位表を示す例図。The example figure which shows an external reception order table. 自律分散制御システムのバックアップ方法を示す例図。The example figure which shows the backup method of an autonomous distributed control system. 1回目の内部バックアップにおける受付用タスクキューの例図。The example figure of the task queue for reception in the 1st internal backup. 2回目の内部バックアップにおける受付用タスクキューの例図。The example figure of the task queue for reception in the 2nd internal backup. 1回目の外部バックアップにおける受付用タスクキューの例図。The example figure of the task queue for reception in the 1st external backup. 内部バックアップ後の実行分担表を示す例図。The example figure which shows the execution allocation table after internal backup. 内部バックアップ後の受付順位表を示す例図。The example figure which shows the reception order table after an internal backup.

符号の説明Explanation of symbols

1,2,3,4,5,6,6000…コントローラ、40…NCP、41a,41b,41c,41d…ネットワーク接続用コネクタ、52,82,82a,82b,82c,82d…グローバルメモリ、53…I/O、54,56,58,84,87,90,93…プロセッサ、55,57,59,85,88,91,94…ローカルメモリ、60,61,62,63…バス拡張用コネクタ、64…I/Oコネクタ、70a,70b,70c,70d…バス、71a,71b,71c,71d…シリアルデータ通信用のバス、72a,72b,72c,72d…故障通知用のバス、83a,83b,83c,83d…入出力処理装置(I/O)、86,89,92,95…ランアダプタ、100…プラント、701,702,703,704…コントローラ1のプロセッサ、711,712,713,714…コントローラ2のプロセッサ、721,722,723,724…コントローラ3のプロセッサ、731,732,733,734…コントローラ4のプロセッサ、1000…ネットワークワーク、2001…センサ等からの入力データ、2002…入力データ、2003…出力データ、2004…アクチュエータ等への出力データ、2010…センサ等、2011…入力処理部、2012…出力計算部、2013…出力処理部、2014…アクチュエータ等、2015…評価部、1200…マンマシン装置、2017…タッチパネル,マウス等のポインティングデバイス、2021…重み付け部、2022…出力データ合成部、2101…ニューラルネットワーク、2102…出力生成手段2、2103…出力生成手段3、2122…重み値更新信号、6110,6210,6310, 6410…通信手段、6120,6220,6320,6420…バックアップ依頼手段、6130,6230,6330,6430…バックアップ受付手段、6140,6240,6340,6440…スケジューラ、6150,6250,6350,6450…制御手段、6160,6260,6360,6460…記憶手段、6170,6270,6370,6470…内部バックアップ手段、6180,6280,6380,6480…切り離し手段、6811…汎用エンジン(GE)、6812…ニューラルエンジン(NE)、6813…シーケンスエンジン(SE)、6814…ランアダプタ(LA)、6815…フリーランタイマ(FRT)、6816…ローカルメモリ(LM)、6817…バスインタフェース(BIF)、6818…ダイレクトメモリアクセス制御(DMAC)、 6819…プロセッサ内のバス、6820…故障制御回路。   1, 2, 3, 4, 5, 6, 6000... Controller, 40... NCP, 41a, 41b, 41c, 41d... Network connection connector, 52, 82, 82a, 82b, 82c, 82d. I / O, 54, 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, 70c, 70d ... bus, 71a, 71b, 71c, 71d ... serial data communication bus, 72a, 72b, 72c, 72d ... failure notification bus, 83a, 83b, 83c, 83d ... input / output processing devices (I / O), 86, 89, 92, 95 ... run adapters, 100 ... plant, 701, 702, 703, 704 Controller 1, 711, 712, 713, 714... Controller 2 processor, 721, 722, 723, 724... Controller 3 processor, 731, 732, 733, 734. ... input data from sensors, 2002 ... input data, 2003 ... output data, 2004 ... output data to actuators, etc. 2010 ... sensors, etc. 2011 ... input processing section, 2012 ... output calculation section, 2013 ... output processing section, 2014 ... Actuator, etc. 2015 ... Evaluation unit, 1200 ... Man-machine device, 2017 ... Pointing device such as touch panel and mouse, 2021 ... Weighting unit, 2022 ... Output data synthesis unit, 2101 ... Neural network, 2102 Output generation means 2, 2103 ... Output generation means 3, 2122 ... Weight value update signal, 6110, 6210, 6310, 6410 ... Communication means, 6120, 6220, 6320, 6420 ... Backup request means, 6130, 6230, 6330, 6430 ... Backup receiving means, 6140, 6240, 6340, 6440 ... scheduler, 6150, 6250, 6350, 6450 ... control means, 6160, 6260, 6360, 6460 ... storage means, 6170, 6270, 6370, 6470 ... internal backup means, 6180, 6280, 6380, 6480 ... disconnecting means, 6811 ... general purpose engine (GE), 6812 ... neural engine (NE), 6813 ... sequence engine (SE), 6814 ... run adapter (LA), 6815 ... Rerun timer (FRT), 6816 ... local memory (LM), 6817 ... bus interface (BIF), 6818 ... direct memory access control (DMAC), 6819 ... bus in processor, 6820 ... failure control circuit.

Claims (21)

複数の制御対象機器を有するプロセスの制御装置において制御対象機器に制御指令を発するコントローラを各制御対象機器に対応して現場設置したことを特徴とする分散制御装置。   A distributed control apparatus characterized in that, in a process control apparatus having a plurality of control target devices, a controller that issues a control command to the control target device is installed on-site corresponding to each control target device. 複数のプロセッサからなる制御システム用コントローラにおいて各コントローラ内の複数のプロセッサは自己の健全/異常の判別手段、プロセッサの負荷を測定または予測する手段を有し、一つのプロセッサが異常または負荷オーバーとなることを予測または検知した場合、他のプロセッサが負荷の代替を行うことを特徴とするコントローラ。   In a controller for a control system composed of a plurality of processors, the plurality of processors in each controller have their own health / abnormality determination means and means for measuring or predicting the processor load, and one processor becomes abnormal or overloaded. A controller in which another processor performs load substitution when it is predicted or detected. 複数のコントローラと各コントローラを接続する伝送手段を有する分散制御システムにおいて各コントローラのうち少なくとも一台のコントローラは複数のプロセッサから構成され、該コントローラ内の複数のプロセッサは自己の健全/異常の判別手段、プロセッサの負荷を測定または予測する手段を有し、一つのプロセッサが異常または負荷オーバーとなることを予測または検知した場合、同一コントローラ内の他のプロセッサが負荷の代替を行うことを特徴とする分散制御システム。   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 plurality of processors, and the plurality of processors in the controllers have their own health / abnormality determination means , Having means for measuring or predicting the processor load, and when one processor predicts or detects that the processor is abnormal or overloaded, another processor in the same controller performs load substitution Distributed control system. 複数のコントローラと各コントローラを接続する伝送手段を有する分散制御システムにおいて各コントローラのうち少なくとも一台のコントローラはメモリまたは入出力を共有する複数のプロセッサから構成され、該伝送手段は該コントローラ内プロセッサ群の正常、異常に関係なく該コントローラの上記メモリまたは入出力の内容を読み書きできるように構成したことを特徴とする分散制御システム。   In a distributed control system having a plurality of controllers and transmission means for connecting the controllers, at least one controller among the controllers is composed of a plurality of processors sharing memory or input / output, and the transmission means is a processor group in the controller A distributed control system configured to read and write the contents of the memory or input / output of the controller regardless of whether the controller is normal or abnormal. 複数のコントローラと各コントローラを接続する伝送手段を有する分散制御システムにおいて少なくとも一台のコントローラは複数のプロセッサから構成され、上記プロセッサ群は上記伝送手段を制御する通信プロセッサを含み、該通信プロセッサが故障時は他のプロセッサが通信プロセッサを代替するように構成したことを特徴とする分散制御システム。   In a distributed control system having a plurality of controllers and a transmission means for connecting each controller, at least one controller is composed of a plurality of processors, and the processor group includes a communication processor for controlling the transmission means, and the communication processor fails. A distributed control system, characterized in that the other processor is configured to replace the communication processor. 複数のコントローラと各コントローラを接続する伝送手段を有する分散制御システムにおいて少なくとも一台のコントローラは複数のプロセッサから構成され、上記プロセッサのうち一つのプロセッサが故障時は他のプロセッサが該故障プロセッサを代替するように構成したことを特徴とする分散制御システム。   In a distributed control system having a plurality of controllers and a transmission means for connecting each controller, at least one controller is composed of a plurality of processors, and when one of the processors fails, another processor replaces the failed processor. A distributed control system characterized by being configured to do so. 複数のプロセッサからなる制御システム用コントローラにおいて、各プロセッサの故障を検出する第1の手段(6180)と、各プロセッサの負荷状況を記憶する第2の手段(6160)と、各プロセッサの負荷を制御する第3の手段(6170)を有し、第1の手段(6180)が一つのプロセッサの故障を検出した場合に、第2の手段(6160)に記憶された各プロセッサの負荷状況に応じて第3の手段(6170)が故障したプロセッサの負荷を他の一つ以上のプロセッサに対して分割して代替させることを特徴とするコントローラ。   In a controller for a control system comprising a plurality of processors, a first means (6180) for detecting a failure of each processor, a second means (6160) for storing the load status of each processor, and controlling the load on each processor And when the first means (6180) detects a failure of one processor, the second means (6160) stores the third means (6170) according to the load status of each processor. A controller characterized in that the third means (6170) divides and replaces the load of the failed processor with respect to one or more other processors. 複数のプロセッサを有し、各プロセッサが複数のタスクを実行している制御システム用コントローラにおいて、各プロセッサの故障を検出する第1の手段(6180)と、各プロセッサの負荷状況を記憶する第2の手段(6160)と、各プロセッサの負荷を制御する第3の手段(6170)を有し、第1の手段(6180)が一つのプロセッサの故障を検出した場合に、第2の手段(6160)に記憶された各プロセッサの負荷状況に応じて第3の手段(6170)が故障したプロセッサのタスクを他の一つ以上のプロセッサに対して選択して代替させることを特徴とするコントローラ。   In a controller for a control system having a plurality of processors and each processor executing a plurality of tasks, a first means (6180) for detecting a failure of each processor and a second state for storing the load status of each processor Means (6160) and third means (6170) for controlling the load of each processor, and when the first means (6180) detects a failure of one processor, the second means (6160) A controller characterized in that the third means (6170) selects and substitutes one or more other processors for the failed processor task in accordance with the load status of each processor stored in (1). 複数のプロセッサからなり、各プロセッサが複数のタスクを実行している制御システム用コントローラにおいて、各プロセッサの故障を検出する第1の手段(6180)と、各プロセッサの負荷状況を記憶する第2の手段(6160)と、各プロセッサの負荷を制御する第3の手段(6170)を有し、第1の手段(6180)が一つのプロセッサの故障を検出した場合に、第2の手段(6160)に記憶された各プロセッサの負荷状況に基づいて、第3の手段(6170)が故障したプロセッサのタスクと他の一つ以上のプロセッサが実行しているタスクとからその一つ以上のプロセッサの各々が実行するタスクを選択し、それらプロセッサが選択されたタスクを実行することを特徴とするコントローラ。   In the controller for the control system, which is composed of a plurality of processors and each processor executes a plurality of tasks, a first means (6180) for detecting a failure of each processor and a second state for storing the load status of each processor Means (6160) and third means (6170) for controlling the load of each processor, and when the first means (6180) detects a failure of one processor, the second means (6160) Each of the one or more processors from the task of the processor in which the third means (6170) has failed and the task executed by one or more other processors based on the load status of each processor stored in Selects a task to be executed by the processor, and the processors execute the selected task. 複数のプロセッサを有する制御システム用コントローラにおいて、各プロセッサの負荷を検出する第1の手段(6140)と、各プロセッサの負荷状況を記憶する第2の手段(6160)と、各プロセッサの負荷を制御する第3の手段(6170)を有し、第1の手段(6140)が一つのプロセッサの負荷オーバを検出した場合に、第2の手段(6160)に記憶された各プロセッサの負荷状況に応じて第3の手段(6170)が負荷オーバとなったプロセッサの負荷を一つ以上のプロセッサに対して分割して代替させることを特徴とするコントローラ。   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 controlling the load of each processor When the first means (6140) detects an overload of one processor, the third means (6170) is provided according to the load status of each processor stored in the second means (6160). The third means (6170) divides the load of the processor that has been overloaded on one or more processors and substitutes the controller. 複数のプロセッサからなり、各プロセッサが複数のタスクを実行している制御システム用コントローラにおいて、各プロセッサの負荷を検出する第1の手段(6140)と、各プロセッサの負荷状況を記憶する第2の手段(6160)と、各プロセッサの負荷を制御する第3の手段(6170)を有し、第1の手段(6140)が一つのプロセッサの負荷オーバを検出した場合に、第2の手段(6160)に記憶された各プロセッサの負荷状況に応じて第3の手段(6170)が負荷オーバとなったプロセッサのタスクを一つ以上のプロセッサに対して選択して代替させることを特徴とするコントローラ。   In the controller for the control system, which comprises a plurality of processors and each processor executes a plurality of tasks, a first means (6140) for detecting the load of each processor and a second means for storing the load status of each processor Means (6160) and third means (6170) for controlling the load of each processor, and when the first means (6140) detects an overload of one processor, the second means (6160) The controller is characterized in that the third means (6170) selects one or more processors to replace one or more processors according to the load status of each processor stored in (1). 複数のプロセッサを有し、各プロセッサが複数のタスクを実行している制御システム用コントローラにおいて、各プロセッサの負荷を検出する第1の手段(6140)と、各プロセッサの負荷状況を記憶する第2の手段(6160)と、各プロセッサの負荷を制御する第3の手段(6170)を有し、第1の手段(6140)が一つのプロセッサの負荷オーバを検出した場合に、第2の手段(6160)に記憶された各プロセッサの負荷状況に基づいて、第3の手段(6170)が負荷オーバとなったプロセッサのタスクと他の一つ以上のプロセッサが実行しているタスクとからその一つ以上のプロセッサの各々が実行するタスクを選択し、それらプロセッサが選択されたタスクを実行することを特徴とするコントローラ。   In a controller for a control system having a plurality of processors and each processor executing a plurality of tasks, a first means (6140) for detecting the load of each processor and a second means for storing the load status of each processor Means (6160) and third means (6170) for controlling the load of each processor, and when the first means (6140) detects an overload of one processor, the second means ( 6160), one of the tasks of the processor overloaded by the third means (6170) and the tasks executed by one or more other processors based on the load status of each processor stored in 6160). A controller characterized by selecting a task to be executed by each of the processors and executing the selected task. 複数のコントローラと各コントローラを接続するネットワークを有する分散制御システムにおいて、各コントローラは自コントローラの負荷を測定し測定した負荷をネットワークに送信する第1の手段(6140)と、任意のコントローラの負荷の代替を他のコントローラに依頼する第2の手段(6120)と、他のコントローラから代替の依頼に対して自己の負荷状況に基づき回答する手段をする第3の手段を有し、何れかのコントローラが負荷オーバあるいは故障した場合、その負荷オーバあるいは故障を検出したコントローラの第2の手段は各第1の手段から伝えられた負荷状況に応じて負荷の代替を依頼するコントローラを定め負荷の代替を依頼し、依頼されたコントローラの第3の手段は自己の負荷状況に応じて代替する負荷を定めこの負荷の実行を制御すると共にこの代替状況を回答することを特徴とした分散制御システム。   In a distributed control system having a network connecting a plurality of controllers and each controller, each controller measures a load of its own controller and transmits a measured load to the network. Any controller having second means (6120) for requesting another controller for replacement and third means for responding to the replacement request from another controller based on its own load status When a load overload or failure occurs, the second means of the controller that detects the load overload or failure determines a controller that requests the load replacement according to the load status transmitted from each first means, and replaces the load. The third means of the requested controller determines the alternative load according to its own load status. Distributed control system, characterized in that answer this alternative situation to control the execution of this load. 複数のコントローラと各コントローラを接続する伝送手段を有する分散制御システムにおいて少なくとも一台のコントローラはグローバルメモリまたは入出力を共有する複数のプロセッサから構成され、上記プロセッサはキャッシュメモリおよび該キャッシュメモリの内容とグローバルメモリの内容一致化手段を有し、グローバルメモリの内容または入出力の内容は上記伝送手段を介して他のコントローラから読み取り可能なように構成したことを特徴とする分散制御システム。   In a distributed control system having a plurality of controllers and transmission means for connecting the controllers, at least one controller is composed of a global memory or a plurality of processors sharing input / output, and the processor includes a cache memory and the contents of the cache memory. A distributed control system comprising global memory content matching means, wherein global memory contents or input / output contents can be read from another controller via the transmission means. 複数のコントローラと各コントローラを接続する伝送手段からなる分散制御システムにおいて少なくとも一台以上のコントローラは入出力有し、該入出力の接続がプログラマブルであることを特徴とする分散制御システム。   A distributed control system comprising a plurality of controllers and transmission means for connecting each controller, wherein at least one controller has input / output, and the connection of the input / output is programmable. 複数のコントローラを有する分散制御システムにおいて少なくとも一台のコントローラは複数のプロセッサから構成され、該複数のプロセッサ各々は自己の健全/異常の判別手段、各プロセッサの負荷を測定する手段を有し、一つのプロセッサが負荷オーバーになると、他のプロセッサのうち最も負荷の小さいプロセッサが負荷の代替を行うことを特徴とする分散制御システム。   In a distributed control system having a plurality of controllers, at least one controller is composed of a plurality of processors, each of the plurality of processors having its own health / abnormality determination means and means for measuring the load of each processor. A distributed control system characterized in that when one processor is overloaded, the processor with the smallest load among the other processors substitutes for the load. 複数のプロセッサを有する制御システム用コントローラにおいて、該複数のプロセッサのうち少なくとも一つのプロセッサはニューロ演算,ファジィ演算,数値演算またはシーケンス演算を実行することを特徴とするコントローラ。   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. それぞれが情報を格納するメモリを有する複数のプロセッサと上記各メモリ、各プロセッサ及び外部のネットワークとの間で上記メモリの情報を授受するために上記相互を連絡する伝送線と少なくとも一つのプロセッサにネットワークと各メモリ間の情報授受を制御するネットワーク制御機能を設定する手段とを有し、上記手段により特定された一つのプロセッサによって、上記ネットワークと上記メモリ間の情報授受を制御するようにしたことを特徴とするコントローラ。   In order to exchange information of the memory between a plurality of processors each having a memory for storing information and each of the memories, each of the processors and an external network, a network is connected to the transmission line and at least one of the processors. And a means for setting a network control function for controlling information exchange between the memories, and a single processor specified by the means for controlling information exchange between the network and the memory. Feature controller. センサ等からの入力を用いて制御出力を求める制御システムにおいて、該入力から少なくとも1つのニューラルネットワークを含む複数の手段または方法によって計算される複数の出力を、重み付けして総合することによって制御出力を生成し、かつ該重み付けの値を学習によって更新していくことを特徴とする適応的制御システム。   In a control system for obtaining a control output using an input from a sensor or the like, a control output is obtained by weighting and summing a plurality of outputs calculated from a plurality of means or methods including at least one neural network from the input. An adaptive control system characterized by generating and updating the weighting value by learning. 複数のコントローラをネットワークで接続して制御を実行する分散制御システムにおいて、該複数のコントローラにおいて感知した異常をネットワーク上に送信するか否かの判定をネットワークからの受信情報に基づいて各コントローラで実行する分散型コントローラの診断方式。   In a distributed control system in which a plurality of controllers are connected via a network to execute control, each controller determines whether or not to transmit an abnormality detected by the plurality of controllers to the network based on information received from the network. Diagnostic method for distributed controller. それぞれの機能及び相互接続がプログラマブルなプロセッサを複数内蔵するシングルチップコントローラ。   Single chip controller with multiple processors with programmable functions and interconnections.
JP2007122046A 2007-05-07 2007-05-07 Distributed control apparatus, system, and controller Pending JP2007257657A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007122046A JP2007257657A (en) 2007-05-07 2007-05-07 Distributed control apparatus, system, and controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007122046A JP2007257657A (en) 2007-05-07 2007-05-07 Distributed control apparatus, system, and controller

Related Parent 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 (1)

Publication Number Publication Date
JP2007257657A true JP2007257657A (en) 2007-10-04

Family

ID=38631764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007122046A Pending JP2007257657A (en) 2007-05-07 2007-05-07 Distributed control apparatus, system, and controller

Country Status (1)

Country Link
JP (1) JP2007257657A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2045085A2 (en) 2007-10-01 2009-04-08 Brother Kogyo Kabushiki Kaisha Image forming device, and method and computer program therefor
DE112008002502T5 (en) 2007-10-01 2010-08-26 Toyo Tire & Rubber Co., Ltd., Osaka-shi tire
JP2013225208A (en) * 2012-04-20 2013-10-31 Toyota Motor Corp Information processing apparatus, information processing method and program
JP2014056471A (en) * 2012-09-13 2014-03-27 Toshiba Corp Control system
JP2016085503A (en) * 2014-10-23 2016-05-19 日本電気株式会社 Information processing device, information processing method, and information processing program
WO2016155996A1 (en) * 2015-03-31 2016-10-06 Siemens Aktiengesellschaft Production system and method for controlling same
CN111311476A (en) * 2018-12-11 2020-06-19 快图有限公司 Multi-processor neural network processing equipment
WO2020148870A1 (en) * 2019-01-17 2020-07-23 三菱電機株式会社 Alternative control device, alternative control method, alternative control program, and fail-operational system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5864502A (en) * 1981-10-15 1983-04-16 Hitachi Ltd Plant decentralized control method
JPS6285104A (en) * 1985-10-09 1987-04-18 Hitachi Ltd Automatic control device for power generating plant
JPH02110601A (en) * 1988-10-19 1990-04-23 Mitsubishi Electric Corp Cooperative distributing control system
JPH03194601A (en) * 1989-12-22 1991-08-26 Mitsubishi Electric Corp Coordinate distributed control system
JPH03207298A (en) * 1990-01-08 1991-09-10 Hitachi Ltd Operation controlling method for electric load and high reliability control system
JPH06231091A (en) * 1993-02-03 1994-08-19 Nec Corp Hunt system for physical processor
JPH06250869A (en) * 1993-03-01 1994-09-09 Hitachi Ltd Distributed control system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5864502A (en) * 1981-10-15 1983-04-16 Hitachi Ltd Plant decentralized control method
JPS6285104A (en) * 1985-10-09 1987-04-18 Hitachi Ltd Automatic control device for power generating plant
JPH02110601A (en) * 1988-10-19 1990-04-23 Mitsubishi Electric Corp Cooperative distributing control system
JPH03194601A (en) * 1989-12-22 1991-08-26 Mitsubishi Electric Corp Coordinate distributed control system
JPH03207298A (en) * 1990-01-08 1991-09-10 Hitachi Ltd Operation controlling method for electric load and high reliability control system
JPH06231091A (en) * 1993-02-03 1994-08-19 Nec Corp Hunt system for physical processor
JPH06250869A (en) * 1993-03-01 1994-09-09 Hitachi Ltd Distributed control system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2045085A2 (en) 2007-10-01 2009-04-08 Brother Kogyo Kabushiki Kaisha Image forming device, and method and computer program therefor
DE112008002502T5 (en) 2007-10-01 2010-08-26 Toyo Tire & Rubber Co., Ltd., Osaka-shi tire
JP2013225208A (en) * 2012-04-20 2013-10-31 Toyota Motor Corp Information processing apparatus, information processing method and program
JP2014056471A (en) * 2012-09-13 2014-03-27 Toshiba Corp Control system
JP2016085503A (en) * 2014-10-23 2016-05-19 日本電気株式会社 Information processing device, information processing method, and information processing program
WO2016155996A1 (en) * 2015-03-31 2016-10-06 Siemens Aktiengesellschaft Production system and method for controlling same
CN106154992A (en) * 2015-03-31 2016-11-23 西门子公司 Production system and the control method of production system
CN111311476A (en) * 2018-12-11 2020-06-19 快图有限公司 Multi-processor neural network processing equipment
WO2020148870A1 (en) * 2019-01-17 2020-07-23 三菱電機株式会社 Alternative control device, alternative control method, alternative control program, and fail-operational system
JPWO2020148870A1 (en) * 2019-01-17 2021-03-11 三菱電機株式会社 Alternative control device, alternative control method, alternative control program and fail operational system

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
DE69809254T2 (en) ARCHITECTURE OF A HYBRID REAL-TIME CONTROL SYSTEM AND METHOD FOR ITS OPERATION
JP3234949B2 (en) Flexible way to create recipes in process control systems
CN114193447A (en) Multi-robot control method, electronic device, and storage medium
CN101398686A (en) Adaptive industrial systems via embedded historian data
JP2003263219A (en) Problem partitioning method and system
US20060111825A1 (en) Vehicle network system and component of network
CN1636211A (en) Engineering method and system for industrial automation systems
CN102608965A (en) Methods and apparatus to upgrade and provide control redundancy in process plants
CN101681286A (en) Multiprocessor system and its control method
JP2006309345A (en) Parallel-type monitoring control system and update method of firmware of parallel-type controller of same system
JP2002049405A (en) Distributed controller and system and controller
JP2608593B2 (en) Failure diagnosis method
CN109963750A (en) Method for running onboard power system
CN111791886B (en) Real-time control system for vehicle and method for performing vehicle control via real-time control system
CN114327834A (en) Multi-concurrent data processing method and device
JP2006031731A (en) Distributed control system and controller
EP1579279B1 (en) Tcet expander
Zhang et al. A digital twin-driven flexible scheduling method in a human–machine collaborative workshop based on hierarchical reinforcement learning
Bougacha et al. Integrated production and predictive maintenance planning based on prognostic information
JP2001325010A (en) Programmable controller system
JP3442922B2 (en) Plant monitoring and control equipment
JP3282760B2 (en) Autonomous distributed production management device and control method therefor

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080228

A072 Dismissal of procedure

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20080617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100524

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101109