Qué es el ciclo de Scan de un PLC en un proyecto TIA Portal. Qué procesos se ejecutan en cada ciclo y por qué es importante el tiempo de scan de un autómata. Te explico los procesos que intervienen y cómo puede influir la estructura del programa en el tiempo total de ejecución.

Este artículo pertenece al Curso de TIA Portal gratis. Al final del artículo encontrarás el acceso al Menú del Curso.

¿Qué es el ciclo de scan de un PLC?

En primer lugar, podemos definir un ciclo de Scan al conjunto de operaciones que ejecuta el PLC para conocer el estado de nuestras entradas y salidas, ejecutar todo el código de programación que nosotros hemos hecho y finalmente activar la salida física del PLC para activar nuestros dispositivos cableados. Todo este proceso se considera como un ciclo de scan y el PLC estará ejecutando repetitivamente este proceso cuando el autómata se encuentre en la posición de RUN.

Ciclo de Scan de un PLC

Qué se ejecuta en cada ciclo scan.

En un ciclo del programa se van a escribir valores en las salidas, se ejecutarán instrucciones del programa creado, se leerán las entradas y se realizará un mantenimiento del sistema y procesamiento en segundos plano.

El objetivo es conseguir que durante un ciclo no existan fluctuaciones en las salidas físicas, ya que su estado puede cambiar varias veces en la imagen de proceso de las salidas.

Tiempo de scan de PLC.

Normalmente, todos programamos en un OB de ciclo, generalmente el OB1, donde vamos a colocar nuestro código de programación además de las llamadas a otros bloques FC o FB y funciones que se ejecutarán con la llamada. Esta organización va a depender de la exigencia del proceso de automatización, ya que si se necesita tiempos de reacción muy cortos habrá que utilizar OB con prioridad para permitir que el ciclo de scan sea lo más bajo posible.

Llamada a funciones en OB cíclico para cumplir el proceso cíclico

Por consiguiente, como puedes ver en la imagen, dentro del OB1 ejecutará las llamadas al FC1, al FC2 y al FC3 y terminará el tiempo de scan del programa del PLC. Inmediatamente, cuando finaliza empezará de nuevo la lectura de todos los datos en un nuevo ciclo de scan.

Tiempo del ciclo de Scan en un PLC S7-1200.

Como consecuencia de la utilización de distintas funciones en el programa, el PLC puede tardar más en realizar un ciclo de Scan. Asimismo, podemos ver cuanto ha tardado cada ciclo en las opciones de Online y diagnóstico dentro de la CPU S7-1200.

Observar el tiempo de ciclo de Scan en el PLC S7-1200

Como se puede ver en la imagen, en cada ciclo se puede consumir un tiempo de ejecución y aquí el software TIA Portal nos muestra el tiempo más corto, el tiempo actual y el tiempo más largo que se haya producido en estado de RUN del PLC.

Como resultado tenemos una idea de la velocidad de procesamiento de nuestro proyecto. También hay que tener en cuenta que dependiendo de las funciones utilizadas en el programa se ejecutará un ciclo de Scan más largo. Por lo tanto, no es lo mismo si ejecutamos un código con condicionales IF que si ejecutamos un código con un bucle FOR, ya que el ciclo no va a terminar hasta que se cuenten todas las posiciones de un FOR. Si tienes un bucle con 100 posiciones, el tiempo del ciclo de scan aumentará ya que tiene que esperar a leer esas 100 posiciones.

Comparación de diferentes tiempos de ejecución en un programa

Qué es la imagen de proceso en un ciclo de scan del PLC.

Todas las entradas y salidas del PLC trabajan en un área de memoria llamada “memoria de proceso” donde se van a actualizar en cada ciclo.

La imagen de proceso procesará en cada ciclo las entradas (memorias “I”), las salidas (memoria “Q”), la Signal board y los módulos de señales.

Descripción de los procesos que se ejecutan en cada ciclo.

Funcionamiento de la imagen de proceso en el estado operativo de Arranque.

Cuando arranca el PLC, transcurre un tiempo hasta que llega a ponerse en RUN. Por lo tanto, durante este tiempo también se ejecuta una serie de lectura de los estados del PLC. Tienes que fijarte en la imagen anterior:

  • A El área de entradas de la memoria imagen de proceso (memoria I) se borra.
  • B Las salidas se inicializan con el último valor.
  • C Se ejecuta la lógica de arranque (contenida en bloques lógicos especiales).
  • D El estado de las entradas físicas se copia en la memoria I.
  • E Los eventos de alarma se ponen en cola de espera para ser procesados en el estado operativo RUN.
  • F Se habilita la escritura del área de salidas de la memoria imagen de proceso (memoria Q) en las salidas físicas.

 

Funcionamiento de la imagen de proceso en el estado operativo de Run.

Por consiguiente, una vez ya ha arrancado el PLC, se pasa a RUN y se ejecuta el ciclo de Scan:

  1. Los datos de la memoria “Q” se escriben en las salidas físicas del PLC.
  2. Las entradas físicas se copian a los datos de la memoria “I”.
  3. Se lee el programa y se ejecutan todas sus funciones y bloques.
  4. Se realiza el autodiagnóstico.
  5. Las alarmas y comunicaciones se procesan en cualquier parte del ciclo.

Cómo ejecuta el PLC el programa en TIA Portal.

Por consiguiente, conociendo un poco más la teoría del ciclo de scan de un PLC vamos a pasar a la práctica, viendo cómo se comporta el programa y ese ciclo. Por ello, vamos a poner como ejemplo un programa hecho en TIA en el que tenemos varios bloques de funciones y unas variables ya creadas.

Debido a esto, según la teoría del ciclo de funcionamiento de un PLC, se va a ejecutar el programa leyendo las entradas, ejecutando cada una de las funciones y, finalmente activando las salidas necesarias.

Ejemplo de programa en TIA Portal con los bloques de funciones y variables

Por lo tanto, si nos ponemos Online, solamente podemos ver cómo se están ejecutando los bloques y, además, en el bloque llamado “Salidas”, se activarán las salidas físicas del PLC cuando termine cada ciclo. En cambio, todo este proceso no lo podemos ver, ya que el tiempo para ejecutar cada ciclo son del orden de milisegundos, por lo que nuestro ojo no lo va a percibir. Parece que nosotros solamente vamos a ver si la salida se activa o no se activa, que es lo que nos interesa.

Cómo ejecuta el programa leyendo las variables y activando la salida del PLC

Qué va a hacer el programa TIA Portal en un ciclo de scan.

Si nos damos cuenta en la imagen anterior, el programa ha hecho una lectura secuencial, en la que, en un ciclo de scan ha leído el bloque llamado “Control Motor” y ha activado una marca “M50.0”. posteriormente, ha ido a otro bloque llamado “Salidas” y, como esa variable “M50.0” está activada, ha activado la salida del PLC “Q0.1”. Y todo esto lo ha hecho en el mismo ciclo.

En cambio, imagina que ahora se desactiva esa variable “M50.0” en un momento dado. Debido a esto, cuando el programa lea cada bloque, verá que esa variable está desactivada y, cuando llegue al bloque de “salidas”, ¿qué piensas que le habrá pasado a la salida del PLC?

La salida se ha desactivado en otro ciclo de lectura del PLC

Como puedes ver en la imagen, en este ciclo de lectura del programa del PLC, se ha desactivado la salida del PLC porque la variable que activaba esa salida estada desconectada cuando ha hecho la lectura.

Por consiguiente, podemos comprobar cómo, en un ciclo de scan el programa TIA Portal ha activado unas salidas y en otro ciclo diferente, ha desactivado esas salidas, dependiendo de las condiciones del programa.

¿Cuántos ciclos scan realiza un programa a lo largo del día?

Puede que esta pregunta no tenga sentido hacerla, ya que como hemos comentado anteriormente, cada ciclo se puede medir en milisegundos, por lo tanto, a lo largo del día pueden ser infinitos ciclos.

Pero, quizás es importante saber cuanto va a tardar en ejecutarse un ciclo scan del PLC, ya que cuanto menos tarde en ejecutar un ciclo, menos tardará en leer todo el programa y más rápidamente activará las salidas del PLC.

Problemas con el ciclo de scan.

Parece que la definición de este tiempo que tarda en leer el programa nos puede ser inofensiva, pero vamos a poner un ejemplo que lo complica todo. Imagina que realizas un programa y quieres activar una salida, pero en las condiciones previas has colocado diferentes condiciones para una misma variable en distintas partes del programa.

Condiciones para desactivar una variable en el programa

Como puedes ver en la imagen, en el mismo ciclo de scan ha activado una variable “M50.0” y esa variable ha activado la salida del PLC y, en el mismo ciclo, justo debajo, desactiva la variable “M50.0”. pero qué ha ocurrido? Que la salida del PLC sigue activada ya que la variable “M50.0” se ha desactivado después de la salida física.

En cambio, ahora vamos a realizar el mismo ejemplo, pero vamos a colocar la desactivación de la variable “M50.0” por encima de la salida física. ¿Qué piensas que hará la salida en un ciclo de scan del programa?

Problemas con el ciclo de scan si no colocas bien la secuencia de programa

Como resultado de la programación anterior, te puedes dar cuenta como ahora la salida del PLC “Q0.1” está desactivada y solamente hemos cambiado de lugar el segmento 2 pasando encima de la salida del PLC. Por lo tanto, en el mismo ciclo de scan se está activando y desactivando la variable “M50.0” y, cuando el programa llega a leer el segmento de la salida del PLC, esa variable está desactivada y, por consiguiente, la salida del PLC no se puede activar.

Cual es el modo de funcionamiento ideal para el ciclo de un programa.

Finalmente, como conclusión, hay que decir que la mejor opción para controlar el ciclo de scan es tener una buena estructura de programa, con diferentes bloques de funciones a los que llamar secuencialmente.

Llamada a los bloques del programa de forma secuencial

Es más, hay que tratar de hacer el programa lo más secuencial posible para asegurarnos de que el programa va a leer de arriba abajo y así no sobrescribir variables innecesariamente. Pero esto lo aprenderás con la práctica, así que, tranquilo.

Debido a esto, tenemos que cuidar de nunca duplicar las salidas del PLC, es decir, es recomendable tener siempre las salidas en un solo bloque y que la salida se active una sola vez en cada ciclo de scan. En el resto de los bloques se activarán variables auxiliares que serán las que controlen esa salida después.

Espero que se te haya quedado claro este tema. Con el siguiente enlace accederás al siguiente artículo del Curso TIA Portal, donde te enseñaré qué son las áreas de memoria de un PLC donde vas a trabajar y qué tipos de memoria existen. Imprescindible para conocer qué tipo de PLC tienes que usar dependiendo de la memoria. No te lo pierdas:

Este artículo pertenece al Curso TIA Portal gratis. Puedes acceder al Menú principal del curso con el siguiente enlace, donde encontrarás un guion con todos los temas y desde ahí acceder a cualquiera de los artículos. Fácil y rápido:

Por cierto, si puede ser, déjame un comentario y dime lo que piensas sobre el artículo: bueno o malo, si crees que le falta algo, si te ha ayudado, lo que sea. De esta manera, yo podré mejorarlo y nos servirá a todos. Te contestaré en menos de 24h. Muchas gracias.

Desarrollado y publicado por www.tecnoplc.com. Licencia Creative Commons 4.0. Creative Commons pequeño