ingeniería de sistemas y automática - 5.2.2.2. las macroetapasautomata.cps.unizar.es/proyectos fin...

133
Programa del Autómata Automatización de una Célula de Fabricación Flexible 101 B) En esta misma página, hay otro pequeño grafcet que implementa un bit de actividad de lo que sería un terminal de supervisión SCADA. Esto nos da una idea de si dicho terminal entra a formar parte del control de la máquina o si, por el contrario, está desconectado. Esto se consigue mediante una marca interna, el bit %M400, que el SCADA escribe constantemente a 1 o a 0 en función de un temporizador propio de 1 segundo, si se deja de escribir ese bit, el sistema entiende que el SCADA no está dentro de la gestión. C) En las páginas 2 y 3 están los grafcet que se comentaron en el apartado 4.7. de la reiniciación de la producción. En la carpeta 5.2.1.7. –18 y la 5.2.1.7-22 5.2.2.2. Las macroetapas Cuando el grafcet del chart evoluciona y en concreto entra en la macroetapa 9, se llega al grafcet que da paso a cada una de las macros, de la 1 a la 8, que controlan las máquinas de forma independiente. La macroetapa 9 es una etapa de paso, podría decirse, pues evoluciona después de un segundo, para dar paso a cada una de las macros siguientes.

Upload: others

Post on 11-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

101

B) En esta misma página, hay otro pequeño grafcet que implementa un bit de

actividad de lo que sería un terminal de supervisión SCADA. Esto nos da

una idea de si dicho terminal entra a formar parte del control de la máquina o

si, por el contrario, está desconectado.

Esto se consigue mediante una marca interna, el bit %M400, que el SCADA

escribe constantemente a 1 o a 0 en función de un temporizador propio de 1

segundo, si se deja de escribir ese bit, el sistema entiende que el SCADA no está

dentro de la gestión.

C) En las páginas 2 y 3 están los grafcet que se comentaron en el apartado 4.7.

de la reiniciación de la producción. En la carpeta 5.2.1.7. –18 y la 5.2.1.7-22

5.2.2.2. Las macroetapas

Cuando el grafcet del chart evoluciona y en concreto entra en la macroetapa 9, se

llega al grafcet que da paso a cada una de las macros, de la 1 a la 8, que controlan las

máquinas de forma independiente. La macroetapa 9 es una etapa de paso, podría

decirse, pues evoluciona después de un segundo, para dar paso a cada una de las macros

siguientes.

Memoria

Departamento de Informática e Ingeniería de Sistemas

102

Cada una de estas macroetapas están dedicadas a controlar los sucesos que sucedan

el una de las máquinas que componen la célula. Así, la macro 1 controlará la estación de

suministro de camisas, la macro2 controlará la máquina de colocado de émbolos y

muelles, la macro 3 la de montado de culatas, la macro 4 la de verificado de conjuntos,

la macro 6 controla la máquina de suministro de placas, la macro 7 se dedica al almacén

final, la macro 8 controla el proceso de montado de piezas sobre el palet, tarea que será

realizada por el robot, y la macro5 controla el suministro de pedidos hacia el exterior

que también realizará el robot.

Cuando decimos que controlan las máquinas, en realidad nos referimos a que la

macroetapa correspondiente permanecerá atenta a que llegue un palet a la estación que

gestiona, y a partir de entonces cogerá el control de las operaciones que debe realizar

dicha máquina. Éstas acciones estarán controladas por el grafcet que tenga el autómata

de la estación correspondiente pero quien decide que acciones se ejecutarán será la

macroetapa pues lanzará una orden u otra en función de la información del palet.

La estructura general de las macroetapas es similar en todas ellas, pero, algunas

estaciones, debido a que realizan mayor número de operaciones, tienen algunas

peculiaridades. Estas macros son las que gestionan por un lado la fabricación de las

piezas, macroetapa 1, y la que hace la petición de los pedidos, macro 6.

Por lo tanto, estas dos macroetapas las explicaremos en detalle, y las demás de cada

zona son similares a estas y las detallaremos menos.

5.2.2.3. La macroetapa de la estación 1

Primeramente deberemos explicar cual es la secuencia de acciones de las

macroetapas correspondientes a la zona de fabricación, para entender cual es la función

de cada etapa grafcet.

5.2.2.3.1. Secuencia de acciones

A) En principio, todas las estaciones permanecen

espera de que a su puesto llegue un palet.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

103

B) Cuando el detector inductivo de la estación se activa, significa que está

atracando un palet en su zona de acción.

C) No podemos enclavar el palet

inmediatamente después de que el

sensor inductivo se active puesto

que el palet todavía no ha

alcanzado el tope de la estación y no se encuentra en la posición correcta para

ser leído. Ahí, aparece una etapa de espera de un segundo para que el palet tenga

tiempo de llegar al final del atraque.

D) Una vez ha transcurrido dicho tiempo, el palet es enclavado con el dispositivo

dispuesto a tal fin, y se lanza al sistema una petición de comunicación, es decir,

se pide permiso al sistema para acceder al recurso de lectura del palet. Como ya

hemos comentado, sólo se disponen de dos interfaces de comunicación para los

8 cabezales lectores, con lo que el acceso a ellos debe estar controlado para que

no se crucen varias lecturas o escrituras desde las distintas estaciones.

E) Podría ocurrir que, en ese momento, el sistema estuviese libre y se concediese

permiso de lectura automáticamente, lo cual podría suponer un problema, pues

no le habría dado tiempo al enclavamiento correspondiente, a sujetar el

transbordador correctamente, lo que podría derivar en un fallo de lectura. De ahí,

que, además del permiso de lectura, la transición tenga un ligero retraso de

medio segundo. El sistema

por el cual se gestionan los

permisos de acceso a la

lectura, se detallará en el

apartado 5.2.3.1.

F) Cuando la estación recibe el control del recurso, se procede a una primera

lectura del palet. Esta etapa, únicamente recoge la información escrita en el

transbordador sobre la tabla de memoria secundaria de la zona de fabricación

descrita en el apartado 5.2.1.4.2., comprobando únicamente si la operación ha

Memoria

Departamento de Informática e Ingeniería de Sistemas

104

sido bien realizada por el cabezal lector, a través de los mensajes de error que

nos proporciona en interface y que están detallados en el Anexo 3 apartado

1.5.1. o en la referencia bibliográfica 8.

G) Realizada una primera lectura, se procede a realizar otra lectura de

comprobación, cuya información se volcará sobre la tabla principal de la zona de

fabricación explicada en el apartado 5.2.1.4.1., para asegurarnos de que la

información es correcta y comprobando también en este caso, a través de los

mensajes de error del interface, que la operación ha sido correcta. Tanto a esta

lectura, a la anterior y como a todas las operaciones de lectura o escritura que se

realicen en cualquiera de los cabezales de cualquier estación, deben dársele un

margen de tiempo además de las comprobaciones pertinentes para evitar los

posibles cruces de envío de peticiones, pues, se ha comprobado, que, aun a pesar

de que el interface

responde con un mensaje

de operación realizada

con éxito, si no damos un

margen de tiempo hasta

la próxima operación,

llega un momento en que

una de ellas la pierde.

H) En este punto el sistema realiza varias operaciones:

i. Comprueba que la operación en si ha sido efectuada

correctamente, en caso negativo, disparará una alarma por

máximo tiempo de lectura.

ii. Si la operación ha sido correcta, compara la información obtenida

de las dos lecturas; si la información no se corresponde, volverá a

realizar las dos lecturas de nuevo y a comparar las informaciones.

Si siguiera sin corresponder, daría una alarma de palet

defectuoso.

iii. Cuando ha comprobado que la información es la misma, entonces

la analiza para saber el tipo de mercancía que porta el palet y, así,

saber la operación que debe realizar sobre el mismo. El palet

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

105

puede resultar vacío, es decir que no lleva información, con lo

que podría ser utilizado para poner una nueva pieza, o puede

tener la información de una pieza grabada en cuyo caso se

comprobará si la camisa ya ha sido colocada en el transbordador

o todavía no.

iv. Comprobado el tipo de información que lleva el palet, que en

definitiva es lo mismo que analizar el tipo de operación que debe

realizar la estación sobre la mercancía, el sistema pasará a buscar

en memoria, en el caso de la información nos dé una pieza que le

falte de poner la camisa, la información correspondiente a esa

pieza. Primeramente, la búsqueda se reducirá a las 5 primeras

palabras, las de la fecha, que deben ser únicas pues no puede,

físicamente, mandarse producir dos piezas al mismo tiempo. Si

esta búsqueda no da resultado, el sistema devuelve una alarma

por pieza no localizada, y si da resultado, entonces se pasará a

comprobar que el resto de la información es también correcta. En

caso de que no lo sea, se devolverá una alarma por pieza x no

corresponde.

I) Si todo ha ido bien, tendremos una información del palet que nos dirá que clase

de operación debemos realizar y un puntero a la tabla de memoria

correspondiente a la información de dicho palet que será la que se actualice

conforme vayan haciéndose las operaciones y que, finalmente, será escrita en el

transbordador. En esta fase el palet, si se le debe realizar alguna operación,

pasará a una etapa de espera en la

que, mediante un bit en tabla

compartida, la estación dará

confirmación de que está en modo

automático integrado y por lo tanto

puede recibir órdenes. En el caso

de que esta etapa de espera se prolongase más de 3 minutos, el sistema, liberará

el palet y devolverá una alarma de máximo tiempo de espera a automático

integrado. También se procederá a la liberación del palet sin pasar por el bucle

de espera, si el palet ya tiene realizada la operación de sacar camisa en este caso,

Memoria

Departamento de Informática e Ingeniería de Sistemas

106

o si, por el contrario es un palet vacío, pero ya no deben sacarse más piezas

porque el almacén ya está completo.

J) Cuando el sistema recibe confirmación de automático integrado, pueden ocurrir

dos cosas, bien que el palet tenga la información de la pieza que debe colocarse

en él y solo deba procederse a su colocación, bien que el palet no tenga

información. En el primero de los casos se analiza cual es la pieza que debe

colocarse sobre él y, por medio de una palabra de tabla compartida, se le indica a

la estación su cometido. En el segundo de los casos, el sistema analiza la pieza

que más falta hace en ese momento en almacén teniendo en cuenta el contenido

de éste en ese instante y las piezas que pueda haber tanto en producción como en

la cola.

K) Si el palet está vacío y es necesaria alguna pieza en almacén, debe generarse la

información correspondiente a

dicha pieza y escribirse en el

palet. Esto es lo que hacen las

etapas siguientes, componiendo

la información sobre la tabla

principal de la zona de

fabricación explicada en el

apartado 5.2.1.4.1. que será la

que se transmita al palet.

L) Tras la escritura de la información en el transbordador, se realiza una lectura de

comprobación como se hará en todas las operaciones sobre los palets en todas

las estaciones. Esta lectura se hará sobre la tabla secundaria de la zona de

fabricación explicada en el apartado 5.2.1.4.2.

M) Una vez se ha comprobado que se ha escrito la información en el palet, si no lo

hubiese hecho nos devuelve una alarma de operación defectuosa, se procede a

lanzar la orden de producción sobre la estación, para que ésta nos saque una

pieza al palet, por ejemplo.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

107

N) Seguidamente, en señal de que la estación ha recibido la orden, nos contestará en

otra palabra de la tabla compartida, y el sistema pasará a un estado de espera de

que la estación termine sus operaciones.

O) Cuando la estación termina de sacar o no la camisa, dependiendo de si la ha

encontrado, nos contestará si efectivamente ha colocado la pieza sobre el palet, o

si, por lo que sea, no ha podido.

P) El sistema recoge dicha información y la graba en el palet, de nuevo, efectuando

la doble operación de escritura y lectura descritas en los puntos K y L de este

apartado y usando las mismas tablas para cada operación.

Q) A partir de aquí, se inicia una secuencia de liberación del palet lo

suficientemente eficaz como para liberar dicho palet, pero sin que el posible

palet siguiente se pase de largo, ni quede mal posicionado.

R) El recorrido posterior

de dicho transbordador

a través de los

transportes dependerá

de si la operación ha

resultado exitosa o

fallida.

Pasaremos a comentar

ahora el grafcet etapa por etapa

y transición por transición para

que queden claros los puntos

anteriores. Esta explicación

minuciosa la haremos aquí

únicamente pues para las

demás macroetapas es muy

Memoria

Departamento de Informática e Ingeniería de Sistemas

108

similar y podrán deducirse desde esta explicación.

5.2.2.3.2. Etapas de ejecución normal

En el grafcet de la sección 5.2.1.7.-30 del Anexo 6, tenemos las etapas que, a

grandes rasgos hemos comentado en los puntos anteriores y su función, como se anota

directamente sobre el propio grafcet, será la siguiente:

1. Etapa IN: En la etapa IN

se permanece en espera

durante 1 segundo.

• Tiene dos transiciones,

la que va a la etapa

OUT nunca se cumple

porque es un FALSE y la que va a la etapa %X1.0 es un simple contador de

un segundo.

2. Etapa %X1.0: Etapa que espera la llegada de un palet; correspondería al

punto A, comentado.

• Tiene tres transiciones, una va a la siguiente etapa, %X1.1 que se cumplirá

en cuanto llegue un palet si no están todas las piezas ya completadas, otra

que se vuelve sobre sí misma cuando están todas las piezas completas y no

hay palet en la

estación, y, por último

la que se dirige a la

etapa %M1.14 cuando

están todas las piezas

completas pero hay un palet en la estación. Estas dos últimas transiciones se

hacen porque cuando todas las piezas se han completado, las cintas se paran,

pero sólo deben pararse cuando no haya palet en ninguna estación ya que si

lo hay podría efectuarse alguna operación sobre él que no debiese. Por esto,

se le da una salida a la etapa se liberar palet %X1.14 mientras esté en la

estación y no se permite la evolución del grafcet si no hay ningún palet en

dicha máquina.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

109

• En la acción al activar de esta etapa se borra el puntero que nos servirá para

acceder a la memoria de la pieza cuando, al leer un palet con información,

resulte ser una pieza sin terminar.

3. Etapa %X1.1: Esta etapa ya ha detectado un palet y espera a que toque el

tope; es la etapa explicada en los puntos B y C.

• Tiene dos transiciones y lo único que hacen ambas es esperar 1 segundo a

que el palet toque el tope. La diferencia entre ambas es que la una accede al

grafcet de lectura escritura por medio de Magelis (%X1.22) si previamente

se ha pulsado un botón de petición de escritura y la otra continua la

secuencia normal.

4. Etapa %X1.2: Esta es una

de las etapa importantes del

grafcet de comunicaciones y

se describe en los puntos D y

E. Es aquí donde se lanza la

petición para la

comunicación con los

módulos interfaces de los cabezales de lectura-escritura, y solo de permite la

evolución del grafcet cuando el sistema ha concedido dicho permiso y la

estación 1 está comunicando. La explicación de cómo se adjudican estos

permisos de lectura o escritura se explicará en el apartado 5.2.3.1.

5. Etapa %X1.17: En esta etapa

se realiza la primera lectura del

palet, se corresponde al punto

F. Las acciones desarrolladas

en cada uno de sus puntos se

puede consultar en la sección

Memoria

Departamento de Informática e Ingeniería de Sistemas

110

5.2.1.7. –35 del Anexo 6 y se explicarán en la siguiente etapa.

• Tiene dos transiciones, si se activa la que lleva a la etapa %X1.20, significa

que ha transcurrido demasiado tiempo en la lectura y por lo tanto, ha habido

algún tipo de error; saltará alarma por máximo tiempo de operación,

mientras que la que lleva a la siguiente etapa se cumplirá cuando la

operación en los términos del interface, sea correcta y hayan pasado 1,5

segundos como el tiempo de seguridad explicado en el punto G.

6. Etapa %X1.3: En la acción al activar de esta etapa, se realiza la lectura de

comprobación explicada en el punto G, mientras que en la acción continua, se

desarrollarán todas las operaciones detalladas en el punto H. Esta etapa tiene 4

transiciones:

• La transición hacia la

etapa %X1.17, se activará

cuando la primera

comparación de la

información obtenida en ambas lecturas sea incorrecta pero no la segunda

comparación que ya nos daría una alarma de operación defectuosa.

• La transición

hacia la etapa

%X1.20, es la

correspondiente

a todos los casos de alarmas posibles, y que han sido desarrolladas a lo

largo del punto H; los dos intentos de lectura han fracasado, no se ha

encontrado la información de la pieza en memoria, o se ha encontrado pero

no se corresponde íntegramente, o se ha superado el tiempo máximo de 10

segundos de la operación.

• La transición

hacia la etapa

%X1.13, se

activará si no se

ha producido

ninguno de los

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

111

casos de emergencia pero, sobre la mercancía, no es necesario realizar

ninguna operación, bien porque está hecha, bien porque no es necesario

producir más.

• Por último, la transición

hacia la etapa %X1.4, será

la que se active en el caso

normal de producción, es

decir, no ha habido

emergencias y ha de

realizarse una operación

sobre el palet.

En cuanto a las acciones realizadas en esta etapa, vamos a explicarlas

detalladamente. El código que se incluye en cada una de ellas se puede

consultar en la sección 5.2.1.7. –36 del Anexo 6 y será el mismo prácticamente

que el de la etapa %X1.17

• En la acción al activar, se borran todos los bits que se utilizarán en las

acciones continuas para las comprobaciones de la información y de las

alarmas, y se invocará a las subrutinas correspondientes de lectura del palet

SR2 ó SR3 dependiendo de a que tabla de memoria volcaremos la

información y que será explicadas en sus correspondientes apartados, para,

seguidamente, realizar una instrucción OUT_IN_CHAR.

• En la acción continua, se invoca a subrutina SR32, que comprobará que la

lectura haya sido correcta con las opciones que se explicarán en sus

secciones, y, en la etapa %X1.3, además, se llama a la subrutina SR27 que

será la que nos reconocerá la información y el estado de la producción de

la mercancía.

• En la acción al desactivar, se borran los bits que se han usado en la acción

continua, y se devuelve el control de las comunicaciones borrando el bit

estación_1_comunicando, en el caso de que se active cualquier transición

excepto la que nos lleva a la etapa %X1.17 nuevamente.

Memoria

Departamento de Informática e Ingeniería de Sistemas

112

7. Etapa %X1.4: En esta etapa se espera a que la estación 1 se encuentre en

automático integrado, se corresponde con el punto I. En esta etapa tenemos 3

transiciones:

• La transición que lleva a la etapa %X1.13, se activa cuando se ha rebasado

el tiempo de espera de 3 minutos explicado en el punto I.

• La transición que lleva a la etapa %X1.9 se activa cuando el palet lleva

información de una pieza y debe colocarse sobre él.

• La transición a

la etapa

siguiente se

activa cuando el

palet está vacío

y se debe

escribir el pedido de una nueva pieza.

Estas dos últimas transiciones dependen de un bit de actividad de la estación 1 que

es un bit que debe cambiar de estado cada cierto tiempo, indicando al sistema que la

máquina está funcionando correctamente

8. Etapa %X1.6: Esta etapa es exactamente igual a la etapa %X1.2, y se repetirá

una etapa similar a estas justo antes de cada operación de lectura o escritura

que deba realizarse. En ella, igual

que en la etapa %X1.2, se solicita

acceso al recurso de los interfaces

de lectura para escribir el pedido

de una nueva pieza en el caso de que el palet esté vacío. La transición

siguiente se activará entonces, cuando el sistema le conceda dicho perimiso a

través del bit estación_1_ comunicando que se explicará en el apartado 5.2.3.1.

9. Etapa %X1.7: En esta etapa se evalúa la pieza necesaria para el almacén y se

generará el código necesario de dicha pieza que posteriormente se escribirá en

el palet. Esta etapa se

corresponde con lo descrito

en el punto K. Tiene dos

transiciones:

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

113

• La que lleva a la etapa %X1.13 que se activa cuando se sobrepasa un

tiempo máximo de 30 segundos, o si las piezas ya han sido completadas y

volcadas sobre la cola, o si ya se ha generado la información de todas las

piezas necesarias pero todavía hay alguna en producción.

• La que nos conduce a la etapa siguiente que se activa cuando ya se ha

generado el pedido correspondiente.

En relación a las operaciones de las distintas acciones:

• En la acción al activar, se borran los bits que emplean en la acción

continua y se establece la pieza necesaria como la 4, que no corresponde a

ninguna pieza.

• En la acción continua, se llama a la subrutina SR25 que será la encargada

de generar el código de la pieza y que será explicada en su apartado.

• En la acción al desactivar, vuelven a borrarse los bits utilizados en la

acción continua, y se devuelve el control de la comunicación al sistema si

se sale de la etapa por la transición que no requiere la escritura de la

información sobre el palet.

10. Etapa %X1.8: En esta etapa se escribe la información de la pieza nueva sobre

el palet, corresponde con los puntos K y L. Tiene dos transiciones:

• La que nos lleva a la eatap

%X1.20 que se activa por

máximo tiempo en la operación

de escritura y nos pasa al

grafcet de alarmas.

• La que nos lleva a la etapa siguiente que se activará si la escritura a sido

correcta.

En relación a las operaciones de las acciones, que se pueden analizar más

detalladamente en la sección 5.2.1.7. –40 :

• En la acción al activar, borramos los bits que se usan en la acción continua,

invocamos a la SR3 para el cálculo del check sum de la comunicación que

se explicará en su apartado, y se lanza una instrucción OUT_IN_CHAR.

Memoria

Departamento de Informática e Ingeniería de Sistemas

114

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1.

• En la acción al desactivar, se

devuelve el control de las

comunicaciones y se lanza una

alarma si la salida se realiza por

máximo tiempo. Se borran los

bits de la acción continua en ambos casos.

11. Etapa %X1.18: Se realiza una lectura de comprobación de la información tal

y como se detalla en el punto L. Tenemos 3 transiciones posibles:

• La que nos lleva a la etapa %X1.8, se activa cuando la comprobación de la

información no coincide tal como se detalla en el punto L.

• La que nos lleva a la etapa

%X1.20, o a la secuencia

del grafcet de alarmas si ha

ocurrido algún fallo bien en

la escritura, bien en las

comprobaciones.

• La continúa la secuencia del grafcet, que se activa cuando el proceso de

escritura-lectura ha sido el correcto.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción continua,

invocamos a la SR2 para el cálculo del check sum de la comunicación que

se explicará en su apartado, y se lanza una instrucción OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1 a través de la SR32 y se

comprueba, además si la operación de comprobación ha resultado exitosa

en alguno de los dos intentos mediante la SR0 que se explicará en su

apartado.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

115

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo o por

operación defectuosa, es decir que la información comparada no se

corresponda entre sí. Se borran los bits de la acción continua en ambos

casos.

12. Etapa %X1.9: Es en esta etapa donde se realiza la transmisión de la

operación que debe realizarse a la estación 1 por medio de una palabra de la

tabla compartida, detallada en el Anexo 5 apartado

1.3. Únicamente tiene una transición que se activará

en el momento en que se active un bit asociado a la

confirmación de orden recibida, codificada como un

9 en la palabra de respuesta de la estación 1, la

%MW214, y detallada en el Anexo 5 apartado 1.3.

En relación a las operaciones en las acciones:

• En la acción al activar, se recoge el tipo de pieza que hay en la memoria

correspondiente a la que se está fabricando y se vuelca en la dirección de

tabla compartida reservada a la estación 1, %MW270, y además, se

contabilizará el número de veces que el proceso de producción pueda

resultar defectuoso. Las diferentes codificaciones de las órdenes a las

estaciones se describen en el Anexo 5 apartado 1.3.

• En la acción continua, se comprueba que

la estación responde con un

reconocimiento de la orden, un 9 en la

palabra %MW214, y borrará la orden

que le escribió en la acción al activar,

además de marcar el bit que nos activará la transición a la siguiente etapa.

• En la acción al desactivar, se borran los bits de la acción continua.

13. Etapa %X1.10: En esta etapa el sistema espera

que la estación 1 termine de realizar la operación

que se le ha encomendado, descrita en los puntos N

y O. Sólo tiene una transición que se cumplirá

Memoria

Departamento de Informática e Ingeniería de Sistemas

116

cuando se active un bit asociado a la respuesta de la estación.

En relación a las operaciones en las acciones:

• En la acción continua, se lanza la subrutina SR26 encargada de actualizar

la memoria que corresponde a dicha pieza en función de si la respuesta de

la estación 1 ha sido operación correcta u operación defectuosa. Las

respuestas posibles de cada estación están detalladas en el Anexo 5

apartado 1.3.

• En la acción al desactivar, se borran los bits de la acción continua.

14. Etapa %X1.11: Cumple la misma misión que la etapa %X1.6.

15. Etapa %X1.12: La etapa %X1.12, escribe la información de la operación en

el palet como se describía en el punto P. Esta etapa tiene 2 transiciones

posibles:

• La que nos lleva a la etapa %X1.20, se activa cuando la operación supera

el tiepo máximo se espera y se lanza la alrama correspondiente.

• La que nos lleva a la

etapa %X1.19, que se

activa cuando la escritura

finaliza correctamente.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción continua,

invocamos a la SR3 para el cálculo del check sum de la comunicación que

se explicará en su apartado, y se lanza una instrucción OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo, y se borran

los bits de la acción continua.

16. Etapa %X1.19: Se realiza una lectura de comprobación de la información tal

y como se detalla en el punto P. Tenemos 3 transiciones posibles:

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

117

• La que nos lleva a la etapa %X1.12, se activa cuando la comprobación de

la información no coincide tal como se detalla en el punto L.

• La que nos lleva a la etapa

%X1.20, o a la secuencia

del grafcet de alarmas si ha

ocurrido algún fallo bien

en la escritura, bien en las

comprobaciones.

• La continúa la secuencia del grafcet, que se activa cuando el proceso de

escritura-lectura ha sido el correcto.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción continua,

invocamos a la SR2 para el cálculo del check sum de la comunicación que

se explicará en su apartado, y se lanza una instrucción OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1 a través de la SR32 y se

comprueba, además si la operación de comprobación ha resultado exitosa

en alguno de los dos intentos mediante la SR0 que se explicará en su

apartado.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo o por

operación defectuosa, es decir que la información comparada no se

corresponda entre sí. Se borran los bits de la acción continua en ambos

casos.

17. Etapa %X1.13: La etapa %X1.13, es una simple etapa de espera que nos

sirve para poder dar acceso a la magelis a un posible ciclo de escritura o

Memoria

Departamento de Informática e Ingeniería de Sistemas

118

modificación de la información del palet. Esto se realiza mediante un pulsador

reflejado en el bit de petición de escritura que será el que nos diferencie una u

otra de las dos transiciones de que dispone la etapa.

18. Etapa %X1.14: Etapa temporizada a medio segundo.

19. Etapa %X1.15: Etapa que espera a que el palet de la estación salga de ella y

el sensor inductivo nos de un pulso de bajada.

20. Etapa %X1.16: Es una etapa de espera que da el tiempo suficiente para que el

palet que se encontraba en la estación, salga de ella y el que pueda venir

después todavía no halla llegado. Si esta temporización no es la correcta el

tope subirá cuando el primer palet todavía no haya salido ó cuando en segundo

palet ya haya sobrepasado el punto donde debe quedar estacionado.

5.2.2.3.3. Alarmas

21. Etapa %X1.20: Esta

etapa es la primera de las

dos que componen el

ciclo de señalizado de las

alarmas y es una etapa

temporizada a 6 segundos

que lo único que hace es avisar, mediante la activación intermitente del

enclavamiento de la estación, de que ha ocurrido una alarma en la máquina.

Esta activación intermitente se consigue añadiendo como condición de

activación del enclavamiento un bit de sistema, el %S6, que cambia de forma

intermitente cada segundo.

22. Etapa %X1.21: Esta es la segunda y última etapa de la secuencia de alarmas.

En ella se espera 10 segundos para que el operario pueda visualizar la alarma y

después se pasará a liberar el palet. Al término de este proyecto esa es la única

gestión que se realiza de las alarmas, su visualización, pero puede

implementarse muy fácilmente que la salida de esta etapa no se produzca hasta

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

119

que el operario pulse algún tipo de rearme después de haber solucionado el

problema.

5.2.2.3.4. Etapas de control Magelis

23. Etapa %X1.22: Petición de comunicación, idéntica a la etapa %X1.2.

24. Etapa %X1.23: En esta etapa se realiza una primera lectura del palet por

petición de la magelis.

• Tiene dos transiciones, si se

activa la que lleva a la etapa

%X1.20, significa que ha

transcurrido demasiado tiempo

en la lectura y por lo tanto, ha habido algún tipo de error; saltará alarma por

máximo tiempo de operación, mientras que la que lleva a la siguiente etapa

se cumplirá cuando la operación en los términos del interface, sea correcta y

hayan pasado 1,5 segundos como el tiempo de seguridad explicado en el

punto G.

En cuanto a las acciones realizadas en esta etapa, vamos a explicarlas

detalladamente. El código que se incluye en cada una de ellas se puede consultar en la

sección 5.2.1.7. –54,55 del Anexo 6 y será el mismo prácticamente que el de la etapa

%X17

• En la acción al activar, se borran todos los bits que se utilizarán en las

acciones continuas para las comprobaciones de la información y de las

alarmas, y se invocará a las subrutinas correspondientes de lectura del palet

SR2 ó SR3 dependiendo de a que tabla de memoria volcaremos la

información y que será explicadas en sus correspondientes apartados, para,

seguidamente, realizar una instrucción OUT_IN_CHAR.

• En la acción continua, se invoca a subrutina SR32, que comprobará que la

lectura haya sido correcta con las opciones que se explicarán en su sección.

• En la acción al desactivar, se borran los bits que se han usado en la acción

continua, y se devuelve el control de las comunicaciones borrando el bit

Memoria

Departamento de Informática e Ingeniería de Sistemas

120

estación_1_comunicando, en el caso de que se active la que nos lleva a la

etapa %X1.20.

25. Etapa %X1.24: Etapa de lectura de comprobación de la etapa anterior cosa

que ya viene siendo habitual. Las transiciones que derivan de esta etapa son las

de siempre:

• Una transición hacia la etapa anterior %X1.23 si la lectura de comprobación

ha fallado una vez.

• Una transición

hacia la secuencia

de alarmas si las

operaciones de

lectura y lectura

de comprobación

falla dos veces, o

no se haya la

pieza en memoria o se superan los máximos tiempos.

• La transición que continua con la secuencia normal del grafcet si todo ha ido

correctamente.

En cuanto a las operaciones en las distintas acciones:

• En la acción al activar, borramos los bits que se usan en la acción continua,

invocamos a la SR3 para el cálculo del check sum de la comunicación que

se explicará en su apartado, y se lanza una instrucción OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1 a través de la SR32 y se

comprueba, además si la operación de comprobación ha resultado exitosa

en alguno de los dos intentos mediante la SR34 que se explicará en su

apartado y es equivalente a la SR0 pero cuando estamos refiéndonos a una

operación sobre tablas de lectura magelis descritas en el apartado 5.2.1.6.

en este caso, al contrario de las comprobaciones normales que se hacían en

la etapa %X1.3 por ejemplo, la obtención de la información comprobación

de su integridad se realiza directamente en el espacio de la propia acción

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

121

continua pero en este caso pasándole la información a un puntero de la

magelis.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo o por

operación defectuosa, es decir que la información comparada no se

corresponda entre sí. Se borran los bits de la acción continua en ambos

casos.

26. Etapa %X1.25: En la magelis disponemos de varios pulsadores para las

distintas órdenes a los palets. Son, uno para memorizar que se quiere realizar

una lectura del palet con lo que éste permanecerá parado durante 20 segundos,

otro para solicitar la escritura del palet y éste permanecerá parado hasta que se

termine la escritura o se pulse el tercer botón de liberar palet, y por último, un

pulsador que

provoque la

escritura del

palet. Esta

etapa es una

etapa en la

que se esperará los 20 segundos especificados a que el operario decida lo que

quiere hacer. Tiene las opciones de pulsar el botón de liberar en cuyo caso el

transbordador volverá a su cauce normal. Puede recibir orden de escritura en

cuyo caso se pasará a la siguiente etapa dentro de este ciclo de etapas. O puede

recibir la orden de esperar otros 20 segundos mediante una nueva pulsación

del botón de lectura. La transición a la etapa %X1.20 se activará en caso de

que se intente modificar un palet que esta vacío pero no exista ninguna

posición libre de las 5 tablas de memoria de piezas, las detalladas en el

apartado 5.2.1.1. Este caso fue ya comentado en el punto N del apartado 4.5.

27. Etapa %X1.26: En esta etapa se permanecerá el tiempo que al operario le

cueste introducir los datos que quiere actualizar del palet y de la memoria y

seguidamente, pulse el botón de actualizar el palet. En ese momento, la etapa

lanza una petición de comunicación al sistema de igual forma que lo hacía

cualquier otra etapa de las anteriores como puede ser la %X1.2 o %X1.6 y el

Memoria

Departamento de Informática e Ingeniería de Sistemas

122

grafcet evolucionará cuando el sistema le ceda el control del recurso de las

comunicaciones.

28. Etapa %X1.27 y %X1.28: Etapas ya clásicas de escritura de información con

su correspondiente lectura de comprobación. En este caso solo existen dos

cosas distintas. La primera de ellas está en la acción al activar de la etapa

%X1.27 y consiste en que se comprueba si la información que va a grabarse en

el palet es una pieza nueva generada por el operario y en ese caso se le

asignará una dirección de la memoria que esté libre y se invoca a la SR7 que,

además de la conversión de datos que explicaremos en su sección, también

debe reprogramar los contadores de piezas como corresponda. Y la segunda es

que la salida de estas etapas se realiza a través de la transición a la etapa

%X1.2 desde la etapa %X1.28 lo que implica un nuevo ciclo por la máquina.

5.2.2.4. La macroetapa de la estación 2

5.2.2.4.1. Etapas de ejecución normal

En el grafcet de la sección 5.2.1.7.-66 del Anexo 6, tenemos las etapas que vamos a

comentar en los puntos posteriores y su función, como se anota directamente sobre el

propio grafcet, será la siguiente:

1. Etapa IN: En la etapa IN se permanece en espera durante 1 segundo.

• Tiene dos transiciones, la que va a la etapa OUT nunca se cumple porque

es un FALSE y la que va a la etapa %X2.0 es un simple contador de un

segundo.

2. Etapa %X2.0:

Etapa que espera la

llegada de un palet;

• Tiene tres

transiciones, una

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

123

va a la siguiente etapa, %X2.1 que se cumplirá en cuanto llegue un palet si

no están todas las piezas ya completadas, otra que se vuelve sobre sí

misma cuando están todas las piezas completas y no hay palet en la

estación, y, por último la que se dirige a la etapa %X2.7 cuando están

todas las piezas completas pero hay un palet en la estación. Estas dos

últimas transiciones se hacen porque cuando todas las piezas se han

completado, las cintas se paran, pero sólo deben pararse cuando no haya

palet en ninguna estación ya que si lo hay podría efectuarse alguna

operación sobre él que no debiese. Por esto, se le da una salida a la etapa se

liberar palet %X2.7 mientras esté en la estación y no se permite la

evolución del grafcet si no hay ningún palet en dicha máquina.

• En la acción al activar de esta etapa se borra el puntero que nos servirá

para acceder a la memoria de la pieza cuando, al leer un palet con

información, resulte ser una pieza sin terminar.

3. Etapa %X2.1: Esta etapa ya ha detectado un palet y espera a que toque el

tope.

• Tiene una transición y lo único que hace es esperar 1 segundo a que el

palet toque el tope.

4. Etapa %X2.2: Esta es una de las etapa importantes del grafcet de

comunicaciones. Es aquí donde se lanza la petición para la comunicación

con los módulos interfaces de los cabezales de lectura-escritura, y solo de

permite la evolución del grafcet cuando el sistema ha concedido dicho

permiso y la estación 2 está comunicando. La explicación de cómo se

adjudican estos permisos de lectura o escritura se explicará en el apartado

5.2.3.1.

5. Etapa %X2.17: En esta etapa se realiza la primera lectura del palet. Las

acciones desarrolladas en cada uno de sus puntos se puede consultar en la

sección 5.2.1.7. –70, 71 del Anexo 6 y se explicarán en la siguiente etapa.

• Tiene dos transiciones, si se activa la que lleva a la etapa %X2.20,

significa que ha transcurrido demasiado tiempo en la lectura y por lo tanto,

ha habido algún tipo de error y saltará alarma por máximo tiempo de

Memoria

Departamento de Informática e Ingeniería de Sistemas

124

operación, mientras que la que lleva a la siguiente etapa se cumplirá

cuando la operación en los términos del interface, sea correcta y hayan

pasado 1,5 segundos.

6. Etapa %X2.3: En la acción al activar de esta etapa, se realiza la lectura de

comprobación, mientras que en la acción continua, se desarrollarán todas las

operaciones detalladas en el punto H del aparatado 5.2.2.3.1. Esta etapa

tiene 4 transiciones:

• La transición hacia la etapa %X2.17, se activará cuando la primera

comparación de la información obtenida en ambas lecturas sea incorrecta

pero no la segunda comparación que ya nos daría una alarma de operación

defectuosa.

• La transición hacia la etapa %X2.20, es la correspondiente a todos los

casos de alarmas posibles; los dos intentos de lectura han fracasado, no se

ha encontrado la información de la pieza en memoria, o se ha encontrado

pero no se corresponde íntegramente, o se ha superado el tiempo máximo

de 10 segundos de la operación.

• La transición hacia la etapa %X2.7, se activará si no se ha producido

ninguno de los casos de emergencia pero, sobre la mercancía, no es

necesario realizar ninguna operación, bien porque está hecha, bien porque

no es necesario producir más.

• Por último, la transición hacia la etapa %X2.10, será la que se active en el

caso normal de producción, es decir, no ha habido emergencias y ha de

realizarse una operación sobre el palet.

En cuanto a las acciones realizadas en esta etapa, vamos a explicarlas

detalladamente. El código que se incluye en cada una de ellas se puede consultar en la

sección 5.2.1.7. –72, 73, 74 del Anexo 6 y será el mismo prácticamente que el de la

etapa %X2.17

• En la acción al activar, se borran todos los bits que se utilizarán en las

acciones continuas para las comprobaciones de la información y de las

alarmas, y se invocará a las subrutinas correspondientes de lectura del palet

SR2 ó SR3 dependiendo de a que tabla de memoria volcaremos la

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

125

información y que será explicadas en sus correspondientes apartados, para,

seguidamente, realizar una instrucción OUT_IN_CHAR.

• En la acción continua, se invoca a subrutina SR32, que comprobará que la

lectura haya sido correcta con las opciones que se explicarán en sus

secciones, y, en la etapa %X2.3, además, se llama a la subrutina SR27 que

será la que nos reconocerá la información y el estado de la producción de

la mercancía.

• En la acción al desactivar, se borran los bits que se han usado en la acción

continua, y se devuelve el control de las comunicaciones borrando el bit

estación_2_comunicando, en el caso de que se active cualquier transición

excepto la que nos lleva a la etapa %X2.17 nuevamente.

7. Etapa %X2.10: En esta etapa se espera a que la estación 2 se encuentre en

automático integrado. En esta etapa tenemos 3 transiciones:

• La transición que lleva a la etapa %X2.7, se activa cuando se ha rebasado

el tiempo de espera de 3 minutos.

• La transición que lleva a la etapa %X2.9 se activa cuando el palet lleva ya

colocado un émbolo y debe colocarse únicamente el muelle.

• La transición a la etapa siguiente se activa cuando el palet no lleva ni

émbolo ni muelle y se deben colocarse ambos sobre la pieza.

Estas dos últimas transiciones dependen de un bit de actividad de la estación 2 que

es un bit que debe cambiar de estado cada cierto tiempo, indicando al sistema que la

estación está funcionando correctamente.

8. Etapa %X2.4: Es en esta etapa donde se realiza la transmisión de la

operación que debe realizarse a la estación 2 por medio de una palabra de la

tabla compartida, detallada en el Anexo 5 apartado 1.3. Únicamente tiene

una transición que se activará en el momento en que se active un bit

asociado a la confirmación de orden recibida, codificada como un 9 en la

palabra de respuesta de la estación 2, la %MW229, y detallada en el Anexo

5 apartado 1.3.:

En relación a las operaciones en las acciones:

Memoria

Departamento de Informática e Ingeniería de Sistemas

126

• En la acción al activar, se recoge el tipo de pieza que hay en la memoria

correspondiente a la que se está fabricando y se vuelca en la dirección de

tabla compartida reservada a la estación 2, %MW271, y además, se

contabilizará el número de veces que el proceso de producción pueda

resultar defectuoso. Las diferentes codificaciones de las órdenes a las

estaciones se describen en el Anexo 5 apartado 1.3.

• En la acción continua, se comprueba que la estación responde con un

reconocimiento de la orden, un 9 en la palabra %MW229, y borrará la

orden que le escribió en la acción al activar, además de marcar el bit que

nos activará la transición a la siguiente etapa.

• En la acción al desactivar, se borran los bits de la acción continua.

9. Etapa %X2.16: Es en esta etapa donde se realiza la transmisión de la

operación que debe realizarse a la estación 2 por medio de una palabra de la

tabla compartida, detallada en el Anexo 5 apartado 1.3, que en este caso será

la de colocar un muelle. Únicamente tiene una transición que se activará en

el momento en que se active un bit asociado a la confirmación de orden

recibida,

codificada como

un 9 en la

palabra de

respuesta de la

estación 2, la

%MW229, y detallada en el Anexo 5 apartado 1.3.

En relación a las operaciones en las acciones:

• En la acción al activar, no se recoge el tipo de pieza que hay en la memoria

correspondiente simplemente se le indica sacar un muelle debido a que no

es necesario distinguir el tipo de pieza pues todos los muelles son iguales,

y se vuelca en la dirección de tabla compartida reservada a la estación 2,

%MW271.

• En la acción continua, se comprueba que la estación responde con un

reconocimiento de la orden, un 9 en la palabra %MW229, y borrará la

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

127

orden que le escribió en la acción al activar, además de marcar el bit que

nos activará la transición a la siguiente etapa.

• En la acción al desactivar, se borran los bits de la acción continua.

10. Etapa %X2.5: En esta etapa el sistema espera que la estación 2 termine de

realizar la operación que se le ha encomendado. Sólo tiene una transición

que se cumplirá cuando se active un bit asociado a la respuesta de la

estación.

En relación a las operaciones en las acciones:

• En la acción al activar, se borran los bits de la acción continua.

• En la acción continua, se actualiza la memoria que corresponde a dicha

pieza en función de si la respuesta de la estación 2 ha sido operación

correcta u operación defectuosa. Las respuestas posibles de cada estación

están detalladas en el Anexo 5 apartado 1.3.

• En la acción al desactivar, se borran los bits de la acción continua.

11. Etapa %X2.12: Cumple la misma misión que la etapa %X2.2.

12. Etapa %X2.6: La etapa %X2.6, escribe la información de la operación en

el palet referente a la colocación del émbolo. Esta etapa tiene 2 transiciones

posibles:

• La que nos lleva a la etapa %X2.20, se activa cuando la operación supera

el tiempo máximo se espera y se lanza la alarma correspondiente.

• La que nos lleva a la etapa %X2.18, que se activa cuando la escritura

finaliza correctamente.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción continua,

invocamos a la SR3 para el cálculo del check sum de la comunicación que

se explicará en su apartado, y se lanza una instrucción OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1.

Memoria

Departamento de Informática e Ingeniería de Sistemas

128

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo, y se borran

los bits de la acción continua.

13. Etapa %X2.18: Se realiza una lectura de comprobación de la información.

Tenemos 3 transiciones posibles:

• La que nos lleva a la etapa %X2.6, se activa cuando la comprobación de la

información no coincide.

• La que nos lleva a la etapa %X2.20, o a la secuencia del grafcet de alarmas

si ha ocurrido algún fallo bien en la escritura, bien en las comprobaciones.

• La continúa la secuencia del grafcet, que se activa cuando el proceso de

escritura-lectura ha sido el correcto.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción continua,

invocamos a la SR2 para el cálculo del check sum de la comunicación que se

explicará en su apartado, y se lanza una instrucción OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya sido

correcta mediante los errores que nos ofrece la respuesta del interface y que

se detallan en el Anexo 4 apartado 1.5.1 a través de la SR32 y se comprueba,

además si la operación de comprobación ha resultado exitosa en alguno de

los dos intentos mediante la SR0 que se explicará en su apartado.

• En la acción al desactivar, se devuelve el control de las comunicaciones y se

lanza una alarma si la salida se realiza por máximo tiempo o por operación

defectuosa, es decir que la información comparada no se corresponda entre

sí. Se borran los bits de la acción continua en ambos casos.

14. Etapa %X2.13: La etapa %X2.13, es una copia de la etapa %X2.5 pero en

este caso espera que la estación termine de colocar el muelle sobre el

émbolo. La transición también vendrá condicionada por la respuesta de la

estación 2 exactamente igual que ocurría para la etapa %X2.5 pero con las

respuestas referente al montaje del muelle, descritas en el Anexo 5 apartado

1.3.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

129

15. Etapa %X2.14: Etapa que cumple la misma función que la etapa %X2.2.

16. Etapa %X2.15: La etapa %X2.15, escribe la información de la operación

en el palet referente a la colocación del muelle. Esta etapa tiene 2

transiciones posibles:

• La que nos lleva a la etapa %X2.20, se activa cuando la operación supera

el tiempo máximo se espera y se lanza la alarma correspondiente.

• La que nos lleva a la etapa %X2.19, que se activa cuando la escritura

finaliza correctamente.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR3 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo, y se borran

los bits de la acción continua.

17. Etapa %X2.19: Se realiza una lectura de comprobación de la información.

Tenemos 3 transiciones posibles:

• La que nos lleva a la etapa %X2.16, se activa cuando la comprobación de

la información no coincide.

• La que nos lleva a la etapa %X2.20, o a la secuencia del grafcet de

alarmas si ha ocurrido algún fallo bien en la escritura, bien en las

comprobaciones.

• La continúa la secuencia del grafcet, que se activa cuando el proceso de

escritura-lectura ha sido el correcto.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR2 para el cálculo del check sum de la

Memoria

Departamento de Informática e Ingeniería de Sistemas

130

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1 a través de la SR32 y se

comprueba, además si la operación de comprobación ha resultado exitosa

en alguno de los dos intentos mediante la SR0 que se explicará en su

apartado.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo o por

operación defectuosa, es decir que la información comparada no se

corresponda entre sí. Se borran los bits de la acción continua en ambos

casos.

18. Etapas %X2.7 y %X2.8: Etapas temporizadas a medio segundo.

19. Etapa %X2.9: Etapa que espera a que el palet de la estación salga de ella y

el sensor inductivo nos de un pulso de bajada.

20. Etapa %X2.11: Es una etapa de espera que da el tiempo suficiente para que

el palet que se encontraba en la estación, salga de ella y el que pueda venir

después todavía no halla llegado. Si esta temporización no es la correcta el

tope subirá cuando el primer palet todavía no haya salido ó cuando en

segundo palet ya haya sobrepasado el punto donde debe quedar estacionado.

5.2.2.4.2. Alarmas

21. Etapa %X2.20: Esta etapa es la primera de las dos que componen el ciclo

de señalizado de las alarmas y es una etapa temporizada a 6 segundos que lo

único que hace es avisar, mediante la activación intermitente del

enclavamiento de la estación, de que ha ocurrido una alarma en la máquina.

Esta activación intermitente se consigue añadiendo como condición de

activación del enclavamiento un bit de sistema, el %S6, que cambia de

forma intermitente cada segundo.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

131

22. Etapa %X2.21: Esta es la segunda y última etapa de la secuencia de

alarmas. En ella se espera 10 segundos para que el operario pueda visualizar

la alarma y después se pasará a liberar el palet. Al término de este proyecto

esa es la única gestión que se realiza de las alarmas, su visualización, pero

puede implementarse muy fácilmente que la salida de esta etapa no se

produzca hasta que el operario pulse algún tipo de rearme después de haber

solucionado el problema.

5.2.2.5. La macroetapa de la estación 3

5.2.2.5.1. Etapas de ejecución normal

En el grafcet de la sección 5.2.1.7.-90 del Anexo 6, tenemos las etapas que vamos a

comentar en los puntos posteriores y su función, como se anota directamente sobre el

propio grafcet, será la siguiente:

3. Etapa IN: En la etapa IN se permanece en espera durante 1 segundo.

• Tiene dos transiciones, la que va a la etapa OUT nunca se cumple porque

es un FALSE y la que va a la etapa %X3.0 es un simple contador de un

segundo.

4. Etapa %X3.0: Etapa que espera la llegada de un palet;

• Tiene tres transiciones, una va a la siguiente etapa, %X3.1 que se cumplirá

en cuanto llegue un palet si no están todas las piezas ya completadas, otra

que se vuelve sobre sí misma cuando están todas las piezas completas y no

hay palet en la estación, y, por último la que se dirige a la etapa %X3.7

cuando están todas las piezas completas pero hay un palet en la estación.

Estas dos últimas transiciones se hacen porque cuando todas las piezas se

han completado, las cintas se paran, pero sólo deben pararse cuando no

haya palet en ninguna estación ya que si lo hay podría efectuarse alguna

operación sobre él que no debiese. Por esto, se le da una salida a la etapa

de liberar palet %X3.7 mientras esté en la estación y no se permite la

evolución del grafcet si no hay ningún palet en dicha máquina.

Memoria

Departamento de Informática e Ingeniería de Sistemas

132

• En la acción al activar de esta etapa se borra el puntero que nos servirá

para acceder a la memoria de la pieza cuando, al leer un palet con

información, resulte ser una pieza sin terminar.

5. Etapa %X3.1: Esta etapa ya ha detectado un palet y espera a que toque el

tope.

• Tiene una transición y lo único que hace es esperar 1 segundo a que el

palet toque el tope.

6. Etapa %X3.2: Esta es una de las etapas importantes del grafcet de

comunicaciones. Es aquí donde se lanza la petición para la comunicación

con los módulos interfaces de los cabezales de lectura-escritura, y solo de

permite la evolución del grafcet cuando el sistema ha concedido dicho

permiso y la estación 3 está comunicando. La explicación de cómo se

adjudican estos permisos de lectura o escritura se explicará en el apartado

5.2.3.1.

7. Etapa %X3.17: En esta etapa se realiza la primera lectura del palet. Las

acciones desarrolladas en cada uno de sus puntos se puede consultar en la

sección 5.2.1.7. –94, 95 del Anexo 6 y se explicarán en la siguiente etapa.

• Tiene dos transiciones,

si se activa la que lleva a

la etapa %X3.19,

significa que ha

transcurrido demasiado tiempo en la lectura y por lo tanto, ha habido

algún tipo de error y saltará alarma por máximo tiempo de operación,

mientras que la que lleva a la siguiente etapa se cumplirá cuando la

operación en los términos del interface, sea correcta y hayan pasado 1,5

segundos.

8. Etapa %X3.3: En la acción al activar de esta etapa, se realiza la lectura de

comprobación, mientras que en la acción continua, se desarrollarán todas las

operaciones detalladas en el punto H del aparatado 5.2.2.3.1. Esta etapa

tiene 4 transiciones:

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

133

• La transición hacia la etapa %X3.17, se activará cuando la primera

comparación de la información obtenida en ambas lecturas sea incorrecta

pero no la segunda comparación que ya nos daría una alarma de operación

defectuosa.

• La transición hacia la etapa %X3.19, es la correspondiente a todos los

casos de alarmas posibles; los dos intentos de lectura han fracasado, no se

ha encontrado la información de la pieza en memoria, o se ha encontrado

pero no se corresponde íntegramente, o se ha superado el tiempo máximo

de 10 segundos de la operación.

• La transición hacia la etapa %X3.7, se activará si no se ha producido

ninguno de los casos de emergencia pero, sobre la mercancía, no es

necesario realizar ninguna operación, bien porque está hecha, bien porque

no es necesario producir más.

• Por último, la transición hacia la etapa %X3.10, será la que se active en el

caso normal de producción, es decir, no ha habido emergencias y ha de

realizarse una operación sobre el palet.

En cuanto a las acciones realizadas en esta etapa, vamos a explicarlas

detalladamente. El código que se incluye en cada una de ellas se puede consultar en la

sección 5.2.1.7. –96, 97, 98 del Anexo 6 y será el mismo prácticamente que el de la

etapa %X3.17

• En la acción al activar, se borran todos los bits que se utilizarán en las

acciones continuas para las comprobaciones de la información y de las

alarmas, y se invocará a las subrutinas correspondientes de lectura del

palet SR2 ó SR3 dependiendo de a que tabla de memoria volcaremos la

Memoria

Departamento de Informática e Ingeniería de Sistemas

134

información y que será explicadas en sus correspondientes apartados, para,

seguidamente, realizar una instrucción OUT_IN_CHAR.

• En la acción continua, se invoca a subrutina SR32, que comprobará que la

lectura haya sido correcta con las opciones que se explicarán en sus

secciones, y, en la etapa %X3.3, además, se llama a la subrutina SR27 que

será la que nos reconocerá la información y el estado de la producción de

la mercancía.

• En la acción al desactivar, se borran los bits que se han usado en la acción

continua, y se devuelve el control de las comunicaciones borrando el bit

estación_3_comunicando, en el caso de que se active cualquier transición

excepto la que nos lleva a la etapa %X3.17 nuevamente.

9. Etapa %X3.10: En esta etapa se espera a que la estación 3 se encuentre en

automático integrado. En esta etapa tenemos 2 transiciones:

• La transición que lleva a la etapa %X3.7, se activa cuando se ha rebasado

el tiempo de espera de 3 minutos.

• La transición a la etapa siguiente se activa cuando el palet no lleva culata y

se debe colocar sobre la pieza.

• Esta última transición depende de un bit de actividad de la estación 3 que

es un bit que debe cambiar de estado cada cierto tiempo, indicando al

sistema que la estación está funcionando correctamente.

10. Etapa %X3.4: Es en esta etapa donde se realiza la transmisión de la

operación que debe realizarse a la estación 3 por medio de una palabra de la

tabla compartida, detallada en el Anexo 5 apartado 1.3. Únicamente tiene

una transición que se activará en el momento en que se active un bit

asociado a la confirmación de orden recibida, codificada como un 9 en la

palabra de respuesta de la estación 3, la %MW244. La codificación

detallada de las órdenes se puede consultar en el Anexo 5 apartado 1.3.:

En relación a las operaciones en las acciones:

• En la acción al activar, se recoge el tipo de pieza que hay en la memoria

correspondiente a la que se está fabricando y se vuelca en la dirección de

tabla compartida reservada a la estación 3, %MW272, y además, se

contabilizará el número de veces que el proceso de producción pueda

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

135

resultar defectuoso. Las diferentes codificaciones de las órdenes a las

estaciones se describen en el Anexo 5 apartado 1.3.

• En la acción continua, se comprueba que la estación responde con un

reconocimiento de la orden, un 9 en la palabra %MW244, y borrará la

orden que le escribió en la acción al activar, además de marcar el bit que

nos activará la transición a la siguiente etapa.

• En la acción al desactivar, se borran los bits de la acción continua.

11. Etapa %X3.5: En esta etapa el sistema espera que la estación 3 termine de

realizar la operación que se le ha encomendado. Sólo tiene una transición

que se cumplirá cuando se active un bit asociado a la respuesta de la

estación.

En relación a las operaciones en las acciones:

• En la acción al activar, se borran los bits de la acción continua.

• En la acción continua, se actualiza la memoria que corresponde a dicha

pieza en función de si la respuesta de la estación 3 ha sido operación

correcta u operación defectuosa. Las respuestas posibles de cada estación

están detalladas en el Anexo 5 apartado 1.3.

• En la acción al desactivar, se borran los bits de la acción continua.

12. Etapa %X3.12: Cumple la misma misión que la etapa %X3.2.

13. Etapa %X3.6: La etapa %X3.6, escribe la información de la operación en

el palet referente a la colocación de la culata. Esta etapa tiene 2 transiciones

posibles:

• La que nos

lleva a la etapa

%X3.19, se

activa cuando

la operación supera el tiempo máximo se espera y se lanza la alarma

correspondiente.

• La que nos lleva a la etapa %X3.18, que se activa cuando la escritura

finaliza correctamente.

En relación a las operaciones en las acciones:

Memoria

Departamento de Informática e Ingeniería de Sistemas

136

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR3 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo, y se borran

los bits de la acción continua.

14. Etapa %X3.18: Se realiza una lectura de comprobación de la información.

Tenemos 3 transiciones posibles:

• La que nos lleva a la etapa %X3.6, se activa cuando la comprobación de la

información no coincide.

• La que nos lleva a la etapa %X3.19, o a la secuencia del grafcet de

alarmas si ha ocurrido algún fallo bien en la escritura, bien en las

comprobaciones.

• La que continúa la secuencia del grafcet, que se activa cuando el proceso

de escritura-lectura ha sido el correcto.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR2 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1 a través de la SR32 y se

comprueba, además si la operación de comprobación ha resultado exitosa

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

137

en alguno de los dos intentos mediante la SR0 que se explicará en su

apartado.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo o por

operación defectuosa, es decir que la información comparada no se

corresponda entre sí. Se borran los bits de la acción continua en ambos

casos.

15. Etapas %X3.7 y %X3.8: Etapas temporizadas a medio segundo.

16. Etapa %X3.9: Etapa que espera a que el palet de la estación salga de ella y

el sensor inductivo nos de un pulso de bajada.

17. Etapa %X3.11: Es una etapa de espera que da el tiempo suficiente para

que el palet que se encontraba en la estación, salga de ella y el que pueda

venir después todavía no halla llegado. Si esta temporización no es la

correcta el tope subirá cuando el primer palet todavía no haya salido ó

cuando en segundo palet ya haya sobrepasado el punto donde debe quedar

estacionado.

5.2.2.5.2. Alarmas

18. Etapa %X3.19: Esta etapa es la primera de las dos que componen el ciclo

de señalizado de las alarmas y es una etapa temporizada a 6 segundos que lo

único que hace es avisar, mediante la activación intermitente del

enclavamiento de la estación, de que ha ocurrido una alarma en la máquina.

Esta activación intermitente se consigue añadiendo como condición de

activación del enclavamiento un bit de sistema, el %S6, que cambia de

forma intermitente cada segundo.

19. Etapa %X3.20: Esta es la segunda y última etapa de la secuencia de

alarmas. En ella se espera 10 segundos para que el operario pueda visualizar

la alarma y después se pasará a liberar el palet. Al término de este proyecto

esa es la única gestión que se realiza de las alarmas, su visualización, pero

puede implementarse muy fácilmente que la salida de esta etapa no se

Memoria

Departamento de Informática e Ingeniería de Sistemas

138

produzca hasta que el operario pulse algún tipo de rearme después de haber

solucionado el problema.

5.2.2.6. La macroetapa de la estación 4

5.2.2.6.1. Etapas de ejecución normal

En el grafcet de la sección 5.2.1.7.-107 del Anexo 6, tenemos las etapas que vamos

a comentar en los puntos posteriores y su función, como se anota directamente sobre el

propio grafcet, será la siguiente:

1. Etapa IN: En la etapa IN se permanece en espera durante 1 segundo.

• Tiene dos transiciones, la que va a la etapa OUT nunca se cumple porque

es un FALSE y la que va a la etapa %X4.0 es un simple contador de un

segundo.

2. Etapa %X4.0: Etapa que espera la llegada de un palet;

• Tiene tres transiciones, una va a la siguiente etapa, %X4.1 que se cumplirá

en cuanto llegue un palet si no están todas las piezas ya completadas, otra

que se vuelve sobre sí misma cuando están todas las piezas completas y no

hay palet en la estación, y, por último la que se dirige a la etapa %X4.7

cuando están todas las piezas completas pero hay un palet en la estación.

Estas dos últimas transiciones se hacen porque cuando todas las piezas se

han completado, las cintas se paran, pero sólo deben pararse cuando no

haya palet en ninguna estación ya que si lo hay podría efectuarse alguna

operación sobre él que no debiese. Por esto, se le da una salida a la etapa

de liberar palet %X4.7 mientras esté en la estación y no se permite la

evolución del grafcet si no hay ningún palet en dicha máquina.

• En la acción al activar de esta etapa se borra el puntero que nos servirá

para acceder a la memoria de la pieza cuando, al leer un palet con

información, resulte ser una pieza sin terminar.

3. Etapa %X4.1: Esta etapa ya ha detectado un palet y espera a que toque el

tope.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

139

• Tiene una transición y lo único que hace es esperar 1 segundo a que el

palet toque el tope.

4. Etapa %X4.2: Esta es una de las etapas importantes del grafcet de

comunicaciones. Es aquí donde se lanza la petición para la comunicación

con los módulos interfaces de los cabezales de lectura-escritura, y solo de

permite la evolución del grafcet cuando el sistema ha concedido dicho

permiso y la estación 4 está comunicando. La explicación de cómo se

adjudican estos permisos de lectura o escritura se explicará en el apartado

5.2.3.1.

5. Etapa %X4.17: En esta etapa se realiza la primera lectura del palet. Las

acciones desarrolladas en cada uno de sus puntos se puede consultar en la

sección 5.2.1.7. –110, 111 del Anexo 6 y se explicarán en la siguiente etapa.

• Tiene dos transiciones, si se activa la que lleva a la etapa %X4.19,

significa que ha transcurrido demasiado tiempo en la lectura y por lo tanto,

ha habido algún tipo de error y saltará alarma por máximo tiempo de

operación, mientras que la que lleva a la siguiente etapa se cumplirá

cuando la operación en los términos del interface, sea correcta y hayan

pasado 1,5 segundos.

6. Etapa %X4.3: En la acción al activar de esta etapa, se realiza la lectura de

comprobación, mientras que en la acción continua, se desarrollarán todas las

operaciones detalladas en el punto H del aparatado 5.2.2.3.1. Esta etapa

tiene 4 transiciones:

• La transición hacia la etapa %X4.17, se activará cuando la primera

comparación de la información obtenida en ambas lecturas sea incorrecta

pero no la segunda comparación que ya nos daría una alarma de operación

defectuosa.

• La transición hacia la etapa %X3.19, es la correspondiente a todos los

casos de alarmas posibles; los dos intentos de lectura han fracasado, no se

ha encontrado la información de la pieza en memoria, o se ha encontrado

pero no se corresponde íntegramente, o se ha superado el tiempo máximo

de 10 segundos de la operación.

Memoria

Departamento de Informática e Ingeniería de Sistemas

140

• La transición hacia la etapa %X3.7, se activará si no se ha producido

ninguno de los casos de emergencia pero, sobre la mercancía, no es

necesario realizar ninguna operación, bien porque está hecha, bien porque

no es necesario producir más.

• Por último, la transición hacia la etapa %X4.10, será la que se active en el

caso normal de producción, es decir, no ha habido emergencias y ha de

realizarse una operación sobre el palet.

En cuanto a las acciones realizadas en esta etapa, vamos a explicarlas

detalladamente. El código que se incluye en cada una de ellas se puede consultar en la

sección 5.2.1.7. –112, 113, 114 del Anexo 6 y será el mismo prácticamente que el de la

etapa %X4.17

• En la acción al activar, se borran todos los bits que se utilizarán en las

acciones continuas para las comprobaciones de la información y de las

alarmas, y se invocará a las subrutinas correspondientes de lectura del

palet SR2 ó SR3 dependiendo de a que tabla de memoria volcaremos la

información y que será explicadas en sus correspondientes apartados, para,

seguidamente, realizar una instrucción OUT_IN_CHAR.

• En la acción continua, se invoca a subrutina SR32, que comprobará que la

lectura haya sido correcta con las opciones que se explicarán en sus

secciones, y, en la etapa %X4.3, además, se llama a la subrutina SR27 que

será la que nos reconocerá la información y el estado de la producción de

la mercancía.

• En la acción al desactivar, se borran los bits que se han usado en la acción

continua, y se devuelve el control de las comunicaciones borrando el bit

estación_4_comunicando, en el caso de que se active cualquier transición

excepto la que nos lleva a la etapa %X4.17 nuevamente.

7. Etapa %X4.10: En esta etapa se espera a que la estación 3 se encuentre en

automático integrado. En esta etapa tenemos 2 transiciones:

• La transición que lleva a la etapa %X4.7, se activa cuando se ha rebasado

el tiempo de espera de 3 minutos.

• La transición a la etapa siguiente se activa cuando el palet no ha sido

verificado y se debe realizar dicha comprobación.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

141

Esta última transición depende de un bit de actividad de la estación 4 que es un bit

que debe cambiar de estado cada cierto tiempo, indicando al sistema que la estación está

funcionando correctamente.

8. Etapa %X4.4: Es en esta etapa donde se realiza la transmisión de la

operación que debe realizarse a la estación 4 por medio de una palabra de la

tabla compartida, detallada en el Anexo 5 apartado 1.3. Únicamente tiene

una transición que se activará en el momento en que se active un bit

asociado a la confirmación de orden recibida, codificada como un 9 en la

palabra de respuesta de la estación 4, la %MW259. La codificación

detallada de las órdenes se puede consultar en el Anexo 5 apartado 1.3.:

En relación a las operaciones en las acciones:

• En la acción al activar, se recoge el tipo de pieza que hay en la memoria

correspondiente a la que se está fabricando y se evalúa si es necesario que

se efectúe la verificación o no. Si la pieza no tiene tapa debe verificarse

pero si la tiene no debe comprobarse, así se mandará una orden distinta en

cada caso sobre la palabra de tabla compartida reservada a la estación 4,

%MW273, y además, se contabilizará el número de veces que el proceso

de producción pueda resultar defectuoso. Las diferentes codificaciones de

las órdenes a las estaciones se describen en el Anexo 5 apartado 1.3.

• En la acción continua, se comprueba que la estación responde con un

reconocimiento de la orden, un 9 en la palabra %MW259, y borrará la

orden que le escribió en la acción al activar, además de marcar el bit que

nos activará la transición a la siguiente etapa.

• En la acción al desactivar, se borran los bits de la acción continua.

9. Etapa %X4.5: En esta etapa el sistema espera que la estación 4 termine de

realizar la operación que se le ha encomendado. Sólo tiene una transición

que se cumplirá cuando se active un bit asociado a la respuesta de la

estación.

En relación a las operaciones en las acciones:

• En la acción al activar, se borran los bits de la acción continua.

• En la acción continua, se actualiza la memoria que corresponde a dicha

pieza en función de si la respuesta de la estación 4 ha sido operación

Memoria

Departamento de Informática e Ingeniería de Sistemas

142

correcta u operación defectuosa. Las respuestas posibles de cada estación

están detalladas en el Anexo 5 apartado 1.3.

• En la acción al desactivar, se borran los bits de la acción continua.

10. Etapa %X4.13: Cumple la misma misión que la etapa %X4.2. pero tiene

una peculiaridad en la acción al desactivar.

• En la acción al desactivar, invoca a la SR19 con la información de

operación correcta o fallida obtenida en la etapa %X4.5 y desde allí

volcará la información correspondiente a la pieza verificada, sobre la

última dirección libre de la cola de piezas explicada en el apartado 5.2.1.5.

El funcionamiento de la SR19 se describe en su apartado correspondiente.

11. Etapa %X4.6: La etapa %X4.6, escribe la información de la operación en

el palet referente a la colocación de la culata. Esta etapa tiene 2 transiciones

posibles:

• La que nos lleva a la etapa %X4.19, se activa cuando la operación supera

el tiempo máximo se espera y se lanza la alarma correspondiente.

• La que nos lleva a la etapa %X4.18, que se activa cuando la escritura

finaliza correctamente.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR3 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo, y se borran

los bits de la acción continua.

12. Etapa %X4.18: Se realiza una lectura de comprobación de la información.

Tenemos 3 transiciones posibles:

• La que nos lleva a la etapa %X4.6, se activa cuando la comprobación de la

información no coincide.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

143

• La que nos lleva a la etapa %X4.19, o a la secuencia del grafcet de

alarmas si ha ocurrido algún fallo bien en la escritura, bien en las

comprobaciones.

• La continúa la secuencia del grafcet, que se activa cuando el proceso de

escritura-lectura ha sido el correcto.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR2 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1 a través de la SR32 y se

comprueba, además si la operación de comprobación ha resultado exitosa

en alguno de los dos intentos mediante la SR0 que se explicará en su

apartado.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo o por

operación defectuosa, es decir que la información comparada no se

corresponda entre sí. Se borran los bits de la acción continua en ambos

casos.

13. Etapas %X4.7 y %X4.8: Etapas temporizadas a medio segundo.

14. Etapa %X4.9: Etapa que espera a que el palet de la estación salga de ella y

el sensor inductivo nos de un pulso de bajada.

15. Etapa %X4.11: Es una etapa de espera que da el tiempo suficiente para

que el palet que se encontraba en la estación, salga de ella y el que pueda

venir después todavía no halla llegado. Si esta temporización no es la

correcta el tope subirá cuando el primer palet todavía no haya salido ó

cuando en segundo palet ya haya sobrepasado el punto donde debe quedar

estacionado.

Memoria

Departamento de Informática e Ingeniería de Sistemas

144

5.2.2.6.2. Alarmas

16. Etapa %X4.19: Esta etapa es la primera de las dos que componen el ciclo

de señalizado de las alarmas y es una etapa temporizada a 6 segundos que lo

único que hace es avisar, mediante la activación intermitente del

enclavamiento de la estación, de que ha ocurrido una alarma en la máquina.

Esta activación intermitente se consigue añadiendo como condición de

activación del enclavamiento un bit de sistema, el %S6, que cambia de

forma intermitente cada segundo.

17. Etapa %X4.20: Esta es la segunda y última etapa de la secuencia de

alarmas. En ella se espera 10 segundos para que el operario pueda visualizar

la alarma y después se pasará a liberar el palet. Al término de este proyecto

esa es la única gestión que se realiza de las alarmas, su visualización, pero

puede implementarse muy fácilmente que la salida de esta etapa no se

produzca hasta que el operario pulse algún tipo de rearme después de haber

solucionado el problema.

5.2.2.7. Grafcet de la cola de piezas

Este grafcet está incluido dentro de la macroetapa 4 porque es desde esta estación,

cuando concluye la verificación de una pieza válida, desde donde vuelca la información

relativa a dicha pieza en la tabla de piezas en cola. Se hace esto así, para que se asocien

las etapas de los dos grafcet pero el grafcert de la cola de pieza podría estar en cualquier

otro sitio y funcionará exactamente igual.

Esta integrado por 4 etapas cuya misión es avisar al almacén de que una pieza

fabricada ha sido depositada en la cinta transportadora y la información de su

fabricación está a disposición del sistema. Cuando el almacén está dispuesto a recibir la

orden de almacenado, este grafcet se encarga de solicitar el recurso de almacén al

sistema y, una vez se le ha concedido, ordenar el almacenado de la pieza junto con sus

palabras correspondientes.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

145

Tras el almacenado, el recurso es liberado y se vuelve a la situación de chequear la

memoria de la cola de piezas para comprobar si una nueva pieza ha sido producida en

cuyo caso vuelve a extraerla de la cola, y se repite el proceso.

1. Etapa %X4.14: Como hemos comentado en el apartado 5.2.1.5., la cola, lo

que hace es testear constantemente la zona de recepción de información del

almacén ( palabras %MW1600-%MW1609 ). Si ésta zona está vacía, recoge

las 7 primeras palabras

de la cola ( palabras

%MW1700-

%MW1706 ), las

vuelca sobre las

anteriores, borra éstas últimas y pasa

al final de la cola todo un grupo de

ceros para que puedan ser escritas por

otra posible pieza producida

(direcciones %MW1793-%MW1799). Si la zona de intercambio de la

entrada no está vacía, es que el almacén está en espera de recibir la orden de

almacenado de la pieza cuya información se ha volcado en dicha zona.

Cuando el almacén nos da conformidad de que ha almacenado la pieza, la

cola borra la zona de intercambio, y vuelve a empezar.

El buffer de salida realiza la misma función que el de entrada pero cuando

las piezas son extraídas desde la macroetapa 8 para ser montadas sobre un

palet: El almacén volcará sobre esas direcciones las palabras correspondiente

a dichas piezas para que sean integradas a las tablas de pedidos.

Esta operación

de testeo del

buffer de entrada

del almacén y de

volcado de las 7

primeras

palabras de la

cola de piezas

Memoria

Departamento de Informática e Ingeniería de Sistemas

146

sobre dicho buffer en caso de que se encuentre vacío, es realizada por esta

etapa en su acción continua.

Cuando encuentra información sobre el buffer de entrada del almacén se

activa la transición que lleva a la etapa siguiente.

2. Etapa %X4.15: Esta etapa es una de las muchas etapas que solicitan el

acceso a un recurso

compartido como era el

caso, por ejemplo, de la

etapa %X4.2. La

diferencia es que, ahora, no se solicita permiso para la lectura o escritura de

un palet, sino para poder mandar una orden de almacenado de pieza al

almacén. Si no existiese esta

etapa, nos podría ocurrir que se

lanzasen al mismo tiempo una

orden de almacenado desde

aquí, y una orden de extracción

desde el robot. La estación 5

solamente recogería y ejecutaría una de ellas pero el sistema creería que está

haciendo las dos pues ambos grafcet habrían evolucionado, lo que

provocaría una confusión no detectada.

Una vez el sistema permite el acceso al almacén y éste está libre, es decir, en

disposición de atender la orden, el grafcet pasa a la etapa siguiente.

3. Etapa %X4.21: Al

activarse esta etapa se

ordena a la estación

almacén, a través de

una palabra de su tabla

compartida, %MW274, que

recoja la pieza de la cinta.

El sistema permanecerá en este

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

147

estado hasta que se le

devuelva un

reconocimiento de

orden a través de la escritura de un 9 en la palabra del almacén, %MW289.

En ese momento pasamos a la etapa siguiente. Todas las codificaciones de

las órdenes están detalladas en el apartado 1.3. del Anexo 5.

4. Etapa %X4.16: En esta

etapa de permanece

mientras el almacén realiza

su tarea. Cuando concluye,

a través de la palabra de

tabla compartida %MW289

se comunica al sistema si se ha realizado la operación correctamente o no.

Si se ha hecho correctamente entonces se borra la información del buffer de

entrada del almacén para

permitir la entrada de

otra pieza después de

haber descontado la pieza almacenada del contador correspondiente de las

piezas en cola.

Memoria

Departamento de Informática e Ingeniería de Sistemas

148

Si no se ha realizado correctamente se vuelve a la etapa %X4.14 con la

misma información y se vuelve a intentar con los mismos datos.

Al salir de esta etapa se devuelve el control del almacén al sistema para que

pueda ser utilizado por la macroetapa 8 si lo requiere.

5.2.2.8. La macroetapa de la estación 7

Esta macroetapa está encargada de almacenar los palets en la estación 7 cuando

están completos los pedidos, de sacar placas vacías sobre las que colocar las bases y

montar los pedidos y de sacar del almacén pedidos completos previamente almacenados

para un supuesto suministro hacia el exterior.

5.2.2.8.1. Etapas de ejecución normal

En el grafcet de la sección 5.2.1.7.-183 del Anexo 6, tenemos las etapas que vamos

a comentar en los puntos posteriores y su función, como se anota directamente sobre el

propio grafcet, será la siguiente:

1. Etapa IN: En la etapa IN se permanece en espera durante 1 segundo.

• Tiene dos transiciones, la que va a la etapa OUT nunca se cumple porque

es un FALSE y la que va a la etapa %X7.0 es un simple contador de un

segundo.

2. Etapa %X7.0: Etapa que espera la llegada de un palet;

• Tiene tres transiciones, una va a la siguiente etapa, %X7.1 que se cumplirá

en cuanto llegue un palet si no están todos los pedidos ya completados,

otra que se vuelve sobre sí misma cuando están todos los pedidos

completos y no hay palet en la estación, y, por último la que se dirige a la

etapa %X7.7 cuando están todos los pedidos completos pero hay un palet

en la estación. Estas dos últimas transiciones se hacen porque cuando

todos los pedidos se han completado, las cintas se paran, pero sólo deben

pararse cuando no haya palet en ninguna estación ya que si lo hay podría

efectuarse alguna operación sobre él que no debiese. Por esto, se le da una

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

149

salida a la etapa de liberar palet %X7.7 mientras esté en la estación y no se

permite la evolución del grafcet si no hay ningún palet en dicha máquina.

3. Etapa %X7.1: Esta etapa ya ha detectado un palet y espera a que toque el

tope.

• Tiene una transición y lo único que hace es esperar 1 segundo a que el

palet llegue al tope.

4. Etapa %X7.2: Esta es una de las etapas importantes del grafcet de

comunicaciones. Es aquí donde se lanza la petición para la comunicación

con los módulos interfaces de los cabezales de lectura-escritura y para la

modificación de la tabla principal de lectura y escritura de los palets de la

zona de expedición, y solo de permite la evolución del grafcet cuando el

sistema ha concedido dichos permisos y la estación 7 está comunicando y

escribiendo. Esta petición será independiente de la que se hacía en todos los

grafcets anteriores pertenecientes a la zona de fabricación pues se dispone

de dos interfaces distintos para cada zona. La explicación de cómo se

adjudican estos permisos de lectura o escritura se hará en el apartado

5.2.3.1.

Esta etapa es un poco difícil de explicar, pero vamos a intentarlo. El buffer

de salida de la escritura de los palets en la zona de expedición se encuentra

en las palabras %MW1650-%MW1693, como se ha explicado en el apartado

5.2.1.4.3. cuando se hablaba de la tabla principal de lectura. Este buffer es

utilizado para retener la información de un pedido que se ha de escribir en la

memoria del palet, o que se ha leído de él. En la zona de fabricación también

ocurría así con su respectiva tabla principal y sin embargo no teníamos

ninguna etapa de este tipo. Antes, la tabla principal y la tabla secundaria de

lecturas y escrituras de los palets, solamente eran modificadas en las etapas

en que se lanzaba la lectura o la escritura lo que ocurría siempre dentro de

unas etapas a las que sólo se accedía una vez que se había lanzado una

petición de comunicación al sistema y éste había reservado el recurso para la

máquina que lo había solicitado. Ahora, tenemos una diferencia con respecto

a la zona de fabricación, y es que, en concreto la estación 7, en un momento

concreto como es en la etapa %X7.4 a través de la subrutina SR29, tiene la

Memoria

Departamento de Informática e Ingeniería de Sistemas

150

necesidad de modificar el contenido de la tabla principal %MW1650-

%MW1693 en una etapa que no está blindada por los bits de

comunicaciones del tipo estacion_x_comunicando. Así pues, nos surge la

necesidad de tratar la tabla principal de lectura como otro recurso

compartido debiéndolo incluir en la gestión de las comunicaciones y que el

sistema se encargue, por medio de los bits estacion_x_escribiendo, de

gestionar el acceso a dicho recurso.

• En la acción al activar de esta etapa, además de lanzar la petición de

comunicación, se borra el puntero que nos servirá para acceder a la

memoria de la pieza cuando, al leer un palet con información, resulte ser

un pedido sin terminar.

5. Etapa %X7.13: En esta etapa se realiza la primera lectura del palet. Las

acciones desarrolladas en cada uno de sus puntos se puede consultar en la

sección 5.2.1.7. –186, 187 del Anexo 6 y se explicarán en la siguiente etapa.

• Tiene dos transiciones, si se activa la que lleva a la etapa %X7.7, significa

que ha transcurrido demasiado tiempo en la lectura y por lo tanto, ha

habido algún tipo de error y saltará alarma por máximo tiempo de

operación, mientras que la que lleva a la siguiente etapa se cumplirá

cuando la operación en los términos del interface, sea correcta y hayan

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

151

pasado 2,5 segundos.

6. Etapa %X7.3: En la acción al activar de esta etapa, se realiza la lectura de

comprobación, mientras que en la acción continua, se desarrollarán todas las

operaciones detalladas en el punto H del aparatado 5.2.2.3.1. Esta etapa

tiene 4 transiciones:

• La transición hacia la etapa %X7.13, se activará cuando la primera

comparación de la información obtenida en ambas lecturas sea incorrecta

pero no la segunda comparación que ya nos daría una alarma de operación

defectuosa.

• La transición hacia la etapa %X7.15, es la correspondiente a todos los

casos de alarmas posibles; los dos intentos de lectura han fracasado, no se

ha encontrado la información del pedido en memoria, o se ha encontrado

pero no se corresponde íntegramente, o se ha superado el tiempo máximo

de 10 segundos de la operación.

• La transición hacia la etapa %X7.7, se activará si no se ha producido

ninguno de los casos de emergencia pero, sobre la mercancía, no es

necesario realizar ninguna operación, bien porque está hecha, bien porque

no es necesario producir más.

• Por último, la transición hacia la etapa %X7.10, será la que se active en el

caso normal de producción, es decir, no ha habido emergencias y ha de

realizarse una operación sobre el palet.

En cuanto a las acciones realizadas en esta etapa, vamos a explicarlas

detalladamente. El código que se incluye en cada una de ellas se puede consultar en la

sección 5.2.1.7. –187, 188, 189 del Anexo 6 y será el mismo prácticamente que el de la

etapa %X7.17

• En la acción al activar, se borran todos los bits que se utilizarán en las

acciones continuas para las comprobaciones de la información y de las

alarmas, y se invocará a las subrutinas correspondientes de lectura del

palet SR4 ó SR5 dependiendo de a que tabla de memoria volcaremos la

información y que será explicadas en sus correspondientes apartados, para,

seguidamente, realizar una instrucción OUT_IN_CHAR.

• En la acción continua, se invoca a subrutina SR36, que comprobará que la

lectura haya sido correcta con las opciones que se explicarán en sus

Memoria

Departamento de Informática e Ingeniería de Sistemas

152

secciones, y, en la etapa %X7.3, además, se llama a las subrutinas SR35 y

SR28 que serán las que nos reconocerán si el doble ciclo de lectura y

lectura de comprobación ha fallado o no, la primera de ellas, y el estado de

la producción de la mercancía, la segunda.

• En la acción al desactivar, se borran los bits que se han usado en la acción

continua, y se devuelve el control de las comunicaciones borrando el bit

estación_7_comunicando y del bit estacion_7_escribiendo, en el caso de

que se active cualquier transición excepto la que nos lleva a la etapa

%X7.13 nuevamente.

7. Etapa %X7.10: En esta etapa se espera a que la estación 7 se encuentre en

automático integrado. En esta etapa tenemos 2 transiciones:

• La transición que lleva a la etapa %X7.7, se activa cuando se ha rebasado

el tiempo de espera de 3 minutos.

• La transición a la etapa siguiente se activa cuando la estación se encuentra

en automático integrado y tiene en marcha el bit de actividad.

El bit de actividad de la estación 7 es un bit que debe cambiar de estado cada cierto

tiempo, indicando al sistema que la estación está funcionando correctamente.

8. Etapa %X7.17: La función de esta etapa será lanzar al sistema una petición

de permiso para modificar la tabla principal de lectura y escritura de los

pedidos en la etapa siguiente. De esta etapa, evolucionaremos cuando se nos

dé el permiso para acceder a la tabla principal de la zona de expedición.

9. Etapa %X7.4: Es en esta etapa donde se realiza la transmisión de la

operación que debe realizarse a la estación 7 por medio de una palabra de la

tabla compartida, detallada en el Anexo 5 apartado 1.3. Únicamente tiene

una transición que se activará en el momento en que se active un bit

asociado a la confirmación de orden recibida, codificada como un 9 en la

palabra de respuesta de la estación 7, la %MW319. La codificación

detallada de las órdenes se puede consultar en el Anexo 5 apartado 1.3

En relación a las operaciones en las acciones:

• En la acción al activar, se enviará la orden de producción a la estación 7 de

una forma especial por medio de la SR29 que explicaremos en su

apartado. Las diferentes codificaciones de las órdenes a las estaciones se

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

153

describen en el Anexo 5 apartado 1.3. Además, inmediatamente después

de haber hecho la gestión sobre la tabla de memoria principal, ya puede

borrarse el bit de estacion_7_escribiendo lo que devolverá al sistema el

control sobre dicha tabla.

• En la acción continua, se comprueba que la estación responde con un

reconocimiento de la orden, un 9 en la palabra %MW319, y borrará la

orden que le escribió en la acción al activar, además de marcar el bit que

nos activará la transición a la siguiente etapa.

• En la acción al desactivar, se borran los bits de la acción continua.

10. Etapa %X7.5: En esta etapa el sistema espera que la estación 7 termine de

realizar la operación que se le ha encomendado. Sólo tiene una transición

que se cumplirá cuando se active un bit asociado a la respuesta de la

estación.

En relación a las operaciones en las acciones:

• En la acción al activar, se borran los bits de la acción continua.

• En la acción continua, se decide si la operación ha sido llevada a cabo con

éxito o no en función de la respuesta dada por la estación 7. Las respuestas

posibles de cada estación están detalladas en el Anexo 5 apartado 1.3.

• En la acción al desactivar, se borran los bits de la acción continua.

11. Etapa %X7.12: Cumple la misma misión que la etapa %X7.2 con la

excepción de la acción al desactivar. En esta acción es donde se actualiza la

memoria correspondiente al pedido en cuestión según haya resultado

correcta o fallida la acción en la etapa %X7.5 y dependiendo del tipo de

orden que le hubiese sido encargada a la estación 7. Además una función

añadida es avisara al terminal SCADA a través de la SR30 de que la

información de alguna de las tablas de pedidos ha sido modificada.

12. Etapa %X7.6: La etapa %X7.6, escribe la información de la operación en

el palet. Esta etapa tiene 1 transición:

• La que nos lleva a la etapa %X7.14, que se activa cuando la escritura

finaliza correctamente.

En relación a las operaciones en las acciones:

Memoria

Departamento de Informática e Ingeniería de Sistemas

154

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR5 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo, y se borran

los bits de la acción continua.

13. Etapa %X7.14: Se realiza una lectura de comprobación de la información.

Tenemos 4 transiciones posibles:

• La que nos lleva a la etapa %X7.6, se activa cuando la comprobación de la

información no coincide.

• La que nos lleva a la etapa %X7.15, o a la secuencia del grafcet de

alarmas si ha ocurrido algún fallo bien en la escritura, bien en las

comprobaciones.

• Una transición hacia la etapa %X7.2 que lo que hace es: Si el palet que

llega a la estación 7 lleva un pedido completo, lo debe almacenar, con lo

que el transbordador quedaría sin placa, y no podría ponerse sobre él una

nueva base hasta que no recirculase de nuevo. Así, para ahorrar tiempo, el

sistema evalúa si todavía queda algún pedido en memoria pendiente de

escribir en algún palet y, si es así, inmediatamente le indica a la estación 7

que le saque una placa vacía donde montar la base del siguiente pedido, a

no ser que haya una petición de sacar algún pedido completo desde

almacén en cuyo caso deberá atender esa petición primero.

• La que continúa la secuencia del grafcet, que se activa cuando el proceso

de escritura-lectura ha sido el correcto, y no se cumplen las condiciones

que activarían la transición anterior.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR4 para el cálculo del check sum de la

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

155

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1 a través de la SR36 y se

comprueba, además si la operación de comprobación ha resultado exitosa

en alguno de los dos intentos mediante la SR37 que se explicará en su

apartado.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo o por

operación defectuosa, es decir que la información comparada no se

corresponda entre sí. Se borran los bits de la acción continua en ambos

casos.

14. Etapas %X7.7 y %X7.8: Etapas temporizadas a medio segundo.

15. Etapa %X7.9: Etapa que espera a que el palet de la estación salga de ella y

el sensor inductivo nos de un pulso de bajada.

16. Etapa %X7.11: Es una etapa de espera que da el tiempo suficiente para

que el palet que se encontraba en la estación, salga de ella y el que pueda

venir después todavía no halla llegado. Si esta temporización no es la

correcta el tope subirá cuando el primer palet todavía no haya salido ó

cuando en segundo palet ya haya sobrepasado el punto donde debe quedar

estacionado.

5.2.2.8.2. Alarmas

17. Etapa %X7.15: Esta etapa es la primera de las dos que componen el ciclo

de señalizado de las alarmas y es una etapa temporizada a 6 segundos que lo

único que hace es avisar, mediante la activación intermitente del

enclavamiento de la estación, de que ha ocurrido una alarma en la máquina.

Esta activación intermitente se consigue añadiendo como condición de

activación del enclavamiento un bit de sistema, el %S6, que cambia de

forma intermitente cada segundo.

Memoria

Departamento de Informática e Ingeniería de Sistemas

156

18. Etapa %X7.16: Esta es la segunda y última etapa de la secuencia de

alarmas. En ella se espera 10 segundos para que el operario pueda visualizar

la alarma y después se pasará a liberar el palet. Al término de este proyecto

esa es la única gestión que se realiza de las alarmas, su visualización, pero

puede implementarse muy fácilmente que la salida de esta etapa no se

produzca hasta que el operario pulse algún tipo de rearme después de haber

solucionado el problema.

5.2.2.9. La macroetapa de la estación 6

Macroetapa encargada del montado de las bases blancas o negras sobre palets con

placa metálica y de la escritura sobre ellos de la información correspondiente al pedido

que se va a montar sobre él.

5.2.2.9.1. Etapas de ejecución normal

En el grafcet de la sección 5.2.1.7.-143 del Anexo 6, tenemos las etapas que vamos

a comentar en los puntos posteriores y su función, como se anota directamente sobre el

propio grafcet, será la siguiente:

1. Etapa IN: En la etapa IN se permanece en espera durante 1 segundo.

• Tiene dos transiciones, la que va a la etapa OUT nunca se cumple porque

es un FALSE y la que va a la etapa %X6.0 es un simple contador de un

segundo.

2. Etapa %X6.0: Etapa que espera la llegada de un palet;

• Tiene tres transiciones, una va a la siguiente etapa, %X6.1 que se cumplirá

en cuanto llegue un palet si no están todos los pedidos ya completados,

otra que se vuelve sobre sí misma cuando están todos los pedidos

completos y no hay palet en la estación, y, por último la que se dirige a la

etapa %X6.7 cuando están todos los pedidos completos pero hay un palet

en la estación. Estas dos últimas transiciones se hacen porque cuando

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

157

todos los pedidos se han completado, las cintas se paran, pero sólo deben

pararse cuando no haya palet en ninguna estación ya que si lo hay podría

efectuarse alguna operación sobre él que no debiese. Por esto, se le da una

salida a la etapa de liberar palet %X6.7 mientras esté en la estación y no se

permite la evolución del grafcet si no hay ningún palet en dicha máquina.

• En la acción al activar de esta etapa, se borra el puntero que nos servirá

para acceder a la memoria de la pieza cuando, al leer un palet con

información, resulte ser un pedido sin terminar.

3. Etapa %X6.1: Esta etapa ya ha detectado un palet y espera a que toque el

tope. Además de esta función e igual que ocurría en la estación 1 para la

zona de fabricación, esta macroetapa tiene otra función que es la de dar la

posibilidad de modificar la información de los palet de los pedidos a través

de un terminal Magelis. El grafcet dedicado a estas operaciones es similar al

de la estación 1 y no creemos necesario explicarlo en detalle pues de

comprensible tras el análisis del análogo de la máquina 1.

Las dos transiciones que suceden a esta etapa son:

• La que conduce a la etapa %X6.22 que será activada cuando por Magelis

se haya activado el pulsador de petición de modificado del contenido del

palet.

• La que continúa la evolución normal que se activará cuando no se haya

solicitado petición de modificación del palet y pase 1 segundo desde la

activación de la etapa.

En cuanto a las operaciones en las acciones de la etapa:

• En la acción al desactivar de esta etapa, se borra el bit de memorización de

la petición de acceso a la modificación de la tabla principal de pedidos.

4. Etapa %X6.2: Esta es una de las etapas importantes del grafcet de

comunicaciones. Es aquí donde se lanza la petición para la comunicación

con los módulos interfaces de los cabezales de lectura-escritura y para la

modificación de la tabla principal de lectura y escritura de los palets de la

zona de expedición, y solo de permite la evolución del grafcet cuando el

sistema ha concedido dichos permisos y la estación 6 está comunicando y

escribiendo. Esta petición será independiente de la que se hacía en todos los

grafcets anteriores pertenecientes a la zona de fabricación pues se dispone

Memoria

Departamento de Informática e Ingeniería de Sistemas

158

de dos interfaces distintos para cada zona. La explicación de cómo se

adjudican estos permisos de lectura o escritura se hará en el apartado

5.2.3.1.

Esta macroetapa no requiere la modificación del buffer de salida de la

escritura de los palets en la zona de expedición que se encuentra en las

palabras %MW1650-%MW1693, como ocurría con la macroetapa 7 pero

como se encuentra dentro de las posibles estaciones que acceden a dicho

recurso, también debe recibir dicho permiso.

• La única transición de salida es la que continúa la evolución normal que se

activará cuando el sistema conceda el permiso de acceso tanto al interface

de comunicación como a la modificación de la tabla principal de lectura y

escritura de la zona de expedición.

En cuanto a las operaciones en las acciones de la etapa:

• En la acción al activar de esta etapa, se solicitan los accesos a la

modificación de la tabla principal de pedidos y al recurso del interface de

lectura.

5. Etapa %X6.15: En esta etapa se realiza la primera lectura del palet. Las

acciones desarrolladas en cada uno de sus puntos se puede consultar en la

sección 5.2.1.7. –147, 148 del Anexo 6 y se explicarán en la siguiente etapa.

• Tiene dos transiciones, si se activa la que lleva a la etapa %X6.18,

significa que ha transcurrido demasiado tiempo en la lectura y por lo tanto,

ha habido algún tipo de error y saltará alarma por máximo tiempo de

operación, mientras que la que lleva a la siguiente etapa se cumplirá

cuando la operación en los términos del interface, sea correcta y hayan

pasado 2,5 segundos.

6. Etapa %X6.3: En la acción al activar de esta etapa, se realiza la lectura de

comprobación, mientras que en la acción continua, se desarrollarán todas las

operaciones detalladas en el punto H del aparatado 5.2.2.3.1. Esta etapa

tiene 4 transiciones:

• La transición hacia la etapa %X6.15, se activará cuando la primera

comparación de la información obtenida en ambas lecturas sea incorrecta

pero no la segunda comparación que ya nos daría una alarma de operación

defectuosa.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

159

• La transición hacia la etapa %X6.18, es la correspondiente a todos los

casos de alarmas posibles; los dos intentos de lectura han fracasado, no se

ha encontrado la información del pedido en memoria, o se ha encontrado

pero no se corresponde íntegramente, o se ha superado el tiempo máximo

de 10 segundos de la operación.

• La transición hacia la etapa %X6.7, se activará si no se ha producido

ninguno de los casos de emergencia pero, sobre la mercancía, no es

necesario realizar ninguna operación, bien porque está hecha, bien porque

no es necesario producir más.

• Por último, la transición hacia la etapa %X6.10, será la que se active en el

caso normal de producción, es decir, no ha habido emergencias y ha de

realizarse una operación sobre el palet.

En cuanto a las acciones realizadas en esta etapa, vamos a explicarlas

detalladamente. El código que se incluye en cada una de ellas se puede consultar en la

sección 5.2.1.7. –148, 149,150,151,152,153 del Anexo 6 y será el mismo prácticamente

que el de la tapa %X6.15.

• En la acción al activar, se borran todos los bits que se utilizarán en las

acciones continuas para las comprobaciones de la información y de las

alarmas, y se invocará a las subrutinas correspondientes de lectura del

palet SR4 ó SR5 dependiendo de a que tabla de memoria volcaremos la

información y que será explicadas en sus correspondientes apartados, para,

seguidamente, realizar una instrucción OUT_IN_CHAR.

• En la acción continua, se invoca a subrutina SR36, que comprobará que la

lectura haya sido correcta con las opciones que se explicarán en sus

secciones, y, en la etapa %X6.3, además, se llama a la subrutina SR35 que

será la que nos reconocerá si el doble ciclo de lectura y lectura de

comprobación ha fallado o no. Después de eso está el código que reconoce

el tipo de operaciones que el palet ya lleva realizadas y las que le faltan

por hacer.

En la segunda sentencia evaluamos el contenido de la palabra de la tabla

principal de lectura %MW1685 y cada uno de sus bits, que corresponden con

la palabra %MW1054, y las equivalentes para el resto de los pedidos,

marcada como estado del palet en las tablas del apartado 5.2.1.2.2. y que

Memoria

Departamento de Informática e Ingeniería de Sistemas

160

codifican todas las operaciones realizadas sobre el palet como se muestra en

la tabla de los bits en ese mismo apartado. De esta forma sabemos que

operaciones le han sido realizadas a la mercancía y activamos un bit que nos

activará el resto de las sentencias o una de las transiciones.

Así, si el palet tiene información sobre la operación que debe realizarle la

máquina 6 (palet6_con_pedido), entonces se activa la tercera sentencia que

lo que hace es buscar ese pedido en las tablas de pedidos de la memoria que

no están vacías.

Si localiza dicho pedido mediante las 5 primeras palabras de la fecha, se

inicializa el puntero dirección_inicio_piezas6 con el valor de memoria

correspondiente y se invoca a la subrutina SR31 que nos comparará el resto

de la información. Tanto si la SR31 nos devuelve que toda la información de

la memoria no coincide con la del palet, como si la búsqueda del palet en

memoria no tiene éxito se nos lanzará una alarma de

pedido_x_no_corresponde o de pedido_no_localizado, respectivamente. Por

último la parte final de la tercera sentencia lo que nos hace es, que si ha

llegado un palet vacío al que debemos escribirle una información de un palet

que todavía no está en producción, nos localiza la dirección de memoria de

dicho pedido, nos la devuelve en el puntero dirección_inicio_piezas6 y nos

marca el bit %X15 de la palabra estado_de_palet de dicho pedido para saber

que ese pedido ya ha sido adjudicado a un palet.

• En la acción al desactivar, se borran los bits que se han usado en la acción

continua, y se devuelve el control de las comunicaciones borrando el bit

estación_6_comunicando y del bit estacion_6_escribiendo, en el caso de

que se active cualquier transición excepto la que nos lleva a la etapa

%X6.15 nuevamente.

7. Etapa %X6.10: En esta etapa se espera a que la estación 7 se encuentre en

automático integrado. En esta etapa tenemos 3 transiciones:

• La transición que lleva a la etapa %X6.7, se activa cuando se ha rebasado

el tiempo de espera de 3 minutos.

• La transición a la etapa siguiente se activa cuando la estación se encuentra

en automático integrado y el palet que ha llegado es un palet vacío sobre el

que hay que volcar la información correspondiente a un pedido que no esté

ya escrito en ningún palet.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

161

• La transición a la etapa %X6.4 que se activa con un palet con pedido que

debe saltarse todas las fases de escritura de pedido y pasa directamente a

la producción.

Estas dos últimas etapas están condicionadas por el bit de actividad que es un bit

que debe cambiar de estado cada cierto tiempo, indicando al sistema que la estación está

funcionando correctamente.

8. Etapa %X6.12: La función de esta etapa será lanzar al sistema una petición

de permiso para modificar la tabla principal de lectura y escritura de los

pedidos en la etapa siguiente. De esta etapa, evolucionaremos cuando se nos

dé el permiso para acceder a la tabla principal de la zona de expedición.

• La acción al desactivar tiene implementadas a través de la SR8 todas las

operaciones necesarias para convertir la información del pedido desde la

memoria del autómata a la memoria que debe ser guardada en el palet

pues, como se explicó en el apartado 5.2.1.3., no se corresponden. Además

se procede al guardado de la fecha y hora del inicio de producción de la

base en las palabras de finalización de pedido en la memoria, pues, como

también se explicó, no había sido reservada en memoria, pero, para no

perder esa información, se almacenaba temporalmente en la fecha de

finalización hasta que llegado el momento se cambiasen de sitio para

enviarlas al almacén final. También se invoca a la SR30 para comunicar al

SCADA que la información del pedido ha sido modificada.

9. Etapa %X6.13: La etapa %X6.13, escribe la información de la operación

en el palet. Esta etapa tiene 2 transiciones:

• La que nos lleva a la etapa %X6.18, que se activa cuando la escritura

sobrepasa el máximo tiempo permitido y nos devolverá una alarma por es

máximo tiempo.

• La que nos lleva a la etapa %X6.17, que se activa cuando la escritura

finaliza correctamente.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR5 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

Memoria

Departamento de Informática e Ingeniería de Sistemas

162

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1.

• En la acción al

desactivar, se

devuelve el control

de las

comunicaciones y

se lanza una alarma

si la salida se

realiza por máximo

tiempo, y se borran

los bits de la acción

continua.

10. Etapa %X6.17: Se realiza una lectura de comprobación de la información.

Tenemos 3 transiciones posibles:

• La que nos lleva a la etapa %X6.13, se activa cuando la comprobación de

la información no coincide.

• La que nos lleva a la etapa %X6.18, o a la secuencia del grafcet de

alarmas si ha ocurrido algún fallo bien en la escritura, bien en las

comprobaciones.

• La que continúa la secuencia del grafcet, que se activa cuando el proceso

de escritura-lectura ha sido el correcto, y no se cumplen las condiciones

de emergencias.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR4 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1 a través de la SR36 y se

comprueba, además si la operación de comprobación ha resultado exitosa

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

163

en alguno de los dos intentos mediante la SR37 que se explicará en su

apartado.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo o por

operación defectuosa, es decir que la información comparada no se

corresponda entre sí. Se borran los bits de la acción continua en ambos

casos.

11. Etapa %X6.4: Es en esta etapa donde se realiza la transmisión de la

operación que debe realizarse a la estación 6 por medio de una palabra de la

tabla compartida, detallada en el Anexo 5 apartado 1.3. Únicamente tiene

una transición que se activará en el momento en que se active un bit

asociado a la confirmación de orden recibida, codificada como un 9 en la

palabra de respuesta de la estación 6, la %MW293. La codificación

detallada de las órdenes se puede consultar en el Anexo 5 apartado 1.3

En relación a las operaciones en las acciones:

• En la acción al activar, se enviará la orden de producción a la estación 6

por medio de la palabra de talbla compartida %MW275. Las diferentes

codificaciones de las órdenes a las estaciones se describen en el Anexo 5

apartado 1.3.

• En la acción continua, se comprueba que la estación responde con un

reconocimiento de la orden, un 9 en la palabra %MW293, y borrará la

orden que le escribió en la acción al activar, además de marcar el bit que

nos activará la transición a la siguiente etapa.

• En la acción al desactivar, se borran los bits de la acción continua.

12. Etapa %X6.5: En esta etapa el sistema espera que la estación 6 termine de

realizar la operación que se le ha encomendado. Sólo tiene una transición

que se cumplirá cuando se active un bit asociado a la respuesta de la

estación.

En relación a las operaciones en las acciones:

• En la acción al activar, se borran los bits de la acción continua.

• En la acción continua, se decide si la operación ha sido llevada a cabo con

éxito o no en función de la respuesta dada por la estación 6. Si la acción ha

sido correcta, el código de la acción continua pasa a actualizar el bit

Memoria

Departamento de Informática e Ingeniería de Sistemas

164

correspondiente a la palabra de estado_del_palet (%MW1054:X2 por

ejemplo para base blanca y el número del pedido es el 1) del pedido en

memoria que será el %X2 si la base es blanca y el %X1 si es negra. Las

respuestas posibles de cada estación están detalladas en el Anexo 5

apartado 1.3. Además se lanza la SR30 para avisar al SCADA de dicha

actualización.

• En la acción al desactivar, se borran los bits de la acción continua.

13. Etapa %X6.14: Cumple la misma misión que la etapa %X6.2 con la

excepción de la acción al desactivar. En esta acción es donde se vuelca la

memoria correspondiente al pedido en cuestión sobre la tabla de salida al

palet según haya resultado correcta o fallida la acción en la etapa %X6.5.

14. Etapa %X6.6: La etapa %X6.6, escribe la información de la operación en

el palet. Esta etapa tiene 2 transiciones:

• La que nos lleva a la etapa %X6.18, que se activa cuando la escritura

sobrepasa el máximo tiempo permitido y nos devolverá una alarma por es

máximo tiempo.

• La que nos lleva a la etapa %X6.16, que se activa cuando la escritura

finaliza correctamente.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR5 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo, y se borran

los bits de la acción continua.

15. Etapa %X6.16: Se realiza una lectura de comprobación de la información.

Tenemos 3 transiciones posibles:

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

165

• La que nos lleva a la etapa %X6.6, se activa cuando la comprobación de la

información no coincide.

• La que nos lleva a la etapa %X6.18, o a la secuencia del grafcet de

alarmas si ha ocurrido algún fallo bien en la escritura, bien en las

comprobaciones.

• La que continúa la secuencia del grafcet, que se activa cuando el proceso

de escritura-lectura ha sido el correcto, y no se cumplen las condiciones

de emergencia.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR4 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1 a través de la SR36 y se

comprueba, además si la operación de comprobación ha resultado exitosa

en alguno de los dos intentos mediante la SR37 que se explicará en su

apartado.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo o por

operación defectuosa, es decir que la información comparada no se

corresponda entre sí. Se borran los bits de la acción continua en ambos

casos.

16. Etapas %X6.7 y %X6.8: Etapas temporizadas a medio segundo.

17. Etapa %X6.9: Etapa que espera a que el palet de la estación salga de ella y

el sensor inductivo nos de un pulso de bajada.

18. Etapa %X6.11: Es una etapa de espera que da el tiempo suficiente para

que el palet que se encontraba en la estación, salga de ella y el que pueda

venir después todavía no halla llegado. Si esta temporización no es la

correcta el tope subirá cuando el primer palet todavía no haya salido ó

Memoria

Departamento de Informática e Ingeniería de Sistemas

166

cuando en segundo palet ya haya sobrepasado el punto donde debe quedar

estacionado.

5.2.2.9.2. Alarmas

19. Etapa %X6.18: Esta etapa es la primera de las dos que componen el ciclo

de señalizado de las alarmas y es una etapa temporizada a 6 segundos que lo

único que hace es avisar, mediante la activación intermitente del

enclavamiento de la estación, de que ha ocurrido una alarma en la máquina.

Esta activación intermitente se consigue añadiendo como condición de

activación del enclavamiento un bit de sistema, el %S6, que cambia de

forma intermitente cada segundo.

20. Etapa %X6.19: Esta es la segunda y última etapa de la secuencia de

alarmas. En ella se espera 10 segundos para que el operario pueda visualizar

la alarma y después se pasará a liberar el palet. Al término de este proyecto

esa es la única gestión que se realiza de las alarmas, su visualización, pero

puede implementarse muy fácilmente que la salida de esta etapa no se

produzca hasta que el operario pulse algún tipo de rearme después de haber

solucionado el problema.

5.2.2.10. La macroetapa de la estación 8

Esta macroetapa está encargada de recoger el pedido que va grabado en el palet,

desmenuzarlo en sus tres piezas e ir pidiéndolas una a una al almacén intermedio. Estas

peticiones se realizarán de forma inteligente, comprobando primero si dichas piezas

están en almacén y en caso contrario recircular éste para dar tiempo a la producción de

las piezas que faltan. Al término de este proyecto todavía no había sido instalado el

robot que debe colocar las piezas sobre el palet, así que las etapas en las que sería éste el

que realizaría las opercaciones, serán simuladas con una magelis.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

167

5.2.2.10.1. Etapas de ejecución normal

En el grafcet de la sección 5.2.1.7.-202 del Anexo 6, tenemos las etapas que vamos

a comentar en los puntos posteriores y su función, como se anota directamente sobre el

propio grafcet, será la siguiente:

1. Etapa IN: En la etapa IN se permanece en espera durante 1 segundo.

• Tiene dos transiciones, la que va a la etapa OUT nunca se cumple porque

es un FALSE y la que va a la etapa %X8.0 es un simple contador de un

segundo.

2. Etapa %X8.0: Etapa que espera la llegada de un palet;

• Tiene tres transiciones, una va a la siguiente etapa, %X8.1 que se cumplirá

en cuanto llegue un palet si no están todos los pedidos ya completados,

otra que se vuelve sobre sí misma cuando están todos los pedidos

completos y no hay palet en la estación, y, por último la que se dirige a la

etapa %X8.20 cuando están todos los pedidos completos pero hay un palet

en la estación. Estas dos últimas transiciones se hacen porque cuando

todos los pedidos se han completado, las cintas se paran, pero sólo deben

pararse cuando no haya palet en ninguna estación ya que si lo hay podría

efectuarse alguna operación sobre él que no debiese. Por esto, se le da una

salida a la etapa de liberar palet %X8.20 mientras esté en la estación y no

se permite la evolución del grafcet si no hay ningún palet en dicha

máquina.

• En la acción al activar de esta etapa, se borra el puntero que nos servirá

para acceder a la memoria de la pieza cuando, al leer un palet con

información, resulte ser un pedido sin terminar.

3. Etapa %X8.1: Esta etapa ya ha detectado un palet y espera a que toque el

tope.

• Tiene una transición y lo único que hace es esperar 1 segundo a que el

palet llegue al tope.

4. Etapa %X8.2: Esta es una de las etapas importantes del grafcet de

comunicaciones. Es aquí donde se lanza la petición para la comunicación

Memoria

Departamento de Informática e Ingeniería de Sistemas

168

con los módulos interfaces de los cabezales de lectura-escritura y para la

modificación de la tabla principal de lectura y escritura de los palets de la

zona de expedición, y solo de permite la evolución del grafcet cuando el

sistema ha concedido dichos permisos y la estación 8 está comunicando y

escribiendo. Esta petición será independiente de la que se hacía en todos los

grafcets anteriores pertenecientes a la zona de fabricación pues se dispone

de dos interfaces distintos para cada zona. La explicación de cómo se

adjudican estos permisos de lectura o escritura se hará en el apartado

5.2.3.1.

5. Etapa %X8.30: En esta etapa se realiza la primera lectura del palet. Las

acciones desarrolladas en cada uno de sus puntos se puede consultar en la

sección 5.2.1.7. –208, 209 del Anexo 6 y se explicarán en la siguiente etapa.

• Tiene dos transiciones, si se activa la que lleva a la etapa %X8.20,

significa que ha transcurrido demasiado tiempo en la lectura y por lo tanto,

ha habido algún tipo de error y saltará alarma por máximo tiempo de

operación, mientras que la que lleva a la siguiente etapa se cumplirá

cuando la operación en los términos del interface, sea correcta y hayan

pasado 2,5 segundos.

6. Etapa %X8.3: En la acción al activar de esta etapa, se realiza la lectura de

comprobación, mientras que en la acción continua, se desarrollarán todas las

operaciones detalladas en el punto H del aparatado 5.2.2.3.1. Esta etapa

tiene 4 transiciones:

• La transición

hacia la etapa

%X8.30, se

activará cuando la

primera

comparación de

la información

obtenida en

ambas lecturas

sea incorrecta

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

169

pero no la segunda comparación que ya nos daría una alarma de operación

defectuosa.

• La transición hacia la etapa %X8.31, es la correspondiente a todos los

casos de alarmas posibles; los dos intentos de lectura han fracasado, no se

ha encontrado la información del pedido en memoria, o se ha encontrado

pero no se corresponde íntegramente, o se ha superado el tiempo máximo

de 10 segundos de la operación.

• La transición hacia la etapa %X8.20, se activará si no se ha producido

ninguno de los casos de emergencia pero, sobre la mercancía, no es

necesario realizar ninguna operación. En esta estación, las condiciones

para liberar un palet en esta punto no solo dependen de la operación que le

falte de hacer a la mercancía sino también depende del estado de almacén.

Continuamente, desde que un palet llega a la estación 8 y se observa que

debe sacarse una pieza que le falta, el sistema está consultando el almacén

para saber si todas las piezas que requiere el palet están o no disponibles.

Así, por ejemplo, un transbordador puede ser liberado faltándole la pieza 1

si ésta no está disponible en almacén para dar tiempo a la zona de

fabricación para que la produzca.

• Por último, la transición hacia la etapa %X8.4, será la que se active en el

caso normal de producción, es decir, no ha habido emergencias y ha de

realizarse una operación sobre el palet y, además esa operación puede ser

realizada, es decir, al menos una de las piezas que nos faltan están en

almacén.

En cuanto a las acciones realizadas en esta etapa, vamos a explicarlas

detalladamente. El código que se incluye en cada una de ellas se puede consultar en la

sección 5.2.1.7. –209, 210, 211, 212, 213 del Anexo 6 y será el mismo prácticamente

que el de la etapa %X8.30.

• En la acción al activar, se borran todos los bits que se utilizarán en las

acciones continuas para las comprobaciones de la información y de las

alarmas, y se invocará a las subrutinas correspondientes de lectura del

palet SR4 ó SR5 dependiendo de a que tabla de memoria volcaremos la

información y que será explicadas en sus correspondientes apartados, para,

seguidamente, realizar una instrucción OUT_IN_CHAR.

Memoria

Departamento de Informática e Ingeniería de Sistemas

170

• En la acción continua, se invoca a subrutina SR36, que comprobará que la

lectura haya sido correcta con las opciones que se explicarán en sus

secciones, y, en la etapa %X8.3, además, se llama a la subrutina SR35 que

serán las que nos reconocerán si el doble ciclo de lectura y lectura de

comprobación ha fallado o no. En el propio espacio de programa para la

acción continua, se desarrolla el análisis de la información que lleva el

palet para reconocer el tipo de operaciones se le deben realizar. Se testea

la palabra %MW1685 y sus bits para decidir si es un palet que no tiene

nada escrito o, si tiene algo escrito todavía le falta de poner la placa

metálica o una base, si es un palet que ya tiene todas las piezas

completadas o si es un palet que tiene la información de un pedido pero le

falta de poner alguna pieza. En la segunda sentencia de la acción %X8.3

N1, se realiza la misma comprobación que se hacía en el apartado

5.2.2.9.1. para la estación 6.

Lo que hace esta sentencia es buscar ese pedido en las tablas de pedidos de

la memoria que no están vacías.

Si localiza dicho pedido mediante las 5 primeras palabras de la fecha, se

inicializa el puntero dirección_inicio_piezas8 con el valor de memoria

correspondiente y se invoca a la subrutina SR31 que nos comparará el resto

de la información. Tanto si la SR31 nos devuelve que toda la información de

la memoria no coincide con la del palet, como si la búsqueda del palet en

memoria no tiene éxito se nos lanzará una alarma de

pedido_x_no_corresponde o de pedido_no_localizado, respectivamente.

• En la acción al desactivar, se borran los bits que se han usado en la acción

continua, y se devuelve el control de las comunicaciones borrando el bit

estación_8_comunicando y del bit estacion_8_escribiendo, en el caso de

que se active cualquier

transición excepto la que

nos lleva a la etapa

%X8.30 nuevamente.

7. Etapa %X8.4: En esta

etapa se lanza una petición

al sistema para acceder al

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

171

desalmacenado de la pieza que nos hace falta y se espera a que la estación

gestora conceda el permiso de acceso. En esta etapa tenemos 4 transiciones:

• La transición que lleva a la etapa %X8.20, se activa cuando se comprueba

que todas las piezas están colocadas o las que faltan no están disponibles

en el almacén.

• La transición que lleva a la

etapa %X8.33 que se activa

cuando la pieza 1 está ya

cargada en el palet o no

está disponible pero falta

de cargar la pieza 2 y está

disponible en almacén.

• La transición que lleva a la

etapa %X8.34 que se activa

cuando las piezas 1 y 2 están

ya cargadas en el palet o

alguna de ellas no está

disponible pero falta de

cargar la pieza 3 y está

disponible en almacén.

• La transición que lleva a la

etapa %X8.5 que se activa

cuando la pieza 1 falta de

cargar y está disponible en

almacén.

8. Etapa %X8.5: Es en esta etapa donde se realiza la transmisión de la

operación que debe realizarse a la estación 5 por medio de una palabra de la

tabla compartida, detallada en el Anexo 5 apartado 1.3. Únicamente tiene

una transición que se activará en el momento en que se active un bit

asociado a la confirmación de orden recibida, codificada como un 9 en la

palabra de respuesta de la estación 5, la %MW289. La codificación

detallada de las órdenes se puede consultar en el Anexo 5 apartado 1.3

En relación a las operaciones en las acciones:

Memoria

Departamento de Informática e Ingeniería de Sistemas

172

• En la acción al activar, se enviará la orden de producción a la estación 5 en

función del tipo de pieza que necesite la estación 8. Esta orden puede ser

de dos tipos, o bien le pasará al almacén el tipo de pieza que debe extraer

o bien, si el gestor ve que en la posición 0 o de entrada de piezas al

almacén, directamente, tiene una pieza en espera de ser almacenada que

corresponde con la que hace falta, le pasará orden de que la recoja de la

entrada y la deposite en la salida. Esta última opción es lo que se llama en

el Anexo 5 apartado 1.3. pasar pieza.

• En la acción continua, se comprueba que la estación responde con un

reconocimiento de la orden, un 9 en la palabra %MW289, y borrará la

orden que le escribió en la acción al activar, además de marcar el bit que

nos activará la transición a la siguiente etapa.

• En la acción al desactivar, se borran los bits de la acción continua.

9. Etapa %X8.12: En esta etapa el sistema espera que la estación 5 termine de

realizar la operación que se le ha encomendado. Tiene 4 transiciones :

• La transición que lleva a la etapa

%X8.20, se activa cuando la

operación de extracción de la pieza a

resultado fallida y se comprueba que

todas las demás piezas están

colocadas o las que faltan no están

disponibles en el almacén.

• La transición que lleva a la etapa

%X8.34 que se activa cuando la

operación de extracción de la pieza a

resultado fallida y la pieza 2 está ya

cargada en el palet o no está

disponible pero falta de cargar la

pieza 3 y está disponible en almacén.

• La transición que lleva a la etapa

%X8.33 que se activa cuando la

operación de extracción de la pieza a

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

173

resultado fallida y la pieza 2 no está ya cargada en el palet y está

disponible en almacén.

• La transición que lleva a la etapa

%X8.13 que se activa cuando la

operación de extracción de la pieza a

resultado correcta.

En relación a las operaciones en las acciones:

• En la acción al activar, se borran los bits de la acción continua.

• En la acción continua, se decide si la operación ha sido llevada a cabo con

éxito o no en función de la respuesta dada por la estación 5. La estación 5,

una vez concluya la operación de extracción de la pieza con éxito, volcará

la información de dicha pieza que, anteriormente recibió desde la cola de

piezas explicada en el apartado 5.2.2.7., sobre la dirección %MW1610 que

llamaremos buffer de salida de almacén, y en esta acción continua, las

recogeremos para integrarlas a la tabla del pedido correspondiente,

borrándolas a continuación del buffer de salida para que pueda ser usado

de nuevo. Además se lanza la SR30 para indicarle al SCADA que uno de

los pedidos de memoria ha sido modificado. Las respuestas posibles de

cada estación están detalladas en el Anexo 5 apartado 1.3.

• En la acción al desactivar, se borran los bits de la acción continua asi

como devolvemos el control del almacén borrando el bit de

ejecutando_orden8 como se explica en el aparatado de comunicaciones

5.2.3.1.3.

10. Etapa %X8.13: Una vez que la pieza a sido colocada sobre la cinta

transportadora que la llevará hasta la posición de la estación 8, será misión

del robot cargarla sobre el palet. Al

término de este proyecto, dicho robot

no estaba colocado, con lo que debió

ser simulado su funcionamiento,

mediante un terminal Magelis. Esta

etapa, que debía ser la que ordenase al

robot, la carga de dicha pieza,

Memoria

Departamento de Informática e Ingeniería de Sistemas

174

simplemente es una esta de espera en la que se visualiza en el terminal

magelis que se va a proceder a la carga de la pieza 1.

11. Etapa %X8.14: Esta etapa debía ser la que esperase la contestación de

operación realizada correcta o defectuosamente por parte del robot de carga.

Sin embargo, será una etapa de espera en la que simularemos dicha

respuesta del robot, mediante un pulsador magelis, que activará un bit

llamado pieza1_en_palet, que será el que evolucione el grafcet.

• En la acción al desactivar, se marcará el bit %X3 de la memoria del

pedido correspondiente, indicando así que la pieza 1 ha sido cargada sobre

el palet. Esta codificación, está detallada en el apartado 5.2.1.2.2.

12. Etapa %X8.23: Cumple la misma misión que la etapa %X8.2 con la

excepción de la acción al desactivar. En esta acción es donde se compone la

información de la memoria correspondiente al pedido en cuestión sobre la

tabla principal de pedidos de la zona de expedición para su grabado en el

palet. Esta composición es necesaria por la no correspondencia de la

información residente en memoria con la que se graba en el palet. Además

una función añadida es avisara al terminal SCADA a través de la SR30 de

que la información de alguna de las tablas de pedidos ha sido modificada.

13. Etapa %X8.24: La etapa %X8.24, escribe la información de la operación

en el palet. Esta etapa tiene 1 transición:

• La que nos lleva a la etapa %X8.29, que se activa cuando la escritura

finaliza correctamente.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR5 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

175

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo, y se borran

los bits de la acción continua.

14. Etapa %X8.29: Se realiza una lectura de comprobación de la información.

Tenemos 5 transiciones posibles:

• La que nos lleva a la etapa %X8.24, se activa cuando la comprobación de

la información no coincide.

• La que nos lleva a la etapa %X8.31, o a la secuencia del grafcet de

alarmas si ha ocurrido algún fallo bien en la escritura, bien en las

comprobaciones.

• Una transición hacia la etapa %X8.20

que se activa cuando las piezas 2 y 3 o

ya están cargadas sobre el palet o no se

encuentran disponibles, así se inicia la

secuencia de liberación del

transbordador.

• Una transición hacia la etapa %X8.34

que se activa cuando la pieza 2 o ya

está cargada sobre el palet o no se

encuentra disponible pero la 3 no está

cargada y si disponible.

• Una transición hacia la etapa %X8.33

que se activa cuando la pieza 2 no está

cargada sobre el palet y se encuentra

disponible.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los

bits que se usan en la acción

continua, invocamos a la SR4 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

Memoria

Departamento de Informática e Ingeniería de Sistemas

176

y que se detallan en el Anexo 4 apartado 1.5.1 a través de la SR36 y se

comprueba, además si la operación de comprobación ha resultado exitosa

en alguno de los dos intentos mediante la SR37 que se explicará en su

apartado.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo o por

operación defectuosa, es decir que la información comparada no se

corresponda entre sí. Se borran los bits de la acción continua en ambos

casos.

15. Etapa %X8.33: Esta etapa es similar a la etapa %X8.4, es decir, solicita

mediante la activación del bit petición_ejecutar_orden8, el acceso al recurso

de almacén para encargar una nueva pieza. El grafcet evoluciona cuando se

le concede dicho permiso, a través de la marca ejecutando_orden8.

16. Etapas %X8.15 y %X8.16: Son dos etapas equivalentes a las etapas %x8.5

y %X8.12 que solicitaban a almacén la pieza 1 pero para la pieza 2. Las

transiciones de salida de la etapa %X8.16, son las mismas que para la etapa

%X8.12 solo que ahora hay 3 en lugar de 4 debido a que la pieza 1 ya ha

sido colocada o se ha desechado su parte del grafcet.

17. Etapas %X8.17, %X8.18 y %X8.25: Son tres etapas equivalentes a las

etapas %x8.13, %X8.14 y %X8.23 que debían ser las encargadas de

ordenar al robot que cargase la pieza

en el palet pero que deberán ser

simuladas por un terminal magelis.

Igual que en el caso anterior

aparecerá una imagen en la magelis

indicando la pieza que se está

cargando. En la acción al desactivar

de la etapa %X8.18 es donde, igual

que en el caso anterior, se marca el bit correspondiente a la carga de la pieza

2, el %X4, en la tabla de pedido correspondiente residente en la memoria.

En esta misma acción, se indica al SCADA que una de las tablas de pedidos

ha sido modificada. La transición de salida de la etapa %X8.25, es la misma

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

177

que para la etapa %X8.23, es decir, que se conceda el permiso de acceso al

interface de comunicación con el cabezal de escritura. En la acción al

desactivar de la etapa %X8.18 es donde, igual que en el caso anterior, se

recompone la información que debe ser grabada en el palet sobre la tabla

principal de pedidos de la zona de expedición.

18. Etapas %X8.26, %X8.28 y %X8.34: Son las etapas equivalentes a las

%X8.24, %X8.29 y %X8.33, es decir, la escritura de la operación en el

palet, la lectura de comprobación de dicha escritura, y la etapa que solicita

el permiso de acceso al almacén para la extracción de la última pieza,

respectivamente. Las transiciones de salida de la etapa %X8.34, son

análogas a las de la etapa %X8.33, pero con la comprobación únicamente de

la situación del almacén respecto de la pieza 3.

19. Etapas %X8.19, %X8.6, %X8.7, %X8.8, %X8.22, %8.10 y %X8.27:

Son la secuencia equivalente a

cualquiera de las otras dos

explicadas pero para la última

pieza. Corresponden a la orden de

extracción de la pieza 3 de

almacén, la respuesta de dicho

almacén, la que debería ser la

etapa petición de montado de la

pieza sobre el palet al robot, la de

respuesta de éste, la petición al

sistema del acceso a la escritura, y

las dos etapas de escritura primero y

lectura de comprobación después,

respectivamente. Llegados a este

punto las 4 transiciones de salida

son equivalente a cualquiera de las de salidas de las etapas %X8.29 y

%X8.28 para las piezas 1 y 2, es decir, una a la secuencia de alarmas,

%X8.31, otra a la etapa %X8.20 de liberación del palet, otra a la etapa

anterior de escritura, si ha sido defectuosa y otra a la etapa siguiente. Ésta

Memoria

Departamento de Informática e Ingeniería de Sistemas

178

última es el único cambio en este caso respecto de los anteriores. Ahora,

antes de liberar el palet, se comprueba si alguna de las piezas que puedan

faltar de cargar, ha sido producida en el tiempo en que se han cargado las

otras. En este caso, se retornará a la etapa %X8.4 y se volverá a ejecutar el

grafcet para las posibles nuevas piezas.

20. Etapas %X8.20 y %X8.21: Etapas temporizadas a medio segundo.

21. Etapa %X8.9: Etapa que espera a que el palet de la estación salga de ella y

el sensor inductivo nos de un pulso de bajada.

22. Etapa %X8.11: Es una etapa de espera que da el tiempo suficiente para

que el palet que se encontraba en la estación, salga de ella y el que pueda

venir después todavía no halla llegado. Si esta temporización no es la

correcta el tope subirá cuando el primer palet todavía no haya salido ó

cuando en segundo palet ya haya sobrepasado el punto donde debe quedar

estacionado.

5.2.2.10.2. Alarmas

23. Etapa %X8.31: Esta etapa es la primera de las dos que componen el ciclo

de señalizado de las alarmas y es una etapa temporizada a 6 segundos que lo

único que hace es avisar, mediante la activación intermitente del

enclavamiento de la estación, de que ha ocurrido una alarma en la máquina.

Esta activación intermitente se consigue añadiendo como condición de

activación del enclavamiento un bit de sistema, el %S6, que cambia de

forma intermitente cada segundo.

24. Etapa %X8.32: Esta es la segunda y última etapa de la secuencia de

alarmas. En ella se espera 10 segundos para que el operario pueda visualizar

la alarma y después se pasará a liberar el palet. Al término de este proyecto

esa es la única gestión que se realiza de las alarmas, su visualización, pero

puede implementarse muy fácilmente que la salida de esta etapa no se

produzca hasta que el operario pulse algún tipo de rearme después de haber

solucionado el problema.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

179

5.2.2.11. La macroetapa de la estación 5

Esta macroetapa está encargada de gestionar lo que sería un hipotético muelle de

carga y descarga de pedidos fabricados hacia el exterior. Estos pedidos serían servidos

desde el almacén de la estación 7 requeridos por un terminal SCADA, y montados en

otro medio de transporte externo por un robot. Aunque el número de la macroetapa sea

el 5, la numeración dad al puesto concreto donde se supene está el muelle de carga y

descarga es el 9.

5.2.2.11.1. Etapas de ejecución normal

En el grafcet de la sección 5.2.1.7.-126 del Anexo 6, tenemos las etapas que vamos

a comentar en los puntos posteriores y su función, como se anota directamente sobre el

propio grafcet, será la siguiente:

1. Etapa IN: En la etapa IN se permanece en espera durante 1 segundo.

• Tiene dos transiciones, la que va a la etapa OUT nunca se cumple porque

es un FALSE y la que va a la etapa %X5.0 es un simple contador de un

segundo.

2. Etapa %X5.0: Etapa que espera la llegada de un palet;

• Tiene tres transiciones, una va a la siguiente etapa, %X5.1 que se cumplirá

en cuanto llegue un palet si no están todos los pedidos ya completados,

otra que se vuelve sobre sí misma cuando están todos los pedidos

completos y no hay palet en la estación, y, por último la que se dirige a la

etapa %X5.7 cuando están todos los pedidos completos pero hay un palet

en la estación. Estas dos últimas transiciones se hacen porque cuando

todos los pedidos se han completado, las cintas se paran, pero sólo deben

pararse cuando no haya palet en ninguna estación ya que si lo hay podría

efectuarse alguna operación sobre él que no debiese. Por esto, se le da una

salida a la etapa de liberar palet %X5.7 mientras esté en la estación y no se

permite la evolución del grafcet si no hay ningún palet en dicha máquina.

Memoria

Departamento de Informática e Ingeniería de Sistemas

180

• En la acción al activar de esta etapa, se borra el puntero que nos servirá

para acceder a la memoria de la pieza cuando, al leer un palet con

información, resulte ser un pedido sin terminar.

3. Etapa %X5.1: Esta etapa ya ha detectado un palet y espera a que toque el

tope. La transición que sucede a esta etapa es:

• La que continúa la evolución normal que se activará pase 1 segundo desde

la activación de la etapa.

4. Etapa %X5.2: Esta es una de las etapas importantes del grafcet de

comunicaciones. Es aquí donde se lanza la petición para la comunicación

con los módulos interfaces de los cabezales de lectura-escritura y para la

modificación de la tabla principal de lectura y escritura de los palets de la

zona de expedición, y solo de permite la evolución del grafcet cuando el

sistema ha concedido dichos permisos y la estación 9 está comunicando y

escribiendo. Esta petición será independiente de la que se hacía en todos los

grafcets anteriores pertenecientes a la zona de fabricación pues se dispone

de dos interfaces distintos para cada zona. La explicación de cómo se

adjudican estos permisos de lectura o escritura se hará en el apartado

5.2.3.1.

Esta macroetapa no requiere la modificación del buffer de salida de la

escritura de los palets en la zona de expedición que se encuentra en las

palabras %MW1650-%MW1693, como ocurría con la macroetapa 7 pero

como se encuentra dentro de las posibles estaciones que acceden a dicho

recurso, también debe recibir dicho permiso.

• La única transición de salida es la que continúa la evolución normal que se

activará cuando el sistema conceda el permiso de acceso tanto al interface

de comunicación como a la modificación de la tabla principal de lectura y

escritura de la zona de expedición.

En cuanto a las operaciones en las acciones de la etapa:

• En la acción al activar de esta etapa, se solicitan los accesos a la

modificación de la tabla principal de pedidos y al recurso del interface de

lectura.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

181

5. Etapa %X5.13: En esta etapa se realiza la primera lectura del palet. Las

acciones desarrolladas en cada uno de sus puntos se puede consultar en la

sección 5.2.1.7. –130, 131 del Anexo 6 y se explicarán en la siguiente etapa.

• Tiene dos transiciones, si se activa la que lleva a la etapa %X5.15,

significa que ha transcurrido demasiado tiempo en la lectura y por lo tanto,

ha habido algún tipo de error y saltará alarma por máximo tiempo de

operación, mientras que la que lleva a la siguiente etapa se cumplirá

cuando la operación en los términos del interface, sea correcta y hayan

pasado 2,5 segundos.

6. Etapa %X5.3: En la acción al activar de esta etapa, se realiza la lectura de

comprobación, mientras que en la acción continua, se desarrollarán todas las

operaciones detalladas en el punto H del apartado 5.2.2.3.1. Esta etapa tiene

4 transiciones:

• La transición hacia la etapa %X5.13, se activará cuando la primera

comparación de la información obtenida en ambas lecturas sea incorrecta

pero no la segunda comparación que ya nos daría una alarma de operación

defectuosa.

• La transición hacia la etapa %X5.15, es la correspondiente a todos los

casos de alarmas posibles; los dos intentos de lectura han fracasado o se ha

superado el tiempo máximo de 10 segundos de la operación.

• La transición hacia la etapa %X5.7, se activará si no se ha producido

ninguno de los casos de emergencia pero, sobre la mercancía, no es

necesario realizar ninguna operación porque no es un pedido destinado a

salir de almacén.

• Por último, la transición hacia la etapa %X5.10, será la que se active en el

caso normal de producción, es decir, no ha habido emergencias y ha de

realizarse la extracción del palet.

En cuanto a las acciones realizadas en esta etapa, vamos a explicarlas

detalladamente. El código que se incluye en cada una de ellas se puede consultar en la

sección 5.2.1.7. –131, 132,133 del Anexo 6 y será el mismo prácticamente que el de la

tapa %X5.13.

• En la acción al activar, se borran todos los bits que se utilizarán en las

acciones continuas para las comprobaciones de la información y de las

Memoria

Departamento de Informática e Ingeniería de Sistemas

182

alarmas, y se invocará a las subrutinas correspondientes de lectura del

palet SR4 ó SR5 dependiendo de a que tabla de memoria volcaremos la

información y que será explicadas en sus correspondientes apartados, para,

seguidamente, realizar una instrucción OUT_IN_CHAR.

• En la acción continua, se invoca a subrutina SR36, que comprobará que la

lectura haya sido correcta con las opciones que se explicarán en sus

secciones, y, en la etapa %X5.3, además, se llama a la subrutina SR35 que

será la que nos reconocerá si el doble ciclo de lectura y lectura de

comprobación ha fallado o no. En este último caso, en la acción continua y

una vez que se ha decidido que la operación ha sido correcta, evaluamos la

información leída del palet para averiguar si es necesario hacerle algún

tipo de operación o no. En este caso testeamos la palabra de la tabla

principal de lectura %MW1685 y cada uno de sus bits que codifican todas

las operaciones realizadas sobre el palet como se muestra en la tabla de los

bits en el apartado 5.2.1.2.2. De esta forma sabemos que operaciones le

han sido realizadas a la mercancía y marcamos un bit que nos activará una

de las transiciones.

• En la acción al desactivar, se borran los bits que se han usado en la acción

continua, y se devuelve el control de las comunicaciones borrando el bit

estación_9_comunicando y del bit estacion_9_escribiendo, en el caso de

que se active cualquier transición excepto la que nos lleva a la etapa

%X5.13 nuevamente.

7. Etapa %X5.10: En esta etapa se espera a que la estación 9 se encuentre en

automático integrado. En esta etapa tenemos 2 transiciones:

• La transición que lleva a la etapa %X5.7, se activa cuando se ha rebasado

el tiempo de espera de 3 minutos.

• La transición a la etapa siguiente se activa cuando la estación se encuentra

en automático integrado y el palet que ha llegado es un palet con pedido

completo.

Esta última etapa debería estar condicionada por el bit de actividad que es un bit que

debe cambiar de estado cada cierto tiempo, indicando al sistema que la estación está

funcionando correctamente.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

183

8. Etapa %X5.4: Es en esta etapa donde se debería realizar la transmisión de

la operación a la estación 9 por medio de una palabra de la tabla compartida,

que no está detallada en el Anexo 5 apartado 1.3 con las demás pues al

término de este proyecto todavía no se había colocado el robot que iba a

hacer estas funciones y no se sabía exactamente cómo se iba a realizar la

comunicación con él. Únicamente tiene una transición que se activará en el

momento en que se detecte un flanco ascendente de un bit asociado a la

confirmación de orden recibida que se simula con un terminal Magelis.

En relación a las operaciones en las acciones:

• En la acción al activar, se enviaría la orden de producción a la estación 9

pero que ahora únicamente simularemos que el robot contesta sacando un

mensaje en la pantalla de la magelis.

• En la acción continua, la estación respondería con un reconocimiento de la

orden, un 9 en la palabra %MWxxx, y borraría la orden que le escribió en

la acción al activar, además de marcar el bit que nos activaría la transición

a la siguiente etapa.

• En la acción al desactivar, se

borran los bits de la acción

continua.

9. Etapa %X5.5: En esta etapa el

sistema espera que la estación 9

termine de realizar la operación

que se le ha encomendado. Sólo

tiene una transición que se

cumplirá cuando se active un bit

asociado a la respuesta de la

estación en este caso forzada por

Magelis.

En relación a las operaciones en las

acciones:

• En la acción al activar, se borran

los bits de la acción continua.

Memoria

Departamento de Informática e Ingeniería de Sistemas

184

• En la acción continua, se saca una imagen en la pantalla Magelis que pone

DESCARGANDO para decir que el robot está realizando la operación.

• En la acción al desactivar, se borran los bits de la acción continua.

10. Etapa %X5.12: Cumple la misma misión que la etapa %X5.2 con la

excepción de la acción al desactivar. En esta acción es donde se borra la

memoria del palet y se descuenta 1 de los pedidos que se han solicitado

extraer que pueden haber sido más de uno.

11. Etapa %X5.6: La etapa %X5.6, escribe la información de la operación en

el palet. Esta etapa tiene 2 transiciones:

• La que nos lleva a la etapa %X5.15, que se activa cuando la escritura

sobrepasa el máximo tiempo permitido y nos devolverá una alarma por es

máximo tiempo.

• La que nos lleva a la etapa %X5.14, que se activa cuando la escritura

finaliza correctamente.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR5 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo, y se borran

los bits de la acción continua.

12. Etapa %X5.14: Se realiza una lectura de comprobación de la información.

Tenemos 3 transiciones posibles:

• La que nos lleva a la etapa %X5.6, se activa cuando la comprobación de la

información no coincide.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

185

• La que nos lleva a la etapa %X5.15, o a la secuencia del grafcet de

alarmas si ha ocurrido algún fallo bien en la escritura, bien en las

comprobaciones.

• La que continúa la secuencia del grafcet, que se activa cuando el proceso

de escritura-lectura ha sido el correcto, y no se cumplen las condiciones

de emergencia.

En relación a las operaciones en las acciones:

• En la acción al activar, borramos los bits que se usan en la acción

continua, invocamos a la SR4 para el cálculo del check sum de la

comunicación que se explicará en su apartado, y se lanza una instrucción

OUT_IN_CHAR.

• En la acción continua, se comprueba que la operación de escritura haya

sido correcta mediante los errores que nos ofrece la respuesta del interface

y que se detallan en el Anexo 4 apartado 1.5.1 a través de la SR36 y se

comprueba, además si la operación de comprobación ha resultado exitosa

en alguno de los dos intentos mediante la SR37 que se explicará en su

apartado.

• En la acción al desactivar, se devuelve el control de las comunicaciones y

se lanza una alarma si la salida se realiza por máximo tiempo o por

operación defectuosa, es decir que la información comparada no se

corresponda entre sí. Se borran los bits de la acción continua en ambos

casos.

13. Etapas %X5.7 y %X5.8: Etapas temporizadas a medio segundo.

14. Etapa %X5.9: Etapa que espera a que el palet de la estación salga de ella y

el sensor inductivo nos de un pulso de bajada.

15. Etapa %X5.11: Es una etapa de espera que da el tiempo suficiente para

que el palet que se encontraba en la estación, salga de ella y el que pueda

venir después todavía no halla llegado. Si esta temporización no es la

correcta el tope subirá cuando el primer palet todavía no haya salido ó

cuando en segundo palet ya haya sobrepasado el punto donde debe quedar

estacionado.

Memoria

Departamento de Informática e Ingeniería de Sistemas

186

5.2.2.11.2. Alarmas

16. Etapa %X5.15: Esta etapa es la primera de las dos que componen el ciclo

de señalizado de las alarmas y es una etapa temporizada a 6 segundos que lo

único que hace es avisar, mediante la activación intermitente del

enclavamiento de la estación, de que ha ocurrido una alarma en la máquina.

Esta activación intermitente se consigue añadiendo como condición de

activación del enclavamiento un bit de sistema, el %S6, que cambia de

forma intermitente cada segundo.

17. Etapa %X5.16: Esta es la segunda y última etapa de la secuencia de

alarmas. En ella se espera 10 segundos para que el operario pueda visualizar

la alarma y después se pasará a liberar el palet. Al término de este proyecto

esa es la única gestión que se realiza de las alarmas, su visualización, pero

puede implementarse muy fácilmente que la salida de esta etapa no se

produzca hasta que el operario pulse algún tipo de rearme después de haber

solucionado el problema.

5.2.3. Las secciones: Datos que deben controlarse cada

ciclo

5.2.3.1. Comunicaciones

El principio fundamental de la gestión de todas las funciones encargadas de

conceder los accesos a los distintos recursos compartidos es el mismo y es muy sencillo

de entender.

Debemos decir que los recursos compartidos y, por lo tanto, los distintos permisos a

gestionar son cuatro.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

187

5.2.3.1.1. Comunicación por medio del interface del

transporte de la zona de fabricación

Este recurso hace referencia a las 4 estaciones de la zona de fabricación que deben

acceder a sus cabezales de lectura y escritura de los palets a través de un solo módulo

interface.

El sistema de permisos funciona de la siguiente forma:

1. Una de las 4 estaciones, o varias, pues puede darse el caso, necesitan

acceder al palet situado en su máquina. Entonces, en la acción al activar de

una etapa, se marca un bit, distinto para cada estación, llamado

petición_estación_x donde x es el número de estación y permanece en

espera de la contestación. Este es el caso de las etapas %X1.2, %X1.6,

%X1.11, %X1.22, %X1.26, %X2.2, %X2.12, %X2.14, %X3.2, %X3.12,

%X4.2 y %X4.13.

2. El sistema recibe la petición de acceso a través del chequeo en cada ciclo de

la sección de comunicaciones y ejecuta la sentencia 1 cuyo código se detalla

en la sección 5.2.1.2. –1 Anexo 6.

3. Como se observa en el código primero se comprueba si la estación 1 ha

lanzado una petición y si no existe ninguna petición en marcha. Si esto se

cumple entonces se borra el bit de la petición y se activa el bit

Estación_1_comunicando, que será el bit que indique que la estación 1 tiene

el control de las comunicaciones, y por lo tanto será la condición que nos

activará la transición para acceder a la lectura o escritura. Mientras este bit

esté a 1 ninguna otra petición será atendida, con lo que deberá ser borrado

por el grafcet de la estación 1 cuando deje libre el recurso.

4. En caso de que la estación 1 no haya lanzado ninguna petición se

comprobará si lo ha hecho la estación 2. Si lo ha hecho se repetirá el ciclo

descrito para la estción 1 pero con el bit Estación_2_comunicando y sino lo

mismo para la estación 3 y la 4.

5. Tal como está hecho el código, la estación 1 tendrá prioridad sobre la 2, la 3

y la 4, la 2 lo tendrá sobre la 3 y la 4 y la 3 sólo sobre la 4. Esta no es la

Memoria

Departamento de Informática e Ingeniería de Sistemas

188

forma más eficiente de hacerlo pues debería hacerse con una pila de

llamadas en que se almacenasen las llamadas por orden de recepción. Sin

embargo se ha elegido esta forma pues la implementación es mucho más

sencilla y el tiempo de lectura o escritura, unos 1,5 segundos, en muy

pequeño en relación con lo que tarda cada estación en realizar una operación

y no se corre el riesgo de que siempre comunicase la estación 1 por tener

mayor prioridad retrasando mucho las operaciones de las demás. Esto

únicamente introduce unos pequeños retrasos que no influyen en la

producción.

Tal y como se ha explicado este caso referente a las comunicaciones de las

estaciones de la zona de fabricación, están implementados todos los demás recursos

compartidos. Todos ellos tienen un bit que solicita el acceso al recurso y un bit que el

sistema marca a uno cuando concede el recurso a una u otra estación borrando al mismo

tiempo (en realidad justo después) el bit de la petición. El grafcet que ha lanzado la

petición deberá liberar el recurso cuando no lo utilice, borrando el bit que el sistema le

marca, para que de nuevo vuelva el control al sistema gestor para volver a evaluar las

peticiones.

5.2.3.1.2. Comunicación por medio del interface del

transporte de la zona de expedición

Este recurso hace referencia a las 4 estaciones de la zona de expedición que deben

acceder a sus cabezales de lectura y escritura de los palets a través de un solo módulo

interface.

El sistema de permisos funciona de la misma forma que el de la zona de fabricación:

1. Una de las 4 estaciones, o varias, pues puede darse el caso, necesitan

acceder al palet situado en su máquina. Entonces, en la acción al activar de

una etapa, se marca un bit, distinto para cada estación, llamado

petición_estación_x donde x es el número de estación y permanece en

espera de la contestación. Este es el caso de las etapas %X6.2, %X6.12,

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

189

%X6.14, %X6.22, %X6.26, %X7.2, %X7.12, %X8.2, %X8.22, %X8.23 y

%X8.25.

2. El sistema recibe la petición de acceso a través del chequeo en cada ciclo de

la sección de comunicaciones y ejecuta la sentencia 2 cuyo código se detalla

en la sección 5.2.1.2. –1 Anexo 6.

3. Como se observa en el código primero se comprueba si la estación 6 ha

lanzado una petición y si no existe ninguna petición en marcha. Si esto se

cumple entonces se borra el bit de la petición y se activa el bit

Estación_6_comunicando, que será el bit que indique que la estación 6 tiene

el control de las comunicaciones, y por lo tanto será la condición que nos

activará la transición para acceder a la lectura o escritura. Mientras este bit

esté a 1 ninguna otra petición será atendida, con lo que deberá ser borrado

por el grafcet de la estación 6 cuando deje libre el recurso.

4. En caso de que la estación 6 no haya lanzado ninguna petición se

comprobará si lo ha hecho la estación 7. Si lo ha hecho se repetirá el ciclo

descrito para la estación 6 pero con el bit Estación_7_comunicando y sino lo

mismo para la estación 8 y la 9

5. Tal como está hecho el código, la estación 6 tendrá prioridad sobre la 7, la 8

y la 9, la 7 lo tendrá sobre la 8 y la 9 y la 8 sólo sobre la 9. Esta no es la

forma más eficiente de hacerlo pues debería hacerse con una pila de

llamadas en que se almacenasen las llamadas por orden de recepción. Sin

embargo se ha elegido esta forma pues la implementación es mucho más

sencilla y el tiempo de lectura o escritura, unos 2,5 segundos, en muy

pequeño en relación con lo que tarda cada estación en realizar una operación

y no se corre el riesgo de que siempre comunicase la estación 6 por tener

mayor prioridad retrasando mucho las operaciones de las demás. Esto

únicamente introduce unos pequeños retrasos que no influyen en la

producción.

Memoria

Departamento de Informática e Ingeniería de Sistemas

190

5.2.3.1.3. Control del acceso al almacén intermedio

desde las estaciones 4 y 8

En la sentencia 4 de la sección comunicaciones que se detalla en el apartado 5.2.1.2.

–2 Anexo 6, se observa un método similar a los comentados anteriormente solo que en

este caso solo son dos los que pueden acceder al recurso del almacén y se le da

prioridad al almacenado desde la cola de piezas que al desalmacenado desde el robot.

Esto se ha compensado un poco en las etapas desde las que se accede a dicho recurso

mediante las diferentes peticiones de ejecutar orden x, dandole un poco más de espera a

las etapas pertenecientes a la cola para que tenga más tiempo el robot de hacerse con el

control del almacén.

Las etapas desde las que se llama al almacén son la %X4.15 para la cola de piezas y

%X8.4, %X8.33 y %X8.34 para el robot.

5.2.3.1.4. Acceso a la modificación de la tabla de

escritura de los palets

Por último, en la sentencia 3 detallada en la sección 5.2.1.2. Anexo 6, se estructura

el acceso a la tabla principal de lectura escritura de la zona de expedición. Fue explicado

en el apartado 5.2.2.8.1. punto 4, la necesidad de este recurso compartido, y, como es

exclusivo de la zona de expedición, su gestión es idéntica a la que se realiza con la

comunicación del interface de esta zona, y se puede entender fácilmente estudiando el

código de la sección 5.2.1.2. –2 Anexo 6 y la explicación dada en el apartado 5.2.3.1.2.

El código de la última sentencia, la 6 de esta sección, es el encargado de activar los

grafcets de la página 1 de la macroetapa 9 que serán explicados en el apartado 5.3. El

centro del problema es que las cintas se activen secuencialmente cuando se active un

bit, encender cintas, que está duplicado par encender por separado las cintas de la zona

de piezas y de pedidos.

Estos bits se borran cuando se produce una emergencia tanto global como de los

transportes, cuando las piezas o los pedidos se han producido por completo, y cuando

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

191

no queda ningún palet en ninguna estación con lo que cuando las cintas paren los palets

se encontrarán en algún punto intermedio entre dos estaciones.

5.2.3.2. Gestión de piezas

1. En la sección de gestión de piezas, lo primero que se realiza es una

comprobación de las tablas de memoria de piezas para saber, por medio de

la activación de los bits piezaX_vacia cuales de ellas no tienen información.

Esto nos será muy útil en varias de las gestiones de piezas, ahorrándonos

entre otras cosas tiempo de ejecución del autómata. Para esta función, se

crea el bit pieza_vacia que estará a 1 si alguna de las tablas está vacía.

2. En la sentencia 2 de la sección de gestión de piezas, se agrupan los distintos

contadores de piezas que nos servirán en la estación 1 para comprobar que

clase de pieza debe fabricarse.

3. En la sentencia 3, se realiza un reajuste de los contadores de piezas en cola,

obligándolos a mantenerse siempre iguales o superiores a cero. Esto se hace

porque, en caso de realizar pruebas o prácticas con la cola de piezas, sin

estar dentro de la producción normal, se puede da el caso de que, al

almacenar una pieza de la cola de piezas, se descuenta de las mismas, pero

sin embargo, no se suma ninguna pieza a la cola, pues no se está

produciendo ninguna. Esta situación, nos encontramos con contadores

negativos de las piezas de la

cola, y, a la hora de sumar

todas las piezas en producción,

en almacén y en cola para no

producir más de las 16 piezas

máximas que caben en el

almacén, no encontramos

produciendo más piezas de las que caben, pues hemos empezado con un

contador negativo. Tras este reajuste de los contadores, en la misma

sentencia tenemos la condición que se debe cumplir para que el sistema

reconozca que se han producido todas las piezas que caben en almacén y,

Memoria

Departamento de Informática e Ingeniería de Sistemas

192

además, las piezas que se encuentran en producción sean cero, es decir, que

todas las piezas estén en la cola o en el almacén. Esto es, que la suma de las

piezas en producción, las del almacén y las de la cola sea 16. aquí, puede

verse la influencia de comenzar la producción con un contador negativo de

piezas en cola.

4. La sentencia 4 de esta sección, es un poco difícil de explicar. Hemos dicho

en la explicación de la macroetapa 8, que esta estación comprobaba si la

pieza que debía pedir a almacén estaba o no disponible. Esto no era del todo

cierto, pues quien comprueba el estado del almacén es quien tiene acceso a

él constantemente, o sea, el sistema gestor. Es aquí, donde se realiza la

comprobación de las piezas que necesita la estación 8. Cuando un palet llega

a la estación 8, es leído y se realiza la comprobación de la información de la

memoria del transportador y se busca el pedido en memoria.

En caso de que se halle en la memoria, el puntero

dirección_inicio_piezas8 apuntará al valor de la zona de memoria donde se

encuentra. Así, cuando dicho puntero deje de valer 0, quiere decir que

estamos sirviendo un pedido hacia la estación 8. En ese momento se

comprueba constantemente, si las piezas de que se compone dicho pedido,

están en almacén, marcando el bit piezaX_no_disponible en caso de que no

haya una pieza de ese tipo disponible. Estos son los bits que el sistema

utiliza para servir las piezas en el grafcet de la estación 8. Por el mismo

procedimiento, se gestionan los bit de palet8_con_piezaX comprobando los

bits X3, X4 y X5 de la palabra estado_del_pedido de la memoria

correspondiente a dicho pedido.

5. Por último, en la sentencia 5, se borrarán todas las tablas de memoria tanto

de piezas, como de pedidos, como de la cola de piezas, así como los

distintos contadores, en el caso de que, manualmente se requiera por medio

del bit borrar_tablas, o por medio de una inicialización total de la

producción.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

193

5.2.3.3. Gestión de pedidos

1. En la sección de gestión de pedidos, lo primero que se realiza es una

comprobación de las tablas de memoria de pedidos para saber, por medio de

la activación de los bits pedidoX_vacio, cuales de ellas no tienen

información. Esto nos será muy útil en varias de las gestiones de pedidos,

ahorrándonos entre otras cosas tiempo de ejecución del autómata. Para esta

función, se crea el bit pedido_vacio que estará a 1 si alguna de las tablas

está vacía y que será, además, el bit que utilizará el sistema SCADA, para

requerir al sistema que recoja un pedido que él ha escrito en las palabras de

la tabla de lanzamiento del pedidos ( %MW350-%MW358 ) explicada en el

apartado 5.2.1.2.1.

2. En la segunda parte de la sentencia 1 de esta sección, se realiza el testeo del

bit de pedido_vacio antes mencionado, y la lectura y volcado de la

información de la tabla de lanzamiento del pedido sobre la memoria del

autómata, en caso de detectar un flanco descendente de dicho bit, señal de

que SCADA o Magelis ha mandado un pedido.

3. La información recogida de la tabla de lanzamiento de pedido, es filtrada,

(simplemente se comprueba que estén todas las piezas y la base) por el

código explicado en el punto 1, para eliminar de memoria un pedido

incompleta o sin base.

4. Por último, en al sentencia 2 de esta sección se realiza la comprobación de

los pedidos que hay memoria y que han sido volcados y escritos en alguno

de los palet, a través del bit X15, de la palabra estado_del_pedido de cada

una de las tablas de pedidos en memoria. Estos bit de pedidoX_volcado nos

servirán para la gestión de la estación 6.

5.2.3.4. Gestión de Magelis

En esta sección se gestionan los permisos y funciones que realiza la Magelis táctil,

que está colgada en la tercera posición del bus Fipio como se observa en el apartado

3.3.1.2.

Memoria

Departamento de Informática e Ingeniería de Sistemas

194

5.2.3.5. Tabla compartida

En esta sección se realizan todas las asignaciones de las variables descritas en el

Anexo 5 de la tabla compartida sobre las direcciones correspondientes.

5.2.3.6. Alarmas

En el apartado 4.5. se detallan cuales son las principales alarmas que se han

implementado. Esta sección lo que hace es agrupar las alarmas del mismo tipo

convirtiéndola, normalmente en un solo bit de alarma más una palabra donde se escribe

la estación que ha provocado dicha alarma ó la tablas de memoria que no ha pasado

alguno de los controles y el volcado de los bits de alarmas sobre la tabla compartida.

1. Así, por ejemplo, en la primera sentencia, agrupamos, en el bit

pz_no_corresponde_est1 todos los bits de pzX_no_corresponde_est1 y lo

mismo con los bits de ese mismo tipo de alarma para el resto de las

estaciones.

Los bits pedido_no_corresponde_estX cumplen la misma función y se agrupan de la

misma forma que los de las piezas. Igual ocurre con los bits de piezas_no_localizadas y

pedidos_no_localizados.

2. La sentencia 2 lo que hace es la función, mencionada antes, de escribir en

una palabra el número de la tabla de memoria que ha provocado el fallo de

pz_no_corresponde_estX, o de pieza_no_localizada_estX.

3. La sentencia 3 es equivalente a la 2 con los pedidos.

4. La sentencia 4 agrupa las alarmas de los máximos tiempos realización de

una operación de lectura o escritura y loa máximos tiempos de espera para

automático integrado de las distintas estaciones pero esta vez devuelve una

palabra con el número de la estación que ha superado dicho tiempo, en la

zona de fabricación.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

195

5. La sentencia 5 es igual que la 4 pero para la zona de expedición.

6. Las demás sentencias agrupan todas las alarmas por estaciones y vuelcan las

alarmas sobre la tabla compartida.

5.2.4. Subrutinas

5.2.4.1. SR0 y SR37

Estas dos subrutinas son análogas

correspondiendo cada una de ellas a una

de las dos zonas de producción, la SR0

se refiere a la zona de fabricación,

mientras que la SR37 se refiere a la zona

de expedición.

Como sabemos, cada vez que se

realiza una operación de escritura sobre

uno de los palets, va seguida de una lectura. La comprobación de la información de la

escritura y la lectura, es realizada por estas subrutinas.

Si resulta correcta, se marca el bit escritura_correcta_tX y se borran los otros,

permitiendo la evolución del grafcet

que invocó estas subrutinas.

Si resulta fallida, se marca el bit

escritura_incorrecta_tX y se borran

los otros, y se procede a un nuevo

ciclo de escritura-lectura para volver

a invocar a estas subrutinas, con la

correspondiente comprobación.

Si la segunda comprobación también resultase fallida, se marca el bit

escritura_defectuosa_tX y se borran los otros, que activaría la transición que llevase a

Memoria

Departamento de Informática e Ingeniería de Sistemas

196

esa estación a la situación de alarma, devolviendo, además, en la palabra

estacion_en_alarma el número de la máquina que entrado en defecto.

Estas subrutinas son invocadas desde las acciones continuas de las etapas %X1.18,

%X1.19, %X1.28, %X2.18, %X2.19, %X3.18 y %X4.18, en el caso de la SR0, y desde

las acciones continuas de las etapas %X5.14, %X6.16, %X6.17, %X6.28, %X7.14,

%X8.27, %X8.28 y %X8.29, en el caso de la SR37.

5.2.4.2. SR 1

Es la subrutina encargada del volcado de todas las

variables importantes para el desarrollo de la

producción sobre la tabla compartida. Estas variables,

entradas, salidas, alarmas, etc, están detalladas en el

Anexo 5 apartado 1.2.

5.2.4.3. SR 2 y SR4

Estas dos subrutinas tienen una función análoga con la diferencia de que la SR2 está

referida a la zona de fabricación y la SR4 a la de expedición.

La función de ambas es la

generación de la secuencia de

bytes que deben lanzarse

desde el autómata al interface

de comunicación con los

cabezales para que éstos

realicen una lectura del palet

y vuelquen la información

sobre la tabla secundaria de

lectura de la zona

correspondiente. Para hacer

estas rutinas lo más flexible

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

197

posible, se dejaron como parámetros configurables el número de la cabeza de lectura

escritura que solicita el acceso al recurso, la dirección de inicio de escritura sobre el

palet que por defecto tomaremos la 00 y el número de bytes que queremos leer del palet.

Éstos serán los parámetros que deberán pasársele a la subrutina.

Como se describe en el apartado 1.3.1. del Anexo 3, la composición de la orden

debe realizarse en modo caracteres, lo que significa que los bytes deben contener la

información del código ASCII que corresponda a lo que queremos que signifique dicho

byte, Así por ejemplo, al ser una operación de lectura, la orden que debe colocarse en el

primer byte de la cadena que debe enviarse es una w cuyo código ASCII según la tabla

de códigos del apartado 1.6. del Anexo 3, es 77 en hexadecimal.

Otra información relevante que debe incluirse al final de la secuencia de datos

transmitidos justo antes del carácter fin de texto, es una suma de comprobación llamada

check sum que debe calcularse sumando los caracteres de todos los datos a transmitir,

como se explica en el apartado 1.4. del Anexo 3. Este punto fue uno de los puntos que

más problemas dio a la hora de programar, pues estos autómatas no tienen órdenes

específicas de suma de bytes sino solamente de palabras, y el cálculo del check sum

debe hacerse de los bytes uno a uno.

La solución más eficiente fue la siguiente:

1. Una vez que en las palabras que vamos a transmitir en las que está

contenida la orden, en el caso de la zona de fabricación serán las palabras

%MW1530-%MW1533, el número de la cabeza, la dirección de inicio de la

lectura y el número de bytes que vamos a leer, se inicia el cálculo del check

sum.

2. Para este cálculo, primero se sumarán los bytes bajos de las palabras

%MW1530-%MW1533. Esto se consigue haciendo una operación AND con

una palabra en la que el byte superior sea todo ceros, y el inferior todo unos,

consiguiendo, así, que la

suma de los bytes altos

sea cero. Ya tenemos la

Memoria

Departamento de Informática e Ingeniería de Sistemas

198

mitad de la suma.

3. La suma de los bytes altos, se realiza en tres fases:

• Se realiza una operación SWAP que intercambia entre sí, los bytes altos

por los bajos y viceversa.

• Se vuelve a realizar la misma suma que para los bytes bajos anteriores con

los nuevos bytes bajos que son en realidad los bytes altos, añadiéndole el

resultado a la suma anterior. Ya hemos conseguido la suma de todos los

bytes

• Volvemos a efectuar la operación SWAP para dejar la secuencia de los

bytes tal como

estaba.

4. Por último, se añade al final el carácter fin de texto.

Estas subrutinas son llamadas desde las acciones al activar de las etapas %X1.17,

%X1.18, %X1.19, %X1.23, %X1.28, %X2.17, %X2.18, %X2.19, %X3.17, %X3.18,

%X4.17 y %X4.18, en el caso de la SR2, y %X5.13, %X5.14, %X6.15, %X6.16,

%X6.17, %X6.23, %X7.13, %X7.14, %X8.27, %X8.28, %X8.29 y %X8.30, en el caso

de la SR4.

5.2.4.4. SR 3 y SR5

Estas subrutinas son muy parecidas a las SR2 y SR4 del apartado anterior. Están

divididas en dos partes en las que la primera realiza una operación de lectura y la

segunda realiza la operación de escritura. En este caso ambas operaciones se realizan

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

199

sobre la tabla principal de la zona de fabricación en el caso de la SR3 o de la zona de

expedición en el caso de la SR5.

A estas subrutinas deben pasárseles los mismos parámetros que a las subrutinas SR2

y SR4, y, además, un parámetro adicional que indicará a la SR3 o SR5 si debe realizar

una lectura o una escritura.

Por lo demás la operación del cálculo del check sum, se efectúa de la misma forma

que para el caso de las subrutinas SR2 y SR4 y que hemos detallado en el apartado

anterior.

Estas subrutinas son llamadas desde las acciones al activar de las etapas %X16,

%X1.3, %X1.8, %X1.12, %X1.24, %X2.3, %X2.6, %X2.15, %X3.3, %X3.6, %X4.3 y

%X4.6, en el caso de la SR3, y %X36, %X5.3, %X5.6, %X6.3, %X6.6, %X6.13,

%X6.24, %X6.27, %X7.3, %X7.6, %X8.3, %X8.10, %X8.24 y %X8.26, en el caso de

la SR5.

5.2.4.5. SR 4

Ver apartado 5.2.4.3.

5.2.4.6. SR 5

Ver apartado 5.2.4.4.

5.2.4.7. SR 6 y SR7

Estas dos subrutinas cumplen funciones complementarias entre sí.

La SR6 realiza el volcado y conversión de los datos desde la tabla de lectura

principal de las piezas a una de las tablas de lectura de las magelis explicadas en el

apartado 5.2.1.6. cuya dirección debe ser pasada a la subrutina en la palabra

puntero_tablas_magelis_t1. Esta SR es invocada desde la SR32.

Memoria

Departamento de Informática e Ingeniería de Sistemas

200

La SR7 realiza la operación contraria, es decir, cuando la magelis quiere escribir

sobre un palet, la información que debe transmitirse la deja en la tabla de escritura

magelis explicada en el apartado 5.2.1.7. y le indica al sistema que debe actualizar el

contenido del transbordador con dicha información. En ese momento el sistema recoge

la información y debe reconvertir los datos al formato que tiene en memoria del

autómata, función que realiza esta subrutina. Esta SR es llamada desde la acción al

activar de la etapa %X1.27.

1. SR6: El significado de los bytes altos y los bytes bajos de cada una de las

palabras de las tablas de piezas es distinto. Pero la magelis no puede acceder

por separado a los dos bytes que componen cada una de las palabras y, por

eso, deben separarse los datos contenidos en los bytes en palabras distintas.

Además de eso, las 5 primeras palabras de la zona de piezas, las

correspondientes a la fecha, deben ser convertidas a formato decimal pues el

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

201

formato BCD en el que están en memoria no es comprensible por la

magelis.

Estas son las operaciones que se van haciendo palabra por palabra para

componer al final la tabla que se explica en el apartado 5.2.1.6.

2. SR7: La función de esta subrutina es la contraria a la anterior y desde la

tabla de memoria explicada en el apartado 5.2.1.7. debe realizarse la

conversión contraria a una de las tablas de la memoria donde se encuentran

las piezas.

5.2.4.8. SR 7

Ver aparatado anterior.

5.2.4.9. SR 8, SR9 y SR10

Memoria

Departamento de Informática e Ingeniería de Sistemas

202

Estas subrutinas cumplen exactamente la misma función en distintas estaciones. Así,

la SR8 se refiere a la estación 6, la SR9 a la estación 7 y la SR10 a la estación 8.

Son llamadas desde las acciones al activar de las etapas %X6.12 y %X6.14 en el

caso de la SR8, en la etapa al activar de la etapa %X7.12 y la SR29 en el caso de la SR9

y las acciones al activar de las etapas %X8.22, %X8.23 y %X8.25 en el caso de la

SR10.

La función que cumplen es la de convertir la estructura de la tabla de un pedido

residente en memoria, en la estructura de la tabla de palabras que deben escribirse en el

palte, es decir, únicamente realizan el traslado de la información de un lugar a otro,

palabra a palabra. Los cambios que deben realizar, pueden seguirse comparando las

tablas de pedidos explicadas en el apartado 5.2.1.2.2. con la tabla de la memoria del

palet del apartado 5.2.1.4.3.

5.2.4.10. SR 9

Ver el apartado 5.2.4.9.

5.2.4.11. SR 10

Ver el apartado 5.2.4.9.

5.2.4.12. SR 11

Subrutina de borrado manual de los palets desde PL7. No es empleado en ningún

sitio, solo sirve para borrar un palet de forma manual desde la estación 1 o desde la 6, si

se desactivan los comentarios que la rodean en el preliminar.

5.2.4.13. SR12, SR13, SR14, SR15, SR16, SR17, SR 18,

SR19, SR20, SR21, SR22, SR23 y SR24

Todas estas subrutinas son parte de otro proyecto que se encarga de la gestión del

almacén intermedio y del control de lo motores paso a paso.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

203

5.2.4.14. SR 25

Esta subrutina es la encargada de decidir el tipo de pieza que debe producirse

cuando a la estación llega un palet vacío y el almacén todavía no está lleno. Es llamada

desde la acción continua de la etapa %X1.7.

El método que sigue la toma de la decisión del tipo de pieza es el siguiente:

1. Comprueba que el pedido no esté ya preparado, es decir, este bit de

pedido_preparado es un bit de apoyo para que este bucle solo se ejecute

hasta que se genere el pedido de la pieza.

2. Comprueba que no estén total las piezas ya en la cola o en almacén a través

del bit piezas_completas.

3. Comprueba que, faltando

alguna pieza por producir,

no se haya ya lanzado sobre

algún palet y esté en producción actualmente, por medio del bit

pedidos_ya_generados.

4. Si estas tres condiciones se cumplen, se borra la tabla principal de la zona de

fabricación, y se inicia el proceso de testeo de la situación de producción.

5. Se comprueba que la suma de las

piezas en almacén, en cola y en

producción sea menor que 15, si

es igual entonces se marca el bit

de pedidos_ya_generados.

6. Si no es igual a 15, y hay una tabla vacía en memoria donde volcar la

información de la nueva

pieza, y el número de piezas

en producción es menor que

5, entonces sobre las

Memoria

Departamento de Informática e Ingeniería de Sistemas

204

palabras que correspondan de la tabla principal de la zona de piezas,

recogemos la fecha y hora del autómata para indicar el inicio de la

producción de dicha pieza y el número de orden que le corresponde en la

secuencia de producción.

7. Después, mediante unas

sencillas comprobaciones de

la situación de almacén se

produce la decisión de la pieza_necesaria a producir, en función de la pieza

que menos stock tenga en dicho almacén.

8. Seguidamente, se escribe en la tabla principal de piezas, el código de la

pieza que se va a producir, y se aumenta el contador de piezas

correspondiente.

9. Por último, se le asigna a

dicha pieza una dirección

de las 5 posibles en la

memoria escribiendo en

el puntero

dirección_inicio_piezas1

la dirección de la tabla

asignada, y se incrementa

el contador de

producción que registra

el número de piezas

producidas.

5.2.4.15. SR 26

Esta subrutina no tiene otra misión que la de

actualizar la memoria de la pieza que se está

fabricando en la estación 1, cuando dicha máquina

responde que ha terminado la operación y la forma en

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

205

que lo ha hecho y es invocada desde la acción continua de la etapa %X1.10.

Si la operación ha sido correcta, se escribirá dicha operación sobre la palabra

correspondiente a la camisa de la tabla de la pieza en memoria, y además, en las

palabras del émbolo, el muelle y la culata, si la pieza que se está colocando en el palet,

es una pieza con tapa.

Si la operación ha sido defectuosa, se guarda en una palabra de memoria llamada

estado_camisa el número de veces que dicha operación ha sido fallida y se escribe en

memoria tanto del autómata como del palet, que la camisa sigue en producción y el

número de errores que se han cometido en esta operación.

5.2.4.16. SR 27

Esta subrutina es invocada desde las acciones continuas de las etapas %X1.3,

%X2.3, %X3.3 y %X4.3.

Su función consiste en averiguar el tipo de operación que debe realizarse sobre la

mercancía que marcha sobre el palet, y para ello, primeramente llama a la subrutina 34

y, una vez se ha comprobado que el palet lleva una información correcta, analiza los

datos recibidos en función de la estación que ha llamado a la subrutina, por lo tanto se le

debe pasar un parámetro que será la palabra

estacion_en_lectura_t1, que nos dará paso a

un bucle condicional u otro, y ene definitiva a

una decisión u otra.

Como decimos pues, en la sentencia 1 de la SR27, se activarán los bits de la

comprobación de la información en función de la estación que llame a la subrutina.

En la sentencia 2 de esta SR27, y si la comprobación de los datos nos ha dado que el

palet contiene una pieza a la que debe efectuársele alguna operación en la estación en

que se encuentra, palet_con_pedido_estX, se llama a la

subrutina SR33 pasándole como parámetro la palabra

Memoria

Departamento de Informática e Ingeniería de Sistemas

206

numero_de_pieza, donde se anota el número de la pieza que se quiere comprobar. Esta

subrutina se explica más tarde pero nos dice si la información de la pieza que hemos

leído en el palet coincide con la que tenemos en memoria de esa misma pieza. Si lo es,

se activará la transición correspondiente a la etapa normal de producción y si no, se

iniciará la secuencia de alarma del grafcet de la estación.

Por último, la

sentencia 3 de la SR27,

no comprueba si la

información que se ha

leído en el palet, es

encontrada en memoria,

activando la alarma

correspondiente en caso

de no encontrarla.

5.2.4.17. SR 28

Esta subrutina es una de las muchas que se lanzan en las acciones continuas de las

etapas que realizan lecturas de los palets para analizar el estado de la producción. En

esta caso es la información de un palet que haya llegado a la estación 7 y se invoca

desde la acción continua de la etapa %X7.3.

En la primera sentencia

se analizan los datos del

palet a través de los bits de

la palabra %MW1685,

estado_del_pedido, y se decide el

tipo de operación que debe

realizarse sobre él. La única

novedad está en esas instrucciones

WRITE_VAR que se transmiten a

la estación 7, que lo que hacen es

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

207

informar a ésta del estado físico del transportador, pues le hace falta para la gestión

interna de dicha estación, la transmisión de un 1 significa que el transbordador no tiene

placa metálica encima de él, y de un 2 que sí la tiene.

Una vez se ha realizado la comprobación de los datos, y se ha decidido que se trata

de un pedido para la estación7, se busca la tabla del pedido en la memoria del autómata,

a través de las 5 primeras palabras de la fecha y se llama a la SR31 para la

comprobación del resto de la información pasándole como parámetro la dirección de la

tabla que se supone que hemos encontrado en el análisis anterior. Tanto si no

encontramos un pedido que se corresponda en fecha y hora con el leído del palet, como

si el resto de la información tuviese algún campo de diferencia, se saltaría la alarma

correspondiente.

5.2.4.18. SR 29

A esta subrutina se la llama desde la acción al activar de la etapa %X7.4, y tiene

como función enviar, basándose en la información extraída del análisis de los datos del

palet efectuado en la subrutina anterior, la operación que se debe ejecutar sobre la

mercancía del palet. Tenemos varios casos:

1. El palet que ha llegado a la estación 7 no tiene placa metálica:

• Podemos emplearlo para sacar una placa metálica vacía sobre la que se

montará un pedido si haya alguno en memoria sin producir.

• O podemos emplearlo para sacar una placa metálica que ya lleva montado

un pedido completo que haya sido solicitado por el SCADA para dirigirlo

al muelle de descarga. Este último caso tiene mayor prioridad que el

primero. Si optamos

por esto último, no

nos queda otro

remedio si se ha

solicitado sacar un

pedido que obedecer, debemos recoger las 9 palabras que el SCADA nos

deposita en las palabras %MW360-%MW368 y enviarlas a la estación 7

Memoria

Departamento de Informática e Ingeniería de Sistemas

208

por medio de in WRITE_VAR. Después volcaremos sobre la tabla

compartida, %MW276, la orden que debe ser ejecutada: un 3, sacar

pedido.

Si optamos por el primer caso, únicamente debemos volcar sobre la

tabla compartida, %MW276,

la orden que debe ser

ejecutada: un 2, sacar placa vacía.

2. Si el palet contiene un pedido terminado y debe ser almacenado, se llama a

la subrutina SR9 que es la encargada de convertir la información de la

memoria del pedido que será almacenado, en la misma estructura de

palabras que la que forma la tabla de la memoria del palet descrita en el

apartado 5.2.1.3. Deberá poner las palabras de fecha y hora de producción

de la base almacenadas temporalmente en las correspondientes a la

finalización de producción, en su sitio y, después, recoger la información

perteneciente a dicha finalización del reloj del autómata y situarlas en las

palabras correspondientes. Posteriormente lanza la transmisión de la

información a la estación 7 por medio de un WRITE_VAR y, seguidamente,

la orden 1 en la palabra de tabla compartida %MW276, que significa

almacenar palet.

Después borrará los datos del pedido en memoria.

3. El último caso, es que llegue a la estación 7 un palet con una placa metálica

que procede de la descarga en el muelle de la estación 9, y deba realizarse el

almacenado de dicha placa vacía para que sea reutilizada para otro pedido.

El proceso es el mismo que para el punto 2 de almacenado de un pedido,

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

209

con la diferencia de que esta vez la información que se le manda a la

estación 7 por medio del WRITE_VAR, adjunta al palet, es todo ceros.

5.2.4.19. SR 30

Esta etapa tiene como misión indicar al

terminal SCADA por parte de la estación 7 que

alguna de las tablas de memoria donde se

gestionan los pedidos ha sido actualizada por las

operaciones que se han realizado por parte de la

máquina 7. Los bits que indican dicha

actualización son uno para cada una de las tablas

de pedidos, pedidoX_actualizado, y su gestión

consiste en el borrado de dicho bit y su inmediata activación, cuando se produce una

modificación de la tabla correspondiente. Este borrado para la posterior activación, tiene

como objetivo el avisar al SCADA de las operaciones realizadas pues, si sólo se

realizase el marcado, podría darse el caso de que el SCADA no viese dicha activación

por haber sido marcado anteriormente y al operario no le hubiese dado tiempo de

conformar la acción y borrar el bit. De esta forma, dado que el SCADA detecta el flanco

ascendente, cada vez que se borre y marque este bit, SCADA detectará la actualización

aunque al operario no le dé tiempo.

5.2.4.20. SR 31

Esta rutina realiza la comprobación de la información referente a un pedido en

memoria con la que se ha leído del palet. Cuando se realiza una lectura de un palet en la

zona de expedición, se busca el pedido grabado en éste entre los que se encuentran en

memoria, a través de las palabras de la fecha de petición del mismo.

Una vez se ha encontrado la zona de memoria del pedido, se procede a comprobar el

resto de la información, pero surge el problema de que no está estructurada de la misma

forma en la memoria del autómata y del transbordador. Este requiere el análisis de la

información palabra a palabra.

Memoria

Departamento de Informática e Ingeniería de Sistemas

210

Esta comprobación se

lleva a cabo en esta

subrutina, y puede seguirse

y entenderse, por medio de

la comparación de las

tablas descritas en los

apartados 5.2.1.2.2. y

5.2.1.3.

Esta subrutina se invoca

desde las acciones

continuas de las etapas

%X6.3, %X6.24 y %X8.3 y

desde la SR28.

5.2.4.21. SR 32 y SR36

Estas dos subrutinas son equivalentes con la diferencia de la SR32 se refiere a la

zona de fabricación y la SR36 a la de expedición.

Las funciones de estas subrutinas es algo complicada.

Ambas subrutinas están divididas en dos que realizan la misma función pero con la

única diferencia de la dirección de la tabla sobre la que se hacen las operaciones que

explicaremos. Así, en el

caso de la SR32, la primera

parte esta relacionada con

la tabla secundaria de la

zona de fabricación y la

segunda con la tabla

principal de la misma zona,

y en el caso de la SR36 la

primera parte se refiere a la

tabla principal de la zona de

expedición y la segunda

con la tabla secundaria de

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

211

la misma zona.

Las dos partes de cada subrutina realizan la misma función:

Cuando se lanza una lectura de un palet, el interface de comunicación con los

cabezales, nos devuelve la información que lee, pero también introduce al inicio de la

secuencia de la respuesta, información propia de la gestión de la comunicación como es

el tipo de orden que se le ha pedido al interface, y el estado de la comunicación, dato

que nos sirve para la comprobación de los errores que se hayan podido producir en el

intercambio. Además, también introduce un desplazamiento en los bytes de la respuesta,

pues la comunicación se realiza en modo caracteres, es decir, byte a byte, y no por

palabras, como se maneja el autómata.

Entonces, para que la información recibida pueda ser interpretada por el sistema,

debe ser recolocada por medio de un desplazamiento de un byte correspondiente a la

orden de comunicación y también debe hacerse otro desplazamiento posterior para

enviar el Status que es el tipo de error producido en la comunicación al final de la tabla.

La respuesta que proporciona el inteface se detalla en el apartado 1.3.1.2. del Anexo

3. y la configuración de la tabla de memoria que queremos alcanzar es la que se

describe en el apartado 5.2.1.4. donde la palabra orden almacena la orden de

comunicación y la palabra status almacena el tipo de error que se haya producido, que

guardará un 00 en ASCII ( código 3030 en hexadecimal ) en caso de no haber habido

error. De ahí, que se detalle dicha tabla en el apartado 5.2.1.4. en palabras y en bytes.

Una vez que se han realizado primero el desplazamiento de un byte hacia el final de

la tabla, el de la orden, y, después, el desplazamiento de una palabra también al final de

la tabla, la del Status, comprobamos esta última palabra que nos indicará sin error en

caso de que Status = 3030 Hx.

En el caso de la zona de fabricación, la SR32

tiene una función complementaria en la SR6, que

realiza un volcado de la información leída sobre

las tablas que transmiten la información al

terminal magelis.

Memoria

Departamento de Informática e Ingeniería de Sistemas

212

Los parámetros que deben pasársele a estas subrutinas son:

1. En el caso de la zona de fabricación, un bit, lectura_tabla1_t1, que nos

indicará la tabla sobre la que debe realizarse las operaciones explicadas, un

0 indica tabla secundaria, un 1 tabla principal, y otro bit, lectura_magelis,

que indica si debe realizarse el volcado de la información a la tabla magelis.

2. En el caso de la zona de expedición, un bit, lectura_tabla1_t2, que nos

indicará la tabla sobre la que debe realizarse las operaciones explicadas, un

0 indica tabla principal, un 1 tabla secundaria.

Estas subrutinas son invocadas desde las acciones continuas de las etapas %X1.3,

%X1.17, %X1.18, %X1.19, %X1.23, %X1.24, %X1.28, %X2.3, %X2.17, %X2.18,

%X2.19, %X3.3, %X3.17, %X3.18, %X4.3, %X4.17, %X4.18, en el caso de la SR32, y

desde las acciones continuas de las etapas %X5.3, %X5.13, %X5.14, %X6.3, %X6.15,

%X6.16, %X6.17, %X6.23, %X6.24, %X7.3, %X7.13, %X8.3, %X8.27, %X8.28,

%X8.29 y %X8.30, en el caso de la SR36.

5.2.4.22. SR 33

Esta subrutina

viene llamada por la

subrutina SR27, y su

función es comprobar

cual es la tabla de la

memoria de piezas que

se corresponde con la

información recibida de

la lectura del palet.

Recibe como dato el

numero_de_pieza

palabra que indica el

número de la tabla de

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

213

memoria que se está analizando en cada momento.

Primeramente realiza una comparación con las 5 primeras palabras de cada pieza

para localizar la que se corresponde con la del palet y asignar la dirección de memoria al

puntero correspondiente. Seguidamente se realiza la comprobación del resto de la

información y, por último, si ha habido algún fallo en las comprobaciones se marca el

bit correspondiente de pzX_no_corresponde_estX en función de la pieza que nos de el

fallo, y la estación que haya requerido la comprobación.

5.2.4.23. SR 34 y SR35

Estas dos subrutinas son análogas correspondiendo cada una de ellas a una de las

dos zonas de producción, la SR34 se refiere a la zona de fabricación, mientras que la

SR35 se refiere a la zona de expedición, y además son muy parecidas a las subrutinas

SR0 y SR37, solo que para las lecturas, y no para las escrituras.

Como sabemos, cada vez que se

realiza una operación de lectura

sobre uno de los palets, va seguida

de una lectura de comprobación. La

comprobación de la información de

la escritura y la lectura, es realizada

por estas subrutinas.

Si resulta correcta, se marca el

bit palet_correcto_tX y se borran los otros, permitiendo la evolución del grafcet que

invocó estas subrutinas.

Si resulta fallida, se marca el bit

operacion_incorrecta_tX y se borran los

otros, y se procede a un nuevo ciclo de

escritura-lectura para volver a invocar a

estas subrutinas, con la correspondiente

comprobación.

Memoria

Departamento de Informática e Ingeniería de Sistemas

214

Si la segunda comprobación también resultase fallida, se marca el bit

palet_defectuoso_tX y se borran los otros, que activaría la transición que llevase a esa

estación a la situación de emergencia, devolviendo, además, en la palabra

estacion_en_alarma el número de la máquina que entrado en defecto.

Estas subrutinas son invocadas desde la acción continua de la etapa %X1.24, y

desde la subrutina SR27, en el caso de la SR34, y desde las acciones continuas de las

etapas %X5.3, %X6.3, %X6.24, %X7.3 y %X8.3, en el caso de la SR35.

5.2.4.24. SR 35

Ver apartado anterior.

5.2.4.25. SR 36

Ver apartado 5.2.4.21.

5.2.4.26. SR37

Ver el apartado 5.2.4.1.

5.2.5. Post: Las respuestas del autómata

En esta zona de programación es donde se escriben las salidas del autómata en

función de las etapas activas en cada grafcet. Las salidas serán activadas mediante una

combinación de etapas que requieran de ciertas salidas.

Esto sucede así para todas las salidas exceptuando los enclavamientos y las cintas

que, además de las etapas requiere otras condiciones adicionales para que se activen.

1. En el caso de los

enclavamientos tanto de un

transporte como de otro, es

necesario que, además de las

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

215

etapas que requieran enclavar los palets, que se cumplan dos condiciones,

que las piezas no estén todas completas, y además que las cintas estén

encendidas, es decir, entre otras cosas, que no haya emergencias.

Otra condición que puede cumplirse es que se haya producido una alarma y se

activen los enclavamientos de esta estación para indicar al operario, que hay una

emergencia en dicha estación.

2. En el caso de las cintas, no

requieren de condiciones

adicionales sino que lo que ocurre

es que se activan únicamente a

través de los grafcet de encendido de cintas explicados en el apartado 5.3.

3. En el caso de las cintas

o de los

enclavamientos de la

zona de expedición, el

planteamiento es

análogo al de los correspondientes de la zona de fabricación pero las

condiciones de activación serán

mediante los bits de

pedidos_completos, o

encender_cintas_t2, o, en el caso de

las cintas, las etapas del grafcet de encendido de cintas correspondientes a la

zona de expedición.

5.3. Control del encendido de las cintas

El control del encendido de las cintas transportadoras es necesario realizarlo de

forma secuenciada, pues, por un mal dimensionamiento de las fuentes de alimentación

que la poner en funcionamiento, no pueden arrancar todas a la vez, ni siquiera las de un

mismo transporte. En el arranque de los motores de continua, se produce un

requerimiento de corriente que la fuente SIEMENS no puede suministrar.

Memoria

Departamento de Informática e Ingeniería de Sistemas

216

Por este motivo el arranque será secuenciado por

medio de los grafcet de la página 1 de la macroetapa 9,

y, además, será independiente el funcionamiento de las

cintas de la zona de fabricación respecto de las de la

zona de expedición.

Estos grafcet son equivalentes y pueden verse en la

sección 5.2.1.7. –28 del Anexo 6.

Su funcionamiento es como explicaremos

seguidamente.

1. Etapa %X9.0: Esta etapa espera a

evolucionar, a que el grafcet principal entre en la macroetapa 9, es decir, que

se haya establecido el modo de producción automático integrado, pues es

esa la condición de que se acceda a la macro 9 desde el chart, o, que se

active el bit encender_cintas. Es decir, como, introducción, las cintas se

encenderán cuando se rearme la máquina o en el primer ciclo de puesta en

marcha.

2. Etapa %X9.10: Etapa que enciende la cinta 1 y espera a que el pico de

corriente del motor de continua en el arranque, descienda. Con un segundo

es suficiente.

3. Etapa %X9.11: Enciende la segunda cinta. Este será el estado de cintas

funcionando por defecto. Si el grafcet está en esta etapa las dos cintas se

encontraran en marcha.

4. Etapa %X9.12: Esta etapa inicia la secuencia de parado de las cintas. Para

parar las cintas no es necesario hacerlo de forma secuenciada, pero si debe

tenerse en cuenta que puede darse la situación de que se requiera un

apagado de las cintas cuando un palet está saliendo de una estación, con lo

que debemos darle un pequeño margen de tiempo para que salga.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

217

Una vez se han apagado las cintas se permanecerá en el estado %X9.0, hasta que se

requiera un nuevo encendido. Es aquí donde tiene sentido el encendido de las cintas a

través del bit encender_cintas.

5.3.1. Gestión del bit de encendido de cintas

El bit encender_cintas, tanto el del transporte 1 como el del transporte 2, está

gestionado en la sección de comunicaciones en la sentencia 6. El código puede

examinarse en la sección 5.2.1.2. –3 del Anexo 6.

Vamos a describir las situaciones que requieren el apagado de las cintas y su puesta

en marcha de nuevo.

1. Cuando la célula se encuentra en su estado normal de funcionamiento, las

cintas se encuentran en movimiento. En el caso de que, bien las piezas bien

los pedidos terminen de fabricarse, las cintas correspondientes, iniciarán la

secuencia de parada. Pero no concluirán dicha secuencia hasta que todos los

palets de la zona hayan abandonado todas las estaciones y se encuentren en

alguna posición entre dos estaciones.

Esto es así para evitar que las

estaciones realicen alguna operación

sobre los palet que no deban. Es una

forma de seguridad.

Las cintas volverán a encenderse

en el momento en que se detecte que

una nueva pieza o pedido integrado al

sistema.

2. Otra situación en que dichos transportadores se detendrán, y esta vez de

forma inmediata, será por la pulsación de la seta de emergencia

correspondiente a dicho transporte. El encendido en este caso, se realizará

tras desenclavar la seta y el pulsado del botón de rearme del frontal de dicho

transporte.

Memoria

Departamento de Informática e Ingeniería de Sistemas

218

3. Por último, otra condición de encendido de cintas es la del inicio de la

secuencia de inicialización de toda la producción global, que se describe en

el apartado 4.7.

4. En el caso de las cintas de la zona de expedición de pedidos, nos

encontramos con otra condición de

encendido de las cintas. Ésta condición

es la de que el contador de los pedidos

que deben ser dirigidos hacía el muelle

de descarga o estación 9 y que se

encuentran sobre las cintas de

transporte, nos indique que todavía

permanece algún encargo circulando

por ellas. Hasta que dichos pedidos no

sean descargados en el muelle de la

estación 9, las cintas permanecerán

funcionando, aunque no haya ningún

pedido en memoria. Este contador es incrementado por la estación 7 cuando

coloca una placa metálica con un pedido completo sobre ella, y

decrementado por la estación 9 cuando realiza la descarga de dicho pedido,

etapa %X5.12P0.

5.4. Las tablas de animación.

Las tablas de animación son una herramienta muy útil para ver el estado de las

variables en cada momento.

Pueden crearse cuantas tablas se quieran y del tipo de variables que se desee, y en

modo conectado, en esas tablas aparecerá el estado o contenido de las variables que se

han incluido en la tabla de animación. Esto es muy útil para visualizar el cambio de los

bits del sistema, o el contenido de las palabras.

Programa del Autómata

Automatización de una Célula de Fabricación Flexible

219

En el transcurso de este proyecto se han ido incorporando varias tablas de las que las

más útiles podrían ser las siguientes:

1. Dos tablas de alarmas una para cada una de las zonas de fabricación

2. Una tabla de la cola de piezas donde se incluyen las zonas de entrada de

datos al almacén y la salida de datos hacia la estación 8, y las palabras de la

cola propiamente dicha.

3. Una tabla de comunicaciones donde se pueden seguir las evoluciones de los

bits implicados en las comunicaciones con los cabezales de lectura y

escritura.

4. Una tabla de contadores donde se visualizan las piezas que existen de cada

tipo en la secuencia de producción.

5. Una tabla de las órdenes a las distintas estaciones para seguir la evolución

de dichas palabras y de las palabras que usan las máquinas para sacar sus

respuestas

6. Diez tablas para pedidos y piezas, una para cada pedido y una para cada

pieza, donde se muestran todos los datos de las tablas de memoria para la

comprobación de que se actualizan correctamente.

Memoria

Departamento de Informática e Ingeniería de Sistemas

220

7. Una tabla de petición del pedido donde aparecen reflejadas las palabras que

usa el SCADA y la magelis, tanto para lanzar un pedido a producción, como

para hacer una petición de extracción de un pedido del almacén.

8. Una tabla con los distintos punteros de las estaciones para ver en cada

momento a que zona de memoria apuntan y por lo tanto saber a que pieza o

pedido se están refiriendo.

9. Dos tablas de la zona de memoria de las tablas encargadas de las lecturas y

escrituras de los palets.

Conclusiones

Automatización de una Célula de Fabricación Flexible

i

CAPÍTULO 6. Conclusiones

A lo largo del desarrollo de este proyecto hemos podido sacar varias conclusiones

importantes que merece la pena comentar.

En principio, cuando iniciamos la toma de contacto con la célula, prácticamente

recién montada, nos dimos cuenta, a través de la colaboración con los maestros de taller,

de la labor minuciosa que lleva toda puesta en marcha de una máquina de dimensiones

importantes, y del trabajo que supone el simple cableado de los autómatas y demás

elementos con los que nos encontramos.

Este trabajo, podría decirse, a tan bajo nivel de hardware, nos hizo ver que no

siempre debemos fiarnos de algunas de las cosas que damos por supuestas o que pone

en los libros o manuales de usuario, pues, por ejemplo, encontramos que, el cableado de

los módulos de interface de comunicación, tenía muchos problemas cuya solución

debimos averiguar a base de muchas pruebas, ya que no se encontraron en las

documentaciones consultadas.

Más tarde, ya en materia de programación, se pudo confirmar esta lección, cuando,

en algunas de las cuestiones en las que ciertos elementos no debían fallar, a veces sí lo

hacían inexplicablemente, como fue el caso también de los elementos de las

comunicaciones, que nos perdía alguna de las órdenes que se le transmitían si se

lanzaban una detrás de otra. Debimos evitar el transmitir demasiado rápido, a pensar de

que se suponía que, si el interface había reaccionado mandando una respuesta de la

comunicación anterior, ya estaba preparado para recibir otra orden. Este problema se

solventó introduciendo unos tiempos de espera después de todas las operaciones de

lectura o escritura, a costa de ralentizar un poco la producción.

Una vez solucionados estos temas y entramos en lo que ha sido el punto central de

nuestro proyecto, la coordinación de las comunicaciones y la transmisión de datos en

tiempo real, también encontramos que la teoría, a veces, tampoco resultaba ajustarse a

los requerimientos reales.

En la gestión de las comunicaciones, se discutió la conveniencia de almacenar en un

registro tipo FIFO, todas las peticiones de las comunicaciones de las estaciones por

orden de lanzamiento. Evaluada la complejidad y la poca fiabilidad de este método

debido a que los autómatas de Telemecanique no se manejan bien con los registros

propios, y, comprobando que el retraso ocasionado por la introducción de unos

Memoria

Departamento de Informática e Ingeniería de Sistemas

ii

privilegios fijos a cada estación, no era relevante, se decidió optar por este último

metodo.

Así, la gestión de los permisos para acceder al recurso de la comunicación, se hace

de forma que la estación 1 tiene preferencia sobre las demás, la estación 2 tiene

preferencia sobre la 3 y la 4, y la máquina 3 tiene prioridad sobre la 4.

Esto puede llevar a pensar que la estación 4 podría no comunicar nunca, cosa que no

es así, ya que los tiempo invertidos en las comunicaciones son mucho menores que los

tiempos de ejecución de las tareas, y, además, en concreto la estación 4 es la que mayor

tiempo invierte en la verificación.

Otro tema sobre el que tuvo que tenerse cuidado, fue el lanzamiento de las órdenes a

las estaciones por parte de la estación gestora. En este caso, al realizarse a través de la

red Fipway, se podría pensar que la transmisión de los datos es prácticamente

inmediata. Pero, como en casi todos los temas, la realidad no se parece mucho a la

teoría. A pesar de que la red Fipway es bastante rápida y fiable, es de tener en cuenta

que sobre ella estamos descargando los servicios de tabla compartida, la comunicación

de los PC’s con todas las estaciones puesto que, en la mayoría de los casos, se comunica

con ellos a través del driver XIP que pasa usa como bridge el módulo de Ethernet del

autómata 5, y, lo más importante, tenemos colgado de dicha red, un sistema SCADA

muy potente que solicita muchas operaciones. Por esto, como digo, debimos tener

especial cuidado del tiempo que habíamos de mantener la orden en la tabla compartida

para que las distintas estaciones recibiesen la orden, y la estación gestora las respuestas.

Para dicho cometido, se incorporó al sistema de transmisión de orden, un

reconocimiento por parte de las estaciones.

Por último, se discutió sobre la conveniencia de realizar una lectura de

comprobación de los palets después de todas las operaciones tanto de lectura como de

escritura, que se realizases sobre los mismos. Se llego a la conclusión de que era de

utilidad suficiente ya que con el tiempo, las pastillas de memoria empezarían a fallar, a

pesar de que complica muy mucho toda la gestión de las operaciones. Esta nueva

gestión, añadió gran cantidad de posibles alarmas a las que ya se tenían en cuenta

durante el funcionamiento normal de las máquinas, alarmas que fueron incorporadas a

la tabla compartida para el conocimiento de todas las estaciones.

Conclusiones

Automatización de una Célula de Fabricación Flexible

iii

Como puede comprenderse de esta breve visión global de la célula, la cooperación

de todos los integrantes de los distintos proyectos ha sido fundamental para llegar a

conseguir una coordinación correcta, punto éste que nos ha hecho conocer más aún la

realidad de un proyecto de ésta índole.

En cuanto a posibles temas de futuras revisiones, quizá quede un poco desatendido

el tema de las alarmas en conjunto, es decir, que las estaciones sepan reconocer con

fiabilidad si alguna máquina ha entrado en defecto para pausar la producción si es

necesario, sobre todo si se trata de la estación gestora.

Y otro punto que podría ser tenido en cuenta para su mejora, es la posibilidad de que

el sistema compruebe el estado de almacén antes de escribir un pedido en un palet y

compruebe si puede o no ser servido completo, es decir, que orden de volcado de los

pedidos de la memoria sobre los palets, tenga en cuenta que las tres piezas de un pedido

se encuentren en almacén. Con esto se conseguiría no tener palets recirculando con

pedidos a medio servir.

Trabajos realizados sobre la célula

Automatización de una Célula de Fabricación Flexible

1

CAPÍTULO 7. Trabajos realizados sobre la célula

7.1. PUESTA EN MARCHA DE LA CELULA DE

FABRICACION

Diseño de la celula Manolo, Enrique, y?????

7.2. HARD

Cableado Estación 1 Carlos Gracia (M.L.) Cableado Estación 2 Jesús Mari Rodríguez Gómez (P), Miguel

Ángel Montañés Laborda (P) e Ismael Blasco Alias(P)

Cableado Estación 3 Carlos Gracia Cableado Estación 4 Carlos Gracia y Alfonso García (M.L.) Cableado Estación 5 Jesús Mari Rodríguez Gómez, Miguel

Ángel Montañés Laborda, Ismael Blasco Alias y Ramón Piedrafita Moreno

Cableado Estación 6 Alfonso García (M.L.) Cableado Estación 7 Ladislao Rubio y Alfonso García Cableado Transporte 1 Jesús Mari Rodríguez Gómez, Miguel

Ángel Montañés Laborda, Ismael Blasco Alias y Ramón Piedrafita Moreno

Cableado Transporte 2 Jesús Mari Rodríguez Gómez, Miguel Ángel Montañés Laborda, Ismael Blasco Alias y Ramón Piedrafita Moreno

Cableado identificadores de productos Miguel Ángel Montañés Laborda y Ramón Piedrafita Moreno

Cableado Red Fipway Alfonso García Puesta en marcha compresor/aire comprimido

Carlos Gracia

Ajustes mecánicos Carlos Gracia Tarjetas Red Fipway PC Javier (M.L.) y José Ramón Asensio Puesta en marcha Red Ethernet y Web Server Estación 5

Ramón Piedrafita Moreno

Diseño de Automatización y elección de Autómatas, modulos de entrada/salida ...

José Ramón Asensio y Ramón Piedrafita

Memoria

Departamento de Informática e Ingeniería de Sistemas

2

Soft Autómatas

Programación Estación 1 Jesús Mari Rodríguez Gómez Programación Estación 2 Jesús Mari Rodríguez Gómez e Ismael

Blasco Alias Programación Estación 3 Jesús Mari Rodríguez Programación Estación 4 Jesús Mari Rodríguez Programación Almacén Piezas Estación 5 Ismael Blasco Alias Programación Comunicación con Identificadores de productos Estación 5

Miguel Ángel Montañés Laborda

Programación Gestión de pedidos Estación 5

Miguel Ángel Montañés Laborda

Programación Control de transportes Estación 5

Miguel Ángel Montañés Laborda

Programación Estación 6 Jesús Mari Rodríguez Programación Almacén Pedidos Estación 7 Ladislao Rubio Definición Mapa de memoría (Tabla compartida) y Coordinación programación Autómatas

Ramón Piedrafita Moreno

Soft Scada Monitor OCS.

Manual Didáctico del Scada Monitor OCS. (CD-ROM) Scada de Estaciones 1, 2, 3, 4, 5 y 6 con programas de Autómata básicos.

Juan Carlos Villafranca Uriel (proyecto entregado en diciembre 2000)

Scada de todas las Estaciones. Lanzamiento de pedidos a la estación 5. Gestión de pedidos. Bases de datos de pedidos. Visualización estado almacén piezas y almacén pedidos. Control manual de todas las Estaciones. Visualización de alarmas

Darío Sola Marco

Trabajos por realizar

Web Server En fase de estudio previo. Esta previsto que lo realice

Ismael Blasco Alias. Podría ser necesario otro proyectando.

Magelis Jesús Mari Rodríguez realizará las aplicaciones de las estaciones 1, 2, 3, 4 y 6. Un nuevo proyectando realizará la de las estaciones 5y 7.

Trabajos realizados sobre la célula

Automatización de una Célula de Fabricación Flexible

3

Seria necesaria alguna estructura mecánica para sujetar las Magelis. Es necesario ampliar sus PCMCIAS a 8 Megas. Se pedirán 2 y Telemecánica nos regala otras 2.

Coordinación con Robot Fanuc Probablemente sera necesario realizarlo desde la estación 5 mediante un módulo de entradas/salidas Momentum en el bus FIPIO.

Red Fipway Se puede subir una tarjeta de PC desde la EUITI . Hace falta comprar una caja de conexión. TSX FPACC4

Memoria Ram ocupada en los Autómatas

Memoria ocupada en Estación 1 Supera los 20K, ampliación necesaria Memoria ocupada en Estación 2 Programa por completar Memoria ocupada en Estación 3 80% de 20K, probable necesite ampliación Memoria ocupada en Estación 4 Supera los 20K, ampliación necesaria Memoria ocupada en Estación 5 80% de 80K, probable necesite ampliación Memoria ocupada en Estación 6 88% de 20K, probable necesite ampliación Memoria ocupada en Estación 7 78% de 48K, probable necesite ampliación

Se dispone de 4 tarjetas de ampliación de memoria; 3 de 32K y una de 64K.

Probablemente serán necesarias 3 tarjetas adicionales de 32K TSXMRP032P

Material necesario.

PCMIA Magelis TSX MEM 08 2 ( +2 DE REGALO). A cuenta del departamento. Modulo Entradas salidas Momentum

Depende de cómo se comunique el robot.

Caja de conexión Red Fipway TSX FPACC4

A cuenta de ¿???

Tarjetas de ampliación de memoria TSXMRP032P

3. A cuenta de ¿???

Bibliografía

Automatización de una Célula de Fabricación Flexible

I

CAPÍTULO 8. Bibliografía

1. Piedrafita Moreno, R. Ingeniería de la automatización industrial. 1st ed.

Madrid: Ra-Ma, 1999.

2. Groupe Schneider. Presentación general de autómatas TSX micro. France:

The Groupe, 1998.

3. Groupe Schneider. Módulos de entrada/salidas TOR: TSX DMZ

./DEZ./DSZ.B1. France: The groupe, 1998.

4. Groupe Scheneider. Contaje integrado en las bases. France: The

groupe,1998.

5. Groupe Schneider. Comunicación integrada en las bases. France: The

groupe, 1998.

6. Groupe Schneider. Puesta en servicio/Diagnóstico/mantenimiento. France:

The groupe,1998.

7. Groupe Schneider. Comunicación mediante tarjetas PCMCIA. France: The

groupe, 1998.

8. Pepperl & Fuchs.Control Interface Unit for Read/Write Heads.Germany:

Perpperl & Fuchs, 2000.

9. Festo Didactic. Linea automática de fabricación flexible. Barcelona: Festo,

2000.

10. Festo Didactic. Célula flexible de producción Estación proceso

identificación-clasificación-almacenamiento y suministro. Barcelona: Festo,

1998.

11. Groupe Schneider. Comunicación toma terminal. France: The Groupe, 1998.

12. Groupe Schneider. Comunicación FIPIO maestra integrada en los

procesadores. France: The Groupe, 1998.

13. Groupe Schneider. Comunicación: módulo TSX SCY 21601 y tarjetas

PCMCIA. France: The Groupe, 1998.

14. Vicente Terol Garcia. Puesta en marcha de la célula. In: Festo Didactic,

Editors. Linea automática de fabricación flexible, Manual del instructor

programación y comunicaciones.Barcelona: Festo Didactic, 2000.

15. Vicente Terol Garcia. Descripción del programa de gestión de la célula. In:

Festo Didactic, Editors. Linea automática de fabricación flexible, Manual del

instructor programación y comunicaciones.Barcelona: Festo Didactic, 2000.

Memoria

Departamento de Informática e Ingeniería de Sistemas

II

16. Vicente Terol Garcia. Definición del sistema SF 03. In: Festo Didactic,

Editors. Linea automática de fabricación flexible, Manual del instructor

programación y comunicaciones.Barcelona: Festo Didactic, 2000.

17. Vicente Terol Garcia. Descripción del lenguaje STL. In: Festo Didactic,

Editors. Linea automática de fabricación flexible, Manual del instructor

programación y comunicaciones.Barcelona: Festo Didactic, 2000.

18. Vicente Terol Garcia. Estación de alimentacion y carga de placas. In: Festo

Didactic, Editors. Linea automática de fabricación flexible, Manual del

instructor programación y comunicaciones.Barcelona: Festo Didactic, 2000.

19. Vicente Terol Garcia. Estación de distribución de camisas de cilindros. In:

Festo Didactic, Editors. Linea automática de fabricación flexible, Manual del

instructor programación y comunicaciones.Barcelona: Festo Didactic, 2000.

20. Vicente Terol Garcia. Estación de posicionado de camisas de cilindros. In:

Festo Didactic, Editors. Linea automática de fabricación flexible, Manual del

instructor programación y comunicaciones.Barcelona: Festo Didactic, 2000.

21. Vicente Terol Garcia. Estación de alimentación y montaje de culatas. In:

Festo Didactic, Editors. Linea automática de fabricación flexible, Manual del

instructor programación y comunicaciones.Barcelona: Festo Didactic, 2000.

22. Vicente Terol Garcia. Estación de verificación de cilindros de simple efecto.

In: Festo Didactic, Editors. Linea automática de fabricación flexible, Manual

del instructor programación y comunicaciones.Barcelona: Festo Didactic,

2000.

23. Vicente Terol Garcia. Estación de descarga y clasificación de conjuntos. In:

Festo Didactic, Editors. Linea automática de fabricación flexible, Manual del

instructor programación y comunicaciones.Barcelona: Festo Didactic, 2000.

24. Vicente Terol Garcia. Descripción del sistema de control IPC. In: Festo

Didactic, Editors. Linea automática de fabricación flexible, Manual del

instructor programación y comunicaciones.Barcelona: Festo Didactic, 2000.

25. Vicente Terol Garcia. Estación de inserción de émbolos y muelles. In: Festo

Didactic, Editors. Linea automática de fabricación flexible, Manual del

instructor programación y comunicaciones.Barcelona: Festo Didactic, 2000.

26. Vicente Terol Garcia. Comunicación en bus de campo Fieldbus. In: Festo

Didactic, Editors. Linea automática de fabricación flexible, Manual del

instructor programación y comunicaciones.Barcelona: Festo Didactic, 2000.

Bibliografía

Automatización de una Célula de Fabricación Flexible

III

27. Vicente Terol Garcia. Sistema de identificación electrónico. In: Festo

Didactic, Editors. Linea automática de fabricación flexible, Manual del

instructor programación y comunicaciones.Barcelona: Festo Didactic, 2000.

28. PL7 Micro/Junior/Pro Funciones específicas de los autómatas Micro

[Computer Program]. Windows 95 version. France: Groupe Schneider, 1999.

29. PL7 Micro/Junior/Pro Comunicación [Computer Program]. Windows 95

version. France: Groupe Schneider, 1999.

30. PL7 Junior/Pro Funciones específicas de los autómatas Premium [Computer

Program]. Windows 95 version. France: Groupe Schneider, 1999.

31. PL7 Micro/Junior/Pro Manual de referencia [Computer Program]. Windows

95 version. France: Groupe Schneider, 1999.

32. PL7 Micro/Junior/Pro Funciones específicas de los autómatas

Micro[Computer Program]. Windows 95 version. France: Groupe Schneider,

1999.

33. Groupe Schneider. PL7 Junior/Pro Funciones específicas de los autómatas

Premium. France: The groupe, 1998.

34. Groupe Schneider. TLX DSCOM PL7 Instalación de funciones específicas

de comunicación en PL7. France: The groupe, 1998.

35. Groupe Schneider. Instalación, contaje y control de movimientos. France:

The groupe, 1998.

36. Festo Didactic. Célula flexible de producción Estación proceso de

alimentación y carga de placas. Barcelona: Festo, 1998.

37. Anaya. Adobe Acrobat 4. Madrid: Anaya, 2000.

38. Pescador Albiach, D. CorelDraw 9. 1st Ed. Madrid: Anaya, 1999.

39. Piedrafita Moreno, R. Automatización industrial avanzada. Zaragoza:

Universidad de Zaragoza, 2000.

40. Acrobat 4.0 [Computer Program]. Windows 95 version. Scotland: Adobe,

1999.

Memoria

Departamento de Informática e Ingeniería de Sistemas

Automatización de una Célula de

Fabricación Flexible:

Memoria: Tomo 1.

Proyectando: Miguel Ángel Montañés Laborda

Director: Ramón Piedrafita Moreno

Memoria

Departamento de Informática e Ingeniería de Sistemas

Automatización de una Célula de

Fabricación Flexible:

Memoria: Tomo 2.

Proyectando: Miguel Ángel Montañés Laborda

Director: Ramón Piedrafita Moreno