# Lignes série

> Le nœud de ligne série de Modbus RTU, du pilote Generic serial and TCP, du pilote SCPI instruments et du pilote Omron : le tuple physique que partage chaque équipement du bus, ses temporisations, ses états, le balayage des unités, les équipements rangés dessous, et ce qui se verrouille tant que la ligne est activée.

Une **ligne série** est un bus série physique : un port COM avec son débit en bauds et son format d'octet, partagé par chaque équipement qui y est câblé. Les lignes existent sous quatre pilotes, Modbus RTU, Generic serial and TCP, SCPI instruments et Omron, entre le pilote et ses équipements, si bien que l'arborescence se lit Modbus RTU > Ligne > Équipement > Tag. Une ligne appartient pour de bon au pilote sous lequel elle a été créée : des équipements de pilotes différents ne partagent jamais une ligne, et un port appartient à une ligne quel que soit son pilote. Une ligne Modbus RTU porte en plus le mode de transmission, le délai de réponse et le rythme que partage chaque unité ; sur une ligne du pilote générique ou du pilote SCPI, chaque équipement indique dans son propre panneau comment se terminent ses messages et combien de temps il attend, et la ligne ne garde que le port, le débit et le format (voir [Generic serial and TCP](driver-generic-serial-tcp#serial-line) et [SCPI instruments](driver-scpi#serial-line)). Sur une ligne du pilote Omron, chaque automate répond à son propre numéro d'unité et fixe son propre délai de réponse (voir [Omron](driver-omron#host-link-on-a-serial-line)). La page est visible avec Voir Connector ; chaque champ et chaque verbe qu'elle porte demandent Configurer Connector.

## Créer une ligne {#creating-a-line}

Trois gestes en créent une, sous un pilote déjà ajouté : **Ajouter une ligne** sur le tableau des lignes série de la page du pilote, **Nouveau…** > `<Pilote>` > **Nouvelle ligne série** dans le pied de colonne, et **Ajouter une ligne** dans le menu du clic droit sur le pilote. La nouvelle ligne s'appelle « Nouvelle ligne » (puis « Nouvelle ligne 2 »), prend le premier port série que Windows rapporte et qu'aucune autre ligne n'emploie (ou COM1, COM2 et ainsi de suite quand aucun n'est libre), démarre à 9600 bauds en 8E1 (avec, sur une ligne Modbus RTU, un délai de réponse de 1000 ms et un intervalle entre transactions de 0 ms), et est créée **désactivée** pour que vous puissiez régler le tuple physique avant que le port ne s'ouvre. Le journal des actions le dit : « Ligne désactivée « Nouvelle ligne » ajoutée. Configurez ses réglages physiques, puis activez-la. » La ligne n'est pas ouverte : elle apparaît mise en évidence dans le tableau des lignes série de la page du pilote, où l'écran va depuis Nouveau… ou le clic droit, et **Ouvrir** sur sa ligne la modifie. Une ligne du pilote Omron commence plutôt sur 7E2, le réglage d'usine d'un port Host Link.

## L'en-tête {#the-header}

Le nom, le point d'état de santé, le mot d'état et le tuple physique sur une ligne (« COM3 · 9600 · 8E1 · 1000 ms », et « COM3 · 9600 · 7E1 · ASCII · 1000 ms » sur une ligne ASCII ; « COM3 · 9600 · 8E1 » sur une ligne du pilote générique ou du pilote SCPI, qui n'a pas de délai) et, quand le port a échoué, le texte de diagnostic en rouge en dessous. Les mots d'état sont Désactivée, Au repos, Connexion…, En ligne et Défaut de port ; ce que chacun signifie est sur [Activation et état de santé](connector-health#serial-line-states). En dessous, les équipements de la ligne qui ont une erreur à eux sont nommés (« 1 équipement en erreur : Meter ») ; tant que le port lui-même est en échec, ses équipements renvoient à la ligne et aucun n'est nommé.

## La barre de commandes {#the-command-bar}

| Commande | Ce qu'elle fait | Grisée quand (situation) | Non dessinée quand (rôle) |
| --- | --- | --- | --- |
| **Activer** | Laisse les équipements prendre le bus et verrouille le tuple physique. | La ligne est déjà activée, son tuple n'est pas valide, un balayage est en cours, ou la station refuse les modifications. | Sans Configurer Connector. |
| **Désactiver** | Ferme le bus pour tous les équipements qui s'y trouvent sans toucher à leurs propres interrupteurs Activé, et déverrouille le tuple. | La ligne est éteinte, un balayage est en cours, ou la station refuse les modifications. | Sans Configurer Connector. |
| **Supprimer la ligne** (encre de danger, à droite) | Demande d'abord. Ligne vide : « Supprimer « Ligne » ? Cette ligne n'a aucun équipement. Cette action est irréversible. » Ligne avec équipements : « Cela supprime aussi ses 3 équipements et tous leurs tags. » Après la suppression, le pilote de la ligne est sélectionné. | Un balayage est en cours, ou la station refuse les modifications. | Sans Configurer Connector. |

Le clic droit sur la ligne ajoute **Ajouter un équipement** avant les mêmes Activer, Désactiver et Supprimer.

## La carte Ligne physique {#the-physical-line-card}

« Un bus série physique : les réglages de port que partage chaque unité adressée sur cette ligne. » Sur une ligne du pilote générique ou du pilote SCPI : « Un bus série physique : les réglages de port que partagent ses instruments, une requête à la fois. » Cette ligne n'affiche que le nom, le port, le débit et le format ; les champs marqués ci-dessous comme propres à Modbus RTU n'y apparaissent pas. Une ligne du pilote Omron indique « Un bus série physique : les réglages de port que partagent ses automates, chacun répondant à son numéro d'unité, une requête à la fois. » et montre la même chose.

| Champ | Ce que c'est | Valeurs / défaut | Effet |
| --- | --- | --- | --- |
| **Nom** | Le nom courant du bus, affiché dans l'arborescence et dans le champ « Ligne série » de chaque équipement. | Obligatoire ; « Nouvelle ligne » à la création. | Modifiable tant que la ligne est activée. Un nom vide est refusé : « Le nom de la ligne est obligatoire. » Le nom n'entre jamais dans une adresse : un équipement Modbus RTU s'adresse `Connector.ModbusRtu.<Équipement>.<Tag>`, sans segment de ligne. |
| **Port série** | Le port COM Windows : physique, virtuel ou redirigé. Un champ de texte avec un sélecteur des ports que Windows rapporte en ce moment ; en choisir un remplit le champ. **Actualiser** relit la liste du système d'exploitation sans remplacer ce que vous avez tapé. Sans rien de détecté, le sélecteur montre une seule entrée désactivée, « Aucun port détecté », et le champ indique « Aucun port série détecté. Saisissez-en un à la main. » | Obligatoire ; le premier port libre détecté à la création. | Verrouillé tant que la ligne est activée. Un port appartient à une seule ligne, sans tenir compte de la casse, même quand les deux sont désactivées : une deuxième ligne sur le même port est refusée à l'enregistrement. |
| **Débit (bauds)** | La vitesse du bus. | Supérieur à zéro ; 9600. | Verrouillé tant qu'elle est activée. Avec le format, il fixe le silence inter-trames automatique. |
| **Mode de transmission** | Modbus RTU seulement. Comment chaque unité du bus forme ses messages : RTU, des trames binaires avec un CRC, ou ASCII, du texte d'un deux-points à un saut de ligne avec un LRC. | RTU, ASCII ; RTU. | Verrouillé tant qu'elle est activée. Sur une ligne ASCII, le **Format série** propose aussi 7N2, 7E1, 7E2 et 7O1, et le silence **Automatique** affiche 0 ms, car une trame ASCII se termine à son saut de ligne ; une note sous l'intervalle le dit. Une ligne RTU refuse les formats à 7 bits : une ligne ASCII remise en RTU avec un format à 7 bits affiche un format vide, et la ligne n'est enregistrée qu'une fois un format à 8 bits choisi. |
| **Format série** | Bits de données, parité et bits d'arrêt. | 8N1, 8N2, 8E1, 8E2, 8O1, 8O2, et sur une ligne ASCII ou une ligne du pilote générique, du pilote SCPI ou du pilote Omron aussi 7N2, 7E1, 7E2, 7O1 ; 8E1. | Verrouillé tant qu'elle est activée. |
| **Délai de réponse (ms)** | Modbus RTU seulement. Combien de temps une unité peut mettre à répondre avant que la requête n'échoue. | De 100 à 60000 ; 1000. | Verrouillé tant qu'elle est activée. Un délai plus long s'accommode d'un matériel lent, mais rend les unités absentes et la découverte plus lentes à identifier, comme le dit la carte. |
| **Intervalle minimal entre transactions (ms)** | Modbus RTU seulement. Un silence appliqué à toute la ligne, de la fin d'une transaction tentée au début de la suivante, pour chaque unité, en lecture comme en écriture, délais dépassés et échecs compris. | De 0 à 1000 ; 0. | Modifiable tant qu'elle est activée ; un changement prend effet sans faire cycler le port. Zéro conserve le minimum du protocole. Deux afficheurs suivent : **Automatique**, le plancher Modbus RTU (3,5 caractères au débit et au format configurés jusqu'à 19200 bauds, 1,75 ms au-dessus) et **Effectif**, le plus grand du plancher et de votre valeur, jamais leur somme. La note dit à quoi cela sert : une valeur plus haute réduit le débit utile de chaque unité de la ligne, et c'est une aide à la compatibilité, pas une réparation du câblage, de la terminaison, de la mise à la terre ou du bruit. |

Trois lignes referment la carte : le récapitulatif d'état de santé de la ligne (« En ligne · 2/2 équipements en ligne », « Au repos · aucun équipement activé », « En ligne · 1 en ligne · 1 en anomalie »), quels champs sont modifiables en ce moment (« Les réglages physiques sont modifiables tant que la ligne est désactivée. » ou « Désactivez la ligne pour changer ses réglages physiques. Le nom et l'intervalle entre transactions restent modifiables en ligne. » ; sur une ligne du pilote générique ou du pilote SCPI, qui n'a pas d'intervalle, « Désactivez la ligne pour changer ses réglages physiques. Le nom reste modifiable en ligne. »), et, sur une ligne Modbus RTU, le conseil sur le délai.

Une valeur hors plage n'est pas enregistrée et la raison arrive dans le journal des actions : « Le port série est obligatoire. », « Le débit en bauds doit être supérieur à zéro. », « Le délai de réponse doit être compris entre 100 et 60000 ms. », « L'intervalle minimal entre transactions doit être compris entre 0 et 1000 ms. » La case garde ce qui a été saisi ; le tuple de l'en-tête, la colonne **Réglages physiques** du pilote et **Ligne série · fixe** de chaque unité continuent de montrer la ligne telle qu'elle est enregistrée, celle avec laquelle le bus tourne. Une ligne dont le tuple n'est pas valide ne peut pas être activée. Un enregistrement que la station refuse ramène la carte aux valeurs conservées.

## La carte Découvrir les unités {#the-discover-units-card}

Dessinée seulement pour Configurer Connector, et seulement sur une ligne Modbus RTU : « Sondage séquentiel en lecture seule sur cette ligne physique configurée. » **ID d'unité de début** et **ID d'unité de fin** (de 1 à 247, croissants ; de 1 à 32 par défaut) bornent un sondage de chaque unité de la plage sur le tuple enregistré de cette ligne ; **Découvrir** le lance et se change en **Annuler**. La ligne sous les champs estime le pire cas (« 32 sondages · jusqu'à ~32,1 s, dont 4,011 ms de silence avant chaque sondage. ») ou nomme ce qui ne va pas dans la plage (« La plage d'ID d'unité doit être croissante. »). Une ligne activée avec au moins un équipement activé est en service, et la carte le dit : « Cette ligne est en service. Désactivez-la avant la découverte ; Ganter Lab n'interrompt ni ne réactive le bus automatiquement. » Une modification en attente sur la carte est enregistrée avant que le balayage n'ouvre le port. La grille des résultats, **Unités découvertes** (ID d'unité, Équipement, Résultat, Ajouter un équipement ou Ouvrir), et le balayage lui-même sont sur [Découverte](connector-discovery#modbus-rtu).

## La carte Équipements {#the-devices-card}

« Les ID d'unité doivent être uniques sur cette ligne. Les réglages physiques sont hérités et ne peuvent pas être changés ici. » **Ajouter un équipement** crée un équipement sur cette ligne sous le premier ID d'unité libre de 1 à 247, mis en évidence dans ce tableau et amené dans la zone visible (« Équipement « Nouvel équipement » ajouté sur « Ligne 1 ». ») ; il est refusé avec « La ligne « X » contient déjà tous les ID d'unité valides. » quand aucun n'est libre, et grisé pendant un balayage. Le tableau liste **Équipement**, **ID d'unité**, **Tags**, **État de santé** et les actions Ouvrir, Activer, Désactiver et Supprimer (les trois dernières pour Configurer Connector, toutes grisées pendant un balayage). La page de l'équipement lui-même affiche la ligne et son tuple en texte de lecture seule ; voir [Équipements](connector-devices#the-connection-card). Un équipement qui a une erreur à lui porte le marqueur rouge de l'arborescence après son nom.

Sur une ligne du pilote générique ou du pilote SCPI, la carte dit « Tous les équipements de cette ligne partagent ses réglages de port. Chacun indique dans son propre panneau comment se terminent ses messages et combien de temps il attend une réponse. » **Ajouter un équipement** crée un équipement de ce pilote sur la ligne, sans ID d'unité, et le tableau n'a pas de colonne **ID d'unité** : autant d'instruments qu'il faut partagent la ligne, distingués par ce que disent leurs requêtes.

Sur une ligne du pilote Omron, la carte indique « Tous les automates de cette ligne partagent ses réglages de port et répondent à leur propre numéro d'unité. Chacun indique dans son propre panneau combien de temps il attend une réponse. » **Ajouter un équipement** crée un automate sur la ligne sous le premier numéro d'unité libre de 0 à 31, la copie d'un équipement prend le suivant libre, et le tableau a la colonne **ID d'unité** : jusqu'à 32 automates partagent la ligne, chacun répondant à son numéro d'unité Host Link.

## Ce qu'une ligne ne fait pas {#what-a-line-does-not-do}

Une ligne ne prend aucun dossier : ses équipements sont rangés par la ligne et par rien d'autre, et le menu Déplacer vers ne leur est pas proposé. Un équipement ne peut pas être déplacé vers une autre ligne ; Copier l'équipement garde la copie sur la même ligne, sous le prochain ID d'unité libre sur une ligne Modbus RTU. Le tuple ne peut pas varier par équipement, et le port n'est jamais ouvert sans équipement : une ligne activée sans équipement activé se lit Au repos et ne tient aucune session, ce qui est aussi ce qui rend son balayage sans risque.
