Arquitectura del Test
Introducción
En el artículo de hoy vamos a probar Collaboration, una herramienta de Siemens para WinCC Unified que nos permite compartir pantallas (Screens) entre distintos Runtimes.
Esto es muy útil si tenemos HMI distribuidos en planta y queremos, por ejemplo, centralizar toda la información en un único punto sin duplicar las conexiones hacia los PLCs.
Para ello, he montado la arquitectura siguiente:
- Máquina virtual 1: Servidor principal
- TIA Portal V20: estación principal de desarrollo.
- PLCSIM Advanced V7.0
- PLC 1: comunica con SCADA 1 y corre en la 192.168.1.188.
- PLC 2: comunica con SCADA 2 y corre en la 192.168.1.190.
- WinCC Runtime 1: corre el SCADA 1 en la IP 192.168.1.157.
- Máquina virtual 2: servidor secundario
- WinCC Runtime 2: corre el SCADA 2 en la IP 192.168.1.169.
De este modo tenemos dos SCADAS, cada uno apuntando a su PLC, como se ve en la imagen. El objetivo es ver en el SCADA 2 pantallas del SCADA 1 usando Collaboration. Vamos allá.
Collaboration
En primer lugar, asumimos que hemos generado un proyecto con un programa mínimo en cada PLC, y se han hecho las correspondientes configuraciones para que todo quede correctamente comunicando.
Pasos:
Activar la función Collaboration:
SCADA Runtime 1: en el proyecto del HMI, abrimos Runtime settings y seleccionamos la opción Collaboration. Una vez dentro, habilitamos con Enable collaboration.
- System ID: podemos dejarlo por defecto, o ponerle otro.
- Collaboration name: podemos dejar el que se genera a partir del nombre del HMI. Así es como lo veremos cuando busquemos pantallas suyas en otros HMI/SCADAS.
- IP Address: ponemos la IP propia del HMI.
- Connect actively to: en este apartado, la primera vez, no aparecerá nada, ya que aquí aparecen las conexiones con otros HMI.
SCADA Runtime 2: hacemos exactamente lo mismo.
Collaboration Data: una vez hecho lo anterior, debemos seleccionar qué pantallas son las que queremos compartir en ambos SCADAS. Antes habíamos configurado la conexión Collaboration, pero ahora ya hay que especificar qué pantallas son. En nuestro caso vamos a compartir solo la pantalla de Inicio.
Uso de pantallas compartidas
Uso de pantallas: una vez establecida la configuración, ya podemos utilizar pantallas de un HMI en otro de diversas maneras.
Abriendo mediante un botón la pantalla del otro HMI, como si lo hiciéramos con una pantalla propia.
Screen Windows: instanciar un objeto Screen Window y asociarle la pantalla del otro HMI que queramos. De este modo queda integrado en un Screen del HMI 2.
Scripting: existen opciones también para activarlo mediante scripting según eventos o triggers, igual que otras propiedades.
Certificados
Certificados: es importante que en el proyecto estén bien generados y establecidos los certificados en WinCC Unified Certificate Manager, para que esto funcione correctamente.
Generar certificados: se generan certificados para ambos SCADAS.
Añadimos el certificado para Web Server y ponemos la información.
Añadimos el certificado para Runtime Collaboration.
Exportación de certificado: una vez generados ambos certificados para los dos SCADA, nos quedaría algo así:
Seleccionamos Exportar:
Y se nos generan estos archivos:
Los copiamos y pegamos, o mediante USB. La intención es importarlos en el otro PC, donde está el HMI 2 corriendo.
En HMI 2, abrimos el SIMATIC Runtime Manager y seleccionamos Settings:
Seleccionamos Importar y vamos a buscar el certificado previamente generado y copiado en esta máquina.
Certificado instalado: ya tenemos el certificado instalado en HMI_1 y HMI_2.
Resultados
Resultados: para este ejemplo, he compartido la pantalla Main del HMI_1 en el HMI_2 de dos formas. Primero mediante un botón, accediendo con ChangeScreen, y por otro lado usando el objeto de Screen Viewer.
Change Screen: apreciamos como las IP de los Runtime, cada uno es la de la suya.
Pulsando el botón de Change Screen configurado, podemos visualizar el Screen de HMI_1 en el HMI_2, como se observa en la imagen, cada uno con su IP.
Screen Viewer: en este caso está incrustado el objeto Screen Viewer dentro del HMI_2, visualizando la Main del Screen 1.