Basic
25 min

Fermentation Temperature Control

temperaturepidfermentationanalogprocess-control

Ready to build this?

Sign up free — no credit card required. This scenario requires the Basic plan.

Sign up to play this scenario →

Already have an account? Log in

Fermentation Temperature Control scenario preview

Briefing

Controls the temperature of a fermentation vessel using a cooling jacket valve and an agitator. The valve actuator takes its 0–100% command directly from JACKET_PID.CV: a P-only controller opens it in proportion to (VESSEL_TEMP − SETPOINT) and parks it closed when the run permissive drops. The vessel model supplies TEMP_ALARM with ±2°C trip and ±1°C reset hysteresis; your program must use that signal as a run permissive.

Objectives

  • JACKET_PID.CV (shown as JACKET_VALVE_CMD, 0–100%) opens proportionally to (VESSEL_TEMP − SETPOINT)
  • AGITATOR runs whenever FERMENTATION_ACTIVE_LAMP is on
  • FERMENTATION_ACTIVE_LAMP is on only while running, cooling is available and TEMP_ALARM is clear
  • TEMP_ALARM removes the run permission and parks the jacket valve closed

Hints

  • Declare JACKET_PID : PID; the valve actuator and grader read JACKET_PID.CV directly
  • For cooling action use SP := VESSEL_TEMP, PV := SETPOINT, Kp := 25.0, MIN := 0.0, MAX := 100.0
  • ENABLE := RUN_BIT AND COOLING_OK parks the valve at 0 whenever cooling is unavailable or the process is stopped
  • Put /TEMP_ALARM and COOLING_OK in the RUN_BIT seal-in path so either condition removes the run permission

I/O Table

Inputs

VESSEL_TEMP

Vessel temperature in °C

REAL · %IW0

SETPOINT

Temperature setpoint in °C (default 22)

REAL · %IW2

START_PB

Start fermentation push-button

BOOL · %I0.0

STOP_PB

Stop push-button

BOOL · %I0.1

COOLING_OK

Cooling system OK status

BOOL · %I0.2

TEMP_ALARM

Vessel-model temperature deviation alarm

BOOL · %I0.3

Outputs

JACKET_VALVE_CMD

Cooling jacket valve position (0-100%)

REAL · %QW0

AGITATOR

Agitator motor run

BOOL · %Q0.0

FERMENTATION_ACTIVE_LAMP

Fermentation active indicator

BOOL · %Q0.1

Your program will be tested against:

All test cases run automatically when you submit. Assertions are hidden until you pass.

  1. #1AGITATOR and FERMENTATION_ACTIVE_LAMP on when running

    Starting fermentation turns on both the agitator and the active lamp

  2. #2JACKET_VALVE_CMD > 0 when vessel is above setpoint

    Physics starts vessel warm; valve should open proportionally

  3. #3TEMP_ALARM stops the process and closes the valve

    A setpoint deviation beyond the vessel alarm band removes the run permissive

  4. #4STOP_PB de-activates fermentation

    Pressing stop turns off agitator and active lamp

Ready to build this?

Sign up free — no credit card required. This scenario requires the Basic plan.

Sign up to play this scenario →

Already have an account? Log in

Runnable simulator field guide

Fermentation-temperature PLC scenario: test checklist

Direct answer

The learner can keep heating and cooling mutually exclusive, use stable control bands, detect failed response and retain temperature evidence across a batch.

Written for process-control learners sequencing a slow thermal vessel with sensor quality, setpoint bands, heating, cooling and abnormal response.

a water-based process instrumentation skid with pressure, temperature, vessel, valve and analog-loop evidence while studying fermentation temperature control, heating and cooling interlocks, alarms and batch evidence
System map / 02

NODE 01observable

Scenario setup

Batch phase, temperature sensor and quality, setpoint, heating and cooling bands, minimum timing, actuator proof, high and low alarms and record interval.

NODE 02observable

I/O and state map

Vessel temperature through sensor, scaling, controller state, heat or cooling command, utility response, process trend, alarm and batch record.

NODE 03observable

Normal run

Temperature remains within the declared band without conflicting outputs while commands produce the expected directional response.

NODE 04observable

Boundary run

Bad sensor, high ambient load, slow cooling, stuck heater, both requests, setpoint change, power return, manual mode and incomplete batch record.

NODE 05observable

Injected fault

A process, sensor, scaling, control-state, command, utility, actuator, alarm or record mismatch.

NODE 06observable

Target check

The control strategy validated against current process, quality, equipment, hygienic and safety requirements.

Answer surface / 07

How should heating and cooling be interlocked?

Use exclusive state ownership plus suitable deadband and minimum timing, then test simultaneous demand, mode changes and failed feedback explicitly.

What evidence should a fermentation temperature record retain?

Record batch identity, timestamped temperature and quality, setpoint, control mode, heat and cooling commands, alarms, interventions and exceptions.