I keep getting a major fault occur on a CompactLogix L43 CPU which I can't get to the bottom of.
Fault details:
Major fault
Type 04 - Program fault
Code 84 - Stack overflow. Stack too small to perform operation
Always occurs on the same rung where I am calling an AOI used many times in the program.
The manual says to check for too much nesting of sub-routines etc. Total call stack for the rung in question is Task > Program > JSR > AOI. There are plenty of other places with more nesting involved.
The CPU doesn't seem to be too heavily loaded. I'm running 2 periodic tasks (10ms update with ~2-3ms execution time and 30ms update with ~12ms execution time). On the comms side I have 1x Ethernet/IP PointIO rack (20ms RPI) and 1x SCADA (1000ms update rate with ~1000tags).
Is there any way I can get a full call stack for the CPU?
Any ideas as to how I can resolve the fault?
Fault details:
Major fault
Type 04 - Program fault
Code 84 - Stack overflow. Stack too small to perform operation
Always occurs on the same rung where I am calling an AOI used many times in the program.
The manual says to check for too much nesting of sub-routines etc. Total call stack for the rung in question is Task > Program > JSR > AOI. There are plenty of other places with more nesting involved.
The CPU doesn't seem to be too heavily loaded. I'm running 2 periodic tasks (10ms update with ~2-3ms execution time and 30ms update with ~12ms execution time). On the comms side I have 1x Ethernet/IP PointIO rack (20ms RPI) and 1x SCADA (1000ms update rate with ~1000tags).
Is there any way I can get a full call stack for the CPU?
Any ideas as to how I can resolve the fault?