Introduction
In general, TIA Portal Openness follows a long-term stable API strategy. There are isolated situations where APIs must be reworked:
Terminology:
|
Product release |
TIA Portal Openness version |
|
|---|---|---|
|
TIA Portal V18 |
API V15.1 |
old API |
|
API V16 |
old API |
|
|
API V17 |
old API |
|
|
APIV18 |
new API |
|
|
TIA Portal V19 |
API V16 |
old API |
|
API V17 |
old API |
|
|
API V18 |
old API |
|
|
APIV19 |
new API |
|
|
TIA PortalV20 |
APIV17 |
old API |
|
APIV18 |
old API |
|
|
APIV19 |
old API |
|
|
APIV20 |
new API |
Static object model parts
Deprecated features are announced for an API version and will be removed in the next API version of the product. The old APIs in the next product release are not affected.
For static object model parts, deprecated features are marked as obsolete. Using those features in code generates a compiler warning, but they still work in that version.
Example of a compiler warning:
Example of highlighted obsolete features in code:
|
private static void ExportCertificate(Siemens.Engineering.Security.Certificate certificate) { FileInfo fileInfo = new FileInfo($"C:\\Temp\\{certificate.SubjectCommonName}.cer"); certificate.Export(fileInfo, Siemens.Engineering.Security.CertificateExportFormat.Cer); } |
Consider adapting deprecated code as follows.
Deprecated in TIA Portal V21 (all API versions)
Hardware parameter in all S71500, ET200Pro and ET200SP PLC's all FW versions
|
Deprecated attribute name |
Substituted by |
|---|---|
|
Selected10thEnergySuiteLicense |
Used to set how many licenses of the license type “10 energy objects” exists |
|
Selected5thEnergySuiteLicense |
Used to set how many licenses of the license type “5 energy objects” exists |
Deprecated in API V20
-
Class: Siemens.Engineering.VersionControl.Workspace
|
Deprecated navigator |
Substituted by |
|---|---|
|
Mappings: Siemens.Engineering.VersionControl.WorkspaceMappingComposition |
MappedObjects : Siemens.Engineering.VersionControl.MappedObjectComposition |
-
Class: Siemens.Engineering.VersionControl.WorkspaceMappingComposition
Deprecated and substituted by Siemens.Engineering.VersionControl.MappedObjectComposition
|
Deprecated method |
Substituted by Method |
|---|---|
|
Workspace: Siemens.Engineering.VersionControl.WorkspaceMappingComposition.Create(string, IEngineeringObject) |
MappedObject Siemens.Engineering.VersionControl.Workspace.ConnectObject(IEngineeringObject, DirectoryInfo, string, string) |
-
Class: Siemens.Engineering.VersionControl.WorkspaceMapping
Deprecated and substituted by Siemens.Engineering.VersionControl.MappedObject
|
Deprecated service |
Substituted by Method |
|---|---|
|
Workspace: Siemens.Engineering.VersionControl.ChildObjectsStateProvider |
Siemens.Engineering.VersionControl.SynchronizationResult Siemens.Engineering.VersionControl.MappedObject.GetChildStatus() |
|
Siemens.Engineering.VersionControl.IndividualObjectSynchronizationStatus |
Siemens.Engineering.VersionControl.IndividualObjectCompareResult Siemens.Engineering.VersionControl.MappedObject.GetStatus() |
|
Deprecated attribute |
Substituted by Attributes |
|---|---|
|
Siemens.Engineering.VersionControl.LinkedProjectObject |
Siemens.Engineering.VersionControl.MappedObject.EngineeringObject |
|
Siemens.Engineering.VersionControl.RelativeWorkspacePath |
Siemens.Engineering.VersionControl.MappedObject.RelativeWorkspaceDirectory, Siemens.Engineering.VersionControl.MappedObject.FileNameWithoutExtension |
-
Class: Siemens.Engineering.VersionControl.ChildObjectsStateProvider
Deprecated and substituted by Siemens.Engineering.VersionControl.SynchronizationResult
Deprecated and substituted by Siemens.Engineering.VersionControl.MappedObject.GetChildStatus()
-
Class: Siemens.Engineering.VersionControl.IndividualObjectSynchronizationStatus
Deprecated and substituted by Siemens.Engineering.VersionControl.SynchronizationResult
Deprecated and substituted by Siemens.Engineering.VersionControl.MappedObject.GetChildStatus()
-
Class: Siemens.Engineering.VersionControl.IndividualObjectSynchronizationStatus
Deprecated and substituted by Method: Siemens.Engineering.VersionControl.IndividualObjectCompareResult
Deprecated and substituted by Method: Siemens.Engineering.VersionControl.MappedObject.GetStatus()
Deprecated and substituted by Method: void Siemens.Engineering.VersionControl.MappedObject.Synchronize(Siemens.Engineering.VersionControl.SynchronizationMode synchronizationMode)
Deprecated in API V19
-
Class: Siemens.Engineering.HW.MulticastableTransferArea
|
Deprecated property |
Substituted by |
|---|---|
|
Siemens.Engineering.HW.Address Address { get; } |
Siemens.Engineering.HW.AddressComposition Addresses { get; } |
-
Class: Siemens.Engineering.Security.Certificate
|
Deprecated method |
Substituted by |
|---|---|
|
System.Void Export(System.IO.FileInfo filePath, Siemens.Engineering.Security.CertificateExportFormat exportFormat) |
System.Void Export(System.IO.FileInfo filePath) |
-
Enum: Siemens.Engineering.Security.CertificateExportFormat
Deprecated without substitution -
Enum: Siemens.Engineering.HW.WebserverUserPermissions2
Deprecated without substitution -
Enum: Siemens.Engineering.HW.MaximumBufferedReceivedFrames
Deprecated without substitution -
Enum: Siemens.Engineering.HW.PortType
Deprecated and substituted by Siemens.Engineering.HW.PortConfiguration -
Exception class: Siemens.Engineering.SimaticMLVersionNotSupportedException
Deprecated without substitution
Dynamic API parts
Deprecated features are announced for a TIA Portal version and will be removed in the next TIA Portal version. The old APIs and new API in the next product release are affected.
For dynamic API parts, a compiler warning cannot be generated for technical reasons. Consider the system manual for deprecated features in that area.
Example of a dynamic API part:
|
private static ulong GetPortValue(Siemens.Engineering.HW.DeviceItem item) { const string attributeName = "PortType"; ulong attributeValue = (ulong)item.GetAttribute(attributeName); return attributeValue; } |
Consider adapting deprecated code as follows
Deprecated in API V18
-
Class: Siemens.Engineering.AddIn.VersionControl.InitialPreExportInfo
Deprecated and substituted by Siemens.Engineering.AddIn.VersionControl.PreExportInfo -
Class: Siemens.Engineering.AddIn.VersionControl.InitialPostExportInfo
Deprecated and substituted by Siemens.Engineering.AddIn.VersionControl.PostExportInfo -
Class: Siemens.Engineering.AddIn.VersionControl.SyncPreExportInfo
Deprecated and substituted by Siemens.Engineering.AddIn.VersionControl.PreExportInfo -
Class: Siemens.Engineering.AddIn.VersionControl.SyncPostExportInfo
Deprecated and substituted by Siemens.Engineering.AddIn.VersionControl.PostExportInfo -
Class: Siemens.Engineering.AddIn.VersionControl.VciInitialExportAddInContext
Deprecated and substituted by Siemens.Engineering.AddIn.VersionControl.ExportContext -
Class: Siemens.Engineering.AddIn.VersionControl.VciSyncExportAddInContext
Deprecated and substituted by Siemens.Engineering.AddIn.VersionControl.ExportContext -
Class: Siemens.Engineering.AddIn.VersionControl.VciRepositoryAddIn
Deprecated and substituted by Siemens.Engineering.AddIn.VersionControl.VciWorkspaceRepositoryAddIn -
Class: Siemens.Engineering.AddIn.VersionControl.VciRepositoryAddInProvider
Deprecated and substituted by Siemens.Engineering.AddIn.VersionControl.VciWorkspaceRepositoryAddInProvider -
Class: Siemens.Engineering.AddIn.VersionControl.VciInitialExportSupport
Deprecated and substituted by Siemens.Engineering.AddIn.VersionControl.ExportWorkflowSupport -
Class: Siemens.Engineering.AddIn.VersionControl.VciSyncExportSupport
Deprecated and substituted by Siemens.Engineering.AddIn.VersionControl.ExportWorkflowSupport -
Class: Siemens.Engineering.AddIn.VersionControl.VciWorkflowAddInSupport
Deprecated and substituted by Siemens.Engineering.AddIn.VersionControl.VciWorkspaceRepositoryWorkflowAddIn -
Class: Siemens.Engineering.HmiUnified.RuntimeSettings.HmiRuntimeSetting
|
Deprecated property |
Relocated |
|---|---|
|
OperateAsOpcServer { get; set; } |
Moved to class Siemens.Engineering.HmiUnified.RuntimeSettings.HmiOpcUaServerRuntimeSettings |
-
Class: Siemens.Engineering.HmiUnified.UI.Parts.HmiTrendPartBase
|
Deprecated property |
Relocated |
|---|---|
|
TrendMode { get; set; } |
Moved from base class to derived classes Siemens.Engineering.HmiUnified.UI.Parts.HmiTrendPart and Siemens.Engineering.HmiUnified.UI.Parts.HmiFunctionTrendPart |
-
Class: Siemens.Engineering.SiVArc.ScreenRule
|
Deprecated property |
Deprecated |
|---|---|
|
ScreenLibraryItem { get; set; } |
Deprecated without substitution. |
Deprecated in TIA Portal V18 (all API versions)
Hardware parameter in 6ES7148-6JG00-0BB0/V5.1
|
Deprecated attribute name |
Substituted by |
|---|---|
|
PortType |
PortConfiguration |