EPICS Controls 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  2020  2021  2022  2023  2024  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  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Handling of a character waveform of 64k elements
From: Ritesh Sugandhi <[email protected]>
To: [email protected]
Cc: Di Maio Franck <[email protected]>
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  2020  2021  2022  2023  2024 
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  2020  2021  2022  2023  2024 
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 ·