EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  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  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: AAI and AAO Record support
From: Steven Hartman <[email protected]>
To: David Dudley <[email protected]>
Cc: EPICS tech-talk <[email protected]>
Date: Thu, 1 Feb 2007 10:51:18 -0500 (EST)
There are a lot of ways to solve any problem using EPICS, but here's my
recommendations based on my experience. . .

On Thu, 1 Feb 2007, David Dudley wrote:
> Is there any documentation on the AAI and AAO records?

I think the aai and aao are pretty much deprecated, but you should be able
to find them in an EPICS Record Reference Manual.

> do I need to write special device support for Waveform?

Most likey, yes.

> Also, even if I generate whatever is needed for Waveform records for
> input, how do I manage output?

Althought the waveform is on input record, you can use it for output
without modification (although your ouptut will be specified in the INP
field since there is no OUT field.) Or you can modify the waveform record
to make your own waveout record. Someone has done this, but it is not part
of base.

> I don't see any way to do tests with the database.  I have a need to do
> things like "read an input - Test for a value - output a trigger if
> true", as a simple grouping.

Look at the calcout record. From the record reference manual:

"The Calculation Output or "Calcout" record is similar to the Calc record
with the added feature of having outputs (an "output link" and an "output
event") which are conditionally executed based on the result of the
calculation. This feature allows conditional branching to be implemented
within an EPICS database"

> Finally, I don't see any way to do 'discrete PID' controls.

Look for the PID or EPID record, but I'm not sure if they do discrete
(I've never needed this). If not, you may need to roll your own or have a
few intermediate records to handle this.

> 1. Multiplex a input array into a single value

Use the subarray record.

> IF or other conditional test block (if condition meets criteria, do
> FWDLNK, else don't)

calcout record, but rather then FLNK, use the output field.

> PID Control with Discrete output controls (jog
> up/jog down, for PID Control).

PID or EPID, but may need an intermediate ao record with the OIF field set
to incremental. (I haven't done anything like this before.)

> DB Log command to output current value to a database point.

Not sure what you mean here, but maybe one of the host based snap shot
tools (burt, save/restore, etc)?

> Also, is there any structure built into the system to provide a 'orderly
> startup / orderly shutdown' operation?

Orderly shutdown is not so easy. But you can start up in a known state. In
your db, put initial value in VAL or DOL and PINI. Use PHAS if you need
to. Or you can use a save/restore snapshot tool to periodically save
values to a file and restore after a restart.

> Lastly, do most IOC's have the SEQUENCER software incorporated in them?

Only when necessary. You can do quite a bit with the database. I only
resort to the sequencer when I have a fairly complex relationship which
fits well with the sequencer / state machine.


My personal preference is to do as much in the Db as possible (and I have
some very complex databases to show for it). Others may use sequencers or
IOC subroutines or host based tools, instead.

-- 
Steve Hartman
[email protected] || 919-660-2650
Duke Free Electron Laser Laboratory

Replies:
Re: AAI and AAO Record support Korhonen Timo
References:
AAI and AAO Record support David Dudley

Navigate by Date:
Prev: Re: AAI and AAO Record support Ralph Lange
Next: Re: AAI and AAO Record support Korhonen Timo
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: AAI and AAO Record support Ralph Lange
Next: Re: AAI and AAO Record support Korhonen Timo
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·