From 9736f169fc9a213636b2b766247c7c6c24037cdb Mon Sep 17 00:00:00 2001 From: Bernardo Carvalho Date: Wed, 16 Feb 2022 18:28:45 +0000 Subject: [PATCH] Inserted Clean Manual State. Change sequencer version, 2.2.9 --- .../ISTTOKrpiApp/Db/ISTTOKmachineControl.db | 6 +-- .../ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKstates.db | 2 + .../ISTTOKrpiApp/src/IsttokSeqExec.stt | 38 +++++++++++++----- epics/iocs/ISTTOKrpi/bin/linux-arm/ISTTOKrpi | Bin 50620 -> 50620 bytes .../ISTTOKrpi/iocBoot/iocISTTOKrpi/envPaths | 2 +- .../iocISTTOKrpi/save/iocISTTOKrpi.sav | 4 +- epics/iocs/RELEASE.local | 3 +- 7 files changed, 37 insertions(+), 18 deletions(-) diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKmachineControl.db b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKmachineControl.db index 9518345..918b8ec 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKmachineControl.db +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKmachineControl.db @@ -310,9 +310,9 @@ record(bo, "$(P)$(R)GasIS-Valves" ) { # field(DESC," 2 válvulas pneumáticas de corte do sistema de injecção de H/D/Ne/He no TOK, 24V out = deixa passar") # record(bo, "$(P)$(R)GISValvesOnOff" ) { field( OUT, "$(P)$(R)SEEED4RELAY:17:REGISTER.B0 PP" ) - field( ZNAM, "OFF" ) - field( ONAM, "ON" ) - field(VAL,"0") + field( ZNAM, "OFF" ) + field( ONAM, "ON" ) + field(VAL,"0") } diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKstates.db b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKstates.db index d0e4dd1..7ee84dc 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKstates.db +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/Db/ISTTOKstates.db @@ -246,6 +246,7 @@ record(mbbo, "$(P)$(R)CLEANINGSTATE") { field(FRVL, "4") field(FVVL, "5") field(SXVL, "6") + field(SVVL, "7") field(ZRST, "NonCleaning") field(ONST, "Cleaning1") field(TWST, "Cleaning2") @@ -253,6 +254,7 @@ record(mbbo, "$(P)$(R)CLEANINGSTATE") { field(FRST, "Cleaning4") field(FVST, "Cleaning5") field(SXST, "Cleaning6") + field(SVST, "Manual") field(VAL, "0") } diff --git a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt index e306914..49e6b1e 100644 --- a/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt +++ b/epics/iocs/ISTTOKrpi/ISTTOKrpiApp/src/IsttokSeqExec.stt @@ -52,6 +52,8 @@ short CLNST_Cleaning2 = 2; short CLNST_Cleaning3 = 3; short CLNST_Cleaning4 = 4; short CLNST_Cleaning5 = 5; +short CLNST_Cleaning6 = 6; +short CLNST_Manual = 7; short WSHTST_NonShoting = 0; short WSHTST_WaitTrg = 1; @@ -128,9 +130,9 @@ short CLEANINGSTATE; assign CLEANINGSTATE to "ISTTOK:central:CLEANINGSTATE"; monitor CLEANINGSTATE; -short CLEANINGMANMODE; -assign CLEANINGMANMODE to "ISTTOK:central:CLEANINGMANMODE"; -monitor CLEANINGMANMODE; +short CLEANING_AUTOMODE; +assign CLEANING_AUTOMODE to "ISTTOK:central:CLEANINGMANMODE"; +monitor CLEANING_AUTOMODE; short WSHOTINGSTATE; assign WSHOTINGSTATE to "ISTTOK:central:WSHOTINGSTATE"; @@ -529,7 +531,7 @@ ss PulseSequence { pvPut(IsttokOPSTATE); } when ((IsttokProcReq==STOP) && (CLEANINGSTATE == CLNST_NonCleaning)) { - strcpy(msg, "State to Idle From Clean"); + strcpy(msg, "State from Clean to Idle"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); } state Idle @@ -948,9 +950,19 @@ ss CleaningSequence{ pvPut(CLEANINGSTATE); errlogSevPrintf(NO_ALARM, "%s\n",msg); + strcpy(msg, "Entry Cleanning State Mach"); + pvPut(msg); + errlogSevPrintf(NO_ALARM, "%s\n",msg); } - when(delay(1.0) && CLEANINGMANMODE == 1 && IsttokOPSTATE == POS_Clean){ + when(delay(1.0) && CLEANING_AUTOMODE == 0 && IsttokOPSTATE == POS_Clean){ + strcpy(msg, "Entry on Manual Cleaning..."); + + CLEANINGSTATE = CLNST_Manual; + pvPut(CLEANINGSTATE); + } state CleaningManual + + when(delay(1.0) && CLEANING_AUTOMODE == 1 && IsttokOPSTATE == POS_Clean){ strcpy(msg, "Initiating Auto Cleaning..."); pvPut(msg); strcpy(msg, "GIS Valves OPEN"); @@ -965,6 +977,10 @@ ss CleaningSequence{ pvPut(CLEANINGSTATE); } state Cleaning1 } + state CleaningManual { + when (IsttokProcReq==STOP) { + } state NonCleaning + } state Cleaning1 { when (delay(1.0) && IsttokProcReq==STOP) { // Reversing Cleaning @@ -977,14 +993,14 @@ ss CleaningSequence{ pvPut(IsttokGasIS_Valves); } state NonCleaning - when (delay(2.0) && CLEANINGMANMODE == 1 && IsttokOPSTATE == POS_Clean ) { + when (delay(2.0) && CLEANING_AUTOMODE == 1 && IsttokOPSTATE == POS_Clean ) { strcpy(msg, "Filament ON"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); IsttokVVessel_Filament = PCF_RELAY_ON; pvPut(IsttokVVessel_Filament); - CLEANINGSTATE = CLNST_Cleaning2; - pvPut(CLEANINGSTATE); + CLEANINGSTATE = CLNST_Cleaning2; + pvPut(CLEANINGSTATE); } state Cleaning2 } state Cleaning2 { @@ -998,7 +1014,7 @@ ss CleaningSequence{ CLEANINGSTATE = CLNST_Cleaning1; pvPut(CLEANINGSTATE); } state Cleaning1 - when (delay(2.0) && CLEANINGMANMODE == 1 && IsttokOPSTATE == POS_Clean) { + when (delay(2.0) && CLEANING_AUTOMODE == 1 && IsttokOPSTATE == POS_Clean) { strcpy(msg, "Primary-CT ON"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); @@ -1018,7 +1034,7 @@ ss CleaningSequence{ CLEANINGSTATE = CLNST_Cleaning2; pvPut(CLEANINGSTATE); } state Cleaning2 - when(delay(2.0) && CLEANINGMANMODE == 1 && IsttokOPSTATE == POS_Clean){ + when(delay(2.0) && CLEANING_AUTOMODE == 1 && IsttokOPSTATE == POS_Clean){ strcpy(msg, "Toroidal-BK CLOSE"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); @@ -1039,7 +1055,7 @@ ss CleaningSequence{ CLEANINGSTATE = CLNST_Cleaning3; pvPut(CLEANINGSTATE); } state Cleaning3 - when (delay(2.0) && CLEANINGMANMODE == 1 && IsttokOPSTATE == POS_Clean){ + when (delay(2.0) && CLEANING_AUTOMODE == 1 && IsttokOPSTATE == POS_Clean){ strcpy(msg, "Toroidal-CT ON"); pvPut(msg); errlogSevPrintf(NO_ALARM, "%s\n",msg); diff --git a/epics/iocs/ISTTOKrpi/bin/linux-arm/ISTTOKrpi b/epics/iocs/ISTTOKrpi/bin/linux-arm/ISTTOKrpi index 78da42845c73a9141d1f00e33b38f174f2437f52..ba5af3e519b752d38b3b88043793435f6bfaad11 100755 GIT binary patch delta 1232 zcmb`@-%C?r7zgn8-CX{J)CDS1DjG)Rk0prGWG;*hQ7n{1Fhwa8DtGCHv`I#mfzo@C zb#rzRB!nOw36mLW5mGmn6@mq(99ZgTY0x6`^gTOI_5J}3#`F0;?{=Q&yn#V$V9+}5 z=lk-uU)}TEdfHUs65{*W=8UUP?!Q+j_?9cC@K|BFI_e&_sHIhp<9VY9)uwqP4$jz% zp;i0K+pCeU0qu{&l7o_0Bri!`kUTGWM)IWOanoJV!K2cFU-F3LVaWrMeUf`5dn9+l zYPfD8F=cB<-`KG$+KyGxJeAWyO?}iWjQQ6-Q(YH7&bw@DNVB4% zHJ>kw3#|`R9vP?g^{ZCK60%bj?Sa_ecHDaf-5BQo6m%$BFh|h_ll^Ob=&c|d{SW9_ z(7TJ?TX+v_^jnbU@f*g3)(y{)FTs=KE_j@L5gsLXz<$$Stqoy>4vdEmlbhiI@;TT? zZh(8pXJ8Mx4(=q^z-{DexQToct|y;>s~ukR4O|G7bl`-`$mMV`xfDJ`E`hVj#c(>g z08Sv$EJ|H71+c*u~t?%<<7|Y;NX+Xx;pq z6Qenz7F-+Rc-iUxBK}Pc^?$Jm-aF_tzzNvs-(tNWL0kdxGwo6BXmpz^sao3YlE tXqn5k84EeZb;!7^UNHt4OEidgkTHH!{F=*+H}8b8h;To*tIlUW%WpEBRSy6F delta 1234 zcmb`_?@Lor7zglkHs|l~#{#pk6zLZ!IwM$U=|Ip5Wf6%*Hc=#@EQ4P7BG{ru#ssAk z(Tm~^3JNhW?q2v}f-Z@OUSt_a8La7rTPn>mFq+-IXZKX+59q>pKHulud(U$Z3kR&> zfORxTHwI#hP1;h=;( z8;sds48#&EVeOAsB`--{kUS@OM)FI^Q^ttcuoKH?A+J(=KVSJ zEa=@vZw5|Tj9kIY)IwX7o?iX%> zeZt4!K4CZ9E8GNk3m=Btg&W{j;dtD#;?3BD5GzSbR=%^D`7GvyX3j`vKDn7Q zlU4tlvyypLEx$TQ@v-Cn3L00J{a>sIANoBdd}#B^CXGN!^S^uqIbChL@!p98+8^0w w<717nwn(Xs59DOmAbwbV>@mcLaI?1%-(F|yk