Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ÍNDICE
OBJETIVOS................................................................................................................................................................ 287
INTRODUCCIÓN....................................................................................................................................................... 288
10.1. Áreas de memoria de la CPU............................................................................................................................ 289
10.2. Imagen del proceso.......................................................................................................................................... 291
10.3. Ciclo de ejecución del programa del autómata............................................................................................... 292
10.4. Bloques del programa de usuario.................................................................................................................... 294
10.4.1. Bloques de organización.................................................................................................................................... 295
10.4.2. Bloques de organización para la ejecución cíclica del programa (OB1)...................................................................... 296
10.5. Definir bloques lógicos..................................................................................................................................... 298
10.6. Funciones (FC)................................................................................................................................................... 299
10.6.1. Llamada a una función....................................................................................................................................... 300
10.6.2. Entrada (EN) y salida (ENO)................................................................................................................................. 302
RESUMEN................................................................................................................................................................... 305
285
10. Programación del autómata (III)
OBJETIVOS
■ Describir cómo se divide y utiliza la memoria del autómata.
■ Conocer los diferentes bloques que componen un programa en Step7/ Tia Portal.
287
Autómatas programables TIA Portal
INTRODUCCIÓN
288
10. Programación del autómata (III)
■■ Memoria de carga.
■■ Memoria de sistema.
■■ Memoria de trabajo.
Memoria de carga
La memoria de carga permite almacenar el programa de usuario, sin los valores de la
tabla simbólica ni comentarios (éstos permanecen el la memoria del PG u ordenador),
también almacena información del sistema (configuración, enlaces, parámetros del
módulo, etc.). Los bloques que no se consideran relevantes para la ejecución, se
guardan exclusivamente en la memoria de carga. La memoria de carga puede ser
RAM o EPROM. Para un S7-300 la memoria de carga es la Micro Memory Card,
mientras que un S7-1200 dispone de memoria ya integrada (aunque también puede
sustituirse por una Memory Card), y en ella es posible almacenar todos los datos de
configuración de un proyecto.
Memoria de sistema
La memoria del sistema (RAM) está integrada en la CPU y no se puede ampliar.
Contiene los elementos de memoria que cada CPU pone a disposición del programa
de usuario:
■■ 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.
Memoria de trabajo
La memoria de trabajo está integrada en la CPU y no se puede ampliar. Sirve para
procesar el código y los datos del programa de usuario (partes relevantes para la
ejecución del programa). Este procesamiento tiene lugar exclusivamente en el área de
la memoria de trabajo y en la memoria del sistema.
289
Autómatas programables TIA Portal
290
10. Programación del autómata (III)
291
Autómatas programables TIA Portal
■■ Se escriben los valores de la imagen del proceso de las salidas en los módulos
de salida.
■■ Al finalizar el ciclo, el sistema operativo realiza las tareas pendientes, ej. cargar y
borrar bloques, recibir y enviar datos, etc.
292
10. Programación del autómata (III)
La ejecución cíclica del programa, tras la conexión, comienza tan pronto el programa
de arranque haya finalizado sin errores. En el programa de arranque se pueden definir
determinados preajustes para el programa cíclico a través de la programación del OB
de arranque.
293
Autómatas programables TIA Portal
Tipos de bloques
En un programa de usuario con Step7/ Tia Portal se pueden utilizar diversos tipos de
bloques:
■■ Bloques de función (FB): bloques con memoria que puede programar el mismo
usuario.
■■ Bloques de datos globales (DB global): áreas de datos para almacenar los datos
de usuario.
Los OBs, FBs, Bloques de función del sistema, FCs y funciones del sistema contienen
partes del programa, por lo que se denominan también bloques lógicos. El número
permitido de bloques de cada tipo y su longitud admisible dependen de la CPU.
294
10. Programación del autómata (III)
No todos los bloques de organización y sus prioridades existen en todas las CPUs S7.
Información de arranque de un OB
Cada bloque de organización contiene una información de arranque de 20 bytes de
datos locales, suministrada por el sistema operativo durante el arranque de un OB.
La información de arranque indica el evento de arranque del OB, la fecha y hora de
arranque de OB, así como errores ocurridos y eventos de diagnóstico.
295
Autómatas programables TIA Portal
Una vez finalizada la ejecución del OB 1, el sistema operativo envía datos globales.
Antes de arrancar de nuevo el OB 1, el sistema operativo escribe la imagen del
proceso de las salidas en los módulos de salidas, actualiza la imagen del proceso de
las entradas y recibe datos globales.
296
10. Programación del autómata (III)
297
Autómatas programables TIA Portal
■■ DBs de instancia 1-3: los parámetros actuales y los datos estáticos para el
control del material A, del material B y del motor del agitador son diferentes, por
lo que se depositan en tres DBs de instancia asociados al FB 1.
298
10. Programación del autómata (III)
Campo de aplicación
La FC contiene un programa que se ejecuta cada vez que la misma es llamada por
otro bloque lógico. Las funciones se pueden utilizar para:
■■ “DescargaCamion_Aux”.HabilitOperadorHorno.
■■ “TiempoUltimoScan”.
■■ T#3H.
■■ “DescargaCamion_Aux”.AuxFinHabilitaTiempo.
■■ “DescargaCamion_Aux”.AuxFinHabilitaOperador.
■■ “DescargaCamion_Aux”.AuxFinHabilitaTiempo.
■■ “DescargaCamion_Aux”.AuxFinHabilitaOperador.
299
Autómatas programables TIA Portal
Variables temporales
Al generar bloques se pueden declarar variables temporales (TEMP) que sólo estarán
disponibles durante el procesamiento del bloque, pudiendo volver a escribirse después.
Antes del primer acceso de lectura, los datos locales deberán inicializarse. El acceso
a los datos locales tiene lugar más rápidamente que el acceso a los datos en DBs. La
CPU dispone de memoria para las variables temporales (datos locales) de los bloques
que se acaban de procesar. El tamaño de esta área de memoria depende de la CPU.
L #TiempoOB
ITD
T #AuxTiempoOB
La variable temporal #AuxTiempoOB es cargada con un valor conocido an-
tes de ser utilizada en la siguiente sentencia.
L #AuxTiempoOB
L #TiempoTranscurrido
+D
T #TiempoTranscurrido
300
10. Programación del autómata (III)
Para el lenguaje FUP la llamada se realiza a través del cuadro “??”, de forma similar al
caso estudiado para lenguaje KOP.
Una llamada puede ser condicionada por una lógica combinacional, de comparación,
etc. El siguiente segmento muestra como habilitar o deshabilitar la llamada a una
función según el valor de una variable tipo BOOL:
301
Autómatas programables TIA Portal
Una función puede ser llamada desde un bloque organizativo (OB), desde otra función
(FC) o desde un bloque de función (FB).
En la siguiente figura observamos que se habilita EN para la función FC1, por lo que
la misma se ejecuta. Cuando dicha función finaliza no se habilita ENO, entonces
tampoco se habilita EN para la función FC2. En lugar de ejecutarse esta función, se
ejecuta la lógica del segmento 5.
302
10. Programación del autómata (III)
303
10. Programación del autómata (III)
RESUMEN
■
La memoria del autómata está dividida en tres partes: la memoria de carga utilizada
para la transferencia de programas y configuraciones, la memoria de sistema contiene
elementos que puede utilizar el usuario (temporizadores, marcas, etc.) y la memoria de
trabajo donde se guardan las partes relevantes a la ejecución del programa.
■
El estado de las entradas y salidas es almacenado en cada ciclo en la imagen del
proceso para ser utilizado luego en el programa.
■
Cuando el autómata cambia a modo RUN se ejecuta el bloque organizativo de
arranque, utilizado para inicializar valores, al finalizar el mismo comienza la ejecución
cíclica del bloque organizativo principal (OB1).
■
Para una mejor estructuración del programa, el usuario cuenta con una serie de
bloques preprogramados, tales como Bloques de función de sistema y Funciones de
sistema; también puede programar otros según su necesidad, éstos pueden ser FCs,
FBs, DBs, etc.
■
Una función es un bloque sin memoria que el usuario puede programar a su
conveniencia. En ella se pueden declarar parámetros de entrada y salida y variables
temporales, requeridas para la ejecución de la función.
305