#!../../bin/linux-x86_64/xpsMotor < envPaths cd ${TOP} dbLoadDatabase("dbd/xpsMotor.dbd") xpsMotor_registerRecordDeviceDriver(pdbbase) ### Motors dbLoadTemplate "db/xpsGoniometer.substitutions" dbLoadTemplate "db/XPS2_Aux_ai.substitutions" dbLoadRecords("db/standardScans.db","P=halldxps2:pitch:,MAXPTS1=2000,MAXPTS2=1000,MAXPTS3=1000,MAXPTS4=10,MAXPTSH=2000") dbLoadRecords("db/saveData.db","P=halldxps2:pitch:") dbLoadRecords("db/scanProgress.db","P=halldxps2:pitch:scanProgress:") dbLoadRecords("db/standardScans.db","P=halldxps2:yaw:,MAXPTS1=2000,MAXPTS2=1000,MAXPTS3=1000,MAXPTS4=10,MAXPTSH=2000") #dbLoadRecords("db/saveData.db","P=halldxps2:yaw:") dbLoadRecords("db/scanProgress.db","P=halldxps2:yaw:scanProgress:") #asSetFilename("ca_security.txt") # asyn port, IP address, IP port, number of axes, # active poll period (ms), idle poll period (ms), # enable set position, set position settling time (ms) XPSCreateController("XPS2", "129.57.194.11", 5001, 8, 10, 500, 0, 500) XPSAuxConfig("XPS_AUX1", "129.57.194.11", 5001, 50) # XPS asyn port, axis, groupName.positionerName, stepSize(1/0.001 mm) # XPS asyn port, axis, groupName.positionerName, stepSize(1/0.001 mm) XPSCreateAxis("XPS2",0,"X.MTM200PE1BV6", "1000") XPSCreateAxis("XPS2",1,"Y.MTM100PE1BV6", "1000") XPSCreateAxis("XPS2",2,"rX.BGS80PPV6" , "100000") XPSCreateAxis("XPS2",3,"rZ.URS75BPPV6" , "100000" ) XPSCreateAxis("XPS2",4,"rY.URS150BPPV6", "100000" ) iocInit cd ${TOP}/iocBoot/iocxpsMotor #saveData_Init("saveData.req", "P=halldxps2:yaw:") saveData_Init("saveData.req", "P=halldxps2:pitch:") seq &scanProgress, "S=halldxps2:pitch:,P=halldxps2:pitch:scanProgress:" seq &scanProgress, "S=halldxps2:yaw:,P=halldxps2:yaw:scanProgress:" # # detectors # dbpf("halldxps2:pitch:scan1.D01PV", "halldxps2:yaw.RBV") dbpf("halldxps2:pitch:scan1.D02PV", "halldxps2:pitch.RBV") dbpf("halldxps2:pitch:scan1.D03PV", "halldxps2:XPSAuxAi0.VAL") dbpf("halldxps2:pitch:scan1.D04PV", "halldxps2:XPSAuxAi1.VAL") dbpf("halldxps2:pitch:scan1.D05PV", "halldxps2:XPSAuxAi2.VAL") dbpf("halldxps2:pitch:scan1.D06PV", "halldxps2:XPSAuxAi3.VAL") # # first positioner - pitch # dbpf("halldxps2:pitch:scan1.R1PV", "halldxps2:pitch.RBV") dbpf("halldxps2:pitch:scan1.P1PV", "halldxps2:pitch.VAL") dbpf("halldxps2:pitch:scan1.P1SP", "0") dbpf("halldxps2:pitch:scan1.P1EP", "1.") dbpf("halldxps2:pitch:scan1.P1SI", "0.2") #dbpf("halldxps2:pitch:scan1.P1EP", "0.02865") #dbpf("halldxps2:pitch:scan1.P1SI", "0.002865") dbpf("halldxps2:pitch:scan1.PDLY", "1.") #dbpf("halldxps2:pitch:scan1.NPTS", "100") # # second positioner - yaw # #dbpf("halldxps2:yaw:scan1.D01PV", "halldxps2:XPSAuxAi2.VAL") dbpf("halldxps2:yaw:scan1.R1PV", "halldxps2:yaw.RBV") dbpf("halldxps2:yaw:scan1.P1PV", "halldxps2:yaw.VAL") dbpf("halldxps2:yaw:scan1.P1SP", "0") dbpf("halldxps2:yaw:scan1.P1EP", "2.") dbpf("halldxps2:yaw:scan1.P1SI", "0.5") #dbpf("halldxps2:yaw:scan1.P1EP", "0.02865") #dbpf("halldxps2:yaw:scan1.P1SI", "0.0002865") dbpf("halldxps2:yaw:scan1.PDLY", "1.") dbpf("halldxps2:yaw:scan1.T1PV", "halldxps2:pitch:scan1.EXSC") dbpf("halldxps2:yaw:scan1.T1CD", "1.") # # detectors # dbpf("halldxps2:yaw:scan1.D01PV", "halldxps2:yaw.RBV") dbpf("halldxps2:yaw:scan1.D02PV", "halldxps2:pitch.RBV") #dbpf("halldxps2:yaw:scan1.D03PV", "halldxps2:XPSAuxAi0.VAL") #dbpf("halldxps2:yaw:scan1.D04PV", "halldxps2:XPSAuxAi1.VAL") # # save file # dbpf("halldxps2:pitch:saveData_fileSystem", "/gluex/data") dbpf("halldxps2:pitch:saveData_subDir", "sscanData") dbpf("halldxps2:pitch:saveData_baseName", "data_yaw_pitch") #dbpf("halldxps2:yaw:saveData_fileSystem", "/gluex/data") #dbpf("halldxps2:yaw:saveData_subDir", "sscanData") #dbpf("halldxps2:yaw:saveData_baseName", "data_yaw")