tia-simatic-drives
Scope
Startdrive and drive-specific 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
| Reference file | Load when the task involves |
|---|---|
references/drives-overview.md |
Core patterns for Startdrive/SINAMICS engineering (Navigate, Parameters, Telegrams, DFI, Safety, Security) |
references/motion-control.md |
Detailed reference for Siemens.Engineering.MC namespaces (Drives, DFI, SecurityObjects, Enums) |
references/download.md |
Startdrive-specific and common Download/Upload check configurations |
references/api-catalogue.md |
Complete inventory of all 64 public types in the installed V21 Startdrive module |
Execution pattern
- Confirm the task is drive-specific (Startdrive, SINAMICS, drive controller, PROFIdrive)
- Read
references/drives-overview.md - Resolve the drive device and drive object using exact selectors; recursively traverse nested device items and fail on zero or ambiguous matches
- Get
DriveObjectContainerviaGetService<>()on the device item to accessDriveObjects - Use
DriveObject.Parametersfor parameter access,.Telegramsfor telegram find/insert/erase/size operations - Use
GetService<DriveFunctionInterface>()for commissioning, motor/encoder config, DFI, and drive-object activation/type handling - For download/upload handling, include Startdrive-specific check configurations from
Siemens.Engineering.Download.ConfigurationsandSiemens.Engineering.Upload.Configurations - For network/PROFIdrive timing — see
tia-networks/references/subnets-and-nodes.md
Safety boundary
- Require explicit live-operation authorization for online parameter writes, download/upload, factory reset, RAM-to-ROM copy, drive encryption/UMAC changes, and Safety commissioning.
- Require explicit mutation authorization for offline parameters, telegrams, drive-object type/activation, motor/encoder projection, Technology Extension install/uninstall, and report overwrite.
- Bind exact selectors to the project, device, nested
DeviceItem, drive-object number, parameter name/number/index, telegram type, and requested value. Never use.First(),[0], or catalog-order assumptions. - Inventory current parameters, telegrams, topology, safety/security state, Technology Extensions, and dependent PLC/HMI configuration before mutation. Factory reset, encryption deactivation, forced package removal, and telegram deletion are destructive.
- Inspect every boolean result and every download/upload configuration. Unknown or unsupported configurations fail closed; never approve all checks automatically.
- Secrets must arrive as
SecureStringfrom the caller's approved secret source. Never embed, print, persist, or reconstruct passwords in examples. - Do not save: call
project.Save()only when persistence was explicitly requested and post-change verification succeeded. - Static API checks are not commissioning evidence. Online state, firmware/device support, Safety acceptance, and successful drive behavior require an authorized live V21 test.