Controladores

Qué es un controlador, dónde se listan los controladores y cómo se añade uno a la estación, el controlador fijo de un dispositivo, la tabla de todos los controladores que conoce este producto, qué documenta la página de cada uno, y la nota sobre los controladores que un paquete no lleva.

Ver como Markdown

El reproductor procede de YouTube y solo se carga al pulsar reproducir.

Un controlador es el protocolo con el que la estación habla con una familia de equipos: registros Modbus sobre TCP, un servidor OPC UA, un autómata Siemens. Todo dispositivo de la página Connector pertenece exactamente a un controlador, y el controlador decide qué campos de conexión muestra el dispositivo, cómo se direccionan sus tags, qué tipos de dato pueden llevar, si se pueden escribir, si el controlador puede explorar en busca de equipos, y si la estación los sondea o el equipo empuja hacia ella. Este grupo tiene una página por controlador; esta página es lo que todas tienen en común.

El registro

El conjunto de controladores es fijo: viene con la aplicación y no se puede ampliar desde la página. La carpeta Controladores, en lo alto del árbol de la columna Comunicación, abre el catálogo de los que lleva esta instalación, cada uno con su descripción, su recuento de dispositivos, su estado de salud y Añadir controlador, o Abrir y Quitar el controlador una vez añadido; el catálogo y sus reglas están en La lista de controladores y la página de un controlador.

Todo controlador que trae el paquete está listo para usarse, sin ningún interruptor para encenderlo o apagarlo: la estación añade los que usa. Bajo la carpeta Controladores, el árbol lista los controladores añadidos, tengan algo debajo o no, así que la columna lleva lo que la estación está preparada para leer. Un controlador se añade con Añadir controlador en su fila del catálogo o en el menú Nuevo… de la columna, y se quita con Quitar el controlador en su fila del catálogo, en su propia barra o en su menú del clic derecho. Quitar no elimina nada: se rechaza mientras el controlador tiene un dispositivo, una línea serie, un bróker o una carpeta, y un controlador que tiene alguno de ellos siempre está añadido. Una estación nueva no tiene ningún controlador añadido; una estación actualizada desde una versión anterior empieza con añadidos los controladores que ya usa.

El controlador de un dispositivo es fijo

El controlador se elige al crear el dispositivo: en el menú Nuevo… de la columna el dispositivo se crea desde la entrada del propio controlador, y Añadir dispositivo en la página de un controlador crea bajo ese controlador. A partir de ahí, la tarjeta Dispositivo muestra el controlador como texto de solo lectura. Para llevar un dispositivo a otro protocolo, cree un dispositivo nuevo bajo el otro controlador y elimine el antiguo; la dirección cambia, así que hay que apuntar las referencias a los tags nuevos desde la tarjeta Usado por de cada tag.

Todos los controladores

Los controladores se agrupan por la familia de equipos a la que llegan: los mismos grupos, en el mismo orden, en que los listan el catálogo Controladores y la entrada Añadir controlador del menú Nuevo… de la columna.

Autómatas

Controlador Habla con
Beckhoff ADS Autómatas Beckhoff TwinCAT sobre ADS/AMS.
Mitsubishi MC Autómatas Mitsubishi por el controlador MELSEC MC.
Omron Autómatas Omron: los CJ, CS y CP por dirección de memoria sobre FINS (UDP, TCP o Host Link en una línea serie), y los NJ, NX y NY por nombre de variable sobre EtherNet/IP.
Rockwell EtherNet/IP Autómatas Allen-Bradley / Rockwell sobre EtherNet/IP (CIP).
Siemens S7 Autómatas Siemens S7 por el controlador S7comm.

Protocolos industriales

Controlador Habla con
BACnet Dispositivos de automatización de edificios BACnet/IP.
Generic serial and TCP Equipos con un protocolo propio de texto o de bytes, como básculas y lectores de códigos de barras, por una línea serie, TCP o UDP.
Modbus RTU Registros Modbus por una línea serie (RS-485/232), en modo de transmisión RTU o ASCII.
Modbus TCP Registros Modbus sobre TCP/IP, en trama MBAP o como tramas RTU para un convertidor serie-Ethernet. Puerto 502 por defecto.
MQTT Dispositivos que publican a través de un bróker MQTT externo, en MQTT simple o Sparkplug B.
OCPP Puntos de recarga de vehículos eléctricos por OCPP (los puntos de recarga se conectan a esta estación).
OPC DA Servidores OPC Data Access clásicos mediante COM/DCOM, a través de un proceso auxiliar de 32 bits propio.
OPC UA Cliente OPC Unified Architecture sobre opc.tcp.
SNMP Equipos de red que responden SNMP v1, v2c o v3, como SAI, PDU, switches y sensores de sala técnica; con Redfish para los servidores, cubre la sala técnica.

Instrumentos y adquisición

Controlador Habla con
Fluke NetDAQ Equipos de adquisición de datos Fluke NetDAQ (2640A, 2645A) y 2680 Series (2680A, 2686A), configurados a partir de los tags y leídos con la biblioteca propia de Fluke en un proceso auxiliar de 32 bits.
NI-DAQmx Hardware de adquisición de datos de National Instruments (chasis cDAQ y sus módulos, dispositivos USB y PCI Express) a través del NI-DAQmx instalado en este ordenador, una muestra por lectura.
SCPI instruments Instrumentos de banco que hablan SCPI, como multímetros, fuentes de alimentación y cargas electrónicas, por TCP, por línea serie, o por USB y GPIB a través de VISA.

Inalámbricos

Controlador Habla con
LoRaWAN Sensores LoRaWAN y concentradores de radio a través del servidor de red Basics Station integrado.
Matter Dispositivos domésticos Matter (puesta en marcha por Bluetooth).

Web y API

Controlador Habla con
AVEVA PI Puntos de AVEVA PI System por PI Web API, por HTTPS de forma predeterminada.
HTTP Endpoints HTTP y HTTPS genéricos sondeados como tags, con una credencial opcional.
Redfish API REST Redfish para hardware de servidor y de centro de datos.

Archivos y bases de datos

Controlador Habla con
Database Tablas de la base de datos de un sistema de la fábrica (SQL Server, PostgreSQL, MySQL y MariaDB, SQLite, o cualquier base de datos a través de su controlador ODBC), cada tag leyendo una celda por su tabla, su columna y su fila o ejecutando una consulta propia; la celda o un comando propio del tag escritos donde un tag lo indica.
File Archivos que otro programa escribe en una carpeta local o de red (CSV y texto en columnas, texto libre, JSON, XML), leídos de uno en uno o desde una carpeta de entrada; líneas o archivos completos escritos para ese programa donde el dispositivo lo permite.

Pruebas

Controlador Habla con
Simulated Señales sintéticas generadas en la propia aplicación, para probar sin hardware.

El servidor Modbus no está en esta tabla: no es un controlador, sino la propia estación sirviendo sus tags y sus variables de Logic a PLC, HMI y sistemas de edificio por Modbus TCP, desde su propia fila bajo la carpeta Servidores.

Qué tienen en común los controladores, y en qué se diferencian

El Connector dibuja un solo editor para todos los controladores y deja que el controlador decida qué partes aparecen. Esta tabla dice qué esperar antes de abrir la página de un controlador:

Controlador Campos de conexión en la página del dispositivo Direccionamiento del tag Intervalo de sondeo Escrituras en tags Descubrir
Simulated ninguno el nombre del tag, más la forma de la señal sí sí sí (su catálogo)
Modbus TCP Host o IP, Puerto, ID de unidad, Formato de trama (MBAP o RTU), Intervalo mínimo entre transacciones tipado: clase y número de registro sí sí sí (exploración por dirección o CIDR)
Modbus RTU Línea serie (fija; la línea fija el modo de transmisión, RTU o ASCII), ID de unidad tipado: clase y número de registro sí sí sí (sondeo de ID de unidad en una línea)
OPC UA Host o IP, Puerto, Ruta del recurso, Usuario, Contraseña texto libre: Id de nodo sí sí sí (dirección del servidor)
OPC DA Host o IP, Servidor / Clave texto libre: ID de elemento sí sí sí (los servidores de un ordenador)
Siemens S7 Host o IP, Bastidor / Ranura tipado: área, DB, byte, bit sí sí no
Rockwell EtherNet/IP Host o IP, Ranura texto libre: tag del autómata, más un desplazamiento sí sí sí (difusión)
Beckhoff ADS Host o IP, Puerto, IP local (AMS) texto libre: Símbolo sí sí no
Mitsubishi MC Host o IP, Puerto texto libre: Dirección del dispositivo fijo 1 s sí no
BACnet Host o IP, Puerto, Id de dispositivo tipado: tipo de objeto e instancia fijo 1 s sí sí (Who-Is)
OCPP Identificador tipado: número de conector; el nombre del tag termina en Meter, Status o Transaction lo empuja el punto de recarga no (solo lectura) sí (puntos de recarga conectados)
Redfish Host o IP, Puerto, Usuario, Contraseña texto libre: Ruta del recurso, más un puntero JSON sí sí sí (dirección del servicio)
Matter ID de nodo (solo lectura) tipado: salida, clúster y atributo; los tags vienen del dispositivo sí sí (los valores que el controlador sabe cambiar) sí (nodos puestos en marcha, con los valores que publica cada uno)
LoRaWAN Identificador (DevEUI), Servidor / Clave (clave de aplicación) tipado: canal o desplazamiento, tipo LPP lo empuja el sensor no (solo lectura) no
AVEVA PI Host o IP, Puerto, Ruta del recurso, Transporte, Usuario, Contraseña, Token de portador texto libre: ruta PI sí sí sí (elemento AF tras la dirección del servicio)
HTTP Host o IP, Puerto, Ruta del recurso texto libre: Ruta sí sí no
MQTT Bróker (fijo; el bróker lleva el host, el puerto, el transporte y el inicio de sesión), Protocolo y, en Sparkplug B, los ID de grupo, de nodo de borde y de dispositivo texto libre: Tópico, más una ruta del valor dentro de una carga útil JSON, o Métrica de Sparkplug B lo entrega el bróker sí (en un tópico de comando, o con un comando Sparkplug B) sí (escucha en un bróker)
Generic serial and TCP Transporte (Cliente TCP o Escucha UDP), Host, Puerto, o la Línea serie (fija) en un dispositivo de línea; después las tarjetas Mensajes y Suma de verificación tipado: modo de lectura, petición, filtro de mensajes y dónde está el valor en el mensaje sí; un tag en escucha conserva lo que envía el equipo sí (un mensaje de escritura; no por UDP) no
Omron Host o IP, Protocolo (FINS o Tags NJ/NX por nombre); por FINS, el Puerto y la tarjeta FINS (transporte, red, nodos, unidad, tiempo de espera de respuesta); en una línea serie, la Línea serie (fija), el ID de unidad (el número de unidad Host Link) y el tiempo de espera de respuesta texto libre: Dirección de memoria (FINS) o Nombre de variable (NJ/NX) sí sí sí (un sondeo FINS de un autómata, y una difusión para los autómatas NJ/NX)
SCPI instruments Transporte (TCP (socket LXI) o VISA), Host y Puerto o el Recurso VISA, o la Línea serie (fija) en un dispositivo de línea; después la tarjeta Instrumento (terminador, tiempo de espera de respuesta, confirmación de escritura, comandos de preparación) texto libre: Consulta, más qué valor de una respuesta separada por comas, y un comando de escritura sí sí (un comando de escritura, confirmado por la cola de errores del instrumento) sí (los instrumentos que lista VISA, y un sondeo TCP de un host)
NI-DAQmx ninguno: en su lugar la tarjeta Dispositivo NI-DAQmx (Nombre del dispositivo, y el Producto que lee NI-DAQmx) tipado: Canal físico y Medida, con el rango, el cableado, el termopar o los ajustes de contador de la medida sí sí (líneas de salida digital y salidas de tensión) sí (todos los dispositivos que conoce NI MAX, con sus canales)
Fluke NetDAQ Host o IP; luego la tarjeta Instrumento (Canal base, Velocidad de escaneo) tipado: Punto (un canal analógico y su Función, una línea digital, un relé o el totalizador) sí; el instrumento escanea al intervalo más corto entre los tags del dispositivo sí (líneas digitales y relés, y el totalizador vuelto a cero) no
SNMP Host o IP, Puerto; después la tarjeta Agente SNMP (versión, community o usuario SNMPv3 y seguridad, tiempo de espera de respuesta, reintentos) texto libre: OID, en números o por su nombre estándar sí sí (un SET que el agente acepta; un objeto estándar que su MIB declara de solo lectura sigue de solo lectura) sí (un recorrido de los subárboles estándar de un agente)
File ninguno: en su lugar la tarjeta Carpeta y archivo (Ruta de la carpeta, Nombre del archivo o el patrón de la carpeta de entrada, Leer de, Formato del archivo), y después las tarjetas Texto del archivo y Escritura tipado: lo que lee el tag (un valor, el archivo completo o un dato del archivo) y, para un valor, una columna y una fila (CSV), una línea y sus caracteres (texto libre) o una ruta (JSON, XML) sí sí (en un dispositivo que permite la escritura: una línea añadida, el archivo completo sustituido u otro archivo indicado) sí (un archivo, el de un dispositivo o uno escrito)
Database ninguno: en su lugar la tarjeta Base de datos (Tipo de base de datos, después Servidor, Puerto, Nombre de la instancia y Nombre de la base de datos, el Archivo de base de datos, o el Origen de datos o texto de conexión), después la tarjeta Inicio de sesión (Nombre de usuario y Contraseña, y en SQL Server el inicio de sesión de Windows y el Cifrado) con campos: cómo lee el tag (una celda por Tabla, Columna del valor y Fila que leer, o el Texto de su consulta propia) sí sí (la celda que lee, o su comando de escritura propio) sí (las tablas de la base de datos de un dispositivo)

Cada controlador estrecha además la lista Tipo de dato que ofrece un tag a lo que de verdad puede transportar; la lista exacta está en la página del controlador. Donde la tabla dice "fijo 1 s", el controlador ignora el intervalo configurado, así que las páginas de Dispositivo y de Tag le esconden el campo Intervalo de sondeo. Donde dice "solo lectura", el campo Acceso ofrece únicamente Solo lectura y el campo de escritura no aparece nunca.

Qué documenta la página de cada controlador

La página de cada controlador recorre las mismas secciones en el mismo orden: los campos de conexión que muestra la tarjeta Dispositivo y cómo componen el URI base; cómo se direcciona un tag (los campos tipados o la ficha de texto libre, y la dirección de bus de solo lectura que previsualiza el panel); los tipos de dato ofrecidos; el descubrimiento, cuando el controlador lo tiene; las escrituras, cuando el controlador las acepta; y las particularidades del controlador (credenciales, certificados, tiempos, un servidor de red que corre la estación, emparejamiento).

Un controlador que el paquete no lleva

El Connector nunca lista ni ofrece un controlador que el paquete en ejecución no lleva. Una configuración que llega con esos dispositivos de todas formas (una copia de seguridad restaurada, una configuración de otra máquina) los conserva: el controlador sigue listado, en el catálogo y bajo la carpeta Controladores, mientras esos dispositivos existan, su descripción se lee "Este paquete no incluye el controlador.", y la página del controlador y todos los dispositivos que hay bajo ella llevan un aviso que dice lo mismo. Esos dispositivos se quedan sin conexión y conservan sus ajustes; se pueden eliminar, pero no copiar, y bajo ese controlador no se puede arrancar ningún dispositivo nuevo ni ninguna exploración de descubrimiento.

Qué controladores lleva un paquete se lee del registro de controladores del Connector, que solo existe una vez que el Connector ha arrancado. Hasta entonces todos los controladores cuentan como presentes, así que el catálogo se asienta unos segundos después del arranque y se queda quieta durante la sesión, incluso mientras el Connector se detiene y se vuelve a arrancar.

El código de un controlador se carga una sola vez mientras la aplicación corre. Detener y arrancar la comunicación reconstruye los dispositivos en marcha y la lista de controladores a partir de esa misma carga, que es lo que mantiene plana la memoria de la estación a lo largo de un día de reinicios. La consecuencia es que sustituir en disco los archivos de un controlador solo surte efecto después de reiniciar la propia aplicación.