WO2021053853A1 - 制御装置および制御方法 - Google Patents

制御装置および制御方法 Download PDF

Info

Publication number
WO2021053853A1
WO2021053853A1 PCT/JP2020/009061 JP2020009061W WO2021053853A1 WO 2021053853 A1 WO2021053853 A1 WO 2021053853A1 JP 2020009061 W JP2020009061 W JP 2020009061W WO 2021053853 A1 WO2021053853 A1 WO 2021053853A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
abnormality
soft error
control device
recorded
Prior art date
Application number
PCT/JP2020/009061
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 EP20866664.4A priority Critical patent/EP4033313A4/en
Priority to CN202080056783.9A priority patent/CN114222954A/zh
Priority to US17/635,370 priority patent/US20220334548A1/en
Publication of WO2021053853A1 publication Critical patent/WO2021053853A1/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
    • G05B19/0428Safety, monitoring
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • 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/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1105I-O
    • 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/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15057FPGA field programmable gate array

Definitions

  • the present invention relates to a control device and a control method.
  • Machines and equipment used at the production site are typically controlled by a control device such as a programmable logic controller (hereinafter, also referred to as PLC).
  • a control device such as a programmable logic controller (hereinafter, also referred to as PLC).
  • PLC programmable logic controller
  • the user uses an information processing device to create a control program that is executed by the control device.
  • Such a program freely designed and created by the user is also called a user program.
  • the PLC includes a central processing unit (hereinafter, also referred to as a CPU) and a functional unit such as an I / O (Input / Output) unit.
  • the I / O unit inputs signals from external switches and sensors and outputs signals to external relays and actuators.
  • the functional unit may be realized by using a programmable circuit such as FPGA (Field-programmable gate array).
  • Programmable circuits have the advantage that users can build their own circuits.
  • the programmable circuit has a demerit that a soft error may occur in which the information of the ConfigRAM (hereinafter, also referred to as CRAM) for storing the configuration data provided inside the programmable circuit is changed by radiation or the like. are doing.
  • CRAM ConfigRAM
  • SRAM Static random access memory
  • the CRAM contains a mixture of used areas that make up the functional unit and unused areas that do not make up the functional unit, and soft errors can occur in either the used area or the unused area. is there. If a soft error occurs in the used area, a problem may occur in the control of the control device, whereas if a soft error occurs in the unused area, a problem may occur in the control of the control device. Low sex. Therefore, in Patent Document 1, the position where the soft error occurs is determined based on the map information, and when the position where the soft error occurs is included in the unused area of the functional unit, the operation is continued and unnecessary operation is performed. A control device capable of preventing a stop is disclosed.
  • One aspect of the present invention is to reduce the load on the arithmetic processing unit related to the processing of soft errors in the control device.
  • the control device has an arithmetic processing unit capable of executing a user program, a programmable circuit unit connected to the arithmetic processing unit and constituting a functional unit, and an abnormality.
  • the programmable circuit unit includes a notification unit, and the programmable circuit unit includes a storage unit that stores configuration data of the functional unit, an abnormality detection unit that detects a soft error in the storage unit, and the software that the abnormality detection unit detects.
  • the abnormality recording unit includes an abnormality recording unit that records error information, and the abnormality notification unit determines whether or not new soft error information is recorded in the abnormality recording unit, and determines whether or not new soft error information is recorded, and the new soft error information. When it is determined that is recorded, the occurrence of the new soft error is notified to the arithmetic processing unit.
  • a control method for a control device is a control method for a control device including an arithmetic processing unit capable of executing a user program and a programmable circuit unit connected to the arithmetic processing unit to form a functional unit.
  • the abnormality detection step for detecting a soft error in the storage unit that stores the configuration data of the functional unit
  • the abnormality recording step for recording the information of the soft error detected in the abnormality detection step
  • the abnormality recording It is determined in the step whether or not the information of the new soft error is recorded, and when it is determined that the information of the new soft error is recorded, the occurrence of the new soft error is determined by the arithmetic processing unit. Includes an error notification step to notify.
  • FIG. 1 It is a block diagram which shows an example of the hardware composition of the control device which concerns on Embodiment 1 of this invention. It is a block diagram which shows the structural example of the FPGA part and the processor part in FIG. It is a figure which shows the timing of each step of the control method of the control device which concerns on FIG. It is a flowchart which shows the control method of the control device which concerns on FIG. It is a block diagram which shows the structural example of the FPGA part and the processor part in the control device which concerns on Embodiment 2 of this invention.
  • FIG. 1 is a block diagram showing an example of the hardware configuration of the control device 100 according to the first embodiment.
  • the control device 100 includes a processor unit (arithmetic processing unit) 10 and an FPGA unit (programmable circuit unit) 20.
  • the processor unit 10 By executing the user program, the processor unit 10 mainly performs processing related to control and operation of the controlled object.
  • the FPGA unit 20 constitutes a functional unit (functional unit) and executes a specific process on the digital value input from the processor unit 10.
  • FIG. 2 is a block diagram showing a configuration example of the FPGA unit 20 and the processor unit 10 in FIG.
  • the processor unit 10 includes an abnormality analysis unit 13.
  • the FPGA unit 20 includes a CRAM (storage unit) 21, an abnormality detection unit 22, an abnormality recording unit 24, and an abnormality notification unit 26.
  • the CRAM 21 stores the configuration data of the functional unit.
  • the abnormality detection unit 22 detects a soft error in the CRAM 21.
  • the abnormality recording unit 24 records information on soft errors detected by the abnormality detection unit 22.
  • the abnormality notification unit 26 determines whether or not new soft error information is recorded in the abnormality recording unit 24, and when it is determined that new soft error information is recorded, a new soft error is detected. The occurrence is interrupted and notified to the processor unit 10.
  • the abnormality notification unit 26 determines that new soft error information is not recorded in the abnormality recording unit 24, the abnormality notification unit 26 ends the process without performing an interrupt notification to the processor unit 10. can do. Therefore, it is possible to reduce the frequency of abnormality notification to the processor unit 10 and reduce the load on the processor unit 10 regarding the processing of soft errors.
  • the control device 100 of the first embodiment is implemented by using a PLC (Programmable Logic Controller) as an example.
  • the control device 100 calculates a command value by executing a program (system program, user program, etc.) stored in advance.
  • the control device 100 gives a command value to a control target (for example, a motor driver) connected via the I / O (Input / Output) unit 30. Further, the control device 100 acquires a state value from the control target. That is, the control device 100 can dynamically generate an appropriate command value by feeding back the state value of the control target, and can appropriately control the control target according to the situation.
  • a control target for example, a motor driver
  • I / O Input / Output
  • the control device 100 includes a processor unit 10, an FPGA unit 20, a ROM 11, a RAM 12, and an I / O unit 30. Each component in the control device 100 is connected by a bus. Examples of buses include parallel buses and serial buses such as I2C and SPI.
  • the processor unit 10 performs sequential processing, and the FPGA unit 20 performs parallel processing.
  • the processor unit 10 includes a CPU and executes a program stored in the ROM 11 and the RAM 12 to mainly perform processing related to control and operation of the controlled object.
  • the FPGA unit 20 constitutes a functional unit and executes a specific process on the digital value input from the processor unit 10.
  • the ROM 11 stores a program that controls the control device 100, data necessary for the operation of the program, and the like.
  • the RAM 12 functions as a work area of the processor unit 10.
  • the I / O unit 30 provides an interface with a controlled object.
  • the input / output device 200 is a device such as a touch panel that presents information to a user and receives an operation input from the user.
  • the FPGA unit 20 requires a configuration for writing configuration data in the device in order to configure a functional unit that executes a specific process. Generally, the FPGA unit 20 is configured immediately after the power is turned on to obtain a functional unit capable of performing a desired circuit operation.
  • the FPGA unit 20 performs error detection in order to detect a soft error in the CRAM.
  • the soft error detection of the FPGA unit 20 will be described in detail.
  • the processor unit 10 includes an abnormality analysis unit 13.
  • the FPGA unit 20 includes a CRAM 21, an abnormality detection unit 22, an abnormality reading unit 23, an abnormality recording unit 24, a timer unit 25, an abnormality notification unit 26, and a first communication interface (hereinafter referred to as a communication IF) 27. And.
  • the FPGA unit 20 reads the configuration data stored in the ROM (for example, ROM 11) outside the FPGA unit 20 and stores it in the CRAM 21 inside the FPGA unit 20.
  • the CRAM 21 storing the configuration data is used as a user circuit.
  • the CRAM 21 is, for example, an SRAM (Static random access memory).
  • the abnormality detection unit 22 detects a soft error in the CRAM 21 using, for example, a CRC (Cyclic Redundancy Check) code. Specifically, the abnormality detection unit 22 calculates a CRC value from the value of the data stored in the CRAM 21, and performs a CRC check in which the calculated CRC value is compared with the CRC value stored in the CRAM 21. .. If the calculated CRC value does not match the stored CRC value, the abnormality detection unit 22 detects a soft error in the CRAM 21. The abnormality detection unit 22 performs a CRC check on a plurality of frames included in the FPGA unit 20 in order, and when the CRC check of all the frames is completed, the CRC check is performed cyclically from the first frame again.
  • CRC Cyclic Redundancy Check
  • the abnormality detection unit 22 does not perform the CRC check with all the frames included in the FPGA unit 20 as one unit, but may divide the frames into predetermined blocks and perform the CRC check for each block. For example, the abnormality detection unit 22 may divide the FPGA unit 20 into four blocks from the block constituting the functional unit A to the blocks constituting the functional unit D, and perform a CRC check for each block.
  • the abnormality reading unit 23 reads the soft error information detected by the abnormality detecting unit 22 and writes it in the abnormality recording unit 24.
  • the abnormality recording unit 24 records information on soft errors detected by the abnormality detection unit 22.
  • the soft error information includes, for example, soft error position (error address) information and soft error type information. Types of soft errors include, for example, 1-bit errors and adjacent 2-bit errors.
  • the abnormality recording unit 24 includes one or more log registers and a status register as registers.
  • the abnormality recording unit 24 records the information of the first detected soft error in the first log register. Then, regarding the soft error detected after the second time, if the detected soft error information is the same as that recorded in the first log register, it is not recorded, and only when it is different, the soft error information is stored. 2 Record in the log register. Similarly, regarding the soft error detected after that, if the detected soft error information is the same as that recorded in the first log register or the second log register, it is not recorded, and only when it is different, the soft error is not recorded. Information is recorded in the third log register.
  • the abnormality recording unit 24 may display a warning prompting the user to restart the input / output device 200. Since the CRAM 21 is a volatile memory, the soft error of the CRAM 21 is eliminated when the control device 100 is restarted.
  • the abnormality recording unit 24 can record the status of each soft error recorded in the first, second, and third log registers and the detected number of detected soft errors in the status register.
  • the soft error statuses recorded in the first, second, and third log registers are referred to as the first, second, and third statuses, respectively.
  • the first, second and third statuses are initially set as "unanalyzed".
  • the timer unit 25 notifies the abnormality notification unit 26 of the start of the interrupt generation process every time a predetermined time elapses.
  • the abnormality notification unit 26 determines whether or not new soft error information is recorded in the abnormality recording unit 24.
  • the abnormality notification unit 26 can periodically perform the above determination process. Then, when it is determined that the information of the new soft error is recorded, the abnormality notification unit 26 interrupts and notifies the abnormality analysis unit 13 of the processor unit 10 of the occurrence of the new soft error.
  • the first communication IF 27 is a communication IF between the abnormality recording unit 24 and the abnormality analysis unit 13 of the processor unit 10 in the FPGA unit 20.
  • the processor unit 10 includes an abnormality analysis unit 13.
  • the abnormality analysis unit 13 When the abnormality analysis unit 13 notifies the occurrence of a new soft error from the abnormality notification unit 26, the abnormality analysis unit 13 analyzes the soft error information recorded in the abnormality recording unit 24, and determines that the soft error has been analyzed. Write to the error recording unit 24.
  • the position where the soft error has occurred is included in the used area in which the configuration data for configuring the functional unit is stored, or is included in the unused area in which the configuration data is not stored. Analyze whether it is possible. Further, when the position of the soft error is included in the used area, the abnormality analysis unit 13 may analyze whether or not the soft error countermeasure circuit portion is included in the used area.
  • FIG. 3 is a diagram showing the timing of each step of the control method of the control device 100.
  • the vertical axis shows the time.
  • a case where a soft error occurs in the CRAM 21 between the time t1 and the time t2 is shown.
  • the timer unit 25 notifies the abnormality notification unit 26 of the start of the interrupt generation process.
  • the abnormality notification unit 26 reads the soft error information from the abnormality recording unit 24. At this timing, no new soft error is detected, so the abnormality notification unit 26 ends the process as it is.
  • the abnormality detection unit 22 detects a soft error at regular intervals.
  • the abnormality reading unit 23 reads the soft error information detected by the abnormality detecting unit 22 and writes it in the abnormality recording unit 24.
  • the abnormality recording unit 24 records the information of the soft error detected by the abnormality detection unit 22 in a free log register.
  • the abnormality recording unit 24 writes the number of detected soft errors (the number of soft errors recorded in the log register) to the status register.
  • the timer unit 25 notifies the abnormality notification unit 26 of the start of the interrupt generation process.
  • the abnormality notification unit 26 reads the soft error information from the abnormality recording unit 24. At this timing, a new soft error is detected, so the abnormality notification unit 26 notifies the abnormality analysis unit 13 that an interrupt process is required.
  • the abnormality analysis unit 13 that received the interrupt notification from the abnormality notification unit 26 performs the interrupt processing.
  • the abnormality analysis unit 13 reads the status register and log register information from the abnormality recording unit 24 via the first communication IF27.
  • the anomaly analysis unit 13 analyzes new soft error information corresponding to the "unanalyzed" status.
  • the abnormality analysis unit 13 analyzes whether the position of the soft error is included in the used area that stores the configuration data of the functional unit or is included in the unused area that does not store the configuration data of the functional unit.
  • the abnormality analysis unit 13 obtains a "used area” or an "unused area” as an analysis result of the position of the soft error.
  • the abnormality analysis unit 13 writes "used area” or "unused area” as the status of the analyzed soft error in the status register of the abnormality recording unit 24 via the first communication IF27. A status of "used area” or “unused area” indicates that the corresponding soft error has been parsed. Further, the abnormality analysis unit 13 continues or stops the operation of the functional unit operating in the FPGA unit 20 according to the analysis result.
  • the timer unit 25 notifies the abnormality notification unit 26 of the start of the interrupt generation process.
  • the abnormality notification unit 26 reads the soft error information from the abnormality recording unit 24. At this timing, no new soft error is detected, so the abnormality notification unit 26 ends the process as it is.
  • FIG. 4 is a flowchart showing a control method of the control device 100.
  • the abnormality notification unit 26 receives soft error information (the number of detected soft errors and the first soft error) from the abnormality recording unit 24. , 2nd and 3rd status) (step S1).
  • the abnormality notification unit 26 determines whether or not the first status of the abnormality recording unit 24 has not been analyzed (step S2). If the first status is unanalyzed (YES in step S2), the process proceeds to step S21, and the abnormality notification unit 26 determines that the number of soft errors analyzed is 0.
  • step S2 If the first status is not unanalyzed (NO in step S2), the process proceeds to step S3, and the abnormality notification unit 26 determines whether or not the second status of the abnormality recording unit 24 is unanalyzed. If the second status is unanalyzed (YES in step S3), the process proceeds to step S31, and the abnormality notification unit 26 determines that the number of soft errors analyzed is 1.
  • step S3 If the second status is not unanalyzed (NO in step S3), the process proceeds to step S4, and the abnormality notification unit 26 determines whether or not the third status of the abnormality recording unit 24 is unanalyzed. If the third status is unanalyzed (YES in step S4), the process proceeds to step S41, and the abnormality notification unit 26 determines that the number of soft errors analyzed is 2.
  • step S4 If the third status is not unanalyzed (NO in step S4), the process proceeds to step S5, and the abnormality notification unit 26 determines that the number of soft error analyzes is 3. After the completion of steps S21, S31, S41 or S5, the process proceeds to step S6, and the abnormality notification unit 26 determines whether or not the number of soft errors analyzed is different from the number of soft errors detected.
  • the abnormality notification unit 26 determines that new soft error information is recorded in the log register of the abnormality recording unit 24. .. Then, the abnormality notification unit 26 notifies the abnormality analysis unit 13 that an interrupt process is required (step S7). After step S7, the process ends. If NO in step S6, the abnormality notification unit 26 ends the process without interrupting the abnormality analysis unit 13 of the processor unit 10.
  • the abnormality analysis unit 13 analyzes the soft error information recorded in the abnormality recording unit 24 and writes the analysis result in the abnormality recording unit 24. Therefore, the abnormality notification unit 26 can reliably determine whether or not new soft error information is recorded in the abnormality recording unit 24.
  • the abnormality analysis unit 13 analyzes whether the position where the soft error has occurred is included in the used area in which the configuration data of the functional unit is stored or in the unused area in which the configuration data is not stored. .. Therefore, when the position where the soft error occurs is included in the unused area of the functional unit, the operation can be continued, and unnecessary stoppage of the operation can be prevented.
  • the processor unit 10 performs sequential processing, and the FPGA unit 20 performs parallel processing. Therefore, since the FPGA unit 20 capable of parallel processing detects soft errors and records soft error information, it is unlikely that the progress of other processes will be hindered by these processes.
  • the processor unit 10 since the processor unit 10 performs sequential processing, it may be necessary to interrupt other processing when the occurrence of a soft error is notified.
  • the abnormality notification unit 26 determines that the abnormality recording unit 24 has recorded new soft error information, the abnormality notification unit 26 notifies the processor unit 10 of the occurrence of a new soft error, so that the arithmetic processing unit is softened.
  • the frequency of notification of the occurrence of an error is low. Therefore, even when the processor unit 10 performs sequential processing, the frequency of interrupting other processing can be reduced.
  • the abnormality notification unit 26 receives a notification from the timer unit 25 and periodically performs a process of determining whether or not new soft error information is recorded in the abnormality recording unit 24. Therefore, the abnormality notification unit 26 can perform a determination process of whether or not new soft error information is recorded without receiving a notification from the abnormality detection unit 22. Therefore, for example, the control device 100 can be realized by using an existing FPGA without changing the processing of the abnormality detection unit 22.
  • the FPGA unit 20 includes the abnormality notification unit 26, it is not necessary to provide another chip such as an ASIC in order to provide the abnormality notification unit 26. Therefore, the configuration of the control device 100 can be simplified.
  • FIG. 5 is a block diagram showing a configuration example of the FPGA unit 20 and the processor unit 10 in the control device 100 according to the second embodiment.
  • the second embodiment is different from the first embodiment in that the control device 100 further includes an ASIC unit 40, and the ASIC unit 40 includes a timer unit 45 and an abnormality notification unit 46.
  • the FPGA unit 20 includes a CRAM 21, an abnormality detection unit 22, an abnormality reading unit 23, an abnormality recording unit 24, a first communication IF27, and a second communication IF28.
  • the second communication IF 28 is a communication IF with the ASIC unit 40 in the FPGA unit 20.
  • the ASIC unit 40 includes a timer unit 45, an abnormality notification unit 46, and a third communication IF 47.
  • the timer unit 45 and the abnormality notification unit 46 of the ASIC unit 40 have the same functions as the timer unit 25 and the abnormality notification unit 26 of the FPGA unit 20 described in the first embodiment, respectively.
  • the third communication IF 47 is a communication IF with the FPGA unit 20 in the ASIC unit 40.
  • the timer unit 45 and the abnormality notification unit 46 may be formed in a circuit different from the FPGA unit 20 including the CRAM 21.
  • the abnormality notification unit 46 is provided in the ASIC unit 40, but may be provided in an FPGA unit different from the FPGA unit 20, or may be provided in a processor unit different from the processor unit 10. May be good.
  • the abnormality analysis unit 13 may write the number of analyzed soft errors (the number of soft errors whose status is not "unanalyzed") to the status register of the abnormality recording unit 24 via the first communication IF27. ..
  • the abnormality notification unit 26 may read the number of analyzed soft errors from the status register.
  • the abnormality recording unit 24 does not have to record the number of detected soft errors in the status register.
  • the abnormality notification unit 26 may specify the number of detected soft errors from the number of log registers in which soft errors are recorded.
  • the control device includes an arithmetic processing unit capable of executing a user program, a programmable circuit unit connected to the arithmetic processing unit and constituting a functional unit, and an abnormality notification unit.
  • the circuit unit includes a storage unit that stores the configuration data of the functional unit, an abnormality detection unit that detects a soft error in the storage unit, and an abnormality recording unit that records information on the soft error detected by the abnormality detection unit.
  • the abnormality notification unit determines whether or not new soft error information is recorded in the abnormality recording unit and determines that new soft error information is recorded. Notifies the occurrence of the new soft error to the arithmetic processing unit.
  • the abnormality notification unit when it is determined that the abnormality recording unit has recorded new soft error information, the abnormality notification unit notifies the arithmetic processing unit of the occurrence of a new soft error, so that the arithmetic processing is performed. It is possible to reduce the frequency of abnormal notifications to the department. Therefore, it is possible to reduce the load on the arithmetic processing unit related to the processing of soft errors.
  • the arithmetic processing unit analyzes the soft error information recorded in the abnormality recording unit when the abnormality notification unit notifies the occurrence of the new soft error.
  • An abnormality analysis unit may be provided to write to the abnormality recording unit that the soft error has been analyzed. According to the above configuration, the abnormality notification unit can reliably determine whether or not new soft error information is recorded in the abnormality recording unit.
  • the abnormality analysis unit stores the configuration data whether the position where the soft error occurs is included in the used area storing the configuration data of the functional unit. It may be analyzed whether it is included in the unused area. According to the above configuration, when the position where the soft error occurs is included in the unused area of the functional unit, the operation can be continued, so that unnecessary stoppage of the operation can be prevented.
  • the arithmetic processing unit may perform sequential processing, and the programmable circuit unit may perform parallel processing. According to the above configuration, since the programmable circuit unit capable of parallel processing detects soft errors and records soft error information, it is unlikely that the progress of other processes will be hindered by these processes.
  • the arithmetic processing unit since the arithmetic processing unit performs sequential processing, it may be necessary to interrupt other processing when the occurrence of a soft error is notified.
  • the abnormality notification unit determines that new soft error information is recorded in the abnormality recording unit, it notifies the arithmetic processing unit of the occurrence of a new soft error, so that the arithmetic processing unit is notified of the soft error.
  • the frequency of notification of occurrence is low. Therefore, even when the arithmetic processing unit performs sequential processing, the frequency of interrupting other processing can be reduced.
  • the abnormality notification unit may periodically perform a process of determining whether or not new soft error information is recorded in the abnormality recording unit.
  • the abnormality notification unit can perform a determination process of whether or not new soft error information is recorded without receiving a notification from the abnormality detection unit. Therefore, for example, the control device can be realized by using a commercially available FPGA without changing the processing of the abnormality detection unit.
  • the programmable circuit unit may include the abnormality notification unit. According to the above configuration, it is not necessary to provide another chip such as an ASIC (application specific integrated circuit) in order to provide the abnormality notification unit, so that the configuration of the control device can be simplified.
  • ASIC application specific integrated circuit
  • a control method for a control device is a control method for a control device including an arithmetic processing unit capable of executing a user program and a programmable circuit unit connected to the arithmetic processing unit to form a functional unit.
  • the abnormality detection step for detecting a soft error in the storage unit that stores the configuration data of the functional unit
  • the abnormality recording step for recording the information of the soft error detected in the abnormality detection step
  • the abnormality recording It is determined in the step whether or not the information of the new soft error is recorded, and when it is determined that the information of the new soft error is recorded, the occurrence of the new soft error is determined by the arithmetic processing unit. Includes an error notification step to notify.
  • control device may be realized by a computer.
  • the control device is realized by the computer by operating the computer as each part (software element) included in the control device.
  • the control program of the control device and the computer-readable recording medium on which it is recorded also fall within the scope of the present invention.
  • Processor unit (arithmetic processing unit) 13 Abnormality analysis unit 20 FPGA unit (programmable circuit unit) 21 CRAM (storage unit) 22 Abnormality detection unit 23 Abnormality reading unit 24 Abnormality recording unit 25, 45 Timer unit 26, 46 Abnormality notification unit 100 Control device

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)

Abstract

制御装置において、ソフトエラーの処理に関する演算処理部の負荷を低減する。制御装置(100)は、演算処理部(10)と、プログラマブル回路部(20)と、異常通知部(26)と、を備え、プログラマブル回路部(20)は、コンフィグレーションデータを格納する格納部(21)と、格納部(21)のソフトエラーを検出する異常検出部(22)と、異常検出部(22)が検出したソフトエラーの情報を記録する異常記録部(24)と、を備え、異常通知部(26)は、異常記録部(24)に新規のソフトエラーの情報が記録されているか否かを判定し、新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生を演算処理部(10)に通知する。

Description

制御装置および制御方法
 本発明は制御装置および制御方法に関する。
 生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下、PLCとも称す)などの制御装置によって制御される。典型的には、ユーザは、情報処理装置を用いて制御装置で実行される制御プログラムを作成する。このようなユーザによって自由に設計・作成されるプログラムをユーザプログラムとも称す。
 PLCは、中央処理装置(Central Processing Unit;以下、CPUとも称す)と、I/O(Input/Output)ユニットなどの機能ユニットとを含む。I/Oユニットは、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を行う。機能ユニットについては、FPGA(Field-programmable gate array)などのプログラマブル回路を用いて実現される場合がある。
 プログラマブル回路は、ユーザが独自に回路を構築できるメリットを有している。一方で、プログラマブル回路は、プログラマブル回路の内部に設けられたコンフィグレーションデータを格納するConfigRAM(以下、CRAMとも称す)の情報が放射線等により変更されるソフトエラーが発生する可能性があるデメリットを有している。特に、CRAMとしてSRAM(Static random access memory)を利用する場合、ソフトエラーが発生しやすい。
 CRAMには、機能ユニットを構成している使用領域と、機能ユニットを構成していない未使用領域とが混在しており、ソフトエラーは、使用領域および未使用領域のいずれでも発生する可能性がある。使用領域でソフトエラーが発生した場合には、制御装置の制御に不具合が生じる可能性があるのに対し、未使用領域でソフトエラーが発生した場合には、制御装置の制御に不具合が生じる可能性が低い。そこで特許文献1には、ソフトエラーが発生した位置をマップ情報に基づいて判定し、ソフトエラーが発生した位置が機能部の未使用領域に含まれる場合には、運転を継続して不要な運転停止を防止できる制御装置が開示されている。
日本国公開特許公報「特開2018-128820号公報」
 しかしながら、上述のような従来技術では、一度ソフトエラーが発生すると、FPGA部が周期的にエラー検出を行う度に、プロセッサ部に割込通知が送信される。そのため、プロセッサ部はその度に通常の処理を中断し、ソフトエラーの解析を行う必要がある。この場合、数ms~数十msに1回という高頻度で割込処理が発生するため、プロセッサ部での制御周期に揺らぎが発生し、高精度な制御が難しくなるという問題がある。
 本発明の一態様は、制御装置において、ソフトエラーの処理に関する演算処理部の負荷を低減することを目的とする。
 上記の課題を解決するために、本発明の一側面に係る制御装置は、ユーザプログラムを実行可能な演算処理部と、前記演算処理部に接続され、機能部を構成するプログラマブル回路部と、異常通知部と、を備え、前記プログラマブル回路部は、前記機能部のコンフィグレーションデータを格納する格納部と、前記格納部のソフトエラーを検出する異常検出部と、前記異常検出部が検出した前記ソフトエラーの情報を記録する異常記録部と、を備え、前記異常通知部は、前記異常記録部に新規の前記ソフトエラーの情報が記録されているか否かを判定し、新規の前記ソフトエラーの情報が記録されていると判定した場合に、前記新規のソフトエラーの発生を前記演算処理部に通知する。
 本発明の一側面に係る制御装置の制御方法は、ユーザプログラムを実行可能な演算処理部と、前記演算処理部に接続され、機能部を構成するプログラマブル回路部と、を備える制御装置の制御方法であって、前記機能部のコンフィグレーションデータを格納する格納部のソフトエラーを検出する異常検出ステップと、前記異常検出ステップで検出した前記ソフトエラーの情報を記録する異常記録ステップと、前記異常記録ステップで新規の前記ソフトエラーの情報が記録されているか否かを判定し、新規の前記ソフトエラーの情報が記録されていると判定した場合に、前記新規のソフトエラーの発生を前記演算処理部に通知する異常通知ステップとを含む。
 本発明の一態様によれば、制御装置において、ソフトエラーの処理に関する演算処理部の負荷を低減することができる。
本発明の実施形態1に係る制御装置のハードウェア構成の一例を表すブロック図である。 図1におけるFPGA部およびプロセッサ部の構成例を示すブロック図である。 図1に係る制御装置の制御方法の各ステップのタイミングを示す図である。 図1に係る制御装置の制御方法を示すフローチャートである。 本発明の実施形態2に係る制御装置において、FPGA部およびプロセッサ部の構成例を示すブロック図である。
 以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。
 〔実施形態1〕
 §1 適用例
 図1は、実施形態1における制御装置100のハードウェア構成の一例を表すブロック図である。まず、図1を用いて、本発明が適用される場面の一例について説明する。制御装置100は、プロセッサ部(演算処理部)10と、FPGA部(プログラマブル回路部)20とを備える。プロセッサ部10は、ユーザプログラムを実行することで、主に、制御対象の制御および動作に係る処理を行う。FPGA部20は、機能ユニット(機能部)を構成し、プロセッサ部10から入力されたデジタル値に対して特定の処理を実行する。
 図2は、図1におけるFPGA部20およびプロセッサ部10の構成例を示すブロック図である。プロセッサ部10は、異常解析部13を備える。FPGA部20は、CRAM(格納部)21と、異常検出部22と、異常記録部24と、異常通知部26とを備える。CRAM21は、機能部のコンフィグレーションデータを格納する。異常検出部22は、CRAM21のソフトエラーを検出する。異常記録部24は、異常検出部22が検出したソフトエラーの情報を記録する。異常通知部26は、異常記録部24に新規のソフトエラーの情報が記録されているか否かを判定し、新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生をプロセッサ部10に割込通知する。
 本実施形態によれば、異常通知部26は、異常記録部24に新規のソフトエラーの情報が記録されていないと判定した場合には、プロセッサ部10に割込通知を行わずに処理を終了することができる。したがって、プロセッサ部10に対する異常通知の頻度を低下させ、ソフトエラーの処理に関するプロセッサ部10の負荷を低減することができる。
 §2 構成例
 図1に示すように、実施形態1の制御装置100は、一例として、PLC(Programmable Logic Controller)を用いて実装される。制御装置100は、予め格納されたプログラム(システムプログラムおよびユーザプログラムなど)を実行することで指令値を算出する。制御装置100は、指令値を、I/O(Input/Output)ユニット30を介して接続される制御対象(例えば、モータドライバなど)に与える。また、制御装置100は、当該制御対象から状態値を取得する。すなわち、制御装置100は、制御対象の状態値をフィードバックすることで、適切な指令値を動的に生成し、状況に応じて適切に制御対象を制御できる。
 制御装置100は、プロセッサ部10と、FPGA部20と、ROM11と、RAM12と、I/Oユニット30とを備える。制御装置100内の各部品は、バスによって接続されている。バスの例としては、パラレルバス、ならびに、I2CおよびSPI等のシリアルバスが挙げられる。プロセッサ部10は逐次処理を行い、FPGA部20は並列処理を行う。
 プロセッサ部10は、CPUを含み、ROM11およびRAM12に格納されたプログラムを実行することで、主に、制御対象の制御および動作に係る処理を行う。FPGA部20は、機能ユニットを構成し、プロセッサ部10から入力されたデジタル値に対して特定の処理を実行する。ROM11は、制御装置100を制御するプログラムおよび、プログラムの動作に必要なデータ等を格納する。RAM12は、プロセッサ部10のワークエリアとして機能する。I/Oユニット30は、制御対象との間のインターフェースを提供する。入出力機器200は、タッチパネルのように、ユーザに対して情報を提示し、ユーザからの操作入力を受け付ける装置である。
 FPGA部20は、特定の処理を実行する機能ユニットを構成するために、デバイス内にコンフィグレーションデータを書き込むコンフィグレーションを必要とする。一般的には、電源投入直後にFPGA部20に対してコンフィグレーションを行い、所望の回路動作が可能な機能ユニットを得ることになる。
 しかし、FPGA部20では、コンフィグレーションデータを格納したCRAMの情報が放射線等により変更されるソフトエラーが発生する可能性がある。そのため、FPGA部20は、CRAMのソフトエラーを検出するためにエラー検出を行っている。以下、FPGA部20のソフトエラー検出について詳しく説明する。
 図2に示すように、プロセッサ部10は、異常解析部13を備える。FPGA部20は、CRAM21と、異常検出部22と、異常読取部23と、異常記録部24と、タイマー部25と、異常通知部26と、第1通信インターフェース(以下、通信IFと称す)27とを備える。
 FPGA部20は、起動時に、FPGA部20の外部のROM(例えばROM11)に格納されたコンフィグレーションデータを読み出し、FPGA部20の内部のCRAM21に格納する。コンフィグレーションデータを格納したCRAM21は、ユーザ回路として使用される。ここで、CRAM21は、例えばSRAM(Static random access memory)である。
 異常検出部22は、例えばCRC(Cyclic Redundancy Check)コードを用いて、CRAM21のソフトエラーの検出を行う。具体的には、異常検出部22は、CRAM21に格納されているデータの値からCRC値を計算し、この計算されたCRC値を、CRAM21に格納されているCRC値と比較するCRCチェックを行う。計算されたCRC値が格納されているCRC値と一致しなければ、異常検出部22はCRAM21のソフトエラーを検出する。異常検出部22は、FPGA部20に含まれる複数のフレームに対し順にCRCチェックを行い、全てのフレームのCRCチェックが完了すると、再度最初のフレームからサイクリックにCRCチェックを行う。
 なお、異常検出部22は、FPGA部20に含まれる全てのフレームを1つの単位としてCRCチェックを行うのではなく、予め定められたブロックに分け、当該ブロック毎にCRCチェックを行ってもよい。例えば、異常検出部22は、機能ユニットAを構成するブロックから機能ユニットDを構成するブロックの4つのブロックにFPGA部20を分け、それぞれのブロック毎にCRCチェックを行ってもよい。
 異常読取部23は、異常検出部22が検出したソフトエラーの情報を読み取り、異常記録部24に書き込む。異常記録部24は、異常検出部22が検出したソフトエラーの情報を記録する。ソフトエラーの情報は、例えばソフトエラーの位置(エラーアドレス)の情報およびソフトエラーの種類の情報を含む。ソフトエラーの種類としては、例えば1ビットエラーおよび隣接2ビットエラーが挙げられる。異常記録部24は、レジスタとして、1つ以上のログレジスタと、ステータスレジスタとを含む。
 異常記録部24は、最初に検出したソフトエラーの情報を第1ログレジスタに記録する。そして、2回目以降に検出したソフトエラーについては、検出したソフトエラーの情報が第1ログレジスタに記録されているものと同一であれば記録せず、異なる場合のみ、そのソフトエラーの情報を第2ログレジスタに記録する。同様に、その後に検出したソフトエラーについては、検出したソフトエラーの情報が第1ログレジスタまたは第2ログレジスタに記録されているものと同一であれば記録せず、異なる場合のみ、そのソフトエラーの情報を第3ログレジスタに記録する。
 本実施形態では、第1~第3ログレジスタの合計3つのログレジスタが設けられているが、ログレジスタの数はこれに限定されず、2つ以下または4つ以上のログレジスタが設けられていてもよい。なお、本実施形態において、異常検出部22が4個目のソフトエラーを検出した場合、異常記録部24はユーザに再起動を促す警告を入出力機器200に表示してもよい。CRAM21は揮発性メモリであるため、制御装置100が再起動されると、CRAM21のソフトエラーは除去される。
 また、異常記録部24は、第1、第2および第3ログレジスタに記録された各ソフトエラーのステータスおよび検出されたソフトエラーの検出個数をステータスレジスタに記録することができる。なお、本明細書において、第1、第2および第3ログレジスタに記録されたソフトエラーのステータスをそれぞれ、第1、第2および第3ステータスと称する。第1、第2および第3ステータスは、初期状態では「未解析」として設定されている。
 タイマー部25は、所定時間の経過ごとに、異常通知部26に対して割込生成プロセスの開始を通知する。異常通知部26は、タイマー部25からの通知を受けたときに、異常記録部24に新規のソフトエラーの情報が記録されているか否かを判定する。タイマー部25からの通知により、異常通知部26は定期的に上記の判定処理を行うことができる。そして、異常通知部26は、新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生をプロセッサ部10の異常解析部13に割込通知する。
 第1通信IF27は、FPGA部20における、異常記録部24とプロセッサ部10の異常解析部13との間の通信IFである。
 プロセッサ部10は、異常解析部13を備える。異常解析部13は、異常通知部26から新規のソフトエラーの発生を通知されたときに、異常記録部24に記録されたソフトエラーの情報を解析し、該ソフトエラーが解析済であることを異常記録部24に書き込む。異常解析部13は、例えばソフトエラーが発生した位置が、機能ユニットを構成するためのコンフィグレーションデータが格納された使用領域に含まれるか、該コンフィグレーションデータが格納されていない未使用領域に含まれるかを解析する。また、異常解析部13は、ソフトエラーの位置が使用領域に含まれる場合、使用領域のうちのソフトエラー対策済回路部分であるか否かを解析してもよい。ソフトエラー対策済回路の例としては、冗長回路が挙げられる。
§3 動作例
 図3は、制御装置100の制御方法の各ステップのタイミングを示す図である。縦軸は時刻を示す。図3の例では、時刻t1と時刻t2との間で、CRAM21にソフトエラーが発生する場合を示す。図3に示すように、まず時刻t1において、タイマー部25が異常通知部26に対して割込生成プロセスの開始を通知する。タイマー部25からの通知を受けた異常通知部26は、異常記録部24からソフトエラーの情報を読み取る。このタイミングでは、新規のソフトエラーが検出されないので、異常通知部26はこのまま処理を終了する。
 そして、時刻t1と時刻t2との間で、CRAM21にソフトエラーが発生したとする。異常検出部22は、一定期間毎にソフトエラーを検出する。異常読取部23は、異常検出部22が検出したソフトエラーの情報を読み取り、異常記録部24に書き込む。異常記録部24は、異常検出部22が検出したソフトエラーの情報を空いているログレジスタに記録する。異常記録部24は、ソフトエラーの検出個数(ログレジスタに記録されているソフトエラーの個数)をステータスレジスタに書き込む。
 時刻t1から所定時間経過した時刻t2において、タイマー部25が異常通知部26に対して割込生成プロセスの開始を通知する。タイマー部25からの通知を受けた異常通知部26は、異常記録部24からソフトエラーの情報を読み取る。このタイミングでは、新規のソフトエラーが検出されるため、異常通知部26は異常解析部13に割込処理が必要であることを割込通知する。
 異常通知部26からの割込通知を受けた異常解析部13は、割込処理を行う。異常解析部13は、第1通信IF27を介して、異常記録部24から、ステータスレジスタおよびログレジスタの情報を読み取る。異常解析部13は、「未解析」のステータスに対応する新規のソフトエラーの情報を解析する。
 異常解析部13は、ソフトエラーの位置が機能ユニットのコンフィグレーションデータを格納している使用領域に含まれるか機能ユニットのコンフィグレーションデータを格納していない未使用領域に含まれるかを解析する。異常解析部13は、ソフトエラーの位置の解析結果として、「使用領域」または「未使用領域」を得る。
 異常解析部13は、第1通信IF27を介して、異常記録部24のステータスレジスタに、解析したソフトエラーのステータスとして「使用領域」または「未使用領域」を書き込む。ステータスが「使用領域」または「未使用領域」であることは、対応するソフトエラーが解析済であることを示す。また、異常解析部13は、解析結果に応じて、FPGA部20で動作する機能ユニットの動作を継続または停止させる。
 そして、時刻t2から所定時間経過した時刻t3において、タイマー部25が異常通知部26に対して割込生成プロセスの開始を通知する。タイマー部25からの通知を受けた異常通知部26は、異常記録部24からソフトエラーの情報を読み取る。このタイミングでは、新規のソフトエラーが検出されないので、異常通知部26はこのまま処理を終了する。
 図4は、制御装置100の制御方法を示すフローチャートである。図4に示すように、タイマー部25から割込生成プロセスの開始を通知されると、異常通知部26は、異常記録部24から、ソフトエラーの情報(ソフトエラーの検出個数、ならびに、第1、第2および第3ステータス)を読み取る(ステップS1)。
 次いで異常通知部26は、異常記録部24の第1ステータスが未解析であるか否かを判定する(ステップS2)。第1ステータスが未解析である場合(ステップS2でYES)、ステップS21に進み、異常通知部26は、ソフトエラーの解析個数が0であると判定する。
 第1ステータスが未解析ではない場合(ステップS2でNO)、ステップS3に進み、異常通知部26は、異常記録部24の第2ステータスが未解析であるか否かを判定する。第2ステータスが未解析である場合(ステップS3でYES)、ステップS31に進み、異常通知部26は、ソフトエラーの解析個数が1であると判定する。
 第2ステータスが未解析ではない場合(ステップS3でNO)、ステップS4に進み、異常通知部26は、異常記録部24の第3ステータスが未解析であるか否かを判定する。第3ステータスが未解析である場合(ステップS4でYES)、ステップS41に進み、異常通知部26は、ソフトエラーの解析個数が2であると判定する。
 第3ステータスが未解析ではない場合(ステップS4でNO)、ステップS5に進み、異常通知部26は、ソフトエラーの解析個数が3であると判定する。ステップS21、S31、S41またはS5の終了後、ステップS6に進み、異常通知部26は、ソフトエラーの解析個数が、ソフトエラーの検出個数と異なるか否かを判定する。
 ソフトエラーの検出個数が、ソフトエラーの解析個数と異なる場合(ステップS6でYES)、異常通知部26は、新規のソフトエラーの情報が異常記録部24のログレジスタに記録されていると判定する。そして、異常通知部26は異常解析部13に割込処理が必要であることを割込通知する(ステップS7)。ステップS7の後、処理が終了する。ステップS6でNOの場合、異常通知部26はプロセッサ部10の異常解析部13に割込通知を行うことなく、処理が終了する。
 [作用・効果]
 以上のように、上記の構成によれば、異常通知部26は、異常記録部24に新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生をプロセッサ部10に通知する。したがって、プロセッサ部10に対する異常通知の頻度を低下させ、ソフトエラーの処理に関するプロセッサ部10の負荷を低減することができる。
 また、異常解析部13は、異常記録部24に記録されたソフトエラーの情報を解析し、解析結果を異常記録部24に書き込む。したがって、異常通知部26は、異常記録部24に新規のソフトエラーの情報が記録されているか否かを確実に判定することができる。
 また、異常解析部13は、ソフトエラーが発生した位置が機能部のコンフィグレーションデータを格納している使用領域に含まれるかコンフィグレーションデータを格納していない未使用領域に含まれるかを解析する。したがって、ソフトエラーが発生した位置が機能部の未使用領域に含まれる場合、運転を継続することができるため、不要な運転停止を防止することができる。
 また、プロセッサ部10は逐次処理を行い、FPGA部20は並列処理を行う。したがって、並列処理が可能なFPGA部20がソフトエラーの検出およびソフトエラーの情報の記録を行うため、これらの処理のために他の処理の進行を妨げる可能性が低い。
 一方、プロセッサ部10は逐次処理を行うので、ソフトエラーの発生が通知されると、他の処理を中断する必要が生じることがある。しかし、異常通知部26は、異常記録部24に新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生をプロセッサ部10に通知するので、演算処理部にソフトエラーの発生が通知される頻度は低い。したがって、プロセッサ部10が逐次処理を行う場合であっても、他の処理を中断する頻度を低下させることができる。
 また、異常通知部26は、タイマー部25からの通知を受けて、定期的に異常記録部24に新規のソフトエラーの情報が記録されているか否かを判定する処理を行う。したがって、異常通知部26は、異常検出部22から通知を受けることなく、新規のソフトエラーの情報が記録されているか否かの判定処理を行うことができる。そのため、例えば既存のFPGAを用いて異常検出部22の処理を変更することなく制御装置100を実現することができる。
 また、FPGA部20が異常通知部26を備えるので、異常通知部26を設けるためにASIC等の別のチップを設ける必要がない。したがって、制御装置100の構成を単純にすることができる。
 〔実施形態2〕
 本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
 図5は、実施形態2に係る制御装置100において、FPGA部20およびプロセッサ部10の構成例を示すブロック図である。実施形態2は、制御装置100がASIC部40を更に備え、ASIC部40がタイマー部45および異常通知部46を備える点で、実施形態1と異なる。
 具体的には、FPGA部20は、CRAM21と、異常検出部22と、異常読取部23と、異常記録部24と、第1通信IF27と、第2通信IF28とを備える。第2通信IF28は、FPGA部20におけるASIC部40との通信IFである。
 ASIC部40は、タイマー部45と、異常通知部46と、第3通信IF47とを備える。ASIC部40のタイマー部45および異常通知部46はそれぞれ、実施形態1で説明したFPGA部20のタイマー部25および異常通知部26と同様の機能を有する。第3通信IF47は、ASIC部40におけるFPGA部20との通信IFである。
 このように、タイマー部45および異常通知部46は、CRAM21を含むFPGA部20とは別の回路に形成されていてもよい。
§4 変形例
 以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。
 実施形態2では、異常通知部46はASIC部40に設けられているが、FPGA部20とは別のFPGA部に設けられてもよく、またはプロセッサ部10とは別のプロセッサ部に設けられてもよい。
 なお、異常解析部13は、第1通信IF27を介して、異常記録部24のステータスレジスタに、解析済のソフトエラーの個数(ステータスが「未解析」ではないソフトエラーの個数)を書き込んでもよい。異常通知部26は、ステータスレジスタから解析済のソフトエラーの個数を読み取ってもよい。
 なお、異常記録部24は、ステータスレジスタにソフトエラーの検出個数を記録していなくてもよい。異常通知部26は、ソフトエラーが記録されているログレジスタの個数からソフトエラーの検出個数を特定してもよい。
 〔まとめ〕
 本発明の一側面に係る制御装置は、ユーザプログラムを実行可能な演算処理部と、前記演算処理部に接続され、機能部を構成するプログラマブル回路部と、異常通知部と、を備え、前記プログラマブル回路部は、前記機能部のコンフィグレーションデータを格納する格納部と、前記格納部のソフトエラーを検出する異常検出部と、前記異常検出部が検出した前記ソフトエラーの情報を記録する異常記録部と、を備え、前記異常通知部は、前記異常記録部に新規の前記ソフトエラーの情報が記録されているか否かを判定し、新規の前記ソフトエラーの情報が記録されていると判定した場合に、前記新規のソフトエラーの発生を前記演算処理部に通知する。
 上記の構成によれば、異常通知部は、異常記録部に新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生を演算処理部に通知するので、演算処理部に対する異常通知の頻度を低下させることができる。したがって、ソフトエラーの処理に関する演算処理部の負荷を低減することができる。
 前記一側面に係る制御装置において、前記演算処理部は、前記異常通知部から前記新規のソフトエラーの発生を通知されたときに、前記異常記録部に記録された前記ソフトエラーの情報を解析し、該ソフトエラーが解析済であることを前記異常記録部に書き込む異常解析部を備えてもよい。上記の構成によれば、異常通知部は、異常記録部に新規のソフトエラーの情報が記録されているか否かを確実に判定することができる。
 前記一側面に係る制御装置において、前記異常解析部は、前記ソフトエラーが発生した位置が前記機能部の前記コンフィグレーションデータを格納している使用領域に含まれるか前記コンフィグレーションデータを格納していない未使用領域に含まれるかを解析してもよい。上記の構成によれば、ソフトエラーが発生した位置が機能部の未使用領域に含まれる場合、運転を継続することができるため、不要な運転停止を防止することができる。
 前記一側面に係る制御装置において、前記演算処理部は逐次処理を行い、前記プログラマブル回路部は並列処理を行ってもよい。上記の構成によれば、並列処理が可能なプログラマブル回路部がソフトエラーの検出およびソフトエラーの情報の記録を行うため、これらの処理のために他の処理の進行を妨げる可能性が低い。
 一方、演算処理部は逐次処理を行うので、ソフトエラーの発生が通知されると、他の処理を中断する必要が生じることがある。しかし、異常通知部は、異常記録部に新規のソフトエラーの情報が記録されていると判定した場合に、新規のソフトエラーの発生を演算処理部に通知するので、演算処理部にソフトエラーの発生が通知される頻度は低い。したがって、演算処理部が逐次処理を行う場合であっても、他の処理を中断する頻度を低下させることができる。
 前記一側面に係る制御装置において、前記異常通知部は、定期的に前記異常記録部に新規の前記ソフトエラーの情報が記録されているか否かを判定する処理を行ってもよい。上記の構成によれば、異常通知部は、異常検出部から通知を受けることなく、新規のソフトエラーの情報が記録されているか否かの判定処理を行うことができる。そのため、例えば市販のFPGAを用いて異常検出部の処理を変更することなく前記制御装置を実現することができる。
 前記一側面に係る制御装置において、前記プログラマブル回路部が前記異常通知部を備えてもよい。上記の構成によれば、異常通知部を設けるためにASIC(application specific integrated circuit)等の別のチップを設ける必要がないので、制御装置の構成を単純にすることができる。
 本発明の一側面に係る制御装置の制御方法は、ユーザプログラムを実行可能な演算処理部と、前記演算処理部に接続され、機能部を構成するプログラマブル回路部と、を備える制御装置の制御方法であって、前記機能部のコンフィグレーションデータを格納する格納部のソフトエラーを検出する異常検出ステップと、前記異常検出ステップで検出した前記ソフトエラーの情報を記録する異常記録ステップと、前記異常記録ステップで新規の前記ソフトエラーの情報が記録されているか否かを判定し、新規の前記ソフトエラーの情報が記録されていると判定した場合に、前記新規のソフトエラーの発生を前記演算処理部に通知する異常通知ステップとを含む。
 本発明の各態様に係る制御装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記制御装置が備える各部(ソフトウェア要素)として動作させることにより前記制御装置をコンピュータにて実現させる制御装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
10 プロセッサ部(演算処理部)
13 異常解析部
20 FPGA部(プログラマブル回路部)
21 CRAM(格納部)
22 異常検出部
23 異常読取部
24 異常記録部
25、45 タイマー部
26、46 異常通知部
100 制御装置

Claims (7)

  1.  ユーザプログラムを実行可能な演算処理部と、
     前記演算処理部に接続され、機能部を構成するプログラマブル回路部と、
     異常通知部と、を備え、
     前記プログラマブル回路部は、
      前記機能部のコンフィグレーションデータを格納する格納部と、
      前記格納部のソフトエラーを検出する異常検出部と、
      前記異常検出部が検出した前記ソフトエラーの情報を記録する異常記録部と、を備え、
     前記異常通知部は、
      前記異常記録部に新規の前記ソフトエラーの情報が記録されているか否かを判定し、
      新規の前記ソフトエラーの情報が記録されていると判定した場合に、前記新規のソフトエラーの発生を前記演算処理部に通知する、制御装置。
  2.  前記演算処理部は、
      前記異常通知部から前記新規のソフトエラーの発生を通知されたときに、前記異常記録部に記録された前記ソフトエラーの情報を解析し、該ソフトエラーが解析済であることを前記異常記録部に書き込む異常解析部を備える、請求項1に記載の制御装置。
  3.  前記異常解析部は、前記ソフトエラーが発生した位置が前記機能部の前記コンフィグレーションデータを格納している使用領域に含まれるか前記コンフィグレーションデータを格納していない未使用領域に含まれるかを解析する、請求項2に記載の制御装置。
  4.  前記演算処理部は逐次処理を行い、前記プログラマブル回路部は並列処理を行う、請求項1から3のいずれか1項に記載の制御装置。
  5.  前記異常通知部は、定期的に前記異常記録部に新規の前記ソフトエラーの情報が記録されているか否かを判定する処理を行う、請求項1から4のいずれか1項に記載の制御装置。
  6.  前記プログラマブル回路部が前記異常通知部を備える、請求項1から5のいずれか1項に記載の制御装置。
  7.  ユーザプログラムを実行可能な演算処理部と、前記演算処理部に接続され、機能部を構成するプログラマブル回路部と、を備える制御装置の制御方法であって、
     前記機能部のコンフィグレーションデータを格納する格納部のソフトエラーを検出する異常検出ステップと、
     前記異常検出ステップで検出した前記ソフトエラーの情報を記録する異常記録ステップと、
     前記異常記録ステップで新規の前記ソフトエラーの情報が記録されているか否かを判定し、新規の前記ソフトエラーの情報が記録されていると判定した場合に、前記新規のソフトエラーの発生を前記演算処理部に通知する異常通知ステップとを含む、制御装置の制御方法。
PCT/JP2020/009061 2019-09-17 2020-03-04 制御装置および制御方法 WO2021053853A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20866664.4A EP4033313A4 (en) 2019-09-17 2020-03-04 CONTROL DEVICE AND CONTROL METHOD
CN202080056783.9A CN114222954A (zh) 2019-09-17 2020-03-04 控制装置以及控制方法
US17/635,370 US20220334548A1 (en) 2019-09-17 2020-03-04 Control device and control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-168578 2019-09-17
JP2019168578A JP7268554B2 (ja) 2019-09-17 2019-09-17 制御装置および制御方法

Publications (1)

Publication Number Publication Date
WO2021053853A1 true WO2021053853A1 (ja) 2021-03-25

Family

ID=74878455

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/009061 WO2021053853A1 (ja) 2019-09-17 2020-03-04 制御装置および制御方法

Country Status (5)

Country Link
US (1) US20220334548A1 (ja)
EP (1) EP4033313A4 (ja)
JP (1) JP7268554B2 (ja)
CN (1) CN114222954A (ja)
WO (1) WO2021053853A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293856A (ja) * 2006-04-21 2007-11-08 Altera Corp プログラマブルデバイスに対するソフトエラーロケーションおよび感度検出
JP2017091456A (ja) * 2015-11-17 2017-05-25 富士通株式会社 制御装置、制御プログラムおよび制御方法
JP2018022277A (ja) * 2016-08-02 2018-02-08 Necプラットフォームズ株式会社 プログラマブルロジックデバイス、情報処理装置、ソフトエラー記録方法、及びソフトエラー記録プログラム
JP2018128820A (ja) 2017-02-08 2018-08-16 オムロン株式会社 制御装置およびその制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006169661A (ja) * 2004-12-15 2006-06-29 Murata Mach Ltd 解析装置及びこれを備えた機械設備と解析プログラム
JP6183754B2 (ja) * 2014-05-21 2017-08-23 パナソニックIpマネジメント株式会社 監視装置、およびそれを用いた監視システム
JP2018077638A (ja) 2016-11-08 2018-05-17 富士通株式会社 データ処理装置、これを用いた伝送装置、及びデータ処理方法
CN109840718B (zh) * 2019-02-28 2023-02-07 东北大学 一种基于组态的生产指标可视化监控系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293856A (ja) * 2006-04-21 2007-11-08 Altera Corp プログラマブルデバイスに対するソフトエラーロケーションおよび感度検出
JP2017091456A (ja) * 2015-11-17 2017-05-25 富士通株式会社 制御装置、制御プログラムおよび制御方法
JP2018022277A (ja) * 2016-08-02 2018-02-08 Necプラットフォームズ株式会社 プログラマブルロジックデバイス、情報処理装置、ソフトエラー記録方法、及びソフトエラー記録プログラム
JP2018128820A (ja) 2017-02-08 2018-08-16 オムロン株式会社 制御装置およびその制御方法

Also Published As

Publication number Publication date
JP2021047526A (ja) 2021-03-25
EP4033313A4 (en) 2023-10-18
US20220334548A1 (en) 2022-10-20
CN114222954A (zh) 2022-03-22
EP4033313A1 (en) 2022-07-27
JP7268554B2 (ja) 2023-05-08

Similar Documents

Publication Publication Date Title
JP6880795B2 (ja) 制御装置およびその制御方法
US7987398B2 (en) Reconfigurable device
CN107003915B (zh) 驱动控制装置
WO2015068285A1 (ja) プログラマブルデバイス及びこれを用いた電子システム装置
JP2005235074A (ja) Fpgaのソフトエラー補正方法
JP4359632B2 (ja) プロセッサ動作検査システム及び動作検査回路
WO2021053853A1 (ja) 制御装置および制御方法
JP5627414B2 (ja) 動作ログ収集システム及びプログラム
JP6729825B1 (ja) 情報処理装置、制御方法およびプログラム
JP2014206821A (ja) 安全関連装置、そのプログラム
JP2015216507A (ja) Fpgaを搭載する装置
JP2021033623A (ja) 制御装置、ユーザプログラムの実行制御方法、およびシステムプログラム
JP5645262B2 (ja) 情報処理装置
WO2024176329A1 (ja) 誤り訂正回路、制御装置、及び方法
JP2008251821A (ja) 論理プログラマブルデバイスの復旧装置
JP5768434B2 (ja) 相互監視システム
JP6660818B2 (ja) 制御装置
JP2023177118A (ja) 異常ログ取得装置、異常ログ記憶方法及びプログラム
JP2006155107A (ja) 命令処理停止手段を持つ命令制御装置におけるハードウェアエラー制御方式
CN116069442A (zh) 信息处理装置、车辆以及信息处理方法
JP6337548B2 (ja) 論理集積回路
JPH04168522A (ja) 二重化外部記憶装置処理方式
JPH07104999A (ja) マイクロコンピュータ
JPH06309246A (ja) 情報処理システム
JP2010182080A (ja) I/o命令障害回復回路、i/o命令障害回復方法及びi/o命令障害回復プログラム

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020866664

Country of ref document: EP

Effective date: 20220419