Upload
evan-av
View
29
Download
0
Embed Size (px)
DESCRIPTION
Función STD en plc
Citation preview
FACULTAD DE INGENIERA INGENIERA MECNICA
Nombre del alumno: Mario Uriel Arzate Velsquez
Prctica no. : 17
Materia: Control Lineal
2015A
1
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
2
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
3
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 Descripcin Imagen 1 PLC compact Logix L31 1.
1 Cable de puerto serial
5 Cables para botonera
2 Cable de CA
4
1 Botonera
1 Software RSlogix 5000
1 Juego de desarmadores
2 Pinzas de corte
5
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.
6
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
X DINT 0
Value_1 DINT 0
Transfere_number DINT 0
Pick_sample DINT 0
Number_to_compare DINT 0
LCL DINT 0
Array DINT[8] 0
7
Tabla 2. Variables en el diagrama escalera
Array2 DINT[12] 0
Stop_process Bool 0
Start_counter Bool 0
Shut_down Bool 0
Select_value Bool 0
Select_number Bool 0
Reset Bool 0
Power_on Bool 0
Add_A Bool 0
Add_B Bool 0
UCL Real 0
Standard deviation Real 0
Average Real 0
R1 Control -
R2 Control -
R3 Control -
R4 Control -
R5 Control -
R6 Control -
R7 Control -
R8 Control -
R9 Control -
8
Diagrama escalera del programa (Figura 6a, Figura 6b, Figura 6c).
Figura 6a. Primera parte del diagrama en escalera
9
Figura 6b. Segunda parte del diagrama en escalera
10
Figura 6c. Ultima parte del diagrama en escalera
11
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
12
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
13
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
14
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
15
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
16
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).
17
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-de-
plcs-avanzado/item/666-programacion-de-plcs-contadores.html
18
[4] KronoTech Instrumentation & Control (Octubre de 2012). Ladder Logic
Comparison Instructions. Recuperado de:
http://www.kronotech.com/LadderLogic/Comparison/compare.htm