# E UROPEAN S YNCHROTRON R ADIATION F ACILITY

##### INSTALLATION EUROPEENNE DE RAYONNEMENT SYNCHROTRON

## How to access device servers

## from VeeTest

# Use predefined library functions in VeeTest

- Make sure that NETHOST variable is correctly set.
- Start VeeTest.
- Go to "File" pulldown menu and select "Merge Library ...".
- You will be prompted with a window to select the name of the library to load.
- In that window scroll down to find "taco_lib.vee". Select it and then click on "ok" button.
- Go to "Device" then to "Function" pulldown menu and select "Call".
- Click inside your working area to create a "call function" object.
- Go to the pulldown menu associated with this object (button in the window decoration of this object).
- Select "Select Function" in this pulldown menu.
- You will be prompted with a window to select among three functions "dev_get_ascii" , "dev_put_ascii" or "dev_putget_ascii".
- Select one of these three functions.

- use "dev_get_ascii" for all device server commands which do not require any input argument (in_type = D_VOID_TYPE).
- use "dev_put_ascii" for all device server commands which require an input argument but do not return any output argument (out_type = D_VOID_TYPE).
- use "dev_putget_ascii" for all device server commands which require an input argument as well as returning an output argument.

- You should now attach the inputs and outputs of this call object with VeeTest objects keeping in mind that all of the inputs are strings. So use "constant text" objects for the inputs and "alphanumerical display" objects for the outputs.
- Before running your program you should fill in "dev_name", "cmd_name" and eventually "in_arg". It is very important to fill in the input argument correctly. The format to respect for the input argument is given in the next section.

# Input argument format for device server commands

When you use one of the functions "dev_put_ascii" or "dev_putget_ascii" you need to provide the input argument to execute the device server command. This input argument can have any of the following data types : Boolean, Short, Unsigned Short, Long, Unsigned Long, Array of shorts, Array of Longs, String, Char, Array of Strings, Array of Chars , .... etc. There are many data types these functions accept. All of them are listed in a document (AsciiDev API Library) explaining how to use these functions.

As a general idea you should separate the numerical items of an Array with a comma and never use a Carriage Return inside the text repesenting an input argument. The precise format to be used for each data type is defined in AsciiDev API Library document.