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  2011  2012  <20132014  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  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: ai records: pool (SCAN) VS pull (FLNK) VS push (some examples)
From: Mark Rivers <[email protected]>
To: "'Benoit'" <[email protected]>, EPICS mailing list <[email protected]>
Date: Tue, 10 Dec 2013 18:30:16 +0000

Is the database you sent incomplete?  You have

 

            field(FLNK,"$(user):AllInterlocksRdbk") #or field(FLNK,"$(user):AllInterlocksRdbk.VAL PP") 

 

but I don’t see the record $(user):AllInterlocksRdbk in the database, only "$(user):AllInterlocks.

 

Also, if you are going to put a field in a FLNK it should not be the .VAL field, but rather the .PROC field, i.e.

 

    field(FLNK,"$(user):AllInterlocksRdbk.PRO PP") 

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of Benoit
Sent: Tuesday, December 10, 2013 11:30 AM
To: EPICS mailing list
Subject: ai records: pool (SCAN) VS pull (FLNK) VS push (some examples)

 

Hi everybody,

 

I've been looking to obtain concrete examples of the following post: http://www.aps.anl.gov/epics/tech-talk/2012/msg02557.php in order to retrieve my data

 

I think I get it well for 

  • pool: scan every 5 seconds the value of TempActRdbk
  • push: getting the value of CtrlManualStat read register when CtrlManualCmd write register is updated (this is done in the asynDriver).

However, I don't manage to use the forward link so that when I write in  CtrlManualCmd I want to obtain an updated value of AllInterlocks.

Can someone tell me how to perform, and what I am doing wrong in the use of FLNK:

 

 

record(bo, "$(user):CtrlManualCmd")
{
        field(DTYP ,"asynInt32")
        field(OUT  ,"@asyn($(PORT),$(ADDR),$(TIMEOUT))Ctrl_Manual")
}
record(bi, "$(user):CtrlManualStat")
{
        field(DTYP ,"asynInt32")
        field(INP  ,"@asyn($(PORT),$(ADDR),$(TIMEOUT))Ctrl_Manual")
        field(SCAN ,"I/O Intr")
        field(FLNK,"$(user):AllInterlocksRdbk") #or field(FLNK,"$(user):AllInterlocksRdbk.VAL PP") 
}
record(ai, "$(user):AllInterlocks")
{
        field(DTYP ,"asynInt32")
        field(INP  ,"@asyn($(PORT),$(ADDR),$(TIMEOUT))Ilk_All")
        field(SCAN ,"I/O Intr")
}
record(ai, "$(user):TempActRdbk")
{
        field(DTYP ,"asynInt32")
        field(INP  ,"@asyn($(PORT),$(ADDR),$(TIMEOUT))temp_act")
        field(SCAN ,"5 second")
}


--
Benoit RAT


Replies:
Re: ai records: pool (SCAN) VS pull (FLNK) VS push (some examples) Benoit
Re: ai records: pool (SCAN) VS pull (FLNK) VS push (some examples) Andrew Johnson
References:
ai records: pool (SCAN) VS pull (FLNK) VS push (some examples) Benoit

Navigate by Date:
Prev: ai records: pool (SCAN) VS pull (FLNK) VS push (some examples) Benoit
Next: Re: ai records: pool (SCAN) VS pull (FLNK) VS push (some examples) Benoit
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: ai records: pool (SCAN) VS pull (FLNK) VS push (some examples) Benoit
Next: Re: ai records: pool (SCAN) VS pull (FLNK) VS push (some examples) Benoit
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·