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

Compare with Current View Page History

« Previous Version 24 Next »

Records located in xip.template

$(MOTOR):SE

  • Pulse picking mode select
  • Reads Se from mcode
  • Returns of mode selected

$(MOTOR):SE_L

  • Raw pulse picking mode select
  • Reads Se from Mcode
  • Returns mode select number from mcode

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

  • Raw Mcode Program status
  • Returns number corresponding to mcode program status
  • scanned 1 second

$(MOTOR):SD

  • Mcode program status
  • Returns string corresponding to status of mcode program
  • Scanned at 1 second

$(MOTOR):RUN_ONESHOT

  • Selects One Shot mode
  • Sets SET_SE to 1
  • Turns output 4 on
  • Read 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):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
  • Reads Ad from Mcode

$(MOTOR):S_CLOSE

  • Moves shutter to close position
  • Sets Se to 5
  • Reads Se from Mcode
  • Reads Ad from Mcode

$(MOTOR):HOME:MOTOR

  • Selects automatic motor homing and offset
  • Sets Se to 7
  • Reads Se from Mcode
  • $(MOTOR):S_POS_CLOSE
    • Last reported close position
    • On I/O Intr, looks for "CLOSE=<counts>" string
  • $(MOTOR):S_POS_OPEN
    • Last reported open position
    • On I/O Intr, looks for "OPEN=<counts>" string
  • $(MOTOR):PLUS_DEGREES
    • Conversion of N1 from motor counts to degrees
    • ##########TODO: find what N1 is
  • $(MOTOR):MINUS_DEGREES
    • Conversion of N2 from motor counts to degrees
    • ###########TODO: Find what N2 is
  • $(MOTOR):PLUS_DEGREE_CNTS
    • Conversion of N3 from encoder counts to degrees
    • ###################TODO: find what N3 is
  • $(MOTOR):MINUS_DEGREES_CNTS
    • Conversion of N4 from encoder counts to degrees
    • ###############TODO: find what N4 is
  • $(MOTOR):DEADBAND_DEGREES
    • Conversion of Sd from encoder counts to degrees
    • ###### Currently Sd is save deadband, and Karl is planning on using it as a status indicator.
  • $(MOTOR):SETUP_30HZ
    • Write parameters to motor for 30Hz operation
    • Sets A, D, VI, VM to $(LOC):30HZ:<A ... VM>:01
    • Sets A, D, VI, VM to $(LOC):30HZ:<A ... VM>:02
    • ###############TODO: unsure of why values need to be set to 02 after being set to 01, Also these settings from epics may not be needed
  • $(MOTOR):SETUP_60HZ
    • Sets A, D, VI to $(LOC):60HZ:<A ... VI>:01
    • Sets A, D, VI to $(LOC):60HZ:<A ... VI>:02
    • Sets A, D, VI to $(LOC):60HZ:<A ... VI>:03
    • Sets A, D, VI to $(LOC):60HZ:<A ... VI>:04
    • Sets A, D, VI to $(LOC):60HZ:<A ... VI>:05
    • Sets A, D, VI to $(LOC):60HZ:<A ... VI>:06
    • Sets VI to $(LOC):50HX:VI:07
    • Sets VI to $(LOC):50HX:VI:08
    • ###############TODO: unsure of why values need to be set to 02 after being set to 01, Also these settings from epics may not be needed

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):LD

  • Lower limit drift violation
  • Scanned at 10 seconds

$(MOTOR):UD

  • Upper limit violation
  • Scanned at 10 seconds

$(MOTOR):

##################################################################

  • 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