added UPS Records

This commit is contained in:
Bernardo Carvalho
2021-11-29 17:27:13 +00:00
parent 2743219a13
commit 1a43cf78f0
7 changed files with 279 additions and 219 deletions

View File

@@ -92,6 +92,24 @@ record(calc, "$(P)$(R)WSHOTCALCSTATE") {
# field(SCAN,"1 second") # field(SCAN,"1 second")
#} #}
record(bo, "$(P)$(R)UPS-OnBattery") {
info(autosaveFields, "VAL STAT")
field(DESC, "Main APC UPS On Battery status")
field(VAL, "0")
field(ZNAM, "OFF")
field(ONAM, "ON")
field(OSV, "MAJOR")
}
record(bo, "$(P)$(R)UPS-Shutdown") {
info(autosaveFields, "VAL STAT")
field(DESC, "Main APC UPS Shutdown request")
# field(VAL, "0")
field(ZNAM, "OFF")
field(ONAM, "ON")
field(OSV, "MAJOR")
}
record(bo, "$(P)$(R)OPREQ") { record(bo, "$(P)$(R)OPREQ") {
info(autosaveFields, "VAL") info(autosaveFields, "VAL")
field(DESC, "Pulse Sequence Start/Stop") field(DESC, "Pulse Sequence Start/Stop")

View File

@@ -1,6 +1,7 @@
/** /** vim: set filetype=c :
* Use :SyntasticToggleMode
* *
* Project : ISTTOK slow Control Sequencer * Project : ISTTOK slow Control Sequencer
* Docs: https://www-csr.bessy.de/control/SoftDist/sequencer/ * Docs: https://www-csr.bessy.de/control/SoftDist/sequencer/
* *
* File : $Id$ * File : $Id$
@@ -16,7 +17,7 @@
* *
**/ **/
//%% #include "errlog.h" //%% #include "errlog.h"
program IsttokSeqExec program IsttokSeqExec
%{#include "errlog.h"}% %{#include "errlog.h"}%
/* CONSTANT DECLARATION*/ /* CONSTANT DECLARATION*/
@@ -26,7 +27,7 @@ short PCF_RELAY_OFF= 1;
short PCF_INPUT_ON = 0; short PCF_INPUT_ON = 0;
short PCF_INPUT_OFF= 1; short PCF_INPUT_OFF= 1;
short PCF_PULSE_ON = 1; short PCF_PULSE_ON = 1;
short STRST_NonStarting = 0; short STRST_NonStarting = 0;
short STRST_Starting1 = 1; short STRST_Starting1 = 1;
short STRST_Starting2 = 2; short STRST_Starting2 = 2;
@@ -65,12 +66,12 @@ short STPST_StoppingEnd = 4;
short POS_Stopped =0; short POS_Stopped =0;
short POS_Starting=1; short POS_Starting=1;
short POS_Process =2; short POS_Idle =2;
short POS_Clean =3; short POS_Clean =3;
short POS_WaitShot=4; short POS_WaitShot=4;
short POS_Stopping=5; short POS_Stopping=5;
short POS_Emergency=6; short POS_Emergency=6;
short ON=1; short ON=1;
short OFF=0; short OFF=0;
short START=1; short START=1;
@@ -82,31 +83,31 @@ short MINOR=1;
short MAJOR=2; short MAJOR=2;
short INVALID=3; short INVALID=3;
/* PV variables */ /* PV variables */
short IsttokOPSTATE; short IsttokOPSTATE;
assign IsttokOPSTATE to "ISTTOK:central:OPSTATE"; assign IsttokOPSTATE to "ISTTOK:central:OPSTATE";
monitor IsttokOPSTATE; monitor IsttokOPSTATE;
int PulseNumber; int PulseNumber;
assign PulseNumber to "ISTTOK:central:PULSE-NUMBER"; assign PulseNumber to "ISTTOK:central:PULSE-NUMBER";
monitor PulseNumber; monitor PulseNumber;
short IsttokLastOPSTATE; short IsttokLastOPSTATE;
assign IsttokLastOPSTATE to "ISTTOK:central:LASTOPSTATE"; assign IsttokLastOPSTATE to "ISTTOK:central:LASTOPSTATE";
monitor IsttokLastOPSTATE; monitor IsttokLastOPSTATE;
short IsttokOPREQ; short IsttokOPREQ;
assign IsttokOPREQ to "ISTTOK:central:OPREQ"; assign IsttokOPREQ to "ISTTOK:central:OPREQ";
monitor IsttokOPREQ; monitor IsttokOPREQ;
short IsttokProcMode; short IsttokProcMode;
assign IsttokProcMode to "ISTTOK:central:PROCESS-MODE"; assign IsttokProcMode to "ISTTOK:central:PROCESS-MODE";
monitor IsttokProcMode; monitor IsttokProcMode;
short IsttokProcReq; short IsttokProcReq;
assign IsttokProcReq to "ISTTOK:central:PROCESS-REQ"; assign IsttokProcReq to "ISTTOK:central:PROCESS-REQ";
monitor IsttokProcReq; monitor IsttokProcReq;
short STARTINGSTATE; short STARTINGSTATE;
assign STARTINGSTATE to "ISTTOK:central:STARTINGSTATE"; assign STARTINGSTATE to "ISTTOK:central:STARTINGSTATE";
monitor STARTINGSTATE; monitor STARTINGSTATE;
@@ -121,7 +122,7 @@ monitor CLEANINGMANMODE;
short WSHOTINGSTATE; short WSHOTINGSTATE;
assign WSHOTINGSTATE to "ISTTOK:central:WSHOTINGSTATE"; assign WSHOTINGSTATE to "ISTTOK:central:WSHOTINGSTATE";
short STOPPINGSTATE; short STOPPINGSTATE;
assign STOPPINGSTATE to "ISTTOK:central:STOPPINGSTATE"; assign STOPPINGSTATE to "ISTTOK:central:STOPPINGSTATE";
monitor STOPPINGSTATE; monitor STOPPINGSTATE;
@@ -150,8 +151,8 @@ assign IsttokTMPump1_MotorOff to "ISTTOK:central:TMPump1-MotorOff";
short IsttokTMPump1_MotorOn; short IsttokTMPump1_MotorOn;
assign IsttokTMPump1_MotorOn to "ISTTOK:central:TMPump1-MotorOn"; assign IsttokTMPump1_MotorOn to "ISTTOK:central:TMPump1-MotorOn";
short IsttokTMPump2_Motor; /*short IsttokTMPump2_Motor;*/
assign IsttokTMPump2_Motor to "ISTTOK:central:TMPump2-Motor"; /*assign IsttokTMPump2_Motor to "ISTTOK:central:TMPump2-Motor";*/
short TMPump1NormalOperation; short TMPump1NormalOperation;
assign TMPump1NormalOperation to "ISTTOK:central:TMPump1-NormalOperation"; assign TMPump1NormalOperation to "ISTTOK:central:TMPump1-NormalOperation";
@@ -212,37 +213,45 @@ assign IsttokShotClean_TorContactor to "ISTTOK:central:Clean-TorContactor";
short IsttokShotClean_TorPneuBreaker; short IsttokShotClean_TorPneuBreaker;
assign IsttokShotClean_TorPneuBreaker to "ISTTOK:central:Clean-TorPneuBreaker"; assign IsttokShotClean_TorPneuBreaker to "ISTTOK:central:Clean-TorPneuBreaker";
short IsttokShotShot_TorPSTrigger; short IsttokShotShot_TorPSTrigger;
assign IsttokShotShot_TorPSTrigger to "ISTTOK:central:Shot-TorPSTrigger"; assign IsttokShotShot_TorPSTrigger to "ISTTOK:central:Shot-TorPSTrigger";
monitor IsttokShotShot_TorPSTrigger; monitor IsttokShotShot_TorPSTrigger;
short IsttokShotShot_TorPSDisable; short IsttokShotShot_TorPSDisable;
assign IsttokShotShot_TorPSDisable to "ISTTOK:central:Shot-TorPSDisable"; assign IsttokShotShot_TorPSDisable to "ISTTOK:central:Shot-TorPSDisable";
short IsttokShotClean_PrimContactor; short IsttokShotClean_PrimContactor;
assign IsttokShotClean_PrimContactor to "ISTTOK:central:Clean-PrimContactor"; assign IsttokShotClean_PrimContactor to "ISTTOK:central:Clean-PrimContactor";
short IsttokShotClean_PrimPneuBreaker; short IsttokShotClean_PrimPneuBreaker;
assign IsttokShotClean_PrimPneuBreaker to "ISTTOK:central:Clean-PrimPneuBreaker"; assign IsttokShotClean_PrimPneuBreaker to "ISTTOK:central:Clean-PrimPneuBreaker";
short IsttokShotCountdown; short IsttokShotCountdown;
assign IsttokShotCountdown to "ISTTOK:central:COUNTDOWN"; assign IsttokShotCountdown to "ISTTOK:central:COUNTDOWN";
monitor IsttokShotCountdown; monitor IsttokShotCountdown;
string IsttokShotCountdownScan; string IsttokShotCountdownScan;
assign IsttokShotCountdownScan to "ISTTOK:central:COUNTDOWN.SCAN"; assign IsttokShotCountdownScan to "ISTTOK:central:COUNTDOWN.SCAN";
short IsttokEmergency; short IsttokEmergency;
assign IsttokEmergency to "ISTTOK:central:Emergency"; assign IsttokEmergency to "ISTTOK:central:Emergency";
monitor IsttokEmergency; monitor IsttokEmergency;
short IsttokTTSystem_tzero; 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;
short IsttokupsBatteryON;
assign IsttokupsBatteryON "{unit}:central:UPS-OnBattery";
monitor IsttokupsBatteryON;
short IsttokShutdown;
assign IsttokShutdown "ISTTOK:central:UPS-Shutdown";
monitor IsttokShutdown;
//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";
@@ -258,68 +267,68 @@ ss PulseSequence {
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);
strcpy(msg, "Initializing..."); strcpy(msg, "Initializing...");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokShotCountdown = 160; IsttokShotCountdown = 160;
pvPut(IsttokShotCountdown); pvPut(IsttokShotCountdown);
// 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);
IsttokShotClean_PrimContactor = PCF_RELAY_OFF; IsttokShotClean_PrimContactor = PCF_RELAY_OFF;
pvPut(IsttokShotClean_PrimContactor); pvPut(IsttokShotClean_PrimContactor);
IsttokShotClean_PrimPneuBreaker = PCF_RELAY_OFF; IsttokShotClean_PrimPneuBreaker = PCF_RELAY_OFF;
pvPut(IsttokShotClean_PrimPneuBreaker); pvPut(IsttokShotClean_PrimPneuBreaker);
IsttokShotBuzzer = PCF_RELAY_OFF; IsttokShotBuzzer = PCF_RELAY_OFF;
pvPut(IsttokShotBuzzer); pvPut(IsttokShotBuzzer);
IsttokShotCapBank_Charge = PCF_RELAY_OFF; IsttokShotCapBank_Charge = PCF_RELAY_OFF;
pvPut(IsttokShotCapBank_Charge); pvPut(IsttokShotCapBank_Charge);
IsttokShotCapBank_Discharge = PCF_RELAY_OFF; IsttokShotCapBank_Discharge = PCF_RELAY_OFF;
pvPut(IsttokShotCapBank_Discharge); pvPut(IsttokShotCapBank_Discharge);
IsttokShotVVessel_Filament = PCF_RELAY_OFF; IsttokShotVVessel_Filament = PCF_RELAY_OFF;
pvPut(IsttokShotVVessel_Filament); pvPut(IsttokShotVVessel_Filament);
IsttokShotGasIS_Valves = PCF_RELAY_OFF; IsttokShotGasIS_Valves = PCF_RELAY_OFF;
pvPut(IsttokShotGasIS_Valves); pvPut(IsttokShotGasIS_Valves);
IsttokShotLab_WarningLight = PCF_RELAY_OFF; IsttokShotLab_WarningLight = PCF_RELAY_OFF;
pvPut(IsttokShotLab_WarningLight); pvPut(IsttokShotLab_WarningLight);
IsttokShotClean_TorPneuBreaker = PCF_RELAY_OFF; IsttokShotClean_TorPneuBreaker = PCF_RELAY_OFF;
pvPut(IsttokShotClean_TorPneuBreaker); pvPut(IsttokShotClean_TorPneuBreaker);
IsttokShotClean_TorContactor = PCF_RELAY_OFF; IsttokShotClean_TorContactor = PCF_RELAY_OFF;
pvPut(IsttokShotClean_TorContactor); pvPut(IsttokShotClean_TorContactor);
IsttokShotShot_TorPSDisable = PCF_RELAY_OFF; IsttokShotShot_TorPSDisable = PCF_RELAY_OFF;
pvPut(IsttokShotShot_TorPSDisable); pvPut(IsttokShotShot_TorPSDisable);
IsttokShotShot_TorPSTrigger= OFF; IsttokShotShot_TorPSTrigger= OFF;
pvPut(IsttokShotShot_TorPSTrigger); pvPut(IsttokShotShot_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);
IsttokTMPump1_MotorOn = OFF; IsttokTMPump1_MotorOn = OFF;
pvPut(IsttokTMPump1_MotorOn); pvPut(IsttokTMPump1_MotorOn);
IsttokTMPump2_Motor = PCF_RELAY_OFF; // IsttokTMPump2_Motor = PCF_RELAY_OFF;
pvPut(IsttokTMPump2_Motor); //pvPut(IsttokTMPump2_Motor);
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);
@@ -337,7 +346,7 @@ ss PulseSequence {
/* 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);
@@ -347,12 +356,13 @@ ss PulseSequence {
// pvPut(IsttokOPSTATE); // pvPut(IsttokOPSTATE);
} state Starting } state Starting
} }
/* State Stopped */
/*********** State Stopped ****************** */
state Stopped { state Stopped {
entry{ entry{
IsttokLastOPSTATE = POS_Stopped; IsttokLastOPSTATE = POS_Stopped;
pvPut(IsttokLastOPSTATE); pvPut(IsttokLastOPSTATE);
} }
when(IsttokEmergency == ON){ when(IsttokEmergency == ON){
strcpy(msg, "Emergency from Stopped"); strcpy(msg, "Emergency from Stopped");
pvPut(msg); pvPut(msg);
@@ -361,19 +371,21 @@ ss PulseSequence {
IsttokOPSTATE = POS_Stopped; IsttokOPSTATE = POS_Stopped;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
} state Emergency } state Emergency
when (IsttokOPREQ == START) {
when ((IsttokOPREQ == START) && (IsttokupsBatteryON != ON)) {
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);
/* Pulse state change to Starting */ /* Pulse state change to Starting */
} state Starting } state Starting
} }
/* State Starting */
/******** State Starting ***********************/
state Starting { state Starting {
entry{ entry{
IsttokOPSTATE = POS_Starting; IsttokOPSTATE = POS_Starting;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
} }
when(IsttokEmergency == ON) { when(IsttokEmergency == ON) {
strcpy(msg, "Emergency from Starting"); strcpy(msg, "Emergency from Starting");
pvPut(msg); pvPut(msg);
@@ -386,40 +398,53 @@ ss PulseSequence {
errlogSevPrintf(MINOR, "%s\n",msg); errlogSevPrintf(MINOR, "%s\n",msg);
/* Pulse state change to Stopping */ /* Pulse state change to Stopping */
} state Stopping } state Stopping
when (STARTINGSTATE == STRST_StartingEnd ) { when (STARTINGSTATE == STRST_StartingEnd ) {
strcpy(msg, "State to Process"); strcpy(msg, "State to Idle");
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 Idle*/
} state Process } state Idle
} }
/* State Process */
state Process { /********** State Idle ****************************/
entry{ state Idle {
IsttokOPSTATE = POS_Process; entry{
IsttokOPSTATE = POS_Idle;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
IsttokLastOPSTATE = POS_Process; IsttokLastOPSTATE = POS_Idle;
pvPut(IsttokLastOPSTATE); pvPut(IsttokLastOPSTATE);
IsttokShotShot_TorPSDisable = PCF_RELAY_OFF; IsttokShotShot_TorPSDisable = PCF_RELAY_OFF;
pvPut(IsttokShotShot_TorPSDisable); pvPut(IsttokShotShot_TorPSDisable);
IsttokProcReq = STOP; IsttokProcReq = STOP;
pvPut(IsttokProcReq); pvPut(IsttokProcReq);
} }
when (IsttokupsBatteryON == ON) {
strcpy(msg, "Power Emergency, go to Stopping");
pvPut(msg);
errlogSevPrintf(MAJOR, "%s\n",msg);
IsttokOPREQ = STOP;
pvPut(IsttokOPREQ);
/* State change to Stopping */
IsttokOPSTATE = POS_Stopping;
pvPut(IsttokOPSTATE);
} state Stopping
when(IsttokEmergency == ON){ when(IsttokEmergency == ON){
strcpy(msg, "Emergency from Process"); strcpy(msg, "Emergency from Idle");
pvPut(msg); pvPut(msg);
errlogSevPrintf(MAJOR, "%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(IsttokTMPump1_Emergency) != pvStatOK ) { when ( pvStatus(IsttokRPump1_Pressure) != pvStatOK || pvStatus(IsttokTMPump1_Emergency) != pvStatOK ) {
//when ( pvStatus(IsttokRPump1_Pressure) != pvStatOK || pvStatus(IsttokRPump2_Pressure) != 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; IsttokOPREQ = STOP;
pvPut(IsttokOPREQ); pvPut(IsttokOPREQ);
//strcpy(sendMail, "Vacuum Emergency while Process"); //strcpy(sendMail, "Vacuum Emergency while Idle");
sprintf(sendMail, "R1:%1.1e T1:%d",IsttokRPump1_Pressure,IsttokTMPump1_Emergency); sprintf(sendMail, "Rpump1:%1.1e TMP1:%d",IsttokRPump1_Pressure,IsttokTMPump1_Emergency);
pvPut(sendMail); pvPut(sendMail);
} state Stopping } state Stopping
@@ -446,22 +471,23 @@ ss PulseSequence {
/* Pulse state change to WaitShot */ /* Pulse state change to WaitShot */
} state WaitShot } state WaitShot
} }
/* State Clean */
/******* State Clean ***************************/
state Clean { state Clean {
entry{ entry{
IsttokOPSTATE = POS_Clean; IsttokOPSTATE = POS_Clean;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
} }
when ((IsttokProcReq==STOP) && (CLEANINGSTATE == CLNST_NonCleaning)) { when ((IsttokProcReq==STOP) && (CLEANINGSTATE == CLNST_NonCleaning)) {
strcpy(msg, "State to Process F Clean"); strcpy(msg, "State to Idle From Clean");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
} state Process } state Idle
when (IsttokOPREQ == STOP) {} state Stopping when (IsttokOPREQ == STOP) {} state Stopping
when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK) { when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK) {
//when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK || //when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK ||
// pvStatus(IsttokTMPump2_Emergency) != pvStatOK) { // pvStatus(IsttokTMPump2_Emergency) != pvStatOK) {
/* Vacuum emergency: Pulse state change to Stopping */ /* Vacuum emergency: Pulse state change to Stopping */
IsttokOPREQ = STOP; IsttokOPREQ = STOP;
@@ -478,9 +504,10 @@ ss PulseSequence {
/* Pulse state change to Emergency*/ /* Pulse state change to Emergency*/
} state Emergency } state Emergency
} }
/* State WaitShot */
/******** State WaitShot *************************/
state WaitShot { state WaitShot {
entry{ entry{
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);
@@ -488,7 +515,17 @@ ss PulseSequence {
pvPut(IsttokShotShot_TorPSDisable); pvPut(IsttokShotShot_TorPSDisable);
IsttokOPSTATE = POS_WaitShot; IsttokOPSTATE = POS_WaitShot;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
} }
when (IsttokupsBatteryON == ON) {
strcpy(msg, "Power Emergency, go to Stopping");
pvPut(msg);
errlogSevPrintf(MAJOR, "%s\n",msg);
IsttokOPREQ = STOP;
pvPut(IsttokOPREQ);
/* State change to Stopping */
IsttokOPSTATE = POS_Stopping;
pvPut(IsttokOPSTATE);
} state Stopping
when(IsttokEmergency == ON){ when(IsttokEmergency == ON){
strcpy(msg, "Emergency from WaitShot"); strcpy(msg, "Emergency from WaitShot");
pvPut(msg); pvPut(msg);
@@ -496,17 +533,17 @@ ss PulseSequence {
/* Pulse state change to Emergency*/ /* Pulse state change to Emergency*/
} state Emergency } state Emergency
when (IsttokProcReq==STOP ) { when (IsttokProcReq==STOP ) {
strcpy(msg, "State to Process"); strcpy(msg, "State to Idle");
pvPut(msg); pvPut(msg);
errlogSevPrintf(MINOR, "%s\n",msg); errlogSevPrintf(MINOR, "%s\n",msg);
} state Process } state Idle
when (IsttokOPREQ == STOP) { when (IsttokOPREQ == STOP) {
/* Pulse state change to Stopping */ /* Pulse state change to Stopping */
} state Stopping } state Stopping
when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK) { when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK) {
//when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK || //when ( pvStatus(IsttokTMPump1_Emergency) != pvStatOK ||
// pvStatus(IsttokTMPump2_Emergency) != pvStatOK) { // pvStatus(IsttokTMPump2_Emergency) != pvStatOK) {
/* Vacuum emergency: Pulse state change to Stopping */ /* Vacuum emergency: Pulse state change to Stopping */
IsttokOPREQ = STOP; IsttokOPREQ = STOP;
@@ -516,9 +553,10 @@ ss PulseSequence {
errlogSevPrintf(MAJOR, "%s\n",msg); errlogSevPrintf(MAJOR, "%s\n",msg);
} state Stopping } state Stopping
} }
/* State Stopping */
/* ************** State Stopping *********** */
state Stopping { state Stopping {
entry{ entry{
/*Just to be sure */ /*Just to be sure */
IsttokProcReq = STOP; IsttokProcReq = STOP;
pvPut(IsttokProcReq); pvPut(IsttokProcReq);
@@ -529,7 +567,7 @@ ss PulseSequence {
pvPut(IsttokLastOPSTATE); pvPut(IsttokLastOPSTATE);
} }
when (IsttokOPREQ == START ) { when ((IsttokOPREQ == START) && (IsttokupsBatteryON != ON) ) {
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);
@@ -552,25 +590,25 @@ ss PulseSequence {
errlogSevPrintf(MAJOR, "%s\n",msg); errlogSevPrintf(MAJOR, "%s\n",msg);
IsttokShotShot_TorPSDisable = PCF_RELAY_OFF; IsttokShotShot_TorPSDisable = PCF_RELAY_OFF;
pvPut(IsttokShotShot_TorPSDisable); pvPut(IsttokShotShot_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);
IsttokShotCapBank_Charge = PCF_RELAY_OFF; IsttokShotCapBank_Charge = PCF_RELAY_OFF;
pvPut(IsttokShotCapBank_Charge); pvPut(IsttokShotCapBank_Charge);
strcpy(msg, "EMERGENCY: CAPBANK CrowBar Close"); strcpy(msg, "EMERGENCY: CAPBANK CrowBar Close");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokShotCapBank_Discharge = PCF_RELAY_OFF; IsttokShotCapBank_Discharge = PCF_RELAY_OFF;
pvPut(IsttokShotCapBank_Discharge); pvPut(IsttokShotCapBank_Discharge);
strcpy(msg, "EMERGENCY: GIS Valves CLOSE"); strcpy(msg, "EMERGENCY: GIS Valves CLOSE");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokShotGasIS_Valves = PCF_RELAY_OFF; IsttokShotGasIS_Valves = PCF_RELAY_OFF;
pvPut(IsttokShotGasIS_Valves); pvPut(IsttokShotGasIS_Valves);
strcpy(msg, "EMERGENCY: Filament OFF"); strcpy(msg, "EMERGENCY: Filament OFF");
pvPut(msg); pvPut(msg);
errlogSevPrintf(MAJOR, "%s\n",msg); errlogSevPrintf(MAJOR, "%s\n",msg);
@@ -578,23 +616,23 @@ ss PulseSequence {
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 Idle */
strcpy(msg, "State to Process"); strcpy(msg, "State to Idle");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokProcReq = STOP; IsttokProcReq = STOP;
pvPut(IsttokProcReq); pvPut(IsttokProcReq);
IsttokOPSTATE = POS_Process; IsttokOPSTATE = POS_Idle;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
} state Process } state Idle
when (delay(1.0) && (IsttokEmergency == OFF) && (IsttokOPSTATE == POS_Process)){ when (delay(1.0) && (IsttokEmergency == OFF) && (IsttokOPSTATE == POS_Idle)){
/* Pulse state change to Process */ /* Pulse state change to Idle */
strcpy(msg, "State to Process"); strcpy(msg, "State to Idle");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
IsttokOPSTATE = POS_Process; IsttokOPSTATE = POS_Idle;
pvPut(IsttokOPSTATE); pvPut(IsttokOPSTATE);
} state Process } state Idle
when (delay(1.0) && (IsttokEmergency == OFF) && (IsttokOPSTATE == POS_Starting)){ when (delay(1.0) && (IsttokEmergency == OFF) && (IsttokOPSTATE == POS_Starting)){
// TODO Check these 2 transictions // TODO Check these 2 transictions
strcpy(msg, "State to Stopped"); strcpy(msg, "State to Stopped");
@@ -608,7 +646,7 @@ ss PulseSequence {
} state Stopped } state Stopped
when (delay(1.0) && (IsttokEmergency == OFF) && (IsttokOPSTATE == POS_Stopped)){ when (delay(1.0) && (IsttokEmergency == OFF) && (IsttokOPSTATE == POS_Stopped)){
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);
@@ -688,7 +726,7 @@ ss StartingSequence {
} state NonStarting } state NonStarting
//when ( (pvStatus(IsttokRPump1_Pressure) == pvStatOK) && (pvStatus(IsttokRPump2_Pressure) == pvStatOK)) { //when ( (pvStatus(IsttokRPump1_Pressure) == pvStatOK) && (pvStatus(IsttokRPump2_Pressure) == pvStatOK)) {
when ( pvStatus(IsttokRPump1_Pressure) == pvStatOK) { when ( pvStatus(IsttokRPump1_Pressure) == pvStatOK) {
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);
@@ -697,8 +735,8 @@ ss StartingSequence {
strcpy(msg, "TMP2 Motor ON" ); strcpy(msg, "TMP2 Motor 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);
STARTINGSTATE = STRST_Starting4; STARTINGSTATE = STRST_Starting4;
pvPut(STARTINGSTATE); pvPut(STARTINGSTATE);
} state Starting4 } state Starting4
@@ -711,7 +749,7 @@ ss StartingSequence {
//IsttokSTARTINGSTATE = STRST_NonStarting; //IsttokSTARTINGSTATE = STRST_NonStarting;
//pvPut(IsttokSTARTINGSTATE); //pvPut(IsttokSTARTINGSTATE);
} state NonStarting } state NonStarting
when (TMPump1NormalOperation == PCF_INPUT_ON) { // TODO insert TMP2 Test when (TMPump1NormalOperation == 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);
@@ -731,15 +769,15 @@ ss CleaningSequence{
state NonCleaning{ state NonCleaning{
entry{ entry{
strcpy(msg, "GIS Valves CLOSE"); strcpy(msg, "GIS Valves CLOSE");
pvPut(msg); pvPut(msg);
IsttokShotGasIS_Valves = PCF_RELAY_OFF; IsttokShotGasIS_Valves = PCF_RELAY_OFF;
pvPut(IsttokShotGasIS_Valves); pvPut(IsttokShotGasIS_Valves);
strcpy(msg, "Filament OFF"); strcpy(msg, "Filament OFF");
pvPut(msg); pvPut(msg);
IsttokShotVVessel_Filament = PCF_RELAY_OFF; IsttokShotVVessel_Filament = PCF_RELAY_OFF;
pvPut(IsttokShotVVessel_Filament); pvPut(IsttokShotVVessel_Filament);
strcpy(msg, "Primary_CT OFF"); strcpy(msg, "Primary_CT OFF");
pvPut(msg); pvPut(msg);
IsttokShotClean_PrimContactor = PCF_RELAY_OFF; IsttokShotClean_PrimContactor = PCF_RELAY_OFF;
@@ -858,7 +896,7 @@ ss CleaningSequence{
} }
state Cleaning5{ state Cleaning5{
when (IsttokProcReq==STOP) { when (IsttokProcReq==STOP) {
// } state Process // } state Idle
// when(delay(1.0) && IsttokOPSTATE != POS_Clean){ // when(delay(1.0) && IsttokOPSTATE != POS_Clean){
strcpy(msg, "Toroidal-CT OFF"); strcpy(msg, "Toroidal-CT OFF");
pvPut(msg); pvPut(msg);
@@ -872,11 +910,11 @@ ss CleaningSequence{
pvPut(CLEANINGSTATE); pvPut(CLEANINGSTATE);
} state Cleaning4 } state Cleaning4
/* /*
when (pvSeverity(IsttokVVesselTemperature) >= pvSevrMAJOR) { when (pvSeverity(IsttokVVesselTemperature) >= pvSevrMAJOR) {
// Temperature Limit Pulse state change to Process // Temperature Limit Pulse state change to Idle
IsttokProcReq = STOP; IsttokProcReq = STOP;
pvPut(IsttokProcReq); pvPut(IsttokProcReq);
strcpy(msg, "Temperature Limit-> State to Process"); strcpy(msg, "Temperature Limit-> State to Idle");
pvPut(msg); pvPut(msg);
errlogSevPrintf(MINOR, "%s\n",msg); errlogSevPrintf(MINOR, "%s\n",msg);
} state Cleaning5 } state Cleaning5
@@ -907,7 +945,7 @@ ss ShotSequence {
} state ShotEnd } state ShotEnd
} }
state ShotWaitTrg { state ShotWaitTrg {
when ((IsttokShotCountdown > 1800) || (IsttokOPSTATE != POS_WaitShot)) { when ((IsttokShotCountdown > 1800) || (IsttokOPSTATE != POS_WaitShot)) {
strcpy(msg, "Shooting Out"); strcpy(msg, "Shooting Out");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
@@ -933,7 +971,7 @@ ss ShotSequence {
strcpy(msg, "Shoting 2 Out"); strcpy(msg, "Shoting 2 Out");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
} state ShotWaitTrg } state ShotWaitTrg
when ((IsttokOPSTATE == POS_WaitShot) && (IsttokShotCountdown == -61)) { when ((IsttokOPSTATE == POS_WaitShot) && (IsttokShotCountdown == -61)) {
strcpy(msg, "Buzzer 1-Sound"); strcpy(msg, "Buzzer 1-Sound");
pvPut(msg); pvPut(msg);
@@ -959,7 +997,7 @@ ss ShotSequence {
strcpy(msg, "Shoting3 Out"); strcpy(msg, "Shoting3 Out");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
} state ShotWaitTrg } state ShotWaitTrg
when (IsttokShotCountdown == -60) { when (IsttokShotCountdown == -60) {
strcpy(msg, "GIS Valves OPEN"); strcpy(msg, "GIS Valves OPEN");
pvPut(msg); pvPut(msg);
@@ -1056,7 +1094,7 @@ ss ShotSequence {
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
// PS Trigger Pulse // PS Trigger Pulse
IsttokShotShot_TorPSTrigger = ON; IsttokShotShot_TorPSTrigger = ON;
pvPut(IsttokShotShot_TorPSTrigger); pvPut(IsttokShotShot_TorPSTrigger);
WSHOTINGSTATE = WSHTST_Shoting9; WSHOTINGSTATE = WSHTST_Shoting9;
pvPut(WSHOTINGSTATE); pvPut(WSHOTINGSTATE);
} state Shoting9 } state Shoting9
@@ -1137,13 +1175,13 @@ ss ShotSequence {
} state ShotEnd } state ShotEnd
} }
state ShotEnd { state ShotEnd {
when (IsttokShotCountdown > 160 || IsttokOPSTATE != POS_WaitShot) { when (IsttokShotCountdown > 160 || IsttokOPSTATE != POS_WaitShot) {
strcpy(msg, "Terminated"); strcpy(msg, "Terminated");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n", msg); errlogSevPrintf(NO_ALARM, "%s\n", msg);
WSHOTINGSTATE = WSHTST_WaitTrg; WSHOTINGSTATE = WSHTST_WaitTrg;
pvPut(WSHOTINGSTATE); pvPut(WSHOTINGSTATE);
} state ShotWaitTrg } state ShotWaitTrg
} }
} }
@@ -1151,7 +1189,7 @@ ss ShotSequence {
ss StoppingSequence { ss StoppingSequence {
state NonStopping { state NonStopping {
entry { entry {
STOPPINGSTATE = STPST_NonStopping; STOPPINGSTATE = STPST_NonStopping;
pvPut(STOPPINGSTATE); pvPut(STOPPINGSTATE);
} }
when (IsttokOPSTATE == POS_Stopping) { when (IsttokOPSTATE == POS_Stopping) {
@@ -1162,25 +1200,25 @@ ss StoppingSequence {
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);
STOPPINGSTATE = STPST_Stopping1; STOPPINGSTATE = STPST_Stopping1;
pvPut(STOPPINGSTATE); pvPut(STOPPINGSTATE);
} state Stopping1 } state Stopping1
} }
state Stopping1 { state Stopping1 {
when (IsttokOPSTATE != POS_Stopping ) { } state NonStopping when (IsttokOPSTATE != POS_Stopping ) { } state NonStopping
when (TMPump1NormalOperation == PCF_INPUT_OFF) { // TODO insert TMP2 Test when (TMPump1NormalOperation == PCF_INPUT_OFF) { // TODO insert TMP2 Test
strcpy(msg, "TMP1 Stopping"); strcpy(msg, "TMP1 Stopping");
pvPut(msg); pvPut(msg);
errlogSevPrintf(NO_ALARM, "%s\n",msg); errlogSevPrintf(NO_ALARM, "%s\n",msg);
STOPPINGSTATE = STPST_Stopping2; STOPPINGSTATE = STPST_Stopping2;
pvPut(STOPPINGSTATE); pvPut(STOPPINGSTATE);
} state Stopping2 } state Stopping2
} }
state Stopping2 { state Stopping2 {
when (IsttokOPSTATE != POS_Stopping ) { when (IsttokOPSTATE != POS_Stopping ) {
} state NonStopping } 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);
@@ -1194,11 +1232,11 @@ ss StoppingSequence {
pvPut(IsttokRPump2_Motor); pvPut(IsttokRPump2_Motor);
STOPPINGSTATE = STPST_Stopping3; STOPPINGSTATE = STPST_Stopping3;
pvPut(STOPPINGSTATE); pvPut(STOPPINGSTATE);
} state Stopping3 } state Stopping3
} }
state Stopping3 { state Stopping3 {
when (IsttokOPSTATE != POS_Stopping ) { when (IsttokOPSTATE != POS_Stopping ) {
} state NonStopping } state NonStopping
when (delay(5)) { when (delay(5)) {
IsttokRPump1_Valve = PCF_RELAY_ON; IsttokRPump1_Valve = PCF_RELAY_ON;
pvPut(IsttokRPump1_Valve); pvPut(IsttokRPump1_Valve);
@@ -1209,15 +1247,15 @@ ss StoppingSequence {
pvPut(IsttokRPump2_Valve); pvPut(IsttokRPump2_Valve);
STOPPINGSTATE = STPST_StoppingEnd; STOPPINGSTATE = STPST_StoppingEnd;
pvPut(STOPPINGSTATE); pvPut(STOPPINGSTATE);
} state StoppingEnd } state StoppingEnd
} }
state StoppingEnd { state StoppingEnd {
when (IsttokOPSTATE != POS_Stopping ) { } state NonStopping when (IsttokOPSTATE != POS_Stopping ) { } state NonStopping
} }
} }
/**** END PROGRAM ***/ /**** END PROGRAM ***/
/* when (IsttokShotCountdown > 159) { /* when (IsttokShotCountdown > 159) {
strcpy(msg, "Toroidal Field Recovered" ); strcpy(msg, "Toroidal Field Recovered" );
pvPut(msg); pvPut(msg);
@@ -1241,12 +1279,12 @@ ss StoppingSequence {
// pvPut(IsttokShotCountdownScan); // pvPut(IsttokShotCountdownScan);
// IsttokShotCountdown = 0; // IsttokShotCountdown = 0;
// pvPut(IsttokShotCountdown); // pvPut(IsttokShotCountdown);
} state ShotWaitTrg } state ShotWaitTrg
} }
entry{ entry{
IsttokRPump1_Motor = PCF_RELAY_ON; IsttokRPump1_Motor = PCF_RELAY_ON;
pvPut(IsttokRPump1_Motor); pvPut(IsttokRPump1_Motor);
strcpy(msg, "Rotary Pumps 1/2 OFF"); strcpy(msg, "Rotary Pumps 1/2 OFF");
@@ -1254,7 +1292,7 @@ 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);
//IsttokLastOPSTATE = POS_Process; //IsttokLastOPSTATE = POS_Idle;
//pvPut(IsttokLastOPSTATE); //pvPut(IsttokLastOPSTATE);
} }
// } state Stopping // } state Stopping

View File

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

View File

@@ -9,6 +9,7 @@ ISTTOK:central:CLEANINGMANMODE.VAL
ISTTOK:central:Emergency-UserButton.VAL ISTTOK:central:Emergency-UserButton.VAL
ISTTOK:central:TMPump1-ManualValve.VAL ISTTOK:central:TMPump1-ManualValve.VAL
ISTTOK:central:Shot-TorPSCurrent ISTTOK:central:Shot-TorPSCurrent
ISTTOK:central:UPS-Shutdown
#ALARM Limits #ALARM Limits
#ISTTOK:central:RPump2-Pressure.HIGH #ISTTOK:central:RPump2-Pressure.HIGH

View File

@@ -1,78 +1,8 @@
ISTTOK:central:PULSE-NUMBER ISTTOK:central:PCF8591:72:ADC_CH1
ISTTOK:central:PCF8591:72:DAC ISTTOK:central:PCF8591:72:ADC_CH2
ISTTOK:central:TDA8444:32:DAC_CH0 ISTTOK:central:PCF8591:72:ADC_CH3
ISTTOK:central:TDA8444:32:DAC_CH1 ISTTOK:central:UPS-OnBattery
ISTTOK:central:TDA8444:32:DAC_CH2 ISTTOK:central:UPS-Shutdown
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:OPSTATE
ISTTOK:central:STARTINGSTATE
ISTTOK:central:CLEANINGSTATE
ISTTOK:central:WSHOTINGSTATE
ISTTOK:central:STOPPINGSTATE
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:CurrentTime
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:PCF8574:56:REGISTER:READ:FNOUT
ISTTOK:central:PCF8574:57:REGISTER:READ:FNOUT
ISTTOK:central:TMPump1-ControllerOnInv
ISTTOK:central:TMPump1-ControllerOffInv
ISTTOK:central:TMPump1-MotorOnInv
ISTTOK:central:TMPump1-MotorOffInv
ISTTOK:central:BuzzerInv
ISTTOK:central:Shot-TorPSTriggerInv
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:OPCALCSTATE
ISTTOK:central:STARTCALCSTATE
ISTTOK:central:STOPPINGCALCSTATE
ISTTOK:central:CLEANCALCSTATE
ISTTOK:central:WSHOTCALCSTATE
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: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:TMPump2-Speed
ISTTOK:central:TMPump2-Current
ISTTOK:central:Shot-TorPSCurrentImage
ISTTOK:central:OPREQ ISTTOK:central:OPREQ
ISTTOK:central:CLEANINGMANMODE ISTTOK:central:CLEANINGMANMODE
ISTTOK:central:FSTriggerStart ISTTOK:central:FSTriggerStart
@@ -106,9 +36,75 @@ ISTTOK:SR_heartbeat
ISTTOK:SR_i_am_alive ISTTOK:SR_i_am_alive
ISTTOK:SR_deadIfZero ISTTOK:SR_deadIfZero
ISTTOK:SR_disable ISTTOK:SR_disable
ISTTOK:central:PCF8591:72:ADC_CH1 ISTTOK:central:PULSE-NUMBER
ISTTOK:central:PCF8591:72:ADC_CH2 ISTTOK:central:PCF8591:72:DAC
ISTTOK:central:PCF8591:72:ADC_CH3 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:OPCALCSTATE
ISTTOK:central:STARTCALCSTATE
ISTTOK:central:STOPPINGCALCSTATE
ISTTOK:central:CLEANCALCSTATE
ISTTOK:central:WSHOTCALCSTATE
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:TMPump1-ControllerOnInv
ISTTOK:central:TMPump1-ControllerOffInv
ISTTOK:central:TMPump1-MotorOnInv
ISTTOK:central:TMPump1-MotorOffInv
ISTTOK:central:BuzzerInv
ISTTOK:central:Shot-TorPSTriggerInv
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: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: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:PCF8574:56:REGISTER:READ
ISTTOK:central:PCF8574:57:REGISTER:READ
ISTTOK:central:PCF8574:60:REGISTER:READ
ISTTOK:central:PCF8574:61:REGISTER:READ
ISTTOK:central:TMPump2-Speed
ISTTOK:central:TMPump2-Current
ISTTOK:central:Shot-TorPSCurrentImage
ISTTOK:central:TraceMessage ISTTOK:central:TraceMessage
ISTTOK:central:LogMessage ISTTOK:central:LogMessage
ISTTOK:central:sendmail ISTTOK:central:sendmail
@@ -140,3 +136,9 @@ ISTTOK:SR_6_Time
ISTTOK:SR_7_Name ISTTOK:SR_7_Name
ISTTOK:SR_7_StatusStr ISTTOK:SR_7_StatusStr
ISTTOK:SR_7_Time ISTTOK:SR_7_Time
ISTTOK:central:OPSTATE
ISTTOK:central:STARTINGSTATE
ISTTOK:central:CLEANINGSTATE
ISTTOK:central:WSHOTINGSTATE
ISTTOK:central:STOPPINGSTATE
ISTTOK:central:CurrentTime

View File

@@ -1,5 +1,4 @@
# autosave R5.3 Automatically generated - DO NOT MODIFY - 210512-110358 # autosave R5.3 Automatically generated - DO NOT MODIFY - 211129-172335
! 1 channel(s) not connected - or not all gets were successful
ISTTOK:central:PULSE-NUMBER.VAL 0 ISTTOK:central:PULSE-NUMBER.VAL 0
ISTTOK:central:LogMessage.VAL ISTTOK:central:LogMessage.VAL
ISTTOK:central:LASTOPSTATE.VAL 5 ISTTOK:central:LASTOPSTATE.VAL 5
@@ -7,6 +6,7 @@ ISTTOK:central:OPREQ 0
ISTTOK:central:PROCESS-MODE.VAL 0 ISTTOK:central:PROCESS-MODE.VAL 0
ISTTOK:central:CLEANINGMANMODE.VAL 0 ISTTOK:central:CLEANINGMANMODE.VAL 0
ISTTOK:central:Emergency-UserButton.VAL 0 ISTTOK:central:Emergency-UserButton.VAL 0
ISTTOK:central:TMPump1-ManualValve.VAL 0 ISTTOK:central:TMPump1-ManualValve.VAL 1
#ISTTOK:central:Shot-TorPSCurrent Search Issued ISTTOK:central:Shot-TorPSCurrent 32
ISTTOK:central:UPS-Shutdown 0
<END> <END>

View File

@@ -75,4 +75,4 @@ iocInit
create_monitor_set("$(IOC).req", 30) create_monitor_set("$(IOC).req", 30)
## Start any sequence programs , use safe mode ## Start any sequence programs , use safe mode
seq IsttokSeqExec seq IsttokSeqExec "unit=ISTTOK"