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

Adaptando a API REST – Configurando um proxy reverso


A Interface REST PLCnext é uma ferramenta fantástica tanto para apresentar como para receber dados de um sistema back-end. REST, ou REpresentational State Transfer, é um estilo de arquitetura de software que consiste em diretrizes e práticas recomendadas para a criação de serviços da Web escaláveis. Já existe muita informação bacana no infoportal PLCnext, não deixe de conferir! Os URIs fornecidos pelo PLCnext Firmware são perfeitos se você puder construir seu sistema desde o início. No entanto não são ideais se pretender adaptar uma interface REST existente no PLCnext. Este blog mostrará como configurar seus próprios URIs e conectá-los às suas variáveis ​​com um proxy reverso. Começamos com a criação de um pequeno exemplo e trabalhamos a partir daí!

Pré-requisitos


Estou usando um controlador AXC F 2152 com FW2020.6 e PLCnext Engineer 2020.6. Mas o mesmo deve ser possível com versões anteriores posteriores a 2020.0. Estarei usando o PuTTY para configurar uma conexão SSH e o carteiro para lidar com minhas solicitações HTTP. Desativei a autenticação para fins de desenvolvimento, você não deve fazer o mesmo em produção! As instruções para o PLCnext Engineer serão dadas em alto nível, não sabe o que fazer? Dê uma olhada no infoportal PLCnext e vídeos de instruções e/ou compare com o projeto de amostra! O controlador que estou usando tem o endereço IP 192.168.10.10, altere-o para o endereço IP que você está usando.

Exemplo


Neste blog estarei usando um UDT de bomba simples como exemplo. Você pode baixar o programa de exemplo nesta página do GitHub ou, claro, criar o seu próprio. Desative o uso de “gerenciamento de usuários” nas configurações da eHMI e crie uma variável global. Use essa variável em uma página eHMI para que possamos usá-la na API.

A primeira chamada de API


Talvez devêssemos primeiro descobrir o que exatamente estamos mudando em alguns momentos!
Vamos enviar uma solicitação GET para obter o valor da nossa primeira bomba.

Use o Postman para enviar uma solicitação GET para o seguinte URI:
GET https://192.168.10.10/_pxc_api/api/variables?paths=Arp.Plc.Eclr/Pump1

(Você pode alterar Pump1 para sua própria variável)

O resultado é:
{
"apiVersion": "1.4.0.0",
"projectCRC": 3448945666,
"userAuthenticationRequired": true,
"variables": [
{
"path": "Arp.Plc.Eclr/Pump1",
"value": {
"xStatus": false,
"iNumberOfStarts": 0,
"sStatus": ""
}
}
]
}

Configurando um endpoint personalizado


Abra uma sessão de shell, crie uma senha de root e faça login como usuário root.
Em seguida, digite o seguinte comando no seu terminal, vá para o “fundo” do terminal e tome cuidado para não digitar nada enquanto isso!
nano /etc/nginx/nginx.conf

Copie e cole a próxima parte no terminal e salve com ctrl + s e feche com ctrl +x.
location /Pump1 {
proxy_pass https://127.27.0.1:443/_pxc_api/api/variables?paths=Arp.Plc.Eclr/Pump1;
}

Enviando uma solicitação para o novo endpoint


Envie uma nova solicitação GET com o carteiro, desta vez para o próximo URI:

ACESSE https://192.168.10.10/Pump1

Recebeu a mesma resposta? Parabéns, seu proxy foi configurado com sucesso!

Configurando várias bombas


Ok, mas e se eu tiver várias bombas? Bem, uma abordagem poderia ser fazer uma matriz que as casas são UDT de bomba. Você pode obter o array inteiro chamando a variável ou apenas o elemento em que está interessado especificando o índice desejado entre colchetes, por exemplo Pump2[1] fornecerá o elemento com índice 1 no array chamado Pump2.

Mas esse é o assunto deste blog. Também podemos configurar o proxy de forma a obter acesso a várias bombas.
Modifique o texto colado nas etapas anteriores para corresponder ao próximo esquema:
location /pumps {
proxy_pass https://127.27.0.1:443/_pxc_api/api/variables?paths=Arp.Plc.Eclr;
}

Enviar uma solicitação GET com carteiro para o primeiro URI fornecerá o mesmo que antes. Enviar uma solicitação GET para o segundo URI fornecerá uma matriz do mesmo tipo de dados.
https://192.168.10.10/pumps/Pump1
https://192.168.10.10/pumps/Pump2

Agora você deve ter tudo para combinar com qualquer esquema de API que encontrar e integrá-lo em seu dispositivo PLCnext!

Mais leituras

https://www.howtogeek.com/343877/what-is-an-api/https://www.w3schools.com/tags/ref_httpmethods.asphttps://medium.com/@TebbaVonMathenstien/what-is-an -api-and-why-should-i-use-one-863c3365726bhttps://restfulapi.net/rest-api-design-tutorial-with-example/

Tecnologia industrial

  1. Termofixos vs. Termoplásticos:Conheça a Diferença
  2. Fique esperto:O futuro da sua casa
  3. Conheça CONNEX ™, a ferramenta de rede da cadeia de suprimentos para fortalecer os fabricantes
  4. Seja selecionado no processo de compra B2B:26 itens para marcar
  5. O potencial inexplorado da logística reversa
  6. Retorno do leilão reverso:os fornecedores vão jogar?
  7. Como obter o máximo do seu sistema de digitalização de depósito
  8. Como faço para obter o máximo do meu investimento em geração de leads?
  9. Comparação da Indústria 4.0 entre a Espanha e o resto dos países
  10. Como começar com a inferência de IA na borda