stationeers.de Mod workshop · Dominik1199
DE Sign in
  1. Home
  2. IC10 academy
  3. Day 62

Day 62 of 365 · Beginner · Month 3: First systems

Project: tank filler

Project: a tank filler with hysteresis, sliding pump output, an emergency vent against overpressure, fill level in percent and a safe state when the analyzer fails.

Project 35 min Week 9

What you learn today

  • Fill a tank to a target pressure
  • Prevent overpressure
  • Show the fill level in percent

The oxygen from electrolysis should go into a storage tank. It should get full, not burst. And whoever walks past the display should see how full it is. This week you collected all the building blocks for it.

The devices

DeviceName
pipe analyzer on the tank“Tank”
volume pump“Fuellpumpe”
digital valve for venting“Notablass”
LED display“Tankstand”
flashing light“Tankwarnung”

The rules

  • Target: 8000 kPa. The pump starts below 7500 kPa and stops at 8000 kPa (hysteresis).
  • Output: sliding with lerp – empty tank 10 L/tick, just before the target 2 L/tick. Ratio = pressure / target.
  • Emergency pressure: above 9000 kPa the emergency vent opens, the pump stands still, the warning flashes.
  • Display: fill level pressure / target in Percent mode.
  • Analyzer failure: pump off, vent closed, warning on, display 0.

Building blocks

slt tmp press TARGET
and pumping pumping tmp
slt tmp press low            # low = TARGET - BAND
or pumping pumping tmp
sgt over press EMERGENCY
seqz tmp over
and pumping pumping tmp      # never pump on overpressure

The output comes from lerp MAXFLOW MINFLOW share. When the pump is not running you write Setting 0 – that way NaN never ends up in the pump:

select flow pumping flow 0

Milestones

  1. Empty tank: full output.
  2. Almost full: the pump slows down.
  3. Target reached: pump off, back on only below 7500 kPa.
  4. Fill level in percent.
  5. Overpressure: emergency vent open, pump off, warning.
  6. Analyzer fails: everything into the safe state.
Warning

select checks “not equal to 0” – and NaN is not equal to 0. If NaN is the condition, select takes the first value. So never test a reading directly, always use a clean 0/1 result from snan, slt or and.

Project task

Task

Build the tank filler from the lesson. Devices: pipe analyzer “Tank”, volume pump “Fuellpumpe”, digital valve “Notablass”, LED display “Tankstand”, flashing light “Tankwarnung”.

  • Pump on below 7500 kPa, off from 8000 kPa.
  • Setting = lerp from 10 to 2 with pressure / 8000; when the pump is not running, Setting 0.
  • Above 9000 kPa: Notablass On 1, pump off, warning.
  • “Tankstand”: pressure / 8000 in Percent mode.
  • Analyzer gone: pump off, vent closed, warning on, display 0.

Milestones

  1. Milestone 1: empty tank – full output
  2. Milestone 2: almost full – slower
  3. Milestone 3: target reached – hysteresis
  4. Milestone 4: fill level in percent
  5. Milestone 5: overpressure – emergency vent
  6. Milestone 6: analyzer fails

Hints

Hint 1

low once before the loop: sub low TARGET BAND.

Hint 2

Hysteresis as for heating, then seqz and and against overpressure.

Hint 3

Output: div share press TARGET, lerp flow MAXFLOW MINFLOW share, select flow pumping flow 0.

Quiz

2 questions. You pass from 60 % – the server does the grading.

Complete the day

  • Passed all milestones of the project
  • Passed the quiz with at least 60 %

Without an account progress is saved in this browser only.

Report a mistake in this lesson

Please sign in to report. Sign in

Esc
↑ ↓ selectEnter open/ opens search anywhere