BDD & IBD: Humidifier

This diagram shows the Humidifier block and its embedded Internal Block Diagram (IBD):
Click on the image to view it full size

It's worth pausing here to try to understand exactly what's going on.

Firstly, note that the block WaterTank is NOT a physical block, it is merely a "computation block" for tracking the volume of water in a water tank, which information is used by the StateMachine ControlSM within block Control (namely it switches the entire system off if the water level gets too low).

Similarly, the block VaporGenerationPlant is NOT a physical block, it is a "computation block" for tracking the generation of vapor, depending on both the power of a cooling safety fan and a water heater.

Neither the fan nor the heater are explicitly modelled. There is also no explicit modelling of the provision of water from a physical water tank to a physical vapor generation plant. All that happens is that values (only) representing and tracking physical quantities are "shunted" around. It's quantity signal flow, NOT physical interaction.

Note also that there are three StateMachines UsageControlSM, ControlSM, and HeaterControlSM. We'll look at these in more detail next, but for now just note that the UsageControlSM acts as a switch across the entire system, mediated by ControlSM (which may directly influence the fan and indirectly also the heater) according to the tank's WaterVolume level and the WaterTemperature.

Using explicitly named ValueTypes to type value properties and for ItemFlows on Connectors can be extremely useful for figuring out exactly what is going on.

It's not 100% clear whether there is a physical vapor generation plant and physical heater separate from a physical water tank (such as for a large commercial humidifier), or whether the heater simply acts directly on the water tank (such as for a small domestic humidifier). It is assumed here that they are indeed physically separate.

See that Connector from oVapor Port on the vGP:VaporGenerationPlant to the iConsumption Port on the wt:WaterTank? It's not carrying physical vapor back into a water tank! It's just conveying information about the quantity VaporRate_mL_per_h (as was generated by the vapor generation plant).

We're going to start our journey through the Humidifer at WaterTank, because it helps us anchor the Units.

Up next
Snippets (quotes/extracts)
Visit also
Visit also (backlinks)
Related slides (includes other tutorials)
Related slides (backlinks, includes other tutorials)