PMModuleDevice.cs 108 KB

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