WO2017115162A1 - Method and system for testing distributed control systems of industrial plants - Google Patents

Method and system for testing distributed control systems of industrial plants Download PDF

Info

Publication number
WO2017115162A1
WO2017115162A1 PCT/IB2016/056326 IB2016056326W WO2017115162A1 WO 2017115162 A1 WO2017115162 A1 WO 2017115162A1 IB 2016056326 W IB2016056326 W IB 2016056326W WO 2017115162 A1 WO2017115162 A1 WO 2017115162A1
Authority
WO
WIPO (PCT)
Prior art keywords
industrial plant
control
topology
test
industrial
Prior art date
Application number
PCT/IB2016/056326
Other languages
French (fr)
Inventor
John KOCHERRY
Rainer Drath
Sithu SUDARSAN
Dinesh PATIL
Pablo CARRION
Original Assignee
Abb Schweiz Ag
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 Abb Schweiz Ag filed Critical Abb Schweiz Ag
Publication of WO2017115162A1 publication Critical patent/WO2017115162A1/en

Links

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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present subject matter relates, in general, to distributed control systems (DCS) of industrial plants and, in particular, to testing the DCS of industrial plants.
  • DCS distributed control systems
  • a distributed control system is a control system for an industrial plant.
  • the DCS includes a plurality of control devices, which are distributed throughout the industrial plant for performing various control functions.
  • the DCS may be used as a control system for industrial plants of different types of industries, such as chemical industry, petrochemical industry, power generation industry, and metallurgical industry.
  • Fig. 1 illustrates a system for testing of a distributed control system (DCS) of an industrial plant, in accordance with an implementation of the present subject matter.
  • DCS distributed control system
  • FIG. 2 illustrates an environment for generating and executing test cases for testing a DCS of an industrial plant, in accordance with an implementation of the present subject matter.
  • FIG. 3 illustrates a plurality of parts of the industrial plant to be tested by a test generation engine, in accordance with an implementation of the present subject matter.
  • Fig. 4 illustrates a control topology, in accordance with an implementation of the present subject matter.
  • Fig. 5 illustrates a method for testing at least one active control function in the DCS, in accordance with an implementation of the present subject matter.
  • Fig. 6 illustrates a method for identifying a set of active control functions, in accordance with an implementation of the present subject matter.
  • the present subject matter relates to systems and methods for testing distributed control systems (DCS) of industrial plants.
  • DCS distributed control systems
  • the systems and methods of the present subject matter can be used for automatically generating test cases and executing test cases for testing the DCS.
  • DCS is a control system used for performing control functions in an industrial plant.
  • the DCS includes control devices distributed across an industrial plant for performing the control functions.
  • the control functions can include actuation of actuating components, such as a valve or a switch, in the industrial plant.
  • the control devices can be, for example, AC 800M controllers.
  • a control device actuating an actuating component may include control logic specifying when the actuating component is to be actuated.
  • the control logic may specify that the control device is to close an inlet valve to a tank when the level of the fluid in the tank increases beyond a threshold.
  • the control device receives state information of an equipment, such as a tank, for example, by monitoring measurements taken by a sensor, such as a level sensor. Based on the state information and the control logics, the control device can determine whether to actuate the actuating component or not.
  • the DCS before installation on the industrial plant and during its design, is tested to ascertain the functioning of the DCS.
  • the DCS is tested to determine whether the DCS is performing the expected control functions or not. For example, it is tested whether a control device for an inlet valve of a tank actuates the valve on increase in fluid level of the tank beyond a threshold.
  • the testing of the DCS can be performed on process simulation models and control emulators, which simulate and emulate the production process in the industrial plant and the control devices respectively. The testing of the DCS ensures that the DCS will perform its expected control functions when installed on the industrial plant.
  • testing the DCS involves understanding control logics for the control devices and determining test cases to be executed to test the control logics.
  • the understanding of the control logics and developing effective test cases for testing the DCS has to be performed by persons with industrial process and control expertise. Further, the identified test cases have to be manually executed. The results of the execution are then compared manually with the expected results and documented. Therefore, conventional testing of the DCS involves significant manual effort and also consumes considerable amount of time. Further, the manual involvement makes the testing of the DCS an error prone process.
  • the problems associated with the conventional testing are exacerbated by the fact that the inputs, such as piping and instrumentation diagram (P&ID) and control logic diagram (CLD), based on which the test cases for the DCS are generated, may undergo modifications. Accordingly, the development of the test cases and their execution may have to be repeated several times. Further, a DCS may have to be tested several times during its engineering, and the test may be performed by different personnel at different times. Therefore, personnel testing the DCS at later stages may have to interact with personnel who performed the tests earlier to understand the test cases developed and executed. This further increases the amount of time and effort expended on testing the DCS. [0016]
  • the present subject matter relates to systems and methods for testing distributed control systems (DCS) of industrial plants. With the systems and methods of the present subject matter, fast and accurate testing of DCS can be achieved.
  • a set of active control functions associated with one or more equipment in a part of an industrial plant is identified. The identification is performed based on a process topology corresponding to the part of the industrial plant and a control topology corresponding to the part of the industrial plant.
  • the process topology corresponding to the part of the industrial plant includes the one or more equipment in the part of the industrial plant, corresponding sensors connected to the one or more equipment, and one or more actuating components in the part of the industrial plant.
  • the control topology corresponding to the part of the industrial plant represents logic for controlling actuation of the actuating components by industrial control devices.
  • a test case can be then generated for at least one active control function associated with at least one equipment in the part of the industrial plant.
  • the test parameters for the test case are determined based on engineering data associated with the at least one equipment.
  • the test case is then executed on at least one of a process simulation model corresponding to the industrial plant and a control emulator emulating the industrial control device.
  • the one or more equipment in the part of the industrial plant, the corresponding sensors, and the actuating components are determined from the process topology corresponding to the part of the industrial plant. Further, from the process topology corresponding to the part of the industrial plant, positions of the one or more equipment, the corresponding sensors, and the actuating components and connections between them are determined. Based on the determinations, a plurality of candidate control functions are identified. The plurality of candidate control functions are compared with the control topology to identify the set of active control functions.
  • the time consumed in generating and executing test cases is considerably reduced. Further, the generation and execution of test cases automatically ensures an error-free testing process, and also ensures uniformity in the testing of DCS.
  • the systems and methods of the present subject matter also enable tracking generated test cases and reusing previously generated test cases, thereby reducing the time involved in generating test cases. Further, the systems and methods of the present subject matter provide for prioritizing execution of the test cases based on a user input. Still further, the systems and methods of the present subject matter ensure that test cases are appropriately generated and executed to achieve different test objectives.
  • Fig. 1 illustrates a system for testing a distributed control system (DCS) of an industrial plant, in accordance with an implementation of the present subject matter.
  • DCS distributed control system
  • a process simulation model 100 corresponding to an industrial plant is utilized.
  • the industrial plant may belong to any industry sector, such as pharmaceutical, chemical, mineral, oil and gas, and power generation industry.
  • the process simulation model 100 may represent a melt shop belonging to a steel industry.
  • the melt shop includes, for example, an electric arc furnace 102, an argon oxygen decarburization unit 104, a ladle furnace 106, and a continuous caster 108.
  • the electric arc furnace 102 is used for melting steel scrap to produce molten steel.
  • the argon oxygen decarburization unit 104 processes the molten steel by oxygen blowing.
  • temperature and chemical adjustments are made for alloying purposes.
  • the continuous caster 108 is used for casting slabs, which are then cut to length and transferred to downstream storage and/or rolling mills.
  • the process simulation model 100 simulates a production process that takes steel crap as input and outputs steel slabs.
  • the illustrated process simulation model 100 represents a melt shop of a steel industry, it is to be understood that the systems and methods of the present subject matter can be used for any type of industry and the process simulation model 100 will vary accordingly.
  • the process simulation model 100 is executed by a process simulation engine 1 10, so that the production process is simulated.
  • the process simulation engine 1 10 may be executed on, for example, a virtual machine (VM).
  • VM virtual machine
  • the production process which is simulated by the process simulation model 100, is controlled by a distributed control system (DCS) of the industrial plant.
  • the DCS includes at least two industrial control devices distributed across different parts of the industrial plant.
  • the industrial control devices perform control functions in different parts of the industrial plant during the production process.
  • the control functions can be, for example, controlling actuation of a respective actuating component of the industrial plant.
  • An actuating component may be a physical component or a signal that actuates, i.e., switches from one state to another, such as on-off, open- close, or high-low, on occurrence of one or more conditions.
  • the actuating component can be, for example, a valve, a switch, an alarm signal, and the like.
  • an alternative computing device emulating an industrial computing device is a VM having an emulator emulating the behavior of the industrial computing device.
  • the alternative computing device is a dedicated hardware emulator having the same physical input and output signals as the industrial control device it emulates.
  • the hardware emulator mimics the behavior of the industrial control device.
  • the VM emulating the industrial control device and the hardware emulator are referred to as a control emulator.
  • control emulators 1 12 which include control emulator 1 14 and control emulator 1 16, each emulating an industrial control device of the DCS.
  • the control emulators 1 12 may be configured based on engineering, i.e., designing, verification, and validation, of the respective industrial control devices.
  • a control emulator may thus utilize the control logic, which specifies logic for controlling actuation of a respective actuating component, of the industrial control device it emulates.
  • the control emulators 1 12 and the process simulation engine 1 10 can communicate with each other to exchange data similar to the communication between the real DCS and the production process.
  • the control emulators 1 12 may monitor the simulated production process in the process simulation model 100 and can control actuation of respective actuating components in the process simulation model 100.
  • the communication between the control emulators 1 12 and the process simulation engine 1 10 can be used to test the DCS.
  • the control emulators 1 12 and the process simulation engine 1 10 can communicate with each other, for example, by a tie-back simulation method.
  • one or more test cases can be executed on the control emulators 1 12 and/or the process simulation model 100.
  • An example test case involves increasing a level of fluid in a tank, so that it can be tested whether a control emulator for an inlet valve of the tank closes the inlet valve.
  • the present subject matter includes a system 1 18, which generates and executes test cases on the control emulators 1 12 and/or the process simulation model 100.
  • the system 1 18 includes a test generation engine 120, for generating test cases, and a test execution engine 122, for executing test cases.
  • the testing of a DCS by the system 1 18 will be further explained with reference to Fig. 2 and environment 200 in which it operates.
  • Fig. 2 illustrates an environment 200 including the system 1 18 for generating and executing test cases for testing a DCS of an industrial plant, in accordance with an implementation of the present subject matter.
  • the system 1 18 includes the test generation engine 120, the test execution engine 122, and processor(s) (not shown in Fig.).
  • the system 1 18 may also include interface(s), memory, other engines, and system data which are not shown in Fig. 2. Further, the system may include a test case repository 202.
  • the environment 200 further includes a simulation and emulation engine(s) 204 including the process simulation engine 1 10 and the control emulators 1 12, a topology and model generation engine 206, and an engineering data storage unit 208.
  • a simulation and emulation engine(s) 204 including the process simulation engine 1 10 and the control emulators 1 12, a topology and model generation engine 206, and an engineering data storage unit 208.
  • any, some, or all of the process simulation engine 1 10, the control emulators 1 12, the topology and model generation engine 206, and the engineering data storage unit 208 may be part of the system 1 18.
  • the system 1 18 may be implemented as any computing system which may be, but is not restricted to, a server, a workstation, a desktop computer, a laptop, a smartphone, a personal digital assistant (PDA), a tablet, a virtual host, and an application.
  • the system 1 18 may also be a machine readable instructions-based implementation or a hardware-based implementation, or a combination thereof.
  • the processor(s) may be implemented as microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions.
  • the processor(s) may fetch and execute computer-readable instructions stored in a memory.
  • the functions of the processor(s) may be provided through the use of dedicated hardware as well as hardware capable of executing machine readable instructions.
  • the test generation engine 120, the test execution engine 122, and the other engines may be coupled to and/or be executable by processor(s), and may include, amongst other things, routines, programs, objects, components, data structures, and the like, which perform particular tasks or implement particular abstract data types.
  • the other engines may include programs or coded instructions that supplement applications and functions, for example, programs in the operating system, of the system 1 18. Though shown as separate engines, it will be understood that in other implementations, some or all of the test generation engine 120, the test execution engine 122, and the other engines may be implemented as a part of the same engine.
  • the simulation and emulation engine(s) 204 the topology and model generation engine 206 may be part of the system 1 18, and may be coupled to and/or be executable by processor(s), and may include, amongst other things, routines, programs, objects, components, data structures, and the like, which perform particular tasks or implement particular abstract data types.
  • test generation engine 120 the test execution engine 122, the simulation and emulation engine(s) 204, the topology and model generation engine 206, and the other engines may be implemented in hardware, instructions executed by a processing unit, or by a combination thereof.
  • the interface(s) may include a variety of machine readable instructions-based interfaces and hardware interfaces that allow interaction with a user and with other communication and computing devices, such as network entities, web servers, and external repositories, and peripheral devices.
  • the memory may include any non-transitory computer-readable medium including, for example, volatile memory (e.g., RAM), and/or nonvolatile memory (e.g., EPROM, flash memory, Memristor, etc.).
  • the memory may also be an external memory unit, such as a flash drive, a compact disk drive, an external hard disk drive, or the like.
  • the system data may serve as a repository for storing data that may be fetched, processed, received, or created by the test generation engine 120, the test execution engine 122, the simulation and emulation engine(s) 204, the topology and model generation engine 206, and the other engines or received from connected computing systems and storage devices.
  • the engineering data storage unit 208 may be any database system, database server, or part of a storage area network (SAN).
  • SAN storage area network
  • test generation engine 120 may communicate with each other through a communication network (not shown in Fig.).
  • the communication network may be a wireless or a wired network, or a combination thereof.
  • the communication network may be a collection of individual networks, interconnected with each other and functioning as a single large network (e.g., the internet or an intranet).
  • GSM Global System for Mobile Communication
  • UMTS Universal Mobile Telecommunications System
  • PCS Personal Communications Service
  • TDMA Time Division Multiple Access
  • CDMA Code Division Multiple Access
  • NTN Next Generation Network
  • PSTN Public Switched Telephone Network
  • ISDN Integrated Services Digital Network
  • the communication network includes various network entities, such as transceivers, gateways, and routers; however, such details have been omitted for ease of understanding.
  • the system 1 18 In operation, the system 1 18 generates test cases and executes test cases for testing the DCS, i.e., for testing the control functions of the DCS.
  • the system 1 18 can generate the test cases based on a process topology and a control topology corresponding to the part of the industrial plant to be tested.
  • a process topology and a control topology may be generated corresponding to parts of the industrial plant.
  • the process topology 210 corresponding to a part of the industrial plant includes information of components in the part of the industrial plant.
  • the components in the part of the industrial plant include one or more equipment in the part of the industrial plant, corresponding sensors connected to the one or more equipment, and one or more actuating components in the part of the industrial plant.
  • the control topology 212 corresponding to the part of the industrial plant represents logic for controlling actuation of the actuating component in the part of the industrial plant by an industrial control device.
  • the process topology 210 and the control topology 212 may be generated from input documents for the industrial plant, such as piping and instrumentation diagram (P&ID) and control logic diagram (CLD).
  • P&ID piping and instrumentation diagram
  • CLD control logic diagram
  • the process topology 210 is generated from the P&ID and the control topology 212 is generated from the CLD.
  • An example process topology and an example control topology corresponding to a part of the industrial plant are illustrated in Figs. 3 and 4 respectively.
  • the process topology 210 and the control topology 212 can be generated by the topology and model generation engine 206.
  • the P&ID from which the process topology 210 is generated, may be in the form of a scanned file, in which the components in the P&ID may not be in a machine-interpretable format, or may be in a machine- interpretable format, such as an Automation Markup Language (AutomationML) format or Computer Aided Engineering Exchange (CAEX) format.
  • AutoML Automation Markup Language
  • CAEX Computer Aided Engineering Exchange
  • the topology and model generation engine 206 utilizes optical recognition methods, such as optical symbol recognition (OSR) and optical character recognition (OCR), and semantic analysis methods to convert the P&ID into object oriented models.
  • OCR optical symbol recognition
  • OCR optical character recognition
  • semantic analysis methods to convert the P&ID into object oriented models.
  • object-oriented models can be directly obtained from the P&ID through tools, such as a CAEX tool.
  • the topology and model generation engine 206 From the object oriented models, derived either from the scanned P&ID file or directly obtained from the P&ID, the topology and model generation engine 206 generates the process topology corresponding to the part of the industrial plant. Similar to the generation of the process topology from the P&ID, the topology and model generation engine 206 generates control topology 212 from the CLD.
  • the generation of the process topology 210 from the P&ID and generation of the control topology 212 from the CLD may be understood by a person skilled in the art, and is not explained herein in detail for the sake of brevity.
  • the process topology 210 may be generated by a process topology generator 214 in the topology and model generation engine 206, and the control topology 212 may be generated by a control topology generator 216 in the topology and model generation engine 206.
  • the process topology 210 corresponds to a part of the industrial plant, which may include a plurality of parts.
  • the topology and model generation engine 206 may generate the process topologies corresponding to various parts of the industrial plant. Further, the topology and model generation engine 206 may generate control topologies corresponding to the various parts of the industrial plant.
  • the topology and model generation engine 206 can generate the process simulation model 100.
  • the generation of the process simulation model 100 may be performed by a process simulation model generator 218.
  • the process topologies, the control topologies, and the process simulation model 100 are stored in the engineering data storage unit 208.
  • the engineering data storage unit 208 can also include control logics 220 for the different industrial control devices in the industrial plant.
  • the control logics 220 can be used by the control emulators 1 12 to emulate the industrial control devices.
  • the process simulation model 100 and the control logics 220 are provided to the simulation and emulation engine(s) 204, which includes the process simulation engine 1 10 and the control emulators 1 12.
  • the process simulation engine 1 10 utilizes the process simulation model 100 to simulate the production process.
  • each control emulator of the control emulators 1 12 utilizes control logic of an industrial control device for emulating the industrial control device.
  • the process simulation model 100 and the control emulators 1 12 mimic the communication between the real production process and the industrial control devices.
  • the actuation of the valves in the process simulation model 100 can be controlled by the control emulators 1 12, similar to the control of actuation of the valves by the industrial control devices.
  • a set of test cases may be generated and can be executed on the on the process simulation model 100 and/or the control emulators 1 12.
  • the set of test cases can be generated by the test generation engine 120.
  • the set of test cases that can be generated by the test generation engine 120 can be broadly classified into two categories: process test cases and standalone test cases.
  • Process test cases are test cases related to the production process.
  • An example process test case is change in flow rate of a liquid that leads to an increase in fluid level of a tank, which is related to the production process. Using this test case, it can be tested whether an industrial control device associated with the tank correctly opens or closes the valves according to an appropriate control logic.
  • Standalone test cases are test cases related to the operation of the industrial control device alone, and are not related to the production process.
  • the input given to the control emulator of an industrial control device can be directly changed without changing any process parameters.
  • a standalone case can be, for example, related to testing alarm generation by the industrial control device when the level of tank goes beyond a threshold level.
  • the liquid level in the tank can be directly given as an input to the control emulator to check if the alarm is generated or not.
  • the test generation engine 120 receives a process topology, such as the process topology 210, and a control topology, such as the control topology 212, which correspond to a part of the industrial plant.
  • the test generation engine 120 may then identify a plurality of candidate control functions in the part of the industrial plant based on the process topology corresponding to the part of the industrial plant. For this, the test generation engine 120 identifies the one or more equipment, the corresponding sensors, and the one or more actuating components in the part of the industrial plant.
  • the test generation engine 120 also identifies positional information of the one or more equipment, the corresponding sensors, and the one or more actuating components in the part of the industrial plant. Further, the test generation engine 120 identifies and one or more connections between the one or more equipment, the corresponding sensors, and the one or more actuating components in the part of the industrial plant from the process topology corresponding to the part of the industrial plant.
  • the test generation engine 120 selects active control functions associated with the one or more equipment in the part of the industrial plant from the plurality of candidate control functions.
  • the selection of the active control functions is performed by comparing the plurality of candidate control functions in the part of the industrial plant with the logic for controlling actuation of the actuating component in the part of the industrial plant.
  • the test generation engine 120 Upon identification of the plurality of candidate control functions, the test generation engine 120 generates a set of test cases for at least one active control function in the active control functions.
  • the set of test cases includes at least one of a process test case and a standalone test case.
  • the generation of a test case for an active control function includes retrieving a test case associated with the active control function from the test case repository 202 and modifying the test case according to engineering data of the equipment.
  • the retrieval of an existing test case associated with an active control function instead of newly generating a test case, reduces the time involved in generating a test case associated with the active control function.
  • a test case in the test case repository 202 may be associated with the active control function because the test case may have been generated corresponding to a previous version of the process topology 210 or the control topology 212. Therefore, in order to retrieve the test case associated with the active control function, in an implementation, the test generation engine 120 compares the process topology 210 with a previous version of the process topology 210. The previous version of the process topology 210 may be generated in response to an earlier version of the P&ID. Based on the comparison, the test generation engine 120 detects the change in the process topology 210 compared to its previous version. The change in the process topology 210 may be, for example, an addition of a new equipment, deletion of a sensor, or change in volume of an equipment.
  • the test generation engine 120 may compare the control topology 212 with a previous version of the control topology. The test generation engine 120 detects any changes in the control topology 212 compared to its previous version.
  • the test generation engine 120 determines if any existing test case in the test case repository 202 can be used for the active control function. In an example, the test generation engine 120 determines that an existing test case can be used for an active control function if the process topology 210 involves a change in property of an equipment with which the active control function is associated. The change in property can be, for example, change in volume, material, and rating of the equipment. The property of the equipment is also referred to as engineering data associated with the equipment. Accordingly, the test generation engine 120 retrieves an existing test case associated with the active control function.
  • the existing test case associated with the active control function is hereinafter referred to as a second test case.
  • the second test case may be, for example, a test case that was previously used to test the active control function.
  • the test generation engine 120 also modifies the second test case according to the change in the property, i.e., the engineering data, of the equipment. For example, the test generation engine 120 may modify the test parameters based on the change in the engineering data of the equipment. [0057] If the test generation engine 120 determines that the change in the process topology 210 involves addition or deletion of a new component, the test generation engine 120 may determine that an existing test case cannot be used for the active control function.
  • test generation engine 120 determines that the active control function associated with the equipment involving the new sensor may not be available in the test case repository 202, and may decide that a new test case is to be generated.
  • the execution of test cases is performed by the test execution engine 122.
  • the test execution engine 122 receives a plurality of test cases, which includes the set of test cases, generated by the test generation engine 120, and the second test case.
  • the plurality of test cases may include both categories of test cases, i.e., the process test cases and the standalone test cases.
  • the plurality of test cases correspond to the control functions to be tested.
  • the test execution engine 122 plugs-in the process test cases to the process simulation model 100, which is then executed by the process simulation engine 1 10.
  • the process simulation engine 1 10 communicates with the control emulators 1 12, thus, enabling testing of the control logic.
  • the test execution engine 122 can plug-in the standalone test cases on the control emulator. For example, an increase in the level of tank can be plugged-in as an input to the control emulator.
  • the test execution engine 122 orders the process test cases and the standalone test cases for their execution on the process simulation model 100 and the control emulators 1 12 based on a priority. In other words, the test execution engine 122 prioritizes the test cases for their execution on the process simulation model 100 and the control emulators 1 12 in an order. In an example, the prioritization is performed by a test case prioritizer 222 in the test execution engine 122.
  • the test execution engine 122 can receive the priority from a user.
  • the user input of priority can be, for example, a 'depth first' priority, a 'breadth first' priority, a 'modified test first' priority, and a functionality based priority.
  • test cases are prioritized based on the number of dependencies associated with the control logics that are tested by the test cases. In other words, a test case corresponding to a control logic that has more dependencies, i.e., depending on a larger number of conditions is prioritized over a test case corresponding to a control logic having fewer dependencies.
  • test cases are prioritized based on their coverage.
  • a test case corresponding to a control logic involving operation of three components in the industrial plant is prioritized over a test case corresponding to a control logic involving operation of two components.
  • test cases which are modified are prioritized over the newly generated test cases.
  • a test case testing a functionality say closure of an inlet valve, is prioritized over another test case that does not test the functionality.
  • the test cases are then executed by the test execution engine 122 based on the prioritization.
  • the provision for prioritizing the test cases for execution enables a user, such as a testing engineer, to test according to the user convenience.
  • a user such as a testing engineer
  • the user may find it convenient to use the 'breadth first' priority during initial phases of engineering of the DCS to broadly test the DCS, and during advanced stages of engineering, the 'depth first' priority can be used for exhaustive testing of all the control logics of the DCS.
  • the test execution engine 122 analyzes the outcome of execution of the test cases.
  • the analysis includes comparing the outcome of the execution of test cases with the expected outcomes of the execution.
  • the comparison is performed by a debugger 224 in the test execution engine 122.
  • the test execution engine 122 identifies the result of the execution of the test cases. For example, if based on the comparison, it is determined that the actual outcome of the execution of a test case is the same as the expected outcome of the execution of the test case, the test execution engine 122 identifies the result of the test case as passed. Otherwise, the test execution engine 122 identifies the result of the test case as failed.
  • the test cases and the results of their execution may then be stored in the test case repository 202, which serves as the repository for the test cases and their results. The difference in the outcome of a failed test case from its expected outcome can be used to perform root cause analysis of the difference.
  • Fig. 3 illustrates a plurality of parts of the industrial plant to be tested by the test generation engine 120, in accordance with an implementation of the present subject matter.
  • 300 depicts the topology representation corresponding to the industrial plant.
  • the industrial plant includes a plurality of parts.
  • the topology representation 300 includes the process topology 210, process topology 302 and process topology 304, which are process topologies corresponding to different parts of the industrial plant.
  • the process topologies 210, 302, and 304 may be generated from P&IDs of different parts of the industrial plant.
  • the test generation engine 120 obtains the process topologies 210, 302, and 304 from the engineering data storage unit 208, in which the process topologies 210, 302, and 304 are stored after their generation by the topology and model generation engine 206.
  • the process topology 210 includes components that are present in the part of the industrial plant.
  • the components in the part of the industrial plant can include one or more equipment, corresponding sensors connected to the one or more equipment, and one or more actuating components.
  • the one or more equipment refers to the equipment that are part of a production process in the part of the industrial plant.
  • the one or more equipment in the process topology 210 include a condenser tank 306 and a steam turbine 308.
  • the corresponding sensors refer to monitoring, measuring, or sensing devices that are connected to the one or more equipment for sensing various aspects of the one or more equipment, such as pressure, temperature, and fluid level.
  • the corresponding sensors in the process topology 210 include a pressure transmitter 310, a temperature transmitter 312, and a level transmitter 314.
  • the one or more actuating components in the process topology 210 includes a recirculation valve 316, a makeup valve 318, a vacuum break valve 320, and a spray valve 322.
  • the process topology 210 depicts the positions, and connections of the one or more equipment, the corresponding sensors, and the actuating component in the part of the industrial plant.
  • the test generation engine 120 analyzes the process topology 210 and identifies the one or more equipment, such as the condenser tank 306 and the steam turbine 308, the corresponding sensors, such as the pressure transmitter 310, the temperature transmitter 312, and the level transmitter 314, and the actuating components, such as the recirculation valve 316, the makeup valve 318, the vacuum break valve 320, and the spray valve 322, in the process topology 210. Further, the test generation engine 120 determines the positions of, and connections between, the one or more equipment, the corresponding sensors, and the actuating components in the process topology 210.
  • the test generation engine 120 identifies the plurality of candidate control functions in the part of the industrial plant.
  • the plurality of candidate control functions in the part of the industrial plant refers to the control functions which are likely to be performed in the part of the industrial plant.
  • the plurality of candidate control functions includes an exhaustive list of all possible control functions that may be performed in the part of the industrial plant. Therefore, some control functions in the plurality of candidate control functions may not be performed in the part of the industrial plant.
  • the identification of the plurality of candidate control functions by the test generation engine 120 is explained with the help of the part of the industrial plant represented by the process topology 210. However, it is to be understood that the identification can be performed for any part of any type of industrial plant in a similar manner.
  • the part of the industrial plant includes a level transmitter 314, which senses the level of fluid in the condenser tank 306. Further, the part of the industrial plant also includes the makeup valve 318, which is also connected to the condenser tank 306. Based on the position and the connections of the level transmitter 314 and the makeup valve 318, the test generation engine 120 may determine that the actuation of the makeup valve 318 may be controlled based on the level sensed by the level transmitter 314.
  • test generation engine 120 may identify the below control functions in the part of the industrial plant as candidate control functions:
  • test generation engine 120 may identify all possible candidate control functions.
  • test generation engine 120 may determine that the actuation of each of the recirculation valve 316, the vacuum break valve 320, and the spray valve 322 may be controlled based on the level sensed by the level transmitter 314. Thereafter, the test generation engine 120 may identify the candidate control functions involving the recirculation valve 316, the vacuum break valve 320, and the spray valve 322, similar to the candidate control functions involving the makeup valve 318 listed above.
  • test generation engine 120 can identify candidate control functions that involve other sensors, such as the pressure transmitter 310 and the temperature transmitter 312, of the part of the industrial plant.
  • candidate control functions that involve other sensors, such as the pressure transmitter 310 and the temperature transmitter 312, of the part of the industrial plant.
  • the exhaustive list of candidate control functions involving all components in the part of the industrial plant form the plurality of candidate control functions.
  • the number candidate control functions in the part of the industrial plant may be very high. Further, as mentioned earlier, not all control functions in the plurality of candidate control functions may be validly performed in the part of the industrial plant. Hence, the test generation engine 120 selects the control functions in the plurality of candidate control functions that can be validly performed in the part of the industrial plant.
  • the control functions that are performed in the part of the industrial plant are hereinafter referred to as active control functions.
  • the test generation engine utilizes the control topology 212.
  • Fig. 4 illustrates the control topology 212, using which the active control functions can be selected from the plurality of candidate control functions, in accordance with an implementation of the present subject matter.
  • the control topology 212 may be obtained from the engineering data storage unit 208.
  • the control topology 212 which corresponds to the part of the industrial plant, represents logic for controlling actuation of the makeup valve 318, which is an actuating component in the part of the industrial plant.
  • the logic may be used by an industrial control device corresponding to the makeup valve 318 for controlling actuation of the makeup valve 318.
  • control topology 212 which is for the makeup valve 318
  • multiple control topologies may be present corresponding to the part of the industrial plant, in which each control topology corresponds to a different actuating component, such as the recirculation valve 316, the vacuum break valve 320, and the spray valve 322, in the part of the industrial plant.
  • the test generation engine 120 can determine that the makeup valve 318 is to be closed when the level of fluid in the condenser tank 306 is high. Similarly, from arrow 404, the test generation engine 120 can determine that the makeup valve 318 is to be opened when the level of fluid in the condenser tank 306 is low. The test generation engine 120, which analyzes the control topology 212, compares the above determinations with the candidate control functions involving the makeup valve 318.
  • the test generation engine 120 can identify that the candidate control function 1 , i.e., opening the makeup valve 318 when the level sensed by level transmitter 314 is low, matches with the logic represented by the arrow 404. Similarly, based on the comparison, the test generation engine 120 can identify that the candidate control function 4, i.e., closing the makeup valve 318 when the level sensed by level transmitter 314 is high, matches with the logic represented by the arrow 402. Therefore, from the candidate control functions 1 -4 for makeup valve 318, the test generation engine 120 determines that the active control functions are 1 and 4.
  • the test generation engine 120 can select the active control functions for the recirculation valve 316, the vacuum break valve 320, and the spray valve 322. Further, similar to selecting the active control functions involving the level transmitter 314 for the actuating components, the test generation engine 120 can select the active control functions for the actuating components involving other sensors, such as the pressure transmitter 310 and the temperature transmitter 312, of the part of the industrial plant.
  • control topology 212 includes logics represented by arrows 406 and 408.
  • the logic represented by the arrow 406 indicates that when the control is manual, the actuation of the makeup valve 318 will be performed manually, for example, by a plant operator. If the control is automatic, as indicated by the arrow 408, the actuation of the makeup valve 318 will be performed by the industrial control device controlling the makeup valve 318.
  • test generation engine 120 may select the active control functions associated with the steam turbine 308. In other words, the test generation engine 120 selects the active control functions associated with the one or more equipment in the part of the industrial plant.
  • the test generation engine 120 may generate a set of test cases for at least one active control function.
  • An active control function is part of the at least one active control function and is associated with at least one equipment.
  • an active control function part of the at least one active control function may be actuation of the makeup valve 318, which is associated with the condenser tank 306.
  • a test case for an active control function includes a test case that can test the active control function.
  • a test case for an active control function 'closing the makeup valve 318 when the level sensed by level transmitter 314 is high' can involve increasing the level of fluid in the condenser tank 306, for example, by increasing the flow rate, so that the level transmitter 314 senses a high level in the condenser tank 306, and it can be tested whether the makeup valve 318 closes or not.
  • the test generation engine 120 can generate instructions, which, when plugged-in the process simulation model 100 for execution, causes changes in the process parameters, such as change in level of fluid in a tank, change in temperature of the tank, and change in pressure inside the tank.
  • the instructions generated by the test generation engine 120 can indicate a change in a parameter to be caused in the process simulation model 100, for example, the temperature change, pressure change, and level change in the condenser tank 306.
  • the parameter change indicated by the instructions of the test cases is referred to as a test parameter.
  • the test parameter can be, for example, temperature of 75°, or a pressure of 10 bar.
  • the test generation engine 120 determines test parameters for a test case testing an active control function based on engineering data of the equipment with which the active control function is associated.
  • test generation engine 120 determines the height of the condenser tank 306, so that the test case can increase the level of the fluid in the condenser tank 306 beyond a threshold height of the tank.
  • the test generation engine 120 obtains the engineering data associated with an equipment from an Input/output (I/O) list.
  • I/O Input/output
  • Fig. 5 illustrates a method 500 for testing at least one active control function in the DCS, in accordance with an implementation of the present subject matter.
  • the order in which the method 500 is described is not intended to be construed as a limitation, and any number of the described method blocks may be combined in any order to implement the method 500, or an alternative method.
  • the method 500 may be implemented by processor(s) or computing device(s) through any suitable hardware, non- transitory machine readable instructions, or a combination thereof.
  • steps of the method 500 may be performed by programmed computing devices and may be executed based on instructions stored in a non-transitory computer readable medium.
  • the non-transitory computer readable medium may include, for example, digital memories, magnetic storage media, such as one or more magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media.
  • the method 500 may be implemented in a variety of systems; the method 500 is described in relation to the aforementioned system 1 18, for ease of explanation.
  • a set of active control functions associated with one or more equipment in a part of the industrial plant is identified. The identification is performed based on a process topology corresponding to the part of the industrial plant and a control topology corresponding to the part of the industrial plant.
  • the process topology corresponding to the part of the industrial plant includes the one or more equipment in the part of the industrial plant, corresponding sensors connected to the one or more equipment, and one or more actuating components in the part of the industrial plant.
  • the control topology for the part of the industrial plant represents logic for controlling actuation of the actuating component by an industrial control device.
  • the process topology corresponding to the part of the industrial plant may be similar to the process topology 210, and the control topology corresponding to the part of the industrial plant may be similar to the control topology 212.
  • the identification of the set of active control functions from the process topology corresponding to the part of the industrial plant and the control topology corresponding to the part of the industrial plant will be explained in greater detail with reference to Fig. 6.
  • a test case is generated for at least one active control function in the set of active control functions.
  • the at least one active control function is associated with at least one equipment in the one or more equipment.
  • One or more test parameters for the test case may be determined based on engineering data associated with the at least one equipment.
  • the test case may be generated by the test generation engine 120.
  • generating a test case for the at least one active control function includes retrieving a second test case associated with the at least one active control function from a test case repository and modifying the second test case based on the engineering data associated with the at least one equipment.
  • the second test case may be the second test case explained with reference to Fig. 4.
  • the process topology corresponding to the part of the industrial plant may be compared with a previous version of the process topology.
  • the control topology corresponding to the part of the industrial plant may be compared with a previous version of the control topology.
  • a change in the process topology and the control topology may be detected based on the comparisons of the process topology and the control topology respectively.
  • the second test case may be determined.
  • the test case is executed on at least one of a process simulation model corresponding to the industrial plant and a control emulator emulating the industrial control device, for testing the at least one active control function in the DCS.
  • the execution may be performed by the test execution engine 122.
  • a set of test cases may be received for execution.
  • the set of test cases may include test cases newly generated by the test generation engine 120 and also the second test case.
  • the set of test cases may be ordered for execution based on a priority for executing the test cases.
  • the set of test cases may then be executed based on the order.
  • the set of test cases includes a process test case and a standalone test case.
  • the process test cases may be plugged-in to the process simulation model and the standalone test case may be plugged-in to the control emulator.
  • Fig. 6 illustrates a method 600 for identifying the set of active control functions, in accordance with an implementation of the present subject matter.
  • the order in which the method 600 is described is not intended to be construed as a limitation, and any number of the described method blocks may be combined in any order to implement the method 600, or an alternative method.
  • the method 600 may be implemented by processor(s) or computing device(s) through any suitable hardware, non- transitory machine readable instructions, or a combination thereof.
  • steps of the method 600 may be performed by programmed computing devices and may be executed based on instructions stored in a non-transitory computer readable medium.
  • the non-transitory computer readable medium may include, for example, digital memories, magnetic storage media, such as one or more magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media.
  • the method 600 may be implemented in a variety of systems, the method 600 is described in relation to the aforementioned system 1 18, for ease of explanation.
  • the one or more equipment, the corresponding sensors, and the actuating component in the part of the industrial plant are determined from the process topology corresponding to the part of the industrial plant. Further, positional information of the one or more equipment, the corresponding sensors, and the actuating component in the part of the industrial plant are determined from the process topology corresponding to the part of the industrial plant. Still further, one or more connections between the one or more equipment, the corresponding sensors, and the actuating component in the part of the industrial plant are determined from the process topology corresponding to the part of the industrial plant.
  • a plurality of candidate control functions in the part of the industrial plant may be identified based on the determined the one or more equipment, the corresponding sensors, and the actuating component in the part of the industrial plant in the part of the industrial plant, the positional information, and the one or more connections.
  • the set of active control functions are identified from the plurality of candidate control functions by comparing the plurality of candidate control functions in the part of the industrial plant with the control topology.
  • the steps of the method 600 may be performed by the test generation engine 120.

Abstract

Techniques for generating and executing test cases for testing distributed control systems (DCS) of industrial plants are described. A set of active control functions in a part of an industrial plant is determined based on a process topology (210) corresponding to the part of the industrial plant and a control topology (212) corresponding to the part of the industrial plant. Thereafter, test cases are generated for at least one active control function. The generated test cases are executed on at least one of a process simulation model (100) corresponding to the industrial plant and a control emulator (114) emulating an industrial control device of the DCS.

Description

METHOD AND SYSTEM FOR TESTING DISTRIBUTED CONTROL SYSTEMS OF INDUSTRIAL PLANTS
TECHNICAL FIELD
[0001 ] The present subject matter relates, in general, to distributed control systems (DCS) of industrial plants and, in particular, to testing the DCS of industrial plants.
BACKGROUND
[0002] A distributed control system (DCS) is a control system for an industrial plant. The DCS includes a plurality of control devices, which are distributed throughout the industrial plant for performing various control functions. The DCS may be used as a control system for industrial plants of different types of industries, such as chemical industry, petrochemical industry, power generation industry, and metallurgical industry.
BRIEF DESCRIPTION OF DRAWINGS
[0003] The features, aspects, and advantages of the present subject matter will be better understood with regard to the following description, and accompanying figures. The use of the same reference number in different figures indicates similar or identical features and components.
[0004] Fig. 1 illustrates a system for testing of a distributed control system (DCS) of an industrial plant, in accordance with an implementation of the present subject matter.
[0005] Fig. 2 illustrates an environment for generating and executing test cases for testing a DCS of an industrial plant, in accordance with an implementation of the present subject matter.
[0006] Fig. 3 illustrates a plurality of parts of the industrial plant to be tested by a test generation engine, in accordance with an implementation of the present subject matter. [0007] Fig. 4 illustrates a control topology, in accordance with an implementation of the present subject matter.
[0008] Fig. 5 illustrates a method for testing at least one active control function in the DCS, in accordance with an implementation of the present subject matter.
[0009] Fig. 6 illustrates a method for identifying a set of active control functions, in accordance with an implementation of the present subject matter.
DETAILED DESCRIPTION
[0010] The present subject matter relates to systems and methods for testing distributed control systems (DCS) of industrial plants. The systems and methods of the present subject matter can be used for automatically generating test cases and executing test cases for testing the DCS.
[001 1 ] DCS is a control system used for performing control functions in an industrial plant. The DCS includes control devices distributed across an industrial plant for performing the control functions. The control functions can include actuation of actuating components, such as a valve or a switch, in the industrial plant. The control devices can be, for example, AC 800M controllers.
[0012] A control device actuating an actuating component may include control logic specifying when the actuating component is to be actuated. For example, the control logic may specify that the control device is to close an inlet valve to a tank when the level of the fluid in the tank increases beyond a threshold. The control device receives state information of an equipment, such as a tank, for example, by monitoring measurements taken by a sensor, such as a level sensor. Based on the state information and the control logics, the control device can determine whether to actuate the actuating component or not. [0013] Typically, the DCS, before installation on the industrial plant and during its design, is tested to ascertain the functioning of the DCS. In other words, the DCS is tested to determine whether the DCS is performing the expected control functions or not. For example, it is tested whether a control device for an inlet valve of a tank actuates the valve on increase in fluid level of the tank beyond a threshold. The testing of the DCS can be performed on process simulation models and control emulators, which simulate and emulate the production process in the industrial plant and the control devices respectively. The testing of the DCS ensures that the DCS will perform its expected control functions when installed on the industrial plant.
[0014] Conventionally, testing the DCS involves understanding control logics for the control devices and determining test cases to be executed to test the control logics. The understanding of the control logics and developing effective test cases for testing the DCS has to be performed by persons with industrial process and control expertise. Further, the identified test cases have to be manually executed. The results of the execution are then compared manually with the expected results and documented. Therefore, conventional testing of the DCS involves significant manual effort and also consumes considerable amount of time. Further, the manual involvement makes the testing of the DCS an error prone process.
[0015] The problems associated with the conventional testing are exacerbated by the fact that the inputs, such as piping and instrumentation diagram (P&ID) and control logic diagram (CLD), based on which the test cases for the DCS are generated, may undergo modifications. Accordingly, the development of the test cases and their execution may have to be repeated several times. Further, a DCS may have to be tested several times during its engineering, and the test may be performed by different personnel at different times. Therefore, personnel testing the DCS at later stages may have to interact with personnel who performed the tests earlier to understand the test cases developed and executed. This further increases the amount of time and effort expended on testing the DCS. [0016] The present subject matter relates to systems and methods for testing distributed control systems (DCS) of industrial plants. With the systems and methods of the present subject matter, fast and accurate testing of DCS can be achieved.
[0017] In an implementation of the present subject matter, a set of active control functions associated with one or more equipment in a part of an industrial plant is identified. The identification is performed based on a process topology corresponding to the part of the industrial plant and a control topology corresponding to the part of the industrial plant. The process topology corresponding to the part of the industrial plant includes the one or more equipment in the part of the industrial plant, corresponding sensors connected to the one or more equipment, and one or more actuating components in the part of the industrial plant. The control topology corresponding to the part of the industrial plant represents logic for controlling actuation of the actuating components by industrial control devices.
[0018] A test case can be then generated for at least one active control function associated with at least one equipment in the part of the industrial plant. The test parameters for the test case are determined based on engineering data associated with the at least one equipment. The test case is then executed on at least one of a process simulation model corresponding to the industrial plant and a control emulator emulating the industrial control device.
[0019] In an implementation of the present subject matter, to identify the set of active control functions, the one or more equipment in the part of the industrial plant, the corresponding sensors, and the actuating components are determined from the process topology corresponding to the part of the industrial plant. Further, from the process topology corresponding to the part of the industrial plant, positions of the one or more equipment, the corresponding sensors, and the actuating components and connections between them are determined. Based on the determinations, a plurality of candidate control functions are identified. The plurality of candidate control functions are compared with the control topology to identify the set of active control functions.
[0020] With the systems and methods of the present subject matter, the time consumed in generating and executing test cases is considerably reduced. Further, the generation and execution of test cases automatically ensures an error-free testing process, and also ensures uniformity in the testing of DCS. The systems and methods of the present subject matter also enable tracking generated test cases and reusing previously generated test cases, thereby reducing the time involved in generating test cases. Further, the systems and methods of the present subject matter provide for prioritizing execution of the test cases based on a user input. Still further, the systems and methods of the present subject matter ensure that test cases are appropriately generated and executed to achieve different test objectives.
[0021 ] The above and other features, aspects, and advantages of the subject matter will be better explained with regard to the following description, appended claims, and accompanying figures. It should be noted that the description and figures merely illustrate the principles of the present subject matter along with examples described herein and, should not be construed as a limitation to the present subject matter. It is thus understood that various arrangements may be devised that, although not explicitly described or shown herein, embody the principles of the present disclosure. Moreover, all statements herein reciting principles, aspects, and examples thereof, are intended to encompass equivalents thereof. Further, for the sake of simplicity, and without limitation, the same numbers are used throughout the drawings to reference like features and components.
[0022] Fig. 1 illustrates a system for testing a distributed control system (DCS) of an industrial plant, in accordance with an implementation of the present subject matter. In order to test the DCS, a process simulation model 100 corresponding to an industrial plant is utilized. The industrial plant may belong to any industry sector, such as pharmaceutical, chemical, mineral, oil and gas, and power generation industry.
[0023] In one example, the process simulation model 100 may represent a melt shop belonging to a steel industry. The melt shop includes, for example, an electric arc furnace 102, an argon oxygen decarburization unit 104, a ladle furnace 106, and a continuous caster 108. The electric arc furnace 102 is used for melting steel scrap to produce molten steel. The argon oxygen decarburization unit 104 processes the molten steel by oxygen blowing. In the ladle furnace 106, temperature and chemical adjustments are made for alloying purposes. The continuous caster 108 is used for casting slabs, which are then cut to length and transferred to downstream storage and/or rolling mills. Accordingly, the process simulation model 100 simulates a production process that takes steel crap as input and outputs steel slabs. Although the illustrated process simulation model 100 represents a melt shop of a steel industry, it is to be understood that the systems and methods of the present subject matter can be used for any type of industry and the process simulation model 100 will vary accordingly.
[0024] The process simulation model 100 is executed by a process simulation engine 1 10, so that the production process is simulated. The process simulation engine 1 10 may be executed on, for example, a virtual machine (VM).
[0025] The production process, which is simulated by the process simulation model 100, is controlled by a distributed control system (DCS) of the industrial plant. The DCS includes at least two industrial control devices distributed across different parts of the industrial plant. The industrial control devices perform control functions in different parts of the industrial plant during the production process. The control functions can be, for example, controlling actuation of a respective actuating component of the industrial plant. An actuating component may be a physical component or a signal that actuates, i.e., switches from one state to another, such as on-off, open- close, or high-low, on occurrence of one or more conditions. The actuating component can be, for example, a valve, a switch, an alarm signal, and the like.
[0026] To test the DCS, it is to be tested whether the industrial control devices perform their expected control functions under different process conditions. However, it may not be feasible to carry out the entire industrial process at different process conditions. Further, during the design stages of the DCS and the industrial process, it may not be possible to test the industrial control devices of under different process conditions. To test the industrial control devices, emulations of the industrial control devices may be tested. The industrial control devices may be emulated by executing the original machine readable instructions written for the industrial control devices on alternative computing devices, which mimic the computational and processing related behavior of the industrial control devices. In an example, an alternative computing device emulating an industrial computing device is a VM having an emulator emulating the behavior of the industrial computing device. In another example, the alternative computing device is a dedicated hardware emulator having the same physical input and output signals as the industrial control device it emulates. In other words, the hardware emulator mimics the behavior of the industrial control device. In accordance with the above examples, the VM emulating the industrial control device and the hardware emulator are referred to as a control emulator.
[0027] The at least two industrial control devices of the DCS are emulated by control emulators 1 12, which include control emulator 1 14 and control emulator 1 16, each emulating an industrial control device of the DCS. The control emulators 1 12 may be configured based on engineering, i.e., designing, verification, and validation, of the respective industrial control devices. A control emulator may thus utilize the control logic, which specifies logic for controlling actuation of a respective actuating component, of the industrial control device it emulates. [0028] The control emulators 1 12 and the process simulation engine 1 10 can communicate with each other to exchange data similar to the communication between the real DCS and the production process. For example, the control emulators 1 12 may monitor the simulated production process in the process simulation model 100 and can control actuation of respective actuating components in the process simulation model 100.
[0029] The communication between the control emulators 1 12 and the process simulation engine 1 10 can be used to test the DCS. The control emulators 1 12 and the process simulation engine 1 10 can communicate with each other, for example, by a tie-back simulation method. For testing the DCS, one or more test cases can be executed on the control emulators 1 12 and/or the process simulation model 100. An example test case involves increasing a level of fluid in a tank, so that it can be tested whether a control emulator for an inlet valve of the tank closes the inlet valve. In order to test the DCS using test cases, the present subject matter includes a system 1 18, which generates and executes test cases on the control emulators 1 12 and/or the process simulation model 100. The system 1 18 includes a test generation engine 120, for generating test cases, and a test execution engine 122, for executing test cases. The testing of a DCS by the system 1 18 will be further explained with reference to Fig. 2 and environment 200 in which it operates.
[0030] Fig. 2 illustrates an environment 200 including the system 1 18 for generating and executing test cases for testing a DCS of an industrial plant, in accordance with an implementation of the present subject matter. The system 1 18 includes the test generation engine 120, the test execution engine 122, and processor(s) (not shown in Fig.). The system 1 18 may also include interface(s), memory, other engines, and system data which are not shown in Fig. 2. Further, the system may include a test case repository 202.
[0031 ] The environment 200 further includes a simulation and emulation engine(s) 204 including the process simulation engine 1 10 and the control emulators 1 12, a topology and model generation engine 206, and an engineering data storage unit 208. In some example implementations, any, some, or all of the process simulation engine 1 10, the control emulators 1 12, the topology and model generation engine 206, and the engineering data storage unit 208 may be part of the system 1 18.
[0032] The system 1 18 may be implemented as any computing system which may be, but is not restricted to, a server, a workstation, a desktop computer, a laptop, a smartphone, a personal digital assistant (PDA), a tablet, a virtual host, and an application. The system 1 18 may also be a machine readable instructions-based implementation or a hardware-based implementation, or a combination thereof.
[0033] The processor(s) may be implemented as microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) may fetch and execute computer-readable instructions stored in a memory. The functions of the processor(s) may be provided through the use of dedicated hardware as well as hardware capable of executing machine readable instructions.
[0034] The test generation engine 120, the test execution engine 122, and the other engines may be coupled to and/or be executable by processor(s), and may include, amongst other things, routines, programs, objects, components, data structures, and the like, which perform particular tasks or implement particular abstract data types. The other engines may include programs or coded instructions that supplement applications and functions, for example, programs in the operating system, of the system 1 18. Though shown as separate engines, it will be understood that in other implementations, some or all of the test generation engine 120, the test execution engine 122, and the other engines may be implemented as a part of the same engine.
[0035] In an example, the simulation and emulation engine(s) 204 the topology and model generation engine 206 may be part of the system 1 18, and may be coupled to and/or be executable by processor(s), and may include, amongst other things, routines, programs, objects, components, data structures, and the like, which perform particular tasks or implement particular abstract data types.
[0036] Further, the test generation engine 120, the test execution engine 122, the simulation and emulation engine(s) 204, the topology and model generation engine 206, and the other engines may be implemented in hardware, instructions executed by a processing unit, or by a combination thereof.
[0037] The interface(s) may include a variety of machine readable instructions-based interfaces and hardware interfaces that allow interaction with a user and with other communication and computing devices, such as network entities, web servers, and external repositories, and peripheral devices. The memory may include any non-transitory computer-readable medium including, for example, volatile memory (e.g., RAM), and/or nonvolatile memory (e.g., EPROM, flash memory, Memristor, etc.). The memory may also be an external memory unit, such as a flash drive, a compact disk drive, an external hard disk drive, or the like.
[0038] The system data may serve as a repository for storing data that may be fetched, processed, received, or created by the test generation engine 120, the test execution engine 122, the simulation and emulation engine(s) 204, the topology and model generation engine 206, and the other engines or received from connected computing systems and storage devices.
[0039] The engineering data storage unit 208 may be any database system, database server, or part of a storage area network (SAN).
[0040] In an implementation, some or all of the test generation engine 120, the test execution engine 122, the simulation and emulation engine(s) 204, the topology and model generation engine 206, and the other engines may communicate with each other through a communication network (not shown in Fig.). The communication network may be a wireless or a wired network, or a combination thereof. The communication network may be a collection of individual networks, interconnected with each other and functioning as a single large network (e.g., the internet or an intranet). Examples of such individual networks include, but are not restricted to, Global System for Mobile Communication (GSM) network, Universal Mobile Telecommunications System (UMTS) network, Personal Communications Service (PCS) network, Time Division Multiple Access (TDMA) network, Code Division Multiple Access (CDMA) network, Next Generation Network (NGN), Public Switched Telephone Network (PSTN), and Integrated Services Digital Network (ISDN). Depending on the technology, the communication network includes various network entities, such as transceivers, gateways, and routers; however, such details have been omitted for ease of understanding.
[0041 ] In operation, the system 1 18 generates test cases and executes test cases for testing the DCS, i.e., for testing the control functions of the DCS. The system 1 18 can generate the test cases based on a process topology and a control topology corresponding to the part of the industrial plant to be tested.
[0042] For this, initially, a process topology and a control topology may be generated corresponding to parts of the industrial plant. The process topology 210 corresponding to a part of the industrial plant includes information of components in the part of the industrial plant. The components in the part of the industrial plant include one or more equipment in the part of the industrial plant, corresponding sensors connected to the one or more equipment, and one or more actuating components in the part of the industrial plant. The control topology 212 corresponding to the part of the industrial plant represents logic for controlling actuation of the actuating component in the part of the industrial plant by an industrial control device.
[0043] The process topology 210 and the control topology 212 may be generated from input documents for the industrial plant, such as piping and instrumentation diagram (P&ID) and control logic diagram (CLD). In an implementation, the process topology 210 is generated from the P&ID and the control topology 212 is generated from the CLD. An example process topology and an example control topology corresponding to a part of the industrial plant are illustrated in Figs. 3 and 4 respectively. The process topology 210 and the control topology 212 can be generated by the topology and model generation engine 206.
[0044] The P&ID, from which the process topology 210 is generated, may be in the form of a scanned file, in which the components in the P&ID may not be in a machine-interpretable format, or may be in a machine- interpretable format, such as an Automation Markup Language (AutomationML) format or Computer Aided Engineering Exchange (CAEX) format. When the P&ID is a scanned file, the topology and model generation engine 206 utilizes optical recognition methods, such as optical symbol recognition (OSR) and optical character recognition (OCR), and semantic analysis methods to convert the P&ID into object oriented models. When the P&ID is in the machine-interpretable format, object-oriented models can be directly obtained from the P&ID through tools, such as a CAEX tool.
[0045] From the object oriented models, derived either from the scanned P&ID file or directly obtained from the P&ID, the topology and model generation engine 206 generates the process topology corresponding to the part of the industrial plant. Similar to the generation of the process topology from the P&ID, the topology and model generation engine 206 generates control topology 212 from the CLD. The generation of the process topology 210 from the P&ID and generation of the control topology 212 from the CLD may be understood by a person skilled in the art, and is not explained herein in detail for the sake of brevity. The process topology 210 may be generated by a process topology generator 214 in the topology and model generation engine 206, and the control topology 212 may be generated by a control topology generator 216 in the topology and model generation engine 206. [0046] As explained earlier, the process topology 210 corresponds to a part of the industrial plant, which may include a plurality of parts. The topology and model generation engine 206 may generate the process topologies corresponding to various parts of the industrial plant. Further, the topology and model generation engine 206 may generate control topologies corresponding to the various parts of the industrial plant.
[0047] Upon generation of the process topologies and the control topologies corresponding to various parts of the industrial plant, the topology and model generation engine 206 can generate the process simulation model 100. The generation of the process simulation model 100 may be performed by a process simulation model generator 218. In an implementation, the process topologies, the control topologies, and the process simulation model 100 are stored in the engineering data storage unit 208. The engineering data storage unit 208 can also include control logics 220 for the different industrial control devices in the industrial plant. The control logics 220 can be used by the control emulators 1 12 to emulate the industrial control devices.
[0048] The process simulation model 100 and the control logics 220 are provided to the simulation and emulation engine(s) 204, which includes the process simulation engine 1 10 and the control emulators 1 12. The process simulation engine 1 10 utilizes the process simulation model 100 to simulate the production process. Similarly, each control emulator of the control emulators 1 12 utilizes control logic of an industrial control device for emulating the industrial control device. As explained earlier, the process simulation model 100 and the control emulators 1 12 mimic the communication between the real production process and the industrial control devices. For example, the actuation of the valves in the process simulation model 100 can be controlled by the control emulators 1 12, similar to the control of actuation of the valves by the industrial control devices.
[0049] Therefore, in order to test the DCS, a set of test cases may be generated and can be executed on the on the process simulation model 100 and/or the control emulators 1 12. The set of test cases can be generated by the test generation engine 120. The set of test cases that can be generated by the test generation engine 120 can be broadly classified into two categories: process test cases and standalone test cases. Process test cases are test cases related to the production process. An example process test case is change in flow rate of a liquid that leads to an increase in fluid level of a tank, which is related to the production process. Using this test case, it can be tested whether an industrial control device associated with the tank correctly opens or closes the valves according to an appropriate control logic. Standalone test cases are test cases related to the operation of the industrial control device alone, and are not related to the production process. For testing using the standalone test cases, the input given to the control emulator of an industrial control device can be directly changed without changing any process parameters. A standalone case can be, for example, related to testing alarm generation by the industrial control device when the level of tank goes beyond a threshold level. In this test case, the liquid level in the tank can be directly given as an input to the control emulator to check if the alarm is generated or not.
[0050] In an implementation, to generate test cases, the test generation engine 120 receives a process topology, such as the process topology 210, and a control topology, such as the control topology 212, which correspond to a part of the industrial plant. The test generation engine 120 may then identify a plurality of candidate control functions in the part of the industrial plant based on the process topology corresponding to the part of the industrial plant. For this, the test generation engine 120 identifies the one or more equipment, the corresponding sensors, and the one or more actuating components in the part of the industrial plant. The test generation engine 120 also identifies positional information of the one or more equipment, the corresponding sensors, and the one or more actuating components in the part of the industrial plant. Further, the test generation engine 120 identifies and one or more connections between the one or more equipment, the corresponding sensors, and the one or more actuating components in the part of the industrial plant from the process topology corresponding to the part of the industrial plant.
[0051 ] Upon identification of the plurality of candidate control functions, the test generation engine 120 selects active control functions associated with the one or more equipment in the part of the industrial plant from the plurality of candidate control functions. The selection of the active control functions is performed by comparing the plurality of candidate control functions in the part of the industrial plant with the logic for controlling actuation of the actuating component in the part of the industrial plant. The identification of the plurality of candidate control functions and the selection of active control functions will be explained in detail with the help of an example with reference to Figs. 3 and 4.
[0052] Upon identification of the plurality of candidate control functions, the test generation engine 120 generates a set of test cases for at least one active control function in the active control functions. The set of test cases includes at least one of a process test case and a standalone test case.
[0053] In an implementation, the generation of a test case for an active control function, which is associated with an equipment, includes retrieving a test case associated with the active control function from the test case repository 202 and modifying the test case according to engineering data of the equipment. The retrieval of an existing test case associated with an active control function, instead of newly generating a test case, reduces the time involved in generating a test case associated with the active control function.
[0054] A test case in the test case repository 202 may be associated with the active control function because the test case may have been generated corresponding to a previous version of the process topology 210 or the control topology 212. Therefore, in order to retrieve the test case associated with the active control function, in an implementation, the test generation engine 120 compares the process topology 210 with a previous version of the process topology 210. The previous version of the process topology 210 may be generated in response to an earlier version of the P&ID. Based on the comparison, the test generation engine 120 detects the change in the process topology 210 compared to its previous version. The change in the process topology 210 may be, for example, an addition of a new equipment, deletion of a sensor, or change in volume of an equipment.
[0055] In addition to comparing the versions of the process topology 210, the test generation engine 120 may compare the control topology 212 with a previous version of the control topology. The test generation engine 120 detects any changes in the control topology 212 compared to its previous version.
[0056] Based on the changes detected in at least one of the process topology 210 and the control topology 212, the test generation engine 120 determines if any existing test case in the test case repository 202 can be used for the active control function. In an example, the test generation engine 120 determines that an existing test case can be used for an active control function if the process topology 210 involves a change in property of an equipment with which the active control function is associated. The change in property can be, for example, change in volume, material, and rating of the equipment. The property of the equipment is also referred to as engineering data associated with the equipment. Accordingly, the test generation engine 120 retrieves an existing test case associated with the active control function. The existing test case associated with the active control function is hereinafter referred to as a second test case. The second test case may be, for example, a test case that was previously used to test the active control function. The test generation engine 120 also modifies the second test case according to the change in the property, i.e., the engineering data, of the equipment. For example, the test generation engine 120 may modify the test parameters based on the change in the engineering data of the equipment. [0057] If the test generation engine 120 determines that the change in the process topology 210 involves addition or deletion of a new component, the test generation engine 120 may determine that an existing test case cannot be used for the active control function. For example, if a new sensor, which was not present in the previous version of the process topology 210, is connected to an equipment in the process topology 210, the test generation engine 120 determines that the active control function associated with the equipment involving the new sensor may not be available in the test case repository 202, and may decide that a new test case is to be generated.
[0058] In an implementation, the execution of test cases is performed by the test execution engine 122. The test execution engine 122 receives a plurality of test cases, which includes the set of test cases, generated by the test generation engine 120, and the second test case. The plurality of test cases may include both categories of test cases, i.e., the process test cases and the standalone test cases. The plurality of test cases correspond to the control functions to be tested. In order to execute the process test cases on the process simulation model 100, the test execution engine 122 plugs-in the process test cases to the process simulation model 100, which is then executed by the process simulation engine 1 10. During the execution of the process test cases, the process simulation engine 1 10 communicates with the control emulators 1 12, thus, enabling testing of the control logic. In order to execute the standalone test cases on a control emulator, the test execution engine 122 can plug-in the standalone test cases on the control emulator. For example, an increase in the level of tank can be plugged-in as an input to the control emulator.
[0059] In an implementation, the test execution engine 122 orders the process test cases and the standalone test cases for their execution on the process simulation model 100 and the control emulators 1 12 based on a priority. In other words, the test execution engine 122 prioritizes the test cases for their execution on the process simulation model 100 and the control emulators 1 12 in an order. In an example, the prioritization is performed by a test case prioritizer 222 in the test execution engine 122. The test execution engine 122 can receive the priority from a user. The user input of priority can be, for example, a 'depth first' priority, a 'breadth first' priority, a 'modified test first' priority, and a functionality based priority.
[0060] When the priority is 'depth first', the test cases are prioritized based on the number of dependencies associated with the control logics that are tested by the test cases. In other words, a test case corresponding to a control logic that has more dependencies, i.e., depending on a larger number of conditions is prioritized over a test case corresponding to a control logic having fewer dependencies.
[0061 ] When the priority is 'breadth first', the test cases are prioritized based on their coverage. In other words, a test case corresponding to a control logic involving operation of three components in the industrial plant is prioritized over a test case corresponding to a control logic involving operation of two components.
[0062] When the priority is 'modified test first', the test cases which are modified are prioritized over the newly generated test cases. In the case of functionality based priority, a test case testing a functionality, say closure of an inlet valve, is prioritized over another test case that does not test the functionality. The test cases are then executed by the test execution engine 122 based on the prioritization.
[0063] The provision for prioritizing the test cases for execution enables a user, such as a testing engineer, to test according to the user convenience. For example, the user may find it convenient to use the 'breadth first' priority during initial phases of engineering of the DCS to broadly test the DCS, and during advanced stages of engineering, the 'depth first' priority can be used for exhaustive testing of all the control logics of the DCS.
[0064] Upon execution of the test cases, the test execution engine 122 analyzes the outcome of execution of the test cases. In an implementation, the analysis includes comparing the outcome of the execution of test cases with the expected outcomes of the execution. In an example, the comparison is performed by a debugger 224 in the test execution engine 122. Based on the comparison, the test execution engine 122, identifies the result of the execution of the test cases. For example, if based on the comparison, it is determined that the actual outcome of the execution of a test case is the same as the expected outcome of the execution of the test case, the test execution engine 122 identifies the result of the test case as passed. Otherwise, the test execution engine 122 identifies the result of the test case as failed. The test cases and the results of their execution may then be stored in the test case repository 202, which serves as the repository for the test cases and their results. The difference in the outcome of a failed test case from its expected outcome can be used to perform root cause analysis of the difference.
[0065] The identification of the plurality of candidate control functions and selection of active control functions from the candidate control functions will now be explained in detail with reference to Figs. 3 and 4.
[0066] Fig. 3 illustrates a plurality of parts of the industrial plant to be tested by the test generation engine 120, in accordance with an implementation of the present subject matter. Here, 300 depicts the topology representation corresponding to the industrial plant. The industrial plant includes a plurality of parts. The topology representation 300 includes the process topology 210, process topology 302 and process topology 304, which are process topologies corresponding to different parts of the industrial plant. The process topologies 210, 302, and 304 may be generated from P&IDs of different parts of the industrial plant. In an implementation, the test generation engine 120 obtains the process topologies 210, 302, and 304 from the engineering data storage unit 208, in which the process topologies 210, 302, and 304 are stored after their generation by the topology and model generation engine 206. [0067] The process topology 210 includes components that are present in the part of the industrial plant. The components in the part of the industrial plant can include one or more equipment, corresponding sensors connected to the one or more equipment, and one or more actuating components. The one or more equipment refers to the equipment that are part of a production process in the part of the industrial plant. For example, as illustrated in Fig. 3, the one or more equipment in the process topology 210 include a condenser tank 306 and a steam turbine 308. The corresponding sensors refer to monitoring, measuring, or sensing devices that are connected to the one or more equipment for sensing various aspects of the one or more equipment, such as pressure, temperature, and fluid level. For example, the corresponding sensors in the process topology 210 include a pressure transmitter 310, a temperature transmitter 312, and a level transmitter 314. Further, the one or more actuating components in the process topology 210 includes a recirculation valve 316, a makeup valve 318, a vacuum break valve 320, and a spray valve 322. Further, the process topology 210 depicts the positions, and connections of the one or more equipment, the corresponding sensors, and the actuating component in the part of the industrial plant.
[0068] The test generation engine 120 analyzes the process topology 210 and identifies the one or more equipment, such as the condenser tank 306 and the steam turbine 308, the corresponding sensors, such as the pressure transmitter 310, the temperature transmitter 312, and the level transmitter 314, and the actuating components, such as the recirculation valve 316, the makeup valve 318, the vacuum break valve 320, and the spray valve 322, in the process topology 210. Further, the test generation engine 120 determines the positions of, and connections between, the one or more equipment, the corresponding sensors, and the actuating components in the process topology 210.
[0069] Based on the above identification, the test generation engine 120 identifies the plurality of candidate control functions in the part of the industrial plant. The plurality of candidate control functions in the part of the industrial plant refers to the control functions which are likely to be performed in the part of the industrial plant. The plurality of candidate control functions includes an exhaustive list of all possible control functions that may be performed in the part of the industrial plant. Therefore, some control functions in the plurality of candidate control functions may not be performed in the part of the industrial plant. The identification of the plurality of candidate control functions by the test generation engine 120 is explained with the help of the part of the industrial plant represented by the process topology 210. However, it is to be understood that the identification can be performed for any part of any type of industrial plant in a similar manner.
[0070] As determined by the test generation engine 120, the part of the industrial plant includes a level transmitter 314, which senses the level of fluid in the condenser tank 306. Further, the part of the industrial plant also includes the makeup valve 318, which is also connected to the condenser tank 306. Based on the position and the connections of the level transmitter 314 and the makeup valve 318, the test generation engine 120 may determine that the actuation of the makeup valve 318 may be controlled based on the level sensed by the level transmitter 314.
[0071 ] Therefore, based on the determination, the test generation engine 120 may identify the below control functions in the part of the industrial plant as candidate control functions:
1 . Opening the makeup valve 318 when the level sensed by level transmitter 314 is low;
2. Opening the makeup valve 318 when the level sensed by level transmitter 314 is high;
3. Closing the makeup valve 318 when the level sensed by level transmitter 314 is low;
4. Closing the makeup valve 318 when the level sensed by level transmitter 314 is high. In other words, the test generation engine 120 may identify all possible candidate control functions.
[0072] Similar to the makeup valve 318, other actuating components are present in the process topology 210 and connected to the condenser tank 306, such as the recirculation valve 316, the vacuum break valve 320, and the spray valve 322. Therefore, the test generation engine 120 may determine that the actuation of each of the recirculation valve 316, the vacuum break valve 320, and the spray valve 322 may be controlled based on the level sensed by the level transmitter 314. Thereafter, the test generation engine 120 may identify the candidate control functions involving the recirculation valve 316, the vacuum break valve 320, and the spray valve 322, similar to the candidate control functions involving the makeup valve 318 listed above. Further, similar to identifying candidate control functions that involve the level transmitter 314, the test generation engine 120 can identify candidate control functions that involve other sensors, such as the pressure transmitter 310 and the temperature transmitter 312, of the part of the industrial plant. The exhaustive list of candidate control functions involving all components in the part of the industrial plant form the plurality of candidate control functions.
[0073] As will be appreciated, the number candidate control functions in the part of the industrial plant may be very high. Further, as mentioned earlier, not all control functions in the plurality of candidate control functions may be validly performed in the part of the industrial plant. Hence, the test generation engine 120 selects the control functions in the plurality of candidate control functions that can be validly performed in the part of the industrial plant. The control functions that are performed in the part of the industrial plant are hereinafter referred to as active control functions. To select the active control functions from the plurality of candidate control functions, the test generation engine utilizes the control topology 212.
[0074] Fig. 4 illustrates the control topology 212, using which the active control functions can be selected from the plurality of candidate control functions, in accordance with an implementation of the present subject matter. The control topology 212 may be obtained from the engineering data storage unit 208. The control topology 212, which corresponds to the part of the industrial plant, represents logic for controlling actuation of the makeup valve 318, which is an actuating component in the part of the industrial plant. The logic may be used by an industrial control device corresponding to the makeup valve 318 for controlling actuation of the makeup valve 318. Similar to the control topology 212, which is for the makeup valve 318, multiple control topologies may be present corresponding to the part of the industrial plant, in which each control topology corresponds to a different actuating component, such as the recirculation valve 316, the vacuum break valve 320, and the spray valve 322, in the part of the industrial plant.
[0075] From arrow 402, the test generation engine 120 can determine that the makeup valve 318 is to be closed when the level of fluid in the condenser tank 306 is high. Similarly, from arrow 404, the test generation engine 120 can determine that the makeup valve 318 is to be opened when the level of fluid in the condenser tank 306 is low. The test generation engine 120, which analyzes the control topology 212, compares the above determinations with the candidate control functions involving the makeup valve 318.
[0076] Based on the comparison, the test generation engine 120 can identify that the candidate control function 1 , i.e., opening the makeup valve 318 when the level sensed by level transmitter 314 is low, matches with the logic represented by the arrow 404. Similarly, based on the comparison, the test generation engine 120 can identify that the candidate control function 4, i.e., closing the makeup valve 318 when the level sensed by level transmitter 314 is high, matches with the logic represented by the arrow 402. Therefore, from the candidate control functions 1 -4 for makeup valve 318, the test generation engine 120 determines that the active control functions are 1 and 4. Similar to the selection of the active control functions for the makeup valve 318, the test generation engine 120 can select the active control functions for the recirculation valve 316, the vacuum break valve 320, and the spray valve 322. Further, similar to selecting the active control functions involving the level transmitter 314 for the actuating components, the test generation engine 120 can select the active control functions for the actuating components involving other sensors, such as the pressure transmitter 310 and the temperature transmitter 312, of the part of the industrial plant.
[0077] In addition to the logics represented by the arrows 402 and 404, the control topology 212 includes logics represented by arrows 406 and 408. The logic represented by the arrow 406 indicates that when the control is manual, the actuation of the makeup valve 318 will be performed manually, for example, by a plant operator. If the control is automatic, as indicated by the arrow 408, the actuation of the makeup valve 318 will be performed by the industrial control device controlling the makeup valve 318.
[0078] Since the active control functions explained above relate to the condenser tank 306, these active control functions may be referred to as active control functions associated with the condenser tank 306. Similar to selecting the active control functions associated with the condenser tank 306, the test generation engine 120 may select the active control functions associated with the steam turbine 308. In other words, the test generation engine 120 selects the active control functions associated with the one or more equipment in the part of the industrial plant.
[0079] Upon identification of the active control functions associated with one or more equipment in the part of the industrial plant, the test generation engine 120 may generate a set of test cases for at least one active control function. An active control function is part of the at least one active control function and is associated with at least one equipment. For example, an active control function part of the at least one active control function may be actuation of the makeup valve 318, which is associated with the condenser tank 306. A test case for an active control function includes a test case that can test the active control function. For example, a test case for an active control function 'closing the makeup valve 318 when the level sensed by level transmitter 314 is high' can involve increasing the level of fluid in the condenser tank 306, for example, by increasing the flow rate, so that the level transmitter 314 senses a high level in the condenser tank 306, and it can be tested whether the makeup valve 318 closes or not. Accordingly, to generate a test case for an active control function, the test generation engine 120 can generate instructions, which, when plugged-in the process simulation model 100 for execution, causes changes in the process parameters, such as change in level of fluid in a tank, change in temperature of the tank, and change in pressure inside the tank.
[0080] The instructions generated by the test generation engine 120 can indicate a change in a parameter to be caused in the process simulation model 100, for example, the temperature change, pressure change, and level change in the condenser tank 306. The parameter change indicated by the instructions of the test cases is referred to as a test parameter. The test parameter can be, for example, temperature of 75°, or a pressure of 10 bar. The test generation engine 120 determines test parameters for a test case testing an active control function based on engineering data of the equipment with which the active control function is associated. For example, when a test case involves increase in level of the condenser tank 306, by increasing the flow rate, to test the closing of the makeup valve 318, the test generation engine 120 determines the height of the condenser tank 306, so that the test case can increase the level of the fluid in the condenser tank 306 beyond a threshold height of the tank. In an example, the test generation engine 120 obtains the engineering data associated with an equipment from an Input/output (I/O) list.
[0081 ] Fig. 5 illustrates a method 500 for testing at least one active control function in the DCS, in accordance with an implementation of the present subject matter. [0082] The order in which the method 500 is described is not intended to be construed as a limitation, and any number of the described method blocks may be combined in any order to implement the method 500, or an alternative method. Furthermore, the method 500 may be implemented by processor(s) or computing device(s) through any suitable hardware, non- transitory machine readable instructions, or a combination thereof.
[0083] It may be understood that steps of the method 500 may be performed by programmed computing devices and may be executed based on instructions stored in a non-transitory computer readable medium. The non-transitory computer readable medium may include, for example, digital memories, magnetic storage media, such as one or more magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media. Further, although the method 500 may be implemented in a variety of systems; the method 500 is described in relation to the aforementioned system 1 18, for ease of explanation.
[0084] At block 502, a set of active control functions associated with one or more equipment in a part of the industrial plant is identified. The identification is performed based on a process topology corresponding to the part of the industrial plant and a control topology corresponding to the part of the industrial plant. The process topology corresponding to the part of the industrial plant includes the one or more equipment in the part of the industrial plant, corresponding sensors connected to the one or more equipment, and one or more actuating components in the part of the industrial plant. The control topology for the part of the industrial plant represents logic for controlling actuation of the actuating component by an industrial control device. The process topology corresponding to the part of the industrial plant may be similar to the process topology 210, and the control topology corresponding to the part of the industrial plant may be similar to the control topology 212. The identification of the set of active control functions from the process topology corresponding to the part of the industrial plant and the control topology corresponding to the part of the industrial plant will be explained in greater detail with reference to Fig. 6.
[0085] At block 504, a test case is generated for at least one active control function in the set of active control functions. The at least one active control function is associated with at least one equipment in the one or more equipment. One or more test parameters for the test case may be determined based on engineering data associated with the at least one equipment. The test case may be generated by the test generation engine 120.
[0086] In an implementation, generating a test case for the at least one active control function includes retrieving a second test case associated with the at least one active control function from a test case repository and modifying the second test case based on the engineering data associated with the at least one equipment. The second test case may be the second test case explained with reference to Fig. 4.
[0087] Further, in an implementation, to generate the test case for the at least one active control function, the process topology corresponding to the part of the industrial plant may be compared with a previous version of the process topology. Similarly, the control topology corresponding to the part of the industrial plant may be compared with a previous version of the control topology. A change in the process topology and the control topology may be detected based on the comparisons of the process topology and the control topology respectively. Based on the detected changes in at least one of the process topology and the control topology, the second test case may be determined.
[0088] At block 506, the test case is executed on at least one of a process simulation model corresponding to the industrial plant and a control emulator emulating the industrial control device, for testing the at least one active control function in the DCS. The execution may be performed by the test execution engine 122. In an implementation, a set of test cases may be received for execution. The set of test cases may include test cases newly generated by the test generation engine 120 and also the second test case. The set of test cases may be ordered for execution based on a priority for executing the test cases. The set of test cases may then be executed based on the order.
[0089] In an implementation, the set of test cases includes a process test case and a standalone test case. For execution, the process test cases may be plugged-in to the process simulation model and the standalone test case may be plugged-in to the control emulator.
[0090] The identification of the set of active control functions is now explained with reference to Fig. 6.
[0091 ] Fig. 6 illustrates a method 600 for identifying the set of active control functions, in accordance with an implementation of the present subject matter.
[0092] The order in which the method 600 is described is not intended to be construed as a limitation, and any number of the described method blocks may be combined in any order to implement the method 600, or an alternative method. Furthermore, the method 600 may be implemented by processor(s) or computing device(s) through any suitable hardware, non- transitory machine readable instructions, or a combination thereof.
[0093] It may be understood that steps of the method 600 may be performed by programmed computing devices and may be executed based on instructions stored in a non-transitory computer readable medium. The non-transitory computer readable medium may include, for example, digital memories, magnetic storage media, such as one or more magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media. Further, although the method 600 may be implemented in a variety of systems, the method 600 is described in relation to the aforementioned system 1 18, for ease of explanation.
[0094] At block 602, the one or more equipment, the corresponding sensors, and the actuating component in the part of the industrial plant are determined from the process topology corresponding to the part of the industrial plant. Further, positional information of the one or more equipment, the corresponding sensors, and the actuating component in the part of the industrial plant are determined from the process topology corresponding to the part of the industrial plant. Still further, one or more connections between the one or more equipment, the corresponding sensors, and the actuating component in the part of the industrial plant are determined from the process topology corresponding to the part of the industrial plant.
[0095] At block 604, a plurality of candidate control functions in the part of the industrial plant may be identified based on the determined the one or more equipment, the corresponding sensors, and the actuating component in the part of the industrial plant in the part of the industrial plant, the positional information, and the one or more connections.
[0096] At block 606, the set of active control functions are identified from the plurality of candidate control functions by comparing the plurality of candidate control functions in the part of the industrial plant with the control topology.
[0097] In an implementation, the steps of the method 600 may be performed by the test generation engine 120.
[0098] Although the present subject matter has been described with reference to specific embodiments, this description is not meant to be construed in a limiting sense. Various modifications of the disclosed embodiments, as well as alternate embodiments of the subject matter, will become apparent to persons skilled in the art upon reference to the description of the subject matter.

Claims

I/We claim:
1 . A method for testing a distributed control system (DCS) of an industrial plant comprising a plurality of parts, the DCS comprising at least two industrial control devices, each of them being arranged to control actuation of a respective actuating component of the industrial plant during a production process of the industrial plant,
the method comprising:
identifying a set of active control functions associated with one or more equipment (306, 308) in a part of the industrial plant based on a process topology (210) corresponding to the part of the industrial plant and a control topology (212) corresponding to the part of the industrial plant, the process topology (210) corresponding to the part of the industrial plant comprising the one or more equipment (306, 308) in the part of the industrial plant, corresponding sensors (310, 312, 314) connected to the one or more equipment (306, 308), and one or more actuating components (316, 318, 320, 322) in the part of the industrial plant and the control topology (212) for the part of the industrial plant representing logic for controlling, by an industrial control device, actuation of an actuating component in the one or more actuating components (316, 318, 320, 322) in the part of the industrial plant;
generating a test case for at least one active control function, associated with at least one equipment (306), in the set of active control functions, wherein one or more test parameters for the test case is determined based on engineering data associated with the at least one equipment (306); and executing the test case on at least one of a process simulation model (100) corresponding to the industrial plant and a control emulator (1 14) emulating the industrial control device, for testing the at least one active control function in the DCS.
2. The method as claimed in claim 1 , wherein identifying the set of active control functions associated with the one or more equipment (306, 308) comprises:
identifying the one or more equipment (306, 308), the corresponding sensors (310, 312, 314), and the one or more actuating components (316, 318, 320, 322) in the part of the industrial plant, positional information of the one or more equipment (306, 308), the corresponding sensors (310, 312, 314), and the one or more actuating components (316, 318, 320, 322) in the part of the industrial plant, and one or more connections between the one or more equipment (306, 308), the corresponding sensors (310, 312, 314), and the one or more actuating components (316, 318, 320, 322) in the part of the industrial plant from the process topology (210) corresponding to the part of the industrial plant;
identifying a plurality of candidate control functions in the part of the industrial plant based on the identified the one or more equipment (306, 308), the corresponding sensors (310, 312, 314), and the one or more actuating components (316, 318, 320, 322) in the part of the industrial plant, the positional information, and the one or more connections; and identifying the set of active control functions from the plurality of candidate control functions by comparing the plurality of candidate control functions in the part of the industrial plant with the control topology (212).
3. The method as claimed in claim 1 , wherein generating the test case for at least one active control function in the set of active control functions comprises:
retrieving a second test case associated with the at least one active control function from a test case repository (202); and
modifying the second test case based on the engineering data associated with the at least one equipment (306).
4. The method as claimed in claim 3, wherein retrieving the second test case associated with the at least one active control function comprises:
comparing the process topology (210) corresponding to the part of the industrial plant and the control topology (212) corresponding to the part of the industrial plant with a previous version of the process topology (210) corresponding to the part of the industrial plant and a previous version of the control topology (212) corresponding to the part of the industrial plant;
detecting a change in at least one of the process topology (210) and the control topology (212) based on the comparison; and determining, based the change in at least one of the process topology (210) and the change in the control topology (212), the second test case stored in the test case repository (202) associated with the at least one active control function.
The method as claimed in claim 1 , comprising:
receiving a set of test cases for testing active control functions in the set of active control functions;
receiving a priority for executing test cases in the set of test cases; ordering the test cases based on the priority; and
executing the test cases based on the order.
The method as claimed in claim 1 , comprising:
comparing outcome of execution of the test case with an expected outcome of the execution of the test case;
identifying, based on the comparison, result of execution of the test case; and
storing the test case and the result of the test case in a test case repository (202).
7. The method as claimed in claim 5, wherein executing the test cases comprises:
plugging-in a process test case in the set of test cases to the process simulation model (100) for execution on the process simulation model (100); and
plugging-in a standalone test case in the set of test cases to the control emulator (1 14) for execution on the control emulator (1 14).
8. A system (1 18) for generating test cases for testing a distributed control system (DCS) of an industrial plant comprising a plurality of parts, the DCS comprising at least two industrial control devices, each of them being arranged to control actuation of a respective actuating component of the industrial plant during a production process of the industrial plant,
the system (1 18) comprising:
a processor; and
a test generation engine (120) coupled to the processor to: receive a process topology (210) and a control topology (212) corresponding to a part of the industrial plant from an engineering data storage unit (208), the engineering data storage unit (208) comprising process topologies (210, 302, 304) corresponding to different parts of the industrial plant and control topologies (212) corresponding to different parts of the industrial plant, wherein the process topology (210) corresponding to the part of the industrial plant comprises one or more equipment (306, 308) in the part of the industrial plant, corresponding sensors (310, 312, 314) connected to the one or more equipment (306, 308), and one or more actuating components (316, 318, 320, 322) in the part of the industrial plant and the control topology (212) represents logic for controlling, by an industrial control device, actuation of an actuating component of the one or more actuating components (316, 318, 320, 322) in the part of the industrial plant;
identify a plurality of candidate control functions in the part of the industrial plant based on the process topology (210) corresponding to the part of the industrial plant by identifying the one or more equipment (306, 308), the corresponding sensors (310, 312, 314), and the one or more actuating components (316, 318, 320, 322) in the part of the industrial plant, positional information of the one or more equipment (306, 308), the corresponding sensors (310, 312, 314), and the one or more actuating components (316, 318, 320, 322) in the part of the industrial plant, and one or more connections between the one or more equipment (306, 308), the corresponding sensors (310, 312, 314), and the one or more actuating components (316, 318, 320, 322) in the part of the industrial plant from the process topology (210) corresponding to the part of the industrial plant;
select active control functions associated with one or more equipment (306, 308) in the part of the industrial plant from the plurality of candidate control functions based on the control topology (212) by comparing the plurality of candidate control functions in the part of the industrial plant with the logic for controlling actuation of the actuating component in the part of the industrial plant; and
generate a set of test cases, comprising at least one of a process test case and a standalone test case, for at least one active control function in the active control functions, for execution on at least one of a process simulation model (100) corresponding to the industrial plant and a control emulator (1 14) emulating the industrial control device, for testing the at least one active control function of the DCS.
9. The system (1 18) as claimed in claim 8, wherein the test generation engine (120) is to:
receive a plurality of test cases comprising the set of test cases and a second test case, stored in a test case repository (202), for testing the active control functions;
prioritize the plurality of test cases based on a user input, and wherein the system (1 18) comprises a test execution engine (122) to:
execute the plurality of test cases on at least one of the process simulation model (100) and the control emulator (1 14) based on the prioritization; and
store results of the execution for determining passed test cases and failed test cases in the plurality of test cases.
10. The system (1 18) as claimed in claim 8, wherein to generate the set of test cases, the test generation engine (1 18) is to:
detect a change in the process topology (210) corresponding to the part of the industrial plant compared to a previous version of the process topology (210) corresponding to the part of the industrial plant;
detect a change in the control topology (212) corresponding to the part of the industrial plant compared to a previous version of the control topology (212) corresponding to the part of the industrial plant; and
identify, based on at least one of detected change in the process topology (210) and detected change in the control topology (212), a second test case associated with an active control function, stored in a test case repository (202), in the active control functions.
PCT/IB2016/056326 2015-12-31 2016-10-21 Method and system for testing distributed control systems of industrial plants WO2017115162A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN7152CH2015 2015-12-31
IN7152/CHE/2015 2015-12-31

Publications (1)

Publication Number Publication Date
WO2017115162A1 true WO2017115162A1 (en) 2017-07-06

Family

ID=57241127

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2016/056326 WO2017115162A1 (en) 2015-12-31 2016-10-21 Method and system for testing distributed control systems of industrial plants

Country Status (1)

Country Link
WO (1) WO2017115162A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108873868A (en) * 2018-07-27 2018-11-23 中国核动力研究设计院 Npp safety grade DCS console module automatic test device
CN109448874A (en) * 2018-09-29 2019-03-08 国核自仪系统工程有限公司 Power producer protects the test device and method of the shutdown function of system
CN109765790A (en) * 2017-11-09 2019-05-17 北京君正集成电路股份有限公司 The control display methods and device of equipment
CN109765792A (en) * 2017-11-09 2019-05-17 北京君正集成电路股份有限公司 The control display methods and device of equipment
CN109765791A (en) * 2017-11-09 2019-05-17 北京君正集成电路股份有限公司 The control display methods and device of equipment
CN109933026A (en) * 2019-01-30 2019-06-25 东南大学 The synchronous safe cognitive method for importing virtual DCS of DCS man-machine interface operation
EP3540532A1 (en) * 2018-03-12 2019-09-18 OMRON Corporation, a corporation of Japan Control system and control method
CN110377010A (en) * 2019-08-13 2019-10-25 中国核动力研究设计院 A kind of arbitrarily extensible DCS system automatic test device and test method
CN111176246A (en) * 2020-02-25 2020-05-19 杭州和利时自动化有限公司 Remote simulation method and system for distributed control system
CN111308974A (en) * 2020-02-27 2020-06-19 杭州和利时自动化有限公司 Method, system and equipment for controlling DCS simulation system
CN111427781A (en) * 2020-03-19 2020-07-17 北京广利核系统工程有限公司 Logic function testing method and platform compatible with simulation and entity
CN113985829A (en) * 2021-11-03 2022-01-28 江苏核电有限公司 Distributed industrial control system of nuclear power station and virtual and physical switching control method thereof
WO2023082886A1 (en) * 2021-11-12 2023-05-19 中广核核电运营有限公司 Digital simulation technology-based dcs software automatic verification system and method
EP4343473A1 (en) * 2022-09-21 2024-03-27 Abb Schweiz Ag Virtual deployment of distributed control systems for control logic testing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009053768A (en) * 2007-08-23 2009-03-12 Chugoku Electric Power Co Inc:The Interlock test procedure generation system
US20110054643A1 (en) * 2009-08-26 2011-03-03 Gary Keith Law Methods and apparatus to manage testing of a process control system
US20110153258A1 (en) * 2009-12-18 2011-06-23 Mitsubishi Electric Corporation Test table creation system and test table creation method
US20120136608A1 (en) * 2010-11-25 2012-05-31 Mitsubishi Electric Corporation Test table generating device and method of generating test table
WO2014139616A1 (en) * 2013-03-12 2014-09-18 Abb Technology Ag System and method for testing a distributed control system of an industrial plant

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009053768A (en) * 2007-08-23 2009-03-12 Chugoku Electric Power Co Inc:The Interlock test procedure generation system
US20110054643A1 (en) * 2009-08-26 2011-03-03 Gary Keith Law Methods and apparatus to manage testing of a process control system
US20110153258A1 (en) * 2009-12-18 2011-06-23 Mitsubishi Electric Corporation Test table creation system and test table creation method
US20120136608A1 (en) * 2010-11-25 2012-05-31 Mitsubishi Electric Corporation Test table generating device and method of generating test table
WO2014139616A1 (en) * 2013-03-12 2014-09-18 Abb Technology Ag System and method for testing a distributed control system of an industrial plant

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109765790A (en) * 2017-11-09 2019-05-17 北京君正集成电路股份有限公司 The control display methods and device of equipment
CN109765792A (en) * 2017-11-09 2019-05-17 北京君正集成电路股份有限公司 The control display methods and device of equipment
CN109765791A (en) * 2017-11-09 2019-05-17 北京君正集成电路股份有限公司 The control display methods and device of equipment
EP3540532A1 (en) * 2018-03-12 2019-09-18 OMRON Corporation, a corporation of Japan Control system and control method
US10816951B2 (en) 2018-03-12 2020-10-27 Omron Corporation Emulation of a control system and control method for abnormality detection parameter verification
CN108873868A (en) * 2018-07-27 2018-11-23 中国核动力研究设计院 Npp safety grade DCS console module automatic test device
CN109448874B (en) * 2018-09-29 2020-11-20 国核自仪系统工程有限公司 Device and method for testing shutdown function of nuclear power reactor protection system
CN109448874A (en) * 2018-09-29 2019-03-08 国核自仪系统工程有限公司 Power producer protects the test device and method of the shutdown function of system
CN109933026A (en) * 2019-01-30 2019-06-25 东南大学 The synchronous safe cognitive method for importing virtual DCS of DCS man-machine interface operation
CN110377010A (en) * 2019-08-13 2019-10-25 中国核动力研究设计院 A kind of arbitrarily extensible DCS system automatic test device and test method
CN111176246A (en) * 2020-02-25 2020-05-19 杭州和利时自动化有限公司 Remote simulation method and system for distributed control system
CN111176246B (en) * 2020-02-25 2021-06-01 杭州和利时自动化有限公司 Remote simulation method and system for distributed control system
CN111308974A (en) * 2020-02-27 2020-06-19 杭州和利时自动化有限公司 Method, system and equipment for controlling DCS simulation system
CN111427781A (en) * 2020-03-19 2020-07-17 北京广利核系统工程有限公司 Logic function testing method and platform compatible with simulation and entity
CN111427781B (en) * 2020-03-19 2023-07-21 北京广利核系统工程有限公司 Simulation and entity compatible logic function test method and platform
CN113985829A (en) * 2021-11-03 2022-01-28 江苏核电有限公司 Distributed industrial control system of nuclear power station and virtual and physical switching control method thereof
WO2023082886A1 (en) * 2021-11-12 2023-05-19 中广核核电运营有限公司 Digital simulation technology-based dcs software automatic verification system and method
EP4343473A1 (en) * 2022-09-21 2024-03-27 Abb Schweiz Ag Virtual deployment of distributed control systems for control logic testing

Similar Documents

Publication Publication Date Title
WO2017115162A1 (en) Method and system for testing distributed control systems of industrial plants
CN109643092B (en) System and method for threat impact determination
US8532795B2 (en) Method and system for offline code validation
CN110262279A (en) Control system and control method
CN109813999B (en) Automatic test platform, method and application of power distribution network fault diagnosis algorithm
KR20200063889A (en) Method, system and computer program for plant operation applied by a digital twin model
JP2023512806A (en) Generating a representation of a process network comprising at least two interconnected chemical plants
US20120239374A1 (en) System and method of simulating input/output modules in a control system
JP2022002126A (en) Method and device for defining stage for multivariate batch control analysis, and manufactured article
Abalov et al. Using the SimInTech dynamic modeling environment to build and check the operation of automation systems
US20220382233A1 (en) Information processing device, prediction method, and computer-readable recording medium
CN111125697B (en) Intelligent contract defect triggerability detection method and system based on defect abstract
CN103049374B (en) Automatic testing method and device
CN113568379A (en) Control assistance device, control assistance method, computer-readable medium, and control system
WO2011028439A2 (en) Thermodynamic process control based on pseudo-density root for equation of state
CN101878457A (en) The system and method that is used for the integrated information collection of SCADA application and simulation application or network calculations application
CN104751059B (en) Software action analysis method based on function template
Ramanathan et al. Assisting automated fault detection and diagnostics in building automation through semantic description of functions and process data
US20220291673A1 (en) Analysis apparatus, analysis method and computer-readable medium
KR102517226B1 (en) Digital twin simulator and controlling method for the digital twin simulator
CN106796430A (en) Monitoring control device test device
CN114692388A (en) Simulation system, method and device for thermal power plant and storage medium
US11893869B2 (en) Information processing device, alarm prediction method, and computer-readable recording medium
EP3299913A1 (en) Parallel processing for monitoring and control of plant equipment
Mariani et al. G-RankTest: Regression testing of controller applications

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16791441

Country of ref document: EP

Kind code of ref document: A1