Pilotes

Ce qu'est un pilote, comment les pilotes s'activent et se désactivent, le pilote fixe d'un équipement, le tableau de tous les pilotes que ce produit connaît, ce que documente chaque page de pilote, et la note sur les pilotes qu'un paquet ne porte pas.

Afficher en Markdown

Un pilote est le protocole que la station emploie pour parler à une famille de matériels : 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 peut chercher du matériel, et si la station les scrute ou si le matériel pousse vers elle. Ce groupe porte une page par pilote ; cette page-ci est ce qu'ils ont en commun.

Le registre

L'ensemble des pilotes est fixé : il est livré avec l'application et ne peut pas être étendu depuis la page. La ligne Pilotes en haut de la colonne Communications liste ceux que cette installation porte, chacun avec sa description, son nombre d'équipements, son état de santé et une paire activer/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 de l'arborescence, et c'est refusé tant que le pilote a encore des équipements (ou, pour Modbus RTU, des lignes série), si bien qu'un équipement configuré ne peut 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 conservé 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 atterrit, et Nouvel é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.

Tous les pilotes

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/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 / 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. Absent du paquet distribué (voir plus bas).
OCPP Des bornes de recharge de véhicules en OCPP (les bornes 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 AVEVA PI System par la 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 des parties qui 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 des tags Période 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 réseau, ID 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), ID d'unité typé : classe et numéro de registre oui oui oui (sondage d'ID d'unité sur une ligne)
OPC UA Hôte, Port réseau, Chemin de ressource, Nom d'utilisateur, Mot de passe texte libre : Node id 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 réseau, IP locale (AMS) texte libre : Symbole oui oui non
Mitsubishi MC Hôte, Port réseau texte libre : Adresse d'équipement 1 s fixe oui non
BACnet Hôte, Port réseau, Numéro d'instance typé : type d'objet et instance 1 s fixe oui oui (Who-Is)
IEC 61850 Hôte, Port réseau texte libre : Chemin MMS 1 s fixe oui non
OCPP Identifiant typé : numéro de connecteur ; le nom du tag se termine par Meter ou Status poussée par la borne non (lecture seule) oui (bornes connectées)
Redfish Hôte, Nom d'utilisateur, Mot de passe texte libre : Chemin de ressource, plus un pointeur JSON oui oui non
Matter ID 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é d'application) typé : voie ou décalage, type LPP poussée par le capteur non (lecture seule) non
AVEVA PI Hôte, Port réseau, Chemin de ressource, Transport réseau, Nom d'utilisateur, Mot de passe, Jeton bearer texte libre : Chemin PI oui oui non
HTTP Hôte, Port réseau, Chemin de ressource texte libre : Chemin oui oui non

Chaque pilote restreint 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 la période configurée, si bien que les pages Équipement et Tag lui cachent le champ Période de scrutation. Là où il dit « lecture seule », le champ Accès ne propose que Lecture seule et le champ d'écriture n'apparaît jamais.

Ce que documente chaque page de pilote

Chaque page de pilote parcourt les mêmes sections dans le même ordre : les champs de connexion que montre la carte Équipement et comment ils assemblent l'URI de base ; comment 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 proposés ; 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, un appairage).

Un pilote que le paquet ne porte pas

Le pilote IEC 61850 se compile et tourne dans une installation de développement, mais n'entre pas dans le paquet distribué : sa bibliothèque de protocole est sous une licence qui n'autorise pas à la livrer dans l'installateur. Le Connector ne liste jamais un pilote que le paquet en service ne porte pas, et ne l'active jamais. Une configuration qui arrive malgré tout avec de tels équipements les conserve : la ligne du pilote reste listée tant que ces équipements existent, sa description indique « Pilote absent de ce paquet. », et la page du pilote comme 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 balayage de découverte ne peut être lancé sous ce pilote. Activer la ligne est refusé avec « « IEC 61850 » n'a pas été activé : Pilote absent de ce paquet. »

Les pilotes que porte un paquet sont lus dans le registre de greffons du serveur intégré, qui n'existe qu'une fois le serveur démarré. D'ici là, chaque pilote compte comme présent, si bien que la liste des pilotes se stabilise quelques secondes après le démarrage puis ne bouge plus de la session, même quand le serveur est arrêté puis relancé.

Le code d'un pilote est chargé une fois pour toute la durée de vie de l'application. Arrêter et relancer les communications reconstruit les équipements en service et la liste des pilotes à partir de ce même chargement, et c'est ce qui garde plate la mémoire de la station sur une journée de redémarrages. La conséquence est que remplacer les fichiers d'un pilote sur le disque ne prend effet qu'après un redémarrage de l'application elle-même.