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  <20112012  2013  2014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: Handling of a character waveform of 64k elements
From: Ritesh Sugandhi <ritesh.sugandhi@gmail.com>
To: tech-talk@aps.anl.gov
Cc: Di Maio Franck <Franck.DiMaio@iter.org>
Date: Thu, 28 Apr 2011 10:51:33 +0200
Dear Sir,

I am running a code on 64 bit machine using pyepics library version 3.1.1 and python 3.2. I am putting 64k elements character array and reading it back. the output gives following error :

The EPICS_CA_MAX_ARRAY_BYTES is assigned to 65536.

Output::
=======
Traceback (most recent call last):

  File "dev/pydev/pyepics-v3.1-demo-waveform-char-2k.py", line 12, in <module>

    main()

  File "dev/pydev/pyepics-v3.1-demo-waveform-char-2k.py", line 7, in main

    pv.put(newval,wait=True)

  File "/home/ITER/sugandr/Python-2.6.6/lib/python2.6/site-packages/epics/pv.py", line 216, in put

    callback_data=callback_data)

  File "/home/ITER/sugandr/Python-2.6.6/lib/python2.6/site-packages/epics/ca.py", line 360, in wrapper

    return fcn(*args, **kwds)

  File "/home/ITER/sugandr/Python-2.6.6/lib/python2.6/site-packages/epics/ca.py", line 935, in put

    PySEVCHK('put', ret)

  File "/home/ITER/sugandr/Python-2.6.6/lib/python2.6/site-packages/epics/ca.py", line 372, in PySEVCHK

    raise CASeverityException(func_name, message(status))

epics.ca.CASeverityException:  put returned 'Invalid element count requested'

The code is given below:
===================
from epics import *
def main():
    pv = PV('Py:char64k')
    newval=[]
    #65 is unicode for 'a'
    for i in range(65536): newval.append(65)
    pv.put(newval,wait=True)
    print('total values are',pv.count)
    print('value representation:',pv.get())
    print('total values are',pv.count)
    print('string representation',pv.get(as_string=True))
main()

While the same code with 2048 elements gives the proper output.

Thanks and Best regards,

Ritesh Sugandhi



Replies:
Re: Handling of a character waveform of 64k elements Matt Newville

Navigate by Date:
Prev: Re: Handle leak in Channel Access Server V4.13 (current EPICS base) - WinXP Carsten Winkler
Next: regarding CaChannel v1.6 handling of dynamic subarrays Ritesh Sugandhi
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: [Fwd: Re: Large number of sequencers running per soft IOC under Linux: Kernel becomes unresponsive] Maren Purves
Next: Re: Handling of a character waveform of 64k elements Matt Newville
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·