Skip to content

siemens/tia-portal-openness-development-kit

v1.0.0MIT

Utilities for TIA Portal Openness

blocks

TIA Portal PLC blocks management. Use when importing, compiling, exporting, protecting blocks with passwords, accessing InstanceDB/GlobalDB interface members, and finding cross-references.

change-detection

Detecting what changed in a TIA Portal project via Openness. Use when comparing project state over time, deciding whether a re-download/re-compile is needed, tracking library type versions, or checking if a PLC program or Safety configuration changed.

crash-diagnosis

Diagnosing hard crashes in TIA Portal when called via the Openness API over .NET Remoting IPC. Use when a TIA Portal process dies unexpectedly during an Openness API call sequence, when breadcrumb-based crash localization is needed, or when the suspected crash site does not reproduce in isolation.

devices-and-hardware

Devices and hardware configuration in TIA Portal Openness. Use when creating devices, finding CPUs, configuring PROFINET subnets, I/O systems, and network interfaces.

drive-control-charts

Drive Control Charts (DCC) for TIA Portal Openness. Use when creating, importing, exporting DCC charts, managing blocks, pins, parameters, and configuring drive functions graphically.

drive-objects

Drive objects and DriveFunctionInterface for SINAMICS drives. Use when locating DriveObjects, setting telegrams, writing drive parameters (scalar, BiCo, bit, indexed, DFI motor/encoder), handling Double-MoMo drives, refreshing drive state after writes, or accessing/deactivating drive objects.

engineering-objects

Working with engineering objects in TIA Portal Openness. Use when managing exclusive access, transactions, attribute read/write, GetService patterns, hardware catalog searches, navigating the object tree, or stamping custom identities via CustomIdentityProvider.

global-library

TIA Portal GlobalLibrary object model — traversal, element placement, type classification, MasterCopy routing, library file handling (.zap/.zal), and post-placement rename. Use when writing or reviewing C# code that opens a GlobalLibrary, traverses TypeFolder or MasterCopyFolder, places library elements into PLCs, classifies LibraryTypeVersion subclasses, or renames placed elements.

hardware-and-modules

Hardware and module management for SINAMICS drives. Use when plugging new hardware, changing module types, searching hardware catalog, projecting motor/encoder configurations, and managing master copies.

libraries-and-alarms

Libraries and alarms in TIA Portal. Use when creating global libraries, managing master copies, accessing alarm text lists, safety administration, runtime groups, and unit providers.

licensing-and-firewall

Openness application-level licensing and access control (the Openness firewall). Use when an app is denied access to TIA Portal, when a LicenseNotFoundException occurs, or when explaining what rights/licenses an Openness app needs. Distinct from the security skill, which covers project-internal UMAC roles.

networks-and-drivecliq

Network and DriveCliq configuration for SINAMICS drives. Use when connecting/disconnecting DriveCliq ports, configuring PROFINET interfaces, and discovering IO system topology.

object-tree-walking

Walking TIA Portal Openness object trees schema-free using GetServiceInfos/GetService/GetAttributeInfos/GetAttribute, matching objects by Name+TypeIdentifier, traversing composition properties via reflection, preventing cycles, and deduplicating COM proxy visits. Use when writing code that compares, inspects, or mirrors two Openness object trees dynamically without prior knowledge of the schema.

online-and-download

Online connection and download operations for TIA Portal. Use when connecting to CPU devices via OnlineProvider, downloading PLC software, configuring connection modes, and handling passwords.

openness-base

Foundational knowledge for ALL TIA Portal Openness development. Covers SDK DLL discovery, TypeIdentifier requirements, and core development prerequisites. This skill should be loaded alongside any other Openness skill.

openness-overview

Overview and index of all TIA Portal Openness skills in this plugin. Use when unsure which specific Openness skill applies, when asked what Openness skills/capabilities exist, for a general map of what the Openness Development plugin can do, or for meta-questions like "what are the skills for", "which skill should I use for X", "wofür sind die skills da". Not for actual implementation tasks — those should activate the specific skill listed below instead.

openness-testing

Live TIA Portal Openness integration-test and CI guidance. Use when building or running tests against a real TIA Portal installation, including firewall and runner setup; not for headless WPF tests.

parameters

Drive parameters for SINAMICS drives. Use when reading/writing parameters, BiCo wiring, accessing parameters by index or name, and manipulating parameter bits.

performance-and-caching

Performance design for TIA Portal Openness applications. Use when an app feels slow, when navigating deep object chains in loops, when deciding whether to cache Openness data, or when reading/writing many attributes at once.

plc-data-types

TIA Portal PLC Data Types (UDTs / PlcType) — TypeGroup navigation, recursive search, UDT XML export structure (Section Name="None"), and Member attribute formats. Use when writing or reviewing C# code that accesses, searches, creates, or parses UDTs in PlcSoftware.TypeGroup.

plc-safety-administration

TIA Portal Openness PLC Safety Administration object model (Siemens.Engineering.Safety). Use when writing or reviewing C# code that configures fail-safe PLCs via SafetyAdministration, SafetySettings, AssignmentOfBlockNumbers, or RuntimeGroup creation and reconciliation.

safety-commissioning

Safety commissioning for SINAMICS drives. Use when configuring PROFIsafe functions like STO and SImO, updating safety checksums, setting safety axis type, activating safety parameter bits, and managing acceptance tests.

security

UMAC security configuration in TIA Portal. Use when creating custom roles, project users, assigning device function rights, managing master passwords, checking project protection status, or configuring CPU protection/access-control level (PlcAccessControlConfiguration, PlcProtectionAccessLevel).

session-and-project

Session and project management for TIA Portal Openness. Use when working with TiaPortal instances, opening/closing projects, attaching to processes, archiving, and managing the project lifecycle.

simatic-sd

SIMATIC SD block document format (.s7dcl / .s7res), the V21 Openness export/import API, and programmatic network insertion via round-trip export → text-edit → import. Use when writing or reviewing C# code that exports PLC blocks as SD documents, modifies network content, detects programming languages from SD syntax, inserts new networks, or re-imports modified blocks.

software-hierarchy

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.

sw-units

TIA Portal SW-Unit (PlcUnit) patterns — isolated group hierarchies, PLC-wide search across root and all SW-Units, element creation inside a SW-Unit, Instance DB creation when the source FB lives in a SW-Unit, and placing a SW-Unit from a MasterCopy. Use when writing or reviewing C# code that searches for blocks/types/tag-tables that may be inside a SW-Unit, or creates elements in the correct group context.

tags-and-tagtables

Tags and tag tables management in TIA Portal. Use when accessing, creating, renaming PLC tags, exporting/importing tag tables to XML, and finding tags by name.

technology-objects

Technology Objects (TOs) for motion control in TIA Portal. Use when creating, finding, and configuring Technology Objects like speed axes, positioning axes, and setting TO parameters.

telegrams

Telegrams for data exchange between SINAMICS drives and PLC. Use when configuring main telegrams, safety telegrams, changing telegram numbers, resizing telegram I/O, and inserting PROFIsafe telegrams.

threading-and-concurrency

Thread-safety and apartment model rules for TIA Portal Openness. Use when building multi-threaded Openness apps, background services, or MCP-style servers that receive concurrent calls, or when hitting cross-thread exceptions.

tia-addin-scaffold

Creating a new TIA Portal Openness project from scratch — interviews the developer about the entry model (packaged add-in or standalone Openness EXE), and, only for a packaged add-in, its entry architecture (in-process or separate EXE entry point), attach point (project tree, devices & networks, project/global library, version control import/export, workflow) and options, then generates, builds and verifies the project. Use for requests like "create a TIA add-in", "new Openness project", "scaffold an add-in", "start a TIA Portal add-in project", "I need an Openness console app". This skill creates new projects only; migrating an existing add-in to another TIA Portal major version is outside its scope.