WO2013094754A1 - プログラマブル制御装置、方法、及びプログラム - Google Patents

プログラマブル制御装置、方法、及びプログラム Download PDF

Info

Publication number
WO2013094754A1
WO2013094754A1 PCT/JP2012/083339 JP2012083339W WO2013094754A1 WO 2013094754 A1 WO2013094754 A1 WO 2013094754A1 JP 2012083339 W JP2012083339 W JP 2012083339W WO 2013094754 A1 WO2013094754 A1 WO 2013094754A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
data
unit
processing
checksum
Prior art date
Application number
PCT/JP2012/083339
Other languages
English (en)
French (fr)
Inventor
林 俊文
敦 児島
酒井 宏隆
加藤 守
能之 新田
順陽 吉田
晋 吉澤
鮫田 芳富
Original Assignee
株式会社東芝
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社東芝 filed Critical 株式会社東芝
Priority to US14/368,026 priority Critical patent/US20150005905A1/en
Publication of WO2013094754A1 publication Critical patent/WO2013094754A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23214Checksum CRC

Definitions

  • the present invention relates to a programmable control technique for processing an input external signal based on a program on a memory.
  • Nuclear power plants are equipped with safety protection systems such as a reactor protection system that automatically starts an emergency reactor shutdown device in the event of an abnormality, and an engineering safety facility startup system that automatically starts a core water injection device when coolant is lost. Yes.
  • Many of these nuclear power plant safety protection systems are composed of programmable control devices using a CPU. This programmable control device inputs a process signal (external signal) such as pressure and temperature, performs program processing, and determines whether or not to output a control signal for automatically starting the emergency stop device or the core water injection device. I do.
  • a programmable control device for a safety protection system of a nuclear power plant is basically the same in function and configuration as a general industrial one, but is required to have very high reliability. For this reason, the programmable control device for such use is required to demonstrate that the soundness of operation is maintained, and a device that performs self-diagnosis processing for the occurrence of a failure is used (for example, Patent Document 1).
  • the present invention has been made in consideration of such circumstances, and an object of the present invention is to provide a programmable control technique that also executes self-diagnosis processing in a short-cycle single loop.
  • the machine block diagram which shows embodiment of the programmable control apparatus which concerns on this invention.
  • the programmable controller 10 includes an input port 11 that receives a process signal (external signal 16) measured by a sensor (not shown) installed in a plant, and a nuclear reactor.
  • An output port 12 that transmits a control signal 17 such as a trip signal for emergency stop and an activation signal of an engineering safety facility, a CPU 20 that processes the received external signal 16 and determines whether the control signal 17 can be transmitted, ROM 14 which is a non-volatile memory and stores a program and parameters for operating programmable controller 10, and a RAM (memory 15) to which the program and parameters stored in ROM 14 are copied when starting programmable controller 10 , Input port 11, output port 12, ROM 14, RAM (memory 15) and C U20 is a bus 13 for transmitting data between each, and a.
  • a control signal 17 such as a trip signal for emergency stop and an activation signal of an engineering safety facility
  • CPU 20 that processes the received external signal 16 and determines whether the control signal 17 can be transmitted
  • ROM 14 which is a non-volatile memory and stores a program and parameters for operating programmable controller 10
  • RAM random access memory
  • the memory 15 (RAM) implemented in the programmable control device of each embodiment stores data contents unchanged even after the device is started, such as system programs, application programs, and parameters. It is composed of a fixed data storage area 15a and a variable data storage area 15b in which data contents are changed while the apparatus is activated, such as processing based on the external signal 16 and self-diagnosis processing.
  • the programmable control device 10 according to the first embodiment mainly performs a soundness diagnosis of the fixed data storage area 15a of the memory 15 (RAM).
  • the CPU 20 mounted on the programmable control device includes a signal processing unit 22 that sequentially processes an input external signal 16 based on a program on the memory 15, and a memory 15.
  • the data acquisition unit 26 that acquires data from the designated nth block among a plurality of blocks (FIG. 2) formed by dividing the area of the region, and the health of the nth block is diagnosed based on the acquired data.
  • the diagnosis unit 30A includes an execution unit 31 that executes a checksum of data in units of blocks, a storage unit 32 that stores the checksum results of each of a plurality of blocks, and the results of the checksums that have been executed and stored. And a first comparison / determination unit 33 for comparing the checksum results.
  • the signal processing unit 22 processes the external signal 16 sequentially input from the input port 11 (FIG. 1) via the bus 13 to the external signal input unit 21 based on the program on the memory 15, and the processing result is A control signal 17 is output from the control signal output unit 23 to the output port 12 via the bus 13 (FIG. 1).
  • the control signal 17 is a signal for controlling an external control device (not shown). For example, the start signal for the entire engineering safety facility, the start signal for the pump constituting the engineering safety facility, or some valves Open / close signal and the like.
  • the external signal input unit 21 transfers the next external signal 16 to the signal processing unit 22 in synchronization with the end timing of the soundness diagnosis processing in the diagnosis unit 30. Then, the control signal output unit 23 causes the block specifying unit 25 to specify the next block to be diagnosed in synchronization with the output timing of the control signal 17.
  • the block division unit 24 divides the fixed data storage area 15a (FIG. 2) to be inspected in the first embodiment (N + 1 division in the figure) and assigns each block an identification number n (0 ⁇ n ⁇ N; n integer) ).
  • the size of each block is arbitrary as long as the soundness diagnosis is completed within the time limit and does not need to be equally divided, but if it is a number represented by an index of 2, a fixed data storage area
  • the address range 15a can be appropriately divided.
  • the block designating unit 25 updates the designation of a block to be diagnosed for soundness every time the control signal 17 is output from the control signal output unit 23. That is, the block designating unit 25 designates the 0th block immediately after the start of the programmable control device 10, and designates the diagnosis target from the nth block to the n + 1th block every time the processing loop of one external signal 16 is repeated. And update. After the processing loop is repeated and the Nth block is designated, the process returns to the original and designates the 0th block.
  • the block counter unit counts up the block identification number one by one. When the counted identification number reaches the total number N of blocks to be diagnosed, the count is returned to zero.
  • the data acquisition unit 26 acquires data from the nth block designated by the block designation unit 25 among a plurality of blocks (FIG. 2) obtained by dividing the area of the memory 15 and transfers the data to the diagnosis unit 30.
  • the checksum execution unit 31, the result storage unit 32, and the first comparison / determination unit 33 are configured to diagnose the soundness of the nth block based on the data acquired from the nth block of the memory 15. Further, after the soundness diagnosis is completed, the external signal input unit 21 is prompted to input the next external signal 16.
  • the checksum execution unit 31 executes the checksum of the data acquired by the data acquisition unit 26 for each block constituting the area of the memory 15.
  • the checksum itself is also realized by a part of the program on the memory 15, and is stored in the fixed data storage area 15a.
  • the checksum is a method for detecting a data error.
  • a cryptographic hash function such as cyclic redundancy check (CRC), MD5 of IETF, or SHA of US NIST is used for calculation of the checksum. can do. Note that the use of a cryptographic hash function can increase resistance to malicious tampering.
  • the checksum execution unit 31 checks all blocks to be diagnosed in the fixed data storage area 15a of the memory 15 immediately after the CPU 20 is activated and the program data is copied from the ROM 14 to the RAM (memory 15). Run the thumb. Each checksum result of all the blocks at the time of activation is stored in the storage unit 32 in association with the identification number of the corresponding block.
  • the first comparison / determination unit 33 includes a checksum result of the block executed in synchronization with the control signal 17 output sequentially, a checksum result of the corresponding block stored in the result storage unit 32, and Are compared. If the checksum comparison results match, the soundness of the corresponding block is confirmed, and the external signal input unit 21 is prompted to input the next external signal 16. On the other hand, if the checksum comparison results do not match, the soundness of the corresponding block is denied, and an error signal to that effect is output from the output unit 27.
  • the fixed data storage area 15a on the RAM is divided into N + 1 blocks from the 0th block to the Nth block in a state where data such as programs are resident (S13). All of the 0th to Nth blocks are subjected to checksum (S14), and each checksum result is stored in the storage unit 32 so that it can be read in association with the corresponding block (S15).
  • the block identification number n is updated to 1 (S21; No, S22), and the diagnosis of the first block is executed in the same manner, and then the next external signal 16 is input, processed, and output ( S17 to S20).
  • the diagnosis of the 0th to Nth blocks and the input of the external signal 16 are performed.
  • the process and output are repeated (S16 to S20).
  • the loop period in this control routine is determined within the range that satisfies the system response requirement. For example, when the time from when the programmable control device 10 inputs the external signal 16 until the external control device (not shown) responds is requested within 1 sec, the loop period needs to be 0.5 sec or less. is there.
  • control routine since the control routine is executed in a single loop, complicated processing due to timer interruption such as multitasking does not occur, and the reliability and safety of the program are ensured. Furthermore, since the checksum executed in a single loop is for the 1 / (N + 1) area of the memory area, the division number N is adjusted appropriately to satisfy the system response request. The loop period can be adjusted.
  • the first comparison / determination unit 33 not only sequentially determines each of the 1 / N block checksum results output from the checksum execution unit 31 but also 1 / N block checksum received for each single loop. Are sequentially calculated and summed up to calculate one checksum for all N blocks, and the result is stored in the checksum result storage unit 32 to determine the one checksum. .
  • the checksum result stored in the checksum result storage unit 32 only needs to have a capacity corresponding to one checksum, and the storage capacity can be reduced.
  • the CPU 20 mounted on the programmable control device includes a signal processing unit 22 that sequentially processes an input external signal 16 based on a program on the memory 15, and a memory 15.
  • the data acquisition unit 26 that acquires data from the designated nth block among a plurality of blocks (FIG. 2) formed by dividing the area of the region, and the health of the nth block is diagnosed based on the acquired data.
  • a diagnosis unit 30B (30) that prompts processing of the external signal 16 and a block designation unit 25 that diagnoses the soundness of the (n + 1) -th block after processing the next external signal 16.
  • the block dividing unit 24 divides the variable data storage area 15b (FIG. 2) to be inspected in the second embodiment, and assigns an identification number n (0 ⁇ n ⁇ N) to each block.
  • the diagnosis unit 30B includes a sending unit 34 that sends the pattern data 37a to the designated nth block, and a second comparison / determination unit that compares the pattern data 37b acquired from the designated nth block and the sent pattern data 37a. 36, and a storage unit 35 that temporarily saves the data of the designated nth block and restores the data after the comparison.
  • the diagnosis unit 30B obtains the known pattern data 37a once stored in the nth block of the memory 15, and diagnoses the soundness of the nth block based on whether or not they match. Further, after the soundness diagnosis is completed, the external signal input unit 21 is prompted to input the next external signal 16.
  • the pattern data sending unit 34 sends the pattern data 37a to the nth block of the RAM designated by the block designating unit 25.
  • the pattern data 37a includes, for example, data representing each bit as 00000000, 11111111, 01010101, and 10101010 if each block is composed of 8 bits.
  • the data storage unit 35 is realized as one block of the variable data storage area 15b of the memory. Before the pattern data 37a is transmitted to the designated nth block, the data resident in the nth block is temporarily stored. Evacuate. Further, the storage unit 35 holds the saved resident data until the diagnosis of the nth block is completed, and returns to the nth block again after the diagnosis is completed.
  • the second comparison / determination unit 36 includes pattern data 37a sent to the nth block in synchronization with the control signal 17 output sequentially, and pattern data 37b acquired after recording in the nth block. To compare. Note that the pattern data 37a sent to the block is not limited to one type, and many types can be sent, and a plurality of comparisons can be executed.
  • the comparison results of the two pattern data 37a and 37b match, the soundness of the corresponding block is confirmed, and the external signal input unit 21 is prompted to input the next external signal 16.
  • the comparison results of the two pattern data 37a and 37b do not match, the soundness of the corresponding block is denied, and an error signal to that effect is output from the output unit 27.
  • variable data storage area 15b on the RAM is divided into N + 1 blocks from the 0th block to the Nth block in a state where data such as programs are resident (S33).
  • the pattern data 37a is sent to the 0th block (S36), and the pattern data 37b recorded in the 0th block is subsequently acquired (S37). Then, the transmitted pattern data 37a is compared with the pattern data 37b acquired after recording (S38). If they match (S38; Yes), the soundness of the 0th block is verified, the resident data saved in the storage unit 35 is returned to the 0th block (S39), the external signal 16 is input, Processed and output as the control signal 17 (S41).
  • the diagnostic unit (not shown) in the programmable control device according to the third embodiment is configured to have both the diagnostic unit 30A (FIG. 3) of the first embodiment and the diagnostic unit 30B (FIG. 5) of the second embodiment. Yes.
  • the result of the checksum of the n-th block resident data before the pattern data 37a is recorded, and the result of the checksum of the n-th block resident data restored after being temporarily saved in the data storage unit 35, Compare
  • variable data storage area 15b on the RAM is divided into N + 1 conceptually from the 0th block to the Nth block in a state where data such as programs are resident (S53).
  • the checksum result is stored in the storage unit 32 so as to be read in association with the corresponding block (S56).
  • the pattern data 37a is sent to this 0th block (S58). Then, the pattern data 37b recorded in the 0th block is acquired (S59), and the transmitted pattern data 37a is compared with the pattern data 37b acquired after recording (S60). If they match (S60; Yes), the resident data saved in the storage unit 35 is returned to the 0th block (S61).
  • the restored resident data of the 0th block is called and a checksum is executed (S62). Then, the result of the checksum of the resident data after the return and the result of the checksum stored in the storage unit 32 are compared and if they match (S63; Yes), the soundness of the 0th block is confirmed. Once verified, an external signal 16 is input, processed, and output as a control signal 17 (S65).
  • the block identification number n is updated to 1 (S66; No, S67), and the diagnosis of the first block is executed in the same manner, and then the next external signal 16 is input, processed, and output ( S55 to S65).
  • the memory in which the program resides is divided into blocks, and the soundness diagnosis is performed in units of blocks each time the control loop makes a round.
  • the soundness diagnosis of the memory is performed in a distributed manner, it is possible to ensure the reliability and safety of the plant without extending the period of the control loop.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

 短周期のシングルループで自己診断処理も実行するプロラマブル制御技術を提供する。プログラマブル制御装置に実装されるCPU(20)は、入力する外部信号(16)をメモリ(15)上のプログラムに基づいて逐次的に処理する信号処理部(22)と、メモリ(15)の領域を分割してなる複数のブロックのうち指定された第nブロックからデータを取得するデータ取得部(26)と、この取得したデータに基づいて第nブロックの健全性を診断し次の外部信号(16)の処理を促す診断部(30A)と、次の外部信号(16)を処理した後に第n+1ブロックの健全性を診断させるブロック指定部(25)と、を備えている。

Description

プログラマブル制御装置、方法、及びプログラム
 本発明は、入力した外部信号をメモリ上のプログラムに基づいて処理するプログラマブル制御技術に関する。
 原子力発電プラントには、異常時に原子炉の緊急停止装置を自動起動させる原子炉保護系や、冷却材喪失時に炉心注水装置を自動起動させる工学的安全施設起動系といった安全保護系が、設置されている。
 これら原子力発電プラントの安全保護系の多くは、CPUを使用したプログラマブル制御装置から構成される。このプログラマブル制御装置は、圧力や温度等のプロセス信号(外部信号)を入力してプログラム処理し、前記した緊急停止装置や炉心注水装置を自動起動するための制御信号を出力するか否かの判定を行う。
 原子力発電プラントの安全保護系用のプログラマブル制御装置は、一般産業用のものと機能および構成が基本的に同じであるが、非常に高い信頼性が求められている。このために、係る用途のプログラマブル制御装置は、動作の健全性が維持されていることを実証することが求められており、故障発生の有無について自己診断処理を実行するものが用いられている(例えば、特許文献1)。
特開2006-40122号公報
 一方において産業用のプログラマブル制御装置の多くは、マルチタスクをサポートしており、マルチタスクを実現するプログラムは、タスクの切替えにタイマー割込みを用いている。このタイマー割込みによるタスクの切り替えは、複雑な処理が発生し、この処理が常に想定通り機能することを実証することは容易でなく、また動作の健全性が損なわれる原因にもなる。
 そこで、割込み処理が避けられないマルチタスクを諦めて、全ての処理をシングルループで実行することを検討する。しかし、自己診断処理をシングルループに組み込むとなると、ループ周期が長くなる課題がある。高性能CPUを使えば、診断時間を短くすることが可能であるが、高性能CPUは発熱量が多く、部品の信頼性が低下する。
 本発明はこのような事情を考慮してなされたもので、短周期のシングルループで自己診断処理も実行するプログラマブル制御技術を提供することを目的とする。
本発明に係るプログラマブル制御装置の実施形態を示す機械構成図。 各実施形態におけるプログラマブル制御装置に実装されるメモリ(RAM)の構成図。 第1実施形態に係るプログラマブル制御装置に実装されるCPUの論理構成図。 第1実施形態に係るプログラマブル制御装置の動作を説明するフローチャート。 第2実施形態に係るプログラマブル制御装置に実装されるCPUの論理構成図。 第2実施形態に係るプログラマブル制御装置の動作を説明するフローチャート。 第3実施形態に係るプログラマブル制御装置の動作を説明するフローチャート。
(第1実施形態)
 以下、本発明の実施形態を添付図面に基づいて説明する。
 図1に示すように、第1実施形態に係るプログラマブル制御装置10は、プラントに設置されたセンサ(図示略)が計測したプロセス信号(外部信号16)を受信する入力ポート11と、原子炉を緊急停止させるためのトリップ信号や工学的安全施設の起動信号等の制御信号17を送信する出力ポート12と、受信した外部信号16を処理して制御信号17の送信の可否を判定するCPU20と、不揮発性メモリでありプログラマブル制御装置10を動作させるためのプログラム及びパラメータを保存するROM14と、このROM14に保存されているプログラム及びパラメータがプログラマブル制御装置10の起動時にコピーされるRAM(メモリ15)と、入力ポート11,出力ポート12,ROM14,RAM(メモリ15)及びCPU20が各々の間でデータを伝送するバス13と、から構成されている。
 図2に示すように、各実施形態のプログラマブル制御装置に実装されるメモリ15(RAM)は、システムプログラム,アプリケーションプログラム及びパラメータ等のように装置起動後もデータ内容が不変のまま記憶されている固定データ記憶領域15aと、外部信号16に基づく処理や自己診断処理等のように装置起動後はデータ内容が変化しながら記憶される可変データ記憶領域15bと、から構成されている。
 第1実施形態に係るプログラマブル制御装置10は、主にメモリ15(RAM)の固定データ記憶領域15aの健全性診断を実施する。
 図3に示すように、第1実施形態に係るプログラマブル制御装置に実装されるCPU20は、入力する外部信号16をメモリ15上のプログラムに基づいて逐次的に処理する信号処理部22と、メモリ15の領域を分割してなる複数のブロック(図2)のうち指定された第nブロックからデータを取得するデータ取得部26と、この取得したデータに基づいて第nブロックの健全性を診断し次の外部信号16の処理を促す診断部30A(30)と、前記次の外部信号16を処理した後に第n+1ブロックの健全性を診断させるブロック指定部25と、を備えている。
 そして、診断部30Aは、ブロックを単位にデータのチェックサムを実行する実行部31と、複数のブロックの各々のチェックサム結果を保存する保存部32と、実行したチェックサムの結果及び保存されているチェックサムの結果を比較する第1比較判定部33と、を備えている。
 信号処理部22は、入力ポート11(図1)からバス13を経由して外部信号入力部21に逐次的に入力する外部信号16をメモリ15上のプログラムに基づいて処理し、この処理結果である制御信号17を制御信号出力部23からバス13(図1)を経由して出力ポート12に出力させる。
 この制御信号17は、外部制御機器(図示略)を制御するための信号であって、例えば工学的安全施設全体の起動信号、工学的安全施設を構成するポンプの起動信号、あるいはいくつかの弁の開閉信号等である。
 外部信号入力部21は、診断部30における健全性診断処理の終了タイミングに同期して、次の外部信号16を信号処理部22に転送する。そして、制御信号出力部23は、制御信号17の出力タイミングに同期して、ブロック指定部25に次の診断対象となるブロックを指定させる。
 ブロック分割部24は、第1実施形態で検査対象とする固定データ記憶領域15a(図2)を分割(図ではN+1分割)し、各々のブロックに識別番号n(0≦n≦N;n整数)を付与する。各々のブロックのサイズは、健全性診断が制限時間内に終了する大きさであれば、任意であり等分割される必要もないが、2の指数で表される数であれば固定データ記憶領域15aのアドレス範囲を適切に分割することができる。
 ブロック指定部25は、制御信号出力部23から制御信号17が出力される度に、健全性の診断対象となるブロックの指定を更新する。つまりブロック指定部25は、プログラマブル制御装置10の起動直後は、第0ブロックを指定し、一つの外部信号16の処理ループが繰り返される毎に、診断対象の指定を第nブロックから第n+1ブロックへと更新する。そして、処理ループが繰り返されて第Nブロックが指定された後は、元に戻って第0ブロックを指定する。
 このブロック指定部25は、メモリ15上のプログラムとして実現され、ブロック番号を記憶するブロックカウンタ部(図示略)と、ブロックカウンタをカウントアップするカウントアップ部(図示略)と、から構成される。
 この場合、CPU20が起動するとブロックカウンタ部は、固定データ記憶領域15aのブロックの識別番号をn=0に設定する。
 そして、診断部30における処理が終了し、次の外部信号16が入力する度に、ブロックカウンタ部は、ブロックの識別番号を一つずつカウントアップする。そして、カウントアップした識別番号が、診断対象となるブロックの総数Nに達したところで、カウントを0に戻す。
 データ取得部26は、メモリ15の領域を分割してなる複数のブロック(図2)のうちブロック指定部25で指定された第nブロックからデータを取得し診断部30に転送する
 診断部30Aは、チェックサム実行部31と、その結果保存部32と、第1比較判定部33とから構成され、メモリ15の第nブロックから取得したデータに基づいて第nブロックの健全性を診断する。さらに、この健全性診断を終了してから外部信号入力部21に次の外部信号16の入力処理を促す。
 チェックサム実行部31は、メモリ15の領域を構成するブロックを単位に、データ取得部26で取得されたデータのチェックサムを実行する。なお、チェックサムそのものもメモリ15上のプログラムの一部で実現されるものであり、固定データ記憶領域15aに格納されている。
 ここでチェックサムとは、データのエラーを検出する手法であり、具体的には巡回冗長検査(CRC)、IETFのMD5、米国NISTのSHA等の暗号学的ハッシュ関数をチェックサムの計算に使用することができる。なお、暗号学的ハッシュ関数を使用することで、悪意を持った改ざんに対する耐性を高めることができる。
 なお、チェックサム実行部31は、CPU20が起動してROM14からRAM(メモリ15)にプログラムのデータがコピーされた直後に、メモリ15の固定データ記憶領域15aにおける診断対象となる全てのブロックのチェックサムを実行する。
 そして、この起動時における全てのブロックのチェックサム結果の各々は、対応するブロックの識別番号に関連付けされて保存部32に保存される。
 第1比較判定部33は、逐次的に出力される制御信号17に同期して実行されたブロックのチェックサムの結果と、結果保存部32に保存されている該当ブロックのチェックサムの結果と、を比較するものである。
 そして、チェックサムの比較結果が一致していれば、該当ブロックの健全性が確認され、外部信号入力部21に次の外部信号16の入力が促される。
 一方、チェックサムの比較結果が不一致であれば、該当ブロックの健全性が否定され、その旨のエラー信号が出力部27から出力される。
 図4(図1~図3適宜参照)に基づいて第1実施形態に係るプログラマブル制御装置の動作を説明する。
 プログラマブル制御装置10がシステム起動すると(S11)、ROM14上のプログラム及びパラメータのデータがRAM(メモリ15)上にコピーされる(S12)。そして以降は、RAM(メモリ15)上のプログラムに従って処理が進められる。
 さらに、RAM上の固定データ記憶領域15aは、プログラム等のデータを常駐させた状態で、第0ブロックから第Nブロックまで、観念的にN+1分割される(S13)。これら全ての第0~第Nブロックは、チェックサムが実行され(S14)、各々のチェックサム結果が対応するブロックに関連付けて読み出せるよう保存部32に保存される(S15)。
 制御ルーチンが開始すると、ブロックの識別番号nが初期化(n=0)され(S16)、診断対象である第0ブロックに常駐するデータを取得してチェックサムを実行する(S17)。そして、この取得した常駐データのチェックサムの結果と、起動時に実施して保存部32に保存されているチェックサムの結果とを比較する。そして、両者が一致すれば(S18;Yes)、第0ブロックの健全性が実証されて、外部信号16を入力し、処理し、制御信号17が出力される(S20)。
 次に、ブロックの識別番号n=1に更新して(S21;No、S22)、第1ブロックの診断を同様に実行してから、次の外部信号16の入力、処理、出力がなされる(S17~S20)。
 そして、ブロックの識別番号n=Nに更新されたところで(S21;Yes)、識別番号nが初期化(n=0)され、同様にして第0~第Nブロックの診断及び外部信号16の入力、処理、出力が繰り返される(S16~S20)。
 一方において、チェックサムの比較が不一致であれば(S18;No)、その旨を示すエラー信号が出力され(S23)、フローが終了する。もしくは、運転員もしくは、他の系統からのシステム停止命令を受信した場合も(S19;No)、フローが終了する。
 この制御ルーチンにおけるループ周期は、システム応答の要求を満たす範囲で決められる。例えば、プログラマブル制御装置10が外部信号16を入力してから外部制御機器(図示略)が応答するまでの時間が1sec以内に要求されている場合は、ループ周期は0.5sec以下である必要がある。
 このように各実施形態によれば、シングルループで制御ルーチンが実行されるために、マルチタスクのようなタイマー割込みによる複雑な処理が発生せず、プログラムの信頼性および安全性が確保される。
 さらに、一回のシングルループで実行されるチェックサムは、メモリ領域の1/(N+1)の領域が対象となるために、この分割数Nを適宜調整して、システム応答の要求を満たすようにループ周期を調整することができる。
 なお、第1比較判定部33は、チェックサム実行部31から出力された1/Nブロックのチェックサム結果のそれぞれを逐次判定するだけでなく、シングルループごとに受信する1/Nブロックのチェックサムをさらに順次所定の論理計算を行って合算し、全Nブロックについての1つのチェックサムを算出したうえで、チェックサム結果保存部32に保存し、当該1つのチェックサムについて判定を行ってもよい。この場合、チェックサム結果保存部32に保存されるチェックサム結果は、チェックサム一個分の容量があればよく、記憶容量を削減することができる。
(第2実施形態)
 図5に示すように、第2実施形態に係るプログラマブル制御装置に実装されるCPU20は、入力する外部信号16をメモリ15上のプログラムに基づいて逐次的に処理する信号処理部22と、メモリ15の領域を分割してなる複数のブロック(図2)のうち指定された第nブロックからデータを取得するデータ取得部26と、この取得したデータに基づいて第nブロックの健全性を診断し次の外部信号16の処理を促す診断部30B(30)と、前記次の外部信号16を処理した後に第n+1ブロックの健全性を診断させるブロック指定部25と、を備えている。
 なお、図5において図3と同一又は相当する部分は、同一符号で示し、重複する説明を省略する。
 ブロック分割部24は、第2実施形態で検査対象とする可変データ記憶領域15b(図2)を分割し、各々のブロックに識別番号n(0≦n≦N)を付与する。
 診断部30Bは、指定された第nブロックにパターンデータ37aを送出する送出部34と、指定された第nブロックから取得したパターンデータ37b及び送出されたパターンデータ37aを比較する第2比較判定部36と、指定された第nブロックのデータを一時的に退避させ前記比較後に復帰させる格納部35と、を備えている。
 診断部30Bは、メモリ15の第nブロックに既知のパターンデータ37aを一度記憶させてから取得して、一致しているか否か基づいてこの第nブロックの健全性を診断する。さらに、この健全性診断を終了してから外部信号入力部21に次の外部信号16の入力処理を促す。
 パターンデータ送出部34は、ブロック指定部25で指定されたRAMの第nブロックにパターンデータ37aを送出するものである。ここでパターンデータ37aとは、例えば、各ブロックが8ビットで構成されているとすれば各ビットを00000000、11111111、01010101及び10101010のように表したものが挙げられる。
 データ格納部35は、メモリの可変データ記憶領域15bの一つのブロックとして実現され、指定された第nブロックにパターンデータ37aが送出される前に、この第nブロックに常駐するデータを一時的に退避させるものである。
 さらに、格納部35は、退避した常駐データを、第nブロックの診断が終了するまで保持し、この診断の終了後、再び第nブロックに復帰させる。
 第2比較判定部36は、逐次的に出力される制御信号17に同期して第nブロックに送出されたパターンデータ37aと、この第nブロックに記録してから取得したパターンデータ37bと、を比較するものである。
 なお、ブロックに送出されるパターンデータ37aは、一種類に限らず多種類が送出されて、複数回の比較を実行することができる。
 そして、二つのパターンデータ37a,37bの比較結果が一致していれば、該当ブロックの健全性が確認され、外部信号入力部21に次の外部信号16の入力が促される。
 一方、二つのパターンデータ37a,37bの比較結果が不一致であれば、該当ブロックの健全性が否定され、その旨のエラー信号が出力部27から出力される。
 図6(図5適宜参照)に基づいて第2実施形態に係るプログラマブル制御装置の動作を説明する。
 プログラマブル制御装置10がシステム起動すると(S31)、ROM14上のプログラム及びパラメータのデータがRAM(メモリ15)上にコピーされる(S32)。そして以降は、RAM(メモリ15)上のプログラムに従って処理が進められる。
 さらに、RAM上の可変データ記憶領域15bは、プログラム等のデータを常駐させた状態で、第0ブロックから第Nブロックまで、観念的にN+1分割される(S33)。
 制御ルーチンが開始すると、ブロックの識別番号nが初期化(n=0)され(S34)、診断対象である第0ブロックに常駐するデータを格納部35に退避させる(S35)。
 次にこの第0ブロックにパターンデータ37aを送出し(S36)、引き続きこの第0ブロックに記録されたパターンデータ37bを取得する(S37)。そして、この送出したパターンデータ37aと、記録後に取得したパターンデータ37bとを比較する(S38)。そして、両者が一致すれば(S38;Yes)、第0ブロックの健全性が実証されて、格納部35に退避した常駐データを第0ブロックに復帰させ(S39)、外部信号16を入力し、処理し、制御信号17として出力する(S41)。
 次に、ブロックの識別番号n=1に更新して(S42;No、S43)、第1ブロックの診断を同様に実行してから、次の外部信号16の入力、処理、出力がなされる(S35~S41)。
 そして、ブロックの識別番号n=Nに更新したところで(S42;Yes)、識別番号nが初期化(n=0)され、同様にして第0~第Nブロックの診断及び外部信号16の入力、処理、出力が繰り返される(S34~S41)。
 一方において、ブロックに記録される前後のパターンデータの比較が不一致であれば(S38;No)、その旨を示すエラー信号が出力され(S44)、フローが終了する。もしくは、運転員もしくは、他の系統からのシステム停止命令を受信した場合も(S40;No)、フローが終了する。
(第3実施形態)
 第3実施形態に係るプログラマブル制御装置における診断部(図示略)は、第1実施形態の診断部30A(図3)と第2実施形態の診断部30B(図5)とを併せ持つ構成となっている。
 そして、パターンデータ37aが記録される前の第nブロックの常駐データのチェックサムの結果と、データ格納部35に一時的に退避した後に復帰した第nブロックの常駐データのチェックサムの結果と、を比較する。
 図7に基づいて第3実施形態に係るプログラマブル制御装置の動作を説明する。
 プログラマブル制御装置10がシステム起動すると(S51)、ROM14上のプログラム及びパラメータのデータがRAM(メモリ15)上にコピーされる(S52)。そして以降は、RAM(メモリ15)上のプログラムに従って処理が進められる。
 さらに、RAM上の可変データ記憶領域15bは、プログラム等のデータを常駐させた状態で、第0ブロックから第Nブロックまで、観念的にN+1分割される(S53)。
 制御ルーチンが開始すると、ブロックの識別番号nが初期化(n=0)され(S54)、診断対象である第0ブロックに常駐するデータを取得してチェックサムを実行する(S55)。そして、このチェックサム結果は、対応するブロックに関連付けて読み出せるよう保存部32に保存される(S56)。
 次に、第0ブロックに常駐するデータを格納部35に退避させてから(S57)、この第0ブロックにパターンデータ37aを送出する(S58)。そして、この第0ブロックに記録されたパターンデータ37bを取得し(S59)、この送出したパターンデータ37aと、記録後に取得したパターンデータ37bとを比較する(S60)。そして、両者が一致すれば(S60;Yes)、格納部35に退避した常駐データを第0ブロックに復帰させる(S61)。
 次に、この復帰した第0ブロックの常駐データを呼び出してチェックサムを実行する(S62)。そして、この復帰後の常駐データのチェックサムの結果と、保存部32に保存されているチェックサムの結果とを比較して両者が一致すれば(S63;Yes)、第0ブロックの健全性が実証されて、外部信号16を入力し、処理し、制御信号17として出力する(S65)。
 次に、ブロックの識別番号n=1に更新して(S66;No、S67)、第1ブロックの診断を同様に実行してから、次の外部信号16の入力、処理、出力がなされる(S55~S65)。
 そして、ブロックの識別番号n=Nに更新したところで(S66;Yes)、識別番号nが初期化(n=0)され、同様にして第0~第Nブロックの診断及び外部信号16の入力、処理、出力が繰り返される(S54~S65)。
 一方において、パターンデータの比較が不一致であるか(S60;No)、又はチェックサムの結果の比較が不一致であれば(S63;No)、その旨を示すエラー信号が出力され(S68)、フローが終了する。もしくは、運転員もしくは、他の系統からのシステム停止命令を受信した場合も(S64;No)、フローが終了する。
 以上述べた少なくともひとつの実施形態のプログラマブル制御装置によれば、プログラムが常駐するメモリを観念的にブロック分割し、制御ループが一巡する度にブロック単位で健全性診断を実施する。このように、メモリの健全性診断を分散実施することにより、制御ループの周期を長期化させることなく、プラントの信頼性と安全性を確保することができる。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。

Claims (6)

  1.  入力する外部信号をメモリ上のプログラムに基づいて逐次的に処理する信号処理部と、
     前記メモリの領域を分割してなる複数のブロックのうち指定された第nブロックからデータを取得するデータ取得部と、
     前記取得したデータに基づいて前記第nブロックの健全性を診断し次の外部信号の処理を促す診断部と、
     前記次の外部信号を処理した後に第n+1ブロックの健全性を診断させるブロック指定部と、を備えることを特徴とするプログラマブル制御装置。
  2.  請求項1に記載のプログラマブル制御装置において、前記診断部は、
     前記ブロックを単位に前記データのチェックサムを実行する実行部と、
     前記複数のブロックのチェックサム結果を保存する保存部と、
     前記実行したチェックサムの結果及び前記保存されているチェックサムの結果を比較する第1比較判定部と、を備えることを特徴とするプログラマブル制御装置。
  3.  請求項1に記載のプログラマブル制御装置において、前記診断部は、
     前記指定された第nブロックにパターンデータを送出する送出部と、
     前記指定された第nブロックから取得したパターンデータ及び前記送出されたパターンデータを比較する第2比較判定部と、
     前記指定された第nブロックのデータを一時的に退避させ前記比較後に復帰させる格納部と、を備えることを特徴とするプログラマブル制御装置。
  4.  請求項3に記載のプログラマブル制御装置において、前記診断部は、
     前記パターンデータが記録される前の第nブロックのデータのチェックサムの結果と、前記一時的に退避させた後に復帰させた第nブロックのデータとのチェックサムの結果と、を比較することを特徴とするプログラマブル制御装置。
  5.  入力する外部信号をメモリ上のプログラムに基づいて逐次的に処理するステップと、
     前記メモリの領域を分割してなる複数のブロックのうち指定された第nブロックからデータを取得するステップと、
     前記取得したデータに基づいて前記第nブロックの健全性を診断し次の外部信号の処理を促すステップと、
     前記次の外部信号を処理した後に第n+1ブロックの健全性を診断するステップと、を含むことを特徴とするプログラマブル制御方法。
  6.  コンピュータに、
     入力する外部信号をメモリ上のプログラムに基づいて逐次的に処理するステップと、
     前記メモリの領域を分割してなる複数のブロックのうち指定された第nブロックからデータを取得するステップと、
     前記取得したデータに基づいて前記第nブロックの健全性を診断し次の外部信号の処理を促すステップと、
     前記次の外部信号を処理した後に第n+1ブロックの健全性を診断するステップと、を実行させることを特徴とするプログラマブル制御プログラム。
PCT/JP2012/083339 2011-12-23 2012-12-21 プログラマブル制御装置、方法、及びプログラム WO2013094754A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/368,026 US20150005905A1 (en) 2011-12-23 2012-12-21 Programmable control apparatus, method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-282446 2011-12-23
JP2011282446A JP2013134508A (ja) 2011-12-23 2011-12-23 プログラマブル制御装置、方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2013094754A1 true WO2013094754A1 (ja) 2013-06-27

Family

ID=48668631

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/083339 WO2013094754A1 (ja) 2011-12-23 2012-12-21 プログラマブル制御装置、方法、及びプログラム

Country Status (3)

Country Link
US (1) US20150005905A1 (ja)
JP (1) JP2013134508A (ja)
WO (1) WO2013094754A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITUB20155310A1 (it) * 2015-10-27 2017-04-27 Kask Spa Fascia poggia fronte per caschi e casco provvisto di tale fascia poggia fronte.
CN106959905A (zh) * 2017-03-16 2017-07-18 北京龙鼎源科技股份有限公司 存储器诊断方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61182150A (ja) * 1985-02-07 1986-08-14 Nec Corp マイクロプロセツサシステムにおけるメモリ障害検出方式
JPH0742609A (ja) * 1993-07-28 1995-02-10 Nippondenso Co Ltd 車両用制御装置のメモリチェック装置
JP2006059382A (ja) * 2002-12-27 2006-03-02 Omron Corp プログラマブルコントローラ用ユニット及びメモリ自動復旧方法
WO2011081168A1 (ja) * 2009-12-28 2011-07-07 株式会社日立製作所 ソリッド・ステート・ドライブ装置および平準化管理情報の退避・回復方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61182150A (ja) * 1985-02-07 1986-08-14 Nec Corp マイクロプロセツサシステムにおけるメモリ障害検出方式
JPH0742609A (ja) * 1993-07-28 1995-02-10 Nippondenso Co Ltd 車両用制御装置のメモリチェック装置
JP2006059382A (ja) * 2002-12-27 2006-03-02 Omron Corp プログラマブルコントローラ用ユニット及びメモリ自動復旧方法
WO2011081168A1 (ja) * 2009-12-28 2011-07-07 株式会社日立製作所 ソリッド・ステート・ドライブ装置および平準化管理情報の退避・回復方法

Also Published As

Publication number Publication date
JP2013134508A (ja) 2013-07-08
US20150005905A1 (en) 2015-01-01

Similar Documents

Publication Publication Date Title
US7424642B2 (en) Method for synchronization of a controller
US20230244765A1 (en) Embedded processing system with multi-stage authentication
JP2014225276A (ja) 安全関連制御ユニットおよび自動化設備の制御方法
CN107463516B (zh) 控制装置
WO2013094754A1 (ja) プログラマブル制御装置、方法、及びプログラム
JP5422448B2 (ja) 制御装置
JP2009129463A (ja) 車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法
CN110825561A (zh) 控制系统以及控制装置
JP6502211B2 (ja) 車両制御装置
CN104698833B (zh) 冗余控制方法和系统
JP6437457B2 (ja) 制御および調節ユニットのシステム状態の不正操作を識別する装置および該装置を含む核技術設備
JP2016505183A5 (ja)
JP2016147585A (ja) 電子制御装置
US20230220843A1 (en) Monitoring and controlling the monitoring of vacuum systems
JP6434840B2 (ja) 電子制御装置
EP3557582A1 (en) Failure detection apparatus, failure detection method, and failure detection program
JP7338608B2 (ja) 装置、方法およびプログラム
JP6925954B2 (ja) 車両制御装置
JP5352815B2 (ja) 制御装置および制御方法
EP4050441A1 (en) Method and system for monitoring operation of a process plant
JP6914430B2 (ja) メモリ診断装置及びメモリ診断方法
JP2011128780A (ja) Ram診断装置、そのプログラム
JP2011203965A (ja) 自己診断装置及び自己診断方法
JP2005031724A (ja) 異常検出装置
JP6766587B2 (ja) 電子制御装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12860302

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14368026

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 12860302

Country of ref document: EP

Kind code of ref document: A1