Hi- while this might be fairly easy to do given the way seq does its
internal bookkeeping, seems to me it would muck up the relatively clean
DFA state-machine model we have now. I've handled cases like you describe
(e.g. an "ABORT" button that allows interrupting a long series of states)
by adding extra intermediate states, as in:
state A
{
entry {
flag = OK;
}
when (<event>) {
if (trouble) flag = BUBU;
} state A_check
}
state A_check
{
when (flag == BUBU) { /* uh oh! */
} state A_abort
when () {
} state B /* next state */
}
The "out-of-order" transitions I mentioned referred to a future debugging
environment, where it might be useful to interactively force a transition
to an arbitrary state.
Mike
-----Original Message-----
From: Tim Mooney [mailto:[email protected]]
Sent: Tuesday, April 04, 2006 5:30 AM
To: Laznovsky, Michael
Cc: [email protected]
Subject: Re: snc/seq enhancements ... local-variable access
Single stepping would be very cool. I'm not sure what you mean by "forced
out-of-order transitions", but it sounds promising.
The improvement I've heard people wish for most is syntax that would allow
them to change the next state from within a when clause. Is this what you
mean, or is this anywhere on the list of planned improvements?
To be clear, I'm thinking it would be nice to be able to write something
like this:
when (<event>) {
if (trouble) nextState = B /* go there after when clause is done */
} state A /* default if 'nextState' is not set */
I've looked at the code to see if this is even a possibility, and aside from
one thing, it does seem achievable. The one thing is that the sequencer sets
up event flags for the next state before it even starts executing a when clause.
I don't know if this is really necessary, though.
--
Tim Mooney ([email protected]) (630)252-5417
Beamline Controls & Data Acquisition Group
Advanced Photon Source, Argonne National Lab.
- Replies:
- Re: snc/seq enhancements ... local-variable access Eric Norum
- Navigate by Date:
- Prev:
Re: Ethernet/IP Device Support and CompactLogix Kay-Uwe Kasemir
- Next:
pvPut() in entry()? Laznovsky, Michael
- 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: snc/seq enhancements ... local-variable access Chestnut, Ronald P.
- Next:
Re: snc/seq enhancements ... local-variable access Eric Norum
- 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
|