Práctica III. Introducción a la programación en STEP 7 - ELAI-UPM

Anuncio
Práctica 3
Automatización Industrial (Curso 2010)
Iniciación en la programación con STEP 7
1 OBJETIVO
El objetivo de esta práctica es la familiarización del alumno con el uso de una
herramienta profesional para la programación como es la ofrecida por la casa SIEMENS
para las familias S7-300 y S7-400. Más concretamente, el laboratorio cuenta con
autómatas S7-313C y la herramienta de programación es la versión 5.3 de Simatic
Manager. Los autómatas están conectados cada uno con un computador a través del bus
específico de Siemens denominado MPI. A su vez, cada autómata lleva asociado una
unidad CP-435 que permite la comunicación mediante el bus de campo industrial
PROFIBUS-DP.
Simatic Manager es un entorno profesional flexible que permite programar un gran
número de autómatas de la familia SIEMENS. Para ello está dotado de una potente
colección de librerías que almacenan las características específicas HW (perfiles) de
cada autómata y los elementos de conexionado para configuraciones en red. Al arrancar
el programa, el asistente por defecto permite iniciar una sesión con la configuración HW
para el S7-313C, el modelo a disposición del alumno en le laboratorio. Dicha
configuración se hace efectiva si se pulsa el botón Finalizar en la ventana del asistente.
Además de los lenguajes de representación ya conocidos (KOP, AWL y FUP), STEP 7
posee un potente lenguaje gráfico denominado S7-GRAPH que permite programar
usando directamente Grafcets. Es habitual que el programador realice la codificación de
la parte ‘estándar’ del automatismo empleando S7-GRAPH para después efectuar las
modificaciones de detalle en ensamblador (AWL). En este curso no se exigirá al alumno
el conocimiento de S7-GRAPH, si bien se anima al alumno a emplearlo en la
realización de los trabajos.
2 DIFERENCIAS IMPORTANTES CON EL LENGUAJE STEP 5
La programación en STEP 7 es muy semejante, en líneas generales, a la ya vista para
STEP 5 si bien existen algunas diferencias importantes algunas de las cuales se recogen
en esta sección.
2.1 Nomenclatura de bloques
En la familia de autómatas que emplean STEP 7, los bloques disponibles al usuario
cambian de nombre respecto a STEP 5 y, dependiendo del modelo concreto, varían en
número y funcionalidad. Se citan a continuación algunos cambios relevantes:
• Bloques de organización: El OB1 sigue siendo el bloque principal en todos los
modelos, pero el bloque de arranque completo (paso de STOP a RUN) se
cambia a OB100 (arranque completo en caliente). En función del modelo que se
disponga será necesario conocer la funcionalidad de otros bloques de
organización. Esta información queda accesible al programador una vez ha
definido la configuración HW desde la propia herramienta. Como ejemplo, el
bloque OB35 tiene prioridad 12 (en el modelo 313-C) y se ejecuta cada 100ms
1
Práctica 3
Automatización Industrial (Curso 2010)
•
•
•
•
interrumpiendo la ejecución del bloque principal OB1. Pertenece a la categoría
de alarmas cíclicas y puede usarse para programar un estado de emergencia.
Funciones: Estos bloques tienen como identificador las letras FC<Número> y
sirven para descomponer el programa en elementos funcionales o tecnológicos,
facilitando la depuración y el mantenimiento. Equivalen a los bloques PB de
STEP 5. Las funciones pueden ser almacenadas y reutilizadas como librerías. El
Simatic Manager lleva incorporado un gran número de funciones ya
programadas y que están a disposición del programador en el catálogo de
librerías.
Bloques de Función: Permiten encapsular elementos más complejos referidos al
automatismo a controlar, teniendo como identificador FB<Numero>. A
diferencia de los bloques FC, pueden programarse con un juego de instrucciones
ampliado y tienen que estar asociados obligatoriamente a un bloque de datos
(DB<Número>). Si se emplea un bloque FC para encapsular el código relativo
al funcionamiento de un elemento complejo del sistema (por ejemplo una
bomba), el bloque de datos asociado almacenaría valores acerca de las
propiedades físicas de la bomba (potencia etc.) evitando así tener que inicializar
estos parámetros en el arranque completo OB100.
Bloques de datos: No cambian en cuanto a su identificador respecto a STEP 5
(DB<Número>) pero pueden estar asociados a bloques FB. En cada momento
no puede haber activo más que un bloque de datos global y un bloque de datos
asociado a bloque de función (denominado bloque de datos de instancia).
Funciones del sistema: Corresponden a funciones que ya vienen programadas
en la memoria ROM para cada modelo de autómata. La sintaxis de uso es
SFC<Número>.
2.2 Formato de constantes
A diferencia de STEP5, las constantes numéricas adoptan la forma <Tipo>#<Número>.
La tabla siguiente recoge algunos de los tipos de datos básicos más empleados.
Número
Tamaño Formato
(bits)
Rango
Ejemplo
±215
L 12
12
16
100000
32
L#
±231
L L#10000
AF
8
B#
28
L B#16#AF
FF99
16
W#
216
L W#16#FF99
FF99AFAF
32
DW#
232
L DW#16#FF99AFAF
Binario
16
2#
26
L 2#0010101…
Binario
32
2#
232
L 2#100101000101…
5min 3seg
16
S5T#
0-9990 seg.
L S5T# 5M3S
BCD
16
C#
0-999
L C#890
2
Práctica 3
Automatización Industrial (Curso 2010)
Nótese que las constantes de tiempo para los temporizadores ya no es necesario
introducirlas como en STEP 5 (KT X.Y). STEP 7 dispone de un tipo S5TIME (creado
para ser compatible con STEP 5) que permite ahora escribir directamente el tiempo en
horas, minutos y segundos ajustándose la mejor base de tiempos automáticamente. En
STEP 5, la sintaxis KT X.Y determina un valor de temporización X para una base de
tiempos Y. En STEP 7 la sintaxis equivalente es S5T#hHmMsS. Así por ejemplo,
S5T#5s (STEP 7) equivale a KT 500.0 en STEP 5). En el caso de la carga de
contadores, STEP 7 emplea la notación C# para una constante numérica en BCD,
mientras que en STEP 5 era KZ.
A destacar también que el tipo base LONG es ahora de 32 bits y que no debe
confundirse con la instrucción clásica de carga L, pues el formato de la constante
numérica debe ir acompañado del símbolo # (por ejemplo L L#1000, copia el número
1000 en el registro acumulador ACU-1 rellenando los bits sobrantes hasta 32 con
ceros).
Finalmente, todos los formatos de datos básicos sin signo (B, W, DW) necesitan que la
constante numérica sea escrita en formato hexadecimal (16#). Por ejemplo el número 32
decimal como constante de tamaño doble palabra se escribe DW#16#20.
2.3 Nuevos operadores
La sintaxis de STEP 7 es más rica que la de STEP 5. Algunos nuevos operadores de
uso muy habitual que hay que conocer son:
• Operador X : Operador binario XOR
• Nuevos operadores que actúan sobre el registro lógico operacional (RLO).
o NOT: Modifica el RLO al valor complementario
o SET: Pone el RLO a 1
o CLR: Pone el RLO a 0. Los tres argumentos no requieren operandos (el
operando implícito es el RLO).
• Nuevos operadores relativos a flancos:
o FP: Flanco positivo (subida) del valor del RLO en el momento de
ejecución de la instrucción. Como consecuencia, el evento flanco
positivo se almacena en el RLO.
o FN: Flanco negativo (bajada) del valor del RLO en el momento de
ejecución de la instrucción. Como consecuencia, el evento flanco
negativo se almacena en el RLO.
• El Simatic Manager ofrece para lenguaje de contactos (KOP) una gran variedad
de elementos gráficos y el alumno debe estar familiarizado con los principales.
Dentro de las operaciones lógicas destacan los relativos a contactos, flancos,
bobinas Set/Reset y conectores. Para las operaciones analógicas hay que conocer
el contacto MOVE y el COMPARADOR. Finalmente es necesario saber utilizar
los símbolos relativos a temporizadores y contadores. La figura siguiente
muestra algunos ejemplos:
3
Práctica 3
Automatización Industrial (Curso 2010)
Mflanco
Expresión
A1.0
A1.0 = Expresión ↑
P
E1.0
Expresión
A1.0 = Expresión ↓
N
Mflanco
Expresión
A1.0
A1.0
A1.0 = Expresión ⋅ ( E1.0 ↑)
POS
Mflanco
E1.0
Expresión
A1.0
A1.0 = Expresión ⋅ ( E1.0 ↓)
NEG
Mflanco
A1.0
M10.0
Expresión
#
NOT
A1.0 = Expresión
M 10.0 = Expresión
3 ENTORNO DE PROGRAMACIÓN ‘SIMATIC MANAGER’
El entorno Simatic Manager es un entorno profesional incomparablemente superior al
entorno S5Win empleado en las prácticas anteriores para STEP 5. Existen innumerables
opciones para la configuración, simulación y programación que no existían en el otro
entorno. La versión a disposición del alumno en el laboratorio de prácticas es la 5.3. Se
recomienda al alumno que, al incio de la práctica, dedique un cierto tiempo a navegar
por los diferentes menús que ofrece la aplicación hasta tener claro, al menos, los
siguientes conceptos:
• Como configurar un proyecto nuevo correctamente (SW y HW (PLC: S7313C)).
• Como crear bloques de programa: Fundamentalmente bloques de tipo OB,
FC, FB y DB (de instancia o globales)
• Como editar los diferentes bloques.
• Como alternar entre lenguajes AWL, KOP y FUP; como usar correctamente
los elementos gráficos asociados a operaciones binarias más comunes en KOP.
• Como definir una tabla de símbolos y emplear la funcionalidad de completar
los identificadores a la hora de programar. Esto permite escribir variables
utilizando los caracteres de comienzo del símbolo asociado, lo que facilita
mucho la escritura en ensamblador (AWL).
• Como arrancar y usar correctamente la aplicación simulador. Hay que
conocer al menos los siguientes puntos:
o Saber visualizar entadas, salidas, marcas, temporizadores y contadores
o Saber ejecutar el código en modo continuo o ciclo a ciclo
o Incluir los símbolos de la tabla en la pantalla de simulación
• Como transferir el programa (conjunto de bloques) al PLC.
4
Práctica 3
Automatización Industrial (Curso 2010)
•
Como utilizar adecuadamente la ventana de edición de bloques: añadir
segmentos, comentarios, usar la ventana de depuración, usar la información que
proporciona el Simatic Manager acerca del programa desarrollado etc.
Para facilitar esta labor se propone el siguiente ejercicio donde se crea un proyecto paso
por paso.
1) Tras abrir el Simatic Manager aparece por defecto la ventana del asistente para la
creación de proyectos (cabe la posibilidad de se haya deshabilitado esta opción y
aparezca directamente el ventana principal tal y como quedo en su anterior uso. Si este
es el caso vaya al menú Archivo-> ‘Nuevo Proyecto’ y aparecerá la ventana del
asistente).
2) En la ventana del asistente pulse Preliminar. Esto mostrará la configuración HW y
SW prevista para el nuevo proyecto (ver Figura 1).
Figura 1. Asistente para la creación de un proyecto nuevo
En la ventana de la izquierda se indica de forma jerárquica lo siguiente: nombre previsto
por defecto para el nuevo proyecto (S7-Pro2 en la figura), la configuración HW (CPU312C) y la estructura SW de bloques (Programa S7 y módulo principal OB1). Si se
pulsa Siguiente el asistente permitirá modificar el modelo del autómata, el conjunto de
bloques de operaciones previstos para el proyecto (en función del modelo de CPU
elegida) y finalmente el nombre y el lugar de almacenamiento en el disco duro. Si pulsa
Finalizar en cualquier momento creará el nuevo proyecto con la configuración
predefinida.
3) Cambie la CPU por defecto por la del modelo real en el laboratorio, la CPU 313C.
Para ello pulse Siguiente y seleccione en el cajetín la CPU adecuada.
4) Pulse Siguiente y active la casilla OB100 (arranque ‘completo’ (y también
ejecutado por el sistema operativo para los eventos que producen arranque en caliente
en los S7-300), equiparable al OB21 del autómata S5-95U empleado en las prácticas
anteriores). Pulse otra vez Siguiente, elija un nombre para su proyecto y pulse Finalizar
tras lo que aparecerá la ventana principal (ver Figura 2).
5
Práctica 3
Automatización Industrial (Curso 2010)
Figura 2. Ventana principal del Simatic Manager
5) En la parte de la izquierda aparece la configuración HW y SW de forma similar a la
mostrada por el asistente de nuevos proyectos. En la parte de la derecha aparecen los
elementos relacionados con el elemento seleccionador en la ventana izquierda.
Compruébese esta hecho seleccionando los diferentes iconos (CPU, fuentes, bloques
etc.). Una característica importante del entorno Simatic es que posee información
contextual para casi cualquier icono que aparece en pantalla. Normalmente para acceder
a dicha información basta con pinchar sobre el objeto con el botón derecho del ratón y
seleccionar “Propiedades del objeto…” (el atajo es ALT + ENTER). Como ejemplo,
seleccione el icono CPU-313C en la ventana izquierda, pulse ALT + ENTER y Aceptar
en el diálogo. Aparecerá una nueva ventana con las propiedades de la CPU actual
(bloques OB, marcas volátiles (MB0-MB16) etc.).
6) Abra la ventana de edición para el bloque principal OB1. Para ello seleccione el
icono “Bloques” en parte izquierda y haga doble-click sobre OB1 en la parte derecha de
la ventana principal.
7) La ventana de edición se abre por defecto en modo AWL en el primer segmento del
módulo editado (OB1). Escriba ahora las instrucciones siguientes:
U E124.0
= A 124.0
// Comentario de línea
El Simatic Manager permite añadir comentarios por segmento, bloque y línea. Para
añadir comentarios de línea hay que emplear el separador ‘//’ en lugar de ‘;’ como en
STEP 5. En la figura siguiente se puede ver donde se pueden colocar los diferentes tipos
de comentarios (títulos de bloque y segmento, comentarios de bloque y segmento y
comentarios de instrucción).
Figura 3. Diferentes formas de comentar el código en STEP 7
No hay que confundir el título de un bloque con el nombre simbólico asociado a dicho
bloque. Para ver la diferencia Guarde los cambios en la ventana de edición (Archivo>Guardar o CTRL+S) y examine el bloque OB1 desde la ventana principal (Pulse con
6
Práctica 3
Automatización Industrial (Curso 2010)
el botón derecho sobre el bloque y elija Propiedades del Objeto (o simplemente ALT +
ENTER)). El nombre simbólico es ‘Cycle Excecution’, no existe comentario del
símbolo y el título y comentario del bloque que se ha escrito desde el editor aparecen en
el caja de texto Comentario.
Figura 4. Página de propiedades del bloque OB1
8) Cierre la página de propiedades y vuelva a editar el bloque OB1. Pruebe a alternar
entre los lenguajes KOP, AWL y FUP mediante los atajos CTRL+1, CTRL+2 y CTRL
+3 respectivamente (o su equivalente a través del menú Ver). Observe que al cambiar la
representación también cambia la ventana de la parte izquierda de la imagen. Por
ejemplo, en modo contactos aparecen un sinfín de posibilidades de elementos gráficos
para KOP. Basta arrastrar cada elemento sobre la zona de edición correspondiente para
colocarlo. Como ejercicio, introduzca un contacto E 124.1 como AND lógico entre E
124.0 y la salida A 124.0. Para ello, expanda la carpeta “Operaciones lógicas” y arrastre
el contacto ‘normalmente abierto’ entre el contacto E32.0 y la Salida. Rellene el
símbolo ‘??.?’ con el nombre E 124.1. Guarde los cambios.
9) Para añadir un símbolo al contacto que acabamos de añadir seleccione dicho
contacto y presiones ALT+ENTER. Aparece una ventana con la información de la tabla
de símbolos relativa al bloque editado. En dicha ventana rellene la casilla Símbolo con
“Entrada”, el tipo de dato con “BOOL” y añada el comentario que más le guste.
Presione Aceptar para finalizar. Observe que al volver al menú edición el símbolo
aparece en lugar del nombre sobre el contacto seleccionado. Pruebe ahora a personalizar
la información que aparece en pantalla pulsando Ver->Mostrar y modificando las
opciones activadas por defecto (por ejemplo, puede hacer que aparezca tanto el símbolo
como el comentario).
10) Desde el menú de edición puede abrir la tabla de símbolos completa del proyecto
seleccionando Herramientas->Tabla de Símbolos (o mediante la combinación de teclas
CTRL+ALT+T). Abra el alumno la tabla y compruebe que el símbolo “Entrada”
aparece asociado a la entrada E32.1. Cierre la ventana y vuelva al menú de edición del
bloque OB1.
11) Desde el menú edición añada un segmento nuevo a través del menú Insertar>Segmento (o el atajo de teclas CTRL+R) y elija la opción AWL (CTRL+2). Una de las
características nuevas del entorno Simatic es que permite completar los identificadores
introducidos con aquellos que se encuentran predefinidos en la Tabla de Símbolos. Para
ello introduzca las letras “U En” y presione el menú Insertar->Símbolo (o el atajo
CTRL+J). Aparecerá una lista de todos los símbolos definidos por orden lexicográfico.
7
Práctica 3
Automatización Industrial (Curso 2010)
Presione ENTER para aceptar la primera opción. De esta forma no es necesario recordar
el nombre completo sino solamente alguna/s de las letras iniciales. Por ello es muy
interesante empezar la implementación con las entradas, salidas y marcas de etapa ya
definidas como símbolos y usar la utilidad de completar a la hora de teclear los
identificadores.
12) Borre el segmento añadido seleccionando el cajetín donde aparece el texto
“Segm. 2” en la cabecera del segmento y pulse Suprimir en el teclado. Guarde los
cambios y cierre la ventana de edición.
13) Abra ahora el simulador mediante el menú Herramientas->Simular módulos.
14) Transfiera el código al simulador. Para ello seleccione todos los bloques que
aparecen en la parte derecha de la ventana principal (bloques OB100 y OB1) y elija
Sistema Destino->Cargar (o el atajo CTRL+L). Es muy importante que la aplicación de
simulación esté abierta. Si el autómata no está conectado y el simulador no está en
ejecución, el entorno dará un error de excepción al intentar la transferencia.
15) Una ventana de simulación vacía tiene el aspecto siguiente:
Figura 5. Ventana de simulación vacía
El entorno de simulación es completamente configurable y es posible guardar tanto la
simulación actual como la organización de ventanas (Entradas, salidas, marcas,
contadores etc.) por defecto a través del menú Archivo. Las variables predefinidas
habituales pueden mostrarse en pantalla mediante el menú Insertar. Para el programa
definido en el OB1 elija Insertar->Entrada e Insertar->Salida y configure las ventanas
adecuadamente (Entrada EB 124 y salida AB 124). Ejecute el programa activando el
cajetín de Run y compruebe que al activar el bit E 124.0 y el bit E 124.1 la salida A
124.0 se pone nivel alto.
16) Guarde la organización actual (menú Archivo->Guardar organización) con el
nombre que quiera (la extensión es *.lay). Ahora si elimina todas las ventanas abiertas
dentro del simulador siempre puede recuperar dicha configuración cargando la
organización guardada (menú Archivo->Abrir organización). Si lo que se quiere guardar
es el programa y la situación exacta de las variables de simulación entonces la opción es
Archivo->Guardar PLC (o el atajo CTRL+S).
17) Incluya los símbolos definidos en la tabla de símbolos en la simulación. Para
ello elija como representación de las entradas una tabla de bits verticales (los símbolos
no caben en la ventana de entradas) mediante el menú Insertar->Bits verticales en la
ventana de simulación. En el cajetín superior de la nueva ventana escriba ‘EB 32’, el
byte donde se encuentra el único símbolo definido hasta el momento. Finalmente
incluya la tabla de símbolos mediante la opción Herramientas->Opciones->Asignar
símbolos y asegúrese de seleccionar la tabal de símbolos del proyecto correcto (que no
será el que aparezca por defecto en el caso general) (ver Figura 6).
8
Práctica 3
Automatización Industrial (Curso 2010)
Figura 6. Selección de tabla de símbolos para el simulador.
Recuerde que el icono de símbolos para cualquier proyecto pertenece al objeto
“Bloques” de la ventana izquierda relativa a configuración por lo que es necesario
seleccionar dicho icono. Haciendo doble-click sobre el icono “Simbolos” adecuado se
cargan los símbolos en el simulador. Si se ha realizado esta operación correctamente,
debería aparecer una ventana EB32 como la indicada en la Figura 7.
Figura 7. Símbolo “Entrada” cargado en el simulador
18) Cierre el simulador y abra nuevamente la ventana de edición del bloque OB1. El
Simatic posee una función de ayuda contextual adicional muy poderosa pulsando la
tecla F1. Compruebe la herramienta seleccionando cualquier instrucción (o pulsando
sobre la línea con el ratón) y posteriormente seleccionando F1.
18) Cierre la pantalla de ayuda. Desde la ventana de edición seleccione Herramientas>Datos de referencia->Mostrar y pulse Aceptar. Aparecerá otra poderosa herramienta
que ofrece el entorno para la depuración y mantenimiento del código la ventana de
Referencias del proyecto actual (ver Figura 8).
9
Práctica 3
Automatización Industrial (Curso 2010)
Figura 8. Ventana de referencias de un proyecto.
Compruebe el alumno a través de las opciones del menú Ver como se despliega una
gran cantidad de información relativa al proyecto actual (variables definidas y
ocupación de la memoria, símbolos definidos y no utilizados, estructura del programa,
identificadores sin símbolo).
4 Herramienta de depuración
De forma similar al entorno de programación no profesional empleado para la
programación del S5, el Simatic Manager permite la depuración de un programa en
ejecución mediante la visualización de los bloques de código implementados durante la
ejecución del programa tanto en el modo de simulación como en el de ejecución real
sobre el autómata.
La forma más sencilla de arrancar la depuración de cada bloque, durante la ejecución de
un programa (bien sea en el autómata o en el simulador), es pulsar las teclas CTRL+F7
desde la ventana de edición del bloque en cuestión. Esto equivale a la secuencia Test>Observar en el menú de dicha ventana.
5 Instrucciones de salto entre bloques y dentro de un mismo
bloque
Existen diferencias sustanciales en STEP 7 respecto a las instrucciones de control del
flujo de ejecución en STEP 5. En esta sección se enumeran los operadores principales
en STEP 7 que permiten interrumpir la ejecución secuencial del código. Éstas son:
• UC <Función> (unconditional call): Salta incondicionalmente al bloque
indicado como operando (i.e UC FC1)
• CC <Función> (conditional call): Si el RLO vale 1 salta al bloque indicado
como operando (i.e. CC FC1).
• CALL <Función / Bloque de Función>: Equivale a UC para funciones sin
parámetros. Es obligatorio usar CALL para llamadas a bloques de función (FB)
o funciones con parámetros (FC).
• SPA <Etiqueta>: Salto absoluto dentro del bloque a la etiqueta indicada como
operando (i.e SPA FIN). En STEP 5 esta instrucción permitía el salto interbloques (i.e SPA PB1). En STEP 7 las instrucciones SP<X> <Etiqueta> quedan
reservadas para movimientos dentro del bloque donde son invocadas.
• SPB <Etiqueta>: Salto condicionado dentro del bloque. Si el RLO vale 1 en el
momento de la ejecución de esta instrucción, el flujo de control salta a la
etiqueta utilizada como operando, que tiene que existir obligatoriamente (e.g.
SPB FIN iría a la instrucción que empezara por FIN: dentro del bloque).
10
Práctica 3
Automatización Industrial (Curso 2010)
•
•
BE / BEA: Finalización del bloque y retorno al punto de llamada en el bloque
invocante. El editor coloca automáticamente una instrucción BE (ahora no
visible en el bloque de edición) al final de cada bloque (en el editor S5Win dicha
instrucción aparecía explícitamente en el código durante la programación). La
instrucción BEA es la versión equivalente de BE para uso del programador.
BEB: Finalización condicionada del bloque. Si el RLO vale 1 en el momento de
la ejecución de la instrucción, el sistema retorna al punto de llamada del bloque
invocante y continua con la siguiente instrucción.
Ejercicio Práctico
Para practicar con el entorno Simatic Manager se propone el control del sistema
siguiente analizado en clase de teoría en profundidad:
Impleméntese una máquina de estados reconocedora de la secuencia de caracteres
binarios 101. La entrada la realizará el operario de forma manual a partir de uno de
los interruptores de la periferia integrada. La entrada será validada cada 3 segundos.
1 Descripción del montaje
El PLC a disposición del alumno hará el papel de reconocedor y existirá una sola
entrada de datos (E 124.0) operada por el propio alumno mediante el interruptor
correspondiente con la interpretación natural de nivel alto->1 y nivel bajo->0. La
validación de los datos estará controlada por el propio autómata y será cada 3
segundos por dato. Cada vez que se admita un dato como válido se activará la salida A
124.0 durante un segundo, para avisar al operario de que el dato se ha leído
correctamente. Al caer la salida el operario tendrá todavía 2 segundos para introducir el
nuevo valor. Al terminar el proceso el número de secuencias 101 encontradas se
almacenarán en el byte AB 125 (y, por tanto, se iluminarán los leds correspondientes en
la periferia integrada).
El ciclo termina cunado se hayan leído un número de caracteres N determinados al
inicio del ciclo (por ejemplo N = 10). En ese momento se muestra el número de
secuencias detectadas en el byte AB 125.
El sistema debe contar con un pulsador P_ON disparado por flanco para arrancar la
cuenta y un pulsador de RESET para reiniciar el proceso en cualquier momento. Hasta
que no se pulse RESET no se considerará el ciclo terminado, con lo que la palabra AW
125 seguirá conteniendo el resultado del último ensayo hasta entonces.
Para una mejor estructuración de la implementación, se empleará un bloque de datos
global para almacenar el tiempo de validación entre datos (3 segundos) y el número
de caracteres totales a leer (por ejemplo 10 bits).
La máquina de estados subyacente es la que se ha vista en clase y tiene un diagrama de
transición como el de la figura 9.
11
Práctica 3
Automatización Industrial (Curso 2010)
1/0
0/0
NADA
1/0
1
0/0
10
0/0
1/1
Figura 9. Máquina de Mealy para el reconocimiento de una secuencia 101.
2 Estructura de Bloques
De acuerdo con lo visto en las prácticas anteriores, se recuerda al alumno que la
programación estructurada es un principio básico para implementar la programación de
los automatismos de mando. Una buena descomposición del código en bloques relativos
a partes claramente diferenciadas del sistema a controlar es fundamental para:
• Permitir la depuración y seguimiento del código
• Permitir el uso de técnicas estándar de programación así como la reutilización de
repositorios de bloques ya existentes en la forma de librerías de bloques.
En esta práctica será obligatoria la estructuración siguiente:
• OB1 y OB100: Boque principal y de arranque completo.
• FC1: Bloque relativo a la parte secuencial del automatismo (activación de
etapas).
• FC2: Bloque relativo a los actuadores.
• FC3: Bloque relativo a la detección de flancos.
• FC4: Bloque que lanza el temporizador para la validación de datos.
• DB1: Bloque de datos global con la información del número de caracteres total
de la secuencia de entrada (10 bits) y del tiempo de validación (3s).
Antes de comenzar la codificación, el alumno debe decidir si transformar la máquina de
estados de la figura anterior en una máquina de Moore o si se puede trabajar con el
diseño de máquina que aparece en la figura superior. Responda al profesor de
prácticas convenientemente justificando la respuesta.
3 Detalles de implementación
El bloque OB1 hace llamadas incondicionales al resto de bloques excepto al generador
de la señal de tiempo de validación que se arranca tras pulsar P_ON estando el sistema
en reposo.
CALL "Flancos"
CALL "Secuencial"
CALL "Actuadores"
U "P_ON (flanco) y Reposo"
CC "Temp. de Validacion"
….
Figura 10. Detalle del bloque OB1
12
Práctica 3
Automatización Industrial (Curso 2010)
El bloque de validación de datos (FC4) puede ser una señal periódica S1 como la que
aparece en la figura a continuación:
S1
3
3
3
que puede implementarse con la siguiente instrucción en KOP :
T1
S1
SV
S1
S5T#3s
T
Q
Se puede entonces utilizar el flanco de subida de S1 para la activación de la luz (señal A
124.0 que indica que se ha leído correctamente del dato (E 124.0) y que dura un
segundo) y el flanco de bajada de S1 como evento de lectura del dato.
La cuenta del número de caracteres leídos la llevará un contador descendente que sea
arrancará con el valor inicial que se encuentra en el bloque de datos global DB1 y se
decrementará con el flanco de bajada de la señal de control S1. De esta manera se puede
usar el valor lógico “falso” del contador como condición de ‘lectura de todos los
caracteres’.
El bloque de datos global DB1 una vez definidos los dos valores (número de bits a leer
y tiempo de validación) debería tener un aspecto como el de la figura:
Figura 11. Bloque de Datos DB1
4 Normas para la realización de la práctica
Esta práctica se realizará en el laboratorio dispuesto a tal efecto situado en la primera
planta. Para la realización de la misma será necesario:
1) GRAFCET nivel 2 equivalente a la máquina de estados empleada en el control
2) Implementación del reconocedor de bits en STEP 7. Para ello será de obligatorio
cumplimiento:
a. Estructuración del código: De acuerdo con lo expuesto en los puntos 2
y 3.
13
Práctica 3
Automatización Industrial (Curso 2010)
b. Documentación: Será imprescindible emplear una tabla de símbolos
apropiada y utilizar abundantes comentarios (obligatorio para todos los
programas a realizar durante el curso.
c. Simulación en el ordenador, terminado el programa, así como manejo de
las técnicas básicas de depuración que ofrece la herramienta. El profesor
deberá comprobar el correcto funcionamiento del programa.
Posteriormente se realizará una demostración sobre el autómata, siendo
el alumno el que se encargue de ir introduciendo manualmente los bits a
reconocer.
La versión definitiva del código, junto con el GRAFCET (nivel 2) y la tabla de
símbolos, se entregarán al comienzo de la siguiente práctica.
14
Descargar