A model of a Senseo coffee machine is presented. The main feature of a Senseo coffee machine is that the coffee is placed in the machine in a pre-portioned form by so-called coffee pads. One pad is generally used to make one cup of coffee (125°ml) and two pads reach for two cups at 125 ml or one big cup at 250 ml. After a warm-up time of about 60 seconds and the insertion of a coffee pad, the coffee can be made. In this warm-up phase, the water is heated at 90°C and then pressed with a pressure of about 1.4 bar within 40 seconds through the pad. In contrast to a normal coffee machine that boils the water continuously and transports it by its own buoyancy (hot bubbles) up into the filter, the Senseo machine heats a portion of water completely in a heating chamber and pumps it then through the pad. To ensure that the heating chamber in the machine is always filled with water, a float is placed in the removable water tank which allows measuring the minimal capacity. If the minimum level is exceeded, the heater is turned off. If there is sufficient water level, the next portion of water is heated directly after the scalding and filling.
Step | Functional Principle | xHPN model |
---|---|---|
1 | The machine is off. | One token is placed in place start. |
2 | The time between turn the machine off and on again takes averagely 1200 s. | The stochastic transition starting has a hazard function of 1/1200. |
3 | If the machine is started and the water in the tank is less than 0.35 l, new water has to be filled to the tank. The tank is always filled completely and this procedure takes 30 s. The water tank has a maximum capacity of 0.7 l. | The place water_tank is connected to the transition refilling1 by an inhibitor arc with an weight of 0.35. The transition refilling2 has a delay of 30 and the weight of the arc from this transition back to the place water_tank is 0.7-water_tank.t, where water_tank.t is the current marking of place water_tank. The place water_tank has a maximum capacity of 0.7. |
4 | If there is enough water in the tank, the water in the heating camber is heated. The heating speed (hs) depends on the power of the Senseo machine (Psenseo),
the specific heat capacity of water (c), and the amount of water to be heated in the heating camber (WHC): hs=Psenseo/(c·WHC ). The maximum temperature of the water is 90°C. |
The place water_tank is connected to the transition heating by a test arc with the weight 0.35. The continuous transitions heating has a maximum speed of Psenso/(c*waterHC.t), where waterHC.t is the current marking of the place waterHC. The maximum capacity of place TW is set to 90. |
5 | Simultaneously, the user has to insert a coffee pad to the Senseo machine. Therefore, he needs averagely 30 s. | The stochastic transition inserting has a hazard function of 1/30. |
6 | When the water reaches a temperature of 90°C, the user can chose if he wants one or two cups of coffee. In 70% he chooses one cup and in 30% two cups. | The place TW is connected to the transition T2 by a test arc with a weight of 90. The place decision1 gets one token and a random procedure is performed to decide if T3 or T4 fires. If T3 fire, the place one_cup gets one token and afterwards T5 and the place amount gets also one token. However, if T4 fires, the place amount gets two tokens. |
7 | When the machine is off, the temperature of the water in the heating camber (TW) is cooled down at the speed k·(TW-TE), where k is a proportional factor and TE is the environment temperature. |
The continuous transition cooling has the maximum speed k*(TW.t-TE) and the firing condition TW.t>TE, where TW.t is the current marking of place TW. Additionally, the inhibitor arc (on→cooling) with the weight 1 causes that the cooling is only performed when the machine is off. |
8 | The coffee is scaled with a speed of 0.003125 l/s. If one cup is chosen, 0.125 l coffee is made and if two cups are chosen 0.25 l coffee is produced. | The continuous transition scalding has a maximum speed of 0.003125. This transition can only fire when the place amount has at least one token. If the random procedure of step 6 choses T3 to fire, the place amount gets one token and if T4 is chosen the place amount gets two tokens. These tokens remain in the place amount until the transition counting fires. This transitions fires when the place coffee_cup has reached a marking of 0.125*amount.t (arc weight), where amount.t is the current marking of the place amount. Additionally, all tokens are removed from the place amount and, hence, the transition scalding cannot fire anymore. |
9 | Simultaneously, new water is pumped from the tank to the heating camber with a maximum speed of 0.1 l/s.
The heating camber has a maximum capacity of 0.25 l. When new cold water (Win) with a temperature TC is pumped
to the heating camber and the hot water is used for scalding (Wout), the water temperature (TW) decreases. The mixing temperature is given by Tm=(TW·(WHC-Wout)+TC·Win)/WHC |
The continuous transition pumping has a maximum speed of 0.1. The place water_hc has a maximum capacity of 0.25. The place TW is an output of the transition pumping with an arc weight of TC/water_hc.t and an input of the transition scalding with an arc weight TW.t/water_hc.t, where water_hc is the current marking of place water_hc. |
10 | If the desired amount of coffee is made, the cups are counted and the machine is ready again. | The arc from the continuous place coffee_cup to the discrete transition counting is amount.t*0.125 where amount.t is the current marking of the place amount. Additionally amount tokens are added to place amount_cups and the place ready gets one token. |
11 | If the machine is ready again, the user can decide if he wants another coffee (20%) or if he wants to turn off the machine (80%). | The transition stop_or_next fires one token to place decision2 when the machine is ready again. A random procedure choses with a probability of 0.2 transition T7 and with a probability of 0.8 transition T8 to fire. If T7 fires, the procedure starts from step 3 again and if T8 fires the place stop gets one token and the procedure starts from the beginning (step 1). |
This xHPN model of the Senseo coffee machine has been implemented in a hierarchical structure with the aid of the PNlib and the Modelica tool Dymola. The figure shows the model at the top level. An animation of this model displays the amount of produced coffees, the temperature of the water as well as the current filling level of the coffee cup and the water tank. Additionally, the head of the stickman is green when the machine is on and red when it is off. When a pad is inserted the respective rectangle is brown and, similarly, t he when water is refilled the respective rectangle is blue.
The xHPN model ans the corresponding processes listed in the table are divided for the Modelica model into five sub-models, also called wrappers, which represent the following processes:
These xHPN-sub-model are represented in following figure.
The following figure shows one possible result for simulating the Senseo machine 5 hours. It has to mentioned that every simulation result is different due to the included stochastic effects (starting the machine, inserting coffee pads, choosing one or two coffees, stopping the machine or producing another coffee).
Name | Description |
---|---|
Senseo_Model | Top Model |
coffee_cup | Animation of coffee cup |
Counter | Integer Counter |
Counter_real | Real Counter |
Start | User action: starting and stopping the machine (step 1, 2, 11), initiating the insertion of coffee pads (step 5) and the refill of water (step 3). |
Refill_Water | Refilling water: the water tank of the Senseo machine is refilled (step 3). |
Water_Tank | Water tank: the water tank of the Senseo machine. |
Insert_Pad | Insert pad: coffee pads are inserted to the Senseo machine (step 5). |
Senseo_Maschine | Senseo machine: the functionality of the Senseo machine (step 4, 6, 7, 8, 9, 10). |