BackendIDExportView.xaml.cs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. using Aitex.Core.RT.DataCenter;
  2. using Aitex.Core.RT.SCCore;
  3. using Aitex.Core.UI.MVVM;
  4. using Aitex.Core.Util;
  5. using MECF.Framework.Common.Utilities;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows;
  12. using System.Windows.Controls;
  13. using System.Windows.Data;
  14. using System.Windows.Documents;
  15. using System.Windows.Input;
  16. using System.Windows.Media;
  17. using System.Windows.Media.Imaging;
  18. using System.Windows.Navigation;
  19. using System.Windows.Shapes;
  20. namespace MECF.Framework.RT.Core.Backend
  21. {
  22. /// <summary>
  23. /// IDExport.xaml 的交互逻辑
  24. /// </summary>
  25. public partial class BackendIDExportView : UserControl
  26. {
  27. public BackendIDExportView()
  28. {
  29. InitializeComponent();
  30. DataContext = new BackendIDExportViewModel();
  31. this.IsVisibleChanged += IDExportViewModel_IsVisibleChanged;
  32. }
  33. private void IDExportViewModel_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
  34. {
  35. (DataContext as SubscriptionViewModelBase).EnableTimer(IsVisible);
  36. }
  37. }
  38. public class BackendIDExportViewModel : SubscriptionViewModelBase
  39. {
  40. #region Command
  41. public ICommand ExportEcidCommand { get; set; }
  42. public ICommand ExportAlidCommand { get; set; }
  43. public ICommand ExportSvidCommand { get; set; }
  44. public ICommand ExportTMSvidCommand { get; set; }
  45. #endregion
  46. public BackendIDExportViewModel() : base("BackendIDExportViewModel")
  47. {
  48. ExportEcidCommand = new DelegateCommand<object>(PerformExportEcid);
  49. //ExportAlidCommand = new DelegateCommand<object>(PerformExportAlid);
  50. ExportSvidCommand = new DelegateCommand<object>(PerformExportSvid);
  51. ExportTMSvidCommand = new DelegateCommand<object>(PerformExportTMSvid);
  52. }
  53. private void PerformExportEcid(object obj)
  54. {
  55. var lists = SC.GetItemList();
  56. int id = 3001;
  57. Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
  58. dlg.DefaultExt = ".xlsx"; // Default file extension
  59. dlg.FileName = $"Equipment_Constant_{DateTime.Now:yyyyMMdd_HHmmss}";
  60. dlg.Filter = "Excel数据表格文件(*.xlsx)|*.xlsx"; // Filter files by extension
  61. bool? result = dlg.ShowDialog();// Show open file dialog box
  62. if (result == true)
  63. {
  64. System.Data.DataSet ds = new System.Data.DataSet();
  65. ds.Tables.Add(new System.Data.DataTable("ECID(Equipment Constant)"));
  66. ds.Tables[0].Columns.Add("ECID");
  67. ds.Tables[0].Columns.Add("Name");
  68. ds.Tables[0].Columns.Add("Format");
  69. ds.Tables[0].Columns.Add("Description");
  70. foreach (var item in lists)
  71. {
  72. var row = ds.Tables[0].NewRow();
  73. row[0] = id++;
  74. row[1] = item.PathName;
  75. row[2] = item.Type;
  76. row[3] = item.Description;
  77. ds.Tables[0].Rows.Add(row);
  78. }
  79. if (!ExcelHelper.ExportToExcel(dlg.FileName, ds, out string reason))
  80. {
  81. MessageBox.Show($"Export failed, {reason}", "Export", MessageBoxButton.OK, MessageBoxImage.Warning);
  82. return;
  83. }
  84. MessageBox.Show($"Export succeed, file save as {dlg.FileName}", "Export", MessageBoxButton.OK, MessageBoxImage.Information);
  85. }
  86. }
  87. private void PerformExportAlid(object obj)
  88. {
  89. var lists = AdsDicPlcIndex.DicAlarmNotify;
  90. int id = 70001;
  91. Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
  92. dlg.DefaultExt = ".xlsx"; // Default file extension
  93. dlg.FileName = $"AlarmID_{DateTime.Now:yyyyMMdd_HHmmss}";
  94. dlg.Filter = "Excel数据表格文件(*.xlsx)|*.xlsx"; // Filter files by extension
  95. bool? result = dlg.ShowDialog();// Show open file dialog box
  96. if (result == true)
  97. {
  98. System.Data.DataSet ds = new System.Data.DataSet();
  99. ds.Tables.Add(new System.Data.DataTable("ALID(AlarmID)"));
  100. ds.Tables[0].Columns.Add("ALID");
  101. ds.Tables[0].Columns.Add("Name");
  102. ds.Tables[0].Columns.Add("Description");
  103. ds.Tables[0].Columns.Add("EventSet");
  104. ds.Tables[0].Columns.Add("EventClear");
  105. foreach (var item in lists)
  106. {
  107. var row = ds.Tables[0].NewRow();
  108. row[0] = id++;
  109. row[1] = item.Value[0];
  110. row[2] = item.Value[1];
  111. row[3] = 100001;
  112. row[4] = 200001;
  113. ds.Tables[0].Rows.Add(row);
  114. }
  115. if (!ExcelHelper.ExportToExcel(dlg.FileName, ds, out string reason))
  116. {
  117. MessageBox.Show($"Export failed, {reason}", "Export", MessageBoxButton.OK, MessageBoxImage.Warning);
  118. return;
  119. }
  120. MessageBox.Show($"Export succeed, file save as {dlg.FileName}", "Export", MessageBoxButton.OK, MessageBoxImage.Information);
  121. }
  122. }
  123. private void PerformExportSvid(object obj)
  124. {
  125. var dataList = Singleton<DataManager>.Instance.BuiltInDataList;
  126. var lists = dataList.Where(m => m.StartsWith("PM")).OrderBy(m => m).ToList();
  127. int pm1Id = 10001;
  128. int pm2Id = 20001;
  129. int pm3Id = 30001;
  130. int pm4Id = 40001;
  131. Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
  132. dlg.DefaultExt = ".xlsx"; // Default file extension
  133. dlg.FileName = $"Chamber_Status_Variable_{DateTime.Now:yyyyMMdd_HHmmss}";
  134. dlg.Filter = "Excel数据表格文件(*.xlsx)|*.xlsx"; // Filter files by extension
  135. bool? result = dlg.ShowDialog();// Show open file dialog box
  136. if (result == true)
  137. {
  138. System.Data.DataSet ds = new System.Data.DataSet();
  139. ds.Tables.Add(new System.Data.DataTable("SVID(Chamber Status Variable)"));
  140. ds.Tables[0].Columns.Add("SVID");
  141. ds.Tables[0].Columns.Add("Name");
  142. ds.Tables[0].Columns.Add("Format");
  143. ds.Tables[0].Columns.Add("Description");
  144. foreach (var item in lists)
  145. {
  146. var row = ds.Tables[0].NewRow();
  147. if (item.StartsWith("PM1"))
  148. row[0] = pm1Id++;
  149. else if (item.StartsWith("PM2"))
  150. row[0] = pm2Id++;
  151. else if (item.StartsWith("PM3"))
  152. row[0] = pm3Id++;
  153. else if (item.StartsWith("PM4"))
  154. row[0] = pm4Id++;
  155. row[1] = item;
  156. row[2] = "Ascii";
  157. var arr = item.Split('.');
  158. for (int i = 0; i < arr.Length; i++)
  159. row[3] += $"{arr[i]} ";
  160. ds.Tables[0].Rows.Add(row);
  161. }
  162. if (!ExcelHelper.ExportToExcel(dlg.FileName, ds, out string reason))
  163. {
  164. MessageBox.Show($"Export failed, {reason}", "Export", MessageBoxButton.OK, MessageBoxImage.Warning);
  165. return;
  166. }
  167. MessageBox.Show($"Export succeed, file save as {dlg.FileName}", "Export", MessageBoxButton.OK, MessageBoxImage.Information);
  168. }
  169. }
  170. private void PerformExportTMSvid(object obj)
  171. {
  172. var dataList = Singleton<DataManager>.Instance.BuiltInDataList;
  173. var tmLists = dataList.Where(m => !m.StartsWith("PM")).OrderBy(m => m).ToList();
  174. int tmId = 5001;
  175. Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
  176. dlg.DefaultExt = ".xlsx"; // Default file extension
  177. dlg.FileName = $"TM_Status_Variable_{DateTime.Now:yyyyMMdd_HHmmss}";
  178. dlg.Filter = "Excel数据表格文件(*.xlsx)|*.xlsx"; // Filter files by extension
  179. bool? result = dlg.ShowDialog();// Show open file dialog box
  180. if (result == true)
  181. {
  182. System.Data.DataSet ds = new System.Data.DataSet();
  183. ds.Tables.Add(new System.Data.DataTable("SVID(TM Status Variable)"));
  184. ds.Tables[0].Columns.Add("SVID");
  185. ds.Tables[0].Columns.Add("Name");
  186. ds.Tables[0].Columns.Add("Format");
  187. ds.Tables[0].Columns.Add("Description");
  188. foreach (var item in tmLists)
  189. {
  190. var row = ds.Tables[0].NewRow();
  191. row[0] = tmId++;
  192. row[1] = item;
  193. row[2] = "Ascii";
  194. var arr = item.Split('.');
  195. for (int i = 0; i < arr.Length; i++)
  196. row[3] += $"{arr[i]} ";
  197. ds.Tables[0].Rows.Add(row);
  198. }
  199. if (!ExcelHelper.ExportToExcel(dlg.FileName, ds, out string reason))
  200. {
  201. MessageBox.Show($"Export failed, {reason}", "Export", MessageBoxButton.OK, MessageBoxImage.Warning);
  202. return;
  203. }
  204. MessageBox.Show($"Export succeed, file save as {dlg.FileName}", "Export", MessageBoxButton.OK, MessageBoxImage.Information);
  205. }
  206. }
  207. }
  208. public class AdsDicPlcIndex
  209. {
  210. #region Dictionary
  211. // Alarm Info
  212. public static Dictionary<int, string[]> DicAlarmNotify = new Dictionary<int, string[]>()
  213. {
  214. { 1, new string[]{ "NH3SolubeDetectAlarm", "NH3 Solube Detect Alarm" }},
  215. { 2, new string[]{ "O3SolubeDetectAlarm", "O3 Solube Detect Alarm" }},
  216. { 3, new string[]{ "Res1SolubeDetectAlarm", "Res1 Solube Detect Alarm" }},
  217. { 4, new string[]{ "Res2SolubeDetectAlarm", "Res2 Solube Detect Alarm" }},
  218. { 5, new string[]{ "DetectorAlarm", "Detector Alarm" }},
  219. { 6, new string[]{ "LiftHandleStop", "Lift Handle Stop" }},
  220. { 7, new string[]{ "CDAPresDetect", "CDA Pressure Detect" }},
  221. { 8, new string[]{ "PMStop", "PM Stop" }},
  222. { 9, new string[]{ "O2PresSwitch", "O2 Pressure Switch" }},
  223. { 10, new string[]{ "N2PresSwitch", "N2 Pressure Switch" }},
  224. { 11, new string[]{ "NH3PresSwitch", "NH3 Pressure Switch" }},
  225. { 12, new string[]{ "EndPresSwitch", "End Pressure Switch" }},
  226. { 13, new string[]{ "HeadMagneticClose", "Head Magnetic Close" }},
  227. { 14, new string[]{ "HeadMagneticOpen", "Head Magnetic Open" }},
  228. { 15, new string[]{ "ChamBackTempSwitch", "Chamber Back Temp Switch" }},
  229. { 16, new string[]{ "ChamLeftUpTempSwitch", "Chamber Left Up Temp Switch" }},
  230. { 17, new string[]{ "ChamLeftDownTempSwitch", "Chamber Left Down Temp Switch" }},
  231. { 18, new string[]{ "ChamRightUpTempSwitch", "Chamber Right Up Temp Switch" }},
  232. { 19, new string[]{ "ChamRightDownTempSwitch", "Chamber Right Down Temp Switch" }},
  233. { 20, new string[]{ "ChamResTempSwitch", "Chamber Reserve Temp Switch" }},
  234. { 21, new string[]{ "WaterLeakDetect", "Water Leak Detect" }},
  235. { 22, new string[]{ "WaterVlvLeakDetect", "Water Valve Leak Detect" }},
  236. { 23, new string[]{ "GasBox1SafeDoor", "GasBox1 Safe Door" }},
  237. { 24, new string[]{ "GasBox2SafeDoor", "GasBox2 Safe Door" }},
  238. { 25, new string[]{ "GasBox3SafeDoor", "GasBox3 Safe Door" }},
  239. { 26, new string[]{ "GasBox4SafeDoor", "GasBox4 Safe Door" }},
  240. { 27, new string[]{ "PMPumpNotRun", "PM Pump Not Run" }},
  241. { 28, new string[]{ "ScrubberAlarm", "Scrubber Alarm" }},
  242. { 29, new string[]{ "SternRowPressureSwitchAlarm", "Stern Row Pressure Switch Alarm" }},
  243. { 30, new string[]{ "", "" }},
  244. { 31, new string[]{ "TubeHeatTempSwitch1", "Tube Heat Temp Switch 1" }},
  245. { 32, new string[]{ "TubeHeatTempSwitch2", "Tube Heat Temp Switch 2" }},
  246. { 33, new string[]{ "TubeHeatTempSwitch3", "Tube Heat Temp Switch 3" }},
  247. { 34, new string[]{ "TubeHeatTempSwitch4", "Tube Heat Temp Switch 4" }},
  248. { 35, new string[]{ "TubeHeatTempSwitch5", "Tube Heat Temp Switch 5" }},
  249. { 36, new string[]{ "TubeHeatTempSwitch6", "Tube Heat Temp Switch 6" }},
  250. { 37, new string[]{ "TubeHeatTempSwitch7", "Tube Heat Temp Switch 7" }},
  251. { 38, new string[]{ "TubeHeatTempSwitch8", "Tube Heat Temp Switch 8" }},
  252. { 39, new string[]{ "TubeHeatTempSwitch9", "Tube Heat Temp Switch 9" }},
  253. { 40, new string[]{ "TubeHeatTempSwitch10", "Tube Heat Temp Switch 10" }},
  254. { 41, new string[]{ "", "" }},
  255. { 42, new string[]{ "", "" }},
  256. { 43, new string[]{ "OverVoltProtect", "Over Volt Protect" }},
  257. { 44, new string[]{ "UndVoltLacPhaRevPhaProtect", "Under Volt, Lack Phase, Reverse Phase Protect" }},
  258. { 45, new string[]{ "", "" }},
  259. { 46, new string[]{ "O3GeneratorAlarm", "O3 Generator Alarm" }},
  260. { 47, new string[]{ "PMVacPumpAlarm", "PM Vacuum Pump Alarm" }},
  261. { 48, new string[]{ "ChuckServoAlarm", "Chuck Servo Alarm" }},
  262. { 49, new string[]{ "", "" }},
  263. { 50, new string[]{ "ChuckLiftUpperLimit", "Chuck Lift Upper Limit" }},
  264. { 51, new string[]{ "ChuckLiftLowerLimit", "Chuck Lift Lower Limit" }},
  265. { 52, new string[]{ "V1OpenAlarm", "Angle Valve V1 Open Alarm" }},
  266. { 53, new string[]{ "V1CloseAlarm", "Angle Valve V1 Close Alarm" }},
  267. { 54, new string[]{ "V3OpenAlarm", "Angle Valve V3 Open Alarm" }},
  268. { 55, new string[]{ "V3CloseAlarm", "Angle Valve V3 Close Alarm" }},
  269. { 56, new string[]{ "V4OpenAlarm", "Angle Valve V4 Open Alarm" }},
  270. { 57, new string[]{ "V4CloseAlarm", "Angle Valve V4 Close Alarm" }},
  271. { 58, new string[]{ "1#SourceLiquidLevelHH", "1# Source Liquid Level HH" }},
  272. { 59, new string[]{ "1#SourceLiquidLevelLL", "1# Source Liquid Level LL" }},
  273. { 60, new string[]{ "2#SourceLiquidLevelHH", "2# Source Liquid Level HH" }},
  274. { 61, new string[]{ "2#SourceLiquidLevelLL", "2# Source Liquid Level LL" }},
  275. { 62, new string[]{ "3#SourceLiquidLevelHH", "3# Source Liquid Level HH" }},
  276. { 63, new string[]{ "3#SourceLiquidLevelLL", "3# Source Liquid Level LL" }},
  277. { 64, new string[]{ "4#SourceLiquidLevelHH", "4# Source Liquid Level HH" }},
  278. { 65, new string[]{ "4#SourceLiquidLevelLL", "4# Source Liquid Level LL" }},
  279. { 66, new string[]{ "TC01SprayHeaterThermoCp", "TC01 Spray Heater Thermo Cp" }},
  280. { 67, new string[]{ "TC02BottomRingThermoCp", "TC02 Bottom Ring Thermo Cp", }},
  281. { 68, new string[]{ "TC03BottomAssistThermoCp", "TC03 Bottom Assist Thermo Cp" }},
  282. { 69, new string[]{ "TC04WaferHeaterThermoCpA", "TC04 Wafer Heater Thermo CpA" }},
  283. { 70, new string[]{ "TC05WaferHeaterThermoCpB", "TC05 Wafer Heater Thermo CpB" }},
  284. { 71, new string[]{ "TC06WaferHeaterThermoCpC", "TC06 Wafer Heater Thermo CpC" }},
  285. { 72, new string[]{ "TC07WaferHeaterThermoCpD", "TC07 Wafer Heater Thermo CpD" }},
  286. { 73, new string[]{ "TC08GasHeaterAThermoCp", "TC08GasHeaterAThermoCp" }},
  287. { 74, new string[]{ "TC09GasHeaterBThermoCp", "TC09GasHeaterBThermoCp" }},
  288. { 75, new string[]{ "TC10ChamTempAThermoCp", "TC10 Chamber TempA Thermo Cp" }},
  289. { 76, new string[]{ "TC11ChamTempBThermoCp", "TC11 Chamber TempB Thermo Cp" }},
  290. { 77, new string[]{ "TC12ChamTempCThermoCp", "TC12 Chamber TempC Thermo Cp" }},
  291. { 78, new string[]{ "TC13ChamTempDThermoCp", "TC13 Chamber TempD Thermo Cp" }},
  292. { 79, new string[]{ "TC14ChamTempEThermoCp", "TC14 Chamber TempE Thermo Cp" }},
  293. { 80, new string[]{ "TC15ChamTempFThermoCp", "TC15 Chamber TempF Thermo Cp" }},
  294. { 81, new string[]{ "TC16ChamTempGThermoCp", "TC16 Chamber TempG Thermo Cp" }},
  295. { 82, new string[]{ "TC17ChamTempHThermoCp", "TC17 Chamber TempH Thermo Cp" }},
  296. { 83, new string[]{ "TC18ChamTempIThermoCp", "TC18 Chamber TempI Thermo Cp" }},
  297. { 84, new string[]{ "TC19ChamTempJThermoCp", "TC19 Chamber TempJ Thermo Cp" }},
  298. { 85, new string[]{ "TC20ChamTempKThermoCp", "TC20 Chamber TempK Thermo Cp" }},
  299. { 86, new string[]{ "TC21ChamTempLThermoCp", "TC21 Chamber TempL Thermo Cp" }},
  300. { 87, new string[]{ "TC25PipeHeatThermoCpCH1", "TC25 Pipe Heat Thermo Cp CH1" }},
  301. { 88, new string[]{ "TC26PipeHeatThermoCpCH2", "TC26 Pipe Heat Thermo Cp CH2" }},
  302. { 89, new string[]{ "TC27PipeHeatThermoCpCH3", "TC27 Pipe Heat Thermo Cp CH3" }},
  303. { 90, new string[]{ "TC28PipeHeatThermoCpCH4", "TC28 Pipe Heat Thermo Cp CH4" }},
  304. { 91, new string[]{ "TC29PipeHeatThermoCpCH5", "TC29 Pipe Heat Thermo Cp CH5" }},
  305. { 92, new string[]{ "TC30PipeHeatThermoCpCH6", "TC30 Pipe Heat Thermo Cp CH6" }},
  306. { 93, new string[]{ "TC31PipeHeatThermoCpCH7", "TC31 Pipe Heat Thermo Cp CH7" }},
  307. { 94, new string[]{ "TC32PipeHeatThermoCpCH8", "TC32 Pipe Heat Thermo Cp CH8" }},
  308. { 95, new string[]{ "TC33PipeHeatThermoCpCH9", "TC33 Pipe Heat Thermo Cp CH9" }},
  309. { 96, new string[]{ "TC34PipeHeatThermoCpCH10", "TC34 Pipe Heat Thermo Cp CH10" }},
  310. { 97, new string[]{ "TC35PipeHeatThermoCpCH11", "TC35 Pipe Heat Thermo Cp CH11" }},
  311. { 98, new string[]{ "TC36PipeHeatThermoCpCH12", "TC36 Pipe Heat Thermo Cp CH12" }},
  312. { 99, new string[]{ "TC37PipeHeatThermoCpCH13", "TC37 Pipe Heat Thermo Cp CH13" }},
  313. { 100, new string[]{ "TC38PipeHeatThermoCpCH14", "TC38 Pipe Heat Thermo Cp CH14" }},
  314. { 101, new string[]{ "TC39PipeHeatThermoCpCH15", "TC39 Pipe Heat Thermo Cp CH15" }},
  315. { 102, new string[]{ "TC40PipeHeatThermoCpCH16", "TC40 Pipe Heat Thermo Cp CH16" }},
  316. { 103, new string[]{ "TC41PipeHeatThermoCpCH17", "TC41 Pipe Heat Thermo Cp CH17" }},
  317. { 104, new string[]{ "TC42PipeHeatThermoCpCH18", "TC42 Pipe Heat Thermo Cp CH18" }},
  318. { 105, new string[]{ "TC43PipeHeatThermoCpCH19", "TC43 Pipe Heat Thermo Cp CH19" }},
  319. { 106, new string[]{ "TC44PipeHeatThermoCpCH20", "TC44 Pipe Heat Thermo Cp CH20" }},
  320. { 107, new string[]{ "TC45BaSucHeat1ThermoCpCH21", "TC45 BaSuc Heat1 Thermo Cp CH21" }},
  321. { 108, new string[]{ "TC46BaSucHeat2ThermoCpCH22", "TC46 BaSuc Heat2 Thermo Cp CH22" }},
  322. { 109, new string[]{ "TC47BaSucHeat3ThermoCpCH23", "TC47 BaSuc Heat3 Thermo Cp CH23" }},
  323. { 110, new string[]{ "TC49AngleValveHeaterAThermoCp", "TC49 Angle Valve HeaterA Thermo Cp" }},
  324. { 111, new string[]{ "TC50AngleValveHeaterBThermoCp", "TC50 Angle Valve HeaterB Thermo Cp" }},
  325. { 112, new string[]{ "TC51AngleValveHeaterCThermoCp", "TC51 Angle Valve HeaterC Thermo Cp" }},
  326. { 113, new string[]{ "", "" }},
  327. { 114, new string[]{ "TC53Source1ThermoCp", "TC53 Source1 Thermo Cp" }},
  328. { 115, new string[]{ "TC54Source2ThermoCp", "TC54 Source2 Thermo Cp" }},
  329. { 116, new string[]{ "TC55Source3ThermoCp", "TC55 Source3 Thermo Cp" }},
  330. { 117, new string[]{ "TC56Source4ThermoCp", "TC56 Source4 Thermo Cp" }},
  331. { 118, new string[]{ "CoolWaterTemp1", "Cool Water Temp1" }},
  332. { 119, new string[]{ "CoolWaterTemp2", "Cool Water Temp2" }},
  333. { 120, new string[]{ "CoolWaterTemp3", "Cool Water Temp3" }},
  334. { 121, new string[]{ "CoolWaterTemp4", "Cool Water Temp4" }},
  335. { 122, new string[]{ "CoolWaterTemp5", "Cool Water Temp5" }},
  336. { 123, new string[]{ "CoolWaterTemp6", "Cool Water Temp6" }},
  337. { 124, new string[]{ "CoolWaterTemp7", "Cool Water Temp7" }},
  338. { 125, new string[]{ "CoolWaterTemp8", "Cool Water Temp8" }},
  339. { 126, new string[]{ "CoolWaterFlowDetect1", "Cool Water Flow Detect1" }},
  340. { 127, new string[]{ "CoolWaterFlowDetect2", "Cool Water Flow Detect2" }},
  341. { 128, new string[]{ "CoolWaterFlowDetect3", "Cool Water Flow Detect3" }},
  342. { 129, new string[]{ "CoolWaterFlowDetect4", "Cool Water Flow Detect4" }},
  343. { 130, new string[]{ "CoolWaterFlowDetect5", "Cool Water Flow Detect5" }},
  344. { 131, new string[]{ "CoolWaterFlowDetect6", "Cool Water Flow Detect6" }},
  345. { 132, new string[]{ "CoolWaterFlowDetect7", "Cool Water Flow Detect7" }},
  346. { 133, new string[]{ "CoolWaterFlowDetect8", "Cool Water Flow Detect8" }},
  347. { 134, new string[]{ "", "" }},
  348. { 135, new string[]{ "MFC1FlowAlarm", "MFC1 Flow Alarm" }},
  349. { 136, new string[]{ "MFC2FlowAlarm", "MFC2 Flow Alarm" }},
  350. { 137, new string[]{ "MFC3FlowAlarm", "MFC3 Flow Alarm" }},
  351. { 138, new string[]{ "MFC4FlowAlarm", "MFC4 Flow Alarm" }},
  352. { 139, new string[]{ "MFC5FlowAlarm", "MFC5 Flow Alarm" }},
  353. { 140, new string[]{ "MFC6FlowAlarm", "MFC6 Flow Alarm" }},
  354. { 141, new string[]{ "MFC7FlowAlarm", "MFC7 Flow Alarm" }},
  355. { 142, new string[]{ "MFC8FlowAlarm", "MFC8 Flow Alarm" }},
  356. { 143, new string[]{ "MFC9FlowAlarm", "MFC9 Flow Alarm" }},
  357. { 144, new string[]{ "MFC10FlowAlarm", "MFC10 Flow Alarm" }},
  358. { 145, new string[]{ "MFC11FlowAlarm", "MFC11 Flow Alarm" }},
  359. { 146, new string[]{ "", "" }},
  360. { 147, new string[]{ "1#SubStationCommFail", "1# Substation Communication Failure" }},
  361. { 148, new string[]{ "2#SubStationCommFail", "2# Substation Communication Failure" }},
  362. { 149, new string[]{ "3#SubStationCommFail", "3# Substation Communication Failure" }},
  363. { 150, new string[]{ "4#SubStationCommFail", "4# Substation Communication Failure" }},
  364. { 151, new string[]{ "5#SubStationCommFail", "5# Substation Communication Failure" }},
  365. { 152, new string[]{ "6#SubStationCommFail", "6# Substation Communication Failure" }},
  366. { 153, new string[]{ "7#SubStationCommFail", "7# Substation Communication Failure" }},
  367. { 154, new string[]{ "8#SubStationCommFail", "8# Substation Communication Failure" }},
  368. { 155, new string[]{ "9#SubStationCommFail", "9# Substation Communication Failure" }},
  369. { 156, new string[]{ "10#SubStationCommFail", "10# Substation Communication Failure" }},
  370. { 157, new string[]{ "11#SubStationCommFail", "11# Substation Communication Failure" }},
  371. { 158, new string[]{ "12#SubStationCommFail", "12# Substation Communication Failure" }},
  372. { 159, new string[]{ "13#SubStationCommFail", "13# Substation Communication Failure" }},
  373. { 160, new string[]{ "14#SubStationCommFail", "14# Substation Communication Failure" }},
  374. { 161, new string[]{ "15#SubStationCommFail", "15# Substation Communication Failure" }},
  375. { 162, new string[]{ "16#SubStationCommFail", "16# Substation Communication Failure" }},
  376. { 163, new string[]{ "17#SubStationCommFail", "17# Substation Communication Failure" }},
  377. { 164, new string[]{ "18#SubStationCommFail", "18# Substation Communication Failure" }},
  378. { 165, new string[]{ "19#SubStationCommFail", "19# Substation Communication Failure" }},
  379. { 166, new string[]{ "20#SubStationCommFail", "20# Substation Communication Failure" }},
  380. { 167, new string[]{ "21#SubStationCommFail", "21# Substation Communication Failure" }},
  381. { 168, new string[]{ "22#SubStationCommFail", "22# Substation Communication Failure" }},
  382. { 169, new string[]{ "23#SubStationCommFail", "23# Substation Communication Failure" }},
  383. { 170, new string[]{ "24#SubStationCommFail", "24# Substation Communication Failure" }},
  384. { 171, new string[]{ "25#SubStationCommFail", "25# Substation Communication Failure" }},
  385. { 172, new string[]{ "26#SubStationCommFail", "26# Substation Communication Failure" }},
  386. { 173, new string[]{ "27#SubStationCommFail", "27# Substation Communication Failure" }},
  387. { 174, new string[]{ "28#SubStationCommFail", "28# Substation Communication Failure" }},
  388. { 175, new string[]{ "29#SubStationCommFail", "29# Substation Communication Failure" }},
  389. { 176, new string[]{ "30#SubStationCommFail", "30# Substation Communication Failure" }},
  390. { 177, new string[]{ "31#SubStationCommFail", "31# Substation Communication Failure" }},
  391. { 178, new string[]{ "32#SubStationCommFail", "32# Substation Communication Failure" }},
  392. { 179, new string[]{ "33#SubStationCommFail", "33# Substation Communication Failure" }},
  393. { 180, new string[]{ "34#SubStationCommFail", "34# Substation Communication Failure" }},
  394. { 181, new string[]{ "PumpTimeoutAlarm", "Pump Vacuum Timeout Alarm" }},
  395. { 182, new string[]{ "VentTimeoutAlarm", "Vent Vacuum Timeout Alarm" }},
  396. { 183, new string[]{ "ChuckPosAlarm", "Chuck Position Exception Alarm" }},
  397. { 184, new string[]{ "ProcessTempTimeoutAlarm", "Process Temp Check Timeout Alarm" }},
  398. { 185, new string[]{ "ProcessPresHighAlarm", "Process Pressure High Exception Alarm" }},
  399. { 186, new string[]{ "ChamPresSwitchVS20", "Chamber Pressure Switch VS20 Exception" }},
  400. { 187, new string[]{ "", "" }},
  401. { 188, new string[]{ "", "" }},
  402. { 189, new string[]{ "", "" }},
  403. { 190, new string[]{ "", "" }},
  404. { 191, new string[]{ "TC45PipeHeatThermoCpCH21", "TC45 Pipe Heat Thermo Cp CH21" }},
  405. { 192, new string[]{ "TC46PipeHeatThermoCpCH22", "TC46 Pipe Heat Thermo Cp CH22" }},
  406. { 193, new string[]{ "TC47PipeHeatThermoCpCH23", "TC47 Pipe Heat Thermo Cp CH23" }},
  407. { 194, new string[]{ "TC48PipeHeatThermoCpCH24", "TC48 Pipe Heat Thermo Cp CH24" }},
  408. { 195, new string[]{ "TC49PipeHeatThermoCpCH25", "TC49 Pipe Heat Thermo Cp CH25" }},
  409. { 196, new string[]{ "TC50PipeHeatThermoCpCH26", "TC50 Pipe Heat Thermo Cp CH26" }},
  410. { 197, new string[]{ "TC51PipeHeatThermoCpCH27", "TC51 Pipe Heat Thermo Cp CH27" }},
  411. { 198, new string[]{ "TC52PipeHeatThermoCpCH28", "TC52 Pipe Heat Thermo Cp CH28" }},
  412. { 199, new string[]{ "TC53PipeHeatThermoCpCH29", "TC53 Pipe Heat Thermo Cp CH29" }},
  413. { 200, new string[]{ "TC54PipeHeatThermoCpCH30", "TC54 Pipe Heat Thermo Cp CH30" }},
  414. { 201, new string[]{ "TC55PipeHeatThermoCpCH31", "TC55 Pipe Heat Thermo Cp CH31" }},
  415. { 202, new string[]{ "TC56PipeHeatThermoCpCH32", "TC56 Pipe Heat Thermo Cp CH32" }},
  416. { 203, new string[]{ "TC57PipeHeatThermoCpCH33", "TC57 Pipe Heat Thermo Cp CH33" }},
  417. };
  418. #endregion
  419. }
  420. }