Está en la página 1de 55

www.infoPLC.

net

Automatizacin Industrial
Curso 2001-2001

Programacin
1

NOCIONES BSICAS
Cargar 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 configuracin de la CPU
(opcional).
Cargando el programa en la CPU se almacenan dichos
elementos en la memoria RAM (de la CPU).
La CPU tambin copia automticamente el programa de usuario,
el bloque de datos (DB1) y la configuracin de la CPU en la
EEPROM no voltil para que se almacenen all.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

NOCIONES BSICAS
Cargar programas en la CPU y en la PG/PC

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

NOCIONES BSICAS
Cargar programas en la CPU y en la PG/PC

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

NOCIONES BSICAS
Cargar programas en la CPU y en la PG/PC
Ajustar el modo de operacin de la CPU
La CPU S7-200 tiene dos modos de operacin:
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 operacin 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 ejecucin del programa.
Si el selector se pone en RUN, se iniciar la ejecucin del programa.
Si el selector se pone en TERM (terminal), no cambiar el modo de operacin de la CPU.
Ser posible cambiarlo utilizando el software de programacin (STEP 7-Micro/WIN).

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

NOCIONES BSICAS
Cargar programas en la CPU y en la PG/PC
Ajustar el modo de operacin 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 interrupcin se inhiben. Si ocurren interrupciones de comunicacin, la CPU
recibe los mensajes y ejecuta las peticiones segn sea necesario.
Mientras la CPU est en modo STOP, los cambios de los valores de las E/S se efectan en la
imagen del proceso, con excepcin de la funcin "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.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

NOCIONES BSICAS
Cargar programas en la CPU y en la PG/PC
Ajustar el modo de operacin de la CPU

En modo RUN, la CPU lee las entradas, ejecuta el programa, escribe en las salidas, procesa las peticiones de
comunicacin, actualiza los mdulos inteligentes, ejecuta tareas auxiliares internas y gestiona las condiciones de
interrupcin.
La CPU no soporta tiempos de ciclos fijos de ejecucin en modo RUN.
Estas acciones (con excepcin de las interrupciones de usuario) se gestionan conforme a su prioridad en el orden
en que van ocurriendo
Al 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 fsica correspondiente, pero que se encuentren en el mismo byte
que otras entradas fsicas, se ponen a 0 en la imagen del proceso cada vez que se actualicen las entradas, a menos
que se hayan forzado.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

NOCIONES BSICAS
Entradas / Salidas Integradas y Adicionales
El sistema se controla mediante entradas y salidas (E/S). Las
entradas vigilan las seales 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 mdulos de ampliacin).
Las CPUs S7-200 disponen de un nmero determinado de
entradas y salidas digitales.
Las CPUs S7-200 permiten mdulos de ampliacin con entradas
y salidas tanto digitales como analgicas.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

NOCIONES BSICAS
Entradas / Salidas Integradas y Adicionales
Las entradas y salidas integradas de la unidad central (CPU)
tienen direcciones fijas.
Para aadir a la CPU entradas y salidas adicionales, se pueden
conectar mdulos de ampliacin a la derecha de la CPU,
formando una cadena de E/S.
Las direcciones de las E/S de cada mdulo vienen determinadas
por el tipo de E/S y la posicin del mdulo en la cadena, con
respecto al anterior mdulo de entradas o de salidas del mismo
tipo.
Los mdulos de ampliacin digitales reservan siempre un espacio
de la imagen del proceso en incrementos de ocho bits (un byte).
Si un mdulo no dispone de un punto fsico para cada bit de cada
byte reservado, se pierden estos bits no utilizados y no se
pueden asignar a los mdulos siguientes en la cadena de E/S.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

NOCIONES BSICAS
Entradas / Salidas Integradas y Adicionales
Por lo que respecta a los mdulos de salidas, los bits no
utilizados en los bytes reservados pueden servir de marcas
internas (M).
En cuanto a los mdulos 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 mdulos de ampliacin analgicos se prevn siempre en
incrementos de dos puntos. Si un mdulo no ofrece E/S fsicas
para cada uno de dichos puntos, se pierden los mismos y no se
pueden asignar a los mdulos siguientes en la cadena de E/S.
Puesto que para las E/S analgicas no se prev imagen del
proceso, no hay ninguna manera de aprovechar estas E/S no
utilizadas. Todos los accesos de E/S analgicas se establecen en
el mismo instante de ejecutarse la operacin.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

1. Lenguajes de programacin
Para toda la familia de autmatas Simatic S7 se emplean los siguientes
lenguajes de programacin:
Lista de instrucciones (AWL).
Esquema de contactos (KOP): se representa grficamente con
smbolos elctricos.
FPU. Bloques de funciones
Internamente el autmata solo trabaja con lista de instrucciones, KOP es
traducido a AWL por Step7.
Las instrucciones son las rdenes lgicas elementales que el sistema
debe obedecer. Suelen ocupar una lnea de programa (dos en algunas
instrucciones), y no pueden escindirse en instrucciones parciales.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

1. Lenguajes de Programacin
Las CPUs S7-200 (y STEP 7-Micro/WIN) poseemn los siguientes lenguajes de programacin:
FUP

KOP
E 0.0

E 0.1

E 0.0

A 0.0

AND

AWL
A 0.0

E 0.1

El esquema de contactos (KOP)


es un lenguaje de programacin
grfico con componentes
similares a los elementos de un
esquema de circuitos.

El Esquema de Funciones
Lgicas utiliza cajas para
cada funcin. El smbolo que
se encuentra dentro de la caja
indica su funcin (p.e. & -->
operacin AND).

Automatizacin Industrial Curso 2001-2001

LD
A
=

E 0.0
E 0.1
A0.0

La lista de instrucciones (AWL)


comprende un juego de
operaciones nemotcnicas que
representan las funciones de la
CPU.

Programacin: SIMATIC S7-200

1. Lenguajes de Programacin
Seleccin

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

1. Lenguajes de Programacin
Programar en KOP

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

1. Lenguajes de Programacin
Programar en FUP

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

1. Lenguajes de Programacin
Programar en AWL

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP

El esquema de contactos (KOP) es un lenguaje de programacin grfico


con componentes similares a los elementos de un esquema de circuitos.
Al programar con KOP, se crean y se disponen componentes grficos que
conforman un segmento de operaciones lgicas.
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 funcin (por ejemplo, un temporizador, un
contador o una operacin aritmtica) que se ejecuta cuando la corriente llega
al cuadro.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP

Contactos
La corriente circula por un contacto
normalmente abierto slo cuando el
contacto est cerrado (es decir, cuando su
valor lgico es "1").
De forma similar, la corriente circula por
un contacto normalmente cerrado o negado
(NOT) slo cuando dicho contacto est
abierto (es decir, cuando su valor lgico es
"0").
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
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

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Bobinas
Cuando se ejecuta la operacin Asignar, el bit de salida se activa en la
imagen del proceso.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Bobinas
Ejemplo:

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Cuadros

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Cuadros

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP

Un segmento comprende dichos


elementos, representando un circuito
completo.
La corriente circula desde la barra de
alimentacin izquierda (representada
en el editor KOP mediante una lnea
vertical en el lado izquierdo de la
ventana) a travs de los contactos
cerrados para excitar las bobinas o los
cuadros.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Tipos de datos
Los operandos de las instrucciones se componen de un dato que
puede ser de distintos tipos.
Los tipos de datos posibles son:

entrada

Q
M
T
C
SM

salida
marca
temporizador
contador
marcas internas

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Tipos de datos
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).

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

Tipos de datos
Descripcin

SIMATIC

Internacional

Esquema de contactos

KOP

LAD

Diagrama de funciones

FUP

FBD

Lista de instrucciones

AWL

STL

Entrada

Salida

Memoria de variables

Marcas

Entrada analgica

AE

AI

Salida analgica

AA

AQ

Temporizador

Contador

Contador rpido

HC

HC

SCR

Marcas especiales

SM

SM

Acumulador

AC

AC

Memoria de variables locales

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Marcas de Memoria
Cuando realicemos nuestro programa y operemos a nivel de bit
en operaciones lgicas (and, or, etc.) puede que nos aparezca la
necesidad de almacenar el resultado lgico 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

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

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Marcas de Memoria de solo lectura
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) slo en el primer
ciclo. Con esa marca especial es posible llamar una subrutina de
inicializacin.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

5.1 Marcas de especiales (solo lectura)

Marcas especiales
SM0.0
SM0.1

SM0.2
SM0.3
SM0.4
SM0.5
SM0.6
SM0.7

Descripcin
Marca Funcionamiento continuo (puesta a 1)
Marca de primer ciclo (puesta a 1 en el primer ciclo;
despus se pone a 0)
Datos remanentes perdidos - slo vale para el primer
ciclo (0 = datos presentes; 1 = datos perdidos)
Marca de conexin (se pone a 1 en el primer ciclo
tras la conexin; despus se pone a 0)
Reloj de 60 segundos (cambia: 30 segundos a 0,
luego 30 segundos a 1)
Reloj de 1 segundo (cambia: 0,5 segundos a 0,
luego 0,5 segundos a 1)
Reloj de ciclo (1 lgico en ciclos alternos)
Posicin del selector de modos de operacin (0
TERM; 1 RUN)

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Marcas de Memoria de solo lectura

Estado del programa


Estado de las operaciones
Bfer de recepcin 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 mdulos de ampliacin
Palabras de estado del tiempo de ciclo
Valores de los potencimetros analgicos

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Marcas de Memoria de lectura/escritura

Interface 0 para comunicacin Freeport


Interface 1 para comunicacin Freeport
Escribir en EEPROM
Intervalos de interrupciones temporizadas
Bytes de programacin de los contadores rpidos
Bytes de programacin de la salida de impulsos
Interface 0 - recepcin de mensajes
Interface 1 - recepcin de mensajes
Estado del protocolo estndar DP

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Registros

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


se emplean durante la ejecucin del programa de usuario.
No vamos a comentar todos ellos, slo los que realmente
empleemos en la programacin:
Acumuladores (ACU1 y ACU2)
Palabra de estado
Registros 1 y 2 de direcciones
Pila de parntesis

Pila Master Control Relay (MCR)

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Registros

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 lgicas con ellos. Tambin es posible transferir el resultado en
ACU 1 a una direccin (un mdulo 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 lgico.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Registros
Acumuladores (ACU1 y ACU2)
Todas las posibles operaciones que pueden realizarse son:

Cargar: que siempre acta sobre ACU 1 y guarda el antiguo contenido en ACU 2
(perdindose el valor antiguo de ACU 2). La carga de una palabra acta sobre la
palabra baja del ACU 1.
Transferir: copia el contenido de ACU 1 en una direccin de memoria, sin perder
el valor de los acumuladores.
Intercambiar el contenido de los acumuladores: mediante la instruccin TAK.
Realizar una operacin entre los acumuladores, almacenando el resultado en
ACU 1 sin variar ACU 2. Las operaciones pueden ser de comparacin, de lgica
digital y de aritmtica.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Registros
Palabra de estado
Es un registro de 16 bits que contiene algunos bits a los que puede accederse en el
operando de operaciones lgicas de bits y de palabras. Solo nos sern de utilidad los 9
primeros bits, estando reservados el uso de los 7 ltimos. A continuacin pasaremos a
describir cada bit:

BIT 0 (ER): 0 indica que la siguiente lnea se ejecuta como nueva consulta (inhibida).
En este estado la consulta se almacena directamente en RLO (ver 4.1).
BIT 1 (RLO): resultado lgico. 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
operacin Y ha dado valor 1, en las restantes operaciones es 0.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Registros
Palabra de estado
BIT 4 (OV): bit de desbordamiento. Se activa (1) por una operacin aritmtica o de
comparacin de coma flotante tras producirse un error (desbordamiento, operacin no
admisible, o relacin 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 instruccin SPS,
una operacin de llamada a mdulo, o porque se ha alcanzado el fin del mdulo.
BITS 6 (A0) y 7 (A1): cdigos de condicin. Dan informacin sobre los resultados o bits
siguientes:
- resultado de una operacin aritmtica.
- resultado de una comparacin.
- resultado de una operacin digital.
- bits desplazados por una instruccin de desplazamiento o rotacin.

BIT 8 (RB): resultado binario. Permite interpretar el resultado de una operacin de palabras
como resultado binario e integrarlo en la cadena de combinaciones lgicas binarias.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Registros
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 parntesis
Aqu se almacenan los bits RB, RLO y OR, adems del cdigo de funcin
que especifica que instruccin lgica ha abierto el parntesis. Tiene un
tamao de 8 bytes (mximo 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).

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Temporizadores y Contadores

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 utilizacin de los temporizadores vamos a disponer de una serie de
instrucciones que nos permitirn emplear los temporizadores de distintas formas
para adecuarnos a nuestras necesidades, tal y como veremos en captulos
posteriores.
Vamos a disponer de 256 temporizadores, los cuales direccionaremos como:
T 0 a T 255
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

2. Programacin en KOP
Temporizadores y Contadores
CONTADORES (C)
Al igual que los temporizadores vamos a disponer de una serie de
contadores que nos permitirn efecta contajes, tanto hacia adelante como
hacia atrs.
Disponemos de 256 contadores, los cuales podemos direccionar como:
C 0 a C 255

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

3. Programacin
Tipos de programacin

Programacin Lineal
Programacin organizada en secciones
Programacin Estructurada

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

Estructura del Programa


Programacin Lineal

Programacin organizada
en secciones

Programacin Estructurada

Recip. A

OB 1

OB 1

Recip. B
MezcKOPor

OB 1

Bomba

Salida

Salida

Todas las instrucciones


se encuentran en un
solo Bloque
(normalmente el Bloque
de Organizacin OB 1)

Las instrucciones de las funciones


individuales se encuentran en
Bloques separados. El OB1 se
encarga de llamar a esos Bloques
uno tras otro.

Automatizacin Industrial Curso 2001-2001

Se escriben funciones reutilizables en


Bloques separados. El OB1 (u otros
Bloques) llaman a esos Bloques y les
pasan los correspondientes datos.

Programacin: SIMATIC S7-200

3. Programacin
Elementos bsicos de un programa de control

El programa de control de una CPU S7-200 comprende los siguientes


tipos de unidades de organizacin del programa (UOP):
Programa principal: En el programa principal (denominado OB1) se
depositan las operaciones que controlan la aplicacin. 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 slo
cuando se llama desde el programa principal.
Rutinas de interrupcin: Una rutina de interrupcin comprende un
juego opcional de operaciones depositado en un bloque por separado
que se ejecuta slo cuando ocurre el correspondiente evento de
interrupcin.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

3. Programacin
Elementos bsicos de un programa de control

STEP 7-Micro/WIN 32 organiza el programa de usuario, incorporando fichas para


cada unidad de organizacin del programa. La primera ficha corresponde siempre al
programa principal (OB1), siguindole las subrutinas y/o las rutinas de interrupcin
que se hayan creado opcionalmente.

Terminar las unidades de organizacin del programa


Puesto que el programa se encuentra estructurado (cada unidad de organizacin del
programa ocupa una ficha por separado), se sabe exactamente donde terminan el
OB1 o las diversas subrutinas y rutinas de interrupcin.
El compilador termina cada unidad de organizacin del programa con una operacin
END, MEND, RET o RETI, segn sea necesario. Ud. no debe incorporar dichas
operaciones en el programa. En caso contrario, el compilador indicar un error.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

3. Programacin
Elementos bsicos de un programa de control

Subrutinas
Las subrutinas se adecuan para funciones que se deban ejecutar varias veces.
Basta con escribirla slo 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 tambin se acorta, puesto que el cdigo se ha retirado del
programa principal (donde se evala en cada ciclo, as se ejecute o no). La subrutina
se puede invocar de forma condicional, por lo que no se evala durante los ciclos en
los que no se llame a la misma.
Las subrutinas se pueden transportar fcilmente, permitiendo aislar una funcin y
copiarla a otros programas sin necesidad de efectuar cambios o con slo pocas
modificaciones.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

3. Programacin
Elementos bsicos de un programa de control

Rutinas de interrupcin

Las rutinas de interrupcin se pueden programar para gestionar eventos de


interrupcin predefinidos.
No son invocadas por el programa principal, sino que el sistema operativo de
la CPU las llama cuando ocurre el correspondiente evento de interrupcin.
Puesto que no es posible saber con anterioridad cundo el sistema llamar a
una rutina de interrupcin, 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
interrupcin utilicen nicamente la memoria temporal, de manera que no
sobreescriban los datos de otra parte del programa.
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

Tipos de Bloques de Programa

Sistema Operativo
Ciclo Scan

Proceso

SBR0

SBR1

SBR3

SBR2

SBR4

OB1

Tiempo
Comunicacin

OB = Bloque de Organizacin
SBR = Subrutina
INT = Rutina de Interrupcin

0 - 63
0 - 127

Automatizacin Industrial Curso 2001-2001

Mximo 8 niveles de anidamiento

Programacin: SIMATIC S7-200

3. Programacin
Tipos de Mdulos
El Simatic S7 dispone de una serie de mdulos que dividen la memoria de
programa y la de datos en secciones, permitiendo una programacin
estructurada y un acceso ordenado a los datos.
El nmero de mdulos va a depender del tipo de CPU empleada,
disponiendo en general de los siguientes:

Mdulos de organizacin (OB)


Mdulos de cdigo (FC)
Mdulos de funciones (FB)
Mdulos de datos (DB)
Mdulos de funciones especiales (SFB)
Mdulos de funciones del sistema (SFC)

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

3. Programacin
Tipos de Mdulos
Mdulos de organizacin (OB)
Constituyen la forma de comunicacin entre el sistema operativo de la CPU
y el programa de usuario.
Mdulos de organizacin (OB) (estn accesibles o no segn el tipo de
CPU):
OB para ejecucin del programa ARRANQUE (llamada controlada por
evento por parte del sistema operativo)
OB para ejecucin cclica del programa (OB1)(llamada cclica por el sistema
operativo)
OB para ejecucin del programa controlado por tiempo (llamada controlada
por tiempo por parte del sistema operativo)
OB para ejecucin del programa controlado por alarma (de proceso)
(llamada controlada por evento por parte del sistema operativo)
OB con funciones similares a los mdulos funcionales integrados
(llamada por parte del programa de usuario).
Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

3. Programacin
Tipos de Mdulos
Mdulos de datos (DB)
Son reas de memoria destinadas a contener datos del programa de
usuario.
Existen mdulos de datos globales y de instancia.
A los datos contenidos en un mdulo de datos es posible acceder de
forma absoluta o simblica. Los datos complejos o compuestos pueden
depositarse en forma de estructura.
Los mdulos de datos pueden ser de dos tipos:
Mdulos de datos globales: se pueden utilizar por cualquier mdulo del
programa.
Mdulos de datos de instancia: se asignan a un determinado modulo de
funcin y solo pueden manejarse desde dicho mdulo. Pueden asignarse
varios mdulos de datos de instancia a un mdulo de funcin.

En total podemos manejar hasta 127 mdulos de datos.


Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

3. Programacin
Tipos de Mdulos
Mdulos de cdigo (FC)
Son mdulos en los que podemos incluir parte del programa de
usuario con lo que obtenemos un programa mucho ms
estructurado.

A estos mdulos se pueden acceder desde otro mdulo FC o


desde un mdulo OB.
En total podemos manejar hasta 128 mdulos de cdigo. .

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

3. Programacin
Tipos de Mdulos
Mdulos de funciones (FB)
Son mdulos 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 (mdulo
de datos de instancia). Lo que se hace es enviar parmetros al FB y
guardar algunos de los datos locales en el mdulo de datos de
instancia.
En total podemos manejar hasta 128 mdulos de funciones.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

3. Programacin
Tipos de Mdulos
Mdulos de funciones especiales (SFB)
Se tratan de mdulos ya programados, los cuales estn preparados
para realizar acciones complejas como regulacin PID (lazo cerrado),
medida de frecuencia, etc...

Mdulos 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.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

4.

Operaciones
Operaciones lgicas con bits.

E 0.0

A 0.0
(S)
1

E 0.1

A 0.0
(R)
1

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

También podría gustarte