Skip to content

Breaker (3-phase)

Three-phase circuit breaker — three independent poles (one per phase) sharing a single open/close command. Each pole acts as a small R_on resistance when closed and a very large R_off resistance when open. The command comes from a wired control input, a named signal (0 = open, > 0 = close), or a built-in time schedule that toggles all three poles open↔closed at each time in a list (starting from a chosen initial state — no wiring needed). When commanded to open, each pole independently holds closed until its own through-current can be interrupted — its magnitude falls to the Interrupt-current threshold, or its phase current crosses zero — so the three poles generally clear at slightly different instants (realistic AC behaviour); this per-pole clearing applies to a time-triggered open as well. Set the threshold large to open instantly under load, 0 to wait for a natural AC zero. A separate Load-flow state switch decides whether the power-flow (load-flow) analysis treats the breaker as a closed low-impedance branch between its two buses or leaves it out (open); it is independent of the time-domain command and t = 0 state. Optional per-phase current and open/closed-state observables. No arc model.

Category: Three-Phase / Switching

Ports

NameDirectionValue typeNotes
leftelectrical_3phdouble
rightelectrical_3phdouble
ctrlinputdoubleVisible when trigger_source == 0

Parameters

Config

NameLabelTypeDefaultUnitsDescription
resistance_onR_ondouble0.001Ohms (Ω, , )Closed-state per-pole resistance. Pick a unit from the dropdown.
resistance_offR_offdouble1000000000Ohms (Ω, , )Open-state per-pole resistance. Pick a unit from the dropdown.
trigger_sourceTrigger sourceenum (Control input / Named signal / Time triggered)0Where the shared 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 all three poles 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, applied to all three poles.
trigger_signal_nameTrigger signal namestring(empty)Name of the published signal that commands all three poles 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`. All three poles toggle 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 per-pole through-current the breaker can interrupt the instant it is commanded open. While opening, each pole stays closed until its |I| falls to this value OR its phase current crosses zero, then opens. Default is very large, so all poles open immediately under any load (an abrupt chop; the inductive L·di/dt shows up as a voltage spike). Set 0 to wait for each phase's 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) that pole stays closed.
loadflow_stateLoad-flow stateenum (Open / Closed)1Breaker state seen by the power-flow (load-flow) analysis ONLY — it does not affect the time-domain run, the EMT t = 0 state, or the open/close command above. `Closed`: the breaker appears in the load-flow case as a low-impedance branch (R = R_on, per pole) tying its two buses, so power flows through it. `Open`: the breaker is left out of the load-flow case, disconnecting the two sides. To take effect, wire `left` and `right` to two different buses — a closed breaker whose ports are not both on buses is reported as an unconnected branch and skipped.
measure_currentMeasure currentenum (Off / On)0Emit per-phase branch currents (A) flowing left → right as simulator observables.
measure_stateMeasure stateenum (Off / On)0Emit each pole's actual state as a simulator observable (1 = closed, 0 = open). Useful because the poles lag the command — and each other — while waiting to interrupt.

Signal Names

NameLabelTypeDefaultUnitsDescription
current_name_aPhase A current namestringIaSignal name for Phase A branch current. Blank skips this phase.
current_name_bPhase B current namestringIbSignal name for Phase B branch current. Blank skips this phase.
current_name_cPhase C current namestringIcSignal name for Phase C branch current. Blank skips this phase.
state_name_aPhase A state namestringBRKaSignal name for Phase A pole state (1 = closed, 0 = open). Blank skips this phase.
state_name_bPhase B state namestringBRKbSignal name for Phase B pole state (1 = closed, 0 = open). Blank skips this phase.
state_name_cPhase C state namestringBRKcSignal name for Phase C pole state (1 = closed, 0 = open). Blank skips this phase.

Observables

SignalTypeDefault nameEnableDescription
branchCurrent_asignalfrom current_name_ameasure_currentPhase A branch current, left → right (A).
branchCurrent_bsignalfrom current_name_bmeasure_currentPhase B branch current, left → right (A).
branchCurrent_csignalfrom current_name_cmeasure_currentPhase C branch current, left → right (A).
breakerState_asignalfrom state_name_ameasure_statePhase A pole state (1 = closed, 0 = open).
breakerState_bsignalfrom state_name_bmeasure_statePhase B pole state (1 = closed, 0 = open).
breakerState_csignalfrom state_name_cmeasure_statePhase C pole state (1 = closed, 0 = open).