Integración · PLC

Conectar OPC UA a CODESYS

ProductoCODESYS
CategoríaPLC
Rol de OPC UAServidor

CODESYS proporciona un servidor OPC UA como parte de su runtime y, como CODESYS es el motor dentro de muchas marcas de PLC pequeñas y medianas, a menudo se lo encuentra sin que el armario lo indique en la placa. Los símbolos se publican a través del objeto Symbol Configuration, y el servidor suele requerir una licencia de runtime.

Antes de empezar

  • Un runtime que incluya el componente de servidor OPC UA, y la licencia que lo activa. La licencia es por runtime y normalmente es responsabilidad del fabricante del dispositivo y no de CODESYS directamente, que es exactamente por lo que se pasa por alto.
  • El CODESYS Development System en una versión compatible con el runtime del dispositivo.
  • Un objeto Symbol Configuration en la aplicación. Sin él no hay nada que publicar, y añadirlo es un cambio de código que exige una descarga.
  • Acceso al sistema de ficheros o a la configuración del runtime para el manejo de certificados, y saber dónde ha puesto el directorio PKI ese fabricante de dispositivo en concreto.

Cómo configurarlo

  1. Determine qué está ejecutando realmenteIdentifique el fabricante del dispositivo, la versión del runtime de CODESYS y si el componente de servidor OPC UA está instalado y licenciado. En un controlador con marca de OEM esto exige una llamada de teléfono, y hacerla primero ahorra un día. La denominación del proveedor para esa opción no coincidirá con la documentación de CODESYS.
  2. Añada una Symbol Configuration y seleccione símbolosAñada el objeto Symbol Configuration a la aplicación, compile y luego marque las variables, instancias de programa o listas de variables globales que quiera publicar, fijando por entrada el acceso de lectura o de lectura y escritura. Seleccionar una GVL completa es la elección pragmática habitual; seleccionarlo todo es la forma de acabar con un espacio de direcciones imposible de explorar en un controlador pequeño.
  3. Confirme que la configuración de símbolos está preparada para la publicación OPC UAEl objeto Symbol Configuration tiene ajustes que controlan cómo se exponen los símbolos y si el servidor OPC UA los publica. Compruébelos en lugar de dar por supuesto que marcar una variable basta, porque ese mismo objeto sirve también a otros clientes.
  4. Compile y descargue, y reinicie el runtime si hace faltaLos cambios de símbolos surten efecto con la descarga de la aplicación; algunos runtimes necesitan un reinicio antes de que el servidor reconstruya su espacio de direcciones. Verifíquelo explorando, no inspeccionando el proyecto.
  5. Explore y registre el URI del espacio de nombresConecte un cliente, lea el NamespaceArray y anote el URI del espacio de nombres de la aplicación. Guarde el URI más el identificador en su configuración; el índice se moverá.
  6. Complete el intercambio de confianzaConecte una vez a un endpoint seguro, deje que falle y después mueva el certificado de su cliente al almacén de confianza del runtime y confíe en el certificado del servidor desde el cliente. Cuando el fabricante del dispositivo gestione los certificados mediante una interfaz web o una herramienta de dispositivo en vez de un sistema de ficheros, use esa vía.
  7. Compruebe los límites del runtime y ajuste los intervalos en consecuenciaLos targets CODESYS pequeños son con frecuencia los servidores más ajustados que encontrará en número de sesiones, suscripciones y elementos monitorizados. Cree la suscripción que pretende ejecutar en producción, vuelva a leer los intervalos de muestreo y publicación revisados y diseñe para esos valores.

Qué aspecto tiene el espacio de direcciones

El espacio de direcciones publicado sigue la estructura de la aplicación: un espacio de nombres para la aplicación, luego los nodos de programa y de lista de variables globales, y después los símbolos seleccionados, con los miembros de estructuras y arrays anidados debajo. Los identificadores son cadenas derivadas de la ruta del símbolo, así que se leen como el código y cambian cuando el código se renombra. No hay contenido de especificación complementaria salvo que el fabricante del dispositivo haya añadido un modelo de información encima, cosa que algunos hacen y la mayoría no. Como la misma Symbol Configuration sirve a otras vías de comunicación de CODESYS, la vista OPC UA no siempre es la imagen completa de lo que expone el runtime, y el árbol de exploración es la única afirmación fiable de lo que un cliente puede ver.

Las trampas

  • La licencia es por runtime y la controla el fabricante del dispositivo. Un controlador que se explora sin problemas en el banco y se niega en campo porque nunca se aplicó su licencia es una pérdida de planificación habitual y del todo evitable. Confirme la situación de la licencia con el fabricante del dispositivo, no con material genérico de CODESYS.
  • Como CODESYS es un motor OEM, la deriva documental es grave: el manual del fabricante, el manual de CODESYS y el comportamiento real del runtime pueden discrepar sobre los nombres de las opciones y sobre dónde residen los certificados. Fíese del dispositivo que tiene delante.
  • Renombrar una variable o reestructurar la aplicación cambia los identificadores de cadena y rompe los clientes con BadNodeIdUnknown. La selección de símbolos es una interfaz publicada; versiónela.
  • Los índices de espacio de nombres se desplazan tras las descargas de la aplicación. Resuélvalos desde el NamespaceArray en cada conexión.
  • La confianza de certificados es el mayor obstáculo de despliegue y, en hardware de OEM, el mecanismo para colocar un certificado de confianza es la parte que nadie documenta. Averigüe cómo funciona en una unidad antes de desplegar en cincuenta.
  • Los símbolos publicados como solo lectura aceptan una escritura y devuelven un estado Bad. Vuelva a leer y compruebe el StatusCode.
  • Los techos de sesiones y de monitored items en targets pequeños son bajos. Un historiador, un HMI y un ingeniero con un navegador abierto a la vez pueden agotarlos, y el fallo llega como un problema de conexión y no como un mensaje de capacidad.

Cómo sacarle datos de OEE

Lo que se puede obtener depende por completo de lo que calcule la aplicación y, en una máquina basada en CODESYS, eso suele significar pedir al fabricante de la máquina que publique cuatro cosas: una variable de estado o de modo con una enumeración documentada, un contador de piezas buenas, un contador de rechazos y un código de fallo o de motivo. Los contadores deben mantenerse en la aplicación; no detecte flancos de un bit de marcha a través de una suscripción cuyo intervalo de muestreo el runtime puede haber ampliado. Como estos equipos están limitados en suscripciones, utilice una sola sesión, un solo intervalo de publicación, una banda muerta en las analógicas y un heartbeat, de modo que una conexión silenciosa se distinga de una máquina parada. La disponibilidad y los recuentos son alcanzables, y los motivos también si la tabla de fallos está documentada. El tiempo de producción planificado, los calendarios de turnos, el contexto de la orden y los tiempos de ciclo estándar no están en el controlador.

Verifique esto antes de confiar en ello:Si el componente de servidor OPC UA está presente, si se requiere una licencia de runtime y cómo la llama el fabricante del dispositivo, qué versiones del runtime de CODESYS admite su controlador, dónde residen sus almacenes de certificados y cuáles son sus límites de sesiones, suscripciones y elementos monitorizados debe confirmarse todo con el fabricante del dispositivo para su controlador exacto, no con material genérico de CODESYS ni con esta página. En hardware con marca OEM, la respuesta del fabricante prevalece sobre todo lo demás, incluida la documentación de CODESYS.

Ú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