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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Problem when caput to waveform record |
From: | 王林 <[email protected]> |
To: | <[email protected]> |
Date: | Wed, 30 May 2012 17:20:57 +0800 |
Hello All,
My waveform records need to retrieve data from as well as
write data to the hardware, and they contain 2048 float elements, for all
these records, it works well with caget or edm X-Y graph. However,
when I use "caput -a" to put an array of data (specifically more
than 409 elements) to these waveform records, error occurs like this on CAC and
CAS respectively,
CA.Client.Exception...............................................
Warning: "The requested data transfer is greater than available memory or EPICS_CA_MAX_ARRAY_BYTES" Context: "op=1, channel=rcs:cpci9110:wf_wr_1, type=DBR_STRING, count=2048, ctx="CAS: Server unable to load large request message. Max bytes=16408"" Source File: ../oldChannelNotify.cpp line 159 Current Time: Wed May 30 2012 16:57:42.333264000 -> CAS: request from 192.168.206.74:33159 => "CAS:
server unable to load large request message"
CAS: Request from 192.168.206.74:33159 => cmmd=4 cid=0x12 type=0 count=2048 postsize=81920 CAS: Request from 192.168.206.74:33159 => available=0x1 N=0 paddr=0x3bbcc52c The environment variable EPICS_CA_MAX_ARRAY_BYTES on both
CA client and server is 16384, and when I use "caput -a rcs:cpci9110:wf_wr_1
2048 ... list of elements ..." with the list of elements less than or equal
to 409, it works, whereas if the list exceeds 409, the
above error occurs.
One of the waveform records is as follows, and the
envrionment is EPICS-3.14.12.1/vxWorks5.5.1/CPCI-6020,
record(waveform,"rcs:cpci9110:wf_wr_1")
{
field(DTYP,"CPCI9110 WRITE") field(INP,"#C0 S @WF_WR_1") field(NELM,"2048") field(FTVL,"FLOAT") } The following are some related environment
variables,
[cpci@console101 ~]$ printenv | grep
EPICS
EPICS_BASE=/home/cpci/base-3.14.12.1 EPICS_EXTENSIONS=/home/epics/extensions EPICS_HOST_ARCH=linux-x86 EPICS_CA_MAX_ARRAY_BYTES=16384 -> epicsPrtEnvParams
EPICS_AR_PORT: 7002 EPICS_CAS_AUTO_BEACON_ADDR_LIST is undefined EPICS_CAS_BEACON_ADDR_LIST is undefined EPICS_CAS_BEACON_PERIOD is undefined EPICS_CAS_BEACON_PORT is undefined EPICS_CAS_IGNORE_ADDR_LIST is undefined EPICS_CAS_INTF_ADDR_LIST is undefined EPICS_CAS_SERVER_PORT is undefined EPICS_CA_ADDR_LIST is undefined EPICS_CA_AUTO_ADDR_LIST: YES EPICS_CA_BEACON_PERIOD: 15.0 EPICS_CA_CONN_TMO: 30.0 EPICS_CA_MAX_ARRAY_BYTES: 16384 EPICS_CA_MAX_SEARCH_PERIOD: 300.0 EPICS_CA_NAME_SERVERS is undefined EPICS_CA_REPEATER_PORT: 5065 EPICS_CA_SERVER_PORT: 5064 EPICS_CMD_PROTO_PORT is undefined EPICS_IOC_LOG_FILE_COMMAND is undefined EPICS_IOC_LOG_FILE_LIMIT: 1000000 EPICS_IOC_LOG_FILE_NAME is undefined EPICS_IOC_LOG_INET is undefined EPICS_IOC_LOG_PORT: 7004 EPICS_TIMEZONE: CUS::360:031302:110602 EPICS_TS_NTP_INET is undefined IOCSH_HISTSIZE: 50 IOCSH_PS1: epics> How should I solve this problem?
Thanks,
Lin Wang
|