This commit is contained in:
Sakbe
2022-02-23 18:45:57 +00:00
11 changed files with 403 additions and 139 deletions

View File

@@ -191,7 +191,6 @@ Process Variables in this IOC Server:
|ISTTOK:central:TMPump2-Emergency | bi | 0 | |ISTTOK:central:TMPump2-Emergency | bi | 0 |
|ISTTOK:central:TMPump2-Acceleration | bi | 1 | |ISTTOK:central:TMPump2-Acceleration | bi | 1 |
|ISTTOK:central:TMPump2-MotorOn | bo | 2 | |ISTTOK:central:TMPump2-MotorOn | bo | 2 |
|ISTTOK:central:Buzzer| bo | 3 |
|ISTTOK:central:Emergency-PhysButton| bi | 4 | |ISTTOK:central:Emergency-PhysButton| bi | 4 |
|ISTTOK:central:TTSystem-tzero| bi | 7 | |ISTTOK:central:TTSystem-tzero| bi | 7 |
---------- ----------
@@ -205,7 +204,6 @@ Process Variables in this IOC Server:
|ISTTOK:central:RPump2-Motor (Not Used/Disabled)| bo | 2 | | |ISTTOK:central:RPump2-Motor (Not Used/Disabled)| bo | 2 | |
|ISTTOK:central:RPump2-Valve (Not Used/Disabled| bo | 3 | | |ISTTOK:central:RPump2-Valve (Not Used/Disabled| bo | 3 | |
|ISTTOK:central:VVessel-Filament| bo | 4 | 1 / NO| |ISTTOK:central:VVessel-Filament| bo | 4 | 1 / NO|
|ISTTOK:central:Clean-TorContactor| bo | 7 | |
---------- ----------
@@ -219,7 +217,6 @@ Process Variables in this IOC Server:
| ISTTOK:central:TDA8444:32:DAC_CH3| longout | no | | ISTTOK:central:TDA8444:32:DAC_CH3| longout | no |
| ISTTOK:central:TDA8444:32:DAC_CH5| longout | no | | ISTTOK:central:TDA8444:32:DAC_CH5| longout | no |
| ISTTOK:central:TDA8444:32:DAC_CH6| longout | no | | ISTTOK:central:TDA8444:32:DAC_CH6| longout | no |
| ISTTOK:central:Shot-TorPSCurrent| longout | no |
---------- ----------
* Connected to PCF8591 ADC / DAC register @ address 0x48=d72 * Connected to PCF8591 ADC / DAC register @ address 0x48=d72
@@ -251,6 +248,23 @@ SPDT Relay Address = 17
|ISTTOK:central:CapBank-Discharge| bo | 2 | NO | |ISTTOK:central:CapBank-Discharge| bo | 2 | NO |
|ISTTOK:central:Clean-TorPneuBreaker| bo | 3 | NO | |ISTTOK:central:Clean-TorPneuBreaker| bo | 3 | NO |
* Connected to Seeeduino- 4-Channel SPDT Relay Address = 18
|PV Name | PV Type | Bit | Relay NO/NC|
|:----------|-------|---:|
|ISTTOK:central:Clean-PrimContactor| bo | 0 | Relay NO/NC|
|ISTTOK:central:Clean-TorContactor| bo | 1 | Relay NO/NC|
|ISTTOK:central:CapBank-Charge| bo | 2 | Relay NO/NC|
|ISTTOK:central:Buzzer| bo | 3 | Relay NO/NC|
* Connected to Seeeduino- 4-Channel SPDT Relay Address = 19
|PV Name | PV Type | Bit | Relay NO/NC|
|:----------|-------|---:|
| ISTTOK:central:Shot-TorPSDisable| bo | 0 | NO |
| ISTTOK:central:Lab-WarningLight| bo |1 | NO |
### Vacuum Node (**Not used, backup server only**) ### Vacuum Node (**Not used, backup server only**)
- Vacuum Pfeiffer Sensors (RS485) - Vacuum Pfeiffer Sensors (RS485)

View File

@@ -28,14 +28,16 @@ record(bo, "$(P)$(R)TMPump1-ControllerOn" ) {
field(ONAM, "Pulse" ) field(ONAM, "Pulse" )
field(HIGH, "2.5") field(HIGH, "2.5")
# Disabled until further notice # Disabled until further notice
# field(FLNK, "$(P)$(R)TMPump1-ControllerOnInv" ) field(FLNK, "$(P)$(R)TMPump1-ControllerOnInv" )
field(VAL,"0") field(VAL,"0")
} }
record(calcout, "$(P)$(R)TMPump1-ControllerOnInv") { record(calcout, "$(P)$(R)TMPump1-ControllerOnInv") {
field(INPA, "$(P)$(R)TMPump1-ControllerOn NPP MS") 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(OOPT, "On Change")
field(CALC, "A?0:1") field(CALC, "A?0:1")
field(VAL,"1")
} }
record(bo, "$(P)$(R)TMPump1-ControllerOff" ) { record(bo, "$(P)$(R)TMPump1-ControllerOff" ) {
@@ -45,15 +47,17 @@ record(bo, "$(P)$(R)TMPump1-ControllerOff" ) {
field(ONAM, "Pulse" ) field(ONAM, "Pulse" )
field(HIGH, "2.5") field(HIGH, "2.5")
# Disabled until further notice # Disabled until further notice
# field(FLNK, "$(P)$(R)TMPump1-ControllerOffInv" ) field(FLNK, "$(P)$(R)TMPump1-ControllerOffInv" )
field(VAL,"0") field(VAL,"0")
} }
record(calcout, "$(P)$(R)TMPump1-ControllerOffInv") { record(calcout, "$(P)$(R)TMPump1-ControllerOffInv") {
field(INPA, "$(P)$(R)TMPump1-ControllerOff NPP MS" ) 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(OOPT, "On Change")
field(CALC, "A?0:1") field(CALC, "A?0:1")
field(VAL,"1")
} }
record(bo, "$(P)$(R)TMPump1-MotorOn" ) { record(bo, "$(P)$(R)TMPump1-MotorOn" ) {
@@ -176,24 +180,6 @@ record(bo, "$(P)$(R)TMPump2-Motor" ) {
field( ONAM, "OFF") 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 # # EMERGENCY MODE #
############################## ##############################
@@ -289,48 +275,17 @@ record(bo, "$(P)$(R)VVessel-Filament" ) {
field(PINI,"YES") field(PINI,"YES")
} }
##############################
# LIGHTS ON/OFF #
##############################
record(bo, "$(P)$(R)Lab-WarningLight" ) {
field(DESC," Luzes de sinalização, 220V ")
# record(bo, "$(P)$(R)LightsOnOff" ) {
field(OUT, "$(P)$(R)PCF8574:60:REGISTER.B5 PP" )
field(ZNAM, "On" )
field(ONAM, "Off" )
field(VAL,"1")
}
############ ############
# NOT USED # # NOT USED #
############ ############
#$(P)$(R)PCF8574:60:REGISTER:READ.B6 #$(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 # # REGISTER 61 #
############### ###############
############### ###############
record(bo, "$(P)$(R)Shot-TorPSDisable" ) {
# field(DESC," É desligado na emergência e em qualquer estado que não seja Process ou Wait Shot.")
field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B1 PP" )
field( ZNAM, "Off" )
field( ONAM, "On" )
field(VAL,"1")
}
record(bo, "$(P)$(R)Shot-TorPSTrigger" ) { record(bo, "$(P)$(R)Shot-TorPSTrigger" ) {
field(DESC," Trigger da FRAEP") field(DESC," Trigger da FRAEP")
field( ZNAM, "Off" ) field( ZNAM, "Off" )
@@ -348,31 +303,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 # # GIS VALVES ON/OFF #
################################## ##################################
@@ -412,7 +342,7 @@ record(bo, "$(P)$(R)TMPump1-ManualValve"){
field( ONAM, "Open") field( ONAM, "Open")
} }
### SEEED 4 RELAY BOARD ### SEEED 4-RELAY I2C BOARDS ADDR 0x11 & 0x12
# #
# #
@@ -463,5 +393,102 @@ record(bo, "$(P)$(R)Clean-TorPneuBreaker" ) {
field(VAL,"0") field(VAL,"0")
field(OSV,"MAJOR") 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")
}
######################################
# Tor Power Supply Disable #
# É desligado na emergência e em qualquer estado que
# não seja Process ou Wait Shot.
######################################
record(bo, "$(P)$(R)Shot-TorPSDisable" ) {
field(DESC,"Tor Power Supply Disable")
####field( OUT, "$(P)$(R)PCF8574:61:REGISTER.B1 PP" )
field(OUT,"$(P)$(R)SEEED4RELAY:19:REGISTER.B0 PP")
field( ZNAM, "Enabled" )
field( ONAM, "Disabled" )
field(VAL,"0")
field(OSV,"MINOR")
}
##############################
# LIGHTS ON/OFF #
##############################
record(bo, "$(P)$(R)Lab-WarningLight" ) {
field(DESC,"Luzes de sinalização, 220V ")
# ####field(OUT, "$(P)$(R)PCF8574:60:REGISTER.B5 PP" )
field(OUT,"$(P)$(R)SEEED4RELAY:19:REGISTER.B1 PP")
field(ZNAM,"OFF")
field(ONAM, "ON")
field(VAL, "0")
field(OSV,"MINOR")
}
# field(ZNAM, "On" )
# field(ONAM, "Off" )
# field(VAL,"1")
#}
# field( ZNAM, "Off" )
# field( ONAM, "On" )
# field(VAL,"1")
#}
# 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

@@ -13,7 +13,7 @@
# #
## ##
record(mbbi, "$(P)$(R)OPSTATE") { record(mbbo, "$(P)$(R)OPSTATE") {
field(DESC, "Multiple Pulse Sequence State") field(DESC, "Multiple Pulse Sequence State")
field(ZRVL, "0") field(ZRVL, "0")
field(ONVL, "1") field(ONVL, "1")
@@ -220,7 +220,7 @@ record(stringout, "$(P)$(R)LogMessage") {
# field(VAL, "Trace mode ON") # field(VAL, "Trace mode ON")
} }
record(mbbi, "$(P)$(R)STARTINGSTATE") { record(mbbo, "$(P)$(R)STARTINGSTATE") {
field(DESC, "Starting State Sequence") field(DESC, "Starting State Sequence")
field(ZRVL, "0") field(ZRVL, "0")
field(ONVL, "1") field(ONVL, "1")
@@ -237,7 +237,7 @@ record(mbbi, "$(P)$(R)STARTINGSTATE") {
field(VAL, "0") field(VAL, "0")
} }
record(mbbi, "$(P)$(R)CLEANINGSTATE") { record(mbbo, "$(P)$(R)CLEANINGSTATE") {
field(DESC, "Cleaning State Sequence") field(DESC, "Cleaning State Sequence")
field(ZRVL, "0") field(ZRVL, "0")
field(ONVL, "1") field(ONVL, "1")
@@ -246,6 +246,7 @@ record(mbbi, "$(P)$(R)CLEANINGSTATE") {
field(FRVL, "4") field(FRVL, "4")
field(FVVL, "5") field(FVVL, "5")
field(SXVL, "6") field(SXVL, "6")
field(SVVL, "7")
field(ZRST, "NonCleaning") field(ZRST, "NonCleaning")
field(ONST, "Cleaning1") field(ONST, "Cleaning1")
field(TWST, "Cleaning2") field(TWST, "Cleaning2")
@@ -253,10 +254,11 @@ record(mbbi, "$(P)$(R)CLEANINGSTATE") {
field(FRST, "Cleaning4") field(FRST, "Cleaning4")
field(FVST, "Cleaning5") field(FVST, "Cleaning5")
field(SXST, "Cleaning6") field(SXST, "Cleaning6")
field(SVST, "Manual")
field(VAL, "0") field(VAL, "0")
} }
record(mbbi, "$(P)$(R)WSHOTINGSTATE") { record(mbbo, "$(P)$(R)WSHOTINGSTATE") {
field(DESC, "Plasma Shot State Sequence") field(DESC, "Plasma Shot State Sequence")
field(ZRVL, "0") field(ZRVL, "0")
field(ONVL, "1") field(ONVL, "1")
@@ -289,7 +291,7 @@ record(mbbi, "$(P)$(R)WSHOTINGSTATE") {
field(VAL, "0") field(VAL, "0")
} }
record(mbbi, "$(P)$(R)STOPPINGSTATE") { record(mbbo, "$(P)$(R)STOPPINGSTATE") {
field(DESC, "Stopping State Sequence") field(DESC, "Stopping State Sequence")
field(ZRVL, "0") field(ZRVL, "0")
field(ONVL, "1") field(ONVL, "1")

View File

@@ -18,10 +18,18 @@
**/ **/
//%% #include "errlog.h" //%% #include "errlog.h"
program IsttokSeqExec program IsttokSeqExec ("output=logFile.txt")
%{#include "errlog.h"}% %{#include "errlog.h"}%
%%#include <fcntl.h> /* for exit() */
%%#include <stdio.h> /* for exit() */
%%#include <stdlib.h> /* for exit() */
/* CONSTANT DECLARATION*/ /* CONSTANT DECLARATION*/
/*Relays and INPUT (Valleman Board) have negative Logic!*/ /*Relays and INPUT PVs on Valleman Board have negative Logic!*/
/*=================== declarations =========================*/
int fd; /* file descriptor for logging */
char *pmac; /* used to access program macros */
short PCF_RELAY_ON = 0; short PCF_RELAY_ON = 0;
short PCF_RELAY_OFF= 1; short PCF_RELAY_OFF= 1;
short PCF_INPUT_ON = 0; short PCF_INPUT_ON = 0;
@@ -29,6 +37,7 @@ short PCF_INPUT_OFF= 1;
short PCF_PULSE_ON = 1; short PCF_PULSE_ON = 1;
short SEEED_RELAY_OFF= 0; short SEEED_RELAY_OFF= 0;
short SEEED_RELAY_ON = 1; short SEEED_RELAY_ON = 1;
short SEEED_RELAY_PULSE = 1;
short STRST_NonStarting = 0; short STRST_NonStarting = 0;
short STRST_Starting1 = 1; short STRST_Starting1 = 1;
@@ -43,6 +52,8 @@ short CLNST_Cleaning2 = 2;
short CLNST_Cleaning3 = 3; short CLNST_Cleaning3 = 3;
short CLNST_Cleaning4 = 4; short CLNST_Cleaning4 = 4;
short CLNST_Cleaning5 = 5; short CLNST_Cleaning5 = 5;
short CLNST_Cleaning6 = 6;
short CLNST_Manual = 7;
short WSHTST_NonShoting = 0; short WSHTST_NonShoting = 0;
short WSHTST_WaitTrg = 1; short WSHTST_WaitTrg = 1;
@@ -119,9 +130,9 @@ short CLEANINGSTATE;
assign CLEANINGSTATE to "ISTTOK:central:CLEANINGSTATE"; assign CLEANINGSTATE to "ISTTOK:central:CLEANINGSTATE";
monitor CLEANINGSTATE; monitor CLEANINGSTATE;
short CLEANINGMANMODE; short CLEANING_AUTOMODE;
assign CLEANINGMANMODE to "ISTTOK:central:CLEANINGMANMODE"; assign CLEANING_AUTOMODE to "ISTTOK:central:CLEANINGMANMODE";
monitor CLEANINGMANMODE; monitor CLEANING_AUTOMODE;
short WSHOTINGSTATE; short WSHOTINGSTATE;
assign WSHOTINGSTATE to "ISTTOK:central:WSHOTINGSTATE"; assign WSHOTINGSTATE to "ISTTOK:central:WSHOTINGSTATE";
@@ -141,12 +152,13 @@ assign IsttokRPump2_Motor to "ISTTOK:central:RPump2-Motor";
short IsttokRPump2_Valve; short IsttokRPump2_Valve;
assign IsttokRPump2_Valve to "ISTTOK:central:RPump2-Valve"; assign IsttokRPump2_Valve to "ISTTOK:central:RPump2-Valve";
/* No use for these, Controller does not respond
short IsttokTMPump1_ControllerOff; short IsttokTMPump1_ControllerOff;
assign IsttokTMPump1_ControllerOff to "ISTTOK:central:TMPump1-ControllerOff"; assign IsttokTMPump1_ControllerOff to "ISTTOK:central:TMPump1-ControllerOff";
short IsttokTMPump1_ControllerOn; short IsttokTMPump1_ControllerOn;
assign IsttokTMPump1_ControllerOn to "ISTTOK:central:TMPump1-ControllerOn"; assign IsttokTMPump1_ControllerOn to "ISTTOK:central:TMPump1-ControllerOn";
*/
short IsttokTMPump1_MotorOff; short IsttokTMPump1_MotorOff;
assign IsttokTMPump1_MotorOff to "ISTTOK:central:TMPump1-MotorOff"; assign IsttokTMPump1_MotorOff to "ISTTOK:central:TMPump1-MotorOff";
@@ -179,6 +191,10 @@ assign IsttokTMPump2_Emergency to "ISTTOK:central:TMPump2-Emergency";
monitor IsttokTMPump2_Emergency; monitor IsttokTMPump2_Emergency;
*/ */
float IsttokTMPump1_Pressure;
assign IsttokTMPump1_Pressure to "ISTTOK:central:TMPump1-PressureAdmission";
monitor IsttokTMPump1_Pressure;
float IsttokRPump1_Pressure; float IsttokRPump1_Pressure;
/*assign IsttokRPump1_Pressure to "ISTTOK:vacuum:RPump1-Pressure";*/ /*assign IsttokRPump1_Pressure to "ISTTOK:vacuum:RPump1-Pressure";*/
assign IsttokRPump1_Pressure to "ISTTOK:central:RPump1-Pressure"; assign IsttokRPump1_Pressure to "ISTTOK:central:RPump1-Pressure";
@@ -272,6 +288,23 @@ ss PulseSequence {
/*********** State: init ****************** */ /*********** State: init ****************** */
state init { state init {
entry { entry {
fd = -1;
/* Use parameter to define logging file */
pmac = macValueGet("output");
if (pmac == 0 || pmac[0] == 0) {
printf("No macro defined for \"output\"\n");
fd = 1;
}
else {
fd = open(pmac, (O_CREAT | O_WRONLY), 0664);
/* if (fd == ERROR) { */
if (fd == -1) {
printf("Can't open %s\n", pmac);
exit (-1);
}
}
dprintf(fd, "Starting program\n");
strcpy(msg, "INIT: Sequence Entry"); strcpy(msg, "INIT: Sequence Entry");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -286,16 +319,16 @@ ss PulseSequence {
// IsttokProcMode = OFF; // UPON POWER-DOWN OR FAILURE PREVENT TO ENTER WAITSHOT ON POWER-UP! // IsttokProcMode = OFF; // UPON POWER-DOWN OR FAILURE PREVENT TO ENTER WAITSHOT ON POWER-UP!
// pvPut(IsttokProcMode); // pvPut(IsttokProcMode);
IsttokClean_PrimContactor = PCF_RELAY_OFF; IsttokClean_PrimContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_PrimContactor); pvPut(IsttokClean_PrimContactor);
IsttokClean_PrimPneuBreaker = SEEED_RELAY_OFF; IsttokClean_PrimPneuBreaker = SEEED_RELAY_OFF;
pvPut(IsttokClean_PrimPneuBreaker); pvPut(IsttokClean_PrimPneuBreaker);
IsttokBuzzer = PCF_RELAY_OFF; IsttokBuzzer = SEEED_RELAY_OFF;
pvPut(IsttokBuzzer); pvPut(IsttokBuzzer);
IsttokCapBank_Charge = PCF_RELAY_OFF; IsttokCapBank_Charge = SEEED_RELAY_OFF;
pvPut(IsttokCapBank_Charge); pvPut(IsttokCapBank_Charge);
IsttokCapBank_Discharge = SEEED_RELAY_OFF; IsttokCapBank_Discharge = SEEED_RELAY_OFF;
@@ -307,27 +340,27 @@ ss PulseSequence {
IsttokGasIS_Valves = SEEED_RELAY_OFF; IsttokGasIS_Valves = SEEED_RELAY_OFF;
pvPut(IsttokGasIS_Valves); pvPut(IsttokGasIS_Valves);
IsttokLab_WarningLight = PCF_RELAY_OFF; IsttokLab_WarningLight = SEEED_RELAY_OFF;
pvPut(IsttokLab_WarningLight); pvPut(IsttokLab_WarningLight);
IsttokClean_TorPneuBreaker = SEEED_RELAY_OFF; IsttokClean_TorPneuBreaker = SEEED_RELAY_OFF;
pvPut(IsttokClean_TorPneuBreaker); pvPut(IsttokClean_TorPneuBreaker);
IsttokClean_TorContactor = PCF_RELAY_OFF; IsttokClean_TorContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_TorContactor); pvPut(IsttokClean_TorContactor);
Isttok_TorPSDisable = PCF_RELAY_OFF; Isttok_TorPSDisable = SEEED_RELAY_OFF;
pvPut(Isttok_TorPSDisable); pvPut(Isttok_TorPSDisable);
Isttok_TorPSTrigger= OFF; Isttok_TorPSTrigger= OFF;
pvPut(Isttok_TorPSTrigger); pvPut(Isttok_TorPSTrigger);
/*
IsttokTMPump1_ControllerOff = OFF; IsttokTMPump1_ControllerOff = OFF;
pvPut(IsttokTMPump1_ControllerOff); pvPut(IsttokTMPump1_ControllerOff);
IsttokTMPump1_ControllerOn = OFF; IsttokTMPump1_ControllerOn = OFF;
pvPut(IsttokTMPump1_ControllerOn); pvPut(IsttokTMPump1_ControllerOn);
*/
IsttokTMPump1_MotorOff = OFF; IsttokTMPump1_MotorOff = OFF;
pvPut(IsttokTMPump1_MotorOff); pvPut(IsttokTMPump1_MotorOff);
@@ -431,7 +464,7 @@ ss PulseSequence {
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
IsttokLastOPSTATE = POS_Idle; IsttokLastOPSTATE = POS_Idle;
pvPut(IsttokLastOPSTATE); pvPut(IsttokLastOPSTATE);
Isttok_TorPSDisable = PCF_RELAY_OFF; Isttok_TorPSDisable = SEEED_RELAY_OFF;
pvPut(Isttok_TorPSDisable); pvPut(Isttok_TorPSDisable);
IsttokProcReq = STOP; IsttokProcReq = STOP;
pvPut(IsttokProcReq); pvPut(IsttokProcReq);
@@ -452,7 +485,6 @@ ss PulseSequence {
} state Emergency } state Emergency
when ( (pvStatus(IsttokRPump1_Pressure) != pvStatOK) || (pvStatus(IsttokTMPump1_Emergency) != pvStatOK) ) { when ( (pvStatus(IsttokRPump1_Pressure) != pvStatOK) || (pvStatus(IsttokTMPump1_Emergency) != pvStatOK) ) {
//when ( pvStatus(IsttokRPump1_Pressure) != pvStatOK || pvStatus(IsttokRPump2_Pressure) != pvStatOK ||
// pvStatus(IsttokTMPump1_Emergency) != pvStatOK || pvStatus(IsttokTMPump2_Emergency) != pvStatOK) { // pvStatus(IsttokTMPump1_Emergency) != pvStatOK || pvStatus(IsttokTMPump2_Emergency) != pvStatOK) {
/* Vacuum emergency: Pulse state change to Stopping */ /* Vacuum emergency: Pulse state change to Stopping */
/*IsttokOPREQ = STOP; State should recover from */ /*IsttokOPREQ = STOP; State should recover from */
@@ -461,7 +493,8 @@ ss PulseSequence {
strcpy(msg, "State Idle to Stopping"); strcpy(msg, "State Idle to Stopping");
pvPut(msg); pvPut(msg);
errlogSevPrintf(MINOR, "%s\n", msg); errlogSevPrintf(MINOR, "%s\n", msg);
sprintf(sendMail, "Rpump1 Pressure:%1.1e TMP1 Pressure:%d",IsttokRPump1_Pressure,IsttokTMPump1_Emergency); sprintf(sendMail, "Vacuum Emergency while Idle, Rpump1 Pressure:%1.1e, TMP1 Adm. Pressure:%4.2e, TMP1 Emergency:%d",
IsttokRPump1_Pressure, IsttokTMPump1_Pressure, IsttokTMPump1_Emergency);
pvPut(sendMail); pvPut(sendMail);
} state Stopping } state Stopping
@@ -498,7 +531,7 @@ ss PulseSequence {
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
} }
when ((IsttokProcReq==STOP) && (CLEANINGSTATE == CLNST_NonCleaning)) { when ((IsttokProcReq==STOP) && (CLEANINGSTATE == CLNST_NonCleaning)) {
strcpy(msg, "State to Idle From Clean"); strcpy(msg, "State from Clean to Idle");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
} state Idle } state Idle
@@ -541,7 +574,7 @@ ss PulseSequence {
strcpy(msg, "Toroidal Shot Enable"); strcpy(msg, "Toroidal Shot Enable");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
Isttok_TorPSDisable = PCF_RELAY_ON; Isttok_TorPSDisable = SEEED_RELAY_ON;
pvPut(Isttok_TorPSDisable); pvPut(Isttok_TorPSDisable);
IsttokOPSTATE = POS_WaitShot; IsttokOPSTATE = POS_WaitShot;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
@@ -591,10 +624,10 @@ ss PulseSequence {
IsttokOPSTATE = POS_Stopping; IsttokOPSTATE = POS_Stopping;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
/*Just to be sure */ /*Just to be sure */
Isttok_TorPSDisable = PCF_RELAY_OFF; Isttok_TorPSDisable = SEEED_RELAY_OFF;
pvPut(Isttok_TorPSDisable); pvPut(Isttok_TorPSDisable);
IsttokCapBank_Charge = PCF_RELAY_OFF; IsttokCapBank_Charge = SEEED_RELAY_OFF;
pvPut(IsttokCapBank_Charge); pvPut(IsttokCapBank_Charge);
IsttokCapBank_Discharge = SEEED_RELAY_OFF; IsttokCapBank_Discharge = SEEED_RELAY_OFF;
@@ -635,13 +668,13 @@ ss PulseSequence {
strcpy(msg, "Emergency Toroidal Shot Disable"); strcpy(msg, "Emergency Toroidal Shot Disable");
pvPut(msg); pvPut(msg);
errlogSevPrintf(MAJOR, "%s\n",msg); errlogSevPrintf(MAJOR, "%s\n",msg);
Isttok_TorPSDisable = PCF_RELAY_OFF; Isttok_TorPSDisable = SEEED_RELAY_OFF;
pvPut(Isttok_TorPSDisable); pvPut(Isttok_TorPSDisable);
strcpy(msg, "EMERGENCY: CAPBANK Charge OFF"); strcpy(msg, "EMERGENCY: CAPBANK Charge OFF");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokCapBank_Charge = PCF_RELAY_OFF; IsttokCapBank_Charge = SEEED_RELAY_OFF;
pvPut(IsttokCapBank_Charge); pvPut(IsttokCapBank_Charge);
strcpy(msg, "EMERGENCY: CAPBANK CrowBar Close"); strcpy(msg, "EMERGENCY: CAPBANK CrowBar Close");
@@ -895,7 +928,7 @@ ss CleaningSequence{
strcpy(msg, "Primary_CT OFF"); strcpy(msg, "Primary_CT OFF");
pvPut(msg); pvPut(msg);
IsttokClean_PrimContactor = PCF_RELAY_OFF; IsttokClean_PrimContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_PrimContactor); pvPut(IsttokClean_PrimContactor);
strcpy(msg, "Toroidal_BK OPEN"); strcpy(msg, "Toroidal_BK OPEN");
@@ -905,7 +938,7 @@ ss CleaningSequence{
strcpy(msg, "Toroidal_CT OFF"); strcpy(msg, "Toroidal_CT OFF");
pvPut(msg); pvPut(msg);
IsttokClean_TorContactor = PCF_RELAY_OFF; IsttokClean_TorContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_TorContactor); pvPut(IsttokClean_TorContactor);
strcpy(msg, "Prim_Pneu_Breaker OFF"); strcpy(msg, "Prim_Pneu_Breaker OFF");
@@ -917,9 +950,19 @@ ss CleaningSequence{
pvPut(CLEANINGSTATE); pvPut(CLEANINGSTATE);
errlogSevPrintf(NO_ALARM, "%s\n",msg); 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..."); strcpy(msg, "Initiating Auto Cleaning...");
pvPut(msg); pvPut(msg);
strcpy(msg, "GIS Valves OPEN"); strcpy(msg, "GIS Valves OPEN");
@@ -934,6 +977,10 @@ ss CleaningSequence{
pvPut(CLEANINGSTATE); pvPut(CLEANINGSTATE);
} state Cleaning1 } state Cleaning1
} }
state CleaningManual {
when (IsttokProcReq==STOP) {
} state NonCleaning
}
state Cleaning1 { state Cleaning1 {
when (delay(1.0) && IsttokProcReq==STOP) { when (delay(1.0) && IsttokProcReq==STOP) {
// Reversing Cleaning // Reversing Cleaning
@@ -946,7 +993,7 @@ ss CleaningSequence{
pvPut(IsttokGasIS_Valves); pvPut(IsttokGasIS_Valves);
} state NonCleaning } 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"); strcpy(msg, "Filament ON");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -967,11 +1014,11 @@ ss CleaningSequence{
CLEANINGSTATE = CLNST_Cleaning1; CLEANINGSTATE = CLNST_Cleaning1;
pvPut(CLEANINGSTATE); pvPut(CLEANINGSTATE);
} state Cleaning1 } 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"); strcpy(msg, "Primary-CT ON");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokClean_PrimContactor = PCF_RELAY_ON; IsttokClean_PrimContactor = SEEED_RELAY_ON;
pvPut(IsttokClean_PrimContactor); pvPut(IsttokClean_PrimContactor);
CLEANINGSTATE = CLNST_Cleaning3; CLEANINGSTATE = CLNST_Cleaning3;
pvPut(CLEANINGSTATE); pvPut(CLEANINGSTATE);
@@ -982,12 +1029,12 @@ ss CleaningSequence{
strcpy(msg, "Primary-CT OFF"); strcpy(msg, "Primary-CT OFF");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokClean_PrimContactor = PCF_RELAY_OFF; IsttokClean_PrimContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_PrimContactor); pvPut(IsttokClean_PrimContactor);
CLEANINGSTATE = CLNST_Cleaning2; CLEANINGSTATE = CLNST_Cleaning2;
pvPut(CLEANINGSTATE); pvPut(CLEANINGSTATE);
} state Cleaning2 } 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"); strcpy(msg, "Toroidal-BK CLOSE");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -1008,11 +1055,11 @@ ss CleaningSequence{
CLEANINGSTATE = CLNST_Cleaning3; CLEANINGSTATE = CLNST_Cleaning3;
pvPut(CLEANINGSTATE); pvPut(CLEANINGSTATE);
} state Cleaning3 } 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"); strcpy(msg, "Toroidal-CT ON");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokClean_TorContactor = PCF_RELAY_ON; IsttokClean_TorContactor = SEEED_RELAY_ON;
pvPut(IsttokClean_TorContactor); pvPut(IsttokClean_TorContactor);
CLEANINGSTATE = CLNST_Cleaning5; CLEANINGSTATE = CLNST_Cleaning5;
pvPut(CLEANINGSTATE); pvPut(CLEANINGSTATE);
@@ -1026,7 +1073,7 @@ ss CleaningSequence{
strcpy(msg, "Toroidal-CT OFF"); strcpy(msg, "Toroidal-CT OFF");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokClean_TorContactor = PCF_RELAY_OFF; IsttokClean_TorContactor = SEEED_RELAY_OFF;
pvPut(IsttokClean_TorContactor); pvPut(IsttokClean_TorContactor);
/* Close GIS to let Pressure down */ /* Close GIS to let Pressure down */
IsttokGasIS_Valves = SEEED_RELAY_OFF; IsttokGasIS_Valves = SEEED_RELAY_OFF;
@@ -1107,7 +1154,7 @@ ss ShotSequence {
strcpy(msg, "Buzzer 1-Sound"); strcpy(msg, "Buzzer 1-Sound");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokBuzzer = 1; IsttokBuzzer = SEEED_RELAY_PULSE;
pvPut(IsttokBuzzer); pvPut(IsttokBuzzer);
strcpy(msg, "CAPBANK Crowbar Open"); strcpy(msg, "CAPBANK Crowbar Open");
pvPut(msg); pvPut(msg);
@@ -1117,7 +1164,7 @@ ss ShotSequence {
strcpy(msg, "Lights ON"); strcpy(msg, "Lights ON");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokLab_WarningLight = PCF_RELAY_ON; IsttokLab_WarningLight = SEEED_RELAY_ON;
pvPut(IsttokLab_WarningLight); pvPut(IsttokLab_WarningLight);
WSHOTINGSTATE = WSHTST_Shooting3; WSHOTINGSTATE = WSHTST_Shooting3;
pvPut(WSHOTINGSTATE); pvPut(WSHOTINGSTATE);
@@ -1164,7 +1211,7 @@ ss ShotSequence {
strcpy(msg, "CAPBANK Charge ON" ); strcpy(msg, "CAPBANK Charge ON" );
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokCapBank_Charge = PCF_RELAY_ON; IsttokCapBank_Charge = SEEED_RELAY_ON;
pvPut(IsttokCapBank_Charge); pvPut(IsttokCapBank_Charge);
WSHOTINGSTATE = WSHTST_Shooting6; WSHOTINGSTATE = WSHTST_Shooting6;
pvPut(WSHOTINGSTATE); pvPut(WSHOTINGSTATE);
@@ -1182,7 +1229,7 @@ ss ShotSequence {
strcpy(msg, "CAPBANK Charge OFF" ); strcpy(msg, "CAPBANK Charge OFF" );
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n", msg); errlogSevPrintf(NO_ALARM, "%s\n", msg);
IsttokCapBank_Charge = PCF_RELAY_OFF; IsttokCapBank_Charge = SEEED_RELAY_OFF;
pvPut(IsttokCapBank_Charge); pvPut(IsttokCapBank_Charge);
WSHOTINGSTATE = WSHTST_Shooting7; WSHOTINGSTATE = WSHTST_Shooting7;
pvPut(WSHOTINGSTATE); pvPut(WSHOTINGSTATE);
@@ -1200,7 +1247,7 @@ ss ShotSequence {
strcpy(msg, "Buzzer 2-Sound" ); strcpy(msg, "Buzzer 2-Sound" );
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n", msg); errlogSevPrintf(NO_ALARM, "%s\n", msg);
IsttokBuzzer = 1; IsttokBuzzer = SEEED_RELAY_PULSE;
pvPut(IsttokBuzzer); pvPut(IsttokBuzzer);
strcpy(msg, "Filament ON"); strcpy(msg, "Filament ON");
pvPut(msg); pvPut(msg);
@@ -1299,7 +1346,7 @@ ss ShotSequence {
strcpy(msg, "Lights OFF and Recovering..." ); strcpy(msg, "Lights OFF and Recovering..." );
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n", msg); errlogSevPrintf(NO_ALARM, "%s\n", msg);
IsttokLab_WarningLight = PCF_RELAY_OFF; IsttokLab_WarningLight = SEEED_RELAY_OFF;
pvPut(IsttokLab_WarningLight); pvPut(IsttokLab_WarningLight);
WSHOTINGSTATE = WSHTST_ShotEnd; WSHOTINGSTATE = WSHTST_ShotEnd;
pvPut(WSHOTINGSTATE); pvPut(WSHOTINGSTATE);
@@ -1388,6 +1435,14 @@ ss StoppingSequence {
when (IsttokOPSTATE != POS_Stopping ) { } state NonStopping when (IsttokOPSTATE != POS_Stopping ) { } state NonStopping
} }
} }
/* Exit procedure - close the log file
exit {
printf("close fd=%d\n", fd);
if ((fd > 0) && (fd != ioGlobalStdGet(1)) )
close(fd);
fd = -1;
}
*/
/**** END PROGRAM ***/ /**** END PROGRAM ***/

View File

@@ -1,6 +1,6 @@
#UAG(uag) {pi,root,opertok,codac-dev,pricardofc} #UAG(uag) {pi,root,opertok,codac-dev,pricardofc}
UAG(uag) {pi,root,opertok,codac-dev} UAG(uag) {pi,root,opertok,codac-dev,oper}
HAG(hag) {rpi-isttok,opertok-desktop,atca2} HAG(hag) {rpi-isttok,opertok-desktop,atca2,timings}
ASG(DEFAULT) { ASG(DEFAULT) {
RULE(1,READ) RULE(1,READ)
RULE(1,WRITE) { RULE(1,WRITE) {

View File

@@ -7,4 +7,4 @@ epicsEnvSet("ASYN","/home/pi/Apps/epics7/support/asyn")
epicsEnvSet("STREAM","/home/pi/Apps/epics7/support/StreamDevice") epicsEnvSet("STREAM","/home/pi/Apps/epics7/support/StreamDevice")
epicsEnvSet("AUTOSAVE","/home/pi/Apps/epics7/support/autosave") epicsEnvSet("AUTOSAVE","/home/pi/Apps/epics7/support/autosave")
epicsEnvSet("DRVASYNI2C","/home/pi/Apps/epics7/support/drvAsynI2C") epicsEnvSet("DRVASYNI2C","/home/pi/Apps/epics7/support/drvAsynI2C")
epicsEnvSet("SNCSEQ","/home/pi/Apps/epics7/support/seq-2-2") epicsEnvSet("SNCSEQ","/home/pi/Apps/epics7/support/seq-2.2.9")

View File

@@ -157,3 +157,165 @@ ISTTOK:central:STARTINGSTATE
ISTTOK:central:CLEANINGSTATE ISTTOK:central:CLEANINGSTATE
ISTTOK:central:WSHOTINGSTATE ISTTOK:central:WSHOTINGSTATE
ISTTOK:central:STOPPINGSTATE ISTTOK:central:STOPPINGSTATE
ISTTOK:central:PCF8591:72:ADC_CH1
ISTTOK:central:PCF8591:72:ADC_CH2
ISTTOK:central:PCF8591:72:ADC_CH3
ISTTOK:central:P001:M
ISTTOK:central:P001:E
ISTTOK:central:P002:M
ISTTOK:central:P002:E
ISTTOK:central:P003:M
ISTTOK:central:P003:E
ISTTOK:central:P004:M
ISTTOK:central:P004:E
ISTTOK:central:OPCALCSTATE
ISTTOK:central:STARTCALCSTATE
ISTTOK:central:STOPPINGCALCSTATE
ISTTOK:central:CLEANCALCSTATE
ISTTOK:central:WSHOTCALCSTATE
ISTTOK:central:PULSE-NUMBER
ISTTOK:central:COUNTDOWN
ISTTOK:central:COUNTER
ISTTOK:central:PCF8591:72:BYTE2_CH1
ISTTOK:central:PCF8591:72:BYTE2_CH2
ISTTOK:central:PCF8591:72:BYTE2_CH3
ISTTOK:central:Emergency
ISTTOK:central:VVessel-Pressure
ISTTOK:central:RPump1-Pressure
ISTTOK:central:TMPump1-PressureAdmission
ISTTOK:central:RPump2-Pressure
ISTTOK:central:PCF8591:72:DAC
ISTTOK:central:TDA8444:32:DAC_CH0
ISTTOK:central:TDA8444:32:DAC_CH1
ISTTOK:central:TDA8444:32:DAC_CH2
ISTTOK:central:TDA8444:32:DAC_CH3
ISTTOK:central:TDA8444:32:DAC_CH4
ISTTOK:central:TDA8444:32:DAC_CH5
ISTTOK:central:TDA8444:32:DAC_CH6
ISTTOK:central:Shot-TorPSCurrent
ISTTOK:SR_0_State
ISTTOK:SR_1_State
ISTTOK:SR_2_State
ISTTOK:SR_3_State
ISTTOK:SR_4_State
ISTTOK:SR_5_State
ISTTOK:SR_6_State
ISTTOK:SR_7_State
ISTTOK:SR_disableMaxSecs
ISTTOK:central:PCF8574:56:REGISTER:READ:FNOUT
ISTTOK:central:PCF8574:57:REGISTER:READ:FNOUT
ISTTOK:central:TraceMessage
ISTTOK:central:LogMessage
ISTTOK:central:RS485Debug
ISTTOK:central:sendmail
ISTTOK:SR_recentlyStr
ISTTOK:SR_rebootStatusStr
ISTTOK:SR_rebootTime
ISTTOK:SR_statusStr
ISTTOK:SR_0_Name
ISTTOK:SR_0_StatusStr
ISTTOK:SR_0_Time
ISTTOK:SR_1_Name
ISTTOK:SR_1_StatusStr
ISTTOK:SR_1_Time
ISTTOK:SR_2_Name
ISTTOK:SR_2_StatusStr
ISTTOK:SR_2_Time
ISTTOK:SR_3_Name
ISTTOK:SR_3_StatusStr
ISTTOK:SR_3_Time
ISTTOK:SR_4_Name
ISTTOK:SR_4_StatusStr
ISTTOK:SR_4_Time
ISTTOK:SR_5_Name
ISTTOK:SR_5_StatusStr
ISTTOK:SR_5_Time
ISTTOK:SR_6_Name
ISTTOK:SR_6_StatusStr
ISTTOK:SR_6_Time
ISTTOK:SR_7_Name
ISTTOK:SR_7_StatusStr
ISTTOK:SR_7_Time
ISTTOK:central:TMPump1-ControllerOnInv
ISTTOK:central:TMPump1-ControllerOffInv
ISTTOK:central:TMPump1-MotorOnInv
ISTTOK:central:TMPump1-MotorOffInv
ISTTOK:central:Shot-TorPSTriggerInv
ISTTOK:central:TMPump1-Power
ISTTOK:central:TMPump1-Emergency
ISTTOK:central:TMPump1-Acceleration
ISTTOK:central:TMPump1-NormalOperation
ISTTOK:central:TMPump2-Emergency
ISTTOK:central:TMPump2-Acceleration
ISTTOK:central:TTSystem-tzero
ISTTOK:central:Emergency-PhysButton
ISTTOK:central:LASTOPSTATE
ISTTOK:SR_rebootStatus
ISTTOK:SR_status
ISTTOK:SR_0_Status
ISTTOK:SR_1_Status
ISTTOK:SR_2_Status
ISTTOK:SR_3_Status
ISTTOK:SR_4_Status
ISTTOK:SR_5_Status
ISTTOK:SR_6_Status
ISTTOK:SR_7_Status
ISTTOK:central:PCF8574:56:REGISTER:READ
ISTTOK:central:PCF8574:57:REGISTER:READ
ISTTOK:central:PCF8574:60:REGISTER:READ
ISTTOK:central:PCF8574:61:REGISTER:READ
ISTTOK:central:SEEED4RELAY:17:REGISTER:READ
ISTTOK:central:SEEED4RELAY:18:REGISTER:READ
ISTTOK:central:SEEED4RELAY:19:REGISTER:READ
ISTTOK:central:CurrentTime
ISTTOK:central:TMPump2-Speed
ISTTOK:central:TMPump2-Current
ISTTOK:central:Shot-TorPSCurrentImage
ISTTOK:central:UPS-OnBattery
ISTTOK:central:UPS-Shutdown
ISTTOK:central:OPREQ
ISTTOK:central:CLEANINGMANMODE
ISTTOK:central:FSTriggerStart
ISTTOK:central:PROCESS-MODE
ISTTOK:central:PROCESS-REQ
ISTTOK:central:AUTHORISATION
ISTTOK:central:TMPump1-ControllerOn
ISTTOK:central:TMPump1-ControllerOff
ISTTOK:central:TMPump1-MotorOn
ISTTOK:central:TMPump1-MotorOff
ISTTOK:central:TMPump2-Motor
ISTTOK:central:Emergency-UserButton
ISTTOK:central:RPump1-Motor
ISTTOK:central:RPump1-Valve
ISTTOK:central:RPump2-Motor
ISTTOK:central:RPump2-Valve
ISTTOK:central:VVessel-Filament
ISTTOK:central:Lab-WarningLight
ISTTOK:central:Shot-TorPSDisable
ISTTOK:central:Shot-TorPSTrigger
ISTTOK:central:GasIS-Valves
ISTTOK:central:TMPump1-ManualValve
ISTTOK:central:Clean-PrimPneuBreaker
ISTTOK:central:CapBank-Discharge
ISTTOK:central:Clean-TorPneuBreaker
ISTTOK:central:Clean-PrimContactor
ISTTOK:central:Clean-TorContactor
ISTTOK:central:CapBank-Charge
ISTTOK:central:Buzzer
ISTTOK:SR_heartbeat
ISTTOK:SR_i_am_alive
ISTTOK:SR_deadIfZero
ISTTOK:SR_disable
ISTTOK:central:PCF8574:56:REGISTER
ISTTOK:central:PCF8574:57:REGISTER
ISTTOK:central:PCF8574:60:REGISTER
ISTTOK:central:PCF8574:61:REGISTER
ISTTOK:central:PCF8591:72:CTRLREGISTER
ISTTOK:central:SEEED4RELAY:17:REGISTER
ISTTOK:central:SEEED4RELAY:18:REGISTER
ISTTOK:central:SEEED4RELAY:19:REGISTER
ISTTOK:central:OPSTATE
ISTTOK:central:STARTINGSTATE
ISTTOK:central:CLEANINGSTATE
ISTTOK:central:WSHOTINGSTATE
ISTTOK:central:STOPPINGSTATE

View File

@@ -1,5 +1,5 @@
# autosave R5.3 Automatically generated - DO NOT MODIFY - 211215-181848 # autosave R5.3 Automatically generated - DO NOT MODIFY - 220216-181851
ISTTOK:central:PULSE-NUMBER.VAL 49461 ISTTOK:central:PULSE-NUMBER.VAL 49468
ISTTOK:central:LogMessage.VAL ISTTOK:central:LogMessage.VAL
ISTTOK:central:LASTOPSTATE.VAL 2 ISTTOK:central:LASTOPSTATE.VAL 2
ISTTOK:central:OPREQ.VAL 1 ISTTOK:central:OPREQ.VAL 1

View File

@@ -26,10 +26,13 @@ dbLoadRecords("db/ISTTOKtda8444.db","P=ISTTOK:,R=central:,BUS=I2C")
dbLoadRecords("db/ISTTOKmachineControl.db","P=ISTTOK:,R=central:") dbLoadRecords("db/ISTTOKmachineControl.db","P=ISTTOK:,R=central:")
## SEEED RELAY BOARD ## SEEED RELAY BOARD
dbLoadRecords("db/seeed4relay.db","P=ISTTOK:,R=central:,A=17") dbLoadRecords("db/seeed4relay.db","P=ISTTOK:,R=central:,A=17")
dbLoadRecords("db/seeed4relay.db","P=ISTTOK:,R=central:,A=18")
dbLoadRecords("db/seeed4relay.db","P=ISTTOK:,R=central:,A=19")
## Load Serial drivers ## Load Serial drivers
#drvAsynSerialPortConfigure("RS0","/dev/ttyAMA0") #drvAsynSerialPortConfigure("RS0","/dev/ttyAMA0")
#drvAsynSerialPortConfigure("RS0","/dev/ttyUSB0")
drvAsynSerialPortConfigure("RS0","/dev/ttyUSB0") drvAsynSerialPortConfigure("RS0","/dev/ttyUSB0")
asynSetOption("RS0", 0, "baud", "9600") asynSetOption("RS0", 0, "baud", "9600")
asynSetOption("RS0", 0, "bits", "8") asynSetOption("RS0", 0, "bits", "8")
@@ -80,4 +83,4 @@ asInit
create_monitor_set("$(IOC).req", 30, "P=ISTTOK:,R=central:") create_monitor_set("$(IOC).req", 30, "P=ISTTOK:,R=central:")
## Start any sequence programs , use safe mode ## Start any sequence programs , use safe mode
seq IsttokSeqExec "unit=ISTTOK" seq IsttokSeqExec "unit=ISTTOK,node=central,output=logFile2"

View File

@@ -15,7 +15,8 @@ AUTOSAVE = $(SUPPORT)/autosave
#in configure/RELEASE #in configure/RELEASE
#STREAM_WORKAROUND = 1 #STREAM_WORKAROUND = 1
DRVASYNI2C =$(SUPPORT)/drvAsynI2C DRVASYNI2C =$(SUPPORT)/drvAsynI2C
SNCSEQ=$(SUPPORT)/seq-2-2 SNCSEQ=$(SUPPORT)/seq-2.2.9
#SNCSEQ=$(SUPPORT)/seq-2-2
# #
# SEQ is required for testIPServer # SEQ is required for testIPServer
#SNCSEQ=$(SUPPORT)/seq-2-2-5 #SNCSEQ=$(SUPPORT)/seq-2-2-5