> The detail is: I use the macro value P=xxx:,S=scan1,N=1 for both sscan module(scan.db) and
> std module(scaler 974). So the st.cmd said :"Record xxx:scan1 already defined with different type sscan".
You should use P=xxx:,S=scan1 for the sscan, but use P=xxx:,S=scaler1 for the scaler 974.
Mark
________________________________
From: [email protected] [[email protected]] on behalf of l123173 [[email protected]]
Sent: Monday, April 27, 2015 10:01 PM
To: [email protected]
Subject: Scan1 already defined?
Hi tech-talk,
Could you please do me an offer again. I just want to move a motor then triger a detector, on and on.
I successfully controled the motor and scaler 974 respectively with xxx/iocBoot/iocLinux st.cmd.
But when I put the motor and scaler 974 together, something wrong.
I added the motor and std part of xxx/iocBoot/iocLinux st.cmd myself, others not changed.
After reading the information of st.cmd, I think the &(P)$(S) of record is the question. The detail is: I use the macro value P=xxx:,S=scan1,N=1 for both sscan module(scan.db) and std module(scaler 974).
So the st.cmd said :"Record xxx:scan1 already defined with different type sscan".
Could you tell me how should I do it?
Thanks,
Li Xing
the following is st.cmd information and scan.db. (between "####" and "#####" is what I changed )
st.cmd information
###############################################################################
# Linux startup script
# For devIocStats
epicsEnvSet("ENGINEER","engineer")
epicsEnvSet("LOCATION","location")
# add myself
epicsEnvSet "STREAM_PROTOCOL_PATH" "/home/bsrf-non/Documents/KohzuAries/db"
< envPaths
epicsEnvSet("ARCH","linux-x86")
epicsEnvSet("IOC","iocLinux")
epicsEnvSet("TOP","/home/bsrf-non/Documents/synApps_5_6/support/xxx-5-6")
epicsEnvSet("SUPPORT","/home/bsrf-non/Documents/synApps_5_6/support")
epicsEnvSet("ALLEN_BRADLEY","/home/bsrf-non/Documents/synApps_5_6/support/allenBradley-2-2")
epicsEnvSet("AREA_DETECTOR","/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1")
epicsEnvSet("ASYN","/home/bsrf-non/Documents/synApps_5_6/support/asyn-4-18")
epicsEnvSet("AUTOSAVE","/home/bsrf-non/Documents/synApps_5_6/support/autosave-4-8")
epicsEnvSet("BUSY","/home/bsrf-non/Documents/synApps_5_6/support/busy-1-4")
epicsEnvSet("CALC","/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9")
epicsEnvSet("CAMAC","/home/bsrf-non/Documents/synApps_5_6/support/camac-2-7")
epicsEnvSet("DAC128V","/home/bsrf-non/Documents/synApps_5_6/support/dac128V-2-7")
epicsEnvSet("DELAYGEN","/home/bsrf-non/Documents/synApps_5_6/support/delaygen-1-0-7")
epicsEnvSet("DEVIOCSTATS","/home/bsrf-non/Documents/synApps_5_6/support/devIocStats-3-1-7")
epicsEnvSet("DXP","/home/bsrf-non/Documents/synApps_5_6/support/dxp-3-1")
epicsEnvSet("IP","/home/bsrf-non/Documents/synApps_5_6/support/ip-2-13")
epicsEnvSet("IP330","/home/bsrf-non/Documents/synApps_5_6/support/ip330-2-7")
epicsEnvSet("IPAC","/home/bsrf-non/Documents/synApps_5_6/support/ipac-2-11")
epicsEnvSet("IPUNIDIG","/home/bsrf-non/Documents/synApps_5_6/support/ipUnidig-2-9")
epicsEnvSet("LOVE","/home/bsrf-non/Documents/synApps_5_6/support/love-3-2-5")
epicsEnvSet("MCA","/home/bsrf-non/Documents/synApps_5_6/support/mca-7-1")
epicsEnvSet("MODBUS","/home/bsrf-non/Documents/synApps_5_6/support/modbus-2-3")
epicsEnvSet("MOTOR","/home/bsrf-non/Documents/synApps_5_6/support/motor-6-7")
epicsEnvSet("OPTICS","/home/bsrf-non/Documents/synApps_5_6/support/optics-2-8-1")
epicsEnvSet("QUADEM","/home/bsrf-non/Documents/synApps_5_6/support/quadEM-2-6")
epicsEnvSet("SNCSEQ","/home/bsrf-non/Documents/synApps_5_6/support/seq-2-1-3")
epicsEnvSet("SOFTGLUE","/home/bsrf-non/Documents/synApps_5_6/support/softGlue-2-2")
epicsEnvSet("SSCAN","/home/bsrf-non/Documents/synApps_5_6/support/sscan-2-7")
epicsEnvSet("STD","/home/bsrf-non/Documents/synApps_5_6/support/std-3-1")
epicsEnvSet("STREAM","/home/bsrf-non/Documents/synApps_5_6/support/stream-2-5-1")
epicsEnvSet("VAC","/home/bsrf-non/Documents/synApps_5_6/support/vac-1-4")
epicsEnvSet("VME","/home/bsrf-non/Documents/synApps_5_6/support/vme-2-8")
epicsEnvSet("XXX","/home/bsrf-non/Documents/synApps_5_6/support/xxx-5-6")
epicsEnvSet("EPICS_BASE","/opt/base-3.14.12.1/")
# save_restore.cmd needs the full path to the startup directory, which
# envPaths currently does not provide
epicsEnvSet(STARTUP,/home/bsrf-non/Documents/synApps_5_6/support/xxx-5-6/iocBoot/iocLinux)
# Increase size of buffer for error logging from default 1256
errlogInit(20000)
# Specify largest array CA will transport
# Note for N sscanRecord data points, need (N+1)*8 bytes, else MEDM
# plot doesn't display
epicsEnvSet EPICS_CA_MAX_ARRAY_BYTES 64008
###############################################################################
# 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)
drvAsynSerialPortConfigure("L0","/dev/ttyS2",0,0,0)
asynSetOption("L0",-1,"baud","115200")
asynSetOption("L0",-1,"bits","8")
asynSetOption("L0",-1,"parity","none")
asynSetOption("L0",-1,"stop","1")
asynSetOption("L0",-1,"clocal","Y")
asynSetOption("L0",-1,"crtscts","N")
asynOctetSetInputEos("L0",-1,"\r\n")
asynOctetSetOutputEos("L0",-1,"\r\n")
asynSetTraceIOMask("L0",-1,0x2)
#asynSetTraceMask("L0",-1,0x9)
asynSetTraceMask("L0",0,255)
################ 974 #####################
############################################
drvAsynSerialPortConfigure("serial_974","/dev/ttyS0",3,0,0)
asynSetOption("serial_974",0,"baud","9600")
asynSetOption("serial_974",0,"bits","8")
asynSetOption("serial_974",0,"parity","none")
asynSetOption("serial_974",0,"stop","2")
#asynSetOption("serial_974",0,"clocal","Y")
#asynSetOption("serial_974",0,"crtscts","N")
asynOctetSetInputEos("serial_974",0,"\r\n")
asynOctetSetOutputEos("serial_974",0,"\r\n")
asynSetTraceIOMask("serial_974",0,0x2)
asynSetTraceMask("serial_974",0,255)
asynOctetConnect("serial_974","serial_974")
asynOctetWriteRead("serial_974","INIT")
2015/04/28 10:37:30.793 serial_974 asynManager::lockPort locking port
2015/04/28 10:37:30.793 serial_974 asynManager::lockPort created lockPortPvt=0x91f2600
2015/04/28 10:37:30.793 serial_974 asynManager::lockPort created lockPortPvt=0x91f2600, event=0x91f2610, mutex=0x91f2680
2015/04/28 10:37:30.793 serial_974 asynManager::lockPort taking mutex 0x91f2680
2015/04/28 10:37:30.793 serial_974 asynManager::lockPort queueing request
2015/04/28 10:37:30.793 serial_974 addr -1 queueRequest priority 0 not lockHolder
2015/04/28 10:37:30.793 serial_974 asynManager::lockPort waiting for event
2015/04/28 10:37:30.793 asynManager::portThread port=serial_974 callback
2015/04/28 10:37:30.793 serial_974 asynManager::lockPortCallback signaling begin event
2015/04/28 10:37:30.793 serial_974 asynManager::lockPortCallback waiting for mutex from unlockPort
2015/04/28 10:37:30.793 serial_974 asynManager::lockPort got event from callback
2015/04/28 10:37:30.793 serial_974 flush
2015/04/28 10:37:30.793 /dev/ttyS0 flush
2015/04/28 10:37:30.793 /dev/ttyS0 write.
2015/04/28 10:37:30.793 /dev/ttyS0 write 6
INIT\r\n
2015/04/28 10:37:30.793 wrote 6 to /dev/ttyS0, return asynSuccess
2015/04/28 10:37:30.793 serial_974 wrote
INIT\r\n
2015/04/28 10:37:30.793 asynOctetSyncIO wrote:
INIT
2015/04/28 10:37:30.793 /dev/ttyS0 read.
2015/04/28 10:37:31.117 /dev/ttyS0 read 8
%0000000
2015/04/28 10:37:31.117 /dev/ttyS0 read 8, return 0
2015/04/28 10:37:31.117 serial_974 read
%0000000
2015/04/28 10:37:31.117 /dev/ttyS0 read.
2015/04/28 10:37:31.125 /dev/ttyS0 read 3
69\r
2015/04/28 10:37:31.125 /dev/ttyS0 read 3, return 0
2015/04/28 10:37:31.125 serial_974 read
69\r
2015/04/28 10:37:31.125 /dev/ttyS0 read.
2015/04/28 10:37:32.120 /dev/ttyS0 timeout handler.
2015/04/28 10:37:32.225 /dev/ttyS0 read 0, return 1
2015/04/28 10:37:32.225 serial_974 unlockPort
2015/04/28 10:37:32.225 serial_974 asynManager::unlockPort waiting for event
2015/04/28 10:37:32.225 serial_974 unlockPort unlock mutex 0x91f2680 complete.
2015/04/28 10:37:32.225 Error in WriteRead, nout 4 ninp=11 error
###################### setup 974 #############################
initScaler974("serial974","serial_974",0,100)
########################################################
#< areaDetector.cmd
# Autosave info node example
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/autosave-4-8/asApp/Db/infoExample.db","P=xxx:")
# Soft function generator
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/FuncGen.db","P=xxx:,Q=fgen,OUT=xxx:m7.VAL")
# user-assignable ramp/tweak
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/std-3-1/stdApp/Db/ramp_tweak.db","P=xxx:,Q=rt1")
### save_restore setup
# We presume a suitable initHook routine was compiled into xxx.munch.
# See also create_monitor_set(), after iocInit() .
#< save_restore.cmd
# serial support
#< serial.cmd
# Motors
#dbLoadTemplate("basic_motor.substitutions")
#dbLoadTemplate("motor.substitutions")
#dbLoadTemplate("softMotor.substitutions")
#dbLoadTemplate("pseudoMotor.substitutions")
dbLoadRecords("/home/bsrf-non/Documents/KohzuAries/KohzuAriesSup/devKohzuAries.db","P=xxx:,R=,PORT=L0,A=0")
#< motorSim.cmd
< areaDetector.cmd
epicsEnvSet EPICS_CA_MAX_ARRAY_BYTES 2000100
# Create a simDetector driver
simDetectorConfig("SIM1", 640, 480, 1, 50, 50000000)
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/ADBase.template", "P=xxx:,R=SIM1:cam1:,PORT=SIM1,ADDR=0,TIMEOUT=1")
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/simDetector.template","P=xxx:,R=SIM1:cam1:,PORT=SIM1,ADDR=0,TIMEOUT=1")
# Create a second simDetector driver
simDetectorConfig("SIM2", 300, 200, 1, 50, 50000000)
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/ADBase.template", "P=xxx:,R=SIM1:cam2:,PORT=SIM2,ADDR=0,TIMEOUT=1")
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/simDetector.template","P=xxx:,R=SIM1:cam2:,PORT=SIM2,ADDR=0,TIMEOUT=1")
# Create a standard arrays plugin, set it to get data from first simDetector driver.
NDStdArraysConfigure("SIM1Image", 3, 0, "SIM1", 0, 2000000)
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/NDPluginBase.template", "P=xxx:,R=image1:,PORT=SIM1Image,ADDR=0,TIMEOUT=1,NDARRAY_PORT=SIM1,NDARRAY_ADDR=0")
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/NDStdArrays.template", "P=xxx:,R=image1:,PORT=SIM1Image,ADDR=0,TIMEOUT=1,TYPE=Int8,FTVL=UCHAR,NELEMENTS=1392640")
# Create a standard arrays plugin, set it to get data from second simDetector driver.
NDStdArraysConfigure("SIM2Image", 1, 0, "SIM2", 0, 2000000)
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/NDPluginBase.template", "P=xxx:,R=image2:,PORT=SIM2Image,ADDR=0,TIMEOUT=1,NDARRAY_PORT=SIM1,NDARRAY_ADDR=0")
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/NDStdArrays.template", "P=xxx:,R=image2:,PORT=SIM2Image,ADDR=0,TIMEOUT=1,TYPE=Int8,FTVL=UCHAR,NELEMENTS=1392640")
# Load the database to use with Stephen Mudie's IDL code
#dbLoadRecords("$(AREA_DETECTOR)/ADApp/Db/EPICS_AD_Viewer.template", "P=xxx:, R=image1:")
# Create a file saving plugin
NDFileNetCDFConfigure("SIM1File", 20, 0, "SIM1", 0)
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/NDPluginBase.template", "P=xxx:,R=netCDF1:,PORT=SIM1File,ADDR=0,TIMEOUT=1,NDARRAY_PORT=SIM1,NDARRAY_ADDR=0")
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/NDFile.template", "P=xxx:,R=netCDF1:,PORT=SIM1File,ADDR=0,TIMEOUT=1")
# Create an ROI plugin
NDROIConfigure("SIM1ROI", 20, 0, "SIM1", 0, 8, 20, 20000000)
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/NDPluginBase.template", "P=xxx:,R=ROI1:, PORT=SIM1ROI,ADDR=0,TIMEOUT=1,NDARRAY_PORT=SIM1,NDARRAY_ADDR=0")
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/areaDetector-1-8beta1/ADApp/Db/NDROI.template", "P=xxx:,R=ROI1:, PORT=SIM1ROI,ADDR=0,TIMEOUT=1")
### Allstop, alldone
#dbLoadRecords("$(MOTOR)/db/motorUtil.db", "P=xxx:")
### 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("/home/bsrf-non/Documents/synApps_5_6/support/sscan-2-7/sscanApp/Db/scan.db","P=xxx:,MAXPTS1=8000,MAXPTS2=1000,MAXPTS3=100,MAXPTS4=100,MAXPTSH=8000")
# 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")
### Stuff for user programming ###
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/userCalcs10.db","P=xxx:")
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/userCalcOuts10.db","P=xxx:")
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/userStringCalcs10.db","P=xxx:")
var aCalcArraySize, 2000
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/userArrayCalcs10.db","P=xxx:,N=2000")
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/userTransforms10.db","P=xxx:")
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/userAve10.db","P=xxx:")
# string sequence (sseq) records
#dbLoadRecords("$(STD)/stdApp/Db/userStringSeqs10.db","P=xxx:")
############ add myself ##################
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/std-3-1/stdApp/Db/scaler.db","P=xxx:,S=scan1,OUT=@asyn(serial974 0 2),DTYP=Asyn Scaler,FREQ=10,TP=1,TP1=0.5,PR1=1,CONT=1")
Record xxx:scan1 already defined with different type sscan
Error at or before ")" in file "/home/bsrf-non/Documents/synApps_5_6/support/std-3-1/stdApp/Db/scaler.db" line 123
Error: dbRecordHead: tempList not empty
at or before ")" in file "/home/bsrf-non/Documents/synApps_5_6/support/std-3-1/stdApp/Db/scaler.db" line 131
Error: syntax error
at or before "c�" in file "/home/bsrf-non/Documents/synApps_5_6/support/std-3-1/stdApp/Db/scaler.db" line 131
###########################################
# 4-step measurement
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/std-3-1/stdApp/Db/4step.db", "P=xxx:")
Error: dbRecordHead: tempList not empty
at or before ")" in file "/home/bsrf-non/Documents/synApps_5_6/support/std-3-1/stdApp/Db/4step.db" line 1
Error: syntax error
at or before "@, �c�" in file "/home/bsrf-non/Documents/synApps_5_6/support/std-3-1/stdApp/Db/4step.db" line 1
# interpolation
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/interp.db", "P=xxx:,N=2000")
Error: dbRecordHead: tempList not empty
at or before ")" in file "/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/interp.db" line 7
Error: syntax error
at or before "A, �c�" in file "/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/interp.db" line 7
dbLoadRecords("/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/interpNew.db", "P=xxx:,Q=1,N=2000")
Error: dbRecordHead: tempList not empty
at or before ")" in file "/home/bsrf-non/Documents/synApps_5_6/support/calc-2-9/calcApp/Db/interpNew.db" line 7
Segmentation fault
*****************************************************************************************************
my scan.db (add P1TV , T1PV did not know )
#! Generated by VisualDCT v2.5
#! DBDSTART
#! DBDEND
record(bi, "$(P)scanActive") {
field(DTYP, "Soft Channel")
field(INP, "0")
field(ZNAM, "Done")
field(ONAM, "Scanning")
}
record(bo, "$(P)AbortScan1") {
field(DTYP, "Soft Channel")
field(DISV, "0")
field(SDIS, "$(P)scan1.FAZE NPP NMS")
field(OUT, "$(P)scan1.EXSC CA NMS")
}
record(bo, "$(P)AbortScan2") {
field(DTYP, "Soft Channel")
field(DISV, "0")
field(SDIS, "$(P)scan2.FAZE NPP NMS")
field(OUT, "$(P)scan2.EXSC CA NMS")
}
record(bo, "$(P)AbortScan3") {
field(DTYP, "Soft Channel")
field(DISV, "0")
field(SDIS, "$(P)scan3.FAZE NPP NMS")
field(OUT, "$(P)scan3.EXSC CA NMS")
}
record(bo, "$(P)AbortScan4") {
field(DTYP, "Soft Channel")
field(DISV, "0")
field(SDIS, "$(P)scan4.FAZE NPP NMS")
field(OUT, "$(P)scan4.EXSC CA NMS")
}
record(bo, "$(P)AbortScanH") {
field(DTYP, "Soft Channel")
field(DISV, "0")
field(SDIS, "$(P)scanH.FAZE NPP NMS")
field(OUT, "$(P)scanH.EXSC CA NMS")
}
record(bo, "$(P)saveData_realTime1D") {
field(DTYP, "Soft Channel")
field(ZNAM, "No")
field(ONAM, "Yes")
}
record(bo, "$(P)scanPause") {
field(DTYP, "Soft Channel")
field(FLNK, "$(P)scanResumeSEQ.VAL PP MS")
field(OUT, "$(P)scanPauseSEQ.VAL PP MS")
field(ZNAM, "GO")
field(ONAM, "PAUSE")
}
record(calcout, "$(P)ScanDim") {
field(CALC, "a?a+(b|c|d|e):f")
field(INPA, "$(P)ScanDim1.VAL CP MS")
field(INPB, "$(P)ScanDimH1.VAL CP MS")
field(INPC, "$(P)ScanDimH2.VAL CP MS")
field(INPD, "$(P)ScanDimH3.VAL CP MS")
field(INPE, "$(P)ScanDimH4.VAL CP MS")
field(INPF, "$(P)scanH.BUSY CP MS")
field(INPG, "0")
field(INPH, "0")
field(OUT, "$(P)calcScanActive.A PP MS")
}
record(calcout, "$(P)ScanDim1") {
field(CALC, "d?4:c?3:b?2:a?1:0")
field(INPA, "$(P)scan1.BUSY CP MS")
field(INPB, "$(P)scan2.BUSY CP MS")
field(INPC, "$(P)scan3.BUSY CP MS")
field(INPD, "$(P)scan4.BUSY CP MS")
field(INPE, "0")
field(INPF, "0")
field(INPG, "0")
field(INPH, "0")
field(OUT, "0")
}
record(calcout, "$(P)calcScanActive") {
field(CALC, "a>0?1:0")
field(OUT, "$(P)scanActive.VAL PP MS")
}
record(fanout, "$(P)AbortScans") {
field(LNK1, "$(P)AbortScanH.VAL PP MS")
field(LNK2, "$(P)AbortScan1.VAL PP MS")
field(LNK3, "$(P)AbortScan2.VAL PP MS")
field(LNK4, "$(P)AbortScan3.VAL PP MS")
field(LNK5, "$(P)AbortScan4.VAL PP MS")
}
record(longout, "$(P)saveData_scanNumber") {
field(DTYP, "Soft Channel")
field(HOPR, "9999")
}
record(mbbi, "$(P)saveData_status") {
field(DTYP, "Soft Channel")
field(ZRST, "Inactive")
field(ONST, "Active")
field(TWST, "Mount err")
field(THST, "I/O err")
}
record(seq, "$(P)scanPauseSEQ") {
field(DISV, "0")
field(SDIS, "$(P)scanPause.VAL NPP MS")
field(DOL1, "1")
field(LNK1, "$(P)scanH.PAUS NPP MS")
field(DOL2, "1")
field(LNK2, "$(P)scan1.PAUS NPP MS")
field(DOL3, "1")
field(LNK3, "$(P)scan2.PAUS NPP MS")
field(DOL4, "1")
field(LNK4, "$(P)scan3.PAUS NPP MS")
field(DOL5, "1")
field(LNK5, "$(P)scan4.PAUS NPP MS")
}
record(seq, "$(P)scanResumeSEQ") {
field(SDIS, "$(P)scanPause.VAL NPP MS")
field(PREC, "3")
field(DLY1, "1.")
field(LNK1, "$(P)scanH.PAUS NPP MS")
field(LNK2, "$(P)scan1.PAUS NPP MS")
field(LNK3, "$(P)scan2.PAUS NPP MS")
field(LNK4, "$(P)scan3.PAUS NPP MS")
field(LNK5, "$(P)scan4.PAUS NPP MS")
}
record(stringout, "$(P)saveData_comment1") {
field(DTYP, "Soft Channel")
}
record(stringout, "$(P)saveData_comment2") {
field(DTYP, "Soft Channel")
}
record(stringout, "$(P)saveData_fileName") {
field(DTYP, "Soft Channel")
}
record(stringout, "$(P)saveData_fileSystem") {
field(DTYP, "Soft Channel")
}
record(stringout, "$(P)saveData_message") {
field(DTYP, "Soft Channel")
}
record(stringout, "$(P)saveData_subDir") {
field(DTYP, "Soft Channel")
}
record(stringout, "$(P)saveData_baseName") {
field(DTYP, "Soft Channel")
}
record(waveform, "$(P)saveData_config") {
field(DTYP, "Soft Channel")
field(NELM, "1000")
field(FTVL, "CHAR")
}
record(waveform, "$(P)saveData_fullPathName") {
field(DTYP, "Soft Channel")
field(NELM, "100")
field(FTVL, "CHAR")
}
record(sscan, "$(P)scan1") {
field(DESC, "Scan 1")
field(PINI, "YES")
field(PRIO, "HIGH")
field(MPTS, "$(MAXPTS1)")
field(NPTS, "10")
field(FPTS, "NO")
field(FFO, "OVERRIDE")
###
field(P1PV,"RPS1.VAL")
###
field(P1HR, "1")
field(P1PR, "5")
field(P2HR, "1")
field(P2PR, "5")
field(P3HR, "1")
field(P3PR, "5")
field(P4HR, "1")
field(P4PR, "5")
}
record(sscan, "$(P)scan2") {
field(DESC, "Scan 2")
field(PINI, "YES")
field(PRIO, "HIGH")
field(MPTS, "$(MAXPTS2)")
field(NPTS, "10")
field(FPTS, "NO")
field(FFO, "OVERRIDE")
field(T1PV, "$(P)scan1.EXSC")
###
field(P1PV,"RPS1.VAL")
###
field(P1HR, "1")
field(P1PR, "5")
field(P2HR, "1")
field(P2PR, "5")
field(P3HR, "1")
field(P3PR, "5")
field(P4HR, "1")
field(P4PR, "5")
}
record(sscan, "$(P)scan3") {
field(DESC, "Scan 3")
field(PINI, "YES")
field(PRIO, "HIGH")
field(MPTS, "$(MAXPTS3)")
field(NPTS, "10")
field(FPTS, "NO")
field(FFO, "OVERRIDE")
field(T1PV, "$(P)scan2.EXSC")
###
field(P1PV,"RPS1.VAL")
###
field(P1HR, "1")
field(P1PR, "5")
field(P2HR, "1")
field(P2PR, "5")
field(P3HR, "1")
field(P3PR, "5")
field(P4HR, "1")
field(P4PR, "5")
}
record(sscan, "$(P)scan4") {
field(DESC, "Scan 4")
field(PINI, "YES")
field(PRIO, "HIGH")
field(MPTS, "$(MAXPTS4)")
field(NPTS, "10")
field(FPTS, "NO")
field(FFO, "OVERRIDE")
field(T1PV, "$(P)scan3.EXSC")
###
field(P1PV,"RPS1.VAL")
###
field(P1HR, "1")
field(P1PR, "5")
field(P2HR, "1")
field(P2PR, "5")
field(P3HR, "1")
field(P3PR, "5")
field(P4HR, "1")
field(P4PR, "5")
}
record(sscan, "$(P)scanH") {
field(DESC, "Scan H")
field(PINI, "YES")
field(PRIO, "HIGH")
field(MPTS, "$(MAXPTSH)")
field(NPTS, "10")
field(FPTS, "NO")
field(FFO, "OVERRIDE")
field(P1HR, "0")
field(P1PR, "5")
field(P2HR, "0")
field(P2PR, "5")
field(P3HR, "0")
field(P3PR, "5")
field(P4HR, "1")
field(P4PR, "5")
field(ACQT, "1D ARRAY")
}
record(scalcout, "$(P)ScanDimH1") {
field(PINI, "YES")
field(CALC, "(aa['.',-1]=='EXSC') && a")
field(INPA, "$(P)scan1.T1CD CP MS")
field(INAA, "$(P)scan1.T1PV CP MS")
field(OUT, "0")
}
record(scalcout, "$(P)ScanDimH2") {
field(PINI, "YES")
field(CALC, "(aa['.',-1]=='EXSC') && a")
field(INPA, "$(P)scan1.T2CD CP MS")
field(INAA, "$(P)scan1.T2PV CP MS")
field(OUT, "0")
}
record(scalcout, "$(P)ScanDimH3") {
field(PINI, "YES")
field(CALC, "(aa['.',-1]=='EXSC') && a")
field(INPA, "$(P)scan1.T3CD CP MS")
field(INAA, "$(P)scan1.T3PV CP MS")
field(OUT, "0")
}
record(scalcout, "$(P)ScanDimH4") {
field(PINI, "YES")
field(CALC, "(aa['.',-1]=='EXSC') && a")
field(INPA, "$(P)scan1.T4CD CP MS")
field(INAA, "$(P)scan1.T4PV CP MS")
field(OUT, "0")
}
record(longout, "$(P)saveData_maxAllowedRetries") {
field(DTYP, "Soft Channel")
field(HOPR, "9999")
field(DOL, "10")
field(DRVH, "1000000")
}
record(longout, "$(P)saveData_currRetries") {
field(DTYP, "Soft Channel")
field(HOPR, "9999")
}
record(longout, "$(P)saveData_retryWaitInSecs") {
field(DTYP, "Soft Channel")
field(HOPR, "9999")
field(DOL, "15")
field(DRVH, "1000000")
}
record(longout, "$(P)saveData_abandonedWrites") {
field(DTYP, "Soft Channel")
field(HOPR, "9999")
}
record(longout, "$(P)saveData_totalRetries") {
field(DTYP, "Soft Channel")
field(HOPR, "9999")
}
At 2015-04-21 01:36:58, "Goetze, Kurt A." <[email protected]<mailto:[email protected]>> wrote:
Hi Xing Li,
You will know what your macro values should be based on the line that loads the scaler database into your ioc, usually in a startup command file called “st.cmd”. In our case st.cmd loads “vme.cmd”, which contains a line like this:
dbLoadRecords(“$(STD)/stdApp/Db/scaler.db”,”P=xyz:,S=scaler1,OUT=#C0 S0 @,DTYP=Joerger VSC8/16,FREQ=10000000”)
“P=xyz:” and “S=scaler1” are the macro values you care about in this case because they are used in the PV name, and that’s what you’re connecting to with medm.
Hope this helps,
Kurt
From: [email protected]<mailto:[email protected]> [mailto:[email protected]<mailto:[email protected]>] On Behalf Of l123173
Sent: Monday, April 20, 2015 10:18 AM
To: [email protected]<mailto:[email protected]>
Subject: macro value
Hi tech-talk,
computer : linux redhat6.0 3.14.12.1 synApp5.6
I startup the medm with "medm -x -macro "P=xxx:,S=scaler974" /home/bsrf-non/Documents/synApps_5_6/support/all_adl/scaler.adl", but it could connect.
I think it is the macro value, because I copy it from others( I could not contact him )and it worked well before. Recently, I delete the synApp by careless, it did not work evenif I rebuilt the synApp.
I know nothing about how to set the macro value , could you teach me how to know your macro value.
Thanks for you advice!
Thank you,
Xing Li
- References:
- Scan1 already defined? l123173
- Navigate by Date:
- Prev:
Scan1 already defined? l123173
- Next:
RE: Scan1 already defined? 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>
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Scan1 already defined? l123173
- Next:
RE: Scan1 already defined? 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>
2016
2017
2018
2019
2020
2021
2022
2023
2024
|