asckye/tia_portal_openness_mcp/software-hierarchy
Claude Code and agent skill by asckye/tia_portal_openness_mcp
- community
Checking that the SKILL.md file is still in the repository.
PlcSoftware root plus BlockGroup, TypeGroup, TagTableGroup, and ExternalSourceGroup object model. Use when writing or reviewing C# code that navigates or creates PLC software elements beneath a PlcSoftware or SW-Unit context.
Install
npx vskill@latest install asckye/tia_portal_openness_mcp/software-hierarchySKILL.md
Software Hierarchy (PlcSoftware)
Overview
Use this as an orientation and routing guide for PLC software scope. It identifies the raw Openness path, the independent hierarchy roots, and the correct import destination. For CRUD details, deep searches, and format-specific behavior, follow the linked specialist skills.
Required Namespaces
Required Assemblies
Siemens.Engineering.Base.dllSiemens.Engineering.Step7.dll
HW and SW are namespaces, not separate Siemens.Engineering.HW.dll or Siemens.Engineering.SW.dll assemblies.
Raw Openness path to PlcSoftware
In the raw API, start from the CPU DeviceItem, obtain its SoftwareContainer service, then cast SoftwareContainer.Software to PlcSoftware:
This describes the raw Openness path; framework wrappers may expose a different navigation surface. SoftwareContainer is a DeviceItem service, not a service on Device.
Hierarchy map
PlcUnitProvider may be null on PLC software that does not support SW-Units. Guard it before accessing UnitGroup.
Scope and navigation rules
BlockGroup,TypeGroup, andTagTableGroupare independent group trees; a folder or element in one is not visible in another.- User constants belong to a
PlcTagTable.UserConstantscomposition reached throughTagTableGroup; they are not aPlcSoftwareroot group. Find(...)on a composition is single-level. Use the relevant specialist skill when the target folder is not already known.- The
PlcSoftwaregroups are the PLC root scope. EachPlcUnitexposes isolated group trees; root searches and creations do not include SW-Unit content. ExternalSourceGroupfollows the target scope: use the root source group for root imports and the unit's source group for SW-Unit imports.
Import routing
| Input | Target API | Scope rule | |
|---|---|---|---|
| Block XML | Blocks.Import(...) | Use the target root or SW-Unit BlockGroup. | |
| SCL/text source | ExternalSourceGroup | Use the ExternalSourceGroup belonging to the target root or SW-Unit scope. | |
| SIMATIC SD | Blocks.ImportFromDocuments(...) | Use the target root or SW-Unit BlockGroup. |
Route detailed work to the specialist skill
| Need | Detailed skill | |
|---|---|---|
| Blocks, folders, XML import/export, compilation, protection | `blocks` | |
| PLC data types and UDT XML | `plc-data-types` | |
| Tag tables, tags, addresses, and user constants | `tags-and-tagtables` | |
| SW-Unit traversal, isolation, placement, and PLC-wide lookup | `sw-units` | |
| SIMATIC SD document import/export | `simatic-sd` | |
| Technology-object creation and configuration | `technology-objects` |
Quick checklist
- Locate the CPU
DeviceItem, then itsSoftwareContainer, thenPlcSoftware. - Decide whether the target is PLC root scope or one specific SW-Unit.
- Select the matching group tree; do not assume another tree or scope will find the element.
- Null-check
PlcUnitProviderbefore using SW-Units. - Route XML, SCL, and SIMATIC SD imports through their distinct APIs and the correct target scope.
Quick reference
| Goal | API / scope | |
|---|---|---|
| Root blocks | plcSoftware.BlockGroup | |
| Root UDTs | plcSoftware.TypeGroup | |
| Root tag tables | plcSoftware.TagTableGroup | |
| User constants | plcTagTable.UserConstants after locating the table through TagTableGroup | |
| Root text sources | plcSoftware.ExternalSourceGroup | |
| Root technology objects | plcSoftware.TechnologicalObjectGroup | |
| SW-Unit provider | plcSoftware.GetService<PlcUnitProvider>() | |
| SW-Unit import target | The corresponding group or ExternalSourceGroup on that PlcUnit |
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingreference/siemens-openness/skills/software-hierarchy/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/asckye/tia_portal_openness_mcp/software-hierarchy)