Browse Source

优化左侧树展示效果

jiangjy 1 month ago
parent
commit
7893991aa8

+ 14 - 1
FrameworkLocal/Common/Device/ModuleName.cs

@@ -320,11 +320,24 @@ namespace MECF.Framework.Common.Equipment
         [EnumMember]
         FIMS2,
         [EnumMember]
-        Minics = 0,
+        Minics,
+        [EnumMember]
+        FIMS,
+        [EnumMember]
+        LP,
+        [EnumMember]
+        Stocker,  
+        [EnumMember]
+        GaslineHeater,
     }
 
     public static class ModuleHelper
     {
+        public static bool IsHeaterBand(string unit)
+        {
+            return unit.ToString().Contains(ModuleName.GaslineHeater.ToString());
+
+        }
         public static bool IsTurnOverStation(ModuleName unit)
         {
             return unit == ModuleName.TurnOverStation;

+ 82 - 10
FrameworkLocal/Common/Display/DisplayManager.cs

@@ -2,9 +2,11 @@
 using Aitex.Core.RT.DataCenter;
 using Aitex.Core.RT.Log;
 using Aitex.Core.RT.OperationCenter;
+using Aitex.Core.RT.SCCore;
 using Aitex.Core.Util;
 using Aitex.Core.WCF;
 using MECF.Framework.Common.Account;
+using MECF.Framework.Common.Equipment;
 using MECF.Framework.Common.Event;
 using MECF.Framework.Common.FAServices;
 using System;
@@ -22,7 +24,7 @@ namespace Aitex.Core.RT.Event
         public Dictionary<string, string> ProcessDetailDisplayDict { get; set; } = new Dictionary<string, string>();
         private string _displayReplaceFile = PathManager.GetCfgDir() + "DisplayReplace.xml";
         private object _displayDicLocker = new object();
-
+        public Dictionary<string, Dictionary<string, string>> ProcessDetailInfoDict { get; set; } = new Dictionary<string, Dictionary<string, string>>();
         public DisplayManager()
         {
 
@@ -32,6 +34,7 @@ namespace Aitex.Core.RT.Event
             Initialize(_displayReplaceFile);
             DATA.Subscribe($"System.Display", () => DisplayDict);
             DATA.Subscribe($"System.ProcessDetailDisplay", () => ProcessDetailDisplayDict);
+            DATA.Subscribe($"System.ProcessDetailInfoDict", () => ProcessDetailInfoDict);
 
         }
 
@@ -52,6 +55,21 @@ namespace Aitex.Core.RT.Event
                 throw new ApplicationException("DisplayReplace," + ListXmlFile + ",\r\n" + ex.Message);
             }
         }
+        private string GetGaslineHeaterIndex(string keyStr)
+        {
+            if (string.IsNullOrEmpty(keyStr))
+            {
+                return "";
+            }
+
+            var item = keyStr.Split('.').Where(a => !string.IsNullOrEmpty(a) && a.Contains(ModuleName.GaslineHeater.ToString())).FirstOrDefault();
+
+            if (item == null)
+                return "";
+
+            return item.Replace(ModuleName.GaslineHeater.ToString(), "");
+
+        }
         private void BuildItems(string xmlFile)
         {
             Dictionary<string, string> values = new Dictionary<string, string>();
@@ -68,14 +86,28 @@ namespace Aitex.Core.RT.Event
                         XmlNodeList nodeList = AlarmTable.SelectNodes("Display");
                         foreach (XmlElement nodeCategory in nodeList)
                         {
-                            string name = nodeCategory.GetAttribute("Name");
-                            if (DisplayDict.ContainsKey(name))
+                            string key = nodeCategory.GetAttribute("Name");
+                            string value = nodeCategory.GetAttribute("DisplayName");
+
+                            if (ModuleHelper.IsHeaterBand(value))
+                            {
+                                var auxIndex = GetGaslineHeaterIndex(key);
+
+                                if (!SC.ContainsItem($"PM1.RecipeEditParameter.AUX.{auxIndex}.Display"))
+                                    continue;
+
+                                var scAuxName = SCCore.SC.GetStringValue($"PM1.RecipeEditParameter.AUX.{auxIndex}.Display");
+                                var valueArray = value.Split('.').ToList();
+                                value = $"{valueArray[0]}.{scAuxName}.{valueArray[1]}";
+
+                            }
+                            if (DisplayDict.ContainsKey(key))
                             {
-                                DisplayDict[name] = nodeCategory.GetAttribute("DisplayName");
+                                DisplayDict[key] = value;
                             }
                             else
                             {
-                                DisplayDict.Add(name, nodeCategory.GetAttribute("DisplayName"));
+                                DisplayDict.Add(key, value);
                             }
                         }
                     }
@@ -86,14 +118,55 @@ namespace Aitex.Core.RT.Event
                         XmlNodeList nodeList = AlarmTable.SelectNodes("Display");
                         foreach (XmlElement nodeCategory in nodeList)
                         {
-                            string name = nodeCategory.GetAttribute("Name");
-                            if (ProcessDetailDisplayDict.ContainsKey(name))
+                            string key = nodeCategory.GetAttribute("Name");
+                            string value = nodeCategory.GetAttribute("DisplayName");
+
+                            if (ModuleHelper.IsHeaterBand(value))
+                            {
+                                var auxIndex = GetGaslineHeaterIndex(key);
+
+                                if (!SC.ContainsItem($"PM1.RecipeEditParameter.AUX.{auxIndex}.Display"))
+                                    continue;
+
+                                var scAuxName = SCCore.SC.GetStringValue($"PM1.RecipeEditParameter.AUX.{auxIndex}.Display");
+                                var valueArray = value.Split('.').ToList();
+                                value = $"{valueArray[0]}.{scAuxName}.{valueArray[1]}";
+
+                            }
+                            #region 存储各个节点信息
+
+                            Dictionary<string, string> attributesDict = new Dictionary<string, string>();
+
+                            foreach (XmlAttribute attr in nodeCategory.Attributes)
+                            {
+                                if (ModuleHelper.IsHeaterBand(value) && attr.Name == "ColName" && string.IsNullOrEmpty(attr.Value))
+                                {
+                                    attributesDict[attr.Name] = value;
+                                }
+                                else
+                                {
+                                    attributesDict[attr.Name] = attr.Value;
+
+                                }
+                            }
+                            if (ProcessDetailInfoDict.ContainsKey(key))
                             {
-                                ProcessDetailDisplayDict[name] = nodeCategory.GetAttribute("DisplayName");
+                                ProcessDetailInfoDict[key] = attributesDict;
                             }
                             else
                             {
-                                ProcessDetailDisplayDict.Add(name, nodeCategory.GetAttribute("DisplayName"));
+                                ProcessDetailInfoDict.Add(key, attributesDict);
+                            }
+
+                            #endregion
+
+                            if (ProcessDetailDisplayDict.ContainsKey(key))
+                            {
+                                ProcessDetailDisplayDict[key] = value;
+                            }
+                            else
+                            {
+                                ProcessDetailDisplayDict.Add(key, value);
                             }
                         }
                     }
@@ -104,6 +177,5 @@ namespace Aitex.Core.RT.Event
                 LOG.Write(ex);
             }
         }
-
     }
 }

+ 82 - 49
FrameworkLocal/UIClient/CenterViews/DataLogs/DataHistory/DataViewModel.cs

@@ -14,6 +14,7 @@ using System.Windows.Data;
 using System.Windows.Forms;
 using Aitex.Core.RT.Log;
 using Aitex.Sorter.Common;
+using DocumentFormat.OpenXml.Bibliography;
 using MECF.Framework.Common.DataCenter;
 using MECF.Framework.Common.Equipment;
 using MECF.Framework.UI.Client.CenterViews.DataLogs.Event;
@@ -80,7 +81,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.DataHistory
         #endregion
 
         #region Constructors
-
+        private static RealtimeProvider _provider;
         public DataViewModel()
         {
             DisplayName = "Data History";
@@ -94,13 +95,13 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.DataHistory
             //SearchBeginTime = new DateTime(now.Year, now.Month, now.Day, 00, 00, 00); ;// -new TimeSpan(1, 0, 0, 0);
             //SearchEndTime = new DateTime(now.Year, now.Month, now.Day, 23, 59, 59);
 
-            var provider = new RealtimeProvider();
+            _provider = new RealtimeProvider();
             ParameterNodes = new TreeNode(DisplayName)
             {
                 MaxTerminalSelectionAllowed = MAX_ITEMS_PER_QUERY
             };
-            ParameterNodes.ChildNodes.AddRange(provider.GetTreeNodeParameters());
-
+            ParameterNodes.ChildNodes.AddRange(_provider.GetTreeNodeParameters());
+            _displayDic = _provider.GetTreeNameDict();
             VisibleRangeTime = new DateRange(DateTime.Now.AddMinutes(-60), DateTime.Now.AddMinutes(60));
             VisibleRangeValue = new DoubleRange(0, 10);
 
@@ -192,7 +193,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.DataHistory
         public bool IsPermission => Permission == 3;
         private DataView view;
         public TreeNode ParameterNodes { get; }
-
+        private static Dictionary<string, string> _displayDic { get; set; } = new Dictionary<string, string>();
         public ChartingLineSeriesCollection SelectedData { get; set; }
 
         public AutoRange ChartAutoRange
@@ -285,10 +286,32 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.DataHistory
                 if (result == true)
                 {
                     this.view.wfTimeTo.Content = selectdateViewModel.SearchDate;
-                }  
+                }
+            }
+        }
+
+        public void ToLeftClick(int index)
+        {
+            var view = GetView() as DataView;
+            index += 1;//从0开始
+            if ((index & 0x01) == 1)
+                view.chart.sciChart.ChartModifier.XAxis.Scroll(50, SciChart.Charting.ClipMode.ClipAtMin);
+            if ((index & 0x02) == 2)
+            {
+                view.chart.sciChart.ChartModifier.YAxis.Scroll(50, SciChart.Charting.ClipMode.ClipAtMin);
             }
         }
 
+        public void ToRightClick(int index)
+        {
+            var view = GetView() as DataView;
+            index += 1;
+            if ((index & 0x01) == 1)
+                view.chart.sciChart.ChartModifier.XAxis.Scroll(-50, SciChart.Charting.ClipMode.ClipAtMax);
+            if ((index & 0x02) == 2)
+                view.chart.sciChart.ChartModifier.YAxis.Scroll(-50, SciChart.Charting.ClipMode.ClipAtMax);
+        }
+
         public void ZoomInClick(int index)
         {
             var view = GetView() as DataView;
@@ -307,25 +330,6 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.DataHistory
                 view.chart.sciChart.ChartModifier.XAxis.ZoomBy(0.1, 0.1);
             if ((index & 0x02) == 2)
                 view.chart.sciChart.ChartModifier.YAxis.ZoomBy(0.1, 0.1);
-        }     
-        public void ArrowClick(string direction)
-        {
-            var view = GetView() as DataView;
-            switch (direction)
-            {
-                case "Up":
-                    view.chart.sciChart.ChartModifier.YAxis.Scroll(50, SciChart.Charting.ClipMode.ClipAtMax);
-                    break;
-                case "Down":
-                    view.chart.sciChart.ChartModifier.YAxis.Scroll(-50, SciChart.Charting.ClipMode.ClipAtMin);
-                    break;
-                case "Left":
-                    view.chart.sciChart.ChartModifier.XAxis.Scroll(-50, SciChart.Charting.ClipMode.ClipAtMin);
-                    break;
-                case "Right":
-                    view.chart.sciChart.ChartModifier.XAxis.Scroll(50, SciChart.Charting.ClipMode.ClipAtMax);
-                    break;
-            }
         }
 
         public void Query(object parameter)
@@ -437,19 +441,19 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.DataHistory
                     try
                     {
                         //! 按时间分段查询,解决查询速度慢导致卡后台业务的问题。
-                        var ts = SearchEndTime - SearchBeginTime;
-                        if (ts.Days <= 1)
-                        {
+                        // var ts = SearchEndTime - SearchBeginTime;
+                        //if (ts.Days <= 1)
+                        //{
 
-                            Query(pipeline, selectedModules, dataSeriesList, view.dataGrid1, SearchBeginTime, SearchEndTime,
+                        //    Query(pipeline, selectedModules, dataSeriesList, view.dataGrid1, SearchBeginTime, SearchEndTime,
 
-                                _cancellationTokenSource, _progQueryUpdate);
+                        //        _cancellationTokenSource, _progQueryUpdate);
 
-                            // 结束流水线
-                            pipeline.AppendFunc1(null);
-                            pipeline.AppendFunc2(null);
-                        }
-                        else
+                        //    // 结束流水线
+                        //    pipeline.AppendFunc1(null);
+                        //    pipeline.AppendFunc2(null);
+                        //}
+                        //else
                         {
                             var daySlices =
                                 DateRangeHelper.SplitInToHours(new DateRangeHelper(SearchBeginTime, SearchEndTime), 12);
@@ -584,7 +588,44 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.DataHistory
 
             return false;
         }
+        private static string GetDBTableName(DateRangeHelper dateRange, TreeNode module, int day)
+        {
+            var queryColNode = module.Flatten(false).Where(a => a.IsSelected == true).FirstOrDefault();
+
+            if (queryColNode == null)
+            {
+                return string.Empty;
+            }
+
+            var dbName = FindKeyByValue(_displayDic, queryColNode.FullName);
+            var moudleName = dbName.Split('.')[0];
+            var systemDeviceNameDict = _provider.GetSystemDeviceNameDict();
+            if (moudleName != ModuleName.System.ToString() && moudleName != ModuleName.PM1.ToString())
+            {
+                moudleName = ModuleName.System.ToString();
+            }
+            return $"{dateRange.Start.AddDays(day):yyyyMMdd}.{moudleName}";
+
+
+
+        }
+        private static string GetQueryCol(TreeNode treeNode)
+        {
+            var fullName = treeNode.FullName;
+            return FindKeyByValue(_displayDic, treeNode.FullName);
 
+        }
+        static string FindKeyByValue(Dictionary<string, string> dictionary, string value)
+        {
+            foreach (var pair in dictionary)
+            {
+                if (pair.Value == value)
+                {
+                    return pair.Key;
+                }
+            }
+            return null; // Return null if the value is not found
+        }
         /// <summary>
         /// 根据左侧选项查询数据
         /// </summary>
@@ -612,18 +653,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.DataHistory
                     for (var day = 0; day <= ts.Days; day++)
                     {
                         // 检查表名是否存在,否则SQL执行出错。
-                        var tblName = $"{dateRange.Start.AddDays(day):yyyyMMdd}.{module}";
-                        if (module.ToString() == "IO")
-                        {
-                            //var node = module.ChildNodes.FirstOrDefault(x => (bool)x.HasTerminalSelected);
-                            tblName = $"{dateRange.Start.AddDays(day):yyyyMMdd}.System";
-                        }
-                        else
-                        if (!ModuleHelper.IsPm(module.ToString()))
-                        {
-                            tblName = $"{dateRange.Start.AddDays(day):yyyyMMdd}.System";
-                        }
-
+                        var tblName = GetDBTableName(dateRange, module, day);
                         if (CheckTableExists(tblName))
                         {
 
@@ -634,7 +664,8 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.DataHistory
                             // 添加待查询的列
                             foreach (var item in selectedParams)
                             {
-                                sql.Append("," + $"\"{item}\"");
+                                var colName = GetQueryCol(item);
+                                sql.Append("," + $"\"{colName}\"");
                             }
 
                             sql.Append($" from \"{tblName}\" ");
@@ -716,8 +747,10 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.DataHistory
                         continue;
                     Dictionary<long, string> dictColumn = new Dictionary<long, string>();
 
-                    var fullName = col.ColumnName;
+                    var fullName = _displayDic[col.ColumnName];
+
                     col.ColumnName = col.ColumnName.Replace(".", "");
+                    //fullName是数据库字段,SerierName是界面选择字段,需要做个转换
                     var dataSeries =
                         dataSeriesList.FirstOrDefault(x => x.SeriesName == fullName) as XyDataSeries<DateTime, double>;
 

+ 123 - 106
FrameworkLocal/UIClient/CenterViews/DataLogs/ProcessHistory/ProcessDetailViewModel.cs

@@ -34,9 +34,6 @@ using System.Windows.Controls;
 using SciChart.Charting.Model.ChartData;
 using MECF.Framework.UI.Client.Converter;
 using MECF.Framework.UI.Client.CenterViews.Operations.RealTime;
-using SciChart.Core.Extensions;
-using System.Linq.Expressions;
-using System.Reflection;
 
 namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
 {
@@ -109,8 +106,6 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
             get { return _ParameterNodes; }
             set { _ParameterNodes = value; NotifyOfPropertyChange("ParameterNodes"); }
         }
-        public List<ParameterNode> DoubleParameterNodes { get; set; }=new List<ParameterNode>();
-       
 
         public ObservableCollection<IRenderableSeries> SelectedData { get; set; }
         public ObservableCollection<IRenderableSeries> SynSelectedData { get; set; }
@@ -297,12 +292,6 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
             DisplayName = "Process Detail";
             RecipeDatas = recipes;
             ParameterNodes = _realtimeProvider.GetParameters(out var dict);
-            DoubleParameterNodes = _realtimeProvider.GetParameters(out dict).ToList();
-            for (int j = 0; j < ParameterNodes.Count; j++)
-            {
-                ParameterNodes[j].IsVisibilityParentNode = Visibility.Hidden;
-                DoubleParameterNodes[j].IsVisibilityParentNode = Visibility.Hidden;
-            }
             _processDetailDisplayDic = dict;
             if (recipes == null || recipes.Count == 0)
             {
@@ -325,8 +314,8 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                 {
                     StepStartTime = StepInfo.FirstOrDefault().StartTime;
                     StepEndTime = StepInfo.LastOrDefault().EndTime;
-                }              
-                MultiLineLabel = new MultiLineXAxisLabelProvider(StepStartTime);    
+                }
+                MultiLineLabel = new MultiLineXAxisLabelProvider(StepStartTime);
             }
             catch (Exception ex)
             {
@@ -365,7 +354,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                     ProcessDataLot item = new ProcessDataLot();
 
                     item.GUID = dbData.Rows[i]["guid"].ToString();
-                    item.RecipeName = dbData.Rows[i]["recipe_name"].ToString().Trim('\\');                    
+                    item.RecipeName = dbData.Rows[i]["recipe_name"].ToString().Trim('\\');
                     item.ProcessStatus = dbData.Rows[i]["process_status"].ToString();
                     item.WaferDataGUID = dbData.Rows[i]["wafer_data_guid"].ToString();
                     item.ProcessIn = dbData.Rows[i]["process_in"].ToString();
@@ -410,8 +399,8 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                             }
                             string stepNo = item["step_number"].ToString();
                             string stepName = item["step_name"].ToString();
-                            if (StartTime>DateTime.MinValue &&EndTime>DateTime.MinValue )
-                            {                          
+                            if (StartTime > DateTime.MinValue && EndTime > DateTime.MinValue)
+                            {
                                 if (EndTime < StartTime.AddSeconds(stepTime))
                                 {
                                     EndTime = StartTime.AddSeconds(stepTime);
@@ -420,11 +409,11 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                                 {
                                     if (_stepInfo.Any())//临时处理表中recipe_step_data step_end_time数据不能真实反映步次结束时间的问题
                                     {
-                                        int lastIndex = _stepInfo.Count-1;
-                                        if (_stepInfo[lastIndex].EndTime> StartTime) _stepInfo[lastIndex].EndTime= StartTime;
+                                        int lastIndex = _stepInfo.Count - 1;
+                                        if (_stepInfo[lastIndex].EndTime > StartTime) _stepInfo[lastIndex].EndTime = StartTime;
                                     }
                                     _stepInfo.Add(new StepInfo() { StartTime = StartTime, EndTime = EndTime, StepName = stepName, StepTime = stepTime, StepNo = stepNo });
-                                }   
+                                }
                             }
                         }
                     }
@@ -463,6 +452,11 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                 if (_isAdding)
                     return true;
                 bool allUpdated = true;
+                for (int j = 0; j < ParameterNodes.Count; j++)
+                {
+                    ParameterNode par = ParameterNodes[j];
+                    par.IsVisibilityParentNode = Visibility.Hidden;
+                }
                 lock (_lockSelection)
                 {
                     foreach (var item in _lstTokenTimeData)
@@ -511,14 +505,14 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                                         maxValue = pointValueList[i];
                                 }
 
-                                averageValue = pointValueList.Count==0?0: sumValue / pointValueList.Count;
+                                averageValue = sumValue / pointValueList.Count;
 
                                 for (int i = 0; i < pointValueList.Count; i++)
                                 {
                                     stdevValue += Math.Pow(pointValueList[i] - averageValue, 2);
                                 }
 
-                                stdevValue = pointValueList.Count == 0 ? 0 : stdevValue / pointValueList.Count;
+                                stdevValue = stdevValue / pointValueList.Count;
 
                                 sigma3Value = Math.Sqrt(stdevValue) * 3;
 
@@ -559,7 +553,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
             return true;
         }
 
-    
+
 
         private void GetData(List<string> keys, DateTime from, DateTime to, string module, string dataSource)
         {
@@ -576,7 +570,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
 
             Dictionary<string, List<HistoryDataItem>> historyData = new Dictionary<string, List<HistoryDataItem>>();
             if (dataTable == null || dataTable.Rows.Count == 0)
-                return;     
+                return;
             DateTime dt = new DateTime();
             Dictionary<int, string> colName = new Dictionary<int, string>();
             for (int colNo = 0; colNo < dataTable.Columns.Count; colNo++)
@@ -627,8 +621,34 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
             {
                 try
                 {
-                    FillDataToChart(SelectedData,dataSource, historyData);
-                    FillDataToChart(SynSelectedData, dataSource, historyData);
+                    var items = SelectedData.Where(x => (x as ChartDataLine<T>).DataSource == dataSource);
+                    foreach (var item in items)
+                    {
+                        var seriesItem = item as ChartDataLine<T>;
+                        if (seriesItem == null)
+                            continue;
+
+                        foreach (var data in historyData)
+                        {
+                            var dataKey = _processDetailDisplayDic.ContainsKey(seriesItem.DataName) ? _processDetailDisplayDic[seriesItem.DataName] : seriesItem.DataName;
+                            if (data.Key != dataKey)
+                                continue;
+
+                            seriesItem.Capacity += data.Value.Count;
+                            //DateTime beginTime = StepStartTime;
+                            for (int i = 0; i < data.Value.Count; i++)
+                            {
+                                var historyDataItem = data.Value[i];
+                                if (typeof(T) == typeof(double))
+                                {
+                                    //xData = Math.Round((historyDataItem.dateTime - beginTime).TotalMilliseconds / 1000, 0, MidpointRounding.AwayFromZero);
+                                    seriesItem.Append((T)Convert.ChangeType((historyDataItem.dateTime - StepStartTime).TotalMilliseconds / 1000d, typeof(T)), historyDataItem.value);
+                                }
+                                else
+                                    seriesItem.Append((T)Convert.ChangeType(historyDataItem.dateTime, typeof(T)), historyDataItem.value);
+                            }
+                        }
+                    }
                     RefresCharView();
                 }
                 catch (Exception ex)
@@ -637,39 +657,6 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                 }
             }));
         }
-
-        void FillDataToChart(ObservableCollection<IRenderableSeries> series,string dataSource, Dictionary<string, List<HistoryDataItem>> historyData)
-        {
-            var items = series.Where(x => (x as ChartDataLine<T>).DataSource == dataSource);
-            if (items == null) return;
-            foreach (var item in items)
-            {
-                var seriesItem = item as ChartDataLine<T>;
-                if (seriesItem == null)
-                    continue;
-
-                foreach (var data in historyData)
-                {
-                    var dataKey = _processDetailDisplayDic.ContainsKey(seriesItem.DataName) ? _processDetailDisplayDic[seriesItem.DataName] : seriesItem.DataName;
-                    if (data.Key != dataKey)
-                        continue;
-
-                    seriesItem.Capacity += data.Value.Count;
-                    //DateTime beginTime = StepStartTime;
-                    for (int i = 0; i < data.Value.Count; i++)
-                    {
-                        var historyDataItem = data.Value[i];
-                        if (typeof(T) == typeof(double))
-                        {
-                            //xData = Math.Round((historyDataItem.dateTime - beginTime).TotalMilliseconds / 1000, 0, MidpointRounding.AwayFromZero);
-                            seriesItem.Append((T)Convert.ChangeType((historyDataItem.dateTime - StepStartTime).TotalMilliseconds / 1000d, typeof(T)), historyDataItem.value);
-                        }
-                        else
-                            seriesItem.Append((T)Convert.ChangeType(historyDataItem.dateTime, typeof(T)), historyDataItem.value);
-                    }
-                }
-            }
-        }
         /// <summary>
         /// 获取时间列表
         /// </summary>
@@ -687,7 +674,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
             Dictionary<string, List<HistoryDataItem>> historyData = new Dictionary<string, List<HistoryDataItem>>();
             if (dataTable == null || dataTable.Rows.Count == 0)
             {
-                
+
                 return;
             }
 
@@ -696,7 +683,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                 DateTime dt = new DateTime();
                 dt = new DateTime((long)row[0]);
                 var elapseTime = Convert.ToDouble(row[1]);
-                           
+
             }
         }
 
@@ -712,27 +699,27 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                 }
             }
         }
-        public void TxtMouseLeftButtonDown(ParameterNode node,ObservableCollection<IRenderableSeries> series)
+        public void TxtMouseLeftButtonDown(ParameterNode node)
         {
             node.Selected = !node.Selected;
-            ParameterCheck(node,series);
+            ParameterCheck(node);
         }
-        public void ParameterCheck(ParameterNode node, ObservableCollection<IRenderableSeries> series)
+        public void ParameterCheck(ParameterNode node)
         {
-            bool result = RefreshTreeStatusToChild(node,series);
+            bool result = RefreshTreeStatusToChild(node);
             if (!result)
             {
-                node.Selected=!node.Selected;
+                node.Selected = !node.Selected;
                 DialogBox.ShowWarning($"The max number of parameters is {MAX_PARAMETERS}.");
             }
             else
-            RefreshTreeStatusToParent(node);
+                RefreshTreeStatusToParent(node);
         }
 
         /// <summary>
         /// Refresh tree node status from current to children, and add data to SelectedData
         /// </summary>
-        private bool RefreshTreeStatusToChild(ParameterNode node, ObservableCollection<IRenderableSeries> SelectedData)
+        private bool RefreshTreeStatusToChild(ParameterNode node)
         {
             if (node?.ChildNodes.Count > 0)
             {
@@ -741,12 +728,12 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                     ParameterNode n = node.ChildNodes[i];
                     n.Selected = node.Selected;
 
-                    if (!RefreshTreeStatusToChild(n, SelectedData))
+                    if (!RefreshTreeStatusToChild(n))
                     {
                         n.Selected = !n.Selected;
                         return false;
                     }
-                }        
+                }
             }
             else //leaf node
             {
@@ -754,19 +741,26 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                 try
                 {
                     var item = SelectedData?.FirstOrDefault(x => (x as ChartDataLine<T>).DataName == node.Name);
+                    if (item == null) item = SynSelectedData.FirstOrDefault(x => (x as ChartDataLine<T>).DataName == node.Name);
                     bool isExist = item != null;
                     if (isExist && !node.Selected)//删除
                     {
                         SelectedData.Remove(item);
+                        SynSelectedData.Remove(item);
+                        if (SynSelectedData.Count == 0 && this.view.syncChart.Visibility == Visibility.Visible)
+                        {
+                            this.view.syncChart.Visibility = Visibility.Hidden;
+                            Grid.SetRowSpan(this.view.sciChart, 2);
+                        }
                     }
                     else
                     {
                         if (!isExist && node.Selected)
                         {
                             if (SelectedData.Count >= MAX_PARAMETERS)
-                            {   
+                            {
                                 return false;
-                            }                                
+                            }
                             Monitor.TryEnter(_lockSelection, 1000, ref lockTaken);
                             if (lockTaken)
                             {
@@ -829,7 +823,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
         /// <param name="node"></param>
         /// <returns></returns>
         private void RefreshTreeStatusToParent(ParameterNode node)
-        {          
+        {
             if (node.ParentNode != null)
             {
                 if (node.Selected)
@@ -864,6 +858,12 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                 RefreshTreeStatusToParent(cp.Tag as ParameterNode);
             }
             SelectedData.Clear();
+            SynSelectedData.Clear();
+            if (this.view.syncChart.Visibility == Visibility.Visible)
+            {
+                this.view.syncChart.Visibility = Visibility.Hidden;
+                Grid.SetRowSpan(this.view.sciChart, 2);
+            }
         }
 
         private void SetParameterNode(ObservableCollection<ParameterNode> nodes, bool isChecked)
@@ -884,8 +884,10 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                     //uncheck tree node
                     (cp.Tag as ParameterNode).Selected = false;
                     RefreshTreeStatusToParent(cp.Tag as ParameterNode);
+
                     SelectedData.Remove(cp);
                 }
+                if (SynSelectedData.Contains(cp)) { SynSelectedData.Remove(cp); }
             }
         }
 
@@ -902,7 +904,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                 Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
                 dlg.DefaultExt = ".xlsx"; // Default file extension 
                 dlg.Filter = "Excel数据表格文件(*.xlsx)|*.xlsx"; // Filter files by extension 
-                dlg.FileName = $"{DisplayName}_{string.Join(",", RecipeDatas.Select(x => x.RecipeName.Replace('\\','.')).ToArray())}_{DateTime.Now:yyyyMMdd_HHmmss}";
+                dlg.FileName = $"{DisplayName}_{string.Join(",", RecipeDatas.Select(x => x.RecipeName.Replace('\\', '.')).ToArray())}_{DateTime.Now:yyyyMMdd_HHmmss}";
                 Nullable<bool> result = dlg.ShowDialog();// Show open file dialog box
                 if (result == true) // Process open file dialog box results
                 {
@@ -1189,7 +1191,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                     foreach (var item in cp.Points)
                     {
                         var row = ds.Tables[0].NewRow();
-                        row[0] =StepStartTime.AddSeconds(Convert.ToDouble(item.Item1));
+                        row[0] = StepStartTime.AddSeconds(Convert.ToDouble(item.Item1));
                         row[1] = item.Item2;
                         ds.Tables[0].Rows.Add(row);
                         i++;
@@ -1234,37 +1236,51 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
         public void RefresCharView()
         {
             this.view.sciChart.ZoomExtents();
-        }   
-        public void ArrowClick(string direction)
+        }
+        public void BackPan()//前移
         {
-            switch (direction)
+            if ((_directionByte & 0x01) == 1)//x
             {
-                case "Up":
-                    if (VisibleRangeValue is DoubleRange uprange)
-                    {
-                        VisibleRangeValue = new DoubleRange(uprange.Min + YScale, uprange.Max + YScale);                       
-                    }
-                    break;
-                case "Down":
-                    if (VisibleRangeValue is DoubleRange downrange)
-                    {
-                        VisibleRangeValue = new DoubleRange(downrange.Min - YScale, downrange.Max - YScale);
-                    }
-                    break;
-                case "Left":
-                    if (VisibleRangeTime is DoubleRange leftrange)
-                    {
-                        VisibleRangeTime = new DoubleRange(leftrange.Min - XScale, leftrange.Max - XScale);               
-                    }
-                    break;
-                case "Right":
-                    if (VisibleRangeTime is DoubleRange range)
-                    {
-                        VisibleRangeTime = new DoubleRange(range.Min + XScale, range.Max + XScale);                       
-                    }
-                    break;
+                // LOG.Info($"A BackPan.X:scale{XScale},{VisibleRangeTime.Min}:{VisibleRangeTime.Max}");
+                if (VisibleRangeTime is DoubleRange range)
+                {
+                    VisibleRangeTime = new DoubleRange(range.Min - XScale, range.Max - XScale);
+                    // LOG.Info($"BackPan.X:scale{XScale},{VisibleRangeTime.Min}:{VisibleRangeTime.Max}");
+                }
+            }
+            if ((_directionByte & 0x02) == 2)
+            {
+                // LOG.Info($"A BackPan.Y:scale{YScale},{VisibleRangeValue.Min}:{VisibleRangeValue.Max}");
+                if (VisibleRangeValue is DoubleRange range)
+                {
+                    VisibleRangeValue = new DoubleRange(range.Min - YScale, range.Max - YScale);
+                    //LOG.Info($"BackPan.Y:scale{YScale},{VisibleRangeValue.Min}:{VisibleRangeValue.Max}");
+                }
+            }
+        }
+
+        public void ForwardPan()//后移
+        {
+            if ((_directionByte & 0x01) == 1)//x
+            {
+                // LOG.Info($"A ForwardPan.X:scale{XScale},{VisibleRangeTime.Min}:{VisibleRangeTime.Max}");
+                if (VisibleRangeTime is DoubleRange range)
+                {
+                    VisibleRangeTime = new DoubleRange(range.Min + XScale, range.Max + XScale);
+                    // LOG.Info($"ForwardPan.X:scale{XScale},{VisibleRangeTime.Min}:{VisibleRangeTime.Max}");
+                }
+            }
+            if ((_directionByte & 0x02) == 2)
+            {
+                //LOG.Info($"A ForwardPan.Y:scale{YScale},{VisibleRangeValue.Min}:{VisibleRangeValue.Max}");
+                if (VisibleRangeValue is DoubleRange range)
+                {
+                    VisibleRangeValue = new DoubleRange(range.Min + YScale, range.Max + YScale);
+                    //LOG.Info($"ForwardPan.Y:scale{YScale},{VisibleRangeValue.Min}:{VisibleRangeValue.Max}");
+                }
             }
         }
+
         public void ZoomInClick()//放大
         {
             double scale = 0;
@@ -1358,7 +1374,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                     allCheckNode.AddRange(GetAllCheckedLeafNode(x));
                 });
 
-                allCheckNode.ForEach(x => { ParameterCheck(x,SelectedData); });
+                allCheckNode.ForEach(x => { ParameterCheck(x); });
             }
         }
 
@@ -1396,15 +1412,15 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                     var step = _stepInfo.Find(r => r.StartTime <= PointTime && r.EndTime >= PointTime);
                     if (step == null)
                     {
-                        LOG.Info($"couldn't find  CurrentTime:{PointTime:yyyy/MM/dd HH:mm:ss.FFF} in steps");
+                        LOG.Info($"couldn't find  CurrentTime:{PointTime:yyyy/MM/dd HH:mm:ss.FFF} in steps ,display last step:{StepNameDisPlay}");
                     }
                     else
                     {
                         StepNameDisPlay = $"{step.StepNo}:{step.StepName}";
-                        LOG.Info($"CurrentTime:{PointTime:yyyy/MM/dd HH:mm:ss.FFF} {StepNameDisPlay}");
+                        //LOG.Info($"CurrentTime:{PointTime:yyyy/MM/dd HH:mm:ss.FFF} {StepNameDisPlay}");
                     }
-                    var name = (seriesinfo.RenderableSeries as ChartDataLine<T>).DataSource.Split('.','\\');
-                    if (name.Length>0)
+                    var name = (seriesinfo.RenderableSeries as ChartDataLine<T>).DataSource.Split('.', '\\');
+                    if (name.Length > 0)
                     {
                         RecipeNameDisPlay = name.Last();
                     }
@@ -1429,6 +1445,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
             }
         }
     }
+
     public class ProcessDataLot : NotifiableItem
     {
         private string _guid;

File diff suppressed because it is too large
+ 68 - 151
FrameworkLocal/UIClient/CenterViews/DataLogs/ProcessHistory/ProcessExportAllViewModel.cs


+ 39 - 110
FrameworkLocal/UIClient/CenterViews/Operations/RealTime/RealtimeProvider.cs

@@ -9,11 +9,13 @@ using Aitex.Core.RT.SCCore;
 using DocumentFormat.OpenXml.Drawing;
 using ExtendedGrid.Microsoft.Windows.Controls;
 using MECF.Framework.Common.DataCenter;
+using MECF.Framework.Common.Device;
 using MECF.Framework.Common.Equipment;
 using MECF.Framework.Common.Utilities;
 using MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory;
 using MECF.Framework.UI.Client.ClientBase.Tree;
 using OpenSEMI.ClientBase.ServiceProvider;
+using SciChart.Core.Extensions;
 
 namespace MECF.Framework.UI.Client.CenterViews.Operations.RealTime
 {
@@ -96,30 +98,10 @@ namespace MECF.Framework.UI.Client.CenterViews.Operations.RealTime
             {
                 {ModuleName.CarrierRobot.ToString(),ModuleName.Robot.ToString() },
                 {ModuleName.WaferRobot.ToString(),ModuleName.Robot.ToString() },
-                {ModuleName.FIMS1.ToString(),ModuleName.FIMS1.ToString() },
-                {ModuleName.FIMS2.ToString(),ModuleName.FIMS2.ToString() },
-                {ModuleName.LP1.ToString(),ModuleName.LP1.ToString() },
-                {ModuleName.LP2.ToString(),ModuleName.LP2.ToString() },
-                {ModuleName.LP3.ToString(),ModuleName.LP3.ToString() },
-                {ModuleName.LP4.ToString(),ModuleName.LP4.ToString() },
-                {ModuleName.Stocker1.ToString(),ModuleName.Stocker1.ToString() },
-                {ModuleName.Stocker2.ToString(),ModuleName.Stocker2.ToString() },
-                {ModuleName.Stocker3.ToString(),ModuleName.Stocker3.ToString() },
-                {ModuleName.Stocker4.ToString(),ModuleName.Stocker4.ToString() },
-                {ModuleName.Stocker5.ToString(),ModuleName.Stocker5.ToString() },
-                {ModuleName.Stocker6.ToString(),ModuleName.Stocker6.ToString() },
-                {ModuleName.Stocker7.ToString(),ModuleName.Stocker7.ToString() },
-                {ModuleName.Stocker8.ToString(),ModuleName.Stocker8.ToString() },
-                {ModuleName.Stocker9.ToString(),ModuleName.Stocker9.ToString() },
-                {ModuleName.Stocker10.ToString(),ModuleName.Stocker10.ToString() },
-                {ModuleName.Stocker11.ToString(),ModuleName.Stocker11.ToString() },
-                {ModuleName.Stocker12.ToString(),ModuleName.Stocker12.ToString() },
-                {ModuleName.Stocker13.ToString(),ModuleName.Stocker13.ToString() },
-                {ModuleName.Stocker14.ToString(),ModuleName.Stocker14.ToString() },
-                {ModuleName.Stocker15.ToString(),ModuleName.Stocker15.ToString() },
-                {ModuleName.Stocker16.ToString(),ModuleName.Stocker16.ToString() },
-                {ModuleName.Stocker17.ToString(),ModuleName.Stocker17.ToString() },
-                {ModuleName.Stocker18.ToString(),ModuleName.Stocker18.ToString() },
+                {ModuleName.FIMS.ToString(),ModuleName.FIMS.ToString() },
+                {ModuleName.LP.ToString(),ModuleName.LP.ToString() },
+                {ModuleName.Stocker.ToString(),ModuleName.Stocker.ToString() },
+
             };
         }
         /// <summary>
@@ -137,6 +119,8 @@ namespace MECF.Framework.UI.Client.CenterViews.Operations.RealTime
             result.AddRange(pm1DataList);
             result.AddRange(systemDataList);
             var systemDeviceNameDict = GetSystemDeviceNameDict();
+            //  var NameKeyDict = QueryDataClient.Instance.Service.GetData("System.NameKeyDict") as Dictionary<string, List<string>>;
+
             foreach (var item in systemDeviceNameDict)
             {
                 var data = effectiveDataList.Where(a => (a.StartsWith(item.Key))).ToDictionary(a => a, a => $"{item.Value}.{a}");
@@ -144,9 +128,8 @@ namespace MECF.Framework.UI.Client.CenterViews.Operations.RealTime
                 result.AddRange(data);
             }
 
-       
-            return result;
 
+            return result;
 
         }
         /// <summary>
@@ -178,6 +161,12 @@ namespace MECF.Framework.UI.Client.CenterViews.Operations.RealTime
         /// <param name="processDetailDisplayDic"></param>
         /// <param name="isSelected"></param>
         /// <returns></returns>
+        public Dictionary<string, Dictionary<string, string>> GetProcessProcessDetailAttributeDict()
+        {
+
+            return QueryDataClient.Instance.Service.GetData("System.ProcessDetailInfoDict") as Dictionary<string, Dictionary<string, string>>;
+
+        }
         public ObservableCollection<ParameterNode> GetParameters(out Dictionary<string, string> processDetailDisplayDic, bool isSelected = false)
         {
             processDetailDisplayDic = new Dictionary<string, string>();
@@ -265,88 +254,17 @@ namespace MECF.Framework.UI.Client.CenterViews.Operations.RealTime
 
             return rootNode;
         }
-
-        public List<TreeNode> GetTreeNodeParameters()
-        {
-            var root = new List<TreeNode>();
-            try
-            {
-                Dictionary<string, string> displayDic = QueryDataClient.Instance.Service.GetData("System.Display") as Dictionary<string, string>;
-                List<string> dataList = (List<string>)QueryDataClient.Instance.Service.GetConfig("System.NumericDataList");
-                List<SCConfigItem> setUplist = null;
-                if (QueryDataClient.Instance.Service.GetConfigItemList().Where(x => x.Path == "System.SetUp") != null)
-                    setUplist = QueryDataClient.Instance.Service.GetConfigItemList()
-                        .Where(x => x.Path == "System.SetUp").ToList();
-                var typedContents = ((string)QueryDataClient.Instance.Service.GetTypedConfigContent("UserDefine", ""));
-                if (string.IsNullOrEmpty(typedContents))
-                {
-                    dataList.Add($"UserDefine");
-                }
-                else
-                {
-                    var contentList = typedContents.Split(',').ToList();
-                    contentList.ForEach(x =>
-                    {
-                        if (!string.IsNullOrEmpty(x)) dataList.Add($"UserDefine.{x}");
-                    });
-                }
-
-                dataList.Sort();
-                foreach (var dataName in dataList)
-                {
-                    var nodeName = new Queue<string>(dataName.Split('.'));
-                    if (nodeName.Count <= 0)
-                        continue;
-
-                    // 开始创建Tree分支
-                    var rootNode = root.FirstOrDefault(x => x.Name == nodeName.Peek());
-                    var node = CreateTreeBranch(nodeName, rootNode);
-                    if (rootNode == null)
-                    {
-                        root.Add(node);
-                    }
-                }
-                root.Sort(new NameComparer());
-                if (displayDic != null)
-                {
-                    foreach (TreeNode rootNodes in root)
-                    {
-                        foreach (var terminalNode in rootNodes.Flatten(true))
-                        {
-                            terminalNode.DisplayName = displayDic.ContainsKey($"{rootNodes.Name}.{terminalNode.FullName}") ? displayDic[$"{rootNodes.Name}.{terminalNode.FullName}"] : terminalNode.FullName;
-                        }
-                    }
-                }
-                foreach (var rootNodes in root)
-                {
-                    var childNode = rootNodes.ChildNodes.ToList();
-                    childNode.Sort(new NameComparer());
-                    for (int i = 0; i < childNode.Count; i++)
-                    {
-                        rootNodes.ChildNodes.Move(rootNodes.ChildNodes.IndexOf(childNode[i]), i);
-                    }
-                }
-            }
-            catch (Exception ex)
-            {
-                LOG.Write(ex);
-            }
-
-            return root;
-
-        }
-
         /// <summary>
         /// 获取DataHistory 左侧树结构(既包含配置文件字段,也包含PM/System表字段)
         /// </summary>
         /// <returns></returns>
-        public List<TreeNode> GetTreeNodeParameters1()
+        public List<TreeNode> GetTreeNodeParameters()
         {
             var root = new List<TreeNode>();
             try
             {
                 var displayDic = GetTreeNameDict();
-              
+
                 foreach (var dataName in displayDic.Values)
                 {
                     var nodeName = new Queue<string>(dataName.Split('.'));
@@ -361,7 +279,7 @@ namespace MECF.Framework.UI.Client.CenterViews.Operations.RealTime
                         root.Add(node);
                     }
                 }
-            
+
                 SortParameterNode(root, "PM1", 0);
                 SortParameterNode(root, "System", 1);
                 SortParameterNode(root, "Heater", 2);
@@ -369,8 +287,16 @@ namespace MECF.Framework.UI.Client.CenterViews.Operations.RealTime
                 SortParameterNode(root, "APC", 4);
                 SortParameterNode(root, "Boat", 5);
                 SortParameterNode(root, "Valve", 6);
+                foreach (var rootNodes in root)
+                {
+                    var childNode = rootNodes.ChildNodes.ToList();
+                    childNode.Sort(new NameComparer());
+                    for (int i = 0; i < childNode.Count; i++)
+                    {
+                        rootNodes.ChildNodes.Move(rootNodes.ChildNodes.IndexOf(childNode[i]), i);
+                    }
+                }
 
-               
             }
             catch (Exception ex)
             {
@@ -381,26 +307,29 @@ namespace MECF.Framework.UI.Client.CenterViews.Operations.RealTime
 
         }
         #region Sort 排序
-      
+
         void SortParameterNode(List<TreeNode> rootNode, string Name, int Index)
         {
             if (Index >= rootNode.Count)
             {
                 return;
             }
-            if (rootNode[Index].Name != Name)
+
+            for (int i = 0; i < rootNode.Count; i++)
             {
-                for (int i = 0; i < rootNode.Count; i++)
+                if (rootNode[i].Name == Name && i != Index)
                 {
-                    if (rootNode[i].Name == Name)
-                    {
-                        TreeNode node = rootNode[i];
-                        rootNode.RemoveAt(i);
-                        rootNode.Insert(Index, node);
-                    }
+                    TreeNode node = rootNode[i];
+                    rootNode.RemoveAt(i);
+                    rootNode.Insert(Index, node);
+                    break;
                 }
             }
+
+            // Recursively sort children
+
         }
+
         void SortParameterNode(ObservableCollection<ParameterNode> rootNode, Dictionary<string, int> sortDict, bool isSelectd = false)
         {
             foreach (var item in sortDict)

+ 326 - 638
Furnace/FurnaceRT/Config/DisplayReplace.xml

@@ -1,24 +1,28 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <Displays>
 	<HistoryGroup name="ProcessHistory" display="Process History">
-		<Display Name="PM1.APC.PressureSetPoint" DisplayName="Pressure.Pressure.Set" />
-		<Display Name="PM1.APC.Pressure1Feedback" DisplayName="Pressure.APC.Sensor1" />
-		<Display Name="PM1.APC.Pressure2Feedback" DisplayName="Pressure.APC.Sensor2" />
-		<Display Name="PM1.VG11.Value" DisplayName="Pressure.VG11.Actual" />
-		<Display Name="PM1.VG12.Value" DisplayName="Pressure.VG12.Actual" />
-		<Display Name="PM1.VG13.Value" DisplayName="Pressure.VG13.Actual" />
-		<Display Name="PM1.VG21.Value" DisplayName="Pressure.VG21.Actual" />
-		<Display Name="PM1.VG22.Value" DisplayName="Pressure.VG22.Actual" />
-		<Display Name="PM1.APC.ModeFeedback" DisplayName="Pressure.Mode.Actual" />
-		<Display Name="PM1.APC.SlowRateSetPoint" DisplayName="Pressure.Slow Rate.Set" />
-		<Display Name="PM1.APC.PositionSetPoint" DisplayName="Pressure.Valve Angle.Set" />
-		<Display Name="PM1.APC.PositionFeedback" DisplayName="Pressure.Valve Angle.Actual" />
+		<Display Name="PM1.APC.PressureSetPoint" DisplayName="APC.CKD.Pressure Set" />
+		<Display Name="PM1.APC.Pressure1Feedback" DisplayName="APC.CKD.Sensor1" />
+		<Display Name="PM1.APC.Pressure2Feedback" DisplayName="APC.CKD.Sensor2" />
+
+		<Display Name="PM1.VG11.Value" DisplayName="APC.VG11.Actual" />
+		<Display Name="PM1.VG12.Value" DisplayName="APC.VG12.Actual" />
+		<Display Name="PM1.VG13.Value" DisplayName="APC.VG13.Actual" />
+		<Display Name="PM1.VG21.Value" DisplayName="APC.VG21.Actual" />
+		<Display Name="PM1.VG22.Value" DisplayName="APC.VG22.Actual" />
+
+		<Display Name="PM1.APC.ModeFeedback"     DisplayName="APC.CKD.Mode Actual" />
+		<Display Name="PM1.APC.SlowRateSetPoint" DisplayName="APC.CKD.SlowRate Set" />
+		<Display Name="PM1.APC.PositionSetPoint" DisplayName="APC.CKD.ValveAngle Set" />
+		<Display Name="PM1.APC.PositionFeedback" DisplayName="APC.CKD.ValveAngle Actual" />
+		
 		<Display Name="PM1.BoatElevatorServo.CurrentPosition" DisplayName="Boat.BoatElevator.Real" />
 		<Display Name="PM1.BoatElevatorServo.TargetPosition" DisplayName="Boat.BoatElevator.Target" />
 		<Display Name="PM1.BoatElevatorServo.CurrentSpeed" DisplayName="Boat.BoatElevator.Speed" />
 		<Display Name="PM1.BoatRotationServo.CurrentPosition" DisplayName="Boat.BoatRotation.Real" />
 		<Display Name="PM1.BoatRotationServo.TargetPosition" DisplayName="Boat.BoatRotation.Target" />
 		<Display Name="PM1.BoatRotationServo.CurrentSpeed" DisplayName="Boat.BoatRotation.Speed" />
+		
 		<Display Name="PM1.ValveAV1.SetPoint" DisplayName="Valve.AV1.Set" />
 		<Display Name="PM1.ValveAV1.Feedback" DisplayName="Valve.AV1.Actual" />
 		<Display Name="PM1.ValveAV2.SetPoint" DisplayName="Valve.AV2.Set" />
@@ -184,7 +188,7 @@
 		<Display Name="PM1.ValveSV63.SetPoint" DisplayName="Valve.SV63.Set" />
 		<Display Name="PM1.ValveSV63.Feedback" DisplayName="Valve.SV63.Actual" />
 		<Display Name="PM1.ValveSV64.SetPoint" DisplayName="Valve.SV64.Set" />
-    <Display Name="PM1.HREF.SetPoint" DisplayName="Valve.HREF.Set" />
+        <Display Name="PM1.HREF.SetPoint" DisplayName="Valve.HREF.Set" />
 		<Display Name="PM1.HREF.Feedback" DisplayName="Valve.HREF.Actual" />
 		<Display Name="PM1.IsCEXHOn" DisplayName="Valve.IsCEXHOn" />
 		<Display Name="PM1.IsCREFOn" DisplayName="Valve.IsCREFOn" />
@@ -246,164 +250,7 @@
 		<Display Name="PM1.MFC16.Feedback" DisplayName="MFC.MFC16.Actual" />
 		<Display Name="PM1.MFC51.SetPoint" DisplayName="MFC.MFC51.Set" />
 		<Display Name="PM1.MFC51.Feedback" DisplayName="MFC.MFC51.Actual" />
-		<Display Name="PM1.ForelineHeater1.TempFeedback" DisplayName="HeaterBand.Foreline Heater1.Actual" />
-		<Display Name="PM1.ForelineHeater1.TempSetPoint" DisplayName="HeaterBand.Foreline Heater1.Set" />
-		<Display Name="PM1.ForelineHeater2.TempFeedback" DisplayName="HeaterBand.Foreline Heater2.Actual" />
-		<Display Name="PM1.ForelineHeater2.TempSetPoint" DisplayName="HeaterBand.Foreline Heater2.Set" />
-		<Display Name="PM1.ForelineHeater3.TempFeedback" DisplayName="HeaterBand.Foreline Heater3.Actual" />
-		<Display Name="PM1.ForelineHeater3.TempSetPoint" DisplayName="HeaterBand.Foreline Heater3.Set" />
-		<Display Name="PM1.ForelineHeater4.TempFeedback" DisplayName="HeaterBand.Foreline Heater4.Actual" />
-		<Display Name="PM1.ForelineHeater4.TempSetPoint" DisplayName="HeaterBand.Foreline Heater4.Set" />
-		<Display Name="PM1.ForelineHeater5.TempFeedback" DisplayName="HeaterBand.Foreline Heater5.Actual" />
-		<Display Name="PM1.ForelineHeater5.TempSetPoint" DisplayName="HeaterBand.Foreline Heater5.Set" />
-		<Display Name="PM1.ForelineHeater6.TempFeedback" DisplayName="HeaterBand.Foreline Heater6.Actual" />
-		<Display Name="PM1.ForelineHeater6.TempSetPoint" DisplayName="HeaterBand.Foreline Heater6.Set" />
-		<Display Name="PM1.ForelineHeater7.TempFeedback" DisplayName="HeaterBand.Foreline Heater7.Actual" />
-		<Display Name="PM1.ForelineHeater7.TempSetPoint" DisplayName="HeaterBand.Foreline Heater7.Set" />
-		<Display Name="PM1.ForelineHeater8.TempFeedback" DisplayName="HeaterBand.Foreline Heater8.Actual" />
-		<Display Name="PM1.ForelineHeater8.TempSetPoint" DisplayName="HeaterBand.Foreline Heater8.Set" />
-		<Display Name="PM1.ForelineHeater9.TempFeedback" DisplayName="HeaterBand.Foreline Heater9.Actual" />
-		<Display Name="PM1.ForelineHeater9.TempSetPoint" DisplayName="HeaterBand.Foreline Heater9.Set" />
-		<Display Name="PM1.ForelineHeater10.TempFeedback" DisplayName="HeaterBand.Foreline Heater10.Actual" />
-		<Display Name="PM1.ForelineHeater10.TempSetPoint" DisplayName="HeaterBand.Foreline Heater10.Set" />
-		<Display Name="PM1.ForelineHeater11.TempFeedback" DisplayName="HeaterBand.Foreline Heater11.Actual" />
-		<Display Name="PM1.ForelineHeater11.TempSetPoint" DisplayName="HeaterBand.Foreline Heater11.Set" />				
-		<Display Name="PM1.ForelineHeater12.TempFeedback" DisplayName="HeaterBand.Foreline Heater12.Actual" />
-		<Display Name="PM1.ForelineHeater12.TempSetPoint" DisplayName="HeaterBand.Foreline Heater12.Set" />
-		<Display Name="PM1.CapHeater.TempFeedback" DisplayName="HeaterBand.Cap Heater.Actual" />
-		<Display Name="PM1.CapHeater.TempSetPoint" DisplayName="HeaterBand.Cap Heater.Set" />
-		<Display Name="PM1.APCExternalHeater.TempFeedback" DisplayName="HeaterBand.APC External Heater.Actual" />
-		<Display Name="PM1.APCExternalHeater.TempSetPoint" DisplayName="HeaterBand.APC External Heater.Set" />
-		<Display Name="PM1.APCRingHeater.TempFeedback" DisplayName="HeaterBand.APC Ring Heater.Actual" />
-		<Display Name="PM1.APCRingHeater.TempSetPoint" DisplayName="HeaterBand.APC Ring Heater.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH1.TempFeedback" DisplayName="HeaterBand.Unit1 CH1.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH1.TempSetPoint" DisplayName="HeaterBand.Unit1 CH1.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH2.TempFeedback" DisplayName="HeaterBand.Unit1 CH2.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH2.TempSetPoint" DisplayName="HeaterBand.Unit1 CH2.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH3.TempFeedback" DisplayName="HeaterBand.Unit1 CH3.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH3.TempSetPoint" DisplayName="HeaterBand.Unit1 CH3.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH4.TempFeedback" DisplayName="HeaterBand.Unit1 CH4.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH4.TempSetPoint" DisplayName="HeaterBand.Unit1 CH4.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH5.TempFeedback" DisplayName="HeaterBand.Unit1 CH5.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH5.TempSetPoint" DisplayName="HeaterBand.Unit1 CH5.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH6.TempFeedback" DisplayName="HeaterBand.Unit1 CH6.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH6.TempSetPoint" DisplayName="HeaterBand.Unit1 CH6.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH7.TempFeedback" DisplayName="HeaterBand.Unit1 CH7.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH7.TempSetPoint" DisplayName="HeaterBand.Unit1 CH7.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH8.TempFeedback" DisplayName="HeaterBand.Unit1 CH8.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH8.TempSetPoint" DisplayName="HeaterBand.Unit1 CH8.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH9.TempFeedback" DisplayName="HeaterBand.Unit1 CH9.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH9.TempSetPoint" DisplayName="HeaterBand.Unit1 CH9.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH10.TempFeedback" DisplayName="HeaterBand.Unit1 CH10.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH10.TempSetPoint" DisplayName="HeaterBand.Unit1 CH10.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH11.TempFeedback" DisplayName="HeaterBand.Unit1 CH11.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH11.TempSetPoint" DisplayName="HeaterBand.Unit1 CH11.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH12.TempFeedback" DisplayName="HeaterBand.Unit1 CH12.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH12.TempSetPoint" DisplayName="HeaterBand.Unit1 CH12.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH13.TempFeedback" DisplayName="HeaterBand.Unit1 CH13.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH13.TempSetPoint" DisplayName="HeaterBand.Unit1 CH13.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH14.TempFeedback" DisplayName="HeaterBand.Unit1 CH14.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH14.TempSetPoint" DisplayName="HeaterBand.Unit1 CH14.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH15.TempFeedback" DisplayName="HeaterBand.Unit1 CH15.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH15.TempSetPoint" DisplayName="HeaterBand.Unit1 CH15.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH16.TempFeedback" DisplayName="HeaterBand.Unit1 CH16.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH16.TempSetPoint" DisplayName="HeaterBand.Unit1 CH16.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH1.TempFeedback" DisplayName="HeaterBand.Unit2 CH1.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH1.TempSetPoint" DisplayName="HeaterBand.Unit2 CH1.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH2.TempFeedback" DisplayName="HeaterBand.Unit2 CH2.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH2.TempSetPoint" DisplayName="HeaterBand.Unit2 CH2.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH3.TempFeedback" DisplayName="HeaterBand.Unit2 CH3.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH3.TempSetPoint" DisplayName="HeaterBand.Unit2 CH3.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH4.TempFeedback" DisplayName="HeaterBand.Unit2 CH4.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH4.TempSetPoint" DisplayName="HeaterBand.Unit2 CH4.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH5.TempFeedback" DisplayName="HeaterBand.Unit2 CH5.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH5.TempSetPoint" DisplayName="HeaterBand.Unit2 CH5.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH6.TempFeedback" DisplayName="HeaterBand.Unit2 CH6.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH6.TempSetPoint" DisplayName="HeaterBand.Unit2 CH6.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH7.TempFeedback" DisplayName="HeaterBand.Unit2 CH7.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH7.TempSetPoint" DisplayName="HeaterBand.Unit2 CH7.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH8.TempFeedback" DisplayName="HeaterBand.Unit2 CH8.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH8.TempSetPoint" DisplayName="HeaterBand.Unit2 CH8.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH9.TempFeedback" DisplayName="HeaterBand.Unit2 CH9.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH9.TempSetPoint" DisplayName="HeaterBand.Unit2 CH9.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH10.TempFeedback" DisplayName="HeaterBand.Unit2 CH10.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH10.TempSetPoint" DisplayName="HeaterBand.Unit2 CH10.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH11.TempFeedback" DisplayName="HeaterBand.Unit2 CH11.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH11.TempSetPoint" DisplayName="HeaterBand.Unit2 CH11.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH12.TempFeedback" DisplayName="HeaterBand.Unit2 CH12.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH12.TempSetPoint" DisplayName="HeaterBand.Unit2 CH12.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH13.TempFeedback" DisplayName="HeaterBand.Unit2 CH13.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH13.TempSetPoint" DisplayName="HeaterBand.Unit2 CH13.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH14.TempFeedback" DisplayName="HeaterBand.Unit2 CH14.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH14.TempSetPoint" DisplayName="HeaterBand.Unit2 CH14.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH15.TempFeedback" DisplayName="HeaterBand.Unit2 CH15.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH15.TempSetPoint" DisplayName="HeaterBand.Unit2 CH15.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH16.TempFeedback" DisplayName="HeaterBand.Unit2 CH16.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH16.TempSetPoint" DisplayName="HeaterBand.Unit2 CH16.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH1.TempFeedback" DisplayName="HeaterBand.Unit3 CH1.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH1.TempSetPoint" DisplayName="HeaterBand.Unit3 CH1.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH2.TempFeedback" DisplayName="HeaterBand.Unit3 CH2.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH2.TempSetPoint" DisplayName="HeaterBand.Unit3 CH2.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH3.TempFeedback" DisplayName="HeaterBand.Unit3 CH3.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH3.TempSetPoint" DisplayName="HeaterBand.Unit3 CH3.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH4.TempFeedback" DisplayName="HeaterBand.Unit3 CH4.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH4.TempSetPoint" DisplayName="HeaterBand.Unit3 CH4.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH5.TempFeedback" DisplayName="HeaterBand.Unit3 CH5.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH5.TempSetPoint" DisplayName="HeaterBand.Unit3 CH5.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH6.TempFeedback" DisplayName="HeaterBand.Unit3 CH6.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH6.TempSetPoint" DisplayName="HeaterBand.Unit3 CH6.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH7.TempFeedback" DisplayName="HeaterBand.Unit3 CH7.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH7.TempSetPoint" DisplayName="HeaterBand.Unit3 CH7.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH8.TempFeedback" DisplayName="HeaterBand.Unit3 CH8.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH8.TempSetPoint" DisplayName="HeaterBand.Unit3 CH8.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH9.TempFeedback" DisplayName="HeaterBand.Unit3 CH9.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH9.TempSetPoint" DisplayName="HeaterBand.Unit3 CH9.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH10.TempFeedback" DisplayName="HeaterBand.Unit3 CH10.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH10.TempSetPoint" DisplayName="HeaterBand.Unit3 CH10.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH11.TempFeedback" DisplayName="HeaterBand.Unit3 CH11.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH11.TempSetPoint" DisplayName="HeaterBand.Unit3 CH11.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH12.TempFeedback" DisplayName="HeaterBand.Unit3 CH12.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH12.TempSetPoint" DisplayName="HeaterBand.Unit3 CH12.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH13.TempFeedback" DisplayName="HeaterBand.Unit3 CH13.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH13.TempSetPoint" DisplayName="HeaterBand.Unit3 CH13.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH14.TempFeedback" DisplayName="HeaterBand.Unit3 CH14.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH14.TempSetPoint" DisplayName="HeaterBand.Unit3 CH14.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH15.TempFeedback" DisplayName="HeaterBand.Unit3 CH15.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH15.TempSetPoint" DisplayName="HeaterBand.Unit3 CH15.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH16.TempFeedback" DisplayName="HeaterBand.Unit3 CH16.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH16.TempSetPoint" DisplayName="HeaterBand.Unit3 CH16.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH1.TempFeedback" DisplayName="HeaterBand.Unit4 CH1.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH1.TempSetPoint" DisplayName="HeaterBand.Unit4 CH1.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH2.TempFeedback" DisplayName="HeaterBand.Unit4 CH2.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH2.TempSetPoint" DisplayName="HeaterBand.Unit4 CH2.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH3.TempFeedback" DisplayName="HeaterBand.Unit4 CH3.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH3.TempSetPoint" DisplayName="HeaterBand.Unit4 CH3.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH4.TempFeedback" DisplayName="HeaterBand.Unit4 CH4.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH4.TempSetPoint" DisplayName="HeaterBand.Unit4 CH4.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH5.TempFeedback" DisplayName="HeaterBand.Unit4 CH5.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH5.TempSetPoint" DisplayName="HeaterBand.Unit4 CH5.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH6.TempFeedback" DisplayName="HeaterBand.Unit4 CH6.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH6.TempSetPoint" DisplayName="HeaterBand.Unit4 CH6.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH7.TempFeedback" DisplayName="HeaterBand.Unit4 CH7.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH7.TempSetPoint" DisplayName="HeaterBand.Unit4 CH7.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH8.TempFeedback" DisplayName="HeaterBand.Unit4 CH8.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH8.TempSetPoint" DisplayName="HeaterBand.Unit4 CH8.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH9.TempFeedback" DisplayName="HeaterBand.Unit4 CH9.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH9.TempSetPoint" DisplayName="HeaterBand.Unit4 CH9.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH10.TempFeedback" DisplayName="HeaterBand.Unit4 CH10.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH10.TempSetPoint" DisplayName="HeaterBand.Unit4 CH10.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH11.TempFeedback" DisplayName="HeaterBand.Unit4 CH11.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH11.TempSetPoint" DisplayName="HeaterBand.Unit4 CH11.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH12.TempFeedback" DisplayName="HeaterBand.Unit4 CH12.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH12.TempSetPoint" DisplayName="HeaterBand.Unit4 CH12.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH13.TempFeedback" DisplayName="HeaterBand.Unit4 CH13.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH13.TempSetPoint" DisplayName="HeaterBand.Unit4 CH13.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH14.TempFeedback" DisplayName="HeaterBand.Unit4 CH14.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH14.TempSetPoint" DisplayName="HeaterBand.Unit4 CH14.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH15.TempFeedback" DisplayName="HeaterBand.Unit4 CH15.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH15.TempSetPoint" DisplayName="HeaterBand.Unit4 CH15.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH16.TempFeedback" DisplayName="HeaterBand.Unit4 CH16.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH16.TempSetPoint" DisplayName="HeaterBand.Unit4 CH16.Set" />
+	
 		<Display Name="System.HeaterU.TempFeedback" DisplayName="Heater.U.Actual" />
 		<Display Name="System.HeaterU.TempSetPoint" DisplayName="Heater.U.Set" />
 		<Display Name="System.HeaterU.CascadePV" DisplayName="Heater.U.Cascade PV" />
@@ -461,472 +308,313 @@
 		<Display Name="System.HeaterL.HeaterControlModeSV" DisplayName="Heater.L.Heater Control Mode SV" />
 	</HistoryGroup>
 	<DetailGroup name="ProcessDetail" display="Process Detail">
-		<Display Name="PM1.APC.PressureSetPoint" DisplayName="Pressure.Pressure.Set" />
-		<Display Name="PM1.APC.Pressure1Feedback" DisplayName="Pressure.APC.Sensor1" />
-		<Display Name="PM1.APC.Pressure2Feedback" DisplayName="Pressure.APC.Sensor2" />
-		<Display Name="PM1.VG11.Value" DisplayName="Pressure.VG11.Actual" />
-		<Display Name="PM1.VG12.Value" DisplayName="Pressure.VG12.Actual" />
-		<Display Name="PM1.VG13.Value" DisplayName="Pressure.VG13.Actual" />
-		<Display Name="PM1.VG21.Value" DisplayName="Pressure.VG21.Actual" />
-		<Display Name="PM1.VG22.Value" DisplayName="Pressure.VG22.Actual" />
-		<Display Name="PM1.APC.ModeFeedback" DisplayName="Pressure.Mode.Actual" />
-		<Display Name="PM1.APC.SlowRateSetPoint" DisplayName="Pressure.Slow Rate.Set" />
-		<Display Name="PM1.APC.PositionSetPoint" DisplayName="Pressure.Valve Angle.Set" />
-		<Display Name="PM1.APC.PositionFeedback" DisplayName="Pressure.Valve Angle.Actual" />
-		<Display Name="PM1.BoatElevatorServo.CurrentPosition" DisplayName="Boat.BoatElevator.Real" />
-		<Display Name="PM1.BoatElevatorServo.TargetPosition" DisplayName="Boat.BoatElevator.Target" />
-		<Display Name="PM1.BoatElevatorServo.CurrentSpeed" DisplayName="Boat.BoatElevator.Speed" />
-		<Display Name="PM1.BoatRotationServo.CurrentPosition" DisplayName="Boat.BoatRotation.Real" />
-		<Display Name="PM1.BoatRotationServo.TargetPosition" DisplayName="Boat.BoatRotation.Target" />
-		<Display Name="PM1.BoatRotationServo.CurrentSpeed" DisplayName="Boat.BoatRotation.Speed" />
-		<Display Name="PM1.ValveAV1.SetPoint" DisplayName="Valve.AV1.Set" />
-		<Display Name="PM1.ValveAV1.Feedback" DisplayName="Valve.AV1.Actual" />
-		<Display Name="PM1.ValveAV2.SetPoint" DisplayName="Valve.AV2.Set" />
-		<Display Name="PM1.ValveAV2.Feedback" DisplayName="Valve.AV2.Actual" />
-		<Display Name="PM1.ValveAV3.SetPoint" DisplayName="Valve.AV3.Set" />
-		<Display Name="PM1.ValveAV3.Feedback" DisplayName="Valve.AV3.Actual" />
-		<Display Name="PM1.ValveAV4.SetPoint" DisplayName="Valve.AV4.Set" />
-		<Display Name="PM1.ValveAV4.Feedback" DisplayName="Valve.AV4.Actual" />
-		<Display Name="PM1.ValveAV5.SetPoint" DisplayName="Valve.AV5.Set" />
-		<Display Name="PM1.ValveAV5.Feedback" DisplayName="Valve.AV5.Actual" />
-		<Display Name="PM1.ValveAV6.SetPoint" DisplayName="Valve.AV6.Set" />
-		<Display Name="PM1.ValveAV6.Feedback" DisplayName="Valve.AV6.Actual" />
-		<Display Name="PM1.ValveAV7.SetPoint" DisplayName="Valve.AV7.Set" />
-		<Display Name="PM1.ValveAV7.Feedback" DisplayName="Valve.AV7.Actual" />
-		<Display Name="PM1.ValveAV8.SetPoint" DisplayName="Valve.AV8.Set" />
-		<Display Name="PM1.ValveAV8.Feedback" DisplayName="Valve.AV8.Actual" />
-		<Display Name="PM1.ValveAV9.SetPoint" DisplayName="Valve.AV9.Set" />
-		<Display Name="PM1.ValveAV9.Feedback" DisplayName="Valve.AV9.Actual" />
-		<Display Name="PM1.ValveAV10.SetPoint" DisplayName="Valve.AV10.Set" />
-		<Display Name="PM1.ValveAV10.Feedback" DisplayName="Valve.AV10.Actual" />
-		<Display Name="PM1.ValveAV11.SetPoint" DisplayName="Valve.AV11.Set" />
-		<Display Name="PM1.ValveAV11.Feedback" DisplayName="Valve.AV11.Actual" />
-		<Display Name="PM1.ValveAV12.SetPoint" DisplayName="Valve.AV12.Set" />
-		<Display Name="PM1.ValveAV12.Feedback" DisplayName="Valve.AV12.Actual" />
-		<Display Name="PM1.ValveAV13.SetPoint" DisplayName="Valve.AV13.Set" />
-		<Display Name="PM1.ValveAV13.Feedback" DisplayName="Valve.AV13.Actual" />
-		<Display Name="PM1.ValveAV14.SetPoint" DisplayName="Valve.AV14.Set" />
-		<Display Name="PM1.ValveAV14.Feedback" DisplayName="Valve.AV14.Actual" />
-		<Display Name="PM1.ValveAV15.SetPoint" DisplayName="Valve.AV15.Set" />
-		<Display Name="PM1.ValveAV15.Feedback" DisplayName="Valve.AV15.Actual" />
-		<Display Name="PM1.ValveAV16.SetPoint" DisplayName="Valve.AV16.Set" />
-		<Display Name="PM1.ValveAV16.Feedback" DisplayName="Valve.AV16.Actual" />
-		<Display Name="PM1.ValveAV17.SetPoint" DisplayName="Valve.AV17.Set" />
-		<Display Name="PM1.ValveAV17.Feedback" DisplayName="Valve.AV17.Actual" />
-		<Display Name="PM1.ValveAV18.SetPoint" DisplayName="Valve.AV18.Set" />
-		<Display Name="PM1.ValveAV18.Feedback" DisplayName="Valve.AV18.Actual" />
-		<Display Name="PM1.ValveAV19.SetPoint" DisplayName="Valve.AV19.Set" />
-		<Display Name="PM1.ValveAV19.Feedback" DisplayName="Valve.AV19.Actual" />
-		<Display Name="PM1.ValveAV20.SetPoint" DisplayName="Valve.AV20.Set" />
-		<Display Name="PM1.ValveAV20.Feedback" DisplayName="Valve.AV20.Actual" />
-		<Display Name="PM1.ValveAV21.SetPoint" DisplayName="Valve.AV21.Set" />
-		<Display Name="PM1.ValveAV21.Feedback" DisplayName="Valve.AV21.Actual" />
-		<Display Name="PM1.ValveAV22.SetPoint" DisplayName="Valve.AV22.Set" />
-		<Display Name="PM1.ValveAV22.Feedback" DisplayName="Valve.AV22.Actual" />
-		<Display Name="PM1.ValveAV23.SetPoint" DisplayName="Valve.AV23.Set" />
-		<Display Name="PM1.ValveAV23.Feedback" DisplayName="Valve.AV23.Actual" />
-		<Display Name="PM1.ValveAV24.SetPoint" DisplayName="Valve.AV24.Set" />
-		<Display Name="PM1.ValveAV24.Feedback" DisplayName="Valve.AV24.Actual" />
-		<Display Name="PM1.ValveAV25.SetPoint" DisplayName="Valve.AV25.Set" />
-		<Display Name="PM1.ValveAV25.Feedback" DisplayName="Valve.AV25.Actual" />
-		<Display Name="PM1.ValveAV26.SetPoint" DisplayName="Valve.AV26.Set" />
-		<Display Name="PM1.ValveAV26.Feedback" DisplayName="Valve.AV26.Actual" />
-		<Display Name="PM1.ValveAV27.SetPoint" DisplayName="Valve.AV27.Set" />
-		<Display Name="PM1.ValveAV27.Feedback" DisplayName="Valve.AV27.Actual" />
-		<Display Name="PM1.ValveAV28.SetPoint" DisplayName="Valve.AV28.Set" />
-		<Display Name="PM1.ValveAV28.Feedback" DisplayName="Valve.AV28.Actual" />
-		<Display Name="PM1.ValveAV29.SetPoint" DisplayName="Valve.AV29.Set" />
-		<Display Name="PM1.ValveAV29.Feedback" DisplayName="Valve.AV29.Actual" />
-		<Display Name="PM1.ValveAV30.SetPoint" DisplayName="Valve.AV30.Set" />
-		<Display Name="PM1.ValveAV30.Feedback" DisplayName="Valve.AV30.Actual" />
-		<Display Name="PM1.ValveAV31.SetPoint" DisplayName="Valve.AV31.Set" />
-		<Display Name="PM1.ValveAV31.Feedback" DisplayName="Valve.AV31.Actual" />
-		<Display Name="PM1.ValveAV32.SetPoint" DisplayName="Valve.AV32.Set" />
-		<Display Name="PM1.ValveAV32.Feedback" DisplayName="Valve.AV32.Actual" />
-		<Display Name="PM1.ValveAV33.SetPoint" DisplayName="Valve.AV33.Set" />
-		<Display Name="PM1.ValveAV33.Feedback" DisplayName="Valve.AV33.Actual" />
-		<Display Name="PM1.ValveAV34.SetPoint" DisplayName="Valve.AV34.Set" />
-		<Display Name="PM1.ValveAV34.Feedback" DisplayName="Valve.AV34.Actual" />
-		<Display Name="PM1.ValveAV35.SetPoint" DisplayName="Valve.AV35.Set" />
-		<Display Name="PM1.ValveAV35.Feedback" DisplayName="Valve.AV35.Actual" />
-		<Display Name="PM1.ValveAV36.SetPoint" DisplayName="Valve.AV36.Set" />
-		<Display Name="PM1.ValveAV36.Feedback" DisplayName="Valve.AV36.Actual" />
-		<Display Name="PM1.ValveAV37.SetPoint" DisplayName="Valve.AV37.Set" />
-		<Display Name="PM1.ValveAV37.Feedback" DisplayName="Valve.AV37.Actual" />
-		<Display Name="PM1.ValveAV38.SetPoint" DisplayName="Valve.AV38.Set" />
-		<Display Name="PM1.ValveAV38.Feedback" DisplayName="Valve.AV38.Actual" />
-		<Display Name="PM1.ValveAV39.SetPoint" DisplayName="Valve.AV39.Set" />
-		<Display Name="PM1.ValveAV39.Feedback" DisplayName="Valve.AV39.Actual" />
-		<Display Name="PM1.ValveAV40.SetPoint" DisplayName="Valve.AV40.Set" />
-		<Display Name="PM1.ValveAV40.Feedback" DisplayName="Valve.AV40.Actual" />
-		<Display Name="PM1.ValveAV41.SetPoint" DisplayName="Valve.AV41.Set" />
-		<Display Name="PM1.ValveAV41.Feedback" DisplayName="Valve.AV41.Actual" />
-		<Display Name="PM1.ValveAV42.SetPoint" DisplayName="Valve.AV42.Set" />
-		<Display Name="PM1.ValveAV42.Feedback" DisplayName="Valve.AV42.Actual" />
-		<Display Name="PM1.ValveAV43.SetPoint" DisplayName="Valve.AV43.Set" />
-		<Display Name="PM1.ValveAV43.Feedback" DisplayName="Valve.AV43.Actual" />
-		<Display Name="PM1.ValveAV44.SetPoint" DisplayName="Valve.AV44.Set" />
-		<Display Name="PM1.ValveAV44.Feedback" DisplayName="Valve.AV44.Actual" />
-		<Display Name="PM1.ValveAV45.SetPoint" DisplayName="Valve.AV45.Set" />
-		<Display Name="PM1.ValveAV45.Feedback" DisplayName="Valve.AV45.Actual" />
-		<Display Name="PM1.ValveAV46.SetPoint" DisplayName="Valve.AV46.Set" />
-		<Display Name="PM1.ValveAV46.Feedback" DisplayName="Valve.AV46.Actual" />
-		<Display Name="PM1.ValveAV47.SetPoint" DisplayName="Valve.AV47.Set" />
-		<Display Name="PM1.ValveAV47.Feedback" DisplayName="Valve.AV47.Actual" />
-		<Display Name="PM1.ValveAV48.SetPoint" DisplayName="Valve.AV48.Set" />
-		<Display Name="PM1.ValveAV48.Feedback" DisplayName="Valve.AV48.Actual" />
-		<Display Name="PM1.ValveAV49.SetPoint" DisplayName="Valve.AV49.Set" />
-		<Display Name="PM1.ValveAV49.Feedback" DisplayName="Valve.AV49.Actual" />
-		<Display Name="PM1.ValveAV50.SetPoint" DisplayName="Valve.AV50.Set" />
-		<Display Name="PM1.ValveAV50.Feedback" DisplayName="Valve.AV50.Actual" />
-		<Display Name="PM1.ValveAV51.SetPoint" DisplayName="Valve.AV51.Set" />
-		<Display Name="PM1.ValveAV51.Feedback" DisplayName="Valve.AV51.Actual" />
-		<Display Name="PM1.ValveAV52.SetPoint" DisplayName="Valve.AV52.Set" />
-		<Display Name="PM1.ValveAV52.Feedback" DisplayName="Valve.AV52.Actual" />
-		<Display Name="PM1.ValveAV53.SetPoint" DisplayName="Valve.AV52.Set" />
-		<Display Name="PM1.ValveAV53.Feedback" DisplayName="Valve.AV52.Actual" />
-		<Display Name="PM1.ValveAV54.SetPoint" DisplayName="Valve.AV54.Set" />
-		<Display Name="PM1.ValveAV54.Feedback" DisplayName="Valve.AV54.Actual" />
-		<Display Name="PM1.ValveAV55.SetPoint" DisplayName="Valve.AV54.Set" />
-		<Display Name="PM1.ValveAV55.Feedback" DisplayName="Valve.AV54.Actual" />
-		<Display Name="PM1.ValveAV56.SetPoint" DisplayName="Valve.AV56.Set" />
-		<Display Name="PM1.ValveAV56.Feedback" DisplayName="Valve.AV56.Actual" />
-		<Display Name="PM1.ValveAV57.SetPoint" DisplayName="Valve.AV57.Set" />
-		<Display Name="PM1.ValveAV57.Feedback" DisplayName="Valve.AV57.Actual" />
-		<Display Name="PM1.ValveAV58.SetPoint" DisplayName="Valve.AV58.Set" />
-		<Display Name="PM1.ValveAV58.Feedback" DisplayName="Valve.AV58.Actual" />
-		<Display Name="PM1.ValveAV59.SetPoint" DisplayName="Valve.AV59.Set" />
-		<Display Name="PM1.ValveAV59.Feedback" DisplayName="Valve.AV59.Actual" />
-		<Display Name="PM1.ValveAV60.SetPoint" DisplayName="Valve.AV60.Set" />
-		<Display Name="PM1.ValveAV60.Feedback" DisplayName="Valve.AV60.Actual" />
-		<Display Name="PM1.ValveAV65.SetPoint" DisplayName="Valve.AV65.Set" />
-		<Display Name="PM1.ValveAV65.Feedback" DisplayName="Valve.AV65.Actual" />
-		<Display Name="PM1.ValveAV66.SetPoint" DisplayName="Valve.AV66.Set" />
-		<Display Name="PM1.ValveAV66.Feedback" DisplayName="Valve.AV66.Actual" />
-		<Display Name="PM1.ValveAV68.SetPoint" DisplayName="Valve.AV68.Set" />
-		<Display Name="PM1.ValveAV68.Feedback" DisplayName="Valve.AV68.Actual" />
-		<Display Name="PM1.ValveAV71.SetPoint" DisplayName="Valve.AV71.Set" />
-		<Display Name="PM1.ValveAV71.Feedback" DisplayName="Valve.AV71.Actual" />
-		<Display Name="PM1.ValveAV72.SetPoint" DisplayName="Valve.AV72.Set" />
-		<Display Name="PM1.ValveAV72.Feedback" DisplayName="Valve.AV72.Actual" />
-		<Display Name="PM1.ValveAV73.SetPoint" DisplayName="Valve.AV73.Set" />
-		<Display Name="PM1.ValveAV73.Feedback" DisplayName="Valve.AV73.Actual" />
-		<Display Name="PM1.ValveAV74.SetPoint" DisplayName="Valve.AV74.Set" />
-		<Display Name="PM1.ValveAV74.Feedback" DisplayName="Valve.AV74.Actual" />
-		<Display Name="PM1.ValveAV75.SetPoint" DisplayName="Valve.AV75.Set" />
-		<Display Name="PM1.ValveAV75.Feedback" DisplayName="Valve.AV75.Actual" />
-		<Display Name="PM1.ValveAV77.SetPoint" DisplayName="Valve.AV77.Set" />
-		<Display Name="PM1.ValveAV77.Feedback" DisplayName="Valve.AV77.Actual" />
-		<Display Name="PM1.ValveAV81.SetPoint" DisplayName="Valve.AV81.Set" />
-		<Display Name="PM1.ValveAV81.Feedback" DisplayName="Valve.AV81.Actual" />
-		<Display Name="PM1.ValveAV82.SetPoint" DisplayName="Valve.AV82.Set" />
-		<Display Name="PM1.ValveAV82.Feedback" DisplayName="Valve.AV82.Actual" />
-		<Display Name="PM1.ValveAV83.SetPoint" DisplayName="Valve.AV83.Set" />
-		<Display Name="PM1.ValveAV83.Feedback" DisplayName="Valve.AV83.Actual" />
-		<Display Name="PM1.ValveAV91.SetPoint" DisplayName="Valve.AV91.Set" />
-		<Display Name="PM1.ValveAV91.Feedback" DisplayName="Valve.AV91.Actual" />
-		<Display Name="PM1.ValveAV92.SetPoint" DisplayName="Valve.AV92.Set" />
-		<Display Name="PM1.ValveAV92.Feedback" DisplayName="Valve.AV92.Actual" />
-		<Display Name="PM1.ValveAV93.SetPoint" DisplayName="Valve.AV93.Set" />
-		<Display Name="PM1.ValveAV93.Feedback" DisplayName="Valve.AV93.Actual" />
-		<Display Name="PM1.ValveAV94.SetPoint" DisplayName="Valve.AV94.Set" />
-		<Display Name="PM1.ValveAV94.Feedback" DisplayName="Valve.AV94.Actual" />
-		<Display Name="PM1.ValveAV95.SetPoint" DisplayName="Valve.AV95.Set" />
-		<Display Name="PM1.ValveAV95.Feedback" DisplayName="Valve.AV95.Actual" />
-		<Display Name="PM1.ValveAV96.SetPoint" DisplayName="Valve.AV96.Set" />
-		<Display Name="PM1.ValveAV96.Feedback" DisplayName="Valve.AV96.Actual" />
-		<Display Name="PM1.ValveAV202LADoor.SetPoint" DisplayName="Valve.AV202.Set" />
-		<Display Name="PM1.ValveAV202LADoor.Feedback" DisplayName="Valve.AV202.Actual" />
-		<Display Name="PM1.ValveSV61.SetPoint" DisplayName="Valve.SV61.Set" />
-		<Display Name="PM1.ValveSV61.Feedback" DisplayName="Valve.SV61.Actual" />
-		<Display Name="PM1.ValveSV62.Feedback" DisplayName="Valve.SV62.Actual" />
-		<Display Name="PM1.ValveSV63.SetPoint" DisplayName="Valve.SV63.Set" />
-		<Display Name="PM1.ValveSV63.Feedback" DisplayName="Valve.SV63.Actual" />
-		<Display Name="PM1.ValveSV64.SetPoint" DisplayName="Valve.SV64.Set" />
-		<Display Name="PM1.ValveSV64.Feedback" DisplayName="Valve.SV64.Actual" />
-    <Display Name="PM1.HREF.SetPoint" DisplayName="Valve.HREF.Set" />
-		<Display Name="PM1.HREF.Feedback" DisplayName="Valve.HREF.Actual" />
-		<Display Name="PM1.IsCEXHOn" DisplayName="Valve.IsCEXHOn" />
-		<Display Name="PM1.IsCREFOn" DisplayName="Valve.IsCREFOn" />
-		<Display Name="PM1.IsDEPOOn" DisplayName="Valve.IsDEPOOn" />
-		<Display Name="PM1.IsError" DisplayName="Valve.IsError" />
-		<Display Name="PM1.ValveAV201.SetPoint" DisplayName="Valve.Common Box Pressure Regulating.Set" />
-		<Display Name="PM1.ValveAV201.Feedback" DisplayName="Valve.Common Box Pressure Regulating.Actual" />
-		<Display Name="PM1.ValveAV202.SetPoint" DisplayName="Valve.LA Backside Door.Set" />
-		<Display Name="PM1.ValveAV202.Feedback" DisplayName="Valve.LA Backside Door.Actual" />
-		<Display Name="PM1.ValveLAExhaustDamper.SetPoint" DisplayName="Valve.LA Exhaust Damper.Set" />
-		<Display Name="PM1.ValveLAExhaustDamper.Feedback" DisplayName="Valve.LA Exhaust Damper.Actual" />
-		<Display Name="PM1.ValveLADamper.SetPoint" DisplayName="Valve.LA Damper.Set" />
-		<Display Name="PM1.ValveLADamper.Feedback" DisplayName="Valve.LA Damper.Actual" />
-		<Display Name="PM1.ValveFIMS1N2Purge.SetPoint" DisplayName="Valve.FIMS1 N2 Purge.Set" />
-		<Display Name="PM1.ValveFIMS1N2Purge.Feedback" DisplayName="Valve.FIMS1 N2 Purge.Actual" />
-		<Display Name="PM1.ValveFIMS2N2Purge.SetPoint" DisplayName="Valve.FIMS2 N2 Purge.Set" />
-		<Display Name="PM1.ValveFIMS2N2Purge.Feedback" DisplayName="Valve.FIMS2 N2 Purge.Actual" />
-		<Display Name="PM1.ValveBlowerPowerOn.SetPoint" DisplayName="Valve.BWR.Set" />
-		<Display Name="PM1.ValveBlowerPowerOn.Feedback" DisplayName="Valve.BWR.Actual" />
-		<Display Name="PM1.ValveAV91.SetPoint" DisplayName="Valve.DPR.Set" />
-		<Display Name="PM1.ValveAV91.Feedback" DisplayName="Valve.DPR.Actual" />
-		<Display Name="PM1.AUCPump.SetPoint" DisplayName="Valve.AUC Pump.Set" />
-		<Display Name="PM1.AUCPump.Feedback" DisplayName="Valve.AUC Pump.Actual" />
-		<Display Name="PM1.AGVPump.SetPoint" DisplayName="Valve.AGV Pump.Set" />
-		<Display Name="PM1.AGVPump.Feedback" DisplayName="Valve.AGV Pump.Actual" />
-		<Display Name="PM1.AGV2Pump.SetPoint" DisplayName="Valve.AGV2 Pump.Set" />
-		<Display Name="PM1.AGV2Pump.Feedback" DisplayName="Valve.AGV2 Pump.Actual" />
-		<Display Name="PM1.BothPump.SetPoint" DisplayName="Valve.Both Pump.Set" />
-		<Display Name="PM1.BothPump.Feedback" DisplayName="Valve.Both Pump.Actual" />
-		<Display Name="PM1.MFC1.SetPoint" DisplayName="MFC.MFC1.Set" />
-		<Display Name="PM1.MFC1.Feedback" DisplayName="MFC.MFC1.Actual" />
-		<Display Name="PM1.MFC2.SetPoint" DisplayName="MFC.MFC2.Set" />
-		<Display Name="PM1.MFC2.Feedback" DisplayName="MFC.MFC2.Actual" />
-		<Display Name="PM1.MFC3.SetPoint" DisplayName="MFC.MFC3.Set" />
-		<Display Name="PM1.MFC3.Feedback" DisplayName="MFC.MFC3.Actual" />
-		<Display Name="PM1.MFC4.SetPoint" DisplayName="MFC.MFC4.Set" />
-		<Display Name="PM1.MFC4.Feedback" DisplayName="MFC.MFC4.Actual" />
-		<Display Name="PM1.MFC5.SetPoint" DisplayName="MFC.MFC5.Set" />
-		<Display Name="PM1.MFC5.Feedback" DisplayName="MFC.MFC5.Actual" />
-		<Display Name="PM1.MFC6.SetPoint" DisplayName="MFC.MFC6.Set" />
-		<Display Name="PM1.MFC6.Feedback" DisplayName="MFC.MFC6.Actual" />
-		<Display Name="PM1.MFC7.SetPoint" DisplayName="MFC.MFC7.Set" />
-		<Display Name="PM1.MFC7.Feedback" DisplayName="MFC.MFC7.Actual" />
-		<Display Name="PM1.MFC8.SetPoint" DisplayName="MFC.MFC8.Set" />
-		<Display Name="PM1.MFC8.Feedback" DisplayName="MFC.MFC8.Actual" />
-		<Display Name="PM1.MFC9.SetPoint" DisplayName="MFC.MFC9.Set" />
-		<Display Name="PM1.MFC9.Feedback" DisplayName="MFC.MFC9.Actual" />
-		<Display Name="PM1.MFC10.SetPoint" DisplayName="MFC.MFC10.Set" />
-		<Display Name="PM1.MFC10.Feedback" DisplayName="MFC.MFC10.Actual" />
-		<Display Name="PM1.MFC11.SetPoint" DisplayName="MFC.MFC11.Set" />
-		<Display Name="PM1.MFC11.Feedback" DisplayName="MFC.MFC11.Actual" />
-		<Display Name="PM1.MFC12.SetPoint" DisplayName="MFC.MFC12.Set" />
-		<Display Name="PM1.MFC12.Feedback" DisplayName="MFC.MFC12.Actual" />
-		<Display Name="PM1.MFC13.SetPoint" DisplayName="MFC.MFC13.Set" />
-		<Display Name="PM1.MFC13.Feedback" DisplayName="MFC.MFC13.Actual" />
-		<Display Name="PM1.MFC14.SetPoint" DisplayName="MFC.MFC14.Set" />
-		<Display Name="PM1.MFC14.Feedback" DisplayName="MFC.MFC14.Actual" />
-		<Display Name="PM1.MFC15.SetPoint" DisplayName="MFC.MFC15.Set" />
-		<Display Name="PM1.MFC15.Feedback" DisplayName="MFC.MFC15.Actual" />
-		<Display Name="PM1.MFC16.SetPoint" DisplayName="MFC.MFC16.Set" />
-		<Display Name="PM1.MFC16.Feedback" DisplayName="MFC.MFC16.Actual" />
-		<Display Name="PM1.MFC17.SetPoint" DisplayName="MFC.MFC17.Set" />
-		<Display Name="PM1.MFC17.Feedback" DisplayName="MFC.MFC17.Actual" />
-		<Display Name="PM1.MFC31.SetPoint" DisplayName="MFC.MFC31.Set" />
-		<Display Name="PM1.MFC31.Feedback" DisplayName="MFC.MFC31.Actual" />
-		<Display Name="PM1.MFC32.SetPoint" DisplayName="MFC.MFC32.Set" />
-		<Display Name="PM1.MFC32.Feedback" DisplayName="MFC.MFC32.Actual" />
-		<Display Name="PM1.MFC51.SetPoint" DisplayName="MFC.MFC51.Set" />
-		<Display Name="PM1.MFC51.Feedback" DisplayName="MFC.MFC51.Actual" />
-		<Display Name="PM1.ForelineHeater1.TempFeedback" DisplayName="HeaterBand.Foreline Heater1.Actual" />
-		<Display Name="PM1.ForelineHeater1.TempSetPoint" DisplayName="HeaterBand.Foreline Heater1.Set" />
-		<Display Name="PM1.ForelineHeater2.TempFeedback" DisplayName="HeaterBand.Foreline Heater2.Actual" />
-		<Display Name="PM1.ForelineHeater2.TempSetPoint" DisplayName="HeaterBand.Foreline Heater2.Set" />
-		<Display Name="PM1.ForelineHeater3.TempFeedback" DisplayName="HeaterBand.Foreline Heater3.Actual" />
-		<Display Name="PM1.ForelineHeater3.TempSetPoint" DisplayName="HeaterBand.Foreline Heater3.Set" />
-		<Display Name="PM1.ForelineHeater4.TempFeedback" DisplayName="HeaterBand.Foreline Heater4.Actual" />
-		<Display Name="PM1.ForelineHeater4.TempSetPoint" DisplayName="HeaterBand.Foreline Heater4.Set" />
-		<Display Name="PM1.ForelineHeater5.TempFeedback" DisplayName="HeaterBand.Foreline Heater5.Actual" />
-		<Display Name="PM1.ForelineHeater5.TempSetPoint" DisplayName="HeaterBand.Foreline Heater5.Set" />
-		<Display Name="PM1.ForelineHeater6.TempFeedback" DisplayName="HeaterBand.Foreline Heater6.Actual" />
-		<Display Name="PM1.ForelineHeater6.TempSetPoint" DisplayName="HeaterBand.Foreline Heater6.Set" />
-		<Display Name="PM1.ForelineHeater7.TempFeedback" DisplayName="HeaterBand.Foreline Heater7.Actual" />
-		<Display Name="PM1.ForelineHeater7.TempSetPoint" DisplayName="HeaterBand.Foreline Heater7.Set" />
-		<Display Name="PM1.ForelineHeater8.TempFeedback" DisplayName="HeaterBand.Foreline Heater8.Actual" />
-		<Display Name="PM1.ForelineHeater8.TempSetPoint" DisplayName="HeaterBand.Foreline Heater8.Set" />
-		<Display Name="PM1.ForelineHeater9.TempFeedback" DisplayName="HeaterBand.Foreline Heater9.Actual" />
-		<Display Name="PM1.ForelineHeater9.TempSetPoint" DisplayName="HeaterBand.Foreline Heater9.Set" />
-		<Display Name="PM1.ForelineHeater10.TempFeedback" DisplayName="HeaterBand.Foreline Heater10.Actual" />
-		<Display Name="PM1.ForelineHeater10.TempSetPoint" DisplayName="HeaterBand.Foreline Heater10.Set" />
-		<Display Name="PM1.ForelineHeater11.TempFeedback" DisplayName="HeaterBand.Foreline Heater11.Actual" />
-		<Display Name="PM1.ForelineHeater11.TempSetPoint" DisplayName="HeaterBand.Foreline Heater11.Set" />
-		<Display Name="PM1.ForelineHeater12.TempFeedback" DisplayName="HeaterBand.Foreline Heater12.Actual" />
-		<Display Name="PM1.ForelineHeater12.TempSetPoint" DisplayName="HeaterBand.Foreline Heater12.Set" />
-		<Display Name="PM1.CapHeater.TempFeedback" DisplayName="HeaterBand.Cap Heater.Actual" />
-		<Display Name="PM1.CapHeater.TempSetPoint" DisplayName="HeaterBand.Cap Heater.Set" />
-		<Display Name="PM1.APCExternalHeater.TempFeedback" DisplayName="HeaterBand.APC External Heater.Actual" />
-		<Display Name="PM1.APCExternalHeater.TempSetPoint" DisplayName="HeaterBand.APC External Heater.Set" />
-		<Display Name="PM1.APCRingHeater.TempFeedback" DisplayName="HeaterBand.APC Ring Heater.Actual" />
-		<Display Name="PM1.APCRingHeater.TempSetPoint" DisplayName="HeaterBand.APC Ring Heater.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH1.TempFeedback" DisplayName="HeaterBand.Unit1 CH1.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH1.TempSetPoint" DisplayName="HeaterBand.Unit1 CH1.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH2.TempFeedback" DisplayName="HeaterBand.Unit1 CH2.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH2.TempSetPoint" DisplayName="HeaterBand.Unit1 CH2.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH3.TempFeedback" DisplayName="HeaterBand.Unit1 CH3.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH3.TempSetPoint" DisplayName="HeaterBand.Unit1 CH3.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH4.TempFeedback" DisplayName="HeaterBand.Unit1 CH4.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH4.TempSetPoint" DisplayName="HeaterBand.Unit1 CH4.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH5.TempFeedback" DisplayName="HeaterBand.Unit1 CH5.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH5.TempSetPoint" DisplayName="HeaterBand.Unit1 CH5.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH6.TempFeedback" DisplayName="HeaterBand.Unit1 CH6.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH6.TempSetPoint" DisplayName="HeaterBand.Unit1 CH6.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH7.TempFeedback" DisplayName="HeaterBand.Unit1 CH7.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH7.TempSetPoint" DisplayName="HeaterBand.Unit1 CH7.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH8.TempFeedback" DisplayName="HeaterBand.Unit1 CH8.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH8.TempSetPoint" DisplayName="HeaterBand.Unit1 CH8.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH9.TempFeedback" DisplayName="HeaterBand.Unit1 CH9.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH9.TempSetPoint" DisplayName="HeaterBand.Unit1 CH9.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH10.TempFeedback" DisplayName="HeaterBand.Unit1 CH10.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH10.TempSetPoint" DisplayName="HeaterBand.Unit1 CH10.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH11.TempFeedback" DisplayName="HeaterBand.Unit1 CH11.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH11.TempSetPoint" DisplayName="HeaterBand.Unit1 CH11.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH12.TempFeedback" DisplayName="HeaterBand.Unit1 CH12.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH12.TempSetPoint" DisplayName="HeaterBand.Unit1 CH12.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH13.TempFeedback" DisplayName="HeaterBand.Unit1 CH13.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH13.TempSetPoint" DisplayName="HeaterBand.Unit1 CH13.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH14.TempFeedback" DisplayName="HeaterBand.Unit1 CH14.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH14.TempSetPoint" DisplayName="HeaterBand.Unit1 CH14.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH15.TempFeedback" DisplayName="HeaterBand.Unit1 CH15.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH15.TempSetPoint" DisplayName="HeaterBand.Unit1 CH15.Set" />
-		<Display Name="PM1.GaslineHeaterUnit1CH16.TempFeedback" DisplayName="HeaterBand.Unit1 CH16.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit1CH16.TempSetPoint" DisplayName="HeaterBand.Unit1 CH16.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH1.TempFeedback" DisplayName="HeaterBand.Unit2 CH1.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH1.TempSetPoint" DisplayName="HeaterBand.Unit2 CH1.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH2.TempFeedback" DisplayName="HeaterBand.Unit2 CH2.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH2.TempSetPoint" DisplayName="HeaterBand.Unit2 CH2.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH3.TempFeedback" DisplayName="HeaterBand.Unit2 CH3.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH3.TempSetPoint" DisplayName="HeaterBand.Unit2 CH3.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH4.TempFeedback" DisplayName="HeaterBand.Unit2 CH4.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH4.TempSetPoint" DisplayName="HeaterBand.Unit2 CH4.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH5.TempFeedback" DisplayName="HeaterBand.Unit2 CH5.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH5.TempSetPoint" DisplayName="HeaterBand.Unit2 CH5.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH6.TempFeedback" DisplayName="HeaterBand.Unit2 CH6.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH6.TempSetPoint" DisplayName="HeaterBand.Unit2 CH6.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH7.TempFeedback" DisplayName="HeaterBand.Unit2 CH7.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH7.TempSetPoint" DisplayName="HeaterBand.Unit2 CH7.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH8.TempFeedback" DisplayName="HeaterBand.Unit2 CH8.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH8.TempSetPoint" DisplayName="HeaterBand.Unit2 CH8.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH9.TempFeedback" DisplayName="HeaterBand.Unit2 CH9.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH9.TempSetPoint" DisplayName="HeaterBand.Unit2 CH9.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH10.TempFeedback" DisplayName="HeaterBand.Unit2 CH10.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH10.TempSetPoint" DisplayName="HeaterBand.Unit2 CH10.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH11.TempFeedback" DisplayName="HeaterBand.Unit2 CH11.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH11.TempSetPoint" DisplayName="HeaterBand.Unit2 CH11.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH12.TempFeedback" DisplayName="HeaterBand.Unit2 CH12.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH12.TempSetPoint" DisplayName="HeaterBand.Unit2 CH12.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH13.TempFeedback" DisplayName="HeaterBand.Unit2 CH13.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH13.TempSetPoint" DisplayName="HeaterBand.Unit2 CH13.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH14.TempFeedback" DisplayName="HeaterBand.Unit2 CH14.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH14.TempSetPoint" DisplayName="HeaterBand.Unit2 CH14.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH15.TempFeedback" DisplayName="HeaterBand.Unit2 CH15.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH15.TempSetPoint" DisplayName="HeaterBand.Unit2 CH15.Set" />
-		<Display Name="PM1.GaslineHeaterUnit2CH16.TempFeedback" DisplayName="HeaterBand.Unit2 CH16.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit2CH16.TempSetPoint" DisplayName="HeaterBand.Unit2 CH16.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH1.TempFeedback" DisplayName="HeaterBand.Unit3 CH1.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH1.TempSetPoint" DisplayName="HeaterBand.Unit3 CH1.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH2.TempFeedback" DisplayName="HeaterBand.Unit3 CH2.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH2.TempSetPoint" DisplayName="HeaterBand.Unit3 CH2.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH3.TempFeedback" DisplayName="HeaterBand.Unit3 CH3.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH3.TempSetPoint" DisplayName="HeaterBand.Unit3 CH3.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH4.TempFeedback" DisplayName="HeaterBand.Unit3 CH4.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH4.TempSetPoint" DisplayName="HeaterBand.Unit3 CH4.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH5.TempFeedback" DisplayName="HeaterBand.Unit3 CH5.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH5.TempSetPoint" DisplayName="HeaterBand.Unit3 CH5.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH6.TempFeedback" DisplayName="HeaterBand.Unit3 CH6.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH6.TempSetPoint" DisplayName="HeaterBand.Unit3 CH6.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH7.TempFeedback" DisplayName="HeaterBand.Unit3 CH7.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH7.TempSetPoint" DisplayName="HeaterBand.Unit3 CH7.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH8.TempFeedback" DisplayName="HeaterBand.Unit3 CH8.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH8.TempSetPoint" DisplayName="HeaterBand.Unit3 CH8.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH9.TempFeedback" DisplayName="HeaterBand.Unit3 CH9.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH9.TempSetPoint" DisplayName="HeaterBand.Unit3 CH9.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH10.TempFeedback" DisplayName="HeaterBand.Unit3 CH10.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH10.TempSetPoint" DisplayName="HeaterBand.Unit3 CH10.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH11.TempFeedback" DisplayName="HeaterBand.Unit3 CH11.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH11.TempSetPoint" DisplayName="HeaterBand.Unit3 CH11.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH12.TempFeedback" DisplayName="HeaterBand.Unit3 CH12.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH12.TempSetPoint" DisplayName="HeaterBand.Unit3 CH12.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH13.TempFeedback" DisplayName="HeaterBand.Unit3 CH13.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH13.TempSetPoint" DisplayName="HeaterBand.Unit3 CH13.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH14.TempFeedback" DisplayName="HeaterBand.Unit3 CH14.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH14.TempSetPoint" DisplayName="HeaterBand.Unit3 CH14.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH15.TempFeedback" DisplayName="HeaterBand.Unit3 CH15.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH15.TempSetPoint" DisplayName="HeaterBand.Unit3 CH15.Set" />
-		<Display Name="PM1.GaslineHeaterUnit3CH16.TempFeedback" DisplayName="HeaterBand.Unit3 CH16.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit3CH16.TempSetPoint" DisplayName="HeaterBand.Unit3 CH16.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH1.TempFeedback" DisplayName="HeaterBand.Unit4 CH1.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH1.TempSetPoint" DisplayName="HeaterBand.Unit4 CH1.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH2.TempFeedback" DisplayName="HeaterBand.Unit4 CH2.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH2.TempSetPoint" DisplayName="HeaterBand.Unit4 CH2.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH3.TempFeedback" DisplayName="HeaterBand.Unit4 CH3.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH3.TempSetPoint" DisplayName="HeaterBand.Unit4 CH3.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH4.TempFeedback" DisplayName="HeaterBand.Unit4 CH4.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH4.TempSetPoint" DisplayName="HeaterBand.Unit4 CH4.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH5.TempFeedback" DisplayName="HeaterBand.Unit4 CH5.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH5.TempSetPoint" DisplayName="HeaterBand.Unit4 CH5.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH6.TempFeedback" DisplayName="HeaterBand.Unit4 CH6.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH6.TempSetPoint" DisplayName="HeaterBand.Unit4 CH6.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH7.TempFeedback" DisplayName="HeaterBand.Unit4 CH7.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH7.TempSetPoint" DisplayName="HeaterBand.Unit4 CH7.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH8.TempFeedback" DisplayName="HeaterBand.Unit4 CH8.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH8.TempSetPoint" DisplayName="HeaterBand.Unit4 CH8.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH9.TempFeedback" DisplayName="HeaterBand.Unit4 CH9.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH9.TempSetPoint" DisplayName="HeaterBand.Unit4 CH9.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH10.TempFeedback" DisplayName="HeaterBand.Unit4 CH10.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH10.TempSetPoint" DisplayName="HeaterBand.Unit4 CH10.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH11.TempFeedback" DisplayName="HeaterBand.Unit4 CH11.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH11.TempSetPoint" DisplayName="HeaterBand.Unit4 CH11.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH12.TempFeedback" DisplayName="HeaterBand.Unit4 CH12.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH12.TempSetPoint" DisplayName="HeaterBand.Unit4 CH12.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH13.TempFeedback" DisplayName="HeaterBand.Unit4 CH13.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH13.TempSetPoint" DisplayName="HeaterBand.Unit4 CH13.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH14.TempFeedback" DisplayName="HeaterBand.Unit4 CH14.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH14.TempSetPoint" DisplayName="HeaterBand.Unit4 CH14.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH15.TempFeedback" DisplayName="HeaterBand.Unit4 CH15.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH15.TempSetPoint" DisplayName="HeaterBand.Unit4 CH15.Set" />
-		<Display Name="PM1.GaslineHeaterUnit4CH16.TempFeedback" DisplayName="HeaterBand.Unit4 CH16.Actual" />
-		<Display Name="PM1.GaslineHeaterUnit4CH16.TempSetPoint" DisplayName="HeaterBand.Unit4 CH16.Set" />
-    
-		<Display Name="System.HeaterU.TempFeedback" DisplayName="Heater.U.Actual" />
-		<Display Name="System.HeaterU.TempSetPoint" DisplayName="Heater.U.Set" />
-		<Display Name="System.HeaterU.CascadePV" DisplayName="Heater.U.Cascade PV" />
-		<Display Name="System.HeaterU.HeaterPV" DisplayName="Heater.U.Heater PV" />
-		<Display Name="System.HeaterU.UpRate" DisplayName="Heater.U.Up Rate" />
-		<Display Name="System.HeaterU.DownRate" DisplayName="Heater.U.Down Rate" />
-		<Display Name="System.HeaterU.WorkingOutput" DisplayName="Heater.U.Power Output" />
-		<Display Name="System.HeaterU.OverTemp" DisplayName="Heater.U.Over Temp" />
-		<Display Name="System.HeaterU.ControlMode" DisplayName="Heater.U.Control Mode" />
-		<Display Name="System.HeaterU.CascadeControlModeSV" DisplayName="Heater.U.Cascade Control Mode SV" />
-		<Display Name="System.HeaterU.HeaterControlModeSV" DisplayName="Heater.U.Heater Control Mode SV" />
-		<Display Name="System.HeaterCU.TempFeedback" DisplayName="Heater.CU.Actual" />
-		<Display Name="System.HeaterCU.TempSetPoint" DisplayName="Heater.CU.Set" />
-		<Display Name="System.HeaterCU.CascadePV" DisplayName="Heater.CU.Cascade PV" />
-		<Display Name="System.HeaterCU.HeaterPV" DisplayName="Heater.CU.Heater PV" />
-		<Display Name="System.HeaterCU.UpRate" DisplayName="Heater.CU.Up Rate" />
-		<Display Name="System.HeaterCU.DownRate" DisplayName="Heater.CU.Down Rate" />
-		<Display Name="System.HeaterCU.WorkingOutput" DisplayName="Heater.CU.Power Output" />
-		<Display Name="System.HeaterCU.OverTemp" DisplayName="Heater.CU.Over Temp" />
-		<Display Name="System.HeaterCU.ControlMode" DisplayName="Heater.CU.Control Mode" />
-		<Display Name="System.HeaterCU.CascadeControlModeSV" DisplayName="Heater.CU.Cascade Control Mode SV" />
-		<Display Name="System.HeaterCU.HeaterControlModeSV" DisplayName="Heater.CU.Heater Control Mode SV" />
-		<Display Name="System.HeaterC.TempFeedback" DisplayName="Heater.C.Actual" />
-		<Display Name="System.HeaterC.TempSetPoint" DisplayName="Heater.C.Set" />
-		<Display Name="System.HeaterC.CascadePV" DisplayName="Heater.C.Cascade PV" />
-		<Display Name="System.HeaterC.HeaterPV" DisplayName="Heater.C.Heater PV" />
-		<Display Name="System.HeaterC.UpRate" DisplayName="Heater.C.Up Rate" />
-		<Display Name="System.HeaterC.DownRate" DisplayName="Heater.C.Down Rate" />
-		<Display Name="System.HeaterC.WorkingOutput" DisplayName="Heater.C.Power Output" />
-		<Display Name="System.HeaterC.OverTemp" DisplayName="Heater.C.Over Temp" />
-		<Display Name="System.HeaterC.ControlMode" DisplayName="Heater.C.Control Mode" />
-		<Display Name="System.HeaterC.CascadeControlModeSV" DisplayName="Heater.C.Cascade Control Mode SV" />
-		<Display Name="System.HeaterC.HeaterControlModeSV" DisplayName="Heater.C.Heater Control Mode SV" />
-		<Display Name="System.HeaterCL.TempFeedback" DisplayName="Heater.CL.Actual" />
-		<Display Name="System.HeaterCL.TempSetPoint" DisplayName="Heater.CL.Set" />
-		<Display Name="System.HeaterCL.CascadePV" DisplayName="Heater.CL.Cascade PV" />
-		<Display Name="System.HeaterCL.HeaterPV" DisplayName="Heater.CL.Heater PV" />
-		<Display Name="System.HeaterCL.UpRate" DisplayName="Heater.CL.Up Rate" />
-		<Display Name="System.HeaterCL.DownRate" DisplayName="Heater.CL.Down Rate" />
-		<Display Name="System.HeaterCL.WorkingOutput" DisplayName="Heater.CL.Power Output" />
-		<Display Name="System.HeaterCL.OverTemp" DisplayName="Heater.CL.Over Temp" />
-		<Display Name="System.HeaterCL.ControlMode" DisplayName="Heater.CL.Control Mode" />
-		<Display Name="System.HeaterCL.CascadeControlModeSV" DisplayName="Heater.CL.Cascade Control Mode SV" />
-		<Display Name="System.HeaterCL.HeaterControlModeSV" DisplayName="Heater.CL.Heater Control Mode SV" />
-		<Display Name="System.HeaterL.TempFeedback" DisplayName="Heater.L.Actual" />
-		<Display Name="System.HeaterL.TempSetPoint" DisplayName="Heater.L.Set" />
-		<Display Name="System.HeaterL.CascadePV" DisplayName="Heater.L.Cascade PV" />
-		<Display Name="System.HeaterL.HeaterPV" DisplayName="Heater.L.Heater PV" />
-		<Display Name="System.HeaterL.UpRate" DisplayName="Heater.L.Up Rate" />
-		<Display Name="System.HeaterL.DownRate" DisplayName="Heater.L.Down Rate" />
-		<Display Name="System.HeaterL.WorkingOutput" DisplayName="Heater.L.Power Output" />
-		<Display Name="System.HeaterL.OverTemp" DisplayName="Heater.L.Over Temp" />
-		<Display Name="System.HeaterL.ControlMode" DisplayName="Heater.L.Control Mode" />
-		<Display Name="System.HeaterL.CascadeControlModeSV" DisplayName="Heater.L.Cascade Control Mode SV" />
-		<Display Name="System.HeaterL.HeaterControlModeSV" DisplayName="Heater.L.Heater Control Mode SV" />
+		<Display ColName="APCPressure(set)" Name="PM1.APC.PressureSetPoint" DisplayName="APC.CKD.Pressure Set" />
+		<Display ColName="APCSensor1(act)" Name="PM1.APC.Pressure1Feedback" DisplayName="APC.CKD.Sensor1" />
+		<Display ColName="APCSensor2(act)" Name="PM1.APC.Pressure2Feedback" DisplayName="APC.CKD.Sensor2" />
+		<Display ColName="VG11(act)" Name="PM1.VG11.Value" DisplayName="APC.VG11.Actual" />
+		<Display ColName="VG12(act)" Name="PM1.VG12.Value" DisplayName="APC.VG12.Actual" />
+		<Display ColName="VG13(act)" Name="PM1.VG13.Value" DisplayName="APC.VG13.Actual" />
+		<Display ColName="VG21(act)" Name="PM1.VG21.Value" DisplayName="APC.VG21.Actual" />
+		<Display ColName="VG22(act)" Name="PM1.VG22.Value" DisplayName="APC.VG22.Actual" />
+		<Display ColName="APCMode(act)" Name="PM1.APC.ModeFeedback"     DisplayName="APC.CKD.Mode Actual" />
+		<Display ColName="SlowRate(set)" Name="PM1.APC.SlowRateSetPoint" DisplayName="APC.CKD.SlowRate Set" />
+		<Display ColName="ValveAngle(set)" Name="PM1.APC.PositionSetPoint" DisplayName="APC.CKD.ValveAngle Set" />
+		<Display ColName="ValveAngle(act)" Name="PM1.APC.PositionFeedback" DisplayName="APC.CKD.ValveAngle Actual" />
+		<Display ColName="" Name="PM1.BoatElevatorServo.CurrentPosition" DisplayName="Boat.BoatElevator.Real" />
+		<Display ColName="" Name="PM1.BoatElevatorServo.TargetPosition" DisplayName="Boat.BoatElevator.Target" />
+		<Display ColName="" Name="PM1.BoatElevatorServo.CurrentSpeed" DisplayName="Boat.BoatElevator.Speed" />
+		<Display ColName="" Name="PM1.BoatRotationServo.CurrentPosition" DisplayName="Boat.BoatRotation.Real" />
+		<Display ColName="" Name="PM1.BoatRotationServo.TargetPosition" DisplayName="Boat.BoatRotation.Target" />
+		<Display ColName="" Name="PM1.BoatRotationServo.CurrentSpeed" DisplayName="Boat.BoatRotation.Speed" />
+		<Display   ColName="AV1(set)"   Name="PM1.ValveAV1.SetPoint" DisplayName="Valve.AV1.Set" />
+		<Display   ColName="AV1(act)"   Name="PM1.ValveAV1.Feedback" DisplayName="Valve.AV1.Actual" />
+		<Display   ColName="AV2(set)"   Name="PM1.ValveAV2.SetPoint" DisplayName="Valve.AV2.Set" />
+		<Display   ColName="AV2(act)"   Name="PM1.ValveAV2.Feedback" DisplayName="Valve.AV2.Actual" />
+		<Display   ColName="AV3(set)"   Name="PM1.ValveAV3.SetPoint" DisplayName="Valve.AV3.Set" />
+		<Display   ColName="AV3(act)"   Name="PM1.ValveAV3.Feedback" DisplayName="Valve.AV3.Actual" />
+		<Display   ColName="AV4(set)"   Name="PM1.ValveAV4.SetPoint" DisplayName="Valve.AV4.Set" />
+		<Display   ColName="AV4(act)"   Name="PM1.ValveAV4.Feedback" DisplayName="Valve.AV4.Actual" />
+		<Display   ColName="AV5(set)"   Name="PM1.ValveAV5.SetPoint" DisplayName="Valve.AV5.Set" />
+		<Display   ColName="AV5(act)"   Name="PM1.ValveAV5.Feedback" DisplayName="Valve.AV5.Actual" />
+		<Display   ColName="AV6(set)"   Name="PM1.ValveAV6.SetPoint" DisplayName="Valve.AV6.Set" />
+		<Display   ColName="AV6(act)"   Name="PM1.ValveAV6.Feedback" DisplayName="Valve.AV6.Actual" />
+		<Display   ColName="AV7(set)"   Name="PM1.ValveAV7.SetPoint" DisplayName="Valve.AV7.Set" />
+		<Display   ColName="AV7(act)"   Name="PM1.ValveAV7.Feedback" DisplayName="Valve.AV7.Actual" />
+		<Display   ColName="AV8(set)"   Name="PM1.ValveAV8.SetPoint" DisplayName="Valve.AV8.Set" />
+		<Display   ColName="AV8(act)"   Name="PM1.ValveAV8.Feedback" DisplayName="Valve.AV8.Actual" />
+		<Display   ColName="AV9(set)"   Name="PM1.ValveAV9.SetPoint" DisplayName="Valve.AV9.Set" />
+		<Display   ColName="AV9(act)"   Name="PM1.ValveAV9.Feedback" DisplayName="Valve.AV9.Actual" />
+		<Display   ColName="AV10(set)"  Name="PM1.ValveAV10.SetPoint" DisplayName="Valve.AV10.Set" />
+		<Display   ColName="AV10(act)"  Name="PM1.ValveAV10.Feedback" DisplayName="Valve.AV10.Actual" />
+		<Display   ColName="AV11(set)"  Name="PM1.ValveAV11.SetPoint" DisplayName="Valve.AV11.Set" />
+		<Display   ColName="AV11(act)"  Name="PM1.ValveAV11.Feedback" DisplayName="Valve.AV11.Actual" />
+		<Display   ColName="AV12(set)"  Name="PM1.ValveAV12.SetPoint" DisplayName="Valve.AV12.Set" />
+		<Display   ColName="AV12(act)"  Name="PM1.ValveAV12.Feedback" DisplayName="Valve.AV12.Actual" />
+		<Display   ColName="AV13(set)"  Name="PM1.ValveAV13.SetPoint" DisplayName="Valve.AV13.Set" />
+		<Display   ColName="AV13(act)"  Name="PM1.ValveAV13.Feedback" DisplayName="Valve.AV13.Actual" />
+		<Display   ColName="AV14(set)"  Name="PM1.ValveAV14.SetPoint" DisplayName="Valve.AV14.Set" />
+		<Display   ColName="AV14(act)"  Name="PM1.ValveAV14.Feedback" DisplayName="Valve.AV14.Actual" />
+		<Display   ColName="AV15(set)"  Name="PM1.ValveAV15.SetPoint" DisplayName="Valve.AV15.Set" />
+		<Display   ColName="AV15(act)"  Name="PM1.ValveAV15.Feedback" DisplayName="Valve.AV15.Actual" />
+		<Display   ColName="AV16(set)"  Name="PM1.ValveAV16.SetPoint" DisplayName="Valve.AV16.Set" />
+		<Display   ColName="AV16(act)"  Name="PM1.ValveAV16.Feedback" DisplayName="Valve.AV16.Actual" />
+		<Display   ColName="AV17(set)"  Name="PM1.ValveAV17.SetPoint" DisplayName="Valve.AV17.Set" />
+		<Display   ColName="AV17(act)"  Name="PM1.ValveAV17.Feedback" DisplayName="Valve.AV17.Actual" />
+		<Display   ColName="AV18(set)"  Name="PM1.ValveAV18.SetPoint" DisplayName="Valve.AV18.Set" />
+		<Display   ColName="AV18(act)"  Name="PM1.ValveAV18.Feedback" DisplayName="Valve.AV18.Actual" />
+		<Display   ColName="AV19(set)"  Name="PM1.ValveAV19.SetPoint" DisplayName="Valve.AV19.Set" />
+		<Display   ColName="AV19(act)"  Name="PM1.ValveAV19.Feedback" DisplayName="Valve.AV19.Actual" />
+		<Display   ColName="AV20(set)"  Name="PM1.ValveAV20.SetPoint" DisplayName="Valve.AV20.Set" />
+		<Display   ColName="AV20(act)"  Name="PM1.ValveAV20.Feedback" DisplayName="Valve.AV20.Actual" />
+		<Display   ColName="AV21(set)"  Name="PM1.ValveAV21.SetPoint" DisplayName="Valve.AV21.Set" />
+		<Display   ColName="AV21(act)"  Name="PM1.ValveAV21.Feedback" DisplayName="Valve.AV21.Actual" />
+		<Display   ColName="AV22(set)"  Name="PM1.ValveAV22.SetPoint" DisplayName="Valve.AV22.Set" />
+		<Display   ColName="AV22(act)"  Name="PM1.ValveAV22.Feedback" DisplayName="Valve.AV22.Actual" />
+		<Display   ColName="AV23(set)"  Name="PM1.ValveAV23.SetPoint" DisplayName="Valve.AV23.Set" />
+		<Display   ColName="AV23(act)"  Name="PM1.ValveAV23.Feedback" DisplayName="Valve.AV23.Actual" />
+		<Display   ColName="AV24(set)"  Name="PM1.ValveAV24.SetPoint" DisplayName="Valve.AV24.Set" />
+		<Display   ColName="AV24(act)"  Name="PM1.ValveAV24.Feedback" DisplayName="Valve.AV24.Actual" />
+		<Display   ColName="AV25(set)"  Name="PM1.ValveAV25.SetPoint" DisplayName="Valve.AV25.Set" />
+		<Display   ColName="AV25(act)"  Name="PM1.ValveAV25.Feedback" DisplayName="Valve.AV25.Actual" />
+		<Display   ColName="AV26(set)"  Name="PM1.ValveAV26.SetPoint" DisplayName="Valve.AV26.Set" />
+		<Display   ColName="AV26(act)"  Name="PM1.ValveAV26.Feedback" DisplayName="Valve.AV26.Actual" />
+		<Display   ColName="AV27(set)"  Name="PM1.ValveAV27.SetPoint" DisplayName="Valve.AV27.Set" />
+		<Display   ColName="AV27(act)"  Name="PM1.ValveAV27.Feedback" DisplayName="Valve.AV27.Actual" />
+		<Display   ColName="AV28(set)"  Name="PM1.ValveAV28.SetPoint" DisplayName="Valve.AV28.Set" />
+		<Display   ColName="AV28(act)"  Name="PM1.ValveAV28.Feedback" DisplayName="Valve.AV28.Actual" />
+		<Display   ColName="AV29(set)"  Name="PM1.ValveAV29.SetPoint" DisplayName="Valve.AV29.Set" />
+		<Display   ColName="AV29(act)"  Name="PM1.ValveAV29.Feedback" DisplayName="Valve.AV29.Actual" />
+		<Display   ColName="AV30(set)"  Name="PM1.ValveAV30.SetPoint" DisplayName="Valve.AV30.Set" />
+		<Display   ColName="AV30(act)"  Name="PM1.ValveAV30.Feedback" DisplayName="Valve.AV30.Actual" />
+		<Display   ColName="AV31(set)"  Name="PM1.ValveAV31.SetPoint" DisplayName="Valve.AV31.Set" />
+		<Display   ColName="AV31(act)"  Name="PM1.ValveAV31.Feedback" DisplayName="Valve.AV31.Actual" />
+		<Display   ColName="AV32(set)"  Name="PM1.ValveAV32.SetPoint" DisplayName="Valve.AV32.Set" />
+		<Display   ColName="AV32(act)"  Name="PM1.ValveAV32.Feedback" DisplayName="Valve.AV32.Actual" />
+		<Display   ColName="AV33(set)"  Name="PM1.ValveAV33.SetPoint" DisplayName="Valve.AV33.Set" />
+		<Display   ColName="AV33(act)"  Name="PM1.ValveAV33.Feedback" DisplayName="Valve.AV33.Actual" />
+		<Display   ColName="AV34(set)"  Name="PM1.ValveAV34.SetPoint" DisplayName="Valve.AV34.Set" />
+		<Display   ColName="AV34(act)"  Name="PM1.ValveAV34.Feedback" DisplayName="Valve.AV34.Actual" />
+		<Display   ColName="AV35(set)"  Name="PM1.ValveAV35.SetPoint" DisplayName="Valve.AV35.Set" />
+		<Display   ColName="AV35(act)"  Name="PM1.ValveAV35.Feedback" DisplayName="Valve.AV35.Actual" />
+		<Display   ColName="AV36(set)"  Name="PM1.ValveAV36.SetPoint" DisplayName="Valve.AV36.Set" />
+		<Display   ColName="AV36(act)"  Name="PM1.ValveAV36.Feedback" DisplayName="Valve.AV36.Actual" />
+		<Display   ColName="AV37(set)"  Name="PM1.ValveAV37.SetPoint" DisplayName="Valve.AV37.Set" />
+		<Display   ColName="AV37(act)"  Name="PM1.ValveAV37.Feedback" DisplayName="Valve.AV37.Actual" />
+		<Display   ColName="AV38(set)"  Name="PM1.ValveAV38.SetPoint" DisplayName="Valve.AV38.Set" />
+		<Display   ColName="AV38(act)"  Name="PM1.ValveAV38.Feedback" DisplayName="Valve.AV38.Actual" />
+		<Display   ColName="AV39(set)"  Name="PM1.ValveAV39.SetPoint" DisplayName="Valve.AV39.Set" />
+		<Display   ColName="AV39(act)"  Name="PM1.ValveAV39.Feedback" DisplayName="Valve.AV39.Actual" />
+		<Display   ColName="AV40(set)"  Name="PM1.ValveAV40.SetPoint" DisplayName="Valve.AV40.Set" />
+		<Display   ColName="AV40(act)"  Name="PM1.ValveAV40.Feedback" DisplayName="Valve.AV40.Actual" />
+		<Display   ColName="AV41(set)"  Name="PM1.ValveAV41.SetPoint" DisplayName="Valve.AV41.Set" />
+		<Display   ColName="AV41(act)"  Name="PM1.ValveAV41.Feedback" DisplayName="Valve.AV41.Actual" />
+		<Display   ColName="AV42(set)"  Name="PM1.ValveAV42.SetPoint" DisplayName="Valve.AV42.Set" />
+		<Display   ColName="AV42(act)"  Name="PM1.ValveAV42.Feedback" DisplayName="Valve.AV42.Actual" />
+		<Display   ColName="AV43(set)"  Name="PM1.ValveAV43.SetPoint" DisplayName="Valve.AV43.Set" />
+		<Display   ColName="AV43(act)"  Name="PM1.ValveAV43.Feedback" DisplayName="Valve.AV43.Actual" />
+		<Display   ColName="AV44(set)"  Name="PM1.ValveAV44.SetPoint" DisplayName="Valve.AV44.Set" />
+		<Display   ColName="AV44(act)"  Name="PM1.ValveAV44.Feedback" DisplayName="Valve.AV44.Actual" />
+		<Display   ColName="AV45(set)"  Name="PM1.ValveAV45.SetPoint" DisplayName="Valve.AV45.Set" />
+		<Display   ColName="AV45(act)"  Name="PM1.ValveAV45.Feedback" DisplayName="Valve.AV45.Actual" />
+		<Display   ColName="AV46(set)"  Name="PM1.ValveAV46.SetPoint" DisplayName="Valve.AV46.Set" />
+		<Display   ColName="AV46(act)"  Name="PM1.ValveAV46.Feedback" DisplayName="Valve.AV46.Actual" />
+		<Display   ColName="AV47(set)"  Name="PM1.ValveAV47.SetPoint" DisplayName="Valve.AV47.Set" />
+		<Display   ColName="AV47(act)"  Name="PM1.ValveAV47.Feedback" DisplayName="Valve.AV47.Actual" />
+		<Display   ColName="AV48(set)"  Name="PM1.ValveAV48.SetPoint" DisplayName="Valve.AV48.Set" />
+		<Display   ColName="AV48(act)"  Name="PM1.ValveAV48.Feedback" DisplayName="Valve.AV48.Actual" />
+		<Display   ColName="AV49(set)"  Name="PM1.ValveAV49.SetPoint" DisplayName="Valve.AV49.Set" />
+		<Display   ColName="AV49(act)"  Name="PM1.ValveAV49.Feedback" DisplayName="Valve.AV49.Actual" />
+		<Display   ColName="AV50(set)"  Name="PM1.ValveAV50.SetPoint" DisplayName="Valve.AV50.Set" />
+		<Display   ColName="AV50(act)"  Name="PM1.ValveAV50.Feedback" DisplayName="Valve.AV50.Actual" />
+		<Display   ColName="AV51(set)"  Name="PM1.ValveAV51.SetPoint" DisplayName="Valve.AV51.Set" />
+		<Display   ColName="AV51(act)"  Name="PM1.ValveAV51.Feedback" DisplayName="Valve.AV51.Actual" />
+		<Display   ColName="AV52(set)"  Name="PM1.ValveAV52.SetPoint" DisplayName="Valve.AV52.Set" />
+		<Display   ColName="AV52(act)"  Name="PM1.ValveAV52.Feedback" DisplayName="Valve.AV52.Actual" />
+		<Display   ColName="AV53(set)"  Name="PM1.ValveAV53.SetPoint" DisplayName="Valve.AV52.Set" />
+		<Display   ColName="AV53(act)"  Name="PM1.ValveAV53.Feedback" DisplayName="Valve.AV52.Actual" />
+		<Display   ColName="AV54(set)"  Name="PM1.ValveAV54.SetPoint" DisplayName="Valve.AV54.Set" />
+		<Display   ColName="AV54(act)"  Name="PM1.ValveAV54.Feedback" DisplayName="Valve.AV54.Actual" />
+		<Display   ColName="AV55(set)"  Name="PM1.ValveAV55.SetPoint" DisplayName="Valve.AV54.Set" />
+		<Display   ColName="AV55(act)"  Name="PM1.ValveAV55.Feedback" DisplayName="Valve.AV54.Actual" />
+		<Display   ColName="AV56(set)"  Name="PM1.ValveAV56.SetPoint" DisplayName="Valve.AV56.Set" />
+		<Display   ColName="AV56(act)"  Name="PM1.ValveAV56.Feedback" DisplayName="Valve.AV56.Actual" />
+		<Display   ColName="AV57(set)"  Name="PM1.ValveAV57.SetPoint" DisplayName="Valve.AV57.Set" />
+		<Display   ColName="AV57(act)"  Name="PM1.ValveAV57.Feedback" DisplayName="Valve.AV57.Actual" />
+		<Display   ColName="AV58(set)"  Name="PM1.ValveAV58.SetPoint" DisplayName="Valve.AV58.Set" />
+		<Display   ColName="AV58(act)"  Name="PM1.ValveAV58.Feedback" DisplayName="Valve.AV58.Actual" />
+		<Display   ColName="AV59(set)"  Name="PM1.ValveAV59.SetPoint" DisplayName="Valve.AV59.Set" />
+		<Display   ColName="AV59(act)"  Name="PM1.ValveAV59.Feedback" DisplayName="Valve.AV59.Actual" />
+		<Display   ColName="AV60(set)"  Name="PM1.ValveAV60.SetPoint" DisplayName="Valve.AV60.Set" />
+		<Display   ColName="AV60(act)"  Name="PM1.ValveAV60.Feedback" DisplayName="Valve.AV60.Actual" />
+		<Display   ColName="AV65(set)"  Name="PM1.ValveAV65.SetPoint" DisplayName="Valve.AV65.Set" />
+		<Display   ColName="AV65(act)"  Name="PM1.ValveAV65.Feedback" DisplayName="Valve.AV65.Actual" />
+		<Display   ColName="AV66(set)"  Name="PM1.ValveAV66.SetPoint" DisplayName="Valve.AV66.Set" />
+		<Display   ColName="AV66(act)"  Name="PM1.ValveAV66.Feedback" DisplayName="Valve.AV66.Actual" />
+		<Display   ColName="AV68(set)"  Name="PM1.ValveAV68.SetPoint" DisplayName="Valve.AV68.Set" />
+		<Display   ColName="AV68(act)"  Name="PM1.ValveAV68.Feedback" DisplayName="Valve.AV68.Actual" />
+		<Display   ColName="AV71(set)"  Name="PM1.ValveAV71.SetPoint" DisplayName="Valve.AV71.Set" />
+		<Display   ColName="AV71(act)"  Name="PM1.ValveAV71.Feedback" DisplayName="Valve.AV71.Actual" />
+		<Display   ColName="AV72(set)"  Name="PM1.ValveAV72.SetPoint" DisplayName="Valve.AV72.Set" />
+		<Display   ColName="AV72(act)"  Name="PM1.ValveAV72.Feedback" DisplayName="Valve.AV72.Actual" />
+		<Display   ColName="AV73(set)"  Name="PM1.ValveAV73.SetPoint" DisplayName="Valve.AV73.Set" />
+		<Display   ColName="AV73(act)"  Name="PM1.ValveAV73.Feedback" DisplayName="Valve.AV73.Actual" />
+		<Display   ColName="AV74(set)"  Name="PM1.ValveAV74.SetPoint" DisplayName="Valve.AV74.Set" />
+		<Display   ColName="AV74(act)"  Name="PM1.ValveAV74.Feedback" DisplayName="Valve.AV74.Actual" />
+		<Display   ColName="AV75(set)"  Name="PM1.ValveAV75.SetPoint" DisplayName="Valve.AV75.Set" />
+		<Display   ColName="AV75(act)"  Name="PM1.ValveAV75.Feedback" DisplayName="Valve.AV75.Actual" />
+		<Display   ColName="AV77(set)"  Name="PM1.ValveAV77.SetPoint" DisplayName="Valve.AV77.Set" />
+		<Display   ColName="AV77(act)"  Name="PM1.ValveAV77.Feedback" DisplayName="Valve.AV77.Actual" />
+		<Display   ColName="AV81(set)"  Name="PM1.ValveAV81.SetPoint" DisplayName="Valve.AV81.Set" />
+		<Display   ColName="AV81(act)"  Name="PM1.ValveAV81.Feedback" DisplayName="Valve.AV81.Actual" />
+		<Display   ColName="AV82(set)"  Name="PM1.ValveAV82.SetPoint" DisplayName="Valve.AV82.Set" />
+		<Display   ColName="AV82(act)"  Name="PM1.ValveAV82.Feedback" DisplayName="Valve.AV82.Actual" />
+		<Display   ColName="AV83(set)"  Name="PM1.ValveAV83.SetPoint" DisplayName="Valve.AV83.Set" />
+		<Display   ColName="AV83(act)"  Name="PM1.ValveAV83.Feedback" DisplayName="Valve.AV83.Actual" />
+		<Display   ColName="AV91(set)"  Name="PM1.ValveAV91.SetPoint" DisplayName="Valve.AV91.Set" />
+		<Display   ColName="AV91(act)"  Name="PM1.ValveAV91.Feedback" DisplayName="Valve.AV91.Actual" />
+		<Display   ColName="AV92(set)"  Name="PM1.ValveAV92.SetPoint" DisplayName="Valve.AV92.Set" />
+		<Display   ColName="AV92(act)"  Name="PM1.ValveAV92.Feedback" DisplayName="Valve.AV92.Actual" />
+		<Display   ColName="AV93(set)"  Name="PM1.ValveAV93.SetPoint" DisplayName="Valve.AV93.Set" />
+		<Display   ColName="AV93(act)"  Name="PM1.ValveAV93.Feedback" DisplayName="Valve.AV93.Actual" />
+		<Display   ColName="AV94(set)"  Name="PM1.ValveAV94.SetPoint" DisplayName="Valve.AV94.Set" />
+		<Display   ColName="AV94(act)"  Name="PM1.ValveAV94.Feedback" DisplayName="Valve.AV94.Actual" />
+		<Display   ColName="AV95(set)"  Name="PM1.ValveAV95.SetPoint" DisplayName="Valve.AV95.Set" />
+		<Display   ColName="AV95(act)"  Name="PM1.ValveAV95.Feedback" DisplayName="Valve.AV95.Actual" />
+		<Display   ColName="AV96(set)"  Name="PM1.ValveAV96.SetPoint" DisplayName="Valve.AV96.Set" />
+		<Display   ColName="AV96(act)"  Name="PM1.ValveAV96.Feedback" DisplayName="Valve.AV96.Actual" />
+		<Display ColName="" Name="PM1.ValveAV202LADoor.SetPoint" DisplayName="Valve.AV202.Set" />
+		<Display ColName="" Name="PM1.ValveAV202LADoor.Feedback" DisplayName="Valve.AV202.Actual" />
+		<Display ColName="" Name="PM1.ValveSV61.SetPoint" DisplayName="Valve.SV61.Set" />
+		<Display ColName="" Name="PM1.ValveSV61.Feedback" DisplayName="Valve.SV61.Actual" />
+		<Display ColName="" Name="PM1.ValveSV62.Feedback" DisplayName="Valve.SV62.Actual" />
+		<Display ColName="" Name="PM1.ValveSV63.SetPoint" DisplayName="Valve.SV63.Set" />
+		<Display ColName="" Name="PM1.ValveSV63.Feedback" DisplayName="Valve.SV63.Actual" />
+		<Display ColName="" Name="PM1.ValveSV64.SetPoint" DisplayName="Valve.SV64.Set" />
+		<Display ColName="" Name="PM1.ValveSV64.Feedback" DisplayName="Valve.SV64.Actual" />
+		<Display ColName="" Name="PM1.HREF.SetPoint" DisplayName="Valve.HREF.Set" />
+		<Display ColName="" Name="PM1.HREF.Feedback" DisplayName="Valve.HREF.Actual" />
+		<Display ColName="" Name="PM1.IsCEXHOn" DisplayName="Valve.IsCEXHOn" />
+		<Display ColName="" Name="PM1.IsCREFOn" DisplayName="Valve.IsCREFOn" />
+		<Display ColName="" Name="PM1.IsDEPOOn" DisplayName="Valve.IsDEPOOn" />
+		<Display ColName="" Name="PM1.IsError" DisplayName="Valve.IsError" />
+		<Display ColName="" Name="PM1.ValveAV201.SetPoint" DisplayName="Valve.Common Box Pressure Regulating.Set" />
+		<Display ColName="" Name="PM1.ValveAV201.Feedback" DisplayName="Valve.Common Box Pressure Regulating.Actual" />
+		<Display ColName="" Name="PM1.ValveAV202.SetPoint" DisplayName="Valve.LA Backside Door.Set" />
+		<Display ColName="" Name="PM1.ValveAV202.Feedback" DisplayName="Valve.LA Backside Door.Actual" />
+		<Display ColName="" Name="PM1.ValveLAExhaustDamper.SetPoint" DisplayName="Valve.LA Exhaust Damper.Set" />
+		<Display ColName="" Name="PM1.ValveLAExhaustDamper.Feedback" DisplayName="Valve.LA Exhaust Damper.Actual" />
+		<Display ColName="" Name="PM1.ValveLADamper.SetPoint" DisplayName="Valve.LA Damper.Set" />
+		<Display ColName="" Name="PM1.ValveLADamper.Feedback" DisplayName="Valve.LA Damper.Actual" />
+		<Display ColName="" Name="PM1.ValveFIMS1N2Purge.SetPoint" DisplayName="Valve.FIMS1 N2 Purge.Set" />
+		<Display ColName="" Name="PM1.ValveFIMS1N2Purge.Feedback" DisplayName="Valve.FIMS1 N2 Purge.Actual" />
+		<Display ColName="" Name="PM1.ValveFIMS2N2Purge.SetPoint" DisplayName="Valve.FIMS2 N2 Purge.Set" />
+		<Display ColName="" Name="PM1.ValveFIMS2N2Purge.Feedback" DisplayName="Valve.FIMS2 N2 Purge.Actual" />
+		<Display ColName="" Name="PM1.ValveBlowerPowerOn.SetPoint" DisplayName="Valve.BWR.Set" />
+		<Display ColName="" Name="PM1.ValveBlowerPowerOn.Feedback" DisplayName="Valve.BWR.Actual" />
+		<Display ColName="" Name="PM1.ValveAV91.SetPoint" DisplayName="Valve.DPR.Set" />
+		<Display ColName="" Name="PM1.ValveAV91.Feedback" DisplayName="Valve.DPR.Actual" />
+		<Display ColName="" Name="PM1.AUCPump.SetPoint" DisplayName="Valve.AUC Pump.Set" />
+		<Display ColName="" Name="PM1.AUCPump.Feedback" DisplayName="Valve.AUC Pump.Actual" />
+		<Display ColName="" Name="PM1.AGVPump.SetPoint" DisplayName="Valve.AGV Pump.Set" />
+		<Display ColName="" Name="PM1.AGVPump.Feedback" DisplayName="Valve.AGV Pump.Actual" />
+		<Display ColName="" Name="PM1.AGV2Pump.SetPoint" DisplayName="Valve.AGV2 Pump.Set" />
+		<Display ColName="" Name="PM1.AGV2Pump.Feedback" DisplayName="Valve.AGV2 Pump.Actual" />
+		<Display ColName="" Name="PM1.BothPump.SetPoint" DisplayName="Valve.Both Pump.Set" />
+		<Display ColName="" Name="PM1.BothPump.Feedback" DisplayName="Valve.Both Pump.Actual" />
+		<Display ColName="MFC1(set)"  Name="PM1.MFC1.SetPoint" DisplayName="MFC.MFC1.Set" />
+		<Display ColName="MFC1(act)"  Name="PM1.MFC1.Feedback" DisplayName="MFC.MFC1.Actual" />
+		<Display ColName="MFC2(set)"  Name="PM1.MFC2.SetPoint" DisplayName="MFC.MFC2.Set" />
+		<Display ColName="MFC2(act)"  Name="PM1.MFC2.Feedback" DisplayName="MFC.MFC2.Actual" />
+		<Display ColName="MFC3(set)"  Name="PM1.MFC3.SetPoint" DisplayName="MFC.MFC3.Set" />
+		<Display ColName="MFC3(act)"  Name="PM1.MFC3.Feedback" DisplayName="MFC.MFC3.Actual" />
+		<Display ColName="MFC4(set)"  Name="PM1.MFC4.SetPoint" DisplayName="MFC.MFC4.Set" />
+		<Display ColName="MFC4(act)"  Name="PM1.MFC4.Feedback" DisplayName="MFC.MFC4.Actual" />
+		<Display ColName="MFC5(set)"  Name="PM1.MFC5.SetPoint" DisplayName="MFC.MFC5.Set" />
+		<Display ColName="MFC5(act)"  Name="PM1.MFC5.Feedback" DisplayName="MFC.MFC5.Actual" />
+		<Display ColName="MFC6(set)"  Name="PM1.MFC6.SetPoint" DisplayName="MFC.MFC6.Set" />
+		<Display ColName="MFC6(act)"  Name="PM1.MFC6.Feedback" DisplayName="MFC.MFC6.Actual" />
+		<Display ColName="MFC7(set)"  Name="PM1.MFC7.SetPoint" DisplayName="MFC.MFC7.Set" />
+		<Display ColName="MFC7(act)"  Name="PM1.MFC7.Feedback" DisplayName="MFC.MFC7.Actual" />
+		<Display ColName="MFC8(set)"  Name="PM1.MFC8.SetPoint" DisplayName="MFC.MFC8.Set" />
+		<Display ColName="MFC8(act)"  Name="PM1.MFC8.Feedback" DisplayName="MFC.MFC8.Actual" />
+		<Display ColName="MFC9(set)"  Name="PM1.MFC9.SetPoint" DisplayName="MFC.MFC9.Set" />
+		<Display ColName="MFC9(act)"  Name="PM1.MFC9.Feedback" DisplayName="MFC.MFC9.Actual" />
+		<Display ColName="MFC10(set)" Name="PM1.MFC10.SetPoint" DisplayName="MFC.MFC10.Set" />
+		<Display ColName="MFC10(act)" Name="PM1.MFC10.Feedback" DisplayName="MFC.MFC10.Actual" />
+		<Display ColName="MFC11(set)" Name="PM1.MFC11.SetPoint" DisplayName="MFC.MFC11.Set" />
+		<Display ColName="MFC11(act)" Name="PM1.MFC11.Feedback" DisplayName="MFC.MFC11.Actual" />
+		<Display ColName="MFC12(set)" Name="PM1.MFC12.SetPoint" DisplayName="MFC.MFC12.Set" />
+		<Display ColName="MFC12(act)" Name="PM1.MFC12.Feedback" DisplayName="MFC.MFC12.Actual" />
+		<Display ColName="MFC13(set)" Name="PM1.MFC13.SetPoint" DisplayName="MFC.MFC13.Set" />
+		<Display ColName="MFC13(act)" Name="PM1.MFC13.Feedback" DisplayName="MFC.MFC13.Actual" />
+		<Display ColName="MFC14(set)" Name="PM1.MFC14.SetPoint" DisplayName="MFC.MFC14.Set" />
+		<Display ColName="MFC14(act)" Name="PM1.MFC14.Feedback" DisplayName="MFC.MFC14.Actual" />
+		<Display ColName="MFC15(set)" Name="PM1.MFC15.SetPoint" DisplayName="MFC.MFC15.Set" />
+		<Display ColName="MFC15(act)" Name="PM1.MFC15.Feedback" DisplayName="MFC.MFC15.Actual" />
+		<Display ColName="MFC16(set)" Name="PM1.MFC16.SetPoint" DisplayName="MFC.MFC16.Set" />
+		<Display ColName="MFC16(act)" Name="PM1.MFC16.Feedback" DisplayName="MFC.MFC16.Actual" />
+		<Display ColName="MFC17(set)" Name="PM1.MFC17.SetPoint" DisplayName="MFC.MFC17.Set" />
+		<Display ColName="MFC17(act)" Name="PM1.MFC17.Feedback" DisplayName="MFC.MFC17.Actual" />
+		<Display ColName="MFC31(set)" Name="PM1.MFC31.SetPoint" DisplayName="MFC.MFC31.Set" />
+		<Display ColName="MFC31(act)" Name="PM1.MFC31.Feedback" DisplayName="MFC.MFC31.Actual" />
+		<Display ColName="MFC32(set)" Name="PM1.MFC32.SetPoint" DisplayName="MFC.MFC32.Set" />
+		<Display ColName="MFC32(act)" Name="PM1.MFC32.Feedback" DisplayName="MFC.MFC32.Actual" />
+		<Display ColName="MFC51(set)" Name="PM1.MFC51.SetPoint" DisplayName="MFC.MFC51.Set" />
+		<Display ColName="MFC51(act)" Name="PM1.MFC51.Feedback" DisplayName="MFC.MFC51.Actual" />
+		<Display ColName="" Name="System.HeaterU.TempFeedback" DisplayName="Heater.U.Actual" />
+		<Display ColName="" Name="System.HeaterU.TempSetPoint" DisplayName="Heater.U.Set" />
+		<Display ColName="" Name="System.HeaterU.CascadePV" DisplayName="Heater.U.Cascade PV" />
+		<Display ColName="" Name="System.HeaterU.HeaterPV" DisplayName="Heater.U.Heater PV" />
+		<Display ColName="" Name="System.HeaterU.UpRate" DisplayName="Heater.U.Up Rate" />
+		<Display ColName="" Name="System.HeaterU.DownRate" DisplayName="Heater.U.Down Rate" />
+		<Display ColName="" Name="System.HeaterU.WorkingOutput" DisplayName="Heater.U.Power Output" />
+		<Display ColName="" Name="System.HeaterU.OverTemp" DisplayName="Heater.U.Over Temp" />
+		<Display ColName="" Name="System.HeaterU.ControlMode" DisplayName="Heater.U.Control Mode" />
+		<Display ColName="" Name="System.HeaterU.CascadeControlModeSV" DisplayName="Heater.U.Cascade Control Mode SV" />
+		<Display ColName="" Name="System.HeaterU.HeaterControlModeSV" DisplayName="Heater.U.Heater Control Mode SV" />
+		<Display ColName="" Name="System.HeaterCU.TempFeedback" DisplayName="Heater.CU.Actual" />
+		<Display ColName="" Name="System.HeaterCU.TempSetPoint" DisplayName="Heater.CU.Set" />
+		<Display ColName="" Name="System.HeaterCU.CascadePV" DisplayName="Heater.CU.Cascade PV" />
+		<Display ColName="" Name="System.HeaterCU.HeaterPV" DisplayName="Heater.CU.Heater PV" />
+		<Display ColName="" Name="System.HeaterCU.UpRate" DisplayName="Heater.CU.Up Rate" />
+		<Display ColName="" Name="System.HeaterCU.DownRate" DisplayName="Heater.CU.Down Rate" />
+		<Display ColName="" Name="System.HeaterCU.WorkingOutput" DisplayName="Heater.CU.Power Output" />
+		<Display ColName="" Name="System.HeaterCU.OverTemp" DisplayName="Heater.CU.Over Temp" />
+		<Display ColName="" Name="System.HeaterCU.ControlMode" DisplayName="Heater.CU.Control Mode" />
+		<Display ColName="" Name="System.HeaterCU.CascadeControlModeSV" DisplayName="Heater.CU.Cascade Control Mode SV" />
+		<Display ColName="" Name="System.HeaterCU.HeaterControlModeSV" DisplayName="Heater.CU.Heater Control Mode SV" />
+		<Display ColName="" Name="System.HeaterC.TempFeedback" DisplayName="Heater.C.Actual" />
+		<Display ColName="" Name="System.HeaterC.TempSetPoint" DisplayName="Heater.C.Set" />
+		<Display ColName="" Name="System.HeaterC.CascadePV" DisplayName="Heater.C.Cascade PV" />
+		<Display ColName="" Name="System.HeaterC.HeaterPV" DisplayName="Heater.C.Heater PV" />
+		<Display ColName="" Name="System.HeaterC.UpRate" DisplayName="Heater.C.Up Rate" />
+		<Display ColName="" Name="System.HeaterC.DownRate" DisplayName="Heater.C.Down Rate" />
+		<Display ColName="" Name="System.HeaterC.WorkingOutput" DisplayName="Heater.C.Power Output" />
+		<Display ColName="" Name="System.HeaterC.OverTemp" DisplayName="Heater.C.Over Temp" />
+		<Display ColName="" Name="System.HeaterC.ControlMode" DisplayName="Heater.C.Control Mode" />
+		<Display ColName="" Name="System.HeaterC.CascadeControlModeSV" DisplayName="Heater.C.Cascade Control Mode SV" />
+		<Display ColName="" Name="System.HeaterC.HeaterControlModeSV" DisplayName="Heater.C.Heater Control Mode SV" />
+		<Display ColName="" Name="System.HeaterCL.TempFeedback" DisplayName="Heater.CL.Actual" />
+		<Display ColName="" Name="System.HeaterCL.TempSetPoint" DisplayName="Heater.CL.Set" />
+		<Display ColName="" Name="System.HeaterCL.CascadePV" DisplayName="Heater.CL.Cascade PV" />
+		<Display ColName="" Name="System.HeaterCL.HeaterPV" DisplayName="Heater.CL.Heater PV" />
+		<Display ColName="" Name="System.HeaterCL.UpRate" DisplayName="Heater.CL.Up Rate" />
+		<Display ColName="" Name="System.HeaterCL.DownRate" DisplayName="Heater.CL.Down Rate" />
+		<Display ColName="" Name="System.HeaterCL.WorkingOutput" DisplayName="Heater.CL.Power Output" />
+		<Display ColName="" Name="System.HeaterCL.OverTemp" DisplayName="Heater.CL.Over Temp" />
+		<Display ColName="" Name="System.HeaterCL.ControlMode" DisplayName="Heater.CL.Control Mode" />
+		<Display ColName="" Name="System.HeaterCL.CascadeControlModeSV" DisplayName="Heater.CL.Cascade Control Mode SV" />
+		<Display ColName="" Name="System.HeaterCL.HeaterControlModeSV" DisplayName="Heater.CL.Heater Control Mode SV" />
+		<Display ColName="" Name="System.HeaterL.TempFeedback" DisplayName="Heater.L.Actual" />
+		<Display ColName="" Name="System.HeaterL.TempSetPoint" DisplayName="Heater.L.Set" />
+		<Display ColName="" Name="System.HeaterL.CascadePV" DisplayName="Heater.L.Cascade PV" />
+		<Display ColName="" Name="System.HeaterL.HeaterPV" DisplayName="Heater.L.Heater PV" />
+		<Display ColName="" Name="System.HeaterL.UpRate" DisplayName="Heater.L.Up Rate" />
+		<Display ColName="" Name="System.HeaterL.DownRate" DisplayName="Heater.L.Down Rate" />
+		<Display ColName="" Name="System.HeaterL.WorkingOutput" DisplayName="Heater.L.Power Output" />
+		<Display ColName="" Name="System.HeaterL.OverTemp" DisplayName="Heater.L.Over Temp" />
+		<Display ColName="" Name="System.HeaterL.ControlMode" DisplayName="Heater.L.Control Mode" />
+		<Display ColName="" Name="System.HeaterL.CascadeControlModeSV" DisplayName="Heater.L.Cascade Control Mode SV" />
+		<Display ColName="" Name="System.HeaterL.HeaterControlModeSV" DisplayName="Heater.L.Heater Control Mode SV" />
 	</DetailGroup>
 </Displays>