AML-Datei mit benutzerdefinierten Nicht-GSD/GSDML-Attributen exportieren/importieren - TIAPortal

TIA Portal Openness: API für die Automatisierung von Engineering-Workflows

ft:publication_title
TIA Portal Openness: API für die Automatisierung von Engineering-Workflows
Product
TIAPortal
Version
V20
Publication date
01/2025
Language
de-DE
AML-Datei mit benutzerdefinierten Nicht-GSD/GSDML-Attributen exportieren/importieren

Voraussetzung

Anwendung

Mit dem TIA Portal V18 können Sie alle Nicht-GSD/GSDML-Attribute von Hardware-(Sub-)Modulen und Kanälen mit Openness-Lese-Schreib-Zugriff über den CAx-Export und -Import austauschen. In einer AML-Datei müssen diese Attribute als benutzerdefinierte Attribute dargestellt werden.

Eine AML-Datei mit benutzerdefinierten Modulattributen exportieren/importieren

Export

Der CAx-Export berücksichtigt nur in TIA Portal Openness schreib-/lesbare Attribute und exportiert diese in eine AML-Datei. Im TIA Portal sind die Attribute auf verschiedene Ebenen verteilt. Beispiel: Steckbare (Sub-)Module, eingebaute (Sub-)Module. Unabhängig von den unterschiedlichen Hierarchieebenen muss die AML-Datei beim Export der Konfiguration auf der Ebene steckbarer (Sub-)Module immer benutzerdefinierte Attribute enthalten:

  1. Wenn ein steckbares (Sub-)Modul Attribute enthält, müssen diese in der exportierten AML-Datei auf derselben Ebene bleiben.

  2. Enthält ein eingebautes (Sub-)Modul Attribute, müssen diese in der exportierten AML-Datei in das jeweilige direkt steckbare übergeordnete Modul verschoben werden.

Die folgende Tabelle enthält das Format des identifizierenden Namens für das benutzerdefinierte Attribut in der AML-Datei:

  • TypeIdentifier.AttributeName#PositionNumber, wobei

Attribut

Beschreibung

TypeIdentifier

Normalisierter TypeIdentifier (einschließlich FW-Version) eines steckbaren (Sub-)Moduls, der so formatiert ist, dass Sonderzeichen durch '_' ersetzt werden

AttributeName

Name des Attributs in Openness.

PositionNumber

Gilt nur für Attribute eingebauter (Sub-)Module, die unterhalb ihres steckbaren übergeordneten Moduls in der AML-Datei exportiert werden. Dabei handelt es sich um die Positionsnummer des eingebauten (Sub-)Moduls.

Das folgende Snippet zeigt das Format, in dem benutzerdefinierte Attribute in der AML-Datei vorliegen sollten, wenn sie über ein steckbares Modul erhalten werden.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

<InternalElement ID="298d6b6a-fe70-4edd-9230-39b0ae2238a5" Name="PLC_1">

<Attribute Name="CustomAttributes">

<RefSemantic CorrespondingAttributePath="ListType" />

<Attribute Name="6ES7516_3AN03_0AB0_V2_9.Author" AttributeDataType="xs:string">

<Value>cvdfff</Value>

</Attribute>

<Attribute Name="6ES7516_3AN03_0AB0_V2_9.CentralAlarmManagement" AttributeDataType="xs:string">

<Value>True</Value>

</Attribute>

<Attribute Name="6ES7516_3AN03_0AB0_V2_9.ClockMemoryByte" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

<Attribute Name="6ES7516_3AN03_0AB0_V2_9.CommunicationMode" AttributeDataType="xs:string">

<Value>1</Value>

</Attribute>

<Attribute Name="6ES7516_3AN03_0AB0_V2_9.ConfigurationControl" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

</InternalElement>

Das folgende Snippet zeigt das Format, in dem benutzerdefinierte Attribute exportiert werden, wenn sie über ein eingebautes Submodul in TIA Portal verfügbar sind, in der AML-Datei jedoch am steckbaren übergeordneten Modul.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

<InternalElement ID="298d6b6a-fe70-4edd-9230-39b0ae2238a5" Name="PLC_1">

<Attribute Name="CustomAttributes">

<RefSemantic CorrespondingAttributePath="ListType" />

<Attribute Name="6ES7516_3AN03_0AB0_V2_9.DisplayDefaultLanguage#3" AttributeDataType="xs:string">

<Value>0</Value>

</Attribute>

<Attribute Name="6ES7516_3AN03_0AB0_V2_9.DisplayProtection#3" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

<Attribute Name="6ES7516_3AN03_0AB0_V2_9.DisplayTimeToEnergySavingMode#3" AttributeDataType="xs:string">

<Value>900</Value>

</Attribute>

<Attribute Name="6ES7516_3AN03_0AB0_V2_9.DisplayTimeToStandbyMode#3" AttributeDataType="xs:string">

<Value>1800</Value>

</Attribute>

</InternalElement>

Im Snippet oben bezeichnet #3 die Positionsnummer des eingebauten untergeordneten Elements, zu dem das Attribut tatsächlich im TIA Portal gehört.

Hinweis

Beim CAx-Export werden alle Attribute ignoriert, die bereits im Rahmen der geltenden AR APC Versionsempfehlung exportiert werden.

Import

CAx unterstützt den Import von benutzerdefinierten Attributen über (Sub-)Module in den folgenden Fällen:

  • Wenn ein steckbares (Sub-)Modul mit benutzerdefinierten Attributen angelegt ist.

  • Wenn das eingebaute Submodul in der Datei beschnitten ist und die benutzerdefinierten Attribute über das steckbare übergeordnete (Sub-)Modul bereitgestellt werden.

  • Wenn die Datei nicht beschnitten ist, sind eingebaute Submodule vorhanden und die benutzerdefinierten Attribute werden über das steckbare übergeordnete (Sub-)Modul bereitgestellt.

Beim CAx-Export werden alle Attribute ignoriert, die bereits im Rahmen der geltenden AR APC-Empfehlung importiert werden und es wird eine entsprechende Warnmeldung erzeugt.

Toleranter Import

Beim Import ist das TIA Portal in Bezug auf Namen benutzerdefinierter Attribute tolerant. Das Präfix "TypeIdentifier." ist optional.

  • Der CAx-Import akzeptiert AML-Dateien mit benutzerdefinierten Attributen mit vollständigem IdentifyingName (Format: TypeIdentifier.AttributeName#PositionNumber)

  • Der CAx-Import akzeptiert AML-Dateien mit benutzerdefinierten Attributen mit teilweisem IdentifyingName – nur Attributname und Suffixe (wie #PositionNumber), jedoch ohne TypeIdentifier.

Das folgende Snippet zeigt verschiedene, beim CAx-Import akzeptierte Namensformate.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

<InternalElement ID="298d6b6a-fe70-4edd-9230-39b0ae2238a5" Name="PLC_1">

<Attribute Name="CustomAttributes">

<RefSemantic CorrespondingAttributePath="ListType" />

<Attribute Name="6ES7516_3AN03_0AB0_V2_9.CentralAlarmManagement" AttributeDataType="xs:string">

<Value>True</Value>

</Attribute>

<Attribute Name="CentralAlarmManagement" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

</InternalElement>

Eine AML-Datei mit benutzerdefinierten Kanalattributen exportieren/importieren

Export

Der CAx-Export berücksichtigt nur in Openness schreib-/lesbare Attribute der Kanäle und exportiert diese in eine AML-Datei. Im TIA Portal sind die Kanäle auf verschiedene Ebenen verteilt. Beispiel: Steckbare (Sub-)Module, eingebaute (Sub-)Module. Die AML-Datei muss immer Kanäle (zusammen mit den Attributen) auf der gleichen Ebene enthalten, wenn die Konfiguration exportiert wird.

Nachfolgend ist das Format des identifizierenden Namens für das benutzerdefinierte Attribut in der AML-Datei dargestellt.

  • <TypeIdentifier>.Kanäle.<Type><IoType>_<ChannelNumber>.<AttributeName>#<PositionNumber>, wobei

Benutzerdefiniertes Attribut

Beschreibung

TypeIdentifier

Normalisierter TypeIdentifier (einschließlich FW-Version) eines steckbaren (Sub-)Moduls, der so formatiert ist, dass Sonderzeichen durch '_' ersetzt werden.

AttributeName

Name des Attributs in Openness

PositionNumber

Dies gilt nur für Attribute von Kanälen, wenn die Kanäle unter eingebauten (Sub-)Modulen modelliert werden. Dabei handelt es sich um die Positionsnummer des eingebauten (Sub-)Moduls.

Type

Dies ist der Kanaltyp, analog oder digital (kurz als A oder D bezeichnet)

IoType

Dies ist der IO-Kanaltyp, Eingang oder Ausgang (kurz als I oder O bezeichnet)

ChannelNumber

Dies ist die fortlaufende Integerzahl jedes Kanals, von 0 bis N

Das folgende Snippet zeigt das Format, in dem benutzerdefinierte Attribute in der AML-Datei vorliegen sollten, wenn der Kanal über ein steckbares Modul gefunden wird.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

<InternalElement ID="928ac5b5-2625-4f40-a624-d731ed673522" Name="DO 8x24VDC/0.5A_1"><Attribute Name="TypeName" AttributeDataType="xs:string">

<Value>DO8 x 24VDC / 0.5A</Value>

</Attribute>

<Attribute Name="PositionNumber" AttributeDataType="xs:int">

<Value>5</Value>

</Attribute>

<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">

<Value>false</Value>

</Attribute>

<Attribute Name="TypeIdentifier" AttributeDataType="xs:string">

<Value>OrderNumber:6ES7 322-8BF00-0AB0</Value>

</Attribute>

<Attribute Name="CustomAttributes">

<RefSemantic CorrespondingAttributePath="ListType" />

<Attribute Name="6ES7322_8BF00_0AB0.Author" AttributeDataType="xs:string">

<Value>Z003NH6D</Value>

</Attribute>

</Attribute>

<ExternalInterface ID="143cf656-2a27-4673-9a6a-55bc570068f6" Name="Channel_DO_0" RefBaseClassPath="AutomationProjectConfigurationInterfaceClassLib/Channel">
<Attribute Name="Type" AttributeDataType="xs:string">

<Value>Digital</Value>

</Attribute>

<Attribute Name="IoType" AttributeDataType="xs:string">

<Value>Output</Value>

</Attribute>

<Attribute Name="Number" AttributeDataType="xs:int">

<Value>0</Value>

</Attribute>

<Attribute Name="Length" AttributeDataType="xs:int">

<Value>1</Value>

</Attribute>

<Attribute Name="CustomAttributes">

<RefSemantic CorrespondingAttributePath="ListType" />

<Attribute Name="6ES7322_8BF00_0AB0.Channels.DO_0.DiagnosticsNoSupplyVoltage" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

<Attribute Name="6ES7322_8BF00_0AB0.Channels.DO_0.DiagnosticsShortCircuitToGround" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

<Attribute Name="6ES7322_8BF00_0AB0.Channels.DO_0.DiagnosticsShortCircuitToLplus" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

<Attribute Name="6ES7322_8BF00_0AB0.Channels.DO_0.DiagnosticsWireBreak" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

<Attribute Name="6ES7322_8BF00_0AB0.Channels.DO_0.SubstituteValue" AttributeDataType="xs:string"><Value>False</Value>

</Attribute>

</Attribute>

Das folgende Snippet zeigt das Format, in dem benutzerdefinierte Attribute exportiert werden, wenn sie über ein eingebautes Submodul gefunden werden.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...
<InternalElementID="5bda81fa-8c31-4e1a-b41a-f5100eb2ff2f"Name="AI5/AQ2_1">
<AttributeName="PositionNumber"AttributeDataType="xs:int">
<Value>8</Value>
</Attribute>
<AttributeName="BuiltIn"AttributeDataType="xs:boolean">
<Value>true</Value>
</Attribute>
<AttributeName="Address">
<RefSemanticCorrespondingAttributePath="OrderedListType"/>
<AttributeName="1">
<AttributeName="StartAddress"AttributeDataType="xs:int">
<Value>0</Value>
</Attribute>
<AttributeName="Length"AttributeDataType="xs:int">
<Value>80</Value>
</Attribute>
<AttributeName="IoType"AttributeDataType="xs:string">
<Value>Input</Value>
</Attribute>
</Attribute>
<AttributeName="2">
<AttributeName="StartAddress"AttributeDataType="xs:int">
<Value>0</Value>
</Attribute>
<AttributeName="Length"AttributeDataType="xs:int">
<Value>32</Value>
</Attribute>
<AttributeName="IoType"AttributeDataType="xs:string">
<Value>Output</Value>
</Attribute>
</Attribute>
</Attribute>
<ExternalInterfaceID="76a8ea3f-1da6-4622-b806-912e1da53980"Name="Channel_AI_0"RefBaseClassPath="AutomationProjectConfigurationInterfaceClassLib/Channel">
<AttributeName="Type"AttributeDataType="xs:string">
<Value>Analog</Value>
</Attribute>
<AttributeName="IoType"AttributeDataType="xs:string">
<Value>Input</Value>
</Attribute>
<AttributeName="Number"AttributeDataType="xs:int">
<Value>0</Value>
</Attribute>
<AttributeName="Length"AttributeDataType="xs:int">
<Value>16</Value>
</Attribute>
<AttributeName="CustomAttributes">
<RefSemanticCorrespondingAttributePath="ListType"/>
<AttributeName="6ES7511_1CK00_0AB0_V2_9.Channels.AI_0.HardwareInterruptLowLimit2Active#8"AttributeDataType="xs:string">
<Value>False</Value>
</Attribute>
<AttributeName="6ES7511_1CK00_0AB0_V2_9.Channels.AI_0.OperatingRange#8"AttributeDataType="xs:string">
<Value>OperatingRange.PlusMinus10V</Value>
</Attribute>
<AttributeName="6ES7511_1CK00_0AB0_V2_9.Channels.AI_0.OperatingType#8"AttributeDataType="xs:string">
<Value>OperatingType.Voltage</Value>
</Attribute>
<AttributeName="6ES7511_1CK00_0AB0_V2_9.Channels.AI_0.ParameterSettings#8"AttributeDataType="xs:string">
<Value>ParameterSettings.Manual</Value>
</Attribute>
<AttributeName="6ES7511_1CK00_0AB0_V2_9.Channels.AI_0.Smoothing#8"AttributeDataType="xs:string">
<Value>Smoothing.None</Value>
</Attribute>
</Attribute>
</ExternalInterface>

Hinweis

Im Snippet oben bezeichnet #8 die Positionsnummer des eingebauten untergeordneten Elements, zu dem der Kanal tatsächlich im TIA Portal gehört. Beim CAx-Export werden alle Attribute ignoriert, die bereits im Rahmen der geltenden AR APC Versionsempfehlung exportiert werden.

Import

CAx unterstützt den Import von benutzerdefinierten Kanalattributen in den folgenden Fällen:

  • Wenn die Datei nicht beschnitten ist und Kanäle mit ihren benutzerdefinierten Attributen unter (Sub-)Modul vorhanden sind.

  • Wenn das eingebaute Submodul in der Datei beschnitten ist und die Kanäle mit ihren benutzerdefinierten Attributen über das steckbare übergeordnete (Sub-)Modul bereitgestellt werden.

  • Wenn das eingebaute Submodul in der Datei beschnitten ist und die Kanäle unter das steckbare übergeordnete Submodul verschoben und die benutzerdefinierten Kanalattribute unter die benutzerdefinierten Attribute des steckbaren Geräteelements mit entsprechender Kanal-Info und Zielgeräte-Info verschoben werden.

Alle benutzerdefinierten Attribute, die einen Satz Enum-Werte unterstützen, werden mit einem voll qualifizierten Enum-Textwert beim Import voll qualifizierter Enum-Textwerte sowie der entsprechenden Integer-Werte exportiert.

Das folgende Snippet zeigt benutzerdefinierte Kanalattribute.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

<InternalElement ID="0d5e860b-6581-467a-be7a-fcfa37e0ee6b" Name="DI 32x24VDC HF_1">
...
<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">
<Value>false</Value>
</Attribute>
<Attribute Name="TypeIdentifier" AttributeDataType="xs:string">
<Value>OrderNumber:6ES7 521-1BL00-0AB0</Value>
</Attribute>
<InternalElement ID="198bf5e3-ac19-4465-8e3e-8c2faf6ab217" Name="DI 32x24VDC HF_1">
...
<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">
<Value>true</Value>
</Attribute>
<ExternalInterface ID="ff89bfc5-ee51-4525-a388-a9b02213515e" Name="Channel_DI_0" RefBaseClassPath="AutomationProjectConfigurationInterfaceClassLib/Channel">
...
<Attribute Name="CustomAttributes">
<RefSemantic CorrespondingAttributePath="ListType" />
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.Channels.DI_0.DiagnosticsNoSupplyVoltage#1" AttributeDataType="xs:string">
<Value>True</Value>
</Attribute>
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.Channels.DI_0.DiagnosticsWireBreak#1" AttributeDataType="xs:string">
<Value>True</Value>
</Attribute>
...
</Attribute>
</ExternalInterface>
...

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

<InternalElement ID="0d5e860b-6581-467a-be7a-fcfa37e0ee6b" Name="DI 32x24VDC HF_1">
...
<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">
<Value>false</Value>
</Attribute>
<Attribute Name="TypeIdentifier" AttributeDataType="xs:string">
<Value>OrderNumber:6ES7 521-1BL00-0AB0</Value>
</Attribute>
<ExternalInterface ID="ff89bfc5-ee51-4525-a388-a9b02213515e" Name="Channel_DI_0" RefBaseClassPath="AutomationProjectConfigurationInterfaceClassLib/Channel">
...
<Attribute Name="CustomAttributes">
<RefSemantic CorrespondingAttributePath="ListType" />
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.Channels.DI_0.DiagnosticsNoSupplyVoltage#1" AttributeDataType="xs:string">
<Value>True</Value>
</Attribute>
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.Channels.DI_0.DiagnosticsWireBreak#1" AttributeDataType="xs:string">
<Value>True</Value>
</Attribute>
...
</Attribute>
</ExternalInterface>
...

Toleranter Import

Beim Import ist das TIA Portal in Bezug auf Namen benutzerdefinierter Attribute tolerant. Das Präfix "TypeIdentifier" oder Kanalinformationen sind optional.

Ein benutzerdefiniertes Kanalattribut ist auf dem Kanal verfügbar:

  • Der CAx-Import akzeptiert AML-Dateien mit benutzerdefinierten Attributen mit vollständigem IdentifyingName (Format: TypeIdentifier.Channels.TypeIoType_ChannelNumber.AttributeName#PositionNumber)

  • Der CAx-Import akzeptiert AML-Dateien mit benutzerdefinierten Attributen mit teilweisem IdentifyingName – nur Attributname und Suffixe (wie #PositionNumber), jedoch ohne TypeIdentifier und Kanalinformationen.

  • Die unterstützten Formate sind nachfolgend angegeben:

    • <TypeIdentifier>.Channels.<Type><IoType>_<ChannelNumber>.<AttributeName>#<PositionNumber>

    • <AttributeName>#<PositionNumber>

Das folgende Snippet zeigt verschiedene, beim CAx-Import akzeptierte Namensformate.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...
<ExternalInterface ID="ff89bfc5-ee51-4525-a388-a9b02213515e" Name="Channel_DI_0" RefBaseClassPath="AutomationProjectConfigurationInterfaceClassLib/Channel">
...
<Attribute Name="CustomAttributes">
<RefSemantic CorrespondingAttributePath="ListType" />
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.Channels.DI_0.DiagnosticsNoSupplyVoltage#1" AttributeDataType="xs:string">
<Value>True</Value>
</Attribute>
<Attribute Name="Channels.DI_0.DiagnosticsWireBreak#1" AttributeDataType="xs:string">
<Value>True</Value>
</Attribute>
...
</Attribute>
</ExternalInterface>
...

Ein benutzerdefiniertes Kanalattribut ist auf dem einsteckbaren Geräteelement verfügbar:

  • Der CAx-Import akzeptiert AML-Dateien mit benutzerdefinierten Attributen mit vollständigem IdentifyingName (Format: TypeIdentifier.Channels.TypeIoType_ChannelNumber.AttributeName#PositionNumber)

  • Der CAx-Import akzeptiert AML-Dateien mit benutzerdefinierten Attributen mit teilweisem IdentifyingName – nur Attributname mit Kanalinfo (Channels.<Type><IoType>_<ChannelNumber>) und Suffixe (wie #PositionNumber), jedoch ohne TypeIdentifier.

  • Die unterstützten Formate sind nachfolgend angegeben:

    • <TypeIdentifier>.Channels.<Type><IoType>_<ChannelNumber>.<AttributeName>#<PositionNumber>

    • Channels.<Type><IoType>_<ChannelNumber>.<AttributeName>#<PositionNumber>

Das folgende Snippet zeigt verschiedene, beim CAx-Import akzeptierte Namensformate.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

<ExternalInterface ID="ff89bfc5-ee51-4525-a388-a9b02213515e" Name="Channel_DI_0"

RefBaseClassPath="AutomationProjectConfigurationInterfaceClassLib/Channel">

...

<Attribute Name="CustomAttributes">

<RefSemantic CorrespondingAttributePath="ListType" />

<Attribute Name="6ES7521_1BL00_0AB0_V2_2.Channels.DI_0.DiagnosticsNoSupplyVoltage#1" AttributeDataType="xs:string

<Value>True</Value>

</Attribute>

<Attribute Name="Channels.DI_0.DiagnosticsWireBreak#1" AttributeDataType="xs:string">

<Value>True</Value>

</Attribute>

...

</Attribute>

</ExternalInterface>

...

Ungültiges benutzerdefiniertes Kanalattribut

CAx unterstützt in den folgenden Fällen nicht den Import benutzerdefinierter Kanalattribute:

  • Wenn die benutzerdefinierten Kanalattribute sowohl unter den benutzerdefinierten Attributen für Geräteelemente als auch unter benutzerdefinierten Kanalattributen vorhanden sind, werden nur die benutzerdefinierten Kanalattribute unter dem Geräteelement verarbeitet, die anderen benutzerdefinierten Attribute unter den Kanälen werden ignoriert und eine Warnmeldung erzeugt.

Das folgende Snippet zeigt benutzerdefinierte Kanalattribute unter Geräteelementen und Kanälen.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

<InternalElement ID="0d5e860b-6581-467a-be7a-fcfa37e0ee6b" Name="DI 32x24VDC HF_1">
..
<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">
<Value>false</Value>
</Attribute>
<Attribute Name="TypeIdentifier" AttributeDataType="xs:string">
<Value>OrderNumber:6ES7 521-1BL00-0AB0</Value>
</Attribute>
<Attribute Name="CustomAttributes">
<RefSemantic CorrespondingAttributePath="ListType" />
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.Author" AttributeDataType="xs:string">
<Value>z003tyvt</Value>
</Attribute>
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.EnableValueStatus" AttributeDataType="xs:string">
<Value>False</Value>
</Attribute>
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.StartupComparisonPresetToActualModule" AttributeDataType="xs:string">
<Value>0</Value>
</Attribute>
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.Channels.DI_0.DiagnosticsNoSupplyVoltage#1" AttributeDataType="xs:string">
<Value>True</Value>
</Attribute>
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.Channels.DI_0.DiagnosticsWireBreak#1" AttributeDataType="xs:string">
<Value>True</Value>
</Attribute>
</Attribute>
...
<ExternalInterface ID="ff89bfc5-ee51-4525-a388-a9b02213515e" Name="Channel_DI_0" RefBaseClassPath="AutomationProjectConfigurationInterfaceClassLib/Channel">
...
<Attribute Name="CustomAttributes">
<RefSemantic CorrespondingAttributePath="ListType" />
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.Channels.DI_0.HardwareInterruptFallingEdgeActive#1" AttributeDataType="xs:string">
<Value>True</Value>
</Attribute>
<Attribute Name="6ES7521_1BL00_0AB0_V2_2.Channels.DI_0.HardwareInterruptFallingEdgeEventName#1" AttributeDataType="xs:string">
<Value>Falling edge0</Value>
</Attribute>
</ExternalInterface>
...

Hinweis

Der Import benutzerdefinierter Attribute ist möglicherweise eingeschränkt, wenn die Attribute komplexe Abhängigkeitshierarchien mit anderen Attributen aufweisen. Beispiel: Attribut A ist abhängig von Attribut B und Attribut C. Der Import von A funktioniert daher erst nach dem Import von B und C. Dieses Verhalten kann modulabhängig unterschiedlich sein. In diesen Fällen kann der Import fehlschlagen und diese Attribute werden übersprungen (mit einer entsprechenden Benachrichtigung an den Benutzer); der Benutzer muss dann im TIA Portal die benutzerdefinierten Attribute, die nicht importiert/übersprungen wurden, nach dem AML-Import explizit konfigurieren.

AML-Datei mit benutzerdefinierten Attributen mit Netzwerkobjekten exportieren/importieren

CAx exportiert/importiert benutzerdefinierte Lese- und Schreibattribute für verschiedene Netzwerkobjekte wie Schnittstelle, Port, Knoten, IO-System und Subnetz.

NetworkInterface-Konfiguration

Die folgende Tabelle enthält das Format des identifizierenden Namens für das benutzerdefinierte Schnittstellenattribut in der AML-Datei.

  • <TypeIdentifier>.Schnittstelle.<Label>.<AttributeName>, wobei

Benutzerdefiniertes Attribut

Beschreibung

TypeIdentifier

Normalisierter TypeIdentifier (einschließlich FW-Version) eines steckbaren (Sub-)Moduls, der so formatiert ist, dass Sonderzeichen durch '_' ersetzt werden.

AttributeName

Name des Attributs in Openness

Das folgende Snippet zeigt das Format, in dem benutzerdefinierte Attribute in der AML-Datei vorliegen sollten, wenn die Schnittstelle über ein steckbares Modul gefunden wird.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

<InternalElement ID="d539b22a-9ff4-4cf7-b0f4-2f46c652f82a" Name="PROFINET interface_1">

<Attribute Name="Label" AttributeDataType="xs:string">

<Value>X1</Value>

</Attribute>

<Attribute Name="PositionNumber" AttributeDataType="xs:int">

<Value>32768</Value>

</Attribute>

<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">

<Value>true</Value>

</Attribute>

<Attribute Name="CustomAttributes">

<RefSemantic CorrespondingAttributePath="ListType" />

<Attribute Name="6DL4158_3FH04_3XX0_V4_1_S74100.Interfaces.X1.DeviceReplacementWithoutExchangeableMedium" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

<Attribute Name="6DL4158_3FH04_3XX0_V4_1_S74100.Interfaces.X1.DiagnosticsCommunicationError" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

<Attribute Name="6DL4158_3FH04_3XX0_V4_1_S74100.Interfaces.X1.DisplayUpdateInterval" AttributeDataType="xs:string>

<Value>DisplayUpdateInterval.Value10Seconds</Value>

</Attribute>

<Attribute Name="6DL4158_3FH04_3XX0_V4_1_S74100.Interfaces.X1.IECV22LLDPMode" AttributeDataType="xs:string"<Value>True</Value>

</Attribute>

<Attribute Name="6DL4158_3FH04_3XX0_V4_1_S74100.Interfaces.X1.KeepAlivesInterval" AttributeDataType="xs:string"<Value>30</Value>

</Attribute>

<Attribute Name="6DL4158_3FH04_3XX0_V4_1_S74100.Interfaces.X1.PnSendClock" AttributeDataType="xs:string"><Value>1000000</Value>

</Attribute>

<Attribute Name="6DL4158_3FH04_3XX0_V4_1_S74100.Interfaces.X1.TimeSynchronizationNtp" AttributeDataType="xs:string

<Value>True</Value>

</Attribute>

Portkonfiguration

Die folgende Tabelle enthält das Format des identifizierenden Namens für das benutzerdefinierte Attribut Port in der AML-Datei.

  • <TypeIdentifier>.Schnittstellen.<InterfaceLabel>.Ports.<PortLabel>.<AttributeName>, wobei

Benutzerdefiniertes Attribut

Beschreibung

TypeIdentifier

Normalisierter TypeIdentifier (einschließlich FW-Version) eines steckbaren (Sub-)Moduls, der so formatiert ist, dass Sonderzeichen durch '_' ersetzt werden.

AttributeName

Name des Attributs in Openness

Das folgende Snippet zeigt das Format, in dem benutzerdefinierte Attribute in der AML-Datei vorliegen sollten, wenn der Port über eine Schnittstelle gefunden wird.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

<InternalElement ID="fc31e87d-2162-43f6-ae4c-211fb5e21dec" Name="Port_1">

<Attribute Name="Label" AttributeDataType="xs:string">

<Value>P1R</Value>

</Attribute>

<Attribute Name="PositionNumber" AttributeDataType="xs:int">

<Value>32769</Value>

</Attribute>

<Attribute Name="BuiltIn" AttributeDataType="xs:boolean">

<Value>true</Value>

</Attribute>

<Attribute Name="CustomAttributes">

<RefSemantic CorrespondingAttributePath="ListType" />

<Attribute Name="6ES7511_1AK00_0AB0_V1_8.Interfaces.X1.Ports.P1R.AlternativePartnerPorts" AttributeDataType="xs:string"><Value>False</Value>

</Attribute>

<Attribute Name="6ES7511_1AK00_0AB0_V1_8.Interfaces.X1.Ports.P1R.EndOfDetectionOfAccessibleDevices" AttributeDataType="xs:string"<Value>False</Value>

</Attribute>

<Attribute Name="6ES7511_1AK00_0AB0_V1_8.Interfaces.X1.Ports.P1R.EndOfSyncDomain" AttributeDataType="xs:string"

<Value>False</Value>

</Attribute>

<Attribute Name="6ES7511_1AK00_0AB0_V1_8.Interfaces.X1.Ports.P1R.EndOfTopologyDiscovery" AttributeDataType="xs:string>

<Value>False</Value>

</Attribute>

<Attribute Name="6ES7511_1AK00_0AB0_V1_8.Interfaces.X1.Ports.P1R.PortActivation" AttributeDataType="xs:string">

<Value>True</Value>

</Attribute>

<Attribute Name="6ES7511_1AK00_0AB0_V1_8.Interfaces.X1.Ports.P1R.PortMonitoring" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

<Attribute Name="6ES7511_1AK00_0AB0_V1_8.Interfaces.X1.Ports.P1R.TransmissionRateAndDuplex" AttributeDataType="xs:string">

<Value>TransmissionRateAndDuplex.Automatic</Value>

</Attribute>

Knotenkonfiguration

Die folgende Tabelle enthält das Format des identifizierenden Namens für das benutzerdefinierte Attribut Knoten in der AML-Datei.

  • <TypeIdentifier>.Schnittstellen.<InterfaceLabel>.Knoten.<NodeLabel>.<AttributeName>, wobei

Benutzerdefiniertes Attribut

Beschreibung

TypeIdentifier

Normalisierter TypeIdentifier (einschließlich FW-Version) eines steckbaren (Sub-)Moduls, der so formatiert ist, dass Sonderzeichen durch '_' ersetzt werden.

AttributeName

Name des Attributs in Openness

Das folgende Snippet zeigt das Format, in dem benutzerdefinierte Attribute in der AML-Datei vorliegen sollten, wenn der Knoten über eine Schnittstelle gefunden wird.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

<InternalElement ID="609cefa0-208f-4c51-bee5-60002332ef84" Name="E1">

<Attribute Name="SubnetMask" AttributeDataType="xs:string">

<Value>255.255.255.0</Value>

</Attribute>

<Attribute Name="IpProtocolSelection" AttributeDataType="xs:string">

<Value>Project</Value>

</Attribute>

<Attribute Name="Type" AttributeDataType="xs:string">

<Value>Ethernet</Value>

</Attribute>

<Attribute Name="NetworkAddress" AttributeDataType="xs:string">

<Value>192.168.0.1</Value>

</Attribute>

<Attribute Name="CustomAttributes">

<RefSemantic CorrespondingAttributePath="ListType" />

<Attribute Name="6ES7511_1AK00_0AB0_V1_8.Interfaces.X1.Nodes.Ethernet.PnDeviceNameAutoGeneration" AttributeDataType="xs:string"><Value>True</Value>

</Attribute>

<Attribute Name="6ES7511_1AK00_0AB0_V1_8.Interfaces.X1.Nodes.Ethernet.PnDeviceNameSetDirectly" AttributeDataType="xs:string"<Value>False</Value>

</Attribute>

<Attribute Name="6ES7511_1AK00_0AB0_V1_8.Interfaces.X1.Nodes.Ethernet.UseIsoProtocol" AttributeDataType="xs:string"><Value>False</Value>

</Attribute>

<Attribute Name="6ES7511_1AK00_0AB0_V1_8.Interfaces.X1.Nodes.Ethernet.UseRouter" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

</Attribute>

<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationRoleClassLib/Node" />

<SupportedRoleClass RefRoleClassPath="AutomationProjectConfigurationEthernetRoleClassLib/NodeEthernet" />

</InternalElement>

Subnetzkonfiguration

Die folgende Tabelle enthält das Format des identifizierenden Namens für das benutzerdefinierte Attribut Subnetz in der AML-Datei.

  • <TypeIdentifier>.<AttributeName>, wobei

Benutzerdefiniertes Attribut

Beschreibung

TypeIdentifier

Normalisierter TypeIdentifier eines Subnetzes, der so formatiert ist, dass Sonderzeichen durch '_' ersetzt werden.

AttributeName

Name des Attributs in Openness

Das folgende Snippet zeigt das Format, in dem benutzerdefinierte Attribute in der AML-Datei vorliegen sollten, wenn das Subnetz gefunden wird.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

<InternalElement ID="cb471149-05a1-4063-b591-25a00d84c288" Name="PROFIBUS_1">

<Attribute Name="Type" AttributeDataType="xs:string">

<Value>Profibus</Value>

</Attribute>

<Attribute Name="CustomAttributes">

<RefSemantic CorrespondingAttributePath="ListType" />

<Attribute Name="System_Subnet_Profibus.BusProfile" AttributeDataType="xs:string">

<Value>BusProfile.Dp</Value>

</Attribute>

<Attribute Name="System_Subnet_Profibus.HighestAddress" AttributeDataType="xs:string">

<Value>126</Value>

</Attribute>

<Attribute Name="System_Subnet_Profibus.PbCableConfiguration" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

<Attribute Name="System_Subnet_Profibus.PbCyclicDistribution" AttributeDataType="xs:string">

<Value>True</Value>

</Attribute>

<Attribute Name="System_Subnet_Profibus.SubnetId" AttributeDataType="xs:string">

<Value>A5B5-1</Value>

</Attribute>

<Attribute Name="System_Subnet_Profibus.TransmissionSpeed" AttributeDataType="xs:string"><Value>BaudRate.Baud1500000</Value>

</Attribute>

</Attribute>

IO-Systemkonfiguration

Die folgende Tabelle enthält das Format des identifizierenden Namens für das benutzerdefinierte Attribut IO-System in der AML-Datei.

  • <TypeIdentifier>.Schnittstellen.<InterfaceLabel>.IOSystem.<AttributeName>, wobei

Benutzerdefiniertes Attribut

Beschreibung

TypeIdentifier

Normalisierter TypeIdentifier (einschließlich FW-Version) eines steckbaren (Sub-)Moduls, der so formatiert ist, dass Sonderzeichen durch '_' ersetzt werden.

AttributeName

Name des Attributs in Openness

Das folgende Snippet zeigt das Format, in dem benutzerdefinierte Attribute in der AML-Datei vorliegen sollten, wenn das IO-System über eine Schnittstelle gefunden wird.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

<InternalElement ID="f6edc86b-f995-4459-9429-b30c36b0b475" Name="PROFINET IO-System">

<Attribute Name="Number" AttributeDataType="xs:int">

<Value>100</Value>

</Attribute>

<Attribute Name="CustomAttributes">

<RefSemantic CorrespondingAttributePath="ListType" />

<Attribute Name="6ES7515_2AM00_0AB0_V1_8.Interfaces.X1.IoSystem.MultipleUseIoSystem" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

<Attribute Name="6ES7515_2AM00_0AB0_V1_8.Interfaces.X1.IoSystem.UseIoSystemNameAsDeviceNameExtension" AttributeDataType="xs:string">

<Value>False</Value>

</Attribute>

</Attribute>

Toleranter Import

Beim Import ist das TIA Portal in Bezug auf Namen benutzerdefinierter Attribute in den folgenden Szenarien tolerant:

  • Der CAx-Import akzeptiert AML-Dateien mit benutzerdefinierten Attributen mit vollständigem IdentifyingName.

  • Der CAx-Import akzeptiert AML-Dateien mit benutzerdefinierten Attributen mit ausschließlich dem Attributnamen.