Configuring PROFINET I-Device Between SIMOTION D425 and S7-1200

David Krause17 min read
S7-1200SiemensTutorial / How-to
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

This reference covers the configuration of PROFINET I-Device (Intelligent IO Device) communication between a SIMOTION D425-2 PN/DP motion controller and a SIMATIC S7-1215C CPU (S7-1200 family). The goal is to deterministically exchange Boolean (BOOL), 16-bit integer (INT), and 32-bit floating-point (REAL) tags between the two controllers through PROFINET transfer areas rather than user-level protocols such as S7 PUT/GET, BSEND/BRCV, or OPC UA.

Both controllers integrate a PROFINET interface with an internal 2-port switch. The I-Device function allows each controller to be a fully programmable PROFINET node on a higher-level PROFINET segment while still running its own application. The data exposed to the higher-level controller is structured as transfer areas: byte-aligned input and output slots. Bit, INT, and REAL data is packed into these bytes with no additional protocol overhead, so the I/O access is identical to a standard I/O module.

Note: I-Device is a deterministic, cyclic PROFINET data path. It is not a request/response service. If your application needs event-driven messaging, large payloads, or cross-network routing, evaluate S7 communication, TCON, or OPC UA server instead.

PROFINET I-Device Architecture

An I-Device behaves like a PROFINET IO Device on its lower-level segment, while simultaneously running an application program like a standard controller. The data exposed to the higher-level PN Controller is defined by transfer areas: byte-aligned I/O slots that the I-Device's program reads and writes through its own I/O image.

Term Meaning
PN Controller The higher-level controller that owns the AR (Application Relationship) and polls the I-Device cyclically.
I-Device The PROFINET node with a subordinate role. Defines its own transfer areas, which the PN Controller references as if they were slots of a normal IO Device.
Transfer Area Byte-aligned input or output slot (1 to 64 bytes typical, up to 1280 bytes per I-Device total) that carries cyclic process data.
GSDML Generic Station Description Markup Language. The XML device description exported by an I-Device for cross-project integration.
RT / IRT Real-time / Isochronous Real-time. IRT is required only when the I-Device must participate in a synchronized time domain with the PN Controller.

When to Use the I-Device Method

I-Device is the correct pattern when all of the following are true:

  • Both controllers are part of the same machine and need deterministic, cyclic data exchange at PROFINET update times (1 ms / 2 ms / 4 ms).
  • The exchanged payload is bounded (typically less than 256 bytes per direction) and fits in the I/O image.
  • Bit, INT, and REAL data is laid out as packed structures without per-tag overhead.
  • Either controller needs to be the deterministic master of motion while the other runs sequence logic.

If the payload is large, sparse, or event-driven, or if the controllers are on different subnets, use S7 PUT/GET, BSEND/BRCV, or OPC UA Server on the S7-1200 (firmware V4.4+) instead.

Prerequisites

Verify each item before starting configuration. The procedure will not complete reliably if any of these is wrong.

Item Requirement Notes
SIMOTION D425-2 PN/DP Firmware V4.4 minimum; V5.2 / V5.3 / V5.4 recommended I-Device function is supported on SIMOTION D4xx-2 from V4.4. SIMOTION in TIA Portal requires SCOUT TIA V5.2 SP1 or higher. See the SIMOTION D4xx-2 manual collection.
S7-1215C (6ES7215-1xx40-0XB0) Firmware V4.0 minimum; V4.4 or higher recommended I-Device mode is available from TIA Portal V13 / FW V4.0. TIA Portal V16 or higher is required for the full I-Device editor. See the SIMATIC S7-1200 communication manual.
Engineering tool TIA Portal V14 SP1 minimum; V17 / V18 recommended SCOUT TIA add-in installs the SIMOTION device support into TIA Portal. Standalone SCOUT is also valid for SIMOTION V4.4 / V4.5 projects.
GSDML Only required for cross-project configuration If the I-Device is in a separate TIA Portal project, export its GSDML and install it on the PN Controller's project.
PROFINET network 100 Mbit/s full-duplex, Cat 5e or better, managed switch preferred Watch the segment's PROFINET delay budget. Daisy-chains of three or more switches reduce achievable update time.
IP plan Static IPv4 on a single subnet for both PN interfaces PROFINET I-Device communication does not cross routers. Both ports must be on the same subnet.

Topology and Role Selection

Pick which controller is the PN Controller and which is the I-Device based on the application:

  • S7-1215C as PN Controller, SIMOTION D425-2 as I-Device: the typical machine-cell pattern. The S7-1200 orchestrates HMI, safety, and sequence logic; the SIMOTION runs motion axes. The SIMOTION exposes axis status, current values, and faults to the S7-1200; the S7-1200 feeds enable, setpoints, and job commands down to the SIMOTION.
  • SIMOTION D425-2 as PN Controller, S7-1215C as I-Device: used when the SIMOTION is the master of a complex line, and a small S7-1200 acts as a satellite (e.g., distributed local I/O, local safety, or a small subsystem with its own HMI).
Design rule: The I-Device side owns the transfer area definitions. The PN Controller only needs to know the slot number, length, and direction. Do not redefine the same transfer area on both sides - the I-Device is the source of truth.

Step 1 - Plan the IP Addresses and Subnet

Document the addressing before you open TIA Portal. PROFINET I-Device communication requires both ports to be on the same IP subnet.

Device PROFINET port IP address Subnet mask PROFINET device name
S7-1215C (PN Controller) X1 (PN interface, port 1 / 2) 192.168.0.10 255.255.255.0 plc-cpu1215c
SIMOTION D425-2 (I-Device) X150 (PN interface, port 1 / 2) 192.168.0.20 255.255.255.0 simotion-d425
Engineering PG / TIA Portal Onboard Ethernet 192.168.0.100 255.255.255.0 pg-tia

Reserve the next free IP for the HMI panel and leave at least 10 free addresses for service and future expansion. The PROFINET device name is case-sensitive; match the spelling in TIA Portal exactly.

Step 2 - Configure SIMOTION D425-2 as I-Device

Open the TIA Portal project (or SCOUT standalone project) that contains the SIMOTION D425-2.

  1. In the project tree, add the SIMOTION D425-2 PN/DP from the catalog under Controllers > SIMOTION > D4xx-2.
  2. Open Devices & Networks, select the SIMOTION, and open Properties > PROFINET interface [X150] > Ethernet addresses. Enter the IP address, subnet mask, and the PROFINET device name simotion-d425.
  3. Open Properties > PROFINET interface [X150] > Operating mode. Select I-Device. The interface mode shows as I-Device and the I-Device editor is unlocked.
  4. Open the Transfer areas tab and add the slots the PN Controller will read or write. For a typical S7-1215C ↔ SIMOTION D425 layout:
    Slot 0 - Input - 16 bytes - SIMOTION → S7-1200 (axis status, current values)
    Slot 1 - Output - 16 bytes - S7-1200 → SIMOTION (enable, setpoints, job commands)
  5. Click on each transfer area to set the I/O addresses in the SIMOTION I/O image. The PN Controller's view of the slot is independent; only the I-Device side addresses matter here.
  6. Save and compile the SIMOTION project. Address-consistency errors appear as compile warnings if a transfer area overlaps an existing I/O symbol.
Width rule: Each transfer area can be 1 to 64 bytes. The sum of input + output areas per I-Device must not exceed 1280 bytes. Real-time data is aligned to byte boundaries. Boolean tags inside a transfer area occupy the first free bit of the first free byte - declare them in strict ascending address order in the SIMOTION IO data block to avoid gaps.

Step 3 - Configure the S7-1215C as PN Controller

  1. Add the S7-1215C to the same TIA Portal project (in-project scenario) or to a separate project (cross-project scenario, see Step 5).
  2. Open Properties > PROFINET interface [X1] > Ethernet addresses. Enter the IP 192.168.0.10, mask 255.255.255.0, and PROFINET device name plc-cpu1215c.
  3. Open Properties > PROFINET interface [X1] > Operating mode. Set the role to PN Controller. Do not enable I-Device mode on this side.
  4. From the device catalog, drag the SIMOTION D425-2 (in-project: under the same project tree; cross-project: under Other field devices > PROFINET IO > ... after GSDML install) onto the PROFINET subnet.
  5. In the Devices & Networks editor, draw the PROFINET connection from the S7-1215C X1 to the SIMOTION X150. The S7-1200 becomes the controller, the SIMOTION becomes the I-Device.
  6. Open the S7-1200's Device view, drag the I-Device's transfer areas from the catalog into the I/O slots. The S7-1200 will assign I and Q addresses automatically; these are the I/O addresses the S7 program uses for direct I/O access.
  7. Set the IO cycle time on the PROFINET interface. For motion applications, use 1 ms or 2 ms. For pure status exchange, 4 ms is sufficient and reduces bus load.

Step 4 - Define the Data Layout Inside the Transfer Areas

Plan the byte-level structure before you start programming. The I-Device does not differentiate between BOOL, INT, and REAL - all are packed into the byte image. The PN Controller's I/O view of the same area must use the same byte order.

Byte offset Type Tag (SIMOTION) Tag (S7-1200) Direction
IB 0 / QB 0 (bit 0..7) BOOL stAxis1Ready "Axis1Ready" (%I0.0) SIMOTION → S7-1200
IB 1 / QB 1 (bit 0..7) BOOL stAxis1Faulted "Axis1Faulted" (%I1.0) SIMOTION → S7-1200
IW 2 / QW 2 INT iAxis1State "Axis1State" (%IW2) SIMOTION → S7-1200
ID 4 / QD 4 REAL rAxis1ActPos "Axis1ActPos" (%ID4) SIMOTION → S7-1200
QB 0 (bit 0) BOOL cmdAxis1Enable "Axis1Enable" (%Q0.0) S7-1200 → SIMOTION
QB 0 (bit 1) BOOL cmdAxis1Stop "Axis1Stop" (%Q0.1) S7-1200 → SIMOTION
QW 2 INT iAxis1Cmd "Axis1Cmd" (%QW2) S7-1200 → SIMOTION
QD 4 REAL rAxis1SetPos "Axis1SetPos" (%QD4) S7-1200 → SIMOTION

Use the same byte offset on both sides. Address-tag mismatch on byte 4 (REAL access on a 32-bit boundary) is the most common cause of garbled values.

Step 5 - Cross-Project GSDML Export and Import

If the SIMOTION D425-2 and the S7-1215C are in different TIA Portal projects (typical when SIMOTION is engineered by a motion specialist and S7-1200 by a PLC specialist), export the I-Device description and install it on the other side.

Export the GSDML from the I-Device project

  1. In the I-Device project (SIMOTION D425-2), open Devices & Networks and select the SIMOTION D425-2.
  2. Open Properties > PROFINET interface [X150] > Operating mode > I-Device.
  3. Click Export I-Device GSDML. TIA Portal generates a .xml GSDML file in the project folder under Documents > GSDML.
  4. Copy the GSDML file to the PN Controller project (or a network share both engineers can access).

Install the GSDML on the PN Controller project

  1. In the S7-1200 project, choose Options > Manage general station description files (GSD).
  2. Browse to the GSDML file and click Install. TIA Portal places the SIMOTION under Other field devices > PROFINET IO > SIMOTION > D4xx-2 in the catalog.
  3. Drag the SIMOTION from the catalog onto the PROFINET subnet and assign it as an IO Device of the S7-1215C.
  4. Drag the I-Device's transfer areas into the S7-1200 slot table. The catalog slot list matches the export 1:1.
Versioning: Re-export the GSDML every time you change the I-Device transfer area table. An old GSDML is the number one cause of slot-not-found errors after a project handover.

Step 6 - Wire the I/O Variables in the Application

Both controllers access the data through their standard I/O instructions, not through special PROFINET blocks.

S7-1215C side (TIA Portal, SCL or LAD)

// Read axis status from SIMOTION (input area)
IF "Axis1Ready" AND NOT "Axis1Faulted" THEN
    "HMI_Axis1State" := "Axis1State";          // INT
    "HMI_Axis1ActPos" := "Axis1ActPos";        // REAL
END_IF;

// Send enable and setpoint to SIMOTION (output area)
"Axis1Enable" := "HMI_Start" AND "SafetyOK";
"Axis1Stop"   := NOT "SafetyOK";
"Axis1Cmd"    := 10;                            // INT, e.g. job code
"Axis1SetPos" := "HMI_TargetPos";              // REAL, mm

SIMOTION D425-2 side (ST or MCC chart)

// my_io_data is the I/O variable block mapped to the transfer area
// Convention: %I.. on the SIMOTION side = process inputs from S7-1200
//             %Q.. on the SIMOTION side = process outputs to S7-1200

IF cmdAxis1Enable AND NOT cmdAxis1Stop THEN
    stAxis1Ready := TRUE;
    stAxis1Faulted := FALSE;
    iAxis1State := axis1.state;       // INT
    rAxis1ActPos := axis1.actualPos;  // REAL [mm]
ELSE
    stAxis1Ready := FALSE;
END_IF;

Make sure the SIMOTION IO data block is mapped to the same process image that the I-Device transfer area uses. In SIMOTION SCOUT, open Project > I/O > Address table and confirm the address ranges match the transfer area offsets defined in Step 2.

Step 7 - Compile, Download, and Go Online

  1. Compile the SIMOTION project first. Resolve any address-overlap warnings before continuing.
  2. Compile the S7-1200 project. The compile log must show the SIMOTION I-Device as a known PROFINET IO Device.
  3. Download the S7-1200 hardware configuration. After the download, TIA Portal prompts you to assign the PROFINET device name plc-cpu1215c to the S7-1200 - confirm.
  4. Download the SIMOTION project. The PROFINET device name simotion-d425 is assigned during the SCOUT download or via the Topology editor.
  5. On the S7-1200, go online. Open Online & diagnostics > PROFINET diagnostics. The I-Device should appear with state Connected and no error code.
  6. On the SIMOTION, go online in SCOUT. Open Diagnostics > PROFINET diagnostics. The PN Controller should be listed, and the cyclic data should be exchanging without diagnostic alarms.

Verification and Online Diagnostics

S7-1200 verification

  • Open a watch table and monitor %I0.0 and %IW2. Force %Q0.0 ON and confirm the corresponding SIMOTION IO variable changes within one PROFINET update time.
  • Open Online & diagnostics > PROFINET diagnostics > Port statistics. Discards, CRC errors, and late collisions must be zero.
  • Use the S7-1200 web server (default URL http://192.168.0.10) and navigate to Diagnostics > PROFINET > IO Devices. The SIMOTION should show OK.

SIMOTION verification

  • Open Diagnostics > PROFINET diagnostics > I-Device status. State must be AR established and Data exchange active.
  • Use the SIMOTION trace to record the IO variables and confirm the update time matches the configured cycle time (1 ms / 2 ms / 4 ms).
  • Watch the BF (bus fault) LED on the SIMOTION X150. Steady off = OK; flashing at 2 Hz = no PROFINET link; on solid = configuration error.

Use PRONETA for free PROFINET diagnostics

Siemens PRONETA is a free engineering tool for PROFINET network analysis. Run it on the engineering PG to:

  • Scan the subnet and confirm both devices appear with their configured names and IPs.
  • Run the topology check; mismatches show up as a yellow topology diff.
  • Capture cyclic traffic and confirm the AR between the S7-1200 and SIMOTION has no vendor-specific extension mismatches.

Simulation with SIMOSIM and PLCSIM

Simulating PROFINET I-Device communication is possible, but with limitations.

Simulator Role I-Device simulation
PLCSIM (TIA Portal) Simulates S7-1200 / S7-1500 Can simulate the PN Controller role against a real I-Device, but cannot simulate an I-Device in standard PLCSIM.
PLCSIM Advanced Simulates S7-1500 / ET 200SP CPU with full PROFINET Can simulate an I-Device and connect to a real PN Controller. Limited support on S7-1200 PLCSIM.
SIMOSIM Simulates SIMOTION D4xx controllers Can simulate the SIMOTION application and the I-Device PROFINET stack; integrates with PLCSIM Advanced over the TIA Portal soft-PN bus.

To run a closed-loop simulation, the practical approach is:

  1. Start PLCSIM Advanced with the S7-1200 instance and enable the soft PROFINET interface.
  2. Start SIMOSIM with the SIMOTION D425-2 instance. Confirm the I-Device transfer areas are exposed.
  3. Use the TIA Portal topology editor to connect the two soft instances over the local loopback.
  4. Download the programs into both simulators and run. Monitor the IO variables in the same way as on real hardware.
Limitation: Standard PLCSIM for S7-1200 does not fully simulate PROFINET I-Device mode. If the S7-1200 must run as the I-Device in the simulation, use PLCSIM Advanced. The combination of SIMOSIM and standard PLCSIM works only when the SIMOTION is the I-Device and the S7-1200 PN Controller role is being emulated by PLCSIM with a real interface.

Troubleshooting Matrix

Symptom Likely cause Fix
S7-1200 shows SIMOTION as Not found / Station failure PROFINET device name not assigned, or typo Use Online & diagnostics > Assign PROFINET device name; match the spelling exactly to the I-Device configuration.
BF LED flashing on SIMOTION, AR not established IP address or subnet mismatch Ping from PG to 192.168.0.20; if no reply, fix the SIMOTION IP via the SIMOTION service tool or SCOUT.
AR established, but slot shows Module fault (red) Transfer area length mismatch between I-Device and PN Controller Re-export the GSDML and reinstall; verify slot length on the S7-1200 side matches the I-Device definition byte-for-byte.
BOOL tags toggle, INT/REAL values are wrong or garbled Address alignment error - REAL accessed at non-word boundary REAL must start at a 4-byte aligned offset (0, 4, 8, 12...) in the transfer area. Adjust the SIMOTION IO data block layout.
Data updates, but is one update cycle late Normal: PROFINET data has a one-cycle transport delay by design No action. The PN Controller reads data that the I-Device placed on the bus in the previous cycle. Account for this in time-critical logic.
S7-1200 web server shows Substitute value active IO Device failure or AR dropped Check the S7-1200 diagnostic buffer for PROFINET IO error codes; resolve the underlying AR fault first.
Diagnostic event ID 0x001E in the S7-1200 PROFINET controller: device report alarm from I-Device Open the diagnostic detail; this is the I-Device's channel diagnostic alarm forwarded by the controller. Resolve the channel-level fault shown in the detail.
Diagnostic event ID 0x001F PROFINET controller: AR (Application Relationship) aborted Check the return code in the S7-1200 diagnostic buffer. Common values: 0x0001 = station name mismatch; 0x0005 = slot configuration mismatch; 0x0016 = watchdog time exceeded.
Slow update time, sporadic late frames Network load too high, daisy-chained switches, or non-real-time traffic on the same VLAN Use a managed switch with PROFINET QoS, separate the HMI traffic, and disable any non-deterministic protocols (LLDP, DHCP) on the PROFINET VLAN.
PLCSIM / SIMOSIM: I-Device not visible to PLCSIM PLCSIM standard does not emulate I-Device Use PLCSIM Advanced for the I-Device side, or use a real S7-1200 CPU in the test rig.

Field-Proven Tips

  • Stick to byte alignment. REAL data must start at byte offsets that are multiples of four. INT data at multiples of two. Misalignment is the most frequent cause of "values look right until the third byte" symptoms.
  • Watch the S7-1200 process image limit. The S7-1215C has 1024 bytes of input process image and 1024 bytes of output process image. The I-Device transfer area addresses are taken from this image. Plan the address space so that the I-Device transfer areas do not collide with the S7-1200's local I/O module addresses.
  • Use distinct PROFINET device names. Re-using plc-cpu1215c on multiple S7-1200s in the same subnet causes the PN Controller to bind to the wrong physical node.
  • Keep the GSDML under version control. The exported XML file is the authoritative source of the I-Device interface. Store it in the same Git or SVN repository as the TIA Portal project.
  • Update the PRONETA topology before each FAT. A 30-second scan in PRONETA catches device-name and IP issues that would otherwise show up as intermittent AR aborts during commissioning.
  • Enable the SIMOTION diagnostic buffer alarm filter. Filter on the PROFINET IO source so motion-specific IO faults are not buried under axis-level alarms.

Standards and Further Reading

Refer to the official Siemens documentation for parameter defaults, firmware-specific behavior, and certified PROFINET conformance classes:

  • SIMATIC S7-1200 Communication Manual - covers I-Device configuration, PROFINET interface parameters, and supported communication services for the S7-1200 family.
  • PROFINET Installation Guideline (PNO document NEMA 100.1) - the authoritative document on cabling, topology, and delay budgets for PROFINET networks.
  • PROFINET Conformance Classes (CC-A, CC-B, CC-C) - documented in the PROFINET specification; S7-1200 and SIMOTION D4xx-2 both meet CC-B minimum.

FAQ

Can I exchange individual bits between the S7-1200 and SIMOTION D425-2 over PROFINET I-Device?

Yes. Define a transfer area at least one byte long, then declare BOOL symbols at the bit addresses within that byte on both sides. The I-Device and PN Controller see the same byte image; bits are extracted locally in each controller's program.

Do I need a GSDML if the SIMOTION and S7-1200 are in the same TIA Portal project?

No. When both devices are in the same TIA Portal project, the SIMOTION D425-2 appears in the catalog and can be dragged onto the PROFINET subnet directly. GSDML export and install is only required for cross-project integration.

What is the maximum payload I can exchange over PROFINET I-Device?

Up to 1280 bytes total per I-Device, split between input and output transfer areas. Each individual area can be 1 to 64 bytes. For larger or event-driven data, use S7 PUT/GET, BSEND/BRCV, or OPC UA.

Can the S7-1200 and SIMOTION both be I-Devices on the same PROFINET line?

Not without a PN Controller above them. At least one device on the PROFINET segment must be a PN Controller. If neither is the master, the AR cannot be established and no cyclic data flows.

Is isochronous mode (IRT) required for motion data exchange?

No, but it is recommended for tight motion coordination. Standard RT (1 ms to 4 ms update time) works for the majority of machine-cell applications. Enable IRT only when the S7-1200 and SIMOTION must share a synchronized time domain for control loop coordination, and confirm that the SIMOTION D425-2 firmware version supports IRT on the I-Device port.

Back to blog