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

Registro de datos en IEC 61131-3:carga SFTP basada en la potencia de Curl

Hace algunas semanas, recibí la siguiente pregunta. Debe cargar un archivo de registro en un servidor SFTP mediante un programa que se ejecuta en el ESM.
El Protocolo de transferencia de archivos SSH (también Protocolo seguro de transferencia de archivos o SFTP) es un protocolo de red que proporciona acceso a archivos, transferencia de archivos y administración de archivos a través de cualquier flujo de datos confiable. Fue diseñado por el Grupo de Trabajo de Ingeniería de Internet (IETF) como una extensión del protocolo Secure Shell (SSH) versión 2.0 para brindar capacidades de transferencia segura de archivos.

SFTP está incluido en el firmware de PLCnext, por lo que esto no debería ser un problema.

Paso 1:comencé a crear un archivo de registro usando texto estructurado. Puede encontrar ejemplos de cómo hacer esto aquí:

https://www.plcnext-community.net/en/hn-makers-blog/438-datalogging-in-iec-61131-3-the-basic-principle.htmlhttps://www.plcnext-community.net/ es/hn-makers-blog/447-datalogging-in-iec-61131-3-create-your-own-file-manager.html

Paso 2:necesitaba un servidor SFTP para probar mi aplicación de PLC. Usé CrushFTP, que instalé en una máquina virtual que se ejecutaba en mi computadora portátil.

Después de la instalación del software, debe crear un usuario administrador para la interfaz web. Una vez hecho esto, puede crear un usuario para el acceso al PLC.

Para este ejemplo:usuario =PLCnext, contraseña =123456789

Paso 3:Cargue un archivo usando la línea de comando.

En la captura de pantalla anterior, puede ver que primero damos un comando y en un segundo paso ingresamos la contraseña. Si queremos automatizar este procedimiento usando el FB “PBCL_SysLinuxShell_1”, necesitamos un comando de una sola línea.

Este FB se encuentra en la biblioteca PLCnextBase. (https://www.plcnextstore.com/#/720)

Entonces, necesitamos otro comando para realizar la carga del archivo. Echemos un vistazo a Curl.

La versión que está instalada con el firmware 2020.6.1 no es compatible con SFTP. Gracias a Oliver Warneke, pude instalar otra versión de Curl. No pasaremos por el proceso de instalación completo, pero el resultado es una versión compatible con SFTP. Con el firmware 2021.0.0 LTS, podrá utilizar la siguiente versión.

Gracias a Curl, ahora podemos usar otro comando.

curl -k -sS –key ~/.ssh/id_rsa –max-time 25 –connect-timeout 10 “sftp://192.168.1.50:22/test/Upload/” –usuario “PLCnext:12345679” -T “/ opt/plcnext/Test.pdf” –ftp-create-dirs

Cuando utiliza este comando para Shell FB, puede ver el resultado en el siguiente archivo de registro para verificar su programa.

/opt/plcnext/PLCnextBase.ServiceProvider.log

Algunas explicaciones sobre los argumentos:

-k, –inseguro

(TLS) De manera predeterminada, se verifica que todas las conexiones SSL que curl realiza sean seguras. Esta opción permite que curl continúe y funcione incluso para conexiones de servidor que de otro modo se considerarían inseguras. La conexión del servidor se verifica asegurándose de que el certificado del servidor contenga el nombre correcto y se verifica correctamente mediante el almacén de certificados.

-S, –mostrar-error

Cuando se usa con -s, –silent, hace que curl muestre un mensaje de error si falla.

-s, –silencio

Modo silencioso o silencioso. No mostrar medidor de progreso o mensajes de error. Silencia a Curl. Todavía generará los datos que solicita, potencialmente incluso a la terminal/stdout a menos que lo redirija. Use -S, –show-error además de esta opción para deshabilitar el medidor de progreso pero seguir mostrando mensajes de error.

–tecla

(TLS SSH) Nombre de archivo de clave privada. Le permite proporcionar su clave privada en este archivo separado. Para SSH, si no se especifica, curl prueba los siguientes candidatos en orden:'~/.ssh/id_rsa', '~/.ssh/id_dsa', './id_rsa', './id_dsa'.

-m, –max-time

Tiempo máximo en segundos que permite que tome toda la operación. Esto es útil para evitar que sus trabajos por lotes se cuelguen durante horas debido a la lentitud de las redes o la caída de los enlaces.

–tiempo de espera de conexión

Tiempo máximo en segundos que permite que tome la conexión de curl. Esto solo limita la fase de conexión, por lo que si curl se conecta dentro del período determinado, continuará; si no, se cerrará.

-T, –subir-archivo

Esto transfiere el archivo local especificado a la URL remota. Si no hay una parte del archivo en la URL especificada, curl agregará el nombre del archivo local.

–ftp-crear-dirs

(FTP SFTP) Cuando una URL/operación de FTP o SFTP utiliza una ruta que no existe actualmente en el servidor, el comportamiento estándar de curl es fallar. Con esta opción, curl intentará crear los directorios que faltan.

Referencias:

https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocolhttps://www.crushftp.com/index.htmlhttps://curl.se/docs/manpage.html

Tecnología Industrial

  1. La interfaz de línea de comandos
  2. Maximización del poder del comercio electrónico para hacer crecer su negocio
  3. Liberando el poder del Internet industrial de las cosas
  4. 4 pruebas que determinan la eficiencia de los transformadores de potencia
  5. Cortes de energía:5 formas de prevenir los efectos negativos
  6. Brownout Vs Blackout:¿Cuál es la diferencia?
  7. Qué afecta la frecuencia del mantenimiento del generador diesel
  8. La búsqueda de un generador de repuesto:4 preguntas vitales
  9. Planta de energía virtual de Tesla:reimaginando la red eléctrica
  10. Seminario web:El poder del monitoreo de energía en la Industria 4.0
  11. El poder del trabajo en equipo en la gestión de fábricas