EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: FW: calcout OUT field to ASYN fails...
From: Mark Rivers <[email protected]>
To: "[email protected] Talk" <[email protected]>
Date: Fri, 31 May 2013 15:02:57 +0000
Problem resolved.

________________________________
From: Amien TLABS [[email protected]]
Sent: Friday, May 31, 2013 9:56 AM
To: Mark Rivers
Subject: Re: calcout OUT field to ASYN fails...

Hi Mark

I found my problem and it has nothing to do with the records.
It looks like my camonitors does not get updated, mainly because I'm on a different domain.
Thanks to all.

Amien


On 31-May-2013 16:19, Mark Rivers wrote:
Hi Amien,

Your “range” record is connected to an asyn port driver called “int32”, and it is using asyn address “$(mux)”.  What kind of asyn port driver is that, and who wrote it?

My first suspicion would be a problem with that port driver.

What OS are you running on?  When you says the IOC “fails” do you mean that it crashes with a segmentation fault?  If so, and if this is Linux, you can debug with the “gdb” debugger.  One way to do that is to get a core dump file and run gdb on it.  If you are using the csh or derivative type the following command to enable core dumps:

limit core 10000

If you are running bash type the following command:

ulimit -c 10000

Now when you run your IOC application and it fails you will get a coredump file, core.xxxxx.

Now run gdb on the core file as follows:

gdb path/to/my/IOC/application core.xxxxxx

At the gdb prompt type the following command

backtrace

That will show the stack trace at the point where the application failed.  That can usually help figure out what went wrong.

Mark


From: [email protected]<mailto:[email protected]> [mailto:[email protected]] On Behalf Of Amien TLABS
Sent: Friday, May 31, 2013 8:08 AM
To: [email protected]<mailto:[email protected]>
Subject: calcout OUT field to ASYN fails...

Hi

I have the following records and the 'calcout' OUT field causes the IOC to fail

record(ao,"$(harp):range") {
     field(DTYP,  "asynInt32")
     field(OUT,   "@asyn(int32 $(mux))")
     field(FLNK,  "$(harp):checkrange")
  }

record(ai,   "$(harp):trigger") {
          field(DTYP,  "Soft Channel")
          field(SCAN,  "Passive")
          field(FLNK,  "$(harp):checktrig")
    }

record(fanout,   "$(harp):checktrig") {
          #field(SCAN,  "Passive")
          field(LNK1,  "$(harp):triggerOFF PP")
          field(LNK2,  "$(harp):triggerON PP")
          field(SELL,  "$(harp):trigger")
          field(SELM,  "Specified")
    }
 #####################################################################
    record(calcout, "$(harp):triggerOFF") {
           field(SCAN,  "1 second")
          field(DTYP,  "Soft Channel")
          field(INPA,  "$(harp):trigger")
          field(INPB,  "$(harp):range")
          field(OOPT,  "On Change")
          field(DOPT,  "Use CALC")
          field(CALC,  "(A==0) && (B>10)?(B-10):B")
          field(OUT,   "$(harp):range PP")                   # THIS fails and stops the IOC
    }

I can change the 'range' from any client though. It's only when I try it from within my db file.
Anyone know what I'm doing wrong ?

thanks
Amien



References:
calcout OUT field to ASYN fails... Amien TLABS
RE: calcout OUT field to ASYN fails... Mark Rivers

Navigate by Date:
Prev: RE: calcout OUT field to ASYN fails... Mark Rivers
Next: RE: EPICS Archive appliance Williams Jr., Ernest L.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: calcout OUT field to ASYN fails... Mark Rivers
Next: EPICS Archive appliance Phillip Sorensen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·