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
<2007>
2008
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
<2007>
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|