Descubrimiento

Dejar que un controlador explore en busca de dispositivos o de puntos, qué necesita y qué devuelve cada exploración, el progreso y la cancelación, añadir resultados, y emparejar un dispositivo Matter por Bluetooth.

Ver como Markdown

Para los controladores cuyo protocolo admite una exploración de verdad, Descubrir encuentra por usted los dispositivos o los puntos en lugar de obligarle a escribirlos. Vive en la barra de comandos de un nodo de controlador (y, en Modbus RTU, en la tarjeta Descubrir unidades de la página de una línea serie), mientras que todo lo que la exploración toma vive en la tarjeta Alcance de la exploración de la página del controlador: la barra lleva el comando, la tarjeta lleva su alcance. Todo ello exige Configurar Connector: a un rol sin ese permiso no se le dibujan ni la tarjeta del alcance ni el botón. Una exploración se rechaza mientras un ensayo retiene la estación o el runtime está detenido. Cuando una exploración no devuelve nada, eso es un resultado de la exploración y no una función que falte: el botón aparece solo donde una exploración puede producir resultados.

Qué controladores exploran

Controlador Qué hace la exploración Necesita
Simulated Lista su catálogo de modelos de dispositivo simulados, con una instancia lista para usar de cada uno y sus canales. Nada.
Modbus TCP Envía Read Device Identification (función 43/14) a direcciones y a ID de unidad explícitos; una excepción Modbus validada demuestra que hay una unidad sin darle nombre. Devuelve el punto de conexión y ningún tag. La tarjeta Alcance de la exploración.
Modbus RTU Sondea de forma secuencial un rango inclusivo de ID de unidad sobre la tupla guardada de una línea, con la misma petición y sin acceder a ningún registro. Una línea, deshabilitada o sin dispositivos habilitados, y un rango de ID de unidad.
OPC UA Pregunta a un servidor por los puntos de conexión que anuncia y luego recorre el espacio de direcciones de cada uno en busca de puntos. La dirección del servidor, en la tarjeta Alcance de la exploración de la página del controlador ("Dirección del servidor OPC UA, por ejemplo opc.tcp://plc-host:4840"). Sin ella, o con una dirección que no lo es, Descubrir se pone en gris y dice qué se espera.
Rockwell EtherNet/IP Difunde ListIdentity y recorre los tags de cada autómata. Nada.
BACnet Difunde Who-Is y escucha las respuestas I-Am; cada dispositivo aparece en cuanto contesta. Devuelve la dirección, el puerto y la instancia de dispositivo, y ningún tag. Nada.
Redfish Lee la dirección de servicio que se le da y recorre su primer sistema, su primer gestor y su primer chasis. Devuelve el servicio y sus puntos. La tarjeta Alcance de la exploración.
AVEVA PI Recorre el elemento AF que se le da y todo lo que hay debajo. Devuelve el servicio y un punto por atributo. La tarjeta Alcance de la exploración.
OCPP Lista los puntos de recarga conectados ahora mismo a esta estación. Nada.
Matter Lista los nodos ya puestos en marcha en la Fabric de esta estación. Nada.

Siemens S7, Beckhoff ADS, Mitsubishi MC, IEC 61850, LoRaWAN y HTTP no tienen exploración y no muestran ningún botón. El botón aparece solo una vez que el servidor integrado está en marcha, porque es el registro de controladores del servidor el que responde si una exploración puede correr, y aparece solo para los controladores que instala esta versión: si el registro responde con un ensamblado que la aplicación no reconoce, el botón no se dibuja y la página Eventos anota que el controlador instalado no es el que trae esta versión.

Modbus TCP: la tarjeta Alcance de la exploración

La tarjeta aparece en la página del controlador Modbus TCP: "Identificación del dispositivo en solo lectura; los registros se configuran después de añadirlo."

Campo Valores / por defecto Efecto
Host IPv4 o CIDR Una dirección, o un CIDR de /24 a /32; la aplicación nunca deduce la subred local. Todas las direcciones de host del rango, excluidas la de red y la de difusión.
Puerto De 1 a 65535; 502. El puerto por el que se llama a cada dirección.
ID de unidad Valores, listas separadas por comas o rangos ascendentes, de 0 a 255 ("1, 3, 8-16"); "1". A cada dirección se le pregunta por cada id.
Intervalo mínimo entre transacciones (ms) De 0 a 1000; 0. Silencio entre sondeos completados en la misma dirección; cada host se cadencia por separado. Es local de la exploración: no se escribe en los dispositivos que se añaden.

La línea que hay bajo los campos es el presupuesto: "2 direcciones × 3 ID de unidad = 6 sondeos · límite 256", con "· 100 ms de silencio por host." cuando se fija. Una exploración puede enviar como mucho 256 sondeos; por encima del presupuesto la línea se pone roja ("Esta exploración enviaría 512 sondeos; reduzca el rango de red o de ID de unidad a 256 o menos.") y Descubrir se pone en gris. La entrada incorrecta se nombra igual ("'10.0.0' no es una dirección IPv4 válida de cuatro octetos.", "El prefijo CIDR debe estar entre /24 y /32.", "Escriba al menos un id de unidad (0-255).", "El rango de ID de unidad '9-3' debe ser ascendente."). Cambiar cualquier campo del alcance descarta los resultados de la exploración anterior, porque describían otro alcance. Se exploran como mucho cuatro direcciones a la vez, con una conexión por dirección.

Modbus RTU

La exploración está en la página de la línea, no en la del controlador: ID de unidad inicial e ID de unidad final (de 1 a 247, ascendentes; de 1 a 32 por defecto) y su propio botón Descubrir, con una estimación del peor caso ("32 sondeos · hasta ~32,1 s, incluidos 4,011 ms de silencio antes de cada sondeo."). La exploración abre el puerto una vez con los ajustes guardados de la línea, sondea cada unidad por turno, y rechaza una línea activa en lugar de interrumpirla: "Esta línea está en uso. Deshabilítela antes del descubrimiento; Ganter Lab no interrumpirá ni volverá a habilitar el bus automáticamente." Una edición pendiente en la línea se guarda antes de que arranque la exploración; si no se puede guardar, la exploración no arranca ("El descubrimiento no se inició porque no se pudo guardar la edición de la línea serie."). La página Líneas serie cubre el resto de esa tarjeta.

Redfish y AVEVA PI: el servicio que lee la exploración

Ni un servicio Redfish ni un PI System se anuncian en una red que esta estación pueda escuchar, así que esas dos exploraciones leen el único servicio al que se las apunta, en la tarjeta Alcance de la exploración de la página del controlador. Redfish toma la dirección del servicio (https://bmc-host, o https://bmc-host:8443 donde responda en otro puerto) y siempre la lee por HTTPS, porque las credenciales del dispositivo viajan en cada petición; una dirección que pide el transporte en claro se rechaza allí donde se escribe. AVEVA PI toma la dirección del servicio y, tras un #, el elemento AF donde empieza el recorrido: https://pi-host/piwebapi#\\AF-SRV\Plant\Line 3. Sin ese elemento no hay nada que recorrer, así que Descubrir se pone en gris y dice qué se espera.

Las dos exploraciones leen el servicio sin credenciales, porque corren antes de que exista el dispositivo que las guardaría. Un servicio que autentica cada petición no responde nada y la exploración no encuentra nada: añada ese servicio a mano, y sus puntos con él.

Correr una exploración

Mientras la exploración corre, la página del controlador imprime una línea de estado y el Descubrir de la barra se convierte en Cancelar. El estado viene de dos etapas independientes, el descubrimiento de puntos de conexión y el recorrido de canales: "Explorando los puntos de conexión…", "Inspeccionando el punto de conexión 2…", "Leyendo los canales de opc.tcp://plc:4840…", y luego "Se encontraron 3 dispositivos."; los controladores que informan de su propio progreso dicen "Preguntando al servidor OPC UA … por los puntos de conexión anunciados…" y "Se encontraron 2 puntos de conexión.", "Buscando autómatas Rockwell…", "Explorando dispositivos BACnet…", "Inspeccionando el nodo Matter puesto en marcha 1 de 2…", "Explorando 2 direcciones × 3 ID de unidad…" o "Sondeando la unidad 5 (5 de 32)…". Una exploración que se detiene por un error del controlador conserva lo que encontró y lo dice: "La exploración se detuvo con un error después de encontrar 1 dispositivo. La lista puede estar incompleta." Un punto de conexión cuyos canales no se pudieron leer se lista igualmente, con cero tags.

La exploración se apropia del controlador mientras corre: no se puede seleccionar otro nodo ("Cancele el descubrimiento antes de salir de este controlador."), ni añadir un dispositivo o una línea, ni habilitar o deshabilitar líneas, ni usar las acciones de fila hasta que termine. Los resultados son de la ventana que arrancó la exploración: otra pestaña del navegador en la misma estación no los ve.

Cancelar

Cancelar ("Cancelando…" una vez pulsado) detiene las dos etapas. Los candidatos preparados por completo antes de la cancelación se quedan en la lista; el punto de conexión cuyos canales todavía se estaban leyendo se descarta. El estado se lee "Descubrimiento cancelado." y el registro de acciones "Descubrimiento cancelado para OPC UA; se conservan 2 resultado(s) completado(s)." La exploración sigue ocupada hasta que el zócalo, el cliente o la sesión temporales del controlador se hayan cerrado; pasados dos segundos el estado dice "Esperando a que el controlador libere sus recursos de descubrimiento…" en lugar de fingir que la exploración ya se detuvo, porque un controlador no siempre suelta en el mismo instante en que se le pide.

Los resultados

La tarjeta Dispositivos descubiertos (en una línea, Unidades descubiertas) lista una tarjeta por candidato: un nombre editable, el punto de conexión y "2 de 5 tags seleccionados". Debajo, una rejilla compacta de los tags candidatos con una marca Añadir (encendida por defecto), Nombre del tag, Tipo y Acceso; sin ninguno, "No se informó de ningún tag. Añada el dispositivo para configurar sus tags en el editor." Nada se guarda hasta que se pulsa Añadir dispositivo en una tarjeta ("Añadiendo…" mientras corre): el dispositivo se crea con un nombre único en el controlador y exactamente con los tags marcados, la tarjeta deja la lista, la página se abre en el dispositivo nuevo y el registro de acciones se lee "Se añadió 'Pump' con 3 tag(s)." Los tags descubiertos llegan de solo lectura o de escritura tal como los informó el controlador, con su tipo y con la cadena de conversión por defecto; nada más se deduce.

Un candidato que coincide con un dispositivo que ya se tiene se marca como Ya configurado y ofrece Abrir en lugar de Añadir, así que una exploración nunca crea un duplicado por accidente. Solo se comparan identidades estables: una unidad Modbus RTU en la misma línea y un id de nodo Matter. Los demás controladores no comparan nada, porque un punto de conexión alcanzable no demuestra que sea el mismo equipo.

Descartar vacía la lista, y espera a la exploración: mientras hay una en marcha se pone en gris, porque vaciar la lista a mitad de una exploración también la cancela y tira todo lo que ya había contestado. Seleccionar otro controlador, o cambiar el alcance, también la vacía. Mientras corre una exploración, eliminar un dispositivo o un tag y mover un dispositivo a una carpeta se ponen en gris por la misma razón: la exploración retiene el controlador, y el comando habría fallado después de confirmarlo. En Modbus RTU el ID de unidad es una columna propia, y un id ya configurado en la línea se rechaza al añadirlo: "La unidad 5 ya está configurada en 'Línea 1'."

Emparejar un dispositivo Matter

Matter pone en marcha el dispositivo físico por Bluetooth antes de que exista aquí, así que el primer verbo del controlador Matter es Emparejar dispositivo, no Añadir dispositivo, y abre un formulario en la página del controlador (el menú Nuevo… y el menú contextual del controlador ofrecen lo mismo). El emparejamiento necesita Configurar Connector, una radio Bluetooth LE utilizable en este equipo y una red Thread existente cuyo conjunto de datos se le permita obtener. El formulario lo dice: "Ponga el dispositivo físico en modo de emparejamiento antes de continuar. El emparejamiento usa el Bluetooth de este equipo."

Campo Qué es
Nombre del dispositivo El nombre editable que el dispositivo tendrá en el Connector; "Dispositivo Matter" por defecto, con "Luz de la cocina" como texto de ejemplo.
Código de configuración Matter El código manual oficial de 11 o 21 dígitos impreso en el dispositivo, o la carga QR completa que empieza por MT:. Se oculta mientras se escribe; Mostrar el código de configuración lo revela.
Conjunto de datos operativo Thread El conjunto de datos activo completo de la red Thread, en hexadecimal, obtenido del administrador de la red o del Border Router; "Ganter Lab no puede inventar credenciales de una red existente." Se oculta mientras se escribe; Mostrar el conjunto de datos lo revela.

Emparejar dispositivo se habilita en cuanto los tres campos están rellenos y la estación acepta cambios. El formulario recorre entonces cinco pasos, Validar, Buscar, Emparejar, Unirse a Thread y Guardar, con una línea de estado debajo: "Validando el código de configuración y el conjunto de datos Thread…", "Buscando el dispositivo por Bluetooth…", "Autenticando y emparejando el dispositivo…", "Enviando la configuración de la red Thread existente…", "Esperando a que el dispositivo se una a la red Thread…", "Guardando el nodo puesto en marcha en la Fabric local…", "Emparejamiento completado." Cancelar solo se acepta hasta que se selecciona el anuncio que coincide ("Detener antes de que se modifique el dispositivo"); a partir de ahí el botón se lee "Terminando de forma segura…", porque el dispositivo ya se modificó y la estación debe registrar el nodo aunque usted se vaya. Cerrar descarta el formulario mientras no corre nada.

Si sale bien, el dispositivo se crea con el id de nodo como única identidad (el código de configuración y el conjunto de datos no se guardan, ni se anotan, ni se vuelven a mostrar), la página se abre en él y el registro de acciones se lee "Se emparejó el dispositivo Matter 'Luz de la cocina'." Si el nodo se puso en marcha pero no se pudo crear su dispositivo, el registro de acciones lo dice y Descubrir es el camino de recuperación. Los fallos se dicen sin rodeos y el formulario se queda abierto para reintentarlo: un código o un conjunto de datos no válidos, ningún adaptador Bluetooth utilizable, Bluetooth denegado o apagado, ningún dispositivo que coincida ("Póngalo en modo de emparejamiento, manténgalo cerca e inténtelo de nuevo."), un código de configuración rechazado, un dispositivo que no se unió a la red Thread (su nodo sigue en la Fabric y se puede recuperar con Descubrir), una Fabric que no se pudo guardar (cuando el dispositivo ya se había puesto en marcha: "No reinicie el dispositivo hasta que se resuelva el problema de almacenamiento de la Fabric."), u otro emparejamiento ya en marcha. Se empareja de uno en uno; mientras corre no se puede salir del controlador ("Espere a que termine el emparejamiento Matter antes de salir de este controlador.").

Lo que el descubrimiento no hace

Una exploración nunca guarda nada por sí sola, nunca cambia un dispositivo existente y nunca se vuelve a lanzar sola. No deduce subredes, ni mapas de registros, ni ajustes de línea serie, no habilita ni deshabilita una línea, y no retira del equipo los candidatos descartados. Se rechaza para un controlador que el paquete no lleva. Lo que contienen los resultados de cada controlador está en la página de ese controlador, dentro de Controladores.