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  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 
<== Date ==> <== Thread ==>

Subject: Re: motor record: continuously update limit switches
From: "Konrad, Martin" <konrad@frib.msu.edu>
To: Mark Rivers <rivers@cars.uchicago.edu>, "sluiter@aps.anl.gov" <sluiter@aps.anl.gov>, "mooney@aps.anl.gov" <mooney@aps.anl.gov>, "sullivan@aps.anl.gov" <sullivan@aps.anl.gov>
Cc: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Mon, 29 Jul 2013 19:18:09 +0000
Hi,
> I tested the OMS-58 and MSTA does update if the limit is disconnected
> and STUP is set to 1.
Mark, thanks for providing these details. With your information I was
able to track the issue further down:
Even with the "sendMsg = false;" line commented out in the device
support, the MSTA field does not show a change in the limit-switch
status while the motor is stopped (as far as I can see commenting out
this line has no effect on the behavior at all).

Sniffing the TCP connection between the IOC and the motor controller I
learned that the issue is caused by the behavior of the motor controller
which only transmits some sort of a "limit switch hit while moving"
status as a response to the TAS (transmit axis data) command. In other
words: The limit status in this message is not updated while the motor
is stopped and triggering STUP is pretty useless (at least regarding the
limit switches)...

Nevertheless it is possible to read out the state of the limit inputs
with the TLIM (transmit limits) or LIMFNC (input function for limit
inputs) commands. Here is an example:
# all limit switches in "ok" position:
> TAS
*TAS0000_0100_0000_0001_0000_0000_0000_0000
> 
> TLIM
*TLIM110
> 
> LIMFNC
*LIMFNC1-R POS LIMIT INPUT       - STATUS ON
*LIMFNC2-S NEG LIMIT INPUT       - STATUS ON
*LIMFNC3-T HOME LIMIT INPUT      - STATUS OFF

# negative limit switch pressed (while motor stopped):
> TAS
*TAS0000_0100_0000_0001_0000_0000_0000_0000
> 
> TLIM
*TLIM100
> 
> LIMFNC
*LIMFNC1-R POS LIMIT INPUT       - STATUS ON
*LIMFNC2-S NEG LIMIT INPUT       - STATUS OFF
*LIMFNC3-T HOME LIMIT INPUT      - STATUS OFF

As far as I can see the PC6K device support should use one of TLIM or
LIMFNC to determine the status of the limit switches. Can anyone of the
maintainers confirm that? - I don't want to make changes to the code
that do not have a chance to be included into the next version of motor
record...

Thanks for your help,

Martin



Replies:
RE: motor record: continuously update limit switches Mark Rivers
References:
motor record: continuously update limit switches Konrad, Martin
Re: motor record: continuously update limit switches Konrad, Martin

Navigate by Date:
Prev: Re: Electronic Logbooks Kevin Peterson
Next: RE: motor record: continuously update limit switches 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 
Navigate by Thread:
Prev: RE: motor record: continuously update limit switches Mark Rivers
Next: RE: motor record: continuously update limit switches 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 
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 ·