EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Initialising an ao record from a constant DOL
From: David Maden <[email protected]>
To: [email protected]
Date: Fri, 23 Apr 2004 17:20:31 +0200
I'm afraid that I haven't been following this discussion too closely, so maybe I've missed a significant point. Sorry, if so ...

I have lots of ao records which are restored at boot time via the flavour of bumpless restart called, I believe, autoSaveRestore, which I obtained from Frank Lenkszus at APS. The ao records have DOL set to "CONSTANT" and and SCAN to "Passive". The values are restored in the second pass of the restore operation at a point which, according to the comments in the code, achieve the following:

   /*
    * restore fields that init_record() would have overwritten with
    * info from the dol (desired output location).
    */

If one wanted to set the ao to a given value at boot time, one would then simply use the autoRestore part of the package with a fixed save file and not turn on the autoSave part for the channels in question.

Maybe, though, this "ornlSerial" DTYP is more idiosyncratic than our straightforward ipac DAC cards.

David Maden
--
                               [email protected]
     _/_/_/   _/   _/_/_/     Beamline Control Group, SLS Project
    _/       _/   _/         Paul Scherrer Institute
     _/_/   _/     _/_/     CH-5232 Villigen-PSI
        _/ _/         _/   Tel: +41 56 310 3616
   _/_/_/ _/_/_/ _/_/_/   Fax: +41 56 310 3294

--------------------------------

Bob Dalesio wrote:
As I recall, the analog output record does a read on initialization. This is required to support a bumpless reboot on hardware that was cleaver enough not to drive the value to 0 during a sysReset. As a result, the value field would be written over by whatever value is returned from the device support on initialization. It sounds like we need an option for not reading the value on reboot.
Bob



On Fri, 23 Apr 2004 14:37:23 +0100 "Owens, PH (Peter)" <[email protected]> wrote:

Yes, I tried that.
and also setting the VAL field.

I have also attempted to initialise the record from
the value read back from the device - but unfortunately that doesn't work either as the input is asynchronous.


Pete.


Dear Pete;


Have you try to use closed_loop mode with constant DOL such as the
following.

record(ao, "$(device):SETSIZE") {
    field(DESC, "Pump Size")
    field(DTYP, "ornlSerial")
    field(OUT,  "@digitel mpc size p=1 u=$(port) m=$(unit) p1=$(pump)")
    field(PINI, "YES")
    field(DOL,  "100.0")
    field(OMSL, "closed_loop")
    field(EGU,  "l/s")
    field(DRVL, "0.0")
    field(DRVH, "1200.0")
    field(LOPR, "0.0")
    field(HOPR, "1200.0")
    field(PREC, "0")
}

-------------------------------

Kukhee Kim
Instrument & Control, KSTAR
Korea Basic Science Institute
52 Yeoeun-dong, Yusung-gu, Daejeon 305-333
Korea
Email: [email protected]
Tel: +82 42 870 1616     Fax: +82 42 870 1609      Cell: +82 17 513 4849




-----Original Message-----
From: Owens, PH (Peter) [mailto:[email protected]] Sent: Saturday, April 17, 2004 12:11 AM
To: [email protected]
Subject: Initialising an ao record from a constant DOL


I'm trying to initialise an analog output record
by putting a constant in the DOL field (see below).

But the VAL field gets set to zero rather than 100.
The record does process and outputs this zero.

I can work around this by Initialising from another record
using clsed loop mode but it does seem to be a bit of a cludge
(see commented out lines).

What am I doing wrong?

record(ao, "$(device):SETSIZE") {
    field(DESC, "Pump Size")
    field(DTYP, "ornlSerial")
    field(OUT,  "@digitel mpc size p=1 u=$(port) m=$(unit) p1=$(pump)")
    field(PINI, "YES")
    field(DOL,  "100.0")
#    field(DOL,  "$(device):INITSIZE")
#    field(OMSL, "closed_loop")
    field(EGU,  "l/s")
    field(DRVL, "0.0")
    field(DRVH, "1200.0")
    field(LOPR, "0.0")
    field(HOPR, "1200.0")
    field(PREC, "0")
}
record(ai, "$(device):INITSIZE") {
    field(VAL, "200.0")
}

Pete
---------------------------------------
mailto:[email protected]
phone:+44 (0)1925 603974
fax:    +44 (0)1925 603124

CLRC
Daresbury Laboratory
Keckwick Lane
Warrington
WA4 4AD
UK




Bob Dalesio [email protected] 410 557 0297 Maryland 505 699 1632 Cell Phone


References:
Re: Initialising an ao record from a constant DOL Bob Dalesio

Navigate by Date:
Prev: Re: Initialising an ao record from a constant DOL Andrew Johnson
Next: EPICS collaboration meeting presentations Bob Dalesio
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Initialising an ao record from a constant DOL Bob Dalesio
Next: RE: Initialising an ao record from a constant DOL Owens, PH (Peter)
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  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 ·