Implemented Vacuum Emergency (bbc)

This commit is contained in:
Bernardo Carvalho
2019-12-11 18:05:36 +00:00
parent 94f7cb955d
commit a2a21a2a40
5 changed files with 131 additions and 126 deletions

View File

@@ -182,10 +182,10 @@ record(mbbi, "$(P)$(R)STARTINGSTATE") {
field(FVVL, "5") field(FVVL, "5")
field(ZRST, "NonStarting") field(ZRST, "NonStarting")
field(ONST, "Starting1") field(ONST, "Starting1")
field(TWST, "Starting2") field(TWST, "WaitManV")
field(THST, "Starting3") field(THST, "WaitPress")
field(FRST, "Starting4") field(FRST, "WaitTMP")
field(FVST, "Starting5") field(FVST, "StartEnd")
field(VAL, "0") field(VAL, "0")
} }
@@ -248,9 +248,9 @@ record(mbbi, "$(P)$(R)STOPPINGSTATE") {
field(FRVL, "4") field(FRVL, "4")
field(FVVL, "5") field(FVVL, "5")
field(ZRST, "NonStopping") field(ZRST, "NonStopping")
field(ONST, "Stopping1") field(ONST, "WaitManV")
field(TWST, "Stopping2") field(TWST, "Stopping2")
field(THST, "Stopping3") field(THST, "StopEnd")
field(FRST, "Stopping4") field(FRST, "Stopping4")
field(FVST, "Stopping5") field(FVST, "Stopping5")
field(VAL, "0") field(VAL, "0")

View File

@@ -284,9 +284,6 @@ ss PulseSequence {
IsttokShotShot_TorPSDisable = PCF_RELAY_OFF; IsttokShotShot_TorPSDisable = PCF_RELAY_OFF;
pvPut(IsttokShotShot_TorPSDisable); pvPut(IsttokShotShot_TorPSDisable);
IsttokTMPump2_Motor = PCF_RELAY_OFF;
pvPut(IsttokTMPump2_Motor);
IsttokShotShot_TorPSTrigger= OFF; IsttokShotShot_TorPSTrigger= OFF;
pvPut(IsttokShotShot_TorPSTrigger); pvPut(IsttokShotShot_TorPSTrigger);
@@ -302,17 +299,14 @@ ss PulseSequence {
IsttokTMPump1_MotorOn = OFF; IsttokTMPump1_MotorOn = OFF;
pvPut(IsttokTMPump1_MotorOn); pvPut(IsttokTMPump1_MotorOn);
/* CHECK PRIMARY PRESSURES AND PREVENT STARTING IF REQUIRED TODO: Unfold ifs IsttokTMPump2_Motor = PCF_RELAY_OFF;
if( (pvStatus(IsttokRPump1_Pressure) != pvStatOK) && (pvStatus(IsttokRPump1_Pressure) != pvStatOK)) { pvPut(IsttokTMPump2_Motor);
IsttokOPREQ = STOP;
pvPut(IsttokOPREQ);
}
*/
if ((IsttokTMPump1_Power == PCF_INPUT_OFF)) { if ((IsttokTMPump1_Power == PCF_INPUT_OFF)) {
strcpy(msg, "TMP1 Controller is OFF"); strcpy(msg, "TMP1 Controller is OFF");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
}else{ } else{
strcpy(msg, "TMP1 Controller is ON"); strcpy(msg, "TMP1 Controller is ON");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -323,26 +317,16 @@ ss PulseSequence {
pvPut(msg); pvPut(msg);
errlogSevPrintf(MINOR, "%s\n",msg); errlogSevPrintf(MINOR, "%s\n",msg);
/* State change to Stopping */ /* State change to Stopping */
IsttokOPSTATE = POS_Stopping; // IsttokOPSTATE = POS_Stopping;
pvPut(IsttokOPSTATE); // pvPut(IsttokOPSTATE);
} state Stopping } state Stopping
when (delay(5) && IsttokOPREQ == START ) { when (delay(5) && IsttokOPREQ == START ) {
strcpy(msg, "State to Starting"); strcpy(msg, "State to Starting");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
/*
IsttokRPump1_Motor = PCF_RELAY_OFF;
pvPut(IsttokRPump1_Motor);
IsttokRPump2_Motor = PCF_RELAY_OFF;
pvPut(IsttokRPump2_Motor);
IsttokRPump1_Valve = PCF_RELAY_OFF;
pvPut(IsttokRPump1_Valve);
IsttokRPump2_Valve = PCF_RELAY_OFF;
pvPut(IsttokRPump2_Valve);
*/
/* State change to Starting */ /* State change to Starting */
IsttokOPSTATE = POS_Starting; // IsttokOPSTATE = POS_Starting;
pvPut(IsttokOPSTATE); // pvPut(IsttokOPSTATE);
} state Starting } state Starting
} }
/* State Stopped */ /* State Stopped */
@@ -351,15 +335,7 @@ ss PulseSequence {
IsttokLastOPSTATE = POS_Stopped; IsttokLastOPSTATE = POS_Stopped;
pvPut(IsttokLastOPSTATE); pvPut(IsttokLastOPSTATE);
} }
when ((IsttokOPREQ == START) && (IsttokEmergency == OFF)) { when(IsttokEmergency == ON){
strcpy(msg, "State to Starting");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
/* Pulse state change to Starting */
IsttokOPSTATE = POS_Starting;
pvPut(IsttokOPSTATE);
} state Starting
when((IsttokEmergency == ON)){
strcpy(msg, "Emergency from Stopped"); strcpy(msg, "Emergency from Stopped");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -367,6 +343,14 @@ ss PulseSequence {
IsttokOPSTATE = POS_Stopped; IsttokOPSTATE = POS_Stopped;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
} state Emergency } state Emergency
when (IsttokOPREQ == START) {
strcpy(msg, "State to Starting");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
/* Pulse state change to Starting */
// IsttokOPSTATE = POS_Starting;
// pvPut(IsttokOPSTATE);
} state Starting
} }
/* State Starting */ /* State Starting */
state Starting { state Starting {
@@ -377,7 +361,7 @@ ss PulseSequence {
when(IsttokEmergency == ON) { when(IsttokEmergency == ON) {
strcpy(msg, "Emergency from Starting"); strcpy(msg, "Emergency from Starting");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(MAJOR, "%s\n",msg);
/* Pulse state change to Emergency*/ /* Pulse state change to Emergency*/
// IsttokOPSTATE = POS_Starting; // IsttokOPSTATE = POS_Starting;
// pvPut(IsttokOPSTATE); // pvPut(IsttokOPSTATE);
@@ -387,16 +371,16 @@ ss PulseSequence {
pvPut(msg); pvPut(msg);
errlogSevPrintf(MINOR, "%s\n",msg); errlogSevPrintf(MINOR, "%s\n",msg);
/* Pulse state change to Stopping */ /* Pulse state change to Stopping */
IsttokOPSTATE = POS_Stopping; // IsttokOPSTATE = POS_Stopping;
pvPut(IsttokOPSTATE); // pvPut(IsttokOPSTATE);
} state Stopping } state Stopping
when (STARTINGSTATE == STRST_StartingEnd ) { when (STARTINGSTATE == STRST_StartingEnd ) {
strcpy(msg, "State to Process"); strcpy(msg, "State to Process");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
/* Pulse state change to Process*/ /* Pulse state change to Process*/
IsttokOPSTATE = POS_Process; // IsttokOPSTATE = POS_Process;
pvPut(IsttokOPSTATE); // pvPut(IsttokOPSTATE);
} state Process } state Process
} }
/* State Process */ /* State Process */
@@ -412,113 +396,132 @@ ss PulseSequence {
when(IsttokEmergency == ON){ when(IsttokEmergency == ON){
strcpy(msg, "Emergency from Process"); strcpy(msg, "Emergency from Process");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(MAJOR, "%s\n",msg);
/* Pulse state change to Emergency*/ /* Pulse state change to Emergency*/
} state Emergency } state Emergency
when ( pvStatus(IsttokRPump1_Pressure) != pvStatOK || pvStatus(IsttokRPump2_Pressure) != pvStatOK || pvStatus(IsttokTMPump2_Emergency) != pvStatOK) { when ( pvStatus(IsttokRPump1_Pressure) != pvStatOK || pvStatus(IsttokRPump2_Pressure) != pvStatOK ||
pvStatus(IsttokTMPump1_Emergency) != pvStatOK || pvStatus(IsttokTMPump2_Emergency) != pvStatOK) {
/* Vacuum emergency: Pulse state change to Stopping */ /* Vacuum emergency: Pulse state change to Stopping */
IsttokOPSTATE = POS_Stopping; IsttokOPREQ = STOP;
pvPut(IsttokOPSTATE); pvPut(IsttokOPREQ);
} state Stopping } state Stopping
when (IsttokOPREQ==STOP || IsttokTMPump1_ManualValve == OFF) { when (IsttokOPREQ==STOP || IsttokTMPump1_ManualValve == OFF) {
/*Just to be sure */ /*Just to be sure */
IsttokProcReq = STOP; // IsttokProcReq = STOP;
pvPut(IsttokProcReq); // pvPut(IsttokProcReq);
strcpy(msg, "State to Stopping"); strcpy(msg, "State to Stopping");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(MINOR, "%s\n",msg);
// pvPut(msg);
// errlogSevPrintf(NO_ALARM, "%s\n",msg);
// strcpy(msg, "Toroidal Shot Disable");
// pvPut(msg);
// errlogSevPrintf(NO_ALARM, "%s\n",msg);
//IsttokShotShot_TorPSDisable = PCF_RELAY_OFF;
//pvPut(IsttokShotShot_TorPSDisable);
/* Pulse state change to Stopping */ /* Pulse state change to Stopping */
IsttokOPSTATE = POS_Stopping; // IsttokOPSTATE = POS_Stopping;
pvPut(IsttokOPSTATE); // pvPut(IsttokOPSTATE);
} state Stopping } state Stopping
when (IsttokProcReq==START && IsttokProcMode==CLEAN ) { when (IsttokProcReq==START && IsttokProcMode==CLEAN ) {
strcpy(msg, "State to Clean"); strcpy(msg, "State to Clean");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
// strcpy(msg, "Toroidal Shot Disable");
// pvPut(msg);
// errlogSevPrintf(NO_ALARM, "%s\n",msg);
//IsttokShotShot_TorPSDisable = PCF_RELAY_OFF;
//pvPut(IsttokShotShot_TorPSDisable);
/* Pulse state change to Clean */ /* Pulse state change to Clean */
IsttokOPSTATE = POS_Clean;
pvPut(IsttokOPSTATE);
} state Clean } state Clean
when (IsttokProcReq==START && IsttokProcMode==SHOT ) { when (IsttokProcReq==START && IsttokProcMode==SHOT ) {
strcpy(msg, "State to WaitShot"); strcpy(msg, "State to WaitShot");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
strcpy(msg, "Toroidal Shot Enable");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokShotShot_TorPSDisable = PCF_RELAY_ON;
pvPut(IsttokShotShot_TorPSDisable);
/* Pulse state change to WaitShot */ /* Pulse state change to WaitShot */
IsttokOPSTATE = POS_WaitShot;
pvPut(IsttokOPSTATE);
} state WaitShot } state WaitShot
} }
/* State Clean */ /* State Clean */
state Clean { state Clean {
when ( IsttokOPREQ == STOP || IsttokProcReq==STOP) { entry{
IsttokOPSTATE = POS_Clean;
pvPut(IsttokOPSTATE);
}
when (IsttokProcReq==STOP ) {
strcpy(msg, "State to Process"); strcpy(msg, "State to Process");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
/*Just to be sure */
IsttokProcReq = STOP;
pvPut(IsttokProcReq);
/* Pulse state change to Process */
IsttokOPSTATE = POS_Process;
pvPut(IsttokOPSTATE);
} state Process } state Process
when (IsttokOPREQ == STOP) {} state Stopping
when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK ||
pvStatus(IsttokTMPump2_Emergency) != pvStatOK) {
/* Vacuum emergency: Pulse state change to Stopping */
IsttokOPREQ = STOP;
pvPut(IsttokOPREQ);
strcpy(msg, "State to Stopping");
pvPut(msg);
errlogSevPrintf(MAJOR, "%s\n",msg);
} state Stopping
when(IsttokEmergency == ON){ when(IsttokEmergency == ON){
strcpy(msg, "Emergency from Clean"); strcpy(msg, "Emergency from Clean");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(MAJOR, "%s\n",msg);
/* Pulse state change to Emergency*/ /* Pulse state change to Emergency*/
IsttokOPSTATE = POS_Clean;
pvPut(IsttokOPSTATE);
} state Emergency } state Emergency
} }
/* State WaitShot */ /* State WaitShot */
state WaitShot { state WaitShot {
when ( (IsttokOPREQ==STOP) || (IsttokProcReq==STOP) ) { entry{
strcpy(msg, "State to Process"); strcpy(msg, "Toroidal Shot Enable");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
/*Just to be sure*/ IsttokShotShot_TorPSDisable = PCF_RELAY_ON;
IsttokProcReq = STOP; pvPut(IsttokShotShot_TorPSDisable);
pvPut(IsttokProcReq);
/* Pulse state change to Process */
IsttokOPSTATE = POS_Process;
pvPut(IsttokOPSTATE);
} state Process
when((IsttokEmergency == ON)){
strcpy(msg, "Emergency from WaitShot");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
/* Pulse state change to Emergency*/
IsttokOPSTATE = POS_WaitShot; IsttokOPSTATE = POS_WaitShot;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
}
when(IsttokEmergency == ON){
strcpy(msg, "Emergency from WaitShot");
pvPut(msg);
errlogSevPrintf(MAJOR, "%s\n",msg);
/* Pulse state change to Emergency*/
} state Emergency } state Emergency
when (IsttokProcReq==STOP ) {
strcpy(msg, "State to Process");
pvPut(msg);
errlogSevPrintf(MINOR, "%s\n",msg);
} state Process
when (IsttokOPREQ == STOP) {
/* Pulse state change to Stopping */
} state Stopping
when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK ||
pvStatus(IsttokTMPump2_Emergency) != pvStatOK) {
/* Vacuum emergency: Pulse state change to Stopping */
IsttokOPREQ = STOP;
pvPut(IsttokOPREQ);
strcpy(msg, "State to Stopping");
pvPut(msg);
errlogSevPrintf(MAJOR, "%s\n",msg);
} state Stopping
} }
/* State Stopping */ /* State Stopping */
state Stopping { state Stopping {
entry{ entry{
/*Just to be sure */
IsttokProcReq = STOP;
pvPut(IsttokProcReq);
IsttokOPSTATE = POS_Stopping;
pvPut(IsttokOPSTATE);
IsttokLastOPSTATE = POS_Stopping; IsttokLastOPSTATE = POS_Stopping;
pvPut(IsttokLastOPSTATE); pvPut(IsttokLastOPSTATE);
} }
when (IsttokOPREQ == START ) {
strcpy(msg, "State to Starting");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
/* State change to Starting */
IsttokOPSTATE = POS_Starting;
pvPut(IsttokOPSTATE);
} state Starting
when (STOPPINGSTATE == STPST_Stopping3) { when (STOPPINGSTATE == STPST_Stopping3) {
IsttokOPSTATE = POS_Stopped; IsttokOPSTATE = POS_Stopped;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
@@ -528,9 +531,9 @@ ss PulseSequence {
/*State Emergency*/ /*State Emergency*/
state Emergency { state Emergency {
entry { entry {
strcpy(msg, "Toroidal Shot Disable"); strcpy(msg, "Emergency Toroidal Shot Disable");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(MAJOR, "%s\n",msg);
IsttokShotShot_TorPSDisable = PCF_RELAY_OFF; IsttokShotShot_TorPSDisable = PCF_RELAY_OFF;
pvPut(IsttokShotShot_TorPSDisable); pvPut(IsttokShotShot_TorPSDisable);
@@ -554,7 +557,7 @@ ss PulseSequence {
strcpy(msg, "EMERGENCY: Filament OFF"); strcpy(msg, "EMERGENCY: Filament OFF");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(MAJOR, "%s\n",msg);
IsttokShotVVessel_Filament = PCF_RELAY_OFF; IsttokShotVVessel_Filament = PCF_RELAY_OFF;
pvPut(IsttokShotVVessel_Filament); pvPut(IsttokShotVVessel_Filament);
} }
@@ -577,7 +580,7 @@ ss PulseSequence {
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
} state Process } state Process
when (delay(1.0) && (IsttokEmergency == OFF) && (IsttokOPSTATE == POS_Starting)){ when (delay(1.0) && (IsttokEmergency == OFF) && (IsttokOPSTATE == POS_Starting)){
// TODO Check these 2 transictions
strcpy(msg, "State to Stopped"); strcpy(msg, "State to Stopped");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -669,8 +672,7 @@ ss StartingSequence {
STARTINGSTATE = STRST_NonStarting; STARTINGSTATE = STRST_NonStarting;
pvPut(STARTINGSTATE); pvPut(STARTINGSTATE);
} state NonStarting } state NonStarting
when ( (pvStatus(IsttokRPump1_Pressure) == pvStatOK) && (pvStatus(IsttokRPump1_Pressure) == pvStatOK)) { when ( (pvStatus(IsttokRPump1_Pressure) == pvStatOK) && (pvStatus(IsttokRPump2_Pressure) == pvStatOK)) {
/* TODO unfold when when (((IsttokRPump1_Pressure < IsttokRPump1_PressureLowLimit) && (IsttokRPump2_Pressure < IsttokRPump2_PressureLowLimit)) ) { */
strcpy(msg, "TMP1 MotorOn ON" ); strcpy(msg, "TMP1 MotorOn ON" );
pvPut(msg); pvPut(msg);
@@ -705,7 +707,7 @@ ss StartingSequence {
//IsttokSTARTINGSTATE = STRST_NonStarting; //IsttokSTARTINGSTATE = STRST_NonStarting;
//pvPut(IsttokSTARTINGSTATE); //pvPut(IsttokSTARTINGSTATE);
} state NonStarting } state NonStarting
when (IsttokTMPump1_NormalOperation == PCF_INPUT_ON) { when (IsttokTMPump1_NormalOperation == PCF_INPUT_ON) { // TODO insert TMP2 Test
strcpy(msg, "TMP1 operating Normal"); strcpy(msg, "TMP1 operating Normal");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -715,11 +717,8 @@ ss StartingSequence {
} }
state StartingEnd { state StartingEnd {
when (IsttokOPSTATE != POS_Starting ) { when (IsttokOPSTATE != POS_Starting ) {
//strcpy(msg, "State to Process"); STARTINGSTATE = STRST_NonStarting;
// pvPut(msg); pvPut(STARTINGSTATE);
//errlogSevPrintf(NO_ALARM, "%s\n",msg);
//IsttokSTARTINGSTATE = STRST_NonStarting;
//pvPut(IsttokSTARTINGSTATE);
} state NonStarting } state NonStarting
} }
} }
@@ -886,19 +885,16 @@ ss ShotSequence {
} state ShotWaitTrg } state ShotWaitTrg
} }
state ShotWaitTrg { state ShotWaitTrg {
when ((IsttokShotCountdown > 1800) || (IsttokOPSTATE != POS_WaitShot)) { // when ((IsttokShotCountdown > 1800) || (IsttokOPSTATE != POS_WaitShot)) {
strcpy(msg, "Shoting Out"); strcpy(msg, "Shooting Out");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
strcpy(IsttokShotCountdownScan, "Passive");
pvPut(IsttokShotCountdownScan);
IsttokProcReq = STOP; IsttokProcReq = STOP;
pvPut(IsttokProcReq); pvPut(IsttokProcReq);
WSHOTINGSTATE = WSHTST_NonShoting; WSHOTINGSTATE = WSHTST_NonShoting;
pvPut(WSHOTINGSTATE); pvPut(WSHOTINGSTATE);
IsttokOPSTATE = POS_Process;
pvPut(IsttokOPSTATE);
} state NonShoting } state NonShoting
when( IsttokTTSystem_tzero == 0 ){ when( IsttokTTSystem_tzero == 0 ){
strcpy(msg, "Trigger received..."); strcpy(msg, "Trigger received...");
pvPut(msg); pvPut(msg);
@@ -1130,7 +1126,16 @@ ss StoppingSequence {
pvPut(STOPPINGSTATE); pvPut(STOPPINGSTATE);
*/ */
} state NonStopping } state NonStopping
/*
when (delay(5) && IsttokOPREQ==START ) {
strcpy(msg, "State to Starting");
pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg);
/* State change to Starting
IsttokOPSTATE = POS_Starting;
pvPut(IsttokOPSTATE);
} state NonStopping
*/
when (delay(5.0) && IsttokTMPump1_ManualValve==OFF) { when (delay(5.0) && IsttokTMPump1_ManualValve==OFF) {
strcpy(msg, "Manual Valve Closed Checked"); strcpy(msg, "Manual Valve Closed Checked");
pvPut(msg); pvPut(msg);

View File

@@ -51,8 +51,8 @@ ISTTOKrpi_LIBS += ISTTOKrpiSupport
# To build SNL programs, SNCSEQ must be defined # To build SNL programs, SNCSEQ must be defined
# in the <top>/configure/RELEASE file # in the <top>/configure/RELEASE file
ifneq ($(SNCSEQ),) ifneq ($(SNCSEQ),)
# Build sncExample into ISTTOKrpiSupport # Build sncExample into ISTTOKrpiSupport , Safe Mode : +s
IsttokSeqExec_SNCFLAGS += +r IsttokSeqExec_SNCFLAGS += +r +s
ISTTOKrpi_DBD += IsttokSeqExec.dbd ISTTOKrpi_DBD += IsttokSeqExec.dbd
# A .stt sequence program is *not* pre-processed: # A .stt sequence program is *not* pre-processed:
ISTTOKrpiSupport_SRCS += IsttokSeqExec.stt ISTTOKrpiSupport_SRCS += IsttokSeqExec.stt

View File

@@ -44,14 +44,14 @@ dbLoadRecords("db/ISTTOKpfeiffer.db","P=ISTTOK:,R=central:,bus=RS0")
#traceIocInit #traceIocInit
#save_restoreSet_status_prefix("$(IOC):") #save_restoreSet_status_prefix("$(IOC):")
save_restoreSet_status_prefix("xxx:") save_restoreSet_status_prefix("ISTTOK:")
set_requestfile_path("$(SAVE_DIR)") set_requestfile_path("$(SAVE_DIR)")
set_savefile_path("$(SAVE_DIR)/save") set_savefile_path("$(SAVE_DIR)/save")
save_restoreSet_NumSeqFiles(3) save_restoreSet_NumSeqFiles(3)
save_restoreSet_SeqPeriodInSeconds(600) save_restoreSet_SeqPeriodInSeconds(600)
set_pass2_restoreFile("$(IOC).sav") set_pass0_restoreFile("$(IOC).sav")
set_pass1_restoreFile("$(IOC).sav") set_pass1_restoreFile("$(IOC).sav")
dbLoadRecords("$(AUTOSAVE)/asApp/Db/save_restoreStatus.db", "P=xxx:") dbLoadRecords("$(AUTOSAVE)/asApp/Db/save_restoreStatus.db", "P=ISTTOK:")
cd "${TOP}/iocBoot/${IOC}" cd "${TOP}/iocBoot/${IOC}"
@@ -65,5 +65,5 @@ iocInit
# makeAutosaveFileFromDbInfo("$(SAVE_DIR)/$(IOC).req", "autosaveFields") # makeAutosaveFileFromDbInfo("$(SAVE_DIR)/$(IOC).req", "autosaveFields")
create_monitor_set("$(IOC).req", 30) create_monitor_set("$(IOC).req", 30)
## Start any sequence programs ## Start any sequence programs , use safe mode
seq IsttokSeqExec seq IsttokSeqExec

View File

@@ -1,9 +1,9 @@
Terminator=CR; Terminator=CR;
MaxInput = 20; MaxInput = 20;
#in millisecond # in millisecond
#ReadTimeout = 2000; #ReadTimeout = 2000;
ReplyTimeout = 200; ReplyTimeout = 250;
# Using redirection to read 2 records, mantissa and exponent # Using redirection to read 2 records, mantissa and exponent
getPressure001 { getPressure001 {