PMModuleDevice.cs 101 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449
  1. using Aitex.Core.Common.DeviceData;
  2. using Aitex.Core.RT.Device;
  3. using Aitex.Core.RT.Device.Unit;
  4. using Aitex.Core.RT.Event;
  5. using Aitex.Core.Util;
  6. using Aitex.Core.Utilities;
  7. using MECF.Framework.Common.Event;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. using System.Reflection;
  12. using MECF.Framework.Common.SubstrateTrackings;
  13. using Aitex.Core.Common;
  14. using FurnaceRT.Equipments.Systems;
  15. using Aitex.Core.RT.IOCore;
  16. using MECF.Framework.Common.Equipment;
  17. using MECF.Framework.RT.Core.IoProviders;
  18. using MECF.Framework.Common.Device.Bases;
  19. using FurnaceRT.Equipments.Boats;
  20. using IoHeater = FurnaceRT.Devices.IoHeater;
  21. using IoPressureMeter = FurnaceRT.Devices.IoPressureMeter;
  22. using FurnaceRT.Devices;
  23. using Aitex.Core.RT.Log;
  24. using FurnaceRT.Equipments.PMs.Devices;
  25. using Aitex.Core.RT.SCCore;
  26. using static Aitex.Core.RT.Device.Unit.IoBoat;
  27. using MECF.Framework.Common.CommonData.SorterDefines;
  28. using System.Windows;
  29. namespace FurnaceRT.Equipments.PMs
  30. {
  31. public partial class PMModule
  32. {
  33. // -------------------------------------------------------------------------
  34. #region AlarmSignal
  35. [Tag("AlarmSignalO2ConcentrationHI")]
  36. public IoAlarmSignal AlarmSignalO2ConcentrationHI { get; set; }
  37. [Tag("AlarmSignalO2ConcentrationLow")]
  38. public IoAlarmSignal AlarmSignalO2ConcentrationLow { get; set; }
  39. [Tag("AlarmSignalO2ConcentrationEcho1")]
  40. public IoAlarmSignal AlarmSignalO2ConcentrationEcho1 { get; set; }
  41. [Tag("AlarmSignalO2ConcentrationEcho2")]
  42. public IoAlarmSignal AlarmSignalO2ConcentrationEcho2 { get; set; }
  43. [Tag("AlarmSignalSMK1DetectorSensorOperates")]
  44. public IoAlarmSignal AlarmSignalSMK1DetectorSensorOperates { get; set; }
  45. [Tag("AlarmSignalSMK1DetectorSensorFireAlarm")]
  46. public IoAlarmSignal AlarmSignalSMK1DetectorSensorFireAlarm { get; set; }
  47. [Tag("AlarmSignalSMK1DetectorSensorFault")]
  48. public IoAlarmSignal AlarmSignalSMK1DetectorSensorFault { get; set; }
  49. [Tag("AlarmSignalHCLGasLeak1stAlarm")]
  50. public IoAlarmSignal AlarmSignalHCLGasLeak1stAlarm { get; set; }
  51. [Tag("AlarmSignalHCLGasLeak2ndAlarm")]
  52. public IoAlarmSignal AlarmSignalHCLGasLeak2ndAlarm { get; set; }
  53. [Tag("AlarmSignalNH3GasLeak1stAlarm")]
  54. public IoAlarmSignal AlarmSignalNH3GasLeak1stAlarm { get; set; }
  55. [Tag("AlarmSignalNH3GasLeak2ndAlarm")]
  56. public IoAlarmSignal AlarmSignalNH3GasLeak2ndAlarm { get; set; }
  57. [Tag("AlarmSignalF2GasLeak1stAlarm")]
  58. public IoAlarmSignal AlarmSignalF2GasLeak1stAlarm { get; set; }
  59. [Tag("AlarmSignalF2GasLeak2ndAlarm")]
  60. public IoAlarmSignal AlarmSignalF2GasLeak2ndAlarm { get; set; }
  61. [Tag("AlarmSignalGasLeakFault")]
  62. public IoAlarmSignal AlarmSignalGasLeakFault { get; set; }
  63. [Tag("AlarmSignalTS34RotationTempSW")]
  64. public IoAlarmSignal AlarmSignalTS34RotationTempSW { get; set; }
  65. [Tag("AlarmSignalTS30CapInsideTempSW")]
  66. public IoAlarmSignal AlarmSignalTS30CapInsideTempSW { get; set; }
  67. [Tag("AlarmSignalTS31CapOutsideTempSW")]
  68. public IoAlarmSignal AlarmSignalTS31CapOutsideTempSW { get; set; }
  69. [Tag("AlarmSignalGasBoxLowerDoorSW")]
  70. public IoAlarmSignal AlarmSignalGasBoxLowerDoorSW { get; set; }
  71. [Tag("AlarmSignalGasBoxUpperDoorSW")]
  72. public IoAlarmSignal AlarmSignalGasBoxUpperDoorSW { get; set; }
  73. [Tag("AlarmSignalEXHBoxWaterLeak")]
  74. public IoAlarmSignal AlarmSignalEXHBoxWaterLeak { get; set; }
  75. [Tag("AlarmSignalOPPanelEMO1")]
  76. public IoAlarmSignal AlarmSignalOPPanelEMO1 { get; set; }
  77. [Tag("AlarmSignalOPPanelEMO2")]
  78. public IoAlarmSignal AlarmSignalOPPanelEMO2 { get; set; }
  79. [Tag("AlarmSignalMainFurnaceCellingTS306")]
  80. public IoAlarmSignal AlarmSignalMainFurnaceCellingTS306 { get; set; }
  81. [Tag("AlarmSignalHeaterRoomSWS11S12")]
  82. public IoAlarmSignal AlarmSignalHeaterRoomSWS11S12 { get; set; }
  83. [Tag("AlarmSignalFilterBox1DoorSwitch")]
  84. public IoAlarmSignal AlarmSignalFilterBox1DoorSwitch { get; set; }
  85. [Tag("AlarmSignalLABacksideDoorSwitch")]
  86. public IoAlarmSignal AlarmSignalLABacksideDoorSwitch { get; set; }
  87. [Tag("AlarmSignalRHCTS305")]
  88. public IoAlarmSignal AlarmSignalRHCTS305 { get; set; }
  89. [Tag("AlarmSignalGasBoxExhaust1stAlarmMS2")]
  90. public IoAlarmSignal AlarmSignalGasBoxExhaust1stAlarmMS2 { get; set; }
  91. [Tag("AlarmSignalGasBoxExhaust2ndAlarmMS2")]
  92. public IoAlarmSignal AlarmSignalGasBoxExhaust2ndAlarmMS2 { get; set; }
  93. [Tag("AlarmSignalMachineEMO1")]
  94. public IoAlarmSignal AlarmSignalMachineEMO1 { get; set; }
  95. [Tag("AlarmSignalMachineEMO2")]
  96. public IoAlarmSignal AlarmSignalMachineEMO2 { get; set; }
  97. [Tag("AlarmSignalT101TempStatus")]
  98. public IoAlarmSignal AlarmSignalT101TempStatus { get; set; }
  99. [Tag("AlarmSignalT102TempStatus")]
  100. public IoAlarmSignal AlarmSignalT102TempStatus { get; set; }
  101. [Tag("AlarmSignalT103TempStatus")]
  102. public IoAlarmSignal AlarmSignalT103TempStatus { get; set; }
  103. [Tag("AlarmSignalBufferMotorHardwareInterlockAlarm")]
  104. public IoAlarmSignal AlarmSignalBufferMotorHardwareInterlockAlarm { get; set; }
  105. [Tag("AlarmSignalBoatLiftMotorHardwareInterlockAlarm")]
  106. public IoAlarmSignal AlarmSignalBoatLiftMotorHardwareInterlockAlarm { get; set; }
  107. [Tag("AlarmSignalHFReconciliationPressureMinAbnormal")]
  108. public IoAlarmSignal AlarmSignalHFReconciliationPressureMinAbnormal { get; set; }
  109. [Tag("AlarmSignalMagneticFluidLeak")]
  110. public IoAlarmSignal AlarmSignalMagneticFluidLeak { get; set; }
  111. [Tag("AlarmSignalCoolingWaterLeak")]
  112. public IoAlarmSignal AlarmSignalCoolingWaterLeak { get; set; }
  113. [Tag("AlarmSignalMachineEMS1")]
  114. public IoAlarmSignal AlarmSignalMachineEMS1 { get; set; }
  115. [Tag("AlarmSignalMachineEMS2")]
  116. public IoAlarmSignal AlarmSignalMachineEMS2 { get; set; }
  117. [Tag("AlarmSignalFBLightCurtainFault")]
  118. public IoAlarmSignal AlarmSignalFBLightCurtainFault { get; set; }
  119. [Tag("AlarmSignalFBLightCurtainOSSD1")]
  120. public IoAlarmSignal AlarmSignalFBLightCurtainOSSD1 { get; set; }
  121. [Tag("AlarmSignalFBLightCurtainOSSD2")]
  122. public IoAlarmSignal AlarmSignalFBLightCurtainOSSD2 { get; set; }
  123. [Tag("AlarmSignalFBEMO1")]
  124. public IoAlarmSignal AlarmSignalFBEMO1 { get; set; }
  125. [Tag("AlarmSignalFBEMO2")]
  126. public IoAlarmSignal AlarmSignalFBEMO2 { get; set; }
  127. [Tag("AlarmSignalDoorOverride")]
  128. public IoAlarmSignal AlarmSignalDoorOverride { get; set; }
  129. [Tag("AlarmSignalFBFrontDoorSwitch")]
  130. public IoAlarmSignal AlarmSignalFBFrontDoorSwitch { get; set; }
  131. [Tag("AlarmSignalGLBoxPG1CNT1Alarm")]
  132. public IoAlarmSignal AlarmSignalGLBoxPG1CNT1Alarm { get; set; }
  133. [Tag("AlarmSignalGLBoxPG1CNT2Alarm")]
  134. public IoAlarmSignal AlarmSignalGLBoxPG1CNT2Alarm { get; set; }
  135. [Tag("AlarmSignalGLBoxPG2CNT1Alarm")]
  136. public IoAlarmSignal AlarmSignalGLBoxPG2CNT1Alarm { get; set; }
  137. [Tag("AlarmSignalGLBoxPG2CNT2Alarm")]
  138. public IoAlarmSignal AlarmSignalGLBoxPG2CNT2Alarm { get; set; }
  139. [Tag("AlarmSignalGLBoxPG3CNT1Alarm")]
  140. public IoAlarmSignal AlarmSignalGLBoxPG3CNT1Alarm { get; set; }
  141. [Tag("AlarmSignalGLBoxPG3CNT2Alarm")]
  142. public IoAlarmSignal AlarmSignalGLBoxPG3CNT2Alarm { get; set; }
  143. [Tag("AlarmSignalGLBoxPG4CNT1Alarm")]
  144. public IoAlarmSignal AlarmSignalGLBoxPG4CNT1Alarm { get; set; }
  145. [Tag("AlarmSignalGLBoxPG4CNT2Alarm")]
  146. public IoAlarmSignal AlarmSignalGLBoxPG4CNT2Alarm { get; set; }
  147. [Tag("AlarmSignalGLBoxPG5CNT1Alarm")]
  148. public IoAlarmSignal AlarmSignalGLBoxPG5CNT1Alarm { get; set; }
  149. [Tag("AlarmSignalGLBoxPG5CNT2Alarm")]
  150. public IoAlarmSignal AlarmSignalGLBoxPG5CNT2Alarm { get; set; }
  151. [Tag("AlarmSignalGLBoxPG6CNT1Alarm")]
  152. public IoAlarmSignal AlarmSignalGLBoxPG6CNT1Alarm { get; set; }
  153. [Tag("AlarmSignalGLBoxPG6CNT2Alarm")]
  154. public IoAlarmSignal AlarmSignalGLBoxPG6CNT2Alarm { get; set; }
  155. [Tag("AlarmSignalGLBoxVG21Status")]
  156. public IoAlarmSignal AlarmSignalGLBoxVG21Output1 { get; set; }
  157. [Tag("AlarmSignalGLBoxVG21Output2")]
  158. public IoAlarmSignal AlarmSignalGLBoxVG21Output2 { get; set; }
  159. [Tag("AlarmSignalGLBoxVG22Output1")]
  160. public IoAlarmSignal AlarmSignalGLBoxVG22Output1 { get; set; }
  161. [Tag("AlarmSignalGLBoxVG22Output2")]
  162. public IoAlarmSignal AlarmSignalGLBoxVG22Output2 { get; set; }
  163. [Tag("AlarmSignalGLBoxVG32Output1")]
  164. public IoAlarmSignal AlarmSignalGLBoxVG32Output1 { get; set; }
  165. [Tag("AlarmSignalGLBoxVG32Output2")]
  166. public IoAlarmSignal AlarmSignalGLBoxVG32Output2 { get; set; }
  167. [Tag("AlarmSignalGLBoxVG33Output1")]
  168. public IoAlarmSignal AlarmSignalGLBoxVG33Output1 { get; set; }
  169. [Tag("AlarmSignalGLBoxVG33Output2")]
  170. public IoAlarmSignal AlarmSignalGLBoxVG33Output2 { get; set; }
  171. [Tag("AlarmSignalHeatingExhaust1stAlarmMS1")]
  172. public IoAlarmSignal AlarmSignalHeatingExhaust1stAlarmMS1 { get; set; }
  173. [Tag("AlarmSignalHeatingExhaust2ndAlarmMS1")]
  174. public IoAlarmSignal AlarmSignalHeatingExhaust2ndAlarmMS1 { get; set; }
  175. [Tag("AlarmSignalScavengeExhaust1stAlarmMS3")]
  176. public IoAlarmSignal AlarmSignalScavengeExhaust1stAlarmMS3 { get; set; }
  177. [Tag("AlarmSignalScavengeExhaust2ndAlarmMS3")]
  178. public IoAlarmSignal AlarmSignalScavengeExhaust2ndAlarmMS3 { get; set; }
  179. [Tag("AlarmSignalValveBoxExhaust1stAlarmMS4")]
  180. public IoAlarmSignal AlarmSignalValveBoxExhaust1stAlarmMS4 { get; set; }
  181. [Tag("AlarmSignalValveBoxExhaust2ndAlarmMS4")]
  182. public IoAlarmSignal AlarmSignalValveBoxExhaust2ndAlarmMS4 { get; set; }
  183. [Tag("AlarmSignalLoadingAreaExhaust1stAlarmMS5")]
  184. public IoAlarmSignal AlarmSignalLoadingAreaExhaust1stAlarmMS5 { get; set; }
  185. [Tag("AlarmSignalLoadingAreaExhaust2ndAlarmMS5")]
  186. public IoAlarmSignal AlarmSignalLoadingAreaExhaust2ndAlarmMS5 { get; set; }
  187. [Tag("AlarmSignalFrontBodyExhaust1stAlarmMS6")]
  188. public IoAlarmSignal AlarmSignalFrontBodyExhaust1stAlarmMS6 { get; set; }
  189. [Tag("AlarmSignalFrontBodyExhaust2ndAlarmMS6")]
  190. public IoAlarmSignal AlarmSignalFrontBodyExhaust2ndAlarmMS6 { get; set; }
  191. [Tag("AlarmSignalLAExhaust1stAlarmMS7")]
  192. public IoAlarmSignal AlarmSignalLAExhaust1stAlarmMS7 { get; set; }
  193. [Tag("AlarmSignalLAExhaust2ndAlarmMS7")]
  194. public IoAlarmSignal AlarmSignalLAExhaust2ndAlarmMS7 { get; set; }
  195. [Tag("AlarmSignalRHC1stAlarmMS8")]
  196. public IoAlarmSignal AlarmSignalRHC1stAlarmMS8 { get; set; }
  197. [Tag("AlarmSignalRHC2ndAlarmMS8")]
  198. public IoAlarmSignal AlarmSignalRHC2ndAlarmMS8 { get; set; }
  199. [Tag("AlarmSignalREV1stAlarmMS9")]
  200. public IoAlarmSignal AlarmSignalREV1stAlarmMS9 { get; set; }
  201. [Tag("AlarmSignalREV2ndAlarmMS9")]
  202. public IoAlarmSignal AlarmSignalREV2ndAlarmMS9 { get; set; }
  203. [Tag("AlarmSignalREV1stAlarmMS10")]
  204. public IoAlarmSignal AlarmSignalREV1stAlarmMS10 { get; set; }
  205. [Tag("AlarmSignalREV2ndAlarmMS10")]
  206. public IoAlarmSignal AlarmSignalREV2ndAlarmMS10 { get; set; }
  207. [Tag("AlarmSignalOPBoxPS11Out1")]
  208. public IoAlarmSignal AlarmSignalOPBoxPS11Out1 { get; set; }
  209. [Tag("AlarmSignalOPBoxPS11Out2")]
  210. public IoAlarmSignal AlarmSignalOPBoxPS11Out2 { get; set; }
  211. [Tag("AlarmSignalRHCFlowAlarmFL901")]
  212. public IoAlarmSignal AlarmSignalRHCFlowAlarmFL901 { get; set; }
  213. [Tag("AlarmSignalCoolingWaterFlowAlarmOfFurnaceFL902")]
  214. public IoAlarmSignal AlarmSignalCoolingWaterFlowAlarmOfFurnaceFL902 { get; set; }
  215. [Tag("AlarmSignalCoolingWaterFlowAlarmOfShuttleFL903")]
  216. public IoAlarmSignal AlarmSignalCoolingWaterFlowAlarmOfShuttleFL903 { get; set; }
  217. [Tag("AlarmSignalCoolingWaterFlowAlarmOfBoatRotationFL904")]
  218. public IoAlarmSignal AlarmSignalCoolingWaterFlowAlarmOfBoatRotationFL904 { get; set; }
  219. [Tag("AlarmSignalCoolingWaterFlowAlarmOfFlangeFL905")]
  220. public IoAlarmSignal AlarmSignalCoolingWaterFlowAlarmOfFlangeFL905 { get; set; }
  221. [Tag("AlarmSignalCoolingWaterFlowAlarmOfLoadingAreaFL906")]
  222. public IoAlarmSignal AlarmSignalCoolingWaterFlowAlarmOfLoadingAreaFL906 { get; set; }
  223. [Tag("AlarmSignalVG11LowAlarm")]
  224. public IoAlarmSignal AlarmSignalVG11LowAlarm { get; set; }
  225. [Tag("AlarmSignalVG11HighAlarm")]
  226. public IoAlarmSignal AlarmSignalVG11HighAlarm { get; set; }
  227. [Tag("AlarmSignalVG12LowAlarm")]
  228. public IoAlarmSignal AlarmSignalVG12LowAlarm { get; set; }
  229. [Tag("AlarmSignalVG12HighAlarm")]
  230. public IoAlarmSignal AlarmSignalVG12HighAlarm { get; set; }
  231. [Tag("AlarmSignalVG13LowAlarm")]
  232. public IoAlarmSignal AlarmSignalVG13LowAlarm { get; set; }
  233. [Tag("AlarmSignalVG13HighAlarm")]
  234. public IoAlarmSignal AlarmSignalVG13HighAlarm { get; set; }
  235. [Tag("AlarmSignalPG12OUT1")]
  236. public IoAlarmSignal AlarmSignalPG12OUT1 { get; set; }
  237. [Tag("AlarmSignalPG12OUT2")]
  238. public IoAlarmSignal AlarmSignalPG12OUT2 { get; set; }
  239. [Tag("AlarmSignalPG13OUT1")]
  240. public IoAlarmSignal AlarmSignalPG13OUT1 { get; set; }
  241. [Tag("AlarmSignalPG13OUT2")]
  242. public IoAlarmSignal AlarmSignalPG13OUT2 { get; set; }
  243. [Tag("AlarmSignalPS14OUT1")]
  244. public IoAlarmSignal AlarmSignalPS14OUT1 { get; set; }
  245. [Tag("AlarmSignalPS14OUT2")]
  246. public IoAlarmSignal AlarmSignalPS14OUT2 { get; set; }
  247. [Tag("AlarmSignalCoolingWaterPressureOut1")]
  248. public IoAlarmSignal AlarmSignalCoolingWaterPressureOut1 { get; set; }
  249. [Tag("AlarmSignalCoolingWaterPressureOut2")]
  250. public IoAlarmSignal AlarmSignalCoolingWaterPressureOut2 { get; set; }
  251. [Tag("AlarmSignalAirFlowFL70")]
  252. public IoAlarmSignal AlarmSignalAirFlowFL70 { get; set; }
  253. [Tag("AlarmSignalAirFlowFL71")]
  254. public IoAlarmSignal AlarmSignalAirFlowFL71 { get; set; }
  255. [Tag("AlarmSignalAirFlowFL72")]
  256. public IoAlarmSignal AlarmSignalAirFlowFL72 { get; set; }
  257. [Tag("AlarmSignalWaterFlowFL62")]
  258. public IoAlarmSignal AlarmSignalWaterFlowFL62 { get; set; }
  259. [Tag("AlarmSignalUPSFault")]
  260. public IoAlarmSignal AlarmSignalUPSFault { get; set; }
  261. [Tag("AlarmSignalUPSAlarm")]
  262. public IoAlarmSignal AlarmSignalUPSAlarm { get; set; }
  263. [Tag("AlarmSignalK141UPSAlarm")]
  264. public IoAlarmSignal AlarmSignalK141UPSAlarm { get; set; }
  265. [Tag("AlarmSignalK169UPSAlarm")]
  266. public IoAlarmSignal AlarmSignalK169UPSAlarm { get; set; }
  267. [Tag("AlarmSignalN2PurgeBOXPG14CNT1")]
  268. public IoAlarmSignal AlarmSignalN2PurgeBOXPG14CNT1 { get; set; }
  269. [Tag("AlarmSignalN2PurgeBOXPG14CNT2")]
  270. public IoAlarmSignal AlarmSignalN2PurgeBOXPG14CNT2 { get; set; }
  271. [Tag("AlarmSignalN2PurgeBOXPG15CNT1")]
  272. public IoAlarmSignal AlarmSignalN2PurgeBOXPG15CNT1 { get; set; }
  273. [Tag("AlarmSignalN2PurgeBOXPG15CNT2")]
  274. public IoAlarmSignal AlarmSignalN2PurgeBOXPG15CNT2 { get; set; }
  275. [Tag("AlarmSignalN2PurgeBOXPG16CNT1")]
  276. public IoAlarmSignal AlarmSignalN2PurgeBOXPG16CNT1 { get; set; }
  277. [Tag("AlarmSignalN2PurgeBOXPG16CNT2")]
  278. public IoAlarmSignal AlarmSignalN2PurgeBOXPG16CNT2 { get; set; }
  279. [Tag("AlarmSignalN2PurgeBOXPG70CNT1")]
  280. public IoAlarmSignal AlarmSignalN2PurgeBOXPG70CNT1 { get; set; }
  281. [Tag("AlarmSignalN2PurgeBOXPG70CNT2")]
  282. public IoAlarmSignal AlarmSignalN2PurgeBOXPG70CNT2 { get; set; }
  283. [Tag("AlarmSignalPS17ValueLowLimitAlarm")]
  284. public IoAlarmSignal AlarmSignalPS17ValueLowLimitAlarm { get; set; }
  285. [Tag("AlarmSignalVaccumPumpWarning")]
  286. public IoAlarmSignal AlarmSignalVaccumPumpWarning { get; set; }
  287. [Tag("AlarmSignalVaccumPumpAlarm")]
  288. public IoAlarmSignal AlarmSignalVaccumPumpAlarm { get; set; }
  289. [Tag("AlarmSignalFilterBox1Fan1Alarm")]
  290. public IoAlarmSignal AlarmSignalFilterBox1Fan1Alarm { get; set; }
  291. [Tag("AlarmSignalFilterBox1Fan2Alarm")]
  292. public IoAlarmSignal AlarmSignalFilterBox1Fan2Alarm { get; set; }
  293. [Tag("AlarmSignalStepperMotorAlarm")]
  294. public IoAlarmSignal AlarmSignalStepperMotorAlarm { get; set; }
  295. [Tag("AlarmSignalRFAlarm")]
  296. public IoAlarmSignal AlarmSignalRFAlarm { get; set; }
  297. [Tag("AlarmSignalForelineHeaterJacketLightAlarm")]
  298. public IoAlarmSignal AlarmSignalForelineHeaterJacketLightAlarm { get; set; }
  299. [Tag("AlarmSignalForelineHeaterJacketHeavyAlarm")]
  300. public IoAlarmSignal AlarmSignalForelineHeaterJacketHeavyAlarm { get; set; }
  301. [Tag("AlarmSignalScrubberWarning")]
  302. public IoAlarmSignal AlarmSignalScrubberWarning { get; set; }
  303. [Tag("AlarmSignalScrubberAlarm")]
  304. public IoAlarmSignal AlarmSignalScrubberAlarm { get; set; }
  305. [Tag("AlarmSignalNegLmtPosBoatZAxis")]
  306. public IoAlarmSignal AlarmSignalNegLmtPosBoatZAxis { get; set; }
  307. [Tag("AlarmSignalPotLmtPosBoatZAxis")]
  308. public IoAlarmSignal AlarmSignalPotLmtPosBoatZAxis { get; set; }
  309. [Tag("AlarmSignalLAFFUCommAlarm")]
  310. public IoAlarmSignal AlarmSignalLAFFUCommAlarm { get; set; }
  311. [Tag("AlarmSignaAPCCommAlarm")]
  312. public IoAlarmSignal AlarmSignaAPCCommAlarm { get; set; }
  313. [Tag("AlarmSignalMINI8CommAlarm")]
  314. public IoAlarmSignal AlarmSignalMINI8CommAlarm { get; set; }
  315. [Tag("AlarmSignaMainWaterFlowAlarm")]
  316. public IoAlarmSignal AlarmSignaMainWaterFlowAlarm { get; set; }
  317. [Tag("AlarmSignalFurnaceMainCircuitBreakerStatusMonitor")]
  318. public IoAlarmSignal AlarmSignalFurnaceMainCircuitBreakerStatusMonitor { get; set; }
  319. [Tag("AlarmSignalPumpDown")]
  320. public IoAlarmSignal AlarmSignalPumpDown { get; set; }
  321. [Tag("AlarmSignalPS13HStatus")]
  322. public IoAlarmSignal AlarmSignalPS13HStatus { get; set; }
  323. [Tag("AlarmSignalPS13LStatus")]
  324. public IoAlarmSignal AlarmSignalPS13LStatus { get; set; }
  325. [Tag("AlarmSignalFFU1DataWriteError")]
  326. public IoAlarmSignal AlarmSignalFFU1DataWriteError { get; set; }
  327. [Tag("AlarmSignalFFU2DataWriteError")]
  328. public IoAlarmSignal AlarmSignalFFU2DataWriteError { get; set; }
  329. [Tag("AlarmSignalFFU3DataWriteError")]
  330. public IoAlarmSignal AlarmSignalFFU3DataWriteError { get; set; }
  331. [Tag("AlarmSignalFFU4DataWriteError")]
  332. public IoAlarmSignal AlarmSignalFFU4DataWriteError { get; set; }
  333. [Tag("AlarmSignalFFU5DataWriteError")]
  334. public IoAlarmSignal AlarmSignalFFU5DataWriteError { get; set; }
  335. [Tag("AlarmSignalFFU6DataWriteError")]
  336. public IoAlarmSignal AlarmSignalFFU6DataWriteError { get; set; }
  337. [Tag("AlarmSignalFFU7DataWriteError")]
  338. public IoAlarmSignal AlarmSignalFFU7DataWriteError { get; set; }
  339. [Tag("AlarmSignalFFU8DataWriteError")]
  340. public IoAlarmSignal AlarmSignalFFU8DataWriteError { get; set; }
  341. [Tag("AlarmSignalFFU9DataWriteError")]
  342. public IoAlarmSignal AlarmSignalFFU9DataWriteError { get; set; }
  343. [Tag("AlarmSignalDG1Output1")]
  344. public IoAlarmSignal AlarmSignalDG1Output1 { get; set; }
  345. [Tag("AlarmSignalDG1Output2")]
  346. public IoAlarmSignal AlarmSignalDG1Output2 { get; set; }
  347. [Tag("AlarmSignalAV91_1RHCAirInOpened")]
  348. public IoAlarmSignal AlarmSignalAV91_1RHCAirInOpened { get; set; }
  349. [Tag("AlarmSignalAV91_2RHCAirInOpened")]
  350. public IoAlarmSignal AlarmSignalAV91_2RHCAirInOpened { get; set; }
  351. [Tag("AlarmSignalAV91_3RHCAirInOpened")]
  352. public IoAlarmSignal AlarmSignalAV91_3RHCAirInOpened { get; set; }
  353. [Tag("AlarmSignalAV91_4RHCAirInOpened")]
  354. public IoAlarmSignal AlarmSignalAV91_4RHCAirInOpened { get; set; }
  355. [Tag("AlarmSignalBlowerPower")]
  356. public IoAlarmSignal AlarmSignalBlowerPower { get; set; }
  357. [Tag("AlarmSignalRFSetPowerReached")]
  358. public IoAlarmSignal AlarmSignalRFSetPowerReached { get; set; }
  359. [Tag("AlarmSignalN2FlowInFOUPAbnormal")]
  360. public IoAlarmSignal AlarmSignalN2FlowInFOUPAbnormal { get; set; }
  361. [Tag("AlarmSignalCapHeaterAbnormal")]
  362. public IoAlarmSignal AlarmSignalCapHeaterAbnormal { get; set; }
  363. [Tag("AlarmSignalHeaterUOverTemp")]
  364. public IoAlarmSignal AlarmSignalHeaterUOverTemp { get; set; }
  365. [Tag("AlarmSignalHeaterCUOverTemp")]
  366. public IoAlarmSignal AlarmSignalHeaterCUOverTemp { get; set; }
  367. [Tag("AlarmSignalHeaterCOverTemp")]
  368. public IoAlarmSignal AlarmSignalHeaterCOverTemp { get; set; }
  369. [Tag("AlarmSignalHeaterCLOverTemp")]
  370. public IoAlarmSignal AlarmSignalHeaterCLOverTemp { get; set; }
  371. [Tag("AlarmSignalHeaterLOverTemp")]
  372. public IoAlarmSignal AlarmSignalHeaterLOverTemp { get; set; }
  373. [Tag("AlarmSignaBoatRAxisAlarm")]
  374. public IoAlarmSignal AlarmSignaBoatRAxisAlarm { get; set; }
  375. [Tag("AlarmSignaBoatRAxisWarning")]
  376. public IoAlarmSignal AlarmSignaBoatRAxisWarning { get; set; }
  377. [Tag("AlarmSignaBoatZAxisWarning")]
  378. public IoAlarmSignal AlarmSignaBoatZAxisWarning { get; set; }
  379. [Tag("AlarmSignaBoatZAxisAlarm")]
  380. public IoAlarmSignal AlarmSignaBoatZAxisAlarm { get; set; }
  381. [Tag("AlarmSignaGasHeaterSensorBreakOutAlarm")]
  382. public IoAlarmSignal AlarmSignaGasHeaterSensorBreakOutAlarm { get; set; }
  383. [Tag("AlarmSignaTempLimitAlarm")]
  384. public IoAlarmSignal AlarmSignaTempLimitAlarm { get; set; }
  385. [Tag("AlarmSignalLAO2CheckOTWarning")]
  386. public IoAlarmSignal AlarmSignalLAO2CheckOTWarning { get; set; }
  387. [Tag("AlarmSignalFIMS1O2CheckOTWarning")]
  388. public IoAlarmSignal AlarmSignalFIMS1O2CheckOTWarning { get; set; }
  389. [Tag("AlarmSignalFIMS2O2CheckOTWarning")]
  390. public IoAlarmSignal AlarmSignalFIMS2O2CheckOTWarning { get; set; }
  391. [Tag("AlarmSignalHeaterUCascadePVSBrk")]
  392. public IoAlarmSignal AlarmSignalHeaterUCascadePVSBrk { get; set; }
  393. [Tag("AlarmSignalHeaterUHeaterPVSBrk")]
  394. public IoAlarmSignal AlarmSignalHeaterUHeaterPVSBrk { get; set; }
  395. [Tag("AlarmSignalHeaterCUCascadePVSBrk")]
  396. public IoAlarmSignal AlarmSignalHeaterCUCascadePVSBrk { get; set; }
  397. [Tag("AlarmSignalHeaterCUHeaterPVSBrk")]
  398. public IoAlarmSignal AlarmSignalHeaterCUHeaterPVSBrk { get; set; }
  399. [Tag("AlarmSignalHeaterCCascadePVSBrk")]
  400. public IoAlarmSignal AlarmSignalHeaterCCascadePVSBrk { get; set; }
  401. [Tag("AlarmSignalHeaterCHeaterPVSBrk")]
  402. public IoAlarmSignal AlarmSignalHeaterCHeaterPVSBrk { get; set; }
  403. [Tag("AlarmSignalHeaterCLCascadePVSBrk")]
  404. public IoAlarmSignal AlarmSignalHeaterCLCascadePVSBrk { get; set; }
  405. [Tag("AlarmSignalHeaterCLHeaterPVSBrk")]
  406. public IoAlarmSignal AlarmSignalHeaterCLHeaterPVSBrk { get; set; }
  407. [Tag("AlarmSignalHeaterLCascadePVSBrk")]
  408. public IoAlarmSignal AlarmSignalHeaterLCascadePVSBrk { get; set; }
  409. [Tag("AlarmSignalHeaterLHeaterPVSBrk")]
  410. public IoAlarmSignal AlarmSignalHeaterLHeaterPVSBrk { get; set; }
  411. [Tag("GasLine1AlarmSignalTempOutRange")]
  412. public IoAlarmSignal GasLine1AlarmSignalTempOutRange { get; set; }
  413. [Tag("GasLine2AlarmSignalTempOutRange")]
  414. public IoAlarmSignal GasLine2AlarmSignalTempOutRange { get; set; }
  415. [Tag("GasLine3AlarmSignalTempOutRange")]
  416. public IoAlarmSignal GasLine3AlarmSignalTempOutRange { get; set; }
  417. [Tag("GasLine4AlarmSignalTempOutRange")]
  418. public IoAlarmSignal GasLine4AlarmSignalTempOutRange { get; set; }
  419. [Tag("GasLine6AlarmSignalTempOutRange")]
  420. public IoAlarmSignal GasLine6AlarmSignalTempOutRange { get; set; }
  421. [Tag("GasLine7AlarmSignalTempOutRange")]
  422. public IoAlarmSignal GasLine7AlarmSignalTempOutRange { get; set; }
  423. [Tag("GasLine1AlarmSignalCLN")]
  424. public IoAlarmSignal GasLine1AlarmSignalCLN { get; set; }
  425. [Tag("GasLine2AlarmSignalCLN")]
  426. public IoAlarmSignal GasLine2AlarmSignalCLN { get; set; }
  427. [Tag("GasLine3AlarmSignalCLN")]
  428. public IoAlarmSignal GasLine3AlarmSignalCLN { get; set; }
  429. [Tag("GasLine4AlarmSignalCLN")]
  430. public IoAlarmSignal GasLine4AlarmSignalCLN { get; set; }
  431. [Tag("GasLine6AlarmSignalCLN")]
  432. public IoAlarmSignal GasLine6AlarmSignalCLN { get; set; }
  433. [Tag("GasLine7AlarmSignalCLN")]
  434. public IoAlarmSignal GasLine7AlarmSignalCLN { get; set; }
  435. [Tag("AlarmSignalHCL1GasLeak1stAlarm")]
  436. public IoAlarmSignal AlarmSignalHCL1GasLeak1stAlarm { get; set; }
  437. [Tag("AlarmSignalHCL1GasLeak2ndAlarm")]
  438. public IoAlarmSignal AlarmSignalHCL1GasLeak2ndAlarm { get; set; }
  439. [Tag("AlarmSignalHCL2GasLeak1stAlarm")]
  440. public IoAlarmSignal AlarmSignalHCL2GasLeak1stAlarm { get; set; }
  441. [Tag("AlarmSignalHCL2GasLeak2ndAlarm")]
  442. public IoAlarmSignal AlarmSignalHCL2GasLeak2ndAlarm { get; set; }
  443. [Tag("AlarmSignalNH31GasLeak1stAlarm")]
  444. public IoAlarmSignal AlarmSignalNH31GasLeak1stAlarm { get; set; }
  445. [Tag("AlarmSignalNH31GasLeak2ndAlarm")]
  446. public IoAlarmSignal AlarmSignalNH31GasLeak2ndAlarm { get; set; }
  447. [Tag("AlarmSignalNH32GasLeak1stAlarm")]
  448. public IoAlarmSignal AlarmSignalNH32GasLeak1stAlarm { get; set; }
  449. [Tag("AlarmSignalNH32GasLeak2ndAlarm")]
  450. public IoAlarmSignal AlarmSignalNH32GasLeak2ndAlarm { get; set; }
  451. [Tag("AlarmSignalF21GasLeak1stAlarm")]
  452. public IoAlarmSignal AlarmSignalF21GasLeak1stAlarm { get; set; }
  453. [Tag("AlarmSignalF21GasLeak2ndAlarm")]
  454. public IoAlarmSignal AlarmSignalF21GasLeak2ndAlarm { get; set; }
  455. [Tag("AlarmSignalF22GasLeak1stAlarm")]
  456. public IoAlarmSignal AlarmSignalF22GasLeak1stAlarm { get; set; }
  457. [Tag("AlarmSignalF22GasLeak2ndAlarm")]
  458. public IoAlarmSignal AlarmSignalF22GasLeak2ndAlarm { get; set; }
  459. [Tag("AlarmSignalNO1GasLeak1stAlarm")]
  460. public IoAlarmSignal AlarmSignalNO1GasLeak1stAlarm { get; set; }
  461. [Tag("AlarmSignalNO1GasLeak2ndAlarm")]
  462. public IoAlarmSignal AlarmSignalNO1GasLeak2ndAlarm { get; set; }
  463. [Tag("AlarmSignalNO2GasLeak1stAlarm")]
  464. public IoAlarmSignal AlarmSignalNO2GasLeak1stAlarm { get; set; }
  465. [Tag("AlarmSignalNO2GasLeak2ndAlarm")]
  466. public IoAlarmSignal AlarmSignalNO2GasLeak2ndAlarm { get; set; }
  467. [Tag("AlarmSignalC3H61GasLeak1stAlarm")]
  468. public IoAlarmSignal AlarmSignalC3H61GasLeak1stAlarm { get; set; }
  469. [Tag("AlarmSignalC3H61GasLeak2ndAlarm")]
  470. public IoAlarmSignal AlarmSignalC3H61GasLeak2ndAlarm { get; set; }
  471. [Tag("AlarmSignalC3H62GasLeak1stAlarm")]
  472. public IoAlarmSignal AlarmSignalC3H62GasLeak1stAlarm { get; set; }
  473. [Tag("AlarmSignalC3H62GasLeak2ndAlarm")]
  474. public IoAlarmSignal AlarmSignalC3H62GasLeak2ndAlarm { get; set; }
  475. [Tag("AlarmSignalDMA1GasLeak1stAlarm")]
  476. public IoAlarmSignal AlarmSignalDMA1GasLeak1stAlarm { get; set; }
  477. [Tag("AlarmSignalDMA1GasLeak2ndAlarm")]
  478. public IoAlarmSignal AlarmSignalDMA1GasLeak2ndAlarm { get; set; }
  479. [Tag("AlarmSignalDMA2GasLeak1stAlarm")]
  480. public IoAlarmSignal AlarmSignalDMA2GasLeak1stAlarm { get; set; }
  481. [Tag("AlarmSignalDMA2GasLeak2ndAlarm")]
  482. public IoAlarmSignal AlarmSignalDMA2GasLeak2ndAlarm { get; set; }
  483. [Tag("AlarmSignalGLBoxPG7CNT1Alarm")]
  484. public IoAlarmSignal AlarmSignalGLBoxPG7CNT1Alarm { get; set; }
  485. [Tag("AlarmSignalGLBoxPG7CNT2Alarm")]
  486. public IoAlarmSignal AlarmSignalGLBoxPG7CNT2Alarm { get; set; }
  487. [Tag("AlarmSignalGLBoxPG8CNT2Alarm")]
  488. public IoAlarmSignal AlarmSignalGLBoxPG8CNT2Alarm { get; set; }
  489. [Tag("AlarmSignalGLBoxPG9CNT2Alarm")]
  490. public IoAlarmSignal AlarmSignalGLBoxPG9CNT2Alarm { get; set; }
  491. [Tag("AlarmSignalHEXOverTemperatureAlarm")]
  492. public IoAlarmSignal AlarmSignalHEXOverTemperatureAlarm { get; set; }
  493. [Tag("AlarmSignalGLBoxPG21CNT1Alarm")]
  494. public IoAlarmSignal AlarmSignalGLBoxPG21CNT1Alarm { get; set; }
  495. [Tag("AlarmSignalGLBoxPG21CNT2Alarm")]
  496. public IoAlarmSignal AlarmSignalGLBoxPG21CNT2Alarm { get; set; }
  497. [Tag("AlarmSignalGLBoxPG22CNT1Alarm")]
  498. public IoAlarmSignal AlarmSignalGLBoxPG22CNT1Alarm { get; set; }
  499. [Tag("AlarmSignalGLBoxPG22CNT2Alarm")]
  500. public IoAlarmSignal AlarmSignalGLBoxPG22CNT2Alarm { get; set; }
  501. [Tag("AlarmSignalGLBoxPG23CNT1Alarm")]
  502. public IoAlarmSignal AlarmSignalGLBoxPG23CNT1Alarm { get; set; }
  503. [Tag("AlarmSignalGLBoxPG23CNT2Alarm")]
  504. public IoAlarmSignal AlarmSignalGLBoxPG23CNT2Alarm { get; set; }
  505. [Tag("AlarmSignalGLBoxPG24CNT1Alarm")]
  506. public IoAlarmSignal AlarmSignalGLBoxPG24CNT1Alarm { get; set; }
  507. [Tag("AlarmSignalGLBoxPG24CNT2Alarm")]
  508. public IoAlarmSignal AlarmSignalGLBoxPG24CNT2Alarm { get; set; }
  509. [Tag("AlarmSignalGLBoxPG25CNT1Alarm")]
  510. public IoAlarmSignal AlarmSignalGLBoxPG25CNT1Alarm { get; set; }
  511. [Tag("AlarmSignalGLBoxPG25CNT2Alarm")]
  512. public IoAlarmSignal AlarmSignalGLBoxPG25CNT2Alarm { get; set; }
  513. [Tag("AlarmSignalGLBoxPG31CNT1Alarm")]
  514. public IoAlarmSignal AlarmSignalGLBoxPG31CNT1Alarm { get; set; }
  515. [Tag("AlarmSignalGLBoxPG31CNT2Alarm")]
  516. public IoAlarmSignal AlarmSignalGLBoxPG31CNT2Alarm { get; set; }
  517. [Tag("AlarmSignalGLBoxPG32CNT1Alarm")]
  518. public IoAlarmSignal AlarmSignalGLBoxPG32CNT1Alarm { get; set; }
  519. [Tag("AlarmSignalGLBoxPG32CNT2Alarm")]
  520. public IoAlarmSignal AlarmSignalGLBoxPG32CNT2Alarm { get; set; }
  521. [Tag("AlarmSignalPG12CNT1Alarm")]
  522. public IoAlarmSignal AlarmSignalPG12CNT1Alarm { get; set; }
  523. [Tag("AlarmSignalPG12CNT2Alarm")]
  524. public IoAlarmSignal AlarmSignalPG12CNT2Alarm { get; set; }
  525. [Tag("AlarmSignalPG13CNT1Alarm")]
  526. public IoAlarmSignal AlarmSignalPG13CNT1Alarm { get; set; }
  527. [Tag("AlarmSignalPG13CNT2Alarm")]
  528. public IoAlarmSignal AlarmSignalPG13CNT2Alarm { get; set; }
  529. [Tag("AlarmSignalVaccum1PumpWarning")]
  530. public IoAlarmSignal AlarmSignalVaccum1PumpWarning { get; set; }
  531. [Tag("AlarmSignalVaccum1PumpAlarm")]
  532. public IoAlarmSignal AlarmSignalVaccum1PumpAlarm { get; set; }
  533. [Tag("AlarmSignalVaccum2PumpWarning")]
  534. public IoAlarmSignal AlarmSignalVaccum2PumpWarning { get; set; }
  535. [Tag("AlarmSignalVaccum2PumpAlarm")]
  536. public IoAlarmSignal AlarmSignalVaccum2PumpAlarm { get; set; }
  537. [Tag("AlarmSignalHotN2Alarm")]
  538. public IoAlarmSignal AlarmSignalHotN2Alarm { get; set; }
  539. [Tag("AlarmSignalLDS1MajorAlarm")]
  540. public IoAlarmSignal AlarmSignalLDS1MajorAlarm { get; set; }
  541. [Tag("AlarmSignalLDS1MinorWarning")]
  542. public IoAlarmSignal AlarmSignalLDS1MinorWarning { get; set; }
  543. [Tag("AlarmSignalLDS1liquidLowWarning")]
  544. public IoAlarmSignal AlarmSignalLDS1liquidLowWarning { get; set; }
  545. [Tag("AlarmSignalLDS1TankBlankAlarm")]
  546. public IoAlarmSignal AlarmSignalLDS1TankBlankAlarm { get; set; }
  547. [Tag("AlarmSignalLDS2MajorAlarm")]
  548. public IoAlarmSignal AlarmSignalLDS2MajorAlarm { get; set; }
  549. [Tag("AlarmSignalLDS2MinorWarning")]
  550. public IoAlarmSignal AlarmSignalLDS2MinorWarning { get; set; }
  551. [Tag("AlarmSignalLDS2LiquidLowWarning")]
  552. public IoAlarmSignal AlarmSignalLDS2LiquidLowWarning { get; set; }
  553. [Tag("AlarmSignalLDS2TankBlankAlarm")]
  554. public IoAlarmSignal AlarmSignalLDS2TankBlankAlarm { get; set; }
  555. [Tag("AlarmSignalPOD1FOUPVacuumSuckingAlarm")]
  556. public IoAlarmSignal AlarmSignalPOD1FOUPVacuumSuckingAlarm { get; set; }
  557. [Tag("AlarmSignalPOD2FOUPVacuumSuckingAlarm")]
  558. public IoAlarmSignal AlarmSignalPOD2FOUPVacuumSuckingAlarm { get; set; }
  559. [Tag("AlarmTS34RRotationTempSwAlarm")]
  560. public IoAlarmSignal AlarmTS34RRotationTempSwAlarm { get; set; }
  561. [Tag("AlarmTS30CapInsideTempSwAlarm")]
  562. public IoAlarmSignal AlarmTS30CapInsideTempSwAlarm { get; set; }
  563. [Tag("AlarmTS31capoutsidetemSwAlarm")]
  564. public IoAlarmSignal AlarmTS31capoutsidetemSwAlarm { get; set; }
  565. [Tag("AlarmGasboxlowerdoorSwAlarm")]
  566. public IoAlarmSignal AlarmGasboxlowerdoorSwAlarm { get; set; }
  567. [Tag("AlarmGasboxupperdoorSwAlarm")]
  568. public IoAlarmSignal AlarmGasboxupperdoorSwAlarm { get; set; }
  569. [Tag("AlarmEXHboxwaterleakAlarm")]
  570. public IoAlarmSignal AlarmEXHboxwaterleakAlarm { get; set; }
  571. [Tag("AlarmOPpanelEMO1Alarm")]
  572. public IoAlarmSignal AlarmOPpanelEMO1Alarm { get; set; }
  573. [Tag("AlarmOPpanelEMO2Alarm")]
  574. public IoAlarmSignal AlarmOPpanelEMO2Alarm { get; set; }
  575. [Tag("AlarmMainFurnaceTS306Alarm")]
  576. public IoAlarmSignal AlarmMainFurnaceTS306Alarm { get; set; }
  577. [Tag("AlarmHeaterRoomSWS11S12Alarm")]
  578. public IoAlarmSignal AlarmHeaterRoomSWS11S12Alarm { get; set; }
  579. [Tag("AlarmHeaterBbacksidePanelSWS112Alarm")]
  580. public IoAlarmSignal AlarmHeaterBbacksidePanelSWS112Alarm { get; set; }
  581. [Tag("AlarmRHCTS305Alarm")]
  582. public IoAlarmSignal AlarmRHCTS305Alarm { get; set; }
  583. [Tag("AlarmGasLeakFaultAlarm")]
  584. public IoAlarmSignal AlarmGasLeakFaultAlarm { get; set; }
  585. [Tag("AlarmMagneticFluidLeakAlarm")]
  586. public IoAlarmSignal AlarmMagneticFluidLeakAlarm { get; set; }
  587. [Tag("AlarmCoolingWaterLeakAlarm")]
  588. public IoAlarmSignal AlarmCoolingWaterLeakAlarm { get; set; }
  589. [Tag("AlarmLSCWaterLeakAlarm")]
  590. public IoAlarmSignal AlarmLSCWaterLeakAlarm { get; set; }
  591. [Tag("AlarmLABacksideDoorSwitchAlarm")]
  592. public IoAlarmSignal AlarmLABacksideDoorSwitchAlarm { get; set; }
  593. [Tag("AlarmSiSourceTANKHeater1INHIBITHIAlarm")]
  594. public IoAlarmSignal AlarmSiSourceTANKHeater1INHIBITHIAlarm { get; set; }
  595. [Tag("AlarmSiSourceTANKHeater1INHIBITLOWAlarm")]
  596. public IoAlarmSignal AlarmSiSourceTANKHeater1INHIBITLOWAlarm { get; set; }
  597. [Tag("AlarmSiSourceTANKHeater2INHIBITHIAlarm")]
  598. public IoAlarmSignal AlarmSiSourceTANKHeater2INHIBITHIAlarm { get; set; }
  599. [Tag("AlarmSiSourceTANKHeater2INHIBITLOWAlarm")]
  600. public IoAlarmSignal AlarmSiSourceTANKHeater2INHIBITLOWAlarm { get; set; }
  601. [Tag("AlarmSiSourceTANKHeater3INHIBITHIAlarm")]
  602. public IoAlarmSignal AlarmSiSourceTANKHeater3INHIBITHIAlarm { get; set; }
  603. [Tag("AlarmSiSourceTANKHeater3INHIBITLOWAlarm")]
  604. public IoAlarmSignal AlarmSiSourceTANKHeater3INHIBITLOWAlarm { get; set; }
  605. [Tag("AlarmSiSourceAVMFCHeaterINHIBITHIAlarm")]
  606. public IoAlarmSignal AlarmSiSourceAVMFCHeaterINHIBITHIAlarm { get; set; }
  607. [Tag("AlarmSiSourceAVMFCHeaterINHIBITLOWAlarm")]
  608. public IoAlarmSignal AlarmSiSourceAVMFCHeaterINHIBITLOWAlarm { get; set; }
  609. [Tag("AlarmCSourceTANKHeater1INHIBITHIAlarm")]
  610. public IoAlarmSignal AlarmCSourceTANKHeater1INHIBITHIAlarm { get; set; }
  611. [Tag("AlarmCSourceTANKHeater1INHIBITLOWAlarm")]
  612. public IoAlarmSignal AlarmCSourceTANKHeater1INHIBITLOWAlarm { get; set; }
  613. [Tag("AlarmCSourceTANKHeater2INHIBITHIAlarm")]
  614. public IoAlarmSignal AlarmCSourceTANKHeater2INHIBITHIAlarm { get; set; }
  615. [Tag("AlarmCSourceTANKHeater2INHIBITLOWAlarm")]
  616. public IoAlarmSignal AlarmCSourceTANKHeater2INHIBITLOWAlarm { get; set; }
  617. [Tag("AlarmCSourceTANKHeater3INHIBITHIAlarm")]
  618. public IoAlarmSignal AlarmCSourceTANKHeater3INHIBITHIAlarm { get; set; }
  619. [Tag("AlarmCSourceTANKHeater3INHIBITLOWAlarm")]
  620. public IoAlarmSignal AlarmCSourceTANKHeater3INHIBITLOWAlarm { get; set; }
  621. [Tag("AlarmCSourceAVMFCHeaterINHIBITHIAlarm")]
  622. public IoAlarmSignal AlarmCSourceAVMFCHeaterINHIBITHIAlarm { get; set; }
  623. [Tag("AlarmCSourceAVMFCHeaterINHIBITLOWAlarm")]
  624. public IoAlarmSignal AlarmCSourceAVMFCHeaterINHIBITLOWAlarm { get; set; }
  625. #endregion
  626. public AITSensorData SensorRecipeOK { get; set; }
  627. public AITSensorData SensorPROCManualOK { get; set; }
  628. [Tag("SensorVG11Status")]
  629. public IoSensor SensorVG11Status { get; set; }
  630. [Tag("SensorVG12Status")]
  631. public IoSensor SensorVG12Status { get; set; }
  632. [Tag("SensorVG13Status")]
  633. public IoSensor SensorVG13Status { get; set; }
  634. [Tag("SensorVACDEPOOK")]
  635. public IoSensor SensorVACDEPOOK { get; set; }
  636. [Tag("SensorVACHFOK")]
  637. public IoSensor SensorVACHFOK { get; set; }
  638. [Tag("SensorVACF2OK")]
  639. public IoSensor SensorVACF2OK { get; set; }
  640. [Tag("SensorO2DetectSideLA")]
  641. public IoSensor SensorO2DetectSideLA { get; set; }
  642. [Tag("SensorO2DetectSideFIMS1")]
  643. public IoSensor SensorO2DetectSideFIMS1 { get; set; }
  644. [Tag("SensorO2DetectSideFIMS2")]
  645. public IoSensor SensorO2DetectSideFIMS2 { get; set; }
  646. [Tag("SensorLADoorSw1")]
  647. public IoSensor SensorLADoorSw1 { get; set; }
  648. [Tag("SensorLADoorSw2")]
  649. public IoSensor SensorLADoorSw2 { get; set; }
  650. [Tag("SensorLADoorSw3")]
  651. public IoSensor SensorLADoorSw3 { get; set; }
  652. //[Tag("SensorNH3PressureOK")]
  653. //public IoAlarmSignal SignalLeak { get; set; }
  654. //[Tag("SignalExhaustAlarm")]
  655. //public IoAlarmSignal SignalExhaustAlarm { get; set; }
  656. //[Tag("SignalLeakBroken")]
  657. //public IoAlarmSignal SignalLeakBroken { get; set; }
  658. //[Tag("EmoAlarm")]
  659. //public IoAlarmSignal EmoAlarm { get; set; }
  660. // -------------------------------------------------------------------------
  661. //[Tag("ChamberLiftPin")]
  662. //public IoLift2 ChamberLiftPin { get; set; }
  663. // -------------------------------------------------------------------------
  664. //[Tag("ChamberDoor")]
  665. //public IoDoor2 ChamberDoor { get; set; }
  666. //[Tag("MFM61")]
  667. //public IoMFM MFM61 { get; set; }
  668. //[Tag("MfmNB")]
  669. //public IoMFM MfmNB { get; set; }
  670. [Tag("ValveAV1")]
  671. public IoValve ValveAV1 { get; set; }
  672. [Tag("ValveAV2")]
  673. public IoValve ValveAV2 { get; set; }
  674. [Tag("ValveAV3")]
  675. public IoValve ValveAV3 { get; set; }
  676. [Tag("ValveAV4")]
  677. public IoValve ValveAV4 { get; set; }
  678. [Tag("ValveAV5")]
  679. public IoValve ValveAV5 { get; set; }
  680. [Tag("ValveAV6")]
  681. public IoValve ValveAV6 { get; set; }
  682. [Tag("ValveAV7")]
  683. public IoValve ValveAV7 { get; set; }
  684. [Tag("ValveAV8")]
  685. public IoValve ValveAV8 { get; set; }
  686. [Tag("ValveAV9")]
  687. public IoValve ValveAV9 { get; set; }
  688. [Tag("ValveAV10")]
  689. public IoValve ValveAV10 { get; set; }
  690. [Tag("ValveAV11")]
  691. public IoValve ValveAV11 { get; set; }
  692. [Tag("ValveAV12")]
  693. public IoValve ValveAV12 { get; set; }
  694. [Tag("ValveAV13")]
  695. public IoValve ValveAV13 { get; set; }
  696. [Tag("ValveAV14")]
  697. public IoValve ValveAV14 { get; set; }
  698. [Tag("ValveAV15")]
  699. public IoValve ValveAV15 { get; set; }
  700. [Tag("ValveAV16")]
  701. public IoValve ValveAV16 { get; set; }
  702. [Tag("ValveAV17")]
  703. public IoValve ValveAV17 { get; set; }
  704. [Tag("ValveAV18")]
  705. public IoValve ValveAV18 { get; set; }
  706. [Tag("ValveAV19")]
  707. public IoValve ValveAV19 { get; set; }
  708. [Tag("ValveAV20")]
  709. public IoValve ValveAV20 { get; set; }
  710. [Tag("ValveAV21")]
  711. public IoValve ValveAV21 { get; set; }
  712. [Tag("ValveAV22")]
  713. public IoValve ValveAV22 { get; set; }
  714. [Tag("ValveAV23")]
  715. public IoValve ValveAV23 { get; set; }
  716. [Tag("ValveAV24")]
  717. public IoValve ValveAV24 { get; set; }
  718. [Tag("ValveAV25")]
  719. public IoValve ValveAV25 { get; set; }
  720. [Tag("ValveAV26")]
  721. public IoValve ValveAV26 { get; set; }
  722. [Tag("ValveAV27")]
  723. public IoValve ValveAV27 { get; set; }
  724. [Tag("ValveAV28")]
  725. public IoValve ValveAV28 { get; set; }
  726. [Tag("ValveAV29")]
  727. public IoValve ValveAV29 { get; set; }
  728. [Tag("ValveAV30")]
  729. public IoValve ValveAV30 { get; set; }
  730. [Tag("ValveAV31")]
  731. public IoValve ValveAV31 { get; set; }
  732. [Tag("ValveAV32")]
  733. public IoValve ValveAV32 { get; set; }
  734. [Tag("ValveAV33")]
  735. public IoValve ValveAV33 { get; set; }
  736. [Tag("ValveAV34")]
  737. public IoValve ValveAV34 { get; set; }
  738. [Tag("ValveAV35")]
  739. public IoValve ValveAV35 { get; set; }
  740. [Tag("ValveAV36")]
  741. public IoValve ValveAV36 { get; set; }
  742. [Tag("ValveAV37")]
  743. public IoValve ValveAV37 { get; set; }
  744. [Tag("ValveAV38")]
  745. public IoValve ValveAV38 { get; set; }
  746. [Tag("ValveAV39")]
  747. public IoValve ValveAV39 { get; set; }
  748. [Tag("ValveAV40")]
  749. public IoValve ValveAV40 { get; set; }
  750. [Tag("ValveAV41")]
  751. public IoValve ValveAV41 { get; set; }
  752. [Tag("ValveAV42")]
  753. public IoValve ValveAV42 { get; set; }
  754. [Tag("ValveAV43")]
  755. public IoValve ValveAV43 { get; set; }
  756. [Tag("ValveAV44")]
  757. public IoValve ValveAV44 { get; set; }
  758. [Tag("ValveAV45")]
  759. public IoValve ValveAV45 { get; set; }
  760. [Tag("ValveAV46")]
  761. public IoValve ValveAV46 { get; set; }
  762. [Tag("ValveAV47")]
  763. public IoValve ValveAV47 { get; set; }
  764. [Tag("ValveAV48")]
  765. public IoValve ValveAV48 { get; set; }
  766. [Tag("ValveAV49")]
  767. public IoValve ValveAV49 { get; set; }
  768. [Tag("ValveAV50")]
  769. public IoValve ValveAV50 { get; set; }
  770. [Tag("ValveAV51")]
  771. public IoValve ValveAV51 { get; set; }
  772. [Tag("ValveAV52")]
  773. public IoValve ValveAV52 { get; set; }
  774. [Tag("ValveAV53")]
  775. public IoValve ValveAV53 { get; set; }
  776. [Tag("ValveAV54")]
  777. public IoValve ValveAV54 { get; set; }
  778. [Tag("ValveAV55")]
  779. public IoValve ValveAV55 { get; set; }
  780. [Tag("ValveAV56")]
  781. public IoValve ValveAV56 { get; set; }
  782. [Tag("ValveAV57")]
  783. public IoValve ValveAV57 { get; set; }
  784. [Tag("ValveAV58")]
  785. public IoValve ValveAV58 { get; set; }
  786. [Tag("ValveAV59")]
  787. public IoValve ValveAV59 { get; set; }
  788. [Tag("ValveAV60")]
  789. public IoValve ValveAV60 { get; set; }
  790. [Tag("ValveAV61")]
  791. public IoValve ValveAV61 { get; set; }
  792. [Tag("ValveAV62")]
  793. public IoValve ValveAV62 { get; set; }
  794. [Tag("ValveAV63")]
  795. public IoValve ValveAV63 { get; set; }
  796. [Tag("ValveAV64")]
  797. public IoValve ValveAV64 { get; set; }
  798. [Tag("ValveAV65")]
  799. public IoValve ValveAV65 { get; set; }
  800. [Tag("ValveAV202LADoor")]
  801. public IoValve ValveAV202LADoor { get; set; }
  802. [Tag("ValveAV66")]
  803. public IoValve ValveAV66 { get; set; }
  804. [Tag("ValveAV67")]
  805. public IoValve ValveAV67 { get; set; }
  806. [Tag("ValveAV68")]
  807. public IoValve ValveAV68 { get; set; }
  808. [Tag("ValveAV69")]
  809. public IoValve ValveAV69 { get; set; }
  810. [Tag("ValveAV70")]
  811. public IoValve ValveAV70 { get; set; }
  812. [Tag("ValveAV71")]
  813. public IoValve ValveAV71 { get; set; }
  814. [Tag("ValveAV72")]
  815. public IoValve ValveAV72 { get; set; }
  816. [Tag("ValveAV73")]
  817. public IoValve ValveAV73 { get; set; }
  818. [Tag("ValveAV74")]
  819. public IoValve ValveAV74 { get; set; }
  820. [Tag("ValveAV75")]
  821. public IoValve ValveAV75 { get; set; }
  822. [Tag("ValveAV76")]
  823. public IoValve ValveAV76 { get; set; }
  824. [Tag("ValveAV77")]
  825. public IoValve ValveAV77 { get; set; }
  826. [Tag("ValveAV78")]
  827. public IoValve ValveAV78 { get; set; }
  828. [Tag("ValveAV79")]
  829. public IoValve ValveAV79 { get; set; }
  830. [Tag("ValveAV80")]
  831. public IoValve ValveAV80 { get; set; }
  832. [Tag("ValveAV81")]
  833. public IoValve ValveAV81 { get; set; }
  834. [Tag("ValveAV82")]
  835. public IoValve ValveAV82 { get; set; }
  836. [Tag("ValveAV83")]
  837. public IoValve ValveAV83 { get; set; }
  838. [Tag("ValveAV84")]
  839. public IoValve ValveAV84 { get; set; }
  840. [Tag("ValveAV85")]
  841. public IoValve ValveAV85 { get; set; }
  842. [Tag("ValveAV86")]
  843. public IoValve ValveAV86 { get; set; }
  844. [Tag("ValveAV87")]
  845. public IoValve ValveAV87 { get; set; }
  846. [Tag("ValveAV88")]
  847. public IoValve ValveAV88 { get; set; }
  848. [Tag("ValveAV89")]
  849. public IoValve ValveAV89 { get; set; }
  850. [Tag("ValveAV90")]
  851. public IoValve ValveAV90 { get; set; }
  852. [Tag("ValveAV91")]
  853. public IoValve ValveAV91 { get; set; }
  854. [Tag("ValveAV92")]
  855. public IoValve ValveAV92 { get; set; }
  856. [Tag("ValveAV93")]
  857. public IoValve ValveAV93 { get; set; }
  858. [Tag("ValveAV94")]
  859. public IoValve ValveAV94 { get; set; }
  860. [Tag("ValveAV95")]
  861. public IoValve ValveAV95 { get; set; }
  862. [Tag("ValveAV96")]
  863. public IoValve ValveAV96 { get; set; }
  864. [Tag("ValveAV97")]
  865. public IoValve ValveAV97 { get; set; }
  866. [Tag("ValveAV98")]
  867. public IoValve ValveAV98 { get; set; }
  868. [Tag("ValveAV99")]
  869. public IoValve ValveAV99 { get; set; }
  870. [Tag("ValveAV100")]
  871. public IoValve ValveAV100 { get; set; }
  872. [Tag("ValveAV101")]
  873. public IoValve ValveAV101 { get; set; }
  874. [Tag("ValveAV102")]
  875. public IoValve ValveAV102 { get; set; }
  876. [Tag("ValveAV103")]
  877. public IoValve ValveAV103 { get; set; }
  878. [Tag("ValveAV104")]
  879. public IoValve ValveAV104 { get; set; }
  880. [Tag("ValveAV105")]
  881. public IoValve ValveAV105 { get; set; }
  882. [Tag("ValveAV106")]
  883. public IoValve ValveAV106 { get; set; }
  884. [Tag("ValveAV107")]
  885. public IoValve ValveAV107 { get; set; }
  886. [Tag("ValveAV108")]
  887. public IoValve ValveAV108 { get; set; }
  888. [Tag("ValveAV109")]
  889. public IoValve ValveAV109 { get; set; }
  890. [Tag("ValveAV110")]
  891. public IoValve ValveAV110 { get; set; }
  892. [Tag("ValveAV111")]
  893. public IoValve ValveAV111 { get; set; }
  894. [Tag("ValveAV112")]
  895. public IoValve ValveAV112 { get; set; }
  896. [Tag("ValveAV113")]
  897. public IoValve ValveAV113 { get; set; }
  898. [Tag("ValveAV114")]
  899. public IoValve ValveAV114 { get; set; }
  900. [Tag("ValveAV115")]
  901. public IoValve ValveAV115 { get; set; }
  902. [Tag("ValveAV116")]
  903. public IoValve ValveAV116 { get; set; }
  904. [Tag("ValveAV117")]
  905. public IoValve ValveAV117 { get; set; }
  906. [Tag("ValveAV118")]
  907. public IoValve ValveAV118 { get; set; }
  908. [Tag("ValveAV119")]
  909. public IoValve ValveAV119 { get; set; }
  910. [Tag("ValveAV120")]
  911. public IoValve ValveAV120 { get; set; }
  912. [Tag("ValveAV121")]
  913. public IoValve ValveAV121 { get; set; }
  914. [Tag("ValveAV122")]
  915. public IoValve ValveAV122 { get; set; }
  916. [Tag("ValveAV123")]
  917. public IoValve ValveAV123 { get; set; }
  918. [Tag("ValveAV124")]
  919. public IoValve ValveAV124 { get; set; }
  920. [Tag("ValveAV125")]
  921. public IoValve ValveAV125 { get; set; }
  922. [Tag("ValveAV126")]
  923. public IoValve ValveAV126 { get; set; }
  924. [Tag("ValveAV127")]
  925. public IoValve ValveAV127 { get; set; }
  926. [Tag("ValveAV128")]
  927. public IoValve ValveAV128 { get; set; }
  928. [Tag("ValveAV129")]
  929. public IoValve ValveAV129 { get; set; }
  930. [Tag("ValveAV130")]
  931. public IoValve ValveAV130 { get; set; }
  932. [Tag("ValveAV131")]
  933. public IoValve ValveAV131 { get; set; }
  934. [Tag("ValveAV132")]
  935. public IoValve ValveAV132 { get; set; }
  936. [Tag("ValveAV133")]
  937. public IoValve ValveAV133 { get; set; }
  938. [Tag("ValveAV134")]
  939. public IoValve ValveAV134 { get; set; }
  940. [Tag("ValveAV135")]
  941. public IoValve ValveAV135 { get; set; }
  942. [Tag("ValveAV136")]
  943. public IoValve ValveAV136 { get; set; }
  944. [Tag("ValveAV230")]
  945. public IoValve ValveAV230 { get; set; }
  946. [Tag("ValveCommonBoxPressureRegulatingCylinder")]
  947. public IoValve ValveCommonBoxPressureRegulatingCylinder { get; set; }
  948. [Tag("ValveLABacksideDoorCylinderControl")]
  949. public IoValve ValveLABacksideDoorCylinderControl { get; set; }
  950. [Tag("ValveLAExhaustDamper")]
  951. public IoValve ValveLAExhaustDamper { get; set; }
  952. [Tag("ValveLADamper")]
  953. public IoValve ValveLADamper { get; set; }
  954. [Tag("ValveFIMS1N2Purge")]
  955. public IoValve ValveFIMS1N2Purge { get; set; }
  956. [Tag("ValveFIMS2N2Purge")]
  957. public IoValve ValveFIMS2N2Purge { get; set; }
  958. [Tag("ValveSV61")]
  959. public IoValve ValveSV61 { get; set; }
  960. [Tag("ValveSV62")]
  961. public IoValve ValveSV62 { get; set; }
  962. [Tag("ValveSV63")]
  963. public IoValve ValveSV63 { get; set; }
  964. [Tag("ValveSV64")]
  965. public IoValve ValveSV64 { get; set; }
  966. [Tag("AGVPump")]
  967. public IoValve AGVPump { get; set; }
  968. [Tag("AGV2Pump")]
  969. public IoValve AGV2Pump { get; set; }
  970. [Tag("BothPump")]
  971. public IoValve BothPump { get; set; }
  972. [Tag("BothPump1")]
  973. public IoValve BothPump1 { get; set; }
  974. [Tag("BothPump2")]
  975. public IoValve BothPump2 { get; set; }
  976. [Tag("ValveBlowerPowerOn")]
  977. public IoValve ValveBlowerPowerOn { get; set; }
  978. [Tag("HMNT")]
  979. public IoValve HMNT { get; set; }
  980. [Tag("CMNT")]
  981. public IoValve CMNT { get; set; }
  982. [Tag("HREF")]
  983. public IoValve HREF { get; set; }
  984. [Tag("CREF")]
  985. public IoValve CREF { get; set; }
  986. [Tag("HZERO")]
  987. public IoValve HZERO { get; set; }
  988. [Tag("CZERO")]
  989. public IoValve CZERO { get; set; }
  990. // -------------------------------------------------------------------------
  991. [Tag("PressureGLBoxPG1")]
  992. public IoPressureMeter PressureGLBoxPG1 { get; set; }
  993. [Tag("PressureGLBoxPG2")]
  994. public IoPressureMeter PressureGLBoxPG2 { get; set; }
  995. [Tag("PressureGLBoxPG3")]
  996. public IoPressureMeter PressureGLBoxPG3 { get; set; }
  997. [Tag("PressureGLBoxPG4")]
  998. public IoPressureMeter PressureGLBoxPG4 { get; set; }
  999. [Tag("PressureGLBoxPG5")]
  1000. public IoPressureMeter PressureGLBoxPG5 { get; set; }
  1001. [Tag("PressureGLBoxPG6")]
  1002. public IoPressureMeter PressureGLBoxPG6 { get; set; }
  1003. [Tag("PressureGasBoxUpperVG21")]
  1004. public IoPressureMeter PressureGasBoxUpperVG21 { get; set; }
  1005. [Tag("PressureGasBoxUpperVG22")]
  1006. public IoPressureMeter PressureGasBoxUpperVG22 { get; set; }
  1007. [Tag("ConcentrationO2")]
  1008. public IoPressureMeter ConcentrationO2 { get; set; }
  1009. [Tag("GasBoxExhaustMS2")]
  1010. public IoPressureMeter GasBoxExhaustMS2 { get; set; }
  1011. [Tag("ScavengerExhaustMS3")]
  1012. public IoPressureMeter ScavengerExhaustMS3 { get; set; }
  1013. [Tag("ExhaustBoxExhaustMS4")]
  1014. public IoPressureMeter ExhaustBoxExhaustMS4 { get; set; }
  1015. [Tag("LoadingAreaExhaustMS5")]
  1016. public IoPressureMeter LoadingAreaExhaustMS5 { get; set; }
  1017. [Tag("FrontBodyExhaustMS6")]
  1018. public IoPressureMeter FrontBodyExhaustMS6 { get; set; }
  1019. [Tag("LAExhaustMS7")]
  1020. public IoPressureMeter LAExhaustMS7 { get; set; }
  1021. [Tag("RHCExhaustMS8")]
  1022. public IoPressureMeter RHCExhaustMS8 { get; set; }
  1023. [Tag("RHCFlowFL901")]
  1024. public IoPressureMeter RHCFlowFL901 { get; set; }
  1025. [Tag("CoolingWaterFlowOfFurnaceFL902")]
  1026. public IoPressureMeter CoolingWaterFlowOfFurnaceFL902 { get; set; }
  1027. [Tag("CoolingWateFlowOfShuttleFL903")]
  1028. public IoPressureMeter CoolingWateFlowOfShuttleFL903 { get; set; }
  1029. [Tag("CoolingWaterFlowOfBoatRotationFL904")]
  1030. public IoPressureMeter CoolingWaterFlowOfBoatRotationFL904 { get; set; }
  1031. [Tag("CoolingWaterFlowOfFlangeFL905")]
  1032. public IoPressureMeter CoolingWaterFlowOfFlangeFL905 { get; set; }
  1033. [Tag("CoolingWaterFlowOfLoadingAreaFL906")]
  1034. public IoPressureMeter CoolingWaterFlowOfLoadingAreaFL906 { get; set; }
  1035. [Tag("VG11")]
  1036. public IoPressureMeter VG11 { get; set; }
  1037. [Tag("VG12")]
  1038. public IoPressureMeter VG12 { get; set; }
  1039. [Tag("VG13")]
  1040. public IoPressureMeter VG13 { get; set; }
  1041. [Tag("VG21")]
  1042. public IoPressureMeter VG21 { get; set; }
  1043. [Tag("VG22")]
  1044. public IoPressureMeter VG22 { get; set; }
  1045. [Tag("PG12")]
  1046. public IoPressureMeter PG12 { get; set; }
  1047. [Tag("PG13")]
  1048. public IoPressureMeter PG13 { get; set; }
  1049. [Tag("PS13")]
  1050. public IoPressureMeter PS13 { get; set; }
  1051. [Tag("N24PurgePressure")]
  1052. public IoPressureMeter N24PurgePressure { get; set; }
  1053. [Tag("N25PurgePressure")]
  1054. public IoPressureMeter N25PurgePressure { get; set; }
  1055. [Tag("N26PurgePressure")]
  1056. public IoPressureMeter N26PurgePressure { get; set; }
  1057. [Tag("N27PurgePressure")]
  1058. public IoPressureMeter N27PurgePressure { get; set; }
  1059. [Tag("PS11")]
  1060. public IoPressureMeter PS11 { get; set; }
  1061. [Tag("PS17")]
  1062. public IoPressureMeter PS17 { get; set; }
  1063. // -------------------------------------------------------------------------
  1064. [Tag("FIMS1")]
  1065. public IoFIMS FIMS1 { get; set; }
  1066. [Tag("FIMS2")]
  1067. public IoFIMS FIMS2 { get; set; }
  1068. //[Tag("ValvePV12")]
  1069. //public IoValve ValvePV12 { get; set; }
  1070. //[Tag("ValvePV13")]
  1071. //public IoValve ValvePV13 { get; set; }
  1072. //[Tag("ValvePV14")]
  1073. //public IoValve ValvePV14 { get; set; }
  1074. //[Tag("ValvePV15")]
  1075. //public IoValve ValvePV15 { get; set; }
  1076. //[Tag("ValvePV16")]
  1077. //public IoValve ValvePV16 { get; set; }
  1078. //[Tag("ValvePV17")]
  1079. //public IoValve ValvePV17 { get; set; }
  1080. [Tag("MFC1")]
  1081. public IoMFC MFC1 { get; set; }
  1082. [Tag("MFC2")]
  1083. public IoMFC MFC2 { get; set; }
  1084. [Tag("MFC3")]
  1085. public IoMFC MFC3 { get; set; }
  1086. [Tag("MFC4")]
  1087. public IoMFC MFC4 { get; set; }
  1088. [Tag("MFC5")]
  1089. public IoMFC MFC5 { get; set; }
  1090. [Tag("MFC6")]
  1091. public IoMFC MFC6 { get; set; }
  1092. [Tag("MFC7")]
  1093. public IoMFC MFC7 { get; set; }
  1094. [Tag("MFC8")]
  1095. public IoMFC MFC8 { get; set; }
  1096. [Tag("MFC9")]
  1097. public IoMFC MFC9 { get; set; }
  1098. [Tag("MFC10")]
  1099. public IoMFC MFC10 { get; set; }
  1100. [Tag("MFC11")]
  1101. public IoMFC MFC11 { get; set; }
  1102. [Tag("MFC12")]
  1103. public IoMFC MFC12 { get; set; }
  1104. [Tag("MFC13")]
  1105. public IoMFC MFC13 { get; set; }
  1106. [Tag("MFC14")]
  1107. public IoMFC MFC14 { get; set; }
  1108. [Tag("MFC15")]
  1109. public IoMFC MFC15 { get; set; }
  1110. [Tag("MFC16")]
  1111. public IoMFC MFC16 { get; set; }
  1112. [Tag("MFC17")]
  1113. public IoMFC MFC17 { get; set; }
  1114. [Tag("MFC31")]
  1115. public IoMFC MFC31 { get; set; }
  1116. [Tag("MFC32")]
  1117. public IoMFC MFC32 { get; set; }
  1118. [Tag("MFC51")]
  1119. public IoMFC MFC51 { get; set; }
  1120. [Tag("MFC57")]
  1121. public IoMFC MFC57 { get; set; }
  1122. //[Tag("GasLineA")]
  1123. //public IoGasStick2 GasLineA { get; set; }
  1124. //[Tag("GasLineB")]
  1125. //public IoGasStick2 GasLineB { get; set; }
  1126. //[Tag("GasLineC")]
  1127. //public IoGasStick2 GasLineC { get; set; }
  1128. //[Tag("GasLineNX")]
  1129. //public IoGasStick2 GasLineNX { get; set; }
  1130. //[Tag("GasLineNY")]
  1131. //public IoGasStick2 GasLineNY { get; set; }
  1132. //[Tag("GasLineN1")]
  1133. //public IoGasStick2 GasLineN1 { get; set; }
  1134. //[Tag("GasLineN2")]
  1135. //public IoGasStick2 GasLineN2 { get; set; }
  1136. //[Tag("GasLineN3")]
  1137. //public IoGasStick2 GasLineN3 { get; set; }
  1138. //[Tag("GasLineM1")]
  1139. //public IoGasStick2 GasLineM1 { get; set; }
  1140. //[Tag("GasLineM2")]
  1141. //public IoGasStick2 GasLineM2 { get; set; }
  1142. //[Tag("GasLineD1")]
  1143. //public IoGasStick2 GasLineD1 { get; set; }
  1144. //[Tag("GasLineJ1")]
  1145. //public IoGasStick2 GasLineJ1 { get; set; }
  1146. // -------------------------------------------------------------------------
  1147. [Tag("Shutter")]
  1148. public IoShutter Shutter { get; set; }
  1149. [Tag("FFU1")] public IoFFU FFU1 { get; set; }
  1150. [Tag("FFU2")] public IoFFU FFU2 { get; set; }
  1151. [Tag("FFU3")] public IoFFU FFU3 { get; set; }
  1152. [Tag("FFU4")] public IoFFU FFU4 { get; set; }
  1153. [Tag("FFU5")] public IoFFU FFU5 { get; set; }
  1154. [Tag("FFU6")] public IoFFU FFU6 { get; set; }
  1155. [Tag("FFU7")] public IoFFU FFU7 { get; set; }
  1156. [Tag("FFU8")] public IoFFU FFU8 { get; set; }
  1157. [Tag("FFU9")] public IoFFU FFU9 { get; set; }
  1158. // -------------------------------------------------------------------------
  1159. [Tag("APC")]
  1160. public IoAPC APC { get; set; }
  1161. // -------------------------------------------------------------------------
  1162. //[Tag("MainPump")]
  1163. //public IoPump MainPump { get; set; }
  1164. //[Tag("IoPump")]
  1165. //public IoPump IoPump { get; set; }
  1166. // -------------------------------------------------------------------------
  1167. //[Tag("VG2Pressure")]
  1168. //public IoPressureMeter VG2Pressure { get; set; }
  1169. //[Tag("PT52")]
  1170. //public IoPressureMeter PT52 { get; set; }
  1171. //[Tag("PT53")]
  1172. //public IoPressureMeter PT53 { get; set; }
  1173. //[Tag("PT10")]
  1174. //public IoPressureMeter PT10 { get; set; }
  1175. //[Tag("PT20")]
  1176. //public IoPressureMeter PT20 { get; set; }
  1177. //[Tag("PT30")]
  1178. //public IoPressureMeter PT30 { get; set; }
  1179. //[Tag("O2Detector1")]
  1180. //public IoPressureMeter O2Detector1 { get; set; }
  1181. //[Tag("O2Detector2")]
  1182. //public IoPressureMeter O2Detector2 { get; set; }
  1183. // -------------------------------------------------------------------------
  1184. [Tag("TrigFurnaceLZoneHeatingEnable")]
  1185. public IoTrigger TrigFurnaceLZoneHeatingEnable { get; set; }
  1186. [Tag("TrigFurnaceCLZoneHeatingEnable")]
  1187. public IoTrigger TrigFurnaceCLZoneHeatingEnable { get; set; }
  1188. [Tag("TrigFurnaceCZoneHeatingEnable")]
  1189. public IoTrigger TrigFurnaceCZoneHeatingEnable { get; set; }
  1190. [Tag("TrigFurnaceCUZoneHeatingEnable")]
  1191. public IoTrigger TrigFurnaceCUZoneHeatingEnable { get; set; }
  1192. [Tag("TrigFurnaceUZoneHeatingEnable")]
  1193. public IoTrigger TrigFurnaceUZoneHeatingEnable { get; set; }
  1194. [Tag("TrigFFULSPEED")]
  1195. public IoTrigger TrigFFULSPEED { get; set; }
  1196. [Tag("TrigFFUHSPEED")]
  1197. public IoTrigger TrigFFUHSPEED { get; set; }
  1198. [Tag("TrigVGUnitConversion")]
  1199. public IoTrigger TrigVGUnitConversion { get; set; }
  1200. [Tag("TrigForlineHeaterOn")]
  1201. public IoTrigger TrigForlineHeaterOn { get; set; }
  1202. [Tag("TrigHTR1SWON")]
  1203. public IoTrigger TrigHTR1SWON { get; set; }
  1204. [Tag("TrigHTR2SWON")]
  1205. public IoTrigger TrigHTR2SWON { get; set; }
  1206. [Tag("TrigHTR3SWON")]
  1207. public IoTrigger TrigHTR3SWON { get; set; }
  1208. [Tag("TrigDEPOSW")]
  1209. public IoTrigger TrigDEPOSW { get; set; }
  1210. [Tag("TrigCREFON")]
  1211. public IoTrigger TrigCREFON { get; set; }
  1212. [Tag("TrigSIREFON")]
  1213. public IoTrigger TrigSIREFON { get; set; }
  1214. [Tag("TrigHFCleanSwitchB")]
  1215. public IoTrigger TrigHFCleanSwitchB { get; set; }
  1216. [Tag("TrigF2CleanSwitchB")]
  1217. public IoTrigger TrigF2CleanSwitchB { get; set; }
  1218. public IoHeater HeaterU { get; set; }
  1219. public IoHeater HeaterCU { get; set; }
  1220. public IoHeater HeaterC { get; set; }
  1221. public IoHeater HeaterCL { get; set; }
  1222. public IoHeater HeaterL { get; set; }
  1223. //private Dictionary<string, IoMFC> _gasMFCs;
  1224. //public Dictionary<string, IoMFC> GasMFCs => _gasMFCs;
  1225. [Tag("TrigAV71ExternalHeater")]
  1226. public IoTrigger TrigAV71ExternalHeater { get; set; }
  1227. [Tag("TrigAV71RingHeater")]
  1228. public IoTrigger TrigAV71RingHeater { get; set; }
  1229. [Tag("TrigHeaterAllEnable")]
  1230. public IoTrigger TrigHeaterAllEnable { get; set; }
  1231. [Tag("TrigGasLineHeaterMemoryChange")]
  1232. public IoTrigger TrigGasLineHeaterMemoryChange { get; set; }
  1233. #region N2Purge
  1234. [Tag("TrigN2PurgeLAO2CheckFirstEnable")]
  1235. public IoTrigger TrigN2PurgeLAO2CheckFirstEnable { get; set; }
  1236. [Tag("TrigN2PurgeFIMS1O2CheckEnable")]
  1237. public IoTrigger TrigN2PurgeFIMS1O2CheckEnable { get; set; }
  1238. [Tag("TrigN2PurgeFIMS2O2CheckEnable")]
  1239. public IoTrigger TrigN2PurgeFIMS2O2CheckEnable { get; set; }
  1240. [Tag("TrigN2PurgeProcess")]
  1241. public IoTrigger TrigN2PurgeProcess { get; set; }
  1242. [Tag("TrigN2PurgeLAO2OverTime")]
  1243. public IoTrigger TrigN2PurgeLAO2OverTime { get; set; }
  1244. [Tag("TrigN2PurgeLAO2CheckTime")]
  1245. public IoTrigger TrigN2PurgeLAO2CheckTime { get; set; }
  1246. [Tag("TrigN2PurgeFOUPO2OverTime")]
  1247. public IoTrigger TrigN2PurgeFOUPO2OverTime { get; set; }
  1248. [Tag("TrigN2PurgeFOUPO2CheckTime")]
  1249. public IoTrigger TrigN2PurgeFOUPO2CheckTime { get; set; }
  1250. [Tag("TrigN2PurgeExchangeLATOFOUPWaitTime")]
  1251. public IoTrigger TrigN2PurgeExchangeLATOFOUPWaitTime { get; set; }
  1252. [Tag("TrigN2PurgeExchangeFOUPTOLAWaitTime")]
  1253. public IoTrigger TrigN2PurgeExchangeFOUPTOLAWaitTime { get; set; }
  1254. [Tag("TrigN2PurgeExchangeFOUPTOFOUPWaitTime")]
  1255. public IoTrigger TrigN2PurgeExchangeFOUPTOFOUPWaitTime { get; set; }
  1256. [Tag("TrigN2PurgeLAO2CheckSV")]
  1257. public IoTrigger TrigN2PurgeLAO2CheckSV { get; set; }
  1258. [Tag("TrigN2PurgeFOUPO2CheckSV")]
  1259. public IoTrigger TrigN2PurgeFOUPO2CheckSV { get; set; }
  1260. #endregion
  1261. #region IoHeaterBand
  1262. [Tag("CapHeater")]
  1263. public IoHeaterBand CapHeater { get; set; }
  1264. [Tag("APCExternalHeater")]
  1265. public IoHeaterBand APCExternalHeater { get; set; }
  1266. [Tag("APCRingHeater")]
  1267. public IoHeaterBand APCRingHeater { get; set; }
  1268. #endregion
  1269. // -------------------------------------------------------------------------
  1270. [Tag("BoatElevatorServo")]
  1271. public IoFurnaceMotor ZAxisDevice { get; set; }
  1272. [Tag("BoatRotationServo")]
  1273. public IoFurnaceMotor RAxisDevice { get; set; }
  1274. [Tag("APC")]
  1275. public IoAPC APCDevice { get; set; }
  1276. [Tag("TrigGasLineHeaterUnit1PowerOn")]
  1277. public IoTrigger2 TrigGasLine1PowerOn { get; set; }
  1278. [Tag("TrigGasLineHeaterUnit2PowerOn")]
  1279. public IoTrigger2 TrigGasLine2PowerOn { get; set; }
  1280. [Tag("TrigGasLineHeaterUnit3PowerOn")]
  1281. public IoTrigger2 TrigGasLine3PowerOn { get; set; }
  1282. [Tag("TrigGasLineHeaterUnit4PowerOn")]
  1283. public IoTrigger2 TrigGasLine4PowerOn { get; set; }
  1284. [Tag("TrigGasLineHeaterUnit6PowerOn")]
  1285. public IoTrigger2 TrigGasLine6PowerOn { get; set; }
  1286. [Tag("TrigGasLineHeaterUnit7PowerOn")]
  1287. public IoTrigger2 TrigGasLine7PowerOn { get; set; }
  1288. [Tag("TrigGasLineHeaterUnit1RecipeChange")]
  1289. public IoTrigger2 TrigGasLine1RecipeChange { get; set; }
  1290. [Tag("TrigGasLineHeaterUnit2RecipeChange")]
  1291. public IoTrigger2 TrigGasLine2RecipeChange { get; set; }
  1292. [Tag("TrigGasLineHeaterUnit3RecipeChange")]
  1293. public IoTrigger2 TrigGasLine3RecipeChange { get; set; }
  1294. [Tag("TrigGasLineHeaterUnit4RecipeChange")]
  1295. public IoTrigger2 TrigGasLine4RecipeChange { get; set; }
  1296. [Tag("TrigGasLineHeaterUnit6RecipeChange")]
  1297. public IoTrigger2 TrigGasLine6RecipeChange { get; set; }
  1298. [Tag("TrigGasLineHeaterUnit7RecipeChange")]
  1299. public IoTrigger2 TrigGasLine7RecipeChange { get; set; }
  1300. [Tag("MINI8AlarmReset")]
  1301. public IoReset MINI8AlarmReset { get; set; }
  1302. [Tag("PLCCPUReset")]
  1303. public IoReset PLCCPUReset { get; set; }
  1304. Func<MemberInfo, bool> _hasTagAttribute;
  1305. Func<object, bool> _isTagAttribute;
  1306. public override double ChamberPressure
  1307. {
  1308. get
  1309. {
  1310. return 0;
  1311. }
  1312. }
  1313. //public IAdsPlc Plc { get; set; }
  1314. private List<IDevice> _allModuleDevice = new List<IDevice>();
  1315. private List<IoMFC> _processMFCs = new List<IoMFC>();
  1316. private List<IoHeater> _heaters = new List<IoHeater>();
  1317. private List<IoValve> _valves = new List<IoValve>();
  1318. private List<IoFFU> _fFUs = new List<IoFFU>();
  1319. private List<IoGasStick2> _gasSticks;
  1320. public List<IoGasStick2> GasSticks => _gasSticks;
  1321. private List<AlarmEventItem> _triggeredAlarmList = new List<AlarmEventItem>();
  1322. private List<IoAlarmSignal> _alarmSignals = new List<IoAlarmSignal>();
  1323. private FurnaceSignalTower _signalTowerDevice;
  1324. private int _alarmNumber;
  1325. private List<IoAlarmSignal> _inCommandLst;
  1326. private Dictionary<string, RD_TRIG> _inCommandTirgs = new Dictionary<string, RD_TRIG>();
  1327. private IoTrigger _trigTHPowerEN;
  1328. private IoTrigger _trigHECPowerONLamp;
  1329. private List<HeaterBase> _HTR1Group = new List<HeaterBase>();
  1330. private List<HeaterBase> _HTR2Group = new List<HeaterBase>();
  1331. private List<HeaterBase> _HTR3Group = new List<HeaterBase>();
  1332. public void InitDevice()
  1333. {
  1334. InitAllWaferTypeNode();
  1335. _isTagAttribute = attribute => attribute is TagAttribute;
  1336. _hasTagAttribute = mi => mi.GetCustomAttributes(false).Any(_isTagAttribute);
  1337. var properties = this.GetType().GetProperties().Where(_hasTagAttribute);
  1338. foreach (var field in properties)
  1339. {
  1340. TagAttribute tag = field.GetCustomAttributes(false).First(_isTagAttribute) as TagAttribute;
  1341. IDevice device = DEVICE.GetDevice<IDevice>($"{Module}.{tag.Tag}");
  1342. if (device == null)
  1343. device = DEVICE.GetDevice<IDevice>($"PM1.{tag.Tag}");
  1344. if (device == null)
  1345. device = DEVICE.GetDevice<IDevice>($"System.{tag.Tag}");
  1346. if (device != null)
  1347. {
  1348. _allModuleDevice.Add(device);
  1349. PropertyInfo pi = (PropertyInfo)field;
  1350. var convertedValue = Convert.ChangeType(device, pi.PropertyType);
  1351. System.Diagnostics.Debug.Assert(convertedValue != null);
  1352. pi.SetValue(this, convertedValue);
  1353. if (device is IoAlarmSignal)
  1354. {
  1355. _alarmSignals.Add(device as IoAlarmSignal);
  1356. }
  1357. device.OnDeviceAlarmStateChanged += OnModuleDeviceAlarmStateChanged;
  1358. if (device is IoMFC && device.Name != "MFC57")
  1359. _processMFCs.Add(device as IoMFC);
  1360. if (device is IoHeater)
  1361. _heaters.Add(device as IoHeater);
  1362. else if (device is IoValve)
  1363. _valves.Add(device as IoValve);
  1364. else if (device is HeaterBase)
  1365. _HTR2Group.Add(device as HeaterBase);
  1366. else if (device is IoFFU)
  1367. _fFUs.Add(device as IoFFU);
  1368. }
  1369. else
  1370. {
  1371. }
  1372. }
  1373. for (int i = 1; i < 10; i++)
  1374. {
  1375. for (int ch = 1; ch < 40; ch++)
  1376. {
  1377. var device = DEVICE.GetDevice<HeaterBase>($"PM1.GaslineHeaterUnit{i}CH{ch}");
  1378. if (device != null)
  1379. {
  1380. if ((i == 4 && ch == 1) || (i == 4 && ch == 2) || (i == 4 && ch == 3) || (i == 4 && ch == 4))
  1381. {
  1382. //这几个从_HTR2Group中删除
  1383. //_HTR2Group.Add(device);
  1384. continue;
  1385. }
  1386. else
  1387. _HTR1Group.Add(device);
  1388. }
  1389. }
  1390. }
  1391. for (int i = 1; i < 20; i++)
  1392. {
  1393. var device = DEVICE.GetDevice<HeaterBase>($"PM1.ForelineHeater{i}");
  1394. if (device != null)
  1395. {
  1396. _HTR2Group.Add(device);
  1397. }
  1398. }
  1399. //Singleton<DeviceController>.Instance.Start(Singleton<DeviceManager>.Instance);
  1400. //FlowmeterLists = DEVICE.GetDevice<IoFlowMeter>().Where(o => o.Module == Module).ToList();
  1401. HeaterU = DEVICE.GetDevice<IoHeater>($"System.HeaterU");
  1402. HeaterCU = DEVICE.GetDevice<IoHeater>($"System.HeaterCU");
  1403. HeaterC = DEVICE.GetDevice<IoHeater>($"System.HeaterC");
  1404. HeaterCL = DEVICE.GetDevice<IoHeater>($"System.HeaterCL");
  1405. HeaterL = DEVICE.GetDevice<IoHeater>($"System.HeaterL");
  1406. _heaters = new List<IoHeater>()
  1407. {
  1408. HeaterU,
  1409. HeaterCU,
  1410. HeaterC,
  1411. HeaterCL,
  1412. HeaterL,
  1413. };
  1414. foreach (var heater in _heaters)
  1415. {
  1416. if (heater != null)
  1417. {
  1418. heater.OnDeviceAlarmStateChanged += OnModuleDeviceAlarmStateChanged;
  1419. }
  1420. }
  1421. Singleton<InterlockManager>.Instance.OnDeviceAlarmStateChanged += OnModuleDeviceAlarmStateChanged;
  1422. this.OnDeviceAlarmStateChanged += OnModuleDeviceAlarmStateChanged;
  1423. foreach (var pv in Singleton<IoProviderManager>.Instance.Providers)
  1424. {
  1425. if ((pv as IoProvider) != null)
  1426. (pv as IoProvider).OnDeviceAlarmStateChanged += OnModuleDeviceAlarmStateChanged;
  1427. }
  1428. _gasSticks = new List<IoGasStick2>()
  1429. {
  1430. //GasLineA,
  1431. //GasLineB,
  1432. //GasLineC,
  1433. //GasLineNX,
  1434. //GasLineNY,
  1435. //GasLineN1,
  1436. //GasLineN2,
  1437. //GasLineN3,
  1438. //GasLineM1,
  1439. //GasLineM2,
  1440. //GasLineD1,
  1441. //GasLineJ1,
  1442. };
  1443. _signalTowerDevice = DEVICE.GetDevice<FurnaceSignalTower>($"{ModuleName.System}.{ModuleName.SignalTower}");
  1444. _trigTHPowerEN = DEVICE.GetDevice<IoTrigger>($"PM1.TrigTHPowerEN");
  1445. _trigHECPowerONLamp = DEVICE.GetDevice<IoTrigger>($"{Module}.TrigHECPowerONLamp");
  1446. _inCommandLst = new List<IoAlarmSignal>()
  1447. {
  1448. //SensorHECPowerONSW,
  1449. // SensorTHBreakOK,
  1450. };
  1451. //SensorLidClosed.OnSignalChanged += SensorLidClosed_OnSignalChanged;
  1452. TrigFurnaceUZoneHeatingEnable.SetTrigger(true, out _);
  1453. TrigFurnaceCUZoneHeatingEnable.SetTrigger(true, out _);
  1454. TrigFurnaceCZoneHeatingEnable.SetTrigger(true, out _);
  1455. TrigFurnaceCLZoneHeatingEnable.SetTrigger(true, out _);
  1456. TrigFurnaceLZoneHeatingEnable.SetTrigger(true, out _);
  1457. MINI8AlarmReset?.Reset();
  1458. PLCCPUReset?.Reset();
  1459. InitN2PurgeConfigData();
  1460. InitSCToAODO();
  1461. }
  1462. private void InitSCToAODO()
  1463. {
  1464. var scTrigFFULSPEEDData = SC.GetValue<double>($"FFU.LSPEED");
  1465. TrigFFULSPEED?.SetAOTrigger((float)scTrigFFULSPEEDData, out _);
  1466. var hSPEED = SC.GetValue<double>($"FFU.HSPEED");
  1467. TrigFFUHSPEED?.SetAOTrigger((float)hSPEED, out _);
  1468. SetN2PurgeLAO2CheckSV((float)SC.GetValue<double>("PM1.N2Purge.N2PurgeLAO2CheckSV"));
  1469. SetN2PurgeFOUPO2CheckSV((float)SC.GetValue<double>("PM1.N2Purge.N2PurgeFOUPO2CheckSV"));
  1470. }
  1471. private void SensorLidClosed_OnSignalChanged(IoSensor sender, bool isTriggered)
  1472. {
  1473. if (!isTriggered)
  1474. {
  1475. EV.PostWarningLog(Module, $"Lid Open.");
  1476. }
  1477. }
  1478. private void PlcDisconnected()
  1479. {
  1480. CheckToPostMessage(MSG.Disconnected);
  1481. }
  1482. private void PlcConnected()
  1483. {
  1484. if (IsInit)
  1485. return;
  1486. if (FsmState.Equals((int)STATE.NotConnected))
  1487. CheckToPostMessage(MSG.Connected);
  1488. }
  1489. public void OnModuleDeviceAlarmStateChanged(string deviceId, AlarmEventItem alarmItem)
  1490. {
  1491. if (alarmItem.IsTriggered)
  1492. {
  1493. EventLevel level = alarmItem.Level;
  1494. string description = alarmItem.AdditionalDescription;
  1495. //description += $" {(!string.IsNullOrEmpty(_recipeRunningInfo.RecipeName) ? $"Recipe:{_recipeRunningInfo.RecipeName}," : "")}Step:{(IsProcessing ? _recipeRunningInfo.StepName : "Standby")}";
  1496. //alarmItem.AdditionalDescription += $" {(!string.IsNullOrEmpty(_recipeRunningInfo.RecipeName) ? $"Recipe:{_recipeRunningInfo.RecipeName}," : "")}Step:{(IsProcessing ? _recipeRunningInfo.StepName : "Standby")}";
  1497. alarmItem.AdditionalDescription = description;
  1498. alarmItem.OccuringTime = DateTime.Now;
  1499. _triggeredAlarmList.Add(alarmItem);
  1500. if (IsProcessing)
  1501. {
  1502. if (level == EventLevel.Alarm)
  1503. {
  1504. EV.PostAlarmLog(Module, alarmItem);
  1505. }
  1506. else
  1507. {
  1508. EV.PostWarningLog(Module, alarmItem);
  1509. }
  1510. }
  1511. else
  1512. {
  1513. if (level == EventLevel.Alarm)
  1514. {
  1515. try
  1516. {
  1517. //if (!(bool)Aitex.Core.RT.DataCenter.DATA.Poll($"{alarmItem.EventEnum}.ignoreSaveDB")) {
  1518. EV.PostAlarmLog(Module, alarmItem);
  1519. //}
  1520. }
  1521. catch (Exception ex)
  1522. {
  1523. EV.WriteEvent(ex.Message.ToString());
  1524. }
  1525. }
  1526. else
  1527. {
  1528. EV.PostWarningLog(Module, alarmItem);
  1529. }
  1530. }
  1531. }
  1532. else
  1533. {
  1534. }
  1535. }
  1536. public override bool CheckAcked(int entityTaskToken)
  1537. {
  1538. return true;
  1539. }
  1540. #region pump device operation
  1541. public override bool TurnOnPump(out string reason)
  1542. {
  1543. reason = string.Empty;
  1544. return true /*MainPump.SetPump(out reason, 0, true)*/;
  1545. }
  1546. public override bool CheckPumpIsOn()
  1547. {
  1548. return true/*MainPump.IsRunning*/;
  1549. }
  1550. #endregion
  1551. public bool CheckIsConnected()
  1552. {
  1553. return true;
  1554. }
  1555. public bool CheckHasAlarm()
  1556. {
  1557. foreach (var device in _allModuleDevice)
  1558. {
  1559. if (device != null && device.HasAlarm)
  1560. return true;
  1561. }
  1562. return false;
  1563. }
  1564. public override bool CheckSlitValveClose()
  1565. {
  1566. return true;
  1567. }
  1568. public override bool CheckLidClosed()
  1569. {
  1570. return true;
  1571. }
  1572. public override bool CheckPrepareProcess()
  1573. {
  1574. return _isPrepareProcess;
  1575. }
  1576. public override bool CheckProcessFinished()
  1577. {
  1578. bool isFinished = true;
  1579. var wafers = WaferManager.Instance.GetWafers(_module);
  1580. if (wafers == null)
  1581. {
  1582. return false;
  1583. }
  1584. foreach (var wafer in wafers)
  1585. {
  1586. if (wafer.IsEmpty)
  1587. continue;
  1588. if (wafer.ProcessState != EnumWaferProcessStatus.Completed && wafer.ProcessState != EnumWaferProcessStatus.Failed)
  1589. isFinished = false;
  1590. }
  1591. return isFinished;
  1592. }
  1593. public override bool CheckStandbyCondition()
  1594. {
  1595. return true;
  1596. return CheckExternalSensorCondition() && CheckTempStabilizeCondition() &&
  1597. CheckReachTempCondition() && CheckPressureStablilizeCondition() &&
  1598. CheckReachPressureCondition() && CheckFinishAutoProfileCondition();
  1599. }
  1600. #region conditionCheck
  1601. private bool SeBypassStandbyFactor(out string reason, int time, object[] param)
  1602. {
  1603. reason = string.Empty;
  1604. if (param != null && param.Length > 0)
  1605. {
  1606. var condition = param[0].ToString();
  1607. if (_conditionCheckDic.ContainsKey(condition))
  1608. {
  1609. _conditionCheckDic[condition] = true;
  1610. }
  1611. }
  1612. return true;
  1613. }
  1614. private bool SetConditionCheck(out string reason, int time, object[] param)
  1615. {
  1616. reason = string.Empty;
  1617. _conditionCheckDic.Clear();
  1618. _conditionCheckItemDic.Clear();
  1619. _isExternalSensorConditionBypass = false;
  1620. _isTempStabilizeConditionBypass = false;
  1621. _isPressureStabilizeConditionBypass = false;
  1622. _isReachTempConditionBypass = false;
  1623. _isReachPressureConditionBypass = false;
  1624. _isFinishAutoProfileConditionBypass = false;
  1625. if (param.Length > 0)
  1626. {
  1627. var conditions = param[0].ToString().Split(';').ToList();
  1628. foreach (var condition in conditions)
  1629. {
  1630. var arry = condition.Split(':');
  1631. if (arry.Length > 1)
  1632. {
  1633. switch (arry[0])
  1634. {
  1635. case "ExternalSensor":
  1636. SetExternalSensorCondition("Wait For External Sensor", arry[1]);
  1637. break;
  1638. case "TempStabilize":
  1639. SetTempStabilizeCondition("Wait For Temperature Stablilize", arry[1]);
  1640. break;
  1641. case "ReachTemp":
  1642. SetReachTempCondition("Wait For Reach Temperature", arry[1]);
  1643. break;
  1644. case "ReachPressure":
  1645. SetReachPressureCondition("Wait For Reach Pressure", arry[1]);
  1646. break;
  1647. case "PressureStabilize":
  1648. SetPressureStabilizeCondition("Wait For Pressure Stablilize", arry[1]);
  1649. break;
  1650. case "FinishAutoProfile":
  1651. SetFinishAutoProfileCondition("Wait For Finish Auto Profile", arry[1]);
  1652. break;
  1653. case "None":
  1654. case "none":
  1655. break;
  1656. }
  1657. }
  1658. }
  1659. }
  1660. return true;
  1661. }
  1662. private void SetExternalSensorCondition(string title, string para)
  1663. {
  1664. var conditions = para.ToLower().Split(',').ToList();
  1665. if (conditions.Any(x => !x.Contains("none")))
  1666. {
  1667. _conditionCheckDic.Add(title, false);
  1668. _conditionCheckItemDic.Add(title, para);
  1669. }
  1670. }
  1671. private void SetTempStabilizeCondition(string title, string para)
  1672. {
  1673. if (para.ToLower() != "none")
  1674. {
  1675. _conditionCheckDic.Add(title, false);
  1676. _conditionCheckItemDic.Add(title, para);
  1677. foreach (var heater in _heaters)
  1678. {
  1679. //heater.SetStableParameters(para);
  1680. }
  1681. }
  1682. }
  1683. private void SetReachTempCondition(string title, string para)
  1684. {
  1685. if (para.ToLower() != "none")
  1686. {
  1687. _conditionCheckDic.Add(title, false);
  1688. _conditionCheckItemDic.Add(title, para);
  1689. }
  1690. }
  1691. private void SetReachPressureCondition(string title, string para)
  1692. {
  1693. if (para.ToLower() != "none")
  1694. {
  1695. _conditionCheckDic.Add(title, false);
  1696. _conditionCheckItemDic.Add(title, para);
  1697. }
  1698. }
  1699. private void SetFinishAutoProfileCondition(string title, string para)
  1700. {
  1701. if (para.ToLower() != "none")
  1702. {
  1703. _conditionCheckDic.Add(title, false);
  1704. _conditionCheckItemDic.Add(title, para);
  1705. }
  1706. }
  1707. private void SetPressureStabilizeCondition(string title, string para)
  1708. {
  1709. if (para.ToLower() != "none")
  1710. {
  1711. _conditionCheckDic.Add(title, false);
  1712. _conditionCheckItemDic.Add(title, para);
  1713. //APC.SetStableParameters(para);
  1714. }
  1715. }
  1716. public bool CheckExternalSensorCondition()
  1717. {
  1718. var key = "Wait For External Sensor";
  1719. if (_conditionCheckDic.ContainsKey(key))
  1720. {
  1721. if (_conditionCheckItemDic.ContainsKey(key))
  1722. {
  1723. var items = _conditionCheckItemDic[key].Split(',').ToList();
  1724. bool isMatch = true;
  1725. foreach (var item in items)
  1726. {
  1727. var sensorAndResult = item.Split('.');
  1728. if (sensorAndResult.Length > 1 && sensorAndResult[1].ToLower() != "none")
  1729. {
  1730. var sensorDevice = DEVICE.GetDevice<IoSensor>($"{Module}.{sensorAndResult[0]}");
  1731. if (sensorDevice == null)
  1732. sensorDevice = DEVICE.GetDevice<IoSensor>($"System.{sensorAndResult[0]}");
  1733. if (sensorDevice != null)
  1734. {
  1735. isMatch = sensorAndResult[1].ToLower() == "on" ? sensorDevice.Value : !sensorDevice.Value;
  1736. }
  1737. if (!isMatch)
  1738. break;
  1739. }
  1740. }
  1741. _conditionCheckDic[key] = isMatch;
  1742. }
  1743. if (_isExternalSensorConditionBypass)
  1744. _conditionCheckDic[key] = true;
  1745. return _conditionCheckDic[key];
  1746. }
  1747. else
  1748. {
  1749. return true;
  1750. }
  1751. }
  1752. public bool CheckTempStabilizeCondition()
  1753. {
  1754. var key = "Wait For Temperature Stablilize";
  1755. return true;
  1756. }
  1757. public bool CheckReachTempCondition()
  1758. {
  1759. var key = "Wait For Reach Temperature";
  1760. return true;
  1761. }
  1762. public bool CheckPressureStablilizeCondition()
  1763. {
  1764. var key = "Wait For Pressure Stablilize";
  1765. if (_conditionCheckDic.ContainsKey(key))
  1766. {
  1767. //_conditionCheckDic[key] = APC.IsStable;
  1768. if (_isPressureStabilizeConditionBypass)
  1769. _conditionCheckDic[key] = true;
  1770. return _conditionCheckDic[key];
  1771. }
  1772. else
  1773. {
  1774. return true;
  1775. }
  1776. }
  1777. public bool CheckReachPressureCondition()
  1778. {
  1779. var key = "Wait For Reach Pressure";
  1780. if (_conditionCheckDic.ContainsKey(key))
  1781. {
  1782. if (_conditionCheckItemDic.ContainsKey(key))
  1783. {
  1784. var itemArry = _conditionCheckItemDic[key].Split(',');
  1785. if (itemArry != null && itemArry.Length > 1)
  1786. {
  1787. float.TryParse(itemArry[1], out float pressure);
  1788. if (itemArry[0] == "WaitMoreThan")
  1789. {
  1790. //_conditionCheckDic[key] = APC.PressureFeedback > pressure;
  1791. }
  1792. else if (itemArry[0] == "WaitLessThan")
  1793. {
  1794. //_conditionCheckDic[key] = APC.PressureFeedback < pressure;
  1795. }
  1796. }
  1797. }
  1798. if (_isReachPressureConditionBypass)
  1799. _conditionCheckDic[key] = true;
  1800. return _conditionCheckDic[key];
  1801. }
  1802. else
  1803. {
  1804. return true;
  1805. }
  1806. }
  1807. public bool CheckFinishAutoProfileCondition()
  1808. {
  1809. var key = "Wait For Finish Auto Profile";
  1810. if (_conditionCheckDic.ContainsKey(key))
  1811. {
  1812. if (_isFinishAutoProfileConditionBypass)
  1813. _conditionCheckDic[key] = true;
  1814. return _conditionCheckDic[key];
  1815. }
  1816. else
  1817. {
  1818. return true;
  1819. }
  1820. }
  1821. #endregion
  1822. private bool SetBoatZAxisMotion(out string reason, int time, object[] param)
  1823. {
  1824. reason = string.Empty;
  1825. //if (AutoDoor.UpDownStatus != ASUpDownStatus.Down || AutoDoor.OpenCloseStatus != ASOpenCloseStatus.Open)
  1826. //{
  1827. // (Singleton<EquipmentManager>.Instance.Modules[ModuleName.Boat] as BoatModule).BoatZAxisMoveFailedForInterlock.Set();
  1828. // return false;
  1829. //}
  1830. return true;
  1831. //return BoatDevice.ZAxisMoveTo(param[0].ToString(), out reason);
  1832. }
  1833. private bool SetBoatRAxisMotion(out string reason, int time, object[] param)
  1834. {
  1835. reason = string.Empty;
  1836. return true;
  1837. }
  1838. private bool SetAutoShutterUp(out string reason, int time, object[] param)
  1839. {
  1840. reason = string.Empty;
  1841. bool.TryParse(param[0].ToString(), out bool isUp);
  1842. //if (BoatDevice.BoatCurrentPosition != BoatPosition.HomePosition && BoatDevice.BoatCurrentPosition != BoatPosition.ProcessPosition)
  1843. //{
  1844. // AutoShutter.AutoShutterMoveFailedForInterlock.Set();
  1845. // return false;
  1846. //}
  1847. //return AutoDoor.SetUp(isUp, out reason);
  1848. return true;
  1849. }
  1850. private bool SetAutoShutterOpen(out string reason, int time, object[] param)
  1851. {
  1852. reason = string.Empty;
  1853. bool.TryParse(param[0].ToString(), out bool isOpen);
  1854. var ZAxisDevice = DEVICE.GetDevice<IoFurnaceMotor>($"PM1.BoatElevatorServo");
  1855. if (!ZAxisDevice.CheckServoAtPosition(BoatPosition.HomePosition.ToString()))
  1856. {
  1857. ShutterMoveFailedForInterlock.Set();
  1858. return true;
  1859. }
  1860. return Shutter.SetOpen(isOpen, out reason);
  1861. }
  1862. private bool SetAutoShutterRotateOpen(out string reason, int time, object[] param)
  1863. {
  1864. reason = string.Empty;
  1865. bool.TryParse(param[0].ToString(), out bool isOpen);
  1866. //if (BoatDevice.BoatCurrentPosition != BoatPosition.HomePosition && BoatDevice.BoatCurrentPosition != BoatPosition.ProcessPosition)
  1867. //{
  1868. // AutoShutter.AutoShutterMoveFailedForInterlock.Set();
  1869. // return false;
  1870. //}
  1871. //return AutoDoor.SetShutterRotateOpen(isOpen, out reason);
  1872. return true;
  1873. }
  1874. private bool SetCommand(out string reason, int time, object[] param)
  1875. {
  1876. reason = string.Empty;
  1877. var command = param[0].ToString();
  1878. switch (command)
  1879. {
  1880. case "Hold":
  1881. _processRoutine.PauseRecipe();
  1882. break;
  1883. case "Hold + Buzzer":
  1884. _processRoutine.PauseRecipe();
  1885. BuzzerOn();
  1886. break;
  1887. case "Buzzer":
  1888. BuzzerOn();
  1889. break;
  1890. case "Leak Check1":
  1891. case "Leak Check2":
  1892. case "Leak Check3":
  1893. int.TryParse(command.Replace("Leak Check", ""), out int index);
  1894. SetLeakCheckTableIndex(index);
  1895. break;
  1896. }
  1897. return true;
  1898. }
  1899. public bool SetSensorRecipeOK(out string reason, int time, object[] param)
  1900. {
  1901. reason = string.Empty;
  1902. SensorRecipeOK.Value = true;
  1903. //SensorPROCManualOK.Value = false;
  1904. return true;
  1905. }
  1906. public bool SetSensorPROCManualOK(out string reason, int time, object[] param)
  1907. {
  1908. reason = string.Empty;
  1909. SensorRecipeOK.Value = false;
  1910. //SensorPROCManualOK.Value = true;
  1911. return true;
  1912. }
  1913. public bool SetEditRecipeName(out string reason, int time, object[] param)
  1914. {
  1915. reason = string.Empty;
  1916. EditRecipeName = param[0].ToString();
  1917. return true;
  1918. }
  1919. public bool SetEditRecipeStepName(out string reason, int time, object[] param)
  1920. {
  1921. reason = string.Empty;
  1922. EditRecipeStepName = param[0].ToString();
  1923. return true;
  1924. }
  1925. private void BuzzerOn()
  1926. {
  1927. _signalTowerDevice.IsAutoSetLight = false;
  1928. _signalTowerDevice.SetLight(LightType.Buzzer1, TowerLightStatus.On);
  1929. }
  1930. public bool CheckBoatState()
  1931. {
  1932. return (Singleton<EquipmentManager>.Instance.Modules[ModuleName.Boat] as BoatModule).IsReady;
  1933. }
  1934. //#region Temperature/Pressure Tolerance
  1935. //#region Heater Tolerance Alarm
  1936. //public bool CheckHeaterBottomToleranceAlaram()
  1937. //{
  1938. // return Heater2.DeviceData.IsLspModeFeedBack ? Heater2.CheckToleranceAlarm() : Heater1.CheckToleranceAlarm();
  1939. //}
  1940. //public bool CheckHeaterCenterBottomToleranceAlaram()
  1941. //{
  1942. // return Heater4.DeviceData.IsLspModeFeedBack ? Heater4.CheckToleranceAlarm() : Heater3.CheckToleranceAlarm();
  1943. //}
  1944. //public bool CheckHeaterCenterToleranceAlaram()
  1945. //{
  1946. // return Heater6.DeviceData.IsLspModeFeedBack ? Heater6.CheckToleranceAlarm() : Heater5.CheckToleranceAlarm();
  1947. //}
  1948. //public bool CheckHeaterCenterTopToleranceAlaram()
  1949. //{
  1950. // return Heater8.DeviceData.IsLspModeFeedBack ? Heater8.CheckToleranceAlarm() : Heater7.CheckToleranceAlarm();
  1951. //}
  1952. //public bool CheckHeaterTopToleranceAlaram()
  1953. //{
  1954. // return Heater10.DeviceData.IsLspModeFeedBack ? Heater10.CheckToleranceAlarm() : Heater9.CheckToleranceAlarm();
  1955. //}
  1956. //public void SetHeaterBottomToleranceAlaram()
  1957. //{
  1958. // if (Heater2.DeviceData.IsLspModeFeedBack)
  1959. // Heater2.SetToleranceAlarm();
  1960. // else
  1961. // Heater1.SetToleranceAlarm();
  1962. //}
  1963. //public void SetHeaterCenterBottomToleranceAlaram()
  1964. //{
  1965. // if (Heater4.DeviceData.IsLspModeFeedBack)
  1966. // Heater4.SetToleranceAlarm();
  1967. // else
  1968. // Heater3.SetToleranceAlarm();
  1969. //}
  1970. //public void SetHeaterCenterToleranceAlaram()
  1971. //{
  1972. // if (Heater6.DeviceData.IsLspModeFeedBack)
  1973. // Heater6.SetToleranceAlarm();
  1974. // else
  1975. // Heater5.SetToleranceAlarm();
  1976. //}
  1977. //public void SetHeaterCenterTopToleranceAlaram()
  1978. //{
  1979. // if (Heater8.DeviceData.IsLspModeFeedBack)
  1980. // Heater8.SetToleranceAlarm();
  1981. // else
  1982. // Heater7.SetToleranceAlarm();
  1983. //}
  1984. //public void SetHeaterTopToleranceAlaram()
  1985. //{
  1986. // if (Heater10.DeviceData.IsLspModeFeedBack)
  1987. // Heater10.SetToleranceAlarm();
  1988. // else
  1989. // Heater9.SetToleranceAlarm();
  1990. //}
  1991. //#endregion
  1992. //#region Heater Tolerance Warning
  1993. //public bool CheckHeaterBottomToleranceWarning()
  1994. //{
  1995. // return Heater2.DeviceData.IsLspModeFeedBack ? Heater2.CheckToleranceWarning() : Heater1.CheckToleranceWarning();
  1996. //}
  1997. //public bool CheckHeaterCenterBottomToleranceWarning()
  1998. //{
  1999. // return Heater4.DeviceData.IsLspModeFeedBack ? Heater4.CheckToleranceWarning() : Heater3.CheckToleranceWarning();
  2000. //}
  2001. //public bool CheckHeaterCenterToleranceWarning()
  2002. //{
  2003. // return Heater6.DeviceData.IsLspModeFeedBack ? Heater6.CheckToleranceWarning() : Heater5.CheckToleranceWarning();
  2004. //}
  2005. //public bool CheckHeaterCenterTopToleranceWarning()
  2006. //{
  2007. // return Heater8.DeviceData.IsLspModeFeedBack ? Heater8.CheckToleranceWarning() : Heater7.CheckToleranceWarning();
  2008. //}
  2009. //public bool CheckHeaterTopToleranceWarning()
  2010. //{
  2011. // return Heater10.DeviceData.IsLspModeFeedBack ? Heater10.CheckToleranceWarning() : Heater9.CheckToleranceWarning();
  2012. //}
  2013. //public void SetHeaterBottomToleranceWarning()
  2014. //{
  2015. // if (Heater2.DeviceData.IsLspModeFeedBack)
  2016. // Heater2.SetToleranceWarning();
  2017. // else
  2018. // Heater1.SetToleranceWarning();
  2019. //}
  2020. //public void SetHeaterCenterBottomToleranceWarning()
  2021. //{
  2022. // if (Heater4.DeviceData.IsLspModeFeedBack)
  2023. // Heater4.SetToleranceWarning();
  2024. // else
  2025. // Heater3.SetToleranceWarning();
  2026. //}
  2027. //public void SetHeaterCenterToleranceWarning()
  2028. //{
  2029. // if (Heater6.DeviceData.IsLspModeFeedBack)
  2030. // Heater6.SetToleranceWarning();
  2031. // else
  2032. // Heater5.SetToleranceWarning();
  2033. //}
  2034. //public void SetHeaterCenterTopToleranceWarning()
  2035. //{
  2036. // if (Heater8.DeviceData.IsLspModeFeedBack)
  2037. // Heater8.SetToleranceWarning();
  2038. // else
  2039. // Heater7.SetToleranceWarning();
  2040. //}
  2041. //public void SetHeaterTopToleranceWarning()
  2042. //{
  2043. // if (Heater10.DeviceData.IsLspModeFeedBack)
  2044. // Heater10.SetToleranceWarning();
  2045. // else
  2046. // Heater9.SetToleranceWarning();
  2047. //}
  2048. //#endregion
  2049. //#region Pressure Tolerance Alarm
  2050. ////public bool CheckPressureToleranceAlaram()
  2051. ////{
  2052. //// return APC.CheckToleranceAlarm();
  2053. ////}
  2054. ////public void SetPressureToleranceAlaram()
  2055. ////{
  2056. //// APC.SetToleranceAlarm();
  2057. ////}
  2058. //#endregion
  2059. //#region Pressure Tolerance Warning
  2060. ////public bool CheckPressureToleranceWarning()
  2061. ////{
  2062. //// return APC.CheckToleranceWarning();
  2063. ////}
  2064. ////public void SetPressureToleranceWarning()
  2065. ////{
  2066. //// APC.SetToleranceWarning();
  2067. ////}
  2068. //#endregion
  2069. //#region Reset Tolerance
  2070. //public void ResetToleranceAlarm()
  2071. //{
  2072. // foreach (var heater in _heaters)
  2073. // {
  2074. // heater.Reset();
  2075. // }
  2076. // foreach (var key in _gasMFCs.Keys)
  2077. // {
  2078. // _gasMFCs[key].Reset();
  2079. // }
  2080. // //APC.Reset();
  2081. //}
  2082. //public void ResetToleranceAlarmChecker()
  2083. //{
  2084. // foreach (var heater in _heaters)
  2085. // {
  2086. // heater.ResetAlarmChecker();
  2087. // heater.ResetWarningChecker();
  2088. // }
  2089. // foreach (var key in _gasMFCs.Keys)
  2090. // {
  2091. // _gasMFCs[key].ResetAlarmChecker();
  2092. // _gasMFCs[key].ResetWarningChecker();
  2093. // }
  2094. // //APC.ResetAlarmChecker();
  2095. // //APC.ResetWarningChecker();
  2096. //}
  2097. //#endregion
  2098. //#endregion
  2099. private void SetHeaterControlParameters(object[] param)
  2100. {
  2101. //Mode参数;Correct Table;PID Table
  2102. //"Heater;Parameter\\TempCorrection\\tempCorrect,2,Name2;Parameter\\TempPID\\tempPID,3,Name3"
  2103. if (param == null || param.Length == 0)
  2104. {
  2105. EV.PostWarningLog(Module, $"Invalid heater parameter");
  2106. return;
  2107. }
  2108. var paras = param[0].ToString().Split(';');
  2109. if (paras == null || paras.Length < 3)
  2110. {
  2111. EV.PostWarningLog(Module, $"Invalid heater parameter");
  2112. return;
  2113. }
  2114. var controlMode = paras[0];
  2115. var correct = paras[1];
  2116. var pid = paras[2];
  2117. HeaterU.SetControlMode(controlMode);
  2118. HeaterCU.SetControlMode(controlMode);
  2119. HeaterC.SetControlMode(controlMode);
  2120. HeaterCL.SetControlMode(controlMode);
  2121. HeaterL.SetControlMode(controlMode);
  2122. SetHeaterCorrectParameters(correct);
  2123. SetHeaterPIDParameters(pid);
  2124. }
  2125. private void SetHeaterCorrectParameters(string correct)
  2126. {
  2127. HeaterU.SetCorrectParameters(correct);
  2128. HeaterCU.SetCorrectParameters(correct);
  2129. HeaterC.SetCorrectParameters(correct);
  2130. HeaterCL.SetCorrectParameters(correct);
  2131. HeaterL.SetCorrectParameters(correct);
  2132. }
  2133. private void SetHeaterPIDParameters(string pid)
  2134. {
  2135. HeaterU.SetPIDParameters(pid);
  2136. HeaterCU.SetPIDParameters(pid);
  2137. HeaterC.SetPIDParameters(pid);
  2138. HeaterCL.SetPIDParameters(pid);
  2139. HeaterL.SetPIDParameters(pid);
  2140. }
  2141. private bool SetCEXHEnable(object[] param)
  2142. {
  2143. if (param != null && param.Length > 0)
  2144. {
  2145. bool.TryParse(param[0].ToString(), out bool isEnable);
  2146. _fFUs.ForEach(a => a.SetSwitch(isEnable));
  2147. }
  2148. return true;
  2149. }
  2150. private bool SetHTR1Enable(object[] param)
  2151. {
  2152. if (param != null && param.Length > 0)
  2153. {
  2154. bool.TryParse(param[0].ToString(), out bool isEnable);
  2155. SC.SetItemValue($"PM1.IsHTR1Enable", isEnable);
  2156. TrigHeaterAllEnable?.SetTrigger(isEnable, out _);
  2157. }
  2158. return true;
  2159. }
  2160. private bool SetHTR2Enable(object[] param)
  2161. {
  2162. if (param != null && param.Length > 0)
  2163. {
  2164. bool.TryParse(param[0].ToString(), out bool isEnable);
  2165. SC.SetItemValue($"PM1.IsHTR2Enable", isEnable);
  2166. }
  2167. return true;
  2168. }
  2169. private bool SetHTR3Enable(object[] param)
  2170. {
  2171. if (param != null && param.Length > 0)
  2172. {
  2173. bool.TryParse(param[0].ToString(), out bool isEnable);
  2174. SC.SetItemValue($"PM1.IsHTR3Enable", isEnable);
  2175. }
  2176. return true;
  2177. }
  2178. }
  2179. }