Integración · PLC

Conectar OPC UA a Beckhoff TwinCAT

ProductoBeckhoff TwinCAT
CategoríaPLC
Rol de OPC UACliente y servidor

TwinCAT expone OPC UA a través de la función TF6100: un servidor, un cliente y un gateway, configurados en el target y no en el programa de PLC. Los símbolos se publican mediante pragmas de atributo en el código, lo que convierte la interfaz publicada en una decisión de tiempo de compilación. TF6100 es una función con licencia, así que confirme el licenciamiento con Beckhoff.

Antes de empezar

  • La función OPC UA TF6100 instalada en el target y licenciada para él. Las licencias en targets de Beckhoff son una barrera real; determine qué licencia necesita y cómo se aplica antes de la puesta en marcha.
  • Un proyecto de TwinCAT que pueda compilar y activar, porque la publicación de símbolos se controla mediante atributos en el código fuente y surte efecto al activar.
  • Acceso a la configuración del servidor OPC UA del target, ya sea mediante la herramienta Configurator o el fichero de configuración del servidor, más acceso al sistema de ficheros de su directorio PKI para el trabajo con certificados.
  • Una decisión sobre qué puerto de runtime va a exponer. Un target TwinCAT suele alojar más de un runtime de PLC, y cada uno es un endpoint ADS distinto que el servidor puede publicar.

Cómo configurarlo

  1. Instale y licencie TF6100 en el targetLa función tiene que estar presente y licenciada en la máquina que va a servir, que en un IPC o un controlador embebido de Beckhoff es el propio controlador, no el portátil de ingeniería. Verifique el estado de la licencia antes de depurar nada más.
  2. Marque los símbolos que quiere publicarLa publicación se activa de forma explícita mediante pragmas de atributo en la declaración, por ejemplo {attribute 'OPC.UA.DA' := '1'} encima de una variable, una estructura o una lista de variables globales completa, con un atributo de acceso complementario que controla si el símbolo es de lectura, de escritura o ambas. Aplicar el pragma a una GVL o a una estructura publica sus miembros, que es la forma de mantener la interfaz pequeña y revisable.
  3. Recompile y active la configuraciónLos pragmas se compilan dentro de la información de símbolos, así que hace falta recompilar y activar antes de que cambie el espacio de direcciones. Un ingeniero que edita pragmas y luego se pregunta por qué el árbol de exploración no ha cambiado casi siempre se ha saltado este paso.
  4. Apunte el servidor al runtime y compruebe el espacio de nombresConfigure qué dispositivo ADS y qué puerto de runtime publica el servidor y explore después el árbol resultante. Lea el NamespaceArray y registre el URI del espacio de nombres del runtime; ese URI, y no el índice, es lo que debe contener la configuración de su cliente.
  5. Complete el intercambio de certificados en el targetEl servidor mantiene un directorio PKI con las carpetas habituales de confianza, emisores, rechazados y CRL. Conéctese una vez con su cliente, deje que el intento falle y mueva después el certificado del cliente de la carpeta de rechazados a la carpeta de confianza en el target, reiniciando el servidor si cachea la lista de confianza. Confíe también en el certificado del servidor en el lado del cliente.
  6. Importe un modelo de información si la máquina tiene unoCuando la versión de TF6100 instalada admita la importación de nodesets, cargue el NodeSet2 complementario y vincule los símbolos publicados a las variables del modelo, para que el cliente vea tipos estándar en lugar de un árbol de símbolos ADS. Confirme el mecanismo de importación soportado por su versión antes de diseñar en torno a él.
  7. Ajuste las suscripciones a la realidad de ADSEl servidor muestrea el runtime a través de ADS, así que su intervalo de muestreo OPC UA está acotado por lo que esa capa y el ciclo de tarea puedan entregar. Fije el intervalo de publicación a la cadencia que necesite su consumidor, aplique bandas muertas a las analógicas y vuelva a leer los intervalos revisados que devuelve el servidor.

Qué aspecto tiene el espacio de direcciones

El espacio de direcciones por defecto refleja el árbol de símbolos ADS del runtime publicado: una jerarquía que sigue el dispositivo y el puerto de runtime, después las listas de variables globales y las instancias de programa, y después las variables que haya marcado, con los miembros de las estructuras anidados tal y como se declaran. Los identificadores son cadenas construidas a partir de la ruta del símbolo, de modo que una variable aparece con el nombre completo que tiene en el código, lo que hace legible el mapeo pero acopla su cliente a la nomenclatura del código. Las versiones más recientes pueden presentar además una carpeta de estilo modelo de dispositivo derivada del Device Information Model. Cuando se ha importado y vinculado un nodeset, los tipos complementarios estándar aparecen junto al árbol de símbolos o en su lugar, y esa es la versión que conviene exigir para cualquier integración que se espere reutilizar.

Las trampas

  • TF6100 es de pago, y la licencia reside en el target. Esto es un riesgo de compras y de planificación más que técnico, y es la misma clase de trampa que la opción de servidor de un fabricante de PLC: confirme la licencia con Beckhoff antes de comprometer fechas.
  • Renombrar una variable, moverla entre GVLs o cambiar una estructura cambia el identificador de cadena, y el cliente se rompe con BadNodeIdUnknown aunque nada de la máquina haya cambiado. Trate el conjunto de símbolos marcado con pragmas como una API publicada, con un proceso de cambios.
  • Los índices de espacio de nombres se asignan al arrancar el servidor y pueden desplazarse cuando cambia el conjunto de runtimes publicados o la configuración del servidor. Resuélvalos desde el NamespaceArray al conectar.
  • La confianza en los certificados es aquí el mayor obstáculo práctico, como en todas partes, con el matiz añadido de que el almacén de confianza es un directorio en el controlador. Alguien necesita acceso al sistema de ficheros de ese controlador durante la puesta en marcha, y esa persona no suele ser la que lleva la tarea de OPC UA.
  • El atributo de acceso de escritura es independiente de la publicación. Un símbolo publicado como solo lectura es visible, acepta una petición de escritura y devuelve un estado Bad, así que compruebe siempre el StatusCode devuelto.
  • El servidor lee a través de ADS, así que un símbolo actualizado una vez por ciclo de tarea no puede muestrearse más rápido que ese ciclo, pida el intervalo que pida. Los intervalos rápidos solicitados compran carga de CPU, no resolución.
  • Las estructuras publicadas en bloque pueden llegar como valores estructurados que su cliente debe decodificar. Confirme que su cliente puede manejar el mecanismo de descripción de tipos del servidor antes de diseñar en torno a estructuras en lugar de variables planas.

Cómo sacarle datos de OEE

TwinCAT es una de las mejores plataformas de PLC de las que tomar datos de OEE, porque el mecanismo de pragmas permite al fabricante de la máquina publicar una interfaz pequeña y deliberada: una variable de estado, un contador de piezas buenas y otro de rechazos, un código de fallo o de motivo, una marca de tiempo de ciclo. Exija esa interfaz en lugar de un volcado masivo de símbolos. Los recuentos deben mantenerse en el PLC como contadores; detectar flancos de un booleano a las cadencias de muestreo de OPC UA perderá ciclos cortos, porque el muestreo está limitado por el ciclo de tarea y el intervalo de publicación. Si el fabricante ha importado un nodeset de maquinaria y ha vinculado símbolos a una máquina de estados y a un contador estándar, el mapeo de disponibilidad y de recuentos pasa a ser portable y podrá reutilizar el cliente en máquinas de otros fabricantes. El tiempo de producción planificado, los calendarios de turnos y los tiempos de ciclo estándar no están en el controlador.

Verifique esto antes de confiar en ello:El modelo de licencias de TF6100, qué componentes cubre, las plataformas y versiones de TwinCAT soportadas y si su versión admite importación de modelos de información, PubSub o los componentes de cliente y gateway son aspectos controlados por el fabricante y han cambiado entre versiones. Los nombres exactos de los pragmas y la codificación de los atributos de acceso deben comprobarse en la documentación de la versión instalada y no tomarse de ninguna página de terceros, incluida esta. Confirme con Beckhoff las licencias, el soporte de plataforma y la sintaxis de los pragmas antes de construir una interfaz sobre ellos.

Última verificación el 7 de septiembre de 2026 frente a OPC UA 1.05.07. OPC UA Connect es un recurso educativo y no está afiliado a la OPC Foundation.

Descarga gratuita
OPC UA Machine Data → OEE Mapping Kit
A qué nodos suscribirse, cómo se convierten en Disponibilidad, Rendimiento y Calidad, y qué especificación complementaria ya le da la respuesta, para que deje de inventar tags.
Consiga el kit de mapeo gratis →
Gratis, sin curso, sin registro