Experimental Physics and Industrial Control System
|
Steven,
That “HIGH” field is so fantastic and the perfect solution! Thanks to both you and Mark for your support and for pointing me down the best path for this particular challenge.
For posterity in anyone running across this forum message later, this convenient solution of forcing a binary output back to zero using the HIGH field is documented in the “EPICS Component Reference Manual” of the latest release, e.g. https://epics.anl.gov/base/R7-0/8-docs/boRecord.html
“… HIGH implements a latched output which changes the state of the device or link to 1, then changes it back to 0 after
N number of seconds.”
-Scott
From: Hartman, Steven <hartmansm at ornl.gov>
Sent: Friday, January 5, 2024 4:29 PM
To: Feister, Scott <scott.feister at csuci.edu>
Cc: tech-talk at aps.anl.gov
Subject: Re: [EXTERNAL] Representing stateless device commands?
CAUTION: This email originated from outside of CSUCI. Do not click links or open attachments
unless you validate the sender and know the content is safe. Contact ITS if you have any concerns
Check the EPICS Record Reference documentation for details on the binary output record. It has a field “HIGH” which specifies the time in seconds for the BO record to remain asserted before resetting itself to zero automatically.
Thanks Steven and Mark, for your welcoming and helpful responses.
I have the streamDevice proto files written, and am at the point where I’m wondering if there’s an easy way to capture what Steven is suggesting – forcing the PV back to zero immediately after the RS232 command “IncreaseBrightness” has
been sent, such that the state of the binary PV “MYLED:IncreaseBrightness” represents whether we are “in process” of “Increasing Brightness”?
Here’s what I have in mind as far as sequence:
-
“MYLED:IncreaseBrightness” is 0, its regular state.
-
I invoke “caput MYLED:IncreaseBrightness 1”, changing the PV from 0 to 1.
-
StreamDevice follows its protocol for processing a change in the PV, and sends an RS232 message of “IncreaseBrightness” to the device. StreamDevice awaits no reply, as the device gives none.
-
[Somehow?] “MYLED:IncreaseBrightness” is now automatically forced back to 0.
I have steps 1-3 under control with StreamDevice, so I’m wondering about best practices to implement Step 4.
Thanks!
Scott
CAUTION: This email originated from outside of CSUCI. Do not click links or open attachments
unless you validate the sender and know the content is safe. Contact ITS if you have any concerns
My approach right now is to call them binary outputs (bo) records
Yes, that sounds about right.
You can use the ONAM and ZNAM fields of the BO record to name the two states which may convey that it is indeed a process variable that is either doing something (i.e., increase the brightness) or not. In EPICS, pretty much everything is
a process variable.
|
- References:
- Representing stateless device commands? Feister, Scott via Tech-talk
- Re: [EXTERNAL] Representing stateless device commands? Hartman, Steven via Tech-talk
- RE: [EXTERNAL] Representing stateless device commands? Feister, Scott via Tech-talk
- Re: [EXTERNAL] Representing stateless device commands? Hartman, Steven via Tech-talk
- Navigate by Date:
- Prev:
Re: [EXTERNAL] Representing stateless device commands? Hartman, Steven via Tech-talk
- Next:
RE: Representing stateless device commands? Mark Rivers 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: [EXTERNAL] Representing stateless device commands? Hartman, Steven via Tech-talk
- Next:
RE: Representing stateless device commands? Mark Rivers 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, 06 Jan 2024 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|