Experimental Physics and Industrial Control System
Hi ,all:
When I use aSubRecord record to do some process, It was found that write
operation is not being done until myAsubProcess() finish.Is there some
way to overcome it?
here is a description of my situation:
db:
record(aSub,"asub")
{
field(INAM,"myAsubInit")
field(SNAM,"myAsubProcess")
field(FTA,"DOUBLE")
field(NOA,"1")
field(INPA,"test4 CA")
field(FTVA,"DOUBLE")
field(NOVA,"1")
field(OUTA,"test1 CA")
field(FTVB,"DOUBLE")
field(NOVB,"1")
field(OUTB,"test2 CA ")
}
dbSubExample.cpp:
static long myAsubProcess(aSubRecord *precord)
{
if (mySubDebug)
printf("Record %s called myAsubProcess(%p)\n",
precord->name, (void*) precord);
printf(" begin process\n");
double* p1=(double*)precord->vala;
p1[0]=20;
printf(" write vala 1 to 20 complete....\n");
double* p2=(double*)precord->a;
printf(" read from a :%lf\n complete",p2);
printf(" end process\n");
return 0;
}
I found that When I doing dbpf asub.PROC 1 in iocshell,
the first output value (test1) is not changed until the process finished.
but in some application ,I need to write some pv and read it again to
decide what is need to do next.
Is there some suggestions?
Thanks a lot
Best Regards
wantianmin
SSRF
- Replies:
- Re: question about aSubRecord Tim Mooney
- Navigate by Date:
- Prev:
Re: RE: Build EPICS Base3.14.9 on Windows åçä
- Next:
RE: New StreamDevice version Craig.Haskins
- 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
- Navigate by Thread:
- Prev:
Re: CSS/Trend and small numbers Kasemir, Kay
- Next:
Re: question about aSubRecord Tim Mooney
- 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