Divide et impera

logo_dominios_apaisados1


La semana pasada, leí un artículo en el blog de Sergio Soriano y venía como anillo al dedo, sobre una consulta de una incidencia en el trabajo, Sergio hacía mención en un artículo a una frase histórica  “Divide y Conquista” y siendo justo y honesto, tengo que decir que inspiró este artículo. Os adjunto el enlace al artículo, aconsejando su lectura:

“Divide y conquista

 El titulo suena muy napoleónico, pero define bien la siguiente técnica. El primer paso en la reparación de PLCs es decidir si el problema es interno…..”

Esta frase se le atribuye a Cayo Julio César, no obstante es una frase apócrifa y su primer uso no es del estadista y militar romano. Se ha usado posteriormente en la historia, y como comenta Sergio, uno de los personajes históricos más conocidos que la usó, fue el militar y gobernante francés, Napoleón Bonaparte.

Cayo-Julio-César-Imperio-RomanoCayo Julio César

¿Y que tiene que ver esto con la Automatización?, pues muchísimo, es más, muchos técnicos tenemos interiorizada esta frase más de lo que creemos, somos inconscientemente consciente en su uso a la hora de reparar y diagnosticar averías, o depurar sistemas. A continuación voy a explicaros mi flujo de trabajo, como bien decía un amigo mío, igual de válido que otros, y lo voy a hacer con el siguiente ejemplo:

INCIDENCIA: No se refrescan señales de un proceso en un SCADA.

En una planta o fábrica, de cuyo nombre no me quiero acordar, se pierde la supervisión y monitorización de un proceso crítico (para explotación/producción todo es crítico, jejeje), recibimos el aviso y “nos ponemos manos a la obra”.

¿Por dónde empezar?……………es como cuando compramos un jamón o una paletilla y nos preguntamos, ¿pezuña para abajo o para arriba?, siempre dudamos, en cambio el profesional del jamón, tiene interiorizado como hacerlo, la experiencia y el conocimiento que atesora le ayuda tomar decisiones para resolver “este problema” (bendito problema) de manera rápida y efectiva.

Por donde empezar“Peaso” de publicidad, espero que me dejen usar la foto y se dejen caer con uno.

Lo primero, analizar el mensaje de la incidencia y realizar encuesta al peticionario.

Aunque parezca una tontería, este paso es fundamental, la experiencia me ha enseñado que muchas de las interpretaciones de las averías no son correctas y nos pueden llevar a confusión la información que nos transmiten desde explotación o producción, también tengo que decir que son grandes conocedores de los sistemas y nos pueden ayudar mucho, saben si son fallos remitentes-recurrentes o no y por ello su información puede ser de gran utilidad. No obstante, una vez hayamos analizado el mensaje de la incidencia y hayamos realizado las preguntas pertinentes al peticionario, debemos abstraernos de esta información, para no estar influenciados y cometer errores en el diagnóstico y resolución de la incidencia.

“……cuando cierro la puerta del armario deja de funcionar……..es problema de la puerta……..no es problema de la caja de faraday que hace el armario……..”

Del mensaje “No se refrescan señales de un proceso en un SCADA”, existe un dato que no pasa desapercibido, y aunque parezca una tontería, debemos subrayar:

“No existen comunicaciones del PLC/PAC con el SCADA”

Es decir, no es un problema de una señal o un grupo de señales, si fuera una señal la afectada o un grupo de señales, el análisis sería diferente.

Lo segundo, usar la documentación.

Para esta avería, es fundamental conocer la arquitectura de comunicación y control de la planta, es decir, como comunica el SCADA con el PLC/PAC y que equipo tenemos en campo. Para ello, debemos consultar la documentación y esquemas, posiblemente con el tiempo y la experiencia este paso no tendremos que realizarlo, también es muy importante para ésto que los sistemas estén estandarizados. Ahora debemos leer el “código” y saber interpretarlo, como en la pelicula Matrix, jejejeje :

  • Tipo de comunicación SCADA con PLC/PAC……OPC, comunicaciones directas.
  • Tipos de señales que se intercambian.
  • Comunicaciones que se utilizan, directas mediante cable o F.O., a través de un proveedor de comunicaciones, 3G, 2G, ADSL, VSAT….
  • Contexto del PLC/PAC, alimentación e instalaciones auxiliares, existencias de pasarelas, servidores de terminales, switches, hub, latiguillos.
  • Modelo de PLC/PAC y comunicaciones de éste.

maxresdefault

En nuestro ejemplo, disponemos:

  • SCADA con comunicaciones OPC.
  • Red de comunicaciones entre PLC/PAC y SCADA, con Ethernet/IP sobre una red física de F.O.

Por lo comentado anteriormente, es muy probable, que dispongamos de un switch en el lado del SCADA y otro en el lado del PLC/PAC y por supuesto de una F.O. entre las dos localizaciones de los equipos, al ser F.O. podemos tener switches con puertos de fibra o en su defecto dispongamos de convertidores de cobre-fibra en ambos extremos o en sólo uno de ellos, todo esto debemos confirmarlo con la documentación.

Que debemos hacer a la hora de afrontar esta incidencia:

Divide et impera

Debemos comernos el pastel por porciones, es decir, debemos acotar la incidencia, por ello yo empezaría por revisar el PLC/PAC y su entorno, ya que si sólo está afectado un proceso es probable que el problema esté en el lado del PLC/PAC y no en el SCADA. No obstante teniendo en cuenta que son comunicaciones ethernet, empezaría realizando un “ping” o “tracert” a la dirección IP del PLC/PAC o del switch más cercano al PLC/PAC.

Si no tenemos respuesta en los comandos antes comentados, procederíamos a la revisión del armario del PLC/PAC:

  • Tensiones correctas.
  • Switch en buen estado.
  • Latiguillos de cobre y F.O. en buen estado.
  • PLC/PAC está correctamente, encendido y sin ningún fallo.

Si fuera todo correcto, realizaríamos un “ping” al PLC/PAC conectados desde el switch local, por supuesto debemos estar en el rango correcto, y así procederíamos desde este punto hasta volver al SCADA.

IMG_2628

Variantes existen muchas, pero lo que tenemos que tener claro es la idea de ir sectorizando y comprobando el estado, para poder “acorralar” el problema.

Divide et impera

Saludos!!!!.
Esta entrada se la dedico al Colaborador Miguel Tena.
favicon

 

 

Configuración modo Ethernet/IP con Smart Mode FL SWITCH SMCS 16TX

logo_dominios_apaisados1

En esta entrada, vamos a configurar un switch de Phoenix Contact en modo Ethernet/IP, usando el “Smart Mode”. Para ello, debemos de seguir los siguientes pasos:

  1. Encender el switch y esperar a que se apaguen los tres LED´s (ACT, 100 y FD). Comentar que este equipo tarda bastante tiempo en encender, mientras que está en proceso de arranque tiene todos los LED´s encendidos.
  2. Pulsar de manera mantenida durante al menos cinco (5) segundos el botón “MODE”, cuando empiecen a parpadear los tres LED´s hemos entrado en el “Smart Mode”.
  3. Pulse el botón “MODE” de manera breve, hasta seleccionar el modo de funcionamiento deseado según la señalización de los LED´s del siguiente cuadro. En nuestro ejemplo, será el modo Ethernet/IP, por lo que sólo tendremos encendido el LED ACT.

    cuadro_modos

  4. Una vez que tengamos seleccionado el modo deseado, pulsar de manera mantenida durante al menos cinco (5) segundos el botón
    “MODE” para salvar y salir del modo “Smart Mode”.
  5. Esperar a que se reinicie el equipo.
En el siguiente video, se puede ver en detalle el procedimiento a seguir:

 

Hay que tener en cuenta que cuando cambiamos el modo de operación del equipo, debemos volver a asignarle la dirección IP, en una entrada anterior del blog vimos como hacerlo.

Para saber, si hemos habilitado el modo “Ethernet/IP”, al entrar en el servidor web del equipo, observaremos que se ha habilitado la función “IGMP Snooping”. Esta función permite que el tráfico multicast no se propague innecesariamente por la red.

  • Modo de operación por defecto con “IGMP Snooping” deshabilitado.

modoethip0

  • Modo de operación por “Ethernet/IP” con “IGMP Snooping” habilitado.

modoethip1

El manual y la documentación de este equipo, la podemos bajar en el siguiente enlace:
https://www.phoenixcontact.com/online/portal/es?uri=pxc-oc-itemdetail:pid=2700996&library=eses&tab=1

 

Saludos.

favicon

 

 

Asignar IP a FL SWITCH SMCS 16TX de Phoenix Contact

logo_dominios_apaisados1

En esta entrada, vamos a asignar una dirección IP a un switch FL SWITCH SMCS 16TX de Phoenix Contact. Lo realizaremos con la herramienta software “IPAssign_v1.1.2.exe”:

  • Ejecutamos el software “IPAssign_v1.1.2.exe”, que podemos descargar del siguiente enlace (imagen):

ipassign

  • Nos aparece la siguiente ventana, pulsamos en “siguiente”.

ipassign1

ipassign2

  • Conectamos el cable ethernet al PC y nos aparecerá la dirección MAC del switch, hay que asegurarse que es la dirección del equipo con el que estamos trabajando, incluso podemos seleccionar “Show only Phoenix Contact devices” para limitar los equipos que detecte el software mediante el protocolo BootP.

ipassign3

  • Seleccionamos de la lista, la dirección MAC del switch y pulsamos sobre siguiente.

IMG_2630

  • Nos aparecerá la siguiente ventana, en la que asignaremos la dirección IP que deseemos, en nuestro caso será “192.168.1.69”, pulsamos siguiente.

ipassign4

ipassign5

  • Mientras que se realiza la asignación, nos aparecerá la siguiente ventana durante un tiempo que no debe ser mayor de uno o dos minutos. Si no apareciera la siguiente ventana, debemos reiniciar el equipo desconectando su alimentación.

ipassign6

  • Para finalizar, pulsamos en siguiente.

ipassign7

Podemos probar la conectividad, con “Símbolo del Sistema” de windows o el “Terminal” de Linux, mediante el comando “ping”:

….ping 192.168.1.69 -t

ipassign8

El switch sigue teniendo BootP habilitado, si lo queremos deshabilitar deberemos entrar en el servidor web y seleccionar “Static Assignment”. Si BootP está habilitado, cada vez que quitemos tensión al equipo el software “IPAssign_v1.1.2.exe” detectará la MAC y permitirá modificar la IP.

ipassign9

El manual y la documentación de este equipo, la podemos bajar en el siguiente enlace:
https://www.phoenixcontact.com/online/portal/es?uri=pxc-oc-itemdetail:pid=2700996&library=eses&tab=1
Saludos.

favicon

Configuración OPC de Driver Serie para Micro820 de Allen Bradley en KEPServerEX.

NoejucomLOGO     logo_v1

En la anterior entrada, realizamos la conexión OPC entre KEPServerEX y un PLC Micro820 de Allen Bradley, ahora vamos a realizarla mediante el puerto serie que incluye este PLC. Realizar la conexión OPC con el puerto serie, nos permite dejar libre el puerto ethernet para mantenimiento o interconexión con otros equipos. Además, para otros modelos de la familia Micro800 que no disponen de puerto ethernet, es la única forma de conectarlo por OPC, sin realizar un desembolso adicional en un módulo de comunicaciones.

Lo haremos realizando los siguientes pasos:

1. Comunicaciones OPC a través de puerto Serie (Arquitectura de Comunicaciones).

2. Configuración del puerto del PLC Micro820.

3. Configuración de Servidor de Terminales y pineado de cable serie.

4. Prueba de conectividad PC-Servidor de Terminales.

5. Configuración de Canal de Comunicaciones en KEPServerEx.

6. Configuración de Dispositivo en KEPServerEx.

7. Añadir TAG’s en nuestro dispositivo.

8. Prueba de lectura de variables con “OPC Quick Client”.

1. Comunicaciones OPC a través de puerto Serie (Arquitectura de Comunicaciones).

Primero, vamos a describir nuestra Arquitectura de comunicaciones:

  • PC en el que tenemos instalado KEPServerEX V5.16.
  • Switch no gestionable TP-Link TL-SG108 al que tenemos conectado el PC y el servidor de terminales Moxa Nport IA 5150.
  • PLC Micro820 de Allen Bradley conectado al puerto RS-232 del servidor de terminales.

IMG_0031

2. Configuración del puerto del PLC Micro820.

Debemos configurar o averiguar la configuración del puerto Serie de nuestro PLC Micro820, en nuestro caso el PLC tiene la siguiente configuración:

  • Protocolo “Serie CIP”
  • Velocidad “38400”
  • Paridad “Ninguno”
  • Dirección de la estación “1”

serie0

3. Configuración de Servidor de Terminales y pineado de cable serie.

3.1 Configuración servidor de terminales.

La configuración del servidor de terminales consta de dos partes:

  • Puerto Ethernet.
  • Puerto Serie.

La configuración del puerto Ethernet es simplemente asignarle una dirección IP estática que esté en el rango del PC:

serie19

La configuración del puerto serie consiste en ajustar los parámetros del puerto serie (velocidad, paridad…), modo de operación y el puerto TCP.

serie32

Los parámetros siguientes, se configuran en base a los valores del puerto serie del PLC.

serie18

3.2 Pineado puerto serie.

El pineado del cable serie es el siguiente:

PineadoCableSerie

IMG_0033Detalle conexionado lado PLC

IMG_0034Detalle conexionado lado servidor terminales (sin carcasa DB9)

4. Prueba de conectividad PC-Servidor de Terminales.

Ejecutamos desde la consola el comando ping.

“ping 192.168.1.250”

ping

5. Configuración de Canal de Comunicaciones en KEPServerEx.

  •  Comenzamos abriendo el software KEPServerEX.
  •  Añadimos un nuevo canal de comunicaciones a través de la barra de menús en “Edit\Channels/Devices\New Channel” o con el atajo “Click to add a channel”.

serie1

  • Asignamos el nombre deseado en el campo “Channel Name”.

serie2

  • Seleccionamos el driver adecuado, en nuestro caso “Allen-Bradley Micro800 Serial”.
  • Habilitamos “Enable Diagnostics”, útil para la depuración de errores y para obtener información de estadísticas de las comunicaciones.

serie3

  • La siguiente pantalla se deja con los valores por defecto.

serie5

  • En la siguiente pantalla vamos a configurar la conexión serie, y como vamos a usar un servidor de terminales (convertidor de ethernet a puerto serie), no es necesario realizar ninguna configuración de velocidad, ya que vamos a encapsular el protocolo serie en Ethernet.

serie6

  • Seleccionamos en el campo “Connection type”, “Ethernet Encap.”.

serie7

serie8

  • Las dos siguientes pantallas se dejan con los valores por defecto.

serie9

serie10

  • En la siguiente pantalla, asignamos al PC (KEPServerEX) el número de estación (Nodo Serie) “Station ID”. En nuestro ejemplo, será la número “0” y el PLC será la “1”.

serie11

  • Finalizamos la configuración del canal.

serie12

Ya tenemos creado el canal de comunicaciones.

6. Configuración de Dispositivo en KEPServerEx.

Una vez que tenemos configurado el canal de comunicaciones, vamos a añadir un dispositivo. En el caso de que dispongamos de varios PLC’s con el mismo tipo de comunicaciones, podríamos crear un canal y dispositivo por cada uno de ellos, no obstante lo más óptimo es agrupar en canales los mismos tipos de dispositivos, ya que optimiza más el software OPC que si lo realizamos configurando un canal por cada PLC.

En nuestro caso está claro, ya que sólo disponemos de un Micro820.

  • Seleccionamos el atajo “Click to add a device” o en la barra de menús “Edit\Channels/Devices\New Device”.
  • Asignamos el nombre deseado en el campo “Device Name”.

serie13

serie14

  • Asignamos el “Device ID” del dispositivo. Como vimos en la configuración del PLC, éste era el Nodo “1”.

serie15

  • La siguiente pantalla se deja con los valores por defecto.

serie16

  • En la siguiente pantalla, además del protocolo “TCP/IP”, configuramos la dirección IP del servidor de Terminales y el puerto de comunicación que vamos a utilizar.

serie17

  • Las siguientes pantallas se dejan con los valores por defecto.

serie20

serie21

serie22

serie23

serie24

serie25

  • Finalizamos la configuración del canal.

serie26

Ya tenemos creado el dispositivo.

7. Añadir TAG’s en nuestro dispositivo.

En este caso, como ya tenemos creados los TAG’s en el driver ethernet que realizamos en la anterior entrada, simplemente realizaremos un “copy-paste” de los TAG’s.

serie27

serie28

serie29

Ya hemos tenemos los dos TAG’s de nuestro ejemplo.

8. Prueba de lectura de variables con “OPC Quick Client”.

Para probar la configuración realizada, usaremos el cliente OPC de KEPServerEX, en “TOOLS\Launch OPC Quick Client“. Esta aplicación lanza un cliente contra todos los canales de comunicación que tengamos configurado, sin necesidad de ninguna selección adicional.

serie30

  • Seleccionando “Micro_820_Ethernet.Micro_820_Ethernet” podemos ver el valor “Value” de la variable, siempre que la calidad del dato sea buena “Good”.

serie31

serie33

  • Si la calidad es mala “Bad”, o no hemos establecido conexión o no tenemos refresco de las señales, para ellos “Timestamp” y “Update Count” nos puede ayudar a diagnosticarlo ya que el primero nos indica el instante en el que se ha realizado el refresco de la señal y el segundo el número de veces que ha cambiado el valor, también aumenta este último cuando se recupera la calidad del dato, de “Bad” a “Good”.

serie34

Adjuntamos ficheros utilizados:

  • Programa PLC de software Connected Components Workbench” (Software gratuito).       Micro820_OPC.rar.
  • Copia de seguridad de configuración OPC.                                                                                        Micro820_Eth_Serie.opf
  • Lista de TAG exportados .                                                                                                                    Micro820_Serie.csv      

Saludos!!!!

Configuración OPC de Driver Ethernet para Micro820 de Allen Bradley en KEPServerEX.

NoejucomLOGO     logo_v1

Como hemos tenido alguna peticiones, vamos a realizar una configuración OPC en KEPServerEX V5.16, en este caso vamos a realizar la lectura de dos variables en un PLC Micro820 de Allen Bradlley.

Vamos realizar la lectura a través de los dos puertos de comunicación que equipa el Micro820, primero en esta entrada de Blog por el puerto Ethernet y más tarde por el puerto serie a través de un servidor de terminales de la marca Moxa.

Lo haremos realizando los siguientes pasos:

1. Comunicaciones OPC a través de puerto Ethernet (Arquitectura de Comunicaciones).

2. Configuración del puerto del PLC Micro820.

3. Prueba de conectividad PC-PLC.

4. Configuración de Canal de Comunicaciones en KEPServerEx.

5. Configuración de Dispositivo en KEPServerEx.

6. Añadir TAG’s en nuestro dispositivo.

7. Prueba de lectura de variables con “OPC Quick Client”.

1. Comunicaciones OPC a través de Ethernet (Arquitectura de Comunicaciones).

Primero, vamos a describir nuestra Arquitectura de comunicaciones:

  • PC en el que tenemos instalado KEPServerEX V5.16.
  • Switch no gestionable TP-Link TL-SG108 al que tenemos conectado el PC y PLC.
  • PLC Micro820 de Allen Bradley.

IMG_0030

2. Configuración del puerto del PLC Micro820.

Debemos configurar o averiguar la configuración del puerto Ethernet de nuestro PLC Micro820, en nuestro caso el PLC tiene asignada la dirección IP 192.168.1.100.

Eth00

3. Prueba de conectividad PC-PLC.

Ejecutamos desde la consola el comando ping.

“ping 192.168.1.100”

Eth36

4. Configuración de Canal de Comunicaciones en KEPServerEx.

  •  Comenzamos abriendo el software y en nuestro caso, lo primero que hemos realizado para facilitar el aprendizaje, ha sido borrar los canales que trae por defecto.

Eth0

  •  Añadimos un nuevo canal de comunicaciones a través de la barra de menús en “Edit\Channels/Devices\New Channel” o con el atajo “Click to add a channel”.
  • Asignamos el nombre deseado en el campo “Channel Name”.

Eth1

  • Seleccionamos el driver adecuado, en nuestro caso “Allen-Bradley Micro800 Ethernet”.
  • Habilitamos “Enable Diagnostics”, útil para la depuración de errores y para obtener información de estadísticas de las comunicaciones.

Eth2      Eth3

  • Las siguientes pantallas se dejan con los valores por defecto.

Eth4 Eth5 Eth6 Eth7 Eth8

Ya tenemos creado el canal de comunicaciones en KEPServerEX.

Eth9

5. Configuración de Dispositivo en KEPServerEx.

Una vez que tenemos configurado el canal de comunicaciones, vamos a añadir un dispositivo. En el caso de que dispongamos de varios PLC’s con el mismo tipo de comunicaciones, podríamos crear un canal y dispositivo por cada uno de ellos, no obstante lo más óptimo es agrupar en canales los mismos tipos de dispositivos, ya que optimiza más el software OPC que si lo realizamos configurando un canal por cada PLC.

En nuestro caso está claro, ya que sólo disponemos de un Micro820.

  • Seleccionamos el atajo “Click to add a device” o en la barra de menús “Edit\Channels/Devices\New Device”.
  • Asignamos el nombre deseado en el campo “Device Name”.

Eth10

  • Introducimos la dirección IP del equipo “192.168.1.100”.

Eth11

  • Las siguientes pantallas se dejan con los valores por defecto. Cabe destacar que el “port number” de Allen Bradley es el 44818.

Eth12 Eth13 Eth14 Eth15 Eth16 Eth17 Eth18 Eth19

Ya tenemos creado un dispositivo en nuestro canal de comunicaciones en KEPServerEX.

Eth20

6. Añadir TAG’s en nuestro dispositivo.

Por último debemos añadir los TAG’s de lectura/escritura, para ello debemos conocer los nombres o direcciones de las variables del PLC. En nuestro ejemplo, hemos declarado en el PLC dos variables, una tipo “BOOL” y otra “REAL”, denominadas:

  • ANALOGICA_REAL
  • DIGITAL_BOOL

Es importante indicar que las variables deben de estar declaradas en “Variables Globales”, si se realiza a nivel de variables de programa “Variables Locales”, no tendremos acceso desde KEPServerEX.

Eth29

  • Seleccionamos el atajo “Click to add a static tag”” o en la barra de menús “Edit\Channels/Devices\New Tag”.

Eth21

Rellenamos los campos:

  • “Name”, en este campo seleccionamos el nombre del TAG que hayamos elegido para KEPServerEX, en nuestro caso hemos decidido asignarle el mismo que el de la variable del PLC, disponiendo así de trazabilidad PLC-OPC.
  • “Address”, dirección de la variable.
  • “Description”, descripción de la variable.
  • “Data Type”, tipo de dato. Pudiendo dejar seleccionado “Default”.
  • “Client access”, aquí seleccionamos si la variable es de tipo lectura, escritura o lectura/escritura.

Eth22

Eth23

Eth24

  • Hemos añadido la variable tipo “BOOL”, ahora procedemos a la tipo “REAL”.

Eth25

Eth26

Eth27

  • Para la variable tipo “REAL” podríamos realizar un escalado de la señal, seleccionando la pestaña “Scaling”, en nuestro ejemplo no lo realizamos, pero es muy útil para equipos que no dispongan de la posibilidad de escalar la señal antes del envío al sistema de información.

Eth28

Ya hemos creado los dos TAG’s de nuestro ejemplo.

7. Prueba de lectura de variables con “OPC Quick Client”.

Para probar la configuración realizada, usaremos el cliente OPC de KEPServerEX, en “TOOLS\Launch OPC Quick Client“. Esta aplicación lanza un cliente contra todos los canales de comunicación que tengamos configurado, sin necesidad de ninguna selección adicional.

Eth30 Eth31

  • Seleccionando “Micro_820_Ethernet.Micro_820_Ethernet” podemos ver el valor “Value” de la variable, siempre que la calidad del dato sea buena “Good”.

Eth32

  • Si la calidad es mala “Bad”, o no hemos establecido conexión o no tenemos refresco de las señales, para ellos “Timestamp” y “Update Count” nos puede ayudar a diagnosticarlo ya que el primero nos indica el instante en el que se ha realizado el refresco de la señal y el segundo el número de veces que ha cambiado el valor, también aumenta este último cuando se recupera la calidad del dato, de “Bad” a “Good”.

Eth33

Adjuntamos ficheros utilizados:

  • Programa PLC de software Connected Components Workbench” (Software gratuito).          Micro820_OPC.rar.
  • Copia de seguridad de configuración OPC.                                                                                            Micro820_Eth_Serie.opf
  • Lista de TAG exportados .                                                                                                      Micro820_Ethernet.csv      

Saludos!!!!