Hi
The attached C file is a snippet from a Qt project. In the project there was a function that writes values to many PVs in a loop. What was happening is that some PVs do not get their
new value updated immediately but after 3 or 4 seconds. The code shows a similar behavior, two consecutive "ca_put" calls, and the same behavior occurs. I double-checked the database (included in the comments) but there is nothing wrong. I tried to use ca_context_
or ca_task_ but the project crashes maybe because the QE framework is already handling low-level CA. What am I missing here?
Another two questions came up:
1.
What is the difference between ca_task_initialize and ca_context_create?
2.
What is the difference between request types (DBR_) and field types (DBF_)?
P.S.: We are using Base 3.15.6
Best Regards,
Abdalla Ahmad
Control Engineer
SESAME
Allan, Jordan.
Tel: (+962-5) 3511348 , ext. 265
Fax: (+962-5) 3511423
Mob: (+962-7)88183296
www.sesame.org.jo
|
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <cadef.h>
int main()
{
srand(time(0));
double v1 = ((rand() % 100) / 10.0) * 1E-7;
double v2 = ((rand() % 100) / 10.0);
chid pvID1;
chid pvID2;
ca_task_initialize();
ca_search("Analog_1", &pvID1);
ca_pend_io(1);
ca_put(DBR_DOUBLE, pvID1, &v2);
ca_search("Analog_2", &pvID2);
ca_pend_io(1);
ca_put(DBR_DOUBLE, pvID2, &v2);
ca_task_exit();
}
/*
record(ai, "Analog_1")
{
field(PINI, "YES")
field(VAL, "11.44")
field(PREC, "2")
}
record(ai, "Analog_2")
{
field(PINI, "YES")
field(VAL, "5E-8")
field(PREC, "2")
}
*/
- Replies:
- Re: Questions about channel access C API programming Wang Xiaoqiang via Tech-talk
- Re: Questions about channel access C API programming Johnson, Andrew N. via Tech-talk
- Navigate by Date:
- Prev:
Re: Basic PVAccess question will.rogers--- via Tech-talk
- Next:
Re: Basic PVAccess question Marty Kraimer via Tech-talk
- 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:
The scope they are using is a Tektronix DPO 4104 Luchini, Kristi L. via Tech-talk
- Next:
Re: Questions about channel access C API programming Wang Xiaoqiang via Tech-talk
- 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
|