Export/Import von UDT & DB - 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
Export/Import von UDT & DB

Voraussetzung

Verwendung

Sie können TIA Portal Openness verwenden, um eine Überwachung für boole'sche Mitglieder in einem UDT festzulegen und ProDiagFB für UDT-Instanzen in den globalen Daten zuzuweisen, wenn der globale Datenbaustein erstellt wird. Sie sollten in der Lage sein, diese Überwachungsinformation über den Export bzw. Import in TIA Portal Openness bereitzustellen bzw. abzurufen.

XML-Struktur exportierter/importierter UDT

Verwenden Sie die folgende XML-Struktur, um ein Element einer boole'schen Variablen, für die Sie eine Überwachung festgelegt haben, zu exportieren:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

<?xml version="1.0" encoding="utf-8"?>

<Document>

<Engineering version="V17" />

<DocumentInfo>

<Created>2020-06-08T20:10:12.6308242Z</Created>

<ExportSetting>None</ExportSetting>

<InstalledProducts>

<Product>

<DisplayName>Totally Integrated Automation Portal</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</Product>

<OptionPackage>

<DisplayName>TIA Portal Openness</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</OptionPackage>

<OptionPackage>

<DisplayName>TIA Portal Version Control Interface</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</OptionPackage>

<Product>

<DisplayName>Feature Cycle 3 TIA Portal</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</Product>

<Product>

<DisplayName>STEP 7 Professional</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</Product>

<OptionPackage>

<DisplayName>SIMATIC Energy Suite</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</OptionPackage>

<OptionPackage>

<DisplayName>STEP 7 Safety</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</OptionPackage>

<Product>

<DisplayName>WinCC Professional</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</Product>

</InstalledProducts>

</DocumentInfo>

<SW.Types.PlcStruct ID="0">

<AttributeList>

<Interface><Sections>

<Section Name="None">

<Member Name="Element_1" Datatype="Bool" />

</Section>

</Sections>

</Interface>

<Name>User_data_type_1</Name>

<Supervisions><PLCDataTypeSupervisions>

<PLCDataTypeSupervision Number="1" Type="Operand">

<SupervisedOperand Name="#Element_1" />

<SupervisedStatus>false</SupervisedStatus>

<DelayOperand Name="T#0ms" />

<Conditions>

<Condition>

<ConditionOperand Number="1" Name="" />

<TriggeringStatus>true</TriggeringStatus>

</Condition>

<Condition>

<ConditionOperand Number="2" Name="" />

<TriggeringStatus>true</TriggeringStatus>

</Condition>

<Condition>

<ConditionOperand Number="3" Name="" />

<TriggeringStatus>true</TriggeringStatus>

</Condition>

</Conditions>

<CategoryNumber>1</CategoryNumber>

<SubCategory1Number>0</SubCategory1Number>

<SubCategory2Number>0</SubCategory2Number>

</PLCDataTypeSupervision></PLCDataTypeSupervisions></Supervisions>

</AttributeList>

<ObjectList>

<MultilingualText ID="1" CompositionName="Comment">

<ObjectList>

<MultilingualTextItem ID="2" CompositionName="Items">

<AttributeList>

<Culture>en-US</Culture>

<Text />

</AttributeList>

</MultilingualTextItem>

</ObjectList>

</MultilingualText>

<MultilingualText ID="3" CompositionName="Title">

<ObjectList>

<MultilingualTextItem ID="4" CompositionName="Items">

<AttributeList>

<Culture>en-US</Culture>

<Text />

</AttributeList>

</MultilingualTextItem>

</ObjectList>

</MultilingualText>

</ObjectList> 

</SW.Types.PlcStruct>

</Document>

Wenn Sie einen UDT importieren und eine Überwachung für die boole'sche Variable zuweisen wollen, können obige XML-Variablen verwendet werden. Sie können jedoch nach dem Import keine Überwachung für eine boole'sche Variable über Openness einrichten.

Hinweis

Die Überwachung ist nur für boole'sche Variablen für UDT möglich; wenn Sie versuchen, die Variablen "PLCDataTypeSupervisions" für nicht-boole'sche Mitglieder in UDT zu importieren oder zu exportieren, wird keine Ausnahme erzeugt.

XML-Struktur exportierter/importierter DB

Verwenden Sie die folgende XML-Struktur, um ein Mitglied einer UDT-Instanz zu exportieren, unabhängig davon ob der UDT mit oder ohne Überwachung eingerichtet ist und ob ein Struct-Array mit UDT-Instanzen als Mitglied vorhanden ist:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

<?xml version="1.0" encoding="utf-8"?>

<Document>

<Engineering version="V17" />

<DocumentInfo>

<Created>2020-06-09T16:01:18.494539Z</Created>

<ExportSetting>None</ExportSetting>

<InstalledProducts>

<Product>

<DisplayName>Totally Integrated Automation Portal</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</Product>

<Product>

<DisplayName>Feature Cycle 1 TIA Portal</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</Product>

<Product>

<DisplayName>Feature Cycle 3 TIA Portal</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</Product>

<Product>

<DisplayName>STEP 7 Professional</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</Product>

<OptionPackage>

<DisplayName>STEP 7 Safety</DisplayName>

<DisplayVersion>V17</DisplayVersion>

</OptionPackage>

</InstalledProducts>

</DocumentInfo>

<SW.Blocks.GlobalDB ID="0">

<AttributeList>

<Interface><Sections>

<Section Name="Static">

<Member Name="Static_1" Datatype="Udt_With_Supervision"><AttributeList><BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute></AttributeList><AssignedProDiagFB>Default_SupervisionFB</AssignedProDiagFB></Member>

<Member Name="Static_2" Datatype="Array[0..1] of Struct">

<Member Name="Static_1" Datatype="&quot;Udt_With_Supervision&quot;"><AttributeList><BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute></AttributeList><Subelement Path="0"><AssignedProDiagFB>Default_SupervisionFB</AssignedProDiagFB></Subelement><Subelement Path="1"><AssignedProDiagFB>Default_SupervisionFB</AssignedProDiagFB></Subelement></Member>

</Member>

</Section>

</Sections></Interface>

<MemoryLayout>Optimized</MemoryLayout>

<MemoryReserve>100</MemoryReserve>

<Name>Data_block_5</Name>

<Number>16</Number>

<ProgrammingLanguage>DB</ProgrammingLanguage>

</AttributeList>

<ObjectList>

<MultilingualText ID="1" CompositionName="Comment">

<ObjectList>

<MultilingualTextItem ID="2" CompositionName="Items">

<AttributeList>

<Culture>en-US</Culture>

<Text />

</AttributeList>

</MultilingualTextItem>

</ObjectList>

</MultilingualText>

<MultilingualText ID="3" CompositionName="Title">

<ObjectList>

<MultilingualTextItem ID="4" CompositionName="Items">

<AttributeList>

<Culture>en-US</Culture>

<Text />

</AttributeList>

</MultilingualTextItem>

</ObjectList>

</MultilingualText>

</ObjectList>

</SW.Blocks.GlobalDB>

</Document>

Hinweis

Attribut "AssignedProDiagFB" ist nur für UDT-Instanzen gültig. Es ist nicht möglich, ungültige Daten zu exportieren, da sie sauber übersetzt werden sollten und daher keine Ausnahme während des Exports erzeugt wird. Sie werden die Ausnahme "Not supported" erhalten, wenn Sie versuchen, Variable "AssignedProDiagFB" für nicht-UDT-Instanzen im globalen DB oder in ein anderes Mitglied in einem beliebigen Baustein zu importieren.