practica 17: funcion std en plc

19
 FACULTAD DE INGENIERÍA INGENIERÍA MECÁNICA Nombre del alumno: Mario Uriel Arzate Velásquez Práctica no. : 17 Materia: Control Lineal 2015A

Upload: evan-av

Post on 04-Nov-2015

27 views

Category:

Documents


0 download

DESCRIPTION

Función STD en plc

TRANSCRIPT

  • 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