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  2013  2014  <20152016  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  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Read record field in asynDriver
From: Mark Rivers <[email protected]>
To: Vikram Bhagat <[email protected]>, EPICS Tech-Talk <[email protected]>
Date: Mon, 2 Feb 2015 22:36:09 +0000
There is no direct communicaton possible between the NELM field of the waveform record and the asyn driver.  However, it is easy to do using an intermediate longout record, for example:

record(longout,"$(P)$(R)NELM1") {
    field(DOL,  "$(P)$(R)Waveform1.NELM CP MS")
    field(OMSL, "closed_loop")
    field(DTYP, "asynInt32")
    field(OUT,  "@asyn($(PORT),$(ADDR),$(TIMEOUT))WAVEFORM_NELM1")
}

record(longout,"$(P)$(R)NELM2") {
    field(DOL,  "$(P)$(R)Waveform2.NELM CP MS")
    field(OMSL, "closed_loop")
    field(DTYP, "asynInt32")
    field(OUT,  "@asyn($(PORT),$(ADDR),$(TIMEOUT))WAVEFORM_NELM2")
}

These longout records  will process whenever the NELM fields change, including once at iocInit.

They will send the NELM field of the appropriate waveform record to you driver.  You just need to treat the writes with 2 different pasynUser->reason values differently.  If it is the one corresponding to WAVEFORM_NELM1 do one thing, and do something different if it is for WAVEFORM_NELM2.

Mark


From: [email protected] [[email protected]] on behalf of Vikram Bhagat [[email protected]]
Sent: Monday, February 02, 2015 3:12 PM
To: EPICS Tech-Talk
Subject: Read record field in asynDriver

Hello,
    How i can read value of record field in the asynDriver?
In the asynDriver based EPICS driver, i want to set some parameter based on NEML field of waveform record, how it is possible?
One more thing, in my driver i have several waveform records with different asyn reson and each have different value set in NEML.  for each record i have to set configuration parameter differently.

Thanks

Vikram


Replies:
Re: Read record field in asynDriver Ralph Lange
References:
Read record field in asynDriver Vikram Bhagat

Navigate by Date:
Prev: Read record field in asynDriver Vikram Bhagat
Next: Re: epicsRingPointer.h error C2664: 'delete' : cannot convert parameter Johnson, Andrew N.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Read record field in asynDriver Vikram Bhagat
Next: Re: Read record field in asynDriver Ralph Lange
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·