Asignación de memoria para matrices

La cantidad de memoria que usa una matriz depende del tipo de datos utilizado para crear la matriz. La asignación mínima dentro del controlador es de 4 bytes, que es lo mismo que 4 SINT, 2 INT o 1 DINT.
Los siguientes ejemplos muestran la asignación de memoria para diversas matrices:
small_values como SINT[8]
Este ejemplo muestra una matriz de 8 elementos, todos con tipo de datos SINT (1 byte cada elemento).
Bit
31 24
23 16
15 8
7 0
asignación de datos 1
small_values[3]
small_values[2]
small_values[1]
small_values[0]
asignación de datos 2
small_values[7]
small_values[6]
small_values[5]
small_values[4]
small_values como SINT[3]
Este ejemplo muestra una matriz de 3 elementos, todos con tipo de datos SINT (1 byte cada elemento). Puesto que la asignación mínima de datos es de 4 bytes, el último byte es cero.
Bit
31 24
23 16
15 8
7 0
asignación de datos 1
0
small_values[2]
small_values[1]
small_values[0]
values como INT[4]
Este ejemplo muestra una matriz de 4 elementos, todos con tipo de datos INT (2 bytes cada elemento).
Bit
31 16
15 0
asignación de datos 1
valores[1]
valores[0]
asignación de datos 2
valores[3]
valores[2]
big_values como DINT[2]
Este ejemplo es una matriz de 2 elementos, cada uno de ellos de tipo de datos DINT (4 bytes cada elemento).
Bit
31 0
asignación de datos 1
big_values[0]
asignación de datos 2
big_values[1]
timer_list como TIMER[2]
Este ejemplo es una matriz de 2 elementos, donde cada elemento es una estructura TIMER (12 bytes cada estructura).
Bit
31 0
asignación de datos 1
bits de estado de timer_list[0]
asignación de datos 2
timer_list[0].pre
asignación de datos 3
timer_list[0].acc
asignación de datos 4
bits de estado de timer_list[1]
asignación de datos 5
timer_list[1].pre
asignación de datos 6
timer_list[1].acc
small_values como SINT[2,2,2]
Este ejemplo es una matriz tridimensional de 8 elementos, cada uno de ellos de tipo de datos SINT.
Bit
31 24
23 16
15 8
7 0
asignación de datos 1
small_values[0,1, 1]
small_values[0,1, 0]
small_values[0,0, 1]
small_values[0,0, 0]
asignación de datos 2
small_values[1,1, 1]
small_values[1,1, 0]
small_values[1,0, 1]
small_values[1,0, 0]
big_values como DINT[2,2,2]
Este ejemplo es una matriz tridimensional de 8 elementos, cada uno de ellos de tipo DINT.
Bit
31 0
asignación de datos 1
big_values[0,0,0]
asignación de datos 2
big_values[0,0,1]
asignación de datos 3
big_values[0,1,0]
asignación de datos 4
big_values[0,1,1]
asignación de datos 5
big_values[1,0,0]
asignación de datos 6
big_values[1,0,1]
asignación de datos 7
big_values[1,1,0]
asignación de datos 8
big_values[1,1,1]
Puede modificar dimensiones de matriz al programar sin conexión sin perder datos de etiqueta. No puede modificar dimensiones de matriz al programar en línea.
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal