Skip to main content

Configuration de CODESYS

Cette section décrit comment configurer CODESYS afin de communiquer avec les ressources Azure créées.

Préparation d'un projet

Ces instructions sont basées sur l'exemple Utilisation de la bibliothèque MQTT Client SL.

  1. Installez l'exemple Utilisation de la bibliothèque MQTT Client SL.

  2. Définissez l'exemple comme exécutable.

    Pour plus d'informations, consultez les rubriques suivantes : Fabrication CODESYS Exemples de projets exécutables

  3. Assurez-vous que CODESYS Security Agent le module complémentaire existe dans votre CODESYS installation.

Lire une empreinte du pouce

Dans Azure, afin de saisir une empreinte numérique pour l'identité d'un client, celle-ci doit être lue à partir du certificat d'un contrôleur.

  1. Pour ce faire, ouvrez le Agent de sécurité et naviguez jusqu'à Appareils onglet.

  2. Sélectionnez Certificats propres.

  3. Double-cliquez sur le certificat de votre appareil.

    Le certificat est généralement nommé Communication cryptée et se caractérise par le fait que Publié pour et Publié par les propriétés correspondent toutes deux au nom de l'appareil (→ certificat auto-signé).

    La fenêtre des propriétés du certificat Windows s'ouvre.

  4. Naviguez jusqu'au Détails onglet de la fenêtre des propriétés.

  5. Trouvez le Empreinte du pouce propriété (généralement la dernière entrée du tableau) et sélectionnez-la.

  6. À présent, dans le champ de texte inférieur de la fenêtre, vous pouvez copier l'empreinte numérique du certificat pour une utilisation ultérieure.

Configuration du contexte TLS

Dans la section déclaration du programme principal PRG, vous trouverez une déclaration commentée pour un contexte TLS destiné à l'utilisation de certificats clients. Décommentez cette déclaration et adaptez les tâches suivantes :

  1. Ouvrez le programme principal PRG.

  2. Recherchez une déclaration commentée pour un contexte TLS destiné à l'utilisation de certificats clients. Décommentez cette déclaration et adaptez les tâches suivantes

    Paramètre

    Exemple de valeur

    Descriptif

    _sCommonName

    Nom de l'appareil de votre manette

    Le « nom commun » (CN) du certificat. Pour le certificat de périphérique auto-signé de votre automate, il correspond au nom de l'appareil

    _sTLSVersion

    1.3

    Azure Event Grid prend en charge les versions 1.2 et 1.3 du protocole TLS.

    Pour plus d'informations, consultez les rubriques suivantes : Page d'aide de Microsoft Azure.

    sHostname

    <MQTT Hostname>

    Le nom d'hôte MQTT du courtier dans l'espace de noms Event Grid.

    Vous pouvez lire votre nom d'hôte comme décrit dans la section « Nom d'hôte MQTT » et l'insérer ici.

    udiVerificationMode

    1

    1 := No peer verification

    Pour plus d'informations, consultez le Contexte TLS bloc fonctionnel.

  3. Dans le contexte TLS simplifié et préconfiguré, recherchez la ligne itfTlsContext : NBS.ITLSContext := tlsContext;

    Déplacez cette ligne en dessous du TLSContext nouvellement déclaré et adaptez l'affectation à := _tlsContext.

    À présent, MQTTClient le bloc de fonctions utilise votre contexte TLS configuré au lieu du contexte TLS préconfiguré dans l'exemple de projet.

Régler le délai d'attente pour MQTTClient

  1. Ouvrez le programme principal PRG.

  2. Dans la section de déclaration, ajoutez une nouvelle variable de délai d'attente.

  3. Liez la variable timeout dans l'éditeur CFC au udiTimeOut entrée du MQTTClient bloc de fonction afin de définir un délai d'attente lors de l'établissement d'une connexion. Vous pouvez également connecter un littéral numérique (par exemple, 3000000) directement à l'entrée.

    Si vous ne définissez pas le délai d'attente, le client n'entrera jamais en état d'erreur si la connexion ne peut pas être établie.

Astuce

Un délai d'attente pour MQTTClient bloc de fonction est spécifié en microsecondes. Si vous rencontrez une erreur TCP_INIT_ERROR plus tard lors du test, vérifiez d'abord la valeur de délai d'attente configurée et réglez-la sur une valeur plus élevée, si nécessaire.

Exemple de déclaration :

udiTimeout : UDINT := 3000000; // µs -> 3s

À présent, CODESYS le client est préparé pour un paramétrage de connexion spécifique.