You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 34
Next »
Pulse Picker Edm Screens
Fig 1. pp_mode_control.edl waiting for mode selection Fig 2. pp_mode_control.edl, Pulse picking mode has been selected Fig 3. pp_mode_control.edl, Blade position unknown motor homing required
Fig 4. pp_gui.edl
- pp_mode_control.edl
- Shown in Fig 1. through Fig 3.
- User screen for pulse picker motor
- Displays current motor status including: blade position, pulse picker mcode status and version, fan status, limit violations, error mode, mcode heartbeat, and selected pulse picking mode.
- Contains buttons to select pulse picking mode and perform a hard reset of the pulse picker mcode.
- Contains button to open to open pp_gui.edl, labeled CNTRL.
- The edm macro for the screen is MOTOR=<Motor Base PV>, ie edm -x -eolc -m "MOTOR=CXI:ATC:MMS:29" pp_screens/pp_mode_control.edl &
- pp_gui.edl
- Shown in Fig 4.
- Expert screen for pulse picker motor
- Contains all displays and controls contained the in pp_mode_control.edl screen
- Contains displays and controls for all variables for pulse picker Mcode.
- Pulse picker mode select buttons
- Both screens have built in logic to assist the user in the correct operation of the pulse picker.
Motor Interlocks
- If pules picking motor is in pulse picking mode, $(MOTOR):SE_L != 0, X and Y stepper motors are disabled
- If Y motor position is greater than 10mm X motor is disabled
- If X motor position is greater then 5mm or less then -5mm Y motor is disabled.
- Interlock records can be found in the 2-axis-control.sub-db file.
Records located in xip.template
$(MOTOR):SE
- Pulse picking mode select
- Reads Se from mcode
- Returns string corresponding to selected pulse picking mode
$(MOTOR):SE_L
$(MOTOR):SET_SE
- Pulse picking mode select
- Writes Se to Mcode, values 0 to 100 are allowed
$(MOTOR):MCODE:INIT
- Sends a hard reset to the Mcode
- Sets Se to 99
- Executes program 1
- Motor will need to be re-homed if this is called
$(MOTOR):RESET_PG
- Resets pulse picking mode
- Sets Se to 0
- Mcode will see Se=0, branch to close, return to mode select
$(MOTOR):SD_L
$(MOTOR):SD
- Mcode program status
- Returns string corresponding to status of mcode program
$(MOTOR):RUN_ONESHOT
- Selects One Shot pulse picking mode
- Sets SET_SE to 1
- Turns output 4 on
- Read Se back from Mcode
$(MOTOR):RUN_FLIPFLOP
- Selects Flip Flop pulse picking mode Mode
- Sets SET_SE to 2
- Turns output 4 on
- Reads Se back from mcode
$(MOTOR):RUN_BURSTMODE
- Selects Burst Mode
- Sets SET_SE to 3
- Turns output 4 on
- Reads Se back from mcode
$(MOTOR):RUN_FLIPFLOP
- Selects Flip Flop Mode
- Sets SET_SE to 2
- Turns output 4 on
- Reads Se back from mcode
$(MOTOR):S_OPEN
- Moves shutter to open position
- Sets Se to 4
- Reads Se from Mcode
$(MOTOR):S_CLOSE
- Moves shutter to close position
- Sets Se to 5
- Reads Se from Mcode
$(MOTOR):HOME:MOTOR
- Selects automatic motor homing and offset
- Sets Se to 7
- Reads Se from Mcode
$(MOTOR):LD
- Lower limit drift violation counter
- Scanned at 1 second
- Minor alarm at 100
$(MOTOR):UD
- Upper limit violation
- Scanned at 1 second
- Minor alarm at 100
Records that use xip_readwrite.template called by pulse-motor-ims.sub-db
$(MOTOR):N0
- Center position of motor in Encoder Counts
- Reads N0 from mcode
- Passive Scanning
- Processed at IOC start
$(MOTOR):SET_N0
- Center position of motor in Encoder Counts
- Writes N0 to mcode
$(MOTOR):N1
- Positive motor closed position in Encoder Counts
- Reads N1 from mcode
- Passive Scanning
- Processed at IOC start
$(MOTOR):SET_N1
- Positive motor closed position in Encoder Counts
- Writes N1 to mcode
$(MOTOR):N2
- Negative closed position of motor in Encoder Counts
- Reads N2 from mcode
- Passive Scanning
- Processed at IOC start
$(MOTOR):SET_N2
- Negative closed position of motor in Encoder Counts
- Writes N2 to mcode
$(MOTOR): P0
- Center motor position in motor microsteps
- Reads P0 from mcode
- Passive Scanning
- Processed at IOC start
$(MOTOR):SET_P0
- Center motor position in motor microsteps
- Writes P0 to mcode
$(MOTOR): P1
- Positive closed motor position in motor microsteps
- Reads P1 from mcode
- Passive Scanning
- Processed at IOC start
$(MOTOR):SET_P1
- Positive closed motor position in motor microsteps
- Writes P1 to mcode
$(MOTOR): P2
- Negative closed motor position in motor microsteps
- Reads P2 from mcode
- Passive Scanning
- Processed at IOC start
$(MOTOR):SET_P2
- Negative closed motor position in motor microsteps
- Writes P2 to mcode
$(MOTOR): SW
- Sweep distance from closed position to open position in microsteps
- Reads SW from mcode
- Passive Scanning
- Processed at IOC start
$(MOTOR):SET_SW
- Sweep distance from closed position to open position in microsteps
- Writes SW to mcode
$(MOTOR):SR
- Sweep distance from closed position to open position in encoder counts
- Reads SR from mcode
- Passive Scanning
- Processed at IOC start
$(MOTOR):SET_SR
- Sweep distance from closed position to open position in microsteps
- Writes SR to mcode
$(MOTOR):DR
- Position drift at closed positions in encoder counts
- Reads DR from mcode
- Passive Scanning
- Processed at IOC start
$(MOTOR):SET_DR
- Position drift at closed positions in encoder counts
- Writes DR to mcode
$(MOTOR):DL
- Position drift limit in encoder counts
- Reads DL from mcode
- Passive Scanning
- Processed at IOC start
$(MOTOR):SET_DL
- Position drift limit in encoder counts
- Writes DL to mcode
Records that use xip_read.template called by pulse-motor-ims.sub-db
$(MOTOR):DF
- Current motor position
- Reads DR from mcode
- Scanned at 1 second
$(MOTOR):HB
- Mcode Heartbeat
- Reads HB from mcode
- Passive scanning
$(MOTOR):NS
- Pulse picker mcode version
- Reads NS from mcode
- Scanned at 1 second
Records contained in xip_evr_seq.template.
$(MOTOR):PP_EVRDELAY
- EVR Delay for pulse picker
- Engineering units 'ms'
$(MOTOR):PP_NSHOTS
- Number of shots for picker to select
$(MOTOR):PP_REPEAT
- Number of repetitions of pulse selecting
$(MOTOR):PP_FREQ
- Frequency of selected pulses
$(MOTOR):PP_SEQ
$(MOTOR):PP_EVRDELAY
- EVR Delay for pulse picker
##################################################################
- Tasks to complete for PP ioc
- Add records to write to desired sequencer and evr records and hold desired information
- Edit EDM screen to reflect changes to ioc
- look in to turning on scanning so motion is displayed on screens, may be covered by MV scanning
- Update confluence page