Changed state machine
This commit is contained in:
@@ -135,7 +135,8 @@ record(fanout, "$(P)$(R)PCF8574:57:REGISTER:READ:FNOUT"){
|
|||||||
}
|
}
|
||||||
record(bi , "$(P)$(R)TMPump2-Emergency") {
|
record(bi , "$(P)$(R)TMPump2-Emergency") {
|
||||||
field(DESC," TMP2 – Falha ")
|
field(DESC," TMP2 – Falha ")
|
||||||
field(INP, "$(P)$(R)PCF8574:57:REGISTER:READ.B0 NPP NMS")
|
# field(INP, "$(P)$(R)PCF8574:57:REGISTER:READ.B0 NPP NMS")
|
||||||
|
field(VAL,"1")
|
||||||
field(ZNAM, "ON" )
|
field(ZNAM, "ON" )
|
||||||
field(ONAM, "OFF" )
|
field(ONAM, "OFF" )
|
||||||
field(ZSV,"MAJOR")
|
field(ZSV,"MAJOR")
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ record(calc, "$(P)$(R)STARTCALCSTATE") {
|
|||||||
field(INPA,"$(P)$(R)STARTINGSTATE.VAL PP NMS")
|
field(INPA,"$(P)$(R)STARTINGSTATE.VAL PP NMS")
|
||||||
}
|
}
|
||||||
|
|
||||||
record(calc, "$(P)$(R)STOPCALCSTATE") {
|
record(calc, "$(P)$(R)STOPPINGCALCSTATE") {
|
||||||
field(DESC, "Stop Calculated State")
|
field(DESC, "Stop Calculated State")
|
||||||
field(CALC,"2^A")
|
field(CALC,"2^A")
|
||||||
field(SCAN,"1 second")
|
field(SCAN,"1 second")
|
||||||
@@ -78,12 +78,6 @@ record(calc, "$(P)$(R)CLEANCALCSTATE") {
|
|||||||
field(INPA,"$(P)$(R)CLEANINGSTATE.VAL PP NMS")
|
field(INPA,"$(P)$(R)CLEANINGSTATE.VAL PP NMS")
|
||||||
}
|
}
|
||||||
|
|
||||||
#record(calc, "$(P)$(R)OPCALCMCLEANSTATE") {
|
|
||||||
# field(DESC, "Clean Manual Calculated State")
|
|
||||||
# field(CALC,"2^A")
|
|
||||||
# field(SCAN,"1 second")
|
|
||||||
# field(INPA,"$(P)$(R)CLEANINGSTATE.VAL PP NMS")
|
|
||||||
#}
|
|
||||||
|
|
||||||
record(calc, "$(P)$(R)WSHOTCALCSTATE") {
|
record(calc, "$(P)$(R)WSHOTCALCSTATE") {
|
||||||
field(DESC, "WaitShot Calculated State")
|
field(DESC, "WaitShot Calculated State")
|
||||||
@@ -253,7 +247,7 @@ record(mbbi, "$(P)$(R)STOPPINGSTATE") {
|
|||||||
field(THVL, "3")
|
field(THVL, "3")
|
||||||
field(FRVL, "4")
|
field(FRVL, "4")
|
||||||
field(FVVL, "5")
|
field(FVVL, "5")
|
||||||
field(ZRST, "NonStopped")
|
field(ZRST, "NonStopping")
|
||||||
field(ONST, "Stopping1")
|
field(ONST, "Stopping1")
|
||||||
field(TWST, "Stopping2")
|
field(TWST, "Stopping2")
|
||||||
field(THST, "Stopping3")
|
field(THST, "Stopping3")
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Project : ISTTOK slow Control
|
* Project : ISTTOK slow Control Sequencer
|
||||||
|
* Docs: https://www-csr.bessy.de/control/SoftDist/sequencer/
|
||||||
*
|
*
|
||||||
* File : $Id$
|
* File : $Id$
|
||||||
* Description : Pulse Sequence State Machine
|
* Description : Pulse Sequence State Machine
|
||||||
@@ -29,7 +30,7 @@ short STRST_Starting1 = 1;
|
|||||||
short STRST_Starting2 = 2;
|
short STRST_Starting2 = 2;
|
||||||
short STRST_Starting3 = 3;
|
short STRST_Starting3 = 3;
|
||||||
short STRST_Starting4 = 4;
|
short STRST_Starting4 = 4;
|
||||||
short STRST_Starting5 = 5;
|
short STRST_StartingEnd = 5;
|
||||||
|
|
||||||
short CLNST_NonCleaning = 0;
|
short CLNST_NonCleaning = 0;
|
||||||
short CLNST_Cleaning1 = 1;
|
short CLNST_Cleaning1 = 1;
|
||||||
@@ -102,21 +103,21 @@ monitor IsttokProcReq;
|
|||||||
|
|
||||||
short STARTINGSTATE;
|
short STARTINGSTATE;
|
||||||
assign STARTINGSTATE to "ISTTOK:central:STARTINGSTATE";
|
assign STARTINGSTATE to "ISTTOK:central:STARTINGSTATE";
|
||||||
//monitor STARTINGSTATE;
|
monitor STARTINGSTATE;
|
||||||
|
|
||||||
short CLEANINGSTATE;
|
short CLEANINGSTATE;
|
||||||
assign CLEANINGSTATE to "ISTTOK:central:CLEANINGSTATE";
|
assign CLEANINGSTATE to "ISTTOK:central:CLEANINGSTATE";
|
||||||
|
|
||||||
short CLEANINGMANMODE;
|
short CLEANINGMANMODE;
|
||||||
assign CLEANINGMANMODE to "ISTTOK:central:CLEANINGMANMODE";
|
assign CLEANINGMANMODE to "ISTTOK:central:CLEANINGMANMODE";
|
||||||
//monitor CLEANINGMANMODE;
|
monitor CLEANINGMANMODE;
|
||||||
|
|
||||||
short WSHOTINGSTATE;
|
short WSHOTINGSTATE;
|
||||||
assign WSHOTINGSTATE to "ISTTOK:central:WSHOTINGSTATE";
|
assign WSHOTINGSTATE to "ISTTOK:central:WSHOTINGSTATE";
|
||||||
|
|
||||||
short IsttokSTOPPINGSTATE;
|
short STOPPINGSTATE;
|
||||||
assign IsttokSTOPPINGSTATE to "ISTTOK:central:STOPPINGSTATE";
|
assign STOPPINGSTATE to "ISTTOK:central:STOPPINGSTATE";
|
||||||
//monitor IsttokSTOPPINGSTATE;
|
monitor STOPPINGSTATE;
|
||||||
|
|
||||||
short IsttokRPump1_Motor;
|
short IsttokRPump1_Motor;
|
||||||
assign IsttokRPump1_Motor to "ISTTOK:central:RPump1-Motor";
|
assign IsttokRPump1_Motor to "ISTTOK:central:RPump1-Motor";
|
||||||
@@ -172,11 +173,7 @@ monitor IsttokRPump1_Pressure;
|
|||||||
float IsttokRPump2_Pressure;
|
float IsttokRPump2_Pressure;
|
||||||
assign IsttokRPump2_Pressure to "ISTTOK:central:RPump2-Pressure";
|
assign IsttokRPump2_Pressure to "ISTTOK:central:RPump2-Pressure";
|
||||||
monitor IsttokRPump2_Pressure;
|
monitor IsttokRPump2_Pressure;
|
||||||
/*
|
|
||||||
short IsttokPrimary_PressureCondition;
|
|
||||||
assign IsttokPrimary_PressureCondition to "ISTTOK:central:Primary-PressureCondition";
|
|
||||||
monitor IsttokPrimary_PressureCondition;
|
|
||||||
*/
|
|
||||||
short IsttokShotBuzzer;
|
short IsttokShotBuzzer;
|
||||||
assign IsttokShotBuzzer to "ISTTOK:central:Buzzer";
|
assign IsttokShotBuzzer to "ISTTOK:central:Buzzer";
|
||||||
|
|
||||||
@@ -229,12 +226,14 @@ short IsttokTTSystem_tzero;
|
|||||||
assign IsttokTTSystem_tzero to "ISTTOK:central:TTSystem-tzero";
|
assign IsttokTTSystem_tzero to "ISTTOK:central:TTSystem-tzero";
|
||||||
monitor IsttokTTSystem_tzero;
|
monitor IsttokTTSystem_tzero;
|
||||||
|
|
||||||
string tmp1_stat;
|
//string tmp1_stat;
|
||||||
|
|
||||||
/* Trace message record limited to 40 characters */
|
/* Trace message record limited to 40 characters */
|
||||||
string msg;
|
string msg;
|
||||||
assign msg to "ISTTOK:central:TraceMessage.VAL";
|
assign msg to "ISTTOK:central:TraceMessage.VAL";
|
||||||
monitor msg;
|
monitor msg;
|
||||||
|
|
||||||
|
/* Main Pulse State Set */
|
||||||
ss PulseSequence {
|
ss PulseSequence {
|
||||||
state init {
|
state init {
|
||||||
entry {
|
entry {
|
||||||
@@ -243,10 +242,6 @@ ss PulseSequence {
|
|||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
|
|
||||||
strcpy(msg, "Initializing...");
|
strcpy(msg, "Initializing...");
|
||||||
|
|
||||||
//IsttokPrimary_PressureCondition = 1;
|
|
||||||
//pvPut(IsttokPrimary_PressureCondition);
|
|
||||||
|
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
|
|
||||||
@@ -323,7 +318,7 @@ ss PulseSequence {
|
|||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
when ((delay(5)) && IsttokOPREQ == STOP) {
|
when (delay(5) && IsttokOPREQ == STOP) {
|
||||||
strcpy(msg, "State to Stopping");
|
strcpy(msg, "State to Stopping");
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
errlogSevPrintf(MINOR, "%s\n",msg);
|
errlogSevPrintf(MINOR, "%s\n",msg);
|
||||||
@@ -331,10 +326,11 @@ ss PulseSequence {
|
|||||||
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;
|
IsttokRPump1_Motor = PCF_RELAY_OFF;
|
||||||
pvPut(IsttokRPump1_Motor);
|
pvPut(IsttokRPump1_Motor);
|
||||||
IsttokRPump2_Motor = PCF_RELAY_OFF;
|
IsttokRPump2_Motor = PCF_RELAY_OFF;
|
||||||
@@ -343,6 +339,7 @@ ss PulseSequence {
|
|||||||
pvPut(IsttokRPump1_Valve);
|
pvPut(IsttokRPump1_Valve);
|
||||||
IsttokRPump2_Valve = PCF_RELAY_OFF;
|
IsttokRPump2_Valve = PCF_RELAY_OFF;
|
||||||
pvPut(IsttokRPump2_Valve);
|
pvPut(IsttokRPump2_Valve);
|
||||||
|
*/
|
||||||
/* State change to Starting */
|
/* State change to Starting */
|
||||||
IsttokOPSTATE = POS_Starting;
|
IsttokOPSTATE = POS_Starting;
|
||||||
pvPut(IsttokOPSTATE);
|
pvPut(IsttokOPSTATE);
|
||||||
@@ -373,7 +370,19 @@ ss PulseSequence {
|
|||||||
}
|
}
|
||||||
/* State Starting */
|
/* State Starting */
|
||||||
state Starting {
|
state Starting {
|
||||||
when ((IsttokOPREQ == STOP) && (IsttokEmergency == OFF)) {
|
entry{
|
||||||
|
IsttokOPSTATE = POS_Starting;
|
||||||
|
pvPut(IsttokOPSTATE);
|
||||||
|
}
|
||||||
|
when(IsttokEmergency == ON) {
|
||||||
|
strcpy(msg, "Emergency from Starting");
|
||||||
|
pvPut(msg);
|
||||||
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
|
/* Pulse state change to Emergency*/
|
||||||
|
// IsttokOPSTATE = POS_Starting;
|
||||||
|
// pvPut(IsttokOPSTATE);
|
||||||
|
} state Emergency
|
||||||
|
when (IsttokOPREQ == STOP) {
|
||||||
strcpy(msg, "State to Stopping");
|
strcpy(msg, "State to Stopping");
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
errlogSevPrintf(MINOR, "%s\n",msg);
|
errlogSevPrintf(MINOR, "%s\n",msg);
|
||||||
@@ -381,42 +390,39 @@ ss PulseSequence {
|
|||||||
IsttokOPSTATE = POS_Stopping;
|
IsttokOPSTATE = POS_Stopping;
|
||||||
pvPut(IsttokOPSTATE);
|
pvPut(IsttokOPSTATE);
|
||||||
} state Stopping
|
} state Stopping
|
||||||
when ((STARTINGSTATE == STRST_Starting5) ) {
|
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);
|
||||||
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 Process*/
|
/* Pulse state change to Process*/
|
||||||
IsttokOPSTATE = POS_Process;
|
IsttokOPSTATE = POS_Process;
|
||||||
pvPut(IsttokOPSTATE);
|
pvPut(IsttokOPSTATE);
|
||||||
} state Process
|
} state Process
|
||||||
when((IsttokEmergency == ON)){
|
|
||||||
strcpy(msg, "Emergency from Starting");
|
|
||||||
pvPut(msg);
|
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
|
||||||
/* Pulse state change to Emergency*/
|
|
||||||
IsttokOPSTATE = POS_Starting;
|
|
||||||
pvPut(IsttokOPSTATE);
|
|
||||||
} state Emergency
|
|
||||||
}
|
}
|
||||||
/* State Process */
|
/* State Process */
|
||||||
state Process {
|
state Process {
|
||||||
entry{
|
entry{
|
||||||
|
IsttokOPSTATE = POS_Process;
|
||||||
|
pvPut(IsttokOPSTATE);
|
||||||
IsttokLastOPSTATE = POS_Process;
|
IsttokLastOPSTATE = POS_Process;
|
||||||
pvPut(IsttokLastOPSTATE);
|
pvPut(IsttokLastOPSTATE);
|
||||||
IsttokShotShot_TorPSDisable = PCF_RELAY_OFF;
|
IsttokShotShot_TorPSDisable = PCF_RELAY_OFF;
|
||||||
pvPut(IsttokShotShot_TorPSDisable);
|
pvPut(IsttokShotShot_TorPSDisable);
|
||||||
}
|
}
|
||||||
when ( (pvStatus(IsttokRPump1_Pressure) != pvStatOK) || (pvStatus(IsttokRPump1_Pressure) != pvStatOK)) {
|
when(IsttokEmergency == ON){
|
||||||
/* Pulse state change to Stopping */
|
strcpy(msg, "Emergency from Process");
|
||||||
|
pvPut(msg);
|
||||||
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
|
/* Pulse state change to Emergency*/
|
||||||
|
} state Emergency
|
||||||
|
|
||||||
|
when ( pvStatus(IsttokRPump1_Pressure) != pvStatOK || pvStatus(IsttokRPump2_Pressure) != pvStatOK || pvStatus(IsttokTMPump2_Emergency) != pvStatOK) {
|
||||||
|
/* Vacuum emergency: Pulse state change to Stopping */
|
||||||
IsttokOPSTATE = POS_Stopping;
|
IsttokOPSTATE = POS_Stopping;
|
||||||
pvPut(IsttokOPSTATE);
|
pvPut(IsttokOPSTATE);
|
||||||
} 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);
|
||||||
@@ -435,7 +441,7 @@ ss PulseSequence {
|
|||||||
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);
|
||||||
@@ -448,7 +454,7 @@ ss PulseSequence {
|
|||||||
IsttokOPSTATE = POS_Clean;
|
IsttokOPSTATE = POS_Clean;
|
||||||
pvPut(IsttokOPSTATE);
|
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);
|
||||||
@@ -461,23 +467,10 @@ ss PulseSequence {
|
|||||||
IsttokOPSTATE = POS_WaitShot;
|
IsttokOPSTATE = POS_WaitShot;
|
||||||
pvPut(IsttokOPSTATE);
|
pvPut(IsttokOPSTATE);
|
||||||
} state WaitShot
|
} state WaitShot
|
||||||
when((IsttokEmergency == ON)){
|
|
||||||
strcpy(msg, "Emergency from Process");
|
|
||||||
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 Emergency*/
|
|
||||||
IsttokOPSTATE = POS_Process;
|
|
||||||
pvPut(IsttokOPSTATE);
|
|
||||||
} state Emergency
|
|
||||||
}
|
}
|
||||||
/* State Clean */
|
/* State Clean */
|
||||||
state Clean {
|
state Clean {
|
||||||
when ( (IsttokOPREQ == STOP) || (IsttokProcReq==STOP)) {
|
when ( IsttokOPREQ == STOP || 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);
|
||||||
@@ -522,22 +515,11 @@ ss PulseSequence {
|
|||||||
}
|
}
|
||||||
/* State Stopping */
|
/* State Stopping */
|
||||||
state Stopping {
|
state Stopping {
|
||||||
/* entry{
|
entry{
|
||||||
IsttokRPump1_Motor = PCF_RELAY_ON;
|
IsttokLastOPSTATE = POS_Stopping;
|
||||||
pvPut(IsttokRPump1_Motor);
|
pvPut(IsttokLastOPSTATE);
|
||||||
strcpy(msg, "Rotary Pumps 1/2 OFF");
|
|
||||||
pvPut(msg);
|
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
|
||||||
IsttokRPump2_Motor = PCF_RELAY_ON;
|
|
||||||
pvPut(IsttokRPump2_Motor);
|
|
||||||
//IsttokLastOPSTATE = POS_Process;
|
|
||||||
//pvPut(IsttokLastOPSTATE);
|
|
||||||
}
|
}
|
||||||
*/
|
when (STOPPINGSTATE == STPST_Stopping3) {
|
||||||
// } state Stopping
|
|
||||||
when (IsttokSTOPPINGSTATE == STPST_Stopping3) {
|
|
||||||
//IsttokSTOPPINGSTATE = STPST_Stopping1;
|
|
||||||
//pvPut(IsttokSTOPPINGSTATE);
|
|
||||||
IsttokOPSTATE = POS_Stopped;
|
IsttokOPSTATE = POS_Stopped;
|
||||||
pvPut(IsttokOPSTATE);
|
pvPut(IsttokOPSTATE);
|
||||||
} state Stopped
|
} state Stopped
|
||||||
@@ -576,8 +558,7 @@ ss PulseSequence {
|
|||||||
IsttokShotVVessel_Filament = PCF_RELAY_OFF;
|
IsttokShotVVessel_Filament = PCF_RELAY_OFF;
|
||||||
pvPut(IsttokShotVVessel_Filament);
|
pvPut(IsttokShotVVessel_Filament);
|
||||||
}
|
}
|
||||||
when (delay(1.0) && (IsttokEmergency == OFF) && ((IsttokOPSTATE == POS_WaitShot) || (IsttokOPSTATE==POS_Clean)) ){
|
when (delay(1.0) && (IsttokEmergency == OFF) && (IsttokOPSTATE == POS_WaitShot || IsttokOPSTATE==POS_Clean) ){
|
||||||
|
|
||||||
/* Pulse state change to Process */
|
/* Pulse state change to Process */
|
||||||
strcpy(msg, "State to Process");
|
strcpy(msg, "State to Process");
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
@@ -588,7 +569,6 @@ ss PulseSequence {
|
|||||||
pvPut(IsttokOPSTATE);
|
pvPut(IsttokOPSTATE);
|
||||||
} state Process
|
} state Process
|
||||||
when (delay(1.0) && (IsttokEmergency == OFF) && (IsttokOPSTATE == POS_Process)){
|
when (delay(1.0) && (IsttokEmergency == OFF) && (IsttokOPSTATE == POS_Process)){
|
||||||
|
|
||||||
/* Pulse state change to Process */
|
/* Pulse state change to Process */
|
||||||
strcpy(msg, "State to Process");
|
strcpy(msg, "State to Process");
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
@@ -674,7 +654,7 @@ ss StartingSequence {
|
|||||||
pvPut(STARTINGSTATE);
|
pvPut(STARTINGSTATE);
|
||||||
} state NonStarting
|
} state NonStarting
|
||||||
when (IsttokTMPump1_ManualValve == ON) {
|
when (IsttokTMPump1_ManualValve == ON) {
|
||||||
strcpy(msg, "Manual Valve Checked");
|
strcpy(msg, "Manual Valve Open Checked");
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
STARTINGSTATE = STRST_Starting3;
|
STARTINGSTATE = STRST_Starting3;
|
||||||
@@ -692,24 +672,17 @@ ss StartingSequence {
|
|||||||
when ( (pvStatus(IsttokRPump1_Pressure) == pvStatOK) && (pvStatus(IsttokRPump1_Pressure) == pvStatOK)) {
|
when ( (pvStatus(IsttokRPump1_Pressure) == pvStatOK) && (pvStatus(IsttokRPump1_Pressure) == pvStatOK)) {
|
||||||
/* TODO unfold when when (((IsttokRPump1_Pressure < IsttokRPump1_PressureLowLimit) && (IsttokRPump2_Pressure < IsttokRPump2_PressureLowLimit)) ) { */
|
/* TODO unfold when when (((IsttokRPump1_Pressure < IsttokRPump1_PressureLowLimit) && (IsttokRPump2_Pressure < IsttokRPump2_PressureLowLimit)) ) { */
|
||||||
|
|
||||||
//printf("Primary1 Pressure=%f\n",IsttokRPump1_Pressure);
|
|
||||||
//printf("Primary2 Pressure=%f\n",IsttokRPump2_Pressure);
|
|
||||||
|
|
||||||
// if(IsttokRPump1_Pressure < IsttokRPump1_PressureLowLimit){
|
|
||||||
strcpy(msg, "TMP1 MotorOn ON" );
|
strcpy(msg, "TMP1 MotorOn ON" );
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
IsttokTMPump1_MotorOn = ON;
|
IsttokTMPump1_MotorOn = ON;
|
||||||
pvPut(IsttokTMPump1_MotorOn);
|
pvPut(IsttokTMPump1_MotorOn);
|
||||||
// }
|
strcpy(msg, "TMP2 Motor ON" );
|
||||||
// if(IsttokRPump2_Pressure < IsttokRPump2_PressureLowLimit){
|
|
||||||
strcpy(msg, "TMP2 MotorOnOff ON" );
|
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
IsttokTMPump2_Motor = PCF_RELAY_ON;
|
IsttokTMPump2_Motor = PCF_RELAY_ON;
|
||||||
pvPut(IsttokTMPump2_Motor);
|
pvPut(IsttokTMPump2_Motor);
|
||||||
// }
|
/*
|
||||||
|
|
||||||
if(IsttokTMPump1_NormalOperation == PCF_INPUT_ON){
|
if(IsttokTMPump1_NormalOperation == PCF_INPUT_ON){
|
||||||
sprintf(tmp1_stat, "ON");
|
sprintf(tmp1_stat, "ON");
|
||||||
}else{
|
}else{
|
||||||
@@ -719,33 +692,32 @@ ss StartingSequence {
|
|||||||
sprintf(msg, "TMPNO = [1:%s]", tmp1_stat);
|
sprintf(msg, "TMPNO = [1:%s]", tmp1_stat);
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
|
*/
|
||||||
STARTINGSTATE = STRST_Starting4;
|
STARTINGSTATE = STRST_Starting4;
|
||||||
pvPut(STARTINGSTATE);
|
pvPut(STARTINGSTATE);
|
||||||
} state Starting4
|
} state Starting4
|
||||||
}
|
}
|
||||||
state Starting4 {
|
state Starting4 {
|
||||||
when ((IsttokOPSTATE != POS_Starting )) {
|
when (IsttokOPSTATE != POS_Starting ) {
|
||||||
strcpy(msg, "Starting4 Out");
|
strcpy(msg, "Starting4 Out");
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
//IsttokSTARTINGSTATE = STRST_NonStarting;
|
//IsttokSTARTINGSTATE = STRST_NonStarting;
|
||||||
//pvPut(IsttokSTARTINGSTATE);
|
//pvPut(IsttokSTARTINGSTATE);
|
||||||
} state NonStarting
|
} state NonStarting
|
||||||
when (IsttokTMPump1_NormalOperation == PCF_INPUT_ON) { // (IsttokPrimary_PressureCondition == 0) ||
|
when (IsttokTMPump1_NormalOperation == PCF_INPUT_ON) {
|
||||||
// if(IsttokTMPump1_NormalOperation == PCF_INPUT_ON){
|
|
||||||
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);
|
||||||
// }
|
STARTINGSTATE = STRST_StartingEnd;
|
||||||
STARTINGSTATE = STRST_Starting5;
|
|
||||||
pvPut(STARTINGSTATE);
|
pvPut(STARTINGSTATE);
|
||||||
} state Starting5
|
} state StartingEnd
|
||||||
}
|
}
|
||||||
state Starting5 {
|
state StartingEnd {
|
||||||
when ((IsttokOPSTATE != POS_Starting )) {
|
when (IsttokOPSTATE != POS_Starting ) {
|
||||||
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);
|
||||||
//IsttokSTARTINGSTATE = STRST_NonStarting;
|
//IsttokSTARTINGSTATE = STRST_NonStarting;
|
||||||
//pvPut(IsttokSTARTINGSTATE);
|
//pvPut(IsttokSTARTINGSTATE);
|
||||||
} state NonStarting
|
} state NonStarting
|
||||||
@@ -1130,31 +1102,33 @@ ss ShotSequence {
|
|||||||
ss StoppingSequence {
|
ss StoppingSequence {
|
||||||
state NonStopping {
|
state NonStopping {
|
||||||
entry {
|
entry {
|
||||||
IsttokSTOPPINGSTATE = STPST_NonStopping;
|
STOPPINGSTATE = STPST_NonStopping;
|
||||||
pvPut(IsttokSTOPPINGSTATE);
|
pvPut(STOPPINGSTATE);
|
||||||
}
|
}
|
||||||
when (IsttokOPSTATE == POS_Stopping) {
|
when (IsttokOPSTATE == POS_Stopping) {
|
||||||
strcpy(msg, "Stopping Mode: Stopping1");
|
strcpy(msg, "Stopping Mode: Stopping1");
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
// errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
|
|
||||||
IsttokTMPump1_MotorOff = ON;
|
IsttokTMPump1_MotorOff = ON;
|
||||||
pvPut(IsttokTMPump1_MotorOff);
|
pvPut(IsttokTMPump1_MotorOff);
|
||||||
|
|
||||||
IsttokTMPump2_Motor = PCF_RELAY_OFF;
|
IsttokTMPump2_Motor = PCF_RELAY_OFF;
|
||||||
pvPut(IsttokTMPump2_Motor);
|
pvPut(IsttokTMPump2_Motor);
|
||||||
IsttokSTOPPINGSTATE = STPST_Stopping1;
|
STOPPINGSTATE = STPST_Stopping1;
|
||||||
pvPut(IsttokSTOPPINGSTATE);
|
pvPut(STOPPINGSTATE);
|
||||||
} state Stopping1
|
} state Stopping1
|
||||||
}
|
}
|
||||||
state Stopping1 {
|
state Stopping1 {
|
||||||
when (IsttokOPSTATE != POS_Stopping ) {
|
when (IsttokOPSTATE != POS_Stopping ) {
|
||||||
|
/*
|
||||||
strcpy(msg, "Stopping Mode: NonStopping");
|
strcpy(msg, "Stopping Mode: NonStopping");
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
|
|
||||||
//IsttokSTOPPINGSTATE = STPST_NonStopping;
|
STOPPINGSTATE = STPST_NonStopping;
|
||||||
//pvPut(IsttokSTOPPINGSTATE);
|
pvPut(STOPPINGSTATE);
|
||||||
|
*/
|
||||||
} state NonStopping
|
} state NonStopping
|
||||||
|
|
||||||
when (delay(5.0) && IsttokTMPump1_ManualValve==OFF) {
|
when (delay(5.0) && IsttokTMPump1_ManualValve==OFF) {
|
||||||
@@ -1168,14 +1142,14 @@ ss StoppingSequence {
|
|||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
IsttokRPump2_Motor = PCF_RELAY_ON;
|
IsttokRPump2_Motor = PCF_RELAY_ON;
|
||||||
pvPut(IsttokRPump2_Motor);
|
pvPut(IsttokRPump2_Motor);
|
||||||
IsttokSTOPPINGSTATE = STPST_Stopping2;
|
STOPPINGSTATE = STPST_Stopping2;
|
||||||
pvPut(IsttokSTOPPINGSTATE);
|
pvPut(STOPPINGSTATE);
|
||||||
} state Stopping2
|
} state Stopping2
|
||||||
}
|
}
|
||||||
state Stopping2 {
|
state Stopping2 {
|
||||||
when (IsttokOPSTATE != POS_Stopping ) {
|
when (IsttokOPSTATE != POS_Stopping ) {
|
||||||
IsttokSTOPPINGSTATE = STPST_NonStopping;
|
// STOPPINGSTATE = STPST_NonStopping;
|
||||||
pvPut(IsttokSTOPPINGSTATE);
|
// pvPut(STOPPINGSTATE);
|
||||||
} state NonStopping
|
} state NonStopping
|
||||||
when (delay(5)) {
|
when (delay(5)) {
|
||||||
IsttokRPump1_Valve = PCF_RELAY_ON;
|
IsttokRPump1_Valve = PCF_RELAY_ON;
|
||||||
@@ -1185,17 +1159,20 @@ ss StoppingSequence {
|
|||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
IsttokRPump2_Valve = PCF_RELAY_ON;
|
IsttokRPump2_Valve = PCF_RELAY_ON;
|
||||||
pvPut(IsttokRPump2_Valve);
|
pvPut(IsttokRPump2_Valve);
|
||||||
IsttokSTOPPINGSTATE = STPST_Stopping3;
|
STOPPINGSTATE = STPST_Stopping3;
|
||||||
pvPut(IsttokSTOPPINGSTATE);
|
pvPut(STOPPINGSTATE);
|
||||||
} state Stopping3
|
} state Stopping3
|
||||||
}
|
}
|
||||||
state Stopping3 {
|
state Stopping3 {
|
||||||
when (IsttokOPSTATE != POS_Stopping ) {
|
when (IsttokOPSTATE != POS_Stopping ) {
|
||||||
IsttokSTOPPINGSTATE = STPST_NonStopping;
|
// STOPPINGSTATE = STPST_NonStopping;
|
||||||
pvPut(IsttokSTOPPINGSTATE);
|
// pvPut(STOPPINGSTATE);
|
||||||
} state NonStopping
|
} state NonStopping
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**** END PROGRAM ***/
|
||||||
|
|
||||||
/* when (IsttokShotCountdown > 159) {
|
/* when (IsttokShotCountdown > 159) {
|
||||||
strcpy(msg, "Toroidal Field Recovered" );
|
strcpy(msg, "Toroidal Field Recovered" );
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
|
|||||||
Reference in New Issue
Block a user