UNPKG

major-ai-skills

Version:

Installable agentic skills / AI agent skills (SKILL.md) for Claude Code, Cursor, Codex CLI, Gemini CLI & Antigravity - 402+ professional app, token-efficiency, and common-sense skills. SEO/GEO ready.

139 lines (108 loc) 8.63 kB
--- name: rockwell-studio-5000 description: "Work with Studio 5000 Logix projects, L5X files, and pycomm3 communications in an authorized industrial test environment." category: plc-industrial risk: safe source: self source_type: self date_added: "2026-08-26" tags: ["rockwell-studio-5000", "logix-designer", "controllogix", "compactlogix", "ethernet-ip-cip", "pycomm3", "l5x-xml", "claude"] tools: ["claude", "cursor", "gemini", "codex"] --- # 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.