JP2005285017A - Duplication controller system, controllers thereof, and program - Google Patents

Duplication controller system, controllers thereof, and program Download PDF

Info

Publication number
JP2005285017A
JP2005285017A JP2004101528A JP2004101528A JP2005285017A JP 2005285017 A JP2005285017 A JP 2005285017A JP 2004101528 A JP2004101528 A JP 2004101528A JP 2004101528 A JP2004101528 A JP 2004101528A JP 2005285017 A JP2005285017 A JP 2005285017A
Authority
JP
Japan
Prior art keywords
equalization
program
controller
mode
standby
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004101528A
Other languages
Japanese (ja)
Other versions
JP4281602B2 (en
Inventor
Toshiyuki Nishiwaki
敏之 西脇
Makiko Takahashi
真規子 高橋
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Systems Co Ltd filed Critical Fuji Electric Systems Co Ltd
Priority to JP2004101528A priority Critical patent/JP4281602B2/en
Publication of JP2005285017A publication Critical patent/JP2005285017A/en
Application granted granted Critical
Publication of JP4281602B2 publication Critical patent/JP4281602B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To make appropriate a system operation verification before main working operation. <P>SOLUTION: A control section 15 of an active CPU module 1 executes and controls equalization processing during a multi-equalization mode regardless of modes. Thus, an equalization data transfer is performed each time a fixed cycle program is run, even during a single equalization mode but level information of a fixed cycle program that is run at that time, is given to the transfer data. A control section 25 of a reserve CPU module 2 discards transfer data other than a bottom level, by referring to level information of transfer data during the single equalization mode, thereby realizing equalization processing substantially during the single equalization mode. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、2重化コントローラシステムに関する。   The present invention relates to a duplex controller system.

現在、プラント、工場などでは、工作機械や計測装置等の機器のシーケンス制御に多くのプログラマブルコントローラ等のコントローラを用い、FA(ファクトリーオートメーション)化を実現している。   Currently, in plants, factories, etc., FA (factory automation) is realized by using many controllers such as programmable controllers for sequence control of machines such as machine tools and measuring devices.

このようなプログラマブルコントローラ・システムでは、信頼性を向上させるためにCPUモジュール(コントローラ本体)を待機冗長の2重化構成にする場合がある。待機冗長の冗長2重化構成は、2つのCPUモジュールを1組とし、一方を稼動系、他方を待機系とし、稼動系CPUモジュールを待機系CPUモジュールが監視して、稼動系CPUモジュールに障害等の切替え要因が生じたならば待機系CPUモジュールが稼動系に切り替る構成である。   In such a programmable controller system, there is a case where the CPU module (controller main body) has a standby redundant dual configuration in order to improve reliability. In the redundant redundant configuration of standby redundancy, two CPU modules are set as one set, one is the active system, the other is the standby system, the active CPU module is monitored by the standby CPU module, and the active CPU module fails. If a switching factor such as this occurs, the standby CPU module is switched to the active system.

図7に2重化して冗長性を持たせたコントローラの一般的なシステム構成を示す。
図示の2重化コントローラシステムは、CPUモジュール101−1、CPUモジュール101−2、及び不図示の各制御対象機器とのデータ入出力を行う複数のI/Oユニット102−1〜102−nより成るI/O群102から構成されている。尚、ここでは、CPUモジュール101−1が稼動系、CPUモジュール101−2がその待機系となっている場合を例にして説明する。
FIG. 7 shows a general system configuration of the controller which is duplicated to provide redundancy.
The illustrated duplex controller system includes a CPU module 101-1, a CPU module 101-2, and a plurality of I / O units 102-1 to 102-n that perform data input / output with each control target device (not illustrated). The I / O group 102 is configured. Here, a case where the CPU module 101-1 is an active system and the CPU module 101-2 is a standby system will be described as an example.

稼動系となっているCPUモジュール101は、その内部に格納された制御プログラム(例えば定周期に実行されるプログラム;定周期プログラム)を実行することで、各I/Oユニット102−1〜102−nに対して制御データを出力して(又は各I/Oユニットからセンサ計測値等を読み出して)、各制御対象機器を制御する。   The CPU module 101 that is an active system executes each control program (for example, a program that is executed at a fixed period; a fixed period program) stored therein so that each of the I / O units 102-1 to 102- Control data is output to n (or a sensor measurement value or the like is read from each I / O unit) to control each control target device.

一方、待機系となっているCPUモジュール101−2は、稼動系のCPUモジュール101−1を監視しており、稼動系CPUモジュール101−1に故障等の何らかの切替え要因が生じると、稼動/待機切り替え処理を実行して、CPUモジュール101−2が稼動系となって、CPUモジュール101-1が行っていた処理を引き継ぐ。   On the other hand, the standby CPU module 101-2 monitors the active CPU module 101-1, and if any switching factor such as a failure occurs in the active CPU module 101-1, the active / standby CPU module 101-1 is activated. By executing the switching process, the CPU module 101-2 becomes the active system, and the process performed by the CPU module 101-1 is taken over.

CPUモジュール101−1及びCPUモジュール101−2には、一定周期で起動されて実行される複数の定周期プログラム(ここでは、仮にA、B、Cの3つの定周期プログラム)が格納されており、稼動系となっているCPUモジュール101−1のみがこれらの定周期プログラムを実行してI/O機器の制御処理を行い、待機系となっているCPUモジュール101−2ではこれらの定周期プログラムは実行されない。これらの定周期プログラムには、優先レベルがあり(優先レベル:A>B>C)、優先レベルが高い定周期プログラムの起動周期になると、優先レベルの低い実行中の定周期プログラムは割り込みがかかって中断され、優先レベルの高い定周期プログラムが優先的に実行される。   The CPU module 101-1 and the CPU module 101-2 store a plurality of fixed-cycle programs that are activated and executed at a fixed cycle (here, three fixed-cycle programs A, B, and C). Only the CPU module 101-1 in the active system executes these periodic programs to perform control processing of the I / O device, and the CPU module 101-2 in the standby system executes these periodic programs. Is not executed. These fixed-cycle programs have priority levels (priority level: A> B> C). When the startup cycle of a fixed-cycle program with a high priority level is reached, the fixed-cycle program being executed with a low priority level is interrupted. The fixed-cycle program with a high priority level is preferentially executed.

CPUモジュール101−1、CPUモジュール101−2及びI/O群102は、システムバス103によって接続されており、稼動系CPUモジュール101−1はシステムバス103を介して各I/Oユニット102−1〜102−nに対して出力データ(制御データ)を送信し、またI/Oユニット102−1〜102−nからは接続されている制御対象機器からの計測値等の入力データを受信している。   The CPU module 101-1, the CPU module 101-2 and the I / O group 102 are connected by a system bus 103, and the active system CPU module 101-1 is connected to each I / O unit 102-1 via the system bus 103. Output data (control data) to 102-n, and input data such as measured values from connected control target devices is received from the I / O units 102-1 to 102-n. Yes.

また2重化されているCPUモジュール101−1とCPUモジュール101−2との間には等値化バス104を備え、稼動系/待機系の切替えが生じたときに制御データの整合性を持たせる為、この等値化バス104を介して稼動系CPUモジュール101−1から待機系CPUモジュール101−2に制御データを送信して等値化処理を行っている。   Further, an equalization bus 104 is provided between the duplicated CPU module 101-1 and CPU module 101-2 so that the control data is consistent when switching between the active system and the standby system occurs. Therefore, the equalization processing is performed by transmitting control data from the active CPU module 101-1 to the standby CPU module 101-2 via the equalization bus 104.

図8に示すように、従来の2重化コントローラでは、稼動系CPUモジュール101−1にて定周期プログラムA、B、Cが実行された場合、上記割込みによって定周期プログラムA、Bが先に実行されてから優先レベルが最も低い定周期プログラムCに処理が戻り、定周期プログラムCによる演算処理が終了後に、定周期プログラムA、B、Cで使用される全ての制御データの等値化を行う。よって定周期プログラムA、B、C内で行われる各処理の実行順序は、入力処理→プログラム演算→出力処理となり、また最も優先レベルが低い定周期プログラムCは等値化処理が入るのでその処理実行順序は、入力処理→プログラム演算→制御データ等値化→出力処理となる。尚、図上に示す“入”が入力処理、“演”がプログラム演算、“等”が制御データ等値化、“出”が出力処理を意味する。   As shown in FIG. 8, in the conventional duplex controller, when the periodic programs A, B, and C are executed by the active system CPU module 101-1, the periodic programs A and B are first executed by the interrupt. After execution, the process returns to the fixed cycle program C having the lowest priority level, and after the calculation processing by the fixed cycle program C is completed, all control data used in the fixed cycle programs A, B, and C are equalized. Do. Therefore, the execution order of each process performed in the periodic programs A, B, and C is input processing → program calculation → output processing, and the periodic program C having the lowest priority level is subjected to equalization processing. The execution order is input processing → program operation → control data equalization → output processing. In the figure, “ON” means input processing, “Den” means program calculation, “etc.” means control data equalization, and “OUT” means output processing.

図8において、稼動系CPUモジュール101−1の各定周期プログラムの演算中に、稼動系/待機系切替え要因が発生した場合、稼動/待機の切替えを行って新たに稼動系となったCPUモジュール101−2は、制御データの整合性を保証するため、最後に制御データが等値化された図示のt1の時点の状態から処理を引き継いだ形で定周期プログラムを実行する。   In FIG. 8, when an active / standby system switching factor occurs during the calculation of each periodic program of the active system CPU module 101-1, the CPU module newly switched to the active system by switching the active / standby system. In order to guarantee the consistency of the control data, 101-2 executes the periodic program in the form of taking over the process from the state at the time t1 in the figure when the control data is finally equalized.

例えば、図示の定周期プログラムBによる演算実行中にCPUの切替え要因が発生した場合、新たに稼動系となるCPUモジュール101−2はt1の時点の状態からプログラムを実行する。しかしこの場合、図示のt2の時点で既にI/Oユニットに定周期プログラムA実行に伴う出力データの送信を行っているが等値化処理は行われていない為、制御データとI/Oユニットからの出力の状態が不整合となる場合がある。また、最後に制御データが等値化された状態まで戻して処理を引き継ぐので戻り時間が大きくなってしまうことがある。   For example, when a CPU switching factor occurs during the execution of the calculation by the fixed-period program B shown in the figure, the CPU module 101-2 that newly becomes the active system executes the program from the state at the time t1. However, in this case, since the output data associated with the execution of the fixed cycle program A has already been transmitted to the I / O unit at the time t2 shown in the figure, since the equalization processing is not performed, the control data and the I / O unit May cause inconsistent output status. In addition, since the control data is finally returned to the equalized state and the process is taken over, the return time may be increased.

また従来のコントローラでは、稼動系/待機系CPUの切替えが生じると切替え後の処理において、定周期プログラムの実行周期時間や各定周期プログラムの実行順番を維持できないという問題が生じる。   Further, in the conventional controller, when the active / standby CPU is switched, there is a problem that the execution cycle time of the fixed cycle program and the execution order of the fixed cycle programs cannot be maintained in the processing after the switching.

また従来のコントローラでは、稼動系/待機系CPUモジュールの切替えが生じると切替え後の処理において、定周期プログラムの実行周期時間や各定周期プログラムの実行順番を維持できないという問題が生じる。   In the conventional controller, when the active / standby CPU module is switched, there is a problem that the execution cycle time of the fixed cycle program and the execution order of the fixed cycle programs cannot be maintained in the processing after the switching.

以上説明した従来技術に関しては、例えば特許文献1、非特許文献1等に記載されている。
上述した問題に対して、本出願の出願人が既に提案している従来技術として、特許文献2記載の発明がある。
The related art described above is described in, for example, Patent Document 1, Non-Patent Document 1, and the like.
With respect to the problems described above, there is an invention described in Patent Document 2 as a conventional technique that has already been proposed by the applicant of the present application.

尚、ここでは特に図示しないが、特許文献2の二重化コントローラシステムは、不図示のCPUモジュールa、CPUモジュールbを有し、図7の構成と同様、CPUモジュールa−CPUモジュールb間に等値化バスを設け、この等値化バスを介して等値化を行う構成であるものとする。また、ここでは、CPUモジュールaが稼動系、CPUモジュールbが待機系であるものとして説明する。   Although not specifically shown here, the duplex controller system of Patent Document 2 has a CPU module a and a CPU module b (not shown), and is equivalent between the CPU module a and the CPU module b as in the configuration of FIG. It is assumed that an equalization bus is provided and equalization is performed via the equalization bus. In the following description, it is assumed that the CPU module a is an active system and the CPU module b is a standby system.

図9に示すように、特許文献2の二重化コントローラでは、稼動系CPUモジュールaにて定周期プログラムA、B、C(優先レベル:A>B>C)が実行される場合、各定周期プログラムの処理実行順番は、入力処理→プログラム演算→制御データ等値化→出力処理である。すなわち、各定周期プログラムA、B、Cを実行する毎に、制御データの等値化処理を行う(以下、このような等値化を“マルチ等値化”と呼ぶ。一方、上記特許文献1等の従来方式の等値化を“シングル等値化”と呼ぶ)。このようなマルチ等値化を行うことによって、稼動/待機切り替えが生じたときに、等値化データとI/Oユニットへの出力データとの整合性が確保できると共に、稼動/待機切り替え時のオーバーヘッドを縮小できるという効果が得られる。   As shown in FIG. 9, in the duplex controller of Patent Document 2, when the periodic program A, B, C (priority level: A> B> C) is executed in the active system CPU module a, each periodic program The processing execution order is: input processing → program calculation → control data equalization → output processing. That is, each time the fixed-cycle programs A, B, and C are executed, control data equalization processing is performed (hereinafter, such equalization is referred to as “multi-equalization”. The conventional equalization of 1 etc. is called “single equalization”). By performing such multi-equalization, when operation / standby switching occurs, consistency between the equalized data and output data to the I / O unit can be ensured, and at the time of operation / standby switching. The effect that the overhead can be reduced is obtained.

また、従来のシングル等値化処理ではユーザが使用しているユーザデータを等値化しているのに対して、特許文献2のマルチ等値化処理では更にプログラム割り込み情報やプログラム実行スケジュール情報等のシステム情報も等値化している。プログラム割込み情報は、例えばプログラムカウンタや各種フラグやレジスタの値等である。プログラム実行スケジュール情報は、例えば各定周期プログラム毎に、その定周期プログラムの実行周期である定周期設定時間や、その定周期プログラムを前回実行した後の経過時間を示す実行周期経過時間等である。尚、プログラムカウンタは、各定周期プログラム毎に、最後に実行したプログラム(行)を示すものである。   In addition, in the conventional single equalization process, user data used by the user is equalized, whereas in the multi-equalization process of Patent Document 2, program interrupt information, program execution schedule information, etc. System information is also equalized. The program interrupt information includes, for example, a program counter, various flags, register values, and the like. The program execution schedule information is, for example, for each fixed cycle program, a fixed cycle setting time that is the execution cycle of the fixed cycle program, an execution cycle elapsed time that indicates an elapsed time after the previous fixed cycle program is executed, and the like. . The program counter indicates the last executed program (row) for each fixed cycle program.

稼動/待機の切替えが行われ、新たに稼働系となったCPUモジュールbは、等値化してあるプログラム割込み情報を使用して、割込み中断されていたプログラム実行を、中断時の状態から継続して行うことができる。すなわち例えば図9の例では定周期プログラムA実行に伴う等値化処理の際に定周期プログラムB中断時のプログラムカウンタ値等も一緒に待機側に転送しているので、定周期プログラムB実行中に異常が生じて稼動/待機切換えが起こった場合、新たに稼動系となったCPUモジュールbは、定周期プログラムBの中断時点から引き続き処理を実行できる。
特開2002−149212号公報 特開2003−296133号公報 「統合化制御システムMICREX−IXのコントロールステーションの制御機能」;富士時報 Vol.67 NO.6,1994、345−348頁
The CPU module b that has been switched to active / standby and becomes a new active system uses the program interrupt information that has been equalized to continue the program execution that was interrupted from the state at the time of interruption. Can be done. That is, for example, in the example of FIG. 9, since the program counter value at the time of interruption of the periodic program B is transferred to the standby side at the time of equalization processing accompanying execution of the periodic program A, the periodic program B is being executed. When the operation / standby switching occurs due to an abnormality in the CPU module b, the CPU module b that has newly become an active system can continue to execute processing from the point at which the periodic program B is interrupted.
JP 2002-149212 A JP 2003-296133 A "Control function of the control station of the integrated control system MICREX-IX"; Fuji Time Report Vol. 67 NO. 6, 1994, pages 345-348

上記特許文献2の二重化コントローラシステムにおいては、上記の通り、稼動/待機の切り替えが起きると、新たに稼動系になったCPUモジュールbは、等値化されていたシステム情報を元に、中断された定周期プログラムB、Cを、それぞれ、中断時点の状態から継続させて制御を続けることができる。しかし、このような制御は、CPUモジュールaが保持する定周期プログラムと、CPUモジュールbが保持する定周期プログラムとが一致していることが前提条件になっている。   In the dual controller system of Patent Document 2, as described above, when switching between operation / standby occurs, the CPU module b that has newly become an active system is interrupted based on the equalized system information. The periodic programs B and C can be continued and controlled from the state at the time of interruption. However, such control is premised on that the fixed cycle program held by the CPU module a matches the fixed cycle program held by the CPU module b.

しかしながら、もし、上記図9に示すように、稼動系のCPUモジュールaが保持する定周期プログラムと待機系のCPUモジュールbが保持する定周期プログラムとが同一ではない場合(図示の例では、稼動系のCPUモジュールaは定周期プログラムB、待機系のCPUモジュールbは定周期プログラムB’(B’はBの一部を変更したもの、すなわち改造版、バージョンアップ版等である))を保持している状態で、稼動/待機切り替えが起きると、例えばプログラムカウンタが一致しないまま、定周期プログラムB’を実行してしまい、正常な制御ができなくなるという問題点があった。   However, as shown in FIG. 9, if the fixed cycle program held by the active CPU module a is not the same as the fixed cycle program held by the standby CPU module b (in the illustrated example, The system CPU module a holds the periodic program B, and the standby CPU module b holds the periodic program B ′ (B ′ is a modified version of B, ie, a modified version, an upgraded version, etc.)). When the operation / standby switching occurs in this state, for example, the fixed-cycle program B ′ is executed without matching the program counters, and there is a problem that normal control cannot be performed.

このような問題に対して、本出願の出願人は既に特願2003−327647号(以下、先出願と呼ぶ)の発明を提案している。
この先出願の発明では、稼動系コントローラにおいては、通常時は、各定周期プログラムが実行される毎にシステム情報も等値化するマルチ等値化処理を実行している。そして、稼動系と待機系のコントローラが互いに他方のコントローラの定周期プログラムを読み出し、自コントローラの定周期プログラムと一致するか否かを照合し、不一致と判定された場合には、システム情報を必要としないシングル等値化モードによる等値化処理に切り替える。
In response to such problems, the applicant of the present application has already proposed the invention of Japanese Patent Application No. 2003-327647 (hereinafter referred to as a prior application).
In the invention of this earlier application, the operating system controller normally executes a multi-equalization process for equalizing system information every time each periodic program is executed. Then, the active system controller and the standby system controller read each other's fixed-cycle program, check whether they match the fixed-cycle program of the own controller, and if it is determined that they do not match, system information is required. Switch to the equalization process in the single equalization mode.

このように、先出願では、稼動系と待機系とで相互に異なるプログラムが格納されている場合には、一時的に両方ともシングル等値化モード(特許文献1等の従来手法)へと切り替える。シングル等値化モードでは、定周期プログラムの中断時点から継続してプログラム実行することはできないので、上記の問題が生じることはない。上記照合処理は、例えば、システムイニシャル時、起動時、定周期プログラム変更時等に実行する。   In this way, in the prior application, when different programs are stored in the active system and the standby system, both are temporarily switched to the single equalization mode (conventional method of Patent Document 1 or the like). . In the single equalization mode, since the program cannot be continuously executed from the point of interruption of the fixed cycle program, the above problem does not occur. The above collation processing is executed, for example, at the time of system initialization, at startup, at the time of changing the periodic program.

しかしながら、ここで、通常、プログラマブルコントローラ・システムを新たに構築する際には、本稼動運転に入る前に例えばシステムエンジニア等が、主に稼動系CPUモジュールが新規アプリケーション・プログラム(定周期プログラム等)通りに動作するか否かを確認する為のシステム検証を行うものである。上記先出願では、本稼動運転中に一時的にシングル等値化モードに入ることはあるが、通常はマルチ等値化モードで動作する。つまり、通常は、本稼動運転時には、稼動系、待機系の両方のCPUモジュールに同じ定周期プログラムが格納されているはずであり、この場合、両方ともマルチ等値化モードで動作する。よって、システム検証は、マルチ等値化モード時の動作を検証しなければならない。   However, normally, when a new programmable controller system is constructed, a system engineer or the like, for example, mainly enters an active system CPU module into a new application program (such as a fixed-cycle program) before entering the actual operation. The system verification is performed to confirm whether or not it operates as described above. In the above-mentioned prior application, the single equalization mode may be temporarily entered during the actual operation, but normally it operates in the multi-equalization mode. That is, normally, during the actual operation, the same periodic program should be stored in both the active system and standby system CPU modules, and in this case, both operate in the multi-equalization mode. Therefore, the system verification must verify the operation in the multi-equalization mode.

しかしながら、システム検証時には、待機系CPUモジュールが実装されていない場合や、待機系CPUモジュールに新規アプリケーションがダウンロードされていない場合が少なくなく、この様な場合には上記先出願の手法ではプログラム不一致となるので、シングル等値化モードになってしまう。特に、システム検証は、顧客側に設置する前に生産者側の工場等で行う場合が多く、その場合には各CPUモジュール単独で(つまり、ペアとなるCPUモジュールが接続されていない状態で)動作チェックする場合が多いので、シングル等値化モードになってしまう。   However, at the time of system verification, there are not a few cases where a standby CPU module is not mounted or a new application is not downloaded to the standby CPU module. Therefore, it becomes a single equalization mode. In particular, system verification is often performed at a factory on the producer side before installation on the customer side. In that case, each CPU module alone (that is, in a state where the paired CPU modules are not connected). Since the operation is often checked, the single equalization mode is set.

この為、以下に述べる問題が生じる。
ここで、図10に、従来のマルチ等値化モード時の定周期プログラム実行タイミングを示す。図11に、従来のシングル等値化モード時の定周期プログラム実行タイミングを示す。
For this reason, the following problem arises.
Here, FIG. 10 shows a fixed-cycle program execution timing in the conventional multi-equalization mode. FIG. 11 shows the fixed-cycle program execution timing in the conventional single equalization mode.

図10に示すように、マルチ等値化モードでは、稼動系CPUモジュールの定周期プログラムA,B,Cの実行時間はそれぞれTa、Tb、Tcであり、Ta、Tb、Tcには等値化データの収集・転送時間が含まれている。一方、図11のシングル等値化モードでは、稼動系CPUモジュールの定周期プログラムA,B,Cの実行時間はそれぞれTa’、Tb’、Tc’であり、 Ta’、Tb’には等値化データの収集・転送時間が含まれていない。従って、当然、マルチ等値化モード時の実行時間は、シングル等値化モード時の実行時間より長くなる。よって、シングル等値化モード時の実行タイミングでシステム検証しても、マルチ等値化モード時の実行タイミングとは違っているので、本稼動運転時のシステム動作を検証していることにはならない。つまり、適切なシステム検証が行えなかった。   As shown in FIG. 10, in the multi-equalization mode, the execution times of the periodic programs A, B, and C of the active CPU module are Ta, Tb, and Tc, respectively, and equalization is performed for Ta, Tb, and Tc. Data collection / transfer time is included. On the other hand, in the single equalization mode of FIG. 11, the execution times of the periodic programs A, B, and C of the active CPU module are Ta ′, Tb ′, and Tc ′, respectively, and equal to Ta ′ and Tb ′. Data collection / transfer time is not included. Therefore, naturally, the execution time in the multi-equalization mode is longer than the execution time in the single equalization mode. Therefore, even if the system is verified at the execution timing in the single equalization mode, it is different from the execution timing in the multi-equalization mode. . In other words, proper system verification could not be performed.

本発明の課題は、通常はマルチ等値化処理すなわち各定周期プログラム実行毎に制御データ等値化処理を行う2重化コントローラシステムにおいて、稼動系と待機系とで相互に定周期プログラムが異なっていても問題なく稼動/待機切り替え後の制御が行えるようにすると共に、本稼動運転前のシステム検証も問題なく行えるようにする2重化コントローラシステム、その方法、プログラム等を提供することである。   The problem of the present invention is that, in a dual controller system that normally performs multi-equalization processing, that is, control data equalization processing every execution of each periodic program, the periodic programs differ between the active system and the standby system. It is possible to provide a dual controller system, a method, a program, and the like that enable control after operation / standby switching without any problem, and also perform system verification before actual operation without any problem. .

本発明の2重化コントローラシステムは、稼動系と待機系のコントローラを有し、複数の定周期プログラムを実行する2重化コントローラシステムにおいて、前記稼動系コントローラ、待機系コントローラは、それぞれ、任意のときに、他方のコントローラの定周期プログラムと自コントローラの定周期プログラムとを照合して、一致する場合にはマルチ等値化モード、不一致の場合にはシングル等値化モードとする等値化モード決定手段を有し、前記稼動系コントローラは、前記等値化モード決定手段によって決定されたモードに関係なく、各定周期プログラム実行毎に、等値化プログラムレベルを付加した等値化データを待機系コントローラに送信する第1の等値化処理手段を有し、前記待機系のコントローラは、シングル等値化モード時に、前記等値化プログラムレベルが最低レベルである場合には、受信した等値化データを所定の記憶領域に分配して等値化処理を成立させ、最低レベルではない場合には、受信した等値化データを破棄する第2の等値化処理手段を有するように構成する。   The duplex controller system of the present invention has an active system and a standby system controller, and in the duplex controller system that executes a plurality of fixed-cycle programs, the active system controller and the standby system controller are respectively Sometimes the other controller's fixed-cycle program and its own controller's fixed-cycle program are collated, and if they match, the multi-equalization mode is set, and if they do not match, the single equalization mode is set. The operating system controller waits for equalized data to which an equalized program level is added for each execution of each periodic program regardless of the mode determined by the equalized mode determining means. First equalization processing means for transmitting to the system controller, wherein the standby system controller has a single equalization mode In addition, when the equalization program level is the lowest level, the received equalization data is distributed to a predetermined storage area to establish an equalization process. A second equalization processing means for discarding the equalized data is provided.

上記構成では、稼動系コントローラは、モードに関係なく、マルチ等値化モード時の動作を行う。これにより、本稼動運転前のシステム検証時には、シングル等値化モードであっても関係なく、本稼動運転時のシステム動作を検証することができる。一方、本稼動運転時には、シングル等値化モード時には、稼動系コントローラがマルチ等値化モード時の動作を行っていても、待機系コントローラ側において最低レベルのもの以外は受信した等値化データを破棄するので、実質的にシングル等値化モード時の処理を実現させることができる。   In the above configuration, the active system controller operates in the multi-equalization mode regardless of the mode. Thereby, at the time of system verification before the actual operation, the system operation at the actual operation can be verified regardless of the single equalization mode. On the other hand, during the actual operation, in the single equalization mode, even if the active controller is operating in the multi-equalization mode, the received equalization data other than those at the lowest level on the standby controller side will be received. Since it is discarded, the processing in the single equalization mode can be substantially realized.

尚、稼動側はモードに関係なく動作するので、そもそもモードを決定する処理自体を行わないようにしてもよい。   Since the operating side operates regardless of the mode, the process itself for determining the mode may not be performed.

本発明の2重化コントローラシステム、その方法、プログラム等によれば、通常はマルチ等値化処理すなわち各定周期プログラム実行毎に制御データ等値化処理を行う2重化コントローラシステムにおいて、稼動系と待機系とで相互に定周期プログラムが異なっていても問題なく稼動/待機切り替え後の制御が行えるようにすると共に、本稼動運転前のシステム検証も問題なく行えるようにすることができる。   According to the duplex controller system, the method, the program, etc. of the present invention, in the duplex controller system that normally performs multi-equalization processing, that is, control data equalization processing every execution of each periodic program, It is possible to perform control after operation / standby switching without any problem even if the fixed-cycle programs are different between the standby system and the standby system, and to perform system verification before actual operation without any problem.

以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本実施の形態による2重化コントローラシステムにおけるプログラマブルコントローラ本体(CPUモジュール)の構成ブロック図である。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a configuration block diagram of a programmable controller main body (CPU module) in a duplex controller system according to the present embodiment.

図1に示す2重化コントローラシステムは、CPUモジュール1、CPUモジュール2とを有し、CPUモジュール1、CPUモジュール2、及び不図示の各種I/O群は、システムバス4を介して接続されている。更に、CPUモジュール1とCPUモジュール2との間には等値化バス3が設けられている。尚、ここでは、CPUモジュール1が稼動系、CPUモジュール2がその待機系となっているものとして説明する。   The duplex controller system shown in FIG. 1 includes a CPU module 1 and a CPU module 2, and the CPU module 1, the CPU module 2, and various I / O groups (not shown) are connected via a system bus 4. ing. Further, an equalization bus 3 is provided between the CPU module 1 and the CPU module 2. In the following description, it is assumed that the CPU module 1 is an active system and the CPU module 2 is a standby system.

CPUモジュール1、2は、プログラマブルコントローラ本体であるが、ここでは本例の説明に係わる構成のみを示し、他の構成は省略して示す。
図1において、稼動系のCPUモジュール1は、プログラムRAM11、データRAM12、等値化バス制御部13、受信バッファ用RAM14、及び制御部15等を有する。これら以外の構成については、上記の通り、ここでの説明には特に関係ないので省略している。
The CPU modules 1 and 2 are programmable controller bodies, but only the configuration relating to the description of this example is shown here, and the other configurations are omitted.
In FIG. 1, the active CPU module 1 includes a program RAM 11, a data RAM 12, an equalization bus control unit 13, a reception buffer RAM 14, a control unit 15, and the like. Other configurations are omitted because they are not particularly relevant to the description here, as described above.

プログラムRAM11には、ユーザプログラム11a等が格納される。ユーザプログラム11aは例えば上記定周期プログラム等であるが、本例のシステムにおいては更に後述する図2等に示すCPUモジュール1の処理を制御部15によって実現させる為の第2のアプリケーションプログラムも格納されている。   The program RAM 11 stores a user program 11a and the like. The user program 11a is, for example, the above-mentioned periodic program, but the system of this example also stores a second application program for realizing the processing of the CPU module 1 shown in FIG. ing.

データRAM12は、ユーザデータ領域12aを有する。ユーザデータ領域12aには、例えば各定周期プログラム毎に対応する等値化データ(制御データ(ユーザデータ))が格納されている。また、既に説明してあるように、マルチ等値化モードにおいてはシステム情報も待機側に転送するが、このシステム情報は制御部15内部のメモリに保持されるか又はデータRAM12に格納されている。   The data RAM 12 has a user data area 12a. For example, equalization data (control data (user data)) corresponding to each fixed cycle program is stored in the user data area 12a. Further, as already described, in the multi-equalization mode, the system information is also transferred to the standby side. This system information is held in the memory inside the control unit 15 or stored in the data RAM 12. .

等値化バス制御部13は、等値化バス3を介して等値化を行う為の等値化処理専用の構成であり、制御部15から等値化データを渡されると、待機側の等値化バス制御部23と連動して、この等値化データを待機側の受信バッファ用RAM24に格納させる機能を有する。尚、等値化バス制御部13、23は、例えば上記非特許文献1記載の“SGM(Sameness data Gather Memory control)”に相当する。   The equalization bus control unit 13 is a configuration dedicated to equalization processing for performing equalization via the equalization bus 3. When the equalization data is passed from the control unit 15, the equalization bus control unit 13 In conjunction with the equalization bus control unit 23, the equalization data is stored in the standby reception buffer RAM 24. The equalization bus control units 13 and 23 correspond to, for example, “SGM (Sameness data Gather Memory control)” described in Non-Patent Document 1.

制御部15は、CPUモジュール1全体を制御する中央処理装置(CPUチップ等)であり、上記プログラムRAM11に格納されている第2のアプリケーションプログラムを用いて、先出願と同様、通常時はマルチ等値化による等値化処理を実行し、定周期プログラムの一致/不一致を確認する必要がある状況では、プログラム照合処理を実行してプログラム不一致の場合には一時的にシングル等値化モードによる等値化処理へと移行する。   The control unit 15 is a central processing unit (CPU chip or the like) that controls the CPU module 1 as a whole, and using the second application program stored in the program RAM 11, as in the prior application, usually a multi-processor or the like. In a situation where it is necessary to execute equalization processing by valueization and confirm the coincidence / non-coincidence of the periodic program, in the case of program mismatch by executing the program collation processing, temporarily use the single equalization mode, etc. Shift to value processing.

つまり、制御部15は、第2のアプリケーションプログラムを用いて、各定周期プログラム実行毎に等値化を行うと共にこの等値化データにはシステム情報も含むようにするマルチ等値化処理を実行する等値化処理機能と、待機系のCPUモジュール2の定周期プログラムを読み出し、自CPUモジュールの定周期プログラムと一致するか否かの照合を行う照合機能と、この照合機能によって不一致と判定された場合には上記等値化処理をシングル等値化モードによる等値化処理に切り替える等値化モード切替機能と、現在のモードがシングルであるかマルチであるかに関係なくマルチ等値化モード時の等値化処理を行う等値化処理機能とを実現する。   In other words, the control unit 15 uses the second application program to perform equalization for each execution of the fixed-cycle program and execute multi-equalization processing that includes system information in the equalized data. The equalization processing function to be performed, the fixed-period program of the standby CPU module 2 is read, a verification function for verifying whether or not it matches the fixed-cycle program of its own CPU module, and this verification function determines that there is a mismatch. In the case of an equalization process, the equalization mode switching function for switching the above equalization process to the equalization process in the single equalization mode, and the multi-equalization mode regardless of whether the current mode is single or multi An equalization processing function for performing time equalization processing is realized.

また、待機系のCPUモジュール2は、プログラムRAM21、データRAM22、等値化バス制御部23、受信バッファ用RAM24、及び制御部25等を有する。この構成自体は、稼動系のCPUモジュール1と同じであるので、特に説明しないが、制御部25は、プログラムRAM21に格納されている第3のアプリケーションプログラムを用いて、後述する図2に示すCPUモジュール2側の処理や図4の処理等を実行する。また、制御部25は、制御部15とは異なり、各定周期プログラムの実行は行っていない。但し、これは、CPUモジュール2が待機系のときの話であり、稼動系のときには制御部25は各定周期プログラムの実行も行う。   The standby CPU module 2 includes a program RAM 21, a data RAM 22, an equalization bus control unit 23, a reception buffer RAM 24, a control unit 25, and the like. Since this configuration itself is the same as that of the active CPU module 1, although not specifically described, the control unit 25 uses a third application program stored in the program RAM 21 to perform the CPU shown in FIG. The processing on the module 2 side, the processing in FIG. Further, unlike the control unit 15, the control unit 25 does not execute each periodic program. However, this is a story when the CPU module 2 is a standby system, and when it is an active system, the control unit 25 also executes each periodic program.

ここで、上記各CPUモジュール1、2は、先出願と同様、互いの定周期プログラムの照合結果に応じた等値化モード決定処理を行っている。しかし、本例では、上記の通り、稼動系CPUモジュールはモードに関係なくマルチ等値化モード時の等値化処理を実行する。よって、稼動系CPUモジュールは必ずしも等値化モード決定処理を行う必要はないが、ここでは行うものとして説明する。   Here, each of the CPU modules 1 and 2 performs the equalization mode determination process according to the collation result of the fixed-cycle program of each other, as in the prior application. However, in this example, as described above, the active CPU module executes the equalization process in the multi-equalization mode regardless of the mode. Therefore, the active system CPU module does not necessarily need to perform the equalization mode determination process, but will be described as being performed here.

先願の等値化モード決定処理は、上述してあるように、システムイニシャル時、起動時、定周期プログラム変更時等に実行する。図2にその一例として、稼動系が既に運転中の状態で待機系が起動した場合の処理フローチャート図を示す。尚、稼動系、待機系とがほぼ同時に起動した場合も、図2の処理とほぼ同様の処理が行われる。また、定周期プログラム変更時には、当該変更があった側のCPUモジュールが、変更があったことを以って図2の待機側の処理とほぼ同様の処理を行う。つまり、どの場合も、処理開始のトリガ条件が異なるだけであり、処理内容自体は図2とほぼ同じである。   As described above, the equalization mode determination process of the prior application is executed at the time of system initialization, at startup, at the time of changing the periodic program, and the like. As an example, FIG. 2 shows a processing flowchart when the standby system is activated while the active system is already in operation. Note that, when the active system and the standby system are activated almost simultaneously, the same process as that of FIG. 2 is performed. In addition, when the fixed cycle program is changed, the CPU module on the changed side performs almost the same processing as the processing on the standby side in FIG. 2 due to the change. That is, in any case, only the trigger condition for starting the process is different, and the processing content itself is almost the same as that in FIG.

図2において、例えば一方のCPUモジュールが故障する等して交換する必要が生じた為、他方のCPUモジュールのみで運転中の状態で、新たなCPUモジュール(待機系となる)をイニシャル処理によって起動した場合、当該待機系CPUモジュール2は、まず、自CPUに対して定周期プログラムの照合要求を出して等値化モード決定処理を開始させる。その際、稼動系のCPUモジュール1が運用中であるか否かをチェックし、運用中である場合には、稼動系のCPUモジュール1に対して、定周期プログラム照合要求コマンドを発行する(ステップS21)。稼動系のCPUモジュール1は、この定周期プログラム照合要求コマンドを受信すると、自CPUに対して上記照合要求を出して等値化モード決定処理を開始させる(ステップS11)。   In FIG. 2, for example, one of the CPU modules needs to be replaced due to a failure, so that a new CPU module (becomes a standby system) is activated by initial processing while only the other CPU module is operating. In this case, the standby CPU module 2 first issues a periodic program verification request to its own CPU to start the equalization mode determination process. At that time, it is checked whether or not the active CPU module 1 is in operation, and if it is in operation, a fixed-cycle program verification request command is issued to the active CPU module 1 (step S21). When the active CPU module 1 receives this periodic program collation request command, it issues the collation request to its own CPU and starts the equalization mode determination process (step S11).

上記処理開始後は、稼動系も待機系も同じ処理となるので、ここでは稼動系を例にして説明する。
稼動系CPUモジュール1は、上記等値化モード決定処理を開始すると、まず、それまでの等値化モードが何であるかに係わらず、強制的にシングル等値化モードにする(ステップS12)。つまり、フェイルセーフの考え方により、当該等値化モード決定処理中は、シングル等値化モードによる等値化処理を実行させる。次に、待機系のCPUモジュール2に対して、プログラム読出しコマンドを送信し、これに対して待機系のCPUモジュール2側のステップS23の処理によって返信されてくる待機系のCPUモジュール2側の定周期プログラムを受信して、例えば不図示のバッファ等に格納する(ステップS13)。
After the above process is started, the active system and the standby system are the same, and therefore, the operation system will be described as an example here.
When starting the above equalization mode determination process, the active CPU module 1 forcibly sets the single equalization mode regardless of what the previous equalization mode is (step S12). In other words, the equalization process in the single equalization mode is executed during the equalization mode determination process according to the fail-safe concept. Next, a program read command is transmitted to the standby CPU module 2, and a response is returned by the processing in step S 23 on the standby CPU module 2 side. The periodic program is received and stored in a buffer (not shown), for example (step S13).

また、別途、待機系のCPUモジュール2側のステップS24の処理によって、待機系のCPUモジュール2側からプログラム読出しコマンドが送られてきた場合には、例えば割込み処理等により、稼動系のCPUモジュール1側の定周期プログラムを待機系のCPUモジュール2に返信する処理を行う(ステップS14)。   In addition, when a program read command is sent from the standby CPU module 2 side by the process of step S24 on the standby CPU module 2 side, the active CPU module 1 is executed by, for example, interrupt processing. The process of returning the fixed-cycle program on the side to the standby CPU module 2 is performed (step S14).

次に、稼動系のCPUモジュール1は、ステップS13で受信・格納した待機系のCPUモジュール2側の定周期プログラムと、自己の定周期プログラムとの照合を行い、両者が一致するか否かを判定する(ステップS15)。この照合・一致判定は、既存の手法を用いればよく、例えば各プログラムを一行ずつ比較して一致・不一致を判定し、たとえ1行でも不一致である場合には、不一致と判定する。また、ここでは、プログラム不一致といっても、全く異なることは想定していない。例えば同じ定周期プログラムAであっても、例えばバージョン等が異なる場合等を想定している。よって、上記照合は、例えば、稼動系のCPUモジュール1の定周期プログラムAと、待機系のCPUモジュール2の定周期プログラムAとを比較・照合する。勿論、他の定周期プログラムB,C等も同様に比較・照合する。そして、全ての定周期プログラムが一致する場合に、一致と判定する。   Next, the active CPU module 1 collates the fixed-cycle program on the standby CPU module 2 side received and stored in step S13 with its own fixed-cycle program, and determines whether or not they match. Determination is made (step S15). For this collation / coincidence determination, an existing method may be used. For example, each program is compared line by line to determine coincidence / non-coincidence. In addition, here, it is not assumed that the program mismatch is completely different. For example, it is assumed that the same periodic program A has different versions. Therefore, for example, the collation compares and collates the fixed cycle program A of the active CPU module 1 with the fixed cycle program A of the standby CPU module 2. Of course, other periodic programs B, C, etc. are similarly compared and verified. When all the fixed cycle programs match, it is determined that they match.

もし一致すると判定された場合には等値化処理はマルチ等値化モードに変更し(上記ステップS12の処理によりシングル等値化モードになっているので)、もし不一致と判定された場合には等値化処理はシングル等値化モードのままとする(ステップS16)。   If it is determined that they match, the equalization processing is changed to the multi-equalization mode (because the processing in step S12 is in the single equalization mode), and if it is determined that they do not match, The equalization process remains in the single equalization mode (step S16).

尚、マルチ等値化モードとは、上述してある通り、各定周期プログラム実行毎に等値化を行うと共に該等値化データにはシステム情報も含むようにする等値化処理を実行するモードである。また、シングル等値化モードは、上述してある通り、優先レベルが最も低い定周期プログラムの演算処理が終了後に、全ての定周期プログラムで使用される全ての制御データに対する等値化処理を実行するモードであり、このモードではシステム情報は等値化する必要はない。   In the multi-equalization mode, as described above, equalization is performed every execution of each periodic program and equalization processing is performed so that the equalization data includes system information. Mode. In the single equalization mode, as described above, after the computation processing of the fixed cycle program with the lowest priority level is completed, the equalization processing is executed for all control data used in all the fixed cycle programs. In this mode, system information does not need to be equalized.

ここで、本手法では、上記シングル等値化モード時の等値化処理が、従来技術や先出願とは異なる。すなわち、まず、稼動系のCPUモジュール1では、シングル等値化モード時に、マルチ等値化モード時と同じ実行時間で等値化が行われるようにする。つまり、各定周期プログラム実行毎に等値化処理を行うようにする。換言すれば、稼動系CPUモジュール1は、現在のモードがシングル等値化モードであるかマルチ等値化モードであるかに係わらず、全ての定周期プログラムエンドにて等値化データを収集してこれを待機系CPUもジュール2に送信する。つまり、モードに関係なく、マルチ等値化モード時の処理を行う(よって、制御データだけでなく上記システム情報も待機側に転送する)。但し、その際、本手法では、当該収集・送信する等値化データは、そのとき実行した定周期プログラムに係わる等値化データのみとするのではなく、全ての定周期プログラムに係わる等値化データとする。換言すれば、等値化データ自体は、シングル等値化モード時の等値化データとなる。更に、本手法では、等値化データに等値化プログラムレベル情報を付加して待機側に送信する。等値化プログラムレベル情報とは、そのとき実行した定周期プログラムの上記優先レベルのことである。   Here, in this method, the equalization process in the single equalization mode is different from the conventional technique and the prior application. That is, first, the active CPU module 1 performs equalization in the single equalization mode with the same execution time as in the multi-equalization mode. That is, the equalization process is performed every execution of each periodic program. In other words, the active system CPU module 1 collects equalized data at every fixed-cycle program end regardless of whether the current mode is a single equalization mode or a multi-equalization mode. The standby CPU also transmits this to the module 2. That is, processing in the multi-equalization mode is performed regardless of the mode (thus, not only the control data but also the system information is transferred to the standby side). However, in this method, the equalization data to be collected / transmitted is not limited to the equalization data related to the fixed-cycle program executed at that time, but equalization related to all fixed-cycle programs. Data. In other words, the equalization data itself becomes equalization data in the single equalization mode. Further, in this method, the equalized program level information is added to the equalized data and transmitted to the standby side. The equalized program level information is the priority level of the fixed cycle program executed at that time.

図3に、待機側に送信する等値化データフレームの一例を示す。
図示の通り、稼動系CPUモジュール1は、待機側へ等値化データを送信する際に、等値化データフレームのヘッダ内に等値化プログラムレベル情報を付加することにより、待機系CPUモジュール2に対してどの定周期プログラムエンドの等値化データであるかを通知する。
FIG. 3 shows an example of an equalized data frame transmitted to the standby side.
As shown in the figure, the active system CPU module 1 adds the equalized program level information in the header of the equalized data frame when transmitting the equalized data to the standby side. Is notified of the equalization data of the fixed-cycle program end.

一方、待機系CPUモジュール2は、現在のモードに関係なく、稼動側から送信される等値化データを受信する毎に、図4に示す等値化データ分配処理を実行する。
図4において、待機系CPUモジュール2は、現在のモードがマルチ等値化モードである場合には(ステップS31,NO)、無条件で、受信した等値化データの分配処理(等値化データを所定の記憶領域(ユーザデータ領域22a等)に分配・格納する処理)を行う。一方、現在のモードがシングル等値化モードの場合は(ステップS31,YES)、上記等値化プログラムレベル情報を参照することにより、受信した等値化データが、登録される最低レベルの定周期プログラム以外の定周期プログラムの等値化データである場合には(ステップS32,NO)、分配処理は行わずに破棄する。一方、受信した等値化データが、登録される最低レベルの定周期プログラムの等値化データである場合には(ステップS32,YES)、受信した等値化データの分配処理を行う。
On the other hand, the standby CPU module 2 executes the equalized data distribution process shown in FIG. 4 every time it receives the equalized data transmitted from the operating side regardless of the current mode.
In FIG. 4, when the current mode is the multi-equalization mode (step S31, NO), the standby CPU module 2 unconditionally distributes the received equalized data (equivalent data). Is distributed and stored in a predetermined storage area (user data area 22a and the like). On the other hand, when the current mode is the single equalization mode (step S31, YES), the received equalization data is registered at a fixed period of the lowest level by referring to the equalization program level information. If the data is equalized data of a fixed-cycle program other than the program (step S32, NO), it is discarded without performing the distribution process. On the other hand, when the received equalization data is the equalization data of the fixed-period program registered at the lowest level (step S32, YES), the received equalization data is distributed.

以上の手法により、稼動系CPUモジュール1においては、たとえシングル等値化モードであっても、定周期プログラムの実行時間は、本稼動運転時の(つまりマルチ等値化モード時の)実行時間となるので、正常にシステム検証を行うことができる。   With the above method, in the active system CPU module 1, even in the single equalization mode, the execution time of the periodic program is the same as the execution time in the actual operation (that is, in the multi-equalization mode). Therefore, system verification can be performed normally.

上記の手法によるシングル等値化モード時の定周期プログラム実行及び等値化処理の動作例を図5に示す。
図5に示すように、稼動系CPUモジュール1は、シングル等値化モード時であっても、マルチ等値化モードと同等、全ての定周期プログラムエンドで等値化処理(等値化データの収集・送信)を行う。ここで、図示の例では、定周期プログラムA,B,Cの優先レベルはA>B>Cであるものとする。よって、最低レベルの定周期プログラムは、定周期プログラムCである。この場合、稼動系CPUモジュール1は、定周期プログラムA,Bそれぞれの実行時にも等値化処理を行うが、待機系CPUモジュール2では、受信した等値化データを破棄する。一方、定周期プログラムC実行時の等値化データを受信した待機系CPUモジュール2は、これを分配処理する。つまり、シングル等値化モード時には、稼動系CPUモジュール1ではマルチ等値化モードと同様の処理を行っていても、全体としては定周期プログラムA,B実行時の等値化処理は成立していないので実質的にはシングル等値化モード時の等値化処理を行っていることになる。
FIG. 5 shows an operation example of the periodic program execution and equalization processing in the single equalization mode by the above method.
As shown in FIG. 5, the active system CPU module 1 is equivalent to the multi-equalization mode even in the single equalization mode, and equalization processing (equalization data of the equalization data) Collection / transmission). In the illustrated example, it is assumed that the priority levels of the periodic programs A, B, and C are A>B> C. Therefore, the periodic program of the lowest level is the periodic program C. In this case, the active system CPU module 1 performs the equalization process even when each of the periodic programs A and B is executed, but the standby system CPU module 2 discards the received equalized data. On the other hand, the standby CPU module 2 that has received the equalized data during the execution of the periodic program C performs distribution processing. That is, in the single equalization mode, even if the active system CPU module 1 performs the same processing as in the multi-equalization mode, the equalization processing at the time of executing the periodic programs A and B is established as a whole. As a result, the equalization processing in the single equalization mode is substantially performed.

従って、まず、図5に示すシングル等値化モード時の稼動系CPUモジュール1における定周期プログラムA,B,Cの実行時間Ta’’、Tb’’、Tc’’は、マルチ等値化モード時の実行時間と同じになるので、上記の通り正常なシステム検証が行えるようになる。更に、上記の通り、実質的にはシングル等値化モード時の等値化処理を行っていることになるので、稼動系と待機系とで定周期プログラムが異なっていても、(先出願と同様)稼動/待機切換えの際に問題が生じることはない。すなわち、図6に示すように、稼動側には定周期プログラムB、待機側にはそのバージョンアップ版等である定周期プログラムB’が格納されていた場合であっても、稼動側で定周期プログラムB実行中に何等かの異常が発生した為に待機側が新たな稼動系になった場合に、その直前に等値化処理が成立しているのは定周期プログラムC実行時の等値化処理であるので、新たな稼動系ではここから(つまり図8におけるt1の時点)処理を引き継いだ形で定周期プログラムを実行するので、先出願と同様、問題なく処理を引き継ぐことができる。   Therefore, first, the execution times Ta ″, Tb ″, Tc ″ of the periodic programs A, B, C in the active CPU module 1 in the single equalization mode shown in FIG. Since it is the same as the execution time at the time, normal system verification can be performed as described above. Furthermore, as described above, since the equalization processing in the single equalization mode is substantially performed, even if the periodic program is different between the active system and the standby system, (Similar) There is no problem when switching between operation and standby. That is, as shown in FIG. 6, even when the fixed-cycle program B is stored on the operating side and the fixed-cycle program B ′, such as an upgraded version, is stored on the standby side, When the standby side becomes a new active system due to some abnormality during the execution of program B, the equalization process is established immediately before that when the fixed-cycle program C is executed. Since the process is a process, the periodic program is executed in the form of taking over the process from here (that is, at the time point t1 in FIG. 8) in the new operating system, so that the process can be taken over without any problem as in the prior application.

尚、上述した実施例の説明では、稼動系CPUモジュールは、等値化モードがシングル/マルチのどちらであっても同じ処理動作を行うにも係わらず、図2に示すモード判定の為の処理を行うものとしたが、この例に限らず、稼動系CPUモジュールは図2の処理を行わないような構成としてもよい。但し、この場合でも、図2のステップS14の処理は行う。すなわち、この場合でも待機側はモード判定の為の処理を行う必要があるので、稼動側は、待機側からのプログラム読出しコマンドを受けた場合には、自モジュールの定周期プログラムを待機側に送信する処理は行う。   In the description of the above-described embodiment, the active CPU module performs the same processing operation regardless of whether the equalization mode is single or multi, but the process for mode determination shown in FIG. However, the present invention is not limited to this example, and the active CPU module may be configured not to perform the process of FIG. However, even in this case, the process of step S14 in FIG. 2 is performed. That is, even in this case, since the standby side needs to perform processing for mode determination, when the operation side receives a program read command from the standby side, it sends its fixed-cycle program to the standby side. Process to do.

本実施の形態による2重化コントローラシステムにおけるプログラマブルコントローラ本体(CPUモジュール)の構成ブロック図である。It is a block diagram of the programmable controller main body (CPU module) in the duplex controller system according to the present embodiment. 等値化モード決定処理のフローチャート図である。It is a flowchart figure of an equalization mode determination process. 待機側に送信する等値化データフレームの一例を示す図である。It is a figure which shows an example of the equalization data frame transmitted to a standby side. 待機系CPUモジュールにおける等値化データ受信時の処理フローチャート図である。It is a process flowchart figure at the time of equalization data reception in a standby system CPU module. シングル等値化モード時の動作タイミングを示す図である。It is a figure which shows the operation timing at the time of a single equalization mode. シングル等値化モード時の稼動/待機切換えの際のプログラム実行状態を示す図である。It is a figure which shows the program execution state in the case of operation / standby switching at the time of a single equalization mode. 2重化して冗長性を持たせたコントローラの一般的なシステム構成を示す図である。It is a figure which shows the general system structure of the controller which duplicated and gave the redundancy. 従来のシステムの定周期プログラム実行状態及び稼動/待機切換え時の動作を示す図である。It is a figure which shows the operation | movement at the time of the fixed-cycle program execution state of a conventional system, and active / standby switching. 稼動と待機とで定周期プログラムが異なる場合の問題を説明する為の図である。It is a figure for demonstrating the problem when a fixed period program differs by operation and standby. 従来のマルチ等値化モード時の定周期プログラム実行タイミングを示す図である。It is a figure which shows the fixed cycle program execution timing at the time of the conventional multi-equalization mode. 従来のシングル等値化モード時の定周期プログラム実行タイミングを示す図である。It is a figure which shows the fixed cycle program execution timing at the time of the conventional single equalization mode.

符号の説明Explanation of symbols

1 CPUモジュール
2 CPUモジュール
3 等値化バス
4 システムバス
11 プログラムRAM
11a ユーザプログラム
12 データRAM
12a ユーザデータ領域
13 等値化バス制御部
14 受信バッファ用RAM
15 制御部
21 プログラムRAM
21a ユーザプログラム
22 データRAM
22a ユーザデータ領域
23 等値化バス制御部
24 受信バッファ用RAM
25 制御部
1 CPU module 2 CPU module 3 Equalization bus 4 System bus 11 Program RAM
11a User program 12 Data RAM
12a User data area 13 Equalization bus control unit 14 Receive buffer RAM
15 Control unit 21 Program RAM
21a User program 22 Data RAM
22a User data area 23 Equalization bus controller 24 Receive buffer RAM
25 Control unit

Claims (8)

稼動系と待機系のコントローラを有し、複数の定周期プログラムを実行する2重化コントローラシステムにおいて、
前記稼動系コントローラ、待機系コントローラは、それぞれ、
任意のときに、他方のコントローラの定周期プログラムと自コントローラの定周期プログラムとを照合して、一致する場合にはマルチ等値化モード、不一致の場合にはシングル等値化モードとする等値化モード決定手段を有し、
前記稼動系コントローラは、前記等値化モード決定手段によって決定されたモードに関係なく、各定周期プログラム実行毎に、等値化プログラムレベルを付加した等値化データを待機系コントローラに送信する第1の等値化処理手段を有し、
前記待機系のコントローラは、シングル等値化モード時に、前記等値化プログラムレベルが最低レベルである場合には、受信した等値化データを所定の記憶領域に分配して等値化処理を成立させ、最低レベルではない場合には、受信した等値化データを破棄する第2の等値化処理手段を有することを特徴とする2重化コントローラシステム。
In a dual controller system that has active and standby controllers and executes multiple periodic programs,
The active system controller and the standby system controller are respectively
At any time, the fixed-cycle program of the other controller and the fixed-cycle program of its own controller are collated, and if they match, the multi-equalization mode is set. A mode selection means,
The operating system controller transmits the equalized data to which the equalized program level is added to the standby system controller for each execution of the periodic program regardless of the mode determined by the equalized mode determining means. 1 equalization processing means,
The standby controller distributes the received equalized data to a predetermined storage area and establishes an equalization process when the equalization program level is the lowest level in the single equalization mode. A duplex controller system comprising second equalization processing means for discarding received equalized data when the level is not the lowest level.
稼動系と待機系のコントローラを有し、複数の定周期プログラムを実行する2重化コントローラシステムにおいて、
前記稼動系コントローラは、各定周期プログラム実行毎に、等値化プログラムレベルを付加した等値化データを待機系コントローラに送信する第1の等値化処理手段を有し、
前記待機系コントローラは、
前記稼動系コントローラの定周期プログラムと自コントローラの定周期プログラムとを照合して、一致する場合にはマルチ等値化モード、不一致の場合にはシングル等値化モードとする等値化モード決定手段と、
シングル等値化モード時に、前記等値化プログラムレベルが最低レベルである場合には、受信した等値化データを所定の記憶領域に分配して等値化処理を成立させ、最低レベルではない場合には、受信した等値化データを破棄する第2の等値化処理手段と、
を有することを特徴とする2重化コントローラシステム。
In a dual controller system that has active and standby controllers and executes multiple periodic programs,
The operating system controller has a first equalization processing means for transmitting equalization data to which an equalization program level is added to the standby system controller for each execution of the periodic program.
The standby controller is
The equalization mode determining means for comparing the fixed period program of the active system controller with the fixed period program of the own controller and setting the multi-equalization mode if they match and the single equalization mode if they do not match When,
In the single equalization mode, when the equalization program level is the lowest level, the received equalization data is distributed to a predetermined storage area to establish the equalization process, and is not at the lowest level Includes a second equalization processing means for discarding the received equalized data;
A duplex controller system characterized by comprising:
前記等値化データは、全ての定周期プログラムに係わる等値化データであることを特徴とする請求項1又は2記載の2重化コントローラシステム。   3. The duplex controller system according to claim 1, wherein the equalized data is equalized data related to all fixed-cycle programs. 稼動系と待機系のコントローラを有し、複数の定周期プログラムを実行する2重化コントローラシステムにおける前記稼動系コントローラにおいて、
任意のときに、前記待機系コントローラの定周期プログラムと自コントローラの定周期プログラムとを照合して、一致する場合にはマルチ等値化モード、不一致の場合にはシングル等値化モードとする等値化モード決定手段と、
該等値化モード決定手段によって決定されたモードに関係なく、各定周期プログラム実行毎に、等値化プログラムレベルを付加した等値化データを待機系コントローラに送信する等値化処理手段と、
を有することを特徴とする稼動系コントローラ。
In the operating system controller in the duplex controller system that has an operating system and a standby system controller and executes a plurality of periodic programs,
At any time, the fixed-cycle program of the standby controller and the fixed-cycle program of its own controller are collated, and if they match, the multi-equalization mode is set, if they do not match, the single equalization mode is set. A value mode determination means;
Regardless of the mode determined by the equalization mode determination means, equalization processing means for transmitting equalization data to which an equalization program level is added to the standby system controller for each execution of each periodic program;
An operating system controller characterized by comprising:
稼動系と待機系のコントローラを有し、複数の定周期プログラムを実行する2重化コントローラシステムにおける前記稼動系コントローラにおいて、
各定周期プログラム実行毎に、等値化プログラムレベルを付加した等値化データを待機系コントローラに送信する第1の等値化処理手段を有することを特徴とする稼動系コントローラ。
In the operating system controller in the duplex controller system that has an operating system and a standby system controller and executes a plurality of periodic programs,
An active system controller comprising first equalization processing means for transmitting equalized data to which an equalized program level is added to a standby system controller for each execution of a regular program.
稼動系と待機系のコントローラを有し、複数の定周期プログラムを実行する2重化コントローラシステムにおける前記待機系コントローラにおいて、
前記稼動系コントローラの定周期プログラムと自コントローラの定周期プログラムとを照合して、一致する場合にはマルチ等値化モード、不一致の場合にはシングル等値化モードとする等値化モード決定手段と、
現在のモードがシングル等値化モードである場合、前記稼動系コントローラから等値化プログラムレベルを付加した等値化データが送られてくる毎に、該等値化プログラムレベルが最低レベルである場合には、受信した等値化データを所定の記憶領域に分配して等値化処理を成立させ、最低レベルではない場合には、受信した等値化データを破棄する等値化処理手段と、
を有することを特徴とする待機系コントローラ。
In the standby system controller in the duplex controller system having an active system and a standby system controller and executing a plurality of fixed-cycle programs,
The equalization mode determining means for comparing the fixed period program of the active system controller with the fixed period program of the own controller and setting the multi-equalization mode if they match and the single equalization mode if they do not match When,
When the current mode is the single equalization mode, the equalization program level is the lowest level every time the equalization data with the equalization program level added is sent from the operating system controller. The equalization processing means for distributing the received equalization data to a predetermined storage area to establish the equalization processing, and discarding the received equalization data if not at the lowest level;
A standby controller characterized by comprising:
稼動系と待機系のコントローラを有し、複数の定周期プログラムを実行する2重化コントローラシステムにおける前記稼動系コントローラのコンピュータに、
任意のときに、前記待機系コントローラの定周期プログラムと自コントローラの定周期プログラムとを照合して、一致する場合にはマルチ等値化モード、不一致の場合にはシングル等値化モードとする機能と、
該決定されたモードに関係なく、各定周期プログラム実行毎に、等値化プログラムレベルを付加した等値化データを待機系コントローラに送信する機能と、
を実現させる為のプログラム。
A computer of the active system controller in a duplex controller system having an active system and a standby system controller and executing a plurality of periodic programs,
A function that compares the fixed-cycle program of the standby controller and the fixed-cycle program of its own controller at any time, and if they match, sets the multi-equalization mode, and if they do not match, sets the single-equalization mode When,
Regardless of the determined mode, a function of transmitting equalization data to which an equalization program level is added to the standby system controller for each execution of each periodic program;
A program to realize
稼動系と待機系のコントローラを有し、複数の定周期プログラムを実行する2重化コントローラシステムにおける前記待機系コントローラのコンピュータに、
前記稼動系コントローラの定周期プログラムと自コントローラの定周期プログラムとを照合して、一致する場合にはマルチ等値化モード、不一致の場合にはシングル等値化モードとする機能と、
現在のモードがシングル等値化モードである場合、前記稼動系コントローラから等値化プログラムレベルを付加した等値化データが送られてくる毎に、該等値化プログラムレベルが最低レベルである場合には、受信した等値化データを所定の記憶領域に分配して等値化処理を成立させ、最低レベルではない場合には、受信した等値化データを破棄する機能と、
を実現させる為のプログラム。
In the computer of the standby system controller in the duplex controller system having an active system and a standby system controller and executing a plurality of periodic programs,
A function that collates the fixed cycle program of the active system controller with the fixed cycle program of its own controller, and if it matches, sets the multi-equalization mode, and if it does not match, sets the single equalization mode,
When the current mode is the single equalization mode, the equalization program level is the lowest level every time the equalization data with the equalization program level added is sent from the operating system controller. A function of distributing the received equalized data to a predetermined storage area to establish an equalization process, and discarding the received equalized data if it is not the lowest level;
A program to realize
JP2004101528A 2004-03-30 2004-03-30 Duplex controller system, its controller and program Expired - Lifetime JP4281602B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004101528A JP4281602B2 (en) 2004-03-30 2004-03-30 Duplex controller system, its controller and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004101528A JP4281602B2 (en) 2004-03-30 2004-03-30 Duplex controller system, its controller and program

Publications (2)

Publication Number Publication Date
JP2005285017A true JP2005285017A (en) 2005-10-13
JP4281602B2 JP4281602B2 (en) 2009-06-17

Family

ID=35183289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004101528A Expired - Lifetime JP4281602B2 (en) 2004-03-30 2004-03-30 Duplex controller system, its controller and program

Country Status (1)

Country Link
JP (1) JP4281602B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217505A (en) * 2008-03-10 2009-09-24 Hitachi Ltd Computer system, computer control method, and computer control program
US8413091B2 (en) 2011-04-22 2013-04-02 International Business Machines Corporation Enhancing redundancy removal with early merging
US8589327B2 (en) 2011-04-22 2013-11-19 International Business Machines Corporation Efficiently determining boolean satisfiability with lazy constraints
JP2015046180A (en) * 2006-10-02 2015-03-12 フィッシャー−ローズマウント システムズ,インコーポレイテッド Analytical server integrated in process control network
CN105974906A (en) * 2016-05-12 2016-09-28 深圳市中工巨能科技有限公司 Double monitoring-activating measurement and control device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015046180A (en) * 2006-10-02 2015-03-12 フィッシャー−ローズマウント システムズ,インコーポレイテッド Analytical server integrated in process control network
JP2009217505A (en) * 2008-03-10 2009-09-24 Hitachi Ltd Computer system, computer control method, and computer control program
US8413091B2 (en) 2011-04-22 2013-04-02 International Business Machines Corporation Enhancing redundancy removal with early merging
US8484591B2 (en) 2011-04-22 2013-07-09 International Business Machines Corporation Enhancing redundancy removal with early merging
US8589327B2 (en) 2011-04-22 2013-11-19 International Business Machines Corporation Efficiently determining boolean satisfiability with lazy constraints
US9280626B2 (en) 2011-04-22 2016-03-08 International Business Machines Corporation Efficiently determining Boolean satisfiability with lazy constraints
CN105974906A (en) * 2016-05-12 2016-09-28 深圳市中工巨能科技有限公司 Double monitoring-activating measurement and control device

Also Published As

Publication number Publication date
JP4281602B2 (en) 2009-06-17

Similar Documents

Publication Publication Date Title
US20140123121A1 (en) Rack and method thereof for simultaneously updating basic input output systems
US7065623B2 (en) Bandwidth utilization in a PPRC system
US8527681B2 (en) Data processing system, data processing method, and apparatus
CN108427609A (en) Controller and control method for updating program
JP5013324B2 (en) Computer apparatus and BIOS update method thereof
JP7345921B2 (en) OTA differential update method and system for master-slave architecture
US8504786B2 (en) Method and apparatus for backing up storage system data
JP2019139631A (en) Control device, control system, control method, and control program
JP4281602B2 (en) Duplex controller system, its controller and program
JP2006260140A (en) Data processing system
JP2003296133A (en) Controller
CN106445852B (en) A kind of task communicator and method based on from monitoring framework
US7237152B2 (en) Fail-operational global time reference in a redundant synchronous data bus system
JP4232589B2 (en) Duplex controller and its equalization mode decision method
JP5405927B2 (en) Network node
JP5339071B2 (en) Control device and communication management method
JP6196505B2 (en) Cloud control system and method for executing the control program
JP5034584B2 (en) Duplex controller system, its active / standby controller
JP2005092520A (en) Duplication controller system and equalization method thereof
JP2006235765A (en) Duplex controller system, and its controller
JP2016130947A (en) Control system and control device
CN111190345B (en) Redundant automation system with multiple processor units per hardware unit
JPH0895614A (en) Controller
US10530602B2 (en) Operating a highly available automation system
JP3884643B2 (en) Process control device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090224

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090309

R150 Certificate of patent or registration of utility model

Ref document number: 4281602

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140327

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250