You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 29 Next »

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

  • Raw pulse picking mode select
  • Reads Se from Mcode
  • Returns number corresponding to selected pulse picking mode\
  • See Pulse Picker MCode Pseudocode for number description

$(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

Reset Program

The reset process is completed when the SD is "Waiting for Se", SD_L=0

$(MOTOR):SD_L

  • Raw Mcode Program status
  • Returns number corresponding to mcode program status
  • scanned 1 second
  • See Pulse Picker MCode Pseudocode for number description
  • Forward link to $(MOTOR):SD

$(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

Mode Selecting

To change pulse picking modes, ie processing RUN_<MODE> PV, RESET_PG must be processed before selecting the new mode

$(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.

EVR SEQ Records

All records in template do not have inputs or outputs. They are read by python module to select proper pulse selecting mode

$(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

  • Use Sequencer <Yes,No>

$(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
  • No labels