...
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
![](/download/attachments/145492832/pp_gui.png?version=1&modificationDate=1383757331000&api=v2)
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 screen logic
- Both screens have built in logic to assist the user in the correct operation of the pulse picker, the logic is the same for both screens.
- If the user has selected a mode for the pulse picking motor all of the mode selecting buttons will become invisible until the motor has been returned to 'Waiting for Mode Select'. This logic is show in Fig 2.
- If the position of the pluse picker blades is unknown, DF=99, only the home motor button will be shown to the user and the user will be shown a message stating that the motor needs to be homed. Once the blade position returns to a know position the other buttons will become visible. The homing process takes a few seconds. This logic is show in Fig 3.
Pulse Picker Screen Launch Script
- The script edm-pp-screens.cmd can be used to launch the pp_mode_control.edl screen with the correct motor name for each hutch
- To launch screen for a specific hutch pass the three letter acronym of the hutch to the script, the script will accept upper, lower and mixed case arguments.
- Currently the script is located in: /reg/neh/home/alexd/ioc/common/xip_pp/current, the script will be moved to a release at the next update to the pulse picker ioc.
Code Block |
---|
language | bash |
---|
title | edm-pp-screens.cmd |
---|
|
$ ./edm-pp-screens.cmd mec |
Info |
---|
|
There are additional screens located in the /pp_screens directory, these screens are only meant to be used by MEC, they have PVs hard coded in to them. |
...
Info |
---|
|
One-shot mode select button has been removed from pp_mode_select.edl and pp_gui.edl as of R1.4.1. The one-shot option has not been removed from the mcode or IOC. The mode is redundant as Burst Mode uses the same functions but does not require resetting after each use. |
Epics IOC
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.
...
...
- Sends a hard reset to the Mcode
- Sets Se to 99
- Executes program 1
- Most variable used in the pulse picking mcode will be reset to standard values.
- Motor will need to be re-homed if this is called
...
- Resets pulse picking mode
- Sets Se to 0
- Mcode will see Se=0, branch to close , the blades then return to mode select
Info |
---|
|
The reset process is completed when the SD is "Waiting for Se", SD_L=0 |
...
- Mcode Heartbeat
- Reads HB from mcode
- Passive scanning
- Scanned at IOC start
$(MOTOR):NS
- Pulse picker mcode version
- Reads NS from mcode
- Passive Scanning
- Scanned at 1 secondIOC start
Records contained in xip_evr_seq.template
...
Info |
---|
|
All records in template do not have inputs or outputs. They are read by python module to select proper pulse selecting mode |
...