Hello Group
I have an application with a large structure that stores information in RAM for a period of about 4 seconds. I want to store the information at intervals of 20 to 40 ms.
The data structure is as follows:
The problem I'm seeing is that the BOOLEAN variables take up 8 bits instead of 1 bit. They should take up one bit since a BOOLEAN is either a 1 or a 0.
How can I find out how much the variables take up in memory?
Thank you very much.
I have an application with a large structure that stores information in RAM for a period of about 4 seconds. I want to store the information at intervals of 20 to 40 ms.
The data structure is as follows:
Type D_Logger1 (P_Encoder As Int, _ ' Posicion del Encoder
P_Encoder_F As Int, _ ' Posicion del Encoder Filtrada
P_Puerta As Int , _ ' Posicion de la Puerta en %
C_Velocidad As Int, _ ' Consigna de Velocidad al Accionamiento
Intensidad_M As Int, _ ' Intensidad Consumida por el Motor
P_Abierta As Boolean, _ ' Indica Puerta abierta
P_Cerrada As Boolean, _ ' Indica Puerta Cerrada
P_Parada As Boolean, _ ' Indica Puerta Parada
P_Abriendo As Boolean, _ ' Indica Puerta Abriendo
P_Cerrando As Boolean, _ ' Indica Puerta Cerrando
O_Freno As Boolean, _ ' Indica la Orden al Freno
O_Abrir As Boolean, _ ' Indica la Orden de Abrir al Accionamiento
O_Cerrar As Boolean, _ ' Indica la Orden Cerrar al Accionamiento
Foto_Celula As Boolean, _ ' Estado de la foto celula
Secuencia As Byte, _ ' Numero de Secuencia
PRG_P_A As Boolean, _ ' El programa pide Abrir la puerta
PRG_P_C As Boolean, _ ' El programa pide Cerrar la Puerta
CP_Encoder As Byte, _ ' Calidad de la Comunicacion con el Encoder en el ultimo Segundo
CT_Encoder As Byte, _ ' Calidad de la Comunicacion con el Encoder Total
AOM As Boolean, _ ' Indica Alguna Orden de Movimiento a la Puerta
Contactor_A As Boolean, _ ' Orden al Contactor Abrir
Contactor_C As Boolean, _ ' Orden al Contactor Cerrar
Emergencia_Ok As Boolean, _ ' Estado General Parada de Emergencia
PLC_Run As Boolean, _ ' Indica si el PLC esta en RUN
Modo_M As Byte, _ ' Indica el Modo de maniobra de la Puerta
E00 As Boolean, _ ' Estado de la Entrada E00
E01 As Boolean, _ ' Estado de la Entrada E01
PE_Encoder As Boolean, _ ' Estado Parada de Emergencia del Encoder
Fallo_T_FT As Boolean, _ ' Indica Fallo en el Test de la Fotocelula
F_C_E As Boolean, _ ' Fallo de Comunicacion con el Encoder
Memo_E_NM As Boolean, _ ' Memoria Fallo el Encoder no se mueve
PE_Ext As Boolean, _ ' Estado Parada de Emergencia Exterior
VF_Fallo As Boolean, _ ' Estado del Fallo del Accionamiento
E11 As Boolean, _ ' Estado de la Entrada E11
E12 As Boolean, _ ' Estado de la Entrada E12
E13 As Boolean, _ ' Estado de la Entrada E13
E14 As Boolean, _ ' Estado de la Entrada E14
E15 As Boolean, _ ' Estado de la Entrada E15
E16 As Boolean, _ ' Estado de la Entrada E16
E06 As Boolean, _ ' Estado de la Entrada E06
E10 As Boolean _ ' Estado de la Entrada E10
)
Public Logger1(400) As D_Logger1 ' Datos del Logger
The problem I'm seeing is that the BOOLEAN variables take up 8 bits instead of 1 bit. They should take up one bit since a BOOLEAN is either a 1 or a 0.
How can I find out how much the variables take up in memory?
Thank you very much.