Está en la página 1de 6

3.

AREAS DE MEMORIA DE LA CPU

En el presente capitulo se describe la memoria con la que cuenta la CPU de los autómatas
SIMATIC S7, haciendo énfasis en la CPU 314 IFM. La memoria de la CPU se subdivide en las
siguientes tres áreas:

• Memoria de carga.
• Memoria de trabajo.
• Memoria del sistema.

Figura 25. Areas de memoria de la CPU S7.

Memoria de Carga.

La memoria de carga permite almacenar el programa de usuario sin asignación simbólica de


operandos (tabla de símbolos) o comentarios de programa, pues éstos permanecen en la memoria
de la unidad de programación (PG o PC). En la memoria de carga solamente se depositan los
bloques lógicos y los bloques de datos.

La memoria integrada de carga de la CPU S7-314 IFM está constituida por una memoria RAM con
capacidad de almacenamiento de 48 Kbytes y una memoria EEPROM con capacidad de
almacenamiento de 48 Kbytes.

NOTA:
Todos los datos contenidos en memoria RAM se pierden ante un corte de tensión en el autómata,
mientras los datos contenidos en memoria EEPROM se mantienen.

Memoria de Trabajo.

La memoria de trabajo únicamente contiene los bloques lógicos y partes de bloques relevantes
para la ejecución del programa, de esta forma se garantiza una rápida ejecución del programa de
usuario y no se sobrecarga innecesariamente la memoria de trabajo (la memoria de trabajo es una
memoria RAM integrada con capacidad de almacenamiento de 32 Kbytes). Los bloques
caracterizados como no relevantes para la ejecución del programa se memorizan exclusivamente
en la memoria de carga.

UNIVERSIDAD INDUSTRIAL DE SANTANDER 27


AUTOMATAS PROGRAMABLES SIMATIC S7

Conviene anotar que el tratamiento del programa se desarrolla exclusivamente en el área


correspondiente a las memorias de trabajo y del sistema.

Memoria del Sistema.

La memoria del sistema (memoria de naturaleza RAM) contiene los elementos de memoria que
cada CPU pone a disposición del programa de usuario, tales como: la imagen de proceso de las
entradas y salidas, marcas, temporizadores y contadores. Contiene además las pilas de bloques y
de interrupción.

La memoria del sistema de la CPU ofrece además una memoria temporal (pila de datos locales),
asignada al programa para los datos locales del bloque llamado. Estos datos sólo tienen vigencia
mientras esté activo el bloque correspondiente.

3.1. MEMORIZACION DE PROGRAMAS EN LA CPU

Como ya se menciono anteriormente, en la memoria de carga únicamente se depositan los


bloques lógicos, mientras los comentarios y tabla de símbolos permanecen en la unidad de
programación (fig. 26). El conocimiento de esta característica puede ser importante al momento de
realizar mejoras de sistemas de automatización, pues implica que al tener un autómata podemos
descargar su programa de usuario, pero en “lenguaje de máquina”, y por tanto no tendremos
ninguna de las ventajas que representan los comentarios de programa.

Figura 26. Memorización de programas en la CPU.

También tenga en cuenta que dependiendo de si la memorización se desea efectuar en memoria


RAM o memoria EEPROM, las posibilidades son diferentes (tabla 10).

Tabla 10. Posibilidades de carga en memoria CPU.

TIPO DE MEMORIA POSIBILIDADES DE CARGA


Cargar y borrar bloques individuales.
RAM Cargar y borrar un programa S7 completo.
Recargar bloques individuales.
FEPROM integrada Cargar programas S7 completos

UNIVERSIDAD INDUSTRIAL DE SANTANDER 28


AREAS DE MEMORIA DE LA CPU

3.2. IMAGEN DE PROCESO DE LAS ENTRADAS/SALIDAS

Cuando en el programa de usuario se consultan las áreas de entrada y salida, en realidad el


autómata no consulta los correspondientes estados de señal en los módulos de señales digitales,
sino que consulta los valores consignados en un área de la memoria del sistema de la CPU. Esta
área se denomina imagen de proceso de las entradas o imagen de proceso de las salidas, según
sea que el área contenga los valores de las entradas o los valores de las salidas.

En comparación con el acceso directo a los módulos de entrada/salida, el acceso a la imagen de


proceso ofrece la ventaja de que la CPU dispone de una imagen consistente de las señales del
proceso durante la ejecución cíclica del programa, es decir, el estado de una señal será el mismo
durante la ejecución de un ciclo, aunque la señal cambie de estado durante el desarrollo del ciclo.
Si durante la ejecución del programa varía un estado de señal en un módulo de entrada, dicho
cambio en el estado de señal sólo se reflejara en la imagen de proceso hasta que ésta sea
actualizada al inicio del próximo ciclo. Además, el acceso a la imagen de proceso requiere mucho
menor tiempo que el acceso directo a los módulos de señales, ya que la imagen de proceso se
encuentra en la memoria interna de la CPU.

La CPU sólo puede acceder a la imagen de proceso de aquellos módulos que han sido
configurados con STEP 7 o que son accesibles por direccionamiento por defecto.

La imagen de proceso es actualizada cíclicamente por el sistema operativo. Al inicio de la


ejecución cíclica del programa, los estados de señal de los módulos de entrada se transmiten a la
imagen de proceso de las entradas. Al final de cada ejecución cíclica del programa, los estados de
señal de la imagen de proceso de las salidas se transfieren a los módulos de salidas (fig. 27).

Figura 27. Ejecución cíclica del programa de usuario.

3.3. PILA DE DATOS LOCALES

La pila de datos locales (pila L o L-Stack) es un área en la memoria del sistema de la CPU, donde
se almacenan:

• Las variables temporales de los datos locales de bloques (ver parametrización de Funciones y
Bloques de Funciones, capitulo 7).

UNIVERSIDAD INDUSTRIAL DE SANTANDER 29


AUTOMATAS PROGRAMABLES SIMATIC S7

• La información de arranque de los bloques de organización (tabla de variables de los bloques


de organización, capitulo 14).
• Informaciones para la transferencia de parámetros, cuando se llaman bloques de función y
funciones.
• Resultados intermedios de la lógica en programas escritos en Esquema de contactos.

El tamaño de la pila de datos locales depende del tipo de CPU, en la CPU S7-314 IFM esta área
tiene un tamaño de 1536 Bytes.

La pila de datos locales se divide en partes iguales entre las diferentes prioridades, las prioridades
son algo así como los niveles de importancia en que están clasificados los OB’s (por ejemplo, el
OB 1 tiene prioridad 1 y el OB 35 tiene prioridad 12). Para la CPU S7-314 IFM existen seis
prioridades, cada una con una capacidad de almacenamiento de 256 Bytes. Es decir, cada
prioridad dispone de una área propia de datos locales, lo que garantiza que todas las prioridades,
así como sus OB asignados, dispongan de espacio para sus datos locales. Igualmente, esto
implica que cuando en una prioridad se desborda la capacidad de 256 Bytes, la pila se desborda y
la CPU pasa a STOP aunque las otras prioridades tengan su propia área de datos locales
totalmente libre.

3.4. PILA DE BLOQUES

La pila de bloques (B-Stack) es un área en la memoria del sistema de la CPU que memoriza las
siguientes informaciones correspondientes a un bloque lógico cuyo tratamiento ha sido
interrumpido:

• Tipo de bloque (OB, FB, FC, SFB, SFC), número del bloque y dirección de retorno del bloque
que ha sido interrumpido.
• Número de los bloques de datos que estaban abiertos en el momento de la interrupción.

Tras la interrupción, el programa de usuario puede continuar con los datos memorizados. Los
eventos siguientes implican la memorización de informaciones en la pila B:

• La llamada de otro bloque dentro de un programa de CPU.


• Una interrupción desde una prioridad superior.

3.5. PILA DE INTERRUPCIÓN.

Si la ejecución del programa es interrumpida por un OB de mayor prioridad, el sistema operativo


memoriza los contenidos actuales de los acumuladores y los registros de direcciones, así como el
número y tamaño de los bloques de datos abiertos en la pila de interrupción (pila U o U-Stack).

Finalizada la ejecución del nuevo OB, el sistema operativo carga las informaciones desde la pila U
y continúa la ejecución del bloque interrumpido en el punto donde ocurrió dicha interrupción.

3.6. BUFER DE DIAGNOSTICO

El búfer de diagnóstico es un área de memoria en la cual se registran informaciones detalladas


acerca de los eventos de diagnóstico en la secuencia de su aparición. La información que se
inscribe en el búfer de diagnóstico es idéntica a la información de arranque (tabla de declaración
de variables de los bloques de organización), que se transfiere al correspondiente bloque de
organización.

Se entiende por evento de diagnostico todo evento que implica una entrada en el búfer de
diagnostico de la CPU. El evento de diagnostico puede ser generado por la CPU o por un módulo
de señales. Los eventos de diagnósticos pueden ser:

UNIVERSIDAD INDUSTRIAL DE SANTANDER 30


AREAS DE MEMORIA DE LA CPU

• Errores internos y externos de un módulo.


• Error del sistema en la CPU.
• Cambios de estados operativos.
• Errores en el programa de usuario.
• Errores en el cableado del proceso.
• Mensajes de usuario.

La longitud del búfer de diagnóstico depende del tipo de CPU. Está estructurado como búfer
anular, es decir, si el búfer está lleno, la próxima entrada sobrescribe la entrada más antigua
contenida en el mismo y todas las demás entradas se desplazan de forma correspondiente. Por
tanto el evento de diagnóstico más reciente aparece siempre en primer lugar (fig. 28).

Figura 28. Estructura anular del Búfer de diagnóstico.

El registro de los datos de diagnóstico a través del diagnóstico del sistema no tiene que ser
programado, está disponible de modo estándar y funciona automáticamente. Las entradas en el
búfer de diagnóstico no se pueden borrar, el contenido del búfer de diagnóstico permanece aún
tras el borrado total. Estos avisos de diagnóstico se pueden leer en desde el monitor de la unidad
de programación PG o PC (fig. 29) o a través de la SFC 51.

Figura 29. Ventana del Búfer de diagnóstico en STEP 7.

UNIVERSIDAD INDUSTRIAL DE SANTANDER 31


AUTOMATAS PROGRAMABLES SIMATIC S7

El búfer de diagnóstico ofrece la posibilidad de:

• En caso de parada de la instalación: evaluar los últimos eventos antes del STOP y localizar la
causa del STOP.
• Detectar más rápidamente las causas de los errores y aumentar así la disponibilidad de la
instalación.
• Evaluar y optimizar el comportamiento dinámico de la instalación.

3.7. AREAS DE MEMORIA REMANENTE

En caso de corte de la alimentación o de borrado total, la memoria de la CPU S7-300 (memoria de


carga dinámica RAM, memoria de trabajo y memoria del sistema) es borrada, perdiéndose todos
los datos memorizados en dichas áreas. Las CPU S7-300 ofrecen las siguientes posibilidades para
salvaguardar el programa y los datos:

• Los datos memorizados en las memorias de carga, de trabajo y en secciones de la memoria


del sistema se pueden respaldar con una pila tampón.
• El programa se puede memorizar en FEPROM (memoria integrada).
• Una determinada cantidad de datos, dependientes de la CPU se pueden salvaguardar en una
área de RAM no volátil (NVRAM).

3.7.1. Pila Tampón.

El respaldo por pila tampón permite conservar de forma remanente el contenido de las memorias
de carga y de trabajo en caso de falta de corriente.

3.7.2. RAM no volátil (NVRAM).

Independientemente de si existe o no existe respaldo por pila tampón, la CPU ofrece un área de
RAM no volátil, que protege los siguientes tipos de datos en caso de corte de alimentación o en
caso de paso de la CPU de STOP a RUN:

• Datos memorizados en un bloque de datos (DB).


• Valores de temporizadores y contadores.
• Datos memorizados en área de marcas.

El tamaño total de la NVRAM en la CPU S7-314 IFM es de 144 Bytes y la distribución de esta área
de memoria entre los tipos de datos mencionados anteriormente se configura con el programa
STEP 7 cuando se configuran las propiedades de la CPU.

UNIVERSIDAD INDUSTRIAL DE SANTANDER 32

También podría gustarte