Example process code
//
// Prepare the tube furnace for opening by warming it and starting
// an out-streaming flow of helium gas.
//
void prepareForOpening()
{
ProcessStep.Start("Prepare tube furnace for opening");
TubeFurnace.TurnOn(180);
waitForTemperatureAbove(170);
// Fill the tube to slightly above atmospheric pressure
pressurizeHe(p_Ambient + 20);
// Start the flow manager
purgeFlowManager.Start();
// Send a text message to the operator
Alert("Operator Needed", "Tube furnace ready to be opened");
ProcessStep.CurrentStep.Description = "Tube furnace ready to be opened";
MessageBox.Show("Purge flow is active\r\n",
"Dismiss this window when furnace is closed again", MessageBoxButtons.OK);
// Stop the purge flow
purgeFlowManager.Stop();
ProcessStep.End();
}
void waitForTemperatureAbove(int temperature)
{
ProcessStep.Start($"Wait for tube temperature > {temperature} °C");
while (TubeFurnace.Temperature < temperature)
Wait();
ProcessStep.End();
}
void pressurizeHe(double pressure)
{
ProcessStep.Start($"Pressurize tube to {pressure:0} Torr with {HeGasSupply.GasName}");
HeGasSupply.Admit(pressure);
ProcessStep.End();
}