Network Model Example

Referring to the Network Model Hierarchy, a similar structure is evident in the Xml format of the network model.

<!-- Not a working model - just for demonstration purposes -->
<?xml version="1.0" encoding="utf-8"?>
<Network xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Model PhaseConfiguration="ThreePhase">
      <Companies>
         <Divisions>
            <Substations />
            <TransmissionLines />
         </Divisions>
      </Companies>
      <VoltageLevels />
      <TapConfigurations />
      <BreakerStatuses />
      <StatusWords />
   </Model>
</Network>

Voltage Level Records

Leaving the Company portion of the network model for later, each of the Voltage Levels in the network are defined between the VoltageLevel tags and are identified by an arbitrary (but unique to the record type) integer. The only other attribute is the KV attribute and is the base KV of the voltage level.

<VoltageLevels>
    <VoltageLevel ID="1" KV="500" />
    <VoltageLevel ID="2" KV="230" />
    <VoltageLevel ID="3" KV="138" />
    <VoltageLevel ID="4" KV="115" />
</VoltageLevels>

And therefore, anywhere else in the network model where the VoltageLevel is a parameter for the record of interest, it is referred to by its integer identifier. For example, when defining a Node, the BaseKV attribute is defined using the VoltageLevel ID attribute:

<Node ID="1" Number="1" Name="Line 1 Bus" Description="Line 1 Bus" BaseKV="1" ParentSubstation="24" ParentTransmissionLine="3">
    <Voltage />
</Node>

Breaker Status Records

The C37.118 stream supports digital values as well. This mechanism can be used to bring in breaker statuses measured by PMU enabled devices in the same stream. The breaker statuses are defined at the highest level of the heirarchy as well. Here is an example of a single BreakerStatus record. The ID attribute serves the same purpose as with the VoltageLevel record in that it is an arbitrary but unique integer among the BreakerStatus records. The Number, Acronym, Name, and Description attributes are important only for record keeping, clarity, and for context. There are no requirements for functionality other than the values or not null. These 5 attributes are implemented by many of the classes in the SynchrophasorAnalytics via the INetworkDescribable interface. The Enabled attribute tells the state estimator whether to use the signal or to ignore it. The KeyAttribute is the openPDC Historian ID used to identify the measurement which contains the digital value of interest. Multiple BreakerStatus records may share the same key as the digital values can be assigned on a per bit basis. Therefore, to uniquely identify the actualy breaker status inside of the signal, the Bit attribute must be set. The signal is also associated with its ParentCircuitBreaker by the unique integer ID of the CircuitBreaker record.

<BreakerStatuses>
  <BreakerStatus ID="1" Number="1" Acronym="CBST" Name="562T578" Description="From SUBSTATION_1_11-1L1 PMU Digital Value" Enabled="true" Key="SUBSTATION_1_11-1L1:6970" Bit="PSV63" ParentCircuitBreaker="1" />
</BreakerStatuses>

Status Word Records

The status word associated with each frame of the C37.118 stream is also included in the model to be made available to the phasor measurements as the first layer of bad data detection. The status words are also defined at the highest level of the model hierarchy. Each of the attributes in the StatusWord record type share the same purpose as their counterpart in the BreakerStatus record.

<StatusWords>
  <StatusWord ID="1" Number="1" Description="Substation1_11-1L1 Status Flags" Enabled="true" Key="SUBSTATION_1_11-1L1:6973" />
</StatusWords>

Company Records

At the heighest level of the model hierarchy is the Company data record. The Company is a data container for partitioning ownership of assets throught a transmission network. The Company record has a very simple definition but is the parent of everything in an organizations infrastructure, including the Divisions (geographical partitions of the network inside an organization), Substations, and TransmissionLines, and their children network elements.

<Companies>
   <Company ID="1" Number="1" Acronym="PWR" Name="The Power Company" Description="Where the electricity comes from.">
      <Divisions />
   </Company>
</Companies>

Division Records

The direct children of Company records are Division records. As mentioned before, the Division record is also a data container which partions the network into user defined groups usually based on geographical location. The Division record in the network model is simply a data container for its children network elements and also has a simple definition.

<Divisions>
   <Division ID="3" Number="3" Acronym="EAST" Name="East" Description="Eastern Service Territory">
      <Substations />
      <TransmissionLines />
   </Division>
</Divisions>

Substation Records

The Substation record, like its parent data containers is itself a data container. It will contain all of the Node, Transformer, CircuitBreaker, and Switch, records for a particular substation in the transmission network. It also has a simple defintion and a set of examples from the example network model follow.

<Substation ID="24" Number="3" Acronym="SUBSTATION_1" Name="Substation 1" Description="Substation1 Substation">
  <Nodes />
  <Transformers />
  <CircuitBreakers />
  <Switches />
</Substation>

Substation 1

Shown below is a two substation example of a network model that can be used in the linear state estimator.

Substation 1 contains:
  • 3 Nodes
  • 3 Circuit Breakers
  • 0 Switches
  • 0 Transformers

Here is the one line diagram for Substation 1 in the network model.

Substation1.png

Node Records

The Node record defines one of the fundamental elements of the network model as the termination point for other elements either logical, as in switching devices, or impedance branches. The Node has a common sense definition which includes parameters defined by the INetworkDescribable interface, the BaseKV, and references to the nodes ParentSubstation and ParentTransmissionLine. A Node can be a child of either a Substation, a TransmissionLine, or both. If it is not both, the non-parent data record will be denoted by a "0".

<Node ID="1" Number="1" Name="Line 1 Bus" Description="Line 1 Bus" BaseKV="1" ParentSubstation="24" ParentTransmissionLine="3">
    <Voltage />
</Node>

Each Node has a Voltage child. The Voltage encapsulates the positive sequence, A phase, B phase, and C phase measured and estimated phasor values. A Node always has a Voltage. The Voltage also follows the INetworkDescribable interface. The Enabled attribute indicates whether to ignore the measurements from that Voltage group. The UseStatusFlag attribute indicates whether or not to use the StatusWord from the C37.118 stream as a first line of defense for bad data detection and removal and the StatusWord attribute indicates which StatusWord record is associated with the Voltage phasor group.

<Voltage ID="1" Number="1" Name="Substation1_11-1L1 Substation1 Line 1" Description="Substation1_11-1L1 Substation1 Line 1 Bus Voltage" Enabled="true" UseStatusFlag="true" StatusWord="1">
  <PositiveSequence>
    <Measurement />
    <Estimate  />
  </PositiveSequence>
  <PhaseA>
    <Measurement  />
    <Estimate  />
  </PhaseA>
  <PhaseB>
    <Measurement  />
    <Estimate  />
  </PhaseB>
  <PhaseC>
    <Measurement  />
    <Estimate />
  </PhaseC>
</Voltage>

Each phasor in the Voltage group is defined in the same way but denoted by its particular phase. The BaseKV attribute defines the VoltageLevel record associated with the phasor. The MagnitudeKey and AngleKey define the input measurement keys for the magnitude and angle associated with the phasor (in the case of the Measurement) and the output measurements for the magntiude and angle of the phasor (in the case of the Estimate). The Type defines whether the phasor is a voltage (V), current (I), or complex power (P). The Variance is the measurement variance in per unit. and the RCF and PACF are the ratio correction factor and phase angle correction factor of the instrument transformer, respectively. the Calibrated attribute defines whether to use the RCF and PACF to pre-process the phasors before they are used in any computation. The CalibrationType specifies how the measurement is treated in by the instrument transformer calibration algorithm. "Inactive" means the measurment will be ignored and is the default setting.

<!-- Replace 'Phasor' with 'PositiveSequence', 'PhaseA', 'PhaseB', or 'PhaseC' -->
<Phasor>
  <Measurement BaseKV="1" MagnitudeKey="SUBSTATION_1_11-1L1:6980" AngleKey="SUBSTATION_1_11-1L1:6981" Type="V" Variance="0.002" RCF="1" PACF="0" Calibrated="false" CalibrationType="Inactive" />
  <Estimate BaseKV="1" MagnitudeKey="SUBSTATION_1_500:8051" AngleKey="SUBSTATION_1_500:8052" Type="V" />
</Phasor>

Circuit Breaker Records

The CircuitBreaker records define switching devices in the substation which link two Nodes together in a network. A CircuitBreaker can only be a child of a Substation and also shares parameters with the INetworkDescribable interface. The CircuitBreaker record also contains an attribute for the FromNode and the ToNode of the switching device where the Node of interest is defined by its unique ID attribute. It does not matter which Node is defined as sending or receiving. The CircuitBreaker record also has a reference to its parent Substation through the ParentSubstation attribute. The Status attribute defines the BreakerStatus record corresponding to the signal for the status of that CircuitBreaker. If there is no signal associated with the CircuitBreaker record then that attribute is set as "0". The normal positition of the switching devices is defined by the Normally attribute, and the current state is denoted by the Actually attribute. This is mostly important for breakers which do not have signals associated with them as the signal will override the normal condition. The Key attribute does not correspond to an input measurement, rather it corresponds to an output measurement which indicates the actual state of the circuit breaker. Therefore, the status of any CircuitBreaker inside can be put into manual override during operation and that status will persist on the output. Again, much of this functionality is important for managing breakers which do not have telemetry. Below is an example CircuitBreaker record.

<CircuitBreakers>
  <CircuitBreaker ID="1" Number="1" Acronym="SWDV" Name="562T578" Description="562T578" Key="SUBSTATION_1_500:8028" FromNode="2" ToNode="1" Normally="Closed" Actually="Open" Status="1" ParentSubstation="24" />
</CircuitBreakers>

Substation 2

Substation 2 contains:
  • 23 Nodes
  • 8 Circuit Breakers
  • 16 Switches
  • 0 Transformers

Here is the one line diagram for Substation 2 in the network model.

Substation2.png

Switch Records

The Switch record is conceptually very similar to the CircuitBreaker record. The only differences are that Switches cannot recieve telemetry to determine a status and can therefore only be toggled manually by the user and that they can be children of both Substations and TransmissionLines.

<Switches>
  <Switch ID="1" Number="1" Acronym="SWDV" Name="56274" Description="Substation2 500kV Switch 56274" Key="SUBSTATION_2_500:8109" FromNode="11" ToNode="13" Normally="Closed" Actually="Closed" ParentSubstation="15" ParentTransmissionLine="0" />
</Switches>

Transmission Line Records

The TransmissionLine record, like its parent data containers is itself a data container. It will contain all of the Node, LineSegment, and Switch records for a particular transmission line in the transmission network. It connects two Substation records. It also has a simple defintion and a set of examples from the example network model follow. TransmissionLine records also follow INetworkDescribable. The FromNode, ToNode, FromSubstation, and ToSubstation are defined using the unique ID attributes for the Node record and Substation record, respectively. The FromSubstationCurrentPhasorGroup and ToSubstationCurrentPhasorGroup correspond to their namesake in the children of the TransmissionLine record.

<TransmissionLine ID="2" Number="3" Acronym="L3" Name="Line 3" Description="Substation2 to Substation1" FromNode="2" ToNode="4" FromSubstation="24" ToSubstation="15" FromSubstationCurrentPhasorGroup="1" ToSubstationCurrentPhasorGroup="2">
   <Nodes />
   <LineSegments />
   <Switches />
   <FromSubstationCurrent />
   <ToSubstationCurrent />

The FromSubstationCurrentPhasorGroup and the ToSubstationCurrentPhasorGroup are defined for the TransmissionLine in the same way as the Voltage is for the Node. The FromSubstationCurrentPhasorGroup would be associated with the FromSubstation and FromNode and similarly the ToSubstationCurrentPhasorGroup would be associated with the ToSubstation and ToNode. Every TransmissionLine has these two records even if there are no measurements associated with that network element.

Line Segment Records

The LineSegment records are children of TransmissionLines only. They contain the noding information and impedance information for a section of a transmission line. See also, Modeling Branch Impedances.

<LineSegment ID="3" Number="3" Name="Line 3" Description="Line 3 Single Segment" FromNode="2" ToNode="4" ParentTransmissionLine="2">
   <Impedance R1="0.0016842" R2="0.001337" R3="0.0016673" R4="0.0013447" R5="0.001337" R6="0.0016842" X1="0.016655" X2="0.0079151" X3="0.016676" X4="0.0068129" X5="0.0079151" X6="0.016655" B1="0.570752" B2="-0.14096" B3="0.58482" B4="-0.0662" B5="-0.14096" B6="0.570752" />
</LineSegment>

Complete Network Model Example File

Here is the full Xml file for the example shown here: NetworkModelExample.xml

Here is an additional two substation example for the Xml Network model: TwoSubstationNetworkModelExample.xml

Last edited Dec 12, 2013 at 6:02 PM by kevinjones, version 17