Beruflich Dokumente
Kultur Dokumente
Ejemplo:
Clasificador de paquetes
1. Especificaciones
2. Asignación de recursos
3. Esquema eléctrico.
4. Diagrama de flujo
Ejemplos. Clasificador de paquetes 1.2
1. Especificaciones
Sistema de clasificación de paquetería en función del peso.
Especificaciones
Sistema de desplazamiento.
Para desplazar los paquetes hasta el compartimento correspondiente se dispone de los
siguiente elementos:
– Tres cilindros neumáticos. Cada uno de ellos se activa por medio de una electroválvula
EVCx(24Vcc, 8W) con retorno forzado por muelle. De esta forma se asegura que la posición de
reposo del cilindro es la de recogido. Cada cilindro lleva dos sensores magnéticos x1 y x0
(contacto libre de tensión) para indicar la posición en la que se encuentra.
– Una cinta transportadora manejada por un motor 380AC 5A. La cinta se debe activar al recibir
el primer paquete y debe continuar en movimiento salvo que transcurra un intervalo de tiempo
superior a 4 minutos sin recibir paquetes.
– El sistema debe asumir que el proceso de desplazamiento de un paquete finaliza después de la
activación de los sensores del cilindro CB y CC o bien después de un 1 minuto de la activación del
sensor del ciclindro CA.
Especificaciones
Ejemplos. Clasificador de paquetes 1.4
Sistema de pesada.
Plataforma para pesar paquetes con los siguientes elementos:
– Un sensor óptico P que detecta la presencia de paquete (contacto libre de tensión)
– Un sensor G que genera una tensión de 0 a 5Vcc para un rango de 0 a 10Kgr con una sensibilidad
de 10gr.
– Para asegurar una medida correcta es necesario esperar 10sg desde de la recepción del paquete
hasta el inicio de la medida.
Rango de pesos.
– Si el peso del paquete es menor de 2Kgr debe almacenarse en el compartimento P1 por medio del
cilindro CB.
– Si el peso del paquete es mayor o igual que 2Kgr y menor que 6Kgr debe almacenarse en el
compartimento P2 por medio del cilindro CC.
– Si el peso del paquete es mayor o igual que 6Kgr debe almacenarse en el compartimento P3. La
cinta transporta el paquete hasta el final del recorrido.
– Existen dos sensores ópticos B y C que detectan (contacto libre de tensión) cuando el paquete
pasa delante del cilindro CB y CC, respectivamente
Especificaciones
Ejemplos. Clasificador de paquetes 1.5
2. Asignación de recursos
• Entradas digitales:
– Posición de cilindros A0,A1,B0,B1,C0,C1 = 6
– Posición del paquete P, B, C = 3
– Lectura de teclado ET1, ET2, ET3, ET4 = 4
• Entrada Analógica:
– Pesada (0 – 5V) G = 1
• Salidas digitales:
– Activación de cilindros EVA, EVB, EVC = 3
– Activación del Motor M = 1
– Excitación del teclado ST1, ST2, ST3, ST4 = 4
– Indicación de estado (A/M)= 1
– Gestión de visualizador DATO, SEL, CLK = 8
• Temporización
– TFA=2s -> tiempo para detectar error en posición de cilindro
Recursos
• Entradas digitales:
• Salidas digitales:
• Entrada analógica:
G
RA0
Ejemplos. Clasificador de paquetes 1.9
• Temporizadores:
• Se crea una base de tiempos con el temporizador TMR1
• Se atiende por interrupción
• Temporización de 200 ms
–> Trabajando con Fosc de 1MHz -> Carga de -50000 =3CB0H
• Contadores:
-> Contador CA (CCA)-> Byte -> Si se ha activado el cilindro CA, se
incrementa cada vez que hay interrupción. Si cuenta más de 10 (>2s)
error en cilindro A
-> Contador CB (CCB)-> Byte -> Si se ha activado el cilindro CB, se
incrementa cada vez que hay interrupción. Si cuenta más de 10 (>2s)
error en cilindro B
-> Contador CC (CCC)-> Byte -> Si se ha activado el cilindro CC, se
incrementa cada vez que hay interrupción. Si cuenta más de 10 (>2s)
Asignación de recursos
error en cilindro C
-> Contador Peso (Cpeso)-> Byte -> si cuenta más de 50 (>10s) se puede
Pesar
-> Contador decimas (CDSEG)-> Byte -> Se incrementa cada vez que hay
interrupción -> Al llegar 5 -> 1 segundo.
-> Contador SEG (CSEG)-> Byte -> Cuenta segundos
-> Contador MIN (CMIN)-> Byte -> Cuenta minutos
Ejemplos. Clasificador de paquetes 1.10
• Temporizadores:
• Se crea una base de tiempos con el temporizador TMR3 para atender al teclado
• Se atiende por interrupción
• Temporización de 1s
–> Trabajando con Fosc de 1MHz -> preescala=8; Carga de -31250 =85EEH
Asignación de recursos
Ejemplos. Clasificador de paquetes 1.11
3. Esquema eléctrico
• Conexión de sensores de posición de cilindros
R R R R R R
RB0 RB1 RB2 RB3 RB4 RB5
A0 A1 B0 B1 C0 C1
Esquema eléctrico del circuito
Ejemplos. Clasificador de paquetes 1.12
R R R
RE0 RB6 RB7
P B C
Esquema eléctrico del circuito
Ejemplos. Clasificador de paquetes 1.13
R1
RA1 R1 R2 R3 R4
+5V
R2
RA2 +5V
EVA EVB EVC K
R3
RA3
+5V
Esquema eléctrico del circuito
0V
R4 380Vac
R
RA4 S
+5V T
K R5
R5
RA5
M
Ejemplos. Clasificador de paquetes 1.14
R R R R
RD4
16 15 14 13
EVA EVB EVC M
RD5
12 11 10 9
Esquema eléctrico del circuito
RD6 5
8 7 6
M/A ON/OFF
RD7 1
4 3 2
4 DATOS
RC0-RC3
3 SEL
RC4-RC6
CLK
RC7
DATOS(3-0)
Esquema eléctrico del circuito
SEL(2-0)
CLK
1 µs 3 µs 1 µs
Ejemplos. Clasificador de paquetes 1.16
4. Diagrama de flujo
Variables:
• VALOR_TECLA: byte -> indica con un número de 1 a 16 la tecla pulsada.
Se obtiene en el programa de barrido del teclado con la expresión
VALOR_TECLA = 4x(CONT1-1)+CONT2
• HAY_TECLA: bit -> Si 1 indica que se ha activado una tecla.
• CPESO: byte -> Contador para temporizar 10s de espera a estabilizar el
paquete en la plataforma de pesada.
• TPESO: bit -> Si 1 indica fin de temporización para pesar.
• V_PESO: bit -> Si 1 indica permiso para temporización para pesar
• FIN_CLASIFICAR: bit -> Si 1 indica que el proceso de clasificación de un
paquete ha finalizado.
• ERROR: bit -> Si 1 indica error en el desplazamiento de cilindros.
• CMIN: byte -> Contador de minutos para temporizar el fin de proceso de
clasificación por tiempo y el apagado del motor de la cinta.
• CDSEG: byte -> Contador para temporizar 1s para contar segundos.
• CSEG: byte -> Contador de segundos para contar minutos.
Diagrama de flujo
4. Diagrama de flujo
Variables:
• V_CA: bit -> Si 1 indica que se debe activar el cilindro CA
• V_CA_AUX: bit -> Si 1 indica que el peso esta en el rango PESOA (≥6K)
• V_CB: bit -> Si 1 indica que se debe activar el cilindro CB y que el peso
está en el rango PESOB (<2K).
• V_CC: bit -> Si 1 indica que se debe activar el cilindro CC y que el peso
está en el rango PESOC (≥2K y <6K)
• CCA: byte -> Contador para temporizar 2s y detectar error de
desplazamiento del cilindro CA
• CCB: byte -> Contador para temporizar 2s y detectar error de
desplazamiento del cilindro CB
• CCC: byte -> Contador para temporizar 2s y detectar error de
desplazamiento del cilindro CC
Diagrama de flujo
Ejemplos. Clasificador de paquetes 1.18
Variables:
• NºA: Conjunto de 8 bytes -> Se utilizan para llevar la cuenta de paquetes
pesados de tipo PESOA y facilitar la visualización del valor. Se lleva la
cuenta en decimal por lo que el cometido de los 8 bytes se puede
especificar:
• APESO_U: byte -> Unidades
• APESO_D: byte -> Decenas
• APESO_C: byte -> Centenas
• APESO_M: byte -> Millar
• APESO_DM: byte -> Decenas de millar
• NºB : igual a NºA pero para número de paquetes tipo PESOB
• NºC : igual a NºC pero para número de paquetes tipo PESOC
• PUNT_VIS: Puntero (FSRx) para indicar los datos que se deben
visualizar.
• MASCARA: byte -> Se utiliza para el barrido del teclado
• TECLA_AUX: byte -> Se usa en la detección de tecla pulsada
• CONT1: byte -> Contador de filas del teclado (1,2,3,4)
• CONT2: byte -> Contador de columnas del teclado (1,2,3,4)
Diagrama de flujo
• VALOR: byte -> Salida hacia visualizador. Indica en los 4 bit menos
significativos el dato a visualizar y en los tres siguiente el nº de digito al
que corresponde el dato.
• VALOR_AUX: byte -> Se usa para calcular VALOR en Visualización.
• CONTD: byte -> Contador de dígitos enviados el vicualizador
Ejemplos. Clasificador de paquetes 1.19
Variables:
• CCA: byte -> Contador para temporizar 2s y detectar error de
desplazamiento del cilindro CA
• CCB: byte -> Contador para temporizar 2s y detectar error de
desplazamiento del cilindro CB
• CCC: byte -> Contador para temporizar 2s y detectar error de
desplazamiento del cilindro CC
• NºA: Conjunto de 8 bytes -> Se utilizan para llevar la cuenta de paquetes
pesados de tipo PESOA y facilitar la visualización del valor. Se lleva la
cuenta en decimal por lo que el cometido de los 8 bytes se puede
especificar:
• APESO_U: byte -> Unidades
• APESO_D: byte -> Decenas
• APESO_C: byte -> Centenas
• APESO_M: byte -> Millar
• APESO_DM: byte -> Decenas de millar
• NºB : igual a NºA pero para número de paquetes tipo PESOB
• NºC : igual a NºC pero para número de paquetes tipo PESOC
Diagrama de flujo
Interrupción Interrupción
sensor A0 sensor A1
Diagrama de flujo
Ejemplos. Clasificador de paquetes 1.23
Interrupción de sensores
B, C, C0 y C1
Diagrama de flujo
Ejemplos. Clasificador de paquetes 1.25
Interrupción
TMR1
Diagrama de flujo
Ejemplos. Clasificador de paquetes 1.26
Gestión de
temporización de
minutos
Diagrama de flujo
Ejemplos. Clasificador de paquetes 1.28
Interrupción TMR3
-> 1s
-> Fosc=1MHz
-> preescala =8
-> carga = 85EEH
Diagrama de flujo
Ejemplos. Clasificador de paquetes 1.29