The engineer sees a Boolean PLC signal that will not compile against a register-oriented Universal Modbus output module, while the target lamp is assigned to PSB260. Follow the packet: the PLC is the Modbus master that issues the write, the panel is the slave that receives it, and the selected function must address the same panel memory area as the lamp.
Which data path controls the lamp?
The request begins in the PLC application. A Universal Modbus output submodule converts mapped PLC data into a Modbus write request. That request crosses the configured physical link, reaches the panel's Modbus slave, and updates either a bit area or a word area. The lamp then reads the addressed panel variable.
| Path element | Role | Required match |
|---|---|---|
| PLC logic | Produces the lamp state | Boolean or packed bit data must match the output module type |
| Universal Modbus device | Builds the write request | Function code and quantity must match the target area |
| Communication link | Carries the request and response | Physical settings and slave selection must agree at both ends |
If the PLC reports successful communication but the lamp does not change, trace the request through these four points. A valid response proves that a slave accepted a request; it does not prove that the request targeted the lamp's memory area.
Should the PLC write PSB or PSW?
Two supported approaches can drive panel indication. Write the PSB bit area with a coil command, or write a PSW word and bind the lamp to one bit of that word. The areas do not overlap. Writing PSW260 does not update PSB260.
| Approach | PLC module | Modbus command | Panel lamp address | Data organization |
|---|---|---|---|---|
| Direct bit-area write | 8-bit output | , Force Multiple Coils |
PSB260 through PSB267
|
Eight Boolean states packed into one output group |
| Single bit-area write | A module that supports one coil | , Force Single Coil | One PSB address |
One request per lamp change |
| Register write | Register output module | , Preset Multiple Registers | A bit such as PSW260.0 through PSW260.15
|
Boolean states packed into a word |
Use the direct bit-area approach when the existing HMI project already assigns lamps to PSB variables. In the cited configuration, the available coil-oriented choice is an 8-bit output using . Starting at address 260, it writes eight consecutive points: PSB260 to PSB267.
Why does the register module reject a Boolean?
A register output module expects a word-sized value because Modbus register functions transfer registers, not independent Boolean objects. Mapping a discrete PLC input directly onto that module creates a type mismatch during compilation. A successful compile after converting or packing the value only resolves the PLC data type; it does not redirect a register request into the panel's PSB area.
With a register output module and command , bind the HMI lamp to a bit inside PSW, for example PSW260.0. Pack each desired lamp state into the corresponding word bit before transmission. Select this method when the panel project can be changed and a word-based exchange is preferable.
Commands and are read operations and cannot transfer a PLC-produced lamp command into the panel. A real-number output module also does not solve a Boolean coil-addressing problem; its payload type and target representation differ from a single lamp state.
What must be checked at the physical layer first?
Layer one first. Before changing function codes, confirm that the PLC and panel can exchange any valid request. Read the active communication configuration rather than substituting assumed values.
| Check | PLC side | Panel side | Failure signature |
|---|---|---|---|
| Physical interface and wiring | Use the configured Modbus interface and correct conductor assignment | Use the matching slave interface | No response from the panel |
| Serial or network settings | Read the Universal Modbus device configuration | Read the panel communication configuration | Timeouts or rejected connections |
| Slave selection | Send to the panel's configured slave identifier | Operate under that identifier | Another device responds or no device responds |
| Address basis | Enter the start address expected by the module | Map the lamp to the resulting PSB or PSW point |
Valid response but wrong object changes |
Once basic communication works, move upward to the function code, start address, quantity, and PLC data mapping. Changing protocol-level parameters cannot repair an open circuit, reversed conductors, or mismatched link settings.
How do I configure the recommended PSB write?
- Keep the target lamp assigned to
PSB260. Assign up to seven additional lamps toPSB261throughPSB267if they belong in the same update group. - Add or select the Universal Modbus 8-bit output submodule.
- Set its write command to , Force Multiple Coils.
- Set the starting panel address to
260. The eight output positions then correspond consecutively toPSB260,PSB261,PSB262,PSB263,PSB264,PSB265,PSB266, andPSB267. - Map the first PLC Boolean to output bit 0, the second to bit 1, and continue through bit 7. Confirm the engineering tool's displayed bit order before commissioning.
- Compile the PLC project. The mapped object must now match the 8-bit output representation rather than a register word input.
- Download the PLC configuration and place the panel communication channel in its normal slave operating state.
The multiple-coil request updates the whole eight-bit group. Treat all eight outputs as owned by this transaction. If unused positions correspond to active panel objects, an update can overwrite their states.
How do I diagnose and verify the result?
- Force or stimulate only the PLC signal mapped to bit 0. Confirm that the outgoing group changes only in that bit position.
- Check the Modbus transaction status. A timeout points back to the interface, communication settings, or slave selection. A protocol exception points to an unsupported function, invalid address, or invalid quantity.
- Observe
PSB260in the panel diagnostics or variable monitor. If communication succeeds but a different bit changes, correct the start-address interpretation or bit order. - Toggle each remaining PLC input individually and verify the consecutive mapping through
PSB267. Record the observed PLC-bit-to-panel-address map. - Return every input to its normal state, run one final update, and verify that all eight panel bits and all eight lamp indications match the PLC output image.
FAQ
How do I write a lamp assigned to PSB260?
Use the 8-bit output module with command and starting address 260. Map the lamp's PLC Boolean to bit 0 of that output group.
Assign the lamps consecutively to PSB260 through PSB267. A multiple-coil write starting at 260 transfers the eight mapped PLC bits as one group.
How do I use a register output module for lamp bits?
Write a PSW register and bind each lamp to a bit such as PSW260.0 through PSW260.15. Pack the PLC Boolean states into the transmitted word.
Why does writing PSW260 not change PSB260?
PSW and PSB are separate panel areas. A register command targets PSW; use or when the target is PSB.
How do I verify the Modbus lamp mapping?
Toggle one PLC bit at a time, monitor PSB260 through PSB267, and confirm that only the corresponding lamp changes. Finish by restoring normal inputs, issuing one update, and comparing all eight panel bits with the PLC output image.