Overview
EtherNet/IP on the SIMATIC S7-1200 and S7-1500 controllers is implemented as a software-based communication stack layered above the PROFINET firmware. Unlike Allen-Bradley ControlLogix/CompactLogix controllers, where CIP is embedded in the operating system and EDS/AOI files are first-class objects, the Siemens implementation ships as a TIA Portal library containing function blocks (FBs), PLC data types (UDTs), and example projects. The consequence is two-fold: (1) cycle-time and RPI behaviour is governed by the OB1/OB3x execution model of the user program rather than dedicated hardware tasks, and (2) the supported feature set is intentionally narrower than a native CIP stack.
This reference consolidates the field-proven constraints, library entry points, and configuration parameters required to bring up an EtherNet/IP Scanner or Adapter on a Siemens PLC, and integrates a working configuration for FANUC robots using the EDA (Ethernet Device Access) interface. All official documentation is sourced from Siemens Support entry 109782314 and the SiePortal S7-1500 EtherNet/IP discussion.
Native Stack vs. Gateway Architecture
Engineers integrating EtherNet/IP into a Siemens cell must choose between two physical architectures before any code is written.
| Option | Implementation | Hardware Impact | Best Use Case |
|---|---|---|---|
| Software Scanner/Adapter FB | EtherNet/IP runs in the S7-1500 CPU as a library task | No extra module; uses an existing PROFINET port | Low-to-medium I/O count, FANUC EDA, third-party drives |
| EtherNet/IP external gateway | ProSoft PLX31, Anybus X-gateway, etc. | Adds DIN-rail device and a second Ethernet segment | High-performance CIP motion, CIP Safety, large assembly counts |
| Industrial Edge Connector | Edge runtime with Ethernet IP Connector app | Requires IED/IIH appliance on the plant network | Data aggregation, no real-time deterministic I/O |
The Siemens Industrial Edge Ethernet IP Connector is positioned for analytics/visibility use cases, not for closed-loop I/O control. For deterministic control, use the in-CPU library or an external gateway such as the ProSoft PLX31 EtherNet/IP to Siemens Industrial Ethernet gateway.
Library and Function Block Topology
The official example project published under Siemens Support entry 109782314 provides the canonical FB layout. The library exposes three primary blocks plus supporting PLC data types.
| Function Block | Role | Primary Inputs | Primary Outputs |
|---|---|---|---|
| FB_Eip_Scanner | Class 1 I/O Scanner (CIP origin = PLC) | ConnectionList, Rpi_ms, Ot_Timeout | Run, Error, Diag |
| FB_Eip_Adapter | Class 1 I/O Adapter (target = PLC) | AssemblyInstanceIn/Out, Rpi_ms | Run, Error, Diag |
| FB_Eip_Msg | Explicit Messaging (CIP Get/Set) | ServiceCode, Class, Instance, Attribute | Status, ResponseData |
These FBs are called from a cyclic OB (typically OB1 or a configured OB3x) and share an instance DB. The library creates the CIP connection list internally and does not require an EDS import step; instead, you declare the device using PLC data types and a connection list populated in the user program or in a global DB.
Scanner Configuration: Step-by-Step
- Install the EthernetIP library from the Siemens support example into TIA Portal V17 or later.
- Add the S7-1500 CPU and confirm a PROFINET interface is provisioned for the EtherNet/IP subnet. A second IP subnet is recommended to avoid protocol contention.
- Declare a global DB of the connection-list UDT. Populate at minimum:
-
RemoteIP(e.g., 192.168.10.50) -
OutputAssembly(instance 0x64 typical for drives) -
InputAssembly(instance 0x65) -
ConfigAssembly(instance 0x66, optional) -
Rpi_ms(must be ≥ 32 ms) -
Ot_Timeout(set to 4× RPI)
-
- Call
FB_Eip_Scannerfrom OB1. Wire the connection-list reference, an enable tag, and a heartbeat word (e.g., a 100 ms counter from a system clock). - Map the I/O data to your process image using the UDT
typeEip_IoData. The FB provides aRunoutput that latches when the Class 1 connection is open and aErrorbit for fault propagation. - Download the project to the CPU and observe
Diag.DiagWord; bit 0.0 = connection open, bit 0.1 = explicit msg error, bit 0.2 = RPI violation.
Adapter Configuration: Hosting EtherNet/IP on the S7-1500
When the Siemens CPU is the target (Adapter role) — for example, when a Rockwell ControlLogix is the master — the steps mirror the Scanner case with two differences:
- Configure the assembly instances in the global DB to match what the Scanner expects. Standard FANUC I/O assemblies are 0x64 (consumed from PLC) and 0x65 (produced from robot), but a third-party scanner may be set up to use 0x70/0x71.
- Set the CPU's IP address and the assembly sizes. A single 32-byte assembly in each direction is a common footprint; the FB will reject a size mismatch.
The Adapter role is functionally symmetric to the Scanner role on the same PROFINET interface, but because the stack is software-based, both roles simultaneously can be supported on the same CPU provided each role has its own connection list and assembly definitions.
RPI Timing Constraints
The RPI (Requested Packet Interval) parameter is the single most critical value in any Siemens EtherNet/IP deployment. Because CIP is implemented in the user-task scheduler, the RPI directly competes with PROFINET IO, the user's OB1 logic, and any other cyclic OBs for CPU time.
| Parameter | Minimum Recommended | Operating Range | Field Proven Caveat |
|---|---|---|---|
| RPI (Scanner to Adapter) | 32 ms | 32 ms – 500 ms | Setting RPI < 32 ms will cause scan jitter and CIP timeouts under PROFINET IRT load |
| Ownership Timeout | 4 × RPI | 100 ms – 2000 ms | Default of 4× is correct for the software stack; do not lower |
| CIP explicit msg timeout | 1000 ms | 500 ms – 5000 ms | Explicit messaging is non-cyclic; budget for worst-case scan |
| PLC cycle time impact | 1 ms / connection at 32 ms RPI | ~0.5–2 ms per connection | Eight connections at 32 ms ≈ 8–16 ms added to OB1 |
Port, Subnet, and PROFINET Coexistence
Whether PROFINET and EtherNet/IP can share a single physical port of the S7-1500 is a frequent point of confusion. Field experience and the official Siemens example indicate the following:
- Both protocols share the same TCP/UDP stack and the same PROFINET port. The CPU can route between subnets.
- However, if PROFINET IO real-time (IRT) and EtherNet/IP cyclic I/O are scheduled on the same interface under heavy load, the OB1 service time for the EtherNet/IP stack increases.
- Recommendation: dedicate one PROFINET port of the CPU to PROFINET (machine IO) and the second port to EtherNet/IP (FANUC, drives, third-party IO). On S7-1200 (single-port) CPUs, do not run IRT PROFINET and EtherNet/IP at the same time on the same port.
Integrating a FANUC Robot via EDA
The FANUC EDA (Ethernet Device Access) interface exposes a subset of CIP assemblies for digital I/O and a tag database. A typical 32-byte I/O mapping looks like the following.
| Assembly | Instance | Direction | Size | Typical Content |
|---|---|---|---|---|
| Consumed (PLC → Robot) | 0x64 (100 dec) | O → T | 32 bytes | DI[1..8], DO[1..8] commands, UOP bits, override |
| Produced (Robot → PLC) | 0x65 (101 dec) | T → O | 32 bytes | DI[1..8] status, fault word, cycle counter |
| Configuration | 0x66 (102 dec) | O → T | 0 bytes | Heartbeat/keep-alive |
Commissioning steps:
- On the FANUC controller, enable the EDA option in Menu → Setup → Host Comm → Ethernet/IP. Confirm the IP address matches the Scanner's connection list (e.g., 192.168.10.50).
- In TIA Portal, set RPI = 50 ms and Ownership Timeout = 200 ms for the robot connection. This is a tested field value for FANUC R-30iB and R-30iB Plus controllers.
- Map the UOP bits (User Operator Panel: e.g., IMSTP, Hold, SFSPD, Enable, Reset, etc.) into the first 8 bytes of the produced assembly. Use the
FB_Eip_Msgblock for any non-cyclic tag reads (e.g., fault code fetch) using CIP Get service code 0x0E. - Verify that the robot's CIP status word shows Run/Idle = 0x0001 within 5 seconds of PLC run mode.
Limitations and Non-Supported Features
- No EDS import: third-party devices must be configured by manual assembly declaration. This is the single largest deviation from a native Rockwell implementation.
- CIP Safety: not supported. Safety-rated EtherNet/IP traffic (CIP Safety on EtherNet/IP) requires a Safety Logic Solver, a Safety I/O device, and is not part of the S7-1200/1500 software stack. Use PROFINET PROFIsafe for safety.
- CIP Motion: not supported. Drives that depend on CIP Motion (e.g., Allen-Bradley Kinetix) will only operate in regulator-less I/O mode.
- Device-Level Ring (DLR): not supported in the CPU port; redundant ring topologies require an external managed switch or the ProSoft PLX3x gateway with DLR support.
- Web server diagnostics: limited. Use the diag word in the FB instance DB rather than the CPU's web page.
Diagnostics and Fault Mapping
The instance DB of FB_Eip_Scanner exposes a structured diagnostic word. The following table maps the most commonly observed bit patterns.
| Bit | Name | Meaning | Corrective Action |
|---|---|---|---|
| 0.0 | ConnOpen | Class 1 connection is established | Informational |
| 0.1 | ExplMsgErr | Explicit message returned non-zero status | Inspect ServiceCode / Instance; verify the Adapter supports the class |
| 0.2 | RpiViolation | OB1 missed the RPI window | Increase RPI; reduce OB1 logic; isolate EtherNet/IP on its own port |
| 0.3 | ConnTimeout | Ownership Timeout expired | Check cabling, switch, IP conflict; verify Adapter is in Run mode |
| 0.4 | AssemblySizeErr | Producer/consumer size mismatch | Re-declare assembly instances; check Adapter's config |
| 0.5 | AuthErr | CIP Security / TLS handshake failed | Disable CIP Security on Adapter (not supported in this stack) |
Verification Procedure
- Power the cell. Confirm the FANUC EDA LED (or the third-party device's MS/NS LEDs) reports MS = solid green and NS = flashing green within 10 seconds.
- From the PLC, force the
Runtag ofFB_Eip_Scanner= TRUE. WatchDiag.ConnOpenrise within 5 seconds. - Toggle a bit in the produced assembly (e.g., DO[1] on the robot) and verify the matching bit in the consumed assembly in the PLC's process image is set within 1 × RPI.
- Read the diag word over the Web server or HMI. All fault bits should be FALSE.
- Disconnect the Ethernet cable. The
ConnTimeoutbit must rise within 4 × RPI. Reconnect;ConnOpenmust recover within 2 × RPI.
Field-Proven Best Practices
- Always run EtherNet/IP on a dedicated CPU port or VLAN. The CPU's two-port model is the cleanest separation.
- Use a managed switch (e.g., SCALANCE XC-200) with IGMP snooping disabled on the EDA port to avoid CIP multicast storming.
- Set RPI = 50 ms as a starting point for FANUC EDA. 32 ms is achievable but consumes more CPU; 50 ms is the working field default.
- Version-pin the library. The EthernetIP library in TIA Portal V16 differs from V17; mixing FBs from multiple versions in the same project causes silent type-mismatch errors at compile time.
- Document the assembly map in the PLC's HMI faceplate library so the maintenance team can read the diag word without a laptop.
Frequently Asked Questions
Does the S7-1500 support EtherNet/IP natively?
No. The CIP stack is shipped as a TIA Portal library (FBs + UDTs) and is serviced by OB1. There is no embedded CIP engine comparable to a ControlLogix, so RPI and cycle-time constraints apply. See Siemens Support 109782314 for the official example project.
What is the minimum RPI for EtherNet/IP on an S7-1500?
32 ms is the absolute minimum the library supports in production. Field-proven default for FANUC EDA is 50 ms. Setting RPI below 32 ms causes scan jitter and CIP connection timeouts under PROFINET IRT load.
Can PROFINET and EtherNet/IP share the same CPU port?
On dual-port S7-1500 CPUs, dedicate one port to PROFINET and the other to EtherNet/IP. On a single-port S7-1200, do not run PROFINET IRT and EtherNet/IP on the same physical interface in production.
Can EDS files be imported into TIA Portal for EtherNet/IP devices?
No. EDS import is not supported on Siemens PLCs. Third-party EtherNet/IP devices must be configured manually using assembly instance numbers and connection parameters declared in a global DB.
Is CIP Safety supported on an S7-1500 over EtherNet/IP?
No. CIP Safety on EtherNet/IP is not part of the S7-1200/1500 software stack. Use PROFINET PROFIsafe for safety-rated I/O and CIP Safety only on a Safety Logic Solver such as a GuardLogix.
Which FANUC controllers expose EtherNet/IP via EDA?
R-30iA, R-30iB, and R-30iB Plus controllers with the EDA option enabled. Use assembly instances 100 (0x64) for PLC-to-robot and 101 (0x65) for robot-to-PLC with a 32-byte payload as the standard footprint.