// ************************************************************** // // // PARAM.H // This file contains parameters required by the measurement // program. // // Seva //10/23/06 // // Protection from multiple definitions // #ifndef __ZSCANPARAM_HEADER #define __ZSCANPARAM_HEADER // Voltage integration system // #include "vscan3.h" #include "adc6500.h" #include "devices.h" //Drvice settings //#include "param_mcvi.h" //////////////////////////////////// //General settings //////////////////////////////////// #define USE_CENTER_POSITION //define this variable to do secondary scans around defined center #define GPIB_BOARD_ADDR 0 #define FM480_BOARD_ADDR 2 //this will be used, set in fm480 param ignored ////////////////////////////////// DRIVERS INITIALIZATION //////////////////////////////////////// //#ifdef FM_480 // #include "param_fm480.h" // #define FM480_GPIB_ADDR_X 12 //check against x or y . 12 is the top one // #define FM480_GPIB_ADDR_Y 13 //#endif //#include "param_cm6k.h" #include "param_mcvi.h" #include "Param_umac6500.h" #include "calib.h" ////////////////////////////////// END OF DRIVERS INITIALIZATION ///////////////////////////////// //////////////////////////////////// //General settings //////////////////////////////////// //define positive moving direction #define MOVE_DIRECTION_POSITIVE 1 #define MOVE_DIRECTION_NEGATIVE -1 ///////////////////////////// RUN PARAMETERS IN FOLDERS SECTION ///////////////////////////// #define RUN_PARAM_FOLDER "s:\\magdata" // "c:\\magdata" // #define COPY_PARAM_FOLDER "s:\\magdata" // "c:\\magdata" // //#define ROUGH_TUNING 0 //#define FINE_TUNING 1 //#define TUNING FINE_TUNING // ROUGH_TUNING // ///////////////////////////// END OF RUN PARAMETERS IN FOLDERS SECTION ////////////////////// ////////////////////////////////// END OF DRIVERS INITIALIZATION ///////////////////////////////// //////////////////////////////////////// ZSCAN INITIALIZATION/////////////////////////////////// //#define CONFIG_XS_YF 1 //#define CONFIG_YS_XF 0 #define AXES_CONFIG CONFIG_YS_XF #define FIRST_POLE_POS 0.755 //m start looking for the first pole from this position #define POLES_NUMBER 174 // 226 //4 // 60 //25 // #define SKIP_POLES 4 // 0 // #define POLES_SPACING 0.01500 // 0.0195 // 0.016 // 0.0275 //0.0125 //m //Undulator center coordinates to be translated into vscan3 settings #define ZSCAN_X_CENTER 0.076122 //0.0289200 #define ZSCAN_Y_CENTER 0.000303 // 0.000630 // meters #define ZSCAN_Y_CENTER_OFFSET 0.000050 // 0.0 // meters; Offset to correct for x-sensor location w.r.t. y-sensor location #define ZSCAN_X_INCREMENT 0.001 #define ZSCAN_Y_INCREMENT 0.0001 // meters #define ZSCAN_X_NSTEPS 0 // 0 - single , 1->3, 2->5 and etc. #define ZSCAN_Y_NSTEPS 0 // 0 - single , 1->3, 2->5 and etc. #define ZSCAN_X_AXIS_ACTIVE 1 // 1 or 0 #define ZSCAN_Y_AXIS_ACTIVE 1 // 1 or 0 // Undulator gap control #define ZSCAN_GAP_ACTIVE 0 // 1 or 0 #define NUM_TAPERS 4 #define ZSCAN_TAPER1 0.1 #define ZSCAN_TAPER2 0.3 #define ZSCAN_TAPER3 -0.1 #define ZSCAN_TAPER4 -0.3 #define ZSCAN_TAPER_GAP1 10.0 #define ZSCAN_TAPER_GAP2 20.0 //Voltage channels, check ADC section to turn them on and off, and of course, check hardware connection #define BY_ADC_CH 0 //0 #define BX_ADC_CH 1 #define BYCOIL_ADC_CH -1 //2 // use negative value to disable after measurements analysis #define BXCOIL_ADC_CH -1 //3 // use negative value to disable after measurements analysis #define BYCOIL_AVE_CH -1 //2 // use negative value to disable after measurements analysis #define BXCOIL_AVE_CH -1 //3 // use negative value to disable after measurements analysis #define FLUX_GATEX_CH -1 //3 // use negative value to disable after measurements analysis #define FLUX_GATEY_CH -1 //3 // use negative value to disable after measurements analysis #define ZSCAN_MEASUREMENT_TYPE ZSCAN_CONFIG_HALL_XY //////////////////////////////////////// END OF ZSCAN INITIALIZATION///////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////// ADC DRIVERS SECTION ///////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////// //*** HP3458 settings , Kugler***// #define HP3458_DEVICE_TYPE ADC_HP3458 #define HP3458_DEV1_ADDR 24 //Y Hall #define HP3458_DEV2_ADDR 25 //X Hall #define HP3458_DEV3_ADDR 24 //Y Coil #define HP3458_DEV4_ADDR 25 //X Coil #define HP3458_VOLTAGE_RANGE 7.0 //5.0 #define HP3458_CHANNELS_NUMBER 1 //Integration time at scan - depends on speed #define HP3458_INTEGRATION_TIME 0.12 // 0.09 // 0.06 // = 1ms 0.012 //0.2 ms//0.024 //0.4 ms//0.1 ms 0.000006 //in terms of AC power cycles: 0 - the fastest, 1 means 1/60 s //Time interval for time samples at zero position #define HP3458_TIME_INTERVAL 0.016 // 0.003 //s Hall and Coil will have different number of samples at zero ch. #define HP3458_REF_INTEGRATION_TIME 0.06 // 0.06 // 30.0 // = 0.5s #define HP3458_MAX_READINGS 37888 //*** end HP3458 settings ***// //----------------------------- //*** ADC488 settings ***// #define ADC488_DEVICE_TYPE ADC_ADC488 #define ADC488_CHANNELS_NUMBER 1 //8 max number, available settings 1,2,4,8 #define ADC488_DEV_ADDR 14 #define ADC488_VOLTAGE_RANGE 3 // - voltage range 0 - 1V; 1 - 2V; 2 - 5V; 3 - 10V #define ADC488_MAX_READINGS 60000 //readings per channel, set artificially - built-in memory allows more //*** end ADC488 settings ***// ////////////////////////////////////////////////////////////////////////////////////////////////// #define ADC_MIN_READINGS 10 //readings per channel // *********-> section to set driver types, setting reserved for Hall probe y #define ADC_HALL_Y 0 #define ADC0_DEVICE_TYPE HP3458_DEVICE_TYPE #define ADC0_GPIB_BOARD_ADDR GPIB_BOARD_ADDR //use default if use only one gpib board #define ADC0_DEV_ADDR HP3458_DEV1_ADDR //use for both rs232 and GPIB, despite it will be really used only with gpib #define ADC0_RS232_COM_PORT 1 //set 1 if not used #define ADC0_VOLTAGE_RANGE HP3458_VOLTAGE_RANGE #define ADC0_INTEGRATION_TIME HP3458_INTEGRATION_TIME #define ADC0_TIME_INTERVAL HP3458_TIME_INTERVAL #define ADC0_REF_INTEGRATION_TIME HP3458_INTEGRATION_TIME #define ADC0_CHANNELS_NUMBER HP3458_CHANNELS_NUMBER //#define ADC0_MAX_READINGS HP3458_MAX_READINGS //--------------------------- , setting reserved for Hall probe x #define ADC_HALL_X 1 #define ADC1_DEVICE_TYPE HP3458_DEVICE_TYPE //HP3458_DEVICE_TYPE #define ADC1_GPIB_BOARD_ADDR GPIB_BOARD_ADDR //use default if use only one gpib board #define ADC1_DEV_ADDR HP3458_DEV2_ADDR //use for both rs232 and GPIB, despite it will be really used only with gpib #define ADC1_RS232_COM_PORT 1 //set 1 if not used #define ADC1_VOLTAGE_RANGE HP3458_VOLTAGE_RANGE #define ADC1_INTEGRATION_TIME HP3458_INTEGRATION_TIME //#define ADC1_REF_INTEGRATION_TIME HP3458_INTEGRATION_TIME //HP3458_REF_INTEGRATION_TIME #define ADC1_TIME_INTERVAL HP3458_TIME_INTERVAL #define ADC1_REF_INTEGRATION_TIME HP3458_INTEGRATION_TIME #define ADC1_CHANNELS_NUMBER HP3458_CHANNELS_NUMBER //#define ADC1_MAX_READINGS HP3458_MAX_READINGS //--------------------------- , setting reserved for short coil y #define ADC_COIL_Y 2 #define ADC2_DEVICE_TYPE ADC_NONE//ADC488_DEVICE_TYPE ADC_NONE #define ADC2_GPIB_BOARD_ADDR GPIB_BOARD_ADDR //use default if use only one gpib board #define ADC2_DEV_ADDR HP3458_DEV3_ADDR //use for both rs232 and GPIB, despite it will be really used only with gpib #define ADC2_RS232_COM_PORT 1 //set 1 if not used #define ADC2_VOLTAGE_RANGE HP3458_VOLTAGE_RANGE #define ADC2_INTEGRATION_TIME HP3458_INTEGRATION_TIME //#define ADC2_REF_INTEGRATION_TIME HP3458_REF_INTEGRATION_TIME #define ADC2_TIME_INTERVAL HP3458_TIME_INTERVAL #define ADC2_REF_INTEGRATION_TIME HP3458_REF_INTEGRATION_TIME #define ADC2_CHANNELS_NUMBER HP3458_CHANNELS_NUMBER //#define ADC2_MAX_READINGS ADC488_MAX_READINGS //--------------------------- , setting reserved for short coil x #define ADC_COIL_X 3 #define ADC3_DEVICE_TYPE ADC_NONE //HP3458_DEVICE_TYPE //ADC_NONE #define ADC3_GPIB_BOARD_ADDR GPIB_BOARD_ADDR //use default if use only one gpib board #define ADC3_DEV_ADDR HP3458_DEV4_ADDR //use for both rs232 and GPIB, despite it will be really used only with gpib #define ADC3_RS232_COM_PORT 1 //set 1 if not used #define ADC3_VOLTAGE_RANGE HP3458_VOLTAGE_RANGE #define ADC3_INTEGRATION_TIME HP3458_INTEGRATION_TIME //#define ADC3_REF_INTEGRATION_TIME HP3458_REF_INTEGRATION_TIME #define ADC3_TIME_INTERVAL HP3458_TIME_INTERVAL #define ADC3_REF_INTEGRATION_TIME HP3458_REF_INTEGRATION_TIME #define ADC3_CHANNELS_NUMBER HP3458_CHANNELS_NUMBER //#define ADC3_MAX_READINGS ADC488_MAX_READINGS //***********-> end of set driver section //------------------------------------------------------------------------------------------------- //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ///////////////////////////// Calibration settings ////////////////////////////////////////////////// //settings from calib.h file #define X_CALIB_TYPE CALIB_POLYFIT #define Y_CALIB_TYPE CALIB_POLYFIT //#define Y_CALIB_FILE "c:\\CVI\\current_calib\\Sentron_441\\Sentron_441_y.ini" //#define Y_CALIB_FILE "C:\\CVI\\current_calib\\SENIS_118-14\\SENIS_118-14_Y.ini" //#define Y_CALIB_FILE "C:\\CVI\\current_calib\\SENTRON_463_Y\\SENTRON_463_Y.ini" #define Y_CALIB_FILE "C:\\CVI\\current_calib\\SENTRON_463_Y\\SENTRON_463_Y.ini" //#define Y_CALIB_FILE "C:\\CVI\\current_calib\\SENIS_028-14\\SENIS_028-14_Y_lin.ini" #define X_CALIB_FILE "c:\\cvi\\current_calib\\HALLx_calib_poly_fit_file.dat" #define X_CALIB_NAME "HALLx_calib" #define Y_CALIB_NAME "HALLy_calib" //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////// VSCAN3 PARAMETERS /////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////// //specifies move nodes for all directions. Do not mix with move setting were the real axes are used to set nodes //#define VSCAN3_MOVE_X 1 //move x-axis to collect data,single trace //#define VSCAN3_MOVE_Y 2 //move y-axis to collect data,single trace //#define VSCAN3_MOVE_Z 3 //move z-axis to collect data,single trace //---------------------- #define VSCAN3_MOVE_NONE -1 //do nothing #define VSCAN3_NUMBER_OF_ZERO_MEAS 50 // 2000 // = 2s 2000// may be different for short coils #define VSCAN3_NUM_AVRG_MEAS 1 // single scan, no averaging //parameters //specify whether to use indices to calculate measuring distance or use defined ML (usually less then indices spacing) #define VSCAN3_X_USE_IDX_FOR_ML 0 #define VSCAN3_Y_USE_IDX_FOR_ML 0 #define VSCAN3_Z_USE_IDX_FOR_ML 0 //default measuring length //if using reference mark to set scanning distance and //if need to extend measurement beyond the last reference mark set measuring length to inncrease the number //of requested triggers and correspodingly increase the moving distance adjustment #define VSCAN3_X_MEASURING_LENGTH 0.052 //m #define VSCAN3_X_DIST_ADJUSTMENT 0.00 //and corresponding adjustment #define VSCAN3_Y_MEASURING_LENGTH 0.000 //0.001 //m #define VSCAN3_Y_DIST_ADJUSTMENT 0.00 #define VSCAN3_Z_MEASURING_LENGTH 4.48 //1.2 //m it is the extra distance to generate triggers beyond the last mark if using indices for ml only #define VSCAN3_Z_DIST_ADJUSTMENT 0.165 //0.0 // 0.535 //2.855 //2.61 //1.86 //m//and corresponding distance to move adjustment //default position accuracy #define VSCAN3_X_ACCURACY 0.000001 //meters #define VSCAN3_Y_ACCURACY 0.000001 #define VSCAN3_Z_ACCURACY 0.00002 #define VSCAN3_AVERAGING_NUM 1 //set here smallest distance to reach first index mark, use move program: //call homing then connect oscilloscope to index and find minimum distance //this distance will be used to calculate dist_move when using measurement length //settings #define VSCAN3_BOARD_ADDR GPIB_BOARD_ADDR //initial position on Z after homing #define VSCAN3_OUT_CALIB_DIST 0.000 #define VSCAN3_MEASURE_TEMP 0 // 1 - Yes / 0 - No //axes assignment, all axes must be different!!! ////// PRIMARY AXIS SETTINGS ///////////////////////// //--------------------------------------------------- #define VSCAN3_PRIMARY_AXIS VSCAN3_MOVE_Z //VSCAN3_MOVE_Z //VSCAN3_MOVE_Y //continuosly moving #define VSCAN3_START_X_POS 1 #define VSCAN3_TRIGGER_X_OFFSET 0 // Offset for triggering #define VSCAN3_STOP_X_POS 2 #define VSCAN3_START_Y_POS 1 #define VSCAN3_TRIGGER_Y_OFFSET 0 #define VSCAN3_STOP_Y_POS 2 #define ZSCAN_START_Z_HALL_IDX 0.21 //0.8 // Start triggers #define ZSCAN_START_Z_COIL_IDX 2 #define VSCAN3_TRIGGER_Z_OFFSET -0.081 //0.333 // difference between axis zero shift at initialization and 2.1m (comes from UMAC b1200) #define VSCAN3_START_Z_POS ZSCAN_START_Z_HALL_IDX #define VSCAN3_STOP_Z_POS 19 //20 // 14 //11 // ////// Triggering settings ///////////////////////// #define VSCAN3_COUNTS_MULTIPLE 200 ////// SECONDARY AXIS SETTINGS ///////////////////////// #define VSCAN3_SECONDARY_AXIS VSCAN3_MOVE_Y // VSCAN3_MOVE_Z //VSCAN3_MOVE_Y //descrete positioning #define VSCAN3_SECONDARY_ON TRUE // TRUE FALSE #define VSCAN3_SECONDARY_ZERO_INDEX 1 //--------------------------------------------------- #define VSCAN3_SECONDARY_START 0.000430 //0.000480 // meters #define VSCAN3_SECONDARY_STEP_SIZE 0.0001 //0.0001 //m #define VSCAN3_SECONDARY_STEPNUMBER 0 //0- single , 1->3, 2->5 and etc. ////// FIXED AXIS SETTINGS ///////////////////////// //--------------------------------------------------- #define VSCAN3_FIXED_AXIS VSCAN3_MOVE_X //VSCAN3_MOVE_Z //VSCAN3_MOVE_Y //fixed position #define VSCAN3_FIXED_ON TRUE //FALSE // TRUE FALSE #define VSCAN3_FIXED_POS 0.029200 // meters #define VSCAN3_FIXED_ZERO_INDEX 1 //---------------------------------------------------- //pxi server settings #define VSCAN3_PORT_NUMBER 6340 //see labview host server #define VSCAN3_IP_ADDRESS "192.168.0.2" //pxi1031 //#define VSCAN3_IP_ADDRESS "134.79.82.102" //pxi1002 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // may require to switch cables after changing the following setting #define VSCAN3_DATA_PARAM VSCAN3_ADC123 // VSCAN3_ADC1THEN2 VSCAN3_ADC123 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ///////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////// PXI ENCODER TRIGGERING SYSTEM ////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////// //default values #define X_COUNTS_PER_INDEX 20000 //1 cm per index #define ENCODER_X_MICRON_PER_COUNT 0.5 //microns #define X_MULTIPLES_OF_COUNT VSCAN3_COUNTS_MULTIPLE // default value, real value is set by vscan3 #define X_INDICES_BEFORE_RESET VSCAN3_START_X_POS // default value, real value is set by vscan3 #define X_NUMBER_OF_INDICES VSCAN3_STOP_X_POS // default value, real value is set by vscan3 #define X_TRIGGER_PITCH UMAC_X_TRIGGER_PITCH // microns #define Y_COUNTS_PER_INDEX 20000 // 1 cm per index #define ENCODER_Y_MICRON_PER_COUNT 0.5 //microns #define Y_MULTIPLES_OF_COUNT VSCAN3_COUNTS_MULTIPLE // default value, real value is set by vscan3 #define Y_INDICES_BEFORE_RESET VSCAN3_START_Y_POS // default value, real value is set by vscan3 #define Y_NUMBER_OF_INDICES VSCAN3_STOP_Y_POS // default value, real value is set by vscan3 #define Y_TRIGGER_PITCH UMAC_Y_TRIGGER_PITCH // microns #define Z_COUNTS_PER_INDEX 250000 //20 cm per index #define ENCODER_Z_MICRON_PER_COUNT 1.0 //microns #define Z_MULTIPLES_OF_COUNT VSCAN3_COUNTS_MULTIPLE // default value, real value is set by vscan3 #define Z_INDICES_BEFORE_RESET VSCAN3_START_Z_POS // default value, real value is set by vscan3 #define Z_NUMBER_OF_INDICES VSCAN3_STOP_Z_POS // default value, real value is set by vscan3 #define Z_TRIGGER_PITCH UMAC_Z_TRIGGER_PITCH // microns ///////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////// MOTOR DRIVERS SECTION /////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////// //general settings //*** quick access definitions ***// #define RS232_CM6K4_ADDR 1 #define MOVE_RS232_CM6K4_COM RS232_CM6K4_COM #define MOVE_X_ACC .003 //.002 #define MOVE_Y_ACC .001 #define MOVE_Z_ACC 0.01 //.08 // 0.08 //.035 #define MOVE_W_ACC MOVE_Z_ACC #define MOVE_X_VEL .01 //.002 #define MOVE_X_HI_VEL .01 #define MOVE_Y_VEL .0002 //0.0002 #define MOVE_Y_HI_VEL .0005 #define MOVE_Z_VEL 0.08 // 0.04 // 0.02 // 0.01 // #define MOVE_Z_HI_VEL 0.1 // 0.08 // 0.02 // 0.04 // Should be the same as MOVE_Z_VEL to avoid following error #define MOVE_W_VEL MOVE_Z_VEL #define MOVE_W_HI_VEL MOVE_Z_HI_VEL // *** end quick access settings *** // //*** other drivers specific settings *** // #define RS232_SXDRIVE_ADDR 1 #define GPIB_CM2100_ADDR 01 #define GPIB_CM4000_ADDR 01 #define GPIB_MC4_ADDR 14 // **** end of other drivers settings ////////////////////////////////////////////////////////////////////////////////////////////////// // *********-> section to set driver types XYZ - bench coordinate system //------------------------------------------------------------------------------------------------- //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX #define MOVEX_DEVICE_TYPE MOVE_UMAC_UMAC //MOVE_CM6K4_CM6K4 #define MOVEX_AXIS_NUMBER VSCAN3_MOVE_X //cm6k4 1 - x 2 - y 3 - z #define MOVEX_AXIS_CHAR 'X' #define MOVEX_GPIB_BOARD_ADDR 0 //set 0 if not used #define MOVEX_RS232_COM_PORT RS232_CM6K4_COM //set 1 if not used #define MOVEX_DEV_ADDR UMAC_USB_ADDR //use for both rs232 and GPIB, despite it will be really used only with gpib #define MOVEX_TRANSLATE_METERS_PER_REV 0.0010187189609066598752069272889342 //.01 //#define MOVEX_ENCODER_METERS_PER_LINE CM6K4_ENCODER_X_METERS_PER_LINE #define MOVEX_ACC MOVE_X_ACC #define MOVEX_VEL MOVE_X_VEL #define MOVEX_ADDR RS232_CM6K4_ADDR #define MOVEX_DIRECTION MOVE_DIRECTION_POSITIVE #define MOVEX_ZEROSET MOVE_CONTROLLER_SET #define MOVEX_ZERO_OFFSET 0.0 //0.105 //0.109//m // for MOVE_POSITION: absolute position to set zero MOVE_LIMIT: relative offset,MOVE_HOMING: no meaning //0.7mm away from reference mark #define MOVEX_POSITIVE_SOFT_LIMIT 0 //0.08 //0.06 //m //YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY #define MOVEY_DEVICE_TYPE MOVE_UMAC_UMAC //MOVE_CM6K4_CM6K4 #define MOVEY_AXIS_NUMBER VSCAN3_MOVE_Y //cm6k4 1 - x 2 - y 3 - z #define MOVEY_AXIS_CHAR 'Y' #define MOVEY_GPIB_BOARD_ADDR 0 //set 0 if not used #define MOVEY_RS232_COM_PORT RS232_CM6K4_COM //set 1 if not used #define MOVEY_DEV_ADDR UMAC_USB_ADDR //use for both rs232 and GPIB, despite it will be really used only with gpib #define MOVEY_TRANSLATE_METERS_PER_REV .00025 //.000256 //#define MOVEY_ENCODER_METERS_PER_LINE CM6K4_ENCODER_Y_METERS_PER_LINE #define MOVEY_ACC MOVE_Y_ACC #define MOVEY_VEL MOVE_Y_VEL #define MOVEY_ADDR RS232_CM6K4_ADDR #define MOVEY_DIRECTION MOVE_DIRECTION_POSITIVE #define MOVEY_ZEROSET MOVE_CONTROLLER_SET //MOVE_HOMING //MOVE_ENDSWITCH #define MOVEY_ZERO_OFFSET 0.0 // for MOVE_POSITION: absolute position to set zero MOVE_LIMIT: relative offset,MOVE_HOMING: no meaning #define MOVEY_POSITIVE_SOFT_LIMIT 0 //m - disabled //ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ #define MOVEZ_DEVICE_TYPE MOVE_UMAC_UMAC //MOVE_CM6K4_CM6K4 #define MOVEZ_AXIS_NUMBER VSCAN3_MOVE_Z //cm6k4 1 - x 2 - y 3 - z #define MOVEZ_AXIS_CHAR 'Z' #define MOVEZ_GPIB_BOARD_ADDR 0 //set 0 if not used #define MOVEZ_RS232_COM_PORT RS232_CM6K4_COM //set 1 if not used #define MOVEZ_DEV_ADDR UMAC_USB_ADDR //use for both rs232 and GPIB, despite it will be really used only with gpib #define MOVEZ_TRANSLATE_METERS_PER_REV .01988 //0.02 //#define MOVEZ_ENCODER_METERS_PER_LINE CM6K4_ENCODER_Z_METERS_PER_LINE #define MOVEZ_ACC MOVE_Z_ACC #define MOVEZ_VEL MOVE_Z_VEL #define MOVEZ_ADDR RS232_CM6K4_ADDR #define MOVEZ_DIRECTION MOVE_DIRECTION_NEGATIVE #define MOVEZ_ZEROSET MOVE_CONTROLLER_SET //MOVE_HOMING //MOVE_ENDSWITCH //MOVE_SETMANUALLY #define MOVEZ_ZERO_OFFSET 2.433 //-2.157 //-2.120 //-1.823 //m //for MOVE_POSITION: absolute position to set zero MOVE_LIMIT: relative offset,MOVE_HOMING: no meaning #define MOVEZ_POSITIVE_SOFT_LIMIT 0 //m - disabled //WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW #define MOVEW_DEVICE_TYPE MOVE_NONE_NONE //MOVE_CM6K4_CM6K4 #define MOVEW_AXIS_NUMBER -1 //cm6k4 1 - x 2 - y 3 - z #define MOVEW_AXIS_CHAR 'W' #define MOVEW_GPIB_BOARD_ADDR 0 //set 0 if not used #define MOVEW_RS232_COM_PORT RS232_CM6K4_COM //set 1 if not used #define MOVEW_DEV_ADDR UMAC_USB_ADDR //use for both rs232 and GPIB, despite it will be really used only with gpib #define MOVEW_TRANSLATE_METERS_PER_REV .01988 //0.02 //#define MOVEZ_ENCODER_METERS_PER_LINE CM6K4_ENCODER_Z_METERS_PER_LINE #define MOVEW_ACC MOVE_Z_ACC #define MOVEW_VEL MOVE_Z_VEL #define MOVEW_ADDR RS232_CM6K4_ADDR #define MOVEW_DIRECTION MOVE_DIRECTION_POSITIVE #define MOVEW_ZEROSET MOVE_CONTROLLER_SET //MOVE_HOMING //MOVE_ENDSWITCH //MOVE_SETMANUALLY #define MOVEW_ZERO_OFFSET 2.433 //-2.157 //-2.120 //-1.823 //m //for MOVE_POSITION: absolute position to set zero MOVE_LIMIT: relative offset,MOVE_HOMING: no meaning // Zero offsets #define VSCAN3_X_INIT_DISTANCE MOVEX_ZERO_OFFSET #define VSCAN3_Y_INIT_DISTANCE MOVEY_ZERO_OFFSET #define VSCAN3_Z_INIT_DISTANCE MOVEZ_ZERO_OFFSET //**** End of select drive section ****// ////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////// END MOTOR DRIVERS SECTION /////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////// #define ZSCAN_MAX_SLOT 100 ///////////////////////////// Get Data Section (retrieve temperatures from socket server)///////// #define PD_SOURCE_LOCATION "dstp://134.79.74.8/labctrl" //#define PD_UPDATE_SVR_ON_CHANGE 0 //if false, requires to call update server function #define INI_FILE "c:\\cvi\\Zscan_Gap_Kugler6500\\param.ini" //default location at project folder, also works for IDL #define MCVI_INI_FILE INI_FILE ////////////////////////////////////////////////////////////////////////////////////////////////// // ------------IDL interface parameters ------ #define IDL_ON 1 //to specify whether to run IDL Analysis #define IDL_FOLDERS_FILE "C:\\bat\\idl_folders.bat" //to edit batch file with working folders #define IDL_SCRIPT_FILE "C:\\bat\\idlrun" //do not edit file, it is generated automatically //!! Important: if script file name has to be changed the reference to that file in ma.bat must be accomplished #define IDL_DATA_FILE "bscanz_dat.001" //file that contans measured data #define IDL_MODE 0 // 0 - plot to eps file, 1 - plot to screen, 2 - plot both #define IDL_INPUT_FOLDER "C:\\aps\\ma\\test mm_data\\lcls2006" #define IDL_OUTPUT_FOLDER "C:\\aps\\ma\\test_results\\2006" #define IDL_TEMP_FOLDER "C:\\aps\\ma\\temp\\" //-------------- MA parameters -----------------------// #define IDL_PARAM_FILE "C:\\aps\\ma\\ma.dat" #define IDL_ENERGY "13.61396d0" //Energy (GeV) must be string for IDL #define IDL_WAVELENGTH "1.497596d0" //Wavelength (Angstrom) must be string for IDL #define IDL_DISTANCE_SCALE "1.0000d-0 1.0d-0" //Tesla-m must be string for IDL //looks as bumber of poles to skip at ends #define IDL_IP "3 3" //ip1 ip2 omit ip extremas at the beginning(1) and end(2) (phase analysis) #define IDL_IS "-1 -1" //is1 is2 omit is poles at the beginning(1) and end(2)(spectral analysis) #define IDL_VIEW_SET "0 -0.00 1" // {1=on-axis, 0=adjust view angle}, angle, {1=CAOpt, 0=noCAOpt} #define IDL_PLOT_SET "1 1 1 0" //phase.plt, spec.plt, peak.plt, trajectory.plt {1=write, 0=no write} #define IDL_COLUMNS_NUM 7 #define IDL_COLUMN_READ 5 #define IDL_LINES_TO_SKIP 44 // Gamma and Keff setting #define IDL_SLOT ZSCAN_MAX_SLOT /////////////////////// Mesurement configurations //////////////////////////////////////////// #define RETRACT_X_POSITION -0.08 //m #define RETRACT_X_OFFSET -0.08 //m #define RETRACT_X_NSTEPS 0 #define HALLCENTER_INCREMENT 0.0001 #define HALLCENTER_N_STEPS 1 //3 scans #define FINAL_X_INCREMENT 0.0005 // 0.001 // #define FINAL_Y_INCREMENT 0.00025 #define FINAL_N_STEPS 2 // #define FINAL_MIN_POS_STEPS 0 //6 //10 #define FINAL_MAX_POS_STEPS 0 #define FINAL_GOOD_FIELD_REGION_FILE "K_Good_Field_Region.gap" // "testGapFile.gap" // #define FINAL_ON_AXIS_FILE "Fit_K.gap" // "testGapFile.gap" // #define COMMISSIONING_GAP 10.402 #define PS_FINAL_X_INCREMENT 0.0005 // 0.001 // #define PS_FINAL_Y_INCREMENT 0.00025 #define PS_FINAL_N_STEPS 2 // #define PS_FINAL_MIN_POS_STEPS 0 //6 //10 #define PS_FINAL_MAX_POS_STEPS 0 #define PS_FINAL_GOOD_FIELD_REGION_FILE "Phase Shifter Good Field Region.gap" // "testGapFile.gap" // #define PS_FINAL_ON_AXIS_FILE "Phase Shifter On Axis.gap" // "testGapFile.gap" // #define PS_TEST_GAP 15.0 //------------------------------------------------------ #endif