IMACS Software Documentation


Location of this document: http://instrumentation.obs.carnegiescience.edu/Software/IMACS/trouble.html



Trouble Shooting

  • Common Error Codes
  • Dos and Don'ts
  • Starting Over
  • Linmot Controller Setup
  • Lantronix TCP/IP-Serial Converters
  • JackRabbit (Shutter) Code


    Common Error Codes

    10 17 25 27 36 38 46 69 78 79 81 87 116 131 1007
    The codes below are ordered by their relative frequency:

    46 (E_fxc)
    'flexure_controlX: diff= 32.2'
    A few errors like this during slewing (fast rotator move) is normal. If they persist check the piezo stage.
    69 (E_serio_lock)
    "sample_xgt_select() failed"
    "sample_xxx_volts() failed"
    "sample_xxx_temps() failed"
    Occasionaly the system fails to query the status of one of the sub-devices when too many requests happen simultaneously. A single message like this may be safely ignored. If the the persist a shutdown/re-start of the entire IMACS software might be necessary.
    131 (E_dfio_read)
    "sample_detector_focus(x) failed"
    Check the focus encoder (LVDT controller) and/or the terminal server in the black ABS box inside IMACS.
    87 (E_telio_lock)
    "sample_rotator() failed"
    "sample_cell_temp() failed"
    The TCP/IP connection to the TCS could not be established. Please check the TCS (sometimes multiple instances appear to be running).
    36 (E_badpos)
    "xxG-Theta: 'position not reached'"
    "SHG-Radius: 'position not reached'"
    "f/X-Focus: 'position not reached'"
    The guider/focus mechnism move did not end up at the target position. Unless under manual control, the focus and the guiders are under a closed loop control and should eventually reach their target. If the errors persist there might a mechanical problem. If the guider fails to move at all then a 'hard-stop' might be triggered that requires a manual 'reset' inside the electronics racks.
    25 (E_cgprobe)
    "PRG-Theta: 'CFG-probe interlock'"
    "PR-Guider (control_loop_err=25)"
    "scheduling 'PR-Theta' timed out"
    There is an interlock conflict between the PR-guider and the CF-guider. Please move the CF-guider to its 'out' position.
    17 (E_mclamp)
    "PRG-Theta: 'mask-clamp interlock'"
    "PR-Guider (control_loop_err=17)"
    "schedule_move(): scheduling 'PR-Theta' timed out"
    There is an interlock conflict between the PR-guider and the mask-clamp.
    10 (E_lockgizmo)
    "schedule_move(): scheduling 'Det-Focus2' timed out"
    "schedule_move(): scheduling 'PR-Theta' timed out"
    "schedule_move(): scheduling 'Det-Focus1' timed out"
    Occasionally there are too many concurrent move requests by the IMACS software. Please just try again.
    1007 (E_tcpip_connect)
    "sample_rotator() failed"
    "sample_cell_temp() failed"
    "sample_cool_press() failed"
    The TCP/IP connection to the device failed in a way that indicates that the device (eg. TCS or HP-sensor unit) is either powered down or there might be a failure in the terminal server (either in the electronics rack or inside IMACS' black ABS box). For the list of which device communicates via each terminal server please see Lantronix Terminal Server Setup.
    81 (E_axis_encoder)
    "Disperser-Wheel: 'mcio: axis: encoder problem'"
    "xxG-Theta: 'mcio: axis: encoder problem'"
    "SHG-Radius: 'mcio: axis: encoder problem'"
    "f/x-Focus: 'mcio: axis: encoder problem'"
    There was an inconsistent encoder readout after a move (eg. encoder did not change at all). This often indicates that one of the hard-stop switches have been triggered and requires an manual re-set inside the electronics racks. Another common cause is a failure of one of the opto-coupler modules.
    38 (E_home)
    "Grating-X: 'home not found'"
    "f/x-Filter: 'home not found'"
    "XX-Guider: 'home not found'"
    The homing procedure did not find the Home sensor. Please try again. If the error persists please visually inspect the device for a mechanical problem. Other causes might be a triggered hard-stop switch or a failing opto-coupler module.
    27 (E_mask)
    "CFG-Optics: 'mask-server interlock'"
    "scheduling 'CF-Optics' timed out"
    "CFG-Probe: 'mask-server interlock'"
    "scheduling 'CF-Probe' timed out"
    There is an interlock conflict between the mask server and the CF-guider. Please remove the mask (or insert an appropriate mask).
    78,79 (E_axis_for,E_axis_rev)
    "mcio: axis: forward (reverse) limit active"
    If the initialization of a device (eg. PR-guider) has failed with one of these errors it means that the home sensor was not found after trying both directions. Possible causes in order of their respective likelyhood:
    • The encoder tape is dirty (defect).
    • The 'near' sensor is missaligned/broken or its wire is defect.
    • The 'limit' is broken/missing (or its wiring).
    • The 'home' marker (magnet) is missing.
    116 (E_hnot0)
    "encoder not '0' after homing"
    The initialization of a device (eg. PR-guider) has failed. It means that the home sensor was not found after trying both directions. Possible causes in order of their respective likelyhood:
    • The encoder tape is dirty (defect).
    • The 'near' sensor is missaligned/broken or its wire is defect.
    • The 'home' marker (magnet) is missing.
    Warning: After power-cyling the electronics rack you have to turn-on the PC using the little black switch.


    Dos and Don'ts

    Do Do Not


    Starting Over

    You might not be able to start any GUI when you get an error like:
    "cannot lock "200.28.147.nnn:300x"

    The most likely reason is that some other GUI crashed while blocking the TCP/IP port to the motor-controller PC. When that happens the port stays locked until you either remove the lock "by hand" or re-boot the observer workstation (llama).

    Removing the locking semaphore

  • Close all IMACS programs.
  • Type ipcs to display all inter-process communication resources.
  • Look for Semaphores (Linux: Semaphore Arrays). If there is more than one owned by imacs you better do a 'reboot'.
  • If there is only one array, type
    MacOS: ipcrm -S 'key' (3rd column)
    Linux: ipcrm sem 'semid' (2nd column)


    Linmot Controller Setup

    To configure a new Linmot controller please follow these steps: All changes are immediately stored in the non-volatilve memory of the controller. The .txt files below only show the differences from the factory defaults.
    Note: A '!' (exclamation point) means 'not set'.

    For more detailed information please refer to the Linmot User Manual.

    Shutter Linmot Controller Setup

    shutter_linmot.txt (the complete setup as PDF or .cfg file)

    The drive configurations are almost identical EXCEPT that drives 'B' and 'D' are moving (clearance checking) during initialization:
    'A' and 'C' have check=0
    'B' and 'D' have check=300

    If the drives fail to initialize due to stickiness you may try a larger value for the 'Maximal-Init-Current' (eg. 75%).

    GISMO Linmot Controller Setup

    gismo_linmot.txt

    Drive 'A' (external position sensor ) is currently not used.


    Lantronix TCP/IP-Serial Converters

    For information about the Lantronix TCP/IP-Serial converters please have a look at: ets_setup.txt
    Note: Setting up the Lantronix via TCP/IP requires a cross-over ethernet cable and a computer that is set to the same IP-network as the Lantronix device.


    JackRabbit (Shutter) Code

    This is the current version (0.92) of the JackRabbit shutter controller program.


    2002-12-09, Christoph C. Birk, Carnegie Observatories (last updated: 2013-06-12)