esrf

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

ICV196.MAC
See other macros in category: Generic I/O
Description:
    Relays configuration and control with icv196 card
Documentation:
    DESCRIPTION
    The Icv196 DIO board holds 96 channels; no 0 up to 63 are reserved for monitoring purposes (inputs), and the rest are dedicated to level or pulse control (outputs). One device server serves one channel.
    Those macros aim to interface SPEC to the icv196 boards in a way that all the channels used can be grouped into what we call systems, and be considered as actuators of that system they belong to.

    EXAMPLE
    diosetup reset
    initialises the whole relays configuration.
    diosetup system diodes
    initialises the system called "diodes"
    diosetup actuator d1 0 id/diodes/1 0 0 0 0.1
    attaches the relay served by device id/diodes/1, named "d1" as 1st actuator of diodes system.
    diosetup actuator d2 0 id/diodes/2 0 0 0 0.1
    attaches the relay served by device id/diodes/2, named "d2" as 2nd actuator of diodes system,
    diosetup system shutter
    initialises a 2nd system system called "shutter",etc ...
    dioread diodes
     diodes system
    ------------------------------------
             d1 --> ON
             d2 --> OFF
    
    dioread shutter
     shutter system
    ------------------------------------
             sh --> ON
    
    dioset diodes d2 1
    Sets actuator d2 on position ON.
     diodes system
    ------------------------------------
             d1 --> ON
             d2 --> ON
    


    SETUP
    diosetup with no argument raises up a configuration menu.
    They are 2 input entries in case of both positions of a relay are monitored; When only 1 position is monitored, it is useful also to revert the information from "dioread", by setting either the input 1 or the input 2. The output channel logic can be reverted as well by setting accordingly the corresponding option. The settling time is the time to wait after an action, before displaying its result.

    DEPENDENCIES
      - The file has to be read in                       !done by startup script
        this file needs:  menu.mac
    


Macros:
    diosetup
    Usage: diosetup <setup_flag> [name] [output] [pulsed] [input1] [input2] [output_logic_revert] [settling_sec]
    [setup_flag]		: 0|"reset"	1|"system"	2|"actuator"
    -----------------------> global init.	system init.	actuator setup
    [name]			: 	-	system name	actuator name
    [output] 		:	-		-	device server name
    [pulsed_output] 	:	-		-	device server name
    [input1]	 	:	-		-	device server name
    [input2] 		:	-		-	device server name
    [output_logic_revert] 	:	-		-	1|0 for Yes or No
    [settling_sec]		:	-		-	seconds 
    


    diounsetup
    Usage: diounsetup
    Un-Setup the whole thing.

    dioread
    Usage: dioread [system_name]
    Read and display the state of the actuators of the specified system. If none is specified, the last system addressed is considered.

    dioset
    Usage: dioset <system_name> <actuator_name> <1|0|on|off>
    Changes output level of an actuator.

    diopulse
    Usage: diopulse <system_name> <actuator_name> <time_in_seconds>
    Pulses for the specified time, the specified actuator.

    diowait
    Usage: diowait <system_name> <actuator_name> <state_to_wait_for>
    Waits for the requested state is reached. (valid states are : DEVOPEN, DEVCLOSE, DEVRUN,DEVMOVING.)

Internal Macros:
    _diomenu
    Usage: _diomenu
    Setup menu.

    _dio_delsys
    Usage: _dio_delsys <deleted_index> <number_of_systems_prior_to_deletion>
    Setup menu: system deletion.

    _dio_delact
    Usage: _dio_delact
    Setup menu: actuator deletion.

    _dio_makesure
    Usage: _dio_makesure (text,argument)
    Setup menu: ask for validation.

    _dio_conf
    Usage: _dio_conf
    Setup: Stores system and actuators numeric indexes as function of their name.

    _dio_setup
    Usage: _dio_setup see diosetup.
    Command line setup.

    _dio_read
    Usage: _dio_read (internal_address)
    Read the state of an actuator.

    _dio_open
    Usage: _dio_open (internal_address)
    Open actuator relay.

    _dio_close
    Usage: _dio_close (internal_address)
    Close actuator relay.

    _dio_wait
    Usage: _dio_wait (internal_address,state_waited_for)
    Wait for the state changes and returns the final state.

    _dio_devstate
    Usage: _dio_devstate (device_server_name)
    Returns the status of the specified device (DevState).

    _dio_devpulse
    Usage: _dio_devpulse (device_server_name, time_in_seconds)
    Sends pulse command (DevReset) to the specified device.

    _dio_devopen
    Usage: _dio_devopen (device_server_name)
    Sends Opening command (DevOpen) to the specified device.

    _dio_devclose
    Usage: _dio_devclose (device_server_name)
    [Sends Closing command (DevClose) to the specified device.

    _dio_devread
    Usage: _dio_devread (device_server_name)
    Returns Value on the specified device channel. (DevReadValue). Use globals DEVOPEN, DEVCLOSE ... to interpret the output.

    _dio_which
    Usage: _dio_which (name,flag)
    Returns the configuration index of the specified name. if flag is 0, the name is of a system, otherwise it is of an actuator.

Filename: icv196.mac
Author: ICV196.MAC - Marie-Claire LAGIER - 97/2/18
Last mod.: 17/07/2008 16:31 by rey