Se configura una comunicación OPC UA entre un SCADA Cimplicity y una CPE330 de la gama Rx3i de Emerson para poder ver las variables simbólicas de este último. Esto se hace de 2 formas diferentes ("conexión sencilla" - Sin certificados OPC-UA- y "conexión segura" - Con certificados OPC-UA-)
Conexión OPC-UA sencilla (Sin certificados)
Primero en Cimplicity, añadimos el protocolo de comunicaciones cliente OPC UA desde las opciones del proyecto.
Luego, añadimos un nuevo puerto de comunicaciones con el protocolo UA-CLIENT, desde el apartado “Equipment” del árbol del proyecto.
Una vez tenemos el puerto creado, el siguiente paso es añadir un dispositivo (Device) que comunique por ese puerto, y como modelo seleccionamos OPC UA client:
En la segunda pestaña de la configuración ("OPC UA DA Configuration") es donde definimos la dirección del dispositivo del que vamos a leer los datos.
- En la casilla Endpoint URL ponemos la dirección del dispositivo, en el ejemplo es “opc.tcp://192.168.4.116:4840”, pues comunicamos por el puerto 4840.
- El resto de campos los dejamos por defecto (Mode "None" y Policy "None"),
pues inicialmente vamos a establecer una conexión OPC-UA sin cifrado ni certificados
A continuación pulsamos el botón “Browse”. Si la CPU es visible por el SCADA y es correcta la dirección, nos aparecerá la CPU en la lista.
De las diferentes modalidades de conexión, elegimos la que no requiera cifrado, autenticación ni certificados
Para verificar que hay conexión con el PLC pulsamos “Test Connection”.
Deberíamos ver que se ha podido conectar en el log que aparece.
Si tenemos el PLC con la seguridad desactivada, con lo que hemos hecho bastaría para establecer la comunicación. Por el contrario, si tenemos la seguridad habilitada es preciso loguearse con para poder comunicarnos. Para ello, en la pestaña User Identity del Device de Cimplicity, ponemos el usuario y el password. En la siguiente tabla tenemos los nombres de usuarios para cada nivel de seguridad del PLC.
Esta seguridad se habilita desde Machine Edition, estando online con el autómata, desde el menú emergente mostrado con el botón “Show Status”:
Por último, con el device ya configurado, procedemos a añadir los Points al proyecto Cimplicity. Pulsando el botón con los tres puntos dentro de las propiedades de la nueva variable, se muestran todas las variables publicadas en el servidor OPC-UA del PLC.
En el lado del PLC, lo único que tenemos que haber hecho previamente es habilitar el servidor OPC-UA en la configuración de la CPU:
y marcar las variables que queremos que sean publicadas por OPC UA.
En la barra de estado (de Machine Edition) podemos verificar que el servidor OPC UA está en marcha.
Conexión Segura (con certificados OPC-UA)
En el ejemplo anterior se ha omitido el certificado. En el caso de trabajar con certificados, se utiliza la política de seguridad “Basic256Sha256” en modo “Sign & Encrypt”.
El siguiente proceso toma como base lo ya explicado previamente en el caso de "Conexión Sencilla", señalando únicamente los puntos que deben añadirse a una conexión simple, para que incorpore la gestión de certificados
Paso1 Activar certificados en Cimplicity
Desde workbench vamos al gestor de seguridad OPC-UA
Habilitamos la seguridad (dándole al botón) y quitamos el “use GDS”
Vamos a “Advanced”, generamos el certificado y creamos los directorios (todo dándole al botón “create”).
Con esto ya tenemos Cimplicity preparado para conectar con servidores OPC-UA que requieran certificados.
Paso2 Realizar la primera conexión (para aceptar certificados)
Desde el Device de Cimplicity hacemos un test de conexión.
El resultado será negativo, pero ya tendremos en la carpeta de “rejected” el certificado del servidor OPC-UA, que aceptaremos manualmente.
Vamos a la carpeta del proyecto Cimplicity y movemos el certificado.
En concreto pasamos de “...\pki\rejected” a “...\pki\trusted\certs”
Volvemos a probar a conectar, pero antes ponemos el PLC en modo “provisioning”
Tras esto, la conexión debería establecerse sin problemas
Caso especial: re-crear el certificado del servidor OPC-UA (PLC)
En caso de haber problemas para establecer la conexión, conviene revisar la validez del certificado del servidor OPC-UA emitido por el PLC.
En caso que no estuviésemos dentro del periodo de validez de este certificado, tendríamos que volverlo a generar (lo mismo ocurriría con el certificado de Cimplicity, en cuyo caso ya se han descrito los pasos para generarlo).
El procedimiento para re-generar el certificado del servidor OPC-UA (del PLC) consiste en detener el servidor en el PLC con los comandos online del autómata.
Una vez detenido seleccionar la opción “Clear OPC UA Server” para borrar el certificado. Finalmente, se vuelve a iniciar el servidor OPC-UA, y por último se activa de nuevo el “Provisioning Mode” para volver así a intentar la conexión desde Cimplicity.
Al tratarse de un nuevo certificado, éste se rechazará inicialmente, por lo que procedemos a moverlo desde “rejected” hasta “trusted”, tal y como ya se explicó en el procedimiento estándar.