85 lines
1.8 KiB
Plaintext
85 lines
1.8 KiB
Plaintext
/*======================================================================
|
|
*
|
|
* Project : ISTTOK slow Control
|
|
*
|
|
* Description : ISTTOK sequence State Machine
|
|
*
|
|
*
|
|
* Author : Bernardo Carvalho (IPFN-IST)
|
|
*
|
|
* Copyright (c) : (IPFN-IST)
|
|
* Created 25-Feb-2013
|
|
*
|
|
* SVN keywords
|
|
* $Date: 2013-03-05 21:09:02 +0000 (Tue, 05 Mar 2013) $
|
|
* $Revision: 4553 $
|
|
* $URL: http://metis.ipfn.ist.utl.pt:8888/svn/cdaq/ISTTOK/Software/EPICS/ISTTOKcontrol/branches/quintal/ISTTOKApp/src/IsttokSequenceExecution.stt $
|
|
*
|
|
-======================================================================*/
|
|
program IsttokSequenceExecution
|
|
|
|
/* ISTTOK Array of Operating State PV - MBBI records */
|
|
short IsttokOPSTATE[1];
|
|
assign IsttokOPSTATE to {
|
|
"ISTTOK:central:OPSTATE"
|
|
};
|
|
monitor IsttokOPSTATE;
|
|
|
|
short POS_Stopped;
|
|
short POS_Starting;
|
|
short POS_Process;
|
|
short POS_Clean;
|
|
short POS_WaitShot;
|
|
short POS_Stopping;
|
|
|
|
/* ISTTOK Operation Request */
|
|
short IsttokOPREQ[1];
|
|
assign IsttokOPREQ to {
|
|
"ISTTOK:central:OPREQ"
|
|
};
|
|
monitor IsttokOPREQ;
|
|
|
|
/* "45FPSC-0001-POS:AUTHORISATION" */
|
|
|
|
/* Constants */
|
|
short ON;
|
|
short OFF;
|
|
short START;
|
|
short STOP;
|
|
short NO_ALARM;
|
|
short MINOR;
|
|
short MAJOR;
|
|
short INVALID;
|
|
|
|
/* Trace message record limited to 40 characters */
|
|
string msg;
|
|
assign msg to "ISTTOK:central:TraceMessage.VAL";
|
|
monitor msg;
|
|
|
|
/*
|
|
int i;
|
|
long j;
|
|
*/
|
|
/****************************************************************/
|
|
/* ISTTOK sequence State Set */
|
|
/****************************************************************/
|
|
|
|
ss ss1 {
|
|
state init {
|
|
when (delay(10)) {
|
|
printf("sncExample: Startup delay over\n");
|
|
} state low
|
|
}
|
|
state low {
|
|
when (delay(10)) {
|
|
printf("sncExample: Changing to high\n");
|
|
} state high
|
|
}
|
|
state high {
|
|
when (delay(10)) {
|
|
printf("sncExample: Changing to low\n");
|
|
} state low
|
|
}
|
|
}
|
|
|