Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
232 changes: 2 additions & 230 deletions scl-extension/src/main/resources/xsd/SCL_CoMPAS.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ SPDX-License-Identifier: Apache-2.0
Version 1.8 Release 2024/05/16
Version 1.9 Release 2024/06/25
Version 2.0 Release 2026/02/04
Version 2.1 Release 2026/09/08
</xs:documentation>
</xs:annotation>

Expand Down Expand Up @@ -110,185 +111,6 @@ SPDX-License-Identifier: Apache-2.0
</xs:sequence>
</xs:complexType>


<xs:simpleType name="tCompasFlowStatus">
<xs:annotation>
<xs:documentation xml:lang="en">
Define whether the Flow between two LDevice belonging to two ICDs with-in two System Version (identical or different) are qualified (ACTIVE), not working (INACTIVE) or untested (UNTESTED)
The INACTIVE or UNTESTED Flows cannot be used.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="ACTIVE"/>
<xs:enumeration value="INACTIVE"/>
<xs:enumeration value="UNTESTED"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="tCompasLDeviceStatus">
<xs:annotation>
<xs:documentation xml:lang="en">
Define whether the LDevice belonging to one ICD with-in one System Version are qualified (ACTIVE), not working (INACTIVE) or untested (UNTESTED)
The INACTIVE or UNTESTED LDevice cannot be used.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="ACTIVE"/>
<xs:enumeration value="INACTIVE"/>
<xs:enumeration value="UNTESTED"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="tCompasIEDRedundancy">
<xs:annotation>
<xs:documentation xml:lang="en">
Define whether the IED with-in one System Version is used as NOMINAL or BACKUP IED
"A" defines the nominal IED instance when a redundancy IED exists
"B" defines the backup IED instance when a nominal IED exists
"C" defines the second backup IED instance when a nominal and backup IEDs exist (used for teleaction)
"D" defines the third backup IED instance when a nominal, backup and second backup IEDs exist (used for teleaction)
"None" is used when there is no backup IED instance
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="A"/>
<xs:enumeration value="B"/>
<xs:enumeration value="C"/>
<xs:enumeration value="D"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="tCompasFlowKind">
<xs:annotation>
<xs:documentation xml:lang="en">
Define whether the Flow is limited to the Bay(refering to the physical one or cubicles) to which belong the IED (BAY_INTERNAL) or only going outside the BAY (BAY_EXTERNAL)
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="BAY_INTERNAL"/>
<xs:enumeration value="BAY_EXTERNAL"/>
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="tCompasTopoNodeDirection">
<xs:annotation>
<xs:documentation xml:lang="en">
Define if a bay Direction is Up or Down regarding the busbarsections
For controlbusbar bay the N/A is used to refer that there is no graphical object for this bay.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Up"/>
<xs:enumeration value="Down"/>
<xs:enumeration value="N/A"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="tCompasBay">
<xs:annotation>
<xs:documentation xml:lang="en">
Define the specific Compas attributes linked to the Bay.
The UUID defines the unique ID of the Bay
The Main and Long Labels are label of the bay
MainLabel and Version identify uniquely the instanciated Bay as the UUID
The BayCodif is identifying the bay kind (i.e LI for line feeder)
The NumBay is the bay number for a given baykind. It's used for the dataflow binding in the FlowSourceBayNum
The BayCount is the bay number whatever the kind. As a consequence it's unique accross the substation
</xs:documentation>
</xs:annotation>
<xs:attribute name="UUID" type="xs:string" use="optional"/>
<xs:attribute name="Indice" type="xs:string" use="optional"/>
<xs:attribute name="Version" type="xs:string" use="optional"/>
<xs:attribute name="MainShortLabel" type="xs:string" use="optional"/>
<xs:attribute name="MainLongLabel" type="xs:string" use="optional"/>
<xs:attribute name="SecondLabel" type="xs:string" use="optional"/>
<xs:attribute name="BayCodif" type="xs:string" use="optional"/>
<xs:attribute name="NumBay" type="xs:integer" use="optional"/>
<xs:attribute name="BayCount" type="xs:integer" use="optional"/>
</xs:complexType>

<xs:complexType name="tCompasICDHeader">
<xs:annotation>
<xs:documentation xml:lang="en">
Define specific Compas attributes to identify uniquely one ICD file with-in a SystemVersion for a given IEDType, IEDredundancy and IEDinstance.
The UUID of this combinaison is defined by the ICDSystemVersionUUID.
The ICDSystemVersionUUID is unique within the whole SystemVersion and identify a given instance of a hardware
The IEDType defines the set of LDevice which are supported by a given type of IED hardware
The IEDSubstationinstance identify with a number the IED. This number is unique accross the substation
The IEDName is used to replace the /IED@name = ICDSystemVersionUUID of the IED which is defined in the STDfile by the /IED@name = IEDName of this private
The VendorName, IEDmodel, hwRev, swRev, headerId, headerVersion, headerRevision are issued from the ICD file thanks to the LPHD0.PhyNam DA and the Header attributes of the ICD
The bayLabel defines the bay name where the IED is located; it can be different from the bay name where the Function and LDevice are associated to
This private is intended to be used in the STD file (/IED level) and SSD (/LNode level)
</xs:documentation>
</xs:annotation>
<xs:attribute name="ICDSystemVersionUUID" type="xs:string" use="optional"/>
<xs:attribute name="IEDType" type="xs:string" use="required"/>
<xs:attribute name="IEDSubstationinstance" type="xs:integer" use="optional"/>
<xs:attribute name="IEDSystemVersioninstance" type="xs:integer" use="optional"/>
<xs:attribute name="IEDName" type="xs:string" use="optional"/>
<xs:attribute name="VendorName" type="xs:string" use="required"/>
<xs:attribute name="IEDmodel" type="xs:string" use="required"/>
<xs:attribute name="IEDredundancy" type="tCompasIEDRedundancy" use="optional"/>
<xs:attribute name="BayLabel" type="xs:string" use="optional"/>
<xs:attribute name="hwRev" type="xs:string" use="required"/>
<xs:attribute name="swRev" type="xs:string" use="required"/>
<xs:attribute name="headerId" type="xs:string" use="required"/>
<xs:attribute name="headerVersion" type="xs:string" use="optional"/>
<xs:attribute name="headerRevision" type="xs:string" use="optional"/>
</xs:complexType>

<xs:complexType name="tCompasSystemVersion">
<xs:annotation>
<xs:documentation xml:lang="en">
Identify the SystemVersion to which the functional Bay and IED belongs to. This Private can be used in /Bay in substation and in the /IED
The MainSystemVersion is common to all the bays of the substation (i.e. XX = 01 and YY = 01 => 01.01) XX refers to a technical environment YY refers to functional perimeter so to a set of specification
The MinorSystemVersion is specific for each bay of the substation (i.e. 01.02.03 for the second line feeder bay with the third IED combinatory)
</xs:documentation>
</xs:annotation>
<xs:attribute name="MainSystemVersion" type="xs:string" use="optional"/>
<xs:attribute name="MinorSystemVersion" type="xs:string" use="optional"/>
</xs:complexType>

<xs:complexType name="tCompasFunction">
<xs:annotation>
<xs:documentation xml:lang="en">
Identifies the Function from the user specific catalog of function
</xs:documentation>
</xs:annotation>
<xs:attribute name="UUID" type="xs:string" use="optional"/>
<xs:attribute name="Label" type="xs:string" use="optional"/>
</xs:complexType>

<xs:complexType name="tCompasLDevice">
<xs:annotation>
<xs:documentation xml:lang="en">
Identifies the LDevice from the user specific catalog of LDevice
</xs:documentation>
</xs:annotation>
<xs:attribute name="LDeviceStatus" type="tCompasLDeviceStatus" use="optional"/>
<xs:attribute name="LDeviceID" type="xs:string" use="optional"/>
</xs:complexType>

<xs:complexType name="tCompasTopo">
<xs:annotation>
<xs:documentation xml:lang="en">
Describe the connectivity node and layout order for a given Bay;can be multiple instanciated in case of bay which is connected to multiple nodes or the busbarcontrol bay
The private is intended to be defined at /Bay leel
Same logic applies for the :
- Node and FLOWSourceBayNode
- NodeOrder and FlowSourceNumBayBusBarSectionOrder
BusBarSectionOrder is defined once only in the BusBarControlBay to define the order of busbarsections within a given busbar
The Direction defines whether the bay feeder shall be represented graphically up or down
The ConnectivityNodeName defines the link beetween the bay and electrical node to which it's connected to
</xs:documentation>
</xs:annotation>
<xs:attribute name="Node" type="xs:string" use="required"/>
<xs:attribute name="NodeOrder" type="xs:integer" use="optional"/>
<xs:attribute name="ConnectivityNodeName" type="xs:string" use="optional"/>
<xs:attribute name="BusBarSectionOrder" type="xs:integer" use="optional"/>
<xs:attribute name="Direction" type="tCompasTopoNodeDirection" use="optional"/>
</xs:complexType>

<xs:element name="SclName" type="tCompasSclName"/>
<xs:annotation>
<xs:appinfo>
Expand Down Expand Up @@ -320,54 +142,4 @@ SPDX-License-Identifier: Apache-2.0
</xs:restriction>
</xs:appinfo>
</xs:annotation>
<xs:element name="Bay" type="tCompasBay"/>
<xs:annotation>
<xs:appinfo>
<xs:restriction base="xs:string">
<xs:enumeration value="SCD"/>
</xs:restriction>
</xs:appinfo>
</xs:annotation>
<xs:element name="LDevice" type="tCompasLDevice"/>
<xs:annotation>
<xs:appinfo>
<xs:restriction base="xs:string">
<xs:enumeration value="SCL"/>
<xs:enumeration value="ICD"/>
<xs:enumeration value="SCD"/>
</xs:restriction>
</xs:appinfo>
</xs:annotation>
<xs:element name="ICDHeader" type="tCompasICDHeader"/>
<xs:annotation>
<xs:appinfo>
<xs:restriction base="xs:string">
<xs:enumeration value="SCD"/>
</xs:restriction>
</xs:appinfo>
</xs:annotation>
<xs:element name="SystemVersion" type="tCompasSystemVersion"/>
<xs:annotation>
<xs:appinfo>
<xs:restriction base="xs:string">
<xs:enumeration value="SCD"/>
</xs:restriction>
</xs:appinfo>
</xs:annotation>
<xs:element name="Function" type="tCompasFunction"/>
<xs:annotation>
<xs:appinfo>
<xs:restriction base="xs:string">
<xs:enumeration value="SCD"/>
</xs:restriction>
</xs:appinfo>
</xs:annotation>
<xs:element name="Topo" type="tCompasTopo"/>
<xs:annotation>
<xs:appinfo>
<xs:restriction base="xs:string">
<xs:enumeration value="SCD"/>
</xs:restriction>
</xs:appinfo>
</xs:annotation>
</xs:schema>
</xs:schema>
Loading