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  <20092010  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  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: stop all motors
From: Tim Mooney <[email protected]>
To: Kate Feng <[email protected]>
Cc: [email protected]
Date: Tue, 13 Jan 2009 13:13:47 -0600
Kate,
What version of the transform record crashed, and what version
of EPICS was it built against??  (Note that the transform record
has the field VERS.)

Kate Feng wrote:
Hi,

If the "all_com_32.db" is loaded in the database, it triggered system
crash  while we were running one of our RTEMS applications.
I traced down that the bugs were caused by the "transform" record
(e.g. transformRecord.c) for the motor "allstop" function.  However,
a generic record "dfanout" can replace it to function correctly.
The attached all_com_32.db is what I used to solve the problem.
It seems to work so far.

Regards,
Kate

#Kate Feng 12/30/2008:Use "dfanout" instead of "transform" for motor "allstop"
grecord(bo,"$(P)allstop") {
   field(DOL,"1")
   field(OUT,"$(P)allstop1.VAL  PP MS")
}
grecord(bo,"$(P)gateOpen") {
   field(ZNAM,"Closed")
   field(ONAM,"Open")
}
grecord(calc,"$(P)alldoneBlinker") {
   field(SCAN,".5 second")
   field(CALC,"B?0:!A")
   field(INPA,"$(P)alldoneBlinker.VAL  NPP NMS")
   field(INPB,"$(P)alldone.VAL  NPP NMS")
}
grecord(dfanout,"$(P)allstop5") {
   field(DESC,"allstop distribution")
   field(OMSL,"closed_loop")
   field(DOL,"1")
   field(OUTA,"$(P)m25.STOP  CA MS")
   field(OUTB,"$(P)m26.STOP  CA MS")
   field(OUTC,"$(P)m27.STOP  CA MS")
   field(OUTD,"$(P)m28.STOP  CA MS")
   field(OUTE,"$(P)m29.STOP  CA MS")
   field(OUTF,"$(P)m30.STOP  CA MS")
   field(OUTG,"$(P)m31.STOP  CA MS")
   field(OUTH,"$(P)m32.STOP  CA MS")
}
grecord(dfanout,"$(P)allstop4") {
   field(DESC,"allstop distribution")
   field(OMSL,"closed_loop")
   field(DOL,"1")
   field(OUTA,"$(P)m17.STOP  CA MS")
   field(OUTB,"$(P)m18.STOP  CA MS")
   field(OUTC,"$(P)m19.STOP  CA MS")
   field(OUTD,"$(P)m20.STOP  CA MS")
   field(OUTE,"$(P)m21.STOP  CA MS")
   field(OUTF,"$(P)m22.STOP  CA MS")
   field(OUTG,"$(P)m23.STOP  CA MS")
   field(OUTH,"$(P)m24.STOP  CA MS")
}
grecord(dfanout,"$(P)allstop3") {
   field(DESC,"allstop distribution")
   field(DOL,"1")
   field(OUTA,"$(P)m9.STOP  CA MS")
   field(OUTB,"$(P)m10.STOP  CA MS")
   field(OUTC,"$(P)m11.STOP  CA MS")
   field(OUTD,"$(P)m12.STOP  CA MS")
   field(OUTE,"$(P)m13.STOP  CA MS")
   field(OUTF,"$(P)m14.STOP  CA MS")
   field(OUTG,"$(P)m15.STOP  CA MS")
   field(OUTH,"$(P)m16.STOP  CA MS")
}
grecord(dfanout,"$(P)allstop2") {
   field(DESC,"allstop distribution")
   field(OMSL,"closed_loop")
   field(DOL,"1")
   field(OUTA,"$(P)m1.STOP  CA MS")
   field(OUTB,"$(P)m2.STOP  CA MS")
   field(OUTC,"$(P)m3.STOP  CA MS")
   field(OUTD,"$(P)m4.STOP  CA MS")
   field(OUTE,"$(P)m5.STOP  CA MS")
   field(OUTF,"$(P)m6.STOP  CA MS")
   field(OUTG,"$(P)m7.STOP  CA MS")
   field(OUTH,"$(P)m8.STOP  CA MS")
}
grecord(dfanout,"$(P)allstop1") {
   field(DESC,"allstop distribution")
   field(OMSL,"closed_loop")
   field(DOL,"1")
   field(OUTA,"$(P)AbortScans.PROC  PP MS")
   field(OUTB,"$(P)allstop2.VAL  PP MS")
   field(OUTC,"$(P)allstop3.VAL  PP MS")
   field(OUTD,"$(P)allstop4.VAL  PP MS")
   field(OUTE,"$(P)allstop5.VAL  PP MS")
}
grecord(swait,"$(P)alldone") {
   field(DESC,"All motors done moving")
   field(SCAN,"I/O Intr")
   field(PINI,"YES")
   field(INAN,"$(P)alldone_1.VAL")
   field(INBN,"$(P)alldone_2.VAL")
   field(INCN,"$(P)alldone_3.VAL")
   field(INDN,"$(P)alldone_4.VAL")
   field(ININ,"$(P)gateOpen.VAL")
   field(CALC,"A&&B&&C&&D&&!I")
   field(DOLD,"1")
}
grecord(swait,"$(P)alldone_2") {
   field(DESC,"8 motors done moving")
   field(SCAN,"I/O Intr")
   field(PINI,"YES")
   field(INAN,"$(P)m9.DMOV")
   field(INBN,"$(P)m10.DMOV")
   field(INCN,"$(P)m11.DMOV")
   field(INDN,"$(P)m12.DMOV")
   field(INEN,"$(P)m13.DMOV")
   field(INFN,"$(P)m14.DMOV")
   field(INGN,"$(P)m15.DMOV")
   field(INHN,"$(P)m16.DMOV")
   field(CALC,"(a&b&c&d&e&f&g&h)=1")
   field(OOPT,"Transition To Non-zero")
   field(DOLD,"1")
}
grecord(swait,"$(P)alldone_1") {
   field(DESC,"8 motors done moving")
   field(SCAN,"I/O Intr")
   field(PINI,"YES")
   field(INAN,"$(P)m1.DMOV")
   field(INBN,"$(P)m2.DMOV")
   field(INCN,"$(P)m3.DMOV")
   field(INDN,"$(P)m4.DMOV")
   field(INEN,"$(P)m5.DMOV")
   field(INFN,"$(P)m6.DMOV")
   field(INGN,"$(P)m7.DMOV")
   field(INHN,"$(P)m8.DMOV")
   field(CALC,"(a&b&c&d&e&f&g&h)=1")
   field(OOPT,"Transition To Non-zero")
   field(DOLD,"1")
}
grecord(swait,"$(P)alldone_3") {
   field(DESC,"8 motors done moving")
   field(SCAN,"I/O Intr")
   field(PINI,"YES")
   field(INAN,"$(P)m17.DMOV")
   field(INBN,"$(P)m18.DMOV")
   field(INCN,"$(P)m19.DMOV")
   field(INDN,"$(P)m20.DMOV")
   field(INEN,"$(P)m21.DMOV")
   field(INFN,"$(P)m22.DMOV")
   field(INGN,"$(P)m23.DMOV")
   field(INHN,"$(P)m24.DMOV")
   field(CALC,"(a&b&c&d&e&f&g&h)=1")
   field(OOPT,"Transition To Non-zero")
   field(DOLD,"1")
}
grecord(swait,"$(P)alldone_4") {
   field(DESC,"8 motors done moving")
   field(SCAN,"I/O Intr")
   field(PINI,"YES")
   field(INAN,"$(P)m25.DMOV")
   field(INBN,"$(P)m26.DMOV")
   field(INCN,"$(P)m27.DMOV")
   field(INDN,"$(P)m28.DMOV")
   field(INEN,"$(P)m29.DMOV")
   field(INFN,"$(P)m30.DMOV")
   field(INGN,"$(P)m31.DMOV")
   field(INHN,"$(P)m32.DMOV")
   field(CALC,"(a&b&c&d&e&f&g&h)=1")
   field(OOPT,"Transition To Non-zero")
   field(DOLD,"1")
}
grecord(swait,"$(P)alldoneBlink") {
   field(SCAN,"I/O Intr")
   field(INAN,"$(P)alldone")
   field(INBN,"$(P)alldoneBlinker")
   field(CALC,"a?0:b")
}


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

Replies:
Re: stop all motors Kate Feng
References:
stop all motors Kate Feng

Navigate by Date:
Prev: Re: stop all motors Kurt Goetze
Next: RE: stop all motors Rarback, Harvey
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: stop all motors Kate Feng
Next: Re: stop all motors Kate Feng
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·