This page describes the data contract (UnitModelBaseDTO
) and callable actions for a single Rancor unit. Use it when wiring HMIs, etc.
Physical Model ──► Edge Instrumentation ──► Controllers ──► HMI
▲ │ │
└───┴──────────── Operator Commands ◄──────────┘
Suffix / Layer | Example | Writable? | Bind to HMI? |
---|---|---|---|
_Indicator | HotLegTemperatureIndicator |
No (simulation overwrites) | ✅ Gauge/label |
(none) – controller/command | RodCtrlTargetRX |
Yes via /setproperty |
Use sliders, buttons |
(none) – physical | PrimaryPressure |
No | ✅ Trend plot |
Key points
/setproperty
.SGALevelIndicator
and not SGALevel
./executemethod
)Call signature:
POST /api/units/{unitId}/executemethod?methodName={Name}
Subsystem | Method | Effect |
---|---|---|
Alarms | SilenceAlarms |
Acknowledge & mute alarms |
Primary | SetRodCtrlGo |
Resume automatic rod motion |
SetRodCtrlHold |
Hold rods | |
ActivateSafetyInjection |
Initiate safety‑injection | |
SetRodCtrlAuto |
Reactivity control → automatic | |
SetRodCtrlManual |
Reactivity control → manual | |
IncreaseTargetRX |
Raise reactor power target by 5 % | |
DecreaseTargetRX |
Lower reactor power target by 5 % | |
ToggleDiluteBoron |
Start/stop boron dilution | |
ToggleConcentrateBoron |
Start/stop boron concentration | |
ScramReactor |
Emergency reactor SCRAM | |
Steam Generators | SetSGACtrlAuto |
SG‑A level control → automatic |
SetSGBCtrlAuto |
SG‑B level control → automatic | |
SetSGACtrlManual |
SG‑A manual mode | |
SetSGBCtrlManual |
SG‑B manual mode | |
Turbine Control | ScramTurbine |
Trip turbine & isolate steam |
IncreaseLoad |
Raise generator load by 5 % | |
DecreaseLoad |
Reduce generator load by 5 % | |
LatchTurbine |
Close stop valves for synchronisation | |
SyncGenerator |
Synchronise generator to grid |
For additional guidance see the p3\db\procedures\op-001_startup_2col.yaml
procedure in the release.
Both JSON and MessagePack payloads follow the exact field order defined in UnitModelBaseDTO
. For binary clients:
var dto = MessagePackSerializer.Deserialize<UnitModelBaseDTO>(payload);