EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: hrSeqCt_ALL pv question
From: 梁雅翔 <[email protected]>
To: "Mooney, Tim M." <[email protected]>
Cc: tech-talk <[email protected]>
Date: Fri, 2 Dec 2016 11:09:04 +0800 (GMT+08:00)
Hello Tim,
       It is much better I do as you said. I changed the SW1, X1,theta1,.... to m1,m2,m3,.... in motor.substitutions.ARIES.test.xxx. St.cmd no change.
       Much was good, but the hrSeqCt_ALL has some pv invalid, the invalid pv name was:
     
       xxx:HR1_ETweakAl  ,                     xxx:HR1_ETweakAl.EGU,
       xxx:HR1_LambdaTweakAl   ,         xxx:HR1_LambdaTweakAl.EGU,
       xxx:HR1_phi1OffA0   ,                    xxx:HR1_phi1OffA0.EGU,
       xxx:HR1_phi2OffA0 ,
       xxx:HR1_phi2SetA0 (I wo nder that  xxx:HR1_phi1SetA0 was valid only one time and I don't think I changed something, xxx:HR1_phi2SetA0 was invalid always.),
       xxx:HR1_worldOffA0.EGU.

       P.S. The attachment named "hrSeqCt_ALL(some pv invalid).png" was my screen snapshot of CSS GUI, maybe it is clear.
   
       I tried something to solve the question, but I do not understand the setting and I had a little time left, please give me some instruction.
       Thank you so much.

       the file, st.cmd, output and *.substitutions was below.


Regards,
Liang


my macro
P        xxx:
M1     m1
M2     m2
M3     m3
M4     m4
M5     m5
M6     m6
M7     m7
N        1


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////          st.cmd        ///////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
# Linux startup script
< envPaths
# For devIocStats
#epicsEnvSet("ENGINEER","engineer")
#epicsEnvSet("LOCATION","location")
epicsEnvSet("GROUP","group")
epicsEnvSet("STREAM_PROTOCOL_PATH","$(TOP)")

# save_restore.cmd needs the full path to the startup directory, which
# envPaths currently does not provide
epicsEnvSet(STARTUP,$(TOP)/iocBoot/$(IOC))

# Increase size of buffer for error logging from default 1256
errlogInit(20000)

# Specify largest array CA will transport
# Note for N doubles, need N*8 bytes+some overhead
epicsEnvSet EPICS_CA_MAX_ARRAY_BYTES 64010

################################################################################
# Tell EPICS all about the record types, device-support modules, drivers,
# etc. in the software we just loaded (xxx.munch)
dbLoadDatabase("../../dbd/iocxxxLinux.dbd")
iocxxxLinux_registerRecordDeviceDriver(pdbbase)

### save_restore setup
#< save_restore .cmd

# Access Security
#dbLoadRecords("$(TOP)/xxxApp/Db/Security_Control.db","P=xxx:")
#asSetFilename("$(TOP)/iocBoot/accessSecurity.acf")
#asSetSubstitutions("P=xxx:")

### caputRecorder

# trap listener
#dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputPoster.db","P=xxx:,N=300")
#doAfterIocInit("registerCaputRecorderTrapListener('xxx:caputRecorderCommand')")

# GUI database
#dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputRecorder.db","P=xxx:,N=300")

# second copy of GUI database
#dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputRecorder.db","P=xxxA:,N=300")

# if you have hdf5 and szip, you can use this
#< areaDetector.cmd

# soft scaler for testing
#< softScaler.cmd

# user-assignable ramp/tweak
#dbLoadRecords("$(STD)/stdApp/Db/ramp_tweak.db","P=xxx:,Q=rt1")

# serial support
#< serial.cmd

# Motors
dbLoadTemplate("motor.substitutions.ARIES. test.xxx")
drvAsynIPPortConfigure("L0","192.168.1.120:12321",0,0,0)

#< motorSim.cmd
dbLoadRecords("$(MOTOR)/db/motorUtil.db", "P=xxx:")
ARIESSetup(4, 5)
ARIESConfig(0, "L0", 0)
var drvARIESdebug 4

#asynSetTraceIOMask("L0",-1,0x9)

### Scan-support software
# crate-resident scan.  This executes 1D, 2D, 3D, and 4D scans, and caches
# 1D data, but it doesn't store anything to disk.  (See 'saveData' below for that.)
dbLoadRecords("$(SSCAN)/sscanApp/Db/standardScans.db","P=xxx:,MAXPTS1=1000,MAXPTS2=1000,MAXPTS3=1000,MAXPTS4=1000,MAXPTSH=1000")
dbLoadRecords("$(SSCAN)/sscanApp/Db/saveData.db","P=xxx:")
# Run this after iocInit:
#doAfterIocInit("saveData_Init(saveData.req, 'P=xxx:')")
dbLoadRecords("$(SSCAN)/sscanApp/Db/scanProgress.db","P=xxx:scanProgress:")
# Run this after iocInit:
#doAfterIocInit("seq &scanProgress, 'S=xxx:, P=xxx:scanProgress:'")

# configMenu example.
dbLoadRecords("$(AUTO SAVE)/asApp/Db/configMenu.db","P=xxx:,CONFIG=scan1")
# Note that the request file MUST be named $(CONFIG)Menu.req
# If the macro CONFIGMENU is defined with any value, backup (".savB") and
# sequence files (".savN") will not be written.  We don't want these for configMenu.
# Run this after iocInit:
#doAfterIocInit("create_manual_set('scan1Menu.req','P=xxx:,CONFIG=scan1,CONFIGMENU=1')")
# You could make scan configurations read-only:
#dbLoadRecords("$(AUTOSAVE)/asApp/Db/configMenu.db","P=xxx:,CONFIG=scan1,ENABLE_SAVE=0")

# read-only configMenu example.  (Read-only, because we're not calling create_manual_set().)
#dbLoadRecords("$(AUTOSAVE)/asApp/Db/configMenu.db","P=xxx:,CONFIG=scan2")

# A set of scan parameters for each positioner.  This is a convenience
# for the user.  It can contain an entry for each scannable thing in the
# crate.
dbLoadTemplate("scanParms.substitutions")

### Optical tables
dbLoa dRecords("$(OPTICS)/opticsApp/Db/table.db","P=xxx:,Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI")
dbLoadRecords("$(OPTICS)/opticsApp/Db/table.db","P=xxx:,Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=NEWPORT")
dbLoadRecords("$(OPTICS)/opticsApp/Db/table.db","P=xxx:,Q=Table2,T=table2,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI")

# Io calculation
dbLoadRecords("$(OPTICS)/opticsApp/Db/Io.db","P=xxx:Io:")

### Monochromator support ###
# Kohzu and PSL monochromators: Bragg and theta/Y/Z motors
# standard geometry (geometry 1)
dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=xxx:,M_THETA=m1,M_Y=m2,M_Z=m3,yOffLo=17.4999,yOffHi=17.5001")
# Run this after iocInit:
#doAfterIocInit("seq &kohzuCtl, 'P=xxx:, M_THETA=m1, M_Y=m2, M_Z=m3, GEOM=1, logfile=kohzuCtl.log'")
# modified geometry (geometry 2)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=xxx:,M_THETA=m1,M_Y=m2,M_Z=m2,yOf fLo=4,yOffHi=36")
# Run this after iocInit:
#doAfterIocInit("seq &kohzuCtl, 'P=xxx:, M_THETA=m1, M_Y=m2, M_Z=m3, GEOM=2, logfile=kohzuCtl.log'")

# Spherical grating monochromator
#dbLoadRecords("$(OPTICS)/opticsApp/Db/SGM.db","P=xxx:,N=1,M_x=m7,M_rIn=m6,M_rOut=m8,M_g=m9")

# 4-bounce high-resolution monochromator
dbLoadRecords("$(OPTICS)/opticsApp/Db/hrSeq.db","P=xxx:,N=1,M_PHI1=m4,M_PHI2=m5")
# Run this after iocInit:
#doAfterIocInit("seq &hrCtl, 'P=xxx:, N=1, M_PHI1=m4, M_PHI2=m5, logfile=hrCtl.log'")
### Orientation matrix, four-circle diffractometer (see seq program 'orient' below)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/orient.db", "P=xxx:,O=1,PREC=4")
#dbLoadTemplate("orient_xtals.substitutions")
# Run this after iocInit:
#doAfterIocInit("seq &orient, 'P=xxx:orient1:,PM=xxx:,mTTH=m9,mTH=m10,mCHI=m11,mPHI=m12'")

### Stuff for user programming ###
#< calc.cmd

# 4-step measurement
#dbLoadRecor ds("$(STD)/stdApp/Db/4step.db", "P=xxx:,Q=4step:")

# Slow feedback
#dbLoadTemplate "pid_slow.substitutions"
#dbLoadTemplate "async_pid_slow.substitutions"
#dbLoadTemplate "fb_epid.substitutions"

# Miscellaneous PV's, such as burtResult
#dbLoadRecords("$(STD)/stdApp/Db/misc.db","P=xxx:")

### Load database records for Femto amplifiers
#dbLoadRecords("$(STD)/stdApp/Db/femto.db","P=xxx:,H=fem01:,F=seq01:")
# Run this after iocInit:
#doAfterIocInit("seq femto,'name=fem1,P=xxx:,H=fem01:,F=seq01:,G1=xxx:Unidig1Bo6,G2=xxx:Unidig1Bo7,G3=xxx:Unidig1Bo8,NO=xxx:Unidig1Bo10'")

### Load database records for dual PF4 filters
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4common.db","P=xxx:,H=pf4:,A=A,B=B")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4bank.db","P=xxx:,H=pf4:,B=A")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4bank.db","P=xxx:,H=pf4:,B=B")
# Run this after iocInit:
#doAfterIocInit("seq pf4,'name=pf1,P=xxx:,H=pf4:,B=A,M=xxx: userTran10.I,B1=xxx:userTran10.A,B2=xxx:userTran10.B,B3=xxx:userTran10.C,B4=xxx:userTran10.D'")
#doAfterIocInit("seq pf4,'name=pf2,P=xxx:,H=pf4:,B=B,M=xxx:userTran10.I,B1=xxx:userTran10.E,B2=xxx:userTran10.F,B3=xxx:userTran10.G,B4=xxx:userTran10.H'")
###############################################################################
iocInit
###############################################################################

asynSetTraceIOMask("L0",-1,0x9)


motorUtilInit('xxx:')
saveData_Init(saveData.req, 'P=xxx:')
seq &scanProgress, 'S=xxx:, P=xxx:scanProgress:'
seq &hrCtl, 'P=xxx:, N=1, M_PHI1=m4, M_PHI2=m5, logfile=hrCtl.log'
create_manual_set('scan1Menu.req','P=xxx:,CONFIG=scan1,CONFIGMENU=1')

# write all the PV names to a local file
dbl > dbl-all.txt

# Report  states of database CA links
#dbcar(*,1)

# print the time our boot was finished
date



//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////                  Output of st.cmd                      ////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[root@localhost iocLinux]# ../../bin/linux-x86_64/xxx st.cmd
Successfully locked memory using mlockAll
# Linux startup script
< envPaths
epicsEnvSet("ARCH","linux-x86_64")
epicsEnvSet("IOC","iocLinux")
epicsEnvSet("TOP","/opt/synApps_5_8/support/xxx-5-8-3")
epicsEnvSet("SUPPORT","/opt/synApps_5_8/support")
epicsEnvSet("EPICS_BASE","/opt/base")
epicsEnvSet("ALIVE","/opt/synApps_5_8/support/alive-1-0")
epicsEnvSet("ALLEN_BRADLEY","/opt/synApps_5_8/support/allenBradley-2-3")
epicsEnvSet("AREA_DETECTOR","/opt/synApps_5_8/support/areaDetector-R2-0")
epicsEnvSet("ADCORE","/opt/synApps_5_8/support/areaDetector-R2-0/ADCore-R2-2")
epicsEnvSet("ADBINARIES","/opt/synApps_5_8/support/areaDetector-R2-0/ADBinaries-R2-2")
epicsEnvSet("ASYN","/opt/synApps_5_8/support/asyn-4-26")
epicsEnvSet("AUTOSAVE","/opt/synApps_5_8/support/autosave-5-6-1")
epicsEnvSet("BUSY","/opt/synApps_5_8/support/busy-1-6-1")
epicsEnvSet("CALC","/opt/synApps_5_8/s upport/calc-3-4-2-1")
epicsEnvSet("CAMAC","/opt/synApps_5_8/support/camac-2-7")
epicsEnvSet("CAPUTRECORDER","/opt/synApps_5_8/support/caputRecorder-1-6")
epicsEnvSet("DAC128V","/opt/synApps_5_8/support/dac128V-2-8")
epicsEnvSet("DELAYGEN","/opt/synApps_5_8/support/delaygen-1-1-1")
epicsEnvSet("DEVIOCSTATS","/opt/synApps_5_8/support/devIocStats-3-1-13")
epicsEnvSet("DXP","/opt/synApps_5_8/support/dxp-3-4")
epicsEnvSet("IP","/opt/synApps_5_8/support/ip-2-17")
epicsEnvSet("IP330","/opt/synApps_5_8/support/ip330-2-8")
epicsEnvSet("IPAC","/opt/synApps_5_8/support/ipac-2-13")
epicsEnvSet("IPUNIDIG","/opt/synApps_5_8/support/ipUnidig-2-10")
epicsEnvSet("LOVE","/opt/synApps_5_8/support/love-3-2-5")
epicsEnvSet("MCA","/opt/synApps_5_8/support/mca-7-6")
epicsEnvSet("MEASCOMP","/opt/synApps_5_8/support/measComp-1-1")
epicsEnvSet("MODBUS","/opt/synApps_5_8/support/modbus-2-7")
epicsEnvSet("MOTOR","/opt/synApps_5_8/support/motor-6-9")
epics EnvSet("OPTICS","/opt/synApps_5_8/support/optics-2-9-3")
epicsEnvSet("QUADEM","/opt/synApps_5_8/support/quadEM-5-0")
epicsEnvSet("SNCSEQ","/opt/synApps_5_8/support/seq-2-2-3")
epicsEnvSet("SOFTGLUE","/opt/synApps_5_8/support/softGlue-2-4-3")
epicsEnvSet("SSCAN","/opt/synApps_5_8/support/sscan-2-10-1")
epicsEnvSet("STD","/opt/synApps_5_8/support/std-3-4")
epicsEnvSet("STREAM","/opt/synApps_5_8/support/stream-2-6a")
epicsEnvSet("VAC","/opt/synApps_5_8/support/vac-1-5-1")
epicsEnvSet("VME","/opt/synApps_5_8/support/vme-2-8-2")
epicsEnvSet("XXX","/opt/synApps_5_8/support/xxx-5-8-3")
# For devIocStats
#epicsEnvSet("ENGINEER","engineer")
#epicsEnvSet("LOCATION","location")
epicsEnvSet("GROUP","group")
epicsEnvSet("STREAM_PROTOCOL_PATH","/opt/synApps_5_8/support/xxx-5-8-3")
# save_restore.cmd needs the full path to the startup directory, which
# envPaths currently does not provide
epicsEnvSet(STARTUP,/opt/synApps_5_8/support/xxx-5- 8-3/iocBoot/iocLinux)
# Increase size of buffer for error logging from default 1256
errlogInit(20000)
# Specify largest array CA will transport
# Note for N doubles, need N*8 bytes+some overhead
epicsEnvSet EPICS_CA_MAX_ARRAY_BYTES 64010
################################################################################
# Tell EPICS all about the record types, device-support modules, drivers,
# etc. in the software we just loaded (xxx.munch)
dbLoadDatabase("../../dbd/iocxxxLinux.dbd")
iocxxxLinux_registerRecordDeviceDriver(pdbbase)
### save_restore setup
#< save_restore.cmd
# Access Security
#dbLoadRecords("$(TOP)/xxxApp/Db/Security_Control.db","P=xxx:")
#asSetFilename("$(TOP)/iocBoot/accessSecurity.acf")
#asSetSubstitutions("P=xxx:")
### caputRecorder
# trap listener
#dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputPoster.db","P=xxx:,N=300")
#doAfterIocInit("registerCaputRecorderTrapListener('xxx:caputReco rderCommand')")
# GUI database
#dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputRecorder.db","P=xxx:,N=300")
# second copy of GUI database
#dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputRecorder.db","P=xxxA:,N=300")
# if you have hdf5 and szip, you can use this
#< areaDetector.cmd
# soft scaler for testing
#< softScaler.cmd
# user-assignable ramp/tweak
#dbLoadRecords("$(STD)/stdApp/Db/ramp_tweak.db","P=xxx:,Q=rt1")
# serial support
#< serial.cmd
# Motors
dbLoadTemplate("motor.substitutions.ARIES.test.xxx")
drvAsynIPPortConfigure("L0","192.168.1.120:12321",0,0,0)
#< motorSim.cmd
dbLoadRecords("/opt/synApps_5_8/support/motor-6-9/db/motorUtil.db", "P=xxx:")
ARIESSetup(4, 5)
ARIESConfig(0, "L0", 0)
var drvARIESdebug 4
#asynSetTraceIOMask("L0",-1,0x9)
### Scan-support software
# crate-resident scan.  This executes 1D, 2D, 3D, and 4D scans, and caches
# 1D data, but it does n't store anything to disk.  (See 'saveData' below for that.)
dbLoadRecords("/opt/synApps_5_8/support/sscan-2-10-1/sscanApp/Db/standardScans.db","P=xxx:,MAXPTS1=1000,MAXPTS2=1000,MAXPTS3=1000,MAXPTS4=1000,MAXPTSH=1000")
dbLoadRecords("/opt/synApps_5_8/support/sscan-2-10-1/sscanApp/Db/saveData.db","P=xxx:")
# Run this after iocInit:
#doAfterIocInit("saveData_Init(saveData.req, 'P=xxx:')")
dbLoadRecords("/opt/synApps_5_8/support/sscan-2-10-1/sscanApp/Db/scanProgress.db","P=xxx:scanProgress:")
# Run this after iocInit:
#doAfterIocInit("seq &scanProgress, 'S=xxx:, P=xxx:scanProgress:'")
# configMenu example.
dbLoadRecords("/opt/synApps_5_8/support/autosave-5-6-1/asApp/Db/configMenu.db","P=xxx:,CONFIG=scan1")
# Note that the request file MUST be named $(CONFIG)Menu.req
# If the macro CONFIGMENU is defined with any value, backup (".savB") and
# sequence files (".savN") will not be written.  We don't want these for configMenu.
# Run this after iocInit:
#doAfterIocInit("create_manual_set('scan1Menu.req','P=xxx:,CONFIG=scan1,CONFIGMENU=1')")
# You could make scan configurations read-only:
#dbLoadRecords("$(AUTOSAVE)/asApp/Db/configMenu.db","P=xxx:,CONFIG=scan1,ENABLE_SAVE=0")
# read-only configMenu example.  (Read-only, because we're not calling create_manual_set().)
#dbLoadRecords("$(AUTOSAVE)/asApp/Db/configMenu.db","P=xxx:,CONFIG=scan2")
# A set of scan parameters for each positioner.  This is a convenience
# for the user.  It can contain an entry for each scannable thing in the
# crate.
dbLoadTemplate("scanParms.substitutions")
### Optical tables
dbLoadRecords("/opt/synApps_5_8/support/optics-2-9-3/opticsApp/Db/table.db","P=xxx:,Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI")
dbLoadRecords("/opt/synApps_5_8/support/optics-2-9-3/opticsApp/Db/table.db","P=xxx:,Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=NE WPORT")
dbLoadRecords("/opt/synApps_5_8/support/optics-2-9-3/opticsApp/Db/table.db","P=xxx:,Q=Table2,T=table2,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI")
# Io calculation
dbLoadRecords("/opt/synApps_5_8/support/optics-2-9-3/opticsApp/Db/Io.db","P=xxx:Io:")
### Monochromator support ###
# Kohzu and PSL monochromators: Bragg and theta/Y/Z motors
# standard geometry (geometry 1)
dbLoadRecords("/opt/synApps_5_8/support/optics-2-9-3/opticsApp/Db/kohzuSeq.db","P=xxx:,M_THETA=m1,M_Y=m2,M_Z=m3,yOffLo=17.4999,yOffHi=17.5001")
# Run this after iocInit:
#doAfterIocInit("seq &kohzuCtl, 'P=xxx:, M_THETA=m1, M_Y=m2, M_Z=m3, GEOM=1, logfile=kohzuCtl.log'")
# modified geometry (geometry 2)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=xxx:,M_THETA=m1,M_Y=m2,M_Z=m2,yOffLo=4,yOffHi=36")
# Run this after iocInit:
#doAfterIocInit("seq &kohzuCtl, 'P=xxx:, M_THETA=m1, M_Y=m2, M_Z=m3, GEOM=2, logfile=kohzuCtl.log'")
# Spherical gr ating monochromator
#dbLoadRecords("$(OPTICS)/opticsApp/Db/SGM.db","P=xxx:,N=1,M_x=m7,M_rIn=m6,M_rOut=m8,M_g=m9")
# 4-bounce high-resolution monochromator
dbLoadRecords("/opt/synApps_5_8/support/optics-2-9-3/opticsApp/Db/hrSeq.db","P=xxx:,N=1,M_PHI1=m4,M_PHI2=m5")
# Run this after iocInit:
#doAfterIocInit("seq &hrCtl, 'P=xxx:, N=1, M_PHI1=m4, M_PHI2=m5, logfile=hrCtl.log'")
### Orientation matrix, four-circle diffractometer (see seq program 'orient' below)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/orient.db", "P=xxx:,O=1,PREC=4")
#dbLoadTemplate("orient_xtals.substitutions")
# Run this after iocInit:
#doAfterIocInit("seq &orient, 'P=xxx:orient1:,PM=xxx:,mTTH=m9,mTH=m10,mCHI=m11,mPHI=m12'")
### Stuff for user programming ###
#< calc.cmd
# 4-step measurement
#dbLoadRecords("$(STD)/stdApp/Db/4step.db", "P=xxx:,Q=4step:")
# Slow feedback
#dbLoadTemplate "pid_slow.substitutions"
#dbLoadTemplate "async_pid_slow.substitutio ns"
#dbLoadTemplate "fb_epid.substitutions"
# Miscellaneous PV's, such as burtResult
#dbLoadRecords("$(STD)/stdApp/Db/misc.db","P=xxx:")
### Load database records for Femto amplifiers
#dbLoadRecords("$(STD)/stdApp/Db/femto.db","P=xxx:,H=fem01:,F=seq01:")
# Run this after iocInit:
#doAfterIocInit("seq femto,'name=fem1,P=xxx:,H=fem01:,F=seq01:,G1=xxx:Unidig1Bo6,G2=xxx:Unidig1Bo7,G3=xxx:Unidig1Bo8,NO=xxx:Unidig1Bo10'")
### Load database records for dual PF4 filters
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4common.db","P=xxx:,H=pf4:,A=A,B=B")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4bank.db","P=xxx:,H=pf4:,B=A")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4bank.db","P=xxx:,H=pf4:,B=B")
# Run this after iocInit:
#doAfterIocInit("seq pf4,'name=pf1,P=xxx:,H=pf4:,B=A,M=xxx:userTran10.I,B1=xxx:userTran10.A,B2=xxx:userTran10.B,B3=xxx:userTran10.C,B4=xxx:userTran10.D'")
#doAfterIocInit("seq pf4,'name=pf2,P=xxx:,H=pf4:,B=B,M=xxx:userTran10.I,B1=xx x:userTran10.E,B2=xxx:userTran10.F,B3=xxx:userTran10.G,B4=xxx:userTran10.H'")
###############################################################################
iocInit
Starting iocInit
############################################################################
## EPICS R3.15.2 $Date: Thu 2015-05-14 14:09:28 +0200$
## EPICS Base built Oct 16 2016
############################################################################
recDynLinkOut: waiting for CA context
recDynLinkOut: got CA context
iocRun: All initialization complete
###############################################################################
asynSetTraceIOMask("L0",-1,0x9)
motorUtilInit('xxx:')
saveData_Init(saveData.req, 'P=xxx:')
saveData: message queue created
saveData:maxAllowedRetries = 10
saveData:retryWaitInSecs = 15
seq &scanProgress, 'S=xxx:, P=xxx:scanProgress:'
sevr=info Sequencer release 2.2.3, compiled Wed Nov 30 16:54:39 2016
sevr=info Spa wning sequencer program "scanProgress", thread 0x1f75820: "scanProgress"
seq &hrCtl, 'P=xxx:, N=1, M_PHI1=m4, M_PHI2=m5, logfile=hrCtl.log'
sevr=info Sequencer release 2.2.3, compiled Wed Nov 30 16:54:39 2016
sevr=info Spawning sequencer program "hrCtl", thread 0x1f7f1d0: "hrCtl"
create_manual_set('scan1Menu.req','P=xxx:,CONFIG=scan1,CONFIGMENU=1')
save_restore:readReqFile: unable to open file configMenu.req. Exiting.
save_restore:readReqFile: unable to open file scan_settings.req. Exiting.
save_restore:readReqFile: unable to open file scan_settings.req. Exiting.
sevr=info scanProgress[0]: all channels connected & received 1st monitor
save_restore:readReqFile: unable to open file scan_settings.req. Exiting.
sevr=info hrCtl[0]: all channels connected & received 1st monitor
# write all the PV names to a local file
dbl > dbl-all.txt
# Report  states of database CA links
#dbcar(*,1)
# print the time our boot was fi nished
date
2016/12/02 11:04:28.243224
epics> scan1Menu.sav: 0 of 0 PV's connected

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////     scanParm.substitutions    /////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
file "$(SSCAN)/sscanApp/Db/scanParms.db"
{
{P=xxx:,SCANREC=xxx:scan1,Q=m1,POS="$(Q).VAL",RDBK="$(Q).RBV"}
{P=xxx:,SCANREC=xxx:scan1,Q=m2,POS="$(Q).VAL",RDBK="$(Q).RBV"}
{P=xxx:,SCANREC=xxx:scan1,Q=m3,POS="$(Q).VAL",RDBK="$(Q).RBV"}
{P=xxx:,SCANREC=xxx:scan1,Q=m4,POS="$(Q).VAL",RDBK="$(Q).RBV"}
{P=xxx:,SCANREC=xxx:scan1,Q=m5,POS="$(Q).VAL",RDBK="$(Q).RBV"}
{P=xxx:,SCANREC=xxx:scan1,Q=m6,POS="$(Q).VAL",RDBK="$(Q).RBV"}
{P=xxx:,SCANREC=xxx:scan1,Q=m7,POS="$(Q).VAL",RDBK="$(Q).RBV"}
{P=xxx:,SCANREC=xxx:scan1,Q=m8,POS="$(Q).VAL",RDBK="$(Q).RBV"}

{P=xxx:,SCANREC=xxx:scan1,Q=Table1X,POS=table1.X,RDBK=table1.XRB}
{P=xxx:,SCANREC=xxx:scan1,Q=Table1Y,POS=table1.Y,RDBK=table1.YRB}
{P=xxx:,SCANREC=xxx:scan1,Q=Table1Z,POS=table1.Z,RDBK=table1.ZRB}
{P=xxx:,SCANREC=xxx:scan1,Q=Table1AX,POS=table1.AX,RDBK=table1.AXRB}
{P=xxx:,SCANREC=xxx:scan1,Q=Table1AY,POS=table1.AY,RDBK=table1.AYRB}
{P=xxx:,SCANREC=xxx:scan1,Q=Table1AZ,POS=table1.AZ,RDBK=table1.AZRB}

{P=xxx:,SCANREC=xxx:scan1,Q=BraggE,POS=BraggEAO.VAL,RDBK=BraggERdbkAO.VAL}
{P=xxx:,SCANREC=xxx:scan1,Q=BraggLambda,POS=BraggLambdaAO.VAL,RDBK=BraggLambdaRdbkAO.VAL}
{P=xxx:,SCANREC=xxx:scan1,Q=BraggTheta,POS=BraggThetaAO.VAL,RDBK=BraggThetaRdbkAO.VAL}

{P=xxx:,SCANREC=xxx:scan1,Q=HR1_E,POS=HR1_EAO.VAL,RDBK=HR1_ERdbkAO}
{P=xxx:,SCANREC=xxx:scan1,Q=HR1_A,POS=HR1_worldOffAO.VAL,RDBK=HR1_worldOffAO.VAL}

# slit
#{P=xxx:,SCANREC=xxx:scan1,Q=Slit1Hp,POS=Slit1Hxp.VAL,RDBK=Slit1Ht2.A}
#{P=xxx:,SCANREC=xxx:scan1,Q=Slit1Hn,POS=Slit1Hxn.VAL,RDBK=Slit1Ht2.B}
#{P=xxx:,SCANREC=xxx:scan1,Q=Slit1Hsize,POS=Slit1Hsize.VAL,RDBK=Slit1Ht2.C}
#{P=xxx:,SCANREC=xxx:scan1,Q=Slit1Hcenter,POS=Slit1Hcenter.VAL,RDBK=Slit1Ht2.D}
#{P=xxx:,SCANREC=xxx:scan1,Q=Slit1Vp,POS=Slit1Vxp.VAL,RDBK=Slit1Vt2.A}
#{P=xxx:,SCANREC=xxx:scan1,Q=Slit1Vn,POS=Slit1Vxn.VAL,RDBK=Slit1Vt2.B}
#{P=xxx:,SCANREC=xxx:scan1,Q=Slit1Vsize,POS=Slit1Vsize.VAL,RDBK=Slit1Vt2.C}
#{P=xxx:,SCANREC=xxx:scan1,Q=Slit1Vcenter,POS=Slit1Vcenter.VAL,RDBK=Slit1Vt2.D}


}


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////     motor.substitutions.ARIES.test.xxx    //////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
file "$(MOTOR)/db/basic_motor.db"
{
pattern
{P,     N,       M,        DTYP,    C,  S,  DESC,          EGU,      DIR,  VELO,     VBAS,  ACCL,  BDST,  BVEL,    BACC,   MRES,   PREC,   DHLM,       DLLM,  INIT}
{xxx:,  m1,    "$(N)",  "ARIES",   0,  0,  "motor $(N)",  rad,      Pos,  2000,     400,    .1,    1,     400,     .1,    2,       5,     5001,      -5001,  ""}
{xxx:,  m2,  "$(N)",  "ARIES",  0,  1,  "motor $(N)",  arcsec,   Pos,  2000,     400,    .1,    1,     400,     .1,    0.0225,  5,     50000001,   -5000000001,  ""}
{xxx:,  m3,      "$(N)",  "ARIES",  0,  2,  "motor $(N)",  um,       Pos,  10,        .1,    .2,    0,     1,       .2,    0.5,     5,     360,       -360,  ""}
{xxx:,  m4,      "$(N)",  "ARIES",  0,  3,  "motor $(N)",  um,       Pos,  1000,     200,    .1,    1,     200,     .1,    0.05,    5,     15001,     -15001,  ""}
{xxx:,  m5,  "$(N)",  "ARIES",  0,  4,  "motor $(N)",  arcsec,   Pos,  1000,     200,    .1,    1,     200,     .1,    0.00225,  5,    15001,     -15001,  ""}
{xxx:,  m6,     "$(N)",  "ARIES",   0,  5,  "motor $(N)",  um,       Pos,  1000,     200,    .1,    1,     200,     .1,    0.05,    5,     15001,     -15001,  ""}
{xxx:,  m7,     "$(N)",  "ARIES",   0,  6,  "motor $(N)",  um,       Pos,  1000,     200,    .1,    1,     200,     .1,    0.05,    5,     15001,     -15001,  ""}
}


Attachment: hrSeqCtl_ALL(some pv invalid).png
Description: PNG image


Replies:
RE: hrSeqCt_ALL pv question Mooney, Tim M.

Navigate by Date:
Prev: Re: SNL sequencer apparently losing connection to underlying network Matt Newville
Next: RE: hrSeqCt_ALL pv question Mooney, Tim M.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Automatic flat db generation Luca Cavalli
Next: RE: hrSeqCt_ALL pv question Mooney, Tim M.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 01 Dec 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·