Skip to main content

Configuración de CODESYS

En esta sección se describe cómo configurar CODESYS para comunicarse con los recursos de Azure creados.

Preparar un proyecto

Estas instrucciones se basan en el ejemplo Uso de la biblioteca MQTT Client SL.

  1. Instala el ejemplo Uso de la biblioteca MQTT Client SL.

  2. Defina el ejemplo como ejecutable.

    Para obtener más información, consulte lo siguiente: Haciendo CODESYS Proyectos de muestra ejecutables

  3. Asegúrese de que el CODESYS Security Agent el complemento existe en su CODESYS instalación.

Lectura de una huella digital

En Azure, para introducir una huella digital para la identidad de un cliente, la huella digital debe leerse en el certificado de un controlador.

  1. Para ello, abre el Agente de seguridad y navegue hasta el Dispositivos pestaña.

  2. Seleccione Certificados propios.

  3. Haga doble clic en el certificado de su dispositivo.

    El certificado suele tener el nombre Comunicación cifrada y se caracteriza por el hecho de que la Emitido para y Emitido por ambas propiedades coinciden con el nombre del dispositivo (→ certificado autofirmado).

    Se abre la ventana de propiedades del certificado de Windows.

  4. Navegue hasta el Detalles pestaña de la ventana de propiedades.

  5. Encuentra el Huella digital propiedad (normalmente la última entrada de la tabla) y selecciónela.

  6. Ahora, desde el campo de texto inferior de la ventana, puede copiar la huella digital del certificado para su uso posterior.

Configuración del contexto TLS

En la sección de declaraciones del programa principal PRG, encontrará una declaración comentada para un contexto TLS destinada al uso de certificados de cliente. Elimine los comentarios de esta declaración y adapte las siguientes asignaciones

  1. Abre el programa principal PRG.

  2. Busque una declaración comentada para un contexto TLS que esté destinado al uso de certificados de cliente. Elimine los comentarios de esta declaración y adapte las siguientes asignaciones

    Parámetro

    Valor de ejemplo

    Descripción

    _sCommonName

    Nombre del dispositivo de tu mando

    El «nombre común» (CN) del certificado. En el caso del certificado de dispositivo autofirmado de su PLC, coincide con el nombre del dispositivo

    _sTLSVersion

    1.3

    Azure Event Grid admite las versiones 1.2 y 1.3 de TLS.

    Para obtener más información, consulte lo siguiente: Página de ayuda de Microsoft Azure.

    sHostname

    <MQTT Hostname>

    El nombre de host MQTT del bróker en el espacio de nombres de Event Grid.

    Puede leer su nombre de host tal y como se describe en la sección «Nombre de host de MQTT» e insertarlo aquí.

    udiVerificationMode

    1

    1 := No peer verification

    Para obtener más información, consulte TLSContext bloque de funciones.

  3. En el contexto TLS simplificado y preconfigurado, busque la línea itfTlsContext : NBS.ITLSContext := tlsContext;

    Mueva esta línea por debajo del TLSContext recién declarado y adapte la asignación a := _tlsContext.

    Ahora el MQTTClient el bloque de funciones usa el contexto TLS configurado en lugar del contexto TLS preconfigurado en el proyecto de muestra.

Configurar el tiempo de espera para MQTTClient

  1. Abre el programa principal PRG.

  2. En la sección de declaración, agrega una nueva variable de tiempo de espera.

  3. Vincule la variable de tiempo de espera del editor de CFC a udiTimeOut entrada del MQTTClient bloque de funciones para establecer un tiempo de espera al establecer una conexión. Como alternativa, también puede conectar un literal numérico (por ejemplo, 3000000) directamente a la entrada.

    Si no establece el tiempo de espera, el cliente nunca entrará en un estado de error si no se puede establecer la conexión.

Sugerencia

Un período de espera para el MQTTClient bloque de funciones se especifica en microsegundos. Si encuentra un error TCP_INIT_ERROR más adelante, al realizar la prueba, compruebe primero el valor de tiempo de espera configurado y configúrelo en un valor más alto, si es necesario.

Ejemplo de declaración:

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

Ahora el CODESYS el cliente está preparado para una parametrización de conexión específica.