Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Copy current position to shadow variables
  • If currently in the positive closed position (Df=1)
    • Move (MA) to negative closed position P2
    • Check If error checking is enabled (Ec=1), check drift at previous, negative closed position (call X9)
    • Hold until movement complete
    • Set Df=1, indicating current position is positive closed position
  • Else (any other position but P1)
    • Move (MA) to positive closed position P1
    • Check drift at previous, positive closed position (call X8)
    • Hold until movement complete
    • Set Df=-1, indicating current position is negative closed position
  • EndIf
  • Copy current encoder count (C2) to shadow register Cs
  • Signal state change to 90 (Toggle movement complete)
  • Return

...

  • 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 user sets the soft reset (Se=0)
      • Go back to mode select
    • EndIf
    • If at least one movement is complete (Sd=90)
      • Signal state change to 22 (Flip-Flop Loop Active)
    • EndIf
  • Flip-Flop Loop END

...

  • 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 user sets the soft reset (Se=0)
      • Go back to mode select
    • EndIf
    • If the close movement is complete (Sd=92), then
      • Signal state change to 39 (Burst complete)
    • EndIf
  • Burst Loop END

...

  • 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 P2If error checking is enabled (Ec=1), check drift at previous, assumed positive closed position (call X8)
  • Hold until movement complete
  • Set Df=0 to indicate slits are at open position
  • 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

...

  • 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 P2If error checking is enabled (Ec=1), check drift at previous, assumed positive closed position (call X8)
  • Hold until movement complete
  • Set Df=1 to indicate slits are at positive closed position
  • Copy current encoder count (C2) to shadow register Cs
  • Signal state change to 91 (Move to positive closed position complete)
  • Return

...