Mechanism Never Stops Slewing
Mechanism Never Stops Slewing

  1. The Symptoms
  2. Steps To A Cure
    1. Stop the endless move
    2. Initialize the offending mechanism
    3. Try the move again
  3. Discussion

In all the following instructions, all references to a "command line" or "a waimea window" refer to entering commands at the prompt, in a terminal window of some kind that is logged into the NIRSPEC host computer waimea in the account "nirspec". If you are in front of a computer in Remote Ops 2 that is logged in as "nirspec", you can open a window on waimea by putting the mouse pointer on the blue background, holding down the right button, going into the Login Windows menu, and letting up on xgterm 'waimea' (NIRSPEC).

  1. The Symptoms

    A motor move has been commanded, and it starts, but it never finishes. There is no message that the move failed or timed out, but the XNIRSPEC GUI reports that the mechanism is "slewing" forever.

  2. Steps To A Cure

    There are 3 steps to fixing this problem. Carry out all three of the following steps, in order:

    1. Stop the endless move.

      You can halt the move by modifying one keyword (per mechanism, if more than one seems to be involved). There are keywords of the format [stage]abort, so in a waimea window issue the command:

      m [stage]abort=1

      The legal values for the [stage]abort keyword are:

      • irotabort abort image rotator movement integer
      • fil1abort abort filter 1 wheel movement integer
      • fil2abort abort filter 2 wheel movement integer
      • slitabort abort current slit wheel movement integer
      • echlabort abort echelle mechanism movement integer
      • dispabort abort disperser movement integer
      • calmabort abort calibration mirror movement integer
      • calpabort abort calibration pinhole movement integer
      • calcabort abort calibration cover movement integer

      So for example to halt the Echelle grating, the command would be:

      m echlabort=1

    2. Initialize the offending mechanism.

      Aborting a move causes the server to lose knowledge of where the mechanism is, so it now must be initialized before it can be moved again. You can initialize any mechanism by modifying one keyword (per mechanism, if more than one seems to be involved). There are keywords of the format [stage]init, so in a waimea window issue the command:

      m [stage]init=1

      The legal values for the [stage]init keyword are:

      • irotinit move image rotator to home position integer
      • fil1init move filter wheel 1 to home position integer
      • fil2init move filter wheel 2 to home position integer
      • slitinit move slit wheel to home position integer
      • echlinit move echelle mechanism to home position integer
      • dispinit move disperser to home position integer
      • calminit move calibration mirror to home positioninteger
      • calpinit move calibration pinhole to home positioninteger
      • calcinit move calibration cover to home position integer

      So for example to initialize the Echelle grating, the command would be:

      m echlinit=1

      If you happen to be sitting in front of the observer's console, you can also initialize a single stage through the XNIRSPEC GUI. On XNIRSPEC, left-click on "Engineer" then on "Motors", then on "Init" to get the "Init" menu. Then left-click on the stage you want to initialize, left-click on "Init", and left-click on "Dismiss". The stage begins initializing immediately, but the popup menu will not go away nor will the rest of XNIRSPEC update until you click "Dismiss", so click it right away.

      Please note that there is one instance where initializing via the XNIRSPEC GUI is less flexible than initializing via the command line: the filter wheels. The two filter wheels can be initialized only simultaneously and in parallel through the GUI, but either one can be independently initialized from the command line. Thus if you need to initialize only one, it can be quicker to do that from the command line.

    3. Try the move again.

      From the XNIRSPEC GUI, command the motor move that just failed (ie, select the filter, grating angle or whatever) and see if it works. It should now complete without incident.

  3. Discussion

    This problem comes up infrequently, but it can be very disconcerting when it happens. Since NIRSPEC arrived, it has been observed to happen perhaps 5 to 10 times on the Echelle grating, and at least once each on Filter Wheel 1 and Filter Wheel 2.

    This is more likely a software problem than a true hardware problem. It probably results from some glitch in the communication between the server and the transputers that causes the server to believe that the motor has never stopped moving, when in fact, it probably never started moving.

    If it ever happens that the procedure outlined above does not resolve the problem, the next step would be to stop and restart the server. That solution is much more drastic and time-consuming, so try the keyword-level abort first.


Go to: NIRSPEC Home Page    - Instruments Home Page    - Keck Home Page    - Observer's Reference Shelf

Last modified: 22 December 2000