Skip to content
Snippets Groups Projects
Commit ee6fecef authored by Lorenzo Pivetta's avatar Lorenzo Pivetta
Browse files

First import

parent 22e3ee19
No related branches found
No related tags found
No related merge requests found
#
# Author: Giulio Gaio
# Description: Move all IDs to $action gap
# date: 2019/03/05
#
# Move all IDS (Action: 1=UserGap, 2=InjectionGap, 3=ShutdownGap)
# max execution time 140 sec.
#
step1;read($devseqid1$/State) != RUNNING ? (write($devseqid1$/Action) = read(this/Action)) && command($devseqid1$/Start) && goto(2) : goto(2);Start $devseqid1$ sequence;Error starting $devseqid1$ sequence;3000
step2;read($devseqid2$/State) != RUNNING ? (write($devseqid2$/Action) = read(this/Action)) && command($devseqid2$/Start) && goto(3) : goto(3);Start $devseqid2$ sequence;Error starting $devseqid2$ sequence;3000
step3;read($devseqid3$/State) != RUNNING ? (write($devseqid3$/Action) = read(this/Action)) && command($devseqid3$/Start) && goto(4) : goto(4);Start $devseqid3$ sequence;Error starting $devseqid3$ sequence;3000
step4;read($devseqid4$/State) != RUNNING ? (write($devseqid4$/Action) = read(this/Action)) && command($devseqid4$/Start) && goto(5) : goto(5);Start $devseqid4$ sequence;Error starting $devseqid4$ sequence;3000
step5;(read(this/EnableID5) == 1) && (read($devseqid5$/State) != RUNNING) ? (write($devseqid5$/Action) = read(this/Action)) && command($devseqid5$/Start) && goto(6) : goto(6);Start $devseqid5$ sequence;Error starting $devseqid5$ sequence;3000
step6;read($devseqid6$/State) != RUNNING ? (write($devseqid6$/Action) = read(this/Action)) && command($devseqid6$/Start) && goto(7) : goto(7);Start $devseqid6$ sequence;Error starting $devseqid6$ sequence;3000
step7;read($devseqid7$/State) != RUNNING ? (write($devseqid7$/Action) = read(this/Action)) && command($devseqid7$/Start) && goto(8) : goto(8);Start $devseqid7$ sequence;Error starting $devseqid7$ sequence;3000
step8;command($devseqchekid8$/Start) && sleep(1) && (read($devseqid8$/State) != RUNNING) ? (write($devseqid8$/Action) = read(this/Action)) && command($devseqid8$/Start) && goto(9) : goto(9);Start $devseqid8$ sequence;Error starting $devseqid8$ sequence;3000
step9;read($devseqid9$/State) != RUNNING ? (write($devseqid9$/Action) = read(this/Action)) && command($devseqid9$/Start) && goto(10) : goto(10);Start $devseqid9$ sequence;Error starting $devseqid9$ sequence;3000
step10;read($devseqid10$/State) != RUNNING ? (write($devseqid10$/Action) = read(this/Action)) && command($devseqid10$/Start) && goto(11) : goto(11);Start $devseqid10$ sequence;Error starting $devseqid10$ sequence;3000
step11;read($devseqid12$/State) != RUNNING ? (write($devseqid12$/Action) = read(this/Action)) && command($devseqid12$/Start) && goto(12) : goto(12);Start $devseqid12$ sequence;Error starting $devseqid12$ sequence;3000
step12;sleep(2) && goto(13);3000
#
# Waiting id movement
#
step13;read($devseqid1$/State) == RUNNING ? sleep(1) && goto(13) : goto(14);$devseqid1$ in RUNNING state;Error waiting $devseqid1$ sequence;140000
step14;read($devseqid2$/State) == RUNNING ? sleep(1) && goto(14) : goto(15);$devseqid2$ in RUNNING state;Error waiting $devseqid2$ sequence;140000
step15;read($devseqid3$/State) == RUNNING ? sleep(1) && goto(15) : goto(16);$devseqid3$ in RUNNING state;Error waiting $devseqid3$ sequence;140000
step16;read($devseqid4$/State) == RUNNING ? sleep(1) && goto(16) : goto(17);$devseqid3$ in RUNNING state;Error waiting $devseqid4$ sequence;140000
step17;(read(this/EnableID5) == 1) && (read($devseqid5$/State) == RUNNING) ? sleep(1) && goto(17) : goto(18);$devseqid5$ in RUNNING state;Error waiting $devseqid5$ sequence;140000
step18;read($devseqid6$/State) == RUNNING ? sleep(1) && goto(18) : goto(19);$devseqid6$ in RUNNING state;Error waiting $devseqid6$ sequence;140000
step19;read($devseqid7$/State) == RUNNING ? sleep(1) && goto(19) : goto(20);$devseqid7$ in RUNNING state;Error waiting $devseqid7$ sequence;140000
step20;read($devseqid8$/State) == RUNNING ? sleep(1) && goto(20) : goto(21);$devseqid8$ in RUNNING state;Error waiting $devseqid8$ sequence;140000
step21;read($devseqid9$/State) == RUNNING ? sleep(1) && goto(21) : goto(22);$devseqid9$ in RUNNING state;Error waiting $devseqid9$ sequence;140000
step22;read($devseqid10$/State) == RUNNING ? sleep(1) && goto(22) : goto(23);$devseqid10$ in RUNNING state;Error waiting $devseqid10$ sequence;140000
step23;read($devseqid12$/State) == RUNNING ? sleep(1) && goto(23) : goto(24);$devseqid12$ in RUNNING state;Error waiting $devseqid12$ sequence;140000
#
# Checking final state
#
step24;read($devseqid1$/State) == FAULT ? goto(-1) : goto(25);Waiting $devseqid1$ sequence;$devseqid1$ in FAULT state;3000
step25;read($devseqid2$/State) == FAULT ? goto(-1) : goto(26);Waiting $devseqid2$ sequence;$devseqid2$ in FAULT state;3000
step26;read($devseqid3$/State) == FAULT ? goto(-1) : goto(27);Waiting $devseqid3$ sequence;$devseqid3$ in FAULT state;3000
step27;read($devseqid4$/State) == FAULT ? goto(-1) : goto(28);Waiting $devseqid4$ sequence;$devseqid4$ in FAULT state;3000
step28;(read(this/EnableID5) == 1) && (read($devseqid5$/State) == FAULT) ? goto(-1) : goto(29);Waiting $devseqid5$ sequence;$devseqid5$ in FAULT state;3000
step29;read($devseqid6$/State) == FAULT ? goto(-1) : goto(30);Waiting $devseqid6$ sequence;$devseqid6$ in FAULT state;3000
step30;read($devseqid7$/State) == FAULT ? goto(-1) : goto(31);Waiting $devseqid7$ sequence;$devseqid7$ in FAULT state;3000
step31;read($devseqid8$/State) == FAULT ? goto(-1) : goto(32);Waiting $devseqid8$ sequence;$devseqid8$ in FAULT state;3000
step32;read($devseqid9$/State) == FAULT ? goto(-1) : goto(33);Waiting $devseqid9$ sequence;E$devseqid9$ in FAULT state;3000
step33;read($devseqid10$/State) == FAULT ? goto(-1) : goto(34);Waiting $devseqid10$ sequence;$devseqid10$ in FAULT state;3000
step34;read($devseqid12$/State) == FAULT ? goto(-1) : goto(35);Waiting $devseqid12$ sequence;$devseqid12$ in FAULT state;3000
attr;Action;long;0
attr;EnableID5;bool;0
#
# seq_move_carriage_id.txt
#
# Author: Giulio Gaio
# Description: Move $Carriage$ carriage to GapSet value
# Date: 2019/03/05
#
# Max execution time 100 sec.
#
step1;read(this/Enabled) == 1 ? goto(2) : goto(16);Check $Carriage$ enable flag; Error checking $Carriage$enable flag;3000
step2;read(this/SkipState) == 1 ? goto(4) : goto(3);Checking skip state flag;Error checking skip state flag;-1
step3;((read($devid/State) == ON) || (read($devid/State) == STANDBY)) ? goto(4) : goto(-1);Checking $Carriage$ state;Invalid $Carriage$ state;3000
step4;(write(this/GapRead) = (read($devid/$attr_gap))) && goto(5);Storing actual $Carriage$ gap;Error storing actual $Carriage$ gap;3000
step5;(abs(read(this/GapRead) - read(this/GapSet)) < read(this/Tolerance)) ? goto(16) : goto(6);Checking moving tol;Error checking moving tol;3000
step6;abs(read(this/InjectionGap) - read(this/GapSet)) < read(this/Tolerance) ? goto(7) : goto(10);Checking injection;Error checking injection;3000
step7;(read(this/KeepUserGap) == 1) ? goto(10) : goto(8);Checking store user gap flag; Error checking storing user gap flag;3000
step8;((read(this/GapRead) + read(this/Tolerance)) < read(this/InjectionGap)) ? goto(9) : goto(10);Checking tolerance;Error checking tolerance;3000
step9;(write(this/UserGap) = read(this/GapRead)) && goto(10);Storing user gap;Error storing user gap;3000
step10;sleep(1) && (write($devid/$attr_gap) = read(this/GapSet)) && goto(11);Setting $Carriage$ new gap;Error setting $Carriage$ new gap;25000;tangoerror=goto(10)
step11;(write(this/AckMoving) = 1) && (write(this/ErrCounter) = 0) && goto(12);Setting ack moving flag to 1;Error setting moving flag to 1;3000
step12;read(this/SkipState) == 1 ? goto(15) : goto(13);Checking skip state flag;Error checking skip state flag;-1
step13;read($devid/State) == FAULT ? (write(this/ErrCounter) = (read(this/ErrCounter) + 1)) && sleep(1) && goto(14) : sleep(1) && goto(15);$Carriage moving;$Carriage$ state in FAULT;180000;tangoerror=goto(12)
step14;read(this/ErrCounter) > 60 ? goto(-1) : goto(12);Checking consecutive error counters;Error checking consecutive error counters;-1
step15;(abs(read($devid/$attr_gap) - read(this/GapSet))) < read(this/Tolerance) ? goto(16) : sleep(1) && goto(12);Moving;Error;180000;tangoerror=goto(15)
attr;AckMoving;bool;0
attr;Enabled;bool;1
attr;GapRead;double;0
attr;GapSet;double;50
attr;InjectionGap;double;100
attr;KeepUserGap;bool;0
attr;ShutdownGap;double;50
attr;Tolerance;double;0.20000000000000001
attr;UserGap;double;50
attr;ErrCounter;long;0
attr;SkipState;bool;0
#
# Description: $description ($devid)
# Author: Giulio Gaio
# Date: 2020/03/18
#
step1;sleep($sleep_monitor) && (write(this/ErrCnt) = 0) && (read($devid/State) == MOVING) ? goto(1) : goto(2);Checking $devid MOVING state;Error checking $devid MOVING state;$moving_timeout000
step2;((read($devid/State) == ALARM) || (read($devid/State) == FAULT)) ? goto(-1) : goto(3);Checking $devid ALARM/FAULT state;Error checking $devid ALARM/FAULT state;-1
#
step3;(read(this/EnableGap) == 1) ? goto(4) : goto(5);Checking EnableGap flag;Error checking EnableGap flag;-1
step4;(abs(read($devid/Gap[1]) - read($devid/Gap[0])) < read(this/GapTol)) ? (write(this/GapRead) = read($devid/Gap[1])) && goto(5) : (write(this/GapRead) = read($devid/Gap[0])) && goto(5);Reading $devid Gap;Error reading $devid Gap;-1
#
step5;(read(this/EnablePhase) == 1) ? goto(6) : goto(7);Checking EnablePhase flag;Error checking EnablePhase flag;-1
step6;(abs(read($devid/Phase[1]) - read($devid/Phase[0])) < read(this/PhaseTol)) ? (write(this/PhaseRead) = read($devid/Phase[1])) && goto(7) : (write(this/PhaseRead) = read($devid/Phase[0])) && goto(7);Reading $devid Phase;Error reading $devid Phase;-1
#
step7;(read(this/EnableTapering) == 1) ? goto(8) : goto(9);Checking EnableTapering flag;Error checking EnableTapering flag;-1
step8;(abs(read($devid/Tapering[1]) - read($devid/Tapering[0])) < read(this/TaperingTol)) ? (write(this/TaperingRead) = read($devid/Tapering[1])) && goto(9) : (write(this/TaperingRead) = read($devid/Tapering[0])) && goto(9);Reading $devid Tapering;Error reading $devid Tapering;-1
#
# Gap
step9;((read(this/EnableGap) == 1) && (abs(read(this/GapRead) - read(this/GapSet)) > read(this/GapTol))) ? goto(10) : goto(14);Checking EnableGap flag;Error checking EnableGap flag;-1
step10;(read(this/StoreGap) == 1) ? (write($seqstoremoveid/GapSet) = read(this/GapRead)) && goto(11) : goto(11);Storing Gap in $seqstoremoveid;Error storing Gap in $seqstoremoveid;-1
step11;(write($devid/Gap) = read(this/GapSet)) && goto(12);Setting $devid Gap;Error setting $devid Gap;-1
step12;sleep($sleep_monitor) && (read($devid/State) == MOVING) ? goto(12) : goto(13);Checking $devid MOVING state;Error checking $devid MOVING state;$moving_timeout000
step13;((read($devid/State) == ALARM) || (read($devid/State) == FAULT)) ? goto(24) : goto(14);Checking $devid ALARM/FAULT state;Error checking $devid ALARM/FAULT state;-1
#
# Phase
step14;((read(this/EnablePhase) == 1) && (abs(read(this/PhaseRead) - read(this/PhaseSet)) > read(this/PhaseTol))) ? goto(15) : goto(19);Checking EnablePhase flag;Error checking EnablePhase flag;-1
step15;(read(this/StorePhase) == 1) ? (write($seqstoremoveid/PhaseSet) = read(this/PhaseRead)) && goto(16) : goto(16);Storing Phase in $seqstoremoveid;Error storing Phase in $seqstoremoveid;-1
step16;(write($devid/Phase) = read(this/PhaseSet)) && goto(17);Setting $devid Phase;Error setting $devid Phase;-1
step17;sleep($sleep_monitor) && (read($devid/State) == MOVING) ? goto(17) : goto(18);Checking $devid MOVING state;Error checking $devid MOVING state;$moving_timeout000
step18;((read($devid/State) == ALARM) || (read($devid/State) == FAULT)) ? goto(24) : goto(19);Checking $devid ALARM/FAULT state;Error checking $devid ALARM/FAULT state;-1
#
# Tapering
step19;((read(this/EnableTapering) == 1) && (abs(read(this/TaperingRead) - read(this/TaperingSet)) > read(this/TaperingTol))) ? goto(20) : goto(25);Checking EnableTapering flag;Error checking EnableTapering flag;-1
step20;(read(this/StoreTapering) == 1) ? (write($seqstoremoveid/TaperingSet) = read(this/TaperingRead)) && goto(21) : goto(21);Storing Tapering in $seqstoremoveid;Error storing Tapering in $seqstoremoveid;-1
step21;(write($devid/Tapering) = read(this/TaperingSet)) && goto(22);Setting $devid Tapering;Error setting $devid Tapering;-1
step22;sleep($sleep_monitor) && (read($devid/State) == MOVING) ? goto(22) : goto(23);Checking $devid MOVING state;Error checking $devid MOVING state;$moving_timeout000
step23;((read($devid/State) == ALARM) || (read($devid/State) == FAULT)) ? goto(24) : goto(25);Checking $devid ALARM/FAULT state;Error checking $devid ALARM/FAULT state;-1
#
# Error retry
step24;(write(this/ErrCnt) = (read(this/ErrCnt) + 1)) && (read(this/ErrCnt) <= read(this/MaxErrCnt)) ? command($devid/Reset) && sleep($sleep_monitor) && goto(9) : goto(-1);Checking retry counter;Error checking retry counter;-1
#
# R/W dynamic attributes
attr;EnableGap;bool;1
attr;EnablePhase;bool;0
attr;EnableTapering;bool;0
attr;StoreGap;bool;0
attr;StorePhase;bool;0
attr;StoreTapering;bool;0
attr;GapRead;double;0
attr;PhaseRead;double;0
attr;TaperingRead;double;0
attr;GapSet;double;0
attr;PhaseSet;double;0
attr;TaperingSet;double;0
attr;GapTol;double;0.1
attr;PhaseTol;double;0.1
attr;TaperingTol;double;0.1
attr;ErrCnt;long;0
attr;MaxErrCnt;long;1
#
# Wildcards
# $description=Open FEL2 first stage modulator
# $devid=fel02/insertion_device/id_fel02.01
# $seqstoremoveid=seq/close/id_fel02.01
# $moving_timeout=200
# $sleep_monitor=1
#
# seq_move_id.txt
#
# Author: Giulio Gaio
# Description: Move $ID$ to User(1)/Injection(2)/Shutdown(3) Gap
# Date: 2019/03/05
#
# Max execution time 130 sec.
#
step1;(read(this/Action) == 0) ? goto(-1) : goto(2);Checking selected action; No action selected;3000
#
# Single carriage
#
step2;(read(this/NumCarriages) == 1) ? goto(3) : goto(13);Get $ID$ number of carriages;Error getting $ID$ number of carriages;3000
step3;(read(this/MemoEnableID1) != -1) ? (write(this/MemoEnableID1) = read($devid1/Enabled)) && goto(4) : goto(4);Storing Enabled flag;Error storing Enabled flag;3000
step4;(read(this/MemoEnableID1) != -1) ? (write($devid1/Enabled) = 1) && goto(5) : goto(5);Enabling $ID$ movement;Error enabling $ID$ movement;3000
step5;(read(this/Action) == 2) ? (write($devseqcar1/GapSet) = read($devseqcar1/InjectionGap)) && goto(8) : goto(6);Checking action flag;Error checking action flag;3000
step6;(read(this/Action) == 1) ? (write($devseqcar1/GapSet) = read($devseqcar1/UserGap)) && goto(8) : goto(7);Checking action flag;Error checking action flag;3000
step7;(read(this/Action) == 3) ? (write($devseqcar1/GapSet) = read($devseqcar1/ShutdownGap)) && goto(8) : goto(60);Checking action flag;Error checking action flag;3000
step8;(write($devseqcar1/AckMoving) = 0) && command($devseqcar1/Start) && sleep(1) && goto(9);Starting $ID$ carriage sequence;Error starting $ID$ carriage sequence;3000
step9;(read($devseqcar1/State) == RUNNING) ? sleep(1) && goto(10) : goto(11);$devseqcar1 RUNNING state;Error checking $devseqcar1 state;120000
step10;((read(this/MemoEnableID1) != -1) && (read($devseqcar1/AckMoving) == 1)) ? (write($devid1/Enabled) = read(this/MemoEnableID1)) && (write($devseqcar1/AckMoving) = 0) && goto(9) : goto(9);Restoring Enabled flag;Error restoring Enable flag;120000
step11;(read(this/MemoEnableID1) != -1) ? (write($devid1/Enabled) = read(this/MemoEnableID1)) && goto(12) : goto(12);Restoring Enabled state;Error restoring Enabled state;3000;tangoerror=goto(12)
step12;(read($devseqcar1/State) == FAULT) ? goto(-1) : goto(60);Checking $devseqcar1 state;$devseqcar1 in FAULT state;3000
#
# Two carriages
#
step13;(read(this/NumCarriages) == 2) ? goto(14) : goto(36);Get $ID$ number of carriages;Error getting $ID$ number of carriages;3000
step14;(read(this/MemoEnableID1) != -1) ? (write(this/MemoEnableID1) = read($devid1/Enabled)) && goto(15) : goto(15);Storing Enabled flag;Error storing Enabled flag;3000
step15;(read(this/MemoEnableID2) != -1) ? (write(this/MemoEnableID2) = read($devid2/Enabled)) && goto(16) : goto(16);Storing Enabled flag;Error storing Enabled flag;3000
step16;(read(this/MemoEnableID1) != -1) ? (write($devid1/Enabled) = 1) && goto(17) : goto(17);Enabling $ID$ movement;Error enabling $ID$ movement;3000
step17;(read(this/MemoEnableID2) != -1) ? (write($devid2/Enabled) = 1) && goto(18) : goto(18);Enabling $ID$ movement;Error enabling $ID$ movement;3000
step18;read(this/Action) == 2 ? goto(19) : goto(21);Checking action flag;Error checking action flag;3000
step19;(write($devseqcar1/GapSet) = read($devseqcar1/InjectionGap)) && goto(20);Setting gap;Error setting gap;3000
step20;(write($devseqcar2/GapSet) = read($devseqcar2/InjectionGap)) && goto(27);Setting gap;Error setting gap;3000
step21;read(this/Action) == 1 ? goto(22) : goto(24);Checking action flag;Error checking action flag;3000
step22;(write($devseqcar1/GapSet) = read($devseqcar1/UserGap)) && goto(23);Setting gap;Error setting gap;3000
step23;(write($devseqcar2/GapSet) = read($devseqcar2/UserGap)) && goto(27);Setting gap;Error setting gap;3000
step24;read(this/Action) == 3 ? goto(25) : goto(32);Checking action flag;Error checking action flag;3000
step25;(write($devseqcar1/GapSet) = read($devseqcar1/ShutdownGap)) && goto(26);Setting gap;Error setting gap;3000
step26;(write($devseqcar2/GapSet) = read($devseqcar2/ShutdownGap)) && goto(27);Setting gap;Error setting gap;3000
step27;(write($devseqcar1/AckMoving) = 0) && command($devseqcar1/Start) && goto(28);Starting $ID$ carriage sequence;Error starting $ID$ carriage sequence;3000
step28;(write($devseqcar2/AckMoving) = 0) && command($devseqcar2/Start) && sleep(1) && goto(29);Starting $ID$ carriage sequence;Error starting $ID$ carriage sequence;3000
step29;((read($devseqcar1/State) == RUNNING) || (read($devseqcar2/State) == RUNNING)) ? sleep(1) && goto(30) : goto(32);Some carriages in RUNNING state;Error checking carriages state;120000
# The Enabled status of $devid1/$devid2 has to be rapidly restored to avoid beamline software to take control of the undulator accidentally
step30;((read(this/MemoEnableID1) != -1) && (read($devseqcar1/AckMoving) == 1)) ? (write($devid1/Enabled) = read(this/MemoEnableID1)) && (write($devseqcar1/AckMoving) = 0) && goto(31) : goto(31);Restoring Enabled flag;Error restoring Enable flag;120000
step31;((read(this/MemoEnableID2) != -1) && (read($devseqcar2/AckMoving) == 1)) ? (write($devid2/Enabled) = read(this/MemoEnableID2)) && (write($devseqcar2/AckMoving) = 0) && goto(29) : goto(29);Restoring Enabled flag;Error restoring Enable flag;120000
step32;(read(this/MemoEnableID1) != -1) ? (write($devid1/Enabled) = read(this/MemoEnableID1)) && goto(33) : goto(33);Restoring Enabled state;Error restoring Enabled state;3000
step33;(read(this/MemoEnableID2) != -1) ? (write($devid2/Enabled) = read(this/MemoEnableID2)) && goto(34) : goto(34);Restoring Enabled state;Error restoring Enabled state;3000
step34;(read($devseqcar1/State) == FAULT) ? goto(-1) : goto(35);Checking $devseqcar1 state;$devseqcar1 in FAULT state;3000
step35;(read($devseqcar2/State) == FAULT) ? goto(-1) : goto(60);Checking $devseqcar2 state;$devseqcar1 in FAULT state;3000
#
# Three carriages (unique ID device, only one and always present Enable attribute)
#
step36;(read(this/NumCarriages) == 3) ? goto(37) : goto(60);Get $ID$ number of carriages;Error getting $ID$ number of carriages;3000
step37;(write(this/MemoEnableID1) = read($devid1/Enabled)) && goto(38);Storing Enabled flag;Error storing Enabled flag;3000
step38;(write($devid1/Enabled) = 1) && goto(39);Enabling $ID$ movement;Error enabling $ID$ movement;3000
step39;read(this/Action) == 2 ? goto(40) : goto(43);Checking action flag;Error checking action flag;3000
step40;(write($devseqcar1/GapSet) = read($devseqcar1/InjectionGap)) && goto(41);Setting gap;Error setting gap;3000
step41;(write($devseqcar2/GapSet) = read($devseqcar2/InjectionGap)) && goto(42);Setting gap;Error setting gap;3000
step42;(write($devseqcar3/GapSet) = read($devseqcar3/InjectionGap)) && goto(51);Setting gap;Error setting gap;3000
step43;read(this/Action) == 1 ? goto(44) : goto(47);Checking action flag;Error checking action flag;3000
step44;(write($devseqcar1/GapSet) = read($devseqcar1/UserGap)) && goto(45);Setting gap;Error setting gap;3000
step45;(write($devseqcar2/GapSet) = read($devseqcar2/UserGap)) && goto(46);Setting gap;Error setting gap;3000
step46;(write($devseqcar3/GapSet) = read($devseqcar3/UserGap)) && goto(51);Setting gap;Error setting gap;3000
step47;read(this/Action) == 3 ? goto(48) : goto(56);Checking action flag;Error checking action flag;3000
step48;(write($devseqcar1/GapSet) = read($devseqcar1/ShutdownGap)) && goto(49);Setting gap;Error setting gap;3000
step49;(write($devseqcar2/GapSet) = read($devseqcar2/ShutdownGap)) && goto(50);Setting gap;Error setting gap;3000
step50;(write($devseqcar3/GapSet) = read($devseqcar3/ShutdownGap)) && goto(51);Setting gap;Error setting gap;3000
step51;(write($devseqcar1/AckMoving) = 0) && command($devseqcar1/Start) && goto(52);Starting $ID$ carriage sequence;Error starting $ID$ carriage sequence;3000
step52;(write($devseqcar2/AckMoving) = 0) && command($devseqcar2/Start) && goto(53);Starting $ID$ carriage sequence;Error starting $ID$ carriage sequence;3000
step53;(write($devseqcar3/AckMoving) = 0) && command($devseqcar3/Start) && sleep(1) && goto(54);Starting $ID$ carriage sequence;Error starting $ID$ carriage sequence;3000
step54;((read($devseqcar1/State) == RUNNING) || (read($devseqcar2/State) == RUNNING) || (read($devseqcar3/State) == RUNNING)) ? sleep(1) && goto(55) : goto(56);Some carriages in RUNNING state;Error checking carriages state;120000
step55;((read($devseqcar1/AckMoving) == 1) && (read($devseqcar2/AckMoving) == 1) && (read($devseqcar3/AckMoving) == 1)) ? (write($devid1/Enabled) = read(this/MemoEnableID1)) && goto(54) : goto(54);Restoring Enabled flag;Error restoring Enable flag;120000
step56;(write($devid1/Enabled) = read(this/MemoEnableID1)) && goto(57);Restoring Enabled state;Error restoring Enabled state;3000
step57;((read($devseqcar1/State) == FAULT) && (read(this/Action) > 0)) ? (write(this/Action) = 0) && goto(-1) : goto(58);Checking $devseqcar1 state;$devseqcar1 in FAULT state;3000
step58;((read($devseqcar2/State) == FAULT) && (read(this/Action) > 0)) ? (write(this/Action) = 0) && goto(-1) : goto(59);Checking $devseqcar2 state;$devseqcar2 in FAULT state;3000
step59;((read($devseqcar2/State) == FAULT) && (read(this/Action) > 0)) ? (write(this/Action) = 0) && goto(-1) : goto(60);Checking $devseqcar3 state;$devseqcar3 in FAULT state;3000
step60;(write(this/Action) = 0) && goto(61);Exit step;Exit step;3000
#
# Dynamic attributes
#
attr;NumCarriages;long;2
attr;MemoEnableID1;long;0
attr;MemoEnableID2;long;0
attr;Action;long;0
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment