0030

SUBROUTINE NESTING EXCEEDS LIMIT

Allen-Bradley · MicroLogix 1400 Programmable Controllers

What does 0030 mean?

The nesting level of JSR (Jump to Subroutine) instructions exceeded the controller's available memory space for the call stack. This is a non-user fault, indicating an architectural limitation has been surpassed by an overly deep program structure.

Common Causes

  • Excessive number of nested JSR instructions in the program.
  • Deep subroutine calls consuming too much call stack memory, leading to an overflow.
  • Recursive subroutine calls without proper termination conditions.

Repair Steps & Checklist

Click steps to track your progress.

  1. 1

    Correct the user program to reduce the nesting levels of JSR instructions, ensuring they meet the controller's specified restrictions.

  2. 2

    Restructure the program logic to minimize deep subroutine calls, possibly by using flatter logic or status bits.

  3. 3

    Reload the modified program and enter Run mode.

Browse all codes in this manual (60)
Verified technical data. Last updated: March 2026

Related Faults

Source: Allen-Bradley MicroLogix 1400 Programmable Controllers