Skip to content

Signal Binding

A model has its own signals, and a machine has PLC signals. Binding connects the two. For example, assigning a PLC tag to a conveyor’s Forward slot lets the real controller move the model.

A slot is a fixed connection point declared by a component, such as Forward, TargetSpeed, SensorOccupied or CurrentPosition. The component declares each slot’s fixed direction and value type. You cannot change these from the interface:

  • Command slots receive values from the PLC. They are what an interface writes.
  • Feedback slots publish values from the simulation back to the interface.
From PLC tag to component slot A PLC tag is read by an interface signal in CONNECT, which carries the address. You can match the interface signal to a model signal of the same name and bind that model signal to a component slot, for example the Forward command of a drive. Or you can bind the CONNECT live interface signal directly to the slot. PLC tag DB10.DBX0.0 in the controller Interface signal ConveyorStart name + address in CONNECT Model signal ConveyorStart PLC Output, bool in the model Component slot Drive · Forward command slot moves the model protocol same name binding or bind directly (CONNECT live)
You can bind through a same-name model signal or bind a CONNECT live signal directly to the component slot.

There is no separate binding panel. Each declared slot has a row in two places, both showing the same slots and states:

  • In the Property Inspector, inline in the section of the component that owns the slot.
  • In the popover that opens from a component’s signal badge in the 3D scene.

A row reads left to right: the slot name, its current assignment, the link button, and the linked signal. An unbound row simply says not linked.

The Inspector rows are always available. Clicking a badge in the 3D scene opens the popover only when Signal linking is on. This tool-strip toggle is available in the HMI, Planner, DES and Editor workspaces. Its setting is remembered across reloads.

The badge popover of a conveyor drive with signal linking on: the node path in the title bar, the PLC OUTPUTS rows Speed, Acceleration, Forward and Backward and the PLC INPUTS rows IsAtPosition, IsAtSpeed and IsDriving — all of them not linked except Forward, which carries the green chip of the signal ExitConveyorStart

  1. Switch Signal linking on if you want to work from the 3D scene.
  2. Select the component. Its slot rows appear in the Property Inspector; the badge popover shows the same rows.
  3. Find the command or feedback slot you want to drive.
  4. Either use the link button and pick a signal from the search overlay, or hold Shift and drag a signal chip onto the row.
  5. Read the status of the row. No status token, or live, means the source is connected; pending means the saved signal is not available right now.

To replace a binding, drop another compatible signal on the same row. To remove one, use the unlink button on the row. Unbind all in the component’s section removes every link of that component; it asks once and executes on the second click.

The picker offers two groups. CONNECT (live) contains signals from connected interfaces; Model signals contains signals stored in the model. Auto-assign proposes only confident matches and leaves slots it cannot connect unchanged.

Signal chips are dragged with Shift held down. A short Shift-click without moving is not a drag and changes nothing.

While a drag is running, only the drop targets that would actually accept the signal are highlighted, and the pointer is pulled to the nearest one. Hovering a component in the 3D scene opens its popover automatically after a moment, so the drop can land directly on a slot row. Escape cancels a drag without dropping.

A drop is refused for one of four reasons, and the row states which:

ReasonMeaning
UnavailableThe component declares the slot but provides no runtime contract for it. The row is dimmed and gives the reason
No providerA live signal without a provider identity
TypeBool goes to bool, int to int, float to float. A float slot also accepts an int signal because real controllers address setpoints as integers. An int slot refuses a float signal
DirectionA PLC output binds only to a command slot, a PLC input only to a feedback slot

The same rule decides the drag highlight, the drop, and a click in the picker, so what the picker offers is exactly what a drag would accept.

Section titled “The first link changes who drives the model”

Claiming a slot puts that part of the model under live control and stops its internal behaviour for that slot. In a demo model that is immediately visible: the built-in motion sequence and recorded playback stop as soon as one of their drives is live-controlled. The viewer says so once, the first time you bind something.

Binding gives the controller control of the slot. Restoring saved bindings when a model loads does not show the notice again.

Force holds a signal at a fixed value regardless of what is written to it. Use it to test a reaction without a running controller. It applies to real signals stored in the model; a slot without a model signal cannot be forced. To force such a value, first add and wire a model signal, then force it.

Forced signals are marked as forced wherever they are shown, and releasing the force returns the signal to normal operation.

A binding is stored with the component, the slot, the signal name, the interface and the direction. Runtime values, connection state and forced values are temporary states and are not saved in the binding.

Linking a slot does not modify the model’s own signals: an empty slot stays empty, and binding a model signal adds a relay rather than rewriting what the document declares.

SymptomWhat it means
Pending — waiting for CONNECTThe saved interface or signal is not available. Start or reconnect the interface and check that it still exposes that signal
ConflictTwo providers offer the same signal, or two feedback slots publish to the same one. Choose an unambiguous provider or a different target
UnavailableThe component does not implement the command or feedback this slot would need. The row names the missing capability
A signal cannot be droppedThe row tooltip quotes the exact reason — type, direction, missing provider or an unavailable slot
Clicking a part in 3D does nothingSignal linking is switched off. Turn it on in the tool strip
A slot cannot be forcedExpected — the slot has no model signal behind it
A command stops after a disconnectThe component neutralises a lost command after a short hold. Reconnect the provider or remove the stale binding. Feedback bindings are never neutralised

The bindings overview panel lists every model link in one table. You can jump to any link in the 3D scene and unlink it with one click. Use it to check a large set of bindings or repair a link whose component has moved.