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 21:44:49 -0700
Hi Tim,
I think with epics release earlier than 3.14.9 you get iocxxxInclude.dbd (I verified that to be the case for 3.14.6) and since I am using release 3.14.9 I did not get that dbd file.  I deduced from a tutorial on "How to create EPICS device support for a simple serial or GPIB device" by Eric Norum that if you do not have the iocxxxInclude.dbd file you specify the dbd includes in Makefile.  This works for asyn, for example.  The statement HP33120=/afs/... I think defines an "environment" variable, which is used in st.cmd ( and perhaps in other places as well).  I will ask some experts here at SLAC.  We shall see.  Thanks a lot,

Zen

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

Zen,  I don't know what's wrong, but I do see some things I don't have in my build.  Maybe one of these things is the problem.  If not, someone with a better understanding of the EPICS build may help us out.

My application's RELEASE file doesn't identify my application as a place to look for stuff.  (I.e., I don't have the analog of the line
"HP33120=/afs/slac/g/esa/esalib/app/epics/modules/hp33120".)

Also, I don't have a bunch of xxx_DBD += <external files> Instead, I have xxx_DBD += iocxxx.dbd and I have the file iocxxxInclude.dbd, in xxxApp/src, from which iocxxx.dbd is built, and that file includes stuff like calcSupport.dbd.

Also, whenever I get make doing something I don't understand, I do a "make clean uninstall" at the top level of my application, and try make again.  There are times when a build that did not complete correctly leaves things behind that prevent the next try from succeeding.

Tim Mooney ([email protected]) (630)252-5417 Beamline Controls & Data Acquisition Group Advanced Photon Source, Argonne National Lab.

Szalata, Zenon M. wrote:
> 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.htm
>>l
>>
>>----------------------------------------------------------------
>>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
>>>
>>>
>>
>>
> 


References:
RE: Learning EDM Szalata, Zenon M.
Re: Learning EDM Tim Mooney
RE: Learning EDM Szalata, Zenon M.
Re: Learning EDM Tim Mooney

Navigate by Date:
Prev: Re: Learning EDM Tim Mooney
Next: AutoSave - errors? Heinrich du Toit
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 Denison, PN (Peter)
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 ·