STRE Prototype SGLB Misc/Class Reference CLAS 354155 ESBR SORD 2 output latch data LITO 0 output LITO 1 zero speed LITO 0 health LITO 1 line run LITO 0 run latch output ESBR SORD 3 Run latch data LITO 0 health LITO 0 E-stop LITO 0 last set state LITO 0 maintained start 1 LITO 0 maintained start 2 LITO 0 maintained start 3 LITO 0 maintained start 4 LITO 0 pushbutton latch output ESBR SORD 4 PB latch data LITO 0 stop pushbutton LITO 0 health LITO 0 E-stop LITO 0 start pushbutton ESBR SGLB Output/#1 LCON /*+;Non-inverted Output ESBR SGLB Output/#2 LCON /*+;Inverted Output ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354008 ESBR SGLB General/Initialize CMNT Expects: É ¥ inst/É LITO 0 É ¥ 0/inst/É CALL 354125 É ¥ inst/É PRIM Heap/Store self ESBR SGLB Logic/Line Run /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É LITO 4 É ¥ 4/inst/arg/É LCAL Go output É ¥ É ESBR SGLB Logic/M-Start 1 /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É LITO 4 É ¥ 4/inst/arg/É LCAL Go Run É ¥ É ESBR SGLB Logic/M-Start 2 /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É LITO 5 É ¥ 5/inst/arg/É LCAL Go Run É ¥ É ESBR SGLB Logic/M-Start 3 /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É LITO 6 É ¥ 6/inst/arg/É LCAL Go Run É ¥ É ESBR SGLB Logic/M-Start 4 /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É LITO 7 É ¥ 7/inst/arg/É LCAL Go Run É ¥ É ESBR SGLB Logic/Start /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É LITO 4 É ¥ 4/inst/arg/É LCAL Go PB É ¥ É ESBR SGLB Logic/Stop /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É LITO 1 É ¥ 1/inst/arg/É LCAL Go PB É ¥ É ESBR SGLB Logic/E-Stop /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É PRIM Stack/Over É ¥ arg/inst/arg/É LITO 3 É ¥ 3/arg/inst/arg/É LITO 4 É ¥ 4/3/arg/inst/arg/É PRIM S_tree/Replace É ¥ inst/arg/É LCAL Do PB É ¥ flag/inst/arg/É PRIM Stack/Drop É ¥ inst/arg/É LITO 2 É ¥ 2/inst/arg/É LCAL Go Run É ¥ É ESBR SGLB Logic/Health /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É PRIM Stack/Over É ¥ arg/inst/arg/É LITO 2 É ¥ 2/arg/inst/arg/É LITO 4 É ¥ 4/2/arg/inst/arg/É PRIM S_tree/Replace É ¥ inst/arg/É LCAL Do PB É ¥ flag/inst/arg/É PRIM Stack/Drop É ¥ inst/arg/É PRIM Stack/Over É ¥ arg/inst/arg/É LITO 1 É ¥ 1/arg/inst/arg/É LITO 3 É ¥ 3/1/arg/inst/arg/É PRIM S_tree/Replace É ¥ inst/arg/É LCAL Do Run É ¥ flag/inst/arg/É PRIM Stack/Drop É ¥ inst/arg/É LITO 3 É ¥ 3/inst/arg/É LCAL Go output É ¥ É ESBR SGLB Logic/Zero Speed /3t5,false,true;Select... CMNT Expects: É ¥ inst/arg/É LITO 2 É ¥ 2/inst/arg/É LCAL Go output É ¥ É ESBR SGLB Logic/Get Line Run /2t4,false,true LITO 4 CALL 354072 ESBR SGLB Logic/Get M-Start 1 /2t4,false,true LITO 4 CALL 354074 ESBR SGLB Logic/Get M-Start 2 /2t4,false,true LITO 5 CALL 354074 ESBR SGLB Logic/Get M-Start 3 /2t4,false,true LITO 6 CALL 354074 ESBR SGLB Logic/Get M-Start 4 /2t4,false,true LITO 7 CALL 354074 ESBR SGLB Logic/Get Start /2t4,false,true LITO 4 CALL 354076 ESBR SGLB Logic/Get Stop /2t4,false,true LITO 1 CALL 354076 ESBR SGLB Logic/Get E-Stop /2t4,false,true LITO 3 CALL 354076 ESBR SGLB Logic/Get Health /2t4,false,true LITO 2 CALL 354076 ESBR SGLB Logic/Get Zero Speed /2t4,false,true LITO 2 CALL 354072 ESBR SGLB Logic/Get Output /2t4,false,true LITO 1 CALL 354072 ESBR SGLB Logic/Get Start Latch /2t4,false,true LITO 8 CALL 354074 ESBR SGLB Logic/Get Run Latch /2t4,false,true LITO 5 CALL 354072 ESBR ESTR LDEF Do PB CMNT computes the new PB out and stores it back into the structure CMNT Input: É ¥ inst/É CMNT Output: É ¥ flag/inst/É LITO 4 É ¥ 4/inst/É CALL 354148 É ¥ start/e-stop/health/stop/inst/É BRFL branch if no start BRFL branch if e-stop active PRIM Stack/Drop É ¥ stop/inst/É PRIM Stack/Drop É ¥ inst/É LCAL PB reset É ¥ change?/inst/É BRTR BRFL branch if not healthy PRIM Stack/Drop É ¥ inst/É LCAL PB reset É ¥ change?/inst/É BRTR BRFL branch if stop active LCAL PB reset É ¥ change?/inst/É BRTR LITO 0 É ¥ flag/inst/É BRTR PRIM Stack/Drop É ¥ health/stop/inst/É PRIM Stack/Drop É ¥ stop/inst/É PRIM Stack/Drop É ¥ inst/É LITO 8 É ¥ 8/inst/É LITO 3 É ¥ 3/8/inst/É PRIM S_tree/Read É ¥ PB out/inst/É BRFL branch if not set LITO 1 É ¥ 1/inst/É LITO 8 É ¥ 8/1/inst/É LITO 3 É ¥ 3/8/1/inst/É PRIM S_tree/Replace É ¥ inst/É LITO 1 É ¥ flag/inst/É BRTR LITO 0 É ¥ flag/inst/É EDEF LDEF PB reset CMNT resets the PB latch output (if necessary) CMNT Input: É ¥ inst/É CMNT Output: É ¥ change?/inst/É LITO 8 É ¥ 8/inst/É LITO 3 É ¥ 3/8/inst/É PRIM S_tree/Read É ¥ PB out/inst/É BRFL branch if already reset LITO 0 É ¥ flag/inst/É BRTR LITO 0 É ¥ 0/inst/É LITO 8 É ¥ 8/0/inst/É LITO 3 É ¥ 3/8/0/inst/É PRIM S_tree/Replace É ¥ inst/É LITO 1 É ¥ flag/inst/É EDEF LDEF Do Run CMNT computes the new Run latch out and stores it back into the structure CMNT Input: É ¥ inst/É CMNT Output: É ¥ flag/inst/É LITO 3 É ¥ 3/inst/É CALL 354148 É ¥ PB out/MS4/MS3/MS2/MS1/last/e-stop/health/inst/É PRIM Ordinal/Add É ¥ acc/MS3/MS2/MS1/last/e-stop/health/inst/É PRIM Ordinal/Add É ¥ acc'/MS2/MS1/last/e-stop/health/inst/É PRIM Ordinal/Add É ¥ acc''/MS1/last/e-stop/health/inst/É PRIM Ordinal/Add É ¥ set/last/e-stop/health/inst/É BRFL branch if set is false PRIM Stack/Xdrop É ¥ last/health/inst/É PRIM Stack/Xdrop É ¥ last/inst/É BRFL branch if last was false CMNT Level: low LCAL Run reset É ¥ flag/inst/É BRTR CMNT Edge: Negative LITO 0 É ¥ 0/inst/É LITO 3 É ¥ 3/0/inst/É LITO 3 É ¥ 3/3/0/inst/É PRIM S_tree/Replace É ¥ inst/e-stop/health/É LCAL Run reset É ¥ flag/inst/É BRTR BRFL branch if last was false CMNT Edge: Positive PRIM Stack/Drop É ¥ health/inst/É PRIM Stack/Drop É ¥ inst/É LITO 1 É ¥ 1/inst/É LITO 3 É ¥ 3/1/inst/É LITO 3 É ¥ 3/3/1/inst/É PRIM S_tree/Replace É ¥ inst/É LITO 5 É ¥ 5/inst/É LITO 2 É ¥ 2/5/inst/É PRIM S_tree/Read É ¥ Run out/inst/É BRFL branch if not set LITO 1 É ¥ 1/inst/É LITO 5 É ¥ 5/1/inst/É LITO 2 É ¥ 2/5/1/inst/É PRIM S_tree/Replace É ¥ inst/É LITO 1 É ¥ flag/inst/É BRTR LITO 0 É ¥ flag/inst/É BRTR CMNT Level: High BRFL branch if E-stop active PRIM Stack/Drop É ¥ inst/É LCAL Run reset É ¥ change?/inst/É BRTR BRFL branch if not healthy LCAL Run reset É ¥ change?/inst/É BRTR LITO 0 É ¥ flag/inst/É EDEF LDEF Run reset CMNT resets the Run latch output (if necessary) CMNT Input: É ¥ inst/É CMNT Output: É ¥ change?/inst/É LITO 5 É ¥ 5/inst/É LITO 2 É ¥ 2/5/inst/É PRIM S_tree/Read É ¥ Run out/inst/É BRFL branch if already reset LITO 0 É ¥ flag/inst/É BRTR LITO 0 É ¥ 0/inst/É LITO 5 É ¥ 5/0/inst/É LITO 2 É ¥ 2/5/0/inst/É PRIM S_tree/Replace É ¥ inst/É LITO 1 É ¥ flag/inst/É EDEF LDEF Do output CMNT computes the new output and sends the messages CMNT Input: É ¥ inst/É CMNT Output: É ¥ É LITO 2 É ¥ 2/inst/É CALL 354148 É ¥ run out/line run/health/zero/output/inst/É PRIM Ordinal/And É ¥ run?/health/zero/output/inst/É BRFL branch if no run signal BRFL branch if not healthy PRIM Stack/Drop É ¥ output/inst/É LITO 0 É ¥ 0/output/inst/É CALL 354090 É ¥ É BRTR BRFL branch if still turning (don't reset) PRIM Stack/Drop É ¥ inst/É PRIM Heap/Store self É ¥ É BRTR LITO 0 É ¥ 0/output/inst/É CALL 354090 É ¥ É BRTR PRIM Stack/Drop É ¥ zero/output/inst/É PRIM Stack/Drop É ¥ output/inst/É LITO 1 É ¥ 1/output/inst/É CALL 354090 É ¥ É EDEF LDEF Go PB CMNT Stores the parameter and invokes Do PB CMNT Input: É ¥ index/inst/arg/É CMNT Output: É ¥ É PRIM Stack/Xswap É ¥ index/arg/inst/É LITO 4 É ¥ 4/index/arg/inst/É PRIM S_tree/Replace É ¥ inst/É LCAL Do PB É ¥ flag/inst/É BRFL branch if no propogated change PRIM Heap/Store self É ¥ É BRTR LCAL Do Run É ¥ flag/inst/É BRFL branch if no propogated change PRIM Heap/Store self É ¥ É BRTR LCAL Do output É ¥ É EDEF LDEF Go Run CMNT Stores the parameter and invokes Do Run CMNT Input: É ¥ index/inst/arg/É CMNT Output: É ¥ É PRIM Stack/Xswap É ¥ index/arg/inst/É LITO 3 É ¥ 3/index/arg/inst/É PRIM S_tree/Replace É ¥ inst/É LCAL Do Run É ¥ flag/inst/É BRFL branch if no propogated change PRIM Heap/Store self É ¥ É BRTR LCAL Do output É ¥ É EDEF LDEF Go output CMNT Stores the parameter and invokes Do output CMNT Input: É ¥ index/inst/arg/É CMNT Output: É ¥ É PRIM Stack/Xswap É ¥ index/arg/inst/É LITO 2 É ¥ 2/index/arg/inst/É PRIM S_tree/Replace É ¥ inst/É LCAL Do output É ¥ É EDEF