Está en la página 1de 19

FACULTAD DE INGENIERA

INGENIERA MECNICA

Nombre del alumno:


Mario Uriel Arzate Velsquez
Prctica no. : 17
Materia: Control Lineal
2015A

Objetivo
Que el alumno aprenda a usar las funciones de comparacin lgica y aritmticas
integradas en el PLC compact Logix L31, mediante el diseo y desarrollo de un
programa en diagrama escalera que haga el promedio y desviacin estndar de un
arreglo .
Introduccin
La funcin FAL (File Arithmetic and logic) permite hacer operaciones con datos
previamente almacenados en vectores, y llevar el resultado a una variable. Puede ser
utilizado para obtener el promedio de un grupo de artculos almacenados en un
supermercado. En general, su aplicacin es muy eficiente en lugares donde exista
tanto una amplia variedad como cantidad de elementos, donde tenga que llevarse a
cabo operaciones con ellos.
Marco terico
A continuacin se da una breve definicin de las funciones utilizados en esta prctica.
Nota: Lase el marco terico de las prcticas anteriores para tener conocimiento de
algunos otros conceptos bsicos del PLC y sus elementos.
Temporizador TON (Temporizador con retardo a la conexin): Cuenta el tiempo desde
cero al activar la entrada de habilitacin. Si la cuenta es mayor o igual al valor de
preseleccin (.PRE), se activa el bit de temporizacin (.DN). El valor actual de
temporizacin se borra al desactivar la entrada de habilitacin [1] (Figura 1)

Figura 1. Bloque de la instruccin TON en el diagrama escalera

Instruccin FAL (File Arithmetic and Logic): Esta funcin es una salida que combina
operaciones aritmticas con transferencia de datos. La opcin de Expression, dentro
de la instruccin FAL, permite escribir la operacin aritmtica que se realizar [2]
(Figura 2).

Figura 2. Bloque de la instruccin FAL en el diagrama escalera


Contador CTU (Count Up): Esta instrucciones se utilizan para incrementar un
contador en cada transicin de falso a verdadero. Cuando el rengln CTU, hace una
transicin de falso a verdadero, el valor acumulado se incrementa. La puesta a cero
del contador se har con la instruccin RES [3] (Figura 3).

Figura 3. Bloque de la instruccin CTU en el diagrama escalera


Instrucciones de comparacin: Estas operaciones permiten comparar dos variables o
una variable con un valor numrico. Todas estas operaciones son condicionales, es
decir, cuando se cumple la relacin de comparacin, se activar una seal del tipo
binaria. En algunos casos es necesario que la primera variable sea netamente variable,
mientras que la segunda puede ser variable o constante [4].
LES (Less than): Si el operando 1 es inferior al operando 2 la comparacin es
verdadera y dar continuidad lgica (Figura 4).

Figura 4. Bloque de la instruccin LES en el diagrama escalera


2

LEQ (Less or equal): Si el operando A es inferior o igual el operando B la comparacin


es verdadera y dar continuidad (Figura 5).

Figura 5: Bloque de la instruccin LES en el diagrama escalera

MATERIAL
Cantidad
1

Descripcin
PLC compact Logix L31

Cable de puerto serial

Cables para botonera

Cable de CA

Imagen

1.

Botonera

Software RSlogix 5000

Juego de desarmadores

Pinzas de corte

Desarrollo
Problema planteado
Desarrolle un programa para tomar muestras de datos analgicos, calcular el
promedio, la desviacin estndar, y los lmites de control. Los pasos en general estn
listados abajo:
a) Leer muestras
b) De forma aleatoria seleccionar valores, calcular el promedio, y almacenarlo en la
memoria.
c) Comparar las muestras tomadas con la desviacin estndar. Si es ms grande que 3
veces la desviacin estndar, entonces se parar el proceso.
d) Si es ms grande que 2 veces la desviacin estndar, aumentar en una unidad un
contador A, o si es ms grande que 1 vez la desviacin estndar, incrementar un
contador B. Si es ms pequeo que 1 vez la desviacin estndar entonces resetear los
contadores.
e) Si el contador A=3 o B=5 entonces apagar.
f) Determinar los lmites de control.
Propuesta para solucionar el problema
Se propone usar un temporizador que despliegue datos del 1 al 1000. Con ayuda de la
funcin FAL y SQO se planea canalizar al azar los datos del acumulador a un arreglo
para que posteriormente se determine el promedio y la desviacin estandar.
1.- Conexin del PLC a la PC mediante el puerto COM
Despus de Realizar la correcta instalacin del software RSLogix 5000 y RSLinx se
procede a conectar el PLC a la PC mediante el puerto COM.
2.- Programa desarrollado
En esta prctica se obtiene la desviacin estndar de muestras tomadas al azar.

Nota: Para ms informacin sobre la conexin del PLC a la PC lase el apartado de


desarrollo de la prctica 1.
5

Asignacin de variables
*Funciones de bloque, y variables en el diagrama escalera (Tabla 1. y Tabla 2.)
Funcin de bloque

Nombre

Comparacin LEQ

Less than or equal

Temporizador TON

Random Values

Temporizador TON

Compare input

Temporizador TON

Compare inputs 2

Temporizador TON

Do Math

Comparacin EQU

Equal to

Compare CMP

Compare

SQO

Sequencer Output

ADD

Add

AVE

Average File

Contador CTU

Counter A

Contador CTU

Counter B

STD

Standard Deviation

Reseteo (RES)

CFOR

Instruccin matemtica FAL

File arithmetic and


logic
Tabla 1. Funciones de bloque en el diagrama escalera
Variables

Tipo

Valor

DINT

Value_1

DINT

Transfere_number

DINT

Pick_sample

DINT

Number_to_compare

DINT

LCL

DINT

Array

DINT[8]

Array2

DINT[12]

Stop_process

Bool

Start_counter

Bool

Shut_down

Bool

Select_value

Bool

Select_number

Bool

Reset

Bool

Power_on

Bool

Add_A

Bool

Add_B

Bool

UCL

Real

Standard deviation

Real

Average

Real

R1

Control

R2

Control

R3

Control

R4

Control

R5

Control

R6

Control

R7

Control

R8

Control

R9

Control

Tabla 2. Variables en el diagrama escalera

Diagrama escalera del programa (Figura 6a, Figura 6b, Figura 6c).

Figura 6a. Primera parte del diagrama en escalera

Figura 6b. Segunda parte del diagrama en escalera

Figura 6c. Ultima parte del diagrama en escalera

10

Explicacin del programa lnea a lnea


Lnea 0: Si el botn Power_on es presionado la bobina Start_counter se activa
(Figura 7).

Figura 7. Encendido de la bobina Start counter


Lnea 1: Si el contacto de Start_counter se cierra y el registro R1.POS es menor o
igual a 8, entonces el temporizador Random_values se activar (Figura 8).

Figura 8. Encendido del temporizador Random_values


Lnea 2: Si el botn Select_number es presionado y si el valor del registro R1.POS
es menor o igual a 8, la funcin FAL canalizar valores del acumulador al arreglo
Array (Figura 9).

Figura 9. Encendido del temporizador Random_values.


Lnea 3: Si el registro R1.POS es igual a nueve y el registro R3.POS es menor o
igual a 2, entonces se activar el temporizador Input_runner (Figura 10).

Figura 10. Encendido del temporizador Input_runner


11

Lnea 4: El registro Input_runner.TT hace que cada 800 ms la funcin SQO vaya
desplegando los valores del arreglo Array desde la posicin 0 hasta la 10 (Figura
11).

Figura 11. Despliegue de los valores obtenidos por medio de SQO


Lnea 5: Si el botn Select_value es presionado y si el valor del registro R3.POS es
menor o igual a 6, la funcin FAL canalizar valores de Array al arreglo Array2
(Figura 12).

Figura 12. Toma de muestras de los valores de Array


Lnea 6: Si el registro R3.POS es igual a 7, entonces la funcin AVE obtiene el
promedio del arreglo Array2 y canaliza el resultado a la variable Average(Figura
13).

Figura 13. Obtencin del promedio del arreglo Array2


Lnea 7: Si el registro R3.POS es igual a 7, entonces la funcin STD obtiene la
desviacin estndar del arreglo Array2 y canaliza el resultado a la variable
Standard Deviation(Figura 14).

Figura 14. Obtencin de la desviacin estndar del arreglo Array2

12

Lnea 8: Si el registro R5.POS es igual a siete y el registro R3.POS es menor o igual


a 6, entonces se activar el temporizador Compare_inputs (Figura 15).

Figura 15. Encendido del temporizador Compare_inputs.


Lnea 9: El registro Compare_inputs.TT hace que cada 250 ms la funcin SQO vaya
desplegando los valores del arreglo Array desde la posicin 0 hasta la 10 y la
canalice a la variable Number_to_compare (Figura 16).

Figura 16. Despliegue de los valores obtenidos por medio de SQO


Lnea 10: La funcin de CMP compara por medio de Number_to_compare si
alguno de los valores de Array2 es ms grande que 3 veces la desviacin estndar. Si
es as el proceso se detendr (Figura 17).

Figura 17. Comparacin de los valores del arreglo Array2


Lnea 11: Si el registro R6.POS es igual a siete y el registro R7.POS es menor o
igual a 6, entonces se activar el temporizador Compare_inputs2 (Figura 18).

Figura 18. Encendido del temporizador Compare_inputs2

13

Lnea 12: El registro Compare_inputs2.TT hace que cada 250 ms la funcin SQO
vaya desplegando los valores del arreglo Array2 desde la posicin 0 hasta la 8 y la
canalice a la variable Number_to_compare (Figura 19).

Figura 19. Despliegue de los valores obtenidos por medio de SQO


Lnea 13: Las funciones de CMP comparan por medio de Number_to_compare si
alguno de los valores de Array2 es ms grande que 2 veces y menor que 3 veces la
desviacin estndar. Si es as el la bobina Add_A se activar y el contador
Counter_A incrementar en una unidad (Figura 20).

Figura 20. Comparacin de los valores del arreglo Array2


Lnea 14: Las funciones de CMP comparan por medio de Number_to_compare si
alguno de los valores de Array2 es ms grande que 1 vez y menor que 1 vez la
desviacin estndar. Si es as el la bobina Add_B se activar y el contador
Counter_B incrementar en una unidad (Figura 21).

Figura 21. Comparacin de los valores del arreglo Array2


Lnea 15: Cuando el contacto Add_A se cierra, el acumulador del contador
Counter_A aumentar en una unidad (Figura 22).

Figura 22. Contador Counter_A

14

Lnea 16: Cuando el contacto Add_B se cierra, el acumulador del contador


Counter_B aumentar en una unidad (Figura 23).

Figura 23. Contador Counter_B


Lnea 17: El valor de Number_to_compare es menor que la desviacin estndar,
entonces los contadores se resetearn (Figura 24).

Figura 24. Reseteo de los contadores


Lnea 18: Cuando los 2 contadores alcancen sus valores preestablecidos la bobina
Shut_down se activar (Figura 25).

Figura 25. Activacin de la bobina Shut_down


Lnea 19: Si el registro R7.POS es igual a siete y el registro R8.POS es menor o
igual a 6, entonces se activar el temporizador Do_Math (Figura 26).

Figura 26. Activacin del temporizador Do_Math

15

Lnea 20: El registro Do_Math.TT hace que cada 250 ms la funcin SQO vaya
desplegando los valores del arreglo Array2 desde la posicin 0 hasta la 8 y la
canalice a la variable Number_to_compare (Figura 27).

Figura 27. Despliegue de los valores obtenidos por medio de SQO


Lnea 21: El registro Do_Math.TT hace que cada 250 ms la funcin FAL sume los
valores del arreglo Array2 y canalice el resultado en la variable X (Figura 28).

Figura 28. Suma de los valores del arreglo Array2


Lnea 22: Si el registro R8.POS es igual a 7 entonces se calculan los lmites
superiores e inferiores por medio de la funcin CPT (Figura 29).

16

Lnea 23: Al presionar el botn Reset el proceso se reinicia.

Conclusiones
Con el desarrollo de este programa se concluy lo siguiente:
En la presente prctica se aprendi a usar la instruccin FAL para realizar
operaciones con arreglos. Es importante saber realizar este tipo de operaciones con el
PLC, debido a que hay muchas situaciones en las se deben de hacer clculos con
muchos datos, y esta instruccin facilita el trabajo. Se tuvieron ciertos problemas con
respecto al incremento de posicin en la funcin FAL, por lo que se tuvo que hacer uso
de otras funciones para incrementar la suma del arreglo de 10 en 10.
Bibliografa
[1] Allen-Bradley. (Diciembre de 2014). Logix5000 Controllers General Instructions
Reference Manual. U.S.A: Rockwell Automation.
[2] KronoTech Instrumentation & Control (Octubre de 2012). Arithmetic Instructions
in
Ladder
Logic.
Recuperado
de:
http://www.kronotech.com/LadderLogic/arith/arith.htm
[3] Villajulca, J. (7 de octubre del 2012) Contadores CTU. Recuperado de:
http://www.instrumentacionycontrol.net/cursos-libres/automatizacion/curso-deplcs-avanzado/item/666-programacion-de-plcs-contadores.html

17

[4] KronoTech Instrumentation & Control (Octubre de 2012). Ladder Logic


Comparison
Instructions.
Recuperado
de:
http://www.kronotech.com/LadderLogic/Comparison/compare.htm

18