Data

Measurement series, key figures and test scenarios

The data basis of the bachelor thesis: every measurement series in full, nothing trimmed and nothing smoothed. Each dataset comes with a column description, statistics, an interactive chart, the value table and a CSV download.

5measurement series
38,209measurement rows in total
5 of 5test scenarios passed
0.05 stime step per row (Δt)

The measurement series

Five runs of the heated-tank model, one dataset per scenario. Each row is one calculation step; the columns contain process variables and the four sensor bits B1 to B4.

Scenario 1 Scenario 1 — Filling Inflow via Y1 and Y2, expected rise 2.55 l/s. Measurement: 2.551 l/s, B1 reports at 136.5 s.
Rows
3,000
Time range
0.05–150.00 s
Columns
9
Chart and table → CSV ↓ Chapter 10
Scenario 2 Scenario 2 — Heating with PT1 behaviour Step to 150 kW heating power, time constant 12 s. Reaches 63.3 % at t = τ and 95.1 % at 3τ; mean deviation from the analytical solution 0.040 %.
Rows
6,000
Time range
0.05–300.00 s
Columns
9
Chart and table → CSV ↓ Chapter 10
Scenario 3 Scenario 3 — Pressure build-up and venting Continued heating up to boiling. B4 switches in the first step after 2.8 bar is exceeded (t = 1470 s); after 120 s of venting the pressure is back at 0.0 bar.
Rows
25,809
Time range
300.05–1,590.45 s
Columns
9
Chart and table → CSV ↓ Chapter 10
Scenario 4 Scenario 4 — Draining Outflow via Y3, calculated 96.1 s. Measurement: 95.4 s to 1 l, 96.2 s to empty, temperature drift 0 K.
Rows
2,200
Time range
0.05–110.00 s
Columns
9
Chart and table → CSV ↓ Chapter 10
Scenario 5 Scenario 5 — Edge case: empty tank Heating command on an empty tank: 1200 steps without runtime error, B1 = 0 and B2 = 1 throughout.
Rows
1,200
Time range
0.05–60.00 s
Columns
9
Chart and table → CSV ↓ Chapter 10

Key figures of the platform

Cycle time, signal paths, monitoring and components used in the test rig.

Key figures of the platform
MetricValue
Target cycle 20 Hz, fixed step size Δt = 50 ms (measured mean 17.9 Hz on the Windows development computer)
Integration explicit Euler method, x(k+1) = x(k) + f(x(k), u(k))·Δt
Signal path controller → model 12 channels
Signal path model → controller 10 channels
Monitoring heartbeat every 0.5 s, three-stage watchdog (2 s)
Controller Siemens LOGO! 12/24RCE + expansion DM16 24R
Level conversion, forward path PC817 optocoupler, 24 V → 5 V, galvanically isolated
Level conversion, return path relay boards 5 V → 24 V, potential-free contact
Signal bridge Arduino Mega 2560, serial protocol over USB, 115200 baud
Gateway FastAPI, port 8100: bridge serial ↔ HTTP
Orchestrator FastAPI, port 8050: simulation cycle and distribution of results
Model interface compute_step(inputs, dt) → plant, sensors, outputs_logical
Control panel 12 push buttons, 12 indicator lights, in parallel to the controller
Tank volume 0.5 m³ (500 l)
Heating power up to 150 kW, PT1 lag with τ = 12 s
Alarm thresholds sensor B3 from 95 °C, sensor B4 from 2.8 bar; safety valve at 3.5 bar

Source: Eigene Zusammenstellung aus der Bachelorarbeit (2026) · CSV ↓ · as its own page · Chapter 6 · Chapter 7 · Chapter 8 · Chapter 9

Five test scenarios — expectation versus measurement

All five scenarios ran directly against the model function (unchanged model code, without a connected controller). The raw data of each run is available as its own table.

5 of 5scenarios passed
38,209recorded measurement rows
Five test scenarios — expectation versus measurement
ScenarioExpectationMeasurementResult
1 Filling rise 2.55 l/s 2.551 l/s; B1 at 136.5 s passed
2 Heating heating rate 0.0814 K/s; PT1 63.2 % at τ, 95.0 % at 3τ 63.3 % at τ, 95.1 % at 3τ; mean deviation 0.040 % of maximum power passed
3 Pressure build-up B4 when 2.8 bar is exceeded B4 in the first step thereafter (t = 1470.45 s); 0.0 bar after 120 s of venting passed
4 Draining hand calculation 96.1 s 95.4 s to 1 l, 96.2 s to empty; temperature drift 0 K passed
5 Edge case: empty tank no runtime error, no exception 1200 steps without runtime error; B1 = 0, B2 = 1 passed

Source: Versuchsprotokolle der Bachelorarbeit (2026) · CSV ↓ · as its own page · Chapter 10 · Chapter 11

The statement concerns the internal consistency of the model: the expected values come from hand calculation and the analytical solution with the parameters of the model. A comparison with a real tank is missing. Chapter 10 — Five test scenarios

How were the data produced?

The measurement series are recordings of the model function of the heated-tank model. The procedure as described in chapter 10: Chapter 10

  1. A test script calls the calculation compute_step with Δt = 0.05 s. Nothing was adjusted or improved in the model.
  2. In every step the script records the process variables (level, temperature, pressure, heating power) and the sensor bits B1 to B4. Each step yields one row.
  3. This is possible without a connected controller because the model is meant to be testable independently of hardware and user interface (NFA-03). The communication path is therefore not the subject of the scenarios. (Chapter 4)
  4. Each measurement is set against an expectation, mostly from a hand calculation or an analytical solution; the result “passed” or not follows from that (table above).

Limits of what the data show

Please note
  • Without measurement data from a real tank, validation is limited to internal consistency: what is verified is that the model calculates what the equations demand, not that the equations describe a specific real tank. (Chapter 11)
  • Each scenario covers only a single run with fixed boundary conditions; a passed run does not show that every conceivable scenario works. (Chapter 10)
  • The published series contain only model quantities and sensor bits; the fidelity of the visualisation cannot be checked with them.

File format and citation

The CSV files use a semicolon as separator and a comma as decimal mark (UTF-8 with BOM so that Excel recognises the umlauts). The values are unchanged; only the comment lines at the start of the file are omitted in the download.

Data source: Own measurement series by Arthur Hardy Kotsch, recorded on the model function compute_step according to the test log of the bachelor thesis (2026); see Chapter 10 — Five test scenarios. Suggested citations: Cite.