Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
NOCIONES BSICAS
Cargar programas en la CPU y en la PG/PC
NOCIONES BSICAS
Cargar programas en la CPU y en la PG/PC
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).
NOCIONES BSICAS
Cargar programas en la CPU y en la PG/PC
Ajustar el modo de operacin de la CPU
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
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.
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
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
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
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 Funciones
Lgicas utiliza cajas para
cada funcin. El smbolo que
se encuentra dentro de la caja
indica su funcin (p.e. & -->
operacin AND).
LD
A
=
E 0.0
E 0.1
A0.0
1. Lenguajes de Programacin
Seleccin
1. Lenguajes de Programacin
Programar en KOP
1. Lenguajes de Programacin
Programar en FUP
1. Lenguajes de Programacin
Programar en AWL
2. Programacin en KOP
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
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
2. Programacin en KOP
Bobinas
Cuando se ejecuta la operacin Asignar, el bit de salida se activa en la
imagen del proceso.
2. Programacin en KOP
Bobinas
Ejemplo:
2. Programacin en KOP
Cuadros
2. Programacin en KOP
Cuadros
2. Programacin en KOP
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
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).
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
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
MD
0 a 252
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.
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)
2. Programacin en KOP
Marcas de Memoria de solo lectura
2. Programacin en KOP
Marcas de Memoria de lectura/escritura
2. Programacin en KOP
Registros
2. Programacin en KOP
Registros
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
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
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
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).
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
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
3. Programacin
Tipos de programacin
Programacin Lineal
Programacin organizada en secciones
Programacin Estructurada
Programacin organizada
en secciones
Programacin Estructurada
Recip. A
OB 1
OB 1
Recip. B
MezcKOPor
OB 1
Bomba
Salida
Salida
3. Programacin
Elementos bsicos de un programa de control
3. Programacin
Elementos bsicos de un programa de control
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
3. Programacin
Elementos bsicos de un programa de control
Rutinas de interrupcin
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
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:
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
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.
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.
3. Programacin
Tipos de Mdulos
Mdulos de funciones (FB)
Son mdulos de programa especiales.
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...
4.
Operaciones
Operaciones lgicas con bits.
E 0.0
A 0.0
(S)
1
E 0.1
A 0.0
(R)
1