JP2008090656A - Programmable controller - Google Patents

Programmable controller Download PDF

Info

Publication number
JP2008090656A
JP2008090656A JP2006271749A JP2006271749A JP2008090656A JP 2008090656 A JP2008090656 A JP 2008090656A JP 2006271749 A JP2006271749 A JP 2006271749A JP 2006271749 A JP2006271749 A JP 2006271749A JP 2008090656 A JP2008090656 A JP 2008090656A
Authority
JP
Japan
Prior art keywords
memory
data
program
user program
user
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
JP2006271749A
Other languages
Japanese (ja)
Other versions
JP4867557B2 (en
Inventor
Toshiyuki Ishihara
俊幸 石原
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 FA Components and Systems Co Ltd
Original Assignee
Fuji Electric FA Components and 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 FA Components and Systems Co Ltd filed Critical Fuji Electric FA Components and Systems Co Ltd
Priority to JP2006271749A priority Critical patent/JP4867557B2/en
Publication of JP2008090656A publication Critical patent/JP2008090656A/en
Application granted granted Critical
Publication of JP4867557B2 publication Critical patent/JP4867557B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a programmable controller, correctly repairing a failure of a user program without stopping a system while using a volatile memory as a backup memory of the user program. <P>SOLUTION: A user program memory 17 (RAM) stores the user program M which is read for control operation for each scan period, and a system work memory 16 and a user data memory 18 (RAMs) store backup user programs B1 and B2 of the same content as the program M, respectively. A majority memory diagnosis/repair means 15B (in a system program memory 15) detects a failure of each program M, B1, B2 by reading and comparing data in corresponding areas of the programs M, B1 and B2 for each scan period, and determining correct data when the number of programs having the same data is a majority of the total number of user programs and backup user programs (two or more in this embodiment), and repairs a faulty program with a non-faulty program. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

この発明は、シーケンス制御の運転中、演算実行するユーザプログラムの破損を検出してこれを自動的に修復し、制御運転を継続できる機能を持つプログラマブルコントローラ(以下、PLCとも略記する)に関する。
なお、以下各図において同一の符号は同一もしくは相当部分を示す。
The present invention relates to a programmable controller (hereinafter also abbreviated as “PLC”) having a function capable of detecting a break in a user program to be executed during sequence control operation, automatically repairing it, and continuing control operation.
In the following drawings, the same reference numerals denote the same or corresponding parts.

プログラマブルコントローラ(PLC)は、ユーザにより作成されて格納されたアプリケーションプログラムを演算実行してPLCに接続される制御対象機器を自動的にシーケンス制御する装置であり、FA(ファクトリーオートメーション)等に広く使用されている。
このPLCは、複数のモジュール、すなわち、電源供給源となる電源モジュール、PLC全体を統括制御するCPUモジュール、各種の制御対象機器の適所に取り付けたスイッチやセンサの信号を入力する入力モジュール、同じく制御対象機器のアクチュエータなどに制御出力を出す出力モジュール、通信ネットワークに接続するための通信モジュールなどの各種モジュールを適宜組み合わせて構成される。
A programmable controller (PLC) is a device that automatically executes sequence control of devices to be controlled connected to the PLC by executing and executing application programs created and stored by the user, and is widely used for factory automation (FA) Has been.
This PLC has a plurality of modules, that is, a power supply module that serves as a power supply source, a CPU module that performs overall control of the PLC, an input module that inputs signals from switches and sensors that are attached to various control target devices, and is also controlled. Various modules such as an output module for outputting a control output to an actuator of the target device and a communication module for connecting to a communication network are appropriately combined.

図4は従来のPLCの要部の構成例を示すブロック回路図である。同図において100はプログラマブルコントローラ(PLC)、200はユーザプログラム(ユーザアプリケーションプログラムともいう)の作成や転送用のツールとしてのプログラミングローダであり、このプログラミングローダ200は通信線300を介してPLC100のローダインタフェース30に接続されている。   FIG. 4 is a block circuit diagram showing a configuration example of a main part of a conventional PLC. In the figure, 100 is a programmable controller (PLC), 200 is a programming loader as a tool for creating and transferring a user program (also referred to as a user application program), and this programming loader 200 is a loader of the PLC 100 via a communication line 300. It is connected to the interface 30.

また、PLC100内において、10はCPUモジュール、40は図外の制御対象機器と接続される入出力モジュール(I/Oモジュールとも略記する)である。
CPUモジュール10は、内部のシステムバス19によって互いに接続された、以下の11、13〜18の各構成部からなる。
ここでCPU11は、システムプログラムメモリ15に記憶されたシステムプログラムを実行し、CPUモジュール10内の各構成部の動作制御を行うと共に、ユーザプログラムメモリ17に記憶されたユーザプログラムを実行して図外の制御対象機器のシーケンス制御を行う。このCPU11には通常、汎用のMPUあるいはこれに代わる専用IC(ASIC)が用いられている。
Further, in the PLC 100, 10 is a CPU module, and 40 is an input / output module (also abbreviated as I / O module) connected to a control target device (not shown).
The CPU module 10 includes the following components 11 and 13 to 18 connected to each other via an internal system bus 19.
Here, the CPU 11 executes the system program stored in the system program memory 15 to control the operation of each component in the CPU module 10, and executes the user program stored in the user program memory 17 to execute the user program. The sequence control of the control target equipment is performed. The CPU 11 is usually a general-purpose MPU or a dedicated IC (ASIC) that replaces it.

ドライバ/レシーバ13はローダインタフェース30に接続され、通信線300を介しプログラミングローダ200とCPU11との間で送受信データを受け渡す役割を持つ。
PLC固有バスインタフェース14は、I/Oモジュール40に対してPLC固有バス14aを介し外部の制御対象機器の制御に関わる信号の入出力を行う。
システムプログラムを保持するシステムプログラムメモリ15には、通常、不揮発性メモリであるEPROMあるいはFLASHメモリが使用される。なお、サムチェック・メモリ診断手段15Aはこのメモリ15に格納されたシステムプログラムが保持する後述のメモリ診断用のソフトウェア手段である。
The driver / receiver 13 is connected to the loader interface 30 and has a function of passing transmission / reception data between the programming loader 200 and the CPU 11 via the communication line 300.
The PLC specific bus interface 14 inputs and outputs signals related to control of an external control target device to the I / O module 40 via the PLC specific bus 14a.
As the system program memory 15 for holding the system program, an EPROM or a FLASH memory which is a nonvolatile memory is usually used. The sum check / memory diagnostic means 15A is a memory diagnostic software means to be described later held by the system program stored in the memory 15.

システムワークメモリ16は、CPU11がシステムプログラムを実行する際に生ずるデータを一時記憶する役割を持ち、このメモリ16には、通常、RAMが使用される。
ユーザプログラムメモリ17は、プログラミングローダ200から受信したユーザプログラムを記憶する役割を持ち、このメモリ17には、通常、RAMが使用される。
なお、このメモリ17には、ローダ200からのユーザプログラムがマシンコードである命令オブジェクトコード、つまりこのユーザプログラムを高速に実行すべきCPU11が理解できるコードに変換されて格納されている。
The system work memory 16 has a role of temporarily storing data generated when the CPU 11 executes the system program, and a RAM is usually used for the memory 16.
The user program memory 17 has a role of storing a user program received from the programming loader 200, and a RAM is usually used for the memory 17.
The memory 17 stores the user program from the loader 200 after being converted into an instruction object code that is a machine code, that is, a code that can be understood by the CPU 11 that should execute the user program at high speed.

ユーザデータメモリ18は、ユーザプログラムで使用するデータ、例えば制御対象機器との間で送受信する接点信号等の情報を記憶する役割を持ち、このメモリ18には、通常、RAMが使用される。
図5は従来のPLCのCPU11が実行する全般的なソフトウェア処理の例を示すフローチャートで、S1〜S13はそのステップ番号である。ここではステップS6のみがユーザプログラムの処理に相当し、これ以外のステップはシステムプログラムの処理に相当する。
The user data memory 18 has a role of storing data used in the user program, for example, information such as contact signals transmitted / received to / from the control target device, and a RAM is usually used for the memory 18.
FIG. 5 is a flowchart showing an example of general software processing executed by the CPU 11 of the conventional PLC, and S1 to S13 are step numbers. Here, only step S6 corresponds to the processing of the user program, and the other steps correspond to the processing of the system program.

図5では、CPU11は、電源投入に基づきリセットされたのち、予め伝送用ICの設定などの初期化処理(ステップS1)、バスの短絡やメモリバックアップの異常などの有無を調べる自己診断処理(ステップS2)、メモリクリアやユーザプログラム実行のための設定などの各種システム処理(ステップS3)を順次行ったうえ、ステップS4以降のループ動作に入る。   In FIG. 5, after resetting upon power-on, the CPU 11 performs initialization processing (step S1) such as setting of a transmission IC in advance, and self-diagnosis processing (step S1) for checking whether there is a short circuit of a bus or an abnormality in memory backup. S2) After sequentially performing various system processes (step S3) such as memory clearing and setting for user program execution, a loop operation after step S4 is started.

ステップS4の状態判定分岐処理では、CPU11は現在の自己の状態が運転の正常な実行が可能な状態で有るか否かを判定し、それぞれの状態に応じたループ処理に分岐する。そして、運転の正常な実行が可能な状態と判定すれば「運転正常実行」の分岐に進み、ステップS5以降のシーケンス制御処理を実行する。
このシーケンス制御処理では、CPU11は、先ずI/Oモジュール40内の図外の入力モジュールで入力した制御対象機器からの入力信号をユーザデータメモリ18内のI/Oメモリ領域に取り込み(ステップS5、入力リフレッシュ)、次いでユーザプログラムメモリ17に格納されたユーザプログラム(シーケンスプログラム)を読み出し、上記制御対象機器からの最新の入力信号を用いて論理演算を行う(ステップS6、ユーザプログラム演算実行)。
In the state determination branch process of step S4, the CPU 11 determines whether or not the current state of the apparatus is a state in which normal operation can be performed, and branches to a loop process according to each state. If it is determined that the operation can be normally executed, the process proceeds to the “normal operation execution” branch, and the sequence control process from step S5 is executed.
In this sequence control process, the CPU 11 first takes in an input signal from a control target device input from an input module (not shown) in the I / O module 40 into an I / O memory area in the user data memory 18 (step S5, Next, the user program (sequence program) stored in the user program memory 17 is read, and a logical operation is performed using the latest input signal from the control target device (step S6, user program operation execution).

そして、その演算実行結果である制御出力信号をユーザデータメモリ18内のI/Oメモリ領域に書き込んだのち、I/Oモジュール40内の図外の出力モジュールに送出して制御対象機器側へ出力させ(ステップS7、出力リフレッシュ)、その後、後述のようないわゆるスキャンEND処理、即ちメモリ診断処理(ステップS10)、ローダ処理(ステップS11)、基準SUM値算出処理(ステップS12)、各種システム診断処理(ステップS13)を行う。そして、以上のステップS4〜S13の一連の処理をスキャン周期(シーケンス演算周期ともいう)ごとに繰り返し実行して制御対象機器を制御する。   Then, after writing the control output signal, which is the result of the calculation, to the I / O memory area in the user data memory 18, it is sent to the output module (not shown) in the I / O module 40 and output to the control target device side. (Step S7, output refresh), and then a so-called scan END process as described later, that is, a memory diagnosis process (Step S10), a loader process (Step S11), a reference SUM value calculation process (Step S12), and various system diagnosis processes (Step S13) is performed. And a series of processing of the above step S4-S13 is repeatedly performed for every scanning period (it is also called a sequence calculation period), and a control object apparatus is controlled.

ところで、PLCが設置される工場内の環境としては、サーボモータ、インバータ、高圧電力装置など多種多様な装置がPLCに接続され、あるいはPLCの付近に配置されている。そのため、放射ノイズ、電源の瞬時停電、電磁界などにより、CPUモジュール内のメモリに格納されたデータの破壊が発生しやすくなっている。また、CPUモジュール内のメモリのデータ破壊の現象は、宇宙線によっても生じる。なお、前者の原因によるデータ破壊は、通常数ビット(複数バイト)単位で発生し、後者の宇宙線によるデータ破壊は、1ビット単位で発生することが多い。   By the way, as the environment in the factory where the PLC is installed, various devices such as a servo motor, an inverter, and a high-voltage power device are connected to the PLC or arranged near the PLC. Therefore, destruction of data stored in the memory in the CPU module is likely to occur due to radiation noise, instantaneous power failure of the power source, electromagnetic field, and the like. The phenomenon of data destruction of the memory in the CPU module is also caused by cosmic rays. Data destruction due to the former cause usually occurs in units of several bits (multiple bytes), and data destruction due to the latter cosmic rays often occurs in units of 1 bit.

当然のことながら、データ破壊が生じたユーザプログラムに基づいて制御すると正常動作しないので、CPU11は、運転中、この場合、スキャンEND処理内のメモリ診断処理(ステップS10)で、図6に示すようなメモリ診断サブルーチン処理によりユーザプログラムの破壊が発生していないかを確認している。
なお、スキャンEND処理内のローダ処理(ステップS11)では、プログラミングローダ200から新規の、あるいは変更されたユーザプログラムがダウンロードされた場合、このダウンロードされたユーザプログラムをユーザプログラムメモリ17に取り込んで従来のユーザプログラムを更新する。
As a matter of course, since it does not operate normally if it is controlled based on the user program in which data destruction has occurred, the CPU 11 performs the memory diagnosis process (step S10) in the scan END process during operation as shown in FIG. It is confirmed whether the user program has been destroyed by the memory diagnosis subroutine processing.
In the loader process (step S11) in the scan END process, when a new or changed user program is downloaded from the programming loader 200, the downloaded user program is loaded into the user program memory 17 and the conventional program is loaded. Update the user program.

同じくスキャンEND処理内の基準SUM値算出処理(ステップS12)では、上記の更新後のユーザプログラムの先頭から最終までの値を加算し、得られた値を基準サム値(なお、サムをSUMとも記す)としてシステムワークメモリ16内の所定領域に格納する。
また同じくスキャンEND処理内の各種システム診断処理(ステップS13)では、I/Oモジュール40のPLC固有バス14aからの外れチェックなどを行う。
Similarly, in the reference SUM value calculation process (step S12) in the scan END process, the values from the beginning to the end of the updated user program are added, and the obtained value is used as the reference sum value (note that the sum is also referred to as SUM). Stored in a predetermined area in the system work memory 16.
Similarly, in various system diagnosis processes (step S13) in the scan END process, a check for disconnection of the I / O module 40 from the PLC specific bus 14a is performed.

ここで、図5のスキャンEND処理内のメモリ診断処理(ステップS10)で行われる、詳細処理としての図6のメモリ診断サブルーチン処理を説明する。図6中、S41〜46はこの処理のステップ番号である。
なお、図4のシステムプログラムメモリ15内に示したサムチェック・メモリ診断手段15Aの機能は図5のメモリ診断処理(ステップS10)、つまり図6のメモリ診断サブルーチン処理と、図5の基準SUM値算出処理(ステップS12)に相当する。
Here, the memory diagnosis subroutine process of FIG. 6 as the detailed process performed in the memory diagnosis process (step S10) in the scan END process of FIG. 5 will be described. In FIG. 6, S41 to 46 are step numbers of this process.
The function of the sum check / memory diagnosis means 15A shown in the system program memory 15 of FIG. 4 is the memory diagnosis process (step S10) of FIG. 5, that is, the memory diagnosis subroutine process of FIG. 6 and the reference SUM value of FIG. This corresponds to the calculation process (step S12).

図6のメモリ診断処理を要約すれば、RAM上にある診断対象のデータのSUM値(被診断SUM値という)を計算して予め格納してある基準SUM値と比較し、一致することで診断対象のデータに異常がないことを確認するというものである。
具体的には、実際の運転中(つまりスキャン周期ごとのシーケンス制御のループ処理中)、図5中のメモリ診断処理(ステップS10)において、CPU11は、ユーザプログラムメモリのRAM17上にあるユーザプログラムのSUM値としての被診断SUM値をスキャン周期の複数回分に分けて算出する(ステップS41)。
Summarizing the memory diagnosis process of FIG. 6, the SUM value (referred to as the diagnosis SUM value) of the data to be diagnosed on the RAM is calculated and compared with a reference SUM value stored in advance, and the diagnosis is made by matching. It is to confirm that there is no abnormality in the target data.
Specifically, during the actual operation (that is, during the sequence control loop process for each scan cycle), in the memory diagnosis process (step S10) in FIG. 5, the CPU 11 stores the user program stored in the RAM 17 of the user program memory. The diagnosis SUM value as the SUM value is calculated for a plurality of scan cycles (step S41).

そして最終データまでのSUM値算出に達していないと判別したスキャン周期では(ステップS42、分岐NO)、そのまま図6の処理を抜ける。
他方、このステップS42で最終データまでのSUM値算出を終えたと判別した場合は(分岐YES)、この被診断SUM値を前記のようにシステムワークメモリ16内の所定領域に格納した基準SUM値と比較する(ステップS43、44)。
Then, in the scan cycle in which it is determined that the SUM value calculation up to the final data has not been reached (step S42, branch NO), the processing of FIG.
On the other hand, if it is determined in step S42 that the calculation of the SUM value up to the final data has been completed (branch YES), the diagnosis SUM value is stored in the predetermined area in the system work memory 16 as described above and the reference SUM value. Compare (steps S43 and S44).

ここで、SUM値が一致した場合は(ステップS44、分岐「一致」)、再度、上記と同様にユーザプログラムメモリ17上のユーザプログラムのSUM値、つまり被診断SUM値の算出を繰り返すこととしてその準備を行って(ステップS46)、図6の処理を抜ける。
しかし、SUM値が一致しない場合は(ステップS44、分岐「不一致」)、何らかの理由でRAM17上のユーザプログラムが破損したと判断し、暴走・不正出力を防止するためPLCの運転を異常停止させる状態変更要求をセットし(ステップS45)、図6の処理を抜ける。
If the SUM values match (step S44, branch “match”), the calculation of the SUM value of the user program on the user program memory 17, that is, the diagnosis SUM value is repeated again in the same manner as described above. Preparation is made (step S46), and the process of FIG. 6 is exited.
However, if the SUM values do not match (step S44, branch “mismatch”), it is determined that the user program on the RAM 17 has been damaged for some reason, and the PLC operation is abnormally stopped to prevent runaway / illegal output. A change request is set (step S45), and the process of FIG. 6 is exited.

このように運転異常停止の状態変更要求がセットされると、図5のループ処理の先頭ステップS4の状態判定分岐処理で「運転異常停止」へ分岐してステップS11に飛ぶこととなり、結果としてPLCによるシーケンス制御動作が停止する。
しかし、このようにPLCの運転を異常停止させると、制御しているシステム全体が停止してしまい工場の操業等に重大な影響が生じる可能性がある。そこで、システムを復旧動作させるため、保守員などによりプログラミングローダ等のツールをPLCに接続し、ユーザプログラムを再度転送してメモリの修正作業を実行する必要があるが、PLCは、一般に制御盤の奥に設置されているので、その接続は簡単ではなく、メモリの修復作業・システムの再起動までに多くの時間が必要となる。
When the abnormal operation stop state change request is set in this way, the state determination branching process in the first step S4 of the loop process of FIG. 5 branches to “abnormal operation stop” and jumps to step S11. As a result, the PLC The sequence control operation by stops.
However, if the operation of the PLC is abnormally stopped in this way, the entire controlled system is stopped, and there is a possibility that the factory operation or the like may be seriously affected. Therefore, in order to restore the system, it is necessary for maintenance personnel to connect a tool such as a programming loader to the PLC and transfer the user program again to execute the memory correction work. Since it is installed in the back, the connection is not easy, and it takes a lot of time to repair the memory and restart the system.

この問題を解決するために、特許文献1には、演算処理時に読み出されるユーザプログラムが格納されるユーザメモリと、ユーザプログラムと同一内容のデータが格納されたバックアップメモリとを設け、シーケンス制御のサイクリック動作中にユーザメモリとバックアップメモリのデータとの照合を行うことでユーザメモリ破損の検出を行い、検出したユーザメモリの異常箇所のデータをバックアップメモリの該当箇所のデータで修復し、システムを停止させることなくシーケンス制御を継続できるようにするPLCのメモリ自動復旧方法が開示されている。
特開2006−59382号公報
In order to solve this problem, Patent Document 1 includes a user memory that stores a user program that is read out during arithmetic processing, and a backup memory that stores data having the same contents as the user program. User memory corruption is detected by comparing the user memory and backup memory data during the click operation, the detected abnormal data in the user memory is repaired with the corresponding data in the backup memory, and the system is stopped. A PLC automatic memory recovery method is disclosed that allows the sequence control to be continued without causing a failure.
JP 2006-59382 A

しかしながら、特許文献1のメモリ自動復旧方法では、バックアップメモリのデータが安定したものであれば問題ないが現実には変化可能なものであり、メモリ破損の検出時、厳密にはユーザメモリのデータとバックアップメモリのデータとのいずれが真に正しいかが分からず、メモリ修復の信頼性に欠けるという問題がある。この問題は特にバックアップメモリが不揮発性メモリ(ROM、FLASHメモリ等)でなく揮発性メモリ(RAM)である場合、より大きなものとなる。   However, in the automatic memory recovery method of Patent Document 1, there is no problem as long as the data in the backup memory is stable, but it can be changed in reality. There is a problem that it is not known which data of the backup memory is truly correct, and the reliability of the memory repair is lacking. This problem is particularly serious when the backup memory is not a nonvolatile memory (ROM, FLASH memory, etc.) but a volatile memory (RAM).

そこで本発明の課題は、揮発性メモリ(RAM)をユーザプログラムのバックアップメモリとしたPLCであっても正しくユーザメモリの破損を修復でき、システムの停止を不要とするプログラマブルコントローラ(PLC)を提供することにある。   SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a programmable controller (PLC) that can correctly repair the damage of the user memory even when the PLC uses a volatile memory (RAM) as a backup memory for the user program, and does not require the system to be stopped. There is.

前記の課題を解決するために請求項1のプログラマブルコントローラは、
スキャン周期ごとにシーケンス制御の演算処理のために読み出されるユーザプログラム(M)および該ユーザプログラムと同一内容の複数のバックアップユーザプログラム(B1、B2など)が1個のメモリに共に、または複数個のメモリ(それぞれRAMからなるユーザプログラムメモリ17、システムワークメモリ16、ユーザデータメモリ18など)の各々に前記ユーザプログラムおよびバックアップユーザプログラムの各プログラムが少なくとも1または複数プログラム格納されてなるプログラマブルコントローラ(100)であって、
(多数決メモリ診断・修復手段15Bを介し)前記スキャン周期ごとに前記ユーザプログラムおよび全てのバックアップユーザプログラムの互いに対応する領域のデータを読み出して比較し、このデータが互いに一致するプログラムの数が前記ユーザプログラムおよび全バックアップユーザプログラムの総数の過半数となるデータが正しいデータであるとして前記各プログラムの破損の有無を検出するようにする。
In order to solve the above-mentioned problem, the programmable controller of claim 1 comprises:
A user program (M) read for arithmetic processing of sequence control for each scan cycle and a plurality of backup user programs (B1, B2, etc.) having the same contents as the user program are stored in one memory or a plurality of Programmable controller (100) in which at least one or a plurality of programs of the user program and the backup user program are stored in each of the memories (user program memory 17, RAM system work memory 16, user data memory 18, etc.). Because
Data of the areas corresponding to each other of the user program and all backup user programs are read and compared at each scan cycle (via majority memory diagnosis / repair means 15B), and the number of programs whose data match each other is Whether or not each program is damaged is detected on the assumption that the data that is a majority of the total number of programs and all backup user programs is correct data.

また、請求項2のプログラマブルコントローラは、請求項1に記載のプログラマブルコントローラにおいて、前記の検出によって破損有りとされたプログラムの該当データを前記の正しいデータで修復し、シーケンス制御を継続するようにする。
また請求項3のプログラマブルコントローラは、請求項2に記載のプログラマブルコントローラにおいて、前記の検出によって破損有りとされたプログラムが前記ユーザプログラムであるときは、前記の検出によって破損無しとされたバックアップユーザプログラムの所定の1つを前記ユーザプログラムに置き換えて前記スキャン周期ごとの演算処理に利用し、シーケンス制御を継続するようにする。
Further, the programmable controller according to claim 2 is the programmable controller according to claim 1, wherein the relevant data of the program determined to be damaged by the detection is restored with the correct data, and the sequence control is continued. .
The programmable controller according to claim 3 is the programmable controller according to claim 2, wherein when the program determined to be damaged by the detection is the user program, the backup user program is determined not to be damaged by the detection. The predetermined one is replaced with the user program and used for the arithmetic processing for each scan period, and the sequence control is continued.

本発明の作用は次の如くである。即ち、PLC内にシーケンス制御の演算処理のために読み出されるユーザプログラムを保持するユーザメモリ(ユーザプログラムメモリ)のほかに、ユーザプログラムと同一内容のデータ(バックアップユーザプログラム)を保持する複数のバックアップメモリ(RAM)を設け、多数決判断処理によりメモリの破損を検出することにより、不揮発性メモリ(ROM、FLASHメモリ等)上にユーザプログラムのバックアップデータ(バックアップユーザプログラム)を保存していないPLCにおいてもユーザメモリの破損を確実に検出して、破損していない他のバックアップメモリのデータからこれを直ちに修復するか、またはCPUが制御演算実行のために読み込むプログラムメモリを破損していないバックアップメモリに切り替え、CPUの演算動作を停止することなく、システムの稼働を継続させるものである。   The operation of the present invention is as follows. That is, in addition to a user memory (user program memory) that holds a user program that is read for sequence control arithmetic processing in the PLC, a plurality of backup memories that hold data having the same contents as the user program (backup user program) (RAM), and by detecting damage to the memory by majority decision processing, the user can also use a PLC that does not store user program backup data (backup user program) on non-volatile memory (ROM, FLASH memory, etc.). Reliably detect memory corruption and repair this immediately from other undamaged backup memory data, or switch the program memory that the CPU reads to perform control operations to undamaged backup memory, Without stopping the PU calculation operation, but to continue the operation of the system.

本発明によれば、PLC内にシーケンス制御の演算処理のために読み出されるユーザプログラムを保持するユーザプログラムメモリ(RAM)のほかに、それぞれユーザプログラムと同一内容のバックアップユーザプログラムを保持する複数のバックアップメモリ(RAM)を設け、多数決判断処理によりメモリ(プログラム)の破損を検出するようにしたので、
不揮発性メモリ(ROM、FLASHメモリ等)上にバックアップユーザプログラムを保存していないPLCにおいてもユーザプログラムの破損を確実に検出して、破損していないバックアップユーザプログラムのデータからこれを直ちに修復したり、またはCPUが制御演算実行のために読み込むユーザプログラムを破損していないバックアップユーザプログラムに切り替えるようにして、PLCの制御運転動作を停止することなく、システムの稼働を継続させことができる。
According to the present invention, a plurality of backups each holding a backup user program having the same contents as the user program, in addition to a user program memory (RAM) holding a user program read for arithmetic processing of sequence control in the PLC. Since a memory (RAM) is provided and memory (program) damage is detected by majority decision processing,
Even in PLCs that do not store backup user programs on non-volatile memory (ROM, FLASH memory, etc.), it is possible to reliably detect user program corruption and repair it immediately from undamaged backup user program data. Alternatively, it is possible to continue the operation of the system without stopping the control operation of the PLC by switching the user program read by the CPU for executing the control operation to a backup user program that is not damaged.

なお、破損していたユーザプログラムはその破損検出箇所以降のプログラム部分にも破損を生じている可能性が高いが、上記のようにCPUが制御演算実行のために読み込むユーザプログラムを破損していないバックアップユーザプログラムに切り替えた場合、破損を生じている可能性が高いプログラムを演算に使用しないため、より安全にPLCの運転を継続することができる。   The user program that has been damaged is likely to have also been damaged in the program portion after the damage detection location, but the user program that the CPU reads for execution of the control operation as described above is not damaged. When switching to the backup user program, the program that has a high possibility of causing damage is not used for the calculation, so that the operation of the PLC can be continued more safely.

次に図1ないし図3を用いて本発明の実施の形態を説明する。
図1は本発明の一実施例としてのPLCの要部の構成を示すブロック回路図で図4に対応するものである。図1の図4に対する相違は、図1ではシステムプログラムメモリ15に付加されるメモリ診断に関わるソフトウェア手段が、図4のサムチェック・メモリ診断手段15Aから多数決メモリ診断・修復手段15Bに置き換わった点と、ユーザプログラムメモリ17に格納されるユーザプログラム(図1ではMとして示す)に対するバックアップ用の2つのプログラムであるバックアップ・ユーザプログラムB1およびB2の格納領域が、それぞれシステムワークメモリ16およびユーザデータメモリ18の各RAMに設けられている点である。
Next, an embodiment of the present invention will be described with reference to FIGS.
FIG. 1 is a block circuit diagram showing a configuration of a main part of a PLC according to an embodiment of the present invention, and corresponds to FIG. The difference between FIG. 1 and FIG. 4 is that the software means related to the memory diagnosis added to the system program memory 15 in FIG. 1 is replaced with the majority check memory diagnosis / repair means 15B from the sum check / memory diagnosis means 15A of FIG. The storage areas for backup user programs B1 and B2, which are two backup programs for the user program (shown as M in FIG. 1) stored in the user program memory 17, are the system work memory 16 and the user data memory, respectively. This is a point provided in each of the 18 RAMs.

なお、図1における多数決メモリ診断・修復手段15B、並びにバックアップユーザプログラムB1およびB2に関わる機能を除く各部の機能は、図4におけるサムチェック・メモリ診断手段15Aに関わる機能を除く各部の機能と同様である。
また、図2は図1のCPU11が実行する全般的なソフトウェア処理の実施例を示すフローチャートで、図5に対応するものである。図2の図5に対する相違は、図5のメモリ診断処理(ステップS10)が図2では後述の図3のメモリ診断修復サブルーチン処理でその具体内容を示すメモリ診断修復処理(ステップS10A)に置き換わった点と、図5の基準SUM値算出処理(ステップS12)が、図2ではバックアップ・ユーザプログラム格納処理(ステップS12A)に置き換わった点である。
1 are the same as the functions of the respective parts except for the functions related to the sum check / memory diagnosis means 15A in FIG. 4 except for the functions related to the majority memory diagnosis / recovery means 15B and the backup user programs B1 and B2. It is.
FIG. 2 is a flowchart showing an embodiment of general software processing executed by the CPU 11 of FIG. 1, and corresponds to FIG. 2 differs from FIG. 5 in that the memory diagnosis process (step S10) in FIG. 5 is replaced with a memory diagnosis repair process (step S10A) in FIG. 5 and the reference SUM value calculation process (step S12) in FIG. 5 is replaced with the backup user program storage process (step S12A) in FIG.

そして、図1のシステムプログラムメモリ15内に示した多数決メモリ診断・修復手段15Bの機能は図2のメモリ診断修復処理(ステップS10A)とバックアップ・ユーザプログラム格納処理(ステップS12A)に相当する。
図2のバックアップ・ユーザプログラム格納処理(ステップS12A)では、図2のローダ処理(ステップS11)でユーザプログラムメモリ17にユーザプログラムMが新規あるいは従来のプログラムを更新してダウンロードされたとき、CPU11が、このユーザプログラムMと同一内容の2つのプログラムであるバックアップユーザプログラムB1およびB2をそれぞれシステムワークメモリ16およびユーザデータメモリ18に格納する。
The function of the majority memory diagnosing / restoring means 15B shown in the system program memory 15 of FIG. 1 corresponds to the memory diagnosing / repairing process (step S10A) and the backup / user program storing process (step S12A) of FIG.
In the backup user program storage process (step S12A) in FIG. 2, when the user program M is downloaded to the user program memory 17 by updating the new or conventional program in the loader process (step S11) in FIG. Backup user programs B1 and B2, which are two programs having the same contents as the user program M, are stored in the system work memory 16 and the user data memory 18, respectively.

なお、システムワークメモリ16、ユーザプログラムメモリ17、ユーザデータメモリ18等に使用しているRAMは、LSI技術の進歩により大容量化が進んでおり(逆に小容量のRAMが入手できなくなっている)、そのため特に小/中規模用のCPUモジュール10の製品仕様を実現するために必要な容量に対し、未使用領域が多く存在する状況にある。   Note that the RAM used for the system work memory 16, the user program memory 17, the user data memory 18 and the like has been increased in capacity due to advances in LSI technology (in contrast, a small-capacity RAM cannot be obtained). Therefore, in particular, there are many unused areas with respect to the capacity necessary for realizing the product specifications of the CPU module 10 for small / medium scale.

本発明では本来は別の目的で設けられているRAMにバックアップユーザプログラムも格納するためRAMのメモリ量を従来より多く使用することになるが、上記のように存在するRAMの未使用領域を利用できるため製品コストには影響を与えない。
図3は図2のメモリ診断修復処理(ステップS10A)の詳細処理としてのサブルーチン処理の実施例を示すフローチャートで、ステップS21〜S32はそのステップ番号である。なお本実施例では、図3の後述するステップS21、S22、S23に定義する〔データM〕、〔データB1〕、〔データB2〕は、図2の正常運転時におけるスキャン周期での毎回のループ処理ごとに、順次、1命令文ずつ、それぞれユーザプログラムM、バックアップユーザプログラムB1、バックアップユーザプログラムB2から読み出される、相対アドレスが共通の命令データであるものとする。
In the present invention, since the backup user program is also stored in the RAM originally provided for another purpose, the amount of RAM is used more than before, but the unused area of the existing RAM is used as described above. This will not affect product costs.
FIG. 3 is a flowchart showing an example of subroutine processing as detailed processing of the memory diagnostic repair processing (step S10A) of FIG. 2, and steps S21 to S32 are step numbers. In this embodiment, [data M], [data B1], and [data B2] defined in steps S21, S22, and S23 described later in FIG. For each process, it is assumed that one instruction sentence is sequentially read from the user program M, the backup user program B1, and the backup user program B2, respectively, and the relative addresses are common instruction data.

次に図3を説明する。先ずステップS21では、運転に使用しているユーザプログラム(本例ではユーザプログラムメモリ17に格納したユーザプログラムMとする)内の該当するアドレスの命令文のデータを読み出し〔データM〕とする。
次のステップS22では、運転に使用していない一つ目のバックアップユーザプログラム(本例ではシステムワークメモリ16に格納したバックアップユーザプログラムB1とする)内の前記〔データM〕と共通の相対アドレスの命令文のデータを読み出し〔データB1〕とする。
Next, FIG. 3 will be described. First, in step S21, the data of the command statement at the corresponding address in the user program used for driving (in this example, the user program M stored in the user program memory 17) is read out as [data M].
In the next step S22, a relative address common to the [data M] in the first backup user program (in this example, the backup user program B1 stored in the system work memory 16) that is not used for driving is used. The data of the command statement is read out and set as [data B1].

さらに次のステップS23では、運転に使用していない二つ目のバックアップユーザプログラム(本例ではユーザデータメモリ18に格納したバックアップユーザプログラムB2とする)の前記〔データM〕と共通の相対アドレスの命令文のデータを読み出し〔データB2〕とする。
次のステップS24(メモリ破損検出)では、〔データM〕と〔データB1〕を比較する。ここで両者が一致した場合(分岐「一致」)、さらにステップS25(メモリ破損検出)に進み〔データM〕と〔データB2〕を比較する。
In the next step S23, the same relative address as that of the [data M] of the second backup user program (in this example, the backup user program B2 stored in the user data memory 18) that is not used for driving is used. The data of the command statement is read out and set as [data B2].
In the next step S24 (memory corruption detection), [data M] and [data B1] are compared. If they match (branch “match”), the process proceeds to step S25 (memory corruption detection), and [data M] and [data B2] are compared.

このステップS25の比較で〔データM〕と〔データB2〕が一致した場合(分岐「一致」)、〔データM〕、〔データB1〕、〔データB1〕の3者のデータが一致したこととなり、データの破損なしとして図3の処理を抜ける。
他方、前記ステップS25の比較結果が不一致の場合(分岐「不一致」)、〔データB2〕に破損ありとして、次のステップS26(破損メモリ修復)で〔データB2〕のアドレスに〔データM〕を書き込んで〔データB2〕を修復し図3の処理を抜ける。なお、この〔データB2〕の修復は、以後も継続して図3の処理によるメモリの破損検出を実施できるようにするためである。
If [data M] and [data B2] match in the comparison in step S25 (branch “match”), it means that the data of [DATA M], [DATA B1], and [DATA B1] match. Then, the processing of FIG.
On the other hand, if the comparison result of the step S25 does not match (branch “mismatch”), the [data B2] is assumed to be damaged, and the next step S26 (corrupt memory repair) sets [data M2] to the address of [data B2]. The data is written to restore [data B2] and the process of FIG. 3 is exited. Note that this [data B2] is restored so that memory damage can be detected by the processing of FIG.

次に前記ステップS24の比較結果で〔データM〕と〔データB1〕が不一致の場合(分岐「不一致」)、さらにステップS27(メモリ破損検出)に進み〔データM〕と〔データB2〕を比較する。
このステップS27で〔データM〕と〔データB2〕が一致した場合(分岐「一致」)、〔データB1〕に破損ありとして、次のステップS28(破損メモリ修復)で〔データB1〕のアドレスに〔データM〕を書き込んで〔データB1〕を修復し図3の処理を抜ける。なお、この〔データB1〕の修復も、以後の図3の処理によるメモリの破損検出を実施可能にするためである。
Next, when [data M] and [data B1] do not match in the comparison result of step S24 (branch “mismatch”), the process proceeds to step S27 (memory corruption detection) and [data M] and [data B2] are compared. To do.
If [data M] and [data B2] match in this step S27 (branch “match”), it is determined that [data B1] is damaged, and the address of [data B1] is set in the next step S28 (corrupted memory repair). [Data M] is written, [Data B1] is restored, and the process of FIG. 3 is exited. Note that this [data B1] is also restored so that memory damage can be detected by the subsequent processing of FIG.

他方、前記ステップS27の比較結果で〔データM〕と〔データB2〕が不一致の場合(分岐「不一致」)、さらにステップS29で〔データB1〕と〔データB2〕を比較する。ここで両者が一致した場合(分岐「一致」)、〔データM〕に破損ありとして、次のステップS30(破損メモリ修復)で〔データM〕のアドレスに〔データB1〕を書き込んで〔データM〕を修復する。   On the other hand, if [data M] and [data B2] do not match in the comparison result of step S27 (branch “mismatch”), [data B1] and [data B2] are compared in step S29. If they match (branch “match”), it is assumed that there is damage in [data M], and [data B1] is written to the address of [data M] in the next step S30 (corrupt memory repair). ] Is repaired.

この修復によりユーザプログラムメモリ17のユーザプログラムMを引続きシーケンス制御の演算実行に使用できるはずであるが、同一RAM17上の一度破損したユーザプログラムMは修復箇所の〔データM〕以外にも今後の演算実行に使用する箇所で破損している可能性が考えられる。
そこで本実施例では安全のため、次のステップS31(未破損メモリへの切り替え)でシーケンス制御の演算実行に使用するユーザプログラムのアドレスを、破損のあったユーザプログラムMのアドレスからバックアップユーザプログラムB1のアドレスに切り替える(つまり、今までのバックアップユーザプログラムB1を今までのユーザプログラムMに置き換える)と共に、ステップS30の処理で破損が修復された今までのユーザプログラムMを今までのバックアップユーザプログラムB1に置き換えた形で図3の処理が継続できるようにし、図3の処理を抜ける。
By this restoration, the user program M in the user program memory 17 should be able to continue to be used for the execution of sequence control operations. However, once the user program M on the same RAM 17 is damaged, the future computations are not limited to [data M] at the restoration location. There is a possibility that the part used for execution is damaged.
Therefore, for the sake of safety in this embodiment, the address of the user program used for execution of the sequence control operation in the next step S31 (switch to the uncorrupted memory) is changed from the address of the damaged user program M to the backup user program B1. (That is, the previous backup user program B1 is replaced with the previous user program M), and the previous user program M whose damage has been repaired in the process of step S30 is replaced with the previous backup user program B1. The processing of FIG. 3 can be continued in the form replaced with and the processing of FIG. 3 is exited.

なお、上記のアドレス変更方法は、本発明を適用するCPUの機能に合わせ適宜実現することができる。例えば8086系の汎用CPUのように、セグメントのようなべースアドレスの概念を持つものであれば、ベースアドレスを変更すれば良い。また、ベースアドレスの概念がないCPUの場合でも、ユーザプログラムの格納されているアドレス管理ファイルのデータを補正することで、アドレス変更を実施することができる。   Note that the above address changing method can be appropriately realized according to the function of the CPU to which the present invention is applied. For example, a base address may be changed if it has a concept of a base address such as a segment such as an 8086 general-purpose CPU. Even in the case of a CPU without the concept of base address, it is possible to change the address by correcting the data in the address management file in which the user program is stored.

ところで、前記ステップS29の〔データB1〕と〔データB2〕の比較で両者が不一致の場合(分岐「不一致」)、〔データM〕、〔データB1〕、〔データB2〕の3者のデータが不一致で、破損データは存在するがこのままではそれをを特定できないため、本実施例では次のステップS32(破損あり、特定不能)にて運転異常停止をするための状態変更要求をセットし、図3の処理を抜ける。   By the way, if the comparison between [data B1] and [data B2] in step S29 does not match (branch “mismatch”), the data of the three data [data M], [data B1], and [data B2] are Inconsistent and damaged data exists but cannot be identified as it is, so in this embodiment, a state change request is set to stop operation abnormally in the next step S32 (damaged and cannot be specified). Step 3 is exited.

上述のように図3の処理では、ユーザプログラムおよびバックアップユーザプログラムについての〔データM〕、〔データB1〕、〔データB2〕の3者のデータを比較し、3者一致にて破損なしとし、2者一致の多数決判断で、一致しない1者のデータを破損と検出している。
なお、3者データの不一致の場合、前記ステップS32では運転の異常停止をすることとしたが、実際には、この3者のデータ内に破損していないデータが存在する可能性もある。そこで、運転異常停止をする前に、さらに従来のサムチェックを併用することとすれば、サム値が一致するユーザプログラム(またはバックアップユーザプログラム)を「破損なし」、サム値が一致しないユーザプログラム(またはバックアップユーザプログラム)を「破損あり」として正常なユーザプログラム(またはバックアップユーザプログラム)を選別することができ、PLC異常停止の確率をさらに減少させることができる。
As described above, in the process of FIG. 3, the three data of [data M], [data B1], and [data B2] for the user program and the backup user program are compared, and no damage is found by matching the three parties. In the majority decision based on the coincidence of the two parties, the data of the unmatched one is detected as being damaged.
In the case where the three-party data does not match, the operation is stopped abnormally in step S32. However, in fact, there is a possibility that there is data that is not damaged in the three-party data. Therefore, if the conventional sum check is further used before the abnormal operation stop, the user program (or backup user program) with the same sum value is “no damage”, and the user program with the sum value does not match ( Or, a normal user program (or backup user program) can be selected as “damaged” as the backup user program), and the probability of PLC abnormal stop can be further reduced.

なお、本実施例では2つのバックアップユーザプログラムをRAMからなるシステムワークメモリ16とユーザデータメモリ18にそれぞれ格納することとしたが、同じくRAMからなるユーザプログラムメモリ17にユーザプログラムと共にバックアップユーザプログラムを格納する方法も考えられる。
また、上述した図3のメモリ診断修復処理の実施例では、スキャン周期での本処理1回ごとにユーザプログラムおよびバックアップユーザプログラムの1命令文ずつを読み出して比較することとしているが、これに代わり、処理に時間がかかるものの、1回のメモリ診断修復処理でユーザプログラムおよびバックアップユーザプログラムの全命令文をいっぺんに読み出して比較する方法をとることもできる。
In this embodiment, the two backup user programs are stored in the system work memory 16 and the user data memory 18 each composed of RAM. However, the backup user program is stored together with the user program in the user program memory 17 composed of the RAM. A way to do this is also possible.
In the above-described embodiment of the memory diagnosis / restoration process of FIG. 3, one instruction sentence of the user program and the backup user program is read and compared every time this process is performed in the scan cycle. Although the process takes time, it is possible to take a method of reading and comparing all the command statements of the user program and the backup user program all at once in a single memory diagnosis and repair process.

更に本実施例では、図3のメモリ診断修復処理の実行を、図2のCPUのスキャンEND処理内で実施しているが、定周期割込み処理などの他のタイミングで実行するようにしてもよい。   Further, in the present embodiment, the execution of the memory diagnostic repair process of FIG. 3 is performed in the scan END process of the CPU of FIG. 2, but it may be executed at other timings such as a fixed-cycle interrupt process. .

本発明の一実施例としてのPLCの要部の構成を示すブロック回路図The block circuit diagram which shows the structure of the principal part of PLC as one Example of this invention 図1のPLCのCPUの全般処理の手順の実施例を示すフローチャートThe flowchart which shows the Example of the procedure of the general process of CPU of PLC of FIG. 図2のメモリ診断修復処理の詳細手順の実施例を示すフローチャートThe flowchart which shows the Example of the detailed procedure of the memory diagnostic repair process of FIG. 図1に対応する従来のPLCの要部の構成例を示すブロック回路図1 is a block circuit diagram showing a configuration example of a main part of a conventional PLC corresponding to FIG. 図4のPLCのCPUの全般処理の手順の例を示すフローチャートThe flowchart which shows the example of the procedure of the general process of CPU of PLC of FIG. 図5のメモリ診断処理の詳細手順の例を示すフローチャートThe flowchart which shows the example of the detailed procedure of the memory diagnostic process of FIG.

符号の説明Explanation of symbols

10 CPUモジュール
11 CPU
13 ドライバ/レシーバ
14 PLC固有バスインタフェース
14a PLC固有バス
15 システムプログラムメモリ
15B 多数決メモリ診断・修復手段
16 システムワークメモリ
17 ユーザプログラムメモリ
18 ユーザデータメモリ
19 システムバス
30 ローダインタフェース
40 I/Oモジュール
100 プログラマブルコントローラ(PLC)
200 プログラミングローダ
300 通信線
M ユーザプログラム
B1、B2 バックアップユーザプログラム
10 CPU module 11 CPU
DESCRIPTION OF SYMBOLS 13 Driver / receiver 14 PLC specific bus interface 14a PLC specific bus 15 System program memory 15B Majority memory diagnostic / restoration means 16 System work memory 17 User program memory 18 User data memory 19 System bus 30 Loader interface 40 I / O module 100 Programmable controller (PLC)
200 Programming loader 300 Communication line M User program B1, B2 Backup user program

Claims (3)

スキャン周期ごとにシーケンス制御の演算処理のために読み出されるユーザプログラムおよび該ユーザプログラムと同一内容の複数のバックアップユーザプログラムが1個のメモリに共に、または複数個のメモリの各々に前記ユーザプログラムおよびバックアップユーザプログラムの各プログラムが少なくとも1または複数プログラム格納されてなるプログラマブルコントローラであって、
前記スキャン周期ごとに前記ユーザプログラムおよび全てのバックアップユーザプログラムの互いに対応する領域のデータを読み出して比較し、このデータが互いに一致するプログラムの数が前記ユーザプログラムおよび全バックアップユーザプログラムの総数の過半数となるデータが正しいデータであるとして前記各プログラムの破損の有無を検出することを特徴とするプログラマブルコントローラ。
A user program read for calculation processing of sequence control every scan cycle and a plurality of backup user programs having the same contents as the user program are stored in one memory or in each of a plurality of memories. A programmable controller in which each program of a user program is stored at least one or more programs,
Data of areas corresponding to each other of the user program and all backup user programs is read and compared every scan cycle, and the number of programs whose data match each other is a majority of the total number of the user programs and all backup user programs. A programmable controller for detecting whether or not each of the programs is damaged by assuming that the data is correct data.
前記の検出によって破損有りとされたプログラムの該当データを前記の正しいデータで修復し、シーケンス制御を継続することを特徴とする請求項1に記載のプログラマブルコントローラ。 2. The programmable controller according to claim 1, wherein the corresponding data of the program determined to be damaged by the detection is restored with the correct data, and the sequence control is continued. 前記の検出によって破損有りとされたプログラムが前記ユーザプログラムであるときは、前記の検出によって破損無しとされたバックアップユーザプログラムの所定の1つを前記ユーザプログラムに置き換えて前記スキャン周期ごとの演算処理に利用し、シーケンス制御を継続することを特徴とする請求項2に記載のプログラマブルコントローラ。 When the program determined to be damaged by the detection is the user program, a predetermined one of the backup user programs determined not to be damaged by the detection is replaced with the user program, and the calculation process for each scan cycle The programmable controller according to claim 2, wherein the sequence control is continued.
JP2006271749A 2006-10-03 2006-10-03 Programmable controller Active JP4867557B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006271749A JP4867557B2 (en) 2006-10-03 2006-10-03 Programmable controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006271749A JP4867557B2 (en) 2006-10-03 2006-10-03 Programmable controller

Publications (2)

Publication Number Publication Date
JP2008090656A true JP2008090656A (en) 2008-04-17
JP4867557B2 JP4867557B2 (en) 2012-02-01

Family

ID=39374721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006271749A Active JP4867557B2 (en) 2006-10-03 2006-10-03 Programmable controller

Country Status (1)

Country Link
JP (1) JP4867557B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221751A (en) * 2010-04-08 2011-11-04 Hitachi Ltd Information processor and information processing method
CN114428477A (en) * 2021-12-07 2022-05-03 首钢京唐钢铁联合有限责任公司 Programmable Logic Controller (PLC), data recovery method and device thereof and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61125652A (en) * 1984-11-24 1986-06-13 Matsushita Electric Works Ltd Control system
JPH11161554A (en) * 1997-11-25 1999-06-18 Nec Corp Memory device normality confirmation device and information processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61125652A (en) * 1984-11-24 1986-06-13 Matsushita Electric Works Ltd Control system
JPH11161554A (en) * 1997-11-25 1999-06-18 Nec Corp Memory device normality confirmation device and information processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221751A (en) * 2010-04-08 2011-11-04 Hitachi Ltd Information processor and information processing method
CN114428477A (en) * 2021-12-07 2022-05-03 首钢京唐钢铁联合有限责任公司 Programmable Logic Controller (PLC), data recovery method and device thereof and storage medium

Also Published As

Publication number Publication date
JP4867557B2 (en) 2012-02-01

Similar Documents

Publication Publication Date Title
CN101246443B (en) Method and system for repairing memory failures
US7882388B2 (en) Dual independent non volatile memory systems
JP3961478B2 (en) Programmable controller unit and automatic memory recovery method
US7716524B2 (en) Restarting an errored object of a first class
JP5041290B2 (en) PROGRAMMABLE CONTROLLER AND ITS ERROR RECOVERY METHOD
JP2003015900A (en) Follow-up type multiplex system and data processing method capable of improving reliability by follow-up
JP2009116642A (en) Method and program for recovering from pci bus fault
EP3673373A1 (en) Ensuring a correct program sequence in a dual-processor architecture
JP5620730B2 (en) Dual system arithmetic processing apparatus and dual system arithmetic processing method
JP2013175118A (en) Control device, memory failure detection method thereof and self-diagnostic method thereof
CN112559059B (en) BIOS (basic input output System) option configuration method and related device
JP4867557B2 (en) Programmable controller
JP5012548B2 (en) Programmable controller
JP4484074B2 (en) Programmable controller unit and automatic memory recovery method
CN111273928A (en) Self-upgrading bootloader design method
JP2001290710A (en) Device for detecting data error
JP2007304972A (en) Microprocessor system
JP2005092695A (en) Duplication controller, and method for determining equalization mode thereof
US20130007565A1 (en) Method of processing faults in a microcontroller
JP2010061258A (en) Duplex processor system and processor duplex method
JP2013065261A (en) Memory management device
US8108740B2 (en) Method for operating a memory device
JP2003140915A (en) Computer device, and download method of program
KR100922409B1 (en) Information processing device and memory anomaly monitoring method
JPH05225077A (en) Hard error detection system for memory control circuit holding ecc

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080919

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20081215

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110404

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110422

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: 20111018

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: 20111031

R150 Certificate of patent or registration of utility model

Ref document number: 4867557

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: 20141125

Year of fee payment: 3

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