Carga remota de programa - StxLadder

  • 2 Respuestas
  • 92 Vistas

EBD

  • Aprendiz
  • **
  • Mensajes: 29
Carga remota de programa - StxLadder
« : enero 07, 2020, 18:20:07 pm »
Buenas tardes,
Tenemos multiples PLC instalados en máquinas que se envían a distintos puntos del país. Cada tanto, surge la necesidad de mejorar el software de control que instalamos en el PLC y requiere que un equipo vaya al sitio y lo instale con una computadora, conectandose llocalmente al router que tiene la máquina. Actualmente, tenemos conectado el PLC por cable a este router que además cuenta con conexión 4G por lo que nos permite realizar monitoreo remoto utilizando una VPN.

Quería saber si es posible, y en caso que lo sea cual es la dificultad para ustedes de implementar una nueva funcionalidad en el StxLadder para realizar la carga de un programa al PLC de forma remota.
Esto resultaría muy útil para cuando se desarrollan nuevas versiones del programa y se quiere instalar esta nueva versión en una máquina que se encuentra trabajando lejos de nuestra central.
En teoría, los PLC están conectados a traves de una VPN a nuestra central, por lo que cada PLC y computadora se encuentran dentro de una misma red local (aunque sea virtual) por lo que entiendo que la comunicación no sería tan distinta, por lo menos a ese nivel. Obviamente, la funcionalidad debería ser lo suficientemente robusta para que en caso de perdida de conexión con el PLC, no se pierda el programa nuevo como también el viejo.

Dejo el comentario como para evaluar la posiblidad de hacer este desarrollo, si es factible.
Desde ya muchas gracias.
Saludos,
Marcos.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2128
  • Soporte Técnico
Re:Carga remota de programa - StxLadder
« Respuesta #1 : enero 07, 2020, 19:51:38 pm »
Quería saber si es posible, y en caso que lo sea cual es la dificultad para ustedes de implementar una nueva funcionalidad en el StxLadder para realizar la carga de un programa al PLC de forma remota.
Esto resultaría muy útil para cuando se desarrollan nuevas versiones del programa y se quiere instalar esta nueva versión en una máquina que se encuentra trabajando lejos de nuestra central.
En teoría, los PLC están conectados a traves de una VPN a nuestra central, por lo que cada PLC y computadora se encuentran dentro de una misma red local (aunque sea virtual) por lo que entiendo que la comunicación no sería tan distinta, por lo menos a ese nivel. Obviamente, la funcionalidad debería ser lo suficientemente robusta para que en caso de perdida de conexión con el PLC, no se pierda el programa nuevo como también el viejo.

Marcos.

Buenas tardes Marcos.

Como poder se podría si no se me pasa nada por alto. Actualmente no se permite porque se utiliza el protocolo UDP para la transferencia de información (datos, programación, firmware, etc), lo cuál no es confiable para internet. Por lo tanto tendríamos que migrar a TCP para la conexión, no es algo imposible, solo que nos llevaría tiempo y trabajo porque hay varios mecanismos que implementar, ya que hay que modificar tanto firmware como el software de StxLadder a bajo nivel. En ese caso, con que tengas la dirección IP ya podrías programarlo normalmente remotamente.

Por otro lado, también es necesario modificar el Bootloader del PLC, el que te permite actualizar firmware, para esto tendrían que enviar el PLC físicamente ya que se reprograma con herramientas especiales.

En cuanto a no perder el programa viejo durante la programación, esto no sería posible por la limitación en memoria, no hay espacio para que convivan dos programas al mismo tiempo. En caso de perdida de conexión o falla fatal durante una transferencia, el PLC podría reiniciarse y quedar detenido esperando un nuevo programa.

Algo para mencionar, es que en las comunicaciones 4G, las empresas de telefonía suelen bloquear muchos puertos, dejando abiertos los utilizados solo para página web y otros que no recuerdo. Creo que eso es otro punto a considerar en el momento del desarrollo de la funcionalidad. Si lo usas dentro de una VPN (no tengo mucha experiencia en esas redes) a lo mejor no tenés esa limitante.

Si esto es algo importante para ustedes, podríamos pasar una cotización para desarrollar dicha funcionalidad, al costo, más que nada para asignar un tiempo que no teníamos planeado y encararlo para este nuevo año. Avísame por mail o mensaje privado.

Saludos!
« Última Modificación: enero 10, 2020, 12:40:33 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2128
  • Soporte Técnico
Re:Carga remota de programa - StxLadder
« Respuesta #2 : enero 07, 2020, 20:07:51 pm »
Algunos clientes tienen computadoras locales  conectadas con Windows y por escritorio remoto reprograman el PLC, pero no sé si será opción para ustedes.



Si de escritorio remoto se trata, otra posibilidad económica es utilizar una Raspberry para ejecutar StxLadder en Linux y reprogramar el PLC.

En la Raspberry deberías instalar un gestor de ventanas (como XFCE o alguno más liviano), entonces tenés acceso gráfico para correr programas. Para acceso remoto con escritorio, debés instalar allí un servidor tipo VNC, RDP, etc. Hay mucho en internet sobre esto.

A StxLadder lo podés ejecutar en Linux utilizando "WINE", que es una implementación nativa que permite correr aplicaciones Windows (con limitaciones).

Una vez instalado WINE, descargás StxLadder y lo instalás normalmente. Te va a crear el ejecutable y abrís el proyecto normalmente.

Si bien StxLadder con WINE arranca en Linux, por las propias limitaciones de la librería WINE que no iguala del todo a Windows, funciona con algunos bugs en la interfaz gráfica para algunas funciones. Pero para abrir el proyecto y programar, no hay problemas.

Te paso en archivo adjunto (abajo) una captura de pantalla de StxLadder corriendo en Linux Debian con WINE, en un escritorio XFCE.



Entonces los pasos serían, instalar un escritorio gráfico, instalar WINE, instalar y ejecutar StxLadder, probar localmente programar el PLC con StxLadder, y luego instalar un servidor para hacer escritorio remoto desde otra computadora. Te recomiendo googlear en internet, hay mucha información y tutoriales.

Podés ir probando esto en laboratorio y luego vemos si se puede simplificar un poco el proceso, o se deciden por la implementación con protocolo TCP detallada en el mensaje anterior.

Saludos!
« Última Modificación: enero 10, 2020, 12:48:50 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com