Pilotes
Ce qu'est un pilote, comment les pilotes s'activent et se désactivent, le pilote fixe d'un équipement, le tableau de chaque pilote que ce produit connaît, ce que documente la page de chaque pilote, et la note sur les pilotes qu'un paquet ne porte pas.
Un pilote est le protocole que la station emploie pour parler à une famille d'équipements : des registres Modbus sur TCP, un serveur OPC UA, un automate Siemens. Chaque équipement de la page Connector appartient à exactement un pilote, et le pilote décide quels champs de connexion l'équipement montre, comment ses tags sont adressés, quels types de donnée ils peuvent porter, s'ils peuvent être écrits, si le pilote sait balayer à la recherche d'équipements, et si la station les scrute ou si l'équipement lui pousse ses données. Ce groupe porte une page par pilote; cette page est ce qu'ils ont en commun.
Le registre
L'ensemble des pilotes est fixe : il est livré avec l'application et ne peut pas être étendu depuis la page. La ligne Pilotes, en haut de la colonne Communication, liste ceux que cette installation porte, chacun avec sa description, son compte d'équipements, son état de santé et sa paire Activer et Désactiver; le tableau et ses règles sont sur La liste des pilotes et la page d'un pilote.
Les pilotes sont livrés activés. En désactiver un ne fait que cacher son groupe dans l'arborescence, et c'est refusé tant que le pilote a encore des équipements (ou, pour Modbus RTU, des lignes série) : un équipement configuré ne peut donc jamais disparaître de la vue. En activer un ajoute un groupe vide sous la ligne Pilotes sans équipement de l'arborescence. Ajouter un équipement à un pilote active ce pilote de lui-même. L'ensemble des pilotes activés est enregistré avec la configuration et voyage avec les sauvegardes.
Le pilote d'un équipement est fixe
Vous choisissez le pilote au moment de créer l'équipement : le menu Nouveau… de la colonne nomme le pilote sous lequel l'équipement arrive, et Ajouter un équipement sur la page d'un pilote crée sous ce pilote. À partir de là, la carte Équipement montre le pilote en texte de lecture seule. Pour faire passer un équipement à un autre protocole, créez un nouvel équipement sous l'autre pilote et supprimez l'ancien; l'adresse change, donc les références doivent être pointées vers les nouveaux tags par la carte Utilisé par de chaque tag.
Chaque pilote
| Pilote | Parle à |
|---|---|
| Simulated | Des signaux synthétiques internes à l'application, pour essayer sans matériel. |
| Modbus TCP | Des registres Modbus sur TCP/IP. Port 502 par défaut. |
| Modbus RTU | Des registres Modbus sur une ligne série (RS-485 ou RS-232). |
| OPC UA | Un client OPC Unified Architecture sur opc.tcp. |
| Siemens S7 | Des automates Siemens S7 par le pilote S7comm. |
| Rockwell EtherNet/IP | Des automates Allen-Bradley et Rockwell sur EtherNet/IP (CIP). |
| Beckhoff ADS | Des automates Beckhoff TwinCAT sur ADS/AMS. |
| Mitsubishi MC | Des automates Mitsubishi par le pilote MELSEC MC. |
| BACnet | Des équipements de gestion technique du bâtiment en BACnet/IP. |
| IEC 61850 | Des IED de poste électrique en IEC 61850 sur MMS. Non inclus dans le paquet distribué (voir ci-dessous). |
| OCPP | Des points de charge de véhicules électriques en OCPP (ce sont les points de charge qui se connectent à cette station). |
| Redfish | L'API REST Redfish du matériel de serveur et de centre de données. |
| Matter | Des équipements domotiques Matter (mise en service par Bluetooth). |
| LoRaWAN | Des capteurs LoRaWAN par le serveur de réseau Basics Station intégré. |
| AVEVA PI | Des points d'un système AVEVA PI par PI Web API, en HTTPS par défaut. |
| HTTP | Des points de terminaison HTTP/JSON génériques, scrutés comme des tags. |
Le registre connaît aussi OPC DA (l'OPC Data Access classique sur COM/DCOM), mais aucun pilote ne le sert dans ce produit : il n'est jamais listé, jamais activé et ne prend aucun équipement.
Ce que les pilotes ont en commun, et là où ils diffèrent
Le Connector dessine un seul éditeur pour tous les pilotes et laisse le pilote décider quelles parties apparaissent. Ce tableau dit à quoi s'attendre avant d'ouvrir la page d'un pilote :
| Pilote | Champs de connexion sur la page de l'équipement | Adressage d'un tag | Intervalle de scrutation | Écritures de tag | Découverte |
|---|---|---|---|---|---|
| Simulated | aucun | le nom du tag, plus la forme du signal | oui | oui | oui (son catalogue) |
| Modbus TCP | Hôte, Port, Identifiant d'unité, Intervalle minimal entre transactions | typé : classe et numéro de registre | oui | oui | oui (balayage d'un hôte ou d'un CIDR) |
| Modbus RTU | Ligne série (fixe), Identifiant d'unité | typé : classe et numéro de registre | oui | oui | oui (sondage d'identifiants d'unité sur une ligne) |
| OPC UA | Hôte, Port, Chemin de ressource, Nom d'utilisateur, Mot de passe | texte libre : identifiant de nœud | oui | oui | oui (adresse du serveur) |
| Siemens S7 | Hôte, Châssis / Emplacement | typé : zone, DB, octet, bit | oui | oui | non |
| Rockwell EtherNet/IP | Hôte, Emplacement | texte libre : tag d'automate, plus un décalage | oui | oui | oui (diffusion) |
| Beckhoff ADS | Hôte, Port, IP locale (AMS) | texte libre : symbole | oui | oui | non |
| Mitsubishi MC | Hôte, Port | texte libre : adresse d'équipement | 1 s fixe | oui | non |
| BACnet | Hôte, Port, Identifiant d'équipement | typé : type et instance d'objet | 1 s fixe | oui | oui (Who-Is) |
| IEC 61850 | Hôte, Port | texte libre : chemin MMS | 1 s fixe | oui | non |
| OCPP | Identifiant | typé : numéro de connecteur; le nom du tag finit par Meter ou Status | poussé par le point de charge | non (lecture seule) | oui (points de charge connectés) |
| Redfish | Hôte, Nom d'utilisateur, Mot de passe | texte libre : chemin de ressource, plus un pointeur JSON | oui | oui | non |
| Matter | Identifiant de nœud (lecture seule) | le nom du tag est le cluster | oui | non (lecture seule) | oui (nœuds mis en service) |
| LoRaWAN | Identifiant (DevEUI), Serveur / Clé (clé applicative) | typé : canal ou décalage, type LPP | poussé par le capteur | non (lecture seule) | non |
| AVEVA PI | Hôte, Port, Chemin de ressource, Transport, Nom d'utilisateur, Mot de passe, Jeton porteur | texte libre : chemin PI | oui | oui | non |
| HTTP | Hôte, Port, Chemin de ressource | texte libre : chemin | oui | oui | non |
Chaque pilote réduit aussi la liste Type de donnée qu'un tag propose à ce qu'il sait réellement transporter; la liste exacte est sur la page du pilote. Là où le tableau dit « 1 s fixe », le pilote ignore l'intervalle configuré : les pages de l'équipement et du tag lui cachent donc le champ Intervalle de scrutation. Là où il dit « lecture seule », le champ Accès n'offre que Lecture seule et le champ d'écriture n'apparaît jamais.
Ce que documente la page de chaque pilote
La page de chaque pilote parcourt les mêmes sections dans le même ordre : les champs de connexion que montre la carte Équipement et la façon dont ils assemblent l'URI de base; la façon dont un tag est adressé (les champs typés ou le jeton en texte libre, et l'adresse de bus en lecture seule dont le volet donne un aperçu); les types de donnée offerts; la découverte, quand le pilote en a une; les écritures, quand le pilote les accepte; et les particularités du pilote (identifiants, certificats, temporisation, un serveur de réseau que la station fait tourner, l'appairage).
Un pilote que le paquet ne porte pas
Le pilote IEC 61850 se construit et fonctionne dans une installation de développement mais n'entre pas dans le paquet distribué : sa bibliothèque de protocole est sous une licence dont les termes ne permettent pas de la livrer à l'intérieur de l'installateur. Le Connector ne liste jamais un pilote que le paquet en fonctionnement ne porte pas, et ne l'active jamais. Une configuration qui arrive tout de même avec de tels équipements (une sauvegarde restaurée, une configuration venue d'une autre machine) les conserve : la ligne du pilote reste listée tant que ces équipements existent, sa description indique « Pilote non inclus dans ce paquet. », et la page du pilote et chaque équipement en dessous portent un bandeau qui dit la même chose. Ces équipements restent hors ligne et gardent leurs réglages; ils peuvent être supprimés, mais pas copiés, et aucun nouvel équipement ni aucun balayage de découverte ne peut être lancé sous ce pilote. Activer la ligne est refusé par « 'IEC 61850' was not enabled: Driver not included in this package. »
Quels pilotes un paquet porte est lu dans le registre de modules du serveur intégré, qui n'existe qu'une fois le serveur démarré. D'ici là, chaque pilote compte comme présent : la liste des pilotes se stabilise donc quelques secondes après le lancement et ne bouge plus de la session, même si le serveur est arrêté puis redémarré.
Le code d'un pilote est chargé une seule fois, pour toute la durée d'exécution de l'application. Arrêter puis démarrer la communication reconstruit les équipements en fonctionnement et la liste des pilotes à partir de ce même chargement, et c'est ce qui garde la mémoire de la station stable au fil d'une journée de redémarrages. Conséquence : remplacer les fichiers d'un pilote sur le disque ne prend effet qu'après le redémarrage de l'application elle-même.