Skip to content

Breaker

Single-phase circuit breaker. Acts as a small R_on resistance when closed and a very large R_off resistance when open. The open/close command comes from a wired control input, a named signal (0 = open, > 0 = close), or a built-in time schedule that toggles the breaker open↔closed at each time in a list (starting from a chosen initial state — no wiring needed). When commanded to open, the breaker holds closed until the through-current can be interrupted — its magnitude falls to the Interrupt-current threshold, or the current crosses zero — modelling current-zero clearing (set the threshold large to open instantly under load, 0 to wait for a natural AC zero); this clearing logic applies to a time-triggered open as well. Optional per-branch current and open/closed-state observables. No arc model.

Category: Single-Phase / Switching

Ports

NameDirectionValue typeNotes
N1electricaldouble
N2electricaldouble
ctrlinputdoubleVisible when trigger_source == 0

Parameters

Config

NameLabelTypeDefaultUnitsDescription
resistance_onR_ondouble0.001Ohms (Ω, , )Closed-state resistance. Pick a unit from the dropdown.
resistance_offR_offdouble1000000000Ohms (Ω, , )Open-state resistance. Pick a unit from the dropdown.
trigger_sourceTrigger sourceenum (Control input / Named signal / Time triggered)0Where the open/close command comes from. `Control input`: a wired `ctrl` port (hidden for the other sources). `Named signal`: a portless signal resolved by name (GoTo / labelled wire / another component's observable), read 1-step delayed. `Time triggered`: a built-in schedule toggles the breaker open↔closed at each time on the Trigger time(s) list, starting from the Initial state (no wiring needed). For Control input / Named signal, 0 = open, any value > 0 = close.
trigger_signal_nameTrigger signal namestring(empty)Name of the published signal that commands the breaker when Trigger source is `Named signal` (0 = open, > 0 = close). Resolved through the shared name registry and read 1-step delayed. Blank reads 0 (breaker stays open).
trigger_timesTrigger time(s)string(empty)Comma-separated trigger times in seconds, e.g. `2` or `2,4,6`. The breaker toggles state (open↔closed) at each time, starting from the Initial state. Blank = never toggles (stays at the Initial state for the whole run). A time-triggered open still respects the Interrupt current threshold below (instant by default).
initial_stateInitial stateenum (Open / Closed)1Breaker state at t = 0 (the state before the first trigger time), and the symbol drawn on the canvas (Closed = arm bridges the contacts; Open = arm lifted). Time-triggered mode only.
interrupt_currentInterrupt currentdouble1000000000A (A, kA)Largest through-current the breaker can interrupt the instant it is commanded open. While opening, the breaker stays closed until |I| falls to this value OR the current crosses zero, then opens. Default is very large, so it opens immediately under any load (an abrupt chop; the inductive L·di/dt shows up as a voltage spike). Set 0 to wait for a natural current zero (ideal AC interruption); a small value models a vacuum breaker's chopping current. Note: with 0 on a DC current (no zero crossing) the breaker stays closed.
measure_currentMeasure currentenum (Off / On)0Emit the branch current (A) flowing N1 → N2 as a simulator observable.
measure_stateMeasure stateenum (Off / On)0Emit the breaker's actual pole state as a simulator observable (1 = closed, 0 = open). Useful because the state lags the command while the breaker waits to interrupt.

Signal Names

NameLabelTypeDefaultUnitsDescription
current_nameCurrent namestringISignal name for the measured branch current. Change the default `I` when you have multiple measured components — duplicate ids collide.
state_nameState namestringBRKSignal name for the breaker state (1 = closed, 0 = open). Change the default `BRK` when you have multiple measured breakers.

Observables

SignalTypeDefault nameEnableDescription
branchCurrentsignalfrom current_namemeasure_currentBranch current through the breaker, N1 → N2 (A).
breakerStatesignalfrom state_namemeasure_stateBreaker pole state (1 = closed, 0 = open).