A-53
Appendices
NJ/NX-series CPU Unit Built-in EtherNet/IP Port User’s Manual (W506)
A-5 Variable Memory Allocation Methods
A
A-5-1 Variable Memory Allocation Rules
The alignments and the amounts of memory that are allocated for the basic data types and enumera-
tions are given below.
*1 N is the maximum number of characters handled. For example, if a maximum of 10 single-byte characters are
handled, the NULL character is added, so memory for 11 characters must be reserved.
The elements of arrays and the members of structures and unions are located in memory for the most
efficient access. The alignments and the amounts of memory that are allocated for arrays, structures,
and unions are determined by the variable declarations, as described below.
* BOOL arrays are an exception. Refer to Precautions for Correct Use, below, for the amount of memory that is
allocated for BOOL arrays.
Precautions for Correct UsePrecautions for Correct Use
Amount of Memory That Is Allocated for BOOL Arrays
Two bytes are allocated in memory for individual BOOL variables, BOOL structure members,
and BOOL union variables. However, for a BOOL array, two bytes of memory are not allocated
for each element. One bit is allocated in order for each element. For the entire array, a multiple of
two bytes of memory is allocated (including unused bits).
Data type Alignment [bytes]
Amount of memory that
is allocated [bytes]
BOOL 22
BYTE, USINT, or SINT 11
WORD, UINT, or INT 22
DWORD, UDINT, or DINT 44
LWORD, ULINT, or LINT 88
REAL 44
LREAL 88
TIME, DATE, TIME_OF_DAY, or DATE_AND_TIME 88
STRING[N+1]
*1
1N+1
Enumerations 44
Data type Alignment Amount of memory that is allocated
Array
Same as alignment of the data type
of the elements
(Amount of memory that is allocated for the data type of the
elements) × Number of elements
*
Structure
The largest alignment of all of the
members
The integral multiple of the alignment that is larger than the
total amount of memory that is allocated when the mem-
bers are arranged in order at integral multiples of the align-
ment of the data types of the members
Union
The largest alignment of all of the
members
The largest amount of memory that is allocated for any of
the members
Variable Table
Name
A
B
C
Data type
BOOL
ARRAY[1..5]OF BOOL
ARRAY[0..18]OF BOOL
Variable A
Variable B
Variable C
Bytes
Memory
First byte
First byte + 1
First byte + 2
First byte + 3
First byte + 4
First byte + 5
First byte + 6
First byte + 7
Two bytes are allocated.
Two bytes are allocated
for 5 elements.
Four bytes are allocated
for 19 elements.