7 de octubre de 2012

Comunicación entre un PLC Beckhoff BC8150 y un panel Pro-face GP4105

En las entradas anteriores me preparé para la programación de un PLC Beckhoff BC8150. Al puerto serie de este PLC, haciendo la función de HMI, voy a conectar un panel táctil Pro-Face GP4105. En esta entrada voy a explicar los pasos que he dado para comunicar ambos dispositivos.


El protocolo de comunicación que se va a utilizar es Modbus RTU. En el PLC simplemente hay que darle una dirección entre 40 y 59 en los interruptores rotatorios que tiene en el frontal (con una dirección superior a 40 el PLC se configura automáticamente en Modbus RTU).

El cable de comunicación tendrá por un extremo un conector DB9 macho para el PLC y el otro lo embornaremos en el panel, con el siguiente conexionado:

4 de octubre de 2012

Mapeado de entradas/salidas y configuración para un PLC Beckhoff 8150

En la entrada anterior preparé la comunicación con el PLC y, partiendo de ahí, voy a realizar el mapeado de entradas/salidas y la configuración del PLC para dejarlo listo para empezar a programar.

NOTA: La versión de TwinCAT que estoy utilizando es la 2.11.2220

El primer paso será ejecutar el TwinCAT PLC Control y generar un nuevo proyecto.


Nos pedirá el tipo de comunicación con el PLC y, según la tenemos configurada, deberemos marcar BCxx50 or BX a través de AMS.

3 de octubre de 2012

Preparativos para programar un PLC Beckhoff BC8150

Tengo entre manos un proyecto para el que hemos seleccionado un PLC Beckhoff BC8150. Es un PLC económico de gama baja que lleva incorporado un puerto serie RS232. En esta entrada voy a describir los pasos que tuve que dar para configurar la comunicación para programarlo.


En esta ocasión he instalado el software de programación TwinCAT (descargable gratuitamente desde aquí) en una máquina virtual. La conexión con el PLC será a través de un cable de programación serie, que ya tenía de proyectos anteriores. Mi portátil viene con puerto serie integrado, pero he notado que de vez en cuando pierde la comunicación, no recuperándola hasta reiniciar la máquina virtual. Sin embargo, usando un adaptador serie/USB con chipset Prolific el funcionamiento ha sido óptimo.

El BC8150 tiene dos ruedas numeradas donde se selecciona el protocolo y la dirección de comunicación. Si la dirección está entre 0 y 39 el protocolo será autoconfigurable. Entre 40 y 59 el protocolo será Modbus RTU. Para programar será necesario que la dirección sea inferior a 40 (más información aquí).

NOTA: Aunque físicamente hay dos conectores serie (el superior para programación con el cable de Beckhoff y el inferior para la conexión de dispositivos), internamente deben ser el mismo. Esto implica que si tenemos un dispositivo conectado al puerto DB9, para poder programar deberemos desconectarlo.

Con mi PLC alimentado y el cable serie conectado puedo empezar a configurar la comunicación. Sobre el icono de TwinCAT, con el botón derecho, pulso sobre Properties.

6 de julio de 2012

Midiendo el tiempo de arranque de una máquina con un script en WinCC Flexible

Hace ya unas semanas un lector me hizo una consulta sobre cómo medir el tiempo de arranque de una máquina con un script en WinCC Flexible. En su momento no tuve tiempo de responderle, pero he hecho una prueba y aprovecho para publicarla en el blog.

Lo que se pretende es visualizar en una pantalla el tiempo de arranque de una máquina. No existe la posibilidad de modificar el programa PLC, con lo que toda la programación deberá hacerse sobre WinCC Flexible.

Con este planteamiento lo primero es localizar dos variables en el programa PLC que nos sirvan para identificar los momentos de inicio y fin de arranque. Para mi ejemplo he enlazado dos variables llamadas INICIO_CICLO y FIN_CICLO que cumplirán esta función y mediante dos botones desde el HMI simularé su activación. También crearé con formato Long tres variables internas, una para el tiempo de inicio (TIEMPO_INICIAL), otra para el tiempo final (TIEMPO_FINAL) y la tercera para la diferencia entre ambos (TIEMPO_MEDIDO), que será el tiempo de arranque buscado.


Estas variables deberemos enlazarlas desde el HMI, seleccionando en su configuración Ciclo continuo y ajustando el Tiempo de adquisición al más bajo posible: 100 ms. Así el panel estará leyendo cada 100 ms el valor de estas variables desde el PLC. Por lo tanto es importante que estas variables en el PLC estén activadas durante más de 100 ms.

27 de junio de 2012

Ajustando una fibra de detección de color Keyence CZ-V21AP con cabezal CZ-H32

En un proyecto reciente hemos tenido la necesidad de colocar un sensor para distinguir entre varios tipos de piezas a través de su color. Las piezas tenían formas similares pero su acabado superficial era plástico verde o azul, o metálico brillante. El sensor elegido para realizar esta función fue una fibra óptica de Keyence, compuesta por un amplificador referencia CZ-V21AP y un cabezal referencia CZ-H32. En esta entrada voy a explicar, a modo de guía, cómo he realizado la configuración y su calibración.

Imagen del amplificador (disculpad la mala calidad de las fotos)

Imagen del cabezal

29 de mayo de 2012

Trends en RSLogix5000

Una de las herramientas que se han vuelto imprescidibles en mi trabajo diario con RSLogix5000 son los Trends (tendencias). Sirven para representar gráficamente a modo de osciloscopio o analizador lógico cualquier variable a la que tengamos acceso en nuestro programa PLC. Los Trends se guardan en el proyecto de RSLogix5000 sin que afecten al PLC. Las capturas de datos que hagamos podremos almacenarlas en un formato propio o exportarlas a formato CSV, aceptable por cualquier programa de hoja de cálculo.

Para crear un Trend vamos al árbol de nuestro proyecto y con el botón derecho sobre la carpeta Trends seleccionamos New Trend...

A continuación nos pedirá un nombre, una descripción y un periodo de muestreo (modificables más adelante).