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: RE: calcout OUT field to ASYN fails...
From: Mark Rivers <[email protected]>
To: "'Amien TLABS'" <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 31 May 2013 14:19:55 +0000

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]] On Behalf Of Amien TLABS
Sent: Friday, May 31, 2013 8:08 AM
To: [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

Navigate by Date:
Prev: EPICS Archive appliance Phillip Sorensen
Next: FW: calcout OUT field to ASYN fails... Mark Rivers
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: calcout OUT field to ASYN fails... Amien TLABS
Next: FW: calcout OUT field to ASYN fails... Mark Rivers
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 ·