Hi,
I am trying to use StreamDevice on debian system to control device, the device is universal frequency counter/timer.
When I execute the st.cmd file,it shows no error, but when I type caget, it shows pv name not found:
#!../../bin/linux-x86_64/sd
< envPaths
epicsEnvSet("IOC","iocsd")
epicsEnvSet("TOP","/home/iocusr/sd")
epicsEnvSet("MODULES","/opt/epics/base/../modules")
epicsEnvSet("AUTOSAVE","/opt/epics/base/../modules/autosave-R5-7-1")
epicsEnvSet("ASYN","/opt/epics/base/../modules/asyn-R4-41")
epicsEnvSet("BUSY","/opt/epics/base/../modules/busy-1-6-1")
epicsEnvSet("CALC","/opt/epics/base/../modules/calc-R3-7-4")
epicsEnvSet("CAPUTLOG","/opt/epics/base/../modules/caPutLog-3-5")
epicsEnvSet("IOCSTATS","/opt/epics/base/../modules/iocStats-3-1-16")
epicsEnvSet("MODBUS","/opt/epics/base/../modules/modbus-R3-2")
epicsEnvSet("NETDEV","/opt/epics/base/../modules/netDev-1-0-6")
epicsEnvSet("PC-MONITOR","/opt/epics/base/../modules/PC-MONITOR1-0-2")
epicsEnvSet("PROCSERVCONTROL","/opt/epics/base/../modules/procServControl-1-9")
epicsEnvSet("S7NODAVE","/opt/epics/base/../modules/s7nodave-2-1-3")
epicsEnvSet("S7PLC","/opt/epics/base/../modules/s7plc")
epicsEnvSet("SSCAN","/opt/epics/base/../modules/sscan-2-10")
epicsEnvSet("STREAM","/opt/epics/base/../modules/StreamDevice-2-8-9")
epicsEnvSet("SNCSEQ","/opt/epics/base/../modules/seq-2-2-6")
epicsEnvSet("EPICS_BASE","/opt/epics/base")
epicsEnvSet("EPICS_CA_SERVER_PORT", 5068)
epicsEnvSet("IOCNAME","sd")
cd "/home/iocusr/sd"
dbLoadDatabase "dbd/sd.dbd"
sd_registerRecordDeviceDriver pdbbase
dbLoadRecords "db/sd.db", "user=sd"
drvAsynIPPortConfigure("CAT1","169.254.2.30:5025",0,0,1)
epicsEnvSet("STREAM_PROTOCOL_PATH", ".:../../db")
cd "/home/iocusr/sd/iocBoot/iocsd"
iocInit
Starting iocInit
sevr=info s7plcInit: no stations configured
iocRun: All initialization complete
epics> dbl
sd:xh
caget sd:xh
Channel connect timed out: 'sd:xh' not found.
epics> asynReport 1
CAT1 multiDevice:No canBlock:Yes autoConnect:Yes
enabled:Yes connected:Yes numberConnects 1
nDevices 0 nQueued 0 blocked:No
asynManagerLock:No synchronousLock:No
exceptionActive:No exceptionUsers 1 exceptionNotifys 0
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
Port 169.254.2.30:5025: Connected
The db files is as follows:
record(ai, "$(user):xh") {
field(DTYP, "stream")
field(SCAN, "1 second")
field(INP, "@sd.proto DEVICENAME CAT1")
}
The proto files is as follows:
DEVICENAME{
out "*IDN?";
in "%f";
}
The output of the epicsPrtEnvParams command at the IOC prompt is as follows:
epicsPrtEnvParams
EPICS_CA_ADDR_LIST: 169.254.2.30:5068
EPICS_CA_CONN_TMO: 30.0
EPICS_CA_AUTO_ADDR_LIST: NO
EPICS_CA_REPEATER_PORT: 5065
EPICS_CA_SERVER_PORT: 5068
EPICS_CA_MAX_ARRAY_BYTES: 16384
EPICS_CA_AUTO_ARRAY_BYTES: YES
EPICS_CA_MAX_SEARCH_PERIOD: 300.0
EPICS_CA_NAME_SERVERS is undefined
EPICS_CA_MCAST_TTL: 1
EPICS_CAS_INTF_ADDR_LIST is undefined
EPICS_CAS_IGNORE_ADDR_LIST is undefined
EPICS_CAS_AUTO_BEACON_ADDR_LIST is undefined
EPICS_CAS_BEACON_ADDR_LIST is undefined
EPICS_CAS_SERVER_PORT is undefined
EPICS_CA_BEACON_PERIOD: 15.0
EPICS_CAS_BEACON_PERIOD is undefined
EPICS_CAS_BEACON_PORT is undefined
EPICS_BUILD_COMPILER_CLASS: gcc
EPICS_BUILD_OS_CLASS: Linux
EPICS_BUILD_TARGET_ARCH: linux-x86_64
EPICS_TZ: CST6CDT,M3.2.0/2,M11.1.0/2
EPICS_TS_NTP_INET is undefined
EPICS_IOC_IGNORE_SERVERS is undefined
EPICS_IOC_LOG_PORT: 7004
EPICS_IOC_LOG_INET is undefined
EPICS_IOC_LOG_FILE_LIMIT: 1000000
EPICS_IOC_LOG_FILE_NAME is undefined
EPICS_IOC_LOG_FILE_COMMAND is undefined
IOCSH_PS1: epics>
IOCSH_HISTSIZE: 50
IOCSH_HISTEDIT_DISABLE is undefined
epics>
The output of theprintenv | grep EPICS command at the shell prompt where running caput is as follows:
printenv | grep EPICS
EPICS_CA_ADDR_LIST=169.254.2.30:5068
EPICS_HOST_ARCH=linux-x86_64
EPICS_CA_AUTO_ADDR_LIST=NO
EPICS_BASE=/opt/epics/base
The description of the command of *IDN? is in the attachment.
I don't know what's wrong, how can I solve this problem?
Thanks,
Xiaomin