Pulsa ESC para cerrar · Ctrl+K para abrir

Servidor OPC UA Siemens S7-1500: TIA Portal V20 y PLCSIM

Objetivo y herramientas

El objetivo es preparar un PLC Siemens para servir variables por OPC UA, simularlo con PLCSIM Advanced y comprobar la conexión desde UA Expert.

Para el ejemplo uso una CPU 1515-2 PN, la interfaz de red 1 y una IP de proyecto 192.168.1.188. La idea es mantener el proyecto sencillo: un DB con variables, una FC que las va cambiando y el servidor OPC UA del propio PLC publicando esos datos.

Herramientas utilizadas:

  • TIA Portal V20: desarrollo y configuración del proyecto.
  • PLCSIM Advanced V7.0: simulación del PLC en red Ethernet.
  • UA Expert: cliente OPC UA para validar el servidor.
  • Codex: apoyo para generar el bloque SCL de simulación de valores.

Activación OPC UA

Dentro de las propiedades de la CPU activamos la funcionalidad de servidor OPC UA y la asociamos a la interfaz de red que vamos a utilizar. Siemens mantiene documentación específica para usar el S7-1500 como servidor OPC UA en TIA Portal. En este caso trabajamos con la interfaz 1 de la CPU.

Activación del servidor OPC UA en una CPU Siemens S7-1500
Configuración de la interfaz de red para OPC UA en TIA Portal

Con esto dejamos preparado el punto de entrada del servidor. Todavía faltan dos partes importantes antes de descargar: la licencia OPC UA y los permisos de acceso.

Licencia OPC UA

Para usar esta funcionalidad hace falta la licencia OPC UA correspondiente al tipo de CPU. En la página oficial de OPC UA de Siemens se resume el enfoque de Siemens para comunicaciones OPC UA en automatización industrial. En TIA Portal la licencia se separa por tamaño de controlador:

  • Small: CPUs de entrada, como 1511, 1512C, 1513 y controladores distribuidos ET 200SP.
  • Medium: gama media, como 1515 y 1516. Es la licencia que aplica a este ejemplo.
  • Large: CPUs de más rendimiento, como 1517 y 1518.
Selección de licencia OPC UA para PLC Siemens S7-1500
Licencia OPC UA Medium para CPU Siemens 1515

Permisos de usuario

Al compilar, TIA Portal puede avisar de que faltan permisos de usuario para OPC UA. La solución es crear un rol específico, habilitar el Runtime right correspondiente en el PLC y asignar ese rol al usuario que vaya a acceder al servidor OPC UA.

Aviso de compilación por permisos OPC UA en TIA Portal

Primero creamos el rol para OPC UA.

Creación de un rol de usuario para OPC UA

Después creamos el Runtime right en el PLC y lo dejamos disponible para ese rol.

Configuración de Runtime right para OPC UA en el PLC

Por último asignamos el rol a los usuarios que nos interesen. En este caso lo asignamos al usuario admin, para que la conexión OPC UA pida usuario y contraseña y quede protegida por credenciales.

Este usuario debe estar creado previamente con una contraseña. Esa misma contraseña será la que después introduciremos en el cliente OPC UA al establecer la conexión contra el PLC.

Asignación del rol OPC UA al usuario admin en TIA Portal

FC y DB de simulación

Para tener datos que cambien en el cliente OPC UA, creo un pequeño programa de simulación. La base es un DB con variables y una FC en SCL que va modificando sus valores.

FC y DB para simular variables en TIA Portal

Primero creo las variables que quiero simular.

Variables del DB que se publicarán por OPC UA

Después habilito marcas de reloj para poder usar pulsos internos y cambiar valores de forma sencilla.

Activación de marcas de reloj en una CPU Siemens

La FC de simulación la preparo en SCL con ayuda de Codex, para generar rápidamente un comportamiento de prueba.

Prompt para generar una FC SCL de simulación de variables
Código SCL generado para simular valores en el PLC

Simulación del PLC

Con el programa listo, habilito la simulación en el proyecto y preparo la instancia en PLCSIM Advanced.

Habilitar la simulación del PLC desde TIA Portal

En PLCSIM Advanced uso SingleAdapter y asigno la IP del proyecto: 192.168.1.188. De este modo el cliente OPC UA podrá conectar contra esa dirección.

Instancia de PLCSIM Advanced con SingleAdapter e IP 192.168.1.188

Interfaz del servidor OPC UA

Una vez creadas las variables, configuramos una interfaz de servidor OPC UA en el proyecto.

Creación de una interfaz de servidor OPC UA en TIA Portal

Después añadimos las variables que queremos servir. Para ello basta con arrastrar el DB o las variables a la interfaz OPC UA. Cuando esté todo listo, descargamos el PLC simulado.

Variables arrastradas a la interfaz del servidor OPC UA

Comprobación con UA Expert

Para validar el servidor uso UA Expert, el cliente OPC UA de Unified Automation. La URL del endpoint en esta prueba es:

opc.tcp://192.168.1.188:4840

En este artículo dejamos la seguridad de canal de la comunicación OPC UA en No security (None). Es decir, usamos usuario y contraseña para el acceso, pero no activamos todavía firmado ni cifrado del canal. La parte de conexión autenticada con políticas de seguridad y cifrado la desarrollaremos en un artículo específico.

UA Expert con política No security None para la conexión OPC UA

Después de descubrir el servidor y seleccionar la conexión, UA Expert solicita las credenciales. Aquí introducimos el usuario admin y la contraseña configurada previamente en TIA Portal.

Conexión desde UA Expert al endpoint OPC UA del PLC Siemens
UA Expert solicita usuario admin y contraseña para conectar al servidor OPC UA

Al conectar, entramos en la carpeta ServerInterfaces y allí aparece el DB publicado desde TIA Portal.

DB publicado dentro de ServerInterfaces en UA Expert

Con esto queda validado el recorrido completo: PLC simulado, servidor OPC UA activo, variables servidas y cliente externo leyendo la estructura publicada.

Artículos relacionados