tia-hmi-operations
SkillAI & modelsC# Openness implementation of HMI engineering.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the tia-hmi-operations skill
What this skill tells your AI
The instructions your AI receives, as published by czarnak/totally-integrated-claude in skills/tia-hmi-operations/SKILL.md and read by ahel’s review.
Scope
HMI engineering — full C# Openness implementation.
When the roadmap routes here, the entire solution is C#.
Do not mix with Python wrapper calls.
Always load tia-csharp-common first (done by roadmap).
Reference files
Load ONLY the reference file(s) relevant to the task. Do not load all files at once.
Classic WinCC (WinCC.dll — HmiTarget)
| Reference file | When to use |
|---|---|
references/hmi-target.md | Initialize/Compile: Getting the HmiTarget from a device; compiling HMI; HMI object model overview; namespace-to-composition mapping. |
references/screens.md | Screens: Creating and managing screen folders; deleting screens, screen templates, or entire folder contents. |
references/hmi-composition-hierarchy.md | Screen Items & Alarms: Complete screen composition tree (popups, slideins, templates, global elements); screen item attributes; Alarms, Recipes, and Reports API. |
references/tags.md | Tags: Creating HMI tag table folders; enumerating tags; deleting individual tags or tag tables. |
references/scripts-cycles-connections.md | Services: Managing VB scripts and folders; cycles, connections, text lists, and graphic lists. |
WinCC Unified (WinCCUnified.dll — HmiSoftware)
| Reference file | When to use |
|---|---|
references/unified-overview.md | Initialize/Overview: Getting HmiSoftware entry point; full composition map; required namespaces. |
references/unified-tags-alarms.md | Tags & Alarms: Unified tags, tag tables, groups; alarm classes, discrete/analog alarms; audit classes. |
references/unified-screens.md | Screens: Unified screen hierarchy, groups, folders; ScreenBase, ScreenGroup, and ScreenWindow navigation. |
references/unified-elements.md | Screen Items: Creating/finding shapes (circles, lines) and widgets (buttons, IO fields, gauges). |
references/unified-parts.md | UI Components: Complex parts like DataGrids, AlarmViews, TrendAreas, and ControlBar elements. |
references/unified-dynamization.md | Dynamization: Scripting, Tag/Expression dynamization; MappingTables; flashing conditions. |
references/unified-events.md | Event Handlers: Subscribing to UI events (OnClick, OnChange) for all screen item types. |
references/unified-features.md | Features: UI feature interfaces (IHmiArcFeature, IHmiWindowFeature, IHmiScaleFeature). |
references/unified-logging.md | Logging: Data logs, alarm logs, audit trails, and logging tags. |
references/unified-connections.md | Connections: HMI connections and driver properties. |
references/unified-runtime-settings.md | Runtime: Reporting, Telemetry, OpcUaServer, and UI Runtime resource settings. |
references/unified-plant-model.md | Plant Model: Plant Objects, Views, Interfaces, and CPM services. |
references/unified-system-services.md | Services: JavaScript modules/scripts; Text and Graphic lists. |
references/unified-enums.md | Enums: Comprehensive list of HMI-specific enums (AggregationMode, FillPattern, FontName, etc.). |
Execution pattern
- Resolve the HMI device by exact selectors supplied by the caller; fail on zero or multiple matches
- Determine Classic vs Unified:
- Classic:
HmiTarget hmi = sc?.Software as HmiTarget(namespace:Siemens.Engineering.Hmi) - Unified:
HmiSoftware hmi = sc?.Software as HmiSoftware(namespace:Siemens.Engineering.HmiUnified)
- Classic:
- Classify the task: tags, screens, alarms, scripts, logging, import/export, compile
- Load the relevant reference file (Classic or Unified) and navigate the composition
- Recursively traverse nested
DeviceItem.DeviceItems; HMI software is not guaranteed to be on a top-level item - Use an Openness transaction when the operation supports one, compile after changes, inspect all errors, and commit only after verification
- Do not save: call
project.Save()only when persistence was explicitly requested
Safety and model boundary
- Classic WinCC and WinCC Unified are separate object models. Do not cast a Unified
HmiSoftwareto classicHmiTargetor infer the model from order-dependent device discovery. - Create, import, overwrite, rename, reconnect, or delete only after explicit authorization for the exact selected object and operation.
- Treat imported XML, JavaScript, VBScript, driver settings, addresses, and object names as untrusted engineering input. Validate paths and target-specific values before applying them.
- For bulk or destructive work, inventory dependent screens, tags, alarms, scripts, logs, and connections first. Fail closed when identity or dependency evidence is incomplete.
Compile()and UnifiedValidate()results are gates, not logging aids: inspect result state and nested diagnostics; do not commit or save on errors.
Signals
- GitHub stars
- 59
- Forks
- 10
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
tia-hmi-operations- Source
- github.com/czarnak/totally-integrated-claude