Use proactively when the user asks for a review of a .st or .xml file generated for CODESYS. I validate Hungarian naming, the FB interface pattern, state machine values, hardcoded addresses (must be zero), English comments, and — for PLCopen XML — I run validateplcopenxml before reviewing.
Use whenever a PLCopen XML file needs to be validated before importing into the CODESYS IDE. I am fast (Haiku), cheap, and focused: I run validateplcopenxml and report the verdict + violations in a copy-pasteable format.
Hungarian + PascalCase + abbreviation naming audit over a folder of .st files, plus architectural lint (single-writer, FB isolation, 1-POU-per-file). A composition of plcvalidate (batch) + reviewstcode + grep-based structural checks + a final checklist.
Smoke test of the MCP's main offline pipeline (6 of the 18 core tools) — conventions, library, FB creation, ST validation, XML generation, XML validation.
Adapt an existing Function Block from the library into the current project. Reads the source, shows it to the user, helps rename/customize, and writes it to the correct destination.
For a directory of .st files, generate PLCopen XML, validate it, and produce a copy-pasteable markdown checklist of the points to review before importing into the CODESYS IDE.
CODESYS pre-import workflow — generate PLCopen XML from the directory, validate it, and delegate a deep review to the xml-validator subagent. Use ALWAYS before "File → Import" in the CODESYS IDE.
Use when the user reports a PLC error code, fault, alarm, or diagnostic problem — hex codes like 0x7500, IEC codes like 16#8011, CMMT/CMMT-ST drive faults, CODESYS compile or runtime errors, EtherCAT AL status codes, SDO abort codes, CiA 402 fault state, or "axis won't move / drive shows error".
Use for HMI and gateway tasks — web HMI, HTML/JS dashboard, WebVisu, TargetVisu, Festo CDPX panel, OPC UA server or client, OPC UA to WebSocket gateway, Node-RED/embedded gateway, "show PLC data in a browser", SCADA screens, or deploying an HMI to Festo hardware.
Use when generating, validating, fixing, or importing PLCopen XML (TC6 0200) — "export to CODESYS", "import XML", "PLCopen file", .xml project files, CODESYS File -> Import, or any XML for PLC POUs.
Use when writing, editing, or refactoring IEC 61131-3 Structured Text — any .st file, Function Block (FB), PROGRAM (PRG), FUNCTION, GVL, ENUM or STRUCT (DUT) for CODESYS, Festo CPX-E, or any PLC task. Also use when the user says "create an FB", "PLC code", "ladder to ST", or asks for machine/automation logic.
Claude Code instructions for efranceschetti/festo-codesys-mcp, covering festocodesysmcp — codesys plc programming server, golden rules, task routing, subagents and project memory.