Tim,
The Command Action Response (CAR) record implements a simple state machine
that transitions within the states IDLE,BUSY, PAUSED,ERROR. Quoting from
the RECORDS.INFO file included in the distribution:
The CAR record implements a state machine which reflects the status of
ongoing actions, which have started as a result of commands running in the
system. Typically, a single CAR record would be associated with a mechanism
within the system.
The state machine will move from IDLE, when the mechanism is not moving, to
BUSY when it is active. If an error occurs during the action, the CAR
status moves to ERROR to reflect this. It is the job of the database
designer to put the CAR into the correct state to reflect the ongoing
actions.
In a typical database, there will be a single CAR record, associated with
the APPLY record, which is at the top of a hierarchy of CAR's that describe
the system. Thus, all the commands in a configuration will have been
performed when this highest CAR record has moved from: IDLE->BUSY->IDLE.
<endquote>
To determine the collective state of a group of mechanisms, I took
advantage of the implementation of these states as an enumerated type with
(IDLE<BUSY<PAUSED<ERROR). I simply take the maximum numerical value of all
CAR record states as the collective state.
For real applications I did not use database constructs to update the CAR
record states - rather I utilized SNC programs to assertain the current
state by examining the relationships between low-level I/O channels.
Although in retrospect most of these tests could have been done using CALC
records.
The URL http://www.atdiv.lanl.gov/aot8/LEDA/automation/index.html contains
references to more detailed information.
Aloha,
Peregrine
Peregrine M. McGehee Project Engineer: LEDA Control System
(505) 667-3273 [email protected]
LANSCE-8 Controls & Automation Los Alamos National Laboratory
- Navigate by Date:
- Prev:
Re: EPICS experiences witn M68060 boards Alan K Biocca
- Next:
Re: synchronizing client requests & completions Peregrine M. McGehee
- 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:
synchronizing client requests & completions Alan K Biocca
- Next:
Re: synchronizing client requests & completions Peregrine M. McGehee
- 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
|