The scalcout record is not part of base. It's in the calc module.
I think the link Robert gave has been overtaken by events.
See http://www.aps.anl.gov/aod/bcda/synApps/calc/calc.html.
To use the record, you will need to build the calc module,
define the path to it, link it into your application, and
include it in your .dbd file.
In your application, which I'll call 'xxx':
1) xxx/configule/RELEASE must contain
CALC=<absolute path to the calc module>
2) xxx/xxxApp/src/Makefile must contain
xxx_LIBS += calc
3) xxx/xxxApp/src/iocxxxInclude.dbd must contain
include "calcSupport.dbd"
Unfortunately, the calc module also depends on the sscan module
and the genSub module, though neither of these are needed for the
scalcout record. You can either build these modules, or modify
the calc module to remove the dependencies, as follows:
4) comment out lines containing the strings
"SSCAN" and "GENSUB" from calc/configure/RELEASE,
and
5) comment out lines containing the strings
"sscan", "genSub", "interp", "swait", and "arrayTest", from
calc/calcApp/src/calcSupport.dbd and from
calc/calcApp/src/Makefile
(except for one line: in Makefile, change
"calcApp_LIBS += calc sscan genSub" to
"calcApp_LIBS += calc", instead of commenting the whole line out)
I guess I should split some modules up, so there aren't so many
dependencies among them, but then we'd have a lot more modules to
contend with. Maybe that wouldn't actually be better. Comments,
advice, anyone?
--
Tim Mooney ([email protected]) (630)252-5417
Beamline Controls & Data Acquisition Group
Advanced Photon Source, Argonne National Lab.
Szalata, Zenon M. wrote:
I assume that scalcout is defined in EPICS and yet I cannot find that definition. I have R3.14.9 installed. I see in base/dbd/calcoutRecord.dbd, which does not have the string inputs and operations. What am I missing? Thanks for your help.
Zen
-----Original Message-----
From: Robert Horrox [mailto:[email protected]]
Sent: Monday, September 24, 2007 2:07 PM
To: Szalata, Zenon M.
Cc: EPICS tech-talk
Subject: Re: Learning EDM
I'm not sure if there is a better way to do this so if anyone else has better way please mention it.
In order to get a newline character into the message box you need to send that character to it in epics. I achieve this with a database that writes a string to the PV the Msg Box is monitoring to, then waits a set amount of time, then writes a newline character to the PV the Msg Box is monitoring.
The other possibility is since you don't seem to need all 40 characters(38 are visible) you can just add the newline character to the values before you write them to the PV the Msg Box is monitoring.
The way to add an newline character to the PV would be a scalcout record.
I'm not sure on how you would take the input float and convert it to a string with scalcout but the documentation should help with that. Here is an example from my code on how to add the character, edited for clarity.
record(scalcout, "AddNewline") {
field(CALC, "AA + '\n'")
field(OUT, "MonitoredPV.VAL PP")
field(INAA, "InputString")
field(SCAN, "Passive")
}
That record will write the input string plus a newline character.
I hope this helps.
Documentation for scalcout:
http://www.aps.anl.gov/aod/bcda/synApps/calc/R2-6-3/sCalcoutRecord.html
----------------------------------------------------------------
Robert Horrox
University of Washington Medical Center
Department of Radiation Oncology
On Mon, 24 Sep 2007, Szalata, Zenon M. wrote:
I am learning how to use EDM. I have created a message box monitor and connected it to a PV of type double. The soft IOC updates the PV value avery few seconds. A typical value is 9.1990930. In the message box I see 99999999... Where another 9 is appended to the first line each time the PV updates. In the message box properties there is nothing that controls formatting displayed values, nor is there a way to add a newline after each update. Are these somehow controlled via the IOC record setup? What do I need to do to have each full floating point value appear on a separate line? The same string of 9's appears in the log file.
Also, how can I force a "Passive" record processing in the IOC from edm?
Thanks,
Zen
- Replies:
- RE: Learning EDM Szalata, Zenon M.
- RE: Learning EDM Denison, PN (Peter)
- References:
- Learning EDM Szalata, Zenon M.
- Re: Learning EDM Robert Horrox
- RE: Learning EDM Szalata, Zenon M.
- Navigate by Date:
- Prev:
RE: Learning EDM Emmanuel Mayssat
- Next:
Re: exceed Heinrich du Toit
- 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: Learning EDM Emmanuel Mayssat
- Next:
RE: Learning EDM Szalata, Zenon M.
- 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
|