Objetivo del tutorial
El objetivo de este tutorial es enseñar el funcionamiento y programación de la función de contador descendente disponible dentro del software de programación TIA Portal V16.
Configuración utilizada en el proyecto
- CPU: 1511C-1 PN - Referencia: 6ES7 511-1CK01-0AB0
Contador descendente (CTD)
Parámetros de la instrucción
- CD: Entrada de contaje, este parámetro es el que se encarga de decrementar el valor del contador al activarse.
- LD: Entrada de carga, al activarse este parámetro, el valor del contador (CV) cambia al valor que se introduzca en el parámetro (PV).
- PV: Valor que se carga en la salida CV cuando se activa la entrada de carga (LD).
- Q: Estado del contador, este parámetro se activa cuando el valor del parámetro CV es igual o menor que cero, en el resto de casos permanece desactivado.
- CV: Valor de contaje actual, este parámetro se decrementa en 1 cada vez que se produce un flanco positivo en el parámetro CD. Este valor deja de decrecer cuando la señal de carga (LD) está activada.
Funcionamiento de la instrucción
El funcionamiento de esta instrucción es bastante sencillo. Cada vez que se produzca un flanco positivo en el parámetro CD el valor del contador (CV) irá decrementando en 1. Una vez el valor del contador (CV) alcanza el valor cero o un valor menor que cero, se activa la salida Q. La salida Q permanece activa hasta que se activa la señal de carga (LD).
Ejemplo de programación
Para este tutorial vamos a programar la instrucción de contador descendente directamente en el OB1, utilizando el lenguaje KOP.
En un segmento vacío llamamos a la instrucción CTD. Esto lo podemos hacer de dos formas distintas:
1: Utilizando la instrucción “Cuadro vacío” y escribiendo en ella CTD.
2: Arrastrando la instrucción CTD desde la ventana de instrucciones. La instrucción de CTD se encuentra dentro del apartado de instrucciones básicas en la carpeta de contadores.
Para que la instrucción de contador descendente pueda funcionar es necesario crear una instancia de esta instrucción mediante el uso de un bloque de datos. Esto es muy sencillo de hacer, ya que cuando llamamos a la instrucción en un segmento, automáticamente se nos abrirá una ventana que nos permitirá crear la instancia necesaria.
En esta ventana podemos cambiar el nombre del bloque de datos y seleccionar el número de bloque. En este caso al tratarse de un ejemplo sencillo dejaremos las dos cosas por defecto. Para terminar con la creación del bloque de datos pulsamos en “Aceptar”.
Una vez hecho esto, iremos a la tabla de variables del PLC y crearemos tres nuevas variables de tipo Bool y una variable de tipo Int, que direccionamos a marcas de memoria:
- Conteo_Descendente - Dirección: %M100.0
- Cargar_Valor - Dirección: %M100.1
- Conteo_Finalizado - Dirección: %M100.2
- Conteo_Restante - Dirección: %MW102
Una vez hemos creado estas cuatro variables, volvemos al bloque donde estamos programando el contador, en nuestro caso, el bloque OB1.
Para terminar nuestra programación vamos a realizar los siguientes pasos:
1: Añadimos un contacto normalmente abierto en el parámetro CD de nuestro contador. A este contacto le asignaremos la variable “Conteo_Descendente ” que hemos creado previamente. Esta variable será la que tendremos que activar para hacer descender el valor del contador.
2: Añadimos otro contacto normalmente abierto en el parámetro LD de nuestro contador. A este contacto le asignamos la variable “Cargar_Valor ” que hemos creado previamente. Esta variable será la que tendremos que activar cuando queramos cargar el valor programado en el parámetro PV al contador.
3: Para hacer las cosas simples, en el parámetro PV del contador vamos a escribir directamente un 3. Esto quiere decir que la salida de nuestro contador se activará cuando el parámetro CD sea activado 3 veces.
Nota: A este parámetro también se le puede asignar una variable de tipo entero. Esto puede utilizarse para dinamizar el funcionamiento del contador. Por ejemplo, haciendo que este valor cambie en función de la situación de la instalación. También puede servir para que el contador pueda ser consignado desde un HMI.
4: Añadimos una bobina al parámetro Q de nuestro contador. A esta bobina le asignamos la variable “Conteo_Finalizado”. Esta variable se activará cuando el valor del parámetro CV del contador sea igual o menor que cero.
5: Asignamos la variable “Conteo_Restante” al parámetro CV del contador. Esto nos permitirá visualizar en tiempo real, el valor del contador cuando lo estemos probando en el modo simulación.
Con esto habremos finalizado la programación de nuestro contador.
Simulación del programa
Ahora procederemos a probar nuestro programa, simulándolo mediante el uso del software PLC SIM.
Una vez iniciamos la simulación podremos ver una diferencia muy importante entre la función de contador descendente y contador ascendente. Esta diferencia es que el parámetro (Q) del contador está activado la primera vez que iniciamos el programa del PLC, a diferencia de lo que ocurría con el contador ascendente. Esto se debe a que el parámetro (CV) del contador se inicia por defecto con el valor cero, y el parámetro (Q) del contador se activa cuando el valor del contador (CV) es igual o menor que cero, como vimos anteriormente. Hasta que no activamos el parámetro LD no se carga en el contador el valor del parámetro PV.
Nota: Ten lo anterior en cuenta a la hora de utilizar esta función.
Después de activar una vez la variable “Cargar_Valor”, si hemos realizado la programación correctamente, la variable “Conteo_Finalizado” debería de activarse después de que activemos la variable “Conteo_Descendente” tres veces. Para desactivarla activaremos la variable “Cargar_Valor ”.
Nota: Para activar y desactivar las variables de manera cómoda, las seleccionaremos con el cursor y utilizaremos el comando Ctrl+F2 para forzar la variable 1 y el comando Ctrl+F3 para forzar la variable a 0.
Síguenos en