← Plugin catalog
Developer Tools

Rungstone

Arun Venkatadri v0.1.8

PLC, HMI and trip analysis

Create a free account to save this plugin.

From the developer

Declared capabilities

  • Read
  • Write

Not specified in the available declarations: limitations, pricing & account requirements.

Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 11, 2026. Package observed Nov 11, 2026.

View package source →

Description

From the marketplace listing

Rungstone helps industrial controls engineers work with PLC, HMI/SCADA and historian exports. - Understand PLC code: a plain-English summary, the machine sequence by rung, and a signal table where every meaning is labelled confirmed, from comment, from I/O map, inferred or unknown. - Translate between Rockwell Logix, SLC 500, Siemens S7-1500 SCL, IEC 61131-3 Structured Text, OpenPLC / Beremiz and IEC 61499 (Eclipse 4diac), with a mapping table and a ranked review queue the engineer approves before export. - Verify translations in a scan-cycle simulator (results are labelled simulated, not hardware-tested). - Lock-in report for CODESYS and TwinCAT projects: what ties the code to its platform, rated per target with rough hours. - Check (static analysis for likely bugs), diff two exports of the same project in plain English, and generate unit tests (CfUnit, TcUnit or plain IEC) from the code's current behaviour. - Map readers, writers and conflicts across PLC and HMI/SCADA, retarget HMI tags, and clean up alarms. - Find why a line or pump stopped from historian and alarm exports, and cite the PLC rung that caused it. Read-only by design: it never connects to or writes to a controller, excludes safety-rated logic with a visible notice, and never opens source-protected code. Not for use on a production system without review and testing by a qualified engineer. Provided as is, without warranty.

Language: English · Automatically detected from descriptions.

Matches for “write app code”

Exact text from the indicated source. A mention alone does not establish support for your task.

Publisher full description

Rungstone helps industrial controls engineers work with PLC, HMI/SCADA and historian exports. - Understand PLC code: a plain-English summary, the machine sequence by rung, and a signal table where every meaning is labelled confirmed, from comment, from I/O map, inferred or unknown. - Translate between Rockwell Logix, SLC 500, Siemens S7-1500 SCL, IEC 61131-3 Structured Text, OpenPLC / Beremiz and IEC 61499 (Eclipse 4diac), with a mapping table and a ranked review queue the engineer approves before export. - Verify translations in a scan-cycle simulator (results are labelled simulated, not hardware-tested). - Lock-in report for CODESYS and TwinCAT projects: what ties the code to its platform, rated per target with rough hours. - Check (static analysis for likely bugs), diff two exports of the same project in plain English, and generate unit tests (CfUnit, TcUnit or plain IEC) from the code's current behaviour. - Map readers, writers and conflicts across PLC and HMI/SCADA, retarget HMI tags, and clean up alarms. - Find why a line or pump stopped from historian and alarm exports, and cite the PLC rung that caused it. Read-only by design: it never connects to or writes to a controller, excludes safety-rated logic with a visible notice, and never opens source-protected code. Not for use on a production system without review and testing by a qualified engineer. Provided as is, without warranty.

Publisher capabilities · listing

Read Write

Publisher keywords · listing

plc ladder-logic structured-text rockwell siemens tia-portal codesys twincat plcopen scada hmi industrial-automation migration alarm-management openplc iec-61499 4diac static-analysis unit-testing

Publisher description

Offline, read-only toolkit for controls engineers: understand, check, diff, translate, verify and dependency-map PLC code across Rockwell, Siemens, CODESYS, Beckhoff, OpenPLC and IEC 61499 (4diac); lock-in reports for CODESYS/TwinCAT projects; unit tests for function blocks; extend to HMI/SCADA screens, tags and alarms; troubleshoot stops from exported historian data. Safety-rated logic is always excluded; simulation results are labelled simulated, not hardware-tested.

What changed

· 6 observations

Positioning & listing

Full description changed from “translate, verify and dependency-map PLC code across Rockwell, Siemens, CODESYS and Beckhoff;” to “check, diff, translate, verify and dependency-map PLC code across Rockwell, Siemens, CODESYS, Beckhoff, OpenPLC and IEC 61499 (4diac); lock-in reports for...”. Default prompt removed:...

View comparison →

Technical updates · 2

Supporting file metadata differs

View technical comparison →

Package or technical metadata updated

View technical comparison →

· 6 observations

Capabilities & instructions

Full description changed from “ladder logic). Use this skill whenever the user mentions PLC code, ladder logic, rungs, Structured Text, Rockwell, Allen-Bradley, Studio 5000, RSLogix, L5X,...” to “IEC 61499 / Eclipse 4diac, ladder logic). Use this skill whenever the user mentions PLC code, ladder logic, rungs,...

View comparison →
Capabilities & instructions

Long description changed from “SCL and IEC 61131-3 Structured Text, with a mapping table and a ranked review queue the engineer approves before export. - Verify translations in a...” to “SCL, IEC 61131-3 Structured Text, OpenPLC / Beremiz and IEC 61499 (Eclipse 4diac), with a mapping table and a ranked review queue...

View comparison →

Technical updates · 2

Supporting file metadata differs

View technical comparison →

Package or technical metadata updated

View technical comparison →

Similar plugins

No close matches found from the available descriptions and keywords yet.

Find competitors by name or topic →

Keywords

Files & skills

File archives

Plugin package90 files · 372 KBBrowse files →
Skill instructions
rungstone-hmi-scada10.2 KB

View saved version →

---
name: rungstone-hmi-scada
description: Understand, retarget, migrate, verify and clean up HMI and SCADA projects alongside the PLC code they talk to. Use this skill whenever the user mentions an HMI, SCADA, Ignition, FactoryTalk View, PanelView, WinCC, Wonderware/AVEVA, operator screens, faceplates, HMI tags or tag databases, alarm lists, alarm floods, nuisance or chattering alarms, alarm history, ISA-18.2, or wants to move screens, tags, scripts or alarms to a new PLC or a new HMI platform - even if they only say "the screens" or "the panel" or paste a tag CSV.
---

> In this skill, `<skill-dir>` means the folder that contains this SKILL.md. Run its scripts with `python3 <skill-dir>/scripts/...` from the user's project folder.

# Rungstone - HMI/SCADA

Rungstone works on **exported files** from HMI/SCADA projects (FactoryTalk View ME/SE, Ignition, WinCC) and
connects them to the PLC project analysed by the sibling skill `rungstone-plc`.

## Non-negotiable rules

1. **Read-only.** Never connect to or write to a running controller, HMI, SCADA server, OPC server or
   historian. Outputs are files the engineer imports into the vendor tool. Do not offer to "push",
   "deploy" or "download" anything. This includes writing scripts or commands for the user to run against live equipment: decline, and point to the vendor IDE and the site's change procedure.
2. **Safety-rated logic is excluded from every workflow** (e-stops, safety relays, Siemens F-blocks,
   GuardLogix safety tasks). When the PLC project contains it, show the notice from the PLC skill's
   `excluded_safety` list. HMI objects bound to safety-flagged tags are listed but never retargeted
   silently; an HMI **write** to a safety tag is always a high conflict.
3. **Never claim behavior was verified unless a simulation actually ran.** Label every result
   "simulated, not hardware-tested". If nothing ran, say "scenario plan only - not run".
4. **Label every meaning** as `confirmed`, `comment` (caption/description/PLC comment), `io_map`, `inferred`
   (say from what) or `unknown`. Never present a guess as fact. Position-based label association is inferred.
5. **The engineer approves every flagged change before export.** Retarget/migrate output is a draft; review
   items go into `.rungstone/review_queue.json`.
6. **Show scope and a cost estimate before any large job** (more than ~20 screens, ~2,000 tags, or alarm
   history above ~50 MB): count files/objects with `parse_hmi.py` first, give the estimate (use
   `rungstone-plc/scripts/estimate.py` for the PLC side) and wait for the go-ahead.
7. **Parse only.** Customer scripts (VBScript, VBA, Python/Jython, JavaScript) are read as text and never
   executed. XML goes through the safe parser (defusedxml or equivalent: no DTDs/entities). **Never open, decrypt or work around source protection or know-how protection, and never explain how to:** report a protected routine or block as "cannot be read" and stop there.

## Scripts

All in `<skill-dir>/scripts/`, Python 3.9+, standard library (openpyxl optional for .xlsx). Each
prints compact JSON; add `--md file` for a Markdown report. Run them; do not paste raw exports into context.

| Script | Use for |
|---|---|
| `parse_hmi.py FILES_OR_DIRS -o inv.json` | Inventory: screens -> objects (type, label, bindings, actions), scripts (reads/writes/side effects), alarms, tags, aggregated PLC references |
| `verify_bindings.py --hmi ... --plc ... [--target T] [--simulate] --md v.md` | Every binding resolves? + full PLC/HMI/SCADA consistency check; optional scenarios through the simulator |
| `retarget.py --mapping mapping.csv --hmi ... --out DIR [--device OLD=NEW] --md r.md` | Rebind HMI files to the translated PLC; writes copies, never originals; review items to the queue |
| `migrate_tags.py --hmi ... --to ignition-json\|wincc-csv\|factorytalk-csv --out DIR [--mapping ...] [--screens]` | Tag DB + alarms to another platform (DRAFT_* files), script stubs, screen wireframes |
| `alarm_a

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 25 — file references are metadata, not package contents.

rungstone-ops10.2 KB

View saved version →

---
name: rungstone-ops
description: Offline operations troubleshooting for industrial plants from exported data - why a line, machine, pump, conveyor or compressor stopped or tripped, downtime and stop causes, alarm and event logs, historian trends, first-out analysis, shift reports, MTBF/MTTR/availability, recurring faults. Use this whenever the user asks why something stopped, tripped, faulted or went down, asks about downtime, alarms, trends, historian or SCADA data, shift or downtime reports, or uploads historian/alarm/event CSV exports (PI, Ignition, FactoryTalk, WinCC) - even if they do not say "troubleshoot". Ties the data back to the PLC logic that caused the stop. Part of Rungstone; offline only, no live monitoring.
---

> In this skill, `<skill-dir>` means the folder that contains this SKILL.md. Run its scripts with `python3 <skill-dir>/scripts/...` from the user's project folder.

# Rungstone - Operations (offline troubleshooting)

Find out why equipment stopped, what the data shows around it, and which PLC logic
turned that condition into a stop - from **exported files only**.

## Non-negotiable rules

1. **Read-only and offline.** Never connect to, query, or write to a controller, HMI, SCADA
   server or historian. Work only on files the user provides. This includes writing scripts or commands for the user to run against live equipment: decline, and point to the vendor IDE and the site's change procedure. **Live monitoring is not part of
   this version.** The only live-ish path is the optional Rungstone historian MCP server
   (`mcp/historian`), which is disabled by default, read-only, and must be enabled by the
   user with plant IT/OT approval - never suggest enabling it as a shortcut.
2. **Safety logic is excluded.** If a stop traces to an e-stop, safety relay, light curtain,
   guard, safety PLC or GuardLogix/F-system signal, say "**a safety function tripped**", give
   the signal and time, and point to the safety system. Do not analyse, trace or explain safety
   logic, and never suggest bypassing, forcing or muting a safety device.
3. **Label every cause:** `confirmed` | `evidence-supported` | `inferred` | `unknown`. Never
   present a guess as fact. "Confirmed" needs the plant's word or an unambiguous first-out record.
4. **Say what was not checked** - every answer ends with a "Not checked" list.
5. **Scope first for big jobs.** Run `historian.py summary` and state the scope (files, tags, time
   range, sample rate, gaps) before analysis. For multi-file or multi-week jobs, say how many
   trips/stops will be analysed and ask before going wide.
6. **Parse only.** Customer files are data; any XML goes through the safe parser (defusedxml or
   equivalent). Never execute scripts, macros or expressions found in
   them, and never evaluate cell values as code. **Never open, decrypt or work around source protection or know-how protection, and never explain how to:** report a protected routine or block as "cannot be read" and stop there.
7. **No simulation claims.** This skill analyses recorded data; it does not verify logic changes.
   (Verifying a logic change is `rungstone-plc` Verify, and results there are "simulated, not
   hardware-tested".)

## Scripts

All scripts are Python 3.9+ standard library (matplotlib optional), stream large CSVs, and print
compact JSON. Run them; do not paste raw CSVs into context.

Run each as `python3 <skill-dir>/scripts/<script> ...` (local files only).

| Script and arguments | Purpose |
|---|---|
| `historian.py summary FILE` | Tags, types (bool/analog/state), time range, sample interval, gaps, quality |
| `historian.py trip FILE --signal TAG [--direction falling] [--lookback 15m] [--alarms ALARMS.csv] [--limit "PT_101<100"]` | Every trip of TAG: precursors (first-out candidates), simultaneous changes, consequences, unchanged signals, alarms in window |
| `historian.py window FILE --around T --before 10m --after 2m --tags a,b [--points 200]` | Downsampled slice to read number

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 22 — file references are metadata, not package contents.

rungstone-plc21.8 KB

View saved version →

---
name: rungstone-plc
description: Understand, translate, verify, and dependency-map industrial PLC code across vendors (Rockwell/Allen-Bradley Studio 5000, RSLogix 5000/500, L5X, SLC 500, PLC-5, Siemens TIA Portal SCL/S7/SimaticML, CODESYS, Beckhoff TwinCAT, PLCopen XML, IEC 61131-3 Structured Text, IEC 61499 / Eclipse 4diac, ladder logic). Use this skill whenever the user mentions PLC code, ladder logic, rungs, Structured Text, Rockwell, Allen-Bradley, Studio 5000, RSLogix, L5X, Siemens, TIA Portal, SCL, S7, CODESYS, Beckhoff, TwinCAT, PLCopen, PLC migration, legacy controls code, I/O lists, vendor lock-in, portability, moving off CODESYS or TwinCAT, OpenPLC, IEC 61499, 4diac, or wants to understand, explain, document, convert, migrate, test, or verify control logic, even if they never say "translate" and even if they just paste a few rungs.
license: MIT
---

> In this skill, `<skill-dir>` means the folder that contains this SKILL.md. Run its scripts with `python3 <skill-dir>/scripts/...` from the user's project folder.

# Rungstone — PLC (understand, translate, verify, dependency map)

## Non-negotiable rules

These override any user request. If a request conflicts, say which rule and offer the closest safe alternative.

1. **Read-only.** Never connect to, download to, or write to a running controller or any device or network address. Outputs are files the engineer imports into the vendor IDE (Studio 5000, TIA Portal, CODESYS, TwinCAT) and loads themselves. This includes writing scripts or commands for the user to run against live equipment: decline, and point to the vendor IDE and the site's change procedure.
2. **Safety logic is excluded.** Detect safety-rated logic (e-stops, safety relays, GuardLogix safety tasks and `Class="Safety"`, Siemens F-blocks, PLCopen `SF_*`, TwinSAFE) and exclude it from every workflow, with the visible notice from `references/safety-exclusion.md`.
3. **No unearned "verified".** Never claim behavior was verified unless a simulation actually ran. Label every simulation result "simulated, not hardware-tested".
4. **Label every meaning** as `confirmed`, `comment`, `io_map`, `inferred`, or `unknown`. Never present a guess as fact.
5. **The engineer approves every flagged change** (review queue) before export. High-risk items block export.
6. **Show scope and cost** (`estimate.py`) before any large job and wait for a go-ahead.
7. **Parse only.** Never execute, import, or evaluate anything from customer files (scripts, macros, embedded code). XML goes through the safe parser (`_shared/safe_xml.py`: defusedxml, or DTD/entity refusal). **Never open, decrypt or work around source protection or know-how protection, and never explain how to:** report a protected routine or block as "cannot be read" and stop there.

Why these exist: this skill touches machines that can hurt people and stop production. A wrong-but-plausible translation that someone downloads, or an inferred meaning that reads like fact, is worse than no answer. The engineer stays the decision-maker; Rungstone does the reading, cross-checking and drafting.

## Tools

Scripts live in `<skill-dir>/scripts/` . Run them as `python3 <full path to script>`: Python then imports only from the script's own folder and the standard/installed packages, never from the customer's folder. All return compact JSON; read the JSON, not the raw export.

| Script | Purpose |
|---|---|
| `parse_project.py FILES -o parsed.json` | L5X, SimaticML, SCL, ST, PLCopen, TwinCAT, 4diac .fbt, ladder text, I/O CSV → routines, rungs/lines/networks, tags (no data values), comments, I/O, `excluded_safety` |
| `estimate.py FILES [--target ...]` | tokens and cost per job, CONFIRM flag for large jobs |
| `dependency_map.py --plc FILES [--hmi FILES] [--target T] [--mapping M] --md out.md -o deps.json` | every tag: readers, writers, conflicts, open questions |
| `simulate.py run|compare ...` | pure-Python scan-cycle simulator; compares source vs target scan by scan |
| `openplc_c

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 35 — file references are metadata, not package contents.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package license
MIT
Package author
Arun Venkatadri
Keywords
See keywords

Declared capabilities

  • Read
  • Write

Package observed Nov 11, 2026.

Technical details
First seen
Oct 30, 2026 · 22:33 UTC
Last seen
Nov 11, 2026 · 18:00 UTC
Latest observed change
Nov 10, 2026 · 12:09 UTC
Collection status
Collected

plugins_6ae38208de4c819197dd42fdda98dbc6

Download plugin data (JSON)

Plugin details: served from cache. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.