Skip to main content

Configurazione di CODESYS

Questa sezione descrive come configurare CODESYS per comunicare con le risorse Azure create.

Preparare un progetto

Queste istruzioni si basano sull'esempio Utilizzo della libreria MQTT Client SL.

  1. Installa l'esempio Utilizzo della libreria MQTT Client SL.

  2. Imposta l'esempio come eseguibile.

    Per ulteriori informazioni, vedere quanto segue: Fabbricazione CODESYS Eseguibile di progetti di esempio

  3. Assicurati che il CODESYS Security Agent il componente aggiuntivo è presente nel tuo CODESYS installazione.

Leggere un'impronta digitale

In Azure, per inserire un'impronta personale per l'identità di un cliente, l'impronta digitale deve essere letta dal certificato di un controller.

  1. Per fare ciò, apri il Agente di sicurezza e vai al Dispositivi scheda.

  2. Seleziona Certificati propri.

  3. Fai doppio clic sul certificato del tuo dispositivo.

    Il certificato è generalmente denominato Comunicazione crittografata ed è caratterizzato dal fatto che Rilasciato per e Emesso da le proprietà corrispondono entrambe al nome del dispositivo (→ certificato autofirmato).

    Viene visualizzata una finestra delle proprietà del certificato di Windows.

  4. Naviga fino alla Dettagli scheda della finestra delle proprietà.

  5. Trova il Impronta digitale proprietà (di solito l'ultima voce della tabella) e selezionala.

  6. Ora dal campo di testo inferiore della finestra, puoi copiare l'impronta digitale del certificato per un uso successivo.

Configurazione del contesto TLS

Nella sezione delle dichiarazioni del programma principale PRG, troverai una dichiarazione commentata per un contesto TLS destinato all'uso di certificati client. Togliete il commento a questa dichiarazione e adattate

  1. Apri il programma principale PRG.

  2. Cerca una dichiarazione commentata per un contesto TLS destinato all'uso di certificati client. Decommentate questa dichiarazione e adattate

    Parametro

    Valore di esempio

    Descrizione

    _sCommonName

    Nome del dispositivo del controller

    Il «Nome comune» (CN) del certificato. Per il certificato del dispositivo autofirmato del PLC, corrisponde al nome del dispositivo

    _sTLSVersion

    1.3

    Azure Event Grid supporta le versioni TLS 1.2 e 1.3.

    Per ulteriori informazioni, vedere quanto segue: Pagina di aiuto di Microsoft Azure.

    sHostname

    <MQTT Hostname>

    Il nome host MQTT del broker all'interno dello spazio dei nomi Event Grid.

    Puoi leggere il tuo nome host come descritto nella sezione «Nome host MQTT» e inserirlo qui.

    udiVerificationMode

    1

    1 := No peer verification

    Per ulteriori informazioni, consulta la TLSContext blocco funzionale.

  3. Nel contesto TLS preconfigurato e semplificato, cerca la riga itfTlsContext : NBS.ITLSContext := tlsContext;

    Sposta questa riga sotto il TLSContext appena dichiarato e adatta l'assegnazione a := _tlsContext.

    Ora il MQTTClient il blocco di funzioni utilizza il contesto TLS configurato anziché il contesto TLS preconfigurato nel progetto di esempio.

Impostazione del timeout per MQTTClient

  1. Apri il programma principale PRG.

  2. Nella sezione dichiarazione, aggiungi una nuova variabile di timeout.

  3. Collega la variabile di timeout nell'editor CFC al udiTimeOut input di MQTTClient blocco funzionale per impostare un timeout quando si stabilisce una connessione. In alternativa, è anche possibile collegare un valore letterale numerico (ad esempio, 3000000) direttamente all'input.

    Se non si imposta il timeout, il client non entrerà mai in uno stato di errore se non è possibile stabilire la connessione.

Suggerimento

Un periodo di timeout per il MQTTClient blocco funzione è specificato in microsecondi. Se si verifica un errore TCP_INIT_ERROR successivamente, durante il test, controlla prima il valore di timeout configurato e impostalo su un valore più alto, se necessario.

Esempio di dichiarazione:

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

Ora il CODESYS il client è pronto per la parametrizzazione specifica della connessione.