Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Tecnologia industrial

Registro de dados em IEC 61131-3:upload SFTP baseado no poder do Curl


Algumas semanas atrás, recebi a seguinte pergunta. Você precisa carregar um arquivo de log para um servidor SFTP, usando um programa que é executado no ESM.
O SSH File Transfer Protocol (também Secure File Transfer Protocol, ou SFTP) é um protocolo de rede que fornece acesso a arquivos, transferência de arquivos e gerenciamento de arquivos em qualquer fluxo de dados confiável. Ele foi projetado pela Internet Engineering Task Force (IETF) como uma extensão do protocolo Secure Shell (SSH) versão 2.0 para fornecer recursos seguros de transferência de arquivos.

O SFTP está incluído no firmware do PLCnext, portanto, isso não deve ser um problema.

Etapa 1:comecei a criar um arquivo de log usando texto estruturado. Exemplos de como fazer isso, podem ser encontrados aqui:
https://www.plcnext-community.net/en/hn-makers-blog/438-datalogging-in-iec-61131-3-the-basic-principle.htmlhttps://www.plcnext-community.net/ pt/hn-makers-blog/447-datalogging-in-iec-61131-3-create-your-own-file-manager.html
Passo 2:Eu precisava de algum servidor SFTP para testar minha aplicação PLC. Eu usei o CrushFTP, que instalei em uma máquina virtual que estava rodando no meu laptop.

Após a instalação do software, você precisa criar um usuário administrador para a interface da web. Feito isso, você pode criar um usuário para o acesso ao PLC.

Para este exemplo:usuário =PLCnext, senha =123456789

Etapa 3:Faça upload de um arquivo usando a linha de comando.

Na captura de tela acima, você pode ver que primeiro damos um comando e, em uma segunda etapa, inserimos a senha. Se quisermos automatizar este procedimento usando o FB “PBCL_SysLinuxShell_1”, precisamos de um comando de linha única.

Este FB pode ser encontrado na biblioteca PLCnextBase. (https://www.plcnextstore.com/#/720)

Então, precisamos de outro comando para realizar o upload do arquivo. Vamos dar uma olhada em Curl.

A versão instalada com o firmware 2020.6.1 não suporta SFTP. Graças a Oliver Warneke, consegui instalar outra versão do Curl. Não passaremos pelo processo de instalação completo, mas o resultado é uma versão que suporta SFTP. Com o firmware 2021.0.0 LTS, você poderá usar a seguinte versão.

Graças ao Curl, podemos usar outro comando agora.

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

Quando você está usando este comando para o Shell FB, você pode ver o resultado no seguinte arquivo de log para verificar seu programa.

/opt/plcnext/PLCnextBase.ServiceProvider.log

Algumas explicações sobre os argumentos:

-k, –inseguro

(TLS) Por padrão, toda conexão SSL que o curl faz é verificada como segura. Essa opção permite que o curl continue e opere mesmo para conexões de servidor consideradas inseguras. A conexão do servidor é verificada certificando-se de que o certificado do servidor contém o nome correto e é verificado com sucesso usando o repositório de certificados.

-S, –show-erro

Quando usado com -s, –silent, faz com que o curl mostre uma mensagem de erro se falhar.

-s, -silencioso

Modo silencioso ou silencioso. Não mostre o medidor de progresso ou mensagens de erro. Deixa o Curl mudo. Ele ainda exibirá os dados que você solicitar, potencialmente até mesmo para o terminal/stdout, a menos que você o redirecione. Use -S, –show-error além desta opção para desabilitar o medidor de progresso, mas ainda mostrar mensagens de erro.

–chave

(TLS SSH) Nome do arquivo de chave privada. Permite que você forneça sua chave privada neste arquivo separado. Para SSH, se não especificado, o curl tenta os seguintes candidatos em ordem:‘~/.ssh/id_rsa’, ‘~/.ssh/id_dsa’, ‘./id_rsa’, ‘./id_dsa’.

-m, –max-time

Tempo máximo em segundos que você permite que toda a operação demore. Isso é útil para evitar que seus trabalhos em lote fiquem suspensos por horas devido a redes lentas ou links inativos.

–connect-timeout

Tempo máximo em segundos que você permite que a conexão do curl demore. Isso limita apenas a fase de conexão, portanto, se o curl se conectar dentro do período determinado, ele continuará - caso contrário, sairá.

-T, –upload-arquivo

Isso transfere o arquivo local especificado para a URL remota. Se não houver parte do arquivo na URL especificada, o curl anexará o nome do arquivo local.

–ftp-create-dirs

(FTP SFTP) Quando uma operação/URL de FTP ou SFTP usa um caminho que não existe atualmente no servidor, o comportamento padrão do curl é falhar. Usando esta opção, o curl tentará criar diretórios ausentes.

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

Tecnologia industrial

  1. A interface da linha de comando
  2. Liberando o Poder da Internet das Coisas Industrial
  3. 4 testes que determinam a eficiência dos transformadores de potência
  4. Quedas de energia:5 maneiras de evitar os efeitos negativos
  5. Brownout vs Blackout:Qual é a diferença?
  6. O que afeta a frequência de manutenção do gerador a diesel
  7. A busca por um gerador sobressalente:4 perguntas vitais
  8. Usina de energia virtual de Teslas:repensando a rede elétrica
  9. Webinar:O poder do monitoramento de energia na indústria 4.0
  10. O poder do trabalho em equipe na gestão de fábrica