diff --git a/seq_fb_weights_slu_3.txt b/seq_fb_weights_slu_3.txt new file mode 100644 index 0000000000000000000000000000000000000000..a76a9784bb0544bbd127f7eb2dc86f518a108475 --- /dev/null +++ b/seq_fb_weights_slu_3.txt @@ -0,0 +1,65 @@ +# +# Description: Enable/disable automatically $devfb$ sensors and actuators according to ccd states +# Author: Giulio Gaio +# Date: 2019/11/25 +# +# Stop all the fb weight sequencers +# +step1;(write(this/CCD2StateOld) = ON) && (write(this/CCD3StateOld) = ON) && (write(this/CCD4StateOld) = ON) && goto(2);Init variables;Error init variables;-1 +# +step2;read($devfb1$/State) == ON ? command($devfb1$/Off) && goto(3) : goto(3);Stopping $devfb1$;Error stopping $devfb1$;-1;tangoerror=goto(3) +step3;read($devfb2$/State) == ON ? command($devfb2$/Off) && goto(4) : goto(4);Stopping $devfb2$;Error stopping $devfb2$;-1;tangoerror=goto(4) +step4;read($devfb3$/State) == ON ? command($devfb3$/Off) && goto(5) : goto(5);Stopping $devfb3$;Error stopping $devfb3$;-1;tangoerror=goto(5) +step5;read($devfb4$/State) == ON ? command($devfb4$/Off) && goto(6) : goto(6);Stopping $devfb4$;Error stopping $devfb4$;-1;tangoerror=goto(6) +# +# Getting CCD states +# +step6;(write(this/CCD2State) = read($devccd2/State)) && goto(8);Reading $devccd2 State;Error reading $devccd2 State;-1;tangoerror=goto(7) +step7;(write(this/CCD2State) = FAULT) && goto(8);Setting $devccd2 in FAULT state;Error setting $devccd2 in FAULT state;-1 +step8;(write(this/CCD3State) = read($devccd3/State)) && goto(10);Reading $devccd3 State;Error reading $devccd3 State;-1;tangoerror=goto(9) +step9;(write(this/CCD3State) = FAULT) && goto(10);Setting $devccd3 in FAULT state;Error setting $devccd3 in FAULT state;-1 +step10;(write(this/CCD4State) = read($devccd4/State)) && goto(12);Reading $devccd4 State;Error reading $devccd4 State;-1;tangoerror=goto(11) +step11;(write(this/CCD4State) = FAULT) && goto(12);Setting $devccd4 in FAULT state;Error setting $devccd4 in FAULT state;-1 +# +# Disabling sensors and actuators +# +step12;((read(this/CCD4State) != ON) && (read(this/CCD4StateOld) == ON)) ? (write($devfb$/SensorWeights[6]) = 0) && (write($devfb$/SensorWeights[7]) = 0) && (write($devfb$/ActuatorWeights[6]) = 0) && (write($devfb$/ActuatorWeights[7]) = 0) && goto(13) : goto(13);Checking $devccd4 changing state;Error checking $devccd4 changing state;-1;tangoerror=goto(13) +step13;((read(this/CCD3State) != ON) && (read(this/CCD3StateOld) == ON)) ? (write($devfb$/SensorWeights[4]) = 0) && (write($devfb$/SensorWeights[5]) = 0) && (write($devfb$/ActuatorWeights[4]) = 0) && (write($devfb$/ActuatorWeights[5]) = 0) && goto(14) : goto(14);Checking $devccd3 changing state;Error checking $devccd3 changing state;-1;tangoerror=goto(14) +step14;((read(this/CCD2State) != ON) && (read(this/CCD2StateOld) == ON)) ? (write($devfb$/SensorWeights[2]) = 0) && (write($devfb$/SensorWeights[3]) = 0) && (write($devfb$/ActuatorWeights[2]) = 0) && (write($devfb$/ActuatorWeights[3]) = 0) && goto(15) : goto(15);Checking $devccd2 changing state;Error checking $devccd2 changing state;-1;tangoerror=goto(15) +# +# Enabling sensors and actuators +# +step15;((read(this/CCD2State) == ON) && (read(this/CCD2StateOld) != ON)) ? (write($devfb$/SensorWeights[2]) = 1) && (write($devfb$/SensorWeights[3]) = 1) && (write($devfb$/ActuatorWeights[2]) = 1) && (write($devfb$/ActuatorWeights[3]) = 1) && goto(16) : goto(16);Checking $devccd2 changing state;Error checking $devccd2 changing state;-1;tangoerror=goto(16) +step16;((read(this/CCD3State) == ON) && (read(this/CCD3StateOld) != ON)) ? (write($devfb$/SensorWeights[4]) = 1) && (write($devfb$/SensorWeights[5]) = 1) && (write($devfb$/ActuatorWeights[4]) = 1) && (write($devfb$/ActuatorWeights[5]) = 1) && goto(17) : goto(17);Checking $devccd3 changing state;Error checking $devccd3 changing state;-1;tangoerror=goto(17) +step17;((read(this/CCD4State) == ON) && (read(this/CCD4StateOld) != ON)) ? (write($devfb$/SensorWeights[6]) = 1) && (write($devfb$/SensorWeights[7]) = 1) && (write($devfb$/ActuatorWeights[6]) = 1) && (write($devfb$/ActuatorWeights[7]) = 1) && goto(18) : goto(18);Checking $devccd4 changing state;Error checking $devccd4 changing state;-1;tangoerror=goto(18) +# +# Storing old states +# +step18;(write(this/CCD2StateOld) = read(this/CCD2State)) && (write(this/CCD3StateOld) = read(this/CCD3State)) && (write(this/CCD4StateOld) = read(this/CCD4State)) && goto(19);Updating states;Error updating states;-1 +# +# Stopping unuseful cameras to avoid crashes +# +step19;((read($devccdstop1/State) == ON) || (read($devccdstop1/State) == ALARM)) ? command($devccdstop1/Stop) && goto(20) : goto(20);Stopping $devccdstop1;Error stopping $devccdstop1;-1;tangoerror=goto(20) +step20;((read($devccdstop2/State) == ON) || (read($devccdstop2/State) == ALARM)) ? command($devccdstop2/Stop) && goto(21) : goto(21);Stopping $devccdstop2;Error stopping $devccdstop2;-1;tangoerror=goto(21) +step21;((read($devccdstop3/State) == ON) || (read($devccdstop3/State) == ALARM)) ? command($devccdstop3/Stop) && goto(22) : goto(22);Stopping $devccdstop3;Error stopping $devccdstop3;-1;tangoerror=goto(22) +step22;((read($devccdstop4/State) == ON) || (read($devccdstop4/State) == ALARM)) ? command($devccdstop4/Stop) && goto(23) : goto(23);Stopping $devccdstop4;Error stopping $devccdstop4;-1;tangoerror=goto(23) +# +# Start mandatory ccds +# +step23;read(this/CCD2State) == OFF ? (command($devccd2/Start) = 0) && goto(24) : goto(24);Checking $devccd2 OFF state;Error checking $devccd2 OFF state;-1;tangoerror=goto(24) +step24;read(this/CCD3State) == OFF ? (command($devccd3/Start) = 0) && goto(25) : goto(25);Checking $devccd3 OFF state;Error checking $devccd3 OFF state;-1;tangoerror=goto(25) +step25;read(this/CCD4State) == OFF ? (command($devccd4/Start) = 0) && goto(26) : goto(26);Checking $devccd4 OFF state;Error checking $devccd4 OFF state;-1;tangoerror=goto(26) +# +step26;sleep($sleep_time) && goto(2);Sleeping;Error sleeping;-1 +step27;goto(28);Exit;Exit;-1;exit +# +# Dynamic w/r attributes +# +attr;CCD2State;long;0 +attr;CCD3State;long;0 +attr;CCD4State;long;0 +attr;CCD2StateOld;long;0 +attr;CCD3StateOld;long;0 +attr;CCD4StateOld;long;0 + + diff --git a/seq_fb_weights_slu_4.txt b/seq_fb_weights_slu_4.txt new file mode 100644 index 0000000000000000000000000000000000000000..567dcb7882ed133490c8eecb64d00896fc6333cf --- /dev/null +++ b/seq_fb_weights_slu_4.txt @@ -0,0 +1,71 @@ +# +# Description: Enable/disable automatically $devfb$ sensors and actuators according to ccd states +# Author: Giulio Gaio +# Date: 2019/11/25 +# +# Stop all the fb weight sequencers +# +step1;(write(this/CCD2StateOld) = ON) && (write(this/CCD3StateOld) = ON) && (write(this/CCD4StateOld) = ON) && (write(this/CCD5StateOld) = ON) && goto(2);Init variables;Error init variables;-1 +# +step2;read($devfb1$/State) == ON ? command($devfb1$/Off) && goto(3) : goto(3);Stopping $devfb1$;Error stopping $devfb1$;-1;tangoerror=goto(3) +step3;read($devfb2$/State) == ON ? command($devfb2$/Off) && goto(4) : goto(4);Stopping $devfb2$;Error stopping $devfb2$;-1;tangoerror=goto(4) +step4;read($devfb3$/State) == ON ? command($devfb3$/Off) && goto(5) : goto(5);Stopping $devfb3$;Error stopping $devfb3$;-1;tangoerror=goto(5) +step5;read($devfb4$/State) == ON ? command($devfb4$/Off) && goto(6) : goto(6);Stopping $devfb4$;Error stopping $devfb4$;-1;tangoerror=goto(6) +# +# Getting CCD states +# +step6;(write(this/CCD2State) = read($devccd2/State)) && goto(8);Reading $devccd2 State;Error reading $devccd2 State;-1;tangoerror=goto(7) +step7;(write(this/CCD2State) = FAULT) && goto(8);Setting $devccd2 in FAULT state;Error setting $devccd2 in FAULT state;-1 +step8;(write(this/CCD3State) = read($devccd3/State)) && goto(10);Reading $devccd3 State;Error reading $devccd3 State;-1;tangoerror=goto(9) +step9;(write(this/CCD3State) = FAULT) && goto(10);Setting $devccd3 in FAULT state;Error setting $devccd3 in FAULT state;-1 +step10;(write(this/CCD4State) = read($devccd4/State)) && goto(12);Reading $devccd4 State;Error reading $devccd4 State;-1;tangoerror=goto(11) +step11;(write(this/CCD4State) = FAULT) && goto(12);Setting $devccd4 in FAULT state;Error setting $devccd4 in FAULT state;-1 +step12;(write(this/CCD5State) = read($devccd5/State)) && goto(14);Reading $devccd5 State;Error reading $devccd5 State;-1;tangoerror=goto(13) +step13;(write(this/CCD5State) = FAULT) && goto(14);Setting $devccd5 in FAULT state;Error setting $devccd5 in FAULT state;-1 +# +# Disabling sensors and actuators +# +step14;((read(this/CCD5State) != ON) && (read(this/CCD5StateOld) == ON)) ? (write($devfb$/SensorWeights[8]) = 0) && (write($devfb$/SensorWeights[9]) = 0) && (write($devfb$/ActuatorWeights[8]) = 0) && (write($devfb$/ActuatorWeights[9]) = 0) && goto(15) : goto(15);Checking $devccd5 changing state;Error checking $devccd5 changing state;-1;tangoerror=goto(15) +step15;((read(this/CCD4State) != ON) && (read(this/CCD4StateOld) == ON)) ? (write($devfb$/SensorWeights[6]) = 0) && (write($devfb$/SensorWeights[7]) = 0) && (write($devfb$/ActuatorWeights[6]) = 0) && (write($devfb$/ActuatorWeights[7]) = 0) && goto(16) : goto(16);Checking $devccd4 changing state;Error checking $devccd4 changing state;-1;tangoerror=goto(16) +step16;((read(this/CCD3State) != ON) && (read(this/CCD3StateOld) == ON)) ? (write($devfb$/SensorWeights[4]) = 0) && (write($devfb$/SensorWeights[5]) = 0) && (write($devfb$/ActuatorWeights[4]) = 0) && (write($devfb$/ActuatorWeights[5]) = 0) && goto(17) : goto(17);Checking $devccd3 changing state;Error checking $devccd3 changing state;-1;tangoerror=goto(17) +step17;((read(this/CCD2State) != ON) && (read(this/CCD2StateOld) == ON)) ? (write($devfb$/SensorWeights[2]) = 0) && (write($devfb$/SensorWeights[3]) = 0) && (write($devfb$/ActuatorWeights[2]) = 0) && (write($devfb$/ActuatorWeights[3]) = 0) && goto(18) : goto(18);Checking $devccd2 changing state;Error checking $devccd2 changing state;-1;tangoerror=goto(18) +# +# Enabling sensors and actuators +# +step18;((read(this/CCD2State) == ON) && (read(this/CCD2StateOld) != ON)) ? (write($devfb$/SensorWeights[2]) = 1) && (write($devfb$/SensorWeights[3]) = 1) && (write($devfb$/ActuatorWeights[2]) = 1) && (write($devfb$/ActuatorWeights[3]) = 1) && goto(19) : goto(19);Checking $devccd2 changing state;Error checking $devccd2 changing state;-1;tangoerror=goto(19) +step19;((read(this/CCD3State) == ON) && (read(this/CCD3StateOld) != ON)) ? (write($devfb$/SensorWeights[4]) = 1) && (write($devfb$/SensorWeights[5]) = 1) && (write($devfb$/ActuatorWeights[4]) = 1) && (write($devfb$/ActuatorWeights[5]) = 1) && goto(20) : goto(20);Checking $devccd3 changing state;Error checking $devccd3 changing state;-1;tangoerror=goto(20) +step20;((read(this/CCD4State) == ON) && (read(this/CCD4StateOld) != ON)) ? (write($devfb$/SensorWeights[6]) = 1) && (write($devfb$/SensorWeights[7]) = 1) && (write($devfb$/ActuatorWeights[6]) = 1) && (write($devfb$/ActuatorWeights[7]) = 1) && goto(21) : goto(21);Checking $devccd4 changing state;Error checking $devccd4 changing state;-1;tangoerror=goto(21) +step21;((read(this/CCD5State) == ON) && (read(this/CCD5StateOld) != ON)) ? (write($devfb$/SensorWeights[8]) = 1) && (write($devfb$/SensorWeights[9]) = 1) && (write($devfb$/ActuatorWeights[8]) = 1) && (write($devfb$/ActuatorWeights[9]) = 1) && goto(22) : goto(22);Checking $devccd5 changing state;Error checking $devccd5 changing state;-1;tangoerror=goto(22) +# +# Storing old states +# +step22;(write(this/CCD2StateOld) = read(this/CCD2State)) && (write(this/CCD3StateOld) = read(this/CCD3State)) && (write(this/CCD4StateOld) = read(this/CCD4State)) && (write(this/CCD5StateOld) = read(this/CCD5State)) && goto(23);Updating states;Error updating states;-1 +# +# Stopping unuseful cameras to avoid crashes +# +step23;((read($devccdstop1/State) == ON) || (read($devccdstop1/State) == ALARM)) ? command($devccdstop1/Stop) && goto(24) : goto(24);Stopping $devccdstop1;Error stopping $devccdstop1;-1;tangoerror=goto(24) +step24;((read($devccdstop2/State) == ON) || (read($devccdstop2/State) == ALARM)) ? command($devccdstop2/Stop) && goto(25) : goto(25);Stopping $devccdstop2;Error stopping $devccdstop2;-1;tangoerror=goto(25) +step25;((read($devccdstop3/State) == ON) || (read($devccdstop3/State) == ALARM)) ? command($devccdstop3/Stop) && goto(26) : goto(26);Stopping $devccdstop3;Error stopping $devccdstop3;-1;tangoerror=goto(26) +step26;((read($devccdstop4/State) == ON) || (read($devccdstop4/State) == ALARM)) ? command($devccdstop4/Stop) && goto(27) : goto(27);Stopping $devccdstop4;Error stopping $devccdstop4;-1;tangoerror=goto(27) +# +# Start mandatory ccds +# +step27;read(this/CCD2State) == OFF ? (command($devccd2/Start) = 0) && goto(28) : goto(28);Checking $devccd2 OFF state;Error checking $devccd2 OFF state;-1;tangoerror=goto(28) +step28;read(this/CCD3State) == OFF ? (command($devccd3/Start) = 0) && goto(29) : goto(29);Checking $devccd3 OFF state;Error checking $devccd3 OFF state;-1;tangoerror=goto(29) +step29;read(this/CCD4State) == OFF ? (command($devccd4/Start) = 0) && goto(30) : goto(30);Checking $devccd4 OFF state;Error checking $devccd4 OFF state;-1;tangoerror=goto(30) +step30;read(this/CCD5State) == OFF ? (command($devccd5/Start) = 0) && goto(31) : goto(31);Checking $devccd5 OFF state;Error checking $devccd5 OFF state;-1;tangoerror=goto(31) +# +step31;sleep($sleep_time) && goto(6);Sleeping;Error sleeping;-1 +step32;goto(33);Exit;Exit;-1;exit +# +# Dynamic w/r attributes +# +attr;CCD2State;long;0 +attr;CCD3State;long;0 +attr;CCD4State;long;0 +attr;CCD5State;long;0 +attr;CCD2StateOld;long;0 +attr;CCD3StateOld;long;0 +attr;CCD4StateOld;long;0 +attr;CCD5StateOld;long;0 +