Experimental Physics and Industrial Control System
|
Hi Mark,
One way to do conditional execution in an EPICS database is by using the SELM and SELN fields of a seq record. Set SELM to "Specified", and write a number to the SELN field. If you want more than one of several things to happen, you can write "Mask" to SELM,
and write a bitmap value to SELN, specifying which things to do.
Tim Mooney (mooney at anl.gov) (630)252-5417
Beamline Controls Group (www.aps.anl.gov)
Advanced Photon Source, Argonne National Lab
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Mark Davis via Tech-talk <tech-talk at aps.anl.gov>
Sent: Monday, April 27, 2020 10:05 AM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>; John Priller <priller at nscl.msu.edu>
Subject: Tips for doing conditional logic in EPICS records
Hi all,
I am looking for some tips on the best way to implement logic such as
the following using EPICS records:
flag = 1;
for (each new set of readings) {
if (readbackA == fixedVal1) flag = 1; else
if (flag == 1) setVal = readbackB; else
if (readBackC == fixedVal2) setVal = readbackD;
flag = 0;
}
For the initial setting I figured simply a record that includes the
initial value in the VAL field (and PINI set to "Yes"?).
The for "loop" would be simply an FLNK in the record (or last in a
sequence of records) that gets the new readings, triggering the
processing of the the record that handles the 1st if condition (in this
case, I have one record that gets them all at once).
At that point how to best to proceed is not obvious to me, and there are
probably lots of possibilities (A sequence of calcout or scalcout
records? Maybe a transform record?)
Suggestions?
--
Mark Davis
NSCL/FRIB Control Systems Software Engineer
davism50 at msu.edu
|
- Replies:
- Re: Tips for doing conditional logic in EPICS records Ralph Lange via Tech-talk
- References:
- Tips for doing conditional logic in EPICS records Mark Davis via Tech-talk
- Navigate by Date:
- Prev:
Re: Tips for doing conditional logic in EPICS records Mark Rivers via Tech-talk
- Next:
Re: Tips for doing conditional logic in EPICS records Ralph Lange via Tech-talk
- 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: Tips for doing conditional logic in EPICS records Davis, Mark via Tech-talk
- Next:
Re: Tips for doing conditional logic in EPICS records Ralph Lange via Tech-talk
- 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
|
ANJ, 28 Apr 2020 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|