FANUC Robot to AutomationDirect P2-550 (Productivity2000): Setting Up EtherNet/IP UOP I/O
Connecting a FANUC robot controller to a Productivity2000 P2-550 PLC over EtherNet/IP lets the PLC command the robot (start, stop, reset, home) and read its status (running, faulted, at home) through the standard UOP (User Operator Panel) signal set — no separate hardwired I/O needed between the cell controller and the robot cabinet. The P2-550 has EtherNet/IP built into its onboard port, so no add-on module is required.
Prerequisites
- FANUC R-30iA/R-30iB (or Plus) controller with the Ethernet/IP software option installed. If it's not present, contact FANUC — it's a licensed option, not free with every controller.
- AutomationDirect P2-550 CPU (Productivity2000), with Productivity Suite software installed on your PC.
- FANUC Ethernet/IP EDS file (optional — the P2-550 doesn't require an EDS import the way Rockwell software does; you configure it directly, covered below).
- Both devices on the same subnet, connected via switch or direct cable (the P2-550's ports are auto MDI/MDI-X, so either cable type works).
- A defined signal list before you start: which UOP bits you actually need. Most cells only use a handful — see the mapping table below.
Part 1: FANUC Controller Setup
Enable Ethernet/IP and check network settings
- On the teach pendant: MENU > SETUP > Host Comm (or equivalent Ethernet setup screen). Confirm the controller has a valid IP address on the same subnet as the P2-550.
- Ping the robot's IP from a PC on the same network to confirm connectivity before going further.
Configure the Ethernet/IP adapter connection
- MENU > I/O > Ethernet/IP.
- Select the connection you want to use (a robot can have more than one EIP adapter connection defined).
- Press F4 – CONFIG.
- Enter the Input and Output sizes you want to exchange. For a standard UOP set, 4 words (8 bytes) each direction is typical and matches the example used throughout this guide — adjust if your application needs more.
- This size must match exactly what you configure on the P2-550 side. A mismatch is the single most common cause of a failed connection.
Configure UOP I/O routing
- MENU > I/O > UOP > IN/OUT > CONFIG.
- Set the following:
- Go to System > Config and set Enable UI Signals to TRUE (this hands UOP control to the network connection instead of requiring hardwired panel signals).
- Return to the Ethernet/IP adapter screen, cursor to ENABLE, and press the (F) softkey to set it TRUE. If you need to change word sizes later, set ENABLE to FALSE first, make your changes, then set it back to TRUE.
- Cold-start the controller if prompted (MENU > Restart Controller > Cold Start) — some Ethernet/IP and UOP settings only take effect after a restart.
Part 2: P2-550 Setup (Productivity Suite)
The P2-550 can act as EtherNet/IP Scanner (initiates the connection — what you want here, since the PLC is the one reading/writing the robot) or Adapter (responds to a scanner). For this setup the P2-550 is the Scanner and the FANUC controller is the Adapter.
Add the EtherNet/IP device
- Open your project in Productivity Suite, go to Setup > Hardware Configuration.
- Add a new EtherNet/IP device (Scanner-side connection) to the configuration.
- Enter the IP address of the FANUC controller.
Configure the Input data (robot → PLC, "T→O" — Target to Originator)
This is the data the P2-550 receives from the robot (UOP outputs: RUN, HOME, fault, etc.).
SettingValue Connection PointSet to match the robot's configured connection number (matches what you set on the FANUC Ethernet/IP CONFIG screen) Size8 bytes (matches the 4-word size configured on the robot) Connection TypeUnicast (or Multicast if you need multiple listeners — Unicast is simpler and covers most single-PLC cells)Configure the Output data (PLC → robot, "O→T" — Originator to Target)
This is the data the P2-550 sends to the robot (UOP inputs: START, HOLD, RESET, etc.).
SettingValue Connection PointMatches the robot's configuration Size8 bytesP2-550-specific gotcha: the Productivity2000 CPU always requires a Run/Idle header on the Output (O→T) data — this adds 4 bytes on top of your actual data size in the Forward Open calculation. If the robot side doesn't have a "Run/Idle header" option to match, you may need to account for this by requesting the connection point size as robot-data + 4 bytes, or you'll get error 0x01/0x0127 – Invalid Originator to Target Size. This is the most common configuration mismatch specific to pairing a P2000 with a non-Rockwell adapter, since Rockwell PLCs handle this automatically and most non-Rockwell integration guides don't mention it.
Configuration data connection point
Most devices, including FANUC, use a fixed-size (often zero-length) Configuration data connection. Leave this at the default unless the robot's documentation specifies otherwise. If the FANUC side rejects the connection with an "Invalid Configuration Application Path" error, try removing the Configuration Connection Point from the Forward Open — there's a checkbox for this in the P2-550's EtherNet/IP device setup.
RPI (Request Packet Interval)
The P2-550 will accept a minimum RPI of 10ms, but it can't actually produce data faster than its ladder scan time — set RPI to something reasonable for your application. 10–50ms is typical for UOP-style handshaking; you don't need sub-10ms for start/stop/status signals.
UOP Signal Mapping Reference
Once the connection is live, use Pack Bits (PLC → robot) and Unpack Bits (robot → PLC) instructions in ladder logic to break the 32-bit words into individual tags. Standard FANUC UOP bit assignments:
BitInput (PLC → Robot)Output (Robot → PLC) 0INITIMSTP (Immediate Stop status) 1CSTOPI (Cycle Stop)CSTO (Cycle Stop status) 2HOLDHOLD (status) 3SFSPD (Safe Speed)SFSPD (status) 4RESETRESET (status) 5STARTRUN (running status) 6HOMEHOME (at home status) 7ENBL (Enable)ENBL (enabled status) 8–15ReservedReserved 16–31User DefinableUser DefinableVerification Checklist
- Ethernet/IP option present and licensed on the FANUC controller
- Robot and P2-550 can ping each other
- Robot UOP configured: Rack 89, Slot 1, Start 1
- "Enable UI Signals" set TRUE on the robot
- Robot Ethernet/IP adapter ENABLE set TRUE, correct connection number selected
- Input/Output sizes match exactly on both sides (account for the 4-byte Run/Idle header on the O→T path)
- P2-550 configured as Scanner, not Adapter, for this connection
- Connection Point values match on both sides
- RPI set to 10ms or higher
- Pack/Unpack Bits logic built in ladder to break out individual UOP signals
Troubleshooting
Connection won't establish at all:
- Check cabling/link lights, confirm same subnet, ping test both directions.
- Confirm the robot's Ethernet/IP ENABLE bit is actually TRUE (not just configured).
"Invalid Originator to Target Size" (0x01/0x0127) or "Invalid Target to Originator Size" (0x01/0x0128):
- Your Input/Output byte sizes don't match between the two devices. Remember the P2-550's Run/Idle header adds 4 bytes to the O→T side — this is the #1 cause of this error when pairing with a P2000.
Connection establishes but data looks wrong:
- Verify Connection Point values match on both sides — a mismatched connection point can connect successfully but hand you the wrong data block.
- Double check word-swap/byte-order settings if values look byte-reversed.
"Owner Conflict" (0x01/0x0106):
- Another scanner (e.g., a second PLC, or a leftover connection from a previous session) already owns this connection point on the robot. Power-cycle the robot controller or wait for the stale connection to time out.
Notes on P2-550 Connection Limits
The Productivity2000 supports up to 4 TCP, 4 EtherNet/IP, and 4 CIP connections total (up to 4 CIP connections per EtherNet/IP device, so up to 16 CIP connections across 4 devices). If you're running multiple robots or other EtherNet/IP devices off the same P2-550, plan your connection budget accordingly — a single robot UOP connection only uses one of these slots.