Funcionando en General - con un parsing basico de XML-SCL a Texto-SCL
This commit is contained in:
parent
6228d77d8d
commit
27442c88fd
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -57,7 +57,7 @@ BEGIN
|
|||
|
||||
// Network 7: Delay Power On (Original Language: LAD)
|
||||
|
||||
// Network did not produce printable SCL code.
|
||||
"mDelayPowerOnTmr"(IN := "FirstScan", PT := S5T#2S); // TODO: Declarar "mDelayPowerOnTmr" : TP; en VAR_STAT o VAR
|
||||
|
||||
// Network 8: Production Mode (Original Language: LAD)
|
||||
|
||||
|
@ -103,7 +103,8 @@ BEGIN
|
|||
|
||||
// Network 15: Manual Syrup Drain Valve Open - Operator Alarm (Original Language: LAD)
|
||||
|
||||
// Network did not produce printable SCL code.
|
||||
"mHVM302_Dly"(IN := "gIN_HVM302_Aux", PT := S5T#1S); // TODO: Declarar "mHVM302_Dly" : TON; en VAR_STAT o VAR
|
||||
"gHVM302_Open" := "mHVM302_Dly".Q;
|
||||
|
||||
// Network 16: Maselli Control (Original Language: LAD)
|
||||
|
||||
|
@ -267,11 +268,12 @@ BEGIN
|
|||
|
||||
// Network 50: ResetTotalizer (Original Language: LAD)
|
||||
|
||||
// Network did not produce printable SCL code.
|
||||
"mResetTotalizerTmr"(IN := "gBlendResetTotalizer", PT := S5T#2S); // TODO: Declarar "mResetTotalizerTmr" : TP; en VAR_STAT o VAR
|
||||
|
||||
// Network 51: ResetWaterTot (Original Language: LAD)
|
||||
|
||||
// Network did not produce printable SCL code.
|
||||
"mResetFTN301TotTmr"(IN := "gFTN301_ResetTot" OR "mResetTotalizerTmr", PT := S5T#2S); // TODO: Declarar "mResetFTN301TotTmr" : TP; en VAR_STAT o VAR
|
||||
"mResetWaterTot" := "mResetFTN301TotTmr".Q;
|
||||
|
||||
// Network 52: Water VFM Reset Totalizer (Original Language: LAD)
|
||||
|
||||
|
@ -281,7 +283,8 @@ BEGIN
|
|||
|
||||
// Network 53: ResetCO2Tot (Original Language: LAD)
|
||||
|
||||
// Network did not produce printable SCL code.
|
||||
"mResetFTP302TotTmr"(IN := "gFTP302_ResetTot" OR "mResetTotalizerTmr", PT := S5T#2S); // TODO: Declarar "mResetFTP302TotTmr" : TP; en VAR_STAT o VAR
|
||||
"mResetSyrupTot" := "mResetFTP302TotTmr".Q AND "gSyrupRoomEn";
|
||||
|
||||
// Network 54: Syrup MFM Reset Totalizer (Original Language: LAD)
|
||||
|
||||
|
@ -291,7 +294,8 @@ BEGIN
|
|||
|
||||
// Network 55: ResetProductTot (Original Language: LAD)
|
||||
|
||||
// Network did not produce printable SCL code.
|
||||
"mResetFTM303TotTmr"(IN := "gFTM303_ResetTot" OR "mResetTotalizerTmr", PT := S5T#2S); // TODO: Declarar "mResetFTM303TotTmr" : TP; en VAR_STAT o VAR
|
||||
"mResetCO2Tot" := "mResetFTM303TotTmr".Q;
|
||||
|
||||
// Network 56: CO2 MFM Reset Tot (Original Language: LAD)
|
||||
|
||||
|
@ -301,7 +305,8 @@ BEGIN
|
|||
|
||||
// Network 57: ResetCO2Tot (Original Language: LAD)
|
||||
|
||||
// Network did not produce printable SCL code.
|
||||
"mResetProductTotTmr"(IN := "gProductMFMResetTot" OR "mResetTotalizerTmr", PT := S5T#2S); // TODO: Declarar "mResetProductTotTmr" : TP; en VAR_STAT o VAR
|
||||
"mResetProductTot" := "mResetProductTotTmr".Q;
|
||||
|
||||
// Network 58: Reset Totalizer (Original Language: LAD)
|
||||
|
||||
|
@ -349,6 +354,10 @@ BEGIN
|
|||
|
||||
"mAux_FP_M700_1" := "HMI_Variables_Cmd"."Recipe"."Main_Page" AND (NOT "mFP_Recip_Main_Page");
|
||||
"mFP_Recip_Main_Page" := "HMI_Variables_Cmd"."Recipe"."Main_Page";
|
||||
"T_Pulse_Recipe_Edit"(IN := "HMI_Variables_Cmd"."Recipe"."Main_Page" AND "HMI_Variables_Cmd"."Recipe"."Edit", PT := S5T#500ms); // TODO: Declarar "T_Pulse_Recipe_Edit" : TP; en VAR_STAT o VAR
|
||||
IF "T_Pulse_Recipe_Edit".Q AND "T_Pulse_Recipe_Edit" THEN
|
||||
"HMI_Variables_Cmd"."Recipe"."Edit" := FALSE;
|
||||
END_IF;
|
||||
IF "mAux_FP_M700_1" THEN
|
||||
"HMI_Variables_Cmd"."Recipe"."Edit" := TRUE;
|
||||
END_IF;
|
||||
|
|
|
@ -0,0 +1,284 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2019. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="AttributeList" type="AttributeList_T"/>
|
||||
<xs:complexType name="AttributeList_T">
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="BooleanAttribute"/>
|
||||
<xs:element ref="IntegerAttribute"/>
|
||||
<xs:element ref="RealAttribute"/>
|
||||
<xs:element ref="StringAttribute"/>
|
||||
<xs:element ref="DateAttribute"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:element name="Blank" type="Blank_T"/>
|
||||
<xs:complexType name="Blank_T">
|
||||
<xs:attribute name="Num" type="xs:positiveInteger" use="optional" default="1"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="BooleanAttribute" type="BooleanAttribute_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A member attribute with a type restriction of boolean.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:complexType name="BooleanAttribute_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:boolean">
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Informative" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Exported only with ReadOnly option, ignored during import.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SystemDefined" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>An attribute of attribute, denotes if it is defined by a user or the system itself. In V14, if exists it is always true.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="Comment" type="Comment_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Not allowed in STL</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:group name="Comment_G">
|
||||
<xs:annotation>
|
||||
<xs:documentation>LAD/FBD: Only for Parts</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element ref="Comment"/>
|
||||
<xs:element ref="LineComment"/>
|
||||
<xs:element ref="Blank"/>
|
||||
<xs:element ref="NewLine"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:group>
|
||||
<xs:complexType name="Comment_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="IntegerAttribute" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>For NumBLs in STL. NumBLs is the count of the blank spaces before the actual text in the Comment. This is informative.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="MultiLanguageText" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Inserted" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Denotes if the comment is at the end of the line (using /*/) or inside the line (using (/* */) )</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Informative" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Exported only with ReadOnly option, ignored during import.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="DateAttribute" type="DateAttribute_T"/>
|
||||
<xs:complexType name="DateAttribute_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:dateTime">
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Informative" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Exported only with ReadOnly option, ignored during import.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SystemDefined" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>An attribute of attribute, denotes if it is defined by a user or the system itself. In V14, if exists it is always true.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="GUID_TP">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="IntegerAttribute" type="IntegerAttribute_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A member attribute with a type restriction of integer.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:complexType name="IntegerAttribute_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Not for LAD/FBD.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:integer">
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Informative" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Exported only with ReadOnly option, ignored during import.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SystemDefined" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>An attribute of attribute, denotes if it is defined by a user or the system itself. In V14, if exists it is always true.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Lang_TP">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[a-zA-Z]{2}-[a-zA-Z]{2}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="LineComment" type="LineComment_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Not for LAD/FBD </xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:complexType name="LineComment_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="IntegerAttribute" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>For NumBLs in STL. NumBLs is the count of the blank spaces before the actual text in the LineComment. This is informative.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element ref="Text"/>
|
||||
<xs:element ref="Comment"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Inserted" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Denotes if the comment is at the end of the line (using //) or inside the line (using /* */)</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="NoClosingBracket" type="xs:boolean" default="false"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="MultiLanguageText" type="MultiLanguageText_T"/>
|
||||
<xs:complexType name="MultiLanguageText_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="Lang" type="Lang_TP" use="required"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="NewLine" type="NewLine_T"/>
|
||||
<xs:complexType name="NewLine_T">
|
||||
<xs:attribute name="Num" type="xs:positiveInteger" use="optional" default="1"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="RealAttribute" type="RealAttribute_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A member attribute with a type restriction of real.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:complexType name="RealAttribute_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:double">
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Informative" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Exported only with ReadOnly option, ignored during import.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SystemDefined" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>An attribute of attribute, denotes if it is defined by a user or the system itself. In V14, if exists it is always true.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="SectionName_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="None"/>
|
||||
<xs:enumeration value="Input"/>
|
||||
<xs:enumeration value="Return"/>
|
||||
<xs:enumeration value="Output"/>
|
||||
<xs:enumeration value="InOut"/>
|
||||
<xs:enumeration value="Static"/>
|
||||
<xs:enumeration value="Temp"/>
|
||||
<xs:enumeration value="Constant"/>
|
||||
<xs:enumeration value="Base"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="SimaticName_TP">
|
||||
<xs:restriction base="xs:string"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="SimaticType_TE">
|
||||
<xs:restriction base="xs:string"/>
|
||||
</xs:simpleType>
|
||||
<xs:element name="StringAttribute" type="StringAttribute_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A member attribute with a type restriction of string.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:complexType name="StringAttribute_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Informative" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Exported only with ReadOnly option, ignored during import.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SystemDefined" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>An attribute of attribute, denotes if it is defined by a user or the system itself. In V14, if exists it is always true.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="Text" type="Text_T"/>
|
||||
<xs:complexType name="Text_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="Token" type="Token_T"/>
|
||||
<xs:group name="Token_G">
|
||||
<xs:choice>
|
||||
<xs:element ref="Token" minOccurs="0"/>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
</xs:choice>
|
||||
</xs:group>
|
||||
<xs:complexType name="Token_T">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element ref="IntegerAttribute" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>For NumBLs. NumBLs is the count of the blank spaces at the start.This is informative.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Text" type="Token_TE" use="required"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Token_TE">
|
||||
<xs:restriction base="xs:string"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="VersionString_TP">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]+(.[0-9]+){0,3}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="ViewInfo" type="ViewInfo_T"/>
|
||||
<xs:complexType name="ViewInfo_T">
|
||||
<xs:attribute name="Start" type="xs:boolean" use="optional"/>
|
||||
<xs:attribute name="XPos" type="xs:int" use="optional"/>
|
||||
<xs:attribute name="YPos" type="xs:int" use="optional"/>
|
||||
<xs:attribute name="Width" type="xs:int" use="optional"/>
|
||||
<xs:attribute name="Height" type="xs:int" use="optional"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2018. All rights reserved. -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="SnapshotValues" type="SnapshotValues_T"/>
|
||||
<xs:complexType name="SnapshotValues_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Value" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Value" type="Value_T"/>
|
||||
<xs:complexType name="Value_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="Path" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Type" type="xs:string" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,162 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2020. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="SW.Common_v3.xsd"/>
|
||||
<xs:simpleType name="Accessibility_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Public"/>
|
||||
<xs:enumeration value="Internal"/>
|
||||
<xs:enumeration value="Protected"/>
|
||||
<xs:enumeration value="Private"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="IndexPath_TP">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="-?\d+(,-?\d+)*(;(-?\d+(,-?\d+)*))?"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Member" type="Member_T"/>
|
||||
<xs:complexType name="Member_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="AttributeList" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="Member"/>
|
||||
<xs:element ref="Sections"/>
|
||||
<xs:element ref="StartValue"/>
|
||||
<xs:element ref="Comment"/>
|
||||
<xs:element ref="AssignedProDiagFB"/>
|
||||
<xs:element ref="Subelement"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Datatype" type="SimaticType_TE" use="required"/>
|
||||
<xs:attribute name="Version" type="xs:string" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The version of the library type to use. Previous to this, the version was written inside the Datatype attribute itself, like "dtl:v1.0". Now, this is written in two separate attributes, to mitigate problems with weird names ("dtl:v1.0" could be a UDT name!).</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Remanence" type="Remanence_TE" default="NonRetain"/>
|
||||
<xs:attribute name="Accessibility" type="Accessibility_TE" default="Public"/>
|
||||
<xs:attribute name="Informative" type="xs:boolean" default="false"/>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="MemberAttributes_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CodeReadOnly">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Write acces only inside function</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="At">
|
||||
<xs:annotation>
|
||||
<xs:documentation>string: Member shares offset with another member in this structure</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="SetPoint">
|
||||
<xs:annotation>
|
||||
<xs:documentation>boolean: Member can be synchronized with work memory</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="UserVisible">
|
||||
<xs:annotation>
|
||||
<xs:documentation>boolean: Editor does not show the member</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="UserReadOnly">
|
||||
<xs:annotation>
|
||||
<xs:documentation>boolean: User cannot change member name</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="UserDeletable">
|
||||
<xs:annotation>
|
||||
<xs:documentation>boolean: Editor does not allow to delete the member</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="HmiAccessible">
|
||||
<xs:annotation>
|
||||
<xs:documentation>boolean: No HMI access, no structure item</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="HmiVisible">
|
||||
<xs:annotation>
|
||||
<xs:documentation>boolean: Filter to reduce the number of members shown in the first place</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="Offset">
|
||||
<xs:annotation>
|
||||
<xs:documentation>integer: </xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="PaddedSize">
|
||||
<xs:annotation>
|
||||
<xs:documentation>integer: </xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="HiddenAssignment">
|
||||
<xs:annotation>
|
||||
<xs:documentation>boolean: Hide assignement at call if matches with PredefinedAssignment</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="PredefinedAssignment">
|
||||
<xs:annotation>
|
||||
<xs:documentation>string: Input for the paramter used when call is placed</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="ReadOnlyAssignment">
|
||||
<xs:annotation>
|
||||
<xs:documentation>boolean: The user cannot change the predefined assignement at the call</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Remanence_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SetInIDB"/>
|
||||
<xs:enumeration value="NonRetain"/>
|
||||
<xs:enumeration value="Retain"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Section" type="Section_T"/>
|
||||
<xs:complexType name="Section_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Sections" minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Base Class</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Member" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Name" type="SectionName_TE" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Sections" type="Sections_T"/>
|
||||
<xs:complexType name="Sections_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="AttributeList" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element ref="Section" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Datatype" type="SimaticType_TE"/>
|
||||
<xs:attribute name="Version" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="StartValue" type="StartValue_T"/>
|
||||
<xs:element name="AssignedProDiagFB" type="xs:string"/>
|
||||
<xs:complexType name="StartValue_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="ConstantName" type="SimaticName_TP"/>
|
||||
<xs:attribute name="IsBulkValue" type="xs:boolean" default="false"/>
|
||||
<xs:attribute name="Informative" type="xs:boolean" default="false"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="Subelement" type="Subelement_T"/>
|
||||
<xs:complexType name="Subelement_T">
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="StartValue"/>
|
||||
<xs:element ref="Comment"/>
|
||||
<xs:element ref="AssignedProDiagFB"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Path" type="IndexPath_TP"/>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,593 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2019. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="SW.Common_v3.xsd"/>
|
||||
<xs:element name="AbsoluteOffset" type="AbsoluteOffset_T"/>
|
||||
<xs:complexType name="AbsoluteOffset_T">
|
||||
<xs:attribute name="BitOffset" type="xs:int" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Byte * 8 + Bit</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Type" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Access" type="Access_T"/>
|
||||
<xs:group name="Access_G">
|
||||
<xs:sequence>
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element ref="Access"/>
|
||||
<xs:element ref="Token"/>
|
||||
<xs:group ref="Comment_G"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:group>
|
||||
<xs:complexType name="Access_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="IntegerAttribute" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>for NumBLs. NumBLs is informative. Not for LAD/FBD.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:choice>
|
||||
<xs:element ref="Label"/>
|
||||
<xs:element ref="Constant"/>
|
||||
<xs:element ref="CallInfo">
|
||||
<xs:annotation>
|
||||
<xs:documentation>call of a user block. Not in Graph ActionList.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Instruction">
|
||||
<xs:annotation>
|
||||
<xs:documentation>call of an instruction. Not for LAD/FBD, Graph ActionList.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Indirect">
|
||||
<xs:annotation>
|
||||
<xs:documentation>STL specific</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Statusword"/>
|
||||
<xs:element ref="PredefinedVariable">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Only in SCL</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Expression">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SCL specific</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Symbol"/>
|
||||
<xs:element ref="Address">
|
||||
<xs:annotation>
|
||||
<xs:documentation>for absolute addresses</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="DataType"/>
|
||||
<xs:element ref="Reference"/>
|
||||
</xs:choice>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Scope" use="required">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="Scope_TE"/>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Not allowed in STL</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="AccessModifier_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="None"/>
|
||||
<xs:enumeration value="Array"/>
|
||||
<xs:enumeration value="Reference"/>
|
||||
<xs:enumeration value="ReferenceToArray"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Address" type="Address_T"/>
|
||||
<xs:complexType name="Address_T">
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="BooleanAttribute"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="Area" type="Area_TE" use="required"/>
|
||||
<xs:attribute name="Type" type="SimaticName_TP" use="optional"/>
|
||||
<xs:attribute name="BlockNumber" type="xs:int" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>for DB access</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="BitOffset" type="xs:int" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>In general it is Byte * 8 + Bit. But if it is used for addressing a DB we will find the number of the DB here (e.g. "DB12" ->12).</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Informative" type="xs:boolean" default="false">
|
||||
<xs:annotation>
|
||||
<xs:documentation>if true, the import unnoted it</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Area_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="None"/>
|
||||
<xs:enumeration value="PeripheryInput"/>
|
||||
<xs:enumeration value="PeripheryOutput"/>
|
||||
<xs:enumeration value="Input"/>
|
||||
<xs:enumeration value="Output"/>
|
||||
<xs:enumeration value="Memory"/>
|
||||
<xs:enumeration value="FB"/>
|
||||
<xs:enumeration value="FC"/>
|
||||
<xs:enumeration value="DB">
|
||||
<xs:annotation>
|
||||
<xs:documentation>partly qualified access with DB register</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="DI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>partly qualified access with DI register</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="Timer"/>
|
||||
<xs:enumeration value="Counter"/>
|
||||
<xs:enumeration value="Local">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Classic Local Stack</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BlockType_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DB"/>
|
||||
<xs:enumeration value="FB"/>
|
||||
<xs:enumeration value="FC"/>
|
||||
<xs:enumeration value="OB"/>
|
||||
<xs:enumeration value="UDT"/>
|
||||
<xs:enumeration value="FBT"/>
|
||||
<xs:enumeration value="FCT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="CallInfo" type="CallInfo_T"/>
|
||||
<xs:complexType name="CallInfo_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Not for LAD/FBD. </xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="IntegerAttribute">
|
||||
<xs:annotation>
|
||||
<xs:documentation>for BlockNumber. BlockNumber is informative.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="DateAttribute">
|
||||
<xs:annotation>
|
||||
<xs:documentation>for ParameterModifiedTS. ParameterModifiedTS is informative</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Instance"/>
|
||||
<xs:element ref="NamelessParameter" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:group ref="Token_G" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element ref="Parameter" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="Name" type="SimaticName_TP" use="optional"/>
|
||||
<xs:attribute name="BlockType" type="BlockType_TE" use="required"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Component" type="Component_T"/>
|
||||
<xs:complexType name="Component_T">
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:group ref="Comment_G" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SCL</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:group>
|
||||
<xs:element ref="Token" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SCL</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Access">
|
||||
<xs:annotation>
|
||||
<xs:documentation>For the indices of an array</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="BooleanAttribute" minOccurs="0"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="SliceAccessModifier" type="SliceAccessModifier_TP" default="undef"/>
|
||||
<xs:attribute name="SimpleAccessModifier" type="SimpleAccessModifier_TP" default="None"/>
|
||||
<xs:attribute name="AccessModifier" type="AccessModifier_TE" default="None">
|
||||
<xs:annotation>
|
||||
<xs:documentation>If component has child AccessModifier is Array else AccessModifier is None</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Constant" type="Constant_T"/>
|
||||
<xs:complexType name="Constant_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="ConstantType" minOccurs="0"/>
|
||||
<xs:element ref="ConstantValue" minOccurs="0"/>
|
||||
<xs:element ref="StringAttribute" minOccurs="0" maxOccurs="2">
|
||||
<xs:annotation>
|
||||
<xs:documentation>for Format and FormatFlags. They are informative..</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="BooleanAttribute" minOccurs="0" maxOccurs="2"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Name" type="SimaticName_TP"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="ConstantType" type="ConstantType_T"/>
|
||||
<xs:complexType name="ConstantType_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="Informative" type="xs:boolean" use="optional"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="ConstantValue" type="ConstantValue_T"/>
|
||||
<xs:complexType name="ConstantValue_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="Informative" type="xs:boolean" use="optional"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="Expression" type="Expression_T"/>
|
||||
<xs:complexType name="Expression_T">
|
||||
<xs:sequence maxOccurs="unbounded">
|
||||
<xs:choice>
|
||||
<xs:element ref="Access"/>
|
||||
<xs:element ref="Token"/>
|
||||
</xs:choice>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="UId" type="xs:int"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="DataType" type="DataType_T"/>
|
||||
<xs:complexType name="DataType_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="Informative" type="xs:boolean" use="optional"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Format_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Real"/>
|
||||
<xs:enumeration value="Bin"/>
|
||||
<xs:enumeration value="DecSigned"/>
|
||||
<xs:enumeration value="DecUnsigned"/>
|
||||
<xs:enumeration value="Pointer"/>
|
||||
<xs:enumeration value="CharSequence"/>
|
||||
<xs:enumeration value="DecSequence"/>
|
||||
<xs:enumeration value="Hex"/>
|
||||
<xs:enumeration value="S5Count"/>
|
||||
<xs:enumeration value="Time"/>
|
||||
<xs:enumeration value="Date"/>
|
||||
<xs:enumeration value="TimeOfDay"/>
|
||||
<xs:enumeration value="S5Time"/>
|
||||
<xs:enumeration value="Bool"/>
|
||||
<xs:enumeration value="Oct"/>
|
||||
<xs:enumeration value="Bcd"/>
|
||||
<xs:enumeration value="DateAndTime"/>
|
||||
<xs:enumeration value="String"/>
|
||||
<xs:enumeration value="Any"/>
|
||||
<xs:enumeration value="Number"/>
|
||||
<xs:enumeration value="Char"/>
|
||||
<xs:enumeration value="HexSequence"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="FormatFlags_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="None"/>
|
||||
<xs:pattern value="((Lower|Format|Size|Under|Exp|TypeQualifier)(,\s*)?)*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Indirect" type="Indirect_T"/>
|
||||
<xs:complexType name="Indirect_T">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="Token"/>
|
||||
<xs:group ref="Comment_G"/>
|
||||
</xs:choice>
|
||||
<xs:element ref="Access" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Width" type="Width_TE" use="required"/>
|
||||
<xs:attribute name="Area" type="Area_TE" use="optional"/>
|
||||
<xs:attribute name="Register" type="Register_TE" use="optional"/>
|
||||
<xs:attribute name="BitOffset" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Instance" type="Instance_T"/>
|
||||
<xs:complexType name="Instance_T">
|
||||
<xs:sequence maxOccurs="unbounded">
|
||||
<xs:choice>
|
||||
<xs:element ref="Component"/>
|
||||
<xs:element ref="AbsoluteOffset"/>
|
||||
<xs:element ref="Token">
|
||||
<xs:annotation>
|
||||
<xs:documentation>the DOT; only if separated. Not in Graph ActionList, not in LAD/FBD.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Address"/>
|
||||
</xs:choice>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="UId" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Not allowed in STL</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Scope" type="Scope_TE" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Instruction" type="Instruction_T"/>
|
||||
<xs:complexType name="Instruction_T">
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:group ref="Token_G"/>
|
||||
<xs:element ref="TemplateValue"/>
|
||||
|
||||
<xs:element ref="Instance"/>
|
||||
<xs:element ref="NamelessParameter" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element ref="Parameter" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Name" use="optional">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="SimaticName_TP">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Version" type="VersionString_TP"/>
|
||||
<xs:attribute name="Informative" type="xs:boolean" default="false"/>
|
||||
<xs:attribute name="UId" type="xs:int"/>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="InterfaceFlags_TP">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="None"/>
|
||||
<xs:pattern value="((Mandatory|S7_Visible)(,\s*)?)*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Label" type="Label_T"/>
|
||||
<xs:complexType name="Label_T">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SCL only</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element ref="BooleanAttribute" minOccurs="0"/>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
<xs:element ref="Token" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Name" type="SimaticName_TP" use="required"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="NamelessParameter" type="NamelessParameter_T"/>
|
||||
<xs:complexType name="NamelessParameter_T">
|
||||
<xs:sequence maxOccurs="unbounded">
|
||||
<xs:element ref="StringAttribute" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>for InterfaceFlags. InterfaceFlags is informative</xs:documentation>
|
||||
<xs:documentation>The type of the value should be InterfaceFlags_TP</xs:documentation>
|
||||
<xs:documentation>The default value is "S7_Visible"</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:group ref="Access_G"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="UId" type="xs:int"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Parameter" type="Parameter_T"/>
|
||||
|
||||
<xs:complexType name="Parameter_T">
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element ref="IntegerAttribute" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>for NumBLs. NumBLs is informative</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="StringAttribute" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>for InterfaceFlags. InterfaceFlags is informative</xs:documentation>
|
||||
<xs:documentation>The type of the value should be InterfaceFlags_TP</xs:documentation>
|
||||
<xs:documentation>The default value is "S7_Visible"</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="BooleanAttribute" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:group ref="Access_G" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Name" type="SimaticName_TP" use="required"/>
|
||||
<xs:attribute name="Section" type="SectionName_TE" use="optional"/>
|
||||
<xs:attribute name="Type" type="SimaticType_TE"/>
|
||||
<xs:attribute name="TemplateReference" type="xs:string"/>
|
||||
<xs:attribute name="Informative" type="xs:boolean" default="false"/>
|
||||
<xs:attribute name="UId" type="xs:int"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="PredefinedVariable" type="PredefinedVariable_T"/>
|
||||
<xs:complexType name="PredefinedVariable_T">
|
||||
<xs:attribute name="Name" type="PredefinedVariable_TE" use="required"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PredefinedVariable_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ENO"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Reference" type="Reference_T"/>
|
||||
<xs:complexType name="Reference_T">
|
||||
<xs:sequence>
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SCL</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
<xs:element ref="Token"/>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:element ref="Access"/>
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SCL</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
<xs:element ref="Token"/>
|
||||
</xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Register_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AR1"/>
|
||||
<xs:enumeration value="AR2"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Scope_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Undef">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Symbols we do not know what they are</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="GlobalConstant"/>
|
||||
<xs:enumeration value="LocalConstant"/>
|
||||
<xs:enumeration value="GlobalVariable"/>
|
||||
<xs:enumeration value="LocalVariable"/>
|
||||
<xs:enumeration value="Instruction"/>
|
||||
<xs:enumeration value="Label"/>
|
||||
<xs:enumeration value="TypedConstant"/>
|
||||
<xs:enumeration value="AddressConstant"/>
|
||||
<xs:enumeration value="LiteralConstant"/>
|
||||
<xs:enumeration value="AlarmConstant"/>
|
||||
<xs:enumeration value="Address"/>
|
||||
<xs:enumeration value="Statusword"/>
|
||||
<xs:enumeration value="Expression"/>
|
||||
<xs:enumeration value="Unnamed"/>
|
||||
<xs:enumeration value="Call"/>
|
||||
<xs:enumeration value="CallWithType"/>
|
||||
<xs:enumeration value="UserType"/>
|
||||
<xs:enumeration value="SystemType"/>
|
||||
<xs:enumeration value="Reference"/>
|
||||
<xs:enumeration value="PredefinedVariable"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="SimpleAccessModifier_TP">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="None|((Periphery|QualityInformation)(,\s*)?)*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="SimpleType_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="undef"/>
|
||||
<xs:enumeration value="Bool"/>
|
||||
<xs:enumeration value="Byte"/>
|
||||
<xs:enumeration value="Char"/>
|
||||
<xs:enumeration value="Word"/>
|
||||
<xs:enumeration value="Int"/>
|
||||
<xs:enumeration value="DWord"/>
|
||||
<xs:enumeration value="DInt"/>
|
||||
<xs:enumeration value="Real"/>
|
||||
<xs:enumeration value="LReal"/>
|
||||
<xs:enumeration value="Timer"/>
|
||||
<xs:enumeration value="S5Time"/>
|
||||
<xs:enumeration value="ARef"/>
|
||||
<xs:enumeration value="Any"/>
|
||||
<xs:enumeration value="Time"/>
|
||||
<xs:enumeration value="S5Count"/>
|
||||
<xs:enumeration value="Counter"/>
|
||||
<xs:enumeration value="Block_DB"/>
|
||||
<xs:enumeration value="Block_FB"/>
|
||||
<xs:enumeration value="Block_FC"/>
|
||||
<xs:enumeration value="Block_SFB"/>
|
||||
<xs:enumeration value="Block_UDT"/>
|
||||
<xs:enumeration value="Multi_FB"/>
|
||||
<xs:enumeration value="Multi_SFB"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="SliceAccessModifier_TP">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="([xbwdXBWD]\d+)|undef"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Statusword" type="Statusword_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Only for S7-300/400/WinAC</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:complexType name="Statusword_T">
|
||||
<xs:attribute name="Combination" type="Statusword_TE" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Statusword_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="BR"/>
|
||||
<xs:enumeration value="OV"/>
|
||||
<xs:enumeration value="OS"/>
|
||||
<xs:enumeration value="EQ"/>
|
||||
<xs:enumeration value="NE"/>
|
||||
<xs:enumeration value="GT"/>
|
||||
<xs:enumeration value="LT"/>
|
||||
<xs:enumeration value="GE"/>
|
||||
<xs:enumeration value="LE"/>
|
||||
<xs:enumeration value="UO"/>
|
||||
<xs:enumeration value="NU"/>
|
||||
<xs:enumeration value="STW"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Symbol" type="Symbol_T"/>
|
||||
<xs:complexType name="Symbol_T">
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element ref="Component"/>
|
||||
<xs:element ref="Address"/>
|
||||
<xs:element ref="AbsoluteOffset"/>
|
||||
<xs:element ref="Token">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SCL.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Access"/>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="UId" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Not allowed in STL</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Scope" type="Scope_TE"/>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="TemplateType_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Cardinality"/>
|
||||
<xs:enumeration value="Type"/>
|
||||
<xs:enumeration value="Operation"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="TemplateValue" type="TemplateValue_T"/>
|
||||
<xs:complexType name="TemplateValue_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="Name" type="SimaticName_TP" use="required"/>
|
||||
<xs:attribute name="Type" type="TemplateType_TE" use="required"/>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Width_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="None"/>
|
||||
<xs:enumeration value="Bit"/>
|
||||
<xs:enumeration value="Byte"/>
|
||||
<xs:enumeration value="Word"/>
|
||||
<xs:enumeration value="Offset"/>
|
||||
<xs:enumeration value="Double"/>
|
||||
<xs:enumeration value="Pointer"/>
|
||||
<xs:enumeration value="Long"/>
|
||||
<xs:enumeration value="Any"/>
|
||||
<xs:enumeration value="Block"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2019. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="SW.PlcBlocks.Access_v4.xsd"/>
|
||||
<xs:element name="LabelDeclaration" type="LabelDeclaration_T"/>
|
||||
<xs:complexType name="LabelDeclaration_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="IntegerAttribute" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>for NumBLs. NumBLs is informative</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Label"/>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element ref="Token">
|
||||
<xs:annotation>
|
||||
<xs:documentation>the COLON; only if separated</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="UId" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Not allowed in STL</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,350 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2019. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="SW.PlcBlocks.Access_v4.xsd"/>
|
||||
<xs:include schemaLocation="SW.PlcBlocks.LADFBD_v4.xsd"/>
|
||||
<xs:complexType name="Action_T">
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="Access"/>
|
||||
<xs:element ref="Token"/>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="Event" type="Event_TE"/>
|
||||
<xs:attribute name="Interlock" type="xs:boolean"/>
|
||||
<xs:attribute name="Qualifier" type="Qualifier_TE"/>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Event_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value=""/>
|
||||
<xs:enumeration value="A1"/>
|
||||
<xs:enumeration value="L0"/>
|
||||
<xs:enumeration value="L1"/>
|
||||
<xs:enumeration value="R1"/>
|
||||
<xs:enumeration value="S0"/>
|
||||
<xs:enumeration value="S1"/>
|
||||
<xs:enumeration value="V0"/>
|
||||
<xs:enumeration value="V1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Qualifier_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value=""/>
|
||||
<xs:enumeration value="CD"/>
|
||||
<xs:enumeration value="CR"/>
|
||||
<xs:enumeration value="CS"/>
|
||||
<xs:enumeration value="CU"/>
|
||||
<xs:enumeration value="D"/>
|
||||
<xs:enumeration value="L"/>
|
||||
<xs:enumeration value="N"/>
|
||||
<xs:enumeration value="ON"/>
|
||||
<xs:enumeration value="OFF"/>
|
||||
<xs:enumeration value="R"/>
|
||||
<xs:enumeration value="S"/>
|
||||
<xs:enumeration value="TD"/>
|
||||
<xs:enumeration value="TF"/>
|
||||
<xs:enumeration value="TL"/>
|
||||
<xs:enumeration value="TR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Actions" type="Actions_T"/>
|
||||
<xs:complexType name="Actions_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Title" minOccurs="0"/>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="Action"/>
|
||||
</xs:sequence>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="AlarmSupportingLanguageModule_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Title" minOccurs="0"/>
|
||||
<xs:element ref="AlarmText" minOccurs="0"/>
|
||||
<xs:element ref="FlgNet"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="ProgrammingLanguage" type="ProgrammingLanguage_TE" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="AlarmText" type="AlarmText_T"/>
|
||||
<xs:complexType name="AlarmText_T">
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Temporary change for enable of empty alarm text because of the graph alarm handling reconstruction.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element ref="MultiLanguageText"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Branch_T">
|
||||
<xs:attribute name="Number" type="xs:int" use="required"/>
|
||||
<xs:attribute name="Type" type="Branch_TE" use="required"/>
|
||||
<xs:attribute name="Cardinality" type="xs:int" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Branch_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SimBegin"/>
|
||||
<xs:enumeration value="SimEnd"/>
|
||||
<xs:enumeration value="AltBegin"/>
|
||||
<xs:enumeration value="AltEnd"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Branches" type="Branches_T"/>
|
||||
<xs:complexType name="Branches_T">
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="Branch"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="BranchRef" type="BranchRef_T"/>
|
||||
<xs:complexType name="BranchRef_T">
|
||||
<xs:attribute name="Number" type="xs:int" use="required"/>
|
||||
<xs:attribute name="In" type="xs:int"/>
|
||||
<xs:attribute name="Out" type="xs:int"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Connection" type="Connection_T"/>
|
||||
<xs:complexType name="Connection_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="NodeFrom"/>
|
||||
<xs:element ref="NodeTo"/>
|
||||
<xs:element ref="LinkType"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="EndConnection"/>
|
||||
<xs:element name="Graph" type="Graph_T"/>
|
||||
<xs:complexType name="AlarmsSettings_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="AlarmSupervisionCategories"/>
|
||||
<xs:element ref="AlarmInterlockCategory"/>
|
||||
<xs:element ref="AlarmSubcategory1Interlock"/>
|
||||
<xs:element ref="AlarmSubcategory2Interlock"/>
|
||||
<xs:element ref="AlarmCategorySupervision"/>
|
||||
<xs:element ref="AlarmSubcategory1Supervision"/>
|
||||
<xs:element ref="AlarmSubcategory2Supervision"/>
|
||||
<xs:element ref="AlarmWarningCategory"/>
|
||||
<xs:element ref="AlarmSubcategory1Warning"/>
|
||||
<xs:element ref="AlarmSubcategory2Warning"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="AlarmsSettings" type="AlarmsSettings_T"/>
|
||||
<xs:complexType name="Graph_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="PreOperations"/>
|
||||
<xs:element ref="Sequence" maxOccurs="unbounded"/>
|
||||
<xs:element ref="PostOperations"/>
|
||||
<xs:element ref="AlarmsSettings"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="IdentRef" type="IdentRef_T"/>
|
||||
<xs:complexType name="IdentRef_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Comment" minOccurs="0"/>
|
||||
<xs:element ref="ViewInfo" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="PartAttribute_G"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Interlock" type="AlarmSupportingLanguageModule_T"/>
|
||||
<xs:element name="Interlocks" type="Interlocks_T"/>
|
||||
<xs:complexType name="Interlocks_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Interlock"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Link_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Direct"/>
|
||||
<xs:enumeration value="Jump"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Node_T">
|
||||
<xs:choice>
|
||||
<xs:element ref="StepRef"/>
|
||||
<xs:element ref="TransitionRef"/>
|
||||
<xs:element ref="BranchRef"/>
|
||||
<xs:element ref="EndConnection"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:element name="NodeFrom" type="Node_T"/>
|
||||
<xs:element name="NodeTo" type="Node_T"/>
|
||||
<xs:element name="LinkType" type="Link_TE"/>
|
||||
<xs:element name="PermanentOperation" type="PermanentOperation_T"/>
|
||||
<xs:complexType name="PermanentOperation_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Title" minOccurs="0"/>
|
||||
<xs:element ref="FlgNet" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="ProgrammingLanguage" type="ProgrammingLanguage_TE" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PermanentOperations_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Title" minOccurs="0"/>
|
||||
<xs:element ref="Comment" minOccurs="0"/>
|
||||
<xs:element ref="PermanentOperation" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="PostOperations" type="PermanentOperations_T"/>
|
||||
<xs:element name="PreOperations" type="PermanentOperations_T"/>
|
||||
<xs:simpleType name="ProgrammingContext_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Plain"/>
|
||||
<xs:enumeration value="GraphTransition"/>
|
||||
<xs:enumeration value="GraphSupervision"/>
|
||||
<xs:enumeration value="GraphInterlock"/>
|
||||
<xs:enumeration value="GraphActions"/>
|
||||
<xs:enumeration value="PreOperation"/>
|
||||
<xs:enumeration value="PostOperation"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ProgrammingLanguage_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="STL"/>
|
||||
<xs:enumeration value="FBD"/>
|
||||
<xs:enumeration value="LAD"/>
|
||||
<xs:enumeration value="FBD_IEC"/>
|
||||
<xs:enumeration value="LAD_IEC"/>
|
||||
<xs:enumeration value="GRAPH"/>
|
||||
<xs:enumeration value="DB"/>
|
||||
<xs:enumeration value="SDB"/>
|
||||
<xs:enumeration value="DB_CPU"/>
|
||||
<xs:enumeration value="FB_IDB"/>
|
||||
<xs:enumeration value="SFB_IDB"/>
|
||||
<xs:enumeration value="DT_DB"/>
|
||||
<xs:enumeration value="SCL"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Sequence" type="Sequence_T"/>
|
||||
<xs:complexType name="Sequence_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Title" minOccurs="0"/>
|
||||
<xs:element ref="Comment" minOccurs="0"/>
|
||||
<xs:element ref="Steps"/>
|
||||
<xs:element ref="Transitions"/>
|
||||
<xs:element ref="Branches"/>
|
||||
<xs:element ref="Connections"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Step">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="Step_T"/>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:complexType name="Step_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="StepName" minOccurs="0"/>
|
||||
<xs:element ref="Comment" minOccurs="0"/>
|
||||
<xs:element ref="Actions"/>
|
||||
<xs:element ref="Supervisions"/>
|
||||
<xs:element ref="Interlocks"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="IsMissing" type="xs:boolean" default="false"/>
|
||||
<xs:attribute name="Number" type="xs:int" use="required"/>
|
||||
<xs:attribute name="Init" type="xs:boolean" default="false"/>
|
||||
<xs:attribute name="Name" use="required"/>
|
||||
<xs:attribute name="MaximumStepTime" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="WarningTime" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="StepRef" type="StepRef_T"/>
|
||||
<xs:complexType name="StepRef_T">
|
||||
<xs:attribute name="Number" type="xs:int" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Steps" type="Steps_T"/>
|
||||
<xs:complexType name="Steps_T">
|
||||
<xs:sequence maxOccurs="unbounded">
|
||||
<xs:element ref="Step"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Connections" type="Connections_T"/>
|
||||
<xs:complexType name="Connections_T">
|
||||
<xs:sequence maxOccurs="unbounded">
|
||||
<xs:element ref="Connection"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Supervision" type="AlarmSupportingLanguageModule_T"/>
|
||||
<xs:element name="Supervisions" type="Supervisions_T"/>
|
||||
<xs:complexType name="Supervisions_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Supervision"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Title" type="Comment_T"/>
|
||||
<xs:complexType name="Transition_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="TransitionName" minOccurs="0"/>
|
||||
<xs:element ref="Comment" minOccurs="0"/>
|
||||
<xs:element ref="FlgNet"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="IsMissing" type="xs:boolean" default="false"/>
|
||||
<xs:attribute name="Name" use="required"/>
|
||||
<xs:attribute name="Number" type="xs:int" use="required"/>
|
||||
<xs:attribute name="ProgrammingLanguage" type="ProgrammingLanguage_TE" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="TransitionRef" type="TransitionRef_T"/>
|
||||
<xs:complexType name="TransitionRef_T">
|
||||
<xs:attribute name="Number" type="xs:int" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Transitions" type="Transitions_T"/>
|
||||
<xs:complexType name="Transitions_T">
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="Transition"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="Action" type="Action_T"/>
|
||||
<xs:element name="Transition" type="Transition_T"/>
|
||||
<xs:element name="Branch" type="Branch_T"/>
|
||||
<xs:element name="AlarmSupervisionCategories" type="AlarmSupervisionCategories_T"/>
|
||||
<xs:complexType name="AlarmSupervisionCategories_T">
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="AlarmSupervisionCategory"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="AlarmSupervisionCategory" type="AlarmSupervisionCategory_T"/>
|
||||
<xs:complexType name="AlarmSupervisionCategory_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Token" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Enabler token</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Id" type="xs:unsignedShort" use="required"/>
|
||||
<xs:attribute name="DisplayClass" use="required">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:unsignedShort">
|
||||
<xs:minInclusive value="0"/>
|
||||
<xs:maxInclusive value="16"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
<xs:element name="AlarmInterlockCategory" type="AlarmCategory_T"/>
|
||||
<xs:element name="AlarmSubcategory1Interlock" type="AlarmSubcategory_T"/>
|
||||
<xs:element name="AlarmSubcategory2Interlock" type="AlarmSubcategory_T"/>
|
||||
<xs:element name="AlarmCategorySupervision" type="AlarmCategory_T"/>
|
||||
<xs:element name="AlarmSubcategory1Supervision" type="AlarmSubcategory_T"/>
|
||||
<xs:element name="AlarmSubcategory2Supervision" type="AlarmSubcategory_T"/>
|
||||
<xs:element name="AlarmWarningCategory" type="AlarmCategory_T"/>
|
||||
<xs:element name="AlarmSubcategory1Warning" type="AlarmSubcategory_T"/>
|
||||
<xs:element name="AlarmSubcategory2Warning" type="AlarmSubcategory_T"/>
|
||||
<xs:complexType name="AlarmCategory_T">
|
||||
<xs:attribute name="Id" type="xs:unsignedShort" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="TransitionName" type="TransitionName_T"/>
|
||||
<xs:complexType name="TransitionName_T">
|
||||
<xs:sequence>
|
||||
<xs:annotation>
|
||||
<xs:documentation>For translated transiton names</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element ref="MultiLanguageText" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="StepName" type="StepName_T"/>
|
||||
<xs:complexType name="StepName_T">
|
||||
<xs:sequence>
|
||||
<xs:annotation>
|
||||
<xs:documentation>For translated step names</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:element ref="MultiLanguageText" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="AlarmSubcategory_T">
|
||||
<xs:attribute name="Id" type="xs:unsignedShort" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2019. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<!-- <xs:include schemaLocation="SW.Common_v3.xsd"/>-->
|
||||
<xs:element name="SupervisionFB">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="StateStruct">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Number" type="xs:int"/>
|
||||
<xs:element name="Multiinstance">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="BlockTypeSupervisionNumber" type="xs:int"/>
|
||||
<xs:element name="BlockInstSupervisionGroups" type="BlockInstSupervisionGroupsType"/>
|
||||
<xs:element name="BlockInstSupervisionGroup">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Multiinstance" minOccurs="0"/>
|
||||
<xs:element ref="BlockInstSupervision" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="BlockInstSupervision">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Number"/>
|
||||
<xs:element ref="StateStruct"/>
|
||||
<xs:element ref="BlockTypeSupervisionNumber"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:complexType name="BlockInstSupervisionGroupsType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="BlockInstSupervisionGroup" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,150 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2019. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="SW.PlcBlocks.CompileUnitCommon_v4.xsd"/>
|
||||
<xs:element name="Powerrail" type="Powerrail_T"/>
|
||||
<xs:complexType name="Powerrail_T"/>
|
||||
<xs:element name="Openbranch" type="Openbranch_T"/>
|
||||
<xs:complexType name="Openbranch_T"/>
|
||||
<xs:element name="OpenCon" type="OpenCon_T"/>
|
||||
<xs:complexType name="OpenCon_T">
|
||||
<xs:attribute name="UId" type="xs:int" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Call" type="Call_T"/>
|
||||
<xs:complexType name="Call_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="CallInfo"/>
|
||||
<xs:group ref="PartSequence_G"/>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="PartAttribute_G"/>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Equation_T">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string"/>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:element name="FlgNet" type="FlgNet_T"/>
|
||||
<xs:complexType name="FlgNet_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="Labels" minOccurs="0"/>
|
||||
<xs:element ref="Parts"/>
|
||||
<xs:element ref="Wires" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="GateName_TE">
|
||||
<xs:restriction base="xs:string"/>
|
||||
</xs:simpleType>
|
||||
<xs:element name="IdentCon" type="IdentCon_T"/>
|
||||
<xs:complexType name="IdentCon_T">
|
||||
<xs:attribute name="UId" type="xs:int" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Invisible" type="Invisible_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The invisible pins of this part.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:complexType name="Invisible_T">
|
||||
<xs:attribute name="Name" type="xs:string" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The name of the invisible pin.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
<xs:element name="Labels" type="Labels_T"/>
|
||||
<xs:complexType name="Labels_T">
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="LabelDeclaration"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Neg_T">
|
||||
<xs:attribute name="Name" type="xs:string" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The name of the negated pin.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
<xs:element name="Negated" type="Neg_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The negated pins of this part.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:complexType name="AutomaticTyped_T">
|
||||
<xs:attribute name="Name" type="xs:string" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The name of the automatic chosen template parameter. Not for InstructionRef</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
<xs:element name="AutomaticTyped" type="AutomaticTyped_T"/>
|
||||
<xs:element name="Part" type="Part_T"/>
|
||||
<xs:element name="Equation" type="Equation_T"/>
|
||||
<xs:complexType name="Part_T">
|
||||
<xs:sequence>
|
||||
<xs:choice minOccurs="0">
|
||||
<xs:element ref="Equation" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The equation of this part. This is only used for the Calculate box.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element ref="Instance" minOccurs="0"/>
|
||||
</xs:choice>
|
||||
<xs:group ref="PartSequence_G"/>
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="PartAttribute_G"/>
|
||||
<xs:attribute name="Name" use="required">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="SimaticName_TP">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Version" type="VersionString_TP"/>
|
||||
<xs:attribute name="DisabledENO" type="xs:boolean" default="false"/>
|
||||
</xs:complexType>
|
||||
<xs:attributeGroup name="PartAttribute_G">
|
||||
<xs:attribute name="UId" type="xs:int" use="required"/>
|
||||
</xs:attributeGroup>
|
||||
<xs:element name="NameCon" type="NameCon_T"/>
|
||||
<xs:complexType name="NameCon_T">
|
||||
<xs:attribute name="UId" type="xs:int" use="required"/>
|
||||
<xs:attribute name="Name" type="PinName_TE" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Parts" type="Parts_T"/>
|
||||
<xs:complexType name="Parts_T">
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="Access"/>
|
||||
<xs:element ref="Part"/>
|
||||
<xs:element ref="Call"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:group name="PartSequence_G">
|
||||
<xs:sequence>
|
||||
<xs:element ref="TemplateValue" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element ref="AutomaticTyped" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element ref="Invisible" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element ref="Negated" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element ref="Comment" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:group>
|
||||
<xs:simpleType name="PinName_TE">
|
||||
<xs:restriction base="xs:string"/>
|
||||
</xs:simpleType>
|
||||
<xs:element name="Wire" type="Wire_T"/>
|
||||
<xs:complexType name="Wire_T">
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element ref="Powerrail"/>
|
||||
<xs:element ref="NameCon"/>
|
||||
<xs:element ref="IdentCon"/>
|
||||
<xs:element ref="Openbranch"/>
|
||||
<xs:element ref="OpenCon"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="UId" type="xs:int" use="required"/>
|
||||
</xs:complexType>
|
||||
<xs:element name="Wires" type="Wires_T"/>
|
||||
<xs:complexType name="Wires_T">
|
||||
<xs:sequence maxOccurs="unbounded">
|
||||
<xs:element ref="Wire"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2019. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="SW.PlcBlocks.Access_v4.xsd"/>
|
||||
<xs:element name="StructuredText" type="StructuredText_T"/>
|
||||
<xs:complexType name="StructuredText_T">
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:choice>
|
||||
<xs:element ref="Access"/>
|
||||
<xs:element ref="Token"/>
|
||||
<xs:element ref="Parameter"/>
|
||||
<xs:element ref="Text"/>
|
||||
<xs:group ref="Comment_G"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional"/>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,482 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2019. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="SW.PlcBlocks.CompileUnitCommon_v4.xsd"/>
|
||||
<xs:element name="StlStatement" type="StlStatement_T"/>
|
||||
<xs:complexType name="StlStatement_T">
|
||||
<xs:sequence>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
<xs:element ref="LabelDeclaration" minOccurs="0"/>
|
||||
<xs:sequence>
|
||||
<xs:element ref="StlToken">
|
||||
<xs:annotation>
|
||||
<xs:documentation>missing for empty lines</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:element ref="Access" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="UId" type="xs:int">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Not allowed in STL</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
<xs:element name="StlToken" type="StlToken_T"/>
|
||||
<xs:complexType name="StlToken_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="IntegerAttribute" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>for NumBLs. NumBLs is informative</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:group ref="Comment_G" minOccurs="0"/>
|
||||
<xs:element ref="Token">
|
||||
<xs:annotation>
|
||||
<xs:documentation>e.g 0 1 for NOP 0, NOP 1; STW for L STW or DILG for L DILG; only if separated by comment</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="UId" type="xs:int" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Not allowed in STL</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Text" type="STL_TE" use="required"/>
|
||||
<!--<xs:attribute name="NumBLs" type="xs:int" default="0"/>-->
|
||||
</xs:complexType>
|
||||
<xs:element name="StatementList" type="StatementList_T"/>
|
||||
<xs:complexType name="StatementList_T">
|
||||
<xs:sequence>
|
||||
<xs:element ref="StlStatement" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="STL_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="A"/>
|
||||
<xs:enumeration value="AN"/>
|
||||
<xs:enumeration value="O"/>
|
||||
<xs:enumeration value="ON"/>
|
||||
<xs:enumeration value="X"/>
|
||||
<xs:enumeration value="XN"/>
|
||||
<xs:enumeration value="S"/>
|
||||
<xs:enumeration value="R"/>
|
||||
<xs:enumeration value="Assign"/>
|
||||
<xs:enumeration value="Rise"/>
|
||||
<xs:enumeration value="Fall"/>
|
||||
<xs:enumeration value="L"/>
|
||||
<xs:enumeration value="T"/>
|
||||
<xs:enumeration value="LAR1"/>
|
||||
<xs:enumeration value="LAR2"/>
|
||||
<xs:enumeration value="TAR1"/>
|
||||
<xs:enumeration value="TAR2"/>
|
||||
<xs:enumeration value="Extend">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SE, SV</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="Free"/>
|
||||
<xs:enumeration value="LC"/>
|
||||
<xs:enumeration value="OffDelay">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SF, SA</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="Retentive">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SS</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="OnDelay">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SD, SE</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="Pulse">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SP, SI</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="CD"/>
|
||||
<xs:enumeration value="CU"/>
|
||||
<xs:enumeration value="CALL"/>
|
||||
<xs:enumeration value="CC"/>
|
||||
<xs:enumeration value="UC"/>
|
||||
<xs:enumeration value="OPEN_DB">
|
||||
<xs:annotation>
|
||||
<xs:documentation>AUF</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="OPEN_DI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>AUF DI</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="LT_I"/>
|
||||
<xs:enumeration value="LT_R"/>
|
||||
<xs:enumeration value="LT_D"/>
|
||||
<xs:enumeration value="LE_I"/>
|
||||
<xs:enumeration value="LE_R"/>
|
||||
<xs:enumeration value="LE_D"/>
|
||||
<xs:enumeration value="EQ_I"/>
|
||||
<xs:enumeration value="EQ_R"/>
|
||||
<xs:enumeration value="EQ_D"/>
|
||||
<xs:enumeration value="GE_I"/>
|
||||
<xs:enumeration value="GE_R"/>
|
||||
<xs:enumeration value="GE_D"/>
|
||||
<xs:enumeration value="GT_I"/>
|
||||
<xs:enumeration value="GT_R"/>
|
||||
<xs:enumeration value="GT_D"/>
|
||||
<xs:enumeration value="NE_I"/>
|
||||
<xs:enumeration value="NE_R"/>
|
||||
<xs:enumeration value="NE_D"/>
|
||||
<xs:enumeration value="JU">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPA</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JC">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPB</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JO">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPO</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JZ">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPZ</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JP">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPP</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JM">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPM</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JN">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPN</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JCN">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPBN</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JCB">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPBB</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JNB">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPBNB</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JBI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPBI</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JNBI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPBNI</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JOS">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPS</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JUN">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPU</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JMZ">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPMZ</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="JPZ">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SPZ</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="LOOP"/>
|
||||
<xs:enumeration value="JL"/>
|
||||
<xs:enumeration value="ADD"/>
|
||||
<xs:enumeration value="SLD"/>
|
||||
<xs:enumeration value="SLW"/>
|
||||
<xs:enumeration value="SRD"/>
|
||||
<xs:enumeration value="SRW"/>
|
||||
<xs:enumeration value="SRSD">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SSD, SVD</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="SRSW">
|
||||
<xs:annotation>
|
||||
<xs:documentation>SSW, SVW</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="RLD"/>
|
||||
<xs:enumeration value="RRD"/>
|
||||
<xs:enumeration value="BLD"/>
|
||||
<xs:enumeration value="ADDAR1"/>
|
||||
<xs:enumeration value="ADDAR2"/>
|
||||
<xs:enumeration value="INC"/>
|
||||
<xs:enumeration value="DEC"/>
|
||||
<xs:enumeration value="AW"/>
|
||||
<xs:enumeration value="OW"/>
|
||||
<xs:enumeration value="XW"/>
|
||||
<xs:enumeration value="AD"/>
|
||||
<xs:enumeration value="OD"/>
|
||||
<xs:enumeration value="XD"/>
|
||||
<xs:enumeration value="A_BRACK"/>
|
||||
<xs:enumeration value="AN_BRACK"/>
|
||||
<xs:enumeration value="O_BRACK"/>
|
||||
<xs:enumeration value="ON_BRACK"/>
|
||||
<xs:enumeration value="X_BRACK"/>
|
||||
<xs:enumeration value="XN_BRACK"/>
|
||||
<xs:enumeration value="INV_I">
|
||||
<xs:annotation>
|
||||
<xs:documentation>KEW, INV_F</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="NEG_I">
|
||||
<xs:annotation>
|
||||
<xs:documentation>KZW, NEG_F</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="INV_D">
|
||||
<xs:annotation>
|
||||
<xs:documentation>KED</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="NEG_D">
|
||||
<xs:annotation>
|
||||
<xs:documentation>KZD</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="NEG_R">
|
||||
<xs:annotation>
|
||||
<xs:documentation>NEG_G, ND</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="ABS_R">
|
||||
<xs:annotation>
|
||||
<xs:documentation>ABS_G</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="SQRT"/>
|
||||
<xs:enumeration value="SQR"/>
|
||||
<xs:enumeration value="LN"/>
|
||||
<xs:enumeration value="EXP"/>
|
||||
<xs:enumeration value="SIN"/>
|
||||
<xs:enumeration value="ASIN"/>
|
||||
<xs:enumeration value="COS"/>
|
||||
<xs:enumeration value="ACOS"/>
|
||||
<xs:enumeration value="TAN"/>
|
||||
<xs:enumeration value="ATAN"/>
|
||||
<xs:enumeration value="RLDA"/>
|
||||
<xs:enumeration value="RRDA"/>
|
||||
<xs:enumeration value="BTI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>DEF</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="ITB">
|
||||
<xs:annotation>
|
||||
<xs:documentation>DUF</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="BTD">
|
||||
<xs:annotation>
|
||||
<xs:documentation>DED</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="DTB">
|
||||
<xs:annotation>
|
||||
<xs:documentation>DUD</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="DTR">
|
||||
<xs:annotation>
|
||||
<xs:documentation>FDG</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="RND">
|
||||
<xs:annotation>
|
||||
<xs:documentation>GFDN</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="RND_M">
|
||||
<xs:annotation>
|
||||
<xs:documentation>GFDM</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="RND_P">
|
||||
<xs:annotation>
|
||||
<xs:documentation>GFDP</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="TRUNC"/>
|
||||
<xs:enumeration value="ITD">
|
||||
<xs:annotation>
|
||||
<xs:documentation>FD</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="CAW">
|
||||
<xs:annotation>
|
||||
<xs:documentation>TAW</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="CAD">
|
||||
<xs:annotation>
|
||||
<xs:documentation>TAD</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="TAR1_ACCU1"/>
|
||||
<xs:enumeration value="TAR2_ACCU1"/>
|
||||
<xs:enumeration value="ADD_I">
|
||||
<xs:annotation>
|
||||
<xs:documentation>+F</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="SUB_I">
|
||||
<xs:annotation>
|
||||
<xs:documentation>-F</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="MUL_I">
|
||||
<xs:annotation>
|
||||
<xs:documentation>xF</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="DIV_I">
|
||||
<xs:annotation>
|
||||
<xs:documentation>:F</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="ADD_D">
|
||||
<xs:annotation>
|
||||
<xs:documentation>+D</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="SUB_D">
|
||||
<xs:annotation>
|
||||
<xs:documentation>-D</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="MUL_D">
|
||||
<xs:annotation>
|
||||
<xs:documentation>xD</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="DIV_D">
|
||||
<xs:annotation>
|
||||
<xs:documentation>:D</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="MOD_D"/>
|
||||
<xs:enumeration value="L_DBLG"/>
|
||||
<xs:enumeration value="L_DILG"/>
|
||||
<xs:enumeration value="L_DBNO"/>
|
||||
<xs:enumeration value="L_DINO"/>
|
||||
<xs:enumeration value="ADD_R">
|
||||
<xs:annotation>
|
||||
<xs:documentation>+G</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="SUB_R">
|
||||
<xs:annotation>
|
||||
<xs:documentation>-G</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="MUL_R">
|
||||
<xs:annotation>
|
||||
<xs:documentation>xG</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="DIV_R">
|
||||
<xs:annotation>
|
||||
<xs:documentation>:G</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="CAC">
|
||||
<xs:annotation>
|
||||
<xs:documentation>TAK</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="LEAVE"/>
|
||||
<xs:enumeration value="PUSH"/>
|
||||
<xs:enumeration value="POP"/>
|
||||
<xs:enumeration value="SET"/>
|
||||
<xs:enumeration value="NEG"/>
|
||||
<xs:enumeration value="CLR"/>
|
||||
<xs:enumeration value="BEC">
|
||||
<xs:annotation>
|
||||
<xs:documentation>BEB</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="BRACKET">
|
||||
<xs:annotation>
|
||||
<xs:documentation>)</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="SAVE"/>
|
||||
<xs:enumeration value="NOP_0"/>
|
||||
<xs:enumeration value="NOP_1"/>
|
||||
<xs:enumeration value="MCR_BRACK">
|
||||
<xs:annotation>
|
||||
<xs:documentation>MCR(</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="BRACK_MCR">
|
||||
<xs:annotation>
|
||||
<xs:documentation>MCR)</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="MCRA"/>
|
||||
<xs:enumeration value="MCRD"/>
|
||||
<xs:enumeration value="ENT"/>
|
||||
<xs:enumeration value="LAR1_ACCU1"/>
|
||||
<xs:enumeration value="LAR1_AR2"/>
|
||||
<xs:enumeration value="LAR2_ACCU1"/>
|
||||
<xs:enumeration value="TAR1_AR2"/>
|
||||
<xs:enumeration value="CAR">
|
||||
<xs:annotation>
|
||||
<xs:documentation>TAR</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="CDB">
|
||||
<xs:annotation>
|
||||
<xs:documentation>TDB</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="COMMENT"/>
|
||||
<xs:enumeration value="EMPTY_LINE"/>
|
||||
<xs:enumeration value="PSEUDO"/>
|
||||
<xs:enumeration value="MOVE"/>
|
||||
<xs:enumeration value="MOVE_BLOCK"/>
|
||||
<xs:enumeration value="BE">
|
||||
<xs:annotation>
|
||||
<xs:documentation>BEA</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:enumeration>
|
||||
<xs:enumeration value="BEU"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,154 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2019. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="SW.Common_v3.xsd"/>
|
||||
<xs:element name="Type">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Action"/>
|
||||
<xs:enumeration value="Interlock"/>
|
||||
<xs:enumeration value="Operand"/>
|
||||
<xs:enumeration value="Position"/>
|
||||
<xs:enumeration value="Reaction"/>
|
||||
<xs:enumeration value="MessageText"/>
|
||||
<xs:enumeration value="MessageError"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="TriggeringStatus" type="xs:boolean"/>
|
||||
<xs:element name="SupervisedStatus" type="xs:boolean"/>
|
||||
<xs:element name="SupervisedOperand">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SubCategory2Number" type="xs:int"/>
|
||||
<xs:element name="SubCategory1Number" type="xs:int"/>
|
||||
<xs:element name="Number" type="xs:int"/>
|
||||
<xs:element name="DelayOperand">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Conditions">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Condition" maxOccurs="3"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ConditionOperand">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Number" use="required">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:int">
|
||||
<xs:enumeration value="1"/>
|
||||
<xs:enumeration value="2"/>
|
||||
<xs:enumeration value="3"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Condition">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="ConditionOperand"/>
|
||||
<xs:element ref="TriggeringStatus"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CategoryNumber">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:int">
|
||||
<xs:minInclusive value="1"/>
|
||||
<xs:maxInclusive value="8"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="BlockTypeSupervisions">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="BlockTypeSupervisionsType"/>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="BlockTypeSupervision">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="SupervisedOperand"/>
|
||||
<xs:element ref="SupervisedStatus"/>
|
||||
<xs:element ref="DelayOperand" minOccurs="0"/>
|
||||
<xs:element ref="Conditions" minOccurs="0"/>
|
||||
<xs:element ref="CategoryNumber"/>
|
||||
<xs:element ref="SubCategory1Number" minOccurs="0"/>
|
||||
<xs:element ref="SubCategory2Number" minOccurs="0"/>
|
||||
<xs:element ref="SpecificField" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Number" type="xs:int" use="required"/>
|
||||
<xs:attribute name="Type" use="required">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Action"/>
|
||||
<xs:enumeration value="Interlock"/>
|
||||
<xs:enumeration value="Operand"/>
|
||||
<xs:enumeration value="Position"/>
|
||||
<xs:enumeration value="Reaction"/>
|
||||
<xs:enumeration value="MessageText"/>
|
||||
<xs:enumeration value="MessageError"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="AssociatedValues">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="AssociatedValue" maxOccurs="3"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="AssociatedValue">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="AssociatedValueOperand" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SpecificFieldText">
|
||||
<xs:complexType>
|
||||
<xs:sequence maxOccurs="unbounded">
|
||||
<xs:element ref="MultiLanguageText"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SpecificField">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0">
|
||||
<xs:element ref="AssociatedValues" minOccurs="0"/>
|
||||
<xs:element ref="SpecificFieldText" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:complexType name="BlockTypeSupervisionsType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="BlockTypeSupervision" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="AssociatedValueOperand">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Number" use="required">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:int">
|
||||
<xs:enumeration value="1"/>
|
||||
<xs:enumeration value="2"/>
|
||||
<xs:enumeration value="3"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
|
@ -0,0 +1,132 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2019. All rights reserved. -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="http://www.siemens.com/automation/Openness/SW/Motion/Axis/v1"
|
||||
xmlns:tns="http://www.siemens.com/automation/Openness/SW/Motion/Axis/v1"
|
||||
elementFormDefault="qualified">
|
||||
<!-- Root element AdditionalData-->
|
||||
<xs:element name="AdditionalData" type="tns:AdditionalData_T"/>
|
||||
|
||||
<!-- Complex type AdditionalData_T-->
|
||||
<xs:complexType name="AdditionalData_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes additional data, such as Connections, for Axis and ExternalEncoder TOs.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="Connection" type="tns:Connection_T" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="SynchronousAxisMasterValues" type="tns:SynchronousAxisMasterValues_T" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Complex type Connection_T-->
|
||||
<xs:complexType name="Connection_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a connection of a TO interface.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="Interface" type="tns:Interface_TE" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the Interface of the TO that is connected.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="InputAddress" type="xs:nonNegativeInteger" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Input bit address.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="OutputAddress" type="xs:nonNegativeInteger" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Output bit address.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ConnectOption" type="tns:ConnectOption_TE" use="optional" default="Default">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Connect option used when the connection has been created.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="SensorIndexInActorTelegram" type="xs:nonNegativeInteger" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Index of sensor in actor telegram if connected to same telegram.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PathToDBMember" type="xs:string" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Path to a DB member.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="OutputTag" type="xs:string" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Name of a connected tag for analog connection.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Enumeration type Interface_TE-->
|
||||
<xs:simpleType name="Interface_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Actor"/>
|
||||
<xs:enumeration value="Sensor"/>
|
||||
<xs:enumeration value="Sensor[1]"/>
|
||||
<xs:enumeration value="Sensor[2]"/>
|
||||
<xs:enumeration value="Sensor[3]"/>
|
||||
<xs:enumeration value="Sensor[4]"/>
|
||||
<xs:enumeration value="Torque"/>
|
||||
<xs:enumeration value="OutputCam"/>
|
||||
<xs:enumeration value="MeasuringInput"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- Enumeration type ConnectOption_TE-->
|
||||
<xs:simpleType name="ConnectOption_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Default"/>
|
||||
<xs:enumeration value="AllowAllModules"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- Complex type SynchronousAxisMasterValues_T-->
|
||||
<xs:complexType name="SynchronousAxisMasterValues_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Contains a list of master values for TO_SynchronousAxis.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="SetPointCoupling" type="tns:TechnologicalObjectReference_T" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a reference to a master value TO that is coupled via set points.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ActualValueCoupling" type="tns:TechnologicalObjectReference_T" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a reference to a master value TO that is coupled via actual values.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="DelayedCoupling" type="tns:TechnologicalObjectReference_T" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a reference to a master value TO that is coupled via delayed values.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="LeadingAxisProxy" type="tns:TechnologicalObjectReference_T" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a reference to a master value TO of type LeadingAxisProxy.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Complex type TechnologicalObjectReference_T-->
|
||||
<xs:complexType name="TechnologicalObjectReference_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a reference to a Technological Object.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="Ref" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the name of the referenced Technological Object.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Type" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the type of the referenced Technological Object.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
|
@ -0,0 +1,97 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2019. All rights reserved. -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="http://www.siemens.com/automation/Openness/SW/Motion/Kinematics/v1"
|
||||
xmlns:tns="http://www.siemens.com/automation/Openness/SW/Motion/Kinematics/v1"
|
||||
elementFormDefault="qualified">
|
||||
<!-- Root element AdditionalData-->
|
||||
<xs:element name="AdditionalData" type="tns:AdditionalData_T"/>
|
||||
|
||||
<!-- Complex type AdditionalData_T-->
|
||||
<xs:complexType name="AdditionalData_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes additional data, such as connected axes, for Kinematics TOs.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="KinematicsAxis" type="tns:TechnologicalObjectReferenceWithIndex_T" minOccurs="0" maxOccurs="4"/>
|
||||
<xs:element name="ConveyorTrackingLeadingValues" type="tns:ConveyorTrackingLeadingValues_T" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Complex type TechnologicalObjectReferenceWithIndex_T-->
|
||||
<xs:complexType name="TechnologicalObjectReferenceWithIndex_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a reference to a Technological Object.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="Index" type="tns:Integer1to4_T" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the name of the referenced Technological Object.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Ref" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the name of the referenced Technological Object.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Type" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the type of the referenced Technological Object.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Simple type Integer1to4_T-->
|
||||
<xs:simpleType name="Integer1to4_T">
|
||||
<xs:restriction base="xs:integer">
|
||||
<xs:minInclusive value="1"/>
|
||||
<xs:maxInclusive value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- Complex type ConveyorTrackingLeadingValues_T-->
|
||||
<xs:complexType name="ConveyorTrackingLeadingValues_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Contains a list of leading values for conveyor tracking.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="SetPointCoupling" type="tns:TechnologicalObjectReference_T" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a reference to a leading value TO that is coupled via set points.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="ActualValueCoupling" type="tns:TechnologicalObjectReference_T" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a reference to a leading value TO that is coupled via actual values.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="DelayedCoupling" type="tns:TechnologicalObjectReference_T" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a reference to a leading value TO that is coupled via delayed values.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="LeadingAxisProxy" type="tns:TechnologicalObjectReference_T" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a reference to a leading value TO of type LeadingAxisProxy.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Complex type TechnologicalObjectReference_T-->
|
||||
<xs:complexType name="TechnologicalObjectReference_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a reference to a Technological Object.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="Ref" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the name of the referenced Technological Object.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Type" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the type of the referenced Technological Object.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
|
||||
</xs:schema>
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2018. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="http://www.siemens.com/automation/Openness/SW/Motion/MeasuringInput/v1"
|
||||
xmlns:tns="http://www.siemens.com/automation/Openness/SW/Motion/MeasuringInput/v1"
|
||||
elementFormDefault="qualified">
|
||||
<!-- Root element AdditionalData-->
|
||||
<xs:element name="AdditionalData" type="tns:AdditionalData_T"/>
|
||||
|
||||
<!-- Complex type AdditionalData_T-->
|
||||
<xs:complexType name="AdditionalData_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes additional data, such as Connections, for MeasuringInput TOs.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="Connection" type="tns:Connection_T" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Complex type Connection_T-->
|
||||
<xs:complexType name="Connection_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a connection of a TO interface.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="Interface" type="tns:Interface_TE" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the Interface of the TO that is connected.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="InputAddress" type="xs:nonNegativeInteger" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Input bit address.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Enumeration type Interface_TE-->
|
||||
<xs:simpleType name="Interface_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MeasuringInput"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2018. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="http://www.siemens.com/automation/Openness/SW/Motion/OutputCam/v1"
|
||||
xmlns:tns="http://www.siemens.com/automation/Openness/SW/Motion/OutputCam/v1"
|
||||
elementFormDefault="qualified">
|
||||
<!-- Root element AdditionalData-->
|
||||
<xs:element name="AdditionalData" type="tns:AdditionalData_T"/>
|
||||
|
||||
<!-- Complex type AdditionalData_T-->
|
||||
<xs:complexType name="AdditionalData_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes additional data, such as Connections, for OutputCam and CamTrack TOs.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="Connection" type="tns:Connection_T" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Complex type Connection_T-->
|
||||
<xs:complexType name="Connection_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a connection of a TO interface.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="Interface" type="tns:Interface_TE" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Specifies the Interface of the TO that is connected.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="OutputAddress" type="xs:nonNegativeInteger" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Output bit address.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="OutputTag" type="xs:string" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Name of a connected tag.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Enumeration type Interface_TE-->
|
||||
<xs:simpleType name="Interface_TE">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="OutputCam"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2018. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="http://www.siemens.com/automation/Openness/SW/Parameters/v1"
|
||||
xmlns:tns="http://www.siemens.com/automation/Openness/SW/Parameters/v1"
|
||||
elementFormDefault="qualified">
|
||||
<!-- Root element Parameters-->
|
||||
<xs:element name="Parameters" type="tns:Parameters_T"/>
|
||||
|
||||
<!-- Complex type Parameters_T-->
|
||||
<xs:complexType name="Parameters_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a list of parameters.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="Parameter" type="tns:Parameter_T" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Complex type Parameter_T-->
|
||||
<xs:complexType name="Parameter_T">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Describes a single parameter, having Name and Value. If the Value is missing, the default value of the Parameter is used.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:attribute name="Name" type="xs:string" use="required">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Name of the Parameter</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Value" type="xs:string" use="optional">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Value of the Parameter</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
|
@ -0,0 +1,345 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright © Siemens AG 2008-2018. All rights reserved. -->
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="http://www.siemens.com/automation/Openness/SW/Motion/Cam/v1"
|
||||
xmlns:cam="http://www.siemens.com/automation/Openness/SW/Motion/Cam/v1"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<!-- Global types -->
|
||||
|
||||
<xs:simpleType name="ProfileContinuity">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Position"/>
|
||||
<xs:enumeration value="Velocity"/>
|
||||
<xs:enumeration value="Acceleration"/>
|
||||
<xs:enumeration value="Jerk"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="ElementContinuity">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AsProfile"/>
|
||||
<xs:enumeration value="Position"/>
|
||||
<xs:enumeration value="Velocity"/>
|
||||
<xs:enumeration value="Acceleration"/>
|
||||
<xs:enumeration value="Jerk"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="ProfileOptimizationGoal">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="None"/>
|
||||
<xs:enumeration value="Velocity"/>
|
||||
<xs:enumeration value ="Acceleration"/>
|
||||
<xs:enumeration value ="Jerk"/>
|
||||
<xs:enumeration value ="DynamicMoment"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="ElementOptimizationGoal">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AsProfile"/>
|
||||
<xs:enumeration value="None"/>
|
||||
<xs:enumeration value="Velocity"/>
|
||||
<xs:enumeration value="Acceleration"/>
|
||||
<xs:enumeration value="Jerk"/>
|
||||
<xs:enumeration value="DynamicMoment"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="ValueMode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Relative"/>
|
||||
<xs:enumeration value="Absolute"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="ProfileInterpolationMode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Linear"/>
|
||||
<xs:enumeration value="CubicSpline"/>
|
||||
<xs:enumeration value="BezierSpline"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="BoundaryConditions">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NoConstraint"/>
|
||||
<xs:enumeration value="FirstDerivative"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:complexType name="DefinitionRange">
|
||||
<xs:attribute name="Start" type="xs:float"/>
|
||||
<xs:attribute name="End" type="xs:float"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="TrigonometricValues">
|
||||
<xs:attribute name="Amplitude" type="xs:float" default="1" />
|
||||
|
||||
<!-- two of four are required and at least StartPhase or EndPhase is required -->
|
||||
<xs:attribute name="StartPhase" type="xs:float" default="0" />
|
||||
<xs:attribute name="EndPhase" type="xs:float" default="6.2831853071795862" />
|
||||
<xs:attribute name="Frequency" type="xs:float" default="1" />
|
||||
<xs:attribute name="PeriodLength" type="xs:float" default="1" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="SegmentBase">
|
||||
<xs:attribute name="StartX" type="xs:float" use="required" />
|
||||
<xs:attribute name="EndX" type="xs:float" use="required" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="PointGroupApproximationMode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="PointApproximation" />
|
||||
<xs:enumeration value="SegmentApproximation" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="PointGroupInterpolationMode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CubicSpline" />
|
||||
<xs:enumeration value="BezierSpline" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<!-- Due to multiple usage, we place that element type explicitly here -->
|
||||
<xs:complexType name="PointElementType">
|
||||
<xs:attribute name="X" type="xs:float" use="required" />
|
||||
<xs:attribute name="Y" type="xs:float" use="required" />
|
||||
<xs:attribute name="Velocity" type="xs:float" />
|
||||
<xs:attribute name="Acceleration" type="xs:float" />
|
||||
<xs:attribute name="Jerk" type="xs:float" />
|
||||
</xs:complexType>
|
||||
|
||||
<!-- Begin of our actual nodes -->
|
||||
<xs:element name="ProfileData">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
|
||||
<xs:element name="GeneralConfiguration" minOccurs="1" maxOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<!-- Requires start < end validity - default is [0;360] -->
|
||||
<xs:element name="DesignLeadingRange" type="cam:DefinitionRange" minOccurs="1" maxOccurs="1" />
|
||||
<!-- Requires start < end validity - default is [-1;1] -->
|
||||
<xs:element name="DesignFollowingRange" type="cam:DefinitionRange" minOccurs="1" maxOccurs="1" />
|
||||
</xs:sequence>
|
||||
|
||||
<!-- Attributes -->
|
||||
<xs:attribute name="StandardContinuity" type="cam:ProfileContinuity" default="Acceleration" />
|
||||
<xs:attribute name="StandardOptimizationGoal" type="cam:ProfileOptimizationGoal" default="None" />
|
||||
<xs:attribute name="InterpolationMode" type="cam:ProfileInterpolationMode" default="CubicSpline" />
|
||||
<xs:attribute name="BoundaryConditions" type="cam:BoundaryConditions" default="NoConstraint" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<!-- The node of listed elements -->
|
||||
<xs:element name="Elements" minOccurs="1" maxOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
|
||||
<xs:element name="Point" type="cam:PointElementType" />
|
||||
|
||||
<xs:element name="Line">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="cam:SegmentBase">
|
||||
<!-- Two out of three are required here -->
|
||||
<xs:attribute name="StartY" type="xs:float" />
|
||||
<xs:attribute name="EndY" type="xs:float" />
|
||||
<xs:attribute name="Gradient" type="xs:float" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Polynomial">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="cam:SegmentBase">
|
||||
<xs:sequence>
|
||||
|
||||
<!-- With or without trigonometric portion ? If node doesn't exist, we simply use a non-trig. polynomial -->
|
||||
<!-- 2 out of 4 : startPhase, endPhase, frequency, periodLength -->
|
||||
<xs:element name="TrigonometricValues" type="cam:TrigonometricValues" minOccurs="0" maxOccurs="1" />
|
||||
|
||||
<!-- For V3, one of these nodes is required. -->
|
||||
|
||||
<xs:choice>
|
||||
<xs:element name="Coefficients" >
|
||||
<xs:complexType>
|
||||
<xs:attribute name="C0" type="xs:float" default="0" />
|
||||
<xs:attribute name="C1" type="xs:float" default="0" />
|
||||
<xs:attribute name="C2" type="xs:float" default="0" />
|
||||
<xs:attribute name="C3" type="xs:float" default="0" />
|
||||
<xs:attribute name="C4" type="xs:float" default="0" />
|
||||
<xs:attribute name="C5" type="xs:float" default="0" />
|
||||
<xs:attribute name="C6" type="xs:float" default="0" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Constraints" >
|
||||
<xs:complexType>
|
||||
<xs:attribute name="LeftValue" type="xs:float" />
|
||||
<xs:attribute name="RightValue" type="xs:float" />
|
||||
<xs:attribute name="LeftVelocity" type="xs:float" />
|
||||
<xs:attribute name="RightVelocity" type="xs:float" />
|
||||
<xs:attribute name="LeftAcceleration" type="xs:float" />
|
||||
<xs:attribute name="RightAcceleration" type="xs:float" />
|
||||
|
||||
<!-- For V3, only one of these three parameters is allowed and lambda is always assumed to be absolute there. -->
|
||||
<xs:attribute name="LeftJerk" type="xs:float" />
|
||||
<xs:attribute name="RightJerk" type="xs:float" />
|
||||
<xs:attribute name="Lambda" type="xs:float" />
|
||||
<xs:attribute name="LambdaMode" type="cam:ValueMode" default="Absolute" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="VDITransition">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="cam:SegmentBase">
|
||||
|
||||
<!-- The VDI-rules we know so far -->
|
||||
<!-- If a VDI-rule occurs, the transition is handled as a VDI transition -->
|
||||
<!-- For V3, lambda is always expected to be absolute -> mode is ignored there. -->
|
||||
<xs:choice minOccurs="1" maxOccurs="1">
|
||||
<xs:element name="DoubleHarmonicTransition" />
|
||||
<xs:element name="InclinedSine">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Lambda" type="xs:float" />
|
||||
<xs:attribute name="LambdaMode" type="cam:ValueMode" default="Absolute" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Linear" />
|
||||
<xs:element name="HarmonicCombination">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Lambda" type="xs:float" />
|
||||
<xs:attribute name="LambdaMode" type="cam:ValueMode" default="Absolute" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ModifiedAccelerationTrapezoid">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Lambda" type="xs:float" />
|
||||
<xs:attribute name="LambdaMode" type="cam:ValueMode" default="Absolute" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ModifiedSine">
|
||||
<xs:complexType>
|
||||
<!-- Choose one of three -->
|
||||
<xs:attribute name="Lambda" type="xs:float" />
|
||||
<xs:attribute name="Ca" type="xs:float" />
|
||||
<xs:attribute name="CaStar" type="xs:float" />
|
||||
|
||||
<xs:attribute name="LambdaMode" type="cam:ValueMode" default="Absolute" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Polynomial">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Lambda" type="xs:float" />
|
||||
<xs:attribute name="LambdaMode" type="cam:ValueMode" default="Absolute" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="QuadraticParabola">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Lambda" type="xs:float" />
|
||||
<xs:attribute name="LambdaMode" type="cam:ValueMode" default="Absolute" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Sine">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="Lambda" type="xs:float" />
|
||||
<xs:attribute name="LambdaMode" type="cam:ValueMode" default="Absolute" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SineLineCombination">
|
||||
<xs:complexType>
|
||||
<!-- Both parameters can be used -->
|
||||
<xs:attribute name="Lambda" type="xs:float" />
|
||||
<xs:attribute name="C" type="xs:float" />
|
||||
|
||||
<xs:attribute name="LambdaMode" type="cam:ValueMode" default="Absolute" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
|
||||
<xs:attribute name="LeftContinuity" type="cam:ElementContinuity" default="AsProfile" />
|
||||
<xs:attribute name="RightContinuity" type="cam:ElementContinuity" default="AsProfile" />
|
||||
<xs:attribute name="OptimizationGoal" type="cam:ElementOptimizationGoal" default="AsProfile" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="InverseSine">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="cam:SegmentBase">
|
||||
<xs:attribute name="InterpolationPointCount" type="xs:integer" default="32" />
|
||||
<xs:attribute name="MaxFollowingValueTolerance" type="xs:float" default="0.01" />
|
||||
<xs:attribute name="MathStartX" type="xs:float" default="-0.95" />
|
||||
<xs:attribute name="MathEndX" type="xs:float" default="0.95" />
|
||||
<xs:attribute name="Minimum" type="xs:float" />
|
||||
<xs:attribute name="Maximum" type="xs:float" />
|
||||
<xs:attribute name="Inversed" type="xs:boolean" default="false" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Sine">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="cam:SegmentBase">
|
||||
<xs:attribute name="Amplitude" type="xs:float" default="1" />
|
||||
<!-- two of four are required and at least StartPhase or EndPhase is required -->
|
||||
<xs:attribute name="StartPhase" type="xs:float" default="0" />
|
||||
<xs:attribute name="EndPhase" type="xs:float" default="6.2831853071795862" />
|
||||
<xs:attribute name="Frequency" type="xs:float" default="1" />
|
||||
<xs:attribute name="PeriodLength" type="xs:float" default="1" />
|
||||
<!-- Two out of three are required here -->
|
||||
<xs:attribute name="Inclination" type="xs:float" default="0" />
|
||||
<xs:attribute name="StartOffset" type="xs:float" default="0" />
|
||||
<xs:attribute name="EndOffset" type="xs:float" default="0" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="PointGroup">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="cam:SegmentBase">
|
||||
|
||||
<!-- Allow points to be sub-elements of the group-->
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="Point" type="cam:PointElementType" />
|
||||
</xs:sequence>
|
||||
|
||||
<xs:attribute name="ApproximationDataPoints" type="xs:integer" default="32" />
|
||||
<xs:attribute name="ApproximationTolerance" type="xs:float" default="0.01" />
|
||||
<xs:attribute name="LeadingValueMode" type="cam:ValueMode" default="Absolute" />
|
||||
<xs:attribute name="FollowingValueMode" type="cam:ValueMode" default="Absolute" />
|
||||
<xs:attribute name="ApproximationMode" type="cam:PointGroupApproximationMode" default="SegmentApproximation" />
|
||||
<xs:attribute name="InterpolationMode" type="cam:PointGroupInterpolationMode" default="CubicSpline" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
</xs:schema>
|
Loading…
Reference in New Issue