Versions Compared

Key

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

Welcome!

You'll want to read this first: Pulse Picker Presentation 2014-06-26.pptx (UPDATED 2014-06-26 with new "Follower" mode).

For more detailed information you can read the children pages below.

Children Display

Pulse Selector in the Hutches

Table of Contents

Settings in XCS

Python GUI startup script (Working in progress)

Code Block

#!/bin/bash
# Start the XCS Pulse Selector Python GUI
cd /reg/neh/home1/jsludvik/svn/trunk/ioc/xcs/xip_pp/current/pyscripts/src
python main.py --instr xcs

Configuration file

Code Block

~/.pp_xcs/pvlist.lst

Current configuration (Working in progress)

Code Block

# ---------------------------------------------------------------
# Pulse Selector Description File
# ---------------------------------------------------------------
# Syntax:
#   <TYPE>, <PVNAME|IOCNAME|SCRIPT>, <DESC> # some_more_comments
# Where:
#   <Type>    : "SEQ" -> Sequencer
#               "EVR" -> EVR associated to sequencer
#               "PPM" -> Pulse Selector
#               "SVR" -> Motor and Pulse Selector Server
#               "IOC" -> Motor and Pulse Selector software IOC
#               "SPP" -> EDM screens for motion
#               "SEV" -> EDM screens for evr
#   <PVNAME>  : PV base name
#   <IOCNAME> : Server name associated to Pulse Selector PVs
#   <DESC>    : User description
# Notes:
#   PVNAME or IOCNAME are not case sensitive.
#   Line can be commented out by starting with '#' character.
# ---------------------------------------------------------------
SEQ, XPP:R35:IOC:SEQ,     XPP DAQ Sequencer                            # FIXME
PLY, IOC:IN20:EV01,       XPP DAQ Sequencer play mode                  # FIXME
EVR, XCS:R42:EVR:01,      VME EVR located in XCS Rack 42               # OK
PPM, XCS:SB2:MMS:09,      Pulse Selector Motor                         # TOCHECK
IOC, ioc-xcs-trigger-ims, IOC running pulse selector                   # OK
SVR, ioc-tst-cam5,        server running IOC for pulse selector        # FIXME
SPP, ppm_gui.sh,          EDM screen startup shell script for PP motor # FIXME
SEV, evr_gui.sh,          EDM screen startup shell script for EVR      # FIXME

Test Screens

XIP main GUI:
/reg/neh/home1/jsludvik/svn/trunk/ioc/xpp/xip_pp/current/motionScreens/xip_gui.sh

XCS Motor GUIs:

Code Block

/reg/g/pcds/package/epics/3.14/modules/pcds_motion/R2.3.4/launch-motor.sh XCS:SB2:MMS:09
/reg/g/pcds/package/epics/3.14/modules/pcds_motion/R2.3.4/launch-motor.sh XCS:SB2:MMS:08
/reg/g/pcds/package/epics/3.14/modules/pcds_motion/R2.3.4/launch-motor.sh XCS:SB2:MMS:21

Startup.cmd:(Working in progress)

Code Block

/reg/d/iocCommon/sioc/ioc-xcs-trigger-ims/startup.cmd

Server running the ioc

Code Block

ssh TODO

Setup Lab tests

Table of Contents

XIP Pulse Selector: Files, modes, schematics

Setup Lab: EVR Settings

Setup Lab: Working with the EVR from pslogin
  1. in pslogin type (you need to have your securekeys):
    Code Block
    
     ssh ioc-tst-cam5 /reg/neh/home1/paiser/bin/evr.sh EVR=TST:CAM:05:EVR
     
  2. Then configure EVR as you need manually...
Setup Lab: In case the server ioc-tst-cam5 was power cycled
  1. Connect to the server:
    Code Block
    
     ssh ioc-tst-cam5
     
  2. Run the startup command that contains EVR ioc in:
    Code Block
    
     sudo /reg/d/iocCommon/sioc/ioc-tst-cam5/startup.cmd
     
  3. You should see with psproc:
    Code Block
    
     [paiser@ioc-xrt-xcscam04 ~ 12:18:20] psproc
     PID   USER-ID   SIOC                      COMMAND   HOSTNAME            PORT
     4851  tstioc    caRepeater                procServ  ioc-xrt-xcscam04    30000
     5147  tstioc    ioc-tst-cam5              procServ  ioc-xrt-xcscam04    30001
     5150  tstioc    ioc-tst-cam5              procServ  ioc-xrt-xcscam04    40000
     
Setup Lab : In case you need to power cycle ioc-tst-cam5
Code Block

 ipmitool -I lanplus -U ADMIN -P <you_should_know> -H ioc-tst-cam5-ipmi power status
 ipmitool -I lanplus -U ADMIN -P <you_should_know> -H ioc-tst-cam5-ipmi power reset
 

Where: <you_should_know> is the standard ipmi password that you_should_know...

Setup Lab : Test Screens

Python homing script:
/reg/neh/home1/jsludvik/test-python/xip-home.py

XIP main GUI:
/reg/neh/home1/jsludvik/svn/trunk/ioc/xpp/xip_pp/current/motionScreens/xip_gui.sh

XPP motor GUIs:

Code Block

/reg/g/pcds/package/epics/3.14/modules/pcds_motion/R2.3.4/launch-motor.sh XPP:TST:MMS:01
/reg/g/pcds/package/epics/3.14/modules/pcds_motion/R2.3.4/launch-motor.sh XPP:TST:MMS:02
/reg/g/pcds/package/epics/3.14/modules/pcds_motion/R2.3.4/launch-motor.sh XPP:TST:MMS:03

Startup.cmd:

Code Block

/reg/d/iocCommon/sioc/ioc-xpp-trigger-ims/startup.cmd

Mode Descriptions

Mode 1: Single pulse
Mode 2: Continuous trigger

Mode 1 and 2 should be the same program, as the Seq will generate the pulses to the motor, and open/close operation shouldn't make any difference whether it is 1 or more. The motor sees a trigger and moves.

This mode is accessed by <PV>:RUN_MODE2

Mode 3: The motor opens on a pulse, counts N pulses and closes on the Nth pulse. The pre-trigger and close trigger should be factored in by the upper layer software to determine the proper N value to put into the motor. All the motor does is, open on N=1, count, then close on N=N.

This mode is accessed by <PV>:RUN_MODE3

Mode 1 was programmed like just mode 2 with a User "Trigger" enable/disable, which may or may not be useful for us. Sort of like 2 layers of enabling, versus just 1 for mode2
This mode is accessed by <PV>:RUN_MODE1

Reset Modes to start new mode:
<PV>:RESET

Homing Sequence

1) EPICS Motor Record: HOMF
2) Zero Position
3) Move Relative -76.25 degrees
4) Zero Position

MCode Program State Diagram

<insert VISIO diagram>
<code example>

Motor Interlock Scheme

Screenshots

Pulse Selector Test/Checkout Procedure (6/10/2013)

X motor calibration

  • Found offset from X zero position: 5.8075 mm from + limit
  • Offset for X zero position: 5.7332 mm from - limit
  • Limits performed as expected, and in place before hardstops

Y motor calibration

  • Offset from +Y limit to zero: 15.6689 mm
  • Offset from -Y limit to zero: 7.9956 mm
  • Limits performed as expected, and in place before hardstops

New Interlock:

Add Y motor interlock, position >= 2 mm above 0 position, no X movement allowed

X-Y interlock stopped working today, need to investigate.

Image Removed