Skip to content

Signal routing & buses ​

Wires are the obvious way to carry a signal from one component to another, but a large circuit stays readable when some signals travel by name instead. This page covers named-signal routing with From and GoTo, the helpers that convert between kinds of signal, three-phase wiring, and the Bus tool.

From and GoTo ​

A GoTo block (palette: Control → Sinks) publishes whatever is wired into it under a name. A From block (Control → Sources) reads a name and outputs that signal, with no wire in between.

  1. Place a GoTo, wire the signal into it, and fill in its Signal name in the properties dialog.
  2. Place a From wherever you need the signal and pick the same name in its Signal name field. The picker suggests every named signal in the circuit.

Rules worth knowing:

  • Names live in one namespace for the whole circuit, shared with named wires and component measurements. A From can read any of them, not only GoTo blocks.
  • One GoTo can feed any number of From blocks. Two sources publishing the same name are an error.
  • A From whose name matches nothing, or matches more than one source, outputs zero. The log tells you which block it is.
  • A GoTo with nothing wired into it, or with no name, publishes nothing; the log flags it too.

Timing ​

Within one rate group a From sees the value its GoTo publishes in the same step, with no delay. Crossing into or out of a subsystem that runs at a different rate, or between the control and electrical sides of the circuit, adds a one-step delay.

When a From reads a signal from a faster rate group, its Rate handoff policy decides how the fast substeps are folded into one value: last (the default), average, sum, min or max.

Converting between signal types ​

Control ports carry either real numbers or whole numbers (integers), and a wire only connects ports of the same kind. Put an Int → Double or a Double → Int block in between when they differ.

Three-phase wiring ​

Three-phase components (the _3ph variants, three-phase sources, machines, transformers and lines) have three-phase ports. A wire between two of them carries all three phases at once and is drawn thicker than a single-phase wire.

You can't wire a three-phase port straight to a single-phase one. To go between the two:

  • Breakout (3φ → 3 wires) splits a three-phase wire into three single-phase wires, one per phase.
  • Combine (3 wires → 3φ) does the reverse.

Double-click a three-phase wire to name each phase (Phase A, B and C); see Observables.

Buses ​

A bus is a three-phase bus bar: a shared node that components tap into, and the place where load-flow results are reported. Place one from the Bus entry in the palette's Three-Phase category, the same way as any component (click the entry and then the canvas, or drag it). Then draw a wire from each component's three-phase port onto the bus.

Double-click a bus to open Bus Properties:

FieldWhat it sets
NameThe bus name shown on the canvas and in load-flow reports.
TypeSlack, PV or PQ, for the load flow. A case needs exactly one slack bus.
V_base (kV)The bus's base voltage (line-to-line).
V (pu) / Angle (deg)The voltage magnitude and angle the load flow holds (on a slack bus, or the magnitude on a PV bus) or starts from.
Voltage monitoringRecord the bus voltage per phase, as an RMS magnitude, or both; see Observables.

Right-click a bus for Copy, Cut, Paste here, Delete, Rotate, Mirror and Inspect Bus, which lists the components attached to it and, after a load flow, its solved values.

Ground ​

Every separate electrical circuit needs at least one Ground (or Ground (3-phase) for three-phase circuits); it sets the 0 V reference. A part of the circuit with no ground produces a "floating subnetwork" warning in the log.

See also ​

  • Observables — naming signals and choosing what gets recorded.
  • Subsystems — running part of a circuit at its own rate.
  • Load flow — solving a circuit built on buses.
  • Wire routing — drawing and editing wires.