Pilotes

Ce qu'est un pilote, où les pilotes sont listés et comment l'un d'eux est ajouté à la station, 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.

Afficher en Markdown

Le lecteur provient de YouTube et ne se charge qu'au lancement de la lecture.

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. Le dossier Pilotes, en haut de l'arborescence de la colonne Communications, ouvre le catalogue de ceux que cette installation porte, chacun avec sa description, son compte d'équipements, son état de santé et Ajouter un pilote, ou Ouvrir et Retirer le pilote une fois ajouté; le catalogue et ses règles sont sur La liste des pilotes et la page d'un pilote.

Chaque pilote que porte le paquet est prêt à servir, sans interrupteur pour le mettre en marche ou à l'arrêt : la station ajoute ceux qu'elle utilise. Sous le dossier Pilotes, l'arborescence liste les pilotes ajoutés, avec ou sans quelque chose en dessous : la colonne porte donc ce que la station est prête à lire. Un pilote s'ajoute avec Ajouter un pilote sur sa ligne du catalogue ou dans le menu Nouveau… de la colonne, et se retire avec Retirer le pilote sur sa ligne du catalogue, sur sa propre barre ou dans son menu du clic droit. Retirer ne supprime rien : c'est refusé tant que le pilote porte un équipement, une ligne série, un broker ou un dossier, et un pilote qui en porte un est toujours ajouté. Une station neuve n'a aucun pilote ajouté; une station mise à jour depuis une version antérieure commence avec les pilotes qu'elle utilise déjà ajoutés.

Le pilote d'un équipement est fixe

Vous choisissez le pilote au moment de créer l'équipement : dans le menu Nouveau… de la colonne, l'équipement se crée depuis l'entrée du pilote lui-même, 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

Les pilotes sont regroupés selon la famille d'équipements qu'ils joignent : les mêmes groupes, dans le même ordre, que dans le catalogue Pilotes et l'entrée Ajouter un pilote du menu Nouveau… de la colonne.

Automates

Pilote Parle à
Beckhoff ADS Des automates Beckhoff TwinCAT sur ADS/AMS.
Mitsubishi MC Des automates Mitsubishi par le pilote MELSEC MC.
Omron Automates Omron : les CJ, CS et CP par adresse mémoire sur FINS (UDP, TCP ou Host Link sur une ligne série), et les NJ, NX et NY par nom de variable sur EtherNet/IP.
Rockwell EtherNet/IP Des automates Allen-Bradley et Rockwell sur EtherNet/IP (CIP).
Siemens S7 Des automates Siemens S7 par le pilote S7comm.

Protocoles industriels

Pilote Parle à
BACnet Des équipements de gestion technique du bâtiment en BACnet/IP.
Generic serial and TCP Des équipements à protocole propre, fait de texte ou d'octets, comme les indicateurs de pesage et les lecteurs de codes-barres, sur une ligne série, en TCP ou en UDP.
Modbus RTU Des registres Modbus sur une ligne série (RS-485 ou RS-232), en mode de transmission RTU ou ASCII.
Modbus TCP Des registres Modbus sur TCP/IP, en trame MBAP ou en trames RTU pour un convertisseur série-Ethernet. Port 502 par défaut.
MQTT Des équipements qui publient par un broker MQTT externe, en MQTT simple ou en Sparkplug B.
OCPP Des bornes de recharge de véhicules électriques en OCPP (ce sont les bornes qui se connectent à cette station).
OPC DA Serveurs OPC Data Access classiques via COM/DCOM, par un processus auxiliaire 32 bits qui leur est propre.
OPC UA Un client OPC Unified Architecture sur opc.tcp.
SNMP Équipements réseau qui répondent en SNMP v1, v2c ou v3, comme les onduleurs, les PDU, les commutateurs et les capteurs de salle technique; avec Redfish pour les serveurs, il couvre la salle technique.

Instruments et acquisition

Pilote Parle à
Fluke NetDAQ Centrales d'acquisition Fluke NetDAQ (2640A, 2645A) et 2680 Series (2680A, 2686A), configurées à partir des tags et lues par la bibliothèque de Fluke dans un processus auxiliaire 32 bits.
NI-DAQmx Matériel d'acquisition de données de National Instruments (châssis cDAQ et leurs modules, équipements USB et PCI Express) par le NI-DAQmx installé sur cet ordinateur, un échantillon par scrutation.
SCPI instruments Instruments de banc qui parlent SCPI, comme les multimètres, les alimentations et les charges électroniques, sur TCP, sur ligne série, ou en USB et GPIB par VISA.

Sans fil

Pilote Parle à
LoRaWAN Capteurs LoRaWAN et concentrateurs radio par le serveur de réseau Basics Station intégré.
Matter Des équipements domotiques Matter (mise en service par Bluetooth).

Web et API

Pilote Parle à
AVEVA PI Des points d'un système AVEVA PI par PI Web API, en HTTPS par défaut.
HTTP Endpoints HTTP et HTTPS génériques scrutés comme des tags, avec un identifiant facultatif.
Redfish L'API REST Redfish du matériel de serveur et de centre de données.

Fichiers et bases de données

Pilote Parle à
Database Les tables de la base de données d'un système de l'usine (SQL Server, PostgreSQL, MySQL et MariaDB, SQLite, ou toute base de données par son pilote ODBC), chaque tag lisant une cellule par sa table, sa colonne et sa ligne ou exécutant une requête propre; la cellule ou une commande propre au tag écrite là où un tag le demande.
File Les fichiers qu'un autre programme écrit dans un dossier local ou réseau (CSV et texte en colonnes, texte libre, JSON, XML), lus un fichier à la fois ou depuis un dossier d'arrivée; des lignes ou des fichiers entiers écrits pour ce programme là où l'équipement le permet.

Tests

Pilote Parle à
Simulated Des signaux synthétiques internes à l'application, pour essayer sans matériel.

Le serveur Modbus n'est pas dans ce tableau : ce n'est pas un pilote, mais la station elle-même qui sert ses tags et ses variables Logic aux automates, aux IHM et aux systèmes de gestion technique du bâtiment en Modbus TCP, depuis sa propre ligne sous le dossier Serveurs.

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é, Format de trame (MBAP ou RTU), 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; la ligne fixe le mode de transmission, RTU ou ASCII), 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)
OPC DA Hôte, Serveur / Clé texte libre : ID d'élément oui oui oui (les serveurs d'un ordinateur)
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)
OCPP Identifiant typé : numéro de connecteur; le nom du tag finit par Meter, Status ou Transaction poussé par la borne non (lecture seule) oui (bornes connectées)
Redfish Hôte, Port, Nom d'utilisateur, Mot de passe texte libre : chemin de ressource, plus un pointeur JSON oui oui oui (adresse du service)
Matter Identifiant de nœud (lecture seule) typé : sortie, cluster et attribut; les tags viennent de l'équipement oui oui (les valeurs que le pilote sait changer) oui (nœuds mis en service, avec les valeurs que chacun publie)
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 oui (élément AF après l'adresse du service)
HTTP Hôte, Port, Chemin de ressource texte libre : chemin oui oui non
MQTT Broker (fixe; le broker porte l'hôte, le port, le transport et l'identification), Protocole et, en Sparkplug B, les identifiants de groupe, de nœud de périphérie et d'équipement texte libre : Topic MQTT, plus un chemin de la valeur dans une charge utile JSON, ou Métrique Sparkplug B livré par le broker oui (sur un topic de commande, ou par une commande Sparkplug B) oui (écoute sur un broker)
Generic serial and TCP Transport réseau (Client TCP ou Écoute UDP), Hôte, Port, ou la Ligne série (fixe) pour un équipement sur une ligne; puis les cartes Messages reçus et Somme de contrôle typé : mode de lecture, requête, filtre des messages et place de la valeur dans le message oui; un tag en écoute garde ce que le matériel envoie oui (un message d'écriture; pas en UDP) non
Omron Hôte, Protocole (FINS ou Tags NJ/NX par nom); en FINS, le Port et la carte FINS (transport, réseau, nœuds, unité, délai de réponse); sur une ligne série, la Ligne série (fixe), l'ID d'unité (le numéro d'unité Host Link) et le délai de réponse texte libre : Adresse mémoire (FINS) ou Nom de variable (NJ/NX) oui oui oui (un sondage FINS d'un automate, et une diffusion pour les automates NJ/NX)
SCPI instruments Transport réseau (TCP (socket LXI) ou VISA), Hôte et Port ou la Ressource VISA, ou la Ligne série (fixe) pour un équipement sur une ligne; puis la carte Instrument de mesure (terminateur, délai de réponse, confirmation d'écriture, commandes de préparation) texte libre : Requête, plus la valeur d'une réponse séparée par des virgules, et une commande d'écriture oui oui (une commande d'écriture, confirmée par la file d'erreurs de l'instrument) oui (les instruments que VISA liste, et un sondage TCP d'un hôte)
NI-DAQmx aucun : à sa place la carte Équipement NI-DAQmx (Nom de l'équipement, et le Produit que NI-DAQmx lit) typé : Voie physique et Mesure, avec la plage, le câblage, le thermocouple ou les réglages de compteur de la mesure oui oui (lignes de sortie numérique et sorties de tension) oui (chaque équipement que NI MAX connaît, avec ses voies)
Fluke NetDAQ Hôte; puis la carte Instrument de mesure (Voie de base, Vitesse de balayage) typé : Type de point (une voie analogique et sa Fonction, une ligne numérique, un relais ou le totalisateur) oui; l'instrument balaie au plus court intervalle parmi les tags de l'équipement oui (lignes numériques et relais, et totalisateur remis à zéro) non
SNMP Hôte, Port; puis la carte Agent SNMP (version, community ou utilisateur SNMPv3 et sécurité, délai de réponse, nouvelles tentatives) texte libre : OID, en chiffres ou par son nom standard oui oui (un SET que l'agent accepte; un objet standard que sa MIB déclare en lecture seule reste en lecture seule) oui (un parcours des sous-arbres standard d'un agent)
File aucun : à sa place la carte Dossier et fichier (Chemin du dossier, Nom du fichier ou le motif du dossier d'arrivée, Lire depuis, Format du fichier), puis les cartes Texte du fichier et Écriture typé : ce que lit le tag (une valeur, le fichier entier ou une donnée du fichier) et, pour une valeur, une colonne et une ligne (CSV), une ligne et ses caractères (texte libre) ou un chemin (JSON, XML) oui oui (sur un équipement qui autorise l'écriture : une ligne ajoutée, le fichier entier remplacé ou un autre fichier désigné) oui (un fichier, celui d'un équipement ou un fichier saisi)
Database aucun : à sa place la carte Base de données (Type de base de données, puis Serveur, Port, Nom d'instance et Nom de la base de données, le Fichier de base de données, ou la Source de données ou texte de connexion), puis la carte Connexion à la base (Nom d'utilisateur et Mot de passe, et sur SQL Server la connexion Windows et le Chiffrement) typé : la façon dont le tag lit (une cellule par Table de la valeur, Colonne de la valeur et Ligne à lire, ou le Texte de sa requête propre) oui oui (la cellule qu'il lit, ou sa propre commande d'écriture) oui (les tables de la base de données d'un équipement)

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 Connector ne liste ni ne propose jamais un pilote que le paquet en fonctionnement ne porte pas. 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 : le pilote reste listé, dans le catalogue et sous le dossier Pilotes, tant que ces équipements existent, sa description indique « Pilote absent de 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.

Quels pilotes un paquet porte est lu dans le registre de pilotes du Connector, qui n'existe qu'une fois le Connector démarré. D'ici là, chaque pilote compte comme présent : le catalogue se stabilise donc quelques secondes après le lancement et ne bouge plus de la session, même si le Connector 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.