SIMATIC_programacion
-
Upload
manuel-cabrera-trasmonte -
Category
Documents
-
view
218 -
download
0
Transcript of SIMATIC_programacion
-
8/7/2019 SIMATIC_programacion
1/48
SIMATIC S7
PROGRAMACIN
Automatizacin de Procesos
3 Ingeniera Tcnica en
Informtica, Esp. Sistemas
-
8/7/2019 SIMATIC_programacion
2/48
1. Cargar programas en la CPU y en la PG/PC
2. E/S integradas y adicionales
3. Lenguajes de programacin
4. Programar en KOP
5. Tipos de programacin
6. Elementos bsicos de un programa de control7. Tipos de mdulos
4.1. Contactos
4.2. Bobinas
4.3. Cuadros4.4. Segmentos
4.5. Marcas de memoria
4.6. Registros
4.7. Temporizadores y
Contadores
7.1. Organizacim
7.2. Datos
7.3. Cdigo
7.4. Funciones
7.5. Funciones especiales
7.6. Funciones del sistema
-
8/7/2019 SIMATIC_programacion
3/48
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 dela CPU en la EEPROM no voltil para que se
almacenen all.
1. Cargar programas en la CPU y en la PG/PC
1. Cargar programas en la CPU y en la PG/PC
-
8/7/2019 SIMATIC_programacion
4/48
1. Cargar programas en la CPU y en la PG/PC
-
8/7/2019 SIMATIC_programacion
5/48
1. Cargar programas en la CPU y en la PG/PC
-
8/7/2019 SIMATIC_programacion
6/48
Ajustar el modo de operacin de la CPU
La CPU S7-200 tiene dos modos de operacin:
1. Cargar programas en la CPU y en la PG/PC
STOP: La CPU no ejecuta el programa. Cuando est en modo STOP, esposible cargar programas o configurar la CPU.
RUN: La CPU ejecuta el programa. Cuando est en modo RUN, no esposible cargar programas ni configurar la CPU.
El diodo luminoso (LED) en la parte frontal de la CPU indica el modo deoperacin actual.
Para poder cargar un programa en la memoria de la CPU es precisocambiar 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 deoperacin de la CPU. Ser posible cambiarlo utilizando el software deprogramacin (STEP 7-Micro/WIN).
-
8/7/2019 SIMATIC_programacion
7/48
Ciclo en modo STOP
1. Cargar programas en la CPU y en la PG/PC
En modo STOP, la CPU se encuentra en un estado semiactivo. Elprograma de usuario no se ejecuta, pero las entradas se actualizan.
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 lafuncin "Forzar" que tiene prioridad sobre los cambios de los valoresde E/S en la imagen del proceso.
Estando la CPU en modo STOP, el usuario puede cargar el programaen la CPU y en la PG/el PC, as como borrar la memoria.
-
8/7/2019 SIMATIC_programacion
8/48
Ciclo en modo RUN (I)
1. Cargar programas en la CPU y en la PG/PC
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 auxiliaresinternas y gestiona las condiciones de interrupcin.
Estas acciones (con excepcin de las interrupciones de usuario)se gestionan conforme a su prioridad en el orden en que vanocurriendo
-
8/7/2019 SIMATIC_programacion
9/48
Ciclo en modo RUN (II)
1. Cargar programas en la CPU y en la PG/PC
Al principio de cada ciclo se leen los valores actuales de los bitsde entrada. Dichos valores se escriben luego en la imagen delproceso de las entradas.
Los bits de entrada que no tengan una entrada fsicacorrespondiente, pero que se encuentren en el mismo byte queotras entradas fsicas, se ponen a 0 en la imagen del procesocada vez que se actualicen las entradas, a menos que se hayan
forzado.
-
8/7/2019 SIMATIC_programacion
10/48
2.E/S integradas y adicionales
2. E/S 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 digitales integradas (en la
CPU), as como de E/S adicionales tanto digitales como
analgicas (en los mdulos de ampliacin).
Las entradas y salidas integradas de la unidad central (CPU)
tienen direcciones fijas.
Para aadir a la CPU entradas y salidas adicionales, sepueden conectar mdulos de ampliacin a la derecha de laCPU, formando una cadena de E/S.
-
8/7/2019 SIMATIC_programacion
11/48
Las direcciones de las E/S de cada mdulo vienendeterminadas por el tipo de E/S y la posicin del mdulo enla cadena, con respecto al anterior mdulo de entradas o desalidas del mismo tipo.
2.E/S integradas y adicionales
Por lo que respecta a los mdulos de salidas, los bits noutilizados en los bytes reservados pueden servir de marcasinternas (M).
En cuanto a los mdulos de entradas, los bits no utilizadosen los bytes reservados se ponen a cero cada vez que seactualizan las entradas, por lo que no pueden servir demarcas internas.
-
8/7/2019 SIMATIC_programacion
12/48
2.E/S integradas y adicionales
-
8/7/2019 SIMATIC_programacion
13/48
3.Lenguajes de programacin
Para toda la familia de autmatas Simatic S7 se emplean lossiguientes lenguajes de programacin:
Lista de instrucciones (AWL).
Esquema de contactos (KOP): se representa grficamente
con smbolos elctricos.FUP. Bloques de funciones
3. Lenguajes de programacin
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.
-
8/7/2019 SIMATIC_programacion
14/48
3.Lenguajes de programacin
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
programacin grfico concomponentes similaresa los elementos de unesquema de circuitos.
Las CPUs S7-200 (y STEP 7-Micro/WIN) poseen los siguienteslenguajes de programacin:
La lista deinstrucciones (AWL)
comprende un juegode operacionesnemotcnicas querepresentan lasfunciones de la CPU.
AND A 0.0E 0.0
E 0.1
FUP
El Esquema deFunciones Lgicas
utiliza cajas para cadafuncin.
El smbolo que seencuentra dentro de lacaja indica su funcin(p.e. & --> operacin
AND).
-
8/7/2019 SIMATIC_programacion
15/48
3.Lenguajes de programacin
Seleccin del lenguaje de programacin
-
8/7/2019 SIMATIC_programacion
16/48
4. Programar en KOP
4. Programar en KOP
-
8/7/2019 SIMATIC_programacion
17/48
El esquema de contactos (KOP) es un lenguaje de programacin
grfico con componentes similares a los elementos de un esquemade circuitos.
Al programar con KOP, se crean y se disponen componentes
grficos que conforman un segmento de operaciones lgicas.
4. Programar en KOP
Para crear programas se dispone de los siguientes elementos:
Contactos: Representan un interruptor por el que la corrientepuede circular.
Bobinas: Representan un rel o una salida excitada por lacorriente.
Cuadros: Representan una funcin (por ejemplo, untemporizador, un contador o una operacin aritmtica) que se
ejecuta cuando la corriente llega al cuadro.
-
8/7/2019 SIMATIC_programacion
18/48
4.1. Contactos (I)
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").
4. Programar en KOP
-
8/7/2019 SIMATIC_programacion
19/48
4.1. Contactos (II)
4. Programar en KOP
El contacto normalmente abierto se cierra (ON) si el bit esigual a 1
El contacto normalmente cerrado se cierra (ON) si el bit esigual a 0.
Ejemplo:
-
8/7/2019 SIMATIC_programacion
20/48
-
8/7/2019 SIMATIC_programacion
21/48
4.2. Bobinas (II)
4. Programar en KOP
Ejemplo:
-
8/7/2019 SIMATIC_programacion
22/48
4.3. Cuadros
4. Programar en KOP
-
8/7/2019 SIMATIC_programacion
23/48
4.4. Segmentos
4. Programar en KOP
Un segmento comprendedichos elementos,representando un circuitocompleto.
La corriente circula desde labarra de alimentacinizquierda (representada enel editor KOP mediante una
lnea vertical en el ladoizquierdo de la ventana) atravs de los contactoscerrados para excitar lasbobinas o los cuadros.
-
8/7/2019 SIMATIC_programacion
24/48
4.5. Marcas de memoria
4. Programar en KOP
Cuando realicemos nuestro programa y operemos anivel 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 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
-
8/7/2019 SIMATIC_programacion
25/48
Marcas de memoria de solo lectura
4. Programar en KOP
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 delprograma.
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.
-
8/7/2019 SIMATIC_programacion
26/48
Marcas de memoria de solo lectura
4. Programar en KOP
Marcas especialesMarcas especiales DescripcinDescripcinSM0.0 Marca Funcionamiento continuo (puesta a 1)
SM0.1 Marca de primer ciclo (puesta a 1 en el primer ciclo;despus se pone a 0)
SM0.2 Datos remanentes perdidos - slo vale para el primer
ciclo (0 = datos presentes; 1 = datos perdidos)
SM0.3 Marca de conexin (se pone a 1 en el primer ciclotras la conexin; despus 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 lgico en ciclos alternos)
SM0.7 Posicin del selector de modos de operacin (0TERM; 1 RUN)
-
8/7/2019 SIMATIC_programacion
27/48
Marcas de memoria de solo lectura
4. Programar en KOP
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
-
8/7/2019 SIMATIC_programacion
28/48
Marcas de memoria de lectura/escritura
4. Programar en KOP
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
-
8/7/2019 SIMATIC_programacion
29/48
4.6. Registros
4. Programar en KOP
Todas las CPU Simatic S7 disponen de una serie deregistros que se emplean durante la ejecucin del
programa de usuario.
Los ms importantes:
Acumuladores (ACU1 y ACU2)
Palabra de estado
Registros 1 y 2 de direcciones
Pila de parntesis
-
8/7/2019 SIMATIC_programacion
30/48
Acumuladores (ACU1 y ACU2) (I)
4. Programar en KOP
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 yejecutar 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.
-
8/7/2019 SIMATIC_programacion
31/48
Acumuladores (ACU1 y ACU2) (II)
4. Programar en KOP
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 direccinde 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.
-
8/7/2019 SIMATIC_programacion
32/48
-
8/7/2019 SIMATIC_programacion
33/48
Palabra de estado (II)
4. Programar en KOP
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.
-
8/7/2019 SIMATIC_programacion
34/48
Registros 1 y 2 de direcciones
4. Programar en KOP
Son dos registros de 32 bits cada uno. Se emplean comopunteros en operaciones que utilizan un direccionamientoindirecto de registros.
Aqu se almacenan los bits RB, RLO y OR, adems delcdigo de funcin que especifica que instruccin lgica haabierto el parntesis. Tiene un tamao de 8 bytes.
Pila de parntesis
-
8/7/2019 SIMATIC_programacion
35/48
4. Programar en KOP
4.7. Temporizadores y Contadores
En el Simatic S7 vamos a disponer de una serie de temporizadoresque 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 unaserie de instrucciones que nos permitirn emplear los
temporizadores de distintas formas para adecuarnos a nuestrasnecesidades
Vamos a disponer de 256 temporizadores, los cualesdireccionaremos como: T0 a T255
Temporizadores (T)
-
8/7/2019 SIMATIC_programacion
36/48
4. Programar en KOP
Contadores (C)
Al igual que los temporizadores vamos a disponer deuna serie de contadores que nos permitirn efectuarcontajes, tanto hacia adelante como hacia atrs.
Disponemos de 256 contadores, los cuales podemosdireccionar como: C0 a C255
-
8/7/2019 SIMATIC_programacion
37/48
5. Tipos de programacin
5. Tipos de programacin
Programacin Lineal
Programacin organizada ensecciones
Programacin Estructurada
-
8/7/2019 SIMATIC_programacion
38/48
5. Tipos de programacin
Programacin Estructurada
Se escriben funciones reutilizables en
Bloques separados. El OB1 (u otros
Bloques) llaman a esos Bloques y les
pasan los correspondientes datos.
Programacin organizadaen seccionesProgramacin Lineal
Estructura del Programa
Todas las instruccionesse encuentran en unsolo Bloque(normalmente el Bloquede Organizacin OB 1)
Las instrucciones de las funcionesindividuales se encuentran enBloques separados. El OB1 seencarga de llamar a esos Bloquesuno tras otro.
OB 1 OB 1
Recip. A
Recip. B
MezcKOPor
Salida
OB 1 Bomba
Salida
-
8/7/2019 SIMATIC_programacion
39/48
6.Elementos bsicos de un programa de control
6. Elementos bsicos de un programa de control
El programa de control de una CPU S7-200 comprende lossiguientes tipos de unidades de organizacin del programa(UOP):
Programa principal: En el programa principal(denominado OB1) se depositan las operaciones quecontrolan la aplicacin. Las operaciones del programaprincipal se ejecutan de forma secuencial en cada ciclo dela CPU.
Subrutinas: Una subrutina comprende un juego opcionalde operaciones depositado en un bloque por separado quese ejecuta slo cuando se llama desde el programaprincipal.
Rutinas de interrupcin: Una rutina de interrupcincomprende un juego opcional de operaciones depositadoen un bloque por separado que se ejecuta slo cuandoocurre el correspondiente evento de interrupcin.
-
8/7/2019 SIMATIC_programacion
40/48
6.Elementos bsicos de un programa de control
Subrutinas
Las subrutinas se adecuan para funciones que se debanejecutar varias veces. Basta con escribirla slo una vez yllamar a la subrutina desde el programa principal cada vezque 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 encada ciclo, as se ejecute o no). La subrutina se puedeinvocar 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 otrosprogramas sin necesidad de efectuar cambios o con slopocas modificaciones.
-
8/7/2019 SIMATIC_programacion
41/48
6.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 elsistema operativo de la CPU las llama cuando ocurre el
correspondiente evento de interrupcin.
-
8/7/2019 SIMATIC_programacion
42/48
6.Elementos bsicos de un programa de control
Tipos de bloques de programa
SBR0
OB = Bloque de Organizacin
SBR = Subrutina 0 - 63
INT = Rutina de Interrupcin 0 - 127
Sistema Operativo
OB1
Ciclo Scan
Proceso
Tiempo
Comunicacin
SBR1 SBR4
SBR3 SBR2
Mximo 8 niveles de anidamiento
-
8/7/2019 SIMATIC_programacion
43/48
7. Tipos de mdulos
El Simatic S7 dispone de una serie de mdulos que dividenla memoria de programa y la de datos en secciones,permitiendo una programacin estructurada y un accesoordenado a los datos.
7. Tipos de mdulos
El nmero de mdulos va a depender del tipo de CPUempleada, 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)
-
8/7/2019 SIMATIC_programacion
44/48
7. Tipos de mdulos
7.1. Mdulos de organizacin (OB)
Constituyen la forma de comunicacin entre el sistema operativode la CPU y el programa de usuario.
Mdulos de organizacin (OB) (estn accesibles o no segn eltipo de CPU):
OB para ejecucin del programa ARRANQUE (llamadacontrolada por evento por parte del sistema operativo)
OB para ejecucin cclica del programa (OB1)(llamadacclica por el sistema operativo) OB para ejecucin del programa controlado por tiempo
(llamada controlada por tiempo por parte del sistemaoperativo)
OB para ejecucin del programa controlado por alarma (deproceso) (llamada controlada por evento por parte del sistemaoperativo)
OB con funciones similares a los mdulos funcionalesintegrados (llamada por parte del programa de usuario).
-
8/7/2019 SIMATIC_programacion
45/48
7. Tipos de mdulos
7.2. Mdulos de datos (DB)
Son reas de memoria destinadas a contener datos delprograma de usuario.
Existen mdulos de datos globales y de instancia.
A los datos contenidos en un mdulo de datos es posibleacceder 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 cualquiermdulo del programa.
Mdulos de datos de instancia: se asignan a un
determinado mdulo de funcin y solo pueden manejarsedesde dicho mdulo. Pueden asignarse varios mdulos dedatos de instancia a un mdulo de funcin.
En total podemos manejar hasta 127 mdulos de datos.
-
8/7/2019 SIMATIC_programacion
46/48
7. Tipos de mdulos
7.3. 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.
-
8/7/2019 SIMATIC_programacion
47/48
7. Tipos de mdulos
7.4. 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.
-
8/7/2019 SIMATIC_programacion
48/48
7 Tipos de mdulos
7.5. 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...
Son funciones integradas en el sistema operativo de la CPU
y que se pueden llamar en caso de necesidad desde el
programa de usuario.
7.6. Mdulos de funciones del sistema (SFC)