WO2020021686A1 - 解析支援装置、解析支援方法、及びコンピュータ読み取り可能な記録媒体 - Google Patents

解析支援装置、解析支援方法、及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
WO2020021686A1
WO2020021686A1 PCT/JP2018/028148 JP2018028148W WO2020021686A1 WO 2020021686 A1 WO2020021686 A1 WO 2020021686A1 JP 2018028148 W JP2018028148 W JP 2018028148W WO 2020021686 A1 WO2020021686 A1 WO 2020021686A1
Authority
WO
WIPO (PCT)
Prior art keywords
control program
safety barrier
plant
event
transition
Prior art date
Application number
PCT/JP2018/028148
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 JP2020532098A priority Critical patent/JP7040618B2/ja
Priority to PCT/JP2018/028148 priority patent/WO2020021686A1/ja
Priority to US17/261,410 priority patent/US11860604B2/en
Publication of WO2020021686A1 publication Critical patent/WO2020021686A1/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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • 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/048Monitoring; Safety
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0216Human interface functionality, e.g. monitoring system providing help to the user in the selection of tests or in its configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34461Inhibit access to area if dangerous, cover taken off
    • 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/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50193Safety in general

Definitions

  • the present invention relates to an analysis support device and an analysis support method for supporting analysis of plant safety, and further relates to a computer-readable recording medium for recording a program for executing the same.
  • Such a control system generally includes a PLC (Programmable Logic Controller), an engineering workstation (management device) for managing and maintaining the PLC, a terminal device for providing an HMI (Human Machine Interface) to an operator, and the like.
  • PLC Process Control Controller
  • HMI Human Machine Interface
  • the PLC operates actuators and the like based on sensor data from sensors arranged in each part of the equipment.
  • the PLC operates according to a control program provided from the engineering workstation. Further, since the HMI displays the value of the sensor data, the operation state of the actuator, and the like, the operator can monitor the operation status of the facility through the HMI.
  • a physical safety barrier is a fence that is installed so that workers do not enter a section where high-voltage current is flowing.
  • the safety barrier is not limited to a physical one, but may be a functional one.
  • An example of a functional safety barrier is a safety barrier that is activated by causing a PLC to execute a control program. Specifically, the PLC monitors a signal of a water level sensor installed in the water storage tank as a safety barrier, and, when the water level reaches the upper limit of the water storage tank, sets a valve (actuator) for supplying water to the water storage tank. Execute the control program that sends a close signal.
  • a fault tree analysis (fault tree analysis) is performed in advance by a technician in order to quantitatively evaluate the risk.
  • Fault tree analysis is performed by constructing a tree structure with a particular undesired event as a root node and an event that causes the undesired event as an intermediate node or leaf (for example, Patent Document 1). reference).
  • the technician first defines the undesired event in the plant as the starting point.
  • the engineer analyzes the design information of the plant, extracts a logical combination of events that cause the defined event to occur without omission, and constructs a fault tree using the extracted events as nodes. .
  • a technician can quickly respond even if a failure occurs in the plant.
  • An example of an object of the present invention is to solve the above problem and, when analyzing plant safety, to provide an analysis support device, an analysis support method, and a computer-readable recording medium capable of supporting analysis of a control program. To provide.
  • an analysis support device includes: Based on sensor data from a sensor installed in the plant, for controlling each part of the plant, to obtain a control program, a control program acquisition unit, As information necessary for searching for a safety barrier that avoids the occurrence of a predetermined event in the plant from the control program, including a variable and a value that define the state of the plant when the predetermined event occurs, An event information acquisition unit that acquires event information; From the obtained control program, the causal relationship between the input variables and the output variables in the control program is extracted, and the variable and the value included in the obtained event information and the extracted causal relationship are extracted. Based on the control program to search for the safety barrier, a safety barrier search unit, Has, It is characterized by the following.
  • an analysis support method includes: (A) obtaining a control program for controlling each part of the plant based on sensor data from a sensor installed in the plant; and (B) As information necessary for searching the control program for a safety barrier that avoids occurrence of a predetermined event in the plant, a variable defining a state of the plant when the predetermined event occurs and a value thereof, Obtaining event information, including: (C) extracting a causal relationship between an input variable and an output variable in the control program from the acquired control program, and extracting the causal relationship between the variable and the value included in the acquired event information and the extracted causal result; Searching for the safety barrier from the control program based on the relationship, Having, It is characterized by the following.
  • a computer-readable recording medium includes: By computer (A) obtaining a control program for controlling each part of the plant based on sensor data from a sensor installed in the plant; and (B) As information necessary for searching the control program for a safety barrier that avoids occurrence of a predetermined event in the plant, a variable defining a state of the plant when the predetermined event occurs and a value thereof, Obtaining event information, including: (C) extracting a causal relationship between an input variable and an output variable in the control program from the acquired control program, and extracting the causal relationship between the variable and the value included in the acquired event information and the extracted causal result; Searching for the safety barrier from the control program based on the relationship, Recording a program, including instructions for executing It is characterized by the following.
  • analysis of a control program can be supported when analyzing plant safety.
  • FIG. 1 is a block diagram illustrating a schematic configuration of an analysis support device according to an embodiment of the present invention.
  • FIG. 2 is a configuration diagram illustrating an example of a configuration of a plant to be subjected to analysis support in the embodiment of the present invention.
  • FIG. 3 is a block diagram showing the relationship between the analysis support device according to the embodiment of the present invention and the control system of the plant shown in FIG.
  • FIG. 4 is a block diagram more specifically showing the configuration of the analysis support device according to the embodiment of the present invention.
  • FIG. 5 shows an example of a control program used in the embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an example of the causal relationship extracted in the embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating a schematic configuration of an analysis support device according to an embodiment of the present invention.
  • FIG. 2 is a configuration diagram illustrating an example of a configuration of a plant to be subjected to analysis support in the embodiment of the present invention.
  • FIG. 3 is
  • FIG. 7 is a diagram illustrating an example of a state transition graph and a fault tree created in the embodiment of the present invention.
  • FIG. 8 is a diagram illustrating another example of the state transition graph and the fault tree created in the embodiment of the present invention.
  • FIG. 9 is a flowchart showing the operation of the analysis support device according to the embodiment of the present invention.
  • FIG. 10 is a block diagram illustrating an example of a computer that realizes the analysis support device 10 according to the embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating a schematic configuration of an analysis support device according to an embodiment of the present invention.
  • the analysis support apparatus 10 is an apparatus for supporting analysis of a control program for controlling each part of a plant.
  • the analysis support device 10 includes a control program acquisition unit 11, an event information acquisition unit 12, and a safety barrier search unit 13.
  • the control program acquisition unit 11 acquires a control program for controlling each part of the plant based on sensor data from a sensor installed in the plant.
  • the event information acquisition unit 12 includes, as information necessary for searching the control program for a safety barrier that avoids occurrence of a predetermined event in the plant, a variable that defines a state of the plant when the predetermined event occurs and its value. Get event information, including
  • the safety barrier search unit 13 extracts a causal relationship between input variables and output variables in the control program from the control program acquired by the control program acquisition unit 11.
  • the safety barrier search unit 13 searches the control program for a safety barrier based on the variables and their values included in the event information acquired by the event information acquisition unit 12 and the extracted causal relationship.
  • the analysis support apparatus 10 can automatically extract a safety barrier from a control program. For this reason, according to the analysis support apparatus 10, when analyzing the safety of a plant, the analysis of the control program can be supported.
  • FIG. 2 is a configuration diagram illustrating an example of a configuration of a plant to be subjected to analysis support in the embodiment of the present invention.
  • FIG. 3 is a block diagram showing the relationship between the analysis support device according to the embodiment of the present invention and the control system of the plant shown in FIG.
  • FIG. 4 is a block diagram more specifically showing the configuration of the analysis support device according to the embodiment of the present invention.
  • the plant 20 includes a water storage tank 21, a water level sensor (LIT101) 22, a supply line 23, a drainage line 24, a pump (PMP101) 25, and a valve (MV101). ) 26. Further, the plant 20 includes a PLC (PLC1) 30 that executes a control program as a control device.
  • LIT101 water level sensor
  • PMP101 pump
  • MV101 valve
  • PLC PLC
  • the water level sensor 22 measures the water level of the water stored in the water storage tank 21 in four stages (H2, H, L, L2), and outputs sensor data indicating the measured water level.
  • the supply line 23 is a line for supplying water to the water storage tank 21.
  • the pump 25 is provided on the supply line 23.
  • the drain line 24 is a line for discharging water from the water storage tank 21.
  • the valve 26 is provided on the drain line 24.
  • the PLC 30 adjusts the water level by operating the pump 25 or opening and closing the valve 26 in accordance with the sensor data output from the water level sensor 22.
  • the PLC 30 enables data communication between the engineering workstation 33 and the terminal device 31 used by the operator via the network switch 32 and the control network (NW_c1). It is connected. Further, the PLC 30 is also connected to the analysis support device 10 via the network switch 32 and the control network (NW_c1).
  • the terminal device 31 provides the operator with an HMI.
  • the operator is operating on the HMI of the terminal device 31.
  • the engineering workstation 33 manages the operation state of each PLC, and further retains a control program thereof. Further, the engineering workstation 33 updates the control program according to an instruction from an operator or the like.
  • the PLC 30 is connected to the water level sensor 22, the pump 25, and the valve 26 via the field network f1 (NW_f1).
  • the plant 20 to be monitored in the present embodiment includes the PLC that executes the control program, and the network that connects the PLC and other devices.
  • the analysis support apparatus 10 includes an event derivation unit 14, a display unit 15, a control program acquisition unit 11, an event information acquisition unit 12, and a safety barrier search unit 13 shown in FIG. A causal relationship storage unit 16.
  • the control program acquisition unit 11 acquires the control program held by the engineering workstation 33 shown in FIG.
  • FIG. 5 shows an example of a control program used in the embodiment of the present invention.
  • the control program shown in FIG. 5 is a part of the control program of the PLC 30.
  • “LIT101.H2”, “LIT101.H”, “LIT101.L2”, “LIT101.L”, and “PMP101.ON” indicate signals used in the plant 20, respectively.
  • LIT101.H2 is a signal that is “High (1)” when the water level is the maximum of four levels, and is “Low (0)” otherwise.
  • LIT101.H is a signal that becomes “High (1)” when the water level drops by one stage from the maximum, and becomes “Low (0)” otherwise.
  • LIT101.L is a signal that becomes “High (1)” when the water level falls two steps below the maximum, and becomes “Low (0)” otherwise.
  • LIT101.L2 is a signal that becomes “High (1)” when the water level is the minimum of four steps, and becomes “Low (0)” when it is not.
  • “D_OUT_CH0” is a signal (flag) for controlling the pump 25, and becomes “1” when instructing operation, and becomes “0” when instructing stop.
  • “PLANT_SD” is a signal (flag) indicating whether or not the shutdown of the entire plant 20 is requested, and becomes “1” when shutdown of the entire plant 20 is requested, and “0” otherwise.
  • Becomes “PLANT_STOP” is a signal (flag) indicating whether or not the emergency stop button is pressed, and is “1” when the emergency stop button is pressed, and is “0” otherwise.
  • the signal transmitted from the sensor or the like by the PLC 30 for transmitting the state of the manufacturing process or the like is written in a location corresponding to the signal in a storage device included in the PLC.
  • the signal transmitted to the actuator or the like by the PLC for operating or stopping the actuator or the like is read from a location corresponding to the signal in a storage device included in the PLC.
  • the location in the storage device is generally called a variable, a tag, a register, and the like, and in this embodiment, is called a variable.
  • a variable to which a received signal is written is called an input variable
  • a variable from which a transmitted signal is read is called an output variable.
  • the event information acquisition unit 12 acquires event information about a failure event (for example, “failure to stop pump”).
  • a failure event is an event in which the safety barrier did not function and could not be prevented from occurring.
  • the safety barrier is a means for transitioning from a state at the time of occurrence of a failure event to a state in which the occurrence of the failure event has been avoided.
  • the safety barrier is a program module implemented in the control program. is there.
  • the safety barrier includes a transition start point, a transition point, and a transition condition that causes the transition.
  • the safety barrier search unit 13 first extracts a causal relationship from the control program of the PLC 30 and stores the extracted causal relationship in the causal relationship storage unit 16.
  • the causal relationship indicates, for example, what value of the input variable determines the value of the output variable output by each PLC. Further, the safety barrier search unit 13 stores the extracted causal relationship in the causal relationship storage unit 16.
  • FIG. 6 is a diagram illustrating an example of the causal relationship extracted in the embodiment of the present invention.
  • the safety barrier search unit 13 first performs an analysis process from among the variables to be read and written for each processing step (line) of the control program (see FIG. 5). , Specify output variables.
  • An output variable is a special variable used by the PLC to send a signal for controlling each part of the plant.
  • a naming rule may be defined separately, for example, having a variable name starting with “D_OUT”.
  • the safety barrier search unit 13 can specify a variable that matches the output variable naming rule as an output variable.
  • the safety barrier search unit 13 specifies, from the control program, an input variable that can influence the determination of the value of the output variable. In addition, if there is another input variable that may affect the determination of the value of the specified input variable, the safety barrier search unit 13 also specifies the other input variable. Identify the input variables.
  • ⁇ ⁇ Identification of an input variable that can influence the determination of the value of an output variable can be performed as follows. For example, when the control program includes an assignment statement for assigning a value to an output variable, the safety barrier search unit 13 specifies another variable referred to as a value to which the assignment statement is assigned as an input variable. In the control program, if the execution of the assignment statement is determined by the evaluation result of the conditional expression in the conditional branch such as the IF statement, the safety barrier search unit 13 also inputs another variable referenced by the conditional expression. Specify as a variable.
  • the safety barrier search unit 13 searches the control program for an assignment statement that assigns a constant to an input variable or a conditional expression that compares an input variable with a constant. It is determined whether the input variable can take a constant, and if so, the constant (value) is specified.
  • the safety barrier search unit 13 then comprehensively generates a plurality of input value patterns from the input variables specified so far and the constants (values) that the input variables can take. Next, for each input value pattern, the safety barrier search unit 13 executes the control program once in a state where the input value pattern is given, and obtains an output value. At this time, the input variables referred to during the execution of the control program are also recorded.
  • the safety barrier search unit 13 extracts the recorded input variables and their values and the values of the output variables output by the control program, and sets these as a causal relationship.
  • the extracted causal relationship is as shown in FIG.
  • the safety barrier search unit 13 extracts a signal and its value included in an assignment process and a branch condition in a conditional branch process as a causal relationship between a plurality of signals used in a plant.
  • the safety barrier search unit 13 specifies an output variable, specifies an input variable, specifies a value that can be taken by an input variable, generates an input value pattern, obtains an output value and an input variable referenced at the time of execution of a control program. Go and extract causal relationships.
  • the safety barrier search unit 13 creates a state transition graph using the variables and values included in the event information and the extracted causal relationship.
  • the state transition graph indicates a state transition from a state defined by a variable and a value included in the event information, and includes a transition start point, an end point, and a transition condition for causing the transition.
  • the safety barrier search unit 13 searches for a safety barrier by specifying, from the created state transition graph, a transition to a state in which the occurrence of a failure event has been avoided.
  • the safety barrier search unit 13 creates a state transition graph of the entire plant 20 in advance from the causal relationship, and uses the variables and values included in the event information from among the created state transition graphs as necessary.
  • a state transition graph may be specified.
  • FIG. 7 is a diagram illustrating an example of a state transition graph and a fault tree created in the embodiment of the present invention.
  • FIG. 8 is a diagram illustrating another example of the state transition graph and the fault tree created in the embodiment of the present invention.
  • the event information includes a variable (D_OUT_CH0) for controlling the pump 25 and its value “1”.
  • the safety barrier search unit 13 creates a state transition graph from the variable (D_OUT_CH0) controlling the pump 25 and the causal relationship shown in FIG.
  • the state in which the failure event occurs is a state in which the state instructing the operation of the pump 25 continues. Therefore, the safety barrier search unit 13 creates a state transition graph including a transition from the state instructing the operation of the pump 25 to the state instructing the stop so as to avoid this state.
  • the transition from state to state in the state transition graph includes a starting point, an ending point, and a transition condition, which are created from a causal relationship.
  • the starting point is created from variables included in event information among input variables having a causal relationship and their values.
  • the end point is created from the variables included in the event information and the values of the output variables having the causal relationship.
  • the transition condition is created from variables not included in the event information and their values among the input variables having the causal relationship.
  • the safety barrier search unit 13 determines a plurality of transitions starting from each state in the state transition graph. Can be created. Similarly, when there is a causal relationship in which any value of the variable included in the event information is not specified as the value of the output variable, the safety barrier search unit 13 determines a plurality of states having each state as an end point in the state transition graph. Transitions can be created.
  • the safety barrier search unit 13 sets transitions A to C shown in the upper part of FIG. 7 as safety barriers.
  • the event deriving unit 14 uses the information included in the safety barrier extracted by the safety barrier search unit 13 to cause a new event in which the safety barrier may not function, that is, a cause of a failure event (undesired event). Derive a new event.
  • a new event in which the safety barrier may not function that is, a cause of a failure event (undesired event).
  • the extracted safety barrier is a means implemented in the control program in order to avoid occurrence of a failure event (undesired event)
  • an event in which the safety barrier itself does not function correctly that is, When the actual state of each part of the plant satisfies the state of the starting point in the state transition graph and the transition condition of the state transition, the PLC does not execute the process corresponding to the state transition, and as a result, the state of each part of the plant is changed.
  • the event that does not change to the state of the end point in the state transition graph can be a new event that causes a failure event to occur. Since this new event constitutes a fault tree viewed by the operator, the event deriving unit 14 derives an event expressed in a natural language that can be intuitively understood by a person.
  • FIG. 7 shows a new event derived from the safety barriers “transition A”, “transition B”, and “transition C” extracted by the safety barrier search unit 13 by the event derivation unit 14.
  • the new events are “transition A failure”, “transition B failure”, and “transition C failure” that cause the failure event “PMP101 operation continuation” to occur.
  • the event deriving unit 14 may add a sentence explaining that the event to be derived is an event possibly caused by a cyber attack. For example, a cyber attacker who has invaded a plant may falsify a control program or falsify an input signal or the like transmitted from a sensor or the like to a PLC in a network. .
  • the safety barrier search unit 13 creates four transitions A to D based on a causal relationship (not shown) extracted from the control program (see FIG. 5).
  • the safety barrier search unit 13 sets the transitions A to D as safety barriers.
  • the plant 20 includes a single PLC 30.
  • the plant 20 includes a plurality of PLCs and a network connecting the PLCs. It may be.
  • control program acquisition unit 11 acquires a control program for each PLC.
  • safety barrier search unit 13 searches for a safety barrier for each PLC from a control program executed by each PLC.
  • the display unit 15 When the safety barrier search unit 13 searches for a safety barrier, the display unit 15 sends information (described as “safety barrier information”) identifying the searched safety barrier to the terminal device 31 and displays the information on the screen. Display the safety barrier. In addition, as shown in the upper part of FIG. 7 and the upper part of FIG. 8, the display unit 15 can display a safety barrier as each transition constituting the state transition graph.
  • the display unit 15 When the event deriving unit 14 derives a new event, the display unit 15 also sends information specifying the new event to the terminal device 31 and displays the new event on the screen. In this case as well, as shown in the lower part of FIG. 7 and the lower part of FIG. 8, the display unit 15 displays the failure event (undesired event) and the derived new event by using a rectangle and a straight line in a part of the fault tree. It can also be displayed as a tree.
  • the operator refers to the state transition graph in the upper part of FIG. 7 and the partial tree of the fault tree in the lower part of FIG.
  • the first cause is that the pump 25 does not stop in spite of the fact that the water level in the water storage tank has reached one stage below the maximum (transition A failure), and the second is that the water level in the water storage tank has reached the maximum. It can be confirmed that there is an event in which the pump 25 does not stop despite this (transition B failure) and, thirdly, an event in which the pump 25 does not stop despite the operator pressing the emergency stop button (transition C failure). .
  • FIG. 9 is a flowchart showing the operation of the analysis support device according to the embodiment of the present invention.
  • FIGS. 1 to 8 will be referred to as appropriate.
  • the analysis support method is performed by operating the analysis support device 10. Therefore, the description of the analysis support method according to the present embodiment is replaced with the following description of the operation of the analysis support device 10.
  • control program acquisition unit 11 acquires a control program (see FIG. 5) for the PLC 30 of the plant 20 from the engineering workstation 33 (step A1).
  • the event information acquisition unit 12 includes, as information necessary for searching the control program for a safety barrier that avoids the occurrence of the failure event in the plant 20, a variable that defines the state of the plant when the failure event occurs, Event information including the value is acquired (step A2).
  • the safety barrier search unit 13 extracts the causal relationship between the input variables and the output variables in the control program from the control program of the PLC 30 acquired in step A1 (step A3).
  • the safety barrier search unit 13 first specifies, from the control program, an input variable that can influence the determination of the value of the output variable. Subsequently, the safety barrier search unit 13 searches the control program for an assignment statement that assigns a constant to an input variable or a conditional expression that compares an input variable with a constant. The input variable identified by the search and the input variable A plurality of input value patterns are comprehensively generated from constants (values) that can be taken. Thereafter, for each input value pattern, the safety barrier search unit 13 executes the control program once in a state where the input value pattern is given, obtains an output value, and at that time, refers to the control program during execution. Record the input variables. The causal relationship is represented by the obtained input value and output value.
  • the safety barrier search unit 13 creates a state transition graph using the variables and values included in the event information acquired in step A2 and the causal relationship extracted in step A3 ( Step A4).
  • the safety barrier search unit 13 searches for a safety barrier using the state transition graph created in step A4 (step A5). Specifically, the safety barrier search unit 13 specifies, from the state transition graph, a transition to a state where occurrence of a failure event has been avoided, and sets the specified transition as a safety barrier.
  • the event deriving unit 14 determines whether there is a new event in which the safety barrier searched in step A5 may not function, and if it determines that there is a new event, the new event is determined.
  • An event is derived (step A6).
  • the display unit 15 sends, to the terminal device 31, safety barrier information for identifying the safety barrier retrieved in step A5 and information for identifying a new event derived in step A6, and displays the information on the screen.
  • the safety barrier and the new event are displayed (step A7).
  • the safety barrier is automatically extracted from the control program of the PLC. Therefore, the engineer of the plant 20 does not need to analyze the program code of the PLC unlike the related art, and the burden on the engineer is reduced. According to the present embodiment, analysis of a control program can be supported when performing plant safety analysis.
  • the program in the present embodiment may be any program that causes a computer to execute steps A1 to A7 shown in FIG.
  • the processor of the computer functions as the control program acquisition unit 11, the event information acquisition unit 12, the safety barrier search unit 13, the event derivation unit 14, and the display unit 15 and performs processing.
  • the causal relationship storage unit 16 is realized by storing a causal relationship data file in a storage device such as a hard disk provided in the computer.
  • the program according to the present embodiment may be executed by a computer system configured by a plurality of computers.
  • each computer may function as one of the control program acquisition unit 11, the event information acquisition unit 12, the safety barrier search unit 13, the event derivation unit 14, and the display unit 15, respectively.
  • the causality storage unit 16 may be constructed on a computer different from the computer that executes the program according to the present embodiment.
  • FIG. 10 is a block diagram illustrating an example of a computer that realizes the analysis support device 10 according to the embodiment of the present invention.
  • the computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. And these units are connected via a bus 121 so as to be able to perform data communication with each other.
  • the computer 110 may include a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array) in addition to or instead of the CPU 111.
  • the CPU 111 performs various operations by expanding the program (code) according to the present embodiment stored in the storage device 113 into the main memory 112 and executing them in a predetermined order.
  • the main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).
  • the program according to the present embodiment is provided in a state stored in computer-readable recording medium 120. Note that the program in the present embodiment may be distributed on the Internet connected via the communication interface 117.
  • the storage device 113 includes a semiconductor storage device such as a flash memory in addition to a hard disk drive.
  • the input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and a mouse.
  • the display controller 115 is connected to the display device 119 and controls display on the display device 119.
  • the data reader / writer 116 mediates data transmission between the CPU 111 and the recording medium 120, reads out a program from the recording medium 120, and writes a processing result of the computer 110 to the recording medium 120.
  • the communication interface 117 mediates data transmission between the CPU 111 and another computer.
  • the recording medium 120 include a general-purpose semiconductor storage device such as CF (Compact @ Flash (registered trademark)) and SD (Secure Digital), a magnetic recording medium such as a flexible disk (Flexible @ Disk), or a CD-ROM.
  • CF Compact @ Flash
  • SD Secure Digital
  • An optical recording medium such as a ROM (Compact Disk Read Only Memory) may be used.
  • analysis support device 10 can also be realized by using hardware corresponding to each unit instead of a computer in which a program is installed. Further, part of the analysis support device 10 may be realized by a program, and the remaining part may be realized by hardware.
  • a safety barrier search unit Based on sensor data from a sensor installed in the plant, for controlling each part of the plant, to obtain a control program, a control program acquisition unit, As information necessary for searching for a safety barrier that avoids the occurrence of a predetermined event in the plant from the control program, including a variable and a value that define the state of the plant when the predetermined event occurs, An event information acquisition unit that acquires event information; From the obtained control program, the causal relationship between the input variables and the output variables in the control program is extracted, and the variable and the value included in the obtained event information and the extracted causal relationship are extracted. Based on the control program to search for the safety barrier, a safety barrier search unit, Has, An analysis support device, characterized in that:
  • step (Appendix 11) A computer-readable recording medium according to claim 9 or 10, wherein In the step (c), Using the variables and the values included in the event information and the extracted causal relationship, indicate a state transition from a state defined by the variables and the values included in the event information, and Create a state transition graph that includes the transition start point, end point, and transition conditions that cause the transition, Then, from the created state transition graph, by specifying a transition to a state in which the occurrence of the predetermined event has been avoided, to search for the safety barrier, A computer-readable recording medium characterized by the above-mentioned.
  • (Appendix 12) 12 A computer-readable recording medium according to any one of supplementary notes 9 to 11, wherein In the case where the plant includes a plurality of control devices that execute the control program, and a network that connects the plurality of control devices, In the step (a), the control program is acquired for each of the control devices; In the step (c), for each of the control devices, searching for the safety barrier from the control program executed by the control device, A computer-readable recording medium characterized by the above-mentioned.
  • analysis of a control program can be supported when analyzing plant safety.
  • the present invention is useful for various plants controlled by a control device.

Abstract

解析支援装置10は、プラントに設置されたセンサからのセンサデータに基づいて、プラントの制御プログラムを取得する、制御プログラム取得部11と、プラントにおける所定の事象の発生を回避する安全バリアを制御プログラムから検索するために必要な情報として、所定の事象が発生した時のプラントの状態を定義する変数及びその値を含む、事象情報を取得する、事象情報取得部12と、制御プログラムから入力変数及び出力変数の因果関係を抽出し、事象情報に含まれる変数及び値と、抽出した因果関係とに基づいて、制御プログラムから安全バリアを検索する、安全バリア検索部13と、を備えている。

Description

解析支援装置、解析支援方法、及びコンピュータ読み取り可能な記録媒体
 本発明は、プラントの安全性の解析を支援するための解析支援装置及び解析支援方法に関し、更には、これらを実行するためのプログラムを記録するコンピュータ読み取り可能な記録媒体に関する。
 従来から、工場、発電所、変電所、水処理場等では、プラントを制御するための制御システムが必要となる。このような制御システムは、一般に、PLC(Programmable Logic Controller)と、PLCを管理及び保守するエンジニアリングワークステーション(管理装置)と、オペレータにHMI(Human Machine Interface)を提供する端末装置等を備えている。
 このうち、PLCは、設備の各部に配置されたセンサからセンサデータに基づいてアクチュエータ等を作動させる。PLCは、エンジニアリングワークステーションから与えられる制御プログラムに従って動作する。また、HMIには、センサデータの値、アクチュエータの作動状態等が表示されるので、オペレータは、HMIを通して、設備の稼働状況を監視することができる。
 プラントには、工作機械、燃料、電気、水、薬品等のさまざまな危険源(ハザード)が存在し、これらの制御又は取り扱いが不適切な場合は、人命、設備等に損害が発生するおそれがある。このような損害の発生を防ぐために、プラントには、設計に基づいて、様々な安全バリアが設けられている。
 物理的な安全バリアの一例としては、高圧電流が流れている区画に作業員が立ち入らないように設置されたフェンス等が挙げられる。また、安全バリアは、物理的なものに限らず、機能的なものもある。機能的な安全バリアの一例としては、PLCに制御プログラムを実行させることによって発動する安全バリアがある。具体的には、PLCは、安全バリアとして、貯水タンクに設置された水位センサの信号を監視し、水位が貯水タンクの上限に達した場合は、貯水タンクに水を供給するバルブ(アクチュエータ)を閉じる信号を送出する、制御プログラムを実行する。
 また、このような制御システムを備えたプラントにおいては、リスクを定量的に評価するために、予め、技術者によってフォルトツリー解析(故障の木解析)が行われている。フォルトツリー解析は、特定の望ましくない事象を根のノードとし、この望ましくない事象が発生する原因となる事象を中間のノード又は葉として、ツリー構造を構築することによって行われる(例えば、特許文献1参照)。
 具体的には、技術者は、まず、起点となる、プラントにおける望ましくない事象を定義する。次に、技術者は、プラントの設計情報を解析して、定義された事象が発生する原因となる事象の論理的な組み合わせを漏れなく抽出し、抽出した事象をノードとして、フォルトツリーを構築する。このようなフォルトツリー解析を予め行うことにより、技術者は、プラントに故障が起きても迅速に対応することができる。
特開2010-237855号公報
 ところで、技術者において、プラントの設計情報の一つであるPLCのプログラムコードを解析して、定義された事象が発生する原因となる事象を漏れなく抽出することは、多大な時間と労力とを要する作業である。また、過去にフォルトツリー解析が行われていても、PLCのプログラムに対して改良及び修正等が行われると、作成されているフォルトツリーと現在のプログラムのロジックとの間で不整合が生じている可能性がある。この場合、技術者は、再度、PLCのプログラムコードを解析して、不整合の有無を確認する必要がある。このような作業も、多大な時間と労力とを要する作業である。
 本発明の目的の一例は、上記問題を解消し、プラントの安全性の分析を行う場合において、制御プログラムの解析を支援し得る、解析支援装置、解析支援方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
 上記目的を達成するため、本発明の一側面における解析支援装置は、
 プラントに設置されたセンサからのセンサデータに基づいて、前記プラントの各部を制御するための、制御プログラムを取得する、制御プログラム取得部と、
 前記プラントにおける所定の事象の発生を回避する安全バリアを前記制御プログラムから検索するために必要な情報として、前記所定の事象が発生した時の前記プラントの状態を定義する変数及びその値を含む、事象情報を取得する、事象情報取得部と、
 取得された前記制御プログラムから、前記制御プログラムにおける入力変数及び出力変数の因果関係を抽出し、そして、取得された前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とに基づいて、前記制御プログラムから前記安全バリアを検索する、安全バリア検索部と、
を備えている、
ことを特徴とする。
 また、上記目的を達成するため、本発明の一側面における解析支援方法は、
(a)プラントに設置されたセンサからのセンサデータに基づいて、前記プラントの各部を制御するための、制御プログラムを取得する、ステップと、
(b)前記プラントにおける所定の事象の発生を回避する安全バリアを前記制御プログラムから検索するために必要な情報として、前記所定の事象が発生した時の前記プラントの状態を定義する変数及びその値を含む、事象情報を取得する、ステップと、
(c)取得された前記制御プログラムから、前記制御プログラムにおける入力変数及び出力変数の因果関係を抽出し、そして、取得された前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とに基づいて、前記制御プログラムから前記安全バリアを検索する、ステップと、
を有する、
ことを特徴とする。
 更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、
コンピュータによって、
(a)プラントに設置されたセンサからのセンサデータに基づいて、前記プラントの各部を制御するための、制御プログラムを取得する、ステップと、
(b)前記プラントにおける所定の事象の発生を回避する安全バリアを前記制御プログラムから検索するために必要な情報として、前記所定の事象が発生した時の前記プラントの状態を定義する変数及びその値を含む、事象情報を取得する、ステップと、
(c)取得された前記制御プログラムから、前記制御プログラムにおける入力変数及び出力変数の因果関係を抽出し、そして、取得された前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とに基づいて、前記制御プログラムから前記安全バリアを検索する、ステップと、
を実行する命令を含む、プログラムを記録している、
ことを特徴とする。
 以上のように、本発明によれば、プラントの安全性の分析を行う場合において、制御プログラムの解析を支援することができる。
図1は、本発明の実施の形態における解析支援装置の概略構成を示すブロック図である。 図2は、本発明の実施の形態において解析支援の対象となるプラントの構成の一例を示す構成図である。 図3は、本発明の実施の形態における解析支援装置と図2に示したプラントの制御系との関係を示すブロック図である。 図4は、本発明の実施の形態における解析支援装置の構成をより具体的に示すブロック図である。 図5は、本発明の実施の形態で用いられる制御プログラムの一例を示している。 図6は、本発明の実施の形態において抽出された因果関係の一例を示す図である。 図7は、本発明の実施の形態において作成される状態遷移グラフとフォルトツリーとの一例を示す図である。 図8は、本発明の実施の形態において作成される状態遷移グラフとフォルトツリーとの他の例を示す図である。 図9は、本発明の実施の形態における解析支援装置の動作を示すフロー図である。 図10は、本発明の実施の形態における解析支援装置10を実現するコンピュータの一例を示すブロック図である。
(実施の形態)
 以下、本発明の実施の形態における、解析支援装置、解析支援方法、及びプログラムについて、図1~図10を参照しながら説明する。
[装置構成]
 最初に、図1を用いて、本実施の形態における解析支援装置の概略構成について説明する。図1は、本発明の実施の形態における解析支援装置の概略構成を示すブロック図である。
 図1に示す本実施の形態における解析支援装置10は、プラントの各部を制御するための制御プログラムの解析を支援するための装置である。図1に示すように、解析支援装置10は、制御プログラム取得部11と、事象情報取得部12と、安全バリア検索部13とを備えている。
 制御プログラム取得部11は、プラントに設置されたセンサからのセンサデータに基づいて、プラントの各部を制御するための、制御プログラムを取得する。事象情報取得部12は、プラントにおける所定の事象の発生を回避する安全バリアを制御プログラムから検索するために必要な情報として、所定の事象が発生した時のプラントの状態を定義する変数及びその値を含む、事象情報を取得する。
 安全バリア検索部13は、まず、制御プログラム取得部11によって取得された制御プログラムから、制御プログラムにおける入力変数及び出力変数の因果関係を抽出する。そして、安全バリア検索部13は、事象情報取得部12によって取得された事象情報に含まれる変数及びその値と、抽出した因果関係とに基づいて、制御プログラムから安全バリアを検索する。
 以上のように、本実施の形態における解析支援装置10は、制御プログラムから自動的に安全バリアを抽出することができる。このため、解析支援装置10によれば、プラントの安全性の分析を行う場合において、制御プログラムの解析を支援することができる。
 続いて、図2~図8を用いて、本実施の形態における解析支援装置の構成及び機能について具体的に説明する。図2は、本発明の実施の形態において解析支援の対象となるプラントの構成の一例を示す構成図である。図3は、本発明の実施の形態における解析支援装置と図2に示したプラントの制御系との関係を示すブロック図である。図4は、本発明の実施の形態における解析支援装置の構成をより具体的に示すブロック図である。
 図2に示すように、本実施の形態では、プラント20は、貯水タンク21と、水位センサ(LIT101)22と、供給ライン23と、排水ライン24と、ポンプ(PMP101)25と、バルブ(MV101)26とを備えている。また、プラント20は、制御装置として、制御プログラムを実行するPLC(PLC1)30を備えている。
 水位センサ22は、貯水タンク21に貯水されている水の水位を4段階(H2,H,L,L2)で計測し、計測した水位を示すセンサデータを出力する。供給ライン23は、貯水タンク21に水を供給するためのラインである。ポンプ25は、供給ライン23上に設けられている。排水ライン24は、貯水タンク21の水を排出するためのラインである。バルブ26は、排水ライン24上に設けられている。PLC30は、水位センサ22から出力されてきたセンサデータに応じて、ポンプ25を稼働させ、又はバルブ26を開閉させて、水位を調整する。
 また、図3に示すように、プラント20において、PLC30は、ネットワークスイッチ32とコントロールネットワーク(NW_c1)とを介して、エンジニアリングワークステーション33と、オペレータが使用する端末装置31とに、データ通信可能に接続されている。更に、PLC30は、ネットワークスイッチ32とコントロールネットワーク(NW_c1)とを介して、解析支援装置10にも接続されている。
 端末装置31は、オペレータにHMIを提供する。オペレータは、端末装置31のHMI上で操作を行っている。エンジニアリングワークステーション33は、各PLCの動作状態を管理し、更に、その制御プログラムを保持している。また、エンジニアリングワークステーション33は、オペレータ等の指示に応じて、制御プログラムを更新する。
 更に、図3に示すように、PLC30は、フィールドネットワークf1(NW_f1)を介して、水位センサ22と、ポンプ25と、バルブ26とに接続されている。このように、本実施の形態において監視対象となるプラント20は、制御プログラムを実行するPLC、PLCとその他の装置とを結ぶネットワーク、を備えている。
 また、図4を用いて、本実施の形態における解析支援装置10の構成をより具体的に説明する。図4に示すように、解析支援装置10は、図1で示した制御プログラム取得部11、事象情報取得部12、安全バリア検索部13に加えて、事象導出部14と、表示部15と、因果関係記憶部16とを備えている。
 制御プログラム取得部11は、本実施の形態では、図2に示したエンジニアリングワークステーション33から、それが保持している制御プログラムを取得する。図5は、本発明の実施の形態で用いられる制御プログラムの一例を示している。また、図5に示された制御プログラムは、PLC30の制御プログラムの一部である。図5において、「LIT101.H2」、「LIT101.H」、「LIT101.L2」、「LIT101.L」、「PMP101.ON」は、それぞれ、プラント20で使用される信号を示している。
 具体的には、「LIT101.H2」は、水位が4段階の最大であるときに「High(1)」、そうでないときに「Low(0)」となる信号である。「LIT101.H」は、水位が最大から1段下がったときに「High(1)」、そうでないときに「Low(0)」となる信号である。「LIT101.L」は、水位が最大から2段下がったときに「High(1)」、そうでないときに「Low(0)」となる信号である。「LIT101.L2」は、水位が4段階の最小であるときに「High(1)」、そうでないときに「Low(0)」となる信号である。
 更に、図5において、「D_OUT_CH0」は、ポンプ25を制御する信号(フラグ)であり、運転を指示するときに「1」となり、停止を指示するときに「0」となる。また、「PLANT_SD」は、プラント20全体の停止が要求されているかどうかを示す信号(フラグ)であり、プラント20全体のシャットダウンが要求されていると「1」となり、そうでないときに「0」となる。「PLANT_STOP」は緊急停止ボタンが押されているかどうかを示す信号(フラグ)であり、緊急停止ボタンが押されていると「1」となり、そうでないときに「0」となる。
 なお、PLC30によってセンサ等から受信された製造プロセスの状態等を伝える信号は、このPLCが備える記憶装置内の当該信号に対応する場所に書き込まれる。また、PLCによってアクチュエータ等に送信された、アクチュエータ等を作動又は停止等させる信号は、PLCが備える記憶装置内の当該信号と対応する場所から読み出される。また、記憶装置内の場所は、一般的に、変数、タグ、レジスタ等と呼ばれており、本実施の形態では、変数と呼ぶ。また、受信された信号が書き込まれる変数を入力変数と呼び、送信される信号が読み出される変数を出力変数と呼ぶ。
 事象情報取得部12は、本実施の形態では、失敗事象(例えば、「ポンプの停止に失敗する」等)についての事象情報を取得する。失敗事象は、安全バリアが機能せずに発生を阻止できなかった事象である。また、安全バリアは、失敗事象が発生した時の状態から、失敗事象の発生が回避された状態へと遷移させるための手段であり、具体的には、制御プログラムに実装されているプログラムモジュールである。また、安全バリアは、遷移の起点、終点、及び遷移を生じさせる遷移条件を含んでいる。
 安全バリア検索部13は、本実施の形態では、まず、PLC30の制御プログラムから、因果関係を抽出し、抽出した因果関係を因果関係記憶部16に格納する。因果関係は、例えば、各PLCが出力する出力変数の値が、どのような入力変数の値に基づいて決定されているのかを示している。更に、安全バリア検索部13は、抽出した因果関係を因果関係記憶部16に格納する。
 ここで、図6を用いて、安全バリア検索部13による因果関係の抽出処理について具体的に説明する。図6は、本発明の実施の形態において抽出された因果関係の一例を示す図である。
 具体的には、図6に示すように、安全バリア検索部13は、解析処理として、まず、制御プログラム(図5参照)の処理ステップ(行)毎に、読み書きがおこなわれる各変数の中から、出力変数を特定する。出力変数は、プラントの各部を制御する信号を送出するためにPLCによって利用される特別な変数であり、例えば、「D_OUT」で始まる変数名を持つ等、命名規則が別途定められている場合が多い。例えば、安全バリア検索部13は、出力変数の命名規則に合致する変数を出力変数として特定することができる。
 続いて、安全バリア検索部13は、制御プログラムから、出力変数の値の決定に影響を与え得る入力変数を特定する。また、安全バリア検索部13は、特定した入力変数の値の決定に影響を与え得る別の入力変数が存在する場合は、これも特定するため、新たな入力変数が特定される限り、再帰的に入力変数の特定を実行する。
 ある出力変数の値の決定に影響を与え得る入力変数の特定は、次のようにして行うことができる。例えば、制御プログラムに、出力変数に値を代入する代入文がある場合は、安全バリア検索部13は、代入文が代入される値として参照する別の変数を、入力変数として特定する。また、制御プログラムにおいて、代入文を実行するか否かが、IF文などの条件分岐における条件式の評価結果によって決まる場合は、安全バリア検索部13は、条件式が参照する別の変数も入力変数として特定する。
 次に、安全バリア検索部13は、制御プログラムにおいて、入力変数に定数を代入する代入文、又は入力変数と定数とを比較する条件式を検索し、検索によって特定できた代入文又は条件式から、入力変数が定数を取り得るかどうかを判断し、取り得る場合は定数(値)を特定する。
 そして、安全バリア検索部13は、これまでに特定した入力変数とその入力変数が取り得る定数(値)とから、複数の入力値パターンを網羅的に生成する。次に、安全バリア検索部13は、入力値パターン毎に、その入力値パターンが与えられた状態下で制御プログラムを1回実行し、出力値を求める。その際、制御プログラムが実行中に参照した入力変数も記録する。
 そして、安全バリア検索部13は、制御プログラムの実行後、記録された入力変数及びその値と、制御プログラムが出力した出力変数の値とを抽出して、これらを因果関係とする。抽出された因果関係は、図6に示す通りである。
 安全バリア検索部13は、プラントで使用される複数の信号それぞれ間における因果関係として、代入処理と、条件分岐処理における分岐条件と、に含まれる信号及びその値を抽出する。言い換えると、安全バリア検索部13は、出力変数の特定、入力変数の特定、入力変数が取りうる値の特定、入力値パターンの生成、出力値および制御プログラム実行時に参照された入力変数の取得を行って、因果関係を抽出する。
 続いて、安全バリア検索部13は、因果関係を抽出すると、事象情報に含まれる変数及び値と、抽出した因果関係とを用いて、状態遷移グラフを作成する。状態遷移グラフは、事象情報に含まれる変数及び値によって定義される状態からの状態遷移を示し、且つ、遷移の起点、終点、及び遷移を生じさせる遷移条件を含む。そして、安全バリア検索部13は、作成した状態遷移グラフから、失敗事象の発生が回避された状態への遷移を特定することによって、安全バリアを検索する。
 また、安全バリア検索部13は、予め、因果関係からプラント20全体の状態遷移グラフを作成し、作成した全体の状態遷移グラフのなかから、事象情報に含まれる変数及び値を用いて、必要な状態遷移グラフを特定しても良い。
 ここで、図7及び図8を用いて、安全バリア検索部13による安全バリアの検索処理について具体的に説明する。図7は、本発明の実施の形態において作成される状態遷移グラフとフォルトツリーとの一例を示す図である。図8は、本発明の実施の形態において作成される状態遷移グラフとフォルトツリーとの他の例を示す図である。 以降では、事象情報にポンプ25を制御する変数(D_OUT_CH0)とその値「1」が含まれている場合を例として説明する。
 図7の上段に示すように、安全バリア検索部13は、ポンプ25を制御する変数(D_OUT_CH0)と図6に示した因果関係とから、状態遷移グラフを作成する。この状態遷移グラフには、「D_OUT_CH0=1」と「D_OUT_CH0=0」との2つの状態が含まれている。また、状態「D_OUT_CH0=1」から状態「D_OUT_CH0=0」への3つの遷移が含まれている。
 言い換えると、図7の例では、失敗事象が発生してしまう状態は、ポンプ25の運転を指示する状態が継続してしまう状態である。よって、安全バリア検索部13は、この状態が回避されるように、ポンプ25の運転を指示する状態から停止を指示する状態への遷移を含む、状態遷移グラフを作成する。
 また、状態遷移グラフにおける状態から状態への遷移は、起点、終点、及び遷移条件を含み、これらは因果関係から作成される。起点は、因果関係が持つ入力変数のうち事象情報にも含まれる変数及びその値から作成される。終点は、因果関係が持つ出力変数のうち事象情報にも含まれる変数及びその値から作成される。遷移条件は、因果関係が持つ入力変数のうち事象情報には含まれない変数及びその値から作成される。
 例えば、図7における遷移Aは、図6における第2番目及び第4番目の因果関係から作成されており、起点「D_OUT_CH0=1」、終点「D_OUT_CH0=0」、及び遷移条件「LIT101.H=1」を含む。図7における遷移Bは、図6における第3番目の因果関係から作成されており、起点「D_OUT_CH0=1」、終点「D_OUT_CH0=0」、及び遷移条件「LIT101.H2=1」を含む。図7における遷移Cは、図6における第4番目から第8番目までの4つの因果関係から作成されており、起点「D_OUT_CH0=1」、終点「D_OUT_CH0=0」、及び遷移条件「PLANT_STOP=1」を含む。
 加えて、安全バリア検索部13は、事象情報に含まれる変数のいかなる値も入力変数の値として指定されていない因果関係が存在する場合は、状態遷移グラフにおける各状態を起点とする複数の遷移を作成することができる。同様に、安全バリア検索部13は、事象情報に含まれる変数のいかなる値も出直変数の値として指定されていない因果関係が存在する場合は、状態遷移グラフにおける各状態を終点とする複数の遷移を作成することができる。
 例えば、入力変数では「D_OUT_CH0」の値が指定されておらず、出力変数では「D_OUT_CH0」の値に「0」が指定されている因果関係(図示しない)がある場合、安全バリア検索部13は、起点「D_OUT_CH0=1」から終点「D_OUT_CH0=0」への遷移と起点「D_OUT_CH0=0」から終点「D_OUT_CH0=0」への遷移を作成することができる。(この変数が取り得る値が0と1の二値である場合。)
 そして、安全バリア検索部13は、図7の上段に示した遷移A~遷移Cを安全バリアとする。
 事象導出部14は、安全バリア検索部13が抽出した安全バリアに含まれる情報を用いて、安全バリアが機能しない可能性がある新たな事象、即ち、失敗事象(望ましくない事象)が発生する原因となる新たな事象を導出する。すでに述べたように、抽出された安全バリアは、失敗事象(望ましくない事象)の発生を回避するために制御プログラムに実装された手段であるため、この安全バリアそのものが正しく機能しない事象、即ち、プラントの各部の実際の状態が状態遷移グラフにおける起点の状態と状態遷移の遷移条件とを満たしている時に、PLCが当該状態遷移に相当する処理を実行せず、その結果、プラントの各部の状態が状態遷移グラフにおける終点の状態に変化しない事象は、失敗事象が発生する原因となる新たな事象となり得る。この新たな事象は、オペレータが見るフォルトツリーを構成するため、事象導出部14は、人が直感的に理解可能な自然言語で表現された事象を導出する。
 図7の下段は、事象導出部14によって、安全バリア検索部13が抽出した安全バリア「遷移A」、「遷移B」、及び「遷移C」から導出された新たな事象を示している。新たな事象は、図7の下段の例では、失敗事象「PMP101運転継続」が発生する原因となる、「遷移A失敗」と、「遷移B失敗」と、「遷移C失敗」とである。 
 また、事象導出部14は、導出する事象に、サイバー攻撃により引き起こされる可能性のある事象であることを説明する文章を追加しても良い。例えば、プラントに侵入したサイバー攻撃者が、制御プログラムを改ざんしたり、ネットワークにおいてセンサ等からPLCに伝達される入力信号等を改ざんしたりすることによって、このような事象が発生する可能性がある。
 また、図8の上段に示すように、安全バリア検索部13は、ポンプ25を制御する変数(D_OUT_CH0)の値と、プラントのシャットダウン要求を示す変数(PLANT_SD」の値とを組み合わせて状態を表現した、状態遷移グラフを作成することもできる。この状態遷移グラフには、「D_OUT_CH0=1, PLANT_SD=0」、「D_OUT_CH0=1, PLANT_SD=1」、及び「D_OUT_CH0=0,PLANT_SD=*」(*は0及び1に該当する)の3つの状態が含まれる。
 また、図8の例では、安全バリア検索部13は、制御プログラム(図5参照)から抽出した因果関係(図示しない)に基づいて、遷移A~遷移Dの4つの遷移を作成する。遷移Aは、起点「D_OUT_CH0=1, PLANT_SD=0」と、終点「D_OUT_CH0=0,PLANT_SD=*」と、遷移条件「LIT101.H=1」とを含む。遷移Bは、起点「D_OUT_CH0=1, PLANT_SD=0」と、終点「D_OUT_CH0=1,PLANT_SD=1」と、遷移条件「LIT101.H2=1」とを含む。遷移Cは、起点「D_OUT_CH0=1, PLANT_SD=0」と、終点「D_OUT_CH0=1,PLANT_SD=1」と、遷移条件「PLANT_STOP=1」とを含む。遷移Dは、起点「D_OUT_CH0=1, PLANT_SD=1」と、終点「D_OUT_CH0=0,PLANT_SD=*」と、遷移条件(無条件)とを含む。その後、安全バリア検索部13は、遷移A~遷移Dを安全バリアとする。
 また、上述の図2及び図3の例では、プラント20に備えられたPLC30は単一であるが、本実施の形態では、プラント20には複数のPLCと、PLC間を結ぶネットワークとが備えられていても良い。
 この態様では、制御プログラム取得部11は、PLC毎に、制御プログラムを取得する。また、安全バリア検索部13は、PLC毎に、各PLCが実行する制御プログラムから、安全バリアを検索する。
 表示部15は、安全バリア検索部13によって安全バリアが検索されると、検索された安全バリアを特定する情報(「安全バリア情報」と表記する)を、端末装置31に送り、その画面上に安全バリアを表示させる。また、表示部15は、図7の上段及び図8の上段に示したように、状態遷移グラフを構成する各遷移として、安全バリアを表示することもできる。
 また、表示部15は、事象導出部14によって新たな事象が導出された場合は、この新たな事象を特定する情報も、端末装置31に送り、その画面上に新たな事象も表示させる。この場合も、表示部15は、図7の下段及び図8の下段に示したように、失敗事象(望ましくない事象)と導出された新たな事象とを矩形と直線を用いてフォルトツリーの部分木として表示することもできる。
 例えば、オペレータは、表示部15によって表示された、図7の上段の状態遷移グラフ及び図7の下段のフォルトツリーの部分木を参照することによって、ポンプ25の運転が異常に継続する事象が発生する原因として、第1に貯水タンクの水位が最大から1段下に達したにも拘わらずポンプ25が停止しない事象(遷移A失敗)と、第2に貯水タンクの水位が最大に達したにも拘わらずポンプ25が停止しない事象(遷移B失敗)と、第3にオペレータが緊急停止ボタンを押したにも拘わらずポンプ25が停止しない事象(遷移C失敗)と、があることを確認できる。
[装置動作]
 次に、本実施の形態における解析支援装置10の動作について図9を用いて説明する。図9は、本発明の実施の形態における解析支援装置の動作を示すフロー図である。以下の説明においては、適宜図1~図8を参照する。また、本実施の形態では、解析支援装置10を動作させることによって、解析支援方法が実施される。よって、本実施の形態における解析支援方法の説明は、以下の解析支援装置10の動作説明に代える。
 図9に示すように、最初に、制御プログラム取得部11は、エンジニアリングワークステーション33から、プラント20のPLC30の制御プログラム(図5参照)を取得する(ステップA1)。
 次に、事象情報取得部12は、プラント20における失敗事象の発生を回避する安全バリアを制御プログラムから検索するために必要な情報として、失敗事象が発生した時のプラントの状態を定義する変数及びその値を含む、事象情報を取得する(ステップA2)。
 次に、安全バリア検索部13は、ステップA1で取得されたPLC30の制御プログラムから、制御プログラムにおける入力変数及び出力変数の因果関係を抽出する(ステップA3)。
 具体的には、安全バリア検索部13は、制御プログラムから、まず、出力変数の値の決定に影響を与え得る入力変数を特定する。続いて、安全バリア検索部13は、制御プログラムにおいて、入力変数に定数を代入する代入文、又は入力変数と定数とを比較する条件式を検索し、検索によって特定した入力変数と、その入力変数が取り得る定数(値)とから、複数の入力値パターンを網羅的に生成する。その後、安全バリア検索部13は、入力値パターン毎に、その入力値パターンが与えられた状態下で制御プログラムを1回実行し、出力値を求め、その際、制御プログラムが実行中に参照した入力変数を記録する。因果関係は、得られた入力値及び出力値によって表される。
 次に、安全バリア検索部13は、因果関係を抽出すると、ステップA2で取得した事象情報に含まれる変数及び値と、ステップA3で抽出した因果関係とを用いて、状態遷移グラフを作成する(ステップA4)。
 次に、安全バリア検索部13は、ステップA4で作成した状態遷移グラフを用いて、安全バリアを検索する(ステップA5)。具体的には、安全バリア検索部13は、状態遷移グラフから、失敗事象の発生が回避された状態への遷移を特定し、特定した遷移を安全バリアとする。
 次に、事象導出部14は、ステップA5によって検索された安全バリアが機能しない可能性がある新たな事象が存在するかどうかを判定し、新たな事象が存在すると判定する場合は、この新たな事象を導出する(ステップA6)。
 その後、表示部15は、ステップA5で検索された安全バリアを特定する安全バリア情報と、ステップA6で導出されている新たな事象を特定する情報とを、端末装置31に送り、その画面上に安全バリアと新たな事象とを表示させる(ステップA7)。
 以上のように、本実施の形態では、PLCの制御プログラムから自動的に安全バリアが抽出される。従って、プラント20の技術者は、従来のようにPLCのプログラムコードを解析する必要がなく、技術者における負担が軽減される。本実施の形態によれば、プラントの安全性の分析を行う場合において、制御プログラムの解析を支援することができる。
[プログラム]
 本実施の形態におけるプログラムは、コンピュータに、図9に示すステップA1~A7を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における解析支援装置と解析支援方法とを実現することができる。この場合、コンピュータのプロセッサは、制御プログラム取得部11、事象情報取得部12、安全バリア検索部13、事象導出部14、及び表示部15として機能し、処理を行なう。また、因果関係記憶部16は、コンピュータに備えられたハードディスク等の記憶装置に、因果関係のデータファイルを格納することによって実現される。
 また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、制御プログラム取得部11、事象情報取得部12、安全バリア検索部13、事象導出部14、及び表示部15のいずれかとして機能しても良い。また、因果関係記憶部16は、本実施の形態におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
 ここで、本実施の形態におけるプログラムを実行することによって、解析支援装置10を実現するコンピュータについて図10を用いて説明する。図10は、本発明の実施の形態における解析支援装置10を実現するコンピュータの一例を示すブロック図である。
 図10に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。
 CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
 また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
 データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
 また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
 なお、本実施の形態における解析支援装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、解析支援装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
 上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記12)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
 プラントに設置されたセンサからのセンサデータに基づいて、前記プラントの各部を制御するための、制御プログラムを取得する、制御プログラム取得部と、
 前記プラントにおける所定の事象の発生を回避する安全バリアを前記制御プログラムから検索するために必要な情報として、前記所定の事象が発生した時の前記プラントの状態を定義する変数及びその値を含む、事象情報を取得する、事象情報取得部と、
 取得された前記制御プログラムから、前記制御プログラムにおける入力変数及び出力変数の因果関係を抽出し、そして、取得された前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とに基づいて、前記制御プログラムから前記安全バリアを検索する、安全バリア検索部と、
を備えている、
ことを特徴とする解析支援装置。
(付記2)
付記1に記載の解析支援装置であって、
 検索された前記安全バリアが機能しない可能性がある新たな事象を導出する、事象導出部と、
 特定された前記安全バリア、及び導出された前記新たな事象を、画面上に表示させる、表示部と、
を更に備えている、
ことを特徴とする解析支援装置。
(付記3)
付記1または2に記載の解析支援装置であって、
 前記安全バリア検索部が、
前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とを用いて、前記事象情報に含まれる前記変数及び前記値によって定義される状態からの状態遷移を示し、且つ、遷移の起点、終点、及び遷移を生じさせる遷移条件を含む、状態遷移グラフを作成し、
そして、作成した前記状態遷移グラフから、前記所定の事象の発生が回避された状態への遷移を特定することによって、前記安全バリアを検索する、
ことを特徴とする解析支援装置。
(付記4)
付記1~3のいずれかに記載の解析支援装置であって、
 前記プラントが、前記制御プログラムを実行する複数の制御装置と、複数の前記制御装置それぞれ間を結ぶネットワークと、を備えている場合において、
 前記制御プログラム取得部は、前記制御装置毎に、前記制御プログラムを取得し、
 前記安全バリア検索部は、前記制御装置毎に、当該制御装置が実行する前記制御プログラムから、前記安全バリアを検索する、
ことを特徴とする解析支援装置。
(付記5)
(a)プラントに設置されたセンサからのセンサデータに基づいて、前記プラントの各部を制御するための、制御プログラムを取得する、ステップと、
(b)前記プラントにおける所定の事象の発生を回避する安全バリアを前記制御プログラムから検索するために必要な情報として、前記所定の事象が発生した時の前記プラントの状態を定義する変数及びその値を含む、事象情報を取得する、ステップと、
(c)取得された前記制御プログラムから、前記制御プログラムにおける入力変数及び出力変数の因果関係を抽出し、そして、取得された前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とに基づいて、前記制御プログラムから前記安全バリアを検索する、ステップと、
を有する、
ことを特徴とする解析支援方法。
(付記6)
付記5に記載の解析支援方法であって、
(d)検索された前記安全バリアが機能しない可能性がある新たな事象を導出する、ステップと、
(e)特定された前記安全バリア、及び導出された前記新たな事象を、画面上に表示させる、ステップと、
を更に有する、
ことを特徴とする解析支援方法。
(付記7)
付記5または6に記載の解析支援方法であって、
 前記(c)のステップにおいて、
前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とを用いて、前記事象情報に含まれる前記変数及び前記値によって定義される状態からの状態遷移を示し、且つ、遷移の起点、終点、及び遷移を生じさせる遷移条件を含む、状態遷移グラフを作成し、
そして、作成した前記状態遷移グラフから、前記所定の事象の発生が回避された状態への遷移を特定することによって、前記安全バリアを検索する、
ことを特徴とする解析支援方法。
(付記8)
付記5~7のいずれかに記載の解析支援方法であって、
 前記プラントが、前記制御プログラムを実行する複数の制御装置と、複数の前記制御装置それぞれ間を結ぶネットワークと、を備えている場合において、
 前記(a)のステップにおいて、前記制御装置毎に、前記制御プログラムを取得し、
 前記(c)のステップにおいて、前記制御装置毎に、当該制御装置が実行する前記制御プログラムから、前記安全バリアを検索する、
ことを特徴とする解析支援方法。
(付記9)
コンピュータによって、
(a)プラントに設置されたセンサからのセンサデータに基づいて、前記プラントの各部を制御するための、制御プログラムを取得する、ステップと、
(b)前記プラントにおける所定の事象の発生を回避する安全バリアを前記制御プログラムから検索するために必要な情報として、前記所定の事象が発生した時の前記プラントの状態を定義する変数及びその値を含む、事象情報を取得する、ステップと、
(c)取得された前記制御プログラムから、前記制御プログラムにおける入力変数及び出力変数の因果関係を抽出し、そして、取得された前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とに基づいて、前記制御プログラムから前記安全バリアを検索する、ステップと、
を実行する命令を含む、プログラムを記録している、コンピュータ読み取り可能な記録媒体。
(付記10)
付記9に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
(d)検索された前記安全バリアが機能しない可能性がある新たな事象を導出する、ステップと、
(e)特定された前記安全バリア、及び導出された前記新たな事象を、画面上に表示させる、ステップと、
を実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記11)
付記9または10に記載のコンピュータ読み取り可能な記録媒体であって、
 前記(c)のステップにおいて、
前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とを用いて、前記事象情報に含まれる前記変数及び前記値によって定義される状態からの状態遷移を示し、且つ、遷移の起点、終点、及び遷移を生じさせる遷移条件を含む、状態遷移グラフを作成し、
そして、作成した前記状態遷移グラフから、前記所定の事象の発生が回避された状態への遷移を特定することによって、前記安全バリアを検索する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
(付記12)
付記9~11のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
 前記プラントが、前記制御プログラムを実行する複数の制御装置と、複数の前記制御装置それぞれ間を結ぶネットワークと、を備えている場合において、
 前記(a)のステップにおいて、前記制御装置毎に、前記制御プログラムを取得し、
 前記(c)のステップにおいて、前記制御装置毎に、当該制御装置が実行する前記制御プログラムから、前記安全バリアを検索する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 以上のように、本発明によれば、プラントの安全性の分析を行う場合において、制御プログラムの解析を支援することができる。本発明は、制御装置によって制御される各種プラントに有用である。
 10 解析支援装置
 11 制御プログラム取得部
 12 事象情報取得部
 13 安全バリア検索部
 14 事象導出部
 15 表示部
 16 因果関係記憶部
 20 プラント
 21 貯水タンク
 22 水位センサ
 23 供給ライン
 24 排水ライン
 25 ポンプ
 26 バルブ
 30 PLC
 31 端末装置
 32 ネットワークスイッチ
 33 エンジニアリングワークステーション
 110 コンピュータ
 111 CPU
 112 メインメモリ
 113 記憶装置
 114 入力インターフェイス
 115 表示コントローラ
 116 データリーダ/ライタ
 117 通信インターフェイス
 118 入力機器
 119 ディスプレイ装置
 120 記録媒体
 121 バス

Claims (12)

  1.  プラントに設置されたセンサからのセンサデータに基づいて、前記プラントの各部を制御するための、制御プログラムを取得する、制御プログラム取得手段と、
     前記プラントにおける所定の事象の発生を回避する安全バリアを前記制御プログラムから検索するために必要な情報として、前記所定の事象が発生した時の前記プラントの状態を定義する変数及びその値を含む、事象情報を取得する、事象情報取得手段と、
     取得された前記制御プログラムから、前記制御プログラムにおける入力変数及び出力変数の因果関係を抽出し、そして、取得された前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とに基づいて、前記制御プログラムから前記安全バリアを検索する、安全バリア検索手段と、
    を備えている、
    ことを特徴とする解析支援装置。
  2. 請求項1に記載の解析支援装置であって、
     検索された前記安全バリアが機能しない可能性がある新たな事象を導出する、事象導出手段と、
     特定された前記安全バリア、及び導出された前記新たな事象を、画面上に表示させる、表示手段と、
    を更に備えている、
    ことを特徴とする解析支援装置。
  3. 請求項1または2に記載の解析支援装置であって、
     前記安全バリア検索手段が、
    前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とを用いて、前記事象情報に含まれる前記変数及び前記値によって定義される状態からの状態遷移を示し、且つ、遷移の起点、終点、及び遷移を生じさせる遷移条件を含む、状態遷移グラフを作成し、
    そして、作成した前記状態遷移グラフから、前記所定の事象の発生が回避された状態への遷移を特定することによって、前記安全バリアを検索する、
    ことを特徴とする解析支援装置。
  4. 請求項1~3のいずれかに記載の解析支援装置であって、
     前記プラントが、前記制御プログラムを実行する複数の制御装置と、複数の前記制御装置それぞれ間を結ぶネットワークと、を備えている場合において、
     前記制御プログラム取得手段は、前記制御装置毎に、前記制御プログラムを取得し、
     前記安全バリア検索手段は、前記制御装置毎に、当該制御装置が実行する前記制御プログラムから、前記安全バリアを検索する、
    ことを特徴とする解析支援装置。
  5. (a)プラントに設置されたセンサからのセンサデータに基づいて、前記プラントの各手段を制御するための、制御プログラムを取得する、ステップと、
    (b)前記プラントにおける所定の事象の発生を回避する安全バリアを前記制御プログラムから検索するために必要な情報として、前記所定の事象が発生した時の前記プラントの状態を定義する変数及びその値を含む、事象情報を取得する、ステップと、
    (c)取得された前記制御プログラムから、前記制御プログラムにおける入力変数及び出力変数の因果関係を抽出し、そして、取得された前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とに基づいて、前記制御プログラムから前記安全バリアを検索する、ステップと、
    を有する、
    ことを特徴とする解析支援方法。
  6. 請求項5に記載の解析支援方法であって、
    (d)検索された前記安全バリアが機能しない可能性がある新たな事象を導出する、ステップと、
    (e)特定された前記安全バリア、及び導出された前記新たな事象を、画面上に表示させる、ステップと、
    を更に有する、
    ことを特徴とする解析支援方法。
  7. 請求項5または6に記載の解析支援方法であって、
     前記(c)のステップにおいて、
    前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とを用いて、前記事象情報に含まれる前記変数及び前記値によって定義される状態からの状態遷移を示し、且つ、遷移の起点、終点、及び遷移を生じさせる遷移条件を含む、状態遷移グラフを作成し、
    そして、作成した前記状態遷移グラフから、前記所定の事象の発生が回避された状態への遷移を特定することによって、前記安全バリアを検索する、
    ことを特徴とする解析支援方法。
  8. 請求項5~7のいずれかに記載の解析支援方法であって、
     前記プラントが、前記制御プログラムを実行する複数の制御装置と、複数の前記制御装置それぞれ間を結ぶネットワークと、を備えている場合において、
     前記(a)のステップにおいて、前記制御装置毎に、前記制御プログラムを取得し、
     前記(c)のステップにおいて、前記制御装置毎に、当該制御装置が実行する前記制御プログラムから、前記安全バリアを検索する、
    ことを特徴とする解析支援方法。
  9. コンピュータによって、
    (a)プラントに設置されたセンサからのセンサデータに基づいて、前記プラントの各部を制御するための、制御プログラムを取得する、ステップと、
    (b)前記プラントにおける所定の事象の発生を回避する安全バリアを前記制御プログラムから検索するために必要な情報として、前記所定の事象が発生した時の前記プラントの状態を定義する変数及びその値を含む、事象情報を取得する、ステップと、
    (c)取得された前記制御プログラムから、前記制御プログラムにおける入力変数及び出力変数の因果関係を抽出し、そして、取得された前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とに基づいて、前記制御プログラムから前記安全バリアを検索する、ステップと、
    を実行する命令を含む、プログラムを記録している、コンピュータ読み取り可能な記録媒体。
  10. 請求項9に記載のコンピュータ読み取り可能な記録媒体であって、
    前記プログラムが、前記コンピュータに、
    (d)検索された前記安全バリアが機能しない可能性がある新たな事象を導出する、ステップと、
    (e)特定された前記安全バリア、及び導出された前記新たな事象を、画面上に表示させる、ステップと、
    を実行させる命令を更に含む、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  11. 請求項9または10に記載のコンピュータ読み取り可能な記録媒体であって、
     前記(c)のステップにおいて、
    前記事象情報に含まれる前記変数及び前記値と、抽出した前記因果関係とを用いて、前記事象情報に含まれる前記変数及び前記値によって定義される状態からの状態遷移を示し、且つ、遷移の起点、終点、及び遷移を生じさせる遷移条件を含む、状態遷移グラフを作成し、
    そして、作成した前記状態遷移グラフから、前記所定の事象の発生が回避された状態への遷移を特定することによって、前記安全バリアを検索する、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
  12. 請求項9~11のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
     前記プラントが、前記制御プログラムを実行する複数の制御装置と、複数の前記制御装置それぞれ間を結ぶネットワークと、を備えている場合において、
     前記(a)のステップにおいて、前記制御装置毎に、前記制御プログラムを取得し、
     前記(c)のステップにおいて、前記制御装置毎に、当該制御装置が実行する前記制御プログラムから、前記安全バリアを検索する、
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
PCT/JP2018/028148 2018-07-26 2018-07-26 解析支援装置、解析支援方法、及びコンピュータ読み取り可能な記録媒体 WO2020021686A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020532098A JP7040618B2 (ja) 2018-07-26 2018-07-26 解析支援装置、解析支援方法、及びプログラム
PCT/JP2018/028148 WO2020021686A1 (ja) 2018-07-26 2018-07-26 解析支援装置、解析支援方法、及びコンピュータ読み取り可能な記録媒体
US17/261,410 US11860604B2 (en) 2018-07-26 2018-07-26 Analysis assistance apparatus, analysis assistance method, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/028148 WO2020021686A1 (ja) 2018-07-26 2018-07-26 解析支援装置、解析支援方法、及びコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
WO2020021686A1 true WO2020021686A1 (ja) 2020-01-30

Family

ID=69180663

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/028148 WO2020021686A1 (ja) 2018-07-26 2018-07-26 解析支援装置、解析支援方法、及びコンピュータ読み取り可能な記録媒体

Country Status (3)

Country Link
US (1) US11860604B2 (ja)
JP (1) JP7040618B2 (ja)
WO (1) WO2020021686A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021210071A1 (ja) * 2020-04-14 2021-10-21 三菱電機株式会社 デバッグ支援プログラム、記憶媒体、デバッグ支援装置およびデバッグ支援方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113248A1 (en) * 2007-10-26 2009-04-30 Megan Elena Bock Collaborative troubleshooting computer systems using fault tree analysis
JP2009521737A (ja) * 2005-11-10 2009-06-04 株式会社エヌ・ティ・ティ・ドコモ Javascriptプログラムの不安全動作安を検出するため、及び防止するための方法及び装置
JP2018005453A (ja) * 2016-06-30 2018-01-11 オムロン株式会社 セーフティシステム、プログラム、および方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5376133B2 (ja) 2009-03-30 2013-12-25 日本電気株式会社 故障の木解析生成方法、故障の木解析生成システム及びプログラム
JP6515937B2 (ja) * 2017-02-08 2019-05-22 横河電機株式会社 イベント解析装置、イベント解析システム、イベント解析方法、イベント解析プログラム、および記録媒体
EP3410245A1 (en) * 2017-06-02 2018-12-05 OMRON Corporation Process analysis apparatus, process analysis method, and process analysis program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009521737A (ja) * 2005-11-10 2009-06-04 株式会社エヌ・ティ・ティ・ドコモ Javascriptプログラムの不安全動作安を検出するため、及び防止するための方法及び装置
US20090113248A1 (en) * 2007-10-26 2009-04-30 Megan Elena Bock Collaborative troubleshooting computer systems using fault tree analysis
JP2018005453A (ja) * 2016-06-30 2018-01-11 オムロン株式会社 セーフティシステム、プログラム、および方法

Also Published As

Publication number Publication date
US20210263496A1 (en) 2021-08-26
JPWO2020021686A1 (ja) 2021-08-02
US11860604B2 (en) 2024-01-02
JP7040618B2 (ja) 2022-03-23

Similar Documents

Publication Publication Date Title
CN107085415B (zh) 过程控制网络中的规则构建器
CN111095895B (zh) 检查自动化系统项目安全漏洞的系统和方法
US20180314225A1 (en) Control contextualization and reasoning about control
US8290841B2 (en) System and method for automatically generating suggested entries for policy sets with incomplete coverage
CN107209511B (zh) 监视控制装置
US11113236B2 (en) Method for automatic processing of a number of protocol files of an automation system
WO2019061364A1 (zh) 故障分析方法及相关设备
CN108353086A (zh) 用于监测工业控制系统的部署确保检查
JP6808588B2 (ja) エレベータシステム
CN117350379A (zh) 一种用于判断油浸式变压器异常状态的方法及系统
WO2020021686A1 (ja) 解析支援装置、解析支援方法、及びコンピュータ読み取り可能な記録媒体
Tseng et al. Systematic scenario test case generation for nuclear safety systems
US7100093B2 (en) Method for the automated determination of fault events
WO2021172435A1 (ja) 障害対処装置及びシステム、ルールリスト生成方法並びに非一時的なコンピュータ可読媒体
EP3999917B1 (en) Method and system for generating a digital representation of asset information in a cloud computing environment
CN116635843A (zh) 分析工业工厂的日志文件的设备、计算平台和方法
US10789166B2 (en) Computer system
JP7318798B2 (ja) セキュリティアセスメント装置、セキュリティアセスメント方法、プログラム
JP2016162291A (ja) プロセス抽出装置、プロセス抽出方法、及びプログラム
JP7031744B2 (ja) プラント監視装置、プラント監視方法、プログラム
US20220334807A1 (en) Method and system for generating engineering programs for an industrial domain
US20180189365A1 (en) Combining manual and automated test results in an industrial facility
US20240037016A1 (en) Computer readable storage medium, debugging support device, debugging support method, and machine learning device
EP4141648A1 (en) Method and system for generating automation domain objects using knowledge from another automation domain object
JP7147993B2 (ja) セキュリティアセスメント装置、セキュリティアセスメント方法、プログラム

Legal Events

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

Ref document number: 18927747

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020532098

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18927747

Country of ref document: EP

Kind code of ref document: A1