Automatización Industrial · Automatización Industrial Curso 2001-2001 Programación: SIMATIC...

55
1 Automatización Industrial Programación Curso 2001-2001 www.infoPLC.net

Transcript of Automatización Industrial · Automatización Industrial Curso 2001-2001 Programación: SIMATIC...

1

Automatización Industrial

Programación

Curso 2001-2001

www.infoPLC.net

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

NOCIONES BÁSICASCargar programas en la CPU y en la PG/PC

El programa comprende tres elementos: el programa de usuario,

el bloque de datos (opcional) y la configuración de la CPU

(opcional).

Cargando el programa en la CPU se almacenan dichos

elementos en la memoria RAM (de la CPU).

La CPU también copia automáticamente el programa de usuario,

el bloque de datos (DB1) y la configuración de la CPU en la

EEPROM no volátil para que se almacenen allí.

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

NOCIONES BÁSICASCargar programas en la CPU y en la PG/PC

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

NOCIONES BÁSICASCargar programas en la CPU y en la PG/PC

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

NOCIONES BÁSICASCargar programas en la CPU y en la PG/PC Ajustar el modo de operación de la CPU

La CPU S7-200 tiene dos modos de operación:

STOP: La CPU no ejecuta el programa. Cuando está en modo STOP, es posible cargar

programas o configurar la CPU.

RUN: La CPU ejecuta el programa. Cuando está en modo RUN, no es posible cargar programas ni configurar la CPU.

El diodo luminoso (LED) en la parte frontal de la CPU indica el modo de operación actual.

Para poder cargar un programa en la memoria de la CPU es preciso cambiar a modo STOP.

SELECTOR

Si el selector se pone en STOP, se detendrá la ejecución del programa.

Si el selector se pone en RUN, se iniciará la ejecución del programa.

Si el selector se pone en TERM (terminal), no cambiará el modo de operación de la CPU. Será posible cambiarlo utilizando el software de programación (STEP 7-Micro/WIN).

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

NOCIONES BÁSICASCargar programas en la CPU y en la PG/PC Ajustar el modo de operación de la CPU

En modo STOP, la CPU se encuentra en un estado semiactivo. El programa de usuario no se ejecuta, pero las entradas se actualizan. Las condiciones de interrupción se inhiben. Si ocurren interrupciones de comunicación, la CPU recibe los mensajes y ejecuta las peticiones según sea necesario. Mientras la CPU está en modo STOP, los cambios de los valores de las E/S se efectúan en la imagen del proceso, con excepción de la función "Forzar" que tiene prioridad sobre los cambios de los valores de E/S en la imagen del proceso. Estando la CPU en modo STOP, el usuario puede cargar el programa en la CPU y en la PG/el PC, así como borrar la memoria.

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

NOCIONES BÁSICASCargar programas en la CPU y en la PG/PC Ajustar el modo de operación de la CPU

En modo RUN, la CPU lee las entradas, ejecuta el programa, escribe en las salidas, procesa las peticiones de comunicación, actualiza los módulos inteligentes, ejecuta tareas auxiliares internas y gestiona las condiciones de interrupción. La CPU no soporta tiempos de ciclos fijos de ejecución en modo RUN. Estas acciones (con excepción de las interrupciones de usuario) se gestionan conforme a su prioridad en el orden en que van ocurriendoAl principio de cada ciclo se leen los valores actuales de los bits de entrada. Dichos valores se escriben luego en la imagen del proceso de las entradas. Los bits de entrada que no tengan una entrada física correspondiente, pero que se encuentren en el mismo byte que otras entradas físicas, se ponen a 0 en la imagen del proceso cada vez que se actualicen las entradas, a menos que se hayan forzado.

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

NOCIONES BÁSICASEntradas / Salidas Integradas y Adicionales

El sistema se controla mediante entradas y salidas (E/S). Las

entradas vigilan las señales de los dispositivos de campo (p.ej.

sensores e interruptores), mientras que las salidas supervisan las

bombas, motores u otros aparatos del proceso.

Se dispone de entradas y salidas integradas (en la CPU), así

como de E/S adicionales (en los módulos de ampliación).

Las CPUs S7-200 disponen de un número determinado de

entradas y salidas digitales.

Las CPUs S7-200 permiten módulos de ampliación con entradas

y salidas tanto digitales como analógicas.

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

NOCIONES BÁSICASEntradas / Salidas Integradas y Adicionales

Las entradas y salidas integradas de la unidad central (CPU) tienen direcciones fijas.

Para añadir a la CPU entradas y salidas adicionales, se pueden conectar módulos de ampliación a la derecha de la CPU, formando una cadena de E/S.

Las direcciones de las E/S de cada módulo vienen determinadas por el tipo de E/S y la posición del módulo en la cadena, con respecto al anterior módulo de entradas o de salidas del mismo tipo.

Los módulos de ampliación digitales reservan siempre un espacio de la imagen del proceso en incrementos de ocho bits (un byte).

Si un módulo no dispone de un punto físico para cada bit de cada byte reservado, se pierden estos bits no utilizados y no se pueden asignar a los módulos siguientes en la cadena de E/S.

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Por lo que respecta a los módulos de salidas, los bits no utilizados en los bytes reservados pueden servir de marcas internas (M).

En cuanto a los módulos de entradas, los bits no utilizados en los bytes reservados se ponen a cero cada vez que se actualizan las entradas, por lo que no pueden servir de marcas internas.

Los módulos de ampliación analógicos se prevén siempre en incrementos de dos puntos. Si un módulo no ofrece E/S físicas para cada uno de dichos puntos, se pierden los mismos y no se pueden asignar a los módulos siguientes en la cadena de E/S. Puesto que para las E/S analógicas no se prevé imagen del proceso, no hay ninguna manera de aprovechar estas E/S no utilizadas. Todos los accesos de E/S analógicas se establecen en el mismo instante de ejecutarse la operación.

NOCIONES BÁSICASEntradas / Salidas Integradas y Adicionales

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

1. Lenguajes de programación

Para toda la familia de autómatas Simatic S7 se emplean los siguientes

lenguajes de programación:

Lista de instrucciones (AWL).

Esquema de contactos (KOP): se representa gráficamente con

símbolos eléctricos.

FPU. Bloques de funciones

Internamente el autómata solo trabaja con lista de instrucciones, KOP es

traducido a AWL por Step7.

Las instrucciones son las órdenes lógicas elementales que el sistema

debe obedecer. Suelen ocupar una línea de programa (dos en algunas

instrucciones), y no pueden escindirse en instrucciones parciales.

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

1. Lenguajes de Programación

LD E 0.0

A E 0.1

= A0.0

AWL

E 0.0 E 0.1 A 0.0

KOP

El esquema de contactos (KOP) es un lenguaje de programación gráfico con componentes similares a los elementos de un esquema de circuitos.

Las CPUs S7-200 (y STEP 7-Micro/WIN) poseemn los siguientes lenguajes de programación:

La lista de instrucciones (AWL) comprende un juego de operaciones nemotécnicas que representan las funciones de la CPU.

AND A 0.0E 0.0

E 0.1

FUP

El Esquema de Funciones Lógicas utiliza “cajas” para cada función. El símbolo que se encuentra dentro de la caja indica su función (p.e. & --> operación AND).

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

1. Lenguajes de Programación Selección

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

1. Lenguajes de ProgramaciónProgramar en KOP

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

1. Lenguajes de ProgramaciónProgramar en FUP

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

1. Lenguajes de ProgramaciónProgramar en AWL

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

2. Programación en KOP

El esquema de contactos (KOP) es un lenguaje de programación gráfico

con componentes similares a los elementos de un esquema de circuitos.

Al programar con KOP, se crean y se disponen componentes gráficos que

conforman un segmento de operaciones lógicas.

Para crear programas se dispone de los siguientes elementos:

Contactos : Representan un interruptor por el que la corriente puede circular.

Bobinas Representan un relé o una salida excitada por la corriente.

Cuadros Representan una función (por ejemplo, un temporizador, un

contador o una operación aritmética) que se ejecuta cuando la corriente llega

al cuadro.

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

2. Programación en KOP

Contactos

La corriente circula por un contacto

normalmente abierto sólo cuando el

contacto está cerrado (es decir, cuando su

valor lógico es "1").

De forma similar, la corriente circula por

un contacto normalmente cerrado o negado

(NOT) sólo cuando dicho contacto está

abierto (es decir, cuando su valor lógico es

"0").

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Contactos

El contacto normalmente abierto se cierra (ON) si el bit es igual a 1

El contacto normalmente cerrado se cierra (ON) si el bit es igual a 0.

Ejemplo

2. Programación en KOP

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

2. Programación en KOP

Bobinas

Cuando se ejecuta la operación Asignar, el bit de salida se activa en la

imagen del proceso.

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Bobinas

Ejemplo:

2. Programación en KOP

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Cuadros

2. Programación en KOP

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Cuadros

2. Programación en KOP

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

2. Programación en KOP

Un segmento comprende dichos elementos, representando un circuito completo.

La corriente circula desde la barra de alimentación izquierda (representada en el editor KOP mediante una línea vertical en el lado izquierdo de la ventana) a través de los contactos cerrados para excitar las bobinas o los cuadros.

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Los operandos de las instrucciones se componen de un dato que

puede ser de distintos tipos.

Los tipos de datos posibles son:

I entrada

Q salida

M marca

T temporizador

C contador

SM marcas internas

2. Programación en KOPTipos de datos

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Cada uno de estos tipos se pueden direccionar en 4 posibles modos

(salvo T y C):

Por defecto: Bit.

B: byte (8 bits).

W: palabra (16 bits).

D: palabra doble (32 bits).

2. Programación en KOPTipos de datos

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Tipos de datos

Descripción SIMATIC Internacional

Esquema de contactos KOP LAD

Diagrama de funciones FUP FBD

Lista de instrucciones AWL STL

Entrada E I

Salida A Q

Memoria de variables V V

Marcas M M

Entrada analógica AE AI

Salida analógica AA AQ

Temporizador T T

Contador Z C

Contador rápido HC HC

SCR S S

Marcas especiales SM SM

Acumulador AC AC

Memoria de variables locales L L

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Cuando realicemos nuestro programa y operemos a nivel de bit

en operaciones lógicas (and, or, etc.) puede que nos aparezca la

necesidad de almacenar el resultado lógico que tengamos en un

determinado momento.

Para ello disponemos de 256 marcas de memoria de 1 byte, es

decir un total de 2048 marcas de 1 bit, que podemos direccionar

como:

Marcas M 0.0 a 255.7

Byte de marcas MB 0 a 255

Palabra de marcas MW 0 a 254

Palabra doble de marcas MD 0 a 252

2. Programación en KOPMarcas de Memoria

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

El byte de marcas SMB0 (SM0.0 - SM0.7) contiene ocho bits de

estado que proporcionan informaciones sobre el programa de

usuario.

Dichos bits permiten llamar diversas funciones del programa.

Por ejemplo, SM0.1 está activado (puesto a 1) sólo en el primer

ciclo. Con esa marca especial es posible llamar una subrutina de

inicialización.

2. Programación en KOPMarcas de Memoria de solo lectura

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

5.1 Marcas de especiales (solo lectura)

Marcas especiales Descripción

SM0.0 Marca Funcionamiento continuo (puesta a „1‟)

SM0.1 Marca de primer ciclo (puesta a „1‟ en el primer ciclo; después se pone a „0‟)

SM0.2 Datos remanentes perdidos - sólo vale para el primer ciclo („0‟ = datos presentes; „1‟ = datos perdidos)

SM0.3 Marca de conexión (se pone a „1‟ en el primer ciclo tras la conexión; después se pone a „0‟)

SM0.4 Reloj de 60 segundos (cambia: 30 segundos a „0‟, luego 30 segundos a „1‟)

SM0.5 Reloj de 1 segundo (cambia: 0,5 segundos a 0‟, luego 0,5 segundos a „1‟)

SM0.6 Reloj de ciclo („1‟ lógico en ciclos alternos)

SM0.7 Posición del selector de modos de operación („0‟ TERM; „1‟ RUN)

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Estado del programa

Estado de las operaciones

Búfer de recepción de caracteres en modo Freeport

Error de paridad en modo Freeport

Desbordamiento de la cola de espera (interrupciones)

Bits de estado de E/S

Identificador (ID) de la CPU (SMB 6.0)

Registro de errores e ID de los módulos de ampliación

Palabras de estado del tiempo de ciclo

Valores de los potenciómetros analógicos

2. Programación en KOPMarcas de Memoria de solo lectura

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Interface 0 para comunicación Freeport

Interface 1 para comunicación Freeport

Escribir en EEPROM

Intervalos de interrupciones temporizadas

Bytes de programación de los contadores rápidos

Bytes de programación de la salida de impulsos

Interface 0 - recepción de mensajes

Interface 1 - recepción de mensajes

Estado del protocolo estándar DP

2. Programación en KOPMarcas de Memoria de lectura/escritura

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Todas las CPU Simatic S7 disponen de una serie de registros que

se emplean durante la ejecución del programa de usuario.

No vamos a comentar todos ellos, sólo los que realmente

empleemos en la programación:

Acumuladores (ACU1 y ACU2)

Palabra de estado

Registros 1 y 2 de direcciones

Pila de paréntesis

Pila Master Control Relay (MCR)

2. Programación en KOPRegistros

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Acumuladores (ACU1 y ACU2)

El acumulador 1 (ACU 1) y el acumulador 2 (ACU 2) son dos registros

universales de 32 bits que se emplean para procesar bytes, palabras y

palabras dobles. En estos acumuladores se pueden cargar constantes o

valores depositados en la memoria como operandos y ejecutar

operaciones lógicas con ellos. También es posible transferir el resultado en

ACU 1 a una dirección (un módulo de datos, una salida, etc.).

Cada acumulador puede descomponerse en dos palabras de 16 bits

(palabra baja y alta). La palabra baja contiene los bits de menor peso y la

alta los de mayor peso lógico.

2. Programación en KOPRegistros

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Acumuladores (ACU1 y ACU2)

Todas las posibles operaciones que pueden realizarse son:

Cargar: que siempre actúa sobre ACU 1 y guarda el antiguo contenido en ACU 2

(perdiéndose el valor antiguo de ACU 2). La carga de una palabra actúa sobre la

palabra baja del ACU 1.

Transferir: copia el contenido de ACU 1 en una dirección de memoria, sin perder

el valor de los acumuladores.

Intercambiar el contenido de los acumuladores: mediante la instrucción TAK.

Realizar una operación entre los acumuladores, almacenando el resultado en

ACU 1 sin variar ACU 2. Las operaciones pueden ser de comparación, de lógica

digital y de aritmética.

2. Programación en KOPRegistros

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Palabra de estado

Es un registro de 16 bits que contiene algunos bits a los que puede accederse en el

operando de operaciones lógicas de bits y de palabras. Solo nos serán de utilidad los 9

primeros bits, estando reservados el uso de los 7 últimos. A continuación pasaremos a

describir cada bit:

BIT 0 (ER): 0 indica que la siguiente línea se ejecuta como nueva consulta (inhibida).

En este estado la consulta se almacena directamente en RLO (ver 4.1).

BIT 1 (RLO): resultado lógico. Aquí se realizan las operaciones a nivel de bit (como

AND, OR, etc.).

BIT 2 (STA): bit de estado. Solo sirve en el test de programa.

BIT 3 (OR): se requiere para el proceso Y delante de O. Este bit indica que una

operación Y ha dado valor 1, en las restantes operaciones es 0.

2. Programación en KOPRegistros

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Palabra de estado

BIT 4 (OV): bit de desbordamiento. Se activa (1) por una operación aritmética o de

comparación de coma flotante tras producirse un error (desbordamiento, operación no

admisible, o relación incorrecta).

BIT 5 (OS): bit de desbordamiento memorizado. Se activa junto con OV e indica que

previamente se ha producido un error. Solo puede cambiar a cero con la instrucción SPS,

una operación de llamada a módulo, o porque se ha alcanzado el fin del módulo.

BITS 6 (A0) y 7 (A1): códigos de condición. Dan información sobre los resultados o bits

siguientes:

- resultado de una operación aritmética.

- resultado de una comparación.

- resultado de una operación digital.

- bits desplazados por una instrucción de desplazamiento o rotación.

BIT 8 (RB): resultado binario. Permite interpretar el resultado de una operación de palabras

como resultado binario e integrarlo en la cadena de combinaciones lógicas binarias.

2. Programación en KOPRegistros

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Registros 1 y 2 de direcciones

Son dos registros de 32 bits cada uno. Se emplean como punteros en operaciones que utilizan un direccionamiento indirecto de registros.

Pila de paréntesis

Aquí se almacenan los bits RB, RLO y OR, además del código de función que especifica que instrucción lógica ha abierto el paréntesis. Tiene un tamaño de 8 bytes (máximo anidamiento).

Pila Master Control Relay (MCR)

Almacena los bits que indican si se opera dentro de un área MCR. Para el caso de emplear saltos guarda los datos en una pila (8 niveles).

2. Programación en KOPRegistros

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

TEMPORIZADORES (T)

En el Simatic S7 vamos a disponer de una serie de temporizadores que nos van a permitir realizar una serie de acciones:

Realizar tiempos de espera.

Supervisar acciones durante un tiempo determinado (tiempo de vigilancia).

Generar impulsos.

Medir tiempos de proceso.

Para la utilización de los temporizadores vamos a disponer de una serie de instrucciones que nos permitirán emplear los temporizadores de distintas formas para adecuarnos a nuestras necesidades, tal y como veremos en capítulos posteriores.

Vamos a disponer de 256 temporizadores, los cuales direccionaremos como:

T 0 a T 255

2. Programación en KOPTemporizadores y Contadores

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

CONTADORES (C)

Al igual que los temporizadores vamos a disponer de una serie de contadores que nos permitirán efectúa contajes, tanto hacia adelante como hacia atrás.

Disponemos de 256 contadores, los cuales podemos direccionar como:

C 0 a C 255

2. Programación en KOPTemporizadores y Contadores

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Programación Lineal

Programación organizada en secciones

Programación Estructurada

3. ProgramaciónTipos de programación

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Programación Estructurada

Se escriben funciones reutilizables en

Bloques separados. El OB1 (u otros

Bloques) llaman a esos Bloques y les

pasan los correspondientes datos.

Programación organizada en secciones

Programación Lineal

Estructura del Programa

Todas las instrucciones se encuentran en un solo Bloque (normalmente el Bloque de Organización OB 1)

Las instrucciones de las funciones individuales se encuentran en Bloques separados. El OB1 seencarga de llamar a esos Bloques uno tras otro.

OB 1 OB 1

Recip. A

Recip. B

MezcKOPor

Salida

OB 1Bomba

Salida

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

El programa de control de una CPU S7-200 comprende los siguientes tipos de unidades de organización del programa (UOP):

Programa principal: En el programa principal (denominado OB1) se depositan las operaciones que controlan la aplicación. Las operaciones del programa principal se ejecutan de forma secuencial en cada ciclo de la CPU.

Subrutinas: Una subrutina comprende un juego opcional de operaciones depositado en un bloque por separado que se ejecuta sólo cuando se llama desde el programa principal.

Rutinas de interrupción: Una rutina de interrupción comprende un juego opcional de operaciones depositado en un bloque por separado que se ejecuta sólo cuando ocurre el correspondiente evento de interrupción.

3. ProgramaciónElementos básicos de un programa de control

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

STEP 7-Micro/WIN 32 organiza el programa de usuario, incorporando fichas para cada unidad de organización del programa. La primera ficha corresponde siempre al programa principal (OB1), siguiéndole las subrutinas y/o las rutinas de interrupción que se hayan creado opcionalmente.

Terminar las unidades de organización del programa

Puesto que el programa se encuentra estructurado (cada unidad de organización del programa ocupa una ficha por separado), se sabe exactamente donde terminan el OB1 o las diversas subrutinas y rutinas de interrupción.

El compilador termina cada unidad de organización del programa con una operación END, MEND, RET o RETI, según sea necesario. Ud. no debe incorporar dichas operaciones en el programa. En caso contrario, el compilador indicará un error.

3. ProgramaciónElementos básicos de un programa de control

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Subrutinas Las subrutinas se adecuan para funciones que se deban ejecutar varias veces.

Basta con escribirla sólo una vez y llamar a la subrutina desde el programa principal cada vez que se necesite.

Beneficios:

Se reduce la longitud total del programa.

El tiempo de ciclo también se acorta, puesto que el código se ha retirado del programa principal (donde se evalúa en cada ciclo, así se ejecute o no). La subrutina se puede invocar de forma condicional, por lo que no se evalúa durante los ciclos en los que no se llame a la misma.

Las subrutinas se pueden transportar fácilmente, permitiendo aislar una función y copiarla a otros programas sin necesidad de efectuar cambios o con sólo pocas modificaciones.

3. ProgramaciónElementos básicos de un programa de control

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Rutinas de interrupción

Las rutinas de interrupción se pueden programar para gestionar eventos de

interrupción predefinidos.

No son invocadas por el programa principal, sino que el sistema operativo de

la CPU las llama cuando ocurre el correspondiente evento de interrupción.

Puesto que no es posible saber con anterioridad cuándo el sistema llamará a

una rutina de interrupción, no es deseable que ésta escriba en la memoria

que se pueda estar utilizando en otra parte del programa.

Con la tabla de variables locales se puede asegurar que las rutinas de

interrupción utilicen únicamente la memoria temporal, de manera que no

sobreescriban los datos de otra parte del programa.

3. ProgramaciónElementos básicos de un programa de control

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

SBR0

OB = Bloque de Organización

SBR = Subrutina 0 - 63

INT = Rutina de Interrupción 0 - 127

Tipos de Bloques de Programa

Sistema Operativo

OB1

Ciclo Scan

Proceso

Tiempo

Comunicación

SBR1 SBR4

SBR3 SBR2

Máximo 8 niveles de anidamiento

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

El Simatic S7 dispone de una serie de módulos que dividen la memoria de programa y la de datos en secciones, permitiendo una programación estructurada y un acceso ordenado a los datos.

El número de módulos va a depender del tipo de CPU empleada, disponiendo en general de los siguientes:

Módulos de organización (OB)

Módulos de código (FC)

Módulos de funciones (FB)

Módulos de datos (DB)

Módulos de funciones especiales (SFB)

Módulos de funciones del sistema (SFC)

3. ProgramaciónTipos de Módulos

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Módulos de organización (OB)

Constituyen la forma de comunicación entre el sistema operativo de la CPU y el programa de usuario.

Módulos de organización (OB) (están accesibles o no según el tipo de CPU):

• OB para ejecución del programa ARRANQUE (llamada controlada por evento por parte del sistema operativo)

• OB para ejecución cíclica del programa (OB1)(llamada cíclica por el sistema operativo)

• OB para ejecución del programa controlado por tiempo (llamada controlada por tiempo por parte del sistema operativo)

• OB para ejecución del programa controlado por alarma (de proceso) (llamada controlada por evento por parte del sistema operativo)

• OB con funciones similares a los módulos funcionales integrados (llamada por parte del programa de usuario).

3. ProgramaciónTipos de Módulos

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Módulos de datos (DB)

Son áreas de memoria destinadas a contener datos del programa de usuario.

Existen módulos de datos globales y de instancia.

A los datos contenidos en un módulo de datos es posible acceder de forma absoluta o simbólica. Los datos complejos o compuestos pueden depositarse en forma de estructura.

Los módulos de datos pueden ser de dos tipos:

• Módulos de datos globales: se pueden utilizar por cualquier módulo del programa.

• Módulos de datos de instancia: se asignan a un determinado modulo de función y solo pueden manejarse desde dicho módulo. Pueden asignarse varios módulos de datos de instancia a un módulo de función.

En total podemos manejar hasta 127 módulos de datos.

3. ProgramaciónTipos de Módulos

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Módulos de código (FC)

Son módulos en los que podemos incluir parte del programa de

usuario con lo que obtenemos un programa mucho más

estructurado.

A estos módulos se pueden acceder desde otro módulo FC o

desde un módulo OB.

En total podemos manejar hasta 128 módulos de código. .

3. ProgramaciónTipos de Módulos

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Módulos de funciones (FB)

Son módulos de programa especiales.

Aquí se introducen las partes de programa que aparecen con

frecuencia o poseen gran complejidad.

Posee una zona de memoria asignada para guardar variables (módulo

de datos de instancia). Lo que se hace es enviar parámetros al FB y

guardar algunos de los datos locales en el módulo de datos de

instancia.

En total podemos manejar hasta 128 módulos de funciones.

3. ProgramaciónTipos de Módulos

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

Módulos de funciones especiales (SFB)

Se tratan de módulos ya programados, los cuales están preparados

para realizar acciones complejas como regulación PID (lazo cerrado),

medida de frecuencia, etc...

Módulos de funciones del sistema (SFC)

Son funciones integradas en el sistema operativo de la CPU y que se

pueden llamar en caso de necesidad desde el programa de usuario.

3. ProgramaciónTipos de Módulos

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200

4. Operaciones Operaciones lógicas con bits….

( S )

E 0.0

( R )

E 0.1

A 0.0

1

A 0.0

1