Professional Documents
Culture Documents
OB 1 FB FB FC
FB FB FB
FB FC FC
Contenidos Página
Sistema Operativo
DB DB
Ciclo
Tiempo OB
FC FB SFC
Bloques de
Proceso Organización
Error FB FC SFB
Funciones Una función (FC) contiene parte de la funcionalidad del programa. Es posible
FC, SFC programar funciones a las que se les pueda asignar parámetros. Cómo resultado,
las funciones también se pueden utilizar para tareas repetitivas o funcionalidades
complejas tales como cálculos.
Las Funciones de Sistema (SFC) son funciones integradas en el sistema
operativo de la CPU. La cantidad de SFC‘s y su funcionalidad es fija. Podemos
encontrar más información en la ayuda en línea.
Bloques de función Básicamente, los bloques de función ofrecen la misma funcionalidad que las
FB, SFB funciones. La diferencia radica en que los bloques de función poseen su propia
área de memoria en forma de bloques de datos de instancia. Como resultado, los
bloques de función están concebidos para tareas muy repetitivas o
funcionalidades complejas, como tareas de control en lazo cerrado.
Los Bloques de Función de Sistema (SFB) son funciones parametrizables
integradas en el sistema operativo de la CPU. Su número y funcionalidad es fijo.
Se puede encontrar más información en la ayuda en línea.
Bloques de datos Los bloques de datos (DB) son áreas de datos del programa de usuario en
DB las que los datos son distribuidos de forma estructurada.
Operaciones Se puede utilizar todo el repertorio de instrucciones en todos los bloques (FB,
Permitidas FC y OB).
SITRAIN Formación en S7 NIVEL 1
Automatización y Accionamientos Página 7-2 Editar Bloques
Estructura de Programa
Cuba A
Bomba
OB 1 OB 1 Cuba B OB 1
Mezclador
Salida
Salida
Todas las instrucciones Las instrucciones para funciones Las funciones reutilizables son
se encuentran en un individuales se encuentran en cargadas en bloques individuales.
bloque (usualmente en bloques individuales. El OB1 El OB1 (u otros bloques) llama a
el bloque de llama a los bloques individuales otros bloques y pasa los datos
organización OB1) uno tras otro. pertinentes.
Programa Lineal Todo el programa se encuentra en un modulo (OB1) con todas las instrucciones
juntas.
Este modelo se asemeja a un esquema de relés, que se reemplaza por un
controlador lógico programable. La CPU procesa las instrucciones individuales
una detrás de la otra.
Programa El programa está dividido en bloques, donde cada bloque solo contiene el
Dividido programa para resolver una tarea parcial. Es posible dividir aún más en
segmentos dentro de un bloque. Podemos generar plantillas de segmento para
segmentos del mismo tipo.
El bloque de organización OB 1 contiene instrucciones que llaman a los otros
bloques en una secuencia definida.
PAE PAA
Programa
Byte 0 de usuario Byte 0
Byte 1 Byte 1
Byte 2 1 Byte 2
: : :
: : : 1
: U E 2.0 :
= A 4.3
:
:
:
:
Área de memoria de la CPU Área de memoria de la CPU
Introducción La CPU comprueba el estado de las entradas y las salidas en cada ciclo. Existen
áreas de memoria específicas en las que se almacenan los datos binarios de los
módulos: la PAE y la PAA. El programa accede a estos registros durante el
procesamiento.
PAA La tabla de imagen de proceso de salida contiene los valores de salida resultantes
de la ejecución del programa. Estos se envían a las salidas reales (A) al final del
ciclo.
Programa de Usuario Cuando comprobamos las entradas en el programa de usuario, por ejemplo con la
instrucción U E 2.0, se evalua el último estado de señal desde la PAE. Esto
garantiza la llegada del mismo estado de señal cuando realizamos consultas
múltiples de la entrada dentro de un ciclo.
Módulo de
Inicio del tiempo de supervisión de ciclo
entradas
Arranque La CPU lleva a cabo un rearranque completo (con el OB100) cuando alimentamos
o cuando pasamos de STOP --> RUN. Durante un rearranque completo, el
sistema operativo borra las marcas, temporizadores y contadores no remanentes,
borra la pila de interrupciones y la pila de bloques, resetea todas las alarmas de
proceso y diagnóstico almacenadas e inicia el tiempo de vigilancia del ciclo.
Ciclo de Scan El funcionamiento cíclico de la CPU se compone de tres secciones principales,
como se muestra en el diagrama de arriba:
• La CPU comprueba el estado de las señales de entrada y actualiza la tabla
de imagen de proceso de entrada.
• Ejecuta el programa de usuario con sus respectivas instrucciones.
• Escribe los valores de la tabla de imagen de proceso de salida en los
módulos de salidas.
Insertar un Bloque Seleccionar la opción de menú Insertar -> Bloque S7 para visualizar una lista de
los tipos de bloques:
• Los Bloques de Organización (OB) son llamados por el sistema operativo.
Constituyen la interfase entre el sistema operativo y el programa de usuario.
2x
Arrancar el Editor Podemos arrancar el Editor LAD/FBD/STL seleccionando Inicio -> Simatic ->
STEP 7 -> LAD/STL/FBD – Programar Bloques S7.
Se recomienda una forma más rápida de arrancar el Editor:
1. Seleccionar el objeto "Bloques" en la ventana de proyecto del Administrador
SIMATIC.
2. Hacer doble click en cualquier bloque para arrancar el Editor.
Elementos de Cuando usemos los lenguajes de programación LAD y FBD podemos insertar
Programa elementos gráficos simples de programa directamente en el programa de usuario
desde la barra de tareas.
Podemos hacer click en el icono “Elementos de Programa" para abrir otra ventana
que contiene más elementos de programa. El contenido de esta ventana depende
del lenguaje de programación seleccionado (LAD/FBD/STL).
Tabla de
declaración
Sección de
código
Elementos de programa
Tabla de Declaración La tabla de declaración pertenece al bloque. Se usa para declarar variables y
parámetros para el bloque.
La tabla de declaración se verá en detalle en el capítulo “Funciones y Bloques de
Función".
STL
U E 0.0
U E 0.1
= A8.0
FBD
E 0.0 &
A8.0
E 0.1 =
LAD
LAD/FBD => STL Podemos convertir secciones de programa que hayan sido escritas en lenguajes
de programación gráfica a STL. De cualquier modo, debemos tener presente que
el resultado de esta conversión no es siempre la solución más eficiente en Lista
de Instrucciones.
STL => LAD/FBD No es posible siempre convertir secciones escritas en STL en LAD o FBD. Las
secciones de código que no puedan ser convertidas, permanecen en STL.
No se pierden secciones de programa durante la conversión.
Elementos Los elementos más usados en LAD y FBD aparecen en forma de iconos en la
barra de tareas. Haciendo click en ellos con el ratón, se insertan en la posicion
seleccionada en el programa.
Cuadro Vacío Podemos utilizar el Cuadro Vacío para insertar elementos LAD o FBD de forma
más rápida. Los elementos se pueden insertar directamente sin tener que
seleccionarlos en la ventana de Elementos de Programa.
Introduciendo las primeras letras del nombre de un elemento, aparece una lista
con los elementos que empiezan por estas letras y podemos hacer entonces
SITRAIN Formación en S7 NIVEL 1
nuestras selección. Página 7-11 Editar Bloques
Automatización y Accionamientos
Programación en STL
Instrucciones El usuario necesita conocer las instrucciones para escribir un programa en STL.
Es posible obtener información sobre la sintaxis y la funcionalidad desde la ayuda
online:
Ayuda -> Ayuda de STL.
Está disponible la siguiente información:
“Sinopsis de las operaciones STL", una descripción de todas las
instrucciones disponibles en este lenguaje de programación.
“Cómo utilizar la lista de instrucciones", una descripción de:
Visualización y sintaxis general de una lista de instrucciones
Constantes (números y letras)
Tipos de Bloques
Contactos de Conmutación y Estados de Señal
Entrega de Parámetros
Segmentos Los Segmentos se insertan de la misma forma que en el Editor LAD/FBD (ver
página anterior).
Realizar Cambios Usamos la tecla "Insertar" para conmutar entre el modo “Sobreescribir" y el modo
"Insertar".
El ajuste actual aparece en la barra de estado.
Guardar un Bloque Cuando hemos finalizado la edición de un bloque, podemos guardarlo en el disco
duro del dispositivo de programación:
• seleccionando la opción de menú Archivo -> Guardar o
• haciendo click en el icono del disco en la barra de tareas.
.
Ejecución Para que un bloque creado por nosotros se incluya en la ejecución cíclica del
Cíclica programa de la CPU, debe ser llamado desde el OB1.
Antes de hacer esto, debemos seleccionar los bloques que queramos cargar:
• Todos los bloques: Seleccionamos el objeto "Bloques" en la parte izquierda
de la ventana de proyecto.
• Varios bloques: Presionamos la tecla CTRL y seleccionamos los
bloques que queramos.
• Un bloque: Seleccionamos el bloque.
Requerimientos Antes de activar el modo observar, debemos abrir el bloque que queramos
observar bien offline u online con el Editor LAD/FBD/STL.
Nota: Para poder realizar el test de un bloque en modo offline, debe cargarse en
primer lugar en el PLC.
Ver El estado del programa se visualiza de distintas formas dependiendo del lenguaje
de programación seleccionado (LAD/FBD/STL).
Cuando la función Observar está activada, no podemos cambiar el lenguaje de
programación en el que vemos el bloque (LAD/FBD/STL).
Abrir Offline
Guardar
Abrir Online
Cargar
Correcciones en Podemos efectuar correcciones en bloques que hayan sido abiertos en online
Bloques u offline, pero no en modo test.
• Cargamos normalmente el bloque modificado en el PLC, lo testeamos,
realizamos más correcciones si fuese necesario y finalmente lo guardamos
en el disco duro cuando haya sido depurado completamente.
• Si no queremos testear el programa de una vez, podemos guardar
directamente los cambios en el disco duro. De este modo se borra la antigua
versión del bloque.
• Si hacemos correcciones en un número determinado de bloques y todavía
no queremos sobreescribir la versión original del programa, podemos cargar,
en primer lugar los bloques modificados en la CPU, sin guardarlos en el disco
duro de la PG.
Podemos guardar los cambios en el disco duro cuando hayamos
comprobado satisfactoriamente el funcionamiento del programa.
Insertar/Sobreescribir El modo insertar es el ajuste por defecto para LAD o FBD. Presionando la tecla
“Insert (Ins)“, activamos el modo sobreescribir. Después de esto, podemos, por
ejemplo, modificar el tipo de temporizador (por ej. cambiar retardo a la conexión
por retardo a la desconexión), sin recablear las entradas y las salidas.
(Q 20.5)
Tarea Usando el interruptor E 0.2, deberemos ser capaces de activar el motor de la cinta a la
DERECHA (A 20.5 o A 8.5), usando el interruptor E 0.3 a la IZQUIERDA (A 20.6 o A
8.6). Si ambos interruptores se presionan simultaneamente, entonces el motor no
girará en ningún sentido (¡Bloqueado!).
(Q 4.0)
… Bloques Lógicos Usamos las opciones “STL”, “LAD”, “FBD” para seleccionar el lenguaje en el que
queremos escribir un nuevo bloque.
Los bloques de función multi-instancia se verán en el curso de programación
avanzada.
… Bloques de Datos Podemos visualizar los bloques de datos con las siguientes vistas:
• vista de declaración o
• vista de datos.
Casillas de estado Cuando observamos el estado de un bloque en STL, sólo se visualizarán las
casillas de estado que activemos en este cuadro de diálogo.
Están disponibles las siguientes opciones:
• Bit de estado Se visualiza el bit de estado.
• Resultado Lógico Se visualiza el resultado lógico de la operación (RLO).
• Estado estándar Se visualiza una palabra de temporizador, de contador o
el contenido del ACU 1- dependiendo de la operación
usada.
• Registros de Los registros de direcciones se usan con
Direcciones *) direccionamiento indirecto.
• ACU2 Se visualiza el contenido del Acumulador 2.
)
• Registros DB * Se visualiza el contenido del bloque de datos relevante.
• Indirecto *) Esta visualización sólo es posible con direccionamiento
indirecto por memoria.
• Palabra de estado Se visualiza la palabra de estado.
• Estándar El botón “Estándar” selecciona el ajuste estándar para las
casillas de estado.
Se visualizan el bit de estado, el RLO y el Estado Estándar.
• Activar inmediatamente los nuevos puntos de parada
Esta función sólo tiene relevancia para la función de test
“Puntos de parada”.
Nota*) Los temas “Direccionamiento Indirecto” , “Registros DB” y la estructura de la
palabra de estado se estudiarán en el curso de programación avanzada.
Campo del Operando Podemos ajustar el número máximo de caracteres para el nombre de una
(ancho) dirección a un número comprendido entre 10 y 24. Esto cambia la anchura del
elemento de programa en LAD y FBD. Con representación simbólica, aparece un
recuadro de acuerdo a la anchura del campo de dirección.
Linea/Color Usamos esta casilla para determinar como se van a representar los siguientes
elementos:
• Elemento seleccionado (color)
• Contactos (línea)
• Estado se cumple (color y línea)
• Estado no se cumple (color y línea)