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 PDFInfo
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 351
- 238000000034 method Methods 0.000 title claims abstract description 194
- 230000008569 process Effects 0.000 claims abstract description 151
- 230000006870 function Effects 0.000 claims abstract description 148
- 238000004088 simulation Methods 0.000 claims abstract description 54
- 230000008859 change Effects 0.000 claims description 26
- 238000004519 manufacturing process Methods 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 11
- 238000012913 prioritisation Methods 0.000 claims description 3
- 239000012530 fluid Substances 0.000 description 11
- 230000015654 memory Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 229910000831 Steel Inorganic materials 0.000 description 7
- 239000007921 spray Substances 0.000 description 7
- 239000010959 steel Substances 0.000 description 7
- 238000003860 storage Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 239000000155 melt Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- VVTSZOCINPYFDP-UHFFFAOYSA-N [O].[Ar] Chemical compound [O].[Ar] VVTSZOCINPYFDP-UHFFFAOYSA-N 0.000 description 2
- 238000005261 decarburization Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010891 electric arc Methods 0.000 description 2
- 238000009847 ladle furnace Methods 0.000 description 2
- 239000007788 liquid Substances 0.000 description 2
- 230000003278 mimic effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010248 power generation Methods 0.000 description 2
- 238000005275 alloying Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000007789 gas Substances 0.000 description 1
- 229910052500 inorganic mineral Inorganic materials 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000002844 melting Methods 0.000 description 1
- 230000008018 melting Effects 0.000 description 1
- 239000011707 mineral Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000003921 oil Substances 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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] or computer integrated manufacturing [CIM]
- G05B19/41885—Total 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] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Testing And Monitoring For Control Systems (AREA)
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
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.
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)
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 |
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 |
CN109765790A (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)
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 |
-
2016
- 2016-10-21 WO PCT/IB2016/056326 patent/WO2017115162A1/en active Application Filing
Patent Citations (5)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN109765790A (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 | |
US20220334807A1 (en) | Method and system for generating engineering programs for an industrial domain | |
Abalov et al. | Using the SimInTech dynamic modeling environment to build and check the operation of automation systems | |
CN117436593B (en) | Incinerator system fault prediction method and system based on artificial intelligence | |
CA2775820C (en) | Thermodynamic process control based on pseudo-density root for equation of state | |
CN111125697B (en) | Intelligent contract defect triggerability detection method and system based on defect abstract | |
CN113568379A (en) | Control assistance device, control assistance method, computer-readable medium, and control system | |
US20220291673A1 (en) | Analysis apparatus, analysis method and computer-readable medium | |
KR102517226B1 (en) | Digital twin simulator and controlling method for the digital twin simulator | |
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 | |
JP2011123187A (en) | Operation simulator | |
CN106796430A (en) | Monitoring control device test device | |
CN114692388A (en) | Simulation system, method and device for thermal power plant and storage medium | |
US20220383723A1 (en) | Information processing device, alarm prediction method, and computer-readable recording medium | |
US20220382267A1 (en) | Information processing device, display control method, and computer-readable recording medium | |
JP7517286B2 (en) | Information processing device, evaluation method, and evaluation program | |
EP3299913A1 (en) | Parallel processing for monitoring and control of plant equipment | |
Zhang et al. | Research and Construction of Embedded Software Evaluation Technology System |
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 |