JPWO2014041829A1 - Safety arithmetic device, safety input device, safety output device and safety controller - Google Patents

Safety arithmetic device, safety input device, safety output device and safety controller Download PDF

Info

Publication number
JPWO2014041829A1
JPWO2014041829A1 JP2014535388A JP2014535388A JPWO2014041829A1 JP WO2014041829 A1 JPWO2014041829 A1 JP WO2014041829A1 JP 2014535388 A JP2014535388 A JP 2014535388A JP 2014535388 A JP2014535388 A JP 2014535388A JP WO2014041829 A1 JPWO2014041829 A1 JP WO2014041829A1
Authority
JP
Japan
Prior art keywords
output
input
unit
memory area
safety
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
JP2014535388A
Other languages
Japanese (ja)
Other versions
JP5762642B2 (en
Inventor
浩夫 神余
浩夫 神余
義智 浅野
義智 浅野
圭一 谷藤
圭一 谷藤
秀俊 原田
秀俊 原田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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
Priority claimed from PCT/JP2012/073179 external-priority patent/WO2014041596A1/en
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2014535388A priority Critical patent/JP5762642B2/en
Application granted granted Critical
Publication of JP5762642B2 publication Critical patent/JP5762642B2/en
Publication of JPWO2014041829A1 publication Critical patent/JPWO2014041829A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Safety Devices In Control Systems (AREA)

Abstract

プロセッサ(11)およびメモリ(12)を有し、メモリは、第1メモリ領域(12A)と、第1メモリ領域とは異なるアドレスの第2メモリ領域(12B)を有し、プロセッサは、第1メモリ領域に書き込まれた入力データのプログラム処理を含む第1処理過程と、第2メモリ領域に書き込まれた入力データのプログラム処理、および第2メモリ領域に書き込まれた出力データへの冗長符号の付与と、を含む第2処理過程と、を実行する実行制御部(13)と、第1処理過程における冗長符号の付与を経た出力データ、および第2処理過程における冗長符号の付与を経た出力データを照合する結果照合部(14)と、プロセッサおよびメモリの故障の有無を診断する演算診断部(15)と、冗長検査、結果照合部における照合および演算診断部における診断の少なくともいずれかにおいて異常が検出された場合に、出力データの出力を停止させる異常処理部(16)と、を有する。The memory includes a processor (11) and a memory (12). The memory includes a first memory area (12A) and a second memory area (12B) having an address different from the first memory area. A first processing step including a program process of input data written in the memory area, a program process of input data written in the second memory area, and the provision of a redundant code to the output data written in the second memory area An execution control unit (13) that executes a second processing step including: output data that has been given a redundant code in the first processing step, and output data that has been given a redundant code in the second processing step. Result collation unit (14) for collation, operation diagnosis unit (15) for diagnosing the presence or absence of a failure of the processor and memory, verification in the redundancy check, result collation unit, and operation diagnosis If an abnormality is detected in at least one of diagnosis in section, it has the abnormality processing unit stopping output of the output data (16), the.

Description

本発明は、安全演算装置、安全入力装置、安全出力装置および安全コントローラ、特に、信頼性の高い制御動作を保障するための内部診断を実施する安全コントローラの構成に関する。   The present invention relates to a safety arithmetic device, a safety input device, a safety output device, and a safety controller, and more particularly, to a configuration of a safety controller that performs an internal diagnosis for ensuring a highly reliable control operation.

安全制御のための安全コントローラは、例えば、機能安全に関する国際規格であるIEC61508にしたがって、プロセッサやメモリにおける回路の永続的な故障であるハードウェア故障と、一時的な故障であるソフトウェア故障との両方を検出可能であることが求められている。   Safety controllers for safety control, for example, according to IEC61508, an international standard for functional safety, both hardware failures that are permanent failures of circuits in processors and memories and software failures that are temporary failures Is required to be detectable.

安全コントローラの内部診断については、例えば、2つのプロセッサの演算結果を照合して相互診断する手法や、1つのプロセッサにて同じ演算処理を2回実行して処理結果を比較する手法が知られている。例えば、特許文献1には、1つのプロセッサが同じ演算処理を2回実行した結果を別々のメモリに書き込む方法が開示されている。   For internal diagnosis of the safety controller, for example, there are known a method of comparing the operation results of two processors and performing a mutual diagnosis, and a method of executing the same operation processing twice in one processor and comparing the processing results. Yes. For example, Patent Document 1 discloses a method of writing the results of executing the same arithmetic processing twice by one processor in different memories.

特開昭59−194204号公報JP 59-194204 A

特許文献1に記載の構成によると、2つのメモリからの出力は、二重化されたデマルチプレクサとフリップフロップ回路とを用いて一重化される。プロセッサで演算処理を2回実行した結果の照合は、二重化されたハードウェア回路により実現される。この二重化された回路構成を採用する場合、一重の入出力回路からなる一般的な構成に比べて、冗長な回路構成が必要となる分、安全コントローラが複雑かつ高コストとなることが問題となる。   According to the configuration described in Patent Document 1, outputs from two memories are unified using a duplexed demultiplexer and flip-flop circuit. The collation of the result of executing the arithmetic processing twice by the processor is realized by a duplicated hardware circuit. When this dual circuit configuration is adopted, there is a problem that the safety controller is complicated and expensive because a redundant circuit configuration is required compared to a general configuration including a single input / output circuit. .

本発明は、上記に鑑みてなされたものであって、一重の回路構成として簡易かつ低コストを実現し、ハードウェア故障およびソフトウェア故障の両方を検出可能とする安全演算装置、安全入力装置、安全出力装置および安全コントローラを得ることを目的とする。   The present invention has been made in view of the above, and realizes a simple and low-cost single circuit configuration, and can detect both a hardware failure and a software failure, a safety input device, a safety An object is to obtain an output device and a safety controller.

上述した課題を解決し、目的を達成するために、本発明は、入力データのプログラム処理を実施するプロセッサと、前記プロセッサへ入力される前記入力データ、および前記プログラム処理の結果である出力データを保持するメモリと、を有し、前記メモリは、第1メモリ領域と、前記第1メモリ領域とは異なるアドレスの第2メモリ領域と、のそれぞれに、前記入力データおよび前記出力データを保持可能であって、前記プロセッサは、前記第1メモリ領域に書き込まれた前記入力データの前記プログラム処理と、前記プログラム処理の結果として前記第1メモリ領域に書き込まれた前記出力データへの冗長符号の付与と、を含む第1処理過程と、前記第2メモリ領域に書き込まれた前記入力データの前記プログラム処理と、前記プログラム処理の結果として前記第2メモリ領域に書き込まれた前記出力データへの冗長符号の付与と、を含む第2処理過程と、を実行する実行制御部と、前記第1処理過程における前記冗長符号の付与を経た前記出力データと、前記第2処理過程における前記冗長符号の付与を経た前記出力データとを照合する結果照合部と、前記プロセッサおよび前記メモリの故障の有無を演算によって診断する演算診断部と、前記入力データおよび前記出力データの冗長検査、前記結果照合部における照合、および前記演算診断部における診断の少なくともいずれかにおいて異常が検出された場合に、前記出力データの出力を停止させる異常処理部と、を有することを特徴とする。   In order to solve the above-described problems and achieve the object, the present invention provides a processor that performs program processing of input data, the input data that is input to the processor, and output data that is a result of the program processing. And the memory can hold the input data and the output data in each of a first memory area and a second memory area having an address different from the first memory area. The processor performs the program processing of the input data written in the first memory area, and assigns a redundant code to the output data written in the first memory area as a result of the program processing. , The program processing of the input data written in the second memory area, and the program An execution control unit for executing a second processing step including adding a redundant code to the output data written in the second memory area as a result of the processing; and the redundant code in the first processing step A result collating unit that collates the output data that has been given and the output data that has been given the redundant code in the second processing step, and an arithmetic diagnostic unit that diagnoses whether the processor and the memory are faulty by calculation And an abnormality process for stopping output of the output data when an abnormality is detected in at least one of the redundancy check of the input data and the output data, the verification in the result verification unit, and the diagnosis in the arithmetic diagnosis unit And a portion.

本発明にかかる安全演算装置は、プロセッサおよびメモリを含む一重の回路構成を備える。実行制御部は、第1メモリ領域から読み出した入力データ、および第2メモリ領域から読み出した入力データに対し、それぞれプログラム処理を実行する。結果照合部は、双方の入力データについてのプログラム処理の結果を照合することで、ソフトウェア故障を検出する。演算診断部は、プロセッサおよびメモリにおけるハードウェア故障を検出する。これにより、安全演算装置は、一重の回路構成として簡易かつ低コストを実現し、ハードウェア故障およびソフトウェア故障の両方を検出できるという効果を奏する。   The safety arithmetic device according to the present invention has a single circuit configuration including a processor and a memory. The execution control unit executes program processing on the input data read from the first memory area and the input data read from the second memory area, respectively. The result verification unit detects a software failure by verifying the results of the program processing for both input data. The arithmetic diagnosis unit detects a hardware failure in the processor and the memory. As a result, the safety arithmetic device is simple and low-cost as a single circuit configuration, and has the effect of being able to detect both hardware and software failures.

図1は、本発明の実施の形態1にかかる安全演算装置を備える安全コントローラの構成を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration of a safety controller including a safety arithmetic device according to the first embodiment of the present invention. 図2は、安全コントローラの動作手順を示すフローチャートである(その1)。FIG. 2 is a flowchart showing the operation procedure of the safety controller (part 1). 図3は、安全コントローラの動作手順を示すフローチャートである(その2)。FIG. 3 is a flowchart showing the operation procedure of the safety controller (part 2). 図4は、本発明の実施の形態2にかかる安全演算装置を備える安全コントローラの動作手順を示すフローチャートである(その1)。FIG. 4: is a flowchart which shows the operation | movement procedure of a safety controller provided with the safety calculating apparatus concerning Embodiment 2 of this invention (the 1). 図5は、本発明の実施の形態2にかかる安全演算装置を備える安全コントローラの動作手順を示すフローチャートである(その2)。FIG. 5: is a flowchart which shows the operation | movement procedure of a safety controller provided with the safety calculating apparatus concerning Embodiment 2 of this invention (the 2). 図6は、本発明の実施の形態6にかかる安全演算装置を備える安全コントローラの構成を示すブロック図である。FIG. 6 is a block diagram illustrating a configuration of a safety controller including the safety arithmetic device according to the sixth embodiment of the present invention. 図7は、本発明の実施の形態7にかかる安全入力装置を備える安全コントローラの構成を示すブロック図である。FIG. 7: is a block diagram which shows the structure of the safety controller provided with the safety input device concerning Embodiment 7 of this invention. 図8は、安全入力装置の動作手順を示すフローチャートである。FIG. 8 is a flowchart showing an operation procedure of the safety input device. 図9は、本発明の実施の形態8にかかる安全出力装置を備える安全コントローラの構成を示すブロック図である。FIG. 9 is a block diagram illustrating a configuration of a safety controller including the safety output device according to the eighth embodiment of the present invention. 図10は、安全出力装置の動作手順を示すフローチャートである。FIG. 10 is a flowchart showing an operation procedure of the safety output device. 図11は、本発明の実施の形態9にかかる安全コントローラの構成を示すブロック図である。FIG. 11 is a block diagram showing the configuration of the safety controller according to the ninth embodiment of the present invention. 図12は、本発明の実施の形態10にかかる安全コントローラの構成を示すブロック図である。FIG. 12 is a block diagram showing a configuration of the safety controller according to the tenth embodiment of the present invention.

以下に、本発明にかかる安全演算装置、安全入力装置、安全出力装置および安全コントローラの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。   Hereinafter, embodiments of a safety arithmetic device, a safety input device, a safety output device, and a safety controller according to the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.

実施の形態1.
図1は、本発明の実施の形態1にかかる安全演算装置を備える安全コントローラの構成を示すブロック図である。安全コントローラは、安全演算装置10、安全入力装置18および安全出力装置19を備える。
Embodiment 1 FIG.
FIG. 1 is a block diagram illustrating a configuration of a safety controller including a safety arithmetic device according to the first embodiment of the present invention. The safety controller includes a safety calculation device 10, a safety input device 18, and a safety output device 19.

安全演算装置10は、安全制御のための演算処理を実施する。安全入力装置18は、安全コントローラへの入力信号の入力を受け付ける。安全出力装置19は、安全コントローラから外部へ出力信号を出力する。安全演算装置10、安全入力装置18および安全出力装置19は、バス20を介して互いに内部接続されている。   The safety arithmetic device 10 performs arithmetic processing for safety control. The safety input device 18 receives an input signal input to the safety controller. The safety output device 19 outputs an output signal from the safety controller to the outside. The safety arithmetic device 10, the safety input device 18 and the safety output device 19 are internally connected to each other via a bus 20.

安全演算装置10は、プロセッサ11およびメモリ12を有する。プロセッサ11は、安全演算装置10へ入力された入力データのプログラム処理を実施する。メモリ12は、プロセッサ11へ入力される入力データ、およびプログラム処理の結果である出力データを保持する。   The safety calculation device 10 includes a processor 11 and a memory 12. The processor 11 performs program processing of input data input to the safety arithmetic device 10. The memory 12 holds input data input to the processor 11 and output data that is a result of the program processing.

メモリ12は、互いに独立した第1メモリ領域12Aおよび第2メモリ領域12Bを有する。第2メモリ領域12Bは、第1メモリ領域12Aとはアドレスが異なる。第1メモリ領域12Aおよび第2メモリ領域12Bは、いずれも入力データおよび出力データを保持可能とされている。   The memory 12 has a first memory area 12A and a second memory area 12B that are independent of each other. The second memory area 12B has a different address from the first memory area 12A. Each of the first memory area 12A and the second memory area 12B can hold input data and output data.

プロセッサ11は、実行制御部13、結果照合部14、演算診断部15、異常処理部16および入出力処理部17を有する。実行制御部13は、第1メモリ領域12Aに書き込まれた入力データについての第1処理過程と、第2メモリ領域12Bに書き込まれた入力データについての第2処理過程とを実行する。結果照合部14は、第1処理過程において第1メモリ領域12Aに書き込まれた出力データと、第2処理過程において第2メモリ領域12Bに書き込まれた出力データとを照合する。   The processor 11 includes an execution control unit 13, a result matching unit 14, an operation diagnosis unit 15, an abnormality processing unit 16, and an input / output processing unit 17. The execution control unit 13 executes a first process for input data written to the first memory area 12A and a second process for input data written to the second memory area 12B. The result collating unit 14 collates the output data written in the first memory area 12A in the first process and the output data written in the second memory area 12B in the second process.

演算診断部15は、プロセッサ11およびメモリ12の故障の有無を演算により診断する。演算診断部15によるプロセッサ11およびメモリ12の診断には、例えば、テストパターンを用いる。異常処理部16は、入力データおよび出力データの冗長検査、結果照合部14における照合、および演算診断部15における診断の少なくともいずれかにおいて異常が検出された場合に、出力データの出力を停止させる。   The operation diagnosis unit 15 diagnoses the presence or absence of a failure in the processor 11 and the memory 12 by operation. For the diagnosis of the processor 11 and the memory 12 by the arithmetic diagnosis unit 15, for example, a test pattern is used. The abnormality processing unit 16 stops the output of the output data when an abnormality is detected in at least one of the redundancy check of the input data and the output data, the verification in the result verification unit 14, and the diagnosis in the arithmetic diagnosis unit 15.

入出力処理部17は、安全入力装置18と第1メモリ領域12Aおよび第2メモリ領域12Bとの間の入力データの転送と、安全出力装置19と第1メモリ領域12Aおよび第2メモリ領域12Bとの間の出力データの転送とを行う。   The input / output processing unit 17 transfers input data between the safety input device 18 and the first memory area 12A and the second memory area 12B, and the safety output device 19 and the first memory area 12A and the second memory area 12B. The output data between.

図2および図3は、安全コントローラの動作手順を示すフローチャートである。安全入力装置18は、入力データに冗長符号を付与する。入出力処理部17は、冗長符号が付与された入力データを安全入力装置18から読み込む。入出力処理部17は、読み込んだ入力データを第1メモリ領域12Aおよび第2メモリ領域12Bに書き込む(ステップS1)。   2 and 3 are flowcharts showing the operation procedure of the safety controller. The safety input device 18 gives a redundant code to the input data. The input / output processing unit 17 reads input data to which a redundant code is assigned from the safety input device 18. The input / output processing unit 17 writes the read input data into the first memory area 12A and the second memory area 12B (step S1).

実行制御部13は、第1メモリ領域12Aへ書き込まれた入力データ(第1入力データ)に付随する冗長符号をチェックする(ステップS2)。冗長符号は、例えばCRC(Cyclic Redundancy Checking)とする。   The execution control unit 13 checks a redundant code accompanying the input data (first input data) written in the first memory area 12A (step S2). The redundant code is, for example, CRC (Cyclic Redundancy Checking).

かかる冗長検査において異常が検出された場合(ステップS3、Yes)、異常処理部16は、安全コントローラの動作を停止させる(ステップS18)。一方、ステップS2の冗長検査により異常が無いことを確認すると(ステップS3、No)、実行制御部13は、第1入力データのプログラム処理を実行する(ステップS4)。プログラムは、例えばユーザにより作成されたアプリケーションプログラムとする。実行制御部13は、プログラム処理において、第1入力データと、第1メモリ領域12Aが保持する自己保存データとを用いる。   When an abnormality is detected in the redundancy check (step S3, Yes), the abnormality processing unit 16 stops the operation of the safety controller (step S18). On the other hand, if it is confirmed by the redundancy check in step S2 that there is no abnormality (step S3, No), the execution control unit 13 executes a program process for the first input data (step S4). The program is, for example, an application program created by the user. The execution control unit 13 uses the first input data and the self-saved data held in the first memory area 12A in the program processing.

実行制御部13は、ステップS4における処理結果である出力データ(第1出力データ)を、第1メモリ領域12Aに書き込む(ステップS5)。実行制御部13は、第1メモリ領域12Aが保持する自己保存データを、ステップS4における処理結果に応じて書き換える。   The execution control unit 13 writes the output data (first output data), which is the processing result in step S4, in the first memory area 12A (step S5). The execution control unit 13 rewrites the self-stored data held in the first memory area 12A according to the processing result in step S4.

実行制御部13は、第1メモリ領域12Aへ書き込まれた第1出力データに冗長符号を付与する(ステップS6)。冗長符号は、例えばCRCとする。ステップS2からステップS6は、第1メモリ領域12Aに書き込まれた第1入力データについての第1処理過程に相当する。   The execution control unit 13 assigns a redundant code to the first output data written to the first memory area 12A (step S6). The redundant code is, for example, CRC. Steps S2 to S6 correspond to a first process for the first input data written in the first memory area 12A.

次に、実行制御部13は、第2メモリ領域12Bへ書き込まれた入力データ(第2入力データ)に付随する冗長符号をチェックする(ステップS7)。冗長符号は、例えばCRCとする。かかる冗長検査において異常が検出された場合(ステップS8、Yes)、異常処理部16は、安全コントローラの動作を停止させる(ステップS18)。一方、ステップS7の冗長検査により異常が無いことを確認すると(ステップS8、No)、実行制御部13は、第2入力データのプログラム処理を実行する(ステップS9)。   Next, the execution control unit 13 checks the redundant code accompanying the input data (second input data) written in the second memory area 12B (step S7). The redundant code is, for example, CRC. When an abnormality is detected in the redundancy check (step S8, Yes), the abnormality processing unit 16 stops the operation of the safety controller (step S18). On the other hand, if it is confirmed by the redundancy check in step S7 that there is no abnormality (step S8, No), the execution control unit 13 executes a program process for the second input data (step S9).

第1メモリ領域12Aおよび第2メモリ領域12Bは、オフセットアドレスが異なる以外は、メモリマップは同一である。実行制御部13は、第2入力データに対しては、ステップS4における第1入力データの処理のときとは異なるオフセットアドレスとして、同じプログラムを実行する。実行制御部13は、プログラム処理において、第2入力データと、第2メモリ領域12Bが保持する自己保存データとを用いる。   The first memory area 12A and the second memory area 12B have the same memory map except that the offset addresses are different. The execution control unit 13 executes the same program with respect to the second input data as an offset address different from that in the process of the first input data in step S4. The execution control unit 13 uses the second input data and the self-saved data held in the second memory area 12B in the program processing.

実行制御部13は、ステップS9における処理結果である出力データ(第2出力データ)を、第2メモリ領域12Bに書き込む(ステップS10)。実行制御部13は、第2メモリ領域12Bが保持する自己保存データを、ステップS9における処理結果に応じて書き換える。   The execution control unit 13 writes the output data (second output data), which is the processing result in step S9, in the second memory area 12B (step S10). The execution control unit 13 rewrites the self-stored data held in the second memory area 12B according to the processing result in step S9.

実行制御部13は、第2メモリ領域12Bへ書き込まれた第2出力データに冗長符号を付与する(ステップS11)。冗長符号は、例えばCRCとする。ステップS7からステップS11は、第2メモリ領域12Bに書き込まれた第2入力データについての第2処理過程に相当する。   The execution control unit 13 gives a redundant code to the second output data written to the second memory area 12B (step S11). The redundant code is, for example, CRC. Steps S7 to S11 correspond to a second process for the second input data written to the second memory area 12B.

次に、結果照合部14は、ステップS6における冗長符号の付与を経た第1出力データと、ステップS11における冗長符号の付与を経た第2出力データとを比較照合する(ステップS12)。結果照合部14は、第1および第2出力データに加えて、値が変更される可能性のある自己保存データを、比較照合の範囲に含めることとしても良い。   Next, the result matching unit 14 compares and collates the first output data that has been given the redundant code in step S6 and the second output data that has been given the redundant code in step S11 (step S12). In addition to the first and second output data, the result collating unit 14 may include self-stored data whose value may be changed in the range of the comparison collation.

結果照合部14での照合において異常が検出された場合(ステップS13、Yes)、異常処理部16は、安全コントローラの動作を停止させる(ステップS18)。一方、結果照合部14での照合において異常が無いことを確認すると(ステップS13、No)、入出力処理部17は、第1メモリ領域12Aから第1出力データを読み出し、第1出力データを安全出力装置19に書き込む。   When abnormality is detected in the collation by the result collation unit 14 (step S13, Yes), the abnormality processing unit 16 stops the operation of the safety controller (step S18). On the other hand, when it is confirmed that there is no abnormality in the collation in the result collation unit 14 (No in step S13), the input / output processing unit 17 reads the first output data from the first memory area 12A and makes the first output data safe. Write to the output device 19.

安全出力装置19は、入出力処理部17によって書き込まれた第1出力データに付随する冗長符号をチェックする(ステップS14)。かかる冗長検査において異常が検出された場合(ステップS15、Yes)、異常処理部16は、安全出力装置19による第1出力データの出力を停止させる(ステップS18)。一方、ステップS14の冗長検査により異常が無いことを確認すると(ステップS15、No)、安全出力装置19は、第1出力データを出力する。   The safety output device 19 checks the redundant code accompanying the first output data written by the input / output processing unit 17 (step S14). If an abnormality is detected in the redundancy check (step S15, Yes), the abnormality processing unit 16 stops the output of the first output data by the safety output device 19 (step S18). On the other hand, when it is confirmed by the redundancy check in step S14 that there is no abnormality (No in step S15), the safety output device 19 outputs the first output data.

次に、演算診断部15は、プロセッサ11およびメモリ12の故障の有無を診断する(ステップS16)。演算診断部15は、プロセッサ11の演算ユニット(ALU;Arithmetic and Logic Unit)を、テストパターンを使用して診断する。テストパターンとしては、ALUのレジスタの各ビットが独立してON/OFFできることを確認可能であるものを選択する。   Next, the operation diagnosis unit 15 diagnoses whether the processor 11 and the memory 12 are faulty (step S16). The arithmetic diagnosis unit 15 diagnoses an arithmetic unit (ALU) of the processor 11 using a test pattern. As the test pattern, one that can confirm that each bit of the register of the ALU can be turned ON / OFF independently is selected.

例えば、和算を行うALUの場合、演算対象となる2つのレジスタの各ビット(0,0),(0,1),(1,0),(1,1)の確認と、下位ビットからのキャリー演算を実施する。さらに、隣接しているメモリビット間にショートが無いことを確認するために、テストパターンとしては、隣接ビットが異なる結果となるもの(0x5555および0xAAAA)を選択する。   For example, in the case of an ALU that performs summation, confirmation of each bit (0, 0), (0, 1), (1, 0), (1, 1) of two registers to be operated and Carry out the carry operation. Furthermore, in order to confirm that there is no short between adjacent memory bits, test patterns (0x5555 and 0xAAAA) that result in different adjacent bits are selected.

演算診断部15は、第1メモリ領域12Aおよび第2メモリ領域12Bの指定されたアドレスに対し、互いに異なるテストパターンの書き込みおよび読み出しを行う。第1メモリ領域12Aおよび第2メモリ領域12Bは、互いに異なるオフセットアドレスと、同じメモリマップとを持つ。同じテストパターンでは、オフセットアドレスラインが固着する故障があっても、第1メモリ領域12Aおよび第2メモリ領域12Bの同じアドレスに同じ値が書き込まれることとなり、正確な故障診断が困難となる。演算診断部15は、第1メモリ領域12Aおよび第2メモリ領域12Bの指定されたアドレスに予め異なる値を書き込み、読み出された値と書き込み時の値とを比較することで、アドレスラインの故障を診断する。   The arithmetic diagnosis unit 15 writes and reads different test patterns to the designated addresses in the first memory area 12A and the second memory area 12B. The first memory area 12A and the second memory area 12B have different offset addresses and the same memory map. In the same test pattern, even if there is a failure in which the offset address line is fixed, the same value is written to the same address in the first memory area 12A and the second memory area 12B, making accurate failure diagnosis difficult. The arithmetic diagnosis unit 15 writes different values in advance to the designated addresses in the first memory area 12A and the second memory area 12B, and compares the read value with the value at the time of writing, thereby failing the address line. Diagnose.

プロセッサ11およびメモリ12の故障診断において異常が検出された場合(ステップS17、Yes)、すなわちプロセッサ11およびメモリ12の少なくともいずれかに故障があった場合、異常処理部16は、安全コントローラの動作を停止させる(ステップS18)。異常処理部16は、第1メモリ領域12Aおよび第2メモリ領域12Bからの信号出力をOFFにする。   If an abnormality is detected in the failure diagnosis of the processor 11 and the memory 12 (step S17, Yes), that is, if at least one of the processor 11 and the memory 12 has a failure, the abnormality processing unit 16 performs the operation of the safety controller. Stop (step S18). The abnormality processing unit 16 turns off the signal output from the first memory area 12A and the second memory area 12B.

一方、プロセッサ11およびメモリ12の故障診断により異常が無いこと、すなわちプロセッサ11およびメモリ12のいずれにも故障が無いことを確認すると(ステップS17、No)、安全コントローラは、ステップS1に戻って、安全制御のための動作を継続する。   On the other hand, when it is confirmed by the failure diagnosis of the processor 11 and the memory 12 that there is no abnormality, that is, there is no failure in either the processor 11 or the memory 12 (No in step S17), the safety controller returns to step S1, Continue operation for safety control.

安全コントローラは、入力データおよび出力データの冗長検査、結果照合部14における照合、および演算診断部15における診断の少なくともいずれかにおいて異常が検出された場合、ステップS18における動作の停止により、無為の無限ループ状態となる。これにより、安全コントローラは、異常を検出した時点で、出力データの出力を停止させる。   When an abnormality is detected in at least one of the redundant check of the input data and the output data, the verification in the result verification unit 14, and the diagnosis in the arithmetic diagnosis unit 15, the safety controller stops the operation indefinitely by stopping the operation in step S18. It becomes a loop state. As a result, the safety controller stops outputting the output data when an abnormality is detected.

安全コントローラは、安全演算装置10のプロセッサ11およびメモリ12のいずれかにソフトウェア故障が発生した場合、結果照合部14による照合結果から、故障の発生を検出することができる。なお、安全コントローラは、ソフトウェア故障があった場合に、動作を停止させる以外に、所定の処置を施した上で動作を継続することとしても良い。   The safety controller can detect the occurrence of the failure from the collation result by the result collating unit 14 when a software fault occurs in either the processor 11 or the memory 12 of the safety arithmetic device 10. The safety controller may continue the operation after performing a predetermined measure in addition to stopping the operation when there is a software failure.

ソフトウェア故障は、ソフトウェア処理におけるある周期にて検出されても、次周期以降には解消されることがあり得る。安全コントローラは、例えば、故障が検出された周期の直前の周期における出力データを当該周期に適用することで、エラー扱いとせず次周期以降の処理を継続することとしても良い。安全コントローラは、所定回数の周期にて連続して故障を検出した場合に、動作を停止させることとしても良い。   Even if a software failure is detected in a certain cycle in software processing, it may be resolved after the next cycle. For example, the safety controller may apply the output data in the cycle immediately before the cycle in which the failure is detected to the cycle to continue the processing in the next cycle and not treat it as an error. The safety controller may stop the operation when it detects failures continuously in a predetermined number of cycles.

安全コントローラは、プロセッサ11およびメモリ12のいずれかにハードウェア故障が発生した場合、演算診断部15による診断結果から、故障の発生を検出することができる。ハードウェア故障は、ソフトウェア処理のある周期にて検出されれば、次周期以降も解消されないこととなる。このため、安全コントローラは、ハードウェア故障を検出した場合、直ちに動作を停止させる。   When a hardware failure occurs in either the processor 11 or the memory 12, the safety controller can detect the occurrence of the failure from the diagnosis result by the arithmetic diagnosis unit 15. If a hardware failure is detected in a certain cycle of software processing, it will not be resolved after the next cycle. For this reason, when the safety controller detects a hardware failure, the safety controller immediately stops its operation.

安全コントローラは、プロセッサ11、メモリ12、安全入力装置18および安全出力装置19からなる一重の回路構成を採用する。安全コントローラは、二重化されたハードウェア構造を採用しなくても、ハードウェア故障およびソフトウェア故障の両方を検出することができる。安全コントローラは、一重の回路構成として簡易かつ低コストを実現できる。   The safety controller employs a single circuit configuration including the processor 11, the memory 12, the safety input device 18, and the safety output device 19. The safety controller can detect both hardware and software failures without adopting a duplexed hardware structure. The safety controller can realize a simple and low cost as a single circuit configuration.

実施の形態2.
図4および図5は、本発明の実施の形態2にかかる安全演算装置を備える安全コントローラの動作手順を示すフローチャートである。本実施の形態にかかる安全コントローラは、実施の形態1にかかる安全コントローラ(図1参照)と同様の構成を備える。本実施の形態における動作手順のうちステップS1からステップS9の手順は、実施の形態1における動作手順のステップS1からS9(図2参照)と同様である。
Embodiment 2. FIG.
FIG. 4 and FIG. 5 are flowcharts showing an operation procedure of the safety controller including the safety arithmetic device according to the second embodiment of the present invention. The safety controller according to the present embodiment has the same configuration as the safety controller according to the first embodiment (see FIG. 1). Of the operation procedures in the present embodiment, steps S1 to S9 are the same as steps S1 to S9 (see FIG. 2) of the operation procedures in the first embodiment.

実行制御部13は、ステップS9における処理結果である出力データ(第2出力データ)を、ビット反転させる(ステップS20)。実行制御部13は、ビット反転を経た第2出力データを、第2メモリ領域12Bに書き込む(ステップS10)。また、実行制御部13は、第2メモリ領域12Bが保持する自己保存データを、ステップS9における処理結果に応じて書き換えるとともに、ビット反転させる。   The execution control unit 13 bit-inverts the output data (second output data) that is the processing result in step S9 (step S20). The execution control unit 13 writes the second output data that has undergone bit inversion into the second memory area 12B (step S10). In addition, the execution control unit 13 rewrites the self-stored data held in the second memory area 12B according to the processing result in step S9 and bit-inverts the data.

実行制御部13は、第2メモリ領域12Bへ書き込まれた第2出力データに冗長符号を付与する(ステップS11)。冗長符号は、例えばCRCとする。ステップS7からステップS11は、第2メモリ領域12Bに書き込まれた第2入力データについての第2処理過程に相当する。   The execution control unit 13 gives a redundant code to the second output data written to the second memory area 12B (step S11). The redundant code is, for example, CRC. Steps S7 to S11 correspond to a second process for the second input data written to the second memory area 12B.

次に、結果照合部14は、ステップS6における冗長符号の付与を経た第1出力データと、ステップS11における冗長符号の付与を経た第2出力データとを比較照合する(ステップS12)。ステップS12において、結果照合部14は、互いの排他論理和を求める手法により、第1出力データと第2出力データとを照合する。その後ステップS13からステップS15の動作手順は、実施の形態1におけるステップS13からステップS15の動作手順と同様である。   Next, the result matching unit 14 compares and collates the first output data that has been given the redundant code in step S6 and the second output data that has been given the redundant code in step S11 (step S12). In step S12, the result collating unit 14 collates the first output data and the second output data by a method of obtaining mutual exclusive OR. Thereafter, the operation procedure from step S13 to step S15 is the same as the operation procedure from step S13 to step S15 in the first embodiment.

ステップS14の冗長検査により異常が無いことを確認すると(ステップS15、No)、安全出力装置19は、第1出力データを出力する。次に、演算診断部15は、プロセッサ11の故障の有無を診断する(ステップS21)。第1メモリ領域12Aが保持する第1出力データに対し、第2メモリ領域12Bが保持する第2出力データは、ステップS20におけるビット反転を経ている。アドレスラインの故障は、第1出力データと第2出力データとを比較照合することで検出できる。よって、実施の形態2では、演算診断部15によるメモリ12の故障診断は不要となる。   When it is confirmed by the redundancy check in step S14 that there is no abnormality (step S15, No), the safety output device 19 outputs the first output data. Next, the operation diagnosis unit 15 diagnoses the presence or absence of a failure of the processor 11 (step S21). The second output data held in the second memory area 12B undergoes bit inversion in step S20 with respect to the first output data held in the first memory area 12A. The failure of the address line can be detected by comparing and collating the first output data and the second output data. Therefore, in the second embodiment, failure diagnosis of the memory 12 by the arithmetic diagnosis unit 15 is not necessary.

ステップS17およびステップS18の動作手順は、実施の形態1におけるステップS17およびステップS18の動作手順と同様である。実施の形態2にかかる安全コントローラは、実施の形態1と同様に、一重の回路構成として簡易かつ低コストを実現し、ハードウェア故障およびソフトウェア故障の両方を検出することができる。   The operation procedure of step S17 and step S18 is the same as the operation procedure of step S17 and step S18 in the first embodiment. As in the first embodiment, the safety controller according to the second embodiment realizes simple and low cost as a single circuit configuration, and can detect both hardware failure and software failure.

実施の形態3.
実施の形態3にかかる安全コントローラは、実施の形態1にかかる安全コントローラ(図1参照)と同様の構成を備える。本実施の形態にかかる安全コントローラの動作手順は、実施の形態2にかかる安全コントローラの動作手順(図4および図5参照)のうちステップS20において、ビット反転に代えて、補数への変換を行う。ここで、本実施の形態の動作手順を、図4および図5のフローチャートを参照して説明する。
Embodiment 3 FIG.
The safety controller according to the third embodiment has the same configuration as the safety controller according to the first embodiment (see FIG. 1). In the operation procedure of the safety controller according to the present embodiment, in step S20 of the operation procedure of the safety controller according to the second embodiment (see FIGS. 4 and 5), conversion to a complement is performed instead of bit inversion. . Here, the operation procedure of the present embodiment will be described with reference to the flowcharts of FIGS.

実行制御部13は、ステップS9における処理結果である出力データ(第2出力データ)を、補数へ変換する。実行制御部13は、補数への変換を経た第2出力データを、第2メモリ領域12Bに書き込む(ステップS10)。また、実行制御部13は、第2メモリ領域12Bが保持する自己保存データを、ステップS9における処理結果に応じて書き換えるとともに、補数に変換する。   The execution control unit 13 converts the output data (second output data), which is the processing result in step S9, into a complement. The execution control unit 13 writes the second output data that has been converted to the complement into the second memory area 12B (step S10). Further, the execution control unit 13 rewrites the self-stored data held in the second memory area 12B according to the processing result in step S9 and converts it into a complement.

結果照合部14は、ステップS6における冗長符号の付与を経た第1出力データと、ステップS11における冗長符号の付与を経た第2出力データとを比較照合する(ステップS12)。ステップS12において、結果照合部14は、互いの和がゼロであるか否かにより、第1出力データと第2出力データとを照合する。その後の動作手順は、実施の形態2におけるステップS13からステップS18の動作手順と同様である。   The result matching unit 14 compares and collates the first output data that has been given the redundant code in step S6 and the second output data that has been given the redundant code in step S11 (step S12). In step S12, the result collating unit 14 collates the first output data and the second output data depending on whether or not the sum is zero. The subsequent operation procedure is the same as the operation procedure from step S13 to step S18 in the second embodiment.

実施の形態3では、実施の形態2と同様、第1メモリ領域12Aに書き込まれる第1出力データと第2メモリ領域12Bに書き込まれる第2出力データとは異なる値である。アドレスラインの故障は、第1出力データと第2出力データとを比較照合することで検出できる。よって、実施の形態3では、演算診断部15によるメモリ12の故障診断は不要となる。   In the third embodiment, as in the second embodiment, the first output data written in the first memory area 12A and the second output data written in the second memory area 12B have different values. The failure of the address line can be detected by comparing and collating the first output data and the second output data. Therefore, in the third embodiment, failure diagnosis of the memory 12 by the arithmetic diagnosis unit 15 is not necessary.

実施の形態3にかかる安全コントローラは、実施の形態1および2と同様に、一重の回路構成として簡易かつ低コストを実現し、ハードウェア故障およびソフトウェア故障の両方を検出することができる。   As in the first and second embodiments, the safety controller according to the third embodiment realizes simple and low cost as a single circuit configuration, and can detect both hardware failures and software failures.

実施の形態4.
実施の形態4にかかる安全コントローラは、実施の形態1にかかる安全コントローラ(図1参照)と同様の構成を備える。本実施の形態にかかる安全コントローラの動作手順は、実施の形態2にかかる安全コントローラの動作手順(図4および図5参照)のうちステップS20において、ビット反転に代えて、エンディアンを逆転させる変換を行う。ここで、本実施の形態の動作手順を、図4および図5のフローチャートを参照して説明する。
Embodiment 4 FIG.
The safety controller according to the fourth embodiment has the same configuration as the safety controller according to the first embodiment (see FIG. 1). In the operation procedure of the safety controller according to the present embodiment, in the operation procedure of the safety controller according to the second embodiment (see FIG. 4 and FIG. 5), in step S20, conversion to reverse endian is performed instead of bit inversion. Do. Here, the operation procedure of the present embodiment will be described with reference to the flowcharts of FIGS.

実行制御部13は、ステップS9における処理結果である出力データ(第2出力データ)について、例えば16ビットデータの上位ビットおよび下位ビットを逆にする変換を行う。実行制御部13は、エンディアンの逆転を経た第2出力データを、第2メモリ領域12Bに書き込む(ステップS10)。また、実行制御部13は、第2メモリ領域12Bが保持する自己保存データを、ステップS9における処理結果に応じて書き換えるとともに、エンディアンを逆転させる。   For example, the execution control unit 13 converts the output data (second output data), which is the processing result in step S9, by reversing the upper and lower bits of 16-bit data. The execution control unit 13 writes the second output data that has undergone endian inversion into the second memory area 12B (step S10). The execution control unit 13 rewrites the self-stored data held in the second memory area 12B according to the processing result in step S9 and reverses the endian.

結果照合部14は、ステップS6における冗長符号の付与を経た第1出力データと、ステップS11における冗長符号の付与を経た第2出力データとを比較照合する(ステップS12)。その際、結果照合部14は、第2メモリ領域12Bが保持する第2出力データを、エンディアンを逆転させて読み出す。結果照合部14は、第1出力データと、エンディアンの逆転を経た第2出力データとを照合する。その後の動作手順は、実施の形態2におけるステップS13からステップS18の動作手順と同様である。   The result matching unit 14 compares and collates the first output data that has been given the redundant code in step S6 and the second output data that has been given the redundant code in step S11 (step S12). At this time, the result matching unit 14 reads the second output data held in the second memory area 12B with the endian reversed. The result collating unit 14 collates the first output data with the second output data that has undergone endian inversion. The subsequent operation procedure is the same as the operation procedure from step S13 to step S18 in the second embodiment.

実施の形態4では、実施の形態2および3と同様、第1メモリ領域12Aに書き込まれる第1出力データと第2メモリ領域12Bに書き込まれる第2出力データとは異なる値である。アドレスラインの故障は、第1出力データと第2出力データとを比較照合することで検出できる。よって、実施の形態4では、演算診断部15によるメモリ12の故障診断は不要となる。   In the fourth embodiment, as in the second and third embodiments, the first output data written to the first memory area 12A and the second output data written to the second memory area 12B have different values. The failure of the address line can be detected by comparing and collating the first output data and the second output data. Therefore, in the fourth embodiment, failure diagnosis of the memory 12 by the arithmetic diagnosis unit 15 is not necessary.

実施の形態4にかかる安全コントローラは、実施の形態1から3と同様に、一重の回路構成として簡易かつ低コストを実現し、ハードウェア故障およびソフトウェア故障の両方を検出することができる。   As in the first to third embodiments, the safety controller according to the fourth embodiment realizes simple and low cost as a single circuit configuration, and can detect both hardware failures and software failures.

実施の形態4にかかる安全コントローラは、ステップS4における処理結果である出力データ(第1出力データ)についてエンディアンを逆転させることとしても良い。結果照合部14は、比較照合の際に、第1メモリ領域12Aが保持する第1出力データ、および第2メモリ領域12Bが保持する第2出力データのいずれについて、エンディアンを逆転させて読み出すこととしても良い。   The safety controller according to the fourth embodiment may reverse the endian for the output data (first output data) that is the processing result in step S4. The result collation unit 14 reads out the first output data held in the first memory area 12A and the second output data held in the second memory area 12B with the endian reversed in comparison and comparison. Also good.

実施の形態5.
実施の形態5にかかる安全コントローラは、実施の形態1にかかる安全コントローラ(図1参照)と同様の構成を備える。本実施の形態にかかる安全コントローラの動作手順は、実施の形態1にかかる安全コントローラの動作手順(図2および図3参照)と同様である。ここで、本実施の形態の動作手順を、図2および図3のフローチャートを参照して説明する。
Embodiment 5 FIG.
The safety controller according to the fifth embodiment has the same configuration as the safety controller according to the first embodiment (see FIG. 1). The operation procedure of the safety controller according to the present embodiment is the same as the operation procedure of the safety controller according to the first embodiment (see FIGS. 2 and 3). Here, the operation procedure of the present embodiment will be described with reference to the flowcharts of FIGS.

第1入力データのプログラム処理(ステップS4)において、実行制御部13は、16ビット向けのコンパイラとして生成されたプログラムを使用する。一方、第2入力データのプログラム処理(ステップS9)において、実行制御部13は、32ビット向けのコンパイラとして生成されたプログラムを使用する。   In the program processing of the first input data (step S4), the execution control unit 13 uses a program generated as a 16-bit compiler. On the other hand, in the program processing of the second input data (step S9), the execution control unit 13 uses a program generated as a 32-bit compiler.

コントローラが扱うデータのほとんどは、16ビットデータである。実行制御部13は、ステップS4において、16ビットである第1入力データをレジスタにロードし、16ビット命令を実行する。実行制御部13は、処理結果である16ビットの第1出力データを第1メモリ領域12Aに書き込む(ステップS5)。   Most of the data handled by the controller is 16-bit data. In step S4, the execution control unit 13 loads the 16-bit first input data into the register and executes the 16-bit instruction. The execution control unit 13 writes 16-bit first output data, which is the processing result, in the first memory area 12A (step S5).

また、プロセッサ11は、ステップS9において、16ビットである第2入力データをレジスタにロードし、32ビット命令を実行する。実行制御部13は、処理結果である16ビットの第2出力データを第2メモリ領域12Bに書き込む(ステップS10)。   In step S9, the processor 11 loads the 16-bit second input data into the register and executes the 32-bit instruction. The execution control unit 13 writes the 16-bit second output data as the processing result in the second memory area 12B (step S10).

実施の形態5では、第1入力データおよび第2入力データに対して実行する命令が互いに異なる。結果照合部14は、第1出力データと第2出力データとの比較照合により、プロセッサ11のソフトウェア故障およびハードウェア故障を検出することができる。よって、実施の形態5では、演算診断部15によるプロセッサ11の故障診断は不要となる。   In the fifth embodiment, instructions executed on the first input data and the second input data are different from each other. The result collation unit 14 can detect a software failure and a hardware failure of the processor 11 by comparing and collating the first output data and the second output data. Therefore, in the fifth embodiment, failure diagnosis of the processor 11 by the arithmetic diagnosis unit 15 is not necessary.

実施の形態5にかかる安全コントローラは、実施の形態1から4と同様に、一重の回路構成として簡易かつ低コストを実現し、ハードウェア故障およびソフトウェア故障の両方を検出することができる。   As in the first to fourth embodiments, the safety controller according to the fifth embodiment can achieve both simple and low cost as a single circuit configuration, and can detect both hardware failures and software failures.

実施の形態6.
図6は、本発明の実施の形態6にかかる安全演算装置を備える安全コントローラの構成を示すブロック図である。安全コントローラは、安全演算装置30、安全入力装置18および安全出力装置19を備える。実施の形態1と同一の部分には同一の符号を付し、重複する説明を適宜省略する。
Embodiment 6 FIG.
FIG. 6 is a block diagram illustrating a configuration of a safety controller including the safety arithmetic device according to the sixth embodiment of the present invention. The safety controller includes a safety calculation device 30, a safety input device 18, and a safety output device 19. The same parts as those in the first embodiment are denoted by the same reference numerals, and repeated description will be omitted as appropriate.

安全演算装置30は、安全制御のための演算処理を実施する。安全演算装置30、安全入力装置18および安全出力装置19は、バス20を介して互いに内部接続されている。安全入力装置18は、安全コントローラへの入力データを基に、冗長符号を算出する。安全入力装置18は、入力データに冗長符号および付帯情報が付与された入力メッセージを生成する。入力メッセージは、入力データおよび冗長符号を含む。冗長符号は、例えばCRCとする。付帯情報は、例えばヘッダ情報とする。   The safety arithmetic device 30 performs arithmetic processing for safety control. The safety calculation device 30, the safety input device 18, and the safety output device 19 are internally connected to each other via a bus 20. The safety input device 18 calculates a redundant code based on the input data to the safety controller. The safety input device 18 generates an input message in which a redundant code and incidental information are added to the input data. The input message includes input data and a redundant code. The redundant code is, for example, CRC. The incidental information is header information, for example.

安全演算装置30は、プロセッサ31およびメモリ12を有する。プロセッサ31は、安全演算装置30へ入力された入力データのプログラム処理を実施する。メモリ12は、プロセッサ31へ入力される入力メッセージ、およびプログラム処理の結果である出力メッセージを保持する。   The safety arithmetic unit 30 includes a processor 31 and a memory 12. The processor 31 performs a program process for the input data input to the safety calculation device 30. The memory 12 holds an input message that is input to the processor 31 and an output message that is a result of the program processing.

プロセッサ31は、実行制御部32、結果照合部33、制御演算部34、メッセージ処理部35、演算診断部36、異常処理部37および送受信部38を有する。送受信部38は、安全入力装置18からの入力メッセージの受信と、安全出力装置19への出力メッセージの送信とを行う。送受信部38は、安全入力装置18と第1メモリ領域12Aおよび第2メモリ領域12Bとの間の入力メッセージの転送と、安全出力装置19と第1メモリ領域12Aおよび第2メモリ領域12Bとの間の出力メッセージの転送とを行う。   The processor 31 includes an execution control unit 32, a result matching unit 33, a control calculation unit 34, a message processing unit 35, a calculation diagnosis unit 36, an abnormality processing unit 37, and a transmission / reception unit 38. The transmission / reception unit 38 receives an input message from the safety input device 18 and transmits an output message to the safety output device 19. The transmission / reception unit 38 transfers the input message between the safety input device 18 and the first memory region 12A and the second memory region 12B, and between the safety output device 19 and the first memory region 12A and the second memory region 12B. The output message is transferred.

メッセージ処理部35は、入力メッセージ処理および出力メッセージ処理を実施する。メッセージ処理部35は、入力メッセージ処理として、入力メッセージに付与されている冗長符号を復号して検査する。メッセージ処理部35は、出力メッセージ処理として、出力データに冗長符号を付与し出力メッセージを生成する。   The message processing unit 35 performs input message processing and output message processing. The message processing unit 35 decodes and inspects the redundant code assigned to the input message as input message processing. As an output message process, the message processing unit 35 adds a redundant code to the output data and generates an output message.

制御演算部34は、メッセージ処理部35からの入力メッセージに含まれる入力データについて、制御演算を実施する。制御演算部34は、例えば安全制御ロジックを実行する。実行制御部32は、第1メモリ領域12Aに書き込まれた入力メッセージについての第1処理過程と、第2メモリ領域12Bに書き込まれた入力メッセージについての第2処理過程とを実行する。   The control calculation unit 34 performs control calculation on the input data included in the input message from the message processing unit 35. The control calculation unit 34 executes, for example, safety control logic. The execution control unit 32 executes a first process for the input message written in the first memory area 12A and a second process for the input message written in the second memory area 12B.

結果照合部33は、第1処理過程において第1メモリ領域12Aに書き込まれた出力メッセージと、第2処理過程において第2メモリ領域12Bに書き込まれた出力メッセージとを照合する。   The result collating unit 33 collates the output message written in the first memory area 12A in the first process and the output message written in the second memory area 12B in the second process.

演算診断部36は、プロセッサ31およびメモリ12の故障の有無を演算により診断する。演算診断部36によるプロセッサ31およびメモリ12の診断には、例えば、テストパターンを用いる。   The arithmetic diagnosis unit 36 diagnoses the presence or absence of a failure in the processor 31 and the memory 12 by calculation. For example, a test pattern is used for diagnosis of the processor 31 and the memory 12 by the arithmetic diagnosis unit 36.

異常処理部37は、入力データおよび出力データの冗長検査、結果照合部33における照合、および演算診断部36における診断の少なくともいずれかにおいて異常が検出された場合に、出力メッセージの出力を停止させる。   The abnormality processing unit 37 stops the output message output when an abnormality is detected in at least one of the redundancy check of the input data and the output data, the verification in the result verification unit 33, and the diagnosis in the arithmetic diagnosis unit 36.

次に、安全コントローラの動作手順を説明する。送受信部38は、入力データに冗長符号が付与された入力メッセージを、安全入力装置18から読み込む。送受信部38は、読み込んだ入力メッセージを第1メモリ領域12Aおよび第2メモリ領域12Bに書き込む。   Next, the operation procedure of the safety controller will be described. The transmission / reception unit 38 reads from the safety input device 18 an input message in which a redundant code is added to the input data. The transmission / reception unit 38 writes the read input message in the first memory area 12A and the second memory area 12B.

メッセージ処理部35は、送受信部38で読み込まれた入力メッセージに対し、入力メッセージ処理を実施する。メッセージ処理部35は、第1処理過程において、入力メッセージに付随する冗長符号を復号し、冗長検査を実施する。メッセージ処理部35は、入力メッセージに含まれる入力データおよびヘッダ情報をチェックする。実行制御部32は、メッセージ処理部35での入力メッセージ処理を経た入力メッセージを第1メモリ領域12Aに書き込む。   The message processing unit 35 performs input message processing on the input message read by the transmission / reception unit 38. In the first process, the message processing unit 35 decodes a redundant code accompanying the input message and performs a redundancy check. The message processing unit 35 checks input data and header information included in the input message. The execution control unit 32 writes the input message that has undergone the input message processing in the message processing unit 35 in the first memory area 12A.

実行制御部32は、第1処理過程において、第1メモリ領域12Aから読み出した入力メッセージを制御演算部34へ送る。制御演算部34は、入力メッセージに含まれる入力データの制御演算、例えば安全制御ロジックを実施する。実行制御部32は、制御演算部34での制御演算を経た入力データを、出力データとして第1メモリ領域12Aに書き込む。   The execution control unit 32 sends the input message read from the first memory area 12A to the control calculation unit 34 in the first process. The control calculation unit 34 performs control calculation of input data included in the input message, for example, safety control logic. The execution control unit 32 writes the input data that has undergone the control calculation in the control calculation unit 34 as output data in the first memory area 12A.

実行制御部32は、第1処理過程において、第1メモリ領域12Aから読み出した出力データをメッセージ処理部35へ送る。メッセージ処理部35は、第1メモリ領域12Aから読み出した出力データに対して、出力メッセージ処理を実施する。メッセージ処理部35は、出力データを基に冗長符号を算出し、出力データに冗長符号を付与する。実行制御部32は、冗長符号が付与された出力データを、出力メッセージとして、第1メモリ領域12Aに書き込む。実行制御部32は、第1処理過程において、入力メッセージ処理、制御演算、出力メッセージ処理を実行し、その結果を第1メモリ領域12Aに随時記録する。   The execution control unit 32 sends the output data read from the first memory area 12A to the message processing unit 35 in the first processing step. The message processing unit 35 performs output message processing on the output data read from the first memory area 12A. The message processing unit 35 calculates a redundant code based on the output data, and gives the redundant code to the output data. The execution control unit 32 writes the output data to which the redundant code is assigned as an output message in the first memory area 12A. The execution control unit 32 executes input message processing, control calculation, and output message processing in the first processing step, and records the results in the first memory area 12A as needed.

次に、メッセージ処理部35は、第2処理過程において、入力メッセージに付随する冗長符号を復号し、冗長検査を実施する。メッセージ処理部35は、入力メッセージに含まれる入力データおよびヘッダ情報をチェックする。実行制御部32は、メッセージ処理部35での入力メッセージ処理を経た入力メッセージを第2メモリ領域12Bに書き込む。   Next, in the second process, the message processing unit 35 decodes a redundant code associated with the input message and performs a redundancy check. The message processing unit 35 checks input data and header information included in the input message. The execution control unit 32 writes the input message that has undergone the input message processing in the message processing unit 35 into the second memory area 12B.

実行制御部32は、第2処理過程において、第2メモリ領域12Bから読み出した入力メッセージを制御演算部34へ送る。制御演算部34は、入力メッセージに含まれる入力データの制御演算、例えば安全制御ロジックを実施する。実行制御部32は、制御演算部34での制御演算を経た入力データを、出力データとして第2メモリ領域12Bに書き込む。   The execution control unit 32 sends the input message read from the second memory area 12B to the control calculation unit 34 in the second processing step. The control calculation unit 34 performs control calculation of input data included in the input message, for example, safety control logic. The execution control unit 32 writes the input data that has undergone the control calculation in the control calculation unit 34 as output data in the second memory area 12B.

実行制御部32は、第2処理過程において、第2メモリ領域12Bから読み出した出力データをメッセージ処理部35へ送る。メッセージ処理部35は、第2メモリ領域12Bから読み出した出力データに対して、出力メッセージ処理を実施する。メッセージ処理部35は、出力データを基に冗長符号を算出する。メッセージ処理部35は、出力データに冗長符号が付与された出力メッセージを生成する。実行制御部32は、メッセージ処理部35で生成された出力メッセージを、第2メモリ領域12Bに書き込む。実行制御部32は、第2処理過程において、入力メッセージ処理、制御演算、出力メッセージ処理を実行し、その結果を第2メモリ領域12Bに随時記録する。   The execution control unit 32 sends the output data read from the second memory area 12B to the message processing unit 35 in the second processing step. The message processing unit 35 performs output message processing on the output data read from the second memory area 12B. The message processing unit 35 calculates a redundant code based on the output data. The message processing unit 35 generates an output message in which a redundant code is added to the output data. The execution control unit 32 writes the output message generated by the message processing unit 35 in the second memory area 12B. The execution control unit 32 executes input message processing, control calculation, and output message processing in the second processing step, and records the results in the second memory area 12B as needed.

結果照合部33は、第1メモリ領域12Aに書き込まれた出力メッセージと、第2メモリ領域12Bに書き込まれた出力メッセージとを比較照合する。異常処理部37は、入力データおよび出力データの冗長検査、結果照合部33における照合、および演算診断部36における診断の少なくともいずれかにおいて異常が検出された場合に、出力メッセージの出力を停止させる。   The result collation unit 33 compares and collates the output message written in the first memory area 12A and the output message written in the second memory area 12B. The abnormality processing unit 37 stops the output message output when an abnormality is detected in at least one of the redundancy check of the input data and the output data, the verification in the result verification unit 33, and the diagnosis in the arithmetic diagnosis unit 36.

実施の形態6においても、安全コントローラは、実施の形態1と同様、一重の回路構成として簡易かつ低コストを実現できる。   Also in the sixth embodiment, the safety controller can realize a simple and low cost as a single circuit configuration as in the first embodiment.

実施の形態7.
図7は、本発明の実施の形態7にかかる安全入力装置を備える安全コントローラの構成を示すブロック図である。安全コントローラは、安全入力装置40、安全演算装置50および安全出力装置19を備える。
Embodiment 7 FIG.
FIG. 7: is a block diagram which shows the structure of the safety controller provided with the safety input device concerning Embodiment 7 of this invention. The safety controller includes a safety input device 40, a safety calculation device 50, and a safety output device 19.

安全演算装置50は、安全制御のための演算処理を実施する。安全入力装置40は、安全コントローラへの入力信号の入力を受け付ける。安全出力装置19は、安全コントローラから外部へ出力信号を出力する。安全入力装置40、安全演算装置50および安全出力装置19は、バス20を介して互いに内部接続されている。   The safety arithmetic device 50 performs arithmetic processing for safety control. The safety input device 40 receives an input signal input to the safety controller. The safety output device 19 outputs an output signal from the safety controller to the outside. The safety input device 40, the safety calculation device 50, and the safety output device 19 are internally connected to each other via the bus 20.

安全入力装置40は、入力部41、プロセッサ42およびメモリ43を有する。入力部41は、安全入力装置40への入力信号を数値化し、入力データとする。プロセッサ42は、入力部41からの入力データのプログラム処理を実施する。メモリ43は、プロセッサ42へ入力される入力データを保持する。   The safety input device 40 includes an input unit 41, a processor 42, and a memory 43. The input unit 41 digitizes an input signal to the safety input device 40 and uses it as input data. The processor 42 performs program processing of input data from the input unit 41. The memory 43 holds input data input to the processor 42.

メモリ43は、互いに独立した第1メモリ領域43Aおよび第2メモリ領域43Bを有する。第2メモリ領域43Bは、第1メモリ領域43Aとはアドレスが異なる。第1メモリ領域43Aおよび第2メモリ領域43Bは、いずれも入力データを保持可能とされている。   The memory 43 has a first memory area 43A and a second memory area 43B that are independent of each other. The second memory area 43B has an address different from that of the first memory area 43A. Both the first memory area 43A and the second memory area 43B can hold input data.

プロセッサ42は、入力演算部44、入力診断部45、メッセージ処理部46、実行制御部47、結果照合部48および送信部49を有する。入力演算部44は、入力部41からの入力データに対する演算処理を実施する。入力診断部45は、入力部41へのテスト信号の送信によって、入力部41の異常の有無を診断する。   The processor 42 includes an input calculation unit 44, an input diagnosis unit 45, a message processing unit 46, an execution control unit 47, a result matching unit 48, and a transmission unit 49. The input calculation unit 44 performs calculation processing on the input data from the input unit 41. The input diagnosis unit 45 diagnoses whether there is an abnormality in the input unit 41 by transmitting a test signal to the input unit 41.

メッセージ処理部46は、入力メッセージ処理として、入力データに冗長符号および付帯情報を付与する。これにより、メッセージ処理部46は、安全演算装置50に対する入力メッセージを生成する。   The message processing unit 46 adds a redundant code and incidental information to the input data as input message processing. As a result, the message processing unit 46 generates an input message for the safety calculation device 50.

実行制御部47は、第1メモリ領域43Aへの入力メッセージの書き込みを含む第1処理過程と、第2メモリ領域43Bへの入力メッセージの書き込みを含む第2処理過程と、を実行する。   The execution control unit 47 executes a first processing process including writing of an input message to the first memory area 43A and a second processing process including writing of an input message to the second memory area 43B.

結果照合部48は、第1処理過程において第1メモリ領域43Aに書き込まれた入力メッセージと、第2処理過程において第2メモリ領域43Bに書き込まれた入力メッセージとを照合する。   The result collating unit 48 collates the input message written in the first memory area 43A in the first process and the input message written in the second memory area 43B in the second process.

送信部49は、第1メモリ領域43Aに書き込まれた入力メッセージと、第2メモリ領域43Bに書き込まれた入力メッセージとのいずれかを、安全演算装置50へ送信する。   The transmission unit 49 transmits either the input message written in the first memory area 43A or the input message written in the second memory area 43B to the safety arithmetic device 50.

図8は、安全入力装置の動作手順を示すフローチャートである。入力診断部45は、入力部41に対してテスト信号を送信する(ステップS31)。入力診断部45は、入力部41の異常の有無を判断する(ステップS32)。   FIG. 8 is a flowchart showing an operation procedure of the safety input device. The input diagnosis unit 45 transmits a test signal to the input unit 41 (step S31). The input diagnosis unit 45 determines whether there is an abnormality in the input unit 41 (step S32).

入力診断部45は、入力部41において入力データの値とテスト信号とが一致するか否かを確認する。入力信号がデジタル信号である場合、入力診断部45は、入力データの現在値とはON/OFFを反転させた信号をテスト信号とする。例えば、該当する入力チャンネルの値が「ON」である場合、入力診断部45は、テスト信号としてOFF信号を送信する。入力演算部44がOFF信号を確認した場合、入力診断部45は、入力部41に異常が無いものと判断する。該当する入力チャンネルの値が「OFF」である場合、入力診断部45は、テスト信号としてON信号を送信しても良い。   The input diagnosis unit 45 checks whether or not the input data value matches the test signal in the input unit 41. When the input signal is a digital signal, the input diagnosis unit 45 uses a signal obtained by inverting ON / OFF from the current value of the input data as a test signal. For example, when the value of the corresponding input channel is “ON”, the input diagnosis unit 45 transmits an OFF signal as a test signal. When the input calculation unit 44 confirms the OFF signal, the input diagnosis unit 45 determines that there is no abnormality in the input unit 41. When the value of the corresponding input channel is “OFF”, the input diagnosis unit 45 may transmit an ON signal as a test signal.

入力信号がアナログ信号である場合、入力診断部45は、アナログ入力の範囲の幅で変動する波形をテスト信号とする。テスト信号の波形を入力演算部44が確認した場合、入力診断部45は、入力部41に異常が無いものと判断する。入力信号部45は、アナログ入力の範囲内の値を複数回に分けて入力部41へ送信しても良い。当該値を入力演算部44が確認した場合、入力診断部45は、入力部41に異常が無いものと判断する。入力診断部45は、AD変換後の各ビットのON/OFFを確認できるように、テスト信号を選択する。   When the input signal is an analog signal, the input diagnosis unit 45 uses a waveform that fluctuates within the range of the analog input range as the test signal. When the input calculation unit 44 confirms the waveform of the test signal, the input diagnosis unit 45 determines that the input unit 41 has no abnormality. The input signal unit 45 may transmit the value within the range of the analog input to the input unit 41 in a plurality of times. When the input calculation unit 44 confirms the value, the input diagnosis unit 45 determines that there is no abnormality in the input unit 41. The input diagnosis unit 45 selects a test signal so that the ON / OFF of each bit after AD conversion can be confirmed.

入力部41に異常があると入力診断部45が判断した場合(ステップS32、Yes)、送信部49は、安全演算装置50への入力メッセージの送信を停止させる(ステップS43)。安全コントローラは、動作を停止させる。   When the input diagnosis unit 45 determines that there is an abnormality in the input unit 41 (step S32, Yes), the transmission unit 49 stops the transmission of the input message to the safety arithmetic device 50 (step S43). The safety controller stops operation.

入力部41に異常が無いと入力診断部45が判断した場合(ステップS32、No)、入力部41は、複数の入力端子の信号をサンプリングして数値化する。入力部41は、数値化された入力データを取得する(ステップS33)。入力演算部44は、入力部41の各入力チャンネルについて、入力データのフィルタ処理を実施する(ステップS34)。入力演算部44は、フィルタ処理により、通過させる入力データの値(入力値)を決定する。   When the input diagnosis unit 45 determines that there is no abnormality in the input unit 41 (No in step S32), the input unit 41 samples and digitizes signals from a plurality of input terminals. The input unit 41 acquires digitized input data (step S33). The input calculation unit 44 performs input data filtering for each input channel of the input unit 41 (step S34). The input calculation unit 44 determines a value (input value) of input data to be passed by filtering.

入力信号がデジタル信号である場合、入力演算部44は、所定の周期の入力信号が同じ値となったとき、当該値を入力値として確定する。または、入力演算部44は、所定の周期の入力信号の値のうち最も頻度が高い値を、入力値として確定する。入力信号がアナログ信号である場合、入力演算部44は、入力信号の所定の周期における移動平均値を、入力値として確定する。入力演算部44は、入力信号の所定の周期の中で急変した値を除去してから、入力値を確定しても良い。   When the input signal is a digital signal, the input calculation unit 44 determines the value as an input value when the input signal having a predetermined period has the same value. Alternatively, the input calculation unit 44 determines a value having the highest frequency among the values of the input signal having a predetermined period as the input value. When the input signal is an analog signal, the input calculation unit 44 determines the moving average value of the input signal in a predetermined cycle as the input value. The input calculation unit 44 may determine the input value after removing a value that has changed suddenly in a predetermined cycle of the input signal.

メッセージ処理部46は、入力演算部44からの入力データに冗長符号および付帯情報を付与する。冗長符号は、例えばCRCとする。付帯情報は、例えばヘッダ情報とする。メッセージ処理部46は、入力データに冗長符号およびヘッダ情報が付与された入力メッセージ(第1入力メッセージ)を生成する(ステップS35)。   The message processing unit 46 adds a redundant code and incidental information to the input data from the input calculation unit 44. The redundant code is, for example, CRC. The incidental information is header information, for example. The message processing unit 46 generates an input message (first input message) in which redundant code and header information are added to the input data (step S35).

メッセージ処理部46は、入力データの通信ヘッダに、ヘッダ情報として送受信局情報やメッセージ番号を付与する。メッセージ処理部46は、ヘッダ情報およびペイロード(入力データ)についてCRC符号を算出する。メッセージ処理部46は、算出されたCRC符号をペイロードに追加する。   The message processing unit 46 adds transmission / reception station information and a message number as header information to the communication header of the input data. The message processing unit 46 calculates a CRC code for the header information and payload (input data). The message processing unit 46 adds the calculated CRC code to the payload.

安全演算装置50は、CRC符号を再計算することで、入力メッセージのビット化けを検出することができる。また、安全演算装置50は、ヘッダ情報を確認することで、受け付けた入力メッセージが受信すべき入力メッセージであるか否かを判断することができる。   The safety arithmetic unit 50 can detect bit corruption of the input message by recalculating the CRC code. Further, the safety arithmetic device 50 can determine whether or not the received input message is an input message to be received by checking the header information.

実行制御部47は、メッセージ処理部46からの第1入力メッセージを、第1メモリ領域43Aに書き込む(ステップS36)。第1処理過程は、ステップS33からステップS35までの処理過程とする。第1メモリ領域43Aは、第1入力メッセージを格納する以外に、第1処理過程における変数等の記憶領域としても機能する。   The execution control unit 47 writes the first input message from the message processing unit 46 in the first memory area 43A (step S36). The first process is a process from step S33 to step S35. In addition to storing the first input message, the first memory area 43A also functions as a storage area for variables in the first process.

次に、入力演算部44は、ステップS34と同様に、入力部41の各入力チャンネルについて、入力データのフィルタ処理を実施する(ステップS37)。メッセージ処理部46は、ステップS35と同様に、入力演算部44からの入力データに冗長符号およびヘッダ情報を付与する。メッセージ処理部46は、入力データに冗長符号およびヘッダ情報が付与された入力メッセージ(第2入力メッセージ)を生成する(ステップS38)。   Next, similarly to step S34, the input calculation unit 44 performs a filtering process on the input data for each input channel of the input unit 41 (step S37). The message processing unit 46 adds the redundant code and header information to the input data from the input calculation unit 44 as in step S35. The message processing unit 46 generates an input message (second input message) in which redundant code and header information are added to the input data (step S38).

実行制御部47は、メッセージ処理部46からの第2入力メッセージを、第2メモリ領域43Bに書き込む(ステップS39)。第2処理過程は、ステップS37からステップS39までの処理過程とする。第2メモリ領域43Bは、第2入力メッセージを格納する以外に、第2処理過程における変数等の記憶領域としても機能する。   The execution control unit 47 writes the second input message from the message processing unit 46 in the second memory area 43B (step S39). The second process is a process from step S37 to step S39. In addition to storing the second input message, the second memory area 43B also functions as a storage area for variables and the like in the second processing step.

結果照合部48は、第1メモリ領域43Aから第1入力メッセージを読み出す。結果照合部48は、第2メモリ領域43Bから第2入力メッセージを読み出す。結果照合部48は、それぞれ読み出された第1入力メッセージと第2入力メッセージとを比較照合する(ステップS40)。   The result matching unit 48 reads the first input message from the first memory area 43A. The result matching unit 48 reads the second input message from the second memory area 43B. The result collating unit 48 compares and collates the read first input message and second input message (step S40).

結果照合部48での照合において異常が検出された場合(ステップS41、Yes)、送信部49は、安全演算装置50への入力メッセージの送信を停止させる(ステップS43)。安全コントローラは、動作を停止させる。   When an abnormality is detected in the collation by the result collation unit 48 (step S41, Yes), the transmission unit 49 stops the transmission of the input message to the safety arithmetic device 50 (step S43). The safety controller stops operation.

結果照合部48での照合において異常が無いことを確認すると(ステップS41、No)、送信部49は、第1入力メッセージまたは第2入力メッセージを安全演算装置50へ送信する(ステップS42)。送信部49は、例えば、第2メモリ領域43Bから第2入力メッセージを読み出す。送信部49は、読み出された第2入力メッセージを、安全演算装置50へ送信する。送信部49から安全演算装置50へ入力メッセージを送信すると、安全入力装置40は、ステップS31に戻り、安全コントローラへの入力信号の入力を受け付けるための動作を継続する。   When it is confirmed that there is no abnormality in the collation by the result collation unit 48 (step S41, No), the transmission unit 49 transmits the first input message or the second input message to the safety arithmetic device 50 (step S42). For example, the transmission unit 49 reads the second input message from the second memory area 43B. The transmission unit 49 transmits the read second input message to the safety calculation device 50. When the input message is transmitted from the transmission unit 49 to the safety calculation device 50, the safety input device 40 returns to step S31 and continues the operation for accepting the input of the input signal to the safety controller.

安全入力装置40は、プロセッサ42およびメモリ43のいずれにソフトウェア故障が発生した場合、結果照合部48による照合結果から、故障の発生を検出することができる。なお、安全入力装置40は、ソフトウェア故障があった場合に、動作を停止させる以外に、所定の処置を施した上で動作を継続することとしても良い。   When a software failure occurs in either the processor 42 or the memory 43, the safety input device 40 can detect the occurrence of the failure from the collation result by the result collation unit 48. The safety input device 40 may continue the operation after performing a predetermined measure in addition to stopping the operation when there is a software failure.

ソフトウェア故障は、ソフトウェア処理におけるある周期にて検出されても、次周期以降には解消されることがあり得る。安全入力装置40は、例えば、故障が検出された周期の直前の周期における入力メッセージを当該周期に適用することで、エラー扱いとせず次周期以降の処理を継続することとしても良い。安全入力装置40は、所定回数の周期にて連続して故障を検出した場合に、動作を停止させることとしても良い。   Even if a software failure is detected in a certain cycle in software processing, it may be resolved after the next cycle. For example, the safety input device 40 may apply the input message in the cycle immediately before the cycle in which the failure is detected to the cycle to continue the processing in the next cycle and not treat it as an error. The safety input device 40 may stop the operation when the failure is continuously detected at a predetermined number of cycles.

安全入力装置40は、プロセッサ42およびメモリ43のいずれかにハードウェア故障が発生した場合、結果照合部48による照合では、故障の発生を検出することが困難である。安全入力装置40は、ハードウェア故障を自己診断するために、例えば、周期の途中にて所定の診断プログラムを実施する。   When a hardware failure occurs in either the processor 42 or the memory 43, it is difficult for the safety input device 40 to detect the occurrence of the failure by the verification by the result verification unit 48. In order to self-diagnose a hardware failure, the safety input device 40 executes, for example, a predetermined diagnostic program in the middle of a cycle.

安全入力装置40は、入力部41への入力信号の範囲の全体について、入力診断部45による診断を実施する。安全入力装置40は、一重の回路構成の入力部41について、回路部品の固着やドリフトの発生による誤入力を検出することができる。安全入力装置40および安全演算装置50は、入力メッセージの冗長検査とヘッダ情報の確認を行うことで、一重の通信手段にて、入力メッセージのエラーを検出できる。安全入力装置40は、結果照合部48での入力メッセージの照合により、ソフトウェアエラーの混入を防止できる。   The safety input device 40 performs diagnosis by the input diagnosis unit 45 on the entire range of the input signal to the input unit 41. The safety input device 40 can detect an erroneous input due to the occurrence of sticking of circuit components or the occurrence of drift in the input unit 41 having a single circuit configuration. The safety input device 40 and the safety arithmetic device 50 can detect an error in the input message by a single communication means by performing a redundancy check on the input message and checking the header information. The safety input device 40 can prevent mixing of software errors by collating the input message in the result collating unit 48.

安全入力装置40は、入力部41、プロセッサ42およびメモリ43からなる一重の回路構成を採用する。実施の形態7にかかる安全入力装置40は、一重の回路構成として簡易かつ低コストを実現し、ハードウェア故障およびソフトウェア故障の両方を検出することができる。   The safety input device 40 employs a single circuit configuration including an input unit 41, a processor 42, and a memory 43. The safety input device 40 according to the seventh embodiment realizes simple and low cost as a single circuit configuration, and can detect both hardware failure and software failure.

なお、安全入力装置40のプロセッサ42の動作には、上記の実施の形態1から5におけるプロセッサ11(図1参照)と同様の動作を追加することとしても良い。   The operation of the processor 42 of the safety input device 40 may be added with the same operation as that of the processor 11 (see FIG. 1) in the first to fifth embodiments.

実施の形態8.
図9は、本発明の実施の形態8にかかる安全出力装置を備える安全コントローラの構成を示すブロック図である。安全コントローラは、安全入力装置18、安全演算装置50および安全出力装置60を備える。
Embodiment 8 FIG.
FIG. 9 is a block diagram illustrating a configuration of a safety controller including the safety output device according to the eighth embodiment of the present invention. The safety controller includes a safety input device 18, a safety calculation device 50, and a safety output device 60.

安全演算装置50は、安全制御のための演算処理を実施する。安全入力装置18は、安全コントローラへの入力信号の入力を受け付ける。安全出力装置60は、安全コントローラから外部へ出力信号を出力する。安全入力装置18、安全演算装置50および安全出力装置60は、バス20を介して互いに内部接続されている。   The safety arithmetic device 50 performs arithmetic processing for safety control. The safety input device 18 receives an input signal input to the safety controller. The safety output device 60 outputs an output signal from the safety controller to the outside. The safety input device 18, the safety calculation device 50, and the safety output device 60 are internally connected to each other via the bus 20.

安全出力装置60は、出力部61、プロセッサ62およびメモリ63を有する。プロセッサ62は、出力メッセージのプログラム処理を実施する。メモリ63は、出力メッセージに含まれる出力データを保持する。出力部61は、出力データに応じた出力信号を出力する。   The safety output device 60 includes an output unit 61, a processor 62, and a memory 63. The processor 62 performs program processing of the output message. The memory 63 holds output data included in the output message. The output unit 61 outputs an output signal corresponding to the output data.

メモリ63は、互いに独立した第1メモリ領域63Aおよび第2メモリ領域63Bを有する。第2メモリ領域63Bは、第1メモリ領域63Aとはアドレスが異なる。第1メモリ領域63Aおよび第2メモリ領域63Bは、いずれも出力データを保持可能とされている。   The memory 63 has a first memory area 63A and a second memory area 63B that are independent of each other. The second memory area 63B has an address different from that of the first memory area 63A. Both the first memory area 63A and the second memory area 63B can hold output data.

プロセッサ62は、電源遮断部64、出力診断部65、結果照合部66、出力演算部67、メッセージ処理部68、実行制御部69および受信部70を有する。受信部70は、安全演算装置50からの出力メッセージを受信する。   The processor 62 includes a power cutoff unit 64, an output diagnosis unit 65, a result collation unit 66, an output calculation unit 67, a message processing unit 68, an execution control unit 69, and a reception unit 70. The receiving unit 70 receives an output message from the safety calculation device 50.

メッセージ処理部68は、出力メッセージ処理として、出力メッセージに含まれる冗長符号および付帯情報を基に出力メッセージの内容を検査する。出力演算部67は、出力メッセージから出力データを取り出すための演算処理を実施する。実行制御部69は、第1メモリ領域63Aへの出力データの書き込みを含む第1処理過程と、第2メモリ領域63Bへの出力データの書き込みを含む第2処理過程と、を実行する。   As the output message processing, the message processing unit 68 inspects the content of the output message based on the redundant code and accompanying information included in the output message. The output calculation unit 67 performs calculation processing for extracting output data from the output message. The execution control unit 69 executes a first processing process including writing output data to the first memory area 63A and a second processing process including writing output data to the second memory area 63B.

結果照合部66は、第1処理過程において第1メモリ領域63Aに書き込まれた出力データと、第2処理過程において第2メモリ領域63Bに書き込まれた出力データとを照合する。   The result collating unit 66 collates the output data written in the first memory area 63A in the first process and the output data written in the second memory area 63B in the second process.

出力診断部65は、出力部61へのテスト信号の送信によって、出力部61の異常の有無を診断する。電源遮断部64は、出力診断部65での診断結果に応じて、出力部61への電源を遮断する。   The output diagnosis unit 65 diagnoses whether there is an abnormality in the output unit 61 by transmitting a test signal to the output unit 61. The power shutoff unit 64 shuts off the power to the output unit 61 according to the diagnosis result from the output diagnostic unit 65.

図10は、安全出力装置の動作手順を示すフローチャートである。出力診断部65は、出力部61に対してテスト信号を送信する(ステップS51)。出力診断部65は、出力部61の異常の有無を判断する(ステップS52)。   FIG. 10 is a flowchart showing an operation procedure of the safety output device. The output diagnosis unit 65 transmits a test signal to the output unit 61 (step S51). The output diagnosis unit 65 determines whether there is an abnormality in the output unit 61 (step S52).

出力診断部65は、出力部61において出力データの値とテスト信号とが一致するか否かを確認する。出力信号をデジタル信号とする場合、出力診断部65は、出力データの現在値とはON/OFFを反転させた信号をテスト信号とする。出力診断部65は、出力部61へテスト信号を出力する。   The output diagnosis unit 65 checks whether the output data value matches the test signal in the output unit 61. When the output signal is a digital signal, the output diagnosis unit 65 uses a signal obtained by inverting ON / OFF from the current value of the output data as a test signal. The output diagnosis unit 65 outputs a test signal to the output unit 61.

例えば、該当する出力端子の値が「ON」である場合、出力診断部65は、テスト信号としてOFF信号を送信する。一定時間内に出力診断部65がOFF信号を確認した場合、出力診断部65は、出力部61に異常が無いものと判断する。または、出力診断部65は、出力端子の信号を読み出し、読み出された信号の値と、期待する出力データの値とを比較する。   For example, when the value of the corresponding output terminal is “ON”, the output diagnosis unit 65 transmits an OFF signal as a test signal. When the output diagnosis unit 65 confirms the OFF signal within a certain time, the output diagnosis unit 65 determines that there is no abnormality in the output unit 61. Alternatively, the output diagnosis unit 65 reads the signal at the output terminal and compares the read signal value with the expected output data value.

出力信号をアナログ信号とする場合、出力診断部65は、DA変換器のレンジ範囲の値を複数回に分けて、出力部61へ送信する。出力診断部65は、出力部61の出力データの値を読み出して、読み出された値が誤差範囲内である場合、出力部61に異常が無いものと判断する。出力診断部65によるテストは、出力端子に接続されたデバイスが反応しない程度の短い時間内に行われるものとする。出力部61は、出力診断部65によるテスト中に、現在の出力データによる出力信号を継続して出力しても良い。   When the output signal is an analog signal, the output diagnosis unit 65 transmits the value of the range range of the DA converter to the output unit 61 in a plurality of times. The output diagnosis unit 65 reads the value of the output data of the output unit 61, and determines that the output unit 61 has no abnormality when the read value is within the error range. It is assumed that the test by the output diagnosis unit 65 is performed within a short time such that the device connected to the output terminal does not react. The output unit 61 may continuously output an output signal based on the current output data during the test by the output diagnosis unit 65.

出力部61に異常があると出力診断部65が判断した場合(ステップS52、Yes)、電源遮断部64は、出力部61の電源を遮断する(ステップS63)。出力部61の電源の遮断により、安全出力装置60は、出力部61からの出力信号を強制的にゼロとする。   When the output diagnosis unit 65 determines that there is an abnormality in the output unit 61 (step S52, Yes), the power cut-off unit 64 cuts off the power supply of the output unit 61 (step S63). The safety output device 60 forcibly sets the output signal from the output unit 61 to zero by shutting off the power supply of the output unit 61.

出力部61に異常が無いと出力診断部65が判断した場合(ステップS52、No)、受信部70は、安全演算装置50からの出力メッセージを受信する(ステップS53)。メッセージ処理部68は、受信部70が受信した出力メッセージ(第1出力メッセージ)の内容を検査する(ステップS54)。   When the output diagnosis unit 65 determines that there is no abnormality in the output unit 61 (step S52, No), the reception unit 70 receives an output message from the safety arithmetic device 50 (step S53). The message processing unit 68 inspects the content of the output message (first output message) received by the receiving unit 70 (step S54).

出力メッセージは、冗長符号および付帯情報を含む。冗長符号は、例えばCRCとする。付帯情報は、例えばヘッダ情報とする。メッセージ処理部68は、第1出力メッセージのCRC符号を再計算することで、第1出力メッセージのビット化けを検出する。また、メッセージ処理部68は、ヘッダ情報である送受信局情報やメッセージ番号を確認することで、受け付けた第1出力メッセージが、安全出力装置60が出力信号を得るべき正しい出力メッセージであるか否かを判断する。   The output message includes a redundant code and accompanying information. The redundant code is, for example, CRC. The incidental information is header information, for example. The message processing unit 68 detects bit corruption of the first output message by recalculating the CRC code of the first output message. Further, the message processing unit 68 confirms the transmission / reception station information and the message number, which are header information, to determine whether or not the received first output message is a correct output message from which the safety output device 60 should obtain an output signal. Judging.

出力演算部67は、出力部61の出力端子ごとの出力データ(第1出力データ)を、第1出力メッセージから取り出す。出力演算部67は、第1出力データのフィルタ処理を実施する(ステップS55)。出力演算部67は、所定の周期における移動平均値、または連続する同値を、フィルタ処理によって通過させる第1出力データの値(出力値)として決定する。出力演算部67は、フィルタ処理によって、出力値の振動を防止する。   The output calculation unit 67 extracts the output data (first output data) for each output terminal of the output unit 61 from the first output message. The output calculation unit 67 performs the filtering process on the first output data (step S55). The output calculation unit 67 determines the moving average value in a predetermined cycle or the continuous same value as the value (output value) of the first output data to be passed by the filtering process. The output calculation unit 67 prevents vibration of the output value by filtering.

実行制御部69は、出力演算部67からの第1出力データを、第1メモリ領域63Aに書き込む(ステップS56)。第1処理過程は、ステップS54からステップS56までの処理過程とする。第1メモリ領域63Aは、第1出力データを格納する以外に、第1処理過程における変数等の記憶領域としても機能する。   The execution control unit 69 writes the first output data from the output calculation unit 67 in the first memory area 63A (step S56). The first process is a process from step S54 to step S56. In addition to storing the first output data, the first memory area 63A also functions as a storage area for variables in the first process.

次に、メッセージ処理部68は、ステップS54と同様に、受信部70が受信した出力メッセージ(第2出力メッセージ)の内容を検査する(ステップS57)。メッセージ処理部68は、第2出力メッセージのCRC符号を再計算することで、第2出力メッセージのビット化けを検出する。また、メッセージ処理部68は、ヘッダ情報である送受信局情報やメッセージ番号を確認することで、受け付けた第2出力メッセージが、安全出力装置60が出力信号を得るべき正しい出力メッセージであるか否かを判断する。   Next, the message processing unit 68 inspects the content of the output message (second output message) received by the receiving unit 70, similarly to step S54 (step S57). The message processing unit 68 detects bit corruption in the second output message by recalculating the CRC code of the second output message. Further, the message processing unit 68 confirms the transmitting / receiving station information and the message number which are the header information, so that the received second output message is a correct output message from which the safety output device 60 should obtain the output signal. Judging.

出力演算部67は、ステップS55と同様に、出力部61の出力端子ごとの出力データ(第2出力データ)を、第2出力メッセージから取り出す。出力演算部67は、第2出力データのフィルタ処理を実施する(ステップS58)。   Similarly to step S55, the output calculation unit 67 extracts the output data (second output data) for each output terminal of the output unit 61 from the second output message. The output calculation unit 67 performs the filtering process on the second output data (step S58).

実行制御部69は、出力演算部67からの第2出力データを、第2メモリ領域63Bに書き込む(ステップS59)。第2処理過程は、ステップS57からステップS59までの処理過程とする。第2メモリ領域63Bは、第2出力データを格納する以外に、第2処理過程における変数等の記憶領域としても機能する。   The execution control unit 69 writes the second output data from the output calculation unit 67 in the second memory area 63B (step S59). The second process is a process from step S57 to step S59. In addition to storing the second output data, the second memory area 63B also functions as a storage area for variables and the like in the second processing step.

結果照合部66は、第1メモリ領域63Aから第2出力データを読み出す。結果照合部66は、第2メモリ領域63Bから第2出力データを読み出す。結果照合部66は、それぞれ読み出された第1出力データと第2出力データとを比較照合する(ステップS60)。   The result matching unit 66 reads the second output data from the first memory area 63A. The result matching unit 66 reads the second output data from the second memory area 63B. The result collation unit 66 compares and collates the read first output data and second output data (step S60).

結果照合部66での照合において異常が検出された場合(ステップS61、Yes)、電源遮断部64は、出力部61の電源を遮断する(ステップS63)。出力部61の電源の遮断により、安全出力装置60は、出力部61からの出力信号を強制的にゼロとする。   When abnormality is detected in the collation by the result collation unit 66 (step S61, Yes), the power shutoff unit 64 shuts off the power supply of the output unit 61 (step S63). The safety output device 60 forcibly sets the output signal from the output unit 61 to zero by shutting off the power supply of the output unit 61.

結果照合部66での照合において異常が無いことを確認すると(ステップS61、No)、出力部61は、第1出力データまたは第2出力データに基づく出力信号を出力する(ステップS62)。出力部61が出力信号を出力すると、安全出力装置60は、ステップS51に戻り、出力信号を出力するための動作を継続する。   When it is confirmed that there is no abnormality in the collation by the result collating unit 66 (No at Step S61), the output unit 61 outputs an output signal based on the first output data or the second output data (Step S62). When the output unit 61 outputs the output signal, the safety output device 60 returns to step S51 and continues the operation for outputting the output signal.

安全出力装置60は、プロセッサ62およびメモリ63のいずれにソフトウェア故障が発生した場合、結果照合部66による照合結果から、故障の発生を検出することができる。なお、安全出力装置60は、ソフトウェア故障があった場合に、動作を停止させる以外に、所定の処置を施した上で動作を継続することとしても良い。   The safety output device 60 can detect the occurrence of a failure from the collation result by the result collation unit 66 when a software fault occurs in either the processor 62 or the memory 63. The safety output device 60 may continue the operation after performing a predetermined measure in addition to stopping the operation when there is a software failure.

ソフトウェア故障は、ソフトウェア処理におけるある周期にて検出されても、次周期以降には解消されることがあり得る。安全出力装置60は、例えば、故障が検出された周期の直前の周期における出力データを当該周期に適用することで、エラー扱いとせず次周期以降の処理を継続することとしても良い。安全出力装置60は、所定回数の周期にて連続して故障を検出した場合に、動作を停止させることとしても良い。   Even if a software failure is detected in a certain cycle in software processing, it may be resolved after the next cycle. For example, the safety output device 60 may continue the processing after the next cycle without treating it as an error by applying the output data in the cycle immediately before the cycle in which the failure is detected to the cycle. The safety output device 60 may stop the operation when the failure is continuously detected at a predetermined number of cycles.

安全出力装置60は、プロセッサ62およびメモリ63のいずれかにハードウェア故障が発生した場合、結果照合部66による照合では、故障の発生を検出することが困難である。安全出力装置60は、ハードウェア故障を自己診断するために、例えば、周期の途中にて所定の診断プログラムを実施する。   When a hardware failure occurs in either the processor 62 or the memory 63, it is difficult for the safety output device 60 to detect the occurrence of the failure by the verification by the result verification unit 66. In order to self-diagnose a hardware failure, the safety output device 60 executes a predetermined diagnostic program in the middle of a cycle, for example.

安全出力装置60は、出力部61の出力レンジの全体について、出力診断部65による診断を実施する。安全出力装置60は、一重の回路構成の出力部61について、回路部品の固着やドリフトの発生による誤出力を検出することができる。安全出力装置60および安全演算装置50は、出力メッセージの冗長検査とヘッダ情報の確認を行うことで、一重の通信手段にて、出力メッセージのエラーを検出できる。安全出力装置60は、結果照合部66での出力データの照合により、ソフトウェアエラーの混入を防止できる。   The safety output device 60 performs diagnosis by the output diagnosis unit 65 for the entire output range of the output unit 61. The safety output device 60 can detect an erroneous output due to the occurrence of sticking of circuit components or the occurrence of drift in the output unit 61 having a single circuit configuration. The safety output device 60 and the safety arithmetic device 50 can detect an error in the output message by a single communication means by performing redundancy check of the output message and confirmation of the header information. The safety output device 60 can prevent software errors from being mixed by collating output data in the result collating unit 66.

安全出力装置60は、出力部61、プロセッサ62およびメモリ63からなる一重の回路構成を採用する。実施の形態8にかかる安全出力装置60は、一重の回路構成として簡易かつ低コストを実現し、ハードウェア故障およびソフトウェア故障の両方を検出することができる。   The safety output device 60 employs a single circuit configuration including an output unit 61, a processor 62, and a memory 63. The safety output device 60 according to the eighth embodiment realizes simple and low cost as a single circuit configuration, and can detect both hardware failure and software failure.

なお、安全出力装置60のプロセッサ62の動作には、上記の実施の形態1から5におけるプロセッサ11(図1参照)と同様の動作を追加することとしても良い。   The operation of the processor 62 of the safety output device 60 may be added with the same operation as that of the processor 11 (see FIG. 1) in the first to fifth embodiments.

実施の形態9.
図11は、本発明の実施の形態9にかかる安全コントローラの構成を示すブロック図である。安全コントローラは、安全入力装置18、安全演算装置10、安全出力装置19、ゲートウェイ80およびエンジニアリングツール81を有する。安全演算装置10は、例えば、実施の形態1にかかる安全演算装置10とする。
Embodiment 9 FIG.
FIG. 11 is a block diagram showing the configuration of the safety controller according to the ninth embodiment of the present invention. The safety controller includes a safety input device 18, a safety arithmetic device 10, a safety output device 19, a gateway 80, and an engineering tool 81. The safety calculation device 10 is, for example, the safety calculation device 10 according to the first embodiment.

エンジニアリングツール81は、例えば、PLCシステム等で動作させるシーケンスプログラムを編集するツールである。エンジニアリングツール81は、例えば、エンジニアリングツールソフトウェアがインストールされたパーソナルコンピュータなどで実現される。   The engineering tool 81 is a tool for editing a sequence program that is operated by a PLC system or the like, for example. The engineering tool 81 is realized by, for example, a personal computer in which engineering tool software is installed.

安全演算装置10、安全入力装置18および安全出力装置19は、バス20を介して互いに内部接続されている。エンジニアリングツール81は、ゲートウェイ80を介してバス20に接続されている。スイッチおよびセンサ83は、安全入力装置18の入力部に接続されている。アクチュエータおよびコンタクタ84は、安全出力装置19の出力部に接続されている。   The safety arithmetic device 10, the safety input device 18 and the safety output device 19 are internally connected to each other via a bus 20. The engineering tool 81 is connected to the bus 20 via the gateway 80. The switch and sensor 83 are connected to the input unit of the safety input device 18. The actuator and contactor 84 are connected to the output part of the safety output device 19.

エンジニアリングツール81は、安全演算装置10の安全制御プログラムや設定パラメータの変更あるいは書き込みを行う。安全コントローラは、安全演算装置10を適用することで、二重化されたハードウェア構造を採用しなくても、ハードウェア故障およびソフトウェア故障の両方を検出することができる。安全コントローラは、一重の回路構成として簡易かつ低コストを実現できる。   The engineering tool 81 changes or writes the safety control program and setting parameters of the safety arithmetic device 10. The safety controller can detect both a hardware failure and a software failure by adopting the safety arithmetic device 10 without adopting a redundant hardware structure. The safety controller can realize a simple and low cost as a single circuit configuration.

安全コントローラの動作には、上記の実施の形態2から5にかかる安全コントローラと同様の動作を追加することとしても良い。安全コントローラは、実施の形態6にかかる安全演算装置30(図6参照)を適用しても良い。   The same operation as that of the safety controller according to the second to fifth embodiments may be added to the operation of the safety controller. The safety controller 30 (see FIG. 6) according to the sixth embodiment may be applied to the safety controller.

安全コントローラは、実施の形態7にかかる安全入力装置40(図7参照)を適用しても良い。この場合、エンジニアリングツール81は、安全入力装置40に対し、入力データのフィルタ処理の条件や、入力診断の条件を指定する。この場合も、安全コントローラは、一重の回路構成として簡易かつ低コストを実現できる。   As the safety controller, the safety input device 40 (see FIG. 7) according to the seventh embodiment may be applied. In this case, the engineering tool 81 designates input data filtering processing conditions and input diagnosis conditions for the safety input device 40. In this case as well, the safety controller can realize a simple and low cost as a single circuit configuration.

安全コントローラは、実施の形態8にかかる安全出力装置60(図9参照)を適用しても良い。この場合、エンジニアリングツール81は、安全出力装置60に対し、出力データのフィルタ処理の条件や、出力診断の条件を指定する。この場合も、安全コントローラは、一重の回路構成として簡易かつ低コストを実現できる。   As the safety controller, the safety output device 60 (see FIG. 9) according to the eighth embodiment may be applied. In this case, the engineering tool 81 designates conditions for output data filtering processing and conditions for output diagnosis to the safety output device 60. In this case as well, the safety controller can realize a simple and low cost as a single circuit configuration.

安全コントローラは、例えば、実施の形態6にかかる安全演算装置30、実施の形態7にかかる安全入力装置40、および実施の形態8にかかる安全出力装置60を組み合わせたものとしても良い。   The safety controller may be, for example, a combination of the safety arithmetic device 30 according to the sixth embodiment, the safety input device 40 according to the seventh embodiment, and the safety output device 60 according to the eighth embodiment.

実施の形態10.
図12は、本発明の実施の形態10にかかる安全コントローラの構成を示すブロック図である。実施の形態9と同一の部分には同一の符号を付し、重複する説明を適宜省略する。
Embodiment 10 FIG.
FIG. 12 is a block diagram showing a configuration of the safety controller according to the tenth embodiment of the present invention. The same parts as those in the ninth embodiment are denoted by the same reference numerals, and repeated description will be omitted as appropriate.

安全コントローラは、安全入力装置18、安全演算装置10、安全出力装置19、ネットワーク接続装置85およびエンジニアリングツール81を有する。安全演算装置10は、例えば、実施の形態1にかかる安全演算装置10とする。安全演算装置10、安全入力装置18、安全出力装置19およびエンジニアリングツール81は、ネットワーク接続装置85を介して互いに接続されている。   The safety controller includes a safety input device 18, a safety arithmetic device 10, a safety output device 19, a network connection device 85, and an engineering tool 81. The safety calculation device 10 is, for example, the safety calculation device 10 according to the first embodiment. The safety arithmetic device 10, the safety input device 18, the safety output device 19, and the engineering tool 81 are connected to each other via a network connection device 85.

エンジニアリングツール81は、安全演算装置10の安全制御プログラムや設定パラメータの変更あるいは書き込みを行う。安全コントローラは、安全演算装置10を適用することで、二重化されたハードウェア構造を採用しなくても、ハードウェア故障およびソフトウェア故障の両方を検出することができる。安全コントローラは、一重の回路構成として簡易かつ低コストを実現できる。   The engineering tool 81 changes or writes the safety control program and setting parameters of the safety arithmetic device 10. The safety controller can detect both a hardware failure and a software failure by adopting the safety arithmetic device 10 without adopting a redundant hardware structure. The safety controller can realize a simple and low cost as a single circuit configuration.

安全コントローラの動作には、上記の実施の形態2から5にかかる安全コントローラと同様の動作を追加することとしても良い。安全コントローラは、実施の形態6にかかる安全演算装置30(図6参照)を適用しても良い。   The same operation as that of the safety controller according to the second to fifth embodiments may be added to the operation of the safety controller. The safety controller 30 (see FIG. 6) according to the sixth embodiment may be applied to the safety controller.

安全コントローラは、実施の形態7にかかる安全入力装置40(図7参照)を適用しても良い。この場合、エンジニアリングツール81は、安全入力装置40に対し、入力データのフィルタ処理の条件や、入力診断の条件を指定する。この場合も、安全コントローラは、一重の回路構成として簡易かつ低コストを実現できる。   As the safety controller, the safety input device 40 (see FIG. 7) according to the seventh embodiment may be applied. In this case, the engineering tool 81 designates input data filtering processing conditions and input diagnosis conditions for the safety input device 40. In this case as well, the safety controller can realize a simple and low cost as a single circuit configuration.

安全コントローラは、実施の形態8にかかる安全出力装置60(図9参照)を適用しても良い。この場合、エンジニアリングツール81は、安全出力装置60に対し、出力データのフィルタ処理の条件や、出力診断の条件を指定する。この場合も、安全コントローラは、一重の回路構成として簡易かつ低コストを実現できる。   As the safety controller, the safety output device 60 (see FIG. 9) according to the eighth embodiment may be applied. In this case, the engineering tool 81 designates conditions for output data filtering processing and conditions for output diagnosis to the safety output device 60. In this case as well, the safety controller can realize a simple and low cost as a single circuit configuration.

安全コントローラは、例えば、実施の形態6にかかる安全演算装置30、実施の形態7にかかる安全入力装置40、および実施の形態8にかかる安全出力装置60を組み合わせたものとしても良い。   The safety controller may be, for example, a combination of the safety arithmetic device 30 according to the sixth embodiment, the safety input device 40 according to the seventh embodiment, and the safety output device 60 according to the eighth embodiment.

本発明の安全コントローラは、機械や設備の安全制御を担う安全コントローラとして有用である。   The safety controller of the present invention is useful as a safety controller responsible for safety control of machines and facilities.

11 プロセッサ、12 メモリ、12A 第1メモリ領域、12B 第2メモリ領域、13 実行制御部、14 結果照合部、15 演算診断部、16 異常処理部、17 入出力処理部、18 安全入力装置、19 安全出力装置、20 バス、30 安全演算装置、31 プロセッサ、32 実行制御部、33 結果照合部、34 制御演算部、35 メッセージ処理部、36 演算診断部、37 異常処理部、38 送受信部、40 安全入力装置、41 入力部、42 プロセッサ、43 メモリ、43A 第1メモリ領域、43B 第2メモリ領域、44 入力演算部、45 入力診断部、46 メッセージ処理部、47 実行制御部、48 結果照合部、49 送信部、50 安全演算装置、60 安全出力装置、61 出力部、62 プロセッサ、63 メモリ、63A 第1メモリ領域、63B 第2メモリ領域、64 電源遮断部、65 出力診断部、66 結果照合部、67 出力演算部、68 メッセージ処理部、69 実行制御部、70 受信部、80 ゲートウェイ、81 エンジニアリングツール、83 スイッチおよびセンサ、84 アクチュエータおよびコンタクタ、85 ネットワーク接続装置。   DESCRIPTION OF SYMBOLS 11 Processor, 12 memory, 12A 1st memory area, 12B 2nd memory area, 13 Execution control part, 14 Result collation part, 15 Computation diagnostic part, 16 Abnormality processing part, 17 Input / output processing part, 18 Safety input device, 19 Safety output device, 20 bus, 30 safety arithmetic device, 31 processor, 32 execution control unit, 33 result verification unit, 34 control arithmetic unit, 35 message processing unit, 36 arithmetic diagnosis unit, 37 abnormality processing unit, 38 transmission / reception unit, 40 Safety input device, 41 input section, 42 processor, 43 memory, 43A first memory area, 43B second memory area, 44 input calculation section, 45 input diagnosis section, 46 message processing section, 47 execution control section, 48 result verification section , 49 Transmitter, 50 Safety arithmetic device, 60 Safety output device, 61 Output unit, 62 Processor, 6 Memory, 63A First memory area, 63B Second memory area, 64 Power shut-off section, 65 Output diagnosis section, 66 Result collation section, 67 Output calculation section, 68 Message processing section, 69 Execution control section, 70 Receiving section, 80 Gateway , 81 Engineering tools, 83 Switches and sensors, 84 Actuators and contactors, 85 Network connection devices.

上述した課題を解決し、目的を達成するために、本発明は、入力データのプログラム処理を実施するプロセッサと、前記プロセッサへ入力される前記入力データ、および前記プログラム処理の結果である出力データを保持するメモリと、を有し、前記メモリは、第1メモリ領域と、前記第1メモリ領域とは異なるアドレスの第2メモリ領域と、のそれぞれに、前記入力データおよび前記出力データを保持可能であって、前記プロセッサは、前記第1メモリ領域に書き込まれた前記入力データの冗長検査および前記プログラム処理と、前記プログラム処理の結果として前記第1メモリ領域に書き込まれた前記出力データへの冗長符号の付与と、を含む第1処理過程と、前記第2メモリ領域に書き込まれた前記入力データの冗長検査および前記プログラム処理と、前記プログラム処理の結果として前記第2メモリ領域に書き込まれた前記出力データへの冗長符号の付与と、を含む第2処理過程と、を実行する実行制御部と、前記第1処理過程における前記冗長符号の付与を経た前記出力データと、前記第2処理過程における前記冗長符号の付与を経た前記出力データとを照合する結果照合部と、前記プロセッサおよび前記メモリの故障の有無を演算によって診断する演算診断部と、前記実行制御部における前記入力データの前記冗長検査、前記結果照合部における照合、および前記演算診断部における診断の少なくともいずれかにおいて異常が検出された場合に、前記出力データの出力を停止させる異常処理部と、を有することを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention provides a processor that performs program processing of input data, the input data that is input to the processor, and output data that is a result of the program processing. And the memory can hold the input data and the output data in each of a first memory area and a second memory area having an address different from the first memory area. The processor includes a redundancy check of the input data written in the first memory area and the program processing, and a redundancy code for the output data written in the first memory area as a result of the program processing. the first process and the second of said input data written in the memory area redundancy check and the flop including a grant, the An execution control unit that executes a second processing step including: a gram processing; and a redundant code added to the output data written in the second memory area as a result of the program processing; A result collating unit that collates the output data that has been given the redundant code in the process and the output data that has been given the redundant code in the second processing process, and calculates whether the processor and the memory are faulty and calculating diagnostic unit for diagnosing by the redundancy check of the input data in the execution control unit, the comparison of the result verification unit, and when an abnormality is detected in at least one of diagnosis in the operation diagnosis unit, the And an abnormality processing unit for stopping output of the output data.

実行制御部13は、第1メモリ領域12Aへ書き込まれた入力データ(第1入力データ)に付随する冗長符号をチェックする(ステップS2)。冗長符号は、例えばCRC(Cyclic Redundancy Code)とする。 The execution control unit 13 checks a redundant code accompanying the input data (first input data) written in the first memory area 12A (step S2). The redundant code is, for example, CRC (Cyclic Redundancy Code ).

例えば、加算を行うALUの場合、演算対象となる2つのレジスタの各ビット(0,0),(0,1),(1,0),(1,1)の確認と、下位ビットからのキャリー演算を実施する。さらに、隣接しているメモリビット間にショートが無いことを確認するために、テストパターンとしては、隣接ビットが異なる結果となるもの(0x5555および0xAAAA)を選択する。 For example, in the case of an ALU that performs addition , confirmation of each bit (0,0), (0,1), (1,0), (1,1) of two registers to be operated and Carry calculation is performed. Furthermore, in order to confirm that there is no short between adjacent memory bits, test patterns (0x5555 and 0xAAAA) that result in different adjacent bits are selected.

入力信号がアナログ信号である場合、入力診断部45は、アナログ入力の範囲の幅で変動する波形をテスト信号とする。テスト信号の波形を入力演算部44が確認した場合、入力診断部45は、入力部41に異常が無いものと判断する。入力診断部45は、アナログ入力の範囲内の値を複数回に分けて入力部41へ送信しても良い。当該値を入力演算部44が確認した場合、入力診断部45は、入力部41に異常が無いものと判断する。入力診断部45は、AD変換後の各ビットのON/OFFを確認できるように、テスト信号を選択する。 When the input signal is an analog signal, the input diagnosis unit 45 uses a waveform that fluctuates within the range of the analog input range as the test signal. When the input calculation unit 44 confirms the waveform of the test signal, the input diagnosis unit 45 determines that the input unit 41 has no abnormality. The input diagnosis unit 45 may transmit the value within the range of the analog input to the input unit 41 in a plurality of times. When the input calculation unit 44 confirms the value, the input diagnosis unit 45 determines that there is no abnormality in the input unit 41. The input diagnosis unit 45 selects a test signal so that the ON / OFF of each bit after AD conversion can be confirmed.

メッセージ処理部46は、入力データの通信ヘッダに、ヘッダ情報として送受信局情報やメッセージ番号を付与する。メッセージ処理部46は、ヘッダ情報およびペイロード(入力データ)についてCRCを算出する。メッセージ処理部46は、算出されたCRCをペイロードに追加する。 The message processing unit 46 adds transmission / reception station information and a message number as header information to the communication header of the input data. The message processing unit 46 calculates the CR C for header information and a payload (input data). The message processing unit 46 adds the calculated CRC to the payload.

安全演算装置50は、CRCを再計算することで、入力メッセージのビット化けを検出することができる。また、安全演算装置50は、ヘッダ情報を確認することで、受け付けた入力メッセージが受信すべき入力メッセージであるか否かを判断することができる。 Safety arithmetic unit 50, by recalculating the CR C, it is possible to detect the bit error of the input message. Further, the safety arithmetic device 50 can determine whether or not the received input message is an input message to be received by checking the header information.

出力メッセージは、冗長符号および付帯情報を含む。冗長符号は、例えばCRCとする。付帯情報は、例えばヘッダ情報とする。メッセージ処理部68は、第1出力メッセージのCRCを再計算することで、第1出力メッセージのビット化けを検出する。また、メッセージ処理部68は、ヘッダ情報である送受信局情報やメッセージ番号を確認することで、受け付けた第1出力メッセージが、安全出力装置60が出力信号を得るべき正しい出力メッセージであるか否かを判断する。 The output message includes a redundant code and accompanying information. The redundant code is, for example, CRC. The incidental information is header information, for example. The message processing unit 68, by recalculating the CR C of the first output message, detects a bit error of the first output message. Further, the message processing unit 68 confirms the transmission / reception station information and the message number, which are header information, to determine whether or not the received first output message is a correct output message from which the safety output device 60 should obtain an output signal. Judging.

次に、メッセージ処理部68は、ステップS54と同様に、受信部70が受信した出力メッセージ(第2出力メッセージ)の内容を検査する(ステップS57)。メッセージ処理部68は、第2出力メッセージのCRCを再計算することで、第2出力メッセージのビット化けを検出する。また、メッセージ処理部68は、ヘッダ情報である送受信局情報やメッセージ番号を確認することで、受け付けた第2出力メッセージが、安全出力装置60が出力信号を得るべき正しい出力メッセージであるか否かを判断する。 Next, the message processing unit 68 inspects the content of the output message (second output message) received by the receiving unit 70, similarly to step S54 (step S57). The message processing unit 68, by recalculating the CR C of the second output message, detects a bit error of the second output message. Further, the message processing unit 68 confirms the transmitting / receiving station information and the message number which are the header information, so that the received second output message is a correct output message from which the safety output device 60 should obtain the output signal. Judging.

結果照合部66は、第1メモリ領域63Aから第出力データを読み出す。結果照合部66は、第2メモリ領域63Bから第2出力データを読み出す。結果照合部66は、それぞれ読み出された第1出力データと第2出力データとを比較照合する(ステップS60)。 The result matching unit 66 reads the first output data from the first memory area 63A. The result matching unit 66 reads the second output data from the second memory area 63B. The result collation unit 66 compares and collates the read first output data and second output data (step S60).

Claims (11)

入力データのプログラム処理を実施するプロセッサと、
前記プロセッサへ入力される前記入力データ、および前記プログラム処理の結果である出力データを保持するメモリと、を有し、
前記メモリは、第1メモリ領域と、前記第1メモリ領域とは異なるアドレスの第2メモリ領域と、のそれぞれに、前記入力データおよび前記出力データを保持可能であって、
前記プロセッサは、
前記第1メモリ領域に書き込まれた前記入力データの前記プログラム処理と、前記プログラム処理の結果として前記第1メモリ領域に書き込まれた前記出力データへの冗長符号の付与と、を含む第1処理過程と、前記第2メモリ領域に書き込まれた前記入力データの前記プログラム処理と、前記プログラム処理の結果として前記第2メモリ領域に書き込まれた前記出力データへの冗長符号の付与と、を含む第2処理過程と、を実行する実行制御部と、
前記第1処理過程における前記冗長符号の付与を経た前記出力データと、前記第2処理過程における前記冗長符号の付与を経た前記出力データとを照合する結果照合部と、
前記プロセッサおよび前記メモリの故障の有無を演算によって診断する演算診断部と、
前記入力データおよび前記出力データの冗長検査、前記結果照合部における照合、および前記演算診断部における診断の少なくともいずれかにおいて異常が検出された場合に、前記出力データの出力を停止させる異常処理部と、を有することを特徴とする安全演算装置。
A processor for performing program processing of input data;
A memory for holding the input data to be input to the processor and output data as a result of the program processing;
The memory can hold the input data and the output data in each of a first memory area and a second memory area having an address different from the first memory area,
The processor is
A first processing step including the program processing of the input data written to the first memory area and the provision of a redundant code to the output data written to the first memory area as a result of the program processing; And a program processing of the input data written to the second memory area, and a redundant code to the output data written to the second memory area as a result of the program processing. An execution control unit for executing the processing steps;
A result matching unit that collates the output data that has been given the redundant code in the first processing step and the output data that has been given the redundant code in the second processing step;
An operation diagnosis unit for diagnosing the presence of a failure in the processor and the memory by operation;
An abnormality processing unit for stopping the output of the output data when an abnormality is detected in at least one of the redundancy check of the input data and the output data, the verification in the result verification unit, and the diagnosis in the arithmetic diagnosis unit; A safety arithmetic device comprising:
前記実行制御部は、前記第2処理過程において、ビット反転させた前記出力データを前記第2メモリ領域に書き込み、
前記結果照合部は、前記第1メモリ領域から読み出した前記出力データと、前記第2メモリ領域から読み出した前記出力データとを、互いの排他論理和により照合することを特徴とする請求項1に記載の安全演算装置。
The execution control unit writes the output data bit-inverted in the second memory area in the second processing step,
The result collating unit collates the output data read from the first memory area and the output data read from the second memory area by mutual exclusive OR. The safety arithmetic device described.
前記実行制御部は、前記第2処理過程において、補数への変換を経た前記出力データを前記第2メモリ領域に書き込み、
前記結果照合部は、前記第1メモリ領域から読み出した前記出力データと、前記第2メモリ領域から読み出した前記出力データとを、互いの和により照合することを特徴とする請求項1に記載の安全演算装置。
The execution control unit writes the output data that has been converted into a complement into the second memory area in the second processing step,
The result collating unit collates the output data read from the first memory area and the output data read from the second memory area with each other's sum. Safety computing device.
前記実行制御部は、前記第1メモリ領域に書き込む前記出力データと前記第2メモリ領域に書き込む前記出力データとのうちの一方について、エンディアンを逆転させ、
前記結果照合部は、前記第1メモリ領域から読み出した前記出力データと前記第2メモリ領域から読み出した前記出力データとのうちの一方についてエンディアンを逆転させて、照合することを特徴とする請求項1に記載の安全演算装置。
The execution control unit reverses the endian for one of the output data to be written to the first memory area and the output data to be written to the second memory area,
The result collating unit performs collation by reversing an endian of one of the output data read from the first memory area and the output data read from the second memory area. The safety arithmetic device according to 1.
前記実行制御部は、前記第1メモリ領域から読み出した前記入力データの前記プログラム処理において、16ビット向けのコンパイラとして生成されたプログラムを使用し、かつ、前記第2メモリ領域から読み出した前記入力データの前記プログラム処理において、32ビット向けのコンパイラとして生成されたプログラムを使用することを特徴とする請求項1に記載の安全演算装置。   The execution control unit uses a program generated as a 16-bit compiler in the program processing of the input data read from the first memory area, and the input data read from the second memory area 2. The safety arithmetic apparatus according to claim 1, wherein a program generated as a 32-bit compiler is used in the program processing. 入力データのプログラム処理を実施するプロセッサと、
前記プロセッサへ入力される前記入力データ、および前記プログラム処理の結果である出力データを保持するメモリと、を有し、
前記メモリは、第1メモリ領域と、前記第1メモリ領域とは異なるアドレスの第2メモリ領域と、のそれぞれに、前記入力データおよび前記出力データを保持可能であって、
前記プロセッサは、
前記入力データを含む入力メッセージに付与されている冗長符号を復号して検査する入力メッセージ処理と、前記出力データに冗長符号を付与し出力メッセージとする出力メッセージ処理とを実施するメッセージ処理部と、
前記第1メモリ領域に書き込まれた前記入力メッセージについての制御演算と、前記出力メッセージ処理により得られた前記出力メッセージの前記第1メモリ領域への書き込みとを含む第1処理過程と、前記第2メモリ領域に書き込まれた前記入力メッセージについての制御演算と、前記出力メッセージ処理を経た前記出力メッセージの前記第2メモリ領域への書き込みとを含む第2処理過程と、を実行する実行制御部と、
前記第1メモリ領域に書き込まれた前記出力メッセージと、前記第2メモリ領域に書き込まれた前記出力メッセージとを照合する結果照合部と、
前記プロセッサおよび前記メモリの故障の有無を演算によって診断する演算診断部と、
前記入力データおよび前記出力データの冗長検査、前記結果照合部における照合、および前記演算診断部における診断の少なくともいずれかにおいて異常が検出された場合に、前記出力メッセージの出力を停止させる異常処理部と、を有することを特徴とする安全演算装置。
A processor for performing program processing of input data;
A memory for holding the input data to be input to the processor and output data as a result of the program processing;
The memory can hold the input data and the output data in each of a first memory area and a second memory area having an address different from the first memory area,
The processor is
A message processing unit for performing an input message process for decoding and checking a redundant code given to an input message including the input data, and an output message process for giving a redundant code to the output data and setting it as an output message;
A first processing step including a control operation for the input message written to the first memory area, and a writing of the output message obtained by the output message process to the first memory area; An execution control unit that executes a control process for the input message written to the memory area and a second processing step including writing the output message to the second memory area after the output message process;
A result collating unit that collates the output message written in the first memory area with the output message written in the second memory area;
An operation diagnosis unit for diagnosing the presence of a failure in the processor and the memory by operation;
An abnormality processing unit for stopping output of the output message when an abnormality is detected in at least one of the redundancy check of the input data and the output data, the verification in the result verification unit, and the diagnosis in the arithmetic diagnosis unit; A safety arithmetic device comprising:
入力信号を数値化し、入力データとする入力部と、
前記入力データのプログラム処理を実施するプロセッサと、
前記プロセッサへ入力される前記入力データを保持するメモリと、を有し、
前記メモリは、第1メモリ領域と、前記第1メモリ領域とは異なるアドレスの第2メモリ領域と、のそれぞれに、前記入力データを保持可能であって、
前記プロセッサは、
前記入力部へのテスト信号の送信によって、前記入力部の異常の有無を診断する入力診断部と、
前記入力データに冗長符号を付与し入力メッセージとする入力メッセージ処理を実施するメッセージ処理部と、
前記入力データに対する演算処理と、前記第1メモリ領域への前記入力メッセージの書き込みとを含む第1処理過程と、前記入力データに対する演算処理と、前記第2メモリ領域への前記入力メッセージの書き込みとを含む第2処理過程と、を実行する実行制御部と、
前記第1メモリ領域に書き込まれた前記入力メッセージと、前記第2メモリ領域に書き込まれた前記入力メッセージとを照合する結果照合部と、
安全制御のための演算処理を実施する安全演算装置へ前記入力メッセージを送信する送信部と、を備え、
前記送信部は、前記入力診断部における診断、および前記結果照合部における照合の少なくともいずれかにおいて異常が検出された場合に、前記入力メッセージの送信を停止させることを特徴とする安全入力装置。
An input unit that digitizes the input signal and uses it as input data;
A processor for performing program processing of the input data;
A memory for holding the input data input to the processor;
The memory can hold the input data in each of a first memory area and a second memory area having an address different from the first memory area,
The processor is
An input diagnostic unit for diagnosing the presence or absence of an abnormality in the input unit by transmitting a test signal to the input unit;
A message processing unit for performing an input message process that assigns a redundant code to the input data and sets it as an input message;
A first processing step including arithmetic processing for the input data; writing of the input message to the first memory area; arithmetic processing for the input data; and writing of the input message to the second memory area. A second processing step including: an execution control unit that executes:
A result collating unit that collates the input message written to the first memory area with the input message written to the second memory area;
A transmission unit that transmits the input message to a safety arithmetic device that performs arithmetic processing for safety control, and
The said transmission part stops transmission of the said input message, when abnormality is detected in at least any one of the diagnosis in the said input diagnostic part, and the collation in the said result collation part, The safety input device characterized by the above-mentioned.
出力メッセージのプログラム処理を実施するプロセッサと、
前記出力メッセージに含まれる出力データを保持するメモリと、
前記出力データに応じた出力信号を出力する出力部と、を有し、
前記メモリは、第1メモリ領域と、前記第1メモリ領域とは異なるアドレスの第2メモリ領域と、のそれぞれに、前記出力データを保持可能であって、
前記プロセッサは、
安全制御のための演算処理を実施する安全演算装置からの前記出力メッセージを受信する受信部と、
前記出力メッセージに含まれる冗長符号を基に前記出力メッセージの内容を検査する出力メッセージ処理を実施するメッセージ処理部と、
前記出力メッセージの内容の検査と、前記第1メモリ領域への前記出力データの書き込みとを含む第1処理過程と、前記出力メッセージの内容の検査と、前記第2メモリ領域への前記出力データの書き込みとを含む第2処理過程と、を実行する実行制御部と、
前記第1メモリ領域に書き込まれた前記出力データと、前記第2メモリ領域に書き込まれた前記出力データとを照合する結果照合部と、
前記出力部へのテスト信号の送信によって、前記出力部の異常の有無を診断する出力診断部と、を備え、
前記出力部は、前記出力診断部における診断、および前記結果照合部における照合の少なくともいずれかにおいて異常が検出された場合に、前記出力信号の出力を停止させることを特徴とする安全出力装置。
A processor that performs program processing of the output message;
A memory for holding output data included in the output message;
An output unit that outputs an output signal according to the output data,
The memory can hold the output data in each of a first memory area and a second memory area having an address different from the first memory area,
The processor is
A receiver that receives the output message from the safety arithmetic device that performs arithmetic processing for safety control;
A message processing unit for performing output message processing for checking the content of the output message based on a redundant code included in the output message;
A first processing step including checking the contents of the output message and writing the output data to the first memory area; checking the contents of the output message; and outputting the output data to the second memory area. An execution control unit that executes a second processing step including writing;
A result collating unit that collates the output data written in the first memory area with the output data written in the second memory area;
An output diagnostic unit that diagnoses the presence or absence of an abnormality of the output unit by transmitting a test signal to the output unit;
The output unit stops output of the output signal when an abnormality is detected in at least one of diagnosis in the output diagnosis unit and verification in the result verification unit.
安全コントローラへの入力信号の入力を受け付ける安全入力装置と、
安全制御のための演算処理を実施する安全演算装置と、
前記安全コントローラから出力信号を出力する安全出力装置と、を有し、
前記安全演算装置は、
前記安全入力装置からの入力データのプログラム処理を実施するプロセッサと、
前記プロセッサへ入力される前記入力データ、および前記プログラム処理の結果である出力データを保持するメモリと、を有し、
前記メモリは、第1メモリ領域と、前記第1メモリ領域とは異なるアドレスの第2メモリ領域と、のそれぞれに、前記入力データおよび前記出力データを保持可能であって、
前記プロセッサは、
前記第1メモリ領域に書き込まれた前記入力データの前記プログラム処理と、前記プログラム処理の結果として前記第1メモリ領域に書き込まれた前記出力データへの冗長符号の付与と、を含む第1処理過程と、前記第2メモリ領域に書き込まれた前記入力データの前記プログラム処理と、前記プログラム処理の結果として前記第2メモリ領域に書き込まれた前記出力データへの冗長符号の付与と、を含む第2処理過程と、を実行する実行制御部と、
前記第1処理過程における前記冗長符号の付与を経た前記出力データと、前記第2処理過程における前記冗長符号の付与を経た前記出力データとを照合する結果照合部と、
前記プロセッサおよび前記メモリの故障の有無を演算によって診断する演算診断部と、
前記入力データおよび前記出力データの冗長検査、前記結果照合部における照合、および前記演算診断部における診断の少なくともいずれかにおいて異常が検出された場合に、前記出力データの出力を停止させる異常処理部と、を有することを特徴とする安全コントローラ。
A safety input device that accepts input of input signals to the safety controller;
A safety computation device for performing computation processing for safety control;
A safety output device that outputs an output signal from the safety controller,
The safety arithmetic unit is
A processor for performing program processing of input data from the safety input device;
A memory for holding the input data to be input to the processor and output data as a result of the program processing;
The memory can hold the input data and the output data in each of a first memory area and a second memory area having an address different from the first memory area,
The processor is
A first processing step including the program processing of the input data written to the first memory area and the provision of a redundant code to the output data written to the first memory area as a result of the program processing; And a program processing of the input data written to the second memory area, and a redundant code to the output data written to the second memory area as a result of the program processing. An execution control unit for executing the processing steps;
A result matching unit that collates the output data that has been given the redundant code in the first processing step and the output data that has been given the redundant code in the second processing step;
An operation diagnosis unit for diagnosing the presence of a failure in the processor and the memory by operation;
An abnormality processing unit for stopping the output of the output data when an abnormality is detected in at least one of the redundancy check of the input data and the output data, the verification in the result verification unit, and the diagnosis in the arithmetic diagnosis unit; And a safety controller.
安全コントローラへの入力信号の入力を受け付ける安全入力装置と、
安全制御のための演算処理を実施する安全演算装置と、
前記安全コントローラから出力信号を出力する安全出力装置と、を有し、
前記安全入力装置は、
前記入力信号を数値化し、入力データとする入力部と、
前記入力データのプログラム処理を実施するプロセッサと、
前記プロセッサへ入力される前記入力データを保持するメモリと、を有し、
前記メモリは、第1メモリ領域と、前記第1メモリ領域とは異なるアドレスの第2メモリ領域と、のそれぞれに、前記入力データを保持可能であって、
前記プロセッサは、
前記入力部へのテスト信号の送信によって、前記入力部の異常の有無を診断する入力診断部と、
前記入力データに冗長符号を付与し入力メッセージとする入力メッセージ処理を実施するメッセージ処理部と、
前記入力データに対する演算処理と、前記第1メモリ領域への前記入力メッセージの書き込みとを含む第1処理過程と、前記入力データに対する演算処理と、前記第2メモリ領域への前記入力メッセージの書き込みとを含む第2処理過程と、を実行する実行制御部と、
前記第1メモリ領域に書き込まれた前記入力メッセージと、前記第2メモリ領域に書き込まれた前記入力メッセージとを照合する結果照合部と、
前記安全演算装置へ前記入力メッセージを送信する送信部と、を備え、
前記送信部は、前記入力診断部における診断、および前記結果照合部における照合の少なくともいずれかにおいて異常が検出された場合に、前記入力メッセージの送信を停止させることを特徴とする安全コントローラ。
A safety input device that accepts input of input signals to the safety controller;
A safety computation device for performing computation processing for safety control;
A safety output device that outputs an output signal from the safety controller,
The safety input device is:
An input unit that digitizes the input signal and uses it as input data;
A processor for performing program processing of the input data;
A memory for holding the input data input to the processor;
The memory can hold the input data in each of a first memory area and a second memory area having an address different from the first memory area,
The processor is
An input diagnostic unit for diagnosing the presence or absence of an abnormality in the input unit by transmitting a test signal to the input unit;
A message processing unit for performing an input message process that assigns a redundant code to the input data and sets it as an input message;
A first processing step including arithmetic processing for the input data; writing of the input message to the first memory area; arithmetic processing for the input data; and writing of the input message to the second memory area. A second processing step including: an execution control unit that executes:
A result collating unit that collates the input message written to the first memory area with the input message written to the second memory area;
A transmission unit for transmitting the input message to the safety arithmetic unit,
The said transmission part stops transmission of the said input message, when abnormality is detected in at least any one of the diagnosis in the said input diagnostic part, and the collation in the said result collation part.
安全コントローラへの入力信号の入力を受け付ける安全入力装置と、
安全制御のための演算処理を実施する安全演算装置と、
前記安全コントローラから出力信号を出力する安全出力装置と、を有し、
前記安全出力装置は、
前記安全演算装置からの出力メッセージのプログラム処理を実施するプロセッサと、
前記出力メッセージに含まれる出力データを保持するメモリと、
前記出力データに応じた出力信号を出力する出力部と、を有し、
前記メモリは、第1メモリ領域と、前記第1メモリ領域とは異なるアドレスの第2メモリ領域と、のそれぞれに、前記出力データを保持可能であって、
前記プロセッサは、
前記安全演算装置からの前記出力メッセージを受信する受信部と、
前記出力メッセージに含まれる冗長符号を基に前記出力メッセージの内容を検査する出力メッセージ処理を実施するメッセージ処理部と、
前記出力メッセージの内容の検査と、前記第1メモリ領域への前記出力データの書き込みとを含む第1処理過程と、前記出力メッセージの内容の検査と、前記第2メモリ領域への前記出力データの書き込みとを含む第2処理過程と、を実行する実行制御部と、
前記第1メモリ領域に書き込まれた前記出力データと、前記第2メモリ領域に書き込まれた前記出力データとを照合する結果照合部と、
前記出力部へのテスト信号の送信によって、前記出力部の異常の有無を診断する出力診断部と、を備え、
前記出力部は、前記出力診断部における診断、および前記結果照合部における照合の少なくともいずれかにおいて異常が検出された場合に、前記出力信号の出力を停止させることを特徴とする安全コントローラ。
A safety input device that accepts input of input signals to the safety controller;
A safety computation device for performing computation processing for safety control;
A safety output device that outputs an output signal from the safety controller,
The safety output device is:
A processor for executing program processing of an output message from the safety arithmetic unit;
A memory for holding output data included in the output message;
An output unit that outputs an output signal according to the output data,
The memory can hold the output data in each of a first memory area and a second memory area having an address different from the first memory area,
The processor is
A receiving unit for receiving the output message from the safety arithmetic unit;
A message processing unit for performing output message processing for checking the content of the output message based on a redundant code included in the output message;
A first processing step including checking the contents of the output message and writing the output data to the first memory area; checking the contents of the output message; and outputting the output data to the second memory area. An execution control unit that executes a second processing step including writing;
A result collating unit that collates the output data written in the first memory area with the output data written in the second memory area;
An output diagnostic unit that diagnoses the presence or absence of an abnormality of the output unit by transmitting a test signal to the output unit;
The said output part stops the output of the said output signal, when abnormality is detected in at least any one of the diagnosis in the said output diagnostic part, and the collation in the said result collation part, The safety controller characterized by the above-mentioned.
JP2014535388A 2012-09-11 2013-03-11 Safety arithmetic device, safety input device, safety output device and safety controller Active JP5762642B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014535388A JP5762642B2 (en) 2012-09-11 2013-03-11 Safety arithmetic device, safety input device, safety output device and safety controller

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
PCT/JP2012/073179 WO2014041596A1 (en) 2012-09-11 2012-09-11 Safety controller
JPPCT/JP2012/073179 2012-09-11
JP2014535388A JP5762642B2 (en) 2012-09-11 2013-03-11 Safety arithmetic device, safety input device, safety output device and safety controller
PCT/JP2013/056612 WO2014041829A1 (en) 2012-09-11 2013-03-11 Safety arithmetic device, safety input device, safety output device, and safety controller

Publications (2)

Publication Number Publication Date
JP5762642B2 JP5762642B2 (en) 2015-08-12
JPWO2014041829A1 true JPWO2014041829A1 (en) 2016-08-18

Family

ID=53887822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014535388A Active JP5762642B2 (en) 2012-09-11 2013-03-11 Safety arithmetic device, safety input device, safety output device and safety controller

Country Status (1)

Country Link
JP (1) JP5762642B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105334845B (en) * 2015-11-25 2020-05-22 中国航空工业集团公司沈阳飞机设计研究所 Mechanical dual-redundancy electrical four-redundancy angle-of-attack redundancy management method
CN106325148B (en) * 2016-08-09 2019-08-09 北京精密机电控制设备研究所 A kind of servo-system turn electrically separated control and a detection circuit

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298602A (en) * 1987-05-29 1988-12-06 Daikin Ind Ltd Back-up device for air conditioner
JPH028911A (en) * 1988-06-27 1990-01-12 Matsushita Electric Works Ltd Programmable controller
JPH02219101A (en) * 1989-02-21 1990-08-31 Matsushita Electric Ind Co Ltd Output processor
JP2000148216A (en) * 1998-11-12 2000-05-26 Mitsubishi Electric Corp Plant controller communication equipment
JP2010262432A (en) * 2009-05-01 2010-11-18 Mitsubishi Electric Corp Safety controller
JP5494255B2 (en) * 2010-06-07 2014-05-14 富士電機株式会社 Safety control system

Also Published As

Publication number Publication date
JP5762642B2 (en) 2015-08-12

Similar Documents

Publication Publication Date Title
WO2014041829A1 (en) Safety arithmetic device, safety input device, safety output device, and safety controller
JP5068436B2 (en) Method and apparatus for bus coupling of safety related processes
US8793533B2 (en) Method and device for performing failsafe hardware-independent floating-point arithmetic
JP2015118468A (en) Programmable controller
US20110178612A1 (en) Safety input device
JP5608409B2 (en) Self-diagnosis system and test circuit determination method
JP5762642B2 (en) Safety arithmetic device, safety input device, safety output device and safety controller
JP5115101B2 (en) Field device and fieldbus controller
US6487695B1 (en) Method for providing fail-safe secure data transmission between a numerical control system and a spatially separate unit
JP2010160649A (en) Controller and control method
US6507760B1 (en) Numerical control unit with a spatially separated input device
JP3883856B2 (en) Fault diagnosis method and apparatus for signal processing system
JP7140020B2 (en) output controller
JP2019046274A (en) Input and output device
JP2014119909A (en) Communication coupler, information processor, control method and program
JP5906145B2 (en) Transmission device, transmission system, and self-diagnosis method thereof
CN111124418A (en) Communication data timeout judging method based on VCP redundant codes
JP2007532992A (en) Error detection method and control system during data processing in processing system
US11982984B2 (en) Automation system for monitoring a safety-critical process
US20210278815A1 (en) Automation System For Monitoring A Safety-Critical Process
JP4711303B2 (en) Contact input device
JP2012029250A (en) Electronic device and control method of the same
JP2014225110A (en) Safety controller
CN116455732A (en) Data redundancy transmission control method and system composition for active safety of train
JP2001034500A (en) Microcomputer failure diagnosing device and method

Legal Events

Date Code Title Description
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: 20150512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150609

R150 Certificate of patent or registration of utility model

Ref document number: 5762642

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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