...
- Signal state change to 10 (One-Shot Init)
- Load One-Shot speeds (CL V1)
- Move the shutter to the nearest closed position (CL X5)
- If the shutter is in the negative closed position:
- Specify One-Shot ISR 2 (J2) to run on Input Trip
- Else
- Specify One-Shot ISR 1 (J1) to run on Input Trip
- EndIf
- Arm Input Trip (TE=4)
- Signal state change to 11 (One-Shot Loop)
- One-Shot Loop START (forever):
- Increment heartbeat
- Hold for 100ms
- If user sets the soft reset (Se=0)
- Branch to Mode Select (Mode 0)
- EndIf
- If user requests fast close (Se=5)
- Branch to Fast Close (Mode 5)
- EndIf
- One-Shot Loop END
...
- Signal state change to 20 (Flip-Flop Init)
- Load Flip-Flop speeds (CL V2)
- Move the shutter to the nearest closed position (CL X5)
- If the shutter is in the negative closed position:
- Specify Flip-Flop ISR 2 (J6) to run on Input Trip
- Else
- Specify Flip-Flop ISR 1 (J5) to run on Input Trip
- EndIf
- Arm Input Trip (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)
- Branch to Mode Select (Mode 0)
- EndIf
- If user requests fast close (Se=5)
- Branch to Fast Close (Mode 5)
- EndIf
- Flip-Flop Loop END
...
- Signal state change to 30 (Burst Mode Init)
- Load Burst speeds (V3)
- Move the shutter to the nearest closed position (CL X5)
- Specify Burst Open ISR (J3) to run on Input Trip
- Arm Input Trip (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)
- Branch to Mode Select (Mode 0)
- EndIf
- If user requests fast close (Se=5)
- Branch to Fast Close (Mode 5)
- EndIf
- Burst Loop END
...
- Signal state change to 50 (Fast close init)
- Load fast close speeds (CL V5)
- If neither at Df=1 (positive closed) nor at Df=-1 (negative closed), then
- Move (MA) to the positive closed position (P1)
- Hold until movement complete
- Copy current encoder count to Cs for future drift checks
- Set Df=1 to indicate that slits are in positive closed position
- EndIf
- Signal state change to 51 (Fast close complete)
- Goto mode select
Mode 6: Follower (LB Z6)
- Signal state change to 60 (Follower Mode Init)
- Load Follower speeds (V6)
- Move the shutter to the nearest closed position (CL X5)
- Set hi-speed trip input to trigger on HIGH-going edge
- Specify Follower Open ISR (J7) to run on Input Trip
- Arm Input Trip (TE=4)
- Signal state change to 61 (Follower Loop)
- Burst Loop START (forever):
- Increment heartbeat
- Hold for 100ms
- If user sets the soft reset (Se=0)
- Branch to Mode Select (Mode 0)
- EndIf
- If user requests fast close (Se=5)
- Branch to Fast Close (Mode 5)
- EndIf
- Burst Loop END
NOTE: Once you enter follower mode, you should cycle the EVR line (high-low-high or low-high-low) at least once to synchronize the shutter and the input. This limitation will be fixed in a later picker hardware revision.
NOTE: Once in the follower loop, you must set Se=0 to get back to Mode Select. Follower mode is continuous, that is, each subsequent trigger pulse will open and close the shutter.
Follower Open ISR (LB J7)
- Move (MA) to open position (P0)
- If error checking is enabled (Ec=1) AND last position was P1 (Df==1)
- Calculate drift at previous position P1: Dr=N1-Cs
- If calculated drift is out of spec (Dr>=Dl)
- Increment lower drift violation counter Ld
- EndIf
- EndIf
- Specify Follower Close ISR (J8) to run on Input Trip
- Hold until movement complete
- Copy current encoder count (C2) to shadow register Cs
- Set Df=0 to indicate slits are at open position
- Set high-speed trip input to trigger on LOW-going edge
- Re-arm input trip (TE=4)
- Return
Follower Close ISR (LB J8)
- Move (MA) to positive closed position (P1)
- If error checking is enabled (Ec=1)
- Calculate drift at previous position P0: Dr=Cs-N0
- If calculated drift is out of spec (Dr>=Dl)
- Increment upper drift violation counter Ud
- EndIf
- EndIf
- Specify Follower Open ISR (J7) to run on Input Trip
- Hold until movement complete
- Copy current encoder count (C2) to shadow register Cs
- Set Df=1 to indicate slits are at positive closed position
- Set high-speed trip input to trigger on HIGH-going edge
- Re-arm input trip (TE=4)
- Return
Mode 7: Home 7: Home to Index Mark (LB Z7)
- Signal state change to 70 (Homing init)
- Load homing/alignment speeds (CL V9)
- Execute home-to-index (HI) with option 3 (slew at VM in + direction, creep in - direction)
- Hold until movement complete
- Relative move (MR) by Mo to positive closed position
- Hold until movement complete
- Set C1 to P1 - tell the motor where it is
- Set C2 to N1 - tell the encoder where it is
- Set Cs to C2 - copy the encoder count to shadow register
- Set Df to 1 (positive closed position, known)
- Reset limit violation counters Ld and Ud to 0
- Signal state change to 79 (Homing complete)
- Goto mode select
...
Sd | Status Description |
---|
0 | Waiting for Se mode selection |
10 | One-Shot Initialization |
11 | One-Shot Loop Waiting |
12 | One-Shot Complete |
20 | Flip-Flop Initialization |
21 | Flip-Flop Loop Waiting |
22 | Flip-Flop Loop Active |
30 | Burst Initialization |
31 | Burst Armed and Waiting |
32 | Burst Open Pulse Received |
33 | Burst Close Pulse Received |
39 | Burst Complete |
40 | Fast Open Initialization |
41 | Fast Open Complete |
50 | Fast Close Initialization |
51 | Fast Close Complete |
60 | Follower Mode Initialization |
61 | Follower Mode Loop |
70 | Homing Initialization |
79 | Homing Complete |
80 | Hard Reset/Power-Up Initialization |
81 | Soft Reset/Power-Up Initialization |
90 | Toggle Move Complete |
91 | Move to Positive Closed Position Complete |
92 | Move to Negative Closed Position Complete |
94 | Move to Open Position Complete |
95 | Close move did not execute because pulse picker is already closed |
...
V5 speeds are identical to V4 speeds.
Follower Velocity Defaults (V6)
V6 speeds are identical to V0 speeds.
Homing/Alignment Velocity Defaults (V9)
...