Ingeniería de Sistemas y Automática - 5.2.2.2. Las macroetapasautomata.cps.unizar.es/proyectos fin...
Transcript of Ingeniería de Sistemas y Automática - 5.2.2.2. Las macroetapasautomata.cps.unizar.es/proyectos fin...
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