EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  <19981999  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  Index 1994  1995  1996  1997  <19981999  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 
<== Date ==> <== Thread ==>

Subject: Re: new record support
From: [email protected] (Tim Mooney)
To: [email protected]
Date: Thu, 22 Jan 1998 17:16:31 -0600
re...

> 	I'm working on a download for svx IIe chips here at Fermilab.  The
> chips communicate with the outside world through a port card that sits in
> a 10 U/vme64 crate.   When I download the chips, I write to a register 
> on the port card 15 parameters.  Once all of these parameters have been
> downloaded, I write a command to the port to indicate that I've download
> all of the parameters and it can then download that information to each of
> the svx chips.   
> 
> 	I seek some advise on how to code this problem with epics.  I can
> have a number of generic vmeRecords, one for each of the parameters and a
> record to tell the port card to "download chips".   The order is important
> and I would prefer not to do code the download this way, as it would be
> easy for users to change the order of the download.  
> 
> 	I would prefer to have a single record for the download.  However,
> I'm not sure how this fits into epics.  I would like the users to perform  
> caputs for each of the parameters.  After all of the parameters have been
> filled (each would have a field in the record), the user performs 
> another caput to indicate that all of the parameters 
> have been filled and the record can process by writing to the
> proper vme addresses.   This is where I'm not sure how this fits into
> epics.  I only want the record to process (write to port card) once, even
> while I am performing caputs -- which as I understand causes the record to
> process.
> 
> 	I doubt that this is the first time a problem such as this has
> been encountered and I would appreciate any advise as to how to best
> approach this problem.  

Well, everybody has their favorite tools.  I think I'd use 15 AO (or LO or
whatever) records to hold and limit check the parameters, and two SEQ records
to grab the parameters in order and shove them all into a single generic VME
record which writes them to the hardware.

This solution doesn't defend against the user causing the parameter values to
be written to hardware before all have been defined.  (It would be possible
with more records to disable the 15-parameter put operation until all 15 AO's
had been written at least once.  Otherwise you probably have to ensure the
database boots up with legal values.)  This solution also doesn't give you any
simple way of doing complicated parameter checks.

Tim Mooney

Replies:
Re: new record support Maren Purves

Navigate by Date:
Prev: Re: new record support Steve Lewis
Next: Re: new record support Maren Purves
Index: 1994  1995  1996  1997  <19981999  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: new record support Steve Lewis
Next: Re: new record support Maren Purves
Index: 1994  1995  1996  1997  <19981999  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 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·