Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Configurar el cliente OPC UA en PLCnext Control:guía paso a paso

La versión de firmware 2023.0 incluye un componente de cliente OPC UA tan esperado. El centro de información de PLCnext incluye una buena referencia técnica para esta característica.

Este tutorial es una guía paso a paso que muestra cómo configurar el cliente OPC UA en un dispositivo PLCnext Control para que intercambie datos con un servidor OPC UA.

Necesitarás:

Uno de los puntos clave a recordar al configurar las comunicaciones OPC UA es que, por razones de seguridad, el Cliente OPC UA y el Servidor OPC UA deben confiar entre sí. Por lo tanto, los certificados de seguridad deben intercambiarse entre los dispositivos Cliente y Servidor. Este procedimiento implica saltar entre el dispositivo Cliente y el dispositivo Servidor, lo que puede resultar un poco confuso. Si tiene sugerencias sobre cómo simplificar el procedimiento (¡sin desactivar los controles de seguridad!), no dude en agregarlas en los comentarios.

Procedimiento

Dispositivo de servidor OPC UA

  1. Abra el sitio de administración basada en web (WBM) navegando hasta la dirección IP del PLC.

  2. Seleccione los Servicios del sistema elemento del menú Configuración.

  3. Activar el Servidor OPC UA servicio, si aún no está habilitado.

  4. Presiona el botón Aplicar y reiniciar. si es necesario.

  5. Abra PLCnext Engineer.

  6. Cree un nuevo proyecto de PLCnext Engineer utilizando la plantilla para su dispositivo PLCnext Control.

  7. Establezca la dirección IP del PLC en el proyecto PLCnext Engineer.

  8. En el servidor OPC UA página de configuración:

    • establecer el nombre DNS/dirección IP al nombre DNS o a la dirección IP del PLC, dependiendo de si el cliente OPC UA accederá al servidor utilizando un nombre DNS o la dirección IP del servidor. Esta información se incluirá en el certificado de seguridad del Servidor OPC UA. Muchos clientes OPC UA rechazarán el certificado del servidor si esta información en el certificado no coincide con la URL del servidor.

    • establecer Visibilidad de variables a Marcado . Esto significa que todas las variables marcadas con el atributo OPC serán accesibles a través del Servidor OPC UA.

  9. Cree variables que serán expuestas por el servidor OPC UA. Asegúrese de que el OPC La casilla de verificación está marcada para esas variables. En el siguiente ejemplo, se han creado dos variables en el programa principal.

  10. Agregue lógica para cambiar la variable de Salida cuando se recibe un nuevo valor de Entrada. En este ejemplo, el programa principal ejecutó el siguiente código:

    Server_Data_Out := Server_Data_In + 1;

  11. Escribe y comienza el proyecto.

    Tenga en cuenta que PLCnext Engineer versión 2025.0 y posteriores incluye una función de "examen" que se puede utilizar para crear entradas variables en el Cliente OPC UA. Si se utiliza esa función de exploración, entonces no es necesario utilizar UaExpert para obtener información sobre las variables del servidor y se pueden omitir los siguientes tres pasos.

  12. Utilice UaExpert para conectarse al servidor OPC UA utilizando el nombre de usuario y la contraseña del PLC. Debería ver una advertencia indicando que el certificado no es de confianza, pero no debería haber otras advertencias.

  13. Confíe en el certificado del servidor, ya sea de forma permanente o solo para esta sesión.

  14. Para cada variable del servidor, escriba el nombre del ID de nodo y el espacio de nombres para esa variable.

  15. Abra nuevamente el sitio WBM para el PLC servidor.

  16. Seleccione la Autenticación de certificado elemento del menú Seguridad.

  17. Seleccione las Tiendas de identidad pestaña.

  18. Descarga el Certificado del OPC UA autofirmado [servidor] Almacén de identidades. No es necesario descargar el par de claves.

Dispositivo cliente OPC UA

  1. Abra el sitio de administración basada en web (WBM) navegando hasta la dirección IP del PLC.

  2. Seleccione los Servicios del sistema elemento del menú Configuración.

  3. Activar el Cliente OPC UA servicio, si aún no está habilitado.

  4. Presiona el botón Aplicar y reiniciar. si es necesario.

  5. Cuando se complete el reinicio, vuelva a iniciar sesión en el sitio de WBM y seleccione Autenticación de certificado. elemento del menú Seguridad.

  6. Seleccione las Tiendas de confianza pestaña.

  7. Agregue el OPC UA autofirmado Certificado de [servidor] (descargado anteriormente) en Trust Store denominado Cliente OPC UA . Ahora, el Cliente OPC UA confiará en el certificado de seguridad utilizado por el Servidor OPC UA para verificar su identidad. Este paso deberá repetirse cada vez que cambie el certificado del servidor.

  8. Seleccione las Tiendas de identidad pestaña .

  9. Descarga el Certificado del Cliente OPC UA autofirmado Almacén de identidad. No es necesario descargar el par de claves.

Dispositivo de servidor OPC UA

  1. Abra el sitio de administración basada en web (WBM) navegando hasta la dirección IP del PLC.

  2. Seleccione la Autenticación de certificado elemento del menú Seguridad.

  3. Seleccione las Tiendas de confianza pestaña.

  4. Agregue el Cliente OPC UA autofirmado certificado (descargado anteriormente) al Trust Store llamado OPC UA-configurable . Ahora, el servidor OPC UA confiará en el certificado de seguridad utilizado por el cliente OPC UA para verificar su identidad. Este paso deberá repetirse cada vez que cambie el certificado del Cliente.

Dispositivo cliente OPC UA

  1. Abra PLCnext Engineer.

  2. Cree un nuevo proyecto de PLCnext Engineer utilizando la plantilla para su dispositivo PLCnext Control. Si está utilizando el mismo dispositivo tanto para el cliente OPC UA como para el servidor OPC UA, se utilizará el mismo proyecto de PLCnext Engineer.

  3. Establezca la dirección IP del PLC en el proyecto PLCnext Engineer.

  4. Solo se requiere para PLC que ejecutan versiones de firmware anteriores a 2023.6: En el servidor OPC UA página de configuración, establezca Visibilidad de variables a Marcado . Sí, parece extraño requerir esta configuración del Servidor OPC UA para el Cliente OPC UA. Esto se solucionó en las versiones de firmware 2023.6 y posteriores.

  5. Cree variables que se conectarán a variables en el servidor OPC UA. Solo se requiere para PLC que ejecutan versiones de firmware anteriores a 2023.6: Asegúrese de que el OPC La casilla de verificación está marcada para esas variables (no es necesario marcar la casilla de verificación para los PLC que ejecutan la versión de firmware 2023.6 o posterior).

    En el siguiente ejemplo, se han creado dos variables en el programa principal.

  6. En la pestaña Conexiones de cliente OPC UA, agregue un servidor y dos grupos de variables, como se muestra a continuación.

    La URL del servidor, el nombre de usuario y la contraseña deben cambiarse para adaptarse al servidor OPC UA que esté utilizando.

  7. En el grupo de variables "Suscribir", agregue una asignación de variable, como se muestra a continuación.

    Esto transfiere automáticamente el valor de la variable remota (en el servidor OPC UA) a la variable local en el proyecto PLCnext Engineer.

  8. En el grupo de variables "Escribir", agregue una asignación de variable, como se muestra a continuación.

    Esto transfiere automáticamente el valor de la variable local en el proyecto PLCnext Engineer a la variable remota (en el servidor OPC UA).

  9. Escribe e inicia el proyecto PLCnext Engineer.

  10. En modo de depuración, cambie el valor de la variable Client_Data_out . El valor se escribirá en la variable Server_Data_In en el servidor OPC UA. Ese valor será incrementado por el servidor y escrito en la variable Server_Data_Out . El valor de esa variable luego se transferirá a la variable Client_Data_In en el Cliente.

¿No funciona?

Consulte la Guía de solución de problemas en el Centro de información de PLCnext (en la parte inferior de la página).

Preguntas frecuentes

P:¿Puede el cliente conectarse a un servidor OPC UA mediante autenticación de certificado/clave?

R:No, no por el momento.

P:¿Cómo almacena el cliente OPC UA la contraseña del servidor?

R:Por el momento, la contraseña del servidor OPC UA se almacena como texto sin cifrar en el archivo de configuración del cliente, pero los desarrolladores de PLCnext Runtime están trabajando en un método de almacenamiento de contraseña más seguro.

P:¿Puedo obtener información de calidad (por ejemplo, código de estado, marca de tiempo) para los datos leídos desde un servidor OPC UA?

R:Por el momento no, lo siento.

Este artículo se actualizó el 24.03.2025 para incluir información sobre la función Explorar servidor que ahora está disponible en PLCnext Engineer.

Apéndice:Configuración basada en archivos

La configuración del cliente OPC UA en PLCnext Engineer se almacena en el controlador en formato XML. Para aplicaciones que no utilizan PLCnext Engineer, es posible configurar el Cliente OPC UA escribiendo la configuración XML directamente en el controlador.

La configuración que se preparó en este ejemplo está representada en los siguientes archivos XML:

  1. Cualquier cambio necesario en la configuración predeterminada del cliente OPC UA se define en el archivo /opt/plcnext/projects/current/Services/OpcUA/Modules/Client/client.module.config :

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <OpcUAClientModuleConfigurationDocument schemaVersion="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.phoenixcontact.com/schema/opcuaclientmoduleconfig" xmlns="http://www.phoenixcontact.com/schema/opcuaclientmoduleconfig">
     <Application>
     <CertificateStore>
     <SelfSignedIdentityStoreName>OPC UA Client self-signed</SelfSignedIdentityStoreName>
     <GivenIdentityStoreName>OPC UA Client</GivenIdentityStoreName>
     <TrustStoreName>OPC UA Client</TrustStoreName>
     </CertificateStore>
     <SessionSecurity>
     <ApplicationAuthentication>false</ApplicationAuthentication>
     <ApplicationUriCheck>true</ApplicationUriCheck>
     <CertificateHostnameCheck>true</CertificateHostnameCheck>
     <CertificateTimeCheck>true</CertificateTimeCheck>
     <CertificateIssuerTimeCheck>true</CertificateIssuerTimeCheck>
     <PasswordEncryptionCheck>true</PasswordEncryptionCheck>
     </SessionSecurity>
     <Timeouts>
     <SessionTimeout>1200000</SessionTimeout>
     <ConnectTimeout>5000</ConnectTimeout>
     <WatchdogTimeout>5000</WatchdogTimeout>
     <CallTimeout>10000</CallTimeout>
     </Timeouts>
     </Application>
    </OpcUAClientModuleConfigurationDocument>
    
  2. Las conexiones del cliente OPC UA se definen en el archivo /opt/plcnext/projects/current/Services/OpcUA/Modules/Client/Configs/ clientconnections.xml :

    <?xml version="1.0" encoding="utf-8"?>
    <eUAClientConfigurationDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd" xmlns="http://phoenixcontact.com/OpcUA/PLCnext/UAClientConfig/Types.xsd">
     <eUAClientConfiguration>
     <Name>ClientConnectionsConfiguration</Name>
     <NamespaceArray> 
     <uax:String>http://phoenixcontact.com/OpcUA/PLCnext/GlobalDataSpace/</uax:String>
     </NamespaceArray>
     <ServerConnections>
     <eUAClientServerConnection>
     <EncodingMask>3</EncodingMask>
     <Endpoint> 
     <uax:EndpointUrl>opc.tcp://192.168.1.10:4840</uax:EndpointUrl>
     <uax:SecurityMode>Sign_2</uax:SecurityMode> 
     <uax:SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256</uax:SecurityPolicyUri>
     </Endpoint>
     <UserTokenType>UserName_1</UserTokenType>
     <UserName>admin</UserName>
     <Password>xxxxxxxx</Password>
     </eUAClientServerConnection>
     </ServerConnections>
     <VariableGroups>
     <eUAClientVariableGroup>
     <GroupType>Write_1</GroupType> 
     <CycleTime>100</CycleTime>
     <NodeMappings>
     <eUAClientNodeMapping>
     <LocalVariable>
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Client_Data_Out</uax:Identifier> 
     </LocalVariable>
     <RemoteVariableDescriptor>
     <EncodingMask>2</EncodingMask>
     <ServerIndex>1</ServerIndex>
     <NodeId> 
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Server_Data_In</uax:Identifier>
     </NodeId>
     </RemoteVariableDescriptor>
     </eUAClientNodeMapping>
     </NodeMappings>
     </eUAClientVariableGroup> 
     <eUAClientVariableGroup>
     <GroupType>Subscribe_0</GroupType> 
     <CycleTime>100</CycleTime>
     <NodeMappings>
     <eUAClientNodeMapping>
     <LocalVariable>
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Client_Data_In</uax:Identifier> 
     </LocalVariable>
     <RemoteVariableDescriptor>
     <EncodingMask>2</EncodingMask>
     <ServerIndex>1</ServerIndex>
     <NodeId> 
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Server_Data_Out</uax:Identifier>
     </NodeId>
     </RemoteVariableDescriptor>
     </eUAClientNodeMapping>
     </NodeMappings>
     </eUAClientVariableGroup> 
     </VariableGroups>
     </eUAClientConfiguration>
    </eUAClientConfigurationDocument>
    

    Este archivo utiliza el Espacio de nombres y ID de nodo información registrada anteriormente (usando UaExpert) para especificar a qué variables del servidor accederá el cliente.

  3. En el archivo anterior, cambie lo siguiente para adaptarlo a su aplicación:

    • El elemento uax:EndpointUrl debe incluir la dirección IP (o nombre DNS) de su servidor OPC UA.

    • El Username y Password Los elementos deben contener las credenciales requeridas para el servidor OPC UA.

    IMPORTANTE: En este ejemplo, el ID de nodo las cadenas en UaExpert incluían el texto ns=6 . En el archivo XML anterior, esto se ha cambiado a ns=1 , porque el parámetro "espacio de nombres" (ns ) es un índice en la lista de espacios de nombres en el cliente local . En este ejemplo, el Espacio de nombres El nombre que se copió de UaExpert es el primer (y único) espacio de nombres en la lista de espacios de nombres en nuestro clientconfig.xml. archivo.

El PLCnext Runtime debe reiniciarse después de realizar cambios en los archivos de configuración del cliente OPC UA.


Tecnología Industrial

  1. Punteros de diseño de PCB flexibles que necesita saber
  2. Análisis de estrategias antiinterferencias y de conexión a tierra para PCB
  3. ¿Qué es la prueba de calidad de soldadura? - 10 defectos comunes de soldadura
  4. Elegir entre estrategias de inventario JIT y por si acaso para el éxito de la fabricación
  5. Ciberseguridad:qué es y por qué debería importarle
  6. 6 factores más comunes que afectan la calidad de las bandas de borde
  7. Cómo recuperarse de un ciberataque
  8. Cómo elegir el abrasivo adecuado para la fabricación de metal
  9. Chat informal:Sostenibilidad en la fabricación
  10. Pestaña de papel:presentación rápida revolucionaria de alta tecnología
  11. Acelerar los lanzamientos de productos:aprovechar la subcontratación de ingeniería para lograr velocidad e innovación