Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Array size exceeds supported limit

The declared array has more elements than the compiler can safely handle. The total number of elements (the product of all dimension lengths) must not exceed UDINT#4_294_967_295.

Extremely large arrays cause excessive compilation times and may fail to link because the resulting object file cannot represent them.

Example

VAR
    // 5 × 988_010 × 3 × 91 × ... = ~837 billion elements — exceeds UDINT max
    huge : ARRAY[1..5, 2345324..3333333, -1..1, 10..100] OF DINT;
END_VAR

Possible fixes

  • Reduce the array dimensions.
  • Use dynamically allocated memory via REF_TO and runtime allocation if the platform supports it.
  • Split the data across multiple smaller arrays.