123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297 |
- <?xml version="1.0" encoding="UTF-8"?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:scl="http://www.iec.ch/61850/2003/SCL" xmlns="http://www.iec.ch/61850/2003/SCL" targetNamespace="http://www.iec.ch/61850/2003/SCL" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.7">
- <xs:annotation>
- <xs:documentation xml:lang="en">
- Copyright (c) 2013 IEC. All rights reserved.
- Version 1.7. Release 2014/03/11.
- </xs:documentation>
- </xs:annotation>
- <xs:include schemaLocation="SCL_BaseTypes.xsd"/>
- <xs:complexType name="tControlBlock" abstract="true">
- <xs:annotation>
- <xs:documentation xml:lang="en">A control block within a Logical Device (in LLN0).</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="tUnNaming">
- <xs:sequence>
- <xs:element name="Address" type="tAddress" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="ldInst" type="tName" use="required"/>
- <xs:attribute name="cbName" type="tName" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="tCommunication">
- <xs:complexContent>
- <xs:extension base="tUnNaming">
- <xs:sequence>
- <xs:element name="SubNetwork" type="tSubNetwork" maxOccurs="unbounded">
- <xs:unique name="uniqueConnectedAP">
- <xs:selector xpath="./scl:ConnectedAP"/>
- <xs:field xpath="@iedName"/>
- <xs:field xpath="@apName"/>
- </xs:unique>
- </xs:element>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="tSubNetwork">
- <xs:complexContent>
- <xs:extension base="tNaming">
- <xs:sequence>
- <xs:element name="BitRate" type="tBitRateInMbPerSec" minOccurs="0"/>
- <xs:element name="ConnectedAP" type="tConnectedAP" maxOccurs="unbounded">
- <xs:unique name="uniqueGSEinConnectedAP">
- <xs:selector xpath="./scl:GSE"/>
- <xs:field xpath="@cbName"/>
- <xs:field xpath="@ldInst"/>
- </xs:unique>
- <xs:unique name="uniqueSMVinConnectedAP">
- <xs:selector xpath="./scl:SMV"/>
- <xs:field xpath="@cbName"/>
- <xs:field xpath="@ldInst"/>
- </xs:unique>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="type" type="xs:normalizedString" use="optional">
- <xs:annotation>
- <xs:documentation xml:lang="en">The bus protocol types are defined in IEC 61850 Part 8 and 9</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="tConnectedAP">
- <xs:complexContent>
- <xs:extension base="tUnNaming">
- <xs:sequence>
- <xs:element name="Address" type="tAddress" minOccurs="0"/>
- <xs:element name="GSE" type="tGSE" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="SMV" type="tSMV" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="PhysConn" type="tPhysConn" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="iedName" type="tName" use="required"/>
- <xs:attribute name="apName" type="tName" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="tAddress">
- <xs:sequence>
- <xs:element name="P" type="tP" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="tGSE">
- <xs:complexContent>
- <xs:extension base="tControlBlock">
- <xs:sequence>
- <xs:element name="MinTime" type="tDurationInMilliSec" minOccurs="0"/>
- <xs:element name="MaxTime" type="tDurationInMilliSec" minOccurs="0"/>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="tSMV">
- <xs:complexContent>
- <xs:extension base="tControlBlock"/>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="tPhysConn">
- <xs:sequence>
- <xs:element name="P" type="tP" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="type" type="xs:normalizedString" use="required"/>
- </xs:complexType>
- <xs:complexType name="tP">
- <xs:simpleContent>
- <xs:extension base="tPAddr">
- <xs:attribute name="type" type="tPTypeEnum" use="required"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_IP">
- <xs:annotation>
- <xs:documentation xml:lang="en">A TCP/IP address</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:pattern value="[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="IP"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_IP-SUBNET">
- <xs:annotation>
- <xs:documentation xml:lang="en">A subnet Mask for TCP/IP profiles</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:pattern value="[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="IP-SUBNET"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_IP-GATEWAY">
- <xs:annotation>
- <xs:documentation xml:lang="en">A First Hop IP gateway address for TCP/IP profiles</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:pattern value="[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="IP-GATEWAY"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_OSI-NSAP">
- <xs:annotation>
- <xs:documentation xml:lang="en">An OSI Network Address</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:maxLength value="40"/>
- <xs:pattern value="[\d,A-F]+"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-NSAP"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_OSI-TSEL">
- <xs:annotation>
- <xs:documentation xml:lang="en">An OSI Transport Selector</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:maxLength value="8"/>
- <xs:pattern value="[\d,A-F]+"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-TSEL"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_OSI-SSEL">
- <xs:annotation>
- <xs:documentation xml:lang="en">An OSI Session Selector</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:maxLength value="16"/>
- <xs:pattern value="[\d,A-F]+"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-SSEL"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_OSI-PSEL">
- <xs:annotation>
- <xs:documentation xml:lang="en">An OSI Presentation Selector</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:maxLength value="16"/>
- <xs:pattern value="[\d,A-F]+"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-PSEL"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_OSI-AP-Title">
- <xs:annotation>
- <xs:documentation xml:lang="en">An OSI ACSE AP Title value</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:pattern value="[0-9,]+"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-AP-Title"/>
- </xs:restriction>
- <!--<xs:pattern value=""[\d,,]+""/>-->
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_OSI-AP-Invoke">
- <xs:annotation>
- <xs:documentation xml:lang="en">An OSI ACSE AP Invoke ID</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:maxLength value="5"/>
- <xs:pattern value="\d+"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-AP-Invoke"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_OSI-AE-Qualifier">
- <xs:annotation>
- <xs:documentation xml:lang="en">An OSI ACSE AE Qualifier</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:maxLength value="5"/>
- <xs:pattern value="\d+"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-AE-Qualifier"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_OSI-AE-Invoke">
- <xs:annotation>
- <xs:documentation xml:lang="en">An OSI ACSE AE Invoke ID</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:maxLength value="5"/>
- <xs:pattern value="\d+"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-AE-Invoke"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_MAC-Address">
- <xs:annotation>
- <xs:documentation xml:lang="en">A Media Access Address value</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:minLength value="17"/>
- <xs:maxLength value="17"/>
- <xs:pattern value="[\d,A-F]{2}\-[\d,A-F]{2}\-[\d,A-F]{2}\-[\d,A-F]{2}\-[\d,A-F]{2}\-[\d,A-F]{2}"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="MAC-Address"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_APPID">
- <xs:annotation>
- <xs:documentation xml:lang="en">An Application Identifier</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:minLength value="4"/>
- <xs:maxLength value="4"/>
- <xs:pattern value="[\d,A-F]+"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="APPID"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_VLAN-PRIORITY">
- <xs:annotation>
- <xs:documentation xml:lang="en">A VLAN User Priority</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:pattern value="[0-7]"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="VLAN-PRIORITY"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="tP_VLAN-ID">
- <xs:annotation>
- <xs:documentation xml:lang="en">A VLAN ID</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:restriction base="tP">
- <xs:minLength value="3"/>
- <xs:maxLength value="3"/>
- <xs:pattern value="[\d,A-F]+"/>
- <xs:attribute name="type" type="tPTypeEnum" use="required" fixed="VLAN-ID"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- <xs:element name="Communication" type="tCommunication">
- <xs:unique name="uniqueSubNetwork">
- <xs:selector xpath="./scl:SubNetwork"/>
- <xs:field xpath="@name"/>
- </xs:unique>
- </xs:element>
- </xs:schema>
|