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  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026
<== Date ==> <== Thread ==>

Subject: RE: OmsAsyn Maxnet Homing
From: "Pearson, Matthew via Tech-talk" <tech-talk at aps.anl.gov>
To: "Blomley, Edmund (IBPT)" <edmund.blomley at kit.edu>, EPICS Tech Talk <tech-talk at aps.anl.gov>
Date: Wed, 28 Jan 2026 15:42:58 +0000

Hi Eddy,

 

The implemented homing procedure [1] of the EPICS module  does not seem to work, probably because there is no home switch. There are only limit switches.

 

That’s fairly common I think. Most controllers won’t support homing to a limit switch, probably because it confuses the function of the switch and the home position would change depending on how fast you move onto the switch.

 

The homing procedure should be:

 

1. Move into lower limit switch

2. Define this position as 0 (at least) in the EPICS motor coordinates.

 

For homing on a limit switch, the homing procedure is ideally:

 

  1. Move onto the switch (possibly also widen the software limits)
  2. Move off the switch some predefined distance (eg. 2mm)
  3. Change the speed to a predefined homing speed (normally a slower speed)
  4. Move back onto the switch
  5. Define zero
  6. Change speed back to what it was before, and set the software limits back to what they were
  7. Optionally move to a pre-defined post-home position

 

We tried to figure out a solution based on the command reference [2], but were not that successful. 

This is our current connection and init command:

omsMAXnetConfig("MCONTROL0", 5, "MAXNET0", 20200, "AZ;LTL;LMH;ABL;PSO;AT;LTL;LMH;ABL;PSO;AU;LTL;LMH;ABL;PSO;“).

 

As a workaround, the student using the setup developed a Python script using the motor record to do:

 

1. Read out and store .HLM and .LLM

2. Depending on .DIR trigger either .HOMF or .HOMR

3. Wait until .LLS is active

4. Store .RBV

5. Switch to calibration mode via .SET=1

6. Set .VAL to 0

7. Restore .HLM and .LLM from 1.

8. .SET=0

 

You might have to set DVAL directly and not VAL in order to initiate the LOAD_POS in the driver. Also it’s better to work in dial coordinates if you’re setting the controller position. You might also want to ensure that the user offset (OFF) is frozen (by setting FOFF).

 

I don’t know the OMS controllers, but is it possible setting HOMF or HOMR starts the controller home function, but it never completes? Or, is perhaps cancelled when it hits a limit switch?

 

So the question is, if there is a better approach by either directly using Maxnet controller commands or with the motor record itself (is there a „Zero“ command?)

 

Simply setting the user offset (OFF) can ‘zero’ the motor. However if you really want to home on the controller and define the controller position as zero, then it could either be done via a script as above, or in database logic. I have some database logic to do this (as well as supporting screens) if you’re interested.

 

Cheers,

Matt

 

 


Replies:
AW: OmsAsyn Maxnet Homing Blomley, Edmund (IBPT) via Tech-talk
Re: OmsAsyn Maxnet Homing Peterson, Kevin M. via Tech-talk
References:
OmsAsyn Maxnet Homing Blomley, Edmund (IBPT) via Tech-talk

Navigate by Date:
Prev: Re: pvlist does not find all servers in network Florian Feldbauer via Tech-talk
Next: MAXnet Alarm State Under High Motor Command Load Jiajun Tian via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026
Navigate by Thread:
Prev: OmsAsyn Maxnet Homing Blomley, Edmund (IBPT) via Tech-talk
Next: AW: OmsAsyn Maxnet Homing Blomley, Edmund (IBPT) via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026
ANJ, 19 Mar 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·