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: synchronizing client requests & completions
From: "Peregrine M. McGehee" <[email protected]>
To: "Tim Mooney" <[email protected]>, <[email protected]>, <[email protected]>
Cc: <[email protected]>, <[email protected]>
Date: Thu, 12 Mar 1998 10:12:24 -0000
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  <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: synchronizing client requests & completions Alan K Biocca
Next: Re: synchronizing client requests & completions Peregrine M. McGehee
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 ·