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
Correct the user program to reduce the nesting levels of JSR instructions, ensuring they meet the controller's specified restrictions.
- 2
Restructure the program logic to minimize deep subroutine calls, possibly by using flatter logic or status bits.
- 3
Reload the modified program and enter Run mode.
Verified technical data. Last updated: March 2026
Related Faults
Source: Allen-Bradley MicroLogix 1400 Programmable Controllers