Règles des listes de variables de réseau (NVL)

Règles relatives à la quantité de données

En raison de certaines limitations de performances, respectez les règles suivantes :

Nombre

Règle

1

La transmission de données entre une VL (expéditeur) et une NVL (destinataire) ne doit pas dépasser 200 octets.

2

L'échange de données entre plusieurs NVL (expéditeur) d'un même contrôleur et leurs NVL (destinataire) associées ne doit pas dépasser 1 000 octets de variables.

Règles relatives au nombre de datagrammes

Pour limiter la durée maximale du cycle des tâches d'une NVL, respectez les recommandations suivantes :

Nombre

Règle

Description

1

Limitez le nombre de datagrammes reçus par cycle à 20.

Lorsque cette limite est dépassée, les datagrammes restants sont traités lors du cycle suivant. Une notification de débordement de réception est consignée dans les données de diagnostic lorsque la limite est atteinte.

Un datagramme peut contenir jusqu'à 256 octets. Cela signifie que vous ne devez pas dépasser la limite de 5 120 octets de données transmises à un récepteur.

2

Limitez le nombre de datagrammes émis par cycle à 20.

Lorsque cette limite est dépassée, les datagrammes restants sont traités lors du cycle suivant. Une notification de débordement d'émission est consignée dans les données de diagnostic lorsque la limite est atteinte.

Un datagramme peut contenir jusqu'à 256 octets. Cela signifie que vous ne devez pas dépasser la limite de 5 120 octets de données transmises par un contrôleur expéditeur.

Si le nombre de datagrammes reçus/émis par cycle dépasse la limite plusieurs fois, les événements suivants risquent de se produire :

operte de datagrammes UDP (User Datagram Protocol) ;

oéchange incohérent de variables.

Adaptez les paramètres suivants à vos besoins :

odurée du cycle du contrôleur expéditeur

odurée du cycle du contrôleur récepteur

onombre d'expéditeurs dans le réseau

AVIS

PERTE DE DONNEES

Testez soigneusement l'application pour vérifier la transmission et la réception des datagrammes UDP avant de mettre votre système en service.

Le non-respect de ces instructions peut provoquer des dommages matériels.

Nombre maximal de NVL (expéditeur)

Définissez au maximum 7 NVL (expéditeur) par contrôleur (expéditeur) pour maintenir la transparence des performances.

Règles relatives aux durées des cycles de tâche des NVL (expéditeur) et des NVL (destinataire)

Afin d'éviter toute saturation en réception, vous devez définir pour la tâche qui gère la transmission de la NVL (expéditeur) une durée de cycle au moins deux fois supérieure à celle de la tâche qui gère la réception de la NVL (destinataire).

Règles relatives à la protection de l'identificateur de liste

La fonction NVL inclut une vérification de l'identificateur de liste :

Cet identificateur permet d'éviter qu'une NVL (expéditeur) émanant de deux contrôleurs distincts avec le même identificateur de liste (boîte de dialogue GVL > Propriétés > Identificateur de liste de variables :) envoie des datagrammes à la même NVL (destinataire) d'un contrôleur. Si l'Identifi­cateur de liste de variables n'est pas unique, l'échange des variables peut être interrompu.

AVIS

PERTE DE COMMUNICATION

Vérifiez que l'identificateur de liste n'est utilisé que par une adresse IP dans le réseau.

Le non-respect de ces instructions peut provoquer des dommages matériels.

La fonction de vérification de l'identificateur de liste est mise en œuvre dans le contrôleur récepteur.

Si une NVL (destinataire) détecte que deux adresses IP différentes utilisent le même identificateur de liste, le récepteur interrompt immédiatement la réception des datagrammes.

De plus, une notification est générée dans le bloc fonction NETVARGETDIAGINFO. Les adresses IP des deux expéditeurs sont indiquées dans les paramètres de sortie dwDuplicateListIdIp1 et dwDuplicateListIdIp de ce bloc fonction.

Avec le bloc fonction NETVARRESETERROR, les erreurs détectées de la NVL sont réinitialisées et la communication est restaurée.

Cohérence dans le type des variables réseau

NOTE : Le type de variable réseau n'est pas partagé entre différents contrôleurs. Vous devez vérifier que les types utilisés ont la même définition sur tous les équipements. Sinon, aucune communication avec la NVL n'est possible.

Ceci vaut, par exemple, pour les types SEC.ETH_R_STRUCT ou SEC.PLC_R_STRUCT. Ils sont disponibles par défaut dans différents contrôleurs ayant différentes tailles ou différents champs.