Hola a todos, como muy bien dice Jopapa, voy ha explicar que es WinCC.
WinCC es un SCADA del señor SIEMENS, el cual nos permite adquirir datos de aquellos PLC o en este caso micro-controladores que estén conectados a él, eso nos permite registrar, visualizar, manipular, re-difundir, las variables a las cuales tiene acceso, también puede enlazar con SQL server y hacer infinidad de cosas.
El motivo de hacer este tutorial es reflejar los conocimientos que he adquirido al realizar mi propio proyecto, que consiste en domotizar toda mi casa (obra nueva) y tener un control total de mi casa desde calefacción, control de persianas, consumos eléctricos (parciales y totales), consumos de agua, etc.
MANUAL PARA ENLAZAR WinCC V7.2 con Arduino 1.5.6-r2
- . Configuración WinCC:
a) Creación del proyecto.
b) Configuración del nodo de conexión Modbus TCP.
c) Declaración de variables.
d) Creación de pantalla.
e) Visualización de variables y configuración.
- . Configuración Arduino:
a) Utilización de la librería “Mudbus.h”.
b) Realización de programa.
c) Programa.
Configuración WinCC:
Creación del proyecto:
Se supone que ya tenemos WinCC 7.2 instalado con SIMATIC NET para asegurarnos que no tendremos problemas con los drives de Motbus TCP/IP y digo que se supone que está instalado porque esto daría para otro manual.
En este caso vamos a hacer un proyecto monopuesto, vamos a lo sencillo, el que quiera experimentar……..
Captura_1
Le damos un nombre, en este caso Arduino.
Captura_2
Ya tenemos el proyecto Iniciado.
Configuración del nodo de conexión Modbus TCP.
Ahora nos aparecerá una pantalla en la que en el marguen izquierdo nos saldrá un árbol en donde aparece Administración de variables clicamos dos veces y nos saldrá otra ventana.
Captura_3_1
En esta ventana tenemos un árbol en el cual también tenemos Administración de variables. Clicamos con el botón derecho y agregamos un driver Modbus TCPIP.
Captura_3_1
Ahora ya tendremos agregado el drive de Modbus TCPIP le podemos cambiar el nombre en este caso le ponemos Arduino.
Captura_4_1
Una vez le hayamos cambiado el nombre, hacemos clic con botón derecho y pulsamos parámetros de enlace.
Captura_5_1
Ahora sí, aquí es donde viene lo bueno. Aquí es donde tendremos que poner la IP del esclavo Modbus, en nuestro caso IP: 192.168.0.69 por el puerto 502, lo demás no lo tocaremos.
Captura_6_1
Declaración de variables.
Bien ahora ya tenemos el drive o nodo configurado, vamos a declarar variables, para ello vamos a la parrilla que nos sale a la derecha y al lio. Nombre de variable, tipo de dato, cuidado con esto es muy importante ya que Arduino nos va enviar enteros con signo, también puede enviar booleanos, pero yo utilizo enteros sin signo para enviar booleanos, multiplexo en arduino y desmultiplexo en WinCC.
Captura_7_1
Si clicamos en los puntos suspensivos de la pestaña Dirección nos saldrá una ventanita donde debemos seleccionar el tipo de área de memoria en este caso 4x Holding Registers 400001 es donde iremos a leer el valor de Arduino tenemos que tener en cuenta que en Arduino vamos a escribir en un array donde el primer registro es 0 mientras que en WinCC es 1.
También se pueden separar las variables en grupos.
Captura_10_1
Ordenamos las variables y les asignamos las áreas de memoria.
Captura_11_1
Creación de pantalla.
Ahora iremos a crear lo que nos interesa, pantallas.
Vamos a ir a lo más básico, enviar y recibir dos tipos de datos, enteros y booleanos entre Arduino y WinCC.
De momento vamos a por la pantalla, en Graphic Designer – Nueva imagen
Captura_12
Nos aparecerá un nuevo archivo en la ventana de la derecha en el que tendremos que clicar con el botón derecho y clicar en Definir imagen como imagen inicial no hace falta explicar que hace esto.
Captura_13_1
Visualización de variables y configuración.
Una vez hecho esto abriremos el archivo que ya habremos cambiado de nombre, en este caso lo he nombrado Principal, con la extensión *.Pdl.
Captura_14
Seleccionaremos, en el árbol de la izquierda, donde nos aparecen muchos de los controles de WinCC. Campo E/S. Una vez que ya tengamos seleccionado este campo iremos a la parrilla central para marcar un rectángulo.
Captura_15_1
Nos aparecerá una ventana que nos mostrará que Variable queremos poner, tiempo de Actualización, si es Entrada, Salida o E/S Tamaño de fuente Tipo de fuente. Color.
Captura_16_1
Seleccionamos La variable del desplegable, Integer_IN y en el tipo de campo marcamos Salida.
Captura_18_1
En la ventana inferior tenemos una pestaña Propiedades donde podremos configurar el objeto seleccionado.
Captura_19_1
Captura_20_1
Para las entradas y salidas booleanas tendremos que modificar el formato de dato y el formato de salida para poder ver los bits correctamente.
Captura_22_1
El resultado final sería este.
Captura_22_2
Importante: Las variables de Arduino à WinCC las tendremos que marcar como Salidas y las variables de WinCC à Arduino como Entradas .
Captura_18_2
Manual enlace WinCC V7.2 to Arduino.doc (1.15 MB)
Soft Arduino.zip (1.93 KB)