Jump to content
  • Sign in to follow this  

    Tia Portal – Bloque de organización de interrupción de retardo de tiempo OB20

       (0 reviews)

    caixiaofeng

    En artículos anteriores, analizamos qué es un bloque de organización y hablamos sobre la interrupción cíclica principal OB1 y la interrupción de hora del día OB10.

    En este artículo, continuaremos analizando los diferentes OB y, esta vez, hablaremos sobre el bloque de organización de interrupción de retardo de tiempo u OB20.

    Contenido:

    • ¿Qué es OB20?
    • ¿Cómo llamar a OB20?
    • Parámetros de la instrucción SRT_DINT.
    • Programa de ejemplo.
    • Conclusión.

    ¿Qué es la interrupción de retardo de tiempo (OB20)?

    OB20 es un bloque de organización que es llamado y ejecutado por el sistema operativo, pero tenemos que decirle al sistema operativo cuándo llamar a este OB20.

    El sistema operativo obtiene la información del programa PLC del usuario para llamar a este OB20, esperará el tiempo de retardo configurado y luego llamará y ejecutará cualquier lógica que esté dentro del OB20.

    Creamos un bloque OB20 desde Agregar un nuevo bloque en el árbol del proyecto. Ver imagen 1.

    144-1.gif

    Imagen 1 – Crear un nuevo bloque OB20

    Ahora que he creado una interrupción de retardo de tiempo, ¿cuándo se ejecutará? ¿Y cómo configurar el retardo de tiempo de la ejecución del bloque?

    Nuevamente, OB20 es un bloque de organización, lo que significa que no llamas al bloque para que se ejecute, sino que le dices al sistema operativo cuándo puede llamarlo y ejecutar cualquier funcionalidad que esté escrita dentro.

    ¿Cómo decirle al sistema operativo que llame al OB20?

    Para decirle al sistema operativo que queremos llamar al OB20, usamos SRT_DINT o la interrupción de retardo de tiempo de inicio, ver imagen 2.

    144-2.gif

    Imagen 2 – Instrucción de retardo de tiempo de inicio

    Parámetros de la instrucción SRT_DINT

    Como ves en la última imagen, puedes usar la instrucción SRT_DINT para llamar al OB20. pero es necesario configurar algunos parámetros para que la instrucción funcione.

    EN: la instrucción no se ejecutará hasta que se presente una señal de flanco negativo en la entrada EN. Eso significa que debe asignar una condición del conjunto de condiciones para habilitar la señal y la instrucción solo funcionará cuando esta condición sea verdadera y luego falsa nuevamente.

    OB_NR: asigna el número de la interrupción de retardo que necesita llamar, en nuestro caso 20 ya que creamos OB20, pero podemos crear más de una interrupción de retardo y luego tendremos que llamar a cada una con una instrucción SRT_DINT separada.

    DTIME: ese es el tiempo de retardo que desea esperar antes de ejecutar el OB20, estableceremos este tiempo en 5 segundos para fines de simulación.

    SIGN: Identificador que aparece cuando se llama al OB de interrupción de retardo de tiempo en la información del evento de inicio del OB.

    Programa de PLC de ejemplo

    Para comprender mejor el OB20, crearemos una lógica simple para ver cómo se puede llamar y ejecutar un OB20. Construiremos este ejemplo de PLC sobre la lógica que creamos para el OB1 y el OB10 en artículos anteriores.

    Dentro del OB20 crearemos una lógica que cuente cuántos ciclos del OB1 se han llamado y ejecutado dentro del tiempo de retardo de 5 segundos que hemos configurado para el OB20. Ver imagen 3.

    144-3.gif

    Imagen 3: lógica dentro del OB20

    En la última imagen, puede ver que usamos la instrucción MOVE para enviar información sobre los recuentos de ciclos al inicio de la llamada al OB20 y después de que se haya ejecutado.

    Ver imagen 4 para el resto de la lógica.

    144-4.gif

    Imagen 4: calcular cuántos ciclos se cuentan en 5 segundos

    Después de eso, restaremos los dos valores de los recuentos de ciclos para obtener cuántos ciclos se han ejecutado dentro del retraso de cinco segundos.

    Ahora que hemos creado la lógica que queremos, ¿cómo podemos llamar al OB20? Como se explicó anteriormente, tenemos que utilizar la instrucción SRT_DINT. Utilizaremos esta instrucción dentro del OB10 que hemos configurado antes para que se ejecute cada minuto. Eso significa que el OB20 también se llamará y ejecutará cada minuto, pero con un tiempo de retardo de 5 segundos.

    En el artículo anterior, creamos una lógica que indica cuántas veces se llama y ejecuta el OB1, también creamos otra lógica que llamará al OB10 cada minuto.

    En este ejemplo, utilizaremos la llamada del OB10 para llamar al OB20. Ver imagen 5.

    144-5.gif

    Imagen 5: Llamada al OB20 a través del OB10

    Dijimos antes que el SRT_DINT necesita una señal de flanco negativo en el EN para que comience la llamada. Es por eso que utilizamos la señal TimeOfDayInterruptEnabled que sabemos que será verdadera cuando se ejecute el OB10 y luego volverá a ser falsa, lo que nos dará la señal de flanco que necesitamos.

    Ahora que toda la lógica del PLC está completa, compilemos y ejecutemos una nueva simulación. Vea la siguiente simulación de nuestro proyecto.

    spacer.png

    En la animación, al principio, los valores de los recuentos de ciclos son cero, pero cuando se llama al OB10 y la lógica TimeOfDayInterruptEnabled es verdadera, esperará 5 segundos y luego los valores de recuento se actualizarán con los recuentos de ciclos.

    Conclusión

    • OB20 es un bloque de organización llamado y ejecutado por el sistema operativo.
    • Podemos indicarle al sistema operativo que llame al OB20 con la instrucción SRT_DINT.
    Sign in to follow this  


    User Feedback

    Create an account or sign in to leave a review

    You need to be a member in order to leave a review

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    There are no reviews to display.


Apply for friendship links:WhatsApp or E-mail: admin@plchmis.com
×
×
  • Create New...