Description de la fonction
Utilisez le bloc fonction S_RD_ETH_MX
conjointement avec le bloc fonction S_WR_ETH_MX
pour effectuer un transfert de données de sécurité
entre des CPU de sécurité équipées du micrologiciel
de version 3.10 ou antérieure. Chaque UC de sécurité
permet d'isoler les données de sécurité des données
de processus en transmettant des données via une zone globale,
accessible depuis la zone de sécurité et la zone de processus.
De cette manière, les fonctions de processus n'affectent
pas directement les données de sécurité.

Avec le bloc fonction S_RD_ETH_MX
, un PAC
récepteur peut copier les données provenant de la zone de
processus dans la zone de sécurité, et vérifier leur
exactitude.
EN
et ENO
peuvent
être configurés en tant que paramètres supplémentaires.
Le bloc fonction S_RD_ETH_MX
:
copie les données du registre
INPUT_DATA
dans le registreOUTPUT_DATA_SAFE
à condition que les tests soient concluants :Le bloc fonction vérifie la redondance cyclique (CRC) du dernier paquet de données reçu, par messagerie explicite via Modbus TCP. Si le CRC est incorrect, les données sont considérées comme non sûres et ne sont pas inscrites dans le registre
OUTPUT_DATA_SAFE
de la zone de sécurité.Le bloc fonction vérifie les dernières données reçues pour savoir si elles sont postérieures à celles inscrites dans le registre
OUTPUT_DATA_SAFE
de la zone de sécurité (en comparant les horodatages). Si les dernières données reçues ne sont pas plus récentes, elles ne sont pas copiées dans le registreOUTPUT_DATA_SAFE
de la zone de sécurité.
vérifie l'âge des données dans la zone de sécurité. Si l'âge est supérieur à la valeur maximale configurable définie dans le registre d'entrée
SAFETY_CONTROL_TIMEOUT
, les données sont déclarées non sûres et le bitHEALTH
est défini sur 0.NOTE : L'âge des données correspond à la différence entre l'heure à laquelle elles sont calculées dans le PAC émetteur et l'heure à laquelle elles sont vérifiées dans le PAC récepteur. La référence horaire est mise à jour régulièrement en fonction de l'heure reçue d'un serveur NTP.Si le bit
HEALTH
est réglé sur 0, les données disponibles dans le tableauOUTPUT_DATA_SAFE
sont considérées comme non sûres. Vous devez alors prendre les mesures qui s'imposent.
Concevez votre application de telle sorte que le bloc fonction
dérivé S_RD_ETH_MX
soit
appelé à chaque cycle de la tâche SAFE du PAC récepteur
et exécuté avant que les données ne soient utilisées
au cours de ce cycle.
Représentation en FBD
Représentation :

Paramètres d'entrée
Description des paramètres d'entrée :
Paramètre |
Type de données |
Signification |
---|---|---|
|
|
Tableau des variables de données reçues dans la zone mémoire globale par messagerie explicite via Modbus TCP. Tableau constitué de « Données de sécurité utilisateur » (indice 0 à 90) et de « Données réservées » (indice 91 à 99). NOTE : Définissez ces variables
de données comme variables d'entrée partagées,
correspondant chacune à une variable globale équivalente,
à l'aide de l'onglet de Control Expert.
|
|
|
Identifiant de communication. Valeur NOTE : Attribuez une valeur unique au paramètre
ID qui identifie la communication poste à
poste sécurisée entre un émetteur et un récepteur. |
|
|
Valeur de timeout (en ms). Permet de vérifier l'âge des données de la zone de sécurité pour déterminer si elles doivent être considérées comme sûres ou non. Consultez la section Calcul d'une valeur SAFETY_CONTROL_TIMEOUT, ci-dessous. |
Paramètres de sortie
Description des paramètres de sortie :
Paramètre |
Type de données |
Signification |
---|---|---|
|
|
Tableau des variables de données de sécurité. Ce tableau est constitué de "données de sécurité utilisateur" (indices 0 à 90) et de "données réservées" (indices 91 à 99). |
|
|
|
|
|
|
|
|
|
|
|
Renvoie l'âge (en millisecondes)
des données reçues et inscrites dans le paramètre de
sortie Réglé
sur -1 si l'heure |
Description des tableaux INPUT_DATA
et OUTPUT_DATA_SAFE
Les données du tableau INPUT_DATA
proviennent
de la zone mémoire des données de processus. Le tableau OUTPUT_DATA_SAFE
contient des variables de sécurité.
Vous pouvez associer les variables de processus et les variables de
sécurité à l'aide des onglets et de Control
Expert.
Les tableaux INPUT_DATA
et OUTPUT_DATA_SAFE
sont composés de deux zones :
La zone Données de sécurité utilisateur contient les données utilisateur. Cette zone commence à l'indice 0 et se termine à l'indice 90.
La zone Données réservées est réservée aux données de diagnostic générées automatiquement, dont la valeur CRC et l'horodatage. Le PAC récepteur utilise cette information d'horodatage pour déterminer si les données de la zone Données de sécurité utilisateur sont sûres ou non. Cette zone commence à l'indice 91 et se termine à l'indice 99.
NOTE : Il est déconseillé d'inscrire des données dans la zone Données réservées, sous peine d'écraser les données de diagnostic automatiquement générées.
Représentation de la structure des tableaux (array[0..99]
of INT) INPUT_DATA
et OUTPUT_DATA_SAFE
:

Calcul d'une valeur SAFETY_CONTROL_TIMEOUT
Tenez compte des points suivants pour calculer une valeur SAFETY_CONTROL_TIMEOUT
:
Valeur minimale :
SAFETY_CONTROL_TIMEOUT
> T1Valeur recommandée :
SAFETY_CONTROL_TIMEOUT
> 2 * T1
T1 = Temps de cycle MAST UCémettrice + Temps de cycle SAFE UCémettrice + Période de répétition + Délai de transmission réseau + Temps de cycle MAST UCréceptrice + Temps de cycle SAFE UCréceptrice
Où :
Temps de cycle MAST UCémettrice correspond au temps de cycle MAST du PAC émetteur.
Temps de cycle SAFE UCémettrice correspond au temps de cycle SAFE du PAC émetteur.
Période de répétition correspond à la période pendant laquelle le scrutateur d'E/S transmet la requête du PAC émetteur au PAC récepteur.
Délai de transmission réseau correspond au délai nécessaire pour que les données soient transmises du PAC émetteur au PAC récepteur sur le réseau Ethernet.
Temps de cycle MAST UCréceptrice correspond au temps de cycle MAST du PAC récepteur.
Temps de cycle SAFE UCréceptrice correspond au temps de cycle SAFE du PAC récepteur.
La valeur attribuée au paramètre SAFETY_CONTROL_TIMEOUT
a une incidence directe sur la fiabilité et la disponibilité
de la communication poste à poste sécurisée. Lorsque
la valeur SAFETY_CONTROL_TIMEOUT
dépasse trop
largement T1, la communication peut connaître des retards (à
cause du réseau, par exemple) ou des données corrompues
peuvent être transmises.
C'est à vous de configurer votre réseau Ethernet de manière que la charge n'entraîne pas un retard excessif sur le réseau lors de la transmission de données, sous peine de dépasser le délai imparti. Pour éviter que les communications poste à poste sécurisées ne subissent des retards excessifs dus à la transmission de données non sûres sur le même réseau, il est conseillé d'utiliser un réseau Ethernet dédié pour le protocole poste à poste sécurisé.
Lors de la mise en service
du projet, estimez les performances des communications poste à
poste sécurisées en vérifiant les valeurs du paramètre
de sortie TIME_DIFF
et en évaluant le temps
restant en fonction du paramètre SAFETY_CONTROL_TIMEOUT
.
Description du bit HEALTH
Lorsque le bit HEALTH
est à :
1 : L'intégrité des données est correcte (CRC) et l'âge des données est inférieur à la valeur définie dans le registre d'entrée
SAFTETY_CONTROL_TIMEOUT
.NOTE : L'âge des données correspond à l'écart entre :le début du cycle de calcul des données dans le PAC émetteur et
le début du cycle de vérification des données dans le PAC récepteur.
0 : Aucune nouvelle donnée valide n'a été reçue dans l'intervalle indiqué (la temporisation est écoulée et le bit
HEALTH
est réglé sur 0).NOTE : Lorsque le bitHEALTH
est à 0, les données du tableau de sortieOUTPUT_DATA_SAFE
sont considérées comme non sûres. Prenez alors les mesures qui s'imposent.