Documente Academic
Documente Profesional
Documente Cultură
net
Automatizacin Industrial
Curso 2001-2001
Programacin
1
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
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
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: KOP
E 0.0 E 0.1 A 0.0 E 0.0 E 0.1
FUP
AWL
A 0.0
AND
LD A =
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).
La lista de instrucciones (AWL) comprende un juego de operaciones nemotcnicas que representan las funciones de la CPU.
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.
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
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
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.
I Q M T C SM
Tipos de datos
Descripcin Esquema de contactos Diagrama de funciones
Lista de instrucciones Entrada
Salida
Memoria de variables Marcas Entrada analgica Salida analgica Temporizador
A
V M AE AA T
Q
V M AI AQ T
Z HC
S
C HC
S
Marcas especiales
Acumulador Memoria de variables locales
SM
AC L
SM
AC L
Byte de marcas
Palabra de marcas Palabra doble de marcas
Automatizacin Industrial Curso 2001-2001
MB
MW MD
0 a 255
0 a 254 0 a 252
Programacin: SIMATIC S7-200
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)
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
Programacin: SIMATIC S7-200
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
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
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
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
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).
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
Programacin Estructurada
Recip. A
OB 1
OB 1
OB 1
Bomba
Salida
Las instrucciones de las funciones individuales se encuentran en Bloques separados. El OB1 se encarga de llamar a esos Bloques uno tras otro.
Se escriben funciones reutilizables en Bloques separados. El OB1 (u otros Bloques) llaman a esos Bloques y les pasan los correspondientes datos.
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
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.
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
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
Sistema Operativo
Ciclo Scan
Proceso Tiempo
SBR0
OB1
SBR1
SBR4
SBR3
Comunicacin
SBR2
0 - 63 0 - 127
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)
Programacin: SIMATIC S7-200
A estos mdulos se pueden acceder desde otro mdulo FC o desde un mdulo OB. En total podemos manejar hasta 128 mdulos de cdigo. .
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.
4.
E 0.0
A 0.0 (S)
1
E 0.1
A 0.0 (R)
1