Scope
Multiuser Engineering workflows using the TIA Portal Openness API. Covers Local Sessions, Server Projects, and Multiuser Commissioning.
Reference files
Load ONLY the reference file(s) relevant to the task.
| Reference file | Load when the task involves |
|---|---|
references/v21-api-surface.md |
Comprehensive installed surface for Siemens.Engineering.Multiuser types. |
references/workflows-and-safety.md |
Exact V21 roots, project-server/session workflows, marking, locking, save/close/commit semantics, and remote-write gates. |
Key Workflows
Managing Local Sessions
- Resolve a project-server connection from
tiaPortal.ProjectServersby exact alias. - Resolve the exact
ServerProjectInforeturned byProjectServer.GetServerProjects(). - Create a
LocalSessionInfo, then open it throughtiaPortal.LocalSessions. - Use
LocalSession.Save(),Close(),IsUptoDate(),MarkingService, and—only for a supported server/exclusive session—CloseAndCommit(comment).
Use only the direct compositions and the session methods listed here. Do not translate UI terms into an intermediate service, conflict-options object, or parameterless check-in/update calls.
Project-server root
ProjectServerComposition servers = tiaPortal.ProjectServers;
LocalSessionComposition sessions = tiaPortal.LocalSessions;
Enforcement
- Require explicit remote-write authorization before creating/deleting a connection or session, adding a project, changing host/protocol/port, saving, closing with discard, or committing a server revision.
- Resolve server alias, project, group, session ID/path, and intended mode exactly; never select
.First()or[0]. - Check server lock state, session freshness, markings/conflicts, active users, and path/version prerequisites before mutation.
- Active monitoring or forcing jobs must be stopped before check-in/update workflows; non-markable edits can be lost in commissioning workflows.
Close()discards pending changes.CloseAndCommit()performs a remote commit and returns the created revision; neither is cleanup to call unconditionally.- Do not save or commit unless explicitly requested. Do not claim remote success without reading the returned revision/current server state.