Troubleshooting DP Slave Not Ready on Hilscher NT100-DP Profibus Gateways
Problem Overview
A DP slave "not ready" condition on a Profibus DP network prevents the slave from exchanging process data with the DP master. When this fault occurs with a Hilscher NT100-DP gateway acting as a Modbus RTU to Profibus DP slave, the master CPU reports the gateway as a non-participating node on the bus. The slave diagnostic indication "not ready for parameter assignment and data exchange" appears in the diagnostic buffer of the S7 master and in the DP slave diagnostics view of STEP 7 or TIA Portal.
The reported configuration in this case:
- Master CPU MLFB: 6ES7 314-6CG03-0AB0 (SIMATIC S7-314C-2 DP compact CPU)
- Slave: Hilscher NT100-DP gateway (Modbus RTU to Profibus DP)
- DP station address: 44
- Baud rate: 1.5 Mbps
- Application: Modbus RTU to Profibus DP conversion
- SCADA: SIMATIC WinCC on the S7-300 process image
The slave address of 44 is above the per-segment electrical limit of 32 nodes defined by RS-485 driver loading, the baud rate of 1.5 Mbps is within the Profibus DP specification but at the upper edge of practical reliability, and the combination demands a fault-tolerant topology with proper termination, shielding, and at least one Profibus repeater between master and slave.
DP Slave Diagnostic States Reference
The Profibus DP standard defines a finite state machine for each slave. STEP 7 surfaces these states in the DP slave diagnostics view. The relevant transitions and their meanings are summarized below.
| DP Slave State | Meaning | Operator Action |
|---|---|---|
| Power_ON | Slave has just been energized, awaiting parameterization | Wait; transition is automatic |
| Wait_Prm | Slave waits for parameterization telegram from master | Verify master is configured and bus is active |
| Wait_CFG | Slave waits for configuration telegram | Check configuration in master matches slave |
| Data_Exch | Slave exchanges cyclic I/O with master | Normal operation; no action |
| Not_Ready | Slave not yet ready for parameterization/data exchange | Investigate bus physical layer, power, addressing |
| Static_Diag | Slave reports static diagnostic, suspends data exchange | Read slave diagnostic bytes; correct cause |
| Watchdog | Slave detected master failure (no telegram within watchdog time) | Verify master activity; check baud rate match |
The "DP slave is not yet ready for parameter assignment and data exchange" indication corresponds to a slave that has just powered on or has been reset by the master. If the state persists beyond the standard initialization window of approximately 5-10 seconds, it indicates a bus communication fault rather than a transient startup condition.
Siemens documentation describes the state as follows: the slave is in startup and temporarily displays "not ready" before transitioning to parameterization. Persistent display of this state requires intervention on the physical layer, addressing, or GSD configuration. Reference: Siemens TIA Portal V21 - DP slave diagnostics (S7-300, S7-400).
Station Status Byte Decoding
When the slave is in Not_Ready, decode the Station Status 1 byte from the slave diagnostic frame to isolate the precise cause:
| SS1 Bit | Value = 1 Meaning |
|---|---|
| Bit 0 | Slave not ready; master must wait until slave is ready |
| Bit 1 | Slave not ready; parameterization required |
| Bit 2 | Slave not ready; configuration required |
| Bit 3 | Extended diagnostic pending (read diagnostic bytes) |
| Bit 4 | Watchdog expired (master telegram timeout) |
| Bit 5 | Slave requests re-parameterization |
| Bit 6 | Slave requests re-configuration |
| Bit 7 | Reserved by Profibus standard |
Station Status 2 indicates the master address and the slave's relationship to other masters. Station Status 3 contains the Ident number high/low, allowing the master to confirm the GSD assignment matches the physical slave.
Root Cause Analysis
A persistent DP slave "not ready" condition at address 44 with 1.5 Mbps baud rate typically traces to one of the following causes, listed in order of probability for this configuration:
- DP station address outside master segment electrical limit — The CPU 314C-2 DP does not enforce a hard limit of 32 slaves per logical DP master system; the Profibus standard allows addresses 0-125. However, address 44 exceeds the per-segment electrical limit of 32 nodes (address 0 is reserved for masters/service, address 1-31 for slaves in a single segment per RS-485 driver loading). The slave at address 44 requires a multi-segment topology with at least one repeater between the master segment and the gateway segment. A missing or misconfigured repeater will leave address 44 unreachable.
- Baud rate mismatch or signal integrity at 1.5 Mbps — 1.5 Mbps is within the Profibus DP specification (9.6 kbps to 12 Mbps) but is at the upper edge where cable quality, shielding, and termination become critical. A 1.5 Mbps segment cannot exceed 200 m of Type A cable without repeaters, and any sub-standard cable will cause intermittent loss of telegrams, which the slave interprets as a Not_Ready condition.
- Incorrect or missing GSD file — The Hilscher NT100-DP requires its manufacturer-supplied GSD file to be installed in the STEP 7 GSD repository and selected during DP slave configuration. A generic PROFIBUS GSD or a wrong revision will cause the slave to reject the parameterization telegram and remain in Wait_Prm.
- Cable termination or shielding defect — The first and last device on each segment must have termination enabled. A segment with only one termination or with termination at a middle device produces reflections that corrupt the telegram at 1.5 Mbps.
- Gateway power or configuration fault — The NT100-DP gateway requires correct Modbus RTU side configuration (baud rate, parity, slave ID, register map) and correct DP side configuration (slave address, baud rate auto-detect). If the gateway is not in "Data Exchange" state on its own diagnostic LEDs, the slave will never reach Data_Exch with the master.
Hardware and Cabling Verification
The Profibus DP cable must meet IEC 61158-2 Type A specification. For 1.5 Mbps, the maximum segment length is 200 m without repeaters, with bus termination at both ends of every segment.
Cable Specification
| Parameter | Required Value |
|---|---|
| Impedance | 150 Ω ± 15 Ω (3 to 20 MHz) |
| Capacitance | ≤ 30 pF/m |
| Loop resistance | ≤ 110 Ω/km |
| Wire diameter | ≥ 0.64 mm (AWG 22) |
| Color | Violet (Profibus standard) |
| Connector | 9-pin D-sub with integrated termination switch |
Verification Procedure
- Power off all DP nodes including the S7-300 CPU and the Hilscher NT100-DP gateway.
- Inspect the Profibus connector at the gateway and at every neighboring node. Confirm that the termination switch is ON only at the two physical ends of each segment.
- Measure the resistance between pins 3 and 8 of a Profibus connector with the connector disconnected from the device. Reading should be infinity (open) at middle nodes and approximately 220 Ω (two 390 Ω termination resistors in parallel plus network impedance) at the two end nodes.
- Connect a PG/PC with STEP 7 installed to the Profibus segment. Open "Accessible Nodes" from the STEP 7 interface. Verify whether the Hilscher gateway at address 44 appears.
- If the gateway does not appear, isolate the segment by disconnecting other nodes and reconnecting one at a time to locate a defective terminator or cable.
If the gateway appears with a bus fault icon, the physical layer is functional but the slave is rejecting parameterization; proceed to GSD verification. Reference: Beckhoff DP slave diagnostics - State of the Slaves.
GSD File Configuration Check
The GSD (General Station Description) file defines the slave's identity, supported baud rates, diagnostic message format, and I/O module configuration to the DP master. For the Hilscher NT100-DP, the manufacturer GSD file is distributed via the Hilscher support package on the official Hilscher website under Support → Software → NT100-DP. The file name typically follows the pattern HIL_xxxx.GSD matching the gateway's Ident number.
Installation Steps
- Download the GSD package from the official Hilscher support portal.
- Extract the archive. Locate the GSD file matching the gateway's article number and firmware version.
- In STEP 7 (V5.x) or TIA Portal, install the GSD via:
- STEP 7 V5.x: Options → Install GSD File → Browse to folder → Select GSD → Install.
- TIA Portal: Options → Manage device description files (GSD) → Install.
- Restart the engineering software to refresh the device catalog.
- Open HW Config / Device View. The Hilscher NT100-DP should now appear under PROFIBUS DP → Additional Field Devices → Gateways.
Verification Points
- GSD revision must match the firmware on the gateway. Mismatched revisions cause the parameterization check to fail and the slave remains in Wait_Prm.
- Baud rate entries in the GSD must include 1.5 Mbps. Older GSD revisions for some Hilscher gateways only support up to 500 kbps; verify the support matrix on the product page.
- Ident number of the slave in HW Config must match the Ident number printed on the gateway label.
- Module configuration in the slot assignment must reflect the Modbus register map. Typical NT100-DP configurations use 4 or 8 words of input and output.
DP Address and Baud Rate Requirements
The Profibus DP standard reserves addresses 0-125. Address 0 is reserved for service devices (PG/PC). Addresses 1-125 are available for slaves. The electrical segment limit is 32 nodes per segment (including master and repeaters) per RS-485 driver loading.
Address Space and Segment Limits
| Address Range | Usage |
|---|---|
| 0 | Reserved for PG/service |
| 1-31 | First segment (electrical limit) |
| 32-63 | Requires at least one repeater |
| 64-95 | Requires at least one repeater |
| 96-125 | Requires at least one repeater |
A slave at address 44 is permitted by the Profibus DP protocol but requires the segment to be extended by at least one repeater between master segment (addresses 1-31) and the gateway. Without the repeater, the master's DP interface cannot drive the bus to the gateway and the slave is reported as not reachable.
Baud Rate Reference
| Baud Rate | Max Segment Length (Type A cable) | Bit Time |
|---|---|---|
| 9.6 kbps | 1200 m | 104.17 µs |
| 19.2 kbps | 1200 m | 52.08 µs |
| 93.75 kbps | 1200 m | 10.67 µs |
| 187.5 kbps | 1000 m | 5.33 µs |
| 500 kbps | 400 m | 2.00 µs |
| 1.5 Mbps | 200 m | 0.667 µs |
| 3 Mbps | 100 m | 0.333 µs |
| 6 Mbps | 100 m | 0.167 µs |
| 12 Mbps | 100 m | 0.083 µs |
At 1.5 Mbps the bit time is 667 ns. Cable reflection, improper termination, or stubs longer than the specified maximum will cause telegram corruption. Reduce the baud rate to 187.5 kbps or 500 kbps as a fault isolation step. If the slave comes online at lower baud rate, the physical layer is marginal at 1.5 Mbps and requires cable repair or topology changes.
CPU 314C-2 DP Capability Constraints
The reported MLFB 6ES7 314-6CG03-0AB0 identifies a SIMATIC S7-314C-2 DP compact CPU. This CPU has two Profibus interfaces:
- Interface 1 (MPI/DP): MPI default, configurable as DP master or DP slave via HW Config.
- Interface 2 (DP): Dedicated DP master/slave interface.
S7-314C-2 DP Key Specifications
| Parameter | Value |
|---|---|
| MLFB | 6ES7 314-6CG03-0AB0 |
| Work memory | 96 KB code, 64 KB data |
| Bit memory | 2048 bytes |
| I/O address space | 1024 bytes input / 1024 bytes output (per process image) |
| Profibus interfaces | 2 (one MPI/DP, one DP) |
| Max DP slaves per master | 32 (logical DP master system) |
| Max I/O bytes per DP slave | 244 input + 244 output |
| DP protocol support | DP-V0, DP-V1 |
| Baud rates supported | 9.6 kbps to 12 Mbps |
The CPU 314C-2 DP supports a maximum of 32 DP slaves per DP master system. If the project contains more than 32 slaves, additional DP master systems must be created (one per interface). For a single gateway at address 44 with one DP master system, the address itself is valid but the segment topology must support it. For full hardware specifications consult the Siemens Industry Online Support portal at support.industry.siemens.com and search for the MLFB.
STEP 7 / TIA Portal Diagnostic Procedure
The following procedure extracts the actual DP slave state from the CPU and isolates the fault.
Procedure in STEP 7 V5.x
- Connect the PG to the MPI/DP interface of the CPU 314C-2 DP.
- Go online (PLC → Online → Accessible Nodes).
- Open HW Config. Right-click the DP master system → "DP Slave Diagnostics".
- Locate the Hilscher NT100-DP entry. The status column displays the slave's current state from the table above.
- Click on the slave. The "Slave Diagnostics" window displays Station status 1, 2, 3 (bytes per Profibus standard), master address, Ident number, and diagnostic bytes (manufacturer-specific).
- Interpret Station Status 1 byte per the bit assignment table above.
- Read the CPU diagnostic buffer (PLC → Diagnostic Buffer). Entries of type "DP slave failure" or "DP slave not reachable" provide the timestamp and the affected slave address.
Procedure in TIA Portal V21
- Go online with the CPU.
- Open "Diagnostics" from the project tree.
- Select "PROFIBUS Diagnostics".
- View the slave list. Each slave's status (green = Data_Exch, yellow = Not_Ready, red = Failure) is color-coded.
- Click on the Hilscher gateway entry to view detailed diagnostic information, including last telegram timestamp and Ident number verification.
Reference: Siemens TIA Portal V21 - DP slave diagnostics documentation.
Configuring the Hilscher NT100-DP Gateway
The NT100-DP gateway is configured via the Hilscher SYCON.net configuration tool or via the on-board DIP switches for the DP address.
DP Address Configuration (DIP Switches)
The slave address is set via binary-coded DIP switches on the gateway. Address 44 (decimal) equals 0x2C (binary 00101100). Bits 2, 3, and 5 must be ON:
| Bit | Value | Switch Position |
|---|---|---|
| Bit 0 | 0 | OFF |
| Bit 1 | 0 | OFF |
| Bit 2 | 1 | ON |
| Bit 3 | 1 | ON |
| Bit 4 | 0 | OFF |
| Bit 5 | 1 | ON |
| Bit 6 | 0 | OFF |
| Bit 7 | 0 | OFF |
A change to the DIP switches takes effect only after a gateway power cycle. Always power cycle after adjusting the address.
SYCON.net Configuration
- Connect the PG to the diagnostic port (USB or RS-232) of the NT100-DP.
- Launch SYCON.net. Scan for the gateway.
- Configure the DP slave side: address 44, baud rate auto-detect (recommended for verification).
- Configure the Modbus RTU master side: baud rate, parity, stop bits, slave ID, polling interval.
- Map the Modbus registers to the DP I/O areas:
- Input area (slave → master): Modbus registers 40001-40016 mapped to PIW 0-31 (16 words).
- Output area (master → slave): PQW 0-15 mapped to Modbus registers 40001-40008.
- Download the configuration to the gateway.
- Verify the gateway's status LEDs:
- RUN (green) solid: Gateway running.
- ERR (red) off: No internal error.
- DP (yellow) flashing: Data exchange active.
- COM (green) flashing: Modbus RTU communication active.
If the DP LED is solid on and not flashing, the gateway is not in data exchange with the master; return to the master diagnostics. A solid DP LED typically indicates a parameterization or configuration fault rather than a physical layer fault.
Commissioning and Verification Procedure
Execute the following verification sequence after applying configuration changes.
- Physical verification — Confirm termination is active at exactly two nodes per segment. Confirm cable lengths match baud rate per the segment length table.
- PG visibility — From STEP 7 / TIA Portal, verify the gateway appears in "Accessible Nodes" at address 44.
- Master configuration — Confirm the Hilscher gateway is in HW Config at address 44, with the correct GSD module selected.
- Download configuration — Download HW Config to the CPU. The CPU performs a DP master restart, re-parameterizes all slaves.
- Check diagnostic buffer — After 30 seconds, read the CPU diagnostic buffer. No DP slave failure entries should appear.
- Check DP slave diagnostics — Open DP Slave Diagnostics. The slave state should be Data_Exch (green).
- I/O test — In a watch table or with the PG online monitor, force an output value at PQW x and verify the corresponding Modbus register changes on the Modbus side. Read the corresponding PIW and verify the Modbus input register value appears.
- Long-term stability — Leave the system running for 24 hours and re-check the diagnostic buffer. Intermittent failures will appear as "DP slave failure" with timestamps.
WinCC Tag Integration for PIW Monitoring
WinCC reads tags from the S7-300 process image. The DP slave's input words appear at offsets defined in HW Config. For example, if the Hilscher NT100-DP is configured with module slot 1 as "4 words input" at address base 0, the inputs are at PIW 0-7.
WinCC Tag Configuration
- Open WinCC Explorer. Add a new connection to the S7-300 CPU with the WinCC channel "SIMATIC S7-300/400".
- Add tags. For each Modbus register to be monitored:
-
Tag name: e.g.,
Modbus_Register_40001 -
Address:
DB0,WORD0or direct peripheral addressIW0 - Data type: WORD or INT
- Length: 1 word per register
-
Tag name: e.g.,
- For a window of 1000 Modbus registers, structure the configuration as 1000 tags or use a script-based approach with a single tag area and pointer-based access.
Bulk Tag Scripting Example (C-Script)
// Read 1000 Modbus words from PIW 0-999 and log to WinCC archive
#include "apdefap.h"
BOOL LogModbusRegisters()
{
DWORD dwError;
WORD wValue;
for (int i = 0; i < 1000; i++)
{
char szTagName[64];
sprintf(szTagName, "Modbus_Register_%d", i);
dwError = GetTagWord(szTagName, &wValue);
if (!dwError)
{
printf("Register %d = %d\n", i, wValue);
}
}
return TRUE;
}
WinCC Tag Licensing
Each tag in WinCC requires a runtime license per the WinCC licensing model. The WinCC base license includes 128 tags by default; additional power tags are licensed in 256-tag packages. For 1000 Modbus registers, ensure adequate power tags are licensed.
Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic Step | Corrective Action |
|---|---|---|---|
| Slave not visible in Accessible Nodes | Physical layer fault | Measure bus termination, check cable | Repair cable, install repeater, fix termination |
| Slave visible, state = Wait_Prm | GSD or parameter mismatch | Verify Ident number in HW Config | Reinstall correct GSD, re-download HW Config |
| Slave visible, state = Wait_CFG | Configuration mismatch | Compare module slots to GSD | Adjust slot assignment in HW Config |
| Slave state = Not_Ready, Station Status 1 bit 0 | Power-up or reset | Wait 10 seconds, re-check | If persistent, check gateway power supply |
| Slave state = Static_Diag, bit 3 set | Extended diagnostic | Read diagnostic bytes from slave | Correct gateway-side Modbus configuration |
| Slave state = Watchdog | Master telegram loss | Check master status, baud rate match | Verify baud rate auto-detect on gateway |
| DP LED on gateway solid (not flashing) | Parameterization not accepted | Check DIP address, GSD module | Reset gateway, verify DIP switch settings |
| Intermittent failure entries | Marginal signal integrity | Check cable length, shielding, EMI | Replace cable, lower baud rate, add repeater |
| CPU reports "module configured but not available" | Slave off or wrong address | Verify gateway power and DIP address | Restore gateway, correct DIP address |
CPU 314C-2 DP vs CPU 414-3 DP Comparison
| Parameter | CPU 314C-2 DP | CPU 414-3 DP |
|---|---|---|
| MLFB example | 6ES7 314-6CG03-0AB0 | 6ES7 414-3EM05-0AB0 |
| Profibus interfaces | 2 (1 MPI/DP + 1 DP) | 3 (1 MPI/DP + 2 DP) |
| Max DP slaves per master | 32 | 32 |
| Max DP master systems | 2 | 3 |
| Work memory | 96 KB code / 64 KB data | Up to 4 MB code / 4 MB data |
| Recommended for | Small to mid applications | Large applications |
Confirm the actual CPU MLFB on the hardware before assuming the configuration. The MLFB on the front panel of the CPU starts with "6ES7 414" for a CPU 414-3 DP. Mismatched CPU identification is a common cause of "module configured but not available" diagnostic entries.
Safety Notes
FAQ
Why does my Hilscher NT100-DP gateway show "DP slave not ready" at address 44 with a CPU 314C-2 DP?
The address 44 is outside the electrical segment limit of 32 nodes per RS-485 segment. At least one Profibus repeater is required between the master segment and the gateway. Additionally, verify the GSD file matches the gateway firmware revision and that the baud rate (1.5 Mbps in this case) is supported by the GSD revision installed in STEP 7.
How do I read the DP slave state from STEP 7 V5.x for an S7-300 CPU?
Go online with the CPU, open HW Config, right-click the DP master system and select "DP Slave Diagnostics". The slave state appears in the status column; possible states include Power_ON, Wait_Prm, Wait_CFG, Data_Exch, and Not_Ready. The Station Status 1 byte decodes the specific fault: bit 0 = slave not ready, bit 1 = parameterization fault, bit 2 = configuration fault, bit 4 = watchdog.
What is the maximum Profibus segment length at 1.5 Mbps?
For IEC 61158-2 Type A cable, the maximum segment length at 1.5 Mbps is 200 m without repeaters. With repeaters, the network can be extended in 200 m increments. Cable reflections and termination faults at this baud rate are common causes of intermittent DP slave failure.
How can I monitor 1000 Modbus registers in WinCC from a Hilscher NT100-DP gateway on S7-300?
Configure each Modbus register as a peripheral input word (PIW) in HW Config of the Hilscher gateway. In WinCC, create a tag for each PIW, or use a script-based approach that reads the process image in a loop. Ensure adequate WinCC power tags are licensed for the tag count; the base license includes 128 tags.
Why does the CPU diagnostic buffer show "DP slave failure" intermittently even after the slave comes online?
Intermittent DP slave failure typically indicates marginal signal integrity. At 1.5 Mbps, check cable quality (150 Ω impedance, ≤ 30 pF/m capacitance), proper termination at both segment ends, absence of long stubs, and adequate shielding. Lowering the baud rate to 500 kbps or 187.5 kbps as a diagnostic step confirms whether the fault is baud-rate related.