Signal Router¶
The Signal Router allows passing data between independent engine contexts, enabling multi-PLC communication on a single server.
How It Works¶
The router runs server-side with direct access to each context's memory, eliminating network round-trips.
EngineContext A EngineContext B
+--------------+ +--------------+
| B:0/0 = true |---[route]-->| B:0/3 = true |
| N:10 = 42 |---[route]-->| N:20 = 42 |
+--------------+ +--------------+
Configuration¶
- Open the Signal Router panel (View > Signal Router)
- Add a new route:
- Source context and source address (e.g., PLC1 →
B:0/0) - Destination context and destination address (e.g., PLC2 →
B:0/0) - Data type: Bit or Word
- Interval (ms): Update frequency (10–5000ms)
- Source context and source address (e.g., PLC1 →
- Enable the route
Example: Pulse Counter¶
PLC1 generates a 1-second pulse. PLC2 counts those pulses.
PLC1 (Pulse Generator):
Route: PLC1 B:0/0 → PLC2 B:0/0
PLC2 (Counter):
Note
Signal routes are persisted in .mplcproj files and automatically restored on load.