PMModuleDevice.cs 109 KB

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