TcXaeMgmt.format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
    <SelectionSets>
        <SelectionSet>
            <Name>RouteTypes</Name>
            <Types>
                <TypeName>TwinCAT.IRoute</TypeName>
                <TypeName>TwinCAT.IRouteInfo</TypeName>
                <TypeName>TwinCAT.RouteTarget</TypeName>
            </Types>
        </SelectionSet>
        <SelectionSet>
            <Name>RegisteredRouteTypes</Name>
            <Types>
                <TypeName>TwinCAT.IRoute</TypeName>
                <TypeName>TwinCAT.IRouteInfo</TypeName>
                <TypeName>TwinCAT.RouteTarget</TypeName>
                <TypeName>TwinCAT.RemoteRoute</TypeName>
                <TypeName>TwinCAT.IConfiguredRoute</TypeName>
                <TypeName>TwinCAT.ConfiguredRoute</TypeName>
                <TypeName>TwinCAT.RegisteredRoute</TypeName>
                <TypeName>TwinCAT.GatewayRoute</TypeName>
            </Types>
        </SelectionSet>
        <SelectionSet>
            <Name>Symbols</Name>
            <Types>
                <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.Ads.TypeSystem.DataType</TypeName>
                <TypeName>SessionProviderPlugin.CustomSymbol.CustomDataType</TypeName>
                <TypeName>TwinCAT.Mdp.MdpDataType</TypeName>
            </Types>
        </SelectionSet>
        <SelectionSet>
            <Name>StructTypes</Name>
            <Types>
                <TypeName>TwinCAT.TypeSystem.IStructType</TypeName>
                <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.TypeSystem.IArrayType</TypeName>
                <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.Ads.TypeSystem.Member</TypeName>
                <TypeName>TwinCAT.Ads.TypeSystem.Field</TypeName>
                <!--<TypeName>TwinCAT.Mdp.MdpMember</TypeName>-->
            </Types>
        </SelectionSet>
        <SelectionSet>
            <Name>Sessions</Name>
            <Types>
                <TypeName>TwinCAT.Session</TypeName>
                <TypeName>TwinCAT.Mdp.MdpSession</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>
        <SelectionSet>
            <Name>RpcMethods</Name>
            <Types>
                <TypeName>TwinCAT.TypeSystem.IRpcMethod</TypeName>
                <TypeName>TwinCAT.Ads.TypeSystem.RpcMethod</TypeName>
            </Types>
        </SelectionSet>
        <SelectionSet>
            <Name>RpcMethodParameters</Name>
            <Types>
                <TypeName>TwinCAT.TypeSystem.IRpcMethodParameter</TypeName>
                <TypeName>TwinCAT.Ads.TypeSystem.RpcMethodParameter</TypeName>
            </Types>
        </SelectionSet>
    </SelectionSets>
    <ViewDefinitions>
        <View>
            <Name>PingInfoTableView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.SystemService.Commands.PingResult</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>Name</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>NetId</Label>
                        <Width>17</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Port</Label>
                        <Width>6</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Latency (ms)</Label>
                        <Width>7</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Result</Label>
                        <Width>7</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <ScriptBlock>$_.Target.Name</ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>TargetNetId</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Port</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.CommandResult -eq [TwinCAT.Core.CommandResult]::Ok)
                                    {
                                    $t = $_.Latency.TotalMilliseconds
                                    if ($t -lt 2)
                                    { $t.ToString("F1") }
                                    else
                                    { $t.ToString("F0")}
                                    }
                                    else { "" }
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>CommandResult</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>PingInfoTableView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.SystemService.Commands.PingResult</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <AutoSize/>
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>Name</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>NetId</Label>
                        <Width>17</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Port</Label>
                        <Width>6</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Latency (ms)</Label>
                        <Width>7</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Result</Label>
                        <Width>7</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <ScriptBlock>
                                    $_.Target.Name
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>TargetNetId</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Port</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.CommandResult -eq [TwinCAT.Core.CommandResult]::Ok)
                                    {
                                    $t = $_.Latency.TotalMilliseconds
                                    if ($t -lt 2)
                                    { $t.ToString("F1") }
                                    else
                                    { $t.ToString("F0")}
                                    }
                                    else { "" }
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>CommandResult</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>WriteControlTableView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.Management.Automation.WriteControlInfo</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <AutoSize/>
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>Ok</Label>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Target</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>NetId</Label>
                        <Width>17</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Port</Label>
                        <Width>6</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>AdsErrorCode</Label>
                        <Width>14</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Requested</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Original</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Reached</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Latency (ms)</Label>
                        <Width>7</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.Succeeded)
                                    {
                                    'X'
                                    }
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>$_.Target.Name</ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>$_.Address.NetId</ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>$_.Address.Port</ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>AdsErrorCode</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Requested</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Original</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Reached</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.AdsErrorCode -eq 'NoError')
                                    {
                                    $t = $_.Latency.TotalMilliseconds
                                    if ($t -lt 2)
                                    { $t.ToString("F1") }
                                    else
                                    { $t.ToString("F0")}
                                    }
                                    else { "" }
                                </ScriptBlock>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>LogMessagesView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.Ads.AdsLogNotification</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <AutoSize/>
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>Type</Label>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>TimeStamp</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>DeviceName</Label>
                        <Width>17</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Port</Label>
                        <Width>6</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Message</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>MessageType</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>TimeStamp</PropertyName>
                                <FormatString>{0:HH:mm:ss.fff}</FormatString>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>DeviceName</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>ServerPort</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Message</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>RouteStateView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.SystemService.Commands.RouteStateInfo</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>Target</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>NetId</Label>
                        <Width>17</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Port</Label>
                        <Width>6</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>State</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Latency (ms)</Label>
                        <Width>7</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <ScriptBlock>$_.Target.Name</ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>$_.Address.NetId</ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>$_.Address.Port</ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>State</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.Succeeded)
                                    {
                                    $t = $_.Latency.TotalMilliseconds
                                    if ($t -lt 2)
                                    { $t.ToString("F1") }
                                    else
                                    { $t.ToString("F0")}
                                    }
                                    else { "" }
                                </ScriptBlock>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>RouteTargetTableView</Name>
            <ViewSelectedBy>
                <SelectionSetName>RouteTypes</SelectionSetName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader>
                        <Width>32</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>FingerPrint</Label>
                        <Width>64</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>NetId</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>FingerPrint</PropertyName>
                            </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>
                                <PropertyName>FingerPrint</PropertyName>
                            </ListItem>
                        </ListItems>
                    </ListEntry>
                </ListEntries>
            </ListControl>
        </View>
        <View>
            <Name>RegisteredRouteTableView</Name>
            <ViewSelectedBy>
                <SelectionSetName>RegisteredRouteTypes</SelectionSetName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader>
                        <Width>32</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Protocol</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>TLS</Label>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>16</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>FingerPrint</Label>
                        <Width>64</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>RouteProtocol</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.IsSecure)
                                    {
                                    "X"
                                    }
                                    else
                                    {
                                    ""
                                    }
                                </ScriptBlock>
                            </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>RegisteredRoutesListView</Name>
            <ViewSelectedBy>
                <SelectionSetName>RegisteredRouteTypes</SelectionSetName>
            </ViewSelectedBy>
            <ListControl>
                <ListEntries>
                    <ListEntry>
                        <ListItems>
                            <ListItem>
                                <PropertyName>Name</PropertyName>
                            </ListItem>
                            <ListItem>
                                <PropertyName>NetId</PropertyName>
                            </ListItem>
                            <ListItem>
                                <PropertyName>IsSecure</PropertyName>
                            </ListItem>
                            <!--<ListItem>
                <PropertyName>IsSubRoute</PropertyName>
              </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>InstancePath</Label>
                        <Width>64</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Category</Label>
                        <Width>10</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>
                                <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>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>20</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>Connected</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>State</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Cycles</Label>
                        <Width>6</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Losses</Label>
                        <Width>6</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>LastError</Label>
                        <Width>16</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Established</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>LastSucceed</Label>
                        <Width>12</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>
                                <ScriptBlock>
                                    $_.Statistics.TotalCycles
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    $_.Statistics.TotalConnectionLosses
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    $_.Statistics.LastErrorCode
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>EstablishedAt</PropertyName>
                                <FormatString>s</FormatString>
                            </TableColumnItem>
                            <TableColumnItem>
                                <!--<ScriptBlock>
                  $_.Statistics.LastSucceededAt.ToString('hh.mm.ss.fff')
                </ScriptBlock>-->
                                <!--<ScriptBlock>
                  $_.Statistics.LastSucceededAt.ToString('s')
                </ScriptBlock>-->
                                <ScriptBlock>
                                    if ($_.Statistics.LastSucceededAt -ne [DateTimeOffset]::MinValue)
                                    {
                                    $_.Statistics.LastSucceededAt.ToString('HH:mm:ss.fff')
                                    }
                                    else
                                    {
                                    ''
                                    }
                                </ScriptBlock>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>DetailedTargetView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.Utilities.DetailedTargetInfo</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>Target</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>NetId</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Version</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>NetId</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>TargetVersion</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    $_.OSImage.ShortOSName
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    $_.OSImage.ImageVersion
                                </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>DetailedTargetListView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.Utilities.DetailedTargetInfo</TypeName>
            </ViewSelectedBy>
            <ListControl>
                <ListEntries>
                    <ListEntry>
                        <ListItems>
                            <ListItem>
                                <Label>Target</Label>
                                <ScriptBlock>$_.Target.Name</ScriptBlock>
                            </ListItem>
                            <ListItem>
                                <PropertyName>NetId</PropertyName>
                            </ListItem>
                            <ListItem>
                                <PropertyName>TargetVersion</PropertyName>
                            </ListItem>
                            <ListItem>
                                <Label>OS</Label>
                                <ScriptBlock>$_.OSImage.ShortOSName</ScriptBlock>
                            </ListItem>
                            <ListItem>
                                <Label>Image</Label>
                                <ScriptBlock>$_.OSImage.ImageVersion</ScriptBlock>
                            </ListItem>
                            <ListItem>
                                <Label>Device</Label>
                                <ScriptBlock>$_.OSImage.Device</ScriptBlock>
                            </ListItem>
                            <ListItem>
                                <Label>CPUArch</Label>
                                <ScriptBlock>$_.TargetHardware.CPUArchitecture</ScriptBlock>
                            </ListItem>
                            <ListItem>
                                <PropertyName>SystemId</PropertyName>
                            </ListItem>
                            <ListItem>
                                <PropertyName>FingerPrint</PropertyName>
                            </ListItem>
                        </ListItems>
                    </ListEntry>
                </ListEntries>
            </ListControl>
        </View>
        <View>
            <Name>RouterStatusView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.Router.RouterStatusInfoResult</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <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>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>[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>
                                <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>Validity</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>ExpireTime</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Context</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>
                                <ScriptBlock>
                                    if ($_.AvailableLicenses -gt 0)
                                    {
                                    $_.AvailableLicenses
                                    }
                                    else
                                    {
                                    'CPU License'
                                    }
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.AvailabelLicenses -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>
        <View>
            <Name>TcEventTableView</Name>
            <ViewSelectedBy>
                <TypeName>System.Diagnostics.Eventing.Reader.EventLogRecord</TypeName>
            </ViewSelectedBy>
            <GroupBy>
                <PropertyName>ProviderName</PropertyName>
                <Label>ProviderName</Label>
            </GroupBy>
            <TableControl>
                <AutoSize/>
                <TableHeaders>
                    <TableColumnHeader>
                        <Width>25</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>8</Width>
                        <Alignment>right</Alignment>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Width>16</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                    </TableColumnHeader>
                    <TableColumnHeader>
                    </TableColumnHeader>
                    <TableColumnHeader>
                    </TableColumnHeader>
                    <TableColumnHeader>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>TimeCreated</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Id</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LevelDisplayName</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Message</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>EventData1</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>EventData2</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>EventData3</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>DeviceInfoView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.IODevice</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <AutoSize/>
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>ID</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>DeviceName</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>DeviceType</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>DeviceNetId</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>BoxesCount</Label>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>ID</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>DeviceName</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>DeviceType</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>DeviceNetId</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>BoxesCount</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>BoxInfoView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.IOBoxInfo</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <AutoSize/>
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>ID</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Name</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>BoxType</Label>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Port</Label>
                    </TableColumnHeader>
                    <!--<TableColumnHeader>
            <Label>Address</Label>
          </TableColumnHeader>-->
                    <TableColumnHeader>
                        <Label>Comment</Label>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>ID</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>BoxType</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Port</PropertyName>
                            </TableColumnItem>
                            <!--<TableColumnItem>
                <PropertyName>Address</PropertyName>
              </TableColumnItem>-->
                            <TableColumnItem>
                                <PropertyName>Comment</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>EcMasterView</Name>
            <ViewSelectedBy>
                <TypeName>EtherCAT.EcMaster</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <!--<AutoSize/>-->
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>ID</Label>
                        <Width>4</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Name</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Type</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>DeviceNetId</Label>
                        <Width>16</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Port</Label>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Slaves (Online)</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Slaves (Config)</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>State</Label>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>CrcError</Label>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>ID</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Type</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>DeviceNetId</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Port</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>SlavesOnlineCount</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>SlavesConfiguratedCount</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>State</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>PortCrcError</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>EcSlaveView</Name>
            <ViewSelectedBy>
                <TypeName>EtherCAT.EcSlave</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <!--<AutoSize/>-->
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>Pos</Label>
                        <Width>3</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Name</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Type</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Port</Label>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>State</Label>
                        <Width>5</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>CrcError</Label>
                        <Width>16</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>FW</Label>
                        <Width>4</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>HW</Label>
                        <Width>4</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Production</Label>
                    </TableColumnHeader>
                    <!--<TableColumnHeader>
            <Label>Eeprom</Label>
          </TableColumnHeader>-->
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Position</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Type</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Port</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>State</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>PortCrcError</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    $_.Eeprom.HwVersion
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    $_.Eeprom.FwVersion
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    '{0:yyyy-M-dd}' -f $_.Eeprom.ProductionId.Date
                                </ScriptBlock>
                            </TableColumnItem>
                            <!--<TableColumnItem>
                <ScriptBlock>
                  $_.Eeprom.EepromVersion
                </ScriptBlock>
              </TableColumnItem>-->
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>CPULatencyView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.RTime.RTimeCpuLatency</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <!--<AutoSize/>-->
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>NetId</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>CoreId</Label>
                        <Width>6</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Latency (us)</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>MaxLatency (us)</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Limit</Label>
                        <Width>5</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>NetId</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>CoreId</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Latency</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>MaxLatency</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Limit</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>CPUSettingsView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.RTime.RTimeCpuSettings</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <!--<AutoSize/>-->
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>NetId</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Windows Cores</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>NonWin Cores</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Realtime Cores</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>CPUArch</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>CPUVendor</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>CPUFrequency (GHz)</Label>
                        <Width>12</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Threads/Core</Label>
                        <Width>12</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>NetId</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>WindowsCores</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>NonWinCores</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>RealTimeCores</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <ScriptBlock>
                                    if ($_.CPUArch -eq 'X86AMD64')
                                    {
                                    'X86/AMD64'
                                    }
                                    else
                                    {
                                    $_.CPUArch
                                    }
                                </ScriptBlock>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>CPUVendor</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>CPUFrequency</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>ThreadsPerCore</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>CPUPerfomanceView</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.RTime.RTimePerformanceData</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <!--<AutoSize/>-->
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>NetId</Label>
                        <Width>20</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>CoreId</Label>
                        <Width>6</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>LastDelay (us)</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>MaxDelay (us)</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>DelayLimit (us)</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Load (%)</Label>
                        <Width>8</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>MaxLoad (%)</Label>
                        <Width>8</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>NetId</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>CoreId</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LastDelay</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>MaxDelay</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>DelayLimit</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Load</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>MaxLoad</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>AdsFileSystem</Name>
            <ViewSelectedBy>
                <TypeName>TwinCAT.SystemService.IO.AdsFileSystemInfo</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <!--<AutoSize/>-->
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>Mode</Label>
                        <Width>16</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>LastWriteTime</Label>
                        <Width>32</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Length</Label>
                        <Width>10</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Name</Label>
                        <Width>32</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <TableColumnItem>
                                <PropertyName>Mode</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>LastWriteTime</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Length</PropertyName>
                            </TableColumnItem>
                            <TableColumnItem>
                                <PropertyName>Name</PropertyName>
                            </TableColumnItem>
                        </TableColumnItems>
                    </TableRowEntry>
                </TableRowEntries>
            </TableControl>
        </View>
        <View>
            <Name>EcFrameStatistics</Name>
            <ViewSelectedBy>
                <TypeName>EtherCAT.EcFrameStatistics</TypeName>
            </ViewSelectedBy>
            <TableControl>
                <!--<AutoSize/>-->
                <TableHeaders>
                    <TableColumnHeader>
                        <Label>Frames (1/s)</Label>
                        <Width>12</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Queued (1/s)</Label>
                        <Width>12</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>Lost (1/s)</Label>
                        <Width>12</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>QueuedLost (1/s)</Label>
                        <Width>12</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>TotalFrames</Label>
                        <Width>12</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>TotalQueued</Label>
                        <Width>12</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>TotalLost</Label>
                        <Width>12</Width>
                    </TableColumnHeader>
                    <TableColumnHeader>
                        <Label>TotalQueued</Label>
                        <Width>12</Width>
                    </TableColumnHeader>
                </TableHeaders>
                <TableRowEntries>
                    <TableRowEntry>
                        <TableColumnItems>
                            <!--<TableColumnItem>
                <PropertyName>SystemTime</PropertyName>
                <FormatString>s</FormatString>
              </TableColumnItem>-->
              <TableColumnItem>
                <PropertyName>FramesPerSecond</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>QueuedFramesPerSecond</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>FramesLostPerSecond</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>QueuedLostFramesPerSecond</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>CyclicFramesCount</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>QueuedFramesCount</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>CyclicFramesLostCount</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>QueuedFramesLostCount</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>RpcMethodsTable</Name>
      <ViewSelectedBy>
        <SelectionSetName>RpcMethods</SelectionSetName>
      </ViewSelectedBy>
      <TableControl>
        <AutoSize/>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ReturnType</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Declaration</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Comment</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>ReturnType</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Declaration</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Comment</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>RpcParameterTable</Name>
      <ViewSelectedBy>
        <SelectionSetName>RpcMethodParameters</SelectionSetName>
      </ViewSelectedBy>
      <TableControl>
        <AutoSize/>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Name</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Type</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>In</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Out</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Ref</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>Comment</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <PropertyName>Name</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Type</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.IsInput)
                  {
                  'X'
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.IsOutput)
                  {
                  'X'
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.IsReference)
                  {
                  'X'
                  }
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>Comment</PropertyName>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>ValueTable</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.TypeSystem.DynamicValue</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <AutoSize/>
        <TableHeaders>
          <TableColumnHeader>
            <Label>Symbol</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>DataType</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>ByteSize</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>TimeStamp</Label>
          </TableColumnHeader>
          <TableColumnHeader>
            <Label>CachedRaw</Label>
          </TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem>
                <ScriptBlock>
                  $_.Symbol.InstancePath
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>DataType</PropertyName>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  $_.Symbol.ByteSize
                </ScriptBlock>
              </TableColumnItem>
              <TableColumnItem>
                <PropertyName>TimeStamp</PropertyName>
                <FormatString>s</FormatString>
              </TableColumnItem>
              <TableColumnItem>
                <ScriptBlock>
                  if ($_.CachedRaw.Length -le 16)
                  {
                  $bytes = $_.CachedRaw.ToArray()
                  }
                  else
                  {
                  $bytes = $_.CachedRaw.Slice(0,16).ToArray()
                  }
                  $hexString = ($bytes | ForEach-Object ToString X2) -join ' '
                  $hexString
                </ScriptBlock>
              </TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>
    <View>
      <Name>SymbolStatisticsListView</Name>
      <ViewSelectedBy>
        <TypeName>TwinCAT.Management.Automation.SymbolStatistics</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem>
                <PropertyName>UploadFlags</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>TargetPointerSize</PropertyName>
              </ListItem>
              <ListItem>
                <Label>SymbolNameEncoding</Label>
                <ScriptBlock>$_.SymbolNameEncoding.EncodingName</ScriptBlock>
              </ListItem>
              <ListItem>
                <Label>StringValueEncoding</Label>
                <ScriptBlock>$_.StringValueEncoding.EncodingName</ScriptBlock>
              </ListItem>
              <ListItem>
                <PropertyName>SymbolCache</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>DataTypeCount</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>DataTypeBlockSize</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>SymbolCount</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>SymbolsBlockSize</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>MaxDynamicSymbolCount</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>InvalidDynamicSymbolCount</PropertyName>
              </ListItem>
              <ListItem>
                <PropertyName>UsedDynamicSymbolCount</PropertyName>
              </ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>
  </ViewDefinitions>
</Configuration>