...
- Signal state change to 10 (One-Shot Init)
- Load One-Shot speeds (V1)
- Calculate target position using drift of current position (X9)
- Specify One-Shot ISR (J1) to run on Input Trip
- Arm Input Trip (TE=TE|4)
- Signal state change to 11 (One-Shot Loop)
- One-Shot Loop START (forever):
- Increment heartbeat
- Hold for 100ms
- If movement is complete (Sd=90)
- Signal state change to 12 (One-Shot Complete)
- EndIf
- One-Shot Loop END
NOTE: Once in the one-shot loop, you must reset to get back to Mode Select.
...
- Signal state change to 20 (Flip-Flop Init)
- Load Flip-Flop speeds (V2)
- Calculate target position using drift of current position (X9)
- Specify Flip-Flop ISR (J2) to run on Input Trip
- Arm Input Trip (TE=TE|4)
- Signal state change to 21 (Flip-Flop Loop)
- Flip-Flop Loop START (forever):
- Increment heartbeat
- Hold for 100ms
- If at least one movement is complete (Sd=90)
- Signal state change to 22 (Flip-Flop Loop Active)
- EndIf
- Flip-Flop Loop END
NOTE: Once in the flip-flop loop, you must reset to get back to Mode Select.
...
- Signal state change to 30 (Burst Mode Init)
- Load Burst speeds (V3)
- Calculate target position using drift of current position (X9)
- Specify Burst Open ISR (J3) to run on Input Trip
- Arm Input Trip (TE=TE|4)
- Signal state change to 31 (Burst Loop)
- Burst Loop START (forever):
- Increment heartbeat
- Hold for 100ms
- If the close movement is complete (Sd=92), then
- Signal state change to 32 39 (Burst complete)
- EndIf
- Burst Loop END
NOTE: Once in the burst loop, you must reset to get back to Mode Select.
Burst Open ISR (J3)
- Signal state change to 32 (Burst open signal received)
- Store current position in shadow variables
- Move (MA) to open position (P0)
- Calculate drift based on shadow variables
- Use new drift to update closed positions P1 and P2
- Hold until movement complete
- Signal state change to 94 (Move to open position complete)
- Specify Burst Close ISR (J4) to run on Input Trip
- Re-arm input trip (TE=TE|4)
- Return
Burst Close ISR (J4)
- Signal state change to 33 (Burst close signal received)
- Store current position in shadow variables
- Move (MA) to positive closed position (P1)
- Calculate drift based on shadow variables
- Use new drift to update open position P0 and closed position P2
- Hold until movement complete
- Signal state change to 91 (Move to positive closed position complete)
- Return
Mode 4: Fast Open
- Signal state change to 40 (Fast Open Init)
- Load fast open speeds
- Calculate target position using drift of current position (X9)
- Move (MA) to the open position (P0)
- Hold until movement complete
- Signal state change to 41 (Fast open complete)
- Goto mode select
Mode 5: Fast Close
- Signal state change to 50 (Fast close init)
- Load fast close speeds
- Calculate target position using drift of current position (X9)
- If neither at position P1 (positive closed) nor at position P2 (negative closed), then
- Move (MA) to the positive closed position (P1)
- Hold until movement complete
- EndIf
- Signal state change to 51 (Fast close complete)
- Goto mode select