Description de la fonction

Utilisez le bloc fonction S_WR_ETH_MX2 conjointement avec le bloc fonction S_RD_ETH_MX2 pour effectuer un transfert de données de sécurité entre des UC de sécurité équipées du micrologiciel 3.20 ou version ulté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é.

EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Avec le bloc fonction S_WR_ETH_MX2, un PAC émetteur peut :

  • Calculer le CRC des données de sécurité à envoyer.

  • Calculer l'horodatage à envoyer avec les données. L'horodatage est basé sur une référence temporelle qui est mise à jour périodiquement en fonction de l'heure monotone reçue du système d'exploitation.

  • Générer un identifiant de message unique ajouté au CRC pour éviter toute attaque déguisée et d'ajout de contenu lors de la transmission du tableau des données de sécurité.

  • Insérer le CRC calculé et l'horodatage à la fin du tableau de données à envoyer.

Le bloc fonction S_WR_ETH_MX2 doit être appelé à chaque cycle dans le PAC émetteur. Au niveau de la logique de cycle, il doit être exécuté une fois toutes les modifications requises apportées aux données à envoyer. Les données à envoyer ne doivent pas être modifiées après l'exécution du bloc fonction S_WR_ETH_MX2. Sinon, les informations de CRC ajoutées aux données transmises seront incorrectes et la communication poste à poste sécurisée échouera.

NOTE : Pour plus d'informations, reportez-vous au chapitre Communications poste à poste.

Représentation en FBD

Représentation

Paramètre d'entrée/sortie :

Description du paramètre d'entrée/sortie :

Paramètre

Type de données

Signification

DATA_SAFE

ARRAY[0..99] of INT

Tableau de variables de données de sécurité. 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 de sortie partagées, correspondant chacune à une variable globale équivalente, à l'aide de l'onglet Interface de données de sécurité de Control Expert.

Paramètre d'entrée

Description du paramètre d'entrée :

Paramètre

Type de données

Signification

ID

INT

Identifiant de communication. Valeur d'ID unique permettant de calculer le CRC, définie sur la valeur utilisée par l'expéditeur.

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.

CONTROL_DATA

ARRAY[0..3] of INT

Contient l'ID et l'horodatage basé sur l'heure monotone du système provenant du récepteur correspondant (DFB S_RD_ETH_MX2).

Paramètre de sortie

Description du paramètre de sortie :

Paramètre

Type de données

Signification

ID_OK

BOOL

  • 1 : Indique que l'ID des données d'entrée CONTROL_DATA et les données d'entrée ID correspondent.

  • 0 : Indique que l'ID des données d'entrée CONTROL_DATA et les données d'entrée ID ne correspondent pas.

Description du tableau DATA_SAFE

Vous pouvez associer les variables de processus et les variables de sécurité à l'aide des onglets Interface de l'éditeur de données de sécurité et de l' éditeur de données de processus dans Control Expert.

Le fait d'associer de la sorte les variables de processus et de sécurité permet :

  • de transférer la valeur des variables de sécurité vers les variables de processus, via des variables globales associées ;

  • d'envoyer des valeurs variables de la zone de processus du PAC émetteur vers la zone de processus du PAC récepteur, par messagerie explicite via Modbus TCP.

Le tableau DATA_SAFE est composé de deux zones :

  • La zone Données de sécurité utilisateur contient les données de la zone de sécurité du PAC. 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 : Aucune donnée ne doit être inscrite dans la zone Données réservées.

Représentation de la structure du tableau DATA_SAFE (array[0..99] of INT) :