TcXaeMgmt.format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Ralf Heitmann (BECKHOFF Automation GmbH) -->
<Configuration>
  <SelectionSets>
    <SelectionSet>
      <Name>RouteTypes</Name>
      <Types>
        <TypeName>TwinCAT.RouteTarget</TypeName>
        <TypeName>TwinCAT.SubRoute</TypeName>
        <TypeName>TwinCAT.RegisteredRoute</TypeName>
      </Types>
    </SelectionSet>
      <SelectionSet>
      <Name>Symbols</Name>
      <Types>
        <!-- <TypeName>TwinCAT.TypeSystem.ISymbol</TypeName> -->
        <TypeName>TwinCAT.Ads.TypeSystem.Symbol</TypeName>
        <TypeName>TwinCAT.Mdp.MdpSymbol</TypeName>
        <TypeName>TwinCAT.TypeSystem.DynamicSymbol</TypeName>
        <TypeName>SessionProviderPlugin.CustomSymbol.CustomSymbol</TypeName>
      </Types>
    </SelectionSet>
    <SelectionSet>
      <Name>DataTypes</Name>
      <Types>
        <!-- <TypeName>TwinCAT.TypeSystem.IDataType</TypeName> -->
        <TypeName>TwinCAT.Ads.TypeSystem.DataType</TypeName>
        <TypeName>SessionProviderPlugin.CustomSymbol.CustomDataType</TypeName>
        <TypeName>TwinCAT.Mdp.MdpDataType</TypeName>
        <!--<TypeName>TwinCAT.TypeSystem.IArrayType</TypeName>
                <TypeName>TwinCAT.TypeSystem.IPointerType</TypeName>
                <TypeName>TwinCAT.TypeSystem.IReferenceType</TypeName>
                <TypeName>TwinCAT.TypeSystem.IAliasType</TypeName>
                <TypeName>TwinCAT.TypeSystem.ISubRangeType</TypeName>
                <TypeName>TwinCAT.TypeSystem.IStringType</TypeName>-->
        <!--<TypeName>TwinCAT.TypeSystem.StructType</TypeName>
                <TypeName>TwinCAT.TypeSystem.ArrayType</TypeName>
                <TypeName>TwinCAT.TypeSystem.PointerType</TypeName>
                <TypeName>TwinCAT.TypeSystem.ReferenceType</TypeName>
                <TypeName>TwinCAT.TypeSystem.AliasType</TypeName>
                <TypeName>TwinCAT.TypeSystem.SubRangeType</TypeName>
                <TypeName>TwinCAT.TypeSystem.StringType</TypeName>
                <TypeName>TwinCAT.TypeSystem.WStringType</TypeName>-->
      </Types>
    </SelectionSet>
    <SelectionSet>
      <Name>StructTypes</Name>
      <Types>
        <TypeName>TwinCAT.Ads.TypeSystem.StructType</TypeName>
        <TypeName>TwinCAT.Mdp.MdpStructType</TypeName>
        <TypeName>SessionProviderPlugin.CustomSymbol.CustomStructType</TypeName>
      </Types>
    </SelectionSet>
    <SelectionSet>
      <Name>ArrayTypes</Name>
      <Types>
        <TypeName>TwinCAT.Ads.TypeSystem.ArrayType</TypeName>
        <TypeName>TwinCAT.Mdp.MdpArrayType</TypeName>
        <TypeName>SessionProviderPlugin.CustomSymbol.CustomArrayType</TypeName>
      </Types>
    </SelectionSet>
    <SelectionSet>
      <Name>ReferenceTypes</Name>
      <Types>
        <TypeName>TwinCAT.Ads.TypeSystem.ReferenceType</TypeName>
        <TypeName>TwinCAT.Ads.TypeSystem.PointerType</TypeName>
        <TypeName>SessionProviderPlugin.CustomSymbol.CustomPointerType</TypeName>
        <TypeName>SessionProviderPlugin.CustomSymbol.CustomReferenceType</TypeName>
      </Types>
    </SelectionSet>
    <SelectionSet>
      <Name>AliasTypes</Name>
      <Types>
        <TypeName>TwinCAT.Ads.TypeSystem.SubRange</TypeName>
        <TypeName>SessionProviderPlugin.CustomSymbol.CustomSubRangType</TypeName>
        <TypeName>TwinCAT.Ads.TypeSystem.AliasType</TypeName>
        <TypeName>TwinCAT.Ads.TypeSystem.EnumType</TypeName>
        <TypeName>SessionProviderPlugin.CustomSymbol.CustomEnumType</TypeName>
        <TypeName>SessionProviderPlugin.CustomSymbol.CustomAliasType</TypeName>
      </Types>
    </SelectionSet>
    <SelectionSet>
      <Name>Members</Name>
      <Types>
        <!--<TypeName>TwinCAT.TypeSystem.IMember</TypeName>-->
        <TypeName>TwinCAT.Ads.TypeSystem.Member</TypeName>
        <TypeName>TwinCAT.Mdp.MdpMember</TypeName>
      </Types>
    </SelectionSet>
    <SelectionSet>
      <Name>Sessions</Name>
      <Types>
        <TypeName>TwinCAT.Session</TypeName>
        <TypeName>TwinCAT.Mdp.MdpSession</TypeName>
        <!--<TypeName>TwinCAT.Ads.AdsSession</TypeName>-->
      </Types>
    </SelectionSet>
    <SelectionSet>
      <Name>EnumValues</Name>
      <Types>
        <TypeName>TwinCAT.TypeSystem.IEnumValue</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[short]]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[Int16]]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[System.Int16]]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[]]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[System.Int8, mscorlib, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089]]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[System.Int16, mscorlib, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089]]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089]]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089]]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[System.UInt8, mscorlib, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089]]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[System.UInt16, mscorlib, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089]]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089]]</TypeName>
        <TypeName>TwinCAT.TypeSystem.EnumValue`1[[System.UInt64, mscorlib, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089]]</TypeName>
      </Types>
    </SelectionSet>
  </SelectionSets>
  <ViewDefinitions>
    <View>
      <Name>PingInfoTableView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.SystemService.Commands.PingResult</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <!--<AutoSize/>-->
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>32</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Result</Label>
            <Width>7</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Time</Label>
            <Width>5</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Address</Label>
            <Width>17</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Port</Label>
            <Width>6</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>
                  $_.Target.Name
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>CommandResult</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.CommandResult -eq [TwinCAT.Core.CommandResult]::Ok)
                  {
                  $_.RoundTripTime.TotalMilliseconds
                  }
                  else
                  {
                  ""
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TargetNetId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Port</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>RouteStateInfoTableView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.SystemService.Commands.RouteStateInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <AutoSize/>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>20</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>State</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>OK</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Time (ms)</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Address</Label>
            <Width>20</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>
                  $_.Target.Name
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>State</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Succeeded</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.Succeeded -and ($_.State -ne 'Invalid'))
                  {
                  [int]$_.WaitTime.TotalMilliseconds
                  }
                  else
                  {
                  ""
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.Target.NetId
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>RouteTargetTableView</Name>
      <ViewSelectedBy>
        <SelectionSetName>RouteTypes</SelectionSetName>
      </ViewSelectedBy>
      <TableControl>
        <!--<AutoSize/>-->
        <TableHeaders>
          <TableColumnHeader>
            <Width>16</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Width>20</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Width>16</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>FingerPrint</Label>
            <Width>32</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Sub</Label>
            <Width>5</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>TcVersion</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>RTSystem</Label>
            <Width>20</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>NetId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Address</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>FingerPrint</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.IsSubRoute)
                  {
                  "X"
                  }
                  else
                  {
                  ""
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.TcVersion -eq [Version]::new())
                  {
                  '[UNKNOWN]'
                  }
                  else
                  {
                  $_.TcVersion
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.RTSystem.IsEmpty)
                  {
                  '[UNKNOWN]'
                  }
                  else
                  {
                  $_.RTSystem
                  }
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>RouteTargetListView</Name>
      <ViewSelectedBy>
        <SelectionSetName>RouteTypes</SelectionSetName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>NetId</PropertyName>
              </ListItem>
              <ListItem>
                <Label>SubRoute</Label>
                <ScriptBlock>
                  if ($_.IsSubRoute)
                  {
                  "X"
                  }
                  else
                  {
                  ""
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>Address</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>FingerPrint</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Version</Label>
                <PropertyName>TcVersion</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>RTSystem</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
    <View>
      <Name>RouteTargetWideView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.IRouteInfo</TypeName>
      </ViewSelectedBy>
      <WideControl>
        <WideEntries>
          <WideEntry>
            <WideItem>
              <PropertyName>Name</PropertyName>
            </WideItem>
          </WideEntry>
        </WideEntries>
      </WideControl>
    </View>
    <View>
      <Name>SymbolTableView</Name>
      <ViewSelectedBy>
        <SelectionSetName>Symbols</SelectionSetName>
      </ViewSelectedBy>
      <TableControl>
        <AutoSize/>
        <TableHeaders>
          <!--<TableColumnHeader>
            <Label>InstanceName</Label>
            <Width>20</Width>
          </TableColumnHeader>-->
          <TableColumnHeader>
            <Label>InstancePath</Label>
            <Width>64</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Category</Label>
            <Width>12</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>DataType</Label>
            <Width>32</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Size</Label>
            <Width>8</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Static</Label>
            <Width>8</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Persistant</Label>
            <Width>8</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>IG</Label>
            <Width>8</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>IO</Label>
            <Width>8</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>InstancePath</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Category</PropertyName>
              </TableColumnItem>
              <!--<TableColumnItem>
                <PropertyName>InstanceName</PropertyName>
              </TableColumnItem>-->
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.DataType -ne $null)
                  {
                  $_.DataType.Name
                  }
                  else
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.TypeName
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.Size -le 0)
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.Size
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                  else
                  {
                  $_.Size
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>IsStatic</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>IsPersistent</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$_.IndexGroup</ScriptBlock>
                <FormatString>{0:X}</FormatString>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$_.IndexOffset</ScriptBlock>
                <FormatString>{0:X}</FormatString>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>SymbolListView</Name>
      <ViewSelectedBy>
        <SelectionSetName>Symbols</SelectionSetName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>InstancePath</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Category</PropertyName>
              </ListItem>
              <ListItem>
                <Label>DataType</Label>
                <ScriptBlock>
                  if ($_.DataType -ne $null)
                  {
                  $_.DataType.Name
                  }
                  else
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.TypeName
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>Size</Label>
                <ScriptBlock>
                  if ($_.Size -le 0)
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.Size
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                  else
                  {
                  $_.Size
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>IsStatic</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>IsPersistent</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>InstanceName</PropertyName>
              </ListItem>
              <ListItem>
                <Label>IndexGroup</Label>
                <ScriptBlock>$_.IndexGroup</ScriptBlock>
                <FormatString>0x{0:X8} ({0})</FormatString>
              </ListItem>
              <ListItem>
                <Label>IndexOffset</Label>
                <ScriptBlock>$_.IndexOffset</ScriptBlock>
                <FormatString>0x{0:X8} ({0})</FormatString>
              </ListItem>
              <ListItem>
                <Label>Session</Label>
                <ScriptBlock>$_.FactoryServices.Session.Id</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>Address</Label>
                <ScriptBlock>$_.FactoryServices.Session.AddressSpecifier</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>Provider</Label>
                <ScriptBlock>$_.FactoryServices.Session.Provider</ScriptBlock>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
    <View>
      <Name>SymbolListWideView</Name>
      <ViewSelectedBy>
        <SelectionSetName>Symbols</SelectionSetName>
      </ViewSelectedBy>
      <WideControl>
        <WideEntries>
          <WideEntry>
            <WideItem>
              <PropertyName>Name</PropertyName>
            </WideItem>
          </WideEntry>
        </WideEntries>
      </WideControl>
    </View>
    <View>
      <Name>DataTypeTableView</Name>
      <ViewSelectedBy>
        <SelectionSetName>DataTypes</SelectionSetName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
            <Width>25</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Size</Label>
            <Width>8</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Category</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>BaseType</Label>
            <Width>25</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Size</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Category</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $t = $_
                  switch($t.Category)
                  {
                  Array { $t.ElementType.Name }
                  Enum { $t.BaseType.Name }
                  Alias { $t.BaseType.Name }
                  Struct { $t.BaseType.Name }
                  Pointer { $t.ReferencedType.Name }
                  Reference { $t.ReferencedType.Name }
                  default { "" }
                  }
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>DataTypeListView</Name>
      <ViewSelectedBy>
        <SelectionSetName>DataTypes</SelectionSetName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <EntrySelectedBy>
              <SelectionSetName>StructTypes</SelectionSetName>
            </EntrySelectedBy>
            <ListItems>
              <ListItem>
                <PropertyName>Id</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Namespace</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Size</Label>
                <ScriptBlock>
                  if ($_.Size -le 0)
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.Size
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                  else
                  {
                  $_.Size
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>Category</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Members</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
          <ListEntry>
            <EntrySelectedBy>
              <SelectionSetName>ArrayTypes</SelectionSetName>
            </EntrySelectedBy>
            <ListItems>
              <ListItem>
                <PropertyName>Id</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Namespace</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Size</Label>
                <ScriptBlock>
                  if ($_.Size -le 0)
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.Size
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                  else
                  {
                  $_.Size
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>Category</PropertyName>
              </ListItem>
              <!--<ListItem>
                                <PropertyName>Dimensions</PropertyName>
                            </ListItem>-->
              <ListItem>
                <PropertyName>ElementType</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
          <ListEntry>
            <EntrySelectedBy>
              <SelectionSetName>ArrayTypes</SelectionSetName>
            </EntrySelectedBy>
            <ListItems>
              <ListItem>
                <PropertyName>Id</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Namespace</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Size</Label>
                <ScriptBlock>
                  if ($_.Size -le 0)
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.Size
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                  else
                  {
                  $_.Size
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>Category</PropertyName>
              </ListItem>
              <ListItem>
                <Label>ReferencedType</Label>
                <ScriptBlock>$_.ReferencedType.Name</ScriptBlock>
              </ListItem>
            </ListItems>
          </ListEntry>
          <ListEntry>
            <EntrySelectedBy>
              <SelectionSetName>AliasTypes</SelectionSetName>
            </EntrySelectedBy>
            <ListItems>
              <ListItem>
                <PropertyName>Id</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Namespace</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Size</Label>
                <ScriptBlock>
                  if ($_.Size -le 0)
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.Size
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                  else
                  {
                  $_.Size
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>Category</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>BaseType</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
          <ListEntry>
            <EntrySelectedBy>
              <TypeName>TwinCAT.Ads.TypeSystem.StringType</TypeName>
              <TypeName>TwinCAT.Ads.TypeSystem.WStringType</TypeName>
              <TypeName>SessionProviderPlugin.CustomSymbol.CustomStringType</TypeName>
            </EntrySelectedBy>
            <ListItems>
              <ListItem>
                <PropertyName>Id</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Namespace</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Size</Label>
                <ScriptBlock>
                  if ($_.Size -le 0)
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.Size
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                  else
                  {
                  $_.Size
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>Category</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Length</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>Id</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Namespace</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Size</Label>
                <ScriptBlock>
                  if ($_.Size -le 0)
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.Size
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                  else
                  {
                  $_.Size
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>Category</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
    <View>
      <Name>DataTypeWideView</Name>
      <ViewSelectedBy>
        <SelectionSetName>DataTypes</SelectionSetName>
      </ViewSelectedBy>
      <WideControl>
        <WideEntries>
          <WideEntry>
            <WideItem>
              <PropertyName>Name</PropertyName>
            </WideItem>
          </WideEntry>
        </WideEntries>
      </WideControl>
    </View>
    <View>
      <Name>InstanceTableView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.Ads.TypeSystem.Instance</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>InstancName</Label>
            <Width>20</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>InstancePath</Label>
            <Width>30</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>TypeName</Label>
            <Width>20</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Size</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>IG</Label>
            <Width>8</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>IO</Label>
            <Width>8</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>InstanceName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>InstancePath</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TypeName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Size</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$_.IndexGroup</ScriptBlock>
                <FormatString>{0:X}</FormatString>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>$_.IndexOffset</ScriptBlock>
                <FormatString>{0:X}</FormatString>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>InstanceListView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.Ads.TypeSystem.Instance</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>InstanceName</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>InstancePath</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>TypeName</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Size</Label>
                <ScriptBlock>
                  if ($_.Size -le 0)
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.Size
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                  else
                  {
                  $_.Size
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>IsStatic</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
    <View>
      <Name>InstanceWideView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.Ads.TypeSystem.Instance</TypeName>
      </ViewSelectedBy>
      <WideControl>
        <WideEntries>
          <WideEntry>
            <WideItem>
              <PropertyName>InstancePath</PropertyName>
            </WideItem>
          </WideEntry>
        </WideEntries>
      </WideControl>
    </View>
    <View>
      <Name>MemberTableView</Name>
      <ViewSelectedBy>
        <SelectionSetName>Members</SelectionSetName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader>
            <Label>InstanceName</Label>
            <Width>20</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>BitOffset</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>TypeName</Label>
            <Width>80</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Size</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Static</Label>
            <Width>8</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>InstanceName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>BitOffset</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TypeName</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Size</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>IsStatic</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>MemberListView</Name>
      <ViewSelectedBy>
        <SelectionSetName>Members</SelectionSetName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>InstanceName</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>BitOffset</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>TypeName</PropertyName>
              </ListItem>
              <ListItem>
                <Label>Size</Label>
                <ScriptBlock>
                  if ($_.Size -le 0)
                  {
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.Size
                  $host.ui.rawui.foregroundcolor = "White"
                  }
                  else
                  {
                  $_.Size
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>IsStatic</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
    <View>
      <Name>MemberWideView</Name>
      <ViewSelectedBy>
        <SelectionSetName>Members</SelectionSetName>
      </ViewSelectedBy>
      <WideControl>
        <WideEntries>
          <WideEntry>
            <WideItem>
              <PropertyName>InstanceName</PropertyName>
            </WideItem>
          </WideEntry>
        </WideEntries>
      </WideControl>
    </View>
    <View>
      <Name>NetIdListView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.Ads.AmsNetId</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <Label>Address</Label>
                <ScriptBlock>
                  $_.ToString()
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>Address (Hex)</Label>
                <ScriptBlock>
                  $_.ToString('x',$null)
                </ScriptBlock>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
    <View>
      <Name>SessionTableView</Name>
      <ViewSelectedBy>
        <SelectionSetName>Sessions</SelectionSetName>
      </ViewSelectedBy>
      <TableControl>
        <AutoSize/>
        <TableHeaders>
          <TableColumnHeader>
            <Label>ID</Label>
            <Width>5</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Address</Label>
            <Width>20</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>IsConnected</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ConnectionState</Label>
            <Width>10</Width>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>EstablishedAt</Label>
            <Width>20</Width>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>ID</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>AddressSpecifier</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>IsConnected</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ConnectionState</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>EstablishedAt</PropertyName>
                <FormatString>G</FormatString>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>DetailedTargetView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.SystemService.DetailedTargetInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <!--<AutoSize/>-->
        <TableHeaders>
          <TableColumnHeader>
            <Label>Target</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Version</Label>
          </TableColumnHeader>
          <!--<TableColumnHeader>
            <Label>Level</Label>
          </TableColumnHeader>-->
          <TableColumnHeader>
            <Label>OS</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Image</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Device</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>CPUArch</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>SystemId</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Fingerprint</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>
                  $_.Target.Name
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TargetVersion</PropertyName>
              </TableColumnItem>
              <!--<TableColumnItem>
                <ScriptBlock>
                  $_.TargetFeatures.Level
                </ScriptBlock>
              </TableColumnItem>-->
              <TableColumnItem>
                <ScriptBlock>
                  $_.OSImage.ShortOSName
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.OSImage.Image
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.OSImage.Device
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.TargetHardware.CPUArchitecture
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>SystemId</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>FingerPrint</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>RouterStatusView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.Router.RouterStatusInfoResult</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <!--<AutoSize/>-->
        <TableHeaders>
          <TableColumnHeader>
            <Label>Target</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Result</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>TotalMem (kb)</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>AvailMem (kb)</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Ports</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Drivers</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Transports</Label>
          </TableColumnHeader>
          <!--<TableColumnHeader>
            <Label>Debug</Label>
          </TableColumnHeader>-->
          <TableColumnHeader>
            <Label>Mailbox Size (kb)</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Mailbox Queue</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>$_.RouteTarget.Name</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>CommandResult</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <!--<ScriptBlock>$_.OverallRouterMemory / 1KB</ScriptBlock>-->
                <ScriptBlock>[int]($_.OverallRouterMemory / 1KB)</ScriptBlock>
                <FormatString>{0:D}</FormatString>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>[int]($_.AvailableRouterMemory / 1KB)</ScriptBlock>
                <FormatString>{0:D}</FormatString>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>RegisteredAmsPorts</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>RegisteredAmsDrivers</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>RegisteredAmsTransports</PropertyName>
              </TableColumnItem>
              <!--<TableColumnItem>
                <PropertyName>MailDebugging</PropertyName>
              </TableColumnItem>-->
              <TableColumnItem>
                <ScriptBlock>[int]($_.MailboxSize / 1KB)</ScriptBlock>
                <FormatString>{0:D}</FormatString>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>MailboxQueueSize</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>RouterStatusView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.Router.RouterStatusInfoResult</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <!--<AutoSize/>-->
        <TableHeaders>
          <TableColumnHeader>
            <Label>blaTarget</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Result</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>TotalMem (kb)</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>AvailMem (kb)</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Ports</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Drivers</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Transports</Label>
          </TableColumnHeader>
          <!--<TableColumnHeader>
            <Label>Debug</Label>
          </TableColumnHeader>-->
          <TableColumnHeader>
            <Label>Mailbox Size (kb)</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Mailbox Queue</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>$_.RouteTarget.Name</ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>CommandResult</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <!--<ScriptBlock>$_.OverallRouterMemory / 1KB</ScriptBlock>-->
                <ScriptBlock>[int]($_.OverallRouterMemory / 1KB)</ScriptBlock>
                <FormatString>{0:D}</FormatString>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>[int]($_.AvailableRouterMemory / 1KB)</ScriptBlock>
                <FormatString>{0:D}</FormatString>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>RegisteredAmsPorts</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>RegisteredAmsDrivers</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>RegisteredAmsTransports</PropertyName>
              </TableColumnItem>
              <!--<TableColumnItem>
                <PropertyName>MailDebugging</PropertyName>
              </TableColumnItem>-->
              <TableColumnItem>
                <ScriptBlock>[int]($_.MailboxSize / 1KB)</ScriptBlock>
                <FormatString>{0:D}</FormatString>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>MailboxQueueSize</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>LicenseTableView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.Licenses.TcLicenseInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <AutoSize/>
        <TableHeaders>
          <TableColumnHeader>
            <Label>OrderID</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Name</Label>
          </TableColumnHeader>
          <!--<TableColumnHeader>
            <Label>Valid</Label>
          </TableColumnHeader>-->
          <TableColumnHeader>
            <Label>Validity</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ExpireTime</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Context</Label>
          </TableColumnHeader>
          <!--<TableColumnHeader>
            <Label>ID</Label>
          </TableColumnHeader>-->
          <TableColumnHeader>
            <Label>Available</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Used</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>VolumeNo</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>OrderID</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <!--<TableColumnItem>
                <ScriptBlock>
                  if ($_.Valid)
                  {
                  'X'
                  }
                  else
                  {
                  ''
                  }
                </ScriptBlock>
              </TableColumnItem>-->
              <TableColumnItem>
                <ScriptBlock>
                  if (!$_.Valid)
                  {
                  $o = $host.ui.rawUI.ForegroundColor
                  $host.ui.rawUI.ForegroundColor = 'Red'
                  $_.ValidityCode
                  $host.ui.rawUI.ForegroundColor = $o
                  }
                  else
                  {
                  $_.ValidityCode
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ExpireTime</PropertyName>
                <FormatString>d</FormatString>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Context</PropertyName>
              </TableColumnItem>
              <!--<TableColumnItem>
                <PropertyName>ID</PropertyName>
              </TableColumnItem>-->
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.AvailableLicenses -gt 0)
                  {
                  $_.AvailableLicenses
                  }
                  else
                  {
                  'CPU License'
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.AvailableLicenses -ne 0)
                  {
                  $_.UsedLicenses
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>VolumeNo</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>LicenseListView</Name>
      <ViewSelectedBy>
        <SelectionSetName>
          <ViewSelectedBy>
            <TypeName>TwinCAT.Licenses.TcLicenseInfo</TypeName>
          </ViewSelectedBy>
        </SelectionSetName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>Context</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>OrderID</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <!--<ListItem>
                <PropertyName>OrderID</PropertyName>
              </ListItem>-->
              <!--<ListItem>
                <PropertyName>ValidityCode</PropertyName>
              </ListItem>-->
              <ListItem>
                <ScriptBlock>
                  if (!$_.Valid)
                  {
                  $o = $host.ui.rawui.foregroundcolor
                  $host.ui.rawui.foregroundcolor = "Red"
                  $_.ValidityCode
                  $host.ui.rawui.foregroundcolor = $o
                  }
                  else
                  {
                  $_.ValidityCode
                  }
                </ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>ExpireTime</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ID</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>AvailableLicenses</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>UsedLicenses</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>VolumeNo</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
    <View>
      <Name>EnumValueListView</Name>
      <ViewSelectedBy>
        <SelectionSetName>EnumValues</SelectionSetName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>Name</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Value</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>ManagedType</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
    <View>
      <Name>EnumValueTableView</Name>
      <ViewSelectedBy>
        <SelectionSetName>EnumValues</SelectionSetName>
      </ViewSelectedBy>
      <TableControl>
        <AutoSize/>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Primitive</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Type</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Size</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Primitive</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ManagedBaseType</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Size</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>AdsHandleViewTable</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.Management.Automation.AdsHandleInfo</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <AutoSize/>
        <TableHeaders>
          <TableColumnHeader>
            <Label>InstancePath</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Result</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Handle</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>InstancePath</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Result</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Handle</PropertyName>
                <FormatString>0x{0:X8} ({0})</FormatString>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>AdsHandleViewList</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.Management.Automation.AdsHandleInfo</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>InstancePath</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Result</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>Handle</PropertyName>
                <FormatString>0x{0:X8} ({0})</FormatString>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
    <View>
      <Name>MqttRouteTableView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.SystemService.MqttRoute</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <AutoSize/>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Address</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>TcpPort</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Topic</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Qos</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Security</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Address</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TcpIpPort</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Topic</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Qos</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>SecurityType</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
  </ViewDefinitions>
</Configuration>