When you wire a trigger, a part-present sensor or a strobe-ready handshake into a GigE vision system, the number you type into software is rarely the number silk-screened next to the terminal. The vision software keeps one flat, numbered table of every digital line — its virtual I/O — and the lines on an expansion board land in that table at a fixed offset. On the platform this scheme comes from, the first expansion input is virtual 161, and every other address follows from two additions. This explainer gives the mapping for both board sizes, the arithmetic behind it, a worked example that finds one specific output, and the checks that keep the table trustworthy after hardware changes. If you commission cells, land I/O, or chase triggers that fire on the wrong bit, this saves the next hour of bit-hunting.
The mapping, stated plainly
Expansion inputs are numbered from virtual 161 upward, and the outputs begin immediately after the last input. That is the entire scheme; the rest is arithmetic you can do at the cabinet with a marker pen.
| Board fitted | Virtual inputs | Virtual outputs | Virtual lines used |
|---|---|---|---|
| 16 in / 16 out | 161 – 176 | 177 – 192 | 32 |
| 32 in / 32 out | 161 – 192 | 193 – 224 | 64 |
Two details do the work. The offset is 160: a physical input number plus 160 is its virtual number. And because the output block starts only after the input block finishes, an output's address also carries the board's input count, which is why outputs move whenever that count changes.
The pattern is an old one — a fixed base plus an index per signal, the same shape as a camera's Modbus register mapping. Learn the base once and every line resolves.
The rule as a formula
n is the physical input number, m is the physical output number, and N_in is the number of input lines the fitted board provides — 16 or 32 in the two sizes here. The first output sits at 160 + N_in + 1, one address above the last input.
Run it against both boards:
- 16 in / 16 out: last input 160 + 16 = 176; first output 160 + 16 + 1 = 177; last output 160 + 16 + 16 = 192.
- 32 in / 32 out: last input 160 + 32 = 192; first output 160 + 32 + 1 = 193; last output 160 + 32 + 32 = 224.
Both results land exactly on the table above, which is the point: you never need the display's manual, only the input count.
Worked example: strobe-ready on output 5 of a 16-in/16-out board
The case: a part-present sensor lands on physical input 3, and the camera's strobe-ready handshake must appear on physical output 5. The inputs, each with its source:
- Board size: 16 inputs and 16 outputs — the fitted expansion hardware.
- Base: first expansion input is virtual 161 — the platform's documented mapping.
- Wiring: part-present on input 3, strobe-ready on output 5 — the cabinet drawing.
The rule in words: add 160 to an input number; add 160 plus the 16 inputs to an output number. The arithmetic:
- Part-present: 160 + 3 = 163, so the sensor appears at virtual 163.
- First output on this board: 160 + 16 + 1 = 177.
- Strobe-ready: 160 + 16 + 5 = 181, so the handshake appears at virtual 181.
Decision: gate the inspection on virtual 163 before arming, and treat virtual 181 as the strobe-ready bit in every recipe and PLC mapping. Confirmation threshold: with the sensor blocked, the bit at 163 must change state, and with the ready signal high, 181 must follow. If 181 sits still while the ready LED is lit, stop — the fitted board is not the 16-input type the drawing claims, and every output address is wrong by the difference.
Where the camera's own lines fit
There are two layers, and they answer to different names. At the bottom sits the camera's own I/O: its opto-isolated input, its output line, the selector that picks which line you are configuring, the mode that sets direction, and the source that chooses which internal signal drives an output — the standard GenICam-style controls you reach over a GigE Vision link. A camera with a spare output can even serve as digital outputs when connector space is short.
Above it sits the software's flat virtual table, which folds camera lines and expansion-board lines into one numbered list. The 161 start belongs to that upper table, not to any camera: the same board under a different package can start its numbering elsewhere. When a trigger will not fire at all, debug the lower layer first — a camera trigger ready timeout is usually a layer problem, not a numbering problem. If the camera itself is still open, choose it on bandwidth, cables and software support first; the I/O layer rides on that choice.
Wiring that keeps the table honest
Terminal blocks do not renumber anything, but the harness decides whether the numbers still mean something next year. Land the board's commons on one rail, keep trigger pairs twisted, and label each lead with the virtual number it earns.
On the camera side the harness is a cable, not a terminal strip, so pick from camera I/O cables that match the connector. The LS-CBL-0211 is a 5 m 12-pin I/O and power cable; the LS-CBL-0300 breaks an M8 8-pin connector out to open leads at 7 m in drag-chain-rated construction — ferrule those leads straight onto the board and label them with their virtual numbers.
- Type
- Power and I/O cables
- Length
- 6-8 m
On the power side, light controllers keep the lamp out of the numbering debate: the controller fires on the ready bit, the camera exposes on its own trigger, and the virtual table only has to be right about where the handshake lives. The LS-CTL-0070 is a 4 ch digital control box with RS232 control and a strobe feature, which covers exactly that split.
- Output
- Constant voltage 24 V
- Channels
- 4 channels
- Control
- Digital
- Feature
- Strobe
Routing one trigger to several cameras belongs on a fan-out board of its own — the pattern in GPIO routing for one input to six cameras — and if the strobe comes from robot I/O instead, use the robot I/O strobe trigger wiring. Two lights on one connector can alternate the strobe across two GPIO lines.
Any GigE area scan camera with an I/O connector plays the lower layer of this scheme.
- Sensor format
- 1/1.8"
- Lens mount
- C-mount
- Sensor format
- 1/1.7"
- Lens mount
- C-mount
When the usual answer is wrong
Three situations break the rule in practice.
A board swap. Replacing the 16-in/16-out board with the 32-in/32-out type grows the input block to 161 – 192, so the first output moves from 177 to 193: 160 + 32 + 1 = 193. Every output reference in the recipe and the PLC is now 16 addresses low. Inputs 161 – 176 still point at the same terminals, which is why half the cell keeps working while half stops — the signature of a board swap, not a wiring fault.
A one-based versus zero-based table. Some packages count the first line as 0. If a table you inherited starts at 160, everything on it is shifted one against the scheme here; re-take the base with the toggle test in the checklist before editing a single address.
Source routing inside the camera. Pointing an output's source at a different internal signal changes what the bit means, not where it lives. If virtual 181 is suddenly pulse-per-frame instead of strobe-ready, the mapping is intact and the camera's output configuration changed.
One case the two sizes do not cover: a second expansion board. Its block follows the first board's, so re-derive the output base from the total input count shown in the I/O display instead of extrapolating the formulas past what is fitted.
A short checklist before you trust a number
- Count the input terminals on the fitted board; that count is N_in and it sets every output address.
- Compute both ranges: inputs from 160 + 1 to 160 + N_in; outputs from 160 + N_in + 1 upward by the outputs fitted.
- Energize physical input 1 and confirm the bit at 161 changes; drive one output and confirm it lands on the computed base.
- Write the base, N_in and both ranges on the cabinet drawing, with the date.
- After any board change, run steps 1 – 4 again before touching the PLC program.
- Treat the mapping as configuration: it lives on the drawing, not in the hardware, and it follows whoever maintains the drawing.
Specifying the whole chain — camera, cable, controller — in one pass? The system configurator walks it step by step, and the contact page puts an applications engineer on any mapping that matches neither board size.
Otázky
Why do the virtual inputs start at 161 instead of 0 or 1?
Because the software numbers one flat table that already holds its own signals ahead of the expansion block, and the first expansion input lands at 161. That makes 160 the offset you add to any physical input number. The reason for the reserved range is internal to the package; the offset is the only fact the wiring needs, and it holds for both board sizes.
What happens to the output numbers if I change the expansion board?
Inputs keep their addresses; outputs move. Going from a 16-in/16-out board to a 32-in/32-out board grows the input block from 161–176 to 161–192, so the first output shifts from 177 to 193 and the last from 192 to 224. References to inputs 161–176 still point at the same terminals, but every output reference must be re-addressed in the same machine stop — recipe and PLC tag table together.
Does the camera itself use these virtual numbers?
No. The camera exposes its own lines through its GenICam-style I/O control — a selector, a direction mode, a source and a readable status. The virtual numbering lives one layer up, in the vision software's I/O display, which flattens camera lines and expansion-board lines into one table. Address the camera's features by their own names; use the virtual table only for signals the software routes.
How do I confirm the base number on a system I did not configure?
Toggle and watch. Energize physical input 1 from a bench supply and note which number in the I/O display changes — on the platform documented here it is 161. Then drive one output and confirm it lands one address above the last input. Two minutes of toggling maps the whole table, and it beats trusting a drawing that may describe a board no longer fitted.
Do the virtual numbers change when I swap the camera?
No. The table belongs to the vision software and the expansion hardware, not the camera model; the 161 base and both blocks survive a camera swap. What changes is the lower layer — connector, pinout and I/O cable — so re-check the harness against the new camera's drawing and leave the numbering alone.




