# Rockwell Studio 5000

> Comprehensive operational skill specification for Anthropic Claude to automate, script, troubleshoot, and optimize Rockwell Studio 5000 Logix Designer, ControlLogix/CompactLogix, EtherNet/IP CIP, pycomm3, and L5X schemas.

- Skill: `alivirgo/rockwell-studio-5000` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add alivirgo/rockwell-studio-5000`
- Raw SKILL.md: https://api.skillmd.com/api/skills/alivirgo/rockwell-studio-5000/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: alivirgo (https://skillmd.com/u/alivirgo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/alivirgo/rockwell-studio-5000

---


# Rockwell Studio 5000 Logix Designer AI Skill Guide (Claude)

## Overview & Engine Architecture
Rockwell Automation Studio 5000 Logix Designer is the enterprise programming standard for Allen-Bradley **ControlLogix (1756)** and **CompactLogix (5069/5380)** PAC/PLC systems. The platform utilizes a 100% **Tag-Based Memory Architecture (Controller-Scoped vs Program-Scoped Tags)**, modular **User-Defined Data Types (UDT)**, reusable **Add-On Instructions (AOI)**, and the **Common Industrial Protocol (CIP)** over EtherNet/IP. Studio 5000 integrates **CIP Motion (Kinetix 5700 servos)**, Produced/Consumed multicast tags, and serializes full project definitions into human-readable **L5X XML** and **L5K** text files. Claude operates as a Principal Controls Systems Architect and Allen-Bradley Automation Specialist, specializing in **CIP EtherNet/IP communication scripting (`pycomm3`)**, **L5X schema manipulation**, **Major Fault Type/Code diagnostics**, and **motion axis tuning**.

### Studio 5000 Architecture & EtherNet/IP CIP Stack

```
┌─────────────────────────────────────────────────────────────┐
│                 Studio 5000 Architecture                    │
│                                                             │
│  Engineering & Serialization Layer                          │
│  ├── Logix Designer IDE (Ladder LD, Function Block, ST, SFC)│
│  ├── L5X XML / L5K Import/Export Schema Engine              │
│  └── User-Defined Types (UDT) & Add-On Instructions (AOI)   │
│                                                             │
│  ControlLogix / CompactLogix Execution Core                 │
│  ├── 1GHz Dual-Core Embedded Control Engine                 │
│  ├── Continuous & Periodic Tasks (Configurable Watchdogs)   │
│  └── CIP Motion Coordinate Transform & Cam Profile Engine   │
│                                                             │
│  Industrial Communications & CIP Subsystem                  │
│  ├── Common Industrial Protocol (CIP over TCP/UDP 44818)    │
│  ├── Implicit I/O Messaging & Produced/Consumed Tag Multicast│
│  └── FactoryTalk Linx / RSLinx Classic Gateway Core         │
└─────────────────────────────────────────────────────────────┘
```

---

## Operational Capabilities & Agent Directives

1. **CIP EtherNet/IP Automation (`pycomm3`)**: Construct Python scripts to read and write atomic tags, UDT structures, and arrays directly from ControlLogix controllers over CIP (TCP port 44818).
2. **L5X XML Project Generation**: Author scripts parsing and generating Studio 5000 `.L5X` project files, automatically building tags, rungs, and AOIs.
3. **Major Fault Diagnostics & Recovery**: Analyze controller fault logs to resolve critical exceptions (Type 01 Task Watchdogs, Type 03 I/O Faults, Type 04 Program Errors).
4. **EtherNet/IP RPI & Network Capacity Triage**: Calibrate Requested Packet Intervals (RPI) to eliminate network packet loss and prevent CIP connection capacity saturation on 1756-EN2T/EN4TR communication adapters.

---

## Production Python Automation: EtherNet/IP CIP Multi-Tag Reader & Writer (`pycomm3`)

Save this script as `read_logix_tags.py` (requires `pip install pycomm3`):

```python
"""
Rockwell Studio 5000: EtherNet/IP CIP Multi-Tag Client (pycomm3)
Reads and writes atomic and structured tags from ControlLogix / CompactLogix PLCs.
"""

import sys
from pycomm3 import LogixDriver

PLC_IP = "192.168.1.10" # IP of 1756-EN2T or CompactLogix processor
PLC_SLOT = 0           # Processor slot (0 for CompactLogix or 1756-L8xE; 1-17 for ControlLogix)

def monitor_controllogix_plc():
    plc_path = f"{PLC_IP}/{PLC_SLOT}" if PLC_SLOT is not None else PLC_IP
    print(f"--- [CONNECTING TO ALLEN-BRADLEY PLC: {plc_path}] ---")

    try:
        with LogixDriver(plc_path) as plc:
            # 1. Query Controller Identity Information
            info = plc.info
            print(f"• Controller Model:   {info.get('product_name')}")
            print(f"• Firmware Revision:  {info.get('revision')}")
            print(f"• Controller Keyswitch:{info.get('keyswitch')}")

            # 2. Multi-Tag Read Pass
            tags_to_read = ["Motor_Speed_Feedback", "Line_Running_Status", "Production_Count"]
            print(f"\nReading {len(tags_to_read)} Controller Tags...")
            results = plc.read(*tags_to_read)

            for tag_result in results:
                if tag_result.error is None:
                    print(f"  • Tag: {tag_result.tag:<24} | Value: {tag_result.value} ({tag_result.type})")
                else:
                    print(f"  🚨 Failed to read '{tag_result.tag}': {tag_result.error}")

            # 3. Tag Write Pass (Setpoint)
            print("\nWriting Setpoint Tag: 'Target_Line_Speed' -> 1750.0 RPM...")
            write_res = plc.write("Target_Line_Speed", 1750.0)
            if write_res.error is None:
                print("✅ Successfully updated setpoint!")
            else:
                print(f"🚨 Write failed: {write_res.error}")

    except Exception as e:
        print(f"🚨 Connection error: {e}")
        print("Note: Ensure Ethernet cable is connected and TCP port 44818 is open.")

if __name__ == "__main__":
    monitor_controllogix_plc()
```

---

## Technical Troubleshooting Matrix

| Issue & Failure Signature | Root Cause Analysis | Diagnostic & Resolution Pathway |
| :--- | :--- | :--- |
| **Major Fault: `Type 01 Code 60 (Task Watchdog)`** | Periodic or Continuous Task execution duration exceeded configured watchdog timer (e.g. $500\text{ms}$). | 1. In Controller Properties $\rightarrow$ Faults, clear Major Fault.<br>2. In Task Properties $\rightarrow$ Configuration, inspect Max Scan Time and optimize Structured Text loops or increase Watchdog threshold.<br>3. Switch controller keyswitch from PROG $\rightarrow$ RUN. |
| **EtherNet/IP I/O Module Yellow Triangle: `Bad RPI`** | Module RPI configured below supported hardware rate (e.g. $1\text{ms}$ on slow analog card). | In Module Properties $\rightarrow$ **Connection**, increase RPI to $\ge 10\text{ms}$ for analog I/O or $\ge 2\text{ms}$ for digital I/O. |
| **"Cannot accept edits while major fault present"** | Online edits cannot be committed while processor is halted in a fault state. | Clear Major Fault in Controller Properties $\rightarrow$ Fault Log, then proceed with Test Edits $\rightarrow$ Assemble Edits. |
| **FactoryTalk Activation Error: `Grace Period Expired`** | `FactoryTalk Activation Service` (FTAS) unable to contact license server on port 27000. | In Windows Services, restart **FactoryTalk Activation Service** and verify license file in `C:\Users\Public\Documents\Rockwell Automation\Activations\`. |

---

## Command Line Syntax & Studio 5000 Executables

```bash
# 1. Launch Studio 5000 Logix Designer with Specific Project (.ACD)
"C:\Program Files (x86)\Rockwell Software\Studio 5000\Logix Designer\ENG\LogixDesigner.exe" "C:\Projects\PackagingLine.ACD"

# 2. Query EtherNet/IP Port 44818 Connectivity
python3 -c "import socket; s = socket.socket(); s.connect(('192.168.1.10', 44818)); print('CIP Port 44818 Open!'); s.close()"
```

### Essential File Locations
- **Project Files**: `*.ACD` (Binary), `*.L5X` (XML Export), `*.L5K` (Text)
- **Logix Designer Binary**: `C:\Program Files (x86)\Rockwell Software\Studio 5000\Logix Designer\ENG\LogixDesigner.exe`
- **Activation Licenses**: `C:\Users\Public\Documents\Rockwell Automation\Activations\`

---

## Agent Operational Directive
> **MANDATORY**: When diagnosing Allen-Bradley ControlLogix communication issues, always verify the target chassis slot number (Slot 0 for CompactLogix, Slot $0-17$ for ControlLogix chassis) in the CIP connection path string.

