Présentation de la bibliothèque

 

Informations générales

Présentation de la bibliothèque

La bibliothèque TimeSync implémente la fonction client SNTP (Simple Network Time Protocol). Elle permet au contrôleur de se connecter à un serveur de temps NTP (Network Time Protocol) ou SNTP afin de synchroniser l'horloge interne RTC (Real-Time Clock) du contrôleur en conformité à la norme temporelle UTC (Universal Time Coordinated), internationale et unique.

Le client SNTP est conforme à la version 4 du protocole SNTP.

Il fournit les fonctions suivantes :

oEnvoi d'une requête à un serveur (S)NTP

oRéception et structuration de la réponse du serveur (S)NTP

oCalcul du délai d'aller-retour et du décalage d'horloge

oFourniture de l'horodatage synchronisé pour la synchronisation de l'horloge RTC du contrôleur et prise en compte du décalage entre l'horloge RTC locale et le serveur de temps (S)NTP ainsi que du délai d'aller-retour

oGestion des erreurs détectées

G-SE-0059350.2.gif-high.gif

 

1   Serveur de temps : serveur SNTP ou NTP

2   Contrôleur X : client SNTP

3   Contrôleur Y : client SNTP

Caractéristiques de la bibliothèque

Le tableau suivant indique les caractéristiques de la bibliothèque :

Caractéristique

Valeur

Titre de la bibliothèque

TimeSync

Société

Schneider Electric

Catégorie

Communication

Espace de noms par défaut

TIMS

Attribut du modèle de langage

Uniquement accès qualifié

Bibliothèque post-compatible

Oui (FCL)

NOTE : Cette bibliothèque est paramétrée en Uniquement accès qualifié . Cela signifie que l'on ne peut accéder aux POU, aux structures de données, aux énumérations, et aux constantes qu'en utilisant l'espace de nom de la bibliothèque. L'espace de noms par défaut de la bibliothèque est TIMS.

Exemple de projet

Le projet d'exemple FB_SntpClient est fourni avec la bibliothèque. L’exemple de projet montre comment implémenter les composants à partir de la bibliothèque TimeSync.

Étape

Action

Commentaire

1

Dans EcoStruxure Machine Expert Logic Builder, exécutez la commande Nouveau projet.

2

Dans la boîte de dialogue Nouveau projet, sélectionnez A partir de l’exemple dans la liste Type de projet.

3

Sur la droite de la boîte de dialogue Nouveau projet, sélectionnez le contrôleur(1) dans la liste Contrôleur.

Résultat : les exemples disponibles sont répertoriés dans la zone de texte Exemples correspondants.

4

Sélectionnez l’exemple dans la liste Exemples correspondants.

5

Entrez le nom du nouveau projet et sélectionnez l’emplacement du fichier.

6

Cliquez sur le bouton OK.

Résultat : un nouveau projet est créé en fonction de l’exemple sélectionné.

Remarques générales

NOTE : le réglage de l'horodateur (RTC) du contrôleur génère des entrées dans le fichier journal du contrôleur. Par conséquent, n'utilisez pas cette fonction plus d'une fois par jour pour les ajustements automatiques.

L'horloge RTC interne du contrôleur peut être définie par le bloc fonction sur une valeur comprise entre 01.01.1970 et 01.01.2100. Le niveau de précision dépend du serveur (S)NTP utilisé. La synchronisation de l'heure UTC peut atteindre un niveau de précision de l'ordre de la seconde.

NOTE : Les entrées du fichier journal du contrôleur sont enregistrées avec un horodatage. Sachez qu'en définissant l'horloge RTC interne du contrôleur sur une date antérieur, vous risquez de créer deux entrées de journal distinctes, associées à un horodatage en apparence erroné.

Tenez compte des limites suivantes concernant la communication (S)NTP :

oSeul le protocole IPv4 (Internet Protocol version 4) est pris en charge.

oUne seule requête à la fois peut être envoyée à un serveur de temps (S)NTP.

oLa bibliothèque TimeSync intègre des pointeurs sur les adresses.

oN'utilisez pas un intervalle d'interrogation inférieur à 15 secondes.

oUtilisez des serveurs locaux, si disponibles, pour éviter tout trafic superflu sur le réseau principal.

L'exécution de la commande Changement en ligne peut modifier le contenu des adresses.

Caution_Color.gifATTENTION

POINTEUR INCORRECT

Vérifiez la validité des pointeurs lors de leur utilisation sur les adresses et de l'exécution de la commande Changement en ligne.

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

La bibliothèque décrite dans ce document utilise la bibliothèque TcpUdpCommunication en interne.

Les bibliothèques TcpUdpCommunication (Schneider Electric) et CAA Net Base Services (CAA Technical Workgroup) utilisent les mêmes ressources système sur le contrôleur. Leur utilisation simultanée dans la même application peut perturber le fonctionnement du contrôleur.

Warning_Color.gifAVERTISSEMENT

FONCTIONNEMENT IMPRÉVU DE L’EQUIPEMENT

N'utilisez pas la bibliothèque TcpUdpCommunication (Schneider Electric) avec la bibliothèque CAA Net Base Services (CAA Technical Workgroup) simultanément dans la même application.

Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels.

Éléments à prendre en compte concernant la cybersécurité

Les fonctions de la bibliothèque TimeSync ne prennent pas en charge les connexions sécurisées telles que TLS (Transport Layer Security) ou SSL (Secure Socket Layer). Les télégrammes SNTP ne sont pas chiffrés et l'authentification n'est pas nécessaire pour obtenir ou définir des informations sur un agent. La communication ne peut s'effectuer qu'au sein de votre réseau industriel, isolé des autres réseaux de votre entreprise et protégé d'Internet.

NOTE : Schneider Electric respecte les bonnes pratiques de l'industrie, en vigueur dans le développement et la mise en œuvre des systèmes de contrôle. Cette approche, dite de « défense en profondeur », permet de sécuriser les systèmes de contrôle industriels. Elle place les contrôleurs derrière des pare-feu pour restreindre leur accès aux seuls personnels et protocoles autorisés.

Warning_Color.gifAVERTISSEMENT

ACCÈS NON AUTHENTIFIÉ ET UTILISATION NON AUTORISÉE DE LA MACHINE

oEstimer si votre environnement ou vos machines sont connecté(e)s à votre infrastructure vitale et, le cas échéant, prendre les mesures nécessaires de prévention, basées sur le principe de défense en profondeur, avant de connecter le système d'automatisme à un réseau quelconque.

oLimiter au strict nécessaire le nombre d'équipements connectés à un réseau.

oIsoler votre réseau industriel des autres réseaux au sein de votre société.

oProtéger chaque réseau contre les accès non autorisés à l'aide d'un pare-feu, d'un VPN ou d'autres mesures de sécurité éprouvées.

oSurveiller les activités au sein de votre système.

oEmpêcher tout accès direct ou liaison directe aux équipements sensibles par des utilisateurs non autorisés ou des actions non authentifiées.

oPréparer un plan de récupération intégrant la sauvegarde des informations de votre système et de votre processus.

Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels.

Pour plus d'informations sur les mesures organisationnelles et les règles d'accès aux infrastructures, reportez-vous aux normes suivantes : famille de normes ISO/IEC 27000, Critères Communs pour l'évaluation de la sécurité des Technologies de l'Information, ISO/IEC 15408, IEC 62351, ISA/IEC 62443, Cybersecurity Framework (Cadre de cybersécurité) du NIST, Standard of Good Practice for Information Security (Bonne pratique de sécurité de l'information) de l'Information Security Forum.

La bibliothèque contient les fonctions suivantes, destinées à éviter les erreurs de communication :

oVérification de l'horodatage envoyé à l'origine au serveur pour permettre la détection des erreurs de transmission.

oVérification de la conformité de la définition du protocole avec la norme.

oVérification de la version du serveur et envoi d'un message de diagnostic en cas de divergence.

Présentation des POU

Bloc fonction / fonction

Utilisation

FB_SntpClient

Fournit les fonctions client SNTP.

FC_EtResultToString

Convertit un élément d'énumération de type ET_Result en une valeur de chaîne.

Présentation des structures dans l'interface propre au module

Structure

Utilisation

ST_TimeRequest

Contient des informations spécifiques pour l'envoi d'une requête SNTP à un serveur de temps (S)NTP.

ST_TimeResponse

Contient l'horodatage et peut être utilisé pour synchroniser l'horloge RTC.

Présentation des énumérations

Énumération

Utilisation

ET_ComMode

Définit le mode de communication du client SNTP.

ET_Result

Contient les valeurs possibles indiquées par les résultats des opérations exécutées par le bloc fonction.