| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536 | using Aitex.Core.RT.Event;using Aitex.Core.RT.IOCore;using Aitex.Core.RT.Log;using Aitex.Core.RT.OperationCenter;using Aitex.Core.RT.SCCore;using Aitex.Core.Util;using MECF.Framework.Common.Event;using MECF.Framework.Common.OperationCenter;using System;using System.Collections.Generic;using System.Linq;namespace FurnaceRT.Equipments.PMs{    public partial class PMModule    {        #region AlarmDefine        public AlarmEventItem RecipeErrorAlarm { get; set; }        public AlarmEventItem RecipeFinishedAbnormallyAlarm { get; set; }        public AlarmEventItem TemperatureConvergenceTimeOutAlarm { get; set; }        public AlarmEventItem PressureConvergenceTimeOutAlarm { get; set; }        public AlarmEventItem AutoProfileTimeOutAlarm { get; set; }        public AlarmEventItem FlowConvergenceTimeOutAlarm { get; set; }        public AlarmEventItem BoatMoveTimeOutAlarm { get; set; }        public AlarmEventItem InputSignalTimeOutAlarm { get; set; }        public AlarmEventItem EmergencyAbort { get; set; }        public AlarmEventItem RecipeExecutionError { get; set; }        public AlarmEventItem Heater0ToleranceWarning { get; set; }        public AlarmEventItem Heater0ToleranceAlarm { get; set; }        public AlarmEventItem HeaterUToleranceWarning { get; set; }        public AlarmEventItem HeaterUToleranceAlarm { get; set; }        public AlarmEventItem HeaterCUToleranceWarning { get; set; }        public AlarmEventItem HeaterCUToleranceAlarm { get; set; }        public AlarmEventItem HeaterCToleranceWarning { get; set; }        public AlarmEventItem HeaterCToleranceAlarm { get; set; }        public AlarmEventItem HeaterCLToleranceWarning { get; set; }        public AlarmEventItem HeaterCLToleranceAlarm { get; set; }        public AlarmEventItem HeaterLToleranceWarning { get; set; }        public AlarmEventItem HeaterLToleranceAlarm { get; set; }        public AlarmEventItem MfmD1ToleranceWarning { get; set; }        public AlarmEventItem MfmD1ToleranceAlarm { get; set; }        public AlarmEventItem MFC1ToleranceWarning { get; set; }        public AlarmEventItem MFC1ToleranceAlarm { get; set; }        public AlarmEventItem MFC2ToleranceWarning { get; set; }        public AlarmEventItem MFC2ToleranceAlarm { get; set; }        public AlarmEventItem MFC3ToleranceWarning { get; set; }        public AlarmEventItem MFC3ToleranceAlarm { get; set; }        public AlarmEventItem MFC4ToleranceWarning { get; set; }        public AlarmEventItem MFC4ToleranceAlarm { get; set; }        public AlarmEventItem MFC5ToleranceWarning { get; set; }        public AlarmEventItem MFC5ToleranceAlarm { get; set; }        public AlarmEventItem MFC6ToleranceWarning { get; set; }        public AlarmEventItem MFC6ToleranceAlarm { get; set; }        public AlarmEventItem MFC7ToleranceWarning { get; set; }        public AlarmEventItem MFC7ToleranceAlarm { get; set; }        public AlarmEventItem MFC8ToleranceWarning { get; set; }        public AlarmEventItem MFC8ToleranceAlarm { get; set; }        public AlarmEventItem MFC9ToleranceWarning { get; set; }        public AlarmEventItem MFC9ToleranceAlarm { get; set; }        public AlarmEventItem MFC10ToleranceWarning { get; set; }        public AlarmEventItem MFC10ToleranceAlarm { get; set; }        public AlarmEventItem MFC11ToleranceWarning { get; set; }        public AlarmEventItem MFC11ToleranceAlarm { get; set; }        public AlarmEventItem MFC12ToleranceWarning { get; set; }        public AlarmEventItem MFC12ToleranceAlarm { get; set; }        public AlarmEventItem APCPressure1ToleranceWarning { get; set; }        public AlarmEventItem APCPressure1ToleranceAlarm { get; set; }        public AlarmEventItem APCPressure2ToleranceWarning { get; set; }        public AlarmEventItem APCPressure2ToleranceAlarm { get; set; }        public AlarmEventItem APCAngleToleranceWarning { get; set; }        public AlarmEventItem APCAngleToleranceAlarm { get; set; }        public AlarmEventItem APCSetModeAlarm { get; set; }        public AlarmEventItem CheckEnableRunProcessAlarm { get; set; }        public AlarmEventItem CheckCanDoOperationAlarm { get; set; }        public AlarmEventItem TubeHomeFailedWarning { get; set; }        public AlarmEventItem CheckHasAlarmWarning { get; set; }        public AlarmEventItem PreprocessStartFailedWarning { get; set; }        public AlarmEventItem ExecuteAbortRecipeWarning { get; set; }        public AlarmEventItem ShutterMoveFailedForInterlock { get; set; }        #region Sensor alarm               public AlarmEventItem SensorTHMCONAlarm { get; set; }        public AlarmEventItem SensorHeaterMCONAlarm { get; set; }        public AlarmEventItem SensorTHBreakOKAlarm { get; set; }        public AlarmEventItem SensorHeaterBreakOKAlarm { get; set; }        public AlarmEventItem SensorHTRCUPowerONAlarm { get; set; }        public AlarmEventItem SensorNH3LeakOKAlarm { get; set; }        public AlarmEventItem SensorSiH2Cl2LeakOKAlarm { get; set; }        public AlarmEventItem SensorGASDetectorOKAlarm { get; set; }        public AlarmEventItem SensorEXHFanOKAlarm { get; set; }        public AlarmEventItem SensorSCRTempOKAlarm { get; set; }        public AlarmEventItem SensorHeaterTransTempOKAlarm { get; set; }        public AlarmEventItem SensorSCRFanOKAlarm { get; set; }        public AlarmEventItem SensorHeaterControllerOKAlarm { get; set; }        public AlarmEventItem SensorHeaterTempOKAlarm { get; set; }        public AlarmEventItem SensorHeaterEXHOKAlarm { get; set; }        public AlarmEventItem SensorFNCWaterLeakDet1OKAlarm { get; set; }        public AlarmEventItem SensorHeaterWaterFlowOKAlarm { get; set; }        public AlarmEventItem SensorHeaterWaterFlowOK1Alarm { get; set; }        public AlarmEventItem SensorMFWaterFlowOKAlarm { get; set; }        public AlarmEventItem SensorMFWaterFlowOK1Alarm { get; set; }        public AlarmEventItem SensorCAPWaterFlowOKAlarm { get; set; }        public AlarmEventItem SensorCAPWaterFlowOK1Alarm { get; set; }        public AlarmEventItem SensorASWaterFlowOKAlarm { get; set; }        public AlarmEventItem SensorASWaterFlowOK1Alarm { get; set; }        public AlarmEventItem SensorSpareWaterFlowOKAlarm { get; set; }        public AlarmEventItem SensorSpareWaterFlowOK1Alarm { get; set; }        public AlarmEventItem SensorChamberTempOKAlarm { get; set; }        public AlarmEventItem SensorFNCPanelCloseAlarm { get; set; }        public AlarmEventItem SensorTubeOverPressureAlarm { get; set; }        public AlarmEventItem SensorFNCWaterLeakDet2OKAlarm { get; set; }        public AlarmEventItem SensorGasLineTHTempOKAlarm { get; set; }        public AlarmEventItem SensorPipingLineTHTempOKAlarm { get; set; }        public AlarmEventItem SensorTHControllerOKAlarm { get; set; }        public AlarmEventItem SensorSCVOKAlarm { get; set; }        public AlarmEventItem SensorHECDoorClosedAlarm { get; set; }        public AlarmEventItem SensorHECWaterLeakDetectOKAlarm { get; set; }        public AlarmEventItem SensorHECWaterLevelOKAlarm { get; set; }        public AlarmEventItem SensorHECTempOKAlarm { get; set; }        public AlarmEventItem SensorVG1OKAlarm { get; set; }        public AlarmEventItem SensorVG2OKAlarm { get; set; }        public AlarmEventItem SensorPureN2PressureOKAlarm { get; set; }        public AlarmEventItem SensorNH3PressureOKAlarm { get; set; }        public AlarmEventItem SensorSiH2CL2PressureOKAlarm { get; set; }        public AlarmEventItem SensorN2OPressureOKAlarm { get; set; }        public AlarmEventItem SensorNBPressureOKAlarm { get; set; }        public AlarmEventItem SensorLV1PressureOKAlarm { get; set; }        public AlarmEventItem SensorPSW1LOWAlarm { get; set; }        public AlarmEventItem SensorPSW2LOWAlarm { get; set; }        public AlarmEventItem SensorGUExhaustOKAlarm { get; set; }        public AlarmEventItem SensorFBLightCurtainFaultAlarm { get; set; }        public AlarmEventItem SensorFBLightCurtainOSSD1Alarm { get; set; }        public AlarmEventItem SensorFBLightCurtainOSSD2Alarm { get; set; }        public AlarmEventItem LeakCheckAlarm { get; set; }        #endregion        #region interlock alarm        public AlarmEventItem UserDefineInterlockAlarm { get; set; }        public AlarmEventItem InterlockAlarm { get; set; }        public AlarmEventItem BoatMoveToLoadPositionTimeoutWarning { get; set; }        #endregion        public Dictionary<int, Tuple<AlarmEventItem, AlarmEventItem>> AUXAlarmDic { get; set; }        #endregion        private void InitAlarmEvent()        {            RecipeErrorAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.RecipeErrorAlarm",                Description = $"{Name} recipe error alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { ResetRecipeErrorAlarm(); return true; });            RecipeFinishedAbnormallyAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.RecipeFinishedAbnormallyAlarm",                Description = $"{Name} recipe finished abnormally alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { ResetRecipeFinishedAbnormallyAlarm(); return true; });            TemperatureConvergenceTimeOutAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.TemperatureConvergenceTimeOutAlarm",                Description = $"{Name} temperature convergence timeout alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { ResetTemperatureConvergenceTimeOutAlarm(); return true; });            PressureConvergenceTimeOutAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.PressureConvergenceTimeOutAlarm",                Description = $"{Name} pressure convergence timeout alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { ResetPressureConvergenceTimeOutAlarm(); return true; });            AutoProfileTimeOutAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AutoProfileTimeOutAlarm",                Description = $"{Name} auto profile timeout alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { ResetAutoProfileTimeOutAlarm(); return true; });            FlowConvergenceTimeOutAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.FlowConvergenceTimeOutAlarm",                Description = $"{Name} flow convergence timeout alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { ResetFlowConvergenceTimeOutAlarm(); return true; });            BoatMoveTimeOutAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.BoatMoveTimeOutAlarm",                Description = $"{Name} boat move timeout alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { ResetBoatMoveTimeOutAlarm(); return true; });            InputSignalTimeOutAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.InputSignalTimeOutAlarm",                Description = $"{Name} input signal timeout alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { ResetInputSignalTimeOutAlarm(); return true; });            EmergencyAbort = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.EmergencyAbort",                Description = $"{Name} emergency abort ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { ResetEmergencyAbort(); return true; });            RecipeExecutionError = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.RecipeExecutionError",                Description = $"{Name} recipe execution error ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { ResetRecipeExecutionError(); return true; });            HeaterUToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.HeaterUToleranceWarning",                Description = $"{Name} heaterU tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => {return true; });            HeaterU.AlarmToleranceWarning = HeaterUToleranceWarning;            HeaterUToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.HeaterUToleranceAlarm",                Description = $"{Name} heaterU tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => {return true; });            HeaterU.AlarmToleranceAlarm = HeaterUToleranceAlarm;            HeaterCUToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.HeaterCUToleranceWarning",                Description = $"{Name} heaterCU tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => {return true; });            HeaterCU.AlarmToleranceWarning = HeaterCUToleranceWarning;            HeaterCUToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.HeaterCUToleranceAlarm",                Description = $"{Name} heaterCU tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => {return true; });            HeaterCU.AlarmToleranceAlarm = HeaterCUToleranceAlarm;            HeaterCToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.HeaterCToleranceWarning",                Description = $"{Name} heaterC tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => {return true; });            HeaterC.AlarmToleranceWarning = HeaterCToleranceWarning;            HeaterCToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.HeaterCToleranceAlarm",                Description = $"{Name} heaterC tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => {return true; });            HeaterC.AlarmToleranceAlarm = HeaterCToleranceAlarm;            HeaterCLToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.HeaterCLToleranceWarning",                Description = $"{Name} heaterCL tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => {return true; });            HeaterCL.AlarmToleranceWarning = HeaterCLToleranceWarning;            HeaterCLToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.HeaterCLToleranceAlarm",                Description = $"{Name} heaterCL tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => {return true; });            HeaterCL.AlarmToleranceAlarm = HeaterCLToleranceAlarm;            HeaterLToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.HeaterLToleranceWarning",                Description = $"{Name} heaterL tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => {return true; });            HeaterL.AlarmToleranceWarning = HeaterLToleranceWarning;            HeaterLToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.HeaterLToleranceAlarm",                Description = $"{Name} heaterL tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => {return true; });            HeaterL.AlarmToleranceAlarm = HeaterLToleranceAlarm;            //MfmD1ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            //{            //    EventEnum = $"{Name}.MfmD1ToleranceWarning",            //    Description = $"{Name} mfmD1 tolerance warning ",            //    Solution = "No information available. Press[Clear] to delete alarm message.",            //    Explaination = "No information available.",            //    AutoRecovery = false,            //    Level = EventLevel.Warning,            //    Action = EventAction.Clear,            //    Category = "TubeAlarm",            //}, () => { MfmD1.Reset(); return true; });            //MfmD1.AlarmToleranceWarning = MfmD1ToleranceWarning;            //MfmD1ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            //{            //    EventEnum = $"{Name}.MfmD1ToleranceAlarm",            //    Description = $"{Name} mfmD1 tolerance alarm ",            //    Solution = "No information available. Press[Clear] to delete alarm message.",            //    Explaination = "No information available.",            //    AutoRecovery = false,            //    Level = EventLevel.Alarm,            //    Action = EventAction.Clear,            //    Category = "TubeAlarm",            //}, () => { MfmD1.Reset(); return true; });            //MfmD1.AlarmToleranceAlarm = MfmD1ToleranceAlarm;            //MFC61ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            //{            //    EventEnum = $"{Name}.MFC61ToleranceWarning",            //    Description = $"MFC61 tolerance warning ",            //    Solution = "No information available. Press[Clear] to delete alarm message.",            //    Explaination = "No information available.",            //    AutoRecovery = false,            //    Level = EventLevel.Warning,            //    Action = EventAction.Clear,            //    Category = "TubeAlarm",            //}, () => { MFC61.Reset(); return true; });            //MFC61.AlarmToleranceWarning = MFC61ToleranceWarning;            MFC1ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC1ToleranceAlarm",                Description = $"MFC1 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC1.Reset(); return true; });            MFC1.AlarmToleranceAlarm = MFC1ToleranceAlarm;            MFC1ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC1ToleranceWarning",                Description = $"MFC1 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC1.Reset(); return true; });            MFC1.AlarmToleranceWarning = MFC1ToleranceWarning;            MFC2ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC2ToleranceAlarm",                Description = $"MFC2 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC2.Reset(); return true; });            MFC2.AlarmToleranceAlarm = MFC2ToleranceAlarm;            MFC2ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC2ToleranceWarning",                Description = $"MFC2 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC2.Reset(); return true; });            MFC2.AlarmToleranceWarning = MFC2ToleranceWarning;            MFC3ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC3ToleranceAlarm",                Description = $"MFC3 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC3.Reset(); return true; });            MFC3.AlarmToleranceAlarm = MFC3ToleranceAlarm;            MFC3ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC3ToleranceWarning",                Description = $"MFC3 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC3.Reset(); return true; });            MFC3.AlarmToleranceWarning = MFC3ToleranceWarning;            MFC4ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC4ToleranceAlarm",                Description = $"MFC4 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC4.Reset(); return true; });            MFC4.AlarmToleranceAlarm = MFC4ToleranceAlarm;            MFC4ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC4ToleranceWarning",                Description = $"MFC4 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC4.Reset(); return true; });            MFC4.AlarmToleranceWarning = MFC4ToleranceWarning;            MFC5ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC5ToleranceAlarm",                Description = $"MFC5 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC5.Reset(); return true; });            MFC5.AlarmToleranceAlarm = MFC5ToleranceAlarm;            MFC5ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC5ToleranceWarning",                Description = $"MFC5 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC5.Reset(); return true; });            MFC5.AlarmToleranceWarning = MFC5ToleranceWarning;            MFC6ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC6ToleranceAlarm",                Description = $"MFC6 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC6.Reset(); return true; });            MFC6.AlarmToleranceAlarm = MFC6ToleranceAlarm;            MFC6ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC6ToleranceWarning",                Description = $"MFC6 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC6.Reset(); return true; });            MFC6.AlarmToleranceWarning = MFC6ToleranceWarning;            MFC7ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC7ToleranceAlarm",                Description = $"MFC7 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC7.Reset(); return true; });            MFC7.AlarmToleranceAlarm = MFC7ToleranceAlarm;            MFC7ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC7ToleranceWarning",                Description = $"MFC7 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC7.Reset(); return true; });            MFC7.AlarmToleranceWarning = MFC7ToleranceWarning;            MFC8ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC8ToleranceAlarm",                Description = $"MFC8 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC8.Reset(); return true; });            MFC8.AlarmToleranceAlarm = MFC8ToleranceAlarm;            MFC8ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC8ToleranceWarning",                Description = $"MFC8 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC8.Reset(); return true; });            MFC8.AlarmToleranceWarning = MFC8ToleranceWarning;            MFC9ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC9ToleranceAlarm",                Description = $"MFC9 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC9.Reset(); return true; });            MFC9.AlarmToleranceAlarm = MFC9ToleranceAlarm;            MFC9ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC9ToleranceWarning",                Description = $"MFC9 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC9.Reset(); return true; });            MFC9.AlarmToleranceWarning = MFC9ToleranceWarning;            MFC10ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC10ToleranceAlarm",                Description = $"MFC10 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC10.Reset(); return true; });            MFC10.AlarmToleranceAlarm = MFC10ToleranceAlarm;            MFC10ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC10ToleranceWarning",                Description = $"MFC10 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC10.Reset(); return true; });            MFC10.AlarmToleranceWarning = MFC10ToleranceWarning;            MFC11ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC11ToleranceAlarm",                Description = $"MFC11 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC11.Reset(); return true; });            MFC11.AlarmToleranceAlarm = MFC11ToleranceAlarm;            MFC11ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC11ToleranceWarning",                Description = $"MFC11 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC11.Reset(); return true; });            MFC11.AlarmToleranceWarning = MFC11ToleranceWarning;            MFC12ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC12ToleranceAlarm",                Description = $"MFC12 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC12.Reset(); return true; });            MFC12.AlarmToleranceAlarm = MFC12ToleranceAlarm;            MFC12ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.MFC12ToleranceWarning",                Description = $"MFC12 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { MFC12.Reset(); return true; });            MFC12.AlarmToleranceWarning = MFC12ToleranceWarning;            if(MFC13 != null)            {                var alarm1 = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.MFC13ToleranceAlarm",                    Description = $"MFC13 tolerance alarm ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { MFC13.Reset(); return true; });                MFC13.AlarmToleranceAlarm = alarm1;                var warning = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.MFC13ToleranceWarning",                    Description = $"MFC13 tolerance warning ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Warning,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { MFC13.Reset(); return true; });                MFC13.AlarmToleranceWarning = warning;            }            if (MFC14 != null)            {                var alarm1 = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.MFC14ToleranceAlarm",                    Description = $"MFC14 tolerance alarm ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { MFC14.Reset(); return true; });                MFC14.AlarmToleranceAlarm = alarm1;                var warning = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.MFC14ToleranceWarning",                    Description = $"MFC14 tolerance warning ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Warning,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { MFC14.Reset(); return true; });                MFC14.AlarmToleranceWarning = warning;            }            if (MFC15 != null)            {                var alarm1 = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.MFC15ToleranceAlarm",                    Description = $"MFC15 tolerance alarm ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { MFC15.Reset(); return true; });                MFC15.AlarmToleranceAlarm = alarm1;                var warning = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.MFC15ToleranceWarning",                    Description = $"MFC15 tolerance warning ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Warning,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { MFC15.Reset(); return true; });                MFC15.AlarmToleranceWarning = warning;            }            if (MFC16 != null)            {                var alarm1 = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.MFC16ToleranceAlarm",                    Description = $"MFC16 tolerance alarm ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { MFC16.Reset(); return true; });                MFC16.AlarmToleranceAlarm = alarm1;                var warning = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.MFC16ToleranceWarning",                    Description = $"MFC16 tolerance warning ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Warning,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { MFC16.Reset(); return true; });                MFC16.AlarmToleranceWarning = warning;            }            APCPressure1ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.APCPressure1ToleranceWarning",                Description = $"{Name} APC Pressure1 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { APC.Reset(); return true; });            APC.APCPressure1ToleranceWarning = APCPressure1ToleranceWarning;            APCPressure1ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.APCPressure1ToleranceAlarm",                Description = $"{Name} APC Pressure1 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { APC.Reset(); return true; });            APC.APCPressure1ToleranceAlarm = APCPressure1ToleranceAlarm;            APCPressure2ToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.APCPressure2ToleranceWarning",                Description = $"{Name} APC Pressure2 tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { APC.Reset(); return true; });            APC.APCPressure2ToleranceWarning = APCPressure2ToleranceWarning;            APCPressure2ToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.APCPressure2ToleranceAlarm",                Description = $"{Name} APC Pressure1 tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { APC.Reset(); return true; });            APC.APCPressure2ToleranceAlarm = APCPressure2ToleranceAlarm;            APCAngleToleranceWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.APCAngleToleranceWarning",                Description = $"{Name} APC Angle tolerance warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { APC.Reset(); return true; });            APC.APCAngleToleranceWarning = APCAngleToleranceWarning;            APCAngleToleranceAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.APCAngleToleranceAlarm",                Description = $"{Name} APC Angle tolerance alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { APC.Reset(); return true; });            APC.APCAngleToleranceAlarm = APCAngleToleranceAlarm;            APCSetModeAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.APCSetModeAlarm",                Description = $"{Name} APC alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { APC.Reset(); return true; });            APC.APCSetModeAlarm = APCSetModeAlarm;            CheckEnableRunProcessAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.CheckEnableRunProcessAlarm",                Description = $"{Name} check enable run process failed ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { return true; });            CheckCanDoOperationAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.CheckCanDoOperationAlarm",                Description = $"{Name} check can do operation failed ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { return true; });            TubeHomeFailedWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.TubeHomeFailedWarning",                Description = $"{Name} tube home failed ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { return true; });            CheckHasAlarmWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.CheckHasAlarmWarning",                Description = $"{Name} tube has alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { return true; });            PreprocessStartFailedWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.PreprocessStartFailedWarning",                Description = $"{Name} preprocess start failed ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { return true; });            ExecuteAbortRecipeWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.ExecuteAbortRecipeWarning",                Description = $"{Name} execute abort recipe warning ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { return true; });            SensorFBLightCurtainFaultAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.SensorFBLightCurtainFaultAlarm",                Description = $"FB Light Curtain Fault ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFBLightCurtainFault.Reset(); return true; });            AlarmSignalFBLightCurtainFault.AlarmTriggered = SensorFBLightCurtainFaultAlarm;            SensorFBLightCurtainOSSD1Alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.SensorFBLightCurtainOSSD1Alarm",                Description = $"FB Light Curtain OSSD1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFBLightCurtainOSSD1.Reset(); return true; });            AlarmSignalFBLightCurtainOSSD1.AlarmTriggered = SensorFBLightCurtainOSSD1Alarm;            SensorFBLightCurtainOSSD2Alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.SensorFBLightCurtainOSSD2Alarm",                Description = $"FB Light Curtain OSSD2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFBLightCurtainOSSD2.Reset(); return true; });            AlarmSignalFBLightCurtainOSSD2.AlarmTriggered = SensorFBLightCurtainOSSD2Alarm;            var alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalO2ConcentrationHI",                Description = $"O2 Concentration High Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalO2ConcentrationHI.Reset(); return true; });            AlarmSignalO2ConcentrationHI.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalO2ConcentrationLow",                Description = $"O2 Concentration Low Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalO2ConcentrationLow.Reset(); return true; });            AlarmSignalO2ConcentrationLow.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalO2ConcentrationEcho1",                Description = $"O2 Concentration Echo1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalO2ConcentrationEcho1.Reset(); return true; });            AlarmSignalO2ConcentrationEcho1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalO2ConcentrationEcho2",                Description = $"O2 Concentration Echo2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalO2ConcentrationEcho2.Reset(); return true; });            AlarmSignalO2ConcentrationEcho2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalSMK1DetectorSensorOperates",                Description = $"SMK1 Detector Sensor Operates Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalSMK1DetectorSensorOperates.Reset(); return true; });            AlarmSignalSMK1DetectorSensorOperates.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalSMK1DetectorSensorFireAlarm",                Description = $"SMK1 Detector Sensor Fire Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalSMK1DetectorSensorFireAlarm.Reset(); return true; });            AlarmSignalSMK1DetectorSensorFireAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalSMK1DetectorSensorFault",                Description = $"SMK1 Detector SensorFault Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalSMK1DetectorSensorFault.Reset(); return true; });            AlarmSignalSMK1DetectorSensorFault.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalHCLGasLeak1stAlarm",                Description = $"HCL Gas Leak 1st Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalHCLGasLeak1stAlarm.Reset(); return true; });            AlarmSignalHCLGasLeak1stAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalHCLGasLeak2ndAlarm",                Description = $"HCL Gas Leak 2nd Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalHCLGasLeak2ndAlarm.Reset(); return true; });            AlarmSignalHCLGasLeak2ndAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalNH3GasLeak1stAlarm",                Description = $"NH3 Gas Leak 1stTriger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalNH3GasLeak1stAlarm.Reset(); return true; });            AlarmSignalNH3GasLeak1stAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalNH3GasLeak2ndAlarm",                Description = $"NH3 Gas Leak 2ndTriger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalNH3GasLeak2ndAlarm.Reset(); return true; });            AlarmSignalNH3GasLeak2ndAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalF2GasLeak1stAlarm",                Description = $"F2 Gas Leak 1st Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalF2GasLeak1stAlarm.Reset(); return true; });            AlarmSignalF2GasLeak1stAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalF2GasLeak2ndAlarm",                Description = $"F2 Gas Leak 2nd Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalF2GasLeak2ndAlarm.Reset(); return true; });            AlarmSignalF2GasLeak2ndAlarm.AlarmTriggered = alarm;            if(AlarmSignalGasLeakFault != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalGasLeakFault",                    Description = $"Gas Leak Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalGasLeakFault.Reset(); return true; });                AlarmSignalGasLeakFault.AlarmTriggered = alarm;            }                        if(AlarmSignalFurnaceMainCircuitBreakerStatusMonitor != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFurnaceMainCircuitBreakerStatusMonitor",                    Description = $"Furnace Main Circuit Breaker Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFurnaceMainCircuitBreakerStatusMonitor.Reset(); return true; });                AlarmSignalFurnaceMainCircuitBreakerStatusMonitor.AlarmTriggered = alarm;            }            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalTS34RotationTempSW",                Description = $"TS34 Rotation Temp Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalTS34RotationTempSW.Reset(); return true; });            AlarmSignalTS34RotationTempSW.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalTS30CapInsideTempSW",                Description = $"TS30 Cap Inside Temp Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalTS30CapInsideTempSW.Reset(); return true; });            AlarmSignalTS30CapInsideTempSW.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalTS31CapOutsideTempSW",                Description = $"TS31 Cap Outside Temp Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalTS31CapOutsideTempSW.Reset(); return true; });            AlarmSignalTS31CapOutsideTempSW.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGasBoxLowerDoorSW",                Description = $"Gas Box Lower Door Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGasBoxLowerDoorSW.Reset(); return true; });            AlarmSignalGasBoxLowerDoorSW.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGasBoxUpperDoorSW",                Description = $"Gas Box Upper Door Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGasBoxUpperDoorSW.Reset(); return true; });            AlarmSignalGasBoxUpperDoorSW.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalEXHBoxWaterLeak",                Description = $"EXH Box Water Leak Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalEXHBoxWaterLeak.Reset(); return true; });            AlarmSignalEXHBoxWaterLeak.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalOPPanelEMO1",                Description = $"OP Panel EMO1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalOPPanelEMO1.Reset(); return true; });            AlarmSignalOPPanelEMO1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalOPPanelEMO2",                Description = $"OP Panel EMO2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalOPPanelEMO2.Reset(); return true; });            AlarmSignalOPPanelEMO2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalMainFurnaceCellingTS306",                Description = $"Main Furnace Celling TS306 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalMainFurnaceCellingTS306.Reset(); return true; });            AlarmSignalMainFurnaceCellingTS306.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalHeaterRoomSWS11S12",                Description = $"Heater Room SW S11 S12 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalHeaterRoomSWS11S12.Reset(); return true; });            AlarmSignalHeaterRoomSWS11S12.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalFilterBox1DoorSwitch",                Description = $"Filter Box1 Door Switch",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFilterBox1DoorSwitch.Reset(); return true; });            AlarmSignalFilterBox1DoorSwitch.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalRHCTS305",                Description = $"RHC TS305 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalRHCTS305.Reset(); return true; });            AlarmSignalRHCTS305.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGasBoxExhaust1stAlarmMS2",                Description = $"Gas Box Exhaust 1st Alarm MS2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGasBoxExhaust1stAlarmMS2.Reset(); return true; });            AlarmSignalGasBoxExhaust1stAlarmMS2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGasBoxExhaust2ndAlarmMS2",                Description = $"Gas Box Exhaust 2nd Alarm MS2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGasBoxExhaust2ndAlarmMS2.Reset(); return true; });            AlarmSignalGasBoxExhaust2ndAlarmMS2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalMachineEMO1",                Description = $"Machine EMO1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalMachineEMO1.Reset(); return true; });            AlarmSignalMachineEMO1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalMachineEMO2",                Description = $"Machine EMO2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalMachineEMO2.Reset(); return true; });            AlarmSignalMachineEMO2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalT101TempStatus",                Description = $"T101 Temp Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalT101TempStatus.Reset(); return true; });            AlarmSignalT101TempStatus.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalT102TempStatus",                Description = $"T102 Temp Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalT102TempStatus.Reset(); return true; });            AlarmSignalT102TempStatus.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalT103TempStatus",                Description = $"T103 Temp Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalT103TempStatus.Reset(); return true; });            AlarmSignalT103TempStatus.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalBufferMotorHardwareInterlockAlarm",                Description = $"Buffer Motor Hardware Interlock Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalBufferMotorHardwareInterlockAlarm.Reset(); return true; });            AlarmSignalBufferMotorHardwareInterlockAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalBoatLiftMotorHardwareInterlockAlarm",                Description = $"Boat Lift Motor Hardware Interlock Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalBoatLiftMotorHardwareInterlockAlarm.Reset(); return true; });            AlarmSignalBoatLiftMotorHardwareInterlockAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalHFReconciliationPressureMinAbnormal",                Description = $"HF Reconciliation Pressure Min Abnormal Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalHFReconciliationPressureMinAbnormal.Reset(); return true; });            AlarmSignalHFReconciliationPressureMinAbnormal.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalMagneticFluidLeak",                Description = $"Magnetic Fluid Leak Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalMagneticFluidLeak.Reset(); return true; });            AlarmSignalMagneticFluidLeak.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalCoolingWaterLeak",                Description = $"Cooling Water Leak Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalCoolingWaterLeak.Reset(); return true; });            AlarmSignalCoolingWaterLeak.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalMachineEMS1",                Description = $"Machine EMS1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalMachineEMS1.Reset(); return true; });            AlarmSignalMachineEMS1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalMachineEMS2",                Description = $"Machine EMS2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalMachineEMS2.Reset(); return true; });            AlarmSignalMachineEMS2.AlarmTriggered = alarm;//AlarmSignalFilterBox1Fan1Alarm            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalFilterBox1Fan1Alarm",                Description = $"Filter Box1 Fan1 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFilterBox1Fan1Alarm.Reset(); return true; });            AlarmSignalFilterBox1Fan1Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalFBEMO1",                Description = $"FB EMO1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFBEMO1.Reset(); return true; });            AlarmSignalFBEMO1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalFBEMO2",                Description = $"FB EMO2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFBEMO2.Reset(); return true; });            AlarmSignalFBEMO2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalDoorOverride",                Description = $"Door Override Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalDoorOverride.Reset(); return true; });            AlarmSignalDoorOverride.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalFBFrontDoorSwitch",                Description = $"FB Front Door Switch Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFBFrontDoorSwitch.Reset(); return true; });            AlarmSignalFBFrontDoorSwitch.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG1CNT1Alarm",                Description = $"GL Box PG1 CNT1 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG1CNT1Alarm.Reset(); return true; });            AlarmSignalGLBoxPG1CNT1Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG1CNT2Alarm",                Description = $"GL Box PG1 CNT2 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG1CNT2Alarm.Reset(); return true; });            AlarmSignalGLBoxPG1CNT2Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG2CNT1Alarm",                Description = $"GL Box PG2 CNT1 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG2CNT1Alarm.Reset(); return true; });            AlarmSignalGLBoxPG2CNT1Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG2CNT2Alarm",                Description = $"GL Box PG2 CNT2 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG2CNT2Alarm.Reset(); return true; });            AlarmSignalGLBoxPG2CNT2Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG3CNT1Alarm",                Description = $"GL Box PG3 CNT1 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG3CNT1Alarm.Reset(); return true; });            AlarmSignalGLBoxPG3CNT1Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG3CNT2Alarm",                Description = $"GL Box PG3 CNT2 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG3CNT2Alarm.Reset(); return true; });            AlarmSignalGLBoxPG3CNT2Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG4CNT1Alarm",                Description = $"GL Box PG4 CNT1 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG4CNT1Alarm.Reset(); return true; });            AlarmSignalGLBoxPG4CNT1Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG4CNT2Alarm",                Description = $"GL Box PG4 CNT2 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG4CNT2Alarm.Reset(); return true; });            AlarmSignalGLBoxPG4CNT2Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG5CNT1Alarm",                Description = $"GL Box PG5 CNT1 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG5CNT1Alarm.Reset(); return true; });            AlarmSignalGLBoxPG5CNT1Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG5CNT2Alarm",                Description = $"GL Box PG5 CNT2 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG5CNT2Alarm.Reset(); return true; });            AlarmSignalGLBoxPG5CNT2Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG6CNT1Alarm",                Description = $"GL Box PG6 CNT1 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG6CNT1Alarm.Reset(); return true; });            AlarmSignalGLBoxPG6CNT1Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxPG6CNT2Alarm",                Description = $"GL Box PG6 CNT2 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxPG6CNT2Alarm.Reset(); return true; });            AlarmSignalGLBoxPG6CNT2Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxVG21Status",                Description = $"GL Box VG21 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxVG21Status.Reset(); return true; });            AlarmSignalGLBoxVG21Status.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxVG21Output1",                Description = $"GL Box VG21 Output1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxVG21Output1.Reset(); return true; });            AlarmSignalGLBoxVG21Output1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxVG21Output2",                Description = $"GL Box VG21 Output2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxVG21Output2.Reset(); return true; });            AlarmSignalGLBoxVG21Output2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxVG22Status",                Description = $"GL Box VG22 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxVG22Status.Reset(); return true; });            AlarmSignalGLBoxVG22Status.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxVG22Output1",                Description = $"GL Box VG22 Output1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxVG22Output1.Reset(); return true; });            AlarmSignalGLBoxVG22Output1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalGLBoxVG22Output2",                Description = $"GL Box VG22 Output2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalGLBoxVG22Output2.Reset(); return true; });            AlarmSignalGLBoxVG22Output2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalHeatingExhaust1stAlarmMS1",                Description = $"Heating Exhaust 1st Alarm MS1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalHeatingExhaust1stAlarmMS1.Reset(); return true; });            AlarmSignalHeatingExhaust1stAlarmMS1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalHeatingExhaust2ndAlarmMS1",                Description = $"Heating Exhaust 2nd Alarm MS1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalHeatingExhaust2ndAlarmMS1.Reset(); return true; });            AlarmSignalHeatingExhaust2ndAlarmMS1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalScavengeExhaust1stAlarmMS3",                Description = $"Scavenge Exhaust 1st Alarm MS3 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalScavengeExhaust1stAlarmMS3.Reset(); return true; });            AlarmSignalScavengeExhaust1stAlarmMS3.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalScavengeExhaust2ndAlarmMS3",                Description = $"Scavenge Exhaust 2nd Alarm MS3 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalScavengeExhaust2ndAlarmMS3.Reset(); return true; });            AlarmSignalScavengeExhaust2ndAlarmMS3.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalValveBoxExhaust1stAlarmMS4",                Description = $"Valve Box Exhaust 1st Alarm MS4 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalValveBoxExhaust1stAlarmMS4.Reset(); return true; });            AlarmSignalValveBoxExhaust1stAlarmMS4.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalValveBoxExhaust2ndAlarmMS4",                Description = $"Valve Box Exhaust 2nd Alarm MS4 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalValveBoxExhaust2ndAlarmMS4.Reset(); return true; });            AlarmSignalValveBoxExhaust2ndAlarmMS4.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalLoadingAreaExhaust1stAlarmMS5",                Description = $"Loading Area Exhaust 1st Alarm MS5 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalLoadingAreaExhaust1stAlarmMS5.Reset(); return true; });            AlarmSignalLoadingAreaExhaust1stAlarmMS5.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalLoadingAreaExhaust2ndAlarmMS5",                Description = $"Loading Area Exhaust 2nd Alarm MS5 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalLoadingAreaExhaust2ndAlarmMS5.Reset(); return true; });            AlarmSignalLoadingAreaExhaust2ndAlarmMS5.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalFrontBodyExhaust1stAlarmMS6",                Description = $"Front Body Exhaust 1st Alarm MS6 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFrontBodyExhaust1stAlarmMS6.Reset(); return true; });            AlarmSignalFrontBodyExhaust1stAlarmMS6.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalFrontBodyExhaust2ndAlarmMS6",                Description = $"Front Body Exhaust 2nd Alarm MS6 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFrontBodyExhaust2ndAlarmMS6.Reset(); return true; });            AlarmSignalFrontBodyExhaust2ndAlarmMS6.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalLAExhaust1stAlarmMS7",                Description = $"L/A Exhaust 1st Alarm MS7 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalLAExhaust1stAlarmMS7.Reset(); return true; });            AlarmSignalLAExhaust1stAlarmMS7.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalLAExhaust2ndAlarmMS7",                Description = $"L/A Exhaust 2nd Alarm MS7 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalLAExhaust2ndAlarmMS7.Reset(); return true; });            AlarmSignalLAExhaust2ndAlarmMS7.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalRHC1stAlarmMS8",                Description = $"RHC 1st Alarm MS8 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalRHC1stAlarmMS8.Reset(); return true; });            AlarmSignalRHC1stAlarmMS8.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalRHC2ndAlarmMS8",                Description = $"RHC 2nd Alarm MS8 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalRHC2ndAlarmMS8.Reset(); return true; });            AlarmSignalRHC2ndAlarmMS8.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalREV1stAlarmMS9",                Description = $"REV 1st Alarm MS9 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalREV1stAlarmMS9.Reset(); return true; });            AlarmSignalREV1stAlarmMS9.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalREV2ndAlarmMS9",                Description = $"REV 2nd Alarm MS9 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalREV2ndAlarmMS9.Reset(); return true; });            AlarmSignalREV2ndAlarmMS9.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalREV1stAlarmMS10",                Description = $"REV 1st Alarm MS10 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalREV1stAlarmMS10.Reset(); return true; });            AlarmSignalREV1stAlarmMS10.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalREV2ndAlarmMS10",                Description = $"REV 2nd Alarm MS10 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalREV2ndAlarmMS10.Reset(); return true; });            AlarmSignalREV2ndAlarmMS10.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalOPBoxPS11Out1",                Description = $"{AlarmSignalOPBoxPS11Out1.Display} Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalOPBoxPS11Out1.Reset(); return true; });            AlarmSignalOPBoxPS11Out1.AlarmTriggered = alarm;            if(AlarmSignalOPBoxPS11Out2 != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalOPBoxPS11Out2",                    Description = $"OP Box PS11 Out2 Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalOPBoxPS11Out2.Reset(); return true; });                AlarmSignalOPBoxPS11Out2.AlarmTriggered = alarm;            }            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalRHCFlowAlarmFL901",                Description = $"RHC Flow Alarm FL901 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalRHCFlowAlarmFL901.Reset(); return true; });            AlarmSignalRHCFlowAlarmFL901.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalCoolingWaterFlowAlarmOfFurnaceFL902",                Description = $"Cooling Water Flow Alarm Of Furnace FL902 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalCoolingWaterFlowAlarmOfFurnaceFL902.Reset(); return true; });            AlarmSignalCoolingWaterFlowAlarmOfFurnaceFL902.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalCoolingWaterFlowAlarmOfShuttleFL903",                Description = $"Cooling Water Flow Alarm Of Furnace FL903 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalCoolingWaterFlowAlarmOfShuttleFL903.Reset(); return true; });            AlarmSignalCoolingWaterFlowAlarmOfShuttleFL903.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalCoolingWaterFlowAlarmOfBoatRotationFL904",                Description = $"Cooling Water Flow Alarm Of Boat Rotation FL904 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalCoolingWaterFlowAlarmOfBoatRotationFL904.Reset(); return true; });            AlarmSignalCoolingWaterFlowAlarmOfBoatRotationFL904.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalCoolingWaterFlowAlarmOfFlangeFL905",                Description = $"Cooling Water Flow Alarm Of Flang eFL905 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalCoolingWaterFlowAlarmOfFlangeFL905.Reset(); return true; });            AlarmSignalCoolingWaterFlowAlarmOfFlangeFL905.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalCoolingWaterFlowAlarmOfLoadingAreaFL906",                Description = $"Cooling Water Flow Alarm Of Loading Area FL906 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalCoolingWaterFlowAlarmOfLoadingAreaFL906.Reset(); return true; });            AlarmSignalCoolingWaterFlowAlarmOfLoadingAreaFL906.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalVG11LowAlarm",                Description = $"VG11 Low Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalVG11LowAlarm.Reset(); return true; });            AlarmSignalVG11LowAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalVG11HighAlarm",                Description = $"VG11 High Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalVG11HighAlarm.Reset(); return true; });            AlarmSignalVG11HighAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalVG12LowAlarm",                Description = $"VG12 Low Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalVG12LowAlarm.Reset(); return true; });            AlarmSignalVG12LowAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalVG12HighAlarm",                Description = $"VG12 High Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalVG12HighAlarm.Reset(); return true; });            AlarmSignalVG12HighAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalVG13LowAlarm",                Description = $"VG13 Low Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalVG13LowAlarm.Reset(); return true; });            AlarmSignalVG13LowAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalVG13HighAlarm",                Description = $"VG13 High Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalVG13HighAlarm.Reset(); return true; });            AlarmSignalVG13HighAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalPG12OUT1",                Description = $"PG12 OUT1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalPG12OUT1.Reset(); return true; });            AlarmSignalPG12OUT1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalPG12OUT2",                Description = $"PG12 OUT2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalPG12OUT2.Reset(); return true; });            AlarmSignalPG12OUT2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalPG13OUT1",                Description = $"PG13 OUT1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalPG13OUT1.Reset(); return true; });            AlarmSignalPG13OUT1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalPG13OUT2",                Description = $"PG13 OUT Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalPG13OUT2.Reset(); return true; });            AlarmSignalPG13OUT2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalPS14OUT1",                Description = $"PS14 OUT1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalPS14OUT1.Reset(); return true; });            AlarmSignalPS14OUT1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalPS14OUT2",                Description = $"PS14 OUT2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalPS14OUT2.Reset(); return true; });            AlarmSignalPS14OUT2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalCoolingWaterPressureOut1",                Description = $"Cooling Water Pressure Out1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalCoolingWaterPressureOut1.Reset(); return true; });            AlarmSignalCoolingWaterPressureOut1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalCoolingWaterPressureOut2",                Description = $"Cooling Water Pressure Out2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalCoolingWaterPressureOut2.Reset(); return true; });            AlarmSignalCoolingWaterPressureOut2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalAirFlowFL70",                Description = $"Air Flow FL70 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalAirFlowFL70.Reset(); return true; });            AlarmSignalAirFlowFL70.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalAirFlowFL71",                Description = $"Air Flow FL71 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalAirFlowFL71.Reset(); return true; });            AlarmSignalAirFlowFL71.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalAirFlowFL72",                Description = $"Air Flow FL72 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalAirFlowFL72.Reset(); return true; });            AlarmSignalAirFlowFL72.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalWaterFlowFL62",                Description = $"Water Flow FL62 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalWaterFlowFL62.Reset(); return true; });            AlarmSignalWaterFlowFL62.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalUPSFault",                Description = $"UPS Fault Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalUPSFault.Reset(); return true; });            AlarmSignalUPSFault.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalUPSAlarm",                Description = $"UPS Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalUPSAlarm.Reset(); return true; });            AlarmSignalUPSAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalN2PurgeBOXPG14CNT1",                Description = $"N2 Purge BOX PG14 CNT1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalN2PurgeBOXPG14CNT1.Reset(); return true; });            AlarmSignalN2PurgeBOXPG14CNT1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalN2PurgeBOXPG14CNT2",                Description = $"N2 Purge BOX PG14 CNT2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalN2PurgeBOXPG14CNT2.Reset(); return true; });            AlarmSignalN2PurgeBOXPG14CNT2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalN2PurgeBOXPG15CNT1",                Description = $"N2 Purge BOX PG15 CNT1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalN2PurgeBOXPG15CNT1.Reset(); return true; });            AlarmSignalN2PurgeBOXPG15CNT1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalN2PurgeBOXPG15CNT2",                Description = $"N2 Purge BOX PG15 CNT2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalN2PurgeBOXPG15CNT2.Reset(); return true; });            AlarmSignalN2PurgeBOXPG15CNT2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalN2PurgeBOXPG16CNT1",                Description = $"N2 Purge BOX PG16 CNT1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalN2PurgeBOXPG16CNT1.Reset(); return true; });            AlarmSignalN2PurgeBOXPG16CNT1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalN2PurgeBOXPG16CNT2",                Description = $"N2 Purge BOX PG16 CNT2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalN2PurgeBOXPG16CNT2.Reset(); return true; });            AlarmSignalN2PurgeBOXPG16CNT2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalN2PurgeBOXPG70CNT1",                Description = $"N2 Purge BOX PG70 CNT1 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalN2PurgeBOXPG70CNT1.Reset(); return true; });            AlarmSignalN2PurgeBOXPG70CNT1.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalN2PurgeBOXPG70CNT2",                Description = $"N2 Purge BOX PG70 CNT2 Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalN2PurgeBOXPG70CNT2.Reset(); return true; });            AlarmSignalN2PurgeBOXPG70CNT2.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalPS17ValueLowLimitAlarm",                Description = $"PS17 Value Low Limit Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalPS17ValueLowLimitAlarm.Reset(); return true; });            AlarmSignalPS17ValueLowLimitAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalVaccumPumpWarning",                Description = $"Vaccum Pump Warning Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalVaccumPumpWarning.Reset(); return true; });            AlarmSignalVaccumPumpWarning.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalVaccumPumpAlarm",                Description = $"Vaccum Pump Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalVaccumPumpAlarm.Reset(); return true; });            AlarmSignalVaccumPumpAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalFilterBox1Fan1Alarm",                Description = $"Filter Box1 Fan1 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFilterBox1Fan1Alarm.Reset(); return true; });            AlarmSignalFilterBox1Fan1Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalFilterBox1Fan2Alarm",                Description = $"Filter Box1 Fan2 Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalFilterBox1Fan2Alarm.Reset(); return true; });            AlarmSignalFilterBox1Fan2Alarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalStepperMotorAlarm",                Description = $"Stepper Motor Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalStepperMotorAlarm.Reset(); return true; });            AlarmSignalStepperMotorAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalRFAlarm",                Description = $"RF Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalRFAlarm.Reset(); return true; });            AlarmSignalRFAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalForelineHeaterJacketLightAlarm",                Description = $"Foreline Heater Jacket Light Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalForelineHeaterJacketLightAlarm.Reset(); return true; });            AlarmSignalForelineHeaterJacketLightAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalForelineHeaterJacketHeavyAlarm",                Description = $"Foreline Heater Jacket Heavy Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalForelineHeaterJacketHeavyAlarm.Reset(); return true; });            AlarmSignalForelineHeaterJacketHeavyAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalScrubberWarning",                Description = $"Scrubber Warning Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalScrubberWarning.Reset(); return true; });            AlarmSignalScrubberWarning.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalNegLmtPosBoatZAxis",                Description = $"Neg Lmt Pos Boat ZAxis ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalNegLmtPosBoatZAxis.Reset(); return true; });            AlarmSignalNegLmtPosBoatZAxis.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalPotLmtPosBoatZAxis",                Description = $"Pot Lmt Pos Boat ZAxis ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalPotLmtPosBoatZAxis.Reset(); return true; });            AlarmSignalPotLmtPosBoatZAxis.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalScrubberAlarm",                Description = $"Scrubber Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalScrubberAlarm.Reset(); return true; });            AlarmSignalScrubberAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalLAFFUCommAlarm",                Description = $"LA FFU Comm Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalLAFFUCommAlarm.Reset(); return true; });            AlarmSignalLAFFUCommAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignalMINI8CommAlarm",                Description = $"MINI8 Comm Alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignalMINI8CommAlarm.Reset(); return true; });            AlarmSignalMINI8CommAlarm.AlarmTriggered = alarm;            alarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.AlarmSignaMainWaterFlowAlarm",                Description = $"Main Water Flow Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { AlarmSignaMainWaterFlowAlarm.Reset(); return true; });            AlarmSignaMainWaterFlowAlarm.AlarmTriggered = alarm;            if (AlarmSignalPumpDown != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalPumpDown",                    Description = $"Pump Down Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalPumpDown.Reset(); return true; });                AlarmSignalPumpDown.AlarmTriggered = alarm;            }            if (AlarmSignalPS13HStatus != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalPS13HStatus",                    Description = $"O.PRS Too High Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalPS13HStatus.Reset(); return true; });                AlarmSignalPS13HStatus.AlarmTriggered = alarm;            }            if (AlarmSignalPS13LStatus != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalPS13LStatus",                    Description = $"PS13 L Status ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalPS13LStatus.Reset(); return true; });                AlarmSignalPS13LStatus.AlarmTriggered = alarm;            }            if (AlarmSignalFFU1DataWriteError != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFFU1DataWriteError",                    Description = $"FFU1 Data Write Error Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFFU1DataWriteError.Reset(); return true; });                AlarmSignalFFU1DataWriteError.AlarmTriggered = alarm;            }            if (AlarmSignalFFU2DataWriteError != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFFU2DataWriteError",                    Description = $"FFU2 Data Write Error Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFFU2DataWriteError.Reset(); return true; });                AlarmSignalFFU2DataWriteError.AlarmTriggered = alarm;            }            if (AlarmSignalFFU3DataWriteError != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFFU3DataWriteError",                    Description = $"FFU3 Data Write Error Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFFU3DataWriteError.Reset(); return true; });                AlarmSignalFFU3DataWriteError.AlarmTriggered = alarm;            }            if (AlarmSignalFFU4DataWriteError != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFFU4DataWriteError",                    Description = $"FFU1 Data Write Error Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFFU4DataWriteError.Reset(); return true; });                AlarmSignalFFU4DataWriteError.AlarmTriggered = alarm;            }            if (AlarmSignalFFU5DataWriteError != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFFU5DataWriteError",                    Description = $"FFU1 Data Write Error Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFFU5DataWriteError.Reset(); return true; });                AlarmSignalFFU5DataWriteError.AlarmTriggered = alarm;            }            if (AlarmSignalFFU6DataWriteError != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFFU6DataWriteError",                    Description = $"FFU1 Data Write Error Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFFU6DataWriteError.Reset(); return true; });                AlarmSignalFFU6DataWriteError.AlarmTriggered = alarm;            }            if (AlarmSignalFFU7DataWriteError != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFFU7DataWriteError",                    Description = $"FFU1 Data Write Error Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFFU7DataWriteError.Reset(); return true; });                AlarmSignalFFU7DataWriteError.AlarmTriggered = alarm;            }            if (AlarmSignalFFU8DataWriteError != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFFU8DataWriteError",                    Description = $"FFU1 Data Write Error Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFFU8DataWriteError.Reset(); return true; });                AlarmSignalFFU8DataWriteError.AlarmTriggered = alarm;            }            if (AlarmSignalFFU9DataWriteError != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFFU9DataWriteError",                    Description = $"FFU1 Data Write Error Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFFU9DataWriteError.Reset(); return true; });                AlarmSignalFFU9DataWriteError.AlarmTriggered = alarm;            }            if (AlarmSignalDG1Output1 != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalDG1Output1",                    Description = $"P.CNT Pressure NG Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalDG1Output1.Reset(); return true; });                AlarmSignalDG1Output1.AlarmTriggered = alarm;            }            if (AlarmSignalDG1Output2 != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalDG1Output2",                    Description = $"P.CNT Pressure NG Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalDG1Output2.Reset(); return true; });                AlarmSignalDG1Output2.AlarmTriggered = alarm;            }            if (AlarmSignalAV91_1RHCAirInOpened != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalAV91_1RHCAirInOpened",                    Description = $"RHC.DMR Abnormal Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalAV91_1RHCAirInOpened.Reset(); return true; });                AlarmSignalAV91_1RHCAirInOpened.AlarmTriggered = alarm;            }            if (AlarmSignalAV91_2RHCAirInOpened != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalAV91_2RHCAirInOpened",                    Description = $"RHC.DMR Abnormal Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalAV91_2RHCAirInOpened.Reset(); return true; });                AlarmSignalAV91_2RHCAirInOpened.AlarmTriggered = alarm;            }            if (AlarmSignalAV91_3RHCAirInOpened != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalAV91_3RHCAirInOpened",                    Description = $"RHC.DMR Abnormal Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalAV91_3RHCAirInOpened.Reset(); return true; });                AlarmSignalAV91_3RHCAirInOpened.AlarmTriggered = alarm;            }            if (AlarmSignalAV91_4RHCAirInOpened != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalAV91_4RHCAirInOpened",                    Description = $"RHC.DMR Abnormal Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalAV91_4RHCAirInOpened.Reset(); return true; });                AlarmSignalAV91_4RHCAirInOpened.AlarmTriggered = alarm;            }            if (AlarmSignalBlowerPower != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalBlowerPower",                    Description = $"BlowerPower Overload Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalBlowerPower.Reset(); return true; });                AlarmSignalBlowerPower.AlarmTriggered = alarm;            }            if (AlarmSignalRFSetPowerReached != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalRFSetPowerReached",                    Description = $"RF Output Abnormal Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalRFSetPowerReached.Reset(); return true; });                AlarmSignalRFSetPowerReached.AlarmTriggered = alarm;            }            if (AlarmSignalN2FlowInFOUPAbnormal != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalN2FlowInFOUPAbnormal",                    Description = $"N2-6 purge pressure Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalN2FlowInFOUPAbnormal.Reset(); return true; });                AlarmSignalN2FlowInFOUPAbnormal.AlarmTriggered = alarm;            }            if (AlarmSignalCapHeaterAbnormal != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalCapHeaterAbnormal",                    Description = $"Cap Heater Abnormal Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalCapHeaterAbnormal.Reset(); return true; });                AlarmSignalCapHeaterAbnormal.AlarmTriggered = alarm;            }            if (AlarmSignalHeaterUOverTemp != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalHeaterUOverTemp",                    Description = $"HeaterU OverTemp Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalHeaterUOverTemp.Reset(); return true; });                AlarmSignalHeaterUOverTemp.AlarmTriggered = alarm;            }            if (AlarmSignalHeaterCUOverTemp != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalHeaterCUOverTemp",                    Description = $"HeaterCU OverTemp Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalHeaterCUOverTemp.Reset(); return true; });                AlarmSignalHeaterCUOverTemp.AlarmTriggered = alarm;            }            if (AlarmSignalHeaterCOverTemp != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalHeaterCOverTemp",                    Description = $"HeaterC OverTemp Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalHeaterCOverTemp.Reset(); return true; });                AlarmSignalHeaterCOverTemp.AlarmTriggered = alarm;            }            if (AlarmSignalHeaterCLOverTemp != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalHeaterCLOverTemp",                    Description = $"HeaterCL OverTemp Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalHeaterCLOverTemp.Reset(); return true; });                AlarmSignalHeaterCLOverTemp.AlarmTriggered = alarm;            }            if (AlarmSignalHeaterLOverTemp != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalHeaterLOverTemp",                    Description = $"HeaterL OverTemp Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalHeaterLOverTemp.Reset(); return true; });                AlarmSignalHeaterLOverTemp.AlarmTriggered = alarm;            }            if (AlarmSignaBoatRAxisAlarm != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignaBoatRAxisAlarm",                    Description = $"Boat RAxis Alarm Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignaBoatRAxisAlarm.Reset(); return true; });                AlarmSignaBoatRAxisAlarm.AlarmTriggered = alarm;            }            if (AlarmSignaBoatRAxisWarning != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignaBoatRAxisWarning",                    Description = $"Boat RAxis Warning Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Warning,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignaBoatRAxisWarning.Reset(); return true; });                AlarmSignaBoatRAxisWarning.AlarmTriggered = alarm;            }            if (AlarmSignaBoatZAxisWarning != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignaBoatZAxisWarning",                    Description = $"Boat ZAxis Warning Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Warning,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignaBoatZAxisWarning.Reset(); return true; });                AlarmSignaBoatZAxisWarning.AlarmTriggered = alarm;            }            if (AlarmSignaBoatZAxisAlarm != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignaBoatZAxisAlarm",                    Description = $"Boat ZAxis Alarm Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignaBoatZAxisAlarm.Reset(); return true; });                AlarmSignaBoatZAxisAlarm.AlarmTriggered = alarm;            }            if (AlarmSignaGasHeaterSensorBreakOutAlarm != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignaGasHeaterSensorBreakOutAlarm",                    Description = $"Gas Heater Sensor Break Out Alarm Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignaGasHeaterSensorBreakOutAlarm.Reset(); return true; });                AlarmSignaGasHeaterSensorBreakOutAlarm.AlarmTriggered = alarm;            }            if (AlarmSignaTempLimitAlarm != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignaTempLimitAlarm",                    Description = $"Temp Limit Alarm Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignaTempLimitAlarm.Reset(); return true; });                AlarmSignaTempLimitAlarm.AlarmTriggered = alarm;            }            InterlockAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.InterlockAlarm",                Description = $"Interlock occur alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "InterlockAlarm",            }, () => { return true; });            Singleton<InterlockManager>.Instance.InterlockAlarmKey = "InterlockAlarm";            Singleton<InterlockManager>.Instance.InterlockAlarms.Add("InterlockAlarm", InterlockAlarm);            UserDefineInterlockAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.UserDefineInterlockAlarm",                Description = $"{Name} user define interlock occur alarm ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "InterlockAlarm",            }, () => { return true; });            Singleton<InterlockManager>.Instance.UserDefineInterlockAlarmKey = "UserDefineInterlockAlarm";            Singleton<InterlockManager>.Instance.InterlockAlarms.Add("UserDefineInterlockAlarm", UserDefineInterlockAlarm);            AUXAlarmDic = new Dictionary<int, Tuple<AlarmEventItem, AlarmEventItem>>();            for (int index = 0; index < 512; index++)            {                if (!SC.ContainsItem($"PM1.RecipeEditParameter.AUX.{index}.AI") || AUXAlarmDic.ContainsKey(index))                    continue;                var auxAlarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AUX{index}Alarm",                    Description = $"{SC.ContainsItem($"PM1.RecipeEditParameter.AUX.{index}.Display")} alarm Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { return true; });                var auxWarning = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AUX{index}Warning",                    Description = $"{SC.ContainsItem($"PM1.RecipeEditParameter.AUX.{index}.Display")} warning Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Alarm,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { return true; });                AUXAlarmDic.Add(index, Tuple.Create(auxWarning, auxAlarm));            }            LeakCheckAlarm = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.LeakCheckAlarm",                Description = $"Leak Check alarm Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { return true; });            ShutterMoveFailedForInterlock = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.ShutterMoveFailedForInterlock",                Description = $"Shutter Move Failed For Interlock Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Alarm,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { return true; });            BoatMoveToLoadPositionTimeoutWarning = SubscribeAlarm(new AlarmEventItem()            {                EventEnum = $"{Name}.BoatMoveToLoadPositionTimeoutWarning",                Description = $"Boat Move To Load Position Timeout Warning Trigger ",                Solution = "No information available. Press[Clear] to delete alarm message.",                Explaination = "No information available.",                AutoRecovery = false,                Level = EventLevel.Warning,                Action = EventAction.Clear,                Category = "TubeAlarm",            }, () => { return true; });            if (AlarmSignalLAO2CheckOTWarning != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalLAO2CheckOTWarning",                    Description = $"LA O2 Check OT Warning Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Warning,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalLAO2CheckOTWarning.Reset(); return true; });                AlarmSignalLAO2CheckOTWarning.AlarmTriggered = alarm;            }            if (AlarmSignalFIMS1O2CheckOTWarning != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFIMS1O2CheckOTWarning",                    Description = $"FIMS1 O2 Check OT Warning Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Warning,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFIMS1O2CheckOTWarning.Reset(); return true; });                AlarmSignalFIMS1O2CheckOTWarning.AlarmTriggered = alarm;            }            if (AlarmSignalFIMS2O2CheckOTWarning != null)            {                alarm = SubscribeAlarm(new AlarmEventItem()                {                    EventEnum = $"{Name}.AlarmSignalFIMS2O2CheckOTWarning",                    Description = $"FIMS2 O2 Check OT Warning Trigger ",                    Solution = "No information available. Press[Clear] to delete alarm message.",                    Explaination = "No information available.",                    AutoRecovery = false,                    Level = EventLevel.Warning,                    Action = EventAction.Clear,                    Category = "TubeAlarm",                }, () => { AlarmSignalFIMS2O2CheckOTWarning.Reset(); return true; });                AlarmSignalFIMS2O2CheckOTWarning.AlarmTriggered = alarm;            }        }        private bool ResetRecipeErrorAlarm()        {            return true;        }        private bool ResetRecipeFinishedAbnormallyAlarm()        {            return true;        }        private bool ResetTemperatureConvergenceTimeOutAlarm()        {            return true;        }        private bool ResetPressureConvergenceTimeOutAlarm()        {            return true;        }        private bool ResetAutoProfileTimeOutAlarm()        {            return true;        }        private bool ResetFlowConvergenceTimeOutAlarm()        {            return true;        }        private bool ResetBoatMoveTimeOutAlarm()        {            return true;        }        private bool ResetInputSignalTimeOutAlarm()        {            return true;        }        private bool ResetEmergencyAbort()        {            return true;        }        private bool ResetRecipeExecutionError()        {            return true;        }    }}
 |