Découverte
Laisser un pilote balayer à la recherche d'équipements ou de points, ce que chaque balayage demande et renvoie, l'avancement et l'annulation, l'ajout des résultats, et l'appairage d'un équipement Matter par Bluetooth.
Pour les pilotes dont le protocole permet un vrai balayage, Découvrir trouve les équipements ou les points à votre place au lieu de vous les faire taper. Il vit sur la barre de commandes d'un nœud de pilote (et, pour Modbus RTU, dans la carte Découvrir des unités de la page d'une ligne série), tandis que tout ce que le balayage prend vit dans la carte Portée du balayage de la page du pilote : la barre porte la commande, la carte porte sa portée. Tout cela demande Configurer Connector : un rôle sans cette permission ne se voit dessiner ni la carte de portée, ni le bouton. Un balayage refuse pendant qu'un essai tient la station ou que le runtime est arrêté. Quand un balayage ne rapporte rien, c'est un résultat de balayage, pas une fonction absente : le bouton n'apparaît que là où un balayage peut produire des résultats.
Quels pilotes balaient
| Pilote | Ce que fait le balayage | Demande |
|---|---|---|
| Simulated | Liste son catalogue de modèles d'équipement simulés, une instance prête à l'emploi pour chacun, avec leurs voies. | Rien. |
| Modbus TCP | Envoie Read Device Identification (fonction 43/14) à des hôtes et à des identifiants d'unité explicites; une exception Modbus valide prouve qu'une unité existe sans la nommer. Renvoie le point de terminaison et aucun tag. | La carte Portée du balayage. |
| Modbus RTU | Sonde séquentiellement une plage d'identifiants d'unité, bornes comprises, sur le tuple enregistré d'une ligne, avec la même requête et sans accès aux registres. | Une ligne, désactivée ou sans équipement activé, et une plage d'identifiants d'unité. |
| OPC UA | Interroge un serveur pour connaître les points de terminaison qu'il annonce, puis parcourt l'espace d'adressage de chacun à la recherche de points. | L'adresse du serveur, dans la carte Portée du balayage de la page du pilote (« Adresse du serveur OPC UA, par exemple opc.tcp://plc-host:4840 »). Sans elle, ou avec une adresse qui n'en est pas une, Découvrir se grise et dit ce qui est attendu. |
| Rockwell EtherNet/IP | Diffuse ListIdentity et parcourt les tags de chaque automate. | Rien. |
| BACnet | Diffuse Who-Is et écoute les réponses I-Am, chaque équipement apparaissant dès qu'il répond. Renvoie l'adresse, le port et l'instance d'équipement, et aucun tag. | Rien. |
| Redfish | Lit l'adresse de service qu'on lui donne et parcourt son premier système, son premier gestionnaire et son premier châssis. Renvoie le service et ses points. | La carte Portée du balayage. |
| AVEVA PI | Parcourt l'élément AF qu'on lui donne et tout ce qui est en dessous. Renvoie le service et un point par attribut. | La carte Portée du balayage. |
| OCPP | Liste les points de charge actuellement connectés à cette station. | Rien. |
| Matter | Liste les nœuds déjà mis en service dans le Fabric de cette station. | Rien. |
Siemens S7, Beckhoff ADS, Mitsubishi MC, IEC 61850, LoRaWAN et HTTP n'ont pas de balayage et n'affichent aucun bouton. Le bouton n'apparaît qu'une fois le serveur intégré en fonctionnement, parce que c'est le registre de pilotes du serveur qui répond si un balayage peut tourner, et il n'apparaît que pour les pilotes que cette version installe : si le registre répond avec un assemblage que l'application ne reconnaît pas, le bouton reste absent et la page Événements enregistre que le pilote installé n'est pas celui que cette version livre.
Modbus TCP : la carte Portée du balayage
La carte apparaît sur la page du pilote Modbus TCP : « Identification d'équipement en lecture seule; les registres se configurent après l'ajout. »
| Champ | Valeurs et valeur par défaut | Effet |
|---|---|---|
| Hôte IPv4 ou CIDR | Une adresse, ou un CIDR de /24 à /32; l'application ne déduit jamais le sous-réseau local. | Chaque adresse d'hôte de la plage, les adresses de réseau et de diffusion exclues. |
| Port | De 1 à 65535; 502. | Le port sur lequel chaque hôte est appelé. |
| Identifiants d'unité | Des valeurs, des listes séparées par des virgules ou des plages croissantes, de 0 à 255 (« 1, 3, 8-16 »); « 1 ». | Chaque hôte est interrogé pour chaque identifiant. |
| Intervalle minimal entre transactions (ms) | De 0 à 1000; 0. | Le silence entre deux sondages terminés sur le même hôte; les hôtes sont cadencés indépendamment. Il est local au balayage : il n'est pas écrit dans les équipements que vous ajoutez. |
La ligne sous les champs est le budget : « 2 hôtes × 3 identifiants d'unité = 6 sondages · limite 256 », avec « · 100 ms de silence par hôte. » quand il est posé. Un balayage peut envoyer 256 sondages au plus; au-dessus du budget, la ligne passe au rouge (« Ce balayage enverrait 512 sondages; réduisez la plage réseau ou la plage d'identifiants d'unité à 256 ou moins. ») et Découvrir se grise. Une saisie fautive est nommée de la même façon (« « 10.0.0 » n'est pas une adresse IPv4 valide à quatre octets. », « Le préfixe CIDR doit être compris entre /24 et /32. », « Saisissez au moins un identifiant d'unité (0 à 255). », « La plage d'identifiants d'unité « 9-3 » doit être croissante. »). Changer un champ de portée abandonne les résultats du balayage précédent, parce qu'ils décrivaient une autre portée. Quatre hôtes au plus sont balayés à la fois, une connexion par hôte.
Modbus RTU
Le balayage est sur la page de la ligne, pas sur celle du pilote : Unité de début et Unité de fin (de 1 à 247, croissantes, de 1 à 32 par défaut) et leur propre bouton Découvrir, avec une estimation du pire cas (« 32 sondages · jusqu'à environ 32,1 s, silence de 4,011 ms compris avant chaque sondage. »). Le balayage ouvre le port une fois avec les réglages enregistrés de la ligne, sonde chaque unité à son tour, et refuse une ligne active plutôt que de l'interrompre : « Cette ligne est en service. Désactivez-la avant la découverte; Ganter Lab n'interrompra pas et ne réactivera pas le bus tout seul. » Une modification en attente sur la ligne est enregistrée avant que le balayage ne commence; si elle ne peut pas l'être, le balayage ne commence pas (« La découverte n'a pas été lancée parce que la modification de la ligne série n'a pas pu être enregistrée. »). La page Lignes série couvre le reste de cette carte.
Redfish et AVEVA PI : le service que le balayage lit
Ni un service Redfish ni un système PI ne s'annoncent sur un réseau que cette station puisse écouter : ces deux balayages lisent donc l'unique service vers lequel vous les pointez, dans la carte Portée du balayage de la page du pilote. Redfish prend l'adresse du service (https://bmc-host, ou https://bmc-host:8443 là où il répond ailleurs) et la lit toujours en HTTPS, parce que les identifiants de l'équipement voyagent avec chaque requête; une adresse qui demande le transport en clair est refusée là où elle est saisie. AVEVA PI prend l'adresse du service et, après un #, l'élément AF d'où part le parcours : https://pi-host/piwebapi#\\AF-SRV\Plant\Line 3. Sans cet élément, il n'y a rien à parcourir : Découvrir se grise donc et dit ce qui est attendu.
Les deux balayages lisent le service sans identifiants, parce qu'ils tournent avant que n'existe l'équipement qui les porterait. Un service qui authentifie chaque requête ne répond donc rien et le balayage ne trouve rien : ajoutez ce service à la main, et ses points avec lui.
Faire tourner un balayage
Pendant le balayage, la page du pilote écrit une ligne d'état et le Découvrir de la barre devient Annuler. L'état vient de deux étapes indépendantes, la découverte des points de terminaison et le parcours des voies : « Balayage des points de terminaison… », « Examen du point de terminaison 2… », « Lecture des voies depuis opc.tcp://plc:4840… », puis « 3 équipement(s) trouvé(s). »; les pilotes qui rapportent leur propre avancement disent « Interrogation du serveur OPC UA … pour connaître les points de terminaison annoncés… » et « 2 points de terminaison trouvés. », « Recherche d'automates Rockwell… », « Balayage des équipements BACnet… », « Examen du nœud Matter mis en service 1 sur 2… », « Balayage de 2 hôtes × 3 identifiants d'unité… » ou « Sondage de l'unité 5 (5 sur 32)… ». Un balayage qui s'arrête sur une erreur de pilote garde ce qu'il a trouvé et le dit : « Le balayage s'est arrêté sur une erreur après avoir trouvé 1 équipement(s). La liste peut être incomplète. » Un point de terminaison dont les voies n'ont pas pu être lues est tout de même listé, avec zéro tag.
Le balayage possède le pilote pendant qu'il tourne : vous ne pouvez pas sélectionner un autre nœud (« Annulez la découverte avant de quitter ce pilote. »), ajouter un équipement ou une ligne, activer ou désactiver des lignes, ni employer les actions de ligne jusqu'à ce qu'il finisse. Les résultats appartiennent à la fenêtre qui a lancé le balayage : un autre onglet de navigateur sur la même station ne les voit pas.
Annuler
Annuler (« Annulation… » une fois pressé) arrête les deux étapes. Les candidats entièrement préparés avant l'annulation restent listés; le point de terminaison dont les voies étaient encore en cours de lecture est abandonné. L'état indique « Découverte annulée. » et le journal des actions « Découverte annulée pour OPC UA; 2 résultat(s) terminé(s) conservé(s). » Le balayage reste occupé jusqu'à ce que le socket, le client ou la session temporaire du pilote se soit refermé; après deux secondes, l'état indique « En attente que le pilote libère ses ressources de découverte… » plutôt que de prétendre que le balayage est déjà arrêté, parce qu'un pilote ne lâche pas toujours à l'instant où on le lui demande.
Les résultats
La carte Équipements découverts (sur une ligne, Unités découvertes) liste une carte par candidat : un nom modifiable, le point de terminaison, et « 2 tags sur 5 sélectionnés ». En dessous, une grille compacte des tags candidats avec une coche Ajouter (cochée par défaut), Tag, Type et Accès; sans aucun, « Aucun tag rapporté. Ajoutez l'équipement pour configurer des tags dans son éditeur. » Rien n'est enregistré tant que vous ne pressez pas Ajouter l'équipement sur une carte (« Ajout… » pendant l'exécution) : l'équipement est créé sous un nom unique sur le pilote, avec exactement les tags cochés, la carte quitte la liste, la page s'ouvre sur le nouvel équipement, et le journal des actions indique « « Pump » ajouté avec 3 tag(s). » Les tags découverts arrivent en lecture seule ou inscriptibles selon ce que le pilote a rapporté, avec leur type et avec la chaîne par défaut; rien d'autre n'est déduit.
Un candidat qui correspond à un équipement que vous avez déjà est marqué Déjà configuré et propose Ouvrir au lieu d'Ajouter, si bien qu'un balayage ne crée jamais un doublon par accident. Seules les identités stables sont comparées : une unité Modbus RTU sur la même ligne, et un identifiant de nœud Matter. Les autres pilotes ne comparent rien, parce qu'un point de terminaison joignable ne prouve pas qu'il s'agit du même matériel.
Écarter vide la liste, et attend le balayage : pendant qu'un balayage tourne, il est grisé, parce que vider la liste en plein balayage l'annule aussi et jette tout ce qui avait déjà répondu. Sélectionner un autre pilote, ou changer la portée, la vide également. Pendant un balayage, supprimer un équipement ou un tag et déplacer un équipement dans un dossier se grisent pour la même raison : le balayage tient le pilote, et la commande aurait échoué après votre confirmation. Sur Modbus RTU, l'identifiant d'unité est une colonne à part, et un identifiant déjà configuré sur la ligne est refusé à l'ajout : « L'unité 5 est déjà configurée sur « Line 1 ». »
Appairer un équipement Matter
Matter met l'équipement physique en service par Bluetooth avant qu'il n'existe ici : le premier verbe du pilote Matter est donc Appairer un équipement, et non Ajouter un équipement, et il ouvre un formulaire sur la page du pilote (le menu Nouveau… et le menu du clic droit du pilote offrent la même chose). L'appairage demande Configurer Connector, une radio Bluetooth LE utilisable sur cet ordinateur, et un réseau Thread existant dont vous avez le droit d'obtenir le jeu de données. Le formulaire le dit : « Mettez l'équipement physique en mode appairage avant de continuer. L'appairage emploie le Bluetooth de cet ordinateur. »
| Champ | Ce que c'est |
|---|---|
| Nom de l'équipement | Le nom modifiable que l'équipement portera dans le Connector; « Matter device » par défaut, avec « Kitchen light » comme texte d'exemple. |
| Code d'installation Matter | Le code manuel officiel de 11 ou 21 chiffres imprimé sur l'équipement, ou la charge utile QR complète commençant par MT:. Masqué à la frappe; Afficher le code d'installation le révèle. |
| Jeu de données opérationnel Thread | Le jeu de données actif complet du réseau Thread, en hexadécimal, remis par l'administrateur du réseau ou par le routeur de bordure; « Ganter Lab ne peut pas inventer les identifiants d'un réseau existant. » Masqué à la frappe; Afficher le jeu de données le révèle. |
Appairer un équipement s'active une fois les trois champs remplis et si la station accepte les modifications. Le formulaire parcourt alors cinq étapes, Valider, Trouver, Appairer, Rejoindre Thread et Enregistrer, avec une ligne d'état en dessous : « Validation du code d'installation et du jeu de données Thread… », « Recherche de l'équipement par Bluetooth… », « Authentification et appairage de l'équipement… », « Envoi de la configuration du réseau Thread existant… », « En attente que l'équipement rejoigne le réseau Thread… », « Enregistrement du nœud mis en service dans le Fabric local… », « Appairage terminé. » Annuler n'est accepté que jusqu'à la sélection de l'annonce correspondante (« Arrêter avant que l'équipement ne soit changé »); à partir de là, le bouton indique « Finalisation sûre… », parce que l'équipement a été changé et que la station doit enregistrer le nœud même si vous partez. Fermer retire le formulaire tant que rien ne tourne.
En cas de succès, l'équipement est créé avec le seul identifiant de nœud pour identité (le code d'installation et le jeu de données ne sont jamais enregistrés, journalisés ni réaffichés), la page s'ouvre dessus, et le journal des actions indique « Équipement Matter « Kitchen light » appairé. » Si le nœud a été mis en service mais que son équipement n'a pas pu être créé, le journal des actions le dit et Découvrir est le chemin de récupération. Les échecs sont dits simplement et le formulaire reste ouvert pour un nouvel essai : un code ou un jeu de données invalide, aucun adaptateur Bluetooth utilisable, un Bluetooth refusé ou éteint, aucun équipement correspondant (« Mettez-le en mode appairage, gardez-le à proximité et réessayez. »), un code d'installation rejeté, un équipement qui n'a pas rejoint le réseau Thread (son nœud reste dans le Fabric et se récupère avec Découvrir), un Fabric qui n'a pas pu être enregistré (quand l'équipement était déjà mis en service : « Ne réinitialisez pas l'équipement tant que le problème de stockage du Fabric n'est pas résolu. »), ou un autre appairage déjà en cours. Un seul appairage tourne à la fois; pendant qu'il tourne, vous ne pouvez pas quitter le pilote (« Attendez la fin de l'appairage Matter avant de quitter ce pilote. »).
Ce que la découverte ne fait pas
Un balayage n'enregistre jamais rien de lui-même, ne change jamais un équipement existant, et ne se relance jamais tout seul. Il ne déduit ni sous-réseaux, ni plans de registres, ni réglages série, n'active ni ne désactive une ligne, et ne retire pas de l'équipement les candidats écartés. Il est refusé pour un pilote que le paquet ne porte pas. Ce que contiennent les résultats de chaque pilote est sur la page de ce pilote, sous Pilotes.