AP_PED2 - F. J. Pino - Resuelta.pdf

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 1. Indique los principios básicos para el estudio y diseño sistemátic

Views 111 Downloads 5 File size 331KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN

1. Indique los principios básicos para el estudio y diseño sistemático de un sistema de control automatizado (apartado 2.2 del libro, pág. 12).

Los principios básicos del diseño sistemático se basa en modelos de tipo matemático y reglas de operación que no admitan ambigüedades: 1 - Dividir el sistema en bloques, a priori globales y posteriormente divididos en elementales. 2 - De cada bloque se define solamente las magnitudes de entrada y salida. 3 - Cada magnitud de entrada/salida representada por una variable de tipo lógico o numérico. 4 - Para cada bloque hallar la función que relaciona las variables de entrada y salida (función de transferencia) que puede ser lógica, algebraica o numérica. 5 - Dos bloques que tengan funciones de transferencia iguales se considerarán idénticos.

II Unidad Didáctica

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN

2. Diferencias entre automatismos combinacionales y sec uenciales.

- En un sistema combinacional las salidas en un instante dependen solamente de las entradas en ese instante, independientemente del estado inicial, mientras que en un sistema secuencial las salidas en cada instante dependen de las variables de entrada, del estado inicial del sistema y de su evolución. - En un sistema combinacional las funciones de transferencia son lógicas que relacionan las entradas mediante combinación de los operadores “Y”, “O” y “NO”. En el sistema secuencial las funciones de transferencia siguen siendo lógicas, pero contienen variables internas que guardan memoria del estado del sistema o de su evolución anterior, por lo que se añade el operador “MEMORIA”, siendo los nombres para la función memoria SET (1) o RESET (0). - El diseño de un automatismo combinacional se realiza mediante álgebra de Boole y las tablas de verdad que refleje la relación de cada salida con las entradas. El diseño de un automatismo secuencial es más complejo, siendo necesario representarlo mediante un diagrama de flujo, siendo necesario útiles descriptivos que se han ido desarrollando siendo el más usado el GRAFCET (gráfico funcional de control de etapas y transiciones).

3. Realice el diseño del control de la planta embotelladora de la figura 2.44 (pág. 37) utilizando GEMMA y GRAFCET. (Incluya las hojas necesarias para los gráficos)

Primero se realiza un GRAFCET de base, en el que diseña lo que supondría el funcionamiento en automático y simplificado de la planta embotelladora.

11

b+

b1

12

a+ ba1·b0

Estación 3

Estación 2

Estación 1

c+ d+

22

g+

32 g1

c1

33

e+ e1

34

e-

e0

g-

35 g0

e+ f+

36 e1

13 a0·b0·c0·e0·g0

a-

23

c-

II Unidad Didáctica

37

e-

Posteriormente se realiza un gráfico GEMMA en el que se incluyen todas las fases de la planta embotelladora, incluyendo la marcha y paro automáticos, así como las semi automáticas y manuales necesarias. Para ello hay que incluir nuevos detectores de recipiente, que son CP1, CP2, CP3 de presencia de recipiente en cada una de las estaciones 1 (carga), 2 (llenado) y 3 (taponado), así como los elementos de mando que se describen a continuación con las respectivas señales que generan. Selector MODO: Automático ---------- A Semi automático -- SA Manual -------------- MA Paro de Emergencia: ---------------------PE Producción: Marcha (S) Paro (R)------ M Taponado: Manual -----------------------TM Vaciado: Alimentación automática ---- AA Selector estación: Estación 1 ---------- E1 Estación 2 ---------- E2 Estación 3 ---------- E3

(F) PROCEDIMIENTOS DE FUNCIONAMIENTO

(A) PROCEDIMIENTOS DE PARO DE PO Desde cualquier estado MA

(A4) Inicialización máquina por mando movimientos separados

(A1) Estado de reposo máquina

Marcha autom. Marcha autom. CP2·CP3

MA·PE

(A3) Limpieza y verificaciones

MA Paro

Producción (A2) Acabar ciclo hasta vaciar

M

(F2) Arranque progresivo estación a estación Cp3

(D2) Llenado automático Taponadora manual

(D1) Parada de emergencia Paro de todas las salidas Válvula D cerrada por muelle

(D) PROCEDIMIENTOS DE FALLO DE PO

AA

SA A

(F5) Marcha semiautomática independiente para cada estación E1, E2, E3

SA TM

Desde cualquier estado PE

(F3) Vaciado progresivo

(F1) Producción normal, según GRAFCET base

M

(F4) Mando separado de cada movimiento

Producción

Este gráfico GEMMA puede ser más completo aún, ya que pueden definirse más estado que a priori no son necesarios, pero que pueden hacer el sistema más depurado. Sin embargo con éste gráfico GEMMA es suficiente para definir todos los estados que se necesitan para el funcionamiento de la embotelladora, con él y con los nuevos elementos definidos se puede ampliar el GRAFCET de base a un GRAFCET que ya contempla los procedimientos de marcha, paro y fallo, excepto el paro de emergencia, ya que se trata cómo una función aparte de rango superior. También se observa que los estado A4 y F4 no están contemplados, ya que no forman parte de ningún ciclo, por eso se ha previsto una entrada desde cualquier estado.

11

b+

b1

si (AA·CP1)

12

a+ b(a1·AA)·b0

Estación 3

Estación 2

Estación 1

21 CP2+ 22 +(SA·E1)

CP2·SA

c+ d+ c1

31

CP3·SA·TM

Cp3+ g+ 32 +SA+TM g1

33

e+ e1

e-

34 e0

g-

35 g0

e+ f+

36 e1

13

a-

23

c-

c0·SA·E2·m a0·b0·c0·e0·g0(A·M+SA·E1·m)

37

e-

e0·SA·E3·m

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN

4. Explique la figura 10.2 (pág. 195 del libro) en la que aparece la relación entre el usuario y la planta en el proceso de la programación y explotación de un autómata. Indique los pasos que hay que seguir para programar el autómata.

Muestra la interrelación entre el autómata, la planta y el usuario, de forma que el autómata que está compuesto de un hardware controlado por un software, a través del los interfaces E/S y de las señales A/D interactúa con el proceso, la interactuación con el usuario lo hace mediante un modelo de control y unidad de programación, la cual consta de un editor con el que se pueden codificar las instrucciones a través de lenguajes de programación y explotación, que convertido en código binario son interpretados por el software (sistema operativo) del autómata. Los pasos para programar el autómata son: 1 - Determinar que hace el sistema de control y en qué orden, mediante diagrama de flujo, descripción literal o GRAFCET (u otra herramienta similar). 2 - Identificar las señales E/S al autómata. 3 - Representar median un modelo (algebraico o gráfico) el sistema de control, indicando las funciones, relaciones y secuencia. 4 - Asignar direcciones E/S o internas a cada componente que aparece en el modelo. 5 - Codificar la representación en instrucciones inteligibles por la unidad de programación. 6 - Transferir las instrucciones a la memoria del autómata. 7 - Depurar el programa y hacer copia de seguridad.

5. Identifique las variables que intervienen en el proceso de la figura 10.3 (pág. 196 del libro)

Las variables del proceso son: - Valor de presión a1. - Señal de pulsador C. - Señal de pulsador D. - Señal de final de carrera b0. - Señal de final de carrera b1. - Señal de final de carrera a0.

II Unidad Didáctica

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN

6. Represente la descripción literal del proceso que aparece en la figura 10.3 (pág. 196 del libro), utilizando: a) Diagrama de contactos. b) Funciones lógicas.

a)

b) C

D

C D

& & a1

A+

(T1)

R

A+

& BR

B+

(b1) B-

b1

B+

(a1) R

&

& b0

a0

A-

R

(b0) A-

(a0)

7. Identifique los bloques secuenciales básicos de programación de un autómata, sus tipos, qué hace cada tipo y represente el diagrama temporal de cada uno. Los bloques secuenciales básicos son elementos pre-programados en la memoria interna del autómata, y son: - Biestables: es un dispositivo que puede mantener indefinidamente su estado a 0 a 1 mientras el autómata permanezca en t RUN y no se ordene su modificación. Diagrama temporal: Set Reset Q

- Temporizadores: son dispositivos capaces de retardar una orden de salida durante un tiempo en respuesta a una señal de entrada, existen 4 funciones distintas cada una con un diagrama temporal diferente: 1 - Impulso: la salida se mantiene activa mientras dure la señal de mando hasta un E cierto tiempo máximo (tiempo de impulso). S

2 - Retardo de conexión: la salida se retarda hasta que transcurra el tiempo de retardo.

t impulso

t < t impulso

E S S

t retardo

t < t retardo

3 - Retardo a desconexión: la salida conecta simultáneamente con la entrada y se mantiene hasta el tiempo de desconexión. E S S

t desconexión

t desconexión

Didáctica 4 - Monoestable, o conformador de impulsos: II la Unidad salida se mantiene activa, una vez activada la señal de mando, durante un tiempo constante e independiente de esta señal. E t S

t impulso

t impulso

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN

- Contadores: es un dispositivo capaz de contar el número de cambios de nivel en una señal de entrada activando una señal de salida cuando se alcanza un valor prefijado. Hay dos tipos: 1 - Incremental: acumula el número de impulsos recibidos. 2 - Bidireccional (UP/DOWN): acumula la diferencia de los impulsos recibidos de cuenta ascendente y descendente.

- Registro de desplazamiento: está formado por una cadena de biestables conectados en serie, de forma que permiten el paso de bris de uno a otro sincronizado con una señal externa de reloj.

- Secuenciadores paso a paso: permite el control secuencial de procesos cuando estos pueden dividierse en pasos de ejecución consecutiva y condicionada. Los biestables, registros y secuenciadores modifican la información de sus salidas según la secuencia de sus entradas, mientras que los temporizadores y contadores llevan asignadas dos informaciones numéricas distintas (valores de preselección, tiempo y módulo de cuenta, y los valores actuales).

8. Para los bloques funcionales de expansión, indique en qué consisten las funciones de carga y transferencia, las de comparación de datos, las lógicas e ntre palabras y las aritméticas. Los bloques funcionales de expansión no están pre-programados en la memoria interna, sino que son macro-instrucciones del lenguaje de programación, y por lo tanto no están limitados a una cantidad dentro de un programa, pero requieren mayor tiempo de ejecución, son: - Funciones de carga y transferencia: permiten definir y desplazar informaciones entre registros internos, bloques secuenciales, direcciones E/S, etc., dicha información pueden ser constantes, variables, textos, etc. Aplicaciones típicas son: * Modificación de preselecciones de temporizadores y contadores según señales binarias de mando. * Lectura de información digitales desde las entradas. * Salidas de información digital alfanumérica. * Apoyo a secuencias aritméticas. Pueden desplazar bloques completos de datos como: * Inicialización de áreas de memoria, desplazamientos de bloques de datos (como tablas), acceso secuencial a estructuras FIFO y LIFO sobre áreas de memoria específicas. Los autómatas de gama alta pueden mover información entre la memoria interna del autómata y dispositivos externos: * Visualizadores (salida de mensajes), unidades externas de memoria, puertos serie y paralelo. - Comparaciones de datos: comparan el contenido de dos informaciones numéricas de 16 o 32 bits, activando una señal para los resultados: igual (=), menor (), estas señales pueden ser predefinidas por el fabricante, o asignadas por el usuario. En algunos lenguajes también permiten los resultados menor o igual, mayor o igual o distinto. Estas instrucciones de comparación operan sobre palabras de 16 o 32 bits, pero algunos lenguajes permiten otras posibilidades referidas sobre la tabla de palabras: * Comparaciones múltiples de tablas de datos entre sí. * Búsqueda de una variable en una tabla (por comparaciones). * Determinación del máximo o mínimo de una tabla. * Contaje del número de veces que una cadena de bits aparece en una tabla. - Instrucciones lógicas entre palabras: tratan los datos en la palabra como cadenas de bits, que son operados dos a dos según las funciones Y, O, O-exclusiva y NO. Estas instrucciones necesitan cuatro campos para su programación: Nombre de función, palabra operando 1, palabra operando 2 y palabra destino.

II Unidad Didáctica

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN

- Funciones aritméticas: son variables según el autómata sea de gama baja, media o alta. Las instrucciones elementales a 16 bits están disponibles en todas: * Incrementos/decrementos. * Suma/diferencia. * Multiplicación/división. En autómatas de más gama hay instrucciones más avanzadas: * Aritmética en coma flotante. * Operaciones trigonométricas. * Raíz cuadrada. * Funciones estadísticas. Los datos deben estar normalmente en BCD, aunque algunas admiten códigos binarios.

9. Describa las coincidencias, las diferencias y la defini ción de las aplicaciones mono y multitarea y la programación lineal y estructurada.

* Definiciones: - Tarea: conjunto de instrucciones ejecutables que describen un tratamiento limitado y completo sobre variables de proceso. - Aplicación monotarea: aquella desarrollada sobre una tarea única que contiene el total del programa con todas sus variables E/S y sentencias de operación. - Aplicación multitarea: aquella desarrollada sobre la división del programa en subconjuntos independientes o no, que forman tareas aisladas. - Programación lineal: considera el problema de control en su conjunto y lo programa escribiendo las instrucciones según una secuencia lineal. - Programación estructurada: aquella que divide la tarea a programar en subprogramas o módulos, que corresponden a tratamientos parciales y que son llamados durante el escrutinio desde un programa raíz. * Coincidencias y diferencias: - Aplicaciones mono y multi tarea: Las estructuras mono tarea ejecutan periódicamente una tarea única siguiendo un único ciclo de operación, mientras que las multitarea desarrollan simultáneamente múltiples ciclos, que pueden o no ejecutarse periódicamente. Sin embargo uno u otro recorre siempre la secuencia de pasos: adquisición de entradas - escrutinio del programa - actualización de salidas - servicio a periféricos. - Programación lineal y estructurada: La lineal es la más usada en mini y micro autómatas, las sentencias se ejecutan secuencialmente, hace uso de macros y de saltos de programa. La estructurada es más versátil al descomponer la tarea de usuario en partes elementales que contendrán tratamientos completos sobre variables, es muy útil para el desarrollo de programas complejos y tiene ventajas a la hora de concebir y explotar un proyecto, sobre todo si se acaba trabajando de forma modular. II Unidad Didáctica

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN

10. Indique para qué sirven las instrucciones de salto y describa los distintos tipos que aparecen en el libro de Ballcels y Romeral.

Las instrucciones de salto con unas instrucciones de modificación del ciclo que permiten dividir un programa lineal en partes o bloques, y que pueden acortar tiempos de ciclo si no se cumplen ciertas condiciones o establecer programas alternativos dentro de una misma secuencia lineal. Se pueden diferenciar dos tipos de salto: - Condicional: la ejecución depende de una señal. - Incondicional: la ejecución sucede siempre en ese punto. El salto estará definido entre dos posiciones que fijan su inicio y final, tanto si se usa lenguaje gráfico como literal. El lenguaje literal está mejor adaptado usando instrucciones como IF...THEN...ELSE, o DO...WHILE. Durante una instrucción de salto, la variables internas y de salida no cambian, los contadores mantienen el valor contado y las variables de mando o control de bloque funcional no son consultadas. Los temporizadores si están en OFF no se activa, pero si está activado puede continuar corriendo, puede interrumpir el funcionamiento, o seguir funcionando pero no activar el contacto de salida, según sea el fabricante. También según el fabricante pueden estar limitadas las instrucciones de salto: saltos sólo hacia adelante sin retorno, longitud de salto limitado a 127 posiciones, no admitir un salto dentro de otro, no fijarse un mismo destino para distintos orígenes de salto. 11. ¿Qué ventajas tiene la programación estructurada?

Las ventajas de la programación estructurada son entre otras: - Posibilidad de dividir la tarea en partes que pueden ser tratadas por separado, esto además genera la opción a que se puedan repartir la programación entre varios programadores. - Si el software de programación lo permite se puede escribir los bloque en diferentes lenguajes. - Las modificaciones de puesta a punto se agilizan. - Se crean bibliotecas de módulos o subrutinas que pueden ser usadas en otras aplicaciones. - La documentación y el propio programa es más fácil de leer y entender. - Todo esto no sólo conlleva a una mejor productividad de los programadores, sino también a una reducción de costes de mantenimiento.

II Unidad Didáctica

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN

12. ¿Qué es una subrutina y para qué se emplea?

Una subrutina es una unidad autosuficiente que se compila por separado y que puede usarse por otros programas o subrutinas a partir de una llamada (CALL), y que es ejecutada sin error de inicio a fin y sin ningún requisito previo. El inicio es identificado con su nombre y el final queda identificado por la palabra RETURN. Se usa cuando es una secuencia de instrucciones que aparece de forma repetitiva ya sea en el mismo programa principal, o que aparece muy comúnmente en muchos programas, de forma que en cualquier da ellos se pueda llamar a estas instrucciones simplemente con una llamada a su nombre. Muchos fabricantes tienen sus propias subrutinas llamadas funciones como son operaciones aritméticas de alta resolución (suma ADD, resta SUB, raíz cuadrada SQRT, etc.), codificaciones y conversiones entre códigos (conversión binario-BCD y viceversa, etc.), operaciones lógicas entre palabras (AND/OR, transferencias y comparaciones, etc.). Las subrutinas, a diferencia de las macro, no incrementan la longitud del programa cuando son llamadas, mejorando así el programa en legibilidad y ocupación de memoria. Se pueden establecer bibliotecas de subrutinas para su uso posterior.

13. ¿Qué es la programación multitarea? ¿Qué estrategias se emplean para gestionar este tipo de programación en los autómatas?

La programación multitarea es cuando se programan las operaciones entre variables independientes entre sí en el tiempo en la que cada operación se compone de un programa principal, ejecutado de forma cíclica periódicamente o no, y con la posibilidad de subprogramas locales. Cada tarea cosntituye una entidad de programación completa con sus propias entradas, salidas, etc., siendo el programa de usuario el conjunto de todas las tareas. Existe un elemento supervisor que asigna los diferente recursos a cada tarea que puede actuar decidiendo en cada instante que tarea estará activa, o gestionando el acceso a buses de distintos procesadores que ejecutarán en paralelo las tareas asignadas. Hay varios métodos de gestión de este tipo de programación, aunque los más usados son el prioritario y el de gestión de tiempos. En el prioritario, a cada tarea se le asigna una prioridad, y el gestor activa las tareas por ese orden de prioridad entre las que lo solicitan. Es el método más usado en sistemas de tiempo real industriales. En el método de gestión de tiempo se asignan unidades de tiempo a cada tarea, que constituyen el tiempo de ciclo deseado para las mismas, el autómata irá ejecutando tareas según esta plantilla de tiempos.

II Unidad Didáctica

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN

14. Codificar en código AWL el siguiente diagrama de contactos:

A

E 33.0

AN E 33.1 A

E 33.2

O A

E 33.3

AN E 33.4 O

E 33.5

=

A 32.1

II Unidad Didáctica

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN

15. Codificar en código AWL el siguiente diagrama de funciones:

AN E 33.0 A

E 33.1

AN E 33.2 O A

E 33.3

A

E 33.4

ON E 33.5 =

A 33.1

II Unidad Didáctica

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 16. Realizar un programa que genere una onda cuadrada, es decir que la una de las salidas del autómata tome alternativamente los valores 1 y 0 durante el mismo período de tiempo una vez que se activa una entrada. Se utilizaran para conseguirlo do s temporizadores. La señal de salida tendrá la siguiente forma:

Diagrama de contactos:

I 1.0

T1

T2

1

Código AWL:

A I 1.0 AN T2 L S5T#10S SD T1 A T1 L S5T#10S SD T2 AN T1 = Q 1.0

T!-!0 S5T#10S

TV

BI DE

R

Q

T2

T1 2

T!-!0 S5T#10S

T1

TV

BI DE

R

Q

Q 1.0

3

II Unidad Didáctica

AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN

17. Modificar el programa anterior para que el tiempo en el que la señal de salida valga 1 sea diferente al tiempo en que valga 0. En este caso la señal t iene la siguiente forma:

Diagrama de contactos:

I 1.0

T1

T2

1

Código AWL:

A I 1.0 AN T2 L S5T#10S SD T1 A T1 L S5T#5S SD T2 AN T1 = Q 1.0

T!-!0 S5T#10S

TV

BI DE

R

Q

T2

T1 2

T!-!0 S5T#5S

T1

TV

BI DE

R

Q

Q 1.0

3

II Unidad Didáctica