Added second SEEEDUINO Relay Board

Signed-off-by: Bernardo Carvalho <bernardo.carvalho@tecnico.ulisboa.pt>
This commit is contained in:
Bernardo Carvalho
2022-01-31 16:29:37 +00:00
parent 6b83e948b5
commit be0d56bd2f
3 changed files with 94 additions and 76 deletions

View File

@@ -28,14 +28,16 @@ record(bo, "$(P)$(R)TMPump1-ControllerOn" ) {
field(ONAM, "Pulse" )
field(HIGH, "2.5")
# Disabled until further notice
# field(FLNK, "$(P)$(R)TMPump1-ControllerOnInv" )
field(FLNK, "$(P)$(R)TMPump1-ControllerOnInv" )
field(VAL,"0")
}
record(calcout, "$(P)$(R)TMPump1-ControllerOnInv") {
field(INPA, "$(P)$(R)TMPump1-ControllerOn NPP MS")
field(OUT, "$(P)$(R)PCF8574:56:REGISTER.B0 PP MS")
# Disabled until further notice
# field(OUT, "$(P)$(R)PCF8574:56:REGISTER.B0 PP MS")
field(OOPT, "On Change")
field(CALC, "A?0:1")
field(VAL,"1")
}
record(bo, "$(P)$(R)TMPump1-ControllerOff" ) {
@@ -45,15 +47,17 @@ record(bo, "$(P)$(R)TMPump1-ControllerOff" ) {
field(ONAM, "Pulse" )
field(HIGH, "2.5")
# Disabled until further notice
# field(FLNK, "$(P)$(R)TMPump1-ControllerOffInv" )
field(FLNK, "$(P)$(R)TMPump1-ControllerOffInv" )
field(VAL,"0")
}
record(calcout, "$(P)$(R)TMPump1-ControllerOffInv") {
field(INPA, "$(P)$(R)TMPump1-ControllerOff NPP MS" )
field(OUT, "$(P)$(R)PCF8574:56:REGISTER.B1 PP MS")
# Disabled until further notice
# field(OUT, "$(P)$(R)PCF8574:56:REGISTER.B1 PP MS")
field(OOPT, "On Change")
field(CALC, "A?0:1")
field(VAL,"1")
}
record(bo, "$(P)$(R)TMPump1-MotorOn" ) {
@@ -176,24 +180,6 @@ record(bo, "$(P)$(R)TMPump2-Motor" ) {
field( ONAM, "OFF")
}
##############################
# BUZZER ON/OFF #
##############################
record(bo, "$(P)$(R)Buzzer" ) {
field(DESC," Lab Buzzer ")
field(ZNAM, "Off" )
field(ONAM, "Pulse" )
field(HIGH, "2.5")
field(FLNK, "$(P)$(R)BuzzerInv" )
field(VAL, "0")
}
record(calcout, "$(P)$(R)BuzzerInv" ) {
field(INPA, "$(P)$(R)Buzzer NPP MS" )
field(OUT, "$(P)$(R)PCF8574:57:REGISTER.B3 PP MS" )
field(OOPT, "On Change" )
field(CALC, "A?0:1" )
}
##############################
# EMERGENCY MODE #
##############################
@@ -306,17 +292,6 @@ record(bo, "$(P)$(R)Lab-WarningLight" ) {
############
#$(P)$(R)PCF8574:60:REGISTER:READ.B6
##############################
# TOR CLEAN CONTACTOR ON/OFF #
##############################
record(bo, "$(P)$(R)Clean-TorContactor" ) {
# field(DESC," Contactor 220V do transformador para a fonte de campo toroidal das descargas de limpeza (500 A) ")
field( OUT, "$(P)$(R)PCF8574:60:REGISTER.B7 PP" )
field( ZNAM, "On" )
field( ONAM, "Off" )
field(VAL,"1")
}
###############
###############
# REGISTER 61 #
@@ -348,31 +323,6 @@ record(calcout, "$(P)$(R)Shot-TorPSTriggerInv" ) {
}
############################################################
#######################################
# CAP BANK CHARGE ON/OFF #
#######################################
record(bo, "$(P)$(R)CapBank-Charge" ) {
## field(DESC," Contactor 220V do circuito de carga do banco de condensadores p/ SHOT (ELCO) ")
#record(bo, "$(P)$(R)CapBankChargeOnOff" ) {
field(OUT, "$(P)$(R)PCF8574:61:REGISTER.B3 PP" )
field(ZNAM, "On" )
field(ONAM, "Off" )
field(VAL,"1")
}
########################################
# PRIMARY CLEAN CONTACTOR ON/OFF #
########################################
record(bo, "$(P)$(R)Clean-PrimContactor" ) {
# field(DESC," Contactor 220V do para o primário das descargas de limpeza ")
# record(bo, "$(P)$(R)PrimaryCleanContactorOnOff" ) {
field(OUT, "$(P)$(R)PCF8574:61:REGISTER.B4 PP MS" )
field(ZNAM, "On" )
field(ONAM, "Off" )
field(VAL,"1")
}
##################################
# GIS VALVES ON/OFF #
##################################
@@ -412,7 +362,7 @@ record(bo, "$(P)$(R)TMPump1-ManualValve"){
field( ONAM, "Open")
}
### SEEED 4 RELAY BOARD
### SEEED 4-RELAY I2C BOARDS ADDR 0x11 & 0x12
#
#
@@ -463,5 +413,66 @@ record(bo, "$(P)$(R)Clean-TorPneuBreaker" ) {
field(VAL,"0")
field(OSV,"MAJOR")
}
######################################
# PRIMARY CLEAN CONTACTOR ON/OFF #
######################################
record(bo, "$(P)$(R)Clean-PrimContactor") {
field(DESC,"220V Contactor for Clean Primary")
field(OUT,"$(P)$(R)SEEED4RELAY:18:REGISTER.B0 PP")
field(ZNAM,"OFF")
field(ONAM, "ON")
field(VAL,"0")
field(OSV,"MINOR")
}
######################################
# TOR CLEAN CONTACTOR ON/OFF #
######################################
record(bo, "$(P)$(R)Clean-TorContactor" ) {
field(DESC,"220V Contactor for Clean Toroidal PS")
# field(DESC," Contactor 220V do transformador para a fonte de campo toroidal das descargas de limpeza (500 A) ")
field(OUT,"$(P)$(R)SEEED4RELAY:18:REGISTER.B1 PP")
field(ZNAM,"OFF")
field(ONAM, "ON")
field(VAL, "0")
field(OSV,"MINOR")
}
#######################################
# CAP BANK CHARGE ON/OFF #
#######################################
record(bo, "$(P)$(R)CapBank-Charge" ) {
field(DESC,"220V Contactor for ELCO Charger")
## field(DESC," Contactor 220V do circuito de carga do banco de condensadores p/ SHOT (ELCO) ")
field(OUT,"$(P)$(R)SEEED4RELAY:18:REGISTER.B2 PP")
field(ZNAM,"OFF")
field(ONAM, "ON")
field(VAL, "0")
field(OSV,"MINOR")
}
##############################
# BUZZER ON/OFF #
##############################
record(bo, "$(P)$(R)Buzzer" ) {
field(DESC," Lab Buzzer ")
field(OUT,"$(P)$(R)SEEED4RELAY:18:REGISTER.B3 PP")
field(ZNAM,"OFF")
field(ONAM, "Pulse")
field(HIGH, "2.5")
field(VAL, "0")
field(OSV,"MINOR")
}
# field(ZNAM, "Off" )
# field(ONAM, "Pulse" )
# field(HIGH, "2.5")
# field(FLNK, "$(P)$(R)BuzzerInv" )
# field(VAL, "0")
#}
#record(calcout, "$(P)$(R)BuzzerInv" ) {
# field(INPA, "$(P)$(R)Buzzer NPP MS" )
# field(OUT, "$(P)$(R)PCF8574:57:REGISTER.B3 PP MS" )
# field(OOPT, "On Change" )
# field(CALC, "A?0:1" )
#}

View File

@@ -29,6 +29,7 @@ short PCF_INPUT_OFF= 1;
short PCF_PULSE_ON = 1;
short SEEED_RELAY_OFF= 0;
short SEEED_RELAY_ON = 1;
short SEEED_RELAY_PULSE = 1;
short STRST_NonStarting = 0;
short STRST_Starting1 = 1;
@@ -179,6 +180,10 @@ assign IsttokTMPump2_Emergency to "ISTTOK:central:TMPump2-Emergency";
monitor IsttokTMPump2_Emergency;
*/
float IsttokTMPump1_Pressure;
assign IsttokTMPump1_Pressure to "ISTTOK:central:TMPump1-PressureAdmission";
monitor IsttokTMPump1_Pressure;
float IsttokRPump1_Pressure;
/*assign IsttokRPump1_Pressure to "ISTTOK:vacuum:RPump1-Pressure";*/
assign IsttokRPump1_Pressure to "ISTTOK:central:RPump1-Pressure";
@@ -286,16 +291,16 @@ ss PulseSequence {
// IsttokProcMode = OFF; // UPON POWER-DOWN OR FAILURE PREVENT TO ENTER WAITSHOT ON POWER-UP!
// pvPut(IsttokProcMode);
IsttokClean_PrimContactor = PCF_RELAY_OFF;
IsttokClean_PrimContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_PrimContactor);
IsttokClean_PrimPneuBreaker = SEEED_RELAY_OFF;
pvPut(IsttokClean_PrimPneuBreaker);
IsttokBuzzer = PCF_RELAY_OFF;
IsttokBuzzer = SEEED_RELAY_OFF;
pvPut(IsttokBuzzer);
IsttokCapBank_Charge = PCF_RELAY_OFF;
IsttokCapBank_Charge = SEEED_RELAY_OFF;
pvPut(IsttokCapBank_Charge);
IsttokCapBank_Discharge = SEEED_RELAY_OFF;
@@ -313,7 +318,7 @@ ss PulseSequence {
IsttokClean_TorPneuBreaker = SEEED_RELAY_OFF;
pvPut(IsttokClean_TorPneuBreaker);
IsttokClean_TorContactor = PCF_RELAY_OFF;
IsttokClean_TorContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_TorContactor);
Isttok_TorPSDisable = PCF_RELAY_OFF;
@@ -461,7 +466,8 @@ ss PulseSequence {
strcpy(msg, "State Idle to Stopping");
pvPut(msg);
errlogSevPrintf(MINOR, "%s\n", msg);
sprintf(sendMail, "Rpump1 Pressure:%1.1e TMP1 Pressure:%d",IsttokRPump1_Pressure,IsttokTMPump1_Emergency);
sprintf(sendMail, "Rpump1 Pressure:%1.1e TMP1 Emergency:%d TMP1 Adm. Pressure:%4.2e",
IsttokRPump1_Pressure, IsttokTMPump1_Emergency, IsttokTMPump1_Pressure);
pvPut(sendMail);
} state Stopping
@@ -594,7 +600,7 @@ ss PulseSequence {
Isttok_TorPSDisable = PCF_RELAY_OFF;
pvPut(Isttok_TorPSDisable);
IsttokCapBank_Charge = PCF_RELAY_OFF;
IsttokCapBank_Charge = SEEED_RELAY_OFF;
pvPut(IsttokCapBank_Charge);
IsttokCapBank_Discharge = SEEED_RELAY_OFF;
@@ -641,7 +647,7 @@ ss PulseSequence {
strcpy(msg, "EMERGENCY: CAPBANK Charge OFF");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokCapBank_Charge = PCF_RELAY_OFF;
IsttokCapBank_Charge = SEEED_RELAY_OFF;
pvPut(IsttokCapBank_Charge);
strcpy(msg, "EMERGENCY: CAPBANK CrowBar Close");
@@ -895,7 +901,7 @@ ss CleaningSequence{
strcpy(msg, "Primary_CT OFF");
pvPut(msg);
IsttokClean_PrimContactor = PCF_RELAY_OFF;
IsttokClean_PrimContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_PrimContactor);
strcpy(msg, "Toroidal_BK OPEN");
@@ -905,7 +911,7 @@ ss CleaningSequence{
strcpy(msg, "Toroidal_CT OFF");
pvPut(msg);
IsttokClean_TorContactor = PCF_RELAY_OFF;
IsttokClean_TorContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_TorContactor);
strcpy(msg, "Prim_Pneu_Breaker OFF");
@@ -971,7 +977,7 @@ ss CleaningSequence{
strcpy(msg, "Primary-CT ON");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokClean_PrimContactor = PCF_RELAY_ON;
IsttokClean_PrimContactor = SEEED_RELAY_ON;
pvPut(IsttokClean_PrimContactor);
CLEANINGSTATE = CLNST_Cleaning3;
pvPut(CLEANINGSTATE);
@@ -982,7 +988,7 @@ ss CleaningSequence{
strcpy(msg, "Primary-CT OFF");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokClean_PrimContactor = PCF_RELAY_OFF;
IsttokClean_PrimContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_PrimContactor);
CLEANINGSTATE = CLNST_Cleaning2;
pvPut(CLEANINGSTATE);
@@ -1012,7 +1018,7 @@ ss CleaningSequence{
strcpy(msg, "Toroidal-CT ON");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokClean_TorContactor = PCF_RELAY_ON;
IsttokClean_TorContactor = SEEED_RELAY_ON;
pvPut(IsttokClean_TorContactor);
CLEANINGSTATE = CLNST_Cleaning5;
pvPut(CLEANINGSTATE);
@@ -1026,7 +1032,7 @@ ss CleaningSequence{
strcpy(msg, "Toroidal-CT OFF");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokClean_TorContactor = PCF_RELAY_OFF;
IsttokClean_TorContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_TorContactor);
/* Close GIS to let Pressure down */
IsttokGasIS_Valves = SEEED_RELAY_OFF;
@@ -1107,7 +1113,7 @@ ss ShotSequence {
strcpy(msg, "Buzzer 1-Sound");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokBuzzer = 1;
IsttokBuzzer = SEEED_RELAY_PULSE;
pvPut(IsttokBuzzer);
strcpy(msg, "CAPBANK Crowbar Open");
pvPut(msg);
@@ -1164,7 +1170,7 @@ ss ShotSequence {
strcpy(msg, "CAPBANK Charge ON" );
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokCapBank_Charge = PCF_RELAY_ON;
IsttokCapBank_Charge = SEEED_RELAY_ON;
pvPut(IsttokCapBank_Charge);
WSHOTINGSTATE = WSHTST_Shooting6;
pvPut(WSHOTINGSTATE);
@@ -1182,7 +1188,7 @@ ss ShotSequence {
strcpy(msg, "CAPBANK Charge OFF" );
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n", msg);
IsttokCapBank_Charge = PCF_RELAY_OFF;
IsttokCapBank_Charge = SEEED_RELAY_OFF;
pvPut(IsttokCapBank_Charge);
WSHOTINGSTATE = WSHTST_Shooting7;
pvPut(WSHOTINGSTATE);
@@ -1200,7 +1206,7 @@ ss ShotSequence {
strcpy(msg, "Buzzer 2-Sound" );
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n", msg);
IsttokBuzzer = 1;
IsttokBuzzer = SEEED_RELAY_PULSE;
pvPut(IsttokBuzzer);
strcpy(msg, "Filament ON");
pvPut(msg);