esrf

Beamline Instrument Software Support
SPEC Macro documentation: [ Macro Index | BCU Home ]

SLIT_MH.MAC
See other macros in category: All
Description:
    %B%slit_mh.mac%B%# Macros for operating slits (gap/offset)
Documentation:
    DESCRIPTION
    This macro set allows you to define calculation motors on slits. You must define:
       a slit controller in config (one controller will work on one or
       two pair of blades):
       MOTORS       DEVICE    ADDR   <>MODE      NUM               <>TYPE
          YES       slit                           4         Macro Motors
       motors in config referring to that controller. Channel assignment
       will decide on the motor role as follow:
       Channel
         0   -   gap    
         1   -   offset 
    
       Different pairs of slits can be defined by using additional
       module numbers in the motor unit/module/channel assignment.
    
       Config file
         The following motor parameters have to be associated in config
         file to the channel 0 of the controller/module. 
    
         Example:
    
         MOT000 = MAXE:0/0 [...]   psu
         MOT001 = MAXE:0/1 [...]   psd
         MOT002 = MAXE:0/2 [...]   psl
         MOT003 = MAXE:0/3 [...]   psr
         MOT004 = MAXE:0/4 [...]   ssu
         MOT005 = MAXE:0/5 [...]   ssd
         MOT004 = MAXE:0/4 [...]   ssl
         MOT005 = MAXE:0/5 [...]   ssr
    
         MOT006 = MAC_MOT:0/0/0 [....]         psvg
         MOTPAR:blade1 = psu
         MOTPAR:blade2 = psd
         MOT007 = MAC_MOT:0/0/1 [....]         psvo
         MOT008 = MAC_MOT:0/1/0 [....]         pshg
         MOTPAR:blade1 = psl
         MOTPAR:blade2 = psr
         MOT009 = MAC_MOT:0/1/1 [....]         psho
    
         MOT010 = MAC_MOT:0/2/0 [....]         ssvg
         MOTPAR:blade1 = ssu
         MOTPAR:blade2 = ssd
         MOT011 = MAC_MOT:0/2/1 [....]         ssvo
         MOT012 = MAC_MOT:0/3/0 [....]         sshg
         MOTPAR:blade1 = ssl
         MOTPAR:blade2 = ssr
         MOT013 = MAC_MOT:0/3/1 [....]         ssho
    
    There is a possibility to set a scale factor on the gap or offset, so that the resulting gap or offset original value is multiplied by this scale factor.
    This is implemented when the scale property is defined for a gap/pffset motor:
    MOTPAR:scale = <a value>
    This is useful in particular when moving the gap executes a rotational movement on the plate and we want the gap to reflect the angular rotation.

Macros:
Internal Macros:
    slit_config
    Usage: slit_config (mne, type, unit, module, chan)
    Called after reading the config file. If return the string ".error.", spec will consider the channel unusable.

    slit_calc
    Usage: slit_calc (mne, mode, master0)
    Calculate the gap/offset as function of the real motors (mode=0) or the real motor positions as function of the gap/offset(mode=1). Apply the scale factor if defined.

    slit_checkmove
    Usage: slit_checkmove (master)
    Check if the motors, attached to the master one can move.

    slit
    Usage: slit motor_mne
    Print the configuration of a slit, where motor_mne is a gap or offset mnemonic.

    slit_disp
    Usage: slit_disp (<format>, <label>, <offs>, <gap>, <bld1>, <bld2>)
    Formated print of a slit configuration.

    mot_prot
    Usage: mot_prot (mot)
    Returns true if mot is protected.

Filename: slit_mh.mac
Author:
Last mod.: 22/07/2013 12:47 by beteva