Conception de l'architecture
Avec un micrologiciel d'UC de version 3.10 ou antérieure, l'architecture de la solution repose sur les éléments suivants :
Service NTP pour la synchronisation temporelle.
Exécution de 2 DFB (
S_WR_ETH_MX
etMOVE
dans le PAC émetteur et de 1 DFB (S_RD_ETH_MX
) dans le PAC récepteur.Scrutation via Modbus TCP pour le transport des données.
L'illustration suivante donne un aperçu du processus impliqué pour assurer la communication d'égal à égal de façon sécurisée :

Dans la figure ci-dessus, Control Expert crée automatiquement – et masque dans la vue externe – les tableaux 1 et 4 dans les zones globales des PAC homologues. Du point de vue d’un utilisateur, les liaisons sont établies du tableau Array 0 à Array 2, et du tableau Array 3 à Array 5.
Détails de la configuration du transfert de données d'égal à égal
L'exemple suivant montre comment configurer un transfert de données d'égal à égal entre deux PAC de sécurité avec le micrologiciel d'UC de version 3.10 ou antérieure et Control Expert version 14.1 ou antérieure :
Etape |
Action |
---|---|
1 |
Sur le PAC émetteur, utilisez l'Array2 : pour créer un tableau (array) de 100 entiers comme entrée dans la zone . Dans cet exemple, le nom du tableau est![]() |
2 |
Sur le PAC émetteur, créez un autre tableau de 100 entiers comme sortie dans l'onglet Array0 : de l' et liez-le au tableau d'entrée créé à l'étape 1 dans la colonne . Dans cet exemple, le nom du tableau est![]() NOTE : Les variables entières d'indices 0 à
90 de ce tableau contiennent les valeurs de variables de sécurité
à échanger avec le PAC récepteur. La zone restante
est réservée aux données de diagnostic générées
automatiquement, dont la valeur CRC et l'horodatage. Ces données
de diagnostic sont utilisées par le PAC récepteur pour déterminer
si les données transférées sont sûres.
|
3 |
Sur le PAC émetteur, configurez le DFB ![]() |
4 |
Dans le du PAC émetteur, sélectionnez l'UC (pour cet exemple) ou un module de communications NOC (le cas échéant), puis cliquez sur pour créer un scrutateur Modbus qui puisse envoyer des données via Modbus TCP depuis le PAC émetteur vers le PAC récepteur :![]() |
5 |
Sélectionnez et cliquez sur pour ajouter le scrutateur Modbus :![]() |
6 |
Ouvrez l'équipement Modbus que vous venez d'ajouter, ajoutez une requête, puis effectuez les actions suivantes dans l'onglet :
![]() |
7 |
Sélectionnez le noeud puis, dans l'onglet , définissez le type de tableau INT (soit ≥ 100 entiers). Il s'agit de la table du PAC émetteur qui sera écrite sur le PAC récepteur :![]() |
8 |
Une fois la configuration enregistrée et générée, le bloc (BLOCKA_QI0_100 dans l'exemple) est créé automatiquement en tant que variable de processus : ![]() |
9 |
Sur le PAC émetteur, dans une section de code de processus,
utilisez un DFB ![]() |
10 |
Sur le PAC récepteur, utilisez l'Array5) en tant qu'entrée dans la zone : pour créer un tableau de 100 entiers (![]() |
11 |
Sur le PAC récepteur, dans l'Array3) de 100 INT dans la section <sorties> de l'onglet . Liez ce tableau au tableau de la zone des données (Array5, créé à l'étape 10) dans la colonne . Les données envoyées par le PAC émetteur seront écrites dans ce tableau via le scrutateur Modbus, à condition que cette variable soit située à l'adresse définie dans le scrutateur du PAC émetteur (%MW0 dans cet exemple) : , créez un tableau (![]() |
12 |
Sur le PAC récepteur, utilisez l'Array6) : pour créer un tableau de 100 entiers (![]() |
13 |
Sur le PAC récepteur, dans une section de code de la
tâche SAFE, instanciez le DFB ![]() |
Communication d'égal à égal par canal noir
Chaque transmission de données d'égal à égal se compose à la fois de données de sécurité utilisateur, comprenant le contenu lié à l'application qui est transmis, et de données réservées. Les données réservées sont utilisées par le PAC de sécurité pour tester la fiabilité de la transmission par rapport aux exigences du niveau SIL3. Elles comprennent les éléments suivants :
CRC calculé par le PAC émetteur à partir des données à transmettre. Le PAC récepteur vérifie le CRC avant d'utiliser les données transmises.
Identifiant de communication inclus dans le calcul de CRC, afin de favoriser la prévention des attaques par insertion et déguisement de bits lors de la transmission de données de sécurité.
Horodatage de la transmission à la milliseconde près. Cette valeur s'appuie sur le service NTP et permet de synchroniser les PAC émetteur et récepteur. Le PAC émetteur de données ajoute une valeur d'horloge aux données envoyées au PAC récepteur. Le PAC récepteur compare l'horodatage reçu à sa propre valeur d'horloge, aux fins suivantes :
Vérifier l'ancienneté des données.
Rejeter les transmissions en double.
Déterminer l'ordre chronologique des transmissions reçues.
Déterminer le temps écoulé entre réceptions de données transmises.