From 27e2d4865f8ad913ae26222fe40ab4c62ed3862e Mon Sep 17 00:00:00 2001 From: Patrick McDonagh Date: Thu, 18 Feb 2016 21:08:43 -0600 Subject: [PATCH] Simplified Permissives --- .../Controller/Micro820/Micro820/Control.stf | 133 +++++++++--------- WaterWellPanel.v12.ccwsuo | Bin 24576 -> 25600 bytes 2 files changed, 63 insertions(+), 70 deletions(-) diff --git a/Controller/Controller/Micro820/Micro820/Control.stf b/Controller/Controller/Micro820/Micro820/Control.stf index 91f34c2..8738ef4 100644 --- a/Controller/Controller/Micro820/Micro820/Control.stf +++ b/Controller/Controller/Micro820/Micro820/Control.stf @@ -91,27 +91,78 @@ ELSE Pressure_OK := TRUE; END_IF; +(* Start Permissive Status *) +IF Pressure_Startup_Enabled THEN + IF (DH_IntakePressure > Pressure_Startup) THEN + SP_Pressure := TRUE; + ELSE + SP_Pressure := FALSE; + END_IF; +ELSE + SP_Pressure := TRUE; +END_IF; + +IF Temp_Startup_Enabled THEN + IF DH_IntakeTemperature < Temp_Startup THEN + SP_Temperature := TRUE; + ELSE + SP_Temperature := FALSE; + END_IF; +ELSE + SP_Temperature := TRUE; +END_IF; + +IF Hand_Mode OR Auto_Mode OR Test_Mode THEN + SP_Mode := TRUE; +ELSE + SP_Mode := FALSE; +END_IF; + +SP_Trip := NOT TripStatus; +SP_Voltage := VoltageOK; (* Pressure should be above the startup pressure setpoint and temperature should be below the startup temp setpoint to begin*) -IF ((((DH_IntakePressure > Pressure_Startup) AND Pressure_Startup_Enabled) OR NOT Pressure_Startup_Enabled) AND - (((DH_IntakeTemperature < Temp_Startup) AND Temp_Startup_Enabled) OR NOT Temp_Startup_Enabled) AND - (Hand_Mode OR Auto_Mode OR Test_Mode) AND - (NOT TripStatus) AND - VoltageOK - ) THEN +IF (SP_Pressure AND SP_Temperature AND SP_Mode AND SP_Trip AND SP_Voltage) THEN Start_Permissive := TRUE; ELSE Start_Permissive := FALSE; Device_Status := 'Not ready to start'; END_IF; + + +(* Run Permissive Status *) +IF Pressure_Shutdown_Enabled THEN + IF DH_IntakePressure > Pressure_Shutdown THEN + RP_Pressure := TRUE; + ELSE + RP_Pressure := FALSE; + END_IF; +ELSE + RP_Pressure := TRUE; +END_IF; + +IF Temp_Shutdown_Enabled THEN + IF DH_IntakeTemperature < Temp_Shutdown THEN + RP_Temperature := TRUE; + ELSE + RP_Temperature := FALSE; + END_IF; +ELSE + RP_Temperature := TRUE; +END_IF; + +IF Hand_Mode OR Auto_Mode OR Test_Mode THEN + RP_Mode := TRUE; +ELSE + RP_Mode := FALSE; +END_IF; + +RP_Trip := NOT TripStatus; +RP_TubingPressure := Pressure_OK; + (* Pressure should be be above the shutdown pressure and temperature should be below shutdown temp setpoint to continue to run *) -IF ((((DH_IntakePressure > Pressure_Shutdown) AND Pressure_Shutdown_Enabled) OR NOT Pressure_Shutdown_Enabled) AND - (((DH_IntakeTemperature < Temp_Shutdown) AND Temp_Shutdown_Enabled) OR NOT Temp_Shutdown_Enabled) AND - (Hand_Mode OR Auto_Mode OR Test_Mode) - AND (NOT TripStatus) - AND Pressure_OK - ) THEN +IF (RP_Pressure AND RP_Temperature AND RP_Mode AND RP_Trip AND RP_TubingPressure) THEN Run_Permissive := TRUE; ELSE Run_Permissive := FALSE; @@ -216,65 +267,7 @@ IF NOT Contactor_Status THEN END_IF; -(* Start Permissive Status *) -IF Pressure_Startup_Enabled THEN - IF (DH_IntakePressure > Pressure_Startup) THEN - SP_Pressure := TRUE; - ELSE - SP_Pressure := FALSE; - END_IF; -ELSE - SP_Pressure := TRUE; -END_IF; -IF Temp_Startup_Enabled THEN - IF DH_IntakeTemperature < Temp_Startup THEN - SP_Temperature := TRUE; - ELSE - SP_Temperature := FALSE; - END_IF; -ELSE - SP_Temperature := TRUE; -END_IF; - -IF Hand_Mode OR Auto_Mode OR Test_Mode THEN - SP_Mode := TRUE; -ELSE - SP_Mode := FALSE; -END_IF; - -SP_Trip := NOT TripStatus; -SP_Voltage := VoltageOK; - -(* Run Permissive Status *) -IF Pressure_Shutdown_Enabled THEN - IF DH_IntakePressure > Pressure_Shutdown THEN - RP_Pressure := TRUE; - ELSE - RP_Pressure := FALSE; - END_IF; -ELSE - RP_Pressure := TRUE; -END_IF; - -IF Temp_Shutdown_Enabled THEN - IF DH_IntakeTemperature < Temp_Shutdown THEN - RP_Temperature := TRUE; - ELSE - RP_Temperature := FALSE; - END_IF; -ELSE - RP_Temperature := TRUE; -END_IF; - -IF Hand_Mode OR Auto_Mode OR Test_Mode THEN - RP_Mode := TRUE; -ELSE - RP_Mode := FALSE; -END_IF; - -RP_Trip := NOT TripStatus; -RP_TubingPressure := Pressure_OK; END_PROGRAM \ No newline at end of file diff --git a/WaterWellPanel.v12.ccwsuo b/WaterWellPanel.v12.ccwsuo index 3406a0957650bdc82acf305398b2f02a00305201..d512af3106e9a7d6eb8a53782ade167e3066033f 100644 GIT binary patch delta 1545 zcmd6mO-vI(6vsPD`6w*4rB%z9fV83nYe57OY*GUzjg*fTN~mQAS#%9dWfzWI@faN5dgUYKVA$_O#$qnT4N?>O8_ zz(*eVg&Mq00qlIB0>yym6oL{^1b9v<^182Y^r-Pm-^@s6!3Z(7~3)WlG zn$jSHF*o~C(L%qEyh4+oo6c*se7l1JA%xVnZ})<$P)`lg_o^qaU#x>$zFKmY7{zfoWI1sOI2uK3 zIeZ3C1**YOPyvpCO2F^87Beq)95etUFaa|?ZmiMP!)gZdR$EDDCtE2nvV+zT*~NuY z#(#*P8Q-4&<>=K^_;-ieFkGe!F#kF^G z8r1$z8oYgQ8l*4vL2-9m(4xyCCF{o6-y&}Xat%JF3w2hhx8BUi<^Cku9C3jfhA#@; zye*|a3Kr{kwxA8SZD08*Pn_00W_s?`sAgsD(+5uj_b>%zy-W0NxRsKXRkU1Yr2XWN Y>jE^cv!SVNWb^9reiNl&r$$r10R|iAtpET3 delta 1322 zcmc&zOHUI~6ux)*nt^F4P$&hISG5UJ+6FCyflw6#feNiWRZ?h~8V#a6T2Y8;6Juf` zCeRZTxB3G#bhesIq6^Vz;=;X4w z<>Z%{38_Fz5#MvU9P?Tbo59Bva&*pQ9=N)7d*&?_*@+caxD|R1vRs0mfw*Q!G@%!- zOKXh>f5h?rSZ)3pvZJ zJZbKs8`FGRZ>KhPt$5Q^kEs7Hb0|AQi5*dt`s_!F96%dRXPH3Q-Tgd7T<#qFS(PhR`r5}T`9#F z4Q$naP#y$ca!T;PB!ydz7Zu-_N>iL4Hfw6Z&FPGW!PiWeItamWg9-~{i1WVIGP6@As^WkD6bgO9(_SvV19jqL1)D++k+;QY*X3wDMu1Lr z8`uD&LGM%t_#7iCdkd%zA6yH0!5iuaHDZCaP@@ngF>;B_k@JuUbql8pql!D%uCrX| zt}cpklQ=CdRK?P=NS4SX;sUus=8^S~DDGx4+t2+nVVR?3kt`FijXC~nwTJ$pTAbP? UoF@|`BR=rWs4#7lp`Ne(0r#|kP5=M^