# PROSIM in the Cloud: Remote Automation Training Platform with Virtualized Infrastructure
## 5 Results
### Process Simulations  
For the purpose of the application we illustrate the implementation of three process simulations: pumping station, heat exchanger and flow meter. The first of the simulations, the Pumping Station in Figure 6, represents a commonly industrial autonomous system equipped with various types of pumps and sensors. The equipment is used to provide fresh and grey water specific to the application area of usage. The simulation consists of two independent systems able to store a quantity of water and the use it for different procedures. The first system must ensure a steady supply of liquid in case of fire emergency and the second system must ensure the water for domestic consumption. The process is equipped with six pumps, one used for filling the tanks, three used by the emergency fire application and another two used for the household consumption. Each of the six pumps can be simulated as faulty by the press of a button; thus, the difficulty of the simulation is increased, and the degree of realism is better molded into a real application, where multiple risks can materialize. Besides the actuators, the simulation is enhanced using digital and analog sensors. _Functional description_: The S0 switch will power ON the system. The power ON/OFF status is signalled by the lamp H1. If the system is powered ON, the control system must control the M1-M6 pumps to supply water on two separate piping networks. The M1 pump must be turned on if the water level in Tank 1 is below the B1 sensor or if the water level in Tank 2 is below L2. The M1 pump will be turned OFF if both tanks are filled, i.e., level H1 and H2 are reached. If the water level in Tank 1 is bellow sensor B1, the PLC must generate an alarm because the minimum water reserve was reached. Such a fault can be simulated by pressing the S3 button. The M2-M3-M4 pumps should ensure a minimum pressure of 3 bar on the emergency piping system. The pressure is measured by the PT1. The transducer measurement range is 0-10 bar. When the pressure drops below 3 bar, equivalent to someone pressing the fire emergency button, the PLC must start two pumps out of three. The selection is made according to the use time, that is, the pumps with minimum use time are chosen. When the pressure reaches 6 bar, the pumps are stopped. If no water remains in Tank 1, determined by the water measurement below the L1 sensor, all pumps must be stopped. If a pump has a fault, before starting or in running, the PLC should start the other pump. The M5 and M6 pumps should ensure a minimum pressure of 3 bar on the second piping system. The pressure is measured by PT2, with the transducer measurement range is 0-10 bar. When the pressure drops below 3 bar corresponding to an active water consumer, the PLC must start one pump out of two. The selection is made according to the use time, i.e., the pump with minimum use time is chosen. When the pressure reaches 6 bar, the pump is stopped. If no water remains in Tank 2, corresponding to the water below the L2 sensor for at least one second, all pumps must be stopped. The water usage is simulated by pressing the S2 button. If a pump has a fault, either before starting or in run mode, the PLC should start the other pump. The system is programmed to follow three functionality threads as detailed in the UML diagram from Figure 7. If all the safety parameters are in good condition and if the system has been started, then the software will begin the three loops. The first one will handle the water level in the tanks, water needed to ensure a proper functionality. The second one will deal with the Emergency Case circuit. When the pressure will drop below a certain threshold, two out of the three pumps will start running based on the total  
Figure 6: Pumping station simulation environment. function time, in order to reduce the wear of the equipment. The last thread will handle the Use-of-Water circuit, which has the same structure as the previous one.