Device, method and computer readable storage medium
By introducing diagnostic, error detection and abnormal determination units into the input and output devices, the problem of difficult to distinguish soft errors from normal situations in the prior art is solved, and the reliability and usability of the system are improved.
Patent Information
- Application Number
- CN202111268587.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-10-30
- Filing Date
- 2021-10-29
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2041-10-29
AI Technical Summary
When the prior art determines that the input and output device is abnormal, it is difficult to distinguish soft errors from normal situations, resulting in unnecessary stops or misjudgment.
A device is provided, including a diagnostic unit, an error detection unit, and an abnormality determination unit. The diagnostic unit diagnoses the input and output functions, and the error detection unit detects the error in configuring the storage area. The abnormality determination unit does not determine that it is abnormal when the error is detected but the input and output functions are normal.
It improves the reliability and availability of input and output devices, avoids unnecessary stops and misjudgments, and ensures the stable operation of the system.
Smart Images

Figure CN114442516B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an apparatus, a method and a computer-readable storage medium. Background Art
[0002] Patent Document 1 states that “According to the control device, the abnormality determination unit can determine whether the location of the soft error is an unused portion or a used portion of the functional unit, thereby achieving high reliability and preventing unnecessary stoppage” (Paragraph 0017).
[0003] Prior art literature
[0004] Patent Literature
[0005] Patent Document 1: Japanese Patent Application Publication No. 2018-128820 Summary of the invention
[0006] In the first aspect of the present invention, a device is provided. Alternatively, the device may include a diagnostic unit that diagnoses a programmed input / output function in an input / output device, the input / output device having a programmable circuit whose circuit structure is programmed by setting configuration data, and performs input / output actions corresponding to the input / output function programmed in the programmable circuit. Alternatively, the device may include an error detection unit that detects an error in a configuration storage area storing configuration data. Alternatively, the device may include an abnormality determination unit that does not determine that the input / output device is abnormal for at least a portion of a case where an error in the configuration storage area is detected and the programmed input / output function is diagnosed as normal.
[0007] Alternatively, the device further includes a determination unit that determines whether the input / output device is reused. Alternatively, when an error in the configuration storage area is detected and the programmed input / output function is diagnosed as normal, the abnormality determination unit does not determine that the input / output device is abnormal, provided that the input / output device is not reused.
[0008] Alternatively, when the input / output devices are multiplexed and the programmed input / output functions of the input / output devices operating as the main system are diagnosed as normal, the abnormality determination unit determines that the input / output device operating as the main system is abnormal, based on the condition that an error in the configuration storage area of the input / output device operating as the main system is detected.
[0009] The device may further include a switching unit that switches the input / output device operating as the main system among the multiplexed plurality of input / output devices when an abnormality is detected in the input / output device operating as the main system.
[0010] The device may further include a function changing unit configured to change the input / output function of the programmable circuit by changing the configuration data in the configuration storage area.
[0011] The function changing unit may prohibit changing the input / output function of the programmable circuit in response to detection of an error in the configuration storage area.
[0012] When an error in the configuration storage area is detected and the input / output function changed by the function changing unit is diagnosed as abnormal, the function changing unit may restore the input / output function of the programmable circuit to the input / output function before the change.
[0013] Alternatively, the error detection unit detects errors in each of the plurality of partial regions obtained by dividing the configuration storage region. Alternatively, the function change unit prohibits changing the input / output function of the programmable circuit on the condition that an error has been detected in a partial region used for the input / output function when the input / output function of the programmable circuit is assumed to be changed.
[0014] In a second aspect of the present invention, a method is provided. Alternatively, the method includes: a diagnosis phase, diagnosing a programmed input / output function in an input / output device, the input / output device having a programmable circuit whose circuit structure is programmed by setting configuration data, and performing input / output actions corresponding to the input / output function programmed in the programmable circuit. Alternatively, the method includes: an error detection phase, detecting an error in a configuration storage area storing configuration data. Alternatively, the method includes: an abnormality determination phase, not determining that the input / output device is abnormal for at least a portion of the case where an error in the configuration storage area is detected and the programmed input / output function is diagnosed as normal.
[0015] In the third aspect of the present invention, a computer-readable storage medium is provided. Alternatively, the computer-readable storage medium stores a program that causes the computer to execute: a diagnostic step of diagnosing a programmed input-output function in an input-output device, the input-output device having a programmable circuit whose circuit structure is programmed by setting configuration data, and performing input-output actions corresponding to the input-output function programmed in the programmable circuit. Alternatively, the computer-readable storage medium stores a program that causes the computer to execute: an error detection step of detecting an error in a configuration storage area storing configuration data. Alternatively, the computer-readable storage medium stores a program that causes the computer to execute: an abnormality determination step of not determining that the input-output device is abnormal for at least a portion of the case where an error in the configuration storage area is detected and the programmed input-output function is diagnosed as normal.
[0016] In addition, the above summary of the invention does not list all the essential features of the present invention. In addition, sub-combinations of these feature groups may also constitute inventions. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 The structure of the control system 10 and the facility 20 of this embodiment are also shown.
[0018] Figure 2 An example of the operation flow of the input / output device 130 according to the present embodiment is shown.
[0019] Figure 3 An example of an operation flow when the input / output processing unit 142 of the input / output device 130 of the present embodiment receives an instruction to change the input / output function of the user circuit 133 from the controller 100 is shown.
[0020] Figure 4 Another example of the operation flow when the input / output processing unit 142 of the input / output device 130 of the present embodiment receives an instruction to change the input / output function of the user circuit 133 from the controller 100 is shown.
[0021] Figure 5 Another example of the operation flow when the input / output processing unit 142 of the input / output device 130 of the present embodiment receives an instruction to change the input / output function of the user circuit 133 from the controller 100 is shown.
[0022] Figure 6 An example of a computer 2200 is shown that can implement various aspects of the present invention in whole or in part. DETAILED DESCRIPTION
[0023] Hereinafter, the present invention will be described by way of the embodiments of the invention, but the following embodiments do not limit the invention according to the claims. In addition, not all combinations of the features described in the embodiments are essential to the solution means of the invention.
[0024] Figure 1 The structure of the control system 10 of this embodiment and the facility 20 are shown together. The control system 10 of this embodiment controls one or more field devices 155 in the facility 20.
[0025] The facility (equipment) 20 is set up in a factory or plant. Such a factory or plant may be, for example, a factory for producing various industrial products, a chemical or metal industrial plant, a plant that manages and controls the wellheads of gas fields, oil fields, and the like and their surroundings, a plant that manages and controls power generation by water, thermal power, nuclear power, and the like, a plant that manages and controls environmental power generation by solar power, wind power, and the like, a plant that manages and controls water supply, drainage, dams, and the like, etc. In addition, the facility 20 may also be set up in a building or a transportation facility, etc.
[0026] The control system 10 controls each field device 155 in the facility 20 to perform production, power generation and / or control corresponding to the purpose of the facility 20. The field device 155 may be, for example, a sensor device such as a pressure gauge, a flow meter, or a temperature sensor, a valve device such as a flow control valve or an on-off valve, an actuator device such as a fan or a motor, an imaging device such as a camera or a video camera that captures the conditions of a factory or an object, an audio device such as a microphone or a speaker that collects abnormal sounds of a factory or emits alarm sounds, a position detection device that outputs position information of each device of the facility 20, or other devices.
[0027] The control system 10 of the present embodiment includes a network 50, a controller 100, a multiplexing and sharing device 160, and one or more input-output devices 130 capable of adopting a redundant structure. As an example, the control system 10 of the present embodiment includes two input-output devices 130a and 130b. The two input-output devices 130a and 130b have the same function and structure as each other, and the same reference number is used for the same structure, and repeated description is omitted. In addition, in the following description, the two input-output devices 130a and 130b are sometimes referred to as input-output devices 130. When referred to as input-output devices 130, sometimes it refers to both of the two input-output devices 130a and 130b, and sometimes it refers to one of them. In addition, input-output means at least one of input or output, and input devices and output devices are also included in the input-output devices.
[0028] The network 50 is a general or dedicated network connecting the controller 100 and the input / output device 130. The network 50 may be Ethernet (registered trademark), a LAN used in a factory or the like, or a bus. In addition, when the controller 100 remotely controls the facility 20, the network 50 may be a wide area network such as a WAN or the Internet. The network 50 may be a wired network including the wired Internet, or may be a wireless network including a portable communication network such as 4G (4th generation) or 5G (5th generation) instead. The network 50 may also be configured to include an industrial network. The network 50 may also realize communication between the controller 100 and the input / output device 130 by transmitting network packets.
[0029] The controller 100 receives sensing data and the like of each field device 155 from the input / output device 130 connected to each field device 155 in the facility 20 via the multiplexing and sharing device 160. The controller 100 performs control calculation processing based on control parameters such as the sensing data, and transmits control data for controlling each field device 155 to the input / output device 130.
[0030] In the present embodiment, the controller 100 may be a computer such as a PC (personal computer), a workstation, a server computer, or a general-purpose computer, and the control program is executed on the computer to function as the controller 100. Alternatively, the controller 100 may be a dedicated computer designed for control of a factory or the like, or may be dedicated hardware implemented by a dedicated circuit.
[0031] The multiplexing and sharing device 160 transmits signals between the input / output device 130 that controls the facility 20 among the plurality of input / output devices 130 having a redundant structure and each field device 155. The multiplexing and sharing device 160 is connected to the input / output ports of the two input / output devices 130. The multiplexing and sharing device 160 is also connected to one or more field devices 155 in the facility 20. In addition, the plurality of field devices 155 and the input / output device 130 can communicate with each other through the multiplexing and sharing device 160 using a communication protocol defined by HART (registered trademark), BRAIN, Foundation Fieldbus (registered trademark), ISA100.11a, or the like.
[0032] The input / output device 130 has a programmable circuit whose circuit structure is programmed by setting configuration data, and performs input / output operations corresponding to the input / output functions programmed in the programmable circuit. The input / output device 130 of this embodiment is sometimes referred to as a network I / O or a general-purpose I / O. In addition, the input / output device 130 may be a dedicated device having a microcontroller or the like designed for control of a factory, or may be a device in which a user circuit for connecting to the multiplexing and sharing device 160 is added to a general computer, or may be dedicated hardware realized by a dedicated circuit.
[0033] The input / output device 130 of this embodiment includes an FPGA (Field Programmable Gate Alley) unit 131 as an example of a programmable circuit and an input / output control unit 141. The FPGA unit 131 includes a user circuit 133 implemented by programming the programmable circuit, and a CRAM (Configuration Randam Access Memory) 135 as an example of a configuration storage area for storing the configuration data.
[0034] The user circuit 133 of the FPGA unit 131 has a plurality of input / output ports, for example, 16 input / output ports, which are individually connected to the multiplexing and sharing device 160. The user circuit 133 includes various interface circuits for each channel, such as an input buffer and an output driver for digital signal input / output, an AD converter and a DA converter for analog signal input / output, and a memory for storing reference values for AD conversion or DA conversion. Such an interface circuit may also be provided in other structures other than the FPGA unit 131 in the input / output device 130.
[0035] The user circuit 133 transmits and receives analog signals or digital signals to and from each field device 155 according to the function of each field device 155. For example, when the channel connected to the field device 155 is set for output or input of analog signals, the user circuit 133 converts the digital signal output from the input / output device 130 into an analog signal using an AD converter, and converts the analog signal from the field device 155 into a digital signal using a DA converter.
[0036] One input / output port of the input / output device 130a and one input / output port of the input / output device 130b are allocated to one field device 155. The input / output port of the input / output device 130 that is a master system (also referred to as a “control system” or “host”) of the input / output device 130a and the input / output device 130b is connected to the field device 155 through the multiplexing and sharing device 160, so that communication with the field device 155 is possible. For the input / output port of the input / output device 130 that is a slave system (also referred to as a “standby system” or “slave”) of the input / output device 130a and the input / output device 130b, communication with the field device 155 is disabled through the multiplexing and sharing device 160, so that communication between the input / output device 130 that is a master system and the field device 155 is not hindered.
[0037] The user circuit 133 further includes an input / output circuit that switches the input / output function of the multiplexing and sharing device 160 to the field device 155 to at least one of AI (analog input), AO (analog output), DI (digital input), and DO (digital output) for each of the plurality of input / output ports. Such an input / output circuit may set each input / output port to one of the input / output functions and not use the other input / output functions.
[0038] During the initialization process such as when the power is turned on or reset, the FPGA unit 131 reads the configuration data copied from the ROM outside the FPGA unit 131 and stored in the CRAM 135, and sets the user circuit 133 as a programmable circuit in the FPGA unit 131. The user circuit 133 receives the control data for controlling each field device 155 from the input / output control unit 141, and performs input / output operations corresponding to the programmed input / output functions.
[0039] The user circuit 133 sets a predetermined input / output port to a predetermined input / output function according to the input / output function, and outputs data for the field device 155 in a signal format corresponding to the input / output function from the input / output port to the multiplexing and sharing device 160. Furthermore, when the user circuit 133 receives sensing data of the field device 155 from the multiplexing and sharing device 160 via the input / output port in a signal format corresponding to the input / output function, the user circuit 133 outputs the sensing data to the input / output control unit 141.
[0040] In this way, the input / output device 130 performs input / output of data with one or more field devices 155 in the facility 20 based on the control data received from the controller 100 through the CRAM 135 of the FPGA unit 131 and the cooperation of the user circuit 133 and the input / output control unit 141. In addition to this processing, the input / output device 130 also performs self-diagnosis of abnormalities of the input / output device 130.
[0041] The input / output control unit 141 includes an input / output processing unit 142, which receives and processes control data for operating the input / output device 130, the multiplexing and sharing device 160, and one or more field devices 155 from the controller 100 via the network 50. The input / output control unit 141 also includes a diagnosis unit 143, an error detection unit 145, and an abnormality determination unit 147. The input / output control unit 141 of this embodiment also includes a determination unit 149, a switching unit 151, and a function change unit 153.
[0042] The diagnosis unit 143 diagnoses the input and output functions programmed in the input and output device 130. As a specific example, the diagnosis unit 143 diagnoses the input and output functions of the user circuit 133 by externally controlling the self-diagnosis circuit programmed in the user circuit 133 of the FPGA unit 131. The diagnosis unit 143 can also diagnose the input and output functions of the multiplexing and sharing device 160 by looping back the signal output by the user circuit 133 to the field device 155 via the multiplexing and sharing device 160 from the multiplexing and sharing device 160 to the user circuit 133. The diagnosis unit 143 diagnoses each input and output function, for example, during the initialization process of the input and output device 130 or at a predetermined timing for each maintenance period. The diagnosis unit 143 outputs the diagnosis result to the abnormality determination unit 147.
[0043] The error detection unit 145 detects errors in the configuration storage area storing the configuration data. Specifically, the error detection unit 145 uses a CRC (Cyclic Redundancy Check) code to detect soft errors in the CRAM 135 of the FPGA unit 131. The error detection unit 145 checks the soft errors of the CRAM 135 at a certain time, such as during the initialization process of the input / output device 130 or during each scheduled maintenance period. In the case where the FPGA unit 131 has a function of self-diagnosing the storage area of the CRAM 135, the error detection unit 145 can receive the self-diagnosis result of the storage area from the CRAM 135. The error detection unit 145 outputs the detection result to the abnormality determination unit 147.
[0044] As an example, the error detection unit 145 may also use the CRC code added to each frame of the CRAM 135 to perform CRC check in units of frames, thereby detecting soft errors. The error detection unit 145 may also sequentially perform CRC check on the calculation of CRC codes and the addition of CRC codes to determine whether the CRC codes are consistent with each other for multiple frames included in the CRAM 135, and when the CRC check of all frames is completed, perform CRC check again cyclically starting from the first frame.
[0045] In addition, the soft error detected by the error detection unit 145 refers to a temporary fault, not a permanent fault caused by hardware. A soft error may also be a temporary 1-bit fault (1 garbled code) of the memory. In addition, the CRAM 135 may not have an error correction function based on ECC (Error Correction Code).
[0046] The determination unit 149 determines whether the input / output device 130 is multiplexed. More specifically, the determination unit 149 obtains information on the communication between the switch unit 151 and the other input / output device 130 using a redundant structure from the switch unit 151, and determines whether the input / output device 130 is multiplexed based on the information. The determination unit 149 outputs the determination result of whether the input / output device 130 is multiplexed to the abnormality determination unit 147.
[0047] The abnormality determination unit 147 determines that the input-output device 130 is abnormal based on the data input from the diagnosis unit 143, the error detection unit 145, and the determination unit 149. However, the abnormality determination unit 147 does not determine that the input-output device 130 is abnormal for at least a part of the case where an error in the CRAM 135 is detected and the programmed input-output function of the user circuit 133 is diagnosed as normal. When the abnormality determination unit 147 determines that the input-output device 130 is abnormal, it transmits the detection result to the controller 100 via the bus and the network 50.
[0048] The switch unit 151 switches the input / output device 130 that operates as the main system among the multiplexed input / output devices 130, when an abnormality is detected in the input / output device 130 that operates as the main system. The switch unit 151 communicates with the switch units 151 of other input / output devices 130 via the bus. When switching the input / output device 130 that operates as the main system, the switch unit 151 may send a switching signal for adjusting the connection state of each field device 155 and each user circuit 133 of each input / output device 130 to the multiplexing and sharing device 160 via the bus.
[0049] The function changing unit 153 controls the change of the input / output function of the user circuit 133 according to the error status of the CRAM 135 of the FPGA unit 131. For example, the function changing unit 153 may prohibit the change of the input / output function of the user circuit 133 according to the situation that an error of the CRAM 135 is detected. More specifically, the function changing unit 153 outputs an instruction to prohibit the change of the input / output function of the user circuit 133 to the input / output processing unit 142 according to the situation that the error of the CRAM 135 is detected obtained from the error detection unit 145.
[0050] In addition, the input / output control unit 141 may also include a program for controlling the input / output device 130, a ROM (Read Only Memory) storing data required for the operation of the program, and a RAM (Random Access Memory) operating as a working area of the input / output device 130. In this case, for example, the function change unit 153 may read the configuration data from the ROM and write it into the CRAM 135 of the FPGA unit 131 during the initialization process, thereby performing the initial setting of the CRAM 135. The initialization process is the initialization process when the input / output device 130 is powered on or reset.
[0051] Figure 2 An example of the operation flow of the input / output device 130 of the present embodiment is shown. Using this operation flow, the processing when the input / output device 130 of the present embodiment detects a soft error and / or diagnoses that the input / output function is abnormal will be described.
[0052] This operation flow may also be started, for example, by the user circuit 133 receiving control data for controlling each field device 155 from the input / output processing unit 142 and performing an input / output operation corresponding to the programmed input / output function. Figure 3 The same applies to the description of subsequent flowcharts, and duplicate descriptions are omitted.
[0053] The diagnosis unit 143 of the input / output device 130a diagnoses the input / output function of the user circuit 133 during each predetermined maintenance period (step S101), and the error detection unit 145 checks the soft error of the CRAM 135 during each predetermined maintenance period (step S103).
[0054] The abnormality determination unit 147 of the input / output device 130a of the present embodiment determines that the input / output device 130a operating as the main system is abnormal, on the condition that an error in the CRAM 135 is detected in the input / output device 130a operating as the main system, when the input / output device 130 is multiplexed and the input / output function of the user circuit 133 is diagnosed as normal for the input / output device 130a operating as the main system.
[0055] More specifically, the abnormality determination unit 147 of the input / output device 130a obtains the determination result of whether the input / output device 130 is multiplexed from the determination unit 149 (step S105). If the determination result is that the input / output device 130 is multiplexed (step S105: yes), based on the condition that a soft error of the CRAM 135 is detected in step S103 (step S107: yes), it is determined that the input / output device 130a acting as the main system is abnormal, and the main system is switched to other input / output devices 130b (step S109), thereby terminating the present process. In step S107, if no soft error of the CRAM 135 is detected in step S103 (step S107: No), and if the input / output function of the user circuit 133 is diagnosed as abnormal in step S101 (step S111: Yes), it is also determined that the input / output device 130a operating as the main system is abnormal, and the main system is switched to another input / output device 130b (step S109), and the present flow is terminated. In step S111, if the input / output function of the user circuit 133 is not diagnosed as abnormal in step S101 (step S111: No), the flow returns to step S101.
[0056] Thus, when the step S105 and the step S107 are set to "yes" and the process proceeds to the step S109, that is, when the input / output device 130 is multiplexed and a soft error of the CRAM 135 is detected, the diagnosis result of the input / output function in the step S101 is not considered. In other words, when the input / output device 130a operating as the main system is multiplexed and a soft error of the CRAM 135 is detected, even if the input / output function of the user circuit 133 is diagnosed as normal, it is determined that the input / output device 130a is abnormal. Thus, the input / output device 130 can maintain the operating rate (availability) and can minimize the undetected failure rate.
[0057] In addition, the case where the input / output device 130 is judged to be multiplexed may refer to, for example, a state where the input / output device 130a of the two input / output devices 130a and 130b having a redundant structure is operating as a master system, and the input / output functions of the other input / output device 130b and the multiplexing and sharing device 160 are diagnosed to be normal. On the other hand, the case where the input / output device 130 is judged not to be multiplexed may refer to, for example, a state where the input / output function of at least one of the other input / output device 130b and the multiplexing and sharing device 160 is diagnosed to be abnormal, on the premise that the input / output device 130a of the two input / output devices 130a and 130b having a redundant structure is operating as a master system.
[0058] In addition, when an error in CRAM135 is detected and the input / output function of the user circuit 133 is diagnosed as normal, the abnormality determination unit 147 of the input / output device 130a of this embodiment does not determine that the input / output device 130a is abnormal, provided that the input / output device 130a is not multiplexed.
[0059] More specifically, the abnormality determination unit 147 of the input / output device 130a obtains the determination result of whether the input / output device 130 is multiplexed from the determination unit 149 (step S105). If the determination result is that the input / output device 130 is not multiplexed (step S105: No), and if the input / output function of the user circuit 133 is not diagnosed as abnormal in step S101 (step S113: No), the process returns to step S101. In addition, if a soft error of the CRAM 135 is detected in step S103, the function change unit 153 may output an instruction to prohibit the change of the input / output function of the user circuit 133 to the input / output processing unit 142. In this case, the input / output processing unit 142 may change the control data output to the user circuit 133 and report the change to the controller 100. In step S113, when the input / output function of the user circuit 133 is diagnosed as abnormal in step S101 (step S113: Yes), it is determined that the input / output device 130a is abnormal, and the abnormality is reported to the controller 100 (step S115), and this flow ends.
[0060] Thus, when the step S105 and the step S113 are set to "No" and the process returns to the step S101, that is, when the input / output device 130 is not multiplexed and the input / output function of the user circuit 133 is not diagnosed as abnormal, the check result of the soft error of the CRAM 135 in the step S103 is not considered. In other words, when the input / output device 130a operating as the main system is not multiplexed and the input / output function of the user circuit 133 is not diagnosed as abnormal, even if a soft error of the CRAM 135 is detected, it is assumed that the input / output device 130a is not determined to be abnormal. Since the CRC check performed by the error detection unit 145 detects a soft error of the entire CRAM 135 even when an error occurs in a part of the area of the CRAM 135, it is assumed that the abnormality determination unit 147 ignores the error in the area of the CRAM 135 that is not related to the input / output function of the user circuit 133.
[0061] As a comparative example, when the input / output device relies only on the CRC check of the CRAM to detect a failure, the failure rate will increase unnecessarily and the operation rate will decrease. In contrast, according to the above-mentioned structure of the input / output device 130, such a decrease in the operation rate can be suppressed.
[0062] Figure 3 The following is an example of the operation flow when the input / output processing unit 142 of the input / output device 130 of the present embodiment receives an instruction to change the input / output function of the user circuit 133 from the controller 100. The input / output function required in the input / output device 130 is predetermined based on the specification of the field device 155 to which it is connected.
[0063] The input / output processing unit 142 of the input / output device 130 receives control data for changing the input / output function of the user circuit 133 from the controller 100 (step S201). When the function changing unit 153 does not obtain the detection result that the soft error of the CRAM 135 is detected from the error detecting unit 145 and does not output an instruction to the input / output processing unit 142 (step S203: No), the input / output processing unit 142 changes the input / output function of the user circuit 133 (step S205), and ends this flow.
[0064] On the other hand, in step S203, when the function change unit 153 obtains the detection result that a soft error of CRAM 135 is detected from the error detection unit 145, and outputs an instruction to prohibit the change of the input / output function of the user circuit 133 to the input / output processing unit 142 (step S203: Yes), the input / output processing unit 142 prohibits the change of the input / output function of the user circuit 133 (step S207), notifies the controller 100 of this intention, and ends this process. The controller 100 must change the input / output function of a specified channel (input / output port) of the input / output device 130, for example, because the field device 155 is changed or the setting of the field device 155 is changed. However, in the case where a soft error of CRAM 135 is detected and the input / output device 130 may not operate correctly when the input / output function is changed, the input / output device 130 may also change the input / output function of the user circuit 133 as shown in step S207. Figure 3 The input and output functions are not changed as in the action flow.
[0065] Figure 4 Another example of the operation flow when the input / output processing unit 142 of the input / output device 130 of the present embodiment receives an instruction to change the input / output function of the user circuit 133 from the controller 100 is shown.
[0066] The input / output processing unit 142 of the input / output device 130 receives control data for changing the input / output function of the user circuit 133 from the controller 100 (step S301). Even if the function changing unit 153 obtains a detection result from the error detecting unit 145 that a soft error of the CRAM 135 is detected, the input / output processing unit 142 changes the input / output function of the user circuit 133 (step S303).
[0067] When a soft error of the CRAM 135 is detected and the input / output function of the user circuit 133 after being changed by the function changing unit 153 is diagnosed as abnormal, the function changing unit 153 may restore the input / output function of the user circuit 133 to the input / output function before the change. More specifically, after the input / output function of the user circuit 133 is changed in step S303, when the function changing unit 153 obtains a diagnosis result that the input / output function of the user circuit 133 is abnormal from the diagnosis unit 143 (step S305: Yes), the input / output processing unit 142 receives an instruction from the function changing unit 153 to restore the input / output function of the user circuit 133 to the input / output function before the change, and according to the instruction, restores the input / output function to the input / output function before the change in step S303 (step S307), notifies the controller 100 of the fact, and ends the present flow. It is also possible to ignore whether the function changing unit 153 obtains a detection result that the soft error of the CRAM 135 is detected from the error detection unit 145 in step S305. In addition, if the function changing unit 153 does not obtain the diagnosis result that the input / output function of the user circuit 133 is abnormal from the diagnosis unit 143 in step S305 (step S305: No), this process ends. In this way, even if a soft error of the CRAM 135 is detected before the input / output function of the user circuit 133 is changed, a soft error may occur in a region of the CRAM 135 that has no effect on the input / output function of the user circuit 133 after the change. Therefore, the input / output device 130 can also Figure 4 As in the action flow of , it is verified whether the input / output function of the user circuit 133 after the input / output function is changed is affected.
[0068] Figure 5 FIG. 1 is another example of the operation flow when the input / output processing unit 142 of the input / output device 130 of the present embodiment receives an instruction to change the input / output function of the user circuit 133 from the controller 100. Figures 1 to 4 The difference between the described embodiments is that the error detection unit 145 detects at least an error in each of the plurality of partial regions obtained by dividing the CRAM 135 .
[0069] The input / output processing unit 142 of the input / output device 130 receives control data for changing the input / output function of the user circuit 133 from the controller 100 (step S401 ).
[0070] The function changing unit 153 may prohibit the change of the input / output function of the user circuit 133 on the condition that an error has been detected in a partial area of the CRAM 135 used in the input / output function of the user circuit 133 when the input / output function of the user circuit 133 is assumed to be changed. More specifically, when the function changing unit 153 obtains the detection result that a soft error has been detected in the partial area from the error detecting unit 145 and outputs an instruction to prohibit the change of the input / output function of the user circuit 133 to the input / output processing unit 142 (step S4031: Yes), the input / output processing unit 142 prohibits the change of the input / output function of the user circuit 133 (step S407), notifies the controller 100 of the meaning, and ends this flow. In addition, when the function changing unit 153 does not obtain the above detection result in step S403 (step S403: No), the input / output processing unit 142 changes the input / output function of the user circuit 133 (step S405), and ends this flow. Thus, in the input / output device 130, the CRAM 135 is divided into a plurality of partial areas, such as an analog area and a digital area, an input area and an output area, and when soft errors in each partial area can be detected, the CRAM 135 can be divided into a plurality of partial areas, such as an analog area and a digital area, an input area and an output area. Figure 5 As in the action flow of , before changing the input / output function of the user circuit 133, it is pre-verified whether the input / output function of the user circuit 133 after the change of the input / output function is affected.
[0071] As described above, the input / output device 130 of the present embodiment has a programmable circuit whose circuit structure is programmed by setting configuration data, and performs input / output actions corresponding to the input / output functions programmed in the programmable circuit. In addition, the input / output device 130 of the present embodiment includes: a diagnosis unit 143 for diagnosing the programmed input / output functions in the programmable circuit of the input / output device 130; an error detection unit 145 for detecting an error in the configuration storage area storing the configuration data; and an abnormality determination unit 147 for not determining that the input / output device 130 is abnormal for at least a part of the case where an error in the configuration storage area is detected and the programmed input / output function is diagnosed as normal.
[0072] As a comparative example, in a single operation in which the input / output device is not multiplexed, when a soft error of CRAM is detected as a reason for detecting an abnormality in the input / output device and stopping the operation of the input / output device, the availability of the input / output device is reduced. In contrast, according to the input / output device 130 having the above-mentioned structure, even if a soft error of CRAM 135 is detected in a single operation, if it can be diagnosed that the input / output function of the user circuit 133 is normal, it is not determined that the input / output device 130 is abnormal. Therefore, the input / output device 130 of the present embodiment can prevent the availability of the input / output device 130 from being reduced as in the comparative example. On the other hand, in the case where the input / output device 130 is a multiplexed system, even if a soft error of CRAM 135 is detected, it is possible to switch to another system (input / output device 130), so that the availability can be maintained.
[0073] Various embodiments of the present invention may be described with reference to flow charts and block diagrams, wherein a block may represent (1) a stage of a process for performing an operation, or (2) a portion of a device having the function of performing an operation. Specific stages and portions may be implemented by dedicated circuits, programmable circuits provided together with computer-readable instructions stored on a computer-readable medium, and / or processors provided together with computer-readable instructions stored on a computer-readable medium. Dedicated circuits may include digital and / or analog hardware circuits, and may include integrated circuits (ICs) and / or discrete circuits. Programmable circuits may include reconfigurable hardware circuits that include logical AND, logical OR, logical XOR, logical NAND, logical NOR, and other logical operations, memory elements such as flip-flops, registers, field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), and the like.
[0074] A computer-readable medium may include any tangible device capable of storing instructions executed by an appropriate device, with the result that a computer-readable medium having instructions stored therein has a product containing instructions that can be executed in order to create a unit for performing the operations specified in a flowchart or block diagram. As an example of a computer-readable medium, electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc. may be included. As a more specific example of a computer-readable medium, a floppy (registered trademark) disk, a magnetic disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an electrically erasable programmable read-only memory (EEPROM), a static random access memory (SRAM), a compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a Blu-ray (registered trademark) disk, a memory stick, an integrated circuit card, etc. may be included.
[0075] Computer readable instructions may include assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, and any of source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk (registered trademark), JAVA (registered trademark), C++, and existing procedural programming languages such as the "C" programming language or similar programming languages.
[0076] The computer readable instructions can be provided to a processor or programmable circuit of a programmable data processing device of a general-purpose computer, a special-purpose computer or other computer via a local or local area network (LAN), a wide area network (WAN) such as the Internet, etc., to create a unit for performing the operations specified in the flowchart or block diagram, and execute the computer readable instructions. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.
[0077] Figure 6 An example of a computer 2200 that can implement multiple aspects of the present invention in whole or in part is shown. The program installed in the computer 2200 can cause the computer 2200 to function as an operation associated with the device involved in the embodiment of the present invention or one or more parts of the device, or can cause the computer 2200 to perform the operation or the one or more parts, and / or can cause the computer 200 to perform a process involved in the embodiment of the present invention or a stage of the process. Such a program can be executed by the CPU 2212 to cause the computer 2200 to perform specific operations associated with some or all of the blocks in the flowcharts and block diagrams described in this specification.
[0078] The computer 2200 according to the present embodiment includes a CPU 2212, a RAM 2214, a graphic controller 2216, and a display device 2218, which are connected to each other through a host controller 2210. The computer 2200 also includes input / output units such as a communication interface 2222, a hard disk drive 2224, a DVD-ROM drive 2226, and an IC card drive, which are connected to the host controller 2210 via an input / output controller 2220. The computer also includes conventional input / output units such as a ROM 2230 and a keyboard 2242, which are connected to the input / output controller 2220 via an input / output chip 2240.
[0079] The CPU 2212 controls each unit by operating according to the program stored in the ROM 2230 and the RAM 2214. The graphic controller 2216 obtains image data generated by the CPU 2212 in a frame buffer or the like provided in the RAM 2214 or in the graphic controller 2216 itself, and displays the image data on the display device 2218.
[0080] The communication interface 2222 communicates with other electronic devices via a network. The hard disk drive 2224 stores programs and data used by the CPU 2212 in the computer 2200. The DVD-ROM drive 2226 reads programs or data from the DVD-ROM 2201 and provides the programs or data to the hard disk drive 2224 via the RAM 2214. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.
[0081] The ROM 2230 stores therein a boot program or the like executed by the computer 2200 upon activation, and / or a program that depends on the hardware of the computer 2200. The input / output chip 2240 can also connect various input / output units to the input / output controller 2220 via a parallel port, a serial port, a keyboard port, a mouse port, and the like.
[0082] The program is provided by a computer-readable medium such as DVD-ROM 2201 or an IC card. The program is read from the computer-readable medium, installed in the hard disk drive 2224, RAM 2214, or ROM 2230, which is also an example of a computer-readable medium, and executed by the CPU 2212. The information processing written in these programs is read by the computer 2200, and cooperation between the program and the various types of hardware resources described above is provided. The device or method can be constituted by realizing the operation or processing of information according to the use of the computer 2200.
[0083] For example, in the case where communication is performed between the computer 2200 and an external device, the CPU 2212 can execute a communication program loaded into the RAM 2214, and based on the processing written in the communication program, instruct the communication interface 2222 to perform communication processing. Under the control of the CPU 2212, the communication interface 2222 reads the transmission data stored in the transmission buffer processing area provided in the recording medium such as the RAM 2214, the hard disk drive 2224, the DVD-ROM 2201, or the IC card, and transmits the read transmission data to the network, or writes the reception data received from the network to the reception buffer processing area provided on the recording medium, etc.
[0084] In addition, the CPU 2212 may also read all or a necessary part of a file or database stored in an external recording medium such as the hard disk drive 2224, the DVD-ROM drive 2226 (DVD-ROM 2201), or an IC card into the RAM 2214, and perform various types of processing on the data on the RAM 2214. Then, the CPU 2212 writes the processed data back to the external recording medium.
[0085] Various types of information, such as various types of programs, data, tables, and databases, can be stored in a recording medium and receive information processing. CPU2212 can perform various types of processing on the data read from RAM2214 and write the results back to RAM2214, and the processing includes various types of operations, information processing, conditional judgments, conditional branches, unconditional branches, information retrieval / replacement, etc. specified by the instruction sequence of the program recorded in various places of this disclosure. In addition, CPU2212 can also retrieve information from files, databases, etc. in the recording medium. For example, in the case where multiple entries with attribute values of a first attribute respectively associated with attribute values of a second attribute are stored in a recording medium, CPU2212 can retrieve an entry that specifies an attribute value of the first attribute and is consistent with the condition from the multiple entries, and read the attribute value of the second attribute stored in the entry, thereby obtaining the attribute value of the second attribute associated with the first attribute that meets the predetermined condition.
[0086] The programs or software modules described above may be stored in a computer-readable medium on or near the computer 2200. In addition, a recording medium such as a hard disk or a RAM provided in a server system connected to a dedicated communication network or the Internet may also be used as a computer-readable medium, thereby providing the program to the computer 2200 via the network.
[0087] The present invention has been described above using the embodiments, but the technical scope of the present invention is not limited to the scope described in the above embodiments. It is obvious to those skilled in the art that various changes or improvements can be made to the above embodiments. It can be clearly stated in the claims that the methods obtained by making such changes or improvements can also be included in the technical scope of the present invention.
[0088] For example, the control system may be a computer housed in a single housing. That is, the controller may be implemented by executing a program on a processor of the computer, and each input / output device may be implemented as an I / O device of the computer. In addition, the controller may be implemented as a virtual machine executed by one or more processors. In such a structure, the control system does not have a network as a general or dedicated network, and the controller and the input / output device may be connected through a chipset such as a memory controller hub and an I / O controller hub that connects the processor and the I / O device.
[0089] It should be noted that the execution order of each process such as actions, processes, steps and stages in the device, system, program and method shown in the claims, specifications and drawings can be implemented in any order unless it is specifically stated as "before", "first", etc., and as long as the output of the previous process is not used for the subsequent process. Even if the action flow in the claims, specifications and drawings is described using "first", "next", etc. for convenience, it does not mean that it must be implemented in this order.
[0090] Description of symbols
[0091] 10 control system, 20 facility, 50 network, 100 controller, 130, 130a, 130b input / output device, 131 FPGA unit, 133 user circuit, 135 CRAM, 141 input / output control unit, 142 input / output processing unit, 143 diagnosis unit, 145 error detection unit, 147 abnormality determination unit, 149 determination unit, 151 switching unit, 153 function change unit, 155 field device, 160 multiplexing and sharing device, 2200 computer, 2201 DVD-ROM, 2210 host controller, 2212 CPU, 2214 RAM, 2216 graphic controller, 2218 display device, 2220 input / output controller, 2222 communication interface, 2224 hard disk drive, 2226 DVD-ROM drive, 2230 ROM, 2240 input / output chip, 2242 keyboard
Claims
1. A device comprising: a diagnostic unit for diagnosing a programmed input / output function in an input / output device, the input / output device having a programmable circuit whose circuit structure is programmed by setting configuration data, and performing an input / output operation corresponding to the input / output function programmed in the programmable circuit; An error detection unit detects an error in a configuration storage area storing the configuration data; an abnormality determination unit that does not determine that the input / output device is abnormal in at least a part of the cases where an error in the configuration storage area is detected and the programmed input / output function is diagnosed as normal; as well as a determination unit, for determining whether the input / output device is multiplexed, When an error in the configuration storage area is detected and the programmed input / output function is diagnosed as normal, the abnormality determination unit does not determine that the input / output device is abnormal on the condition that the input / output device is not multiplexed.
2. The device according to claim 1, wherein: When the input / output device is multiplexed and the programmed input / output function of the input / output device operating as the main system is diagnosed as normal, the abnormality determination unit determines that the input / output device operating as the main system is abnormal, based on the condition that an error in the configuration storage area is detected in the input / output device operating as the main system.
3. The device according to claim 2, wherein: The device further includes a switching unit that switches an input / output device that operates as the main system among the multiplexed plurality of input / output devices, when an abnormality is detected in the input / output device that operates as the main system.
4. The device according to any one of claims 1 to 3, wherein: There is also a function changing unit that controls the change of the input and output functions of the programmable circuit according to the error status of the configuration storage area.
5. The device according to claim 4, wherein: The function changing unit prohibits changing the input / output function of the programmable circuit in response to detection of an error in the configuration storage area.
6. The device according to claim 4, wherein: When an error in the configuration storage area is detected and the input / output function changed by the function changing unit is diagnosed as abnormal, the function changing unit restores the input / output function of the programmable circuit to the input / output function before the change.
7. The device according to claim 4, wherein: The error detection unit detects errors in each of a plurality of partial areas obtained by dividing the configuration storage area. The function changing unit prohibits changing the input / output function of the programmable circuit on the condition that an error has been detected in the partial region used in the input / output function when the input / output function of the programmable circuit is assumed to be changed.
8. A method comprising: In the diagnosis stage, the programmed input-output function in the input-output device is diagnosed, the input-output device having a programmable circuit whose circuit structure is programmed by setting configuration data, and performing an input-output action corresponding to the input-output function programmed in the programmable circuit; In an error detection phase, an error in a configuration storage area storing the configuration data is detected; In the abnormality determination stage, when an error in the configuration storage area is detected and the programmed input / output function is diagnosed as normal, at least in part of the cases, the input / output device is not determined to be abnormal; as well as In the determination stage, it is determined whether the input and output devices are reused. When an error in the configuration storage area is detected and the programmed input / output function is diagnosed as normal, the input / output device is not determined to be abnormal in the abnormality determination stage on the condition that the input / output device is not reused.
9. A computer-readable storage medium storing a program, wherein the program causes a computer to execute the following steps: A diagnostic step of diagnosing a programmed input / output function in an input / output device, the input / output device having a programmable circuit whose circuit structure is programmed by setting configuration data, and performing an input / output action corresponding to the input / output function programmed in the programmable circuit; an error detection step, detecting an error in a configuration storage area storing the configuration data; an abnormality determination step of not determining that the input / output device is abnormal in at least a part of the cases where an error in the configuration storage area is detected and the programmed input / output function is diagnosed as normal; as well as a determination step of determining whether the input and output devices are multiplexed, When an error in the configuration storage area is detected and the programmed input / output function is diagnosed as normal, in the abnormality determination step, the input / output device is not determined to be abnormal on the condition that the input / output device is not reused.
Citation Information
Patent Citations
Control device and method for controlling the same
JP2018128820A
Control device and method of controlling same
CN108398915A
Controller, information processor, control program and control method
JP2012014353A