#!../../bin/linux-x86_64/goni ## You may have to change uScopeMotion to something else ## everywhere it appears in this file < envPaths # The name of the IOC, also prefix that will be used in front of hardware-based records epicsEnvSet("IOCNAME","GONISCAN") # Prefix that will be used in front of the detector-based records epicsEnvSet("PREFIX","") epicsEnvSet("IOCSH_PS1","iocGoniScanXY> ") cd ${TOP} ## Register all support components dbLoadDatabase("dbd/goni.dbd") goni_registerRecordDeviceDriver(pdbbase) # Load IOC status records dbLoadRecords("db/iocAdminSoft.db","IOC=$(IOCNAME)") epicsEnvSet("SCAN","GONI_XY") epicsEnvSet("MOTOR_X","HD:GONI:X") epicsEnvSet("MOTOR_Y","HD:GONI:Y") dbLoadRecords("db/standardScans.db","P=$(SCAN):,MAXPTS1=2000,MAXPTS2=2000,MAXPTS3=1000,MAXPTS4=10,MAXPTSH=2000") dbLoadRecords("db/saveData.db","P=$(SCAN):") dbLoadRecords("db/scanProgress.db","P=$(SCAN):scanProgress:") dbLoadRecords("db/beamCheck4scan.db","PREF='',R=$(SCAN)") cd ${TOP}/iocBoot/${IOC} asSetFilename("${TOP}/iocBoot/common/ca_security.acf") < goniScanXY_save_restore.cmd set_pass0_restoreFile("goniScanXY.sav") set_pass1_restoreFile("goniScanXY.sav") iocInit # autosave startup create_monitor_set("goniScanXY.req", 30, "PREF=${SCAN}") # Handle autosave 'commands' contained in loaded databases. # makeAutosaveFiles() #create_monitor_set("info_positions.req", 5, "P=xxx:") #create_monitor_set("info_settings.req", 30, "P=xxx:") # Launch sequencer for to do scan progress and save data cd ${TOP}/iocBoot/iocgoni #saveData_Init("saveDataGoniScanXY.req", "P=$(MOTOR_Y):,Q=$(MOTOR_X):") saveData_Init("saveData.req", "P=$(SCAN):") seq &scanProgress, "S=$(SCAN):,P=$(SCAN):scanProgress:" # # # first positioner - X # dbpf("$(SCAN):scan1.R1PV", "$(MOTOR_Y).RBV") dbpf("$(SCAN):scan1.P1PV", "$(MOTOR_Y).VAL") #dbpf("$(SCAN):scan1.P1SP", "0") #dbpf("$(SCAN):scan1.P1EP", "2.") #dbpf("$(SCAN):scan1.P1SI", "0.5") #dbpf("$(SCAN):scan1.PDLY", "1.") dbpf("$(SCAN):scan1.T1PV", "$(SCAN):scan2.EXSC") dbpf("$(SCAN):scan1.T1CD", "1.") # # detectors # # # second positioner - Y # dbpf("$(SCAN):scan2.R1PV", "$(MOTOR_X).RBV") dbpf("$(SCAN):scan2.P1PV", "$(MOTOR_X).VAL") #dbpf("$(SCAN):scan2.P1SP", "0") #dbpf("$(SCAN):scan2.P1EP", "1.") #dbpf("$(SCAN):scan2.P1SI", "0.2") #dbpf("$(SCAN):scan2.PDLY", "1.") dbpf("$(SCAN):scan2.T1PV", "$(SCAN):beamCheckBusy") dbpf("$(SCAN):scan2.T1CD", "1.") #dbpf("$(SCAN):scan2.NPTS", "100") # # detectors # dbpf("$(SCAN):scan2.D01PV", "$(MOTOR_X).RBV") dbpf("$(SCAN):scan2.D02PV", "$(MOTOR_Y).RBV") dbpf("$(SCAN):scan2.D03PV", "TAGH:T:232:scaler_t1") dbpf("$(SCAN):scan2.D04PV", "TAGH:T:233:scaler_t1") dbpf("$(SCAN):scan2.D05PV", "TAGH:A:232:scaler_r1") dbpf("$(SCAN):scan2.D06PV", "TAGH:A:233:scaler_r1") dbpf("$(SCAN):scan2.D07PV", "bpu:x:total_rate") dbpf("$(SCAN):scan2.D08PV", "bpu:y:total_rate") dbpf("$(SCAN):scan2.D09PV", "Active_Target:T:scaler_t1") dbpf("$(SCAN):scan2.D10PV", "HALO:T:electron:tag:top:scaler_t1") dbpf("$(SCAN):scan2.D11PV", "HALO:T:electron:tag:left:scaler_t1") dbpf("$(SCAN):scan2.D12PV", "HALO:T:electron:tag:bottom:scaler_t1") dbpf("$(SCAN):scan2.D13PV", "HALO:T:gamma:tag:top:scaler_t1") dbpf("$(SCAN):scan2.D14PV", "HALO:T:gamma:tag:left:scaler_t1") dbpf("$(SCAN):scan2.D15PV", "HALO:T:gamma:tag:bottom:scaler_t1") dbpf("$(SCAN):scan2.D16PV", "HALO:T:gamma:tag:right:scaler_t1") dbpf("$(SCAN):scan2.D17PV", "IBCAD00CRCUR6") dbpf("$(SCAN):scan2.D18PV", "TAGH:T:1:scaler_t1") dbpf("$(SCAN):scan2.D19PV", "TAGH:T:2:scaler_t1") dbpf("$(SCAN):scan2.D20PV", "TAGH:A:1:scaler_r1") dbpf("$(SCAN):scan2.D21PV", "TAGH:A:2:scaler_r1") dbpf("$(SCAN):scan2.D22PV", "TAGH:T:scaler_t1_wf_total") dbpf("$(SCAN):scan2.D23PV", "TAGM:T:scaler_t1_wf_total") dbpf("$(SCAN):scan2.D24PV", "TAGH:A:scaler_r1_wf_total") dbpf("$(SCAN):scan2.D25PV", "TAGM:A:scaler_r1_wf_total") # # save file # #dbpf("$(SCAN):saveData_fileSystem", "/gluex/data/GoniScans") #dbpf("$(SCAN):saveData_subDir", "sscanData") #dbpf("$(SCAN):saveData_baseName", "goniXY_scan_")