Necesitamos ver estado de bits dentro de unas variables donde se han almacenado datos, (función SCATTER) que son de tipo Word, Dword, etc… pero queremos conocer y utilizar el estado de un solo bit dentro de estas variables.

¿Para qué necesitamos ver estado de bits?

En ocasiones, disponemos de variables de tipo WORD, o DWORD donde se almacenan datos a lo largo del programa. Pero, necesitamos conocer el estado de solamente uno de los bits dentro de ese WORD o DWORD. Por ejemplo, imaginad que los errores de la máquina se almacenan dentro de este WORD. Y en ese WORD, el error que nos indica que ha fallado un presostato nos lo dice el Bit número 11 de ese WORD.

Ejemplo de variable para alarmas generadas.

Utilizar la función SCATTER para ver estado de bits.

Con la función Scatter vamos a poder acceder a todos los bits dentro de esa variable y conocer así el estado de cada uno de ellos. Esta función coge un bloque de bits y los coloca en un array de bits. Así que debemos de utilizar esta función cogiéndola del árbol de instrucciones del programa.

Función Scatter en TIA Portal.

Utilización de la función.

Lo primero que hay que crear es un array de datos de tipo Bool, donde se van a almacenar toda la descomposición que generará la función Scatter. Para ello, creamos un DB de datos y dentro un Array de Booleanos.

Crear un Array de Booleanos dentro de un DB.

Una vez creado el array ya podemos llamar a la función Scatter, desde el árbol de instrucciones y colocarlo en el segmento. Una vez insertado, debemos rellenar los campos de la función, tanto de los parámetros de entrada “IN” y los parámetros “OUT” así como insertar un contacto de habilitación de la función en el parámetro “EN”.

Insertar la función Scatter para ver estado de bits.

Pondremos una marca para habilitar la función. Y en el parámetro IN podremos el WORD que habíamos creado como “Alarmas_Generadas”. En el parámetro OUT pondremos el array creado en el DB de datos.

Función Scatter con los parámetros para ver estado de bits.

Ver los valores ONLINE.

Una vez ejecutada la función y nos ponemos ONLINE, cuando se active la habilitación de la función, veremos como el valor que hay en el parámetro de entrada se refleja en los bits del Array que hemos colocado en la salida. En este ejemplo ONLINE, vemos como la variable WORD tiene un valor de “15”, con lo cual en el Array de bits se activará el Bit número “4”, que se corresponde con ese valor “15” del WORD.

Ver los bits que se activan en el Array de datos.

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