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  2011  2012  2013  2014  2015  2016  <2017 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
<== Date ==> <== Thread ==>

Subject: Channel Access client sees only partial update.
From: Michael Huth <michael.huth@byte-physics.de>
To: tech-talk@aps.anl.gov
Date: Tue, 6 Jun 2017 20:15:24 +0200
Hello,

I'am quite new to Epics and ran into an issue where I could use a hint
how to solve it:

I have an IOC driver based on the area detector driver that should be
extended for the transfer of a large data set from another source.

So I setup a Record for it like this:
record(waveform, "$(P)$(R)Data")
{
    field(PINI, "0")
    field(DTYP, "asynInt8ArrayIn")
    field(INP,  "@asyn($(PORT),$(ADDR),$(TIMEOUT))DATA")
    field(FTVL, "CHAR")
    field(NELM, "$(SIZE_DATA_BLOCK)")
    field(SCAN, "I/O Intr")
}

In the main thread of the IOC I split the large data set into smaller
blocks and have a loop that calls

doCallbacksInt8Array(blockPtr , block_size, Data, 0);

for each block to transfer the blocks to the data base.

In a second process a channel access client is subscribed with
ca_create_subscription to 'DATA'.

The issue is that the client receives only the last block from each loop
of the IOC driver thread.

I guess I have to wait somehow until the database processing has
finished after each block?!?

Best regards,
Michael Huth

-- 
() byte physics
    Dr. Michael Huth
    Software-Developer

Company CEO: Thomas Braun
Address:     Schwarzastraße 9, 12055 Berlin, Germany
Web:         www.byte-physics.de
Telephone:   +49 (0)30/52 68 23 22
Fax:         +49 (0)30/52 68 43 26
USt-IdNr:    DE276717536

Replies:
RE: Channel Access client sees only partial update. Mark Rivers

Navigate by Date:
Prev: Re: How to deal with LINK_ALARM Ralph Lange
Next: RE: Channel Access client sees only partial update. Mark Rivers
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
Navigate by Thread:
Prev: Re: How to deal with LINK_ALARM Ralph Lange
Next: RE: Channel Access client sees only partial update. Mark Rivers
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
ANJ, 06 Jun 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·