EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Learning EDM
From: "Szalata, Zenon M." <[email protected]>
To: "Tim Mooney" <[email protected]>
Cc: EPICS tech-talk <[email protected]>
Date: Tue, 25 Sep 2007 17:13:11 -0700
Hi Tim,
I had no trouble installing calc module (standalone).  I proceded to make the following modifications in my application files:
- in configure/RELEASE:
...
# EPICS_BASE usually appears last so other apps can override stuff:
CALC=/afs/slac/g/esa/easlib/app/epics/support/calc/2-6-3
HP33120=/afs/slac/g/esa/esalib/app/epics/modules/hp33120
ASYN=/afs/slac/g/esa/esalib/app/epics/support/asyn/4-8
EPICS_BASE=/afs/slac/g/esa/esalib/app1/epics/R3.14.9/base

- in hp33120/src/Makefile:
...
PROD_IOC = hp33120

DBD += hp33120.dbd
# hp33120.dbd will be made up from these files:
hp33120_DBD += base.dbd
#include definitions for any other support applications needed
hp33120_DBD += devhp33120.dbd
hp33120_DBD += drvVxi11.dbd
hp33120_DBD += calcSupport.dbd
...
#add a definition for each support application used by this application
hp33120_LIBS += devhp33120
hp33120_LIBS += asyn
hp33120_LIBS += calc
...

- when I make my application I get an error:
...
gmake -C src install
gmake[2]: Entering directory `/afs/slac.stanford.edu/g/esa/esalib/app/epics/hp33
120/hp33120App/src'
gmake -C O.linux-x86 -f ../Makefile TOP=../../.. T_A=linux-x86 install
gmake[3]: Entering directory `/afs/slac.stanford.edu/g/esa/esalib/app/epics/hp33
120/hp33120App/src/O.linux-x86'
gmake[3]: Leaving directory `/afs/slac.stanford.edu/g/esa/esalib/app/epics/hp331
20/hp33120App/src/O.linux-x86'
gmake[3]: Entering directory `/afs/slac.stanford.edu/g/esa/esalib/app/epics/hp33
120/hp33120App/src/O.linux-x86'
gmake[3]: *** No rule to make target `../../../lib/linux-x86//libcalc.a', needed
 by `hp33120'.  Stop.
gmake[3]: Leaving directory `/afs/slac.stanford.edu/g/esa/esalib/app/epics/hp331
20/hp33120App/src/O.linux-x86'
gmake[2]: *** [install.linux-x86] Error 2
gmake[2]: Leaving directory `/afs/slac.stanford.edu/g/esa/esalib/app/epics/hp331
20/hp33120App/src'
gmake[1]: *** [src.install] Error 2
gmake[1]: Leaving directory `/afs/slac.stanford.edu/g/esa/esalib/app/epics/hp331
20/hp33120App'
gmake: *** [hp33120App.install] Error 2

It is looking for the libcalc library in my application area.  Libcalc is in
/afs/slac/g/esa/esalib/app/epics/support/calc/2-6-3/bin/linux-x86.  What am I missing?
Thanks a lot for your help,
Zen


-----Original Message-----
From: Tim Mooney [mailto:[email protected]] 
Sent: Monday, September 24, 2007 9:56 PM
To: Szalata, Zenon M.
Cc: Robert Horrox; EPICS tech-talk
Subject: Re: Learning EDM

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 Tim Mooney
References:
RE: Learning EDM Szalata, Zenon M.
Re: Learning EDM Tim Mooney

Navigate by Date:
Prev: EDM display problem Zhichu Chen
Next: Re: Learning EDM Tim Mooney
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Learning EDM Tim Mooney
Next: Re: Learning EDM Tim Mooney
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·