System Overview: ABB S800 I/O on a Siemens PROFIBUS Master
The ABB S800 I/O platform is widely deployed in process plants where ABB System 800xA, Advant Master, AC450, or Freelance DCS controllers pair with S800 modules. The CI830 (order code 3BSE013262R1) is the PROFIBUS DP-V1 communication interface that lets the same S800 family be reached from a third-party master such as the Siemens SIMATIC S7-300 CPU 315-2DP. From the Siemens perspective, the CI830 behaves as a standard DP-V0/V1 slave; from the ABB side it acts as a ModuleBus master to up to twelve S800 I/O modules (DI810, DO810, AI810, AO810, AI830, AO845, DX820, etc.).
When an S7-300 is the PROFIBUS master, every CI830 shows up in HWConfig as a DP slave with twelve empty slots that map one-to-one to the physical ModuleBus positions on the right-hand side of the CI830. Misalignment between the slot list inside HWConfig and the physical module arrangement is the single most common reason that "everything is configured but the Fault LEDs stay on," which is exactly the symptom observed when a CPU 315-2DP and a CI830 SW*1.3 were first wired together.
Prerequisites: Hardware, Firmware, and Software
| Component | Role | Order Code / Version |
|---|---|---|
| Siemens CPU 315-2DP | PROFIBUS DP master | 6ES7 315-2AG10-0AB0 (or 2AF03 / 2AH14 variants) |
| Siemens STEP 7 | Engineering tool | V5.5 + SP2 or later (HWConfig included) |
| SIMATIC Manager | Project tree / HWConfig host | Bundled with STEP 7 V5.x |
| ABB CI830 | PROFIBUS DP-V1 / ModuleBus gateway | 3BSE013262R1 |
| CI830 Firmware | On-board runtime | SW*1.3 or SW*1.4 (match the GSD!) |
| ABB DI810 | 16-channel digital input | 3BSE008508R1 |
| ABB DO810 | 16-channel digital output | 3BSE008510R1 |
| CI830 GSD file | Slave description for STEP 7 |
ABB_0F70.GSD (or ABB_0F70_1.3.GSD) |
| PROFIBUS cable | Segment wiring | Siemens 6XV1830-0EH10 or equivalent, terminated at both ends |
| Termination | Bus termination | Siemens 6ES7972-0DA00-0AA0 active terminator (recommended for new installations) |
GSD File Selection and Installation in SIMATIC Manager
The CI830 GSD identifies the device to STEP 7 with PROFIBUS Ident Number 0x0F70. ABB publishes firmware-keyed GSDs: a v1.3 GSD for legacy modules and a v1.4 GSD for current production. Both work, but the GSD must match the firmware burned into the CI830; a v1.4 GSD downloaded against a v1.3 module produces parameter negotiation failures that look identical to a wiring or slot-mismatch fault.
- Close every instance of SIMATIC Manager and HWConfig.
- Copy the GSD file (
ABB_0F70.GSD) and the associated bitmap (ABB_0F70.bmp) into<STEP7>\S7DATA\GSD. - Start SIMATIC Manager → Options → Install GSD File… → browse to the GSD.
- Wait for the catalog rebuild to finish; this may take 30-60 s on older workstations.
- Open HWConfig and confirm the new slave appears under PROFIBUS DP → Additional Field Devices → I/O → ABB.
\S7DATA\GSD, the most recently dated one wins silently. Move unused revisions into an archive folder (e.g. \S7DATA\GSD\archive) so that they are not re-picked by the catalog rebuild.For very old projects that still use the older catalog layout, the CI830 sometimes appears under PROFIBUS DP → Other Field Devices → ABB → S800 → CI830. The path is cosmetic; the slave Ident Number 0x0F70 is what the master uses during parameterization and is what matters at runtime.
HWConfig Network Topology and Slave Insertion
Open HWConfig for the S7-300 station, double-click the DP interface row of the CPU 315-2DP, and set the master address (default 2) and the operating mode DP Master. On the PROFIBUS line, drag the CI830 symbol from the catalog onto the bus and assign the slave address that matches the rotary DIP switches on the module (3 in the reference configuration).
Set the baud rate to a value supported by every segment. For a short panel cable, 1.5 Mbps is typical; for plant wiring that exceeds 100 m, drop to 500 kbps or 187.5 kbps. The CI830 auto-detects baud rate from the master's parameterization frames, so no baud switch is required on the module itself.
| Baud Rate | Max Segment Length (Type A cable) | Typical Use |
|---|---|---|
| 9.6 kbps | 1 200 m | Very long segments, legacy slaves |
| 187.5 kbps | 1 000 m | Long plant trunks |
| 500 kbps | 400 m | Mid-size panels |
| 1.5 Mbps | 200 m | Default for cabinet wiring |
| 3 Mbps | 100 m | High-density I/O drops |
| 6 Mbps | 100 m | Reserved; not all CI830 fw revisions support it |
| 12 Mbps | 100 m | Not supported by CI830 (DP-V1 spec upper bound) |
Critical Step: CI830 Slot Assignment and Parameter Positions
This is the step that the original integrator missed and the root cause of the persistent Fault LEDs. The CI830 exposes twelve slots in HWConfig (slots 1–12; slot 0 is occupied by the CI830 itself). Slots 1–12 represent the ModuleBus positions that physically sit on the right-hand side of the CI830 baseplate.
For each populated position you must:
- Insert the matching S800 module (DI810, DO810, AI810, AO810, …) into the correct HWConfig slot — slot 1 = leftmost physical position, slot 2 = next to it, and so on.
- Double-click the inserted module to open the Properties – DP Slave dialog.
- Switch to the Parameter Assignment tab.
- Set the ModuleBus Position (also called "Position" or "Slot Index") to the same number as the HWConfig slot. Modules shipped from ABB default to position 1.
- Save the slot and repeat for every physical module.
If two slots share the same position, the CI830 reports a configuration mismatch and every affected I/O module lights its Fault LED red. If a HWConfig slot is left empty while the physical position is populated, the CI830 raises the same diagnostic against the physical module. Either way, the user's observation that "both Fault lamps are ON while Power on the CI830 is green and both Tx and Rx are steady yellow" is the canonical signature of a configuration error during the parameterization phase, not a wiring error.
| HWConfig Slot | Module | Order Code | Physical Position on CI830 | Parameter Position |
|---|---|---|---|---|
| 0 | CI830 (DP slave) | 3BSE013262R1 | — | — |
| 1 | DI810 | 3BSE008508R1 | Leftmost slot | 1 |
| 2 | DO810 | 3BSE008510R1 | Second slot | 2 |
| 3–12 | Empty / future modules | — | Empty | Leave empty |
Note also that an empty HWConfig slot is not an error — the CI830 accepts gaps in the slot list, and so does the S7-300 master. What you cannot do is assign two modules to the same slot index, or place a module in a slot index that is empty on the baseplate.
PROFIBUS Address and Baud Rate Configuration
The CI830 station address is set with a rotary switch on the front of the module. Address 0 is reserved for master-class operation; addresses 1–125 are valid slave addresses per IEC 61158. Address 3 used in the reference configuration is legal, but it must not collide with the master address (2) or with any other slave on the segment. The DIL switch has 8 bits; the LSB is switch 1 and the MSB is switch 8. The resulting address is read at power-on; changing the address requires a power cycle of the CI830.
Use this binary-to-decimal mapping to set the switch:
Address = Σ (switch_i × 2^(i-1)) for i = 1..8
Example: switches 1+2 ON, others OFF → 1×1 + 1×2 = address 3
The baud rate is not switched on the CI830; the slave auto-detects the master's baud rate from the received parameterization telegram. Make sure the master's profile supports the rate you selected (e.g. "DP, 1.5 Mbps" in HWConfig → Properties → Network Settings).
LED Diagnostics: Decoding Tx/Rx/Fault Behavior
The CI830 has four front-panel LEDs that map cleanly to PROFIBUS DP state. The combination described by the integrator — Power ON, Tx and Rx steady yellow, Fault ON on the S800 modules — is a configuration error during Wait_Cfg, not a physical-layer fault.
| LED | Color | Off | Flashing | Steady |
|---|---|---|---|---|
| PWR | Green | No 24 V supply to CI830 | Self-test / bootloader active | Module healthy |
| Tx | Yellow | Slave silent (no token) | Token passing, normal traffic | Constant retransmit — usually Prm/Cfg reject |
| Rx | Yellow | No frames received | Receiving frames from master | Receiving noise or short frames — check termination |
| Fault | Red | No diagnostic error | Diagnostic pending (ext_diag) | Hardware fault, configuration mismatch, or missing module |
On the S800 I/O modules (DI810, DO810, …):
| LED | Meaning |
|---|---|
| Power (green, steady) | Module powered and internal OK |
| Fault (red, steady) | No ModuleBus communication OR configuration reject from CI830 |
| Fault (red, flashing) | Internal module fault (replace module) |
PROFIBUS Analyzer-Based Debugging
If the Fault LEDs persist after the slot/position alignment, capture the PROFIBUS frames during startup. Tools such as the Softing PROFIBUS Inspector, Indu-Sol PROFIBUS-INspektor NT, or Siemens BT200 tap the segment in parallel (in-line tap or at the diagnostic connector) and decode every master/slave telegram. This is the fastest way to discriminate between parameterization, configuration, and application-layer failures.
Frames to Capture
- Set_Slave_Address (SSA) — broadcast from the master in the parameterization phase; sometimes disabled depending on master profile.
-
Parameterization (Prm) — the master tells each slave its address, watchdog, and Ident Number. The slave replies with Prm_Res; a reject raises diagnostic byte
0x0A. -
Check_Cfg — the master tells each slave which slots are populated and with what I/O lengths. The slave replies with Check_Cfg_Res; a mismatch raises
0x0B"Configuration Error". -
Slave_Diag — slave-initiated diagnostics with the standard PROFIBUS DP diagnostic header (first byte
0x08= station_status_1). - Data_Exchange — cyclic I/O; absence of Data_Exchange frames after a successful Cfg handshake indicates that the CI830 is healthy but the I/O modules are not.
Diagnostic Byte Mapping
| station_status_1 Bit | Name | Meaning |
|---|---|---|
| 0x01 | Diag_Station_Non_Existent | Master cannot reach slave; address wrong or cable broken |
| 0x02 | Diag_Station_Not_Ready | Slave still in power-on / self-test |
| 0x04 | Diag_Cfg_Fault | Check_Cfg rejected; configuration mismatch (slot/position) |
| 0x08 | Diag_Extended_Not_Supported | Master asked for ext_diag but slave does not support it |
| 0x10 | Diag_Not_Supported | Function not supported by slave (e.g. SSA on CI830) |
| 0x20 | Diag_Invalid_Slave_Response | Slave reply timing violated — baud rate or segment issue |
| 0x40 | Diag_Prm_Fault | Prm rejected; Ident Number or parameter data wrong |
| 0x80 | Diag_Master_Lock | Slave is locked to another master (CiR / redundancy) |
A typical "Fault LED on every I/O module" capture looks like this:
- Master → Slave:
Prmwith Ident Number0x0F70, accepted. - Master → Slave:
Check_Cfglisting slot 0 = CI830, slot 1 = DI810 (4 bytes I), slot 2 = DO810 (2 bytes O), slots 3-12 empty. - Slave → Master:
Check_Cfg_Resnegative (configuration error). - Slave → Master:
Slave_Diagwithstation_status_1 = 0x04and extended diagnostic bytes identifying the offending slot. - Master retries every bus cycle; Tx and Rx on the CI830 stay lit because it is constantly retransmitting.
If the analyzer instead shows Prm_Res negative with 0x40, the Ident Number is wrong — you loaded the wrong GSD for the firmware. Reload the matching GSD and rebuild the catalog.
Compilation, Download, and Online Verification
- Save and compile HWConfig (Station → Save and Compile → All). The compile log must report
No errors; warnings about "consistent I/O lengths" can usually be ignored. - Download HWConfig to the CPU (PLC → Download). The CPU goes into STOP briefly and returns to RUN with the new PROFIBUS configuration.
- Go online (PLC → Connect to Target System → PROFIBUS). Right-click the CI830 row → Slave Diagnostics. The diagnostic buffer must show
Configuration OKand the I/O modules must reportNo fault. - In the S7 program, map the I/O areas. By default the CPU assigns:
- DI810 to inputs
IW 0..IW 1(16 bits packed in 2 bytes). - DO810 to outputs
QW 0..QW 1.
- DI810 to inputs
- Force a digital output on the DO810 (
SET QW 0or via VAT/PLC → Monitor/Modify) and read back the corresponding input on the DI810 to close the loop.
Troubleshooting Matrix
| Symptom | Probable Cause | Diagnostic Step | Fix |
|---|---|---|---|
| CI830 PWR ON, Tx/Rx steady yellow, all S800 Fault ON | Slot/position mismatch in HWConfig | Open HWConfig → check slot index vs. parameter position on each module | Re-assign ModuleBus Position = HWConfig slot number for each module |
| CI830 PWR ON, Tx yellow flashing, Rx OFF, S800 Fault ON | Ident Number mismatch (wrong GSD) | Capture Prm_Res with PROFIBUS analyzer | Replace GSD with version that matches CI830 firmware (1.3 ↔ 1.3, 1.4 ↔ 1.4) |
| CI830 PWR ON, Tx/Rx OFF, S800 Fault ON | Wrong PROFIBUS address or no cable | Check rotary switch vs. HWConfig; check 24 V on bus connector | Set DIP to match HWConfig; verify termination at both ends |
| CI830 PWR flashing, S800 Fault OFF | CI830 in self-test or firmware update mode | Wait 30 s; if still flashing, check firmware label | Reflash via ABB FieldKit tool if firmware corrupt |
| CI830 PWR ON, no Fault, but S800 modules not updating | ModuleBus termination missing on rightmost module | Check MTU terminator on last S800 baseplate | Insert MTU termination plug on the last empty slot |
| Sporadic comm loss at high baud | Segment too long for selected rate, or EMI from VFD | Measure A-B signal with oscilloscope; check shield grounding | Lower baud rate to 500 kbps; reroute cable away from drives; use 6XV1830-0EH10 |
| CPU goes to STOP with SF LED on | DP master lost a slave (cable break or duplicate address) | CPU diagnostic buffer → "DP slave failure" | Check duplicate addresses; verify connectors; check shield continuity |
| DI810 Fault flashing red | Module internal fault (not configuration) | Swap module to a known good slot | Replace module; verify input voltage on field side |
Field-Proven Caveats and Version Compatibility
- GSD vs. firmware. v1.3 and v1.4 GSDs are not interchangeable. A v1.4 GSD loaded against a v1.3 module will pass Check_Cfg but fail during the user-parameter handshake; the symptom is identical to a slot-mismatch fault.
- Empty slots are allowed. Leaving HWConfig slots 3–12 empty does not produce a Fault LED, as long as the physical positions 3–12 are also empty. If you populate a physical slot without a matching HWConfig entry, the CI830 reports a configuration error against the slot itself.
- ModuleBus termination. The last S800 module on the baseplate must have a termination plug (TU811 or TU813) inserted in the unused end connector. Without it, modules at the far end of the chain report intermittent faults that look like configuration errors but happen only at certain baud rates.
- Hot-swapping. The CI830 supports hot-removal of I/O modules only if the slot is empty in HWConfig. Removing a module whose slot is configured causes the CI830 to raise an ext_diag "module missing" and any process image mapping to that module will freeze at the last value.
- CPU 315-2DP variants. The CPU 315-2DP comes in several MLFB variants; all of them support the CI830, but only the -2AG10 and later revisions support DP-V1 class 2 read/write services. If you only need DP-V0 cyclic I/O, any 315-2DP works.
- STEP 7 version. STEP 7 V5.5 SP2 or later is recommended. STEP 7 V5.4 will load the CI830 GSD but may not display the ModuleBus Position parameter correctly in HWConfig; you would have to drop into the object properties (DP slave → Object Properties → Parameter Assignment) to set it manually.
- Cross-vendor best practice. When integrating ABB S800 with Siemens masters, always define the slot list in a separate project first, export it as a "type file", and import it into each station. This avoids drift between the HWConfig slot index and the CI830 ModuleBus Position across multiple stations.
- SF LED on the CPU. If the CPU 315-2DP shows a steady SF (red) after the download, the CPU has detected a DP slave failure. Open PLC → Diagnostics/Setting → Hardware Diagnostics to see which slave is missing; do not clear the diagnostic buffer until you have written down the slave address and the event ID.
- PROFIBUS vs. PROFINET. The CI830 is PROFIBUS DP only. If the S7-300 is a CPU 315-2PN/DP, you still need to wire the CI830 to the DP port, not the PN port. The PN port will not enumerate the CI830 even if the GSD is installed in the catalog.
FAQ
Why do all my ABB S800 modules show Fault LED while the CI830 itself shows Power ON and Tx/Rx steady yellow?
This is the canonical signature of a configuration mismatch in HWConfig. The CI830 is receiving parameterization frames and trying to respond, but its Check_Cfg response is rejected because the HWConfig slot list does not match the physical ModuleBus arrangement. Open HWConfig, expand the CI830 slave, and verify that every physical I/O module occupies the same HWConfig slot number as the "ModuleBus Position" set under Properties → Parameter Assignment.
Can I use a CI830 firmware SW*1.4 GSD with a CI830 SW*1.3 module?
No. The Ident Number is the same (0x0F70), but the user-parameter handshake is different between firmware lines. A 1.4 GSD loaded against a 1.3 module produces a Prm_Res reject with diagnostic byte 0x40, and the CI830 raises a configuration fault on every downstream I/O module. Always match the GSD to the firmware label printed on the front of the module.
What is the maximum number of S800 I/O modules I can put on a single CI830?
Twelve. The CI830 exposes slots 1–12 in HWConfig and twelve physical ModuleBus positions on its right-hand side. You can populate any subset of those positions; empty positions are allowed. The total cyclic I/O payload is limited by PROFIBUS DP (244 bytes input + 244 bytes output per slave), which is well above what twelve S800 modules typically produce.
Do I need to terminate the last S800 module on the baseplate?
Yes. The right-most S800 module must have a TU811 or TU813 termination plug in the unused end connector. Without it, modules at the far end of the chain show intermittent Fault LEDs that change with baud rate and ambient temperature, and the CI830 reports a "module missing" diagnostic that does not correlate with any slot in HWConfig.
Will this work on a Siemens CPU 315-2PN/DP?
Yes, but the CI830 must be wired to the DP port, not the PN port. The PROFINET interface on the 315-2PN/DP will not enumerate the CI830 even though the GSD is installed in the STEP 7 catalog, because the CI830 is a PROFIBUS DP-V1 slave and does not speak PROFINET. Use the integrated DP port for the CI830 segment and reserve the PN port for PROFINET-only devices such as ET200SP or SINAMICS drives.