'PARAM.INC

'****************************************************************************
'This file contains all the parameters of the magnet test.  It also contains
'parameters defined in the program such as filenames.  Such parameters
'are put in common blocks.
'
'Zachary Wolf
'4/16/94
'****************************************************************************

'DEVICE PARAMETERS

'Make GPIB input and output files common to all procedures
COMMON SHARED /gpib/ gpibinP%, gpiboutP%

'Define the GPIB addresses
'Don't use address 21, system controller
CONST hp3457addrP% = 22      'HP3457A DVM GPIB address
CONST dac488hraddrP% = 10    'IOTech DAC488HR/2 GPIB address
CONST dac488addrP% = 19      'IOTech DAC488 GPIB address
CONST mc4addrP% = 14         'MC4 Klinger stepping motor controller
CONST hp3458addrP% = 23      'HP3458 DVM GPIB address

'SETUP PARAMETERS

'Magnet current set and measurement parameters
CONST imagpervdacP! = 200    'power supply amps per DAC volts
CONST vtransperimagP! = .005 'transductor voltage per magnet amp
CONST imaghpchanP% = 0       'the HP3457 channel for the transductor voltage
CONST tstableP% = 10         'the number of seconds to wait after a ramp
CONST imagramprateP! = 10    'power supply amperes per second during a ramp

'Wire voltage measurement parameters
CONST nsampleP% = 300        'the number of voltage samples per wire motion, want T/n > 1 plc
CONST tsamplebefsP! = .5     'sample time before wire motion in seconds
CONST tsampleaftsP! = 3!     'sample time after wire motion in seconds
CONST nmeasaveP% = 4         'the number of measurements for average
CONST vwirehpchanP% = 1      'the HP3457 channel for the wire voltage (if used)

'Wire motion parameters
'Make sure all quantities convert to a whole number of steps
CONST stepspercmP% = 10000   'number of steps per cm
CONST dxcmP! = 1!            'distance to move the wire in cm
CONST velcmsP! = .4          'velocity during the wire motion in cm/sec
CONST x1P$ = "W"             'controller channel for one stage
CONST x2P$ = "X"             'controller channel for other stage

'COMMON BLOCKS

'Put the test parameters in a common block
COMMON SHARED /testparam/ magnameP$, projectP$, operatorP$, teststandP$, deviceP$, runP$, commentP$

'Make file names common to all procedures
COMMON SHARED /filenames/ logfileP$, datfileP$, pltfileP$

'Put the desired wire measurement positions in a common block
COMMON SHARED /xpos/ x0P!()

'Put the desired standardization and measurement currents in a common block
COMMON SHARED /currents/ imagstandP!()

'Fill test parameter
projectP$ = "B-Factory High Energy Ring Quadrupoles"
teststandP$ = "IR8, Q1"
deviceP$ = "Stretched Wire System"

'MAGNET CURRENTS

'Define the standardization cycle
CONST nimagstandP% = 8       'the number of standardization currents
DIM imagstandP!(1 TO nimagstandP%)   'the current array
imagstandP!(1) = 500!        'standardization currents
imagstandP!(2) = 10!
imagstandP!(3) = 350!
imagstandP!(4) = 10!
imagstandP!(5) = 350!
imagstandP!(6) = 10!
imagstandP!(7) = 350!
imagstandP!(8) = 10!

'WIRE POSITIONS

'Define the center position of each wire scan in cm
CONST nx0P% = 7                       'the number of measurement positions
DIM x0P!(1 TO nx0P%)                  'measurement center positions in cm
x0P!(1) = -3!
x0P!(2) = -2!
x0P!(3) = -1!
x0P!(4) = 0!
x0P!(5) = 1!
x0P!(6) = 2!
x0P!(7) = 3!

