#!../../bin/linux-x86_64/sinModbus
< envPaths
epicsEnvSet("IOC","iocsinModbus")
epicsEnvSet("TOP","/home/iocusr/sinModbus")
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", 5064)
#epicsEnvSet("IOCNAME","sinModbus")
## Register all support components
dbLoadDatabase "../../dbd/sinModbus.dbd"
sinModbus_registerRecordDeviceDriver pdbbase
#asynReport(10,"CAT1")
# Configure IP port
drvAsynIPPortConfigure("CAT1","192.168.1.163:8055",0,0,1)
# Configure modbus
modbusInterposeConfig("CAT1",0,2000,0)
drvModbusAsynConfigure("AI1R","CAT1",0,3,0010,2,0,100,"CAT")
#cd "${TOP}/iocBoot/${IOC}"
dbLoadRecords "../../db/dbpdu.db", "DEVNAME=TEST"
iocInit
Starting iocInit
############################################################################
## EPICS R7.0.5
## Rev. 2021-09-13T15:44+0800
############################################################################
drvStreamInit: Warning! STREAM_PROTOCOL_PATH not set. Defaults to "."
sevr=info s7plcInit: no stations configured
iocRun: All initialization complete
dbl
TEST:IN1
epics> 2021/09/24 18:14:37.388 drvModbusAsyn::doModbusIO port AI1R error calling writeRead, error=192.168.1.163:8055 timeout: Resource temporarily unavailable, nwrite=6/6, nread=0
After I typing asynReport 1,the complete output is as follows:
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 0 exceptionNotifys 0
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
Port 192.168.1.163:8055: Connected
AI1R multiDevice:Yes canBlock:Yes autoConnect:Yes
enabled:Yes connected:Yes numberConnects 1
nDevices 1 nQueued 0 blocked:No
asynManagerLock:No synchronousLock:No
exceptionActive:No exceptionUsers 0 exceptionNotifys 0
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
addr 0 autoConnect Yes enabled Yes connected Yes exceptionActive No
exceptionActive No exceptionUsers 0 exceptionNotifys 0
blocked No
traceMask:0x1 traceIOMask:0x0 traceInfoMask:0x1
modbus port: AI1R
initialized: true
asynOctet server: CAT1
modbusSlave: 0
modbusFunction: 3
modbusStartAddress: 010
modbusLength: 02
absoluteAddressing: false
dataType: 0 (INT16)
plcType:
I/O errors: 9
Read OK: 0
Write OK: 0
pollDelay: 0.100000
Time for last I/O 0 msec
Max. I/O time: 0 msec
Time per hist. bin: 1 msec
Port: AI1R
Timestamp: <undefined>
Input EOS[0]:
Output EOS[0]:
Parameter list 0
Number of parameters is: 12
Parameter 0 type=asynInt32, name=MODBUS_DATA, value is undefined
Parameter 1 type=asynInt32, name=MODBUS_READ, value is undefined
Parameter 2 type=asynUInt32Digital, name=ENABLE_HISTOGRAM, value is undefined
Parameter 3 type=asynInt32, name=READ_HISTOGRAM, value is undefined
Parameter 4 type=asynInt32, name=HISTOGRAM_BIN_TIME, value is undefined
Parameter 5 type=asynInt32Array, name=HISTOGRAM_TIME_AXIS, value is undefined
Parameter 6 type=asynFloat64, name=POLL_DELAY, value is undefined
Parameter 7 type=asynInt32, name=READ_OK, value=0, status=0
Parameter 8 type=asynInt32, name=WRITE_OK, value=0, status=0
Parameter 9 type=asynInt32, name=IO_ERRORS, value=9, status=0
Parameter 10 type=asynInt32, name=LAST_IO_TIME, value=0, status=0
Parameter 11 type=asynInt32, name=MAX_IO_TIME, value=0, status=0
epics>