Siemens CP1616 PROFINET Configuration: PN Stack Setup Guide

David Krause11 min read
Industrial NetworkingSiemensTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview: Why the CP1616 Differs from CP1613

The Siemens CP1616 is a PCI-based PROFINET communication module for industrial PCs that is fundamentally different from the older CP1613 card. The CP1613 is a programming/online interface, configured through the standard PG/PC interface dialog in STEP 7 or TIA Portal. The CP1616, by contrast, is a programmable PROFINET controller/device that requires a dedicated software stack - the PROFINET Stack Development Kit (PN Stack SDK) - to operate. The CP1616 is designed for use as a PROFINET IO-Controller or IO-Device in machine-level control systems, including integration with SIMOTION controllers, SINUMERIK CNCs, and third-party PROFINET devices.

This distinction is the root cause of the most common commissioning question: the CP1616 is intentionally absent from the standard PG/PC interface selection list. Users searching for the card in the SIMATIC NCM Manager or TIA Portal online interface will not find it because the card is not designed for engineering online access. Instead, the application program that uses the PN Stack API must initialize, configure, and operate the card at runtime.

Architectural rule: The CP1616 must be operated by a user application that links against the PROFINET Stack Development Kit (PN IO). The card cannot be addressed as a passive online interface. Plan the architecture around a Windows service or background process that holds the PN Stack open for the lifetime of the system.

CP1616 Hardware Identification and Variants

The CP1616 (Siemens part number 6GK1161-6AA01, with subsequent revisions such as 6GK1161-6AA02) is a 32-bit PCI card with an integrated PROFINET IRT-capable switch. The CP1616 onboard variant and the compact CP1616-1 (PCIe) target different host form factors but share the same PROFINET firmware and PN Stack API. The CP1604 (PC/104 form factor) shares its firmware and base functionality with the CP1616, and the official commissioning manual "CP1604 / CP1616 Commissioning PC Stations" (Siemens manual BA_CP1604-CP1616_76) covers both modules in a single document.

Key hardware characteristics:

  • Two RJ45 ports (Port 1, Port 2) wired to an integrated ERTEC PROFINET switch, 100 Mbps full duplex.
  • Real-Time (RT) and Isochronous Real-Time (IRT) support down to 250 microsecond cycle time.
  • Module status LEDs: RUN (green), STOP (yellow), FAULT (red), SYNC (yellow).
  • Per-port LEDs: LINK (green), RX/TX activity (yellow).
  • PCI 32-bit, 33/66 MHz, 3.3 V or 5 V signaling; 12 V at 0.5 A typical supply.

Why the CP1616 Is Not Visible in PG/PC Interface

When a CP1616 is installed in a PC, Windows Plug-and-Play enumerates the device and the card appears in Device Manager under Network Adapters as "Siemens CP1616" or "Siemens Industrial Ethernet CP1616". Hardware detection is therefore correct, but the card is intentionally not registered as a SIMATIC programming interface. The PG/PC interface selection in TIA Portal, STEP 7 V5, or NCM Manager only lists interfaces that operate as engineering gateways (S7ONLINE, TCP/IP, ISO, CP1613, etc.).

The CP1616 is enumerated by the SIMATIC NET PC software as a PROFINET IO type interface and is selected inside the application that loads the PN Stack. The card does not register a S7ONLINE access point for STEP 7 download or online diagnostics. If the project requires S7 routing through the CP1616, this is not supported - use a CP1623 or CP1628 for that use case instead.

Software Prerequisites and Licensing

To bring a CP1616 into operation as IO-Controller or IO-Device, install the following software components on the host PC in the order listed:

  1. SIMATIC NET PC Software (V8.x or later) - includes the CP1616 NDIS miniport driver, Station Configuration Editor, and OPC server components.
  2. SIMATIC NET CP1616 driver package (delivered on the product CD as "Simatic NET CP1616 software v2.6" or shipped with the SIMATIC NET DVD as part of the CP1616 driver option).
  3. PN Stack Development Kit (PN IO SDK) - licensed runtime that exposes the C/C++ API for PROFINET IO controller, IO device, and supervisor roles.
  4. Microsoft Visual Studio (2015/2017/2019/2022) for application development against the PN IO API.
  5. Siemens Automation License Manager (ALM) to activate the PN Stack runtime license.

License requirement: The PN Stack Development Kit requires a valid license key. Without activation, the PN IO controller/device services start in trial mode for 14 days, after which the card returns to a STOP state and IO data exchange stops. License the runtime through the ALM before commissioning.

Step-by-Step CP1616 Configuration Procedure

Step 1: Verify Hardware Detection

After physical installation in the PCI slot, boot the PC and open Windows Device Manager. Expand Network Adapters. The CP1616 should appear as "Siemens CP1616" with no warning icon. If a yellow exclamation mark is shown, reinstall the SIMATIC NET PC software and confirm that the CP1616 driver is the one bound to the hardware. Do not let Windows auto-assign a generic NDIS6 driver.

Step 2: Install SIMATIC NET CP1616 Driver

Insert the SIMATIC NET PC Software DVD or mount the ISO. Run Setup.exe and select the "User-defined installation" mode. Enable the following options:

  • SIMATIC NET PC Software - Communication Services
  • SIMATIC NET PC Software - Driver - CP1616/CP1604
  • Station Configuration Editor

When prompted, restart the PC. After restart, Device Manager should show the CP1616 bound to the "Siemens ERTEC" NDIS miniport driver, not a generic PCI Ethernet adapter driver.

Step 3: Configure the PC Station with the Station Configuration Editor

Open the Station Configuration Editor (Start → SIMATIC → SIMATIC NET → Configuration → Station Configuration Editor). Add a new PC station index. In the slot list, insert an IE General module of type "CP1616" and assign it to one of the PROFINET interface indices. Save the configuration. The resulting XML file (typically C:\ProgramData\Siemens\Automation\StationConfig.xml) is read by the PN Stack runtime at startup.

Slot Module Index Role
1 IE General 1 PROFINET IO Controller
2 IE General (optional) 2 PROFINET IO Device

Step 4: Activate the PN Stack Runtime

Start the "PROFINET IO Controller" service (or "PNIO Controller Service") and verify it reaches the "RUN" state. Use the PROFINET Diagnostics Tool (PROFINET IO → Diagnostics) to confirm that the CP1616 is enumerated, the MAC address is read correctly, and the firmware version matches the installed driver. The diagnostic window also shows the SYNC and AR (Application Relationship) status for each connected IO device.

Step 5: Compile and Link the Application Against the PN IO API

The PN Stack Development Kit ships with C/C++ headers and import libraries:

  • pniobase.h, pniousr.h - user API
  • pnioctrl.lib - import library for the controller role
  • pnioDev.lib - import library for the device role
  • pnio_dll.dll - runtime DLL loaded by the application

Include the headers in your application, link against pnioctrl.lib, and ship pnio_dll.dll alongside the executable. A minimal application follows this lifecycle:

PNIO_init();                              // Initialize PNIO stack
PNIO_configure(controller_index);         // Load StationConfig.xml
PNIO_set_io_data_callback(callback);      // Register process data callback
PNIO_ar_connect(device_mac, ar_handle);   // Establish AR with IO device
while (running) {
   PNIO_process();                        // Service the PNIO stack
}
PNIO_ar_disconnect(ar_handle);
PNIO_shutdown();

Operating as a PROFINET IO-Controller

When the CP1616 is configured as an IO-Controller, it actively establishes Application Relationships (AR) with each configured IO-Device. The controller reads the GSD (General Station Description) file for each device, validates the configuration against slot/submodule definitions, and then exchanges cyclic process data over PROFINET RT (cycle time 1 ms minimum) or IRT (cycle time 250 microseconds minimum with the integrated ERTEC switch).

Typical use cases for a CP1616 in IO-Controller role:

  • PC-based SCADA / soft-PLC (WinAC RTX, SIMATIC WinCC, or a third-party runtime) drives a SIMOTION D, SINUMERIK 840D sl, or distributed ET 200SP I/O.
  • Quality inspection PC reads a PROFINET-connected vision sensor and writes triggers to a SIMOTION D455 motion controller.
  • Test rig with two CP1616 cards in two PCs exchanging I/O words bidirectionally for hardware-in-the-loop validation.

Operating as a PROFINET IO-Device

When the CP1616 is configured as an IO-Device, it acts as a PROFINET slave to an external controller. The PN Stack SDK provides the PROFINET IO Device API with which the application exposes a configurable set of input and output slots. The IO-Device role is commonly used when the PC must publish data to a higher-level SIMOTION or SIMATIC S7 controller.

To enable the IO-Device role:

  1. In the Station Configuration Editor, set the second PROFINET interface index to "IE General - PROFINET IO Device".
  2. Import the GSDML file generated by the PN Stack wizard (menu: PNIO → Export GSDML) into the controller's hardware catalog (TIA Portal or SIMOTION Scout).
  3. Configure slots in the device firmware: typical configuration is 1 input submodule of 32 bytes and 1 output submodule of 32 bytes for cyclic I/O.
  4. From the controller side, drag the PC station from the device catalog and assign it to the PROFINET subnet. The AR is established after the controller's project is downloaded.

Connecting to a SIMOTION D455

The SIMOTION D455 is a PROFINET IO-Controller with a PROFINET IRT interface. A CP1616 in IO-Device mode can publish I/O data to the D455 in two ways:

  • Cyclic I/O: simple data exchange over input/output submodules, configured in SIMOTION Scout under I/O → PROFINET IO. Map the submodule address space to SIMOTION I/O variables or process image addresses.
  • PROFINET IRT with isochronous mode: requires the SIMOTION project to enable "Isochronous" on the PROFINET subnet, and the CP1616 must be configured with an IRT topology entry (synchronization domain, sync master role).

Watchdog: When the PC application is suspended, the PN Stack watchdog trips after 3 missed cycles (default) and the SIMOTION D455 reports a station failure. Implement a dedicated real-time priority for the PN Stack thread (above normal, not time-critical) and avoid any blocking I/O on the process data thread.

Firmware Recovery Procedure

If a firmware update to the CP1616 is interrupted (power loss, OS crash, PCIe hot-unplug), the card enters a fallback state where the LEDs display a slow-blinking red/yellow pattern. The card is no longer recognized by the NDIS driver and is invisible to the application. To recover:

  1. Power down the PC and reseat the CP1616 in the PCI slot to ensure a clean power-on reset.
  2. Boot Windows and confirm the CP1616 is detected in Device Manager with a yellow warning triangle.
  3. Insert the SIMATIC NET CD, run the firmware update tool (Start → SIMATIC → SIMATIC NET → Firmware Update → CP1616 Firmware Loader).
  4. Select the matching firmware binary. The loader rejects mismatched firmware. Click "Update" and do not interrupt.
  5. When the loader reports success, power cycle the PC. After reboot, the card returns to the standard LED pattern (LINK + RUN steady green).

This procedure is documented in the CP1604/CP1616 commissioning manual in the section on "Eliminating error states" when the power supply was interrupted during a firmware update.

Diagnostics and Status Verification

LED Color State Meaning
RUN Green Steady PROFINET stack running, AR established
RUN Off - Stack not started or fatal error
STOP Yellow Steady Stack stopped, no ARs active
FAULT Red Steady Hardware fault, check PCIe seating
FAULT Red/Yellow Blinking Firmware update failed, run recovery
SYNC Yellow Steady IRT sync master active
SYNC Off - RT-only operation or sync slave not aligned
LINK (per port) Green Steady Ethernet link up, 100 Mbps
RX/TX (per port) Yellow Flickering Frame activity on port

From the application, retrieve the CP1616 firmware and stack status with the PN IO API:

PNIO_UINT32 state;
PNIO_cbf_get_lifecycle_state(&state);
printf("PNIO state: 0x%08X\n", state);
// state == 0x00000001 -> PNIO_STATE_RUN
// state == 0x00000002 -> PNIO_STATE_STOP
// state == 0x00000004 -> PNIO_STATE_FAULT

Common Errors and Solutions

Symptom Likely Cause Resolution
CP1616 not visible in PG/PC interface Card is not a programming interface Use the PN Stack SDK and the application's PROFINET role configuration
"Device not started" in Device Manager SIMATIC NET driver not installed or bound Reinstall SIMATIC NET PC software and select CP1616 driver
FAULT LED blinking red/yellow Interrupted firmware update Run CP1616 Firmware Loader, then reboot
AR fails to connect Wrong device name, IP, or GSD mismatch Match device name in controller project and DCP-assigned name on the CP1616 side
Process data callback never fires Stack not serviced Call PNIO_process() in a tight loop with priority above NORMAL
Stack reports trial license ALM not activated Activate the PN Stack license through Automation License Manager
Cyclic I/O timeout on SIMOTION D455 PC application thread starved Pin PN Stack thread to a dedicated core and disable CPU throttling

Why does my CP1616 not appear in the PG/PC interface selection?

The CP1616 is a programmable PROFINET controller/device and is intentionally not registered as a STEP 7 or TIA Portal online interface. Configure it through the Station Configuration Editor and operate it from an application that links against the PN Stack Development Kit (PN IO API).

What is the difference between a CP1613 and a CP1616?

The CP1613 is a passive engineering interface used for STEP 7 / TIA Portal online access, and is selected in the PG/PC interface dialog. The CP1616 is a programmable PROFINET IO-Controller or IO-Device that requires a C/C++ application built against the PN Stack Development Kit to exchange data on PROFINET.

Can I configure a CP1616 with TIA Portal or STEP 7 NCM Manager?

No. The CP1616 is not configured through TIA Portal or NCM Manager. Use the SIMATIC NET Station Configuration Editor to assign the card's role (IO-Controller or IO-Device) and then build the application logic against the PN IO API.

How do I recover a CP1616 after a failed firmware update?

Boot the PC, open the SIMATIC NET CP1616 Firmware Loader, select the matching firmware binary, and complete the update without interruption. Power cycle the PC after the loader reports success. The card returns to the steady-green RUN state.

What cycle times does the CP1616 support for PROFINET?

For Real-Time (RT) PROFINET the minimum send clock is 1 ms. For Isochronous Real-Time (IRT) the minimum is 250 microseconds, which requires the integrated ERTEC switch to be in IRT sync mode and the project to define a synchronization domain.

Back to blog