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

Actualización de la API REST:configuración de un proxy inverso

La interfaz REST de PLCnext es una herramienta fantástica tanto para presentar como para recibir datos de un sistema back-end. REST, o transferencia de estado representacional, es un estilo de arquitectura de software que consiste en pautas y mejores prácticas para crear servicios web escalables. Ya hay mucha información excelente en el portal de información de PLCnext, ¡asegúrese de consultarla! Los URI proporcionados por el firmware de PLCnext son perfectos si puede construir su sistema desde cero. Sin embargo, no son ideales si desea actualizar una interfaz REST existente en PLCnext. Este blog le mostrará cómo configurar sus propios URI y conectarlos con sus variables con un proxy inverso. ¡Comenzamos configurando un pequeño ejemplo y trabajamos a partir de ahí!

Requisitos

Estoy usando un controlador AXC F 2152 con FW2020.6 y PLCnext Engineer 2020.6. Pero lo mismo debería ser posible con versiones anteriores posteriores a 2020.0. Usaré PuTTY para configurar una conexión SSH y cartero para manejar mis solicitudes HTTP. He deshabilitado la autenticación con fines de desarrollo, ¡no debe hacer lo mismo en producción! Las instrucciones para PLCnext Engineer se darán a un nivel muy alto, ¿no está seguro de qué hacer? ¡Eche un vistazo al portal de información de PLCnext y los videos de instrucciones y/o compárelos con el proyecto de muestra! El controlador que estoy usando tiene la dirección IP 192.168.10.10, cámbielo a la dirección IP que está usando.

Ejemplo

En este blog, utilizaré un UDT de bomba simple como ejemplo. Puede descargar el programa de muestra desde esta página de GitHub o, por supuesto, crear uno propio. Desactive el uso de "administración de usuarios" en la configuración de eHMI y cree una variable global. Use esta variable en una página eHMI para que podamos usarla en la API.

La primera llamada a la API

¡Quizás primero deberíamos descubrir qué estamos cambiando exactamente en unos momentos!
Enviemos una solicitud GET para obtener el valor de nuestra primera bomba.

Use Postman para enviar una solicitud GET al siguiente URI:

GET https://192.168.10.10/_pxc_api/api/variables?paths=Arp.Plc.Eclr/Pump1

(Puede cambiar Pump1 a su propia variable)

El resultado es:

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

Configurar un punto final personalizado

Abra una sesión de shell, cree una contraseña de root e inicie sesión como usuario root.
A continuación, escriba el siguiente comando en su terminal, vaya a la "parte inferior" de la terminal y tenga cuidado de no escribir nada mientras tanto.

nano /etc/nginx/nginx.conf

Copia y pega la siguiente parte en la terminal y guarda con ctrl + s y cierra con ctrl +x.

location /Pump1 {
proxy_pass https://127.27.0.1:443/_pxc_api/api/variables?paths=Arp.Plc.Eclr/Pump1;
}

Enviando una solicitud al nuevo punto final

Envíe una nueva solicitud GET con cartero, esta vez al siguiente URI:

OBTENGA https://192.168.10.10/Pump1

¿Recibiste la misma respuesta? ¡Felicitaciones, su proxy se configuró correctamente!

Configuración de varias bombas

Ok, pero ¿y si tengo varias bombas? Bueno, un enfoque podría ser hacer una matriz que albergue bombas UDT. Puede obtener la matriz completa llamando a la variable o solo al elemento que le interesa especificando el índice que desea entre corchetes, por ejemplo, Pump2[1] le dará el elemento con el índice 1 en la matriz llamada Pump2.

Pero ese es el tema de este blog. También podemos configurar el proxy de manera que podamos acceder a múltiples bombas.
Modifique el texto pegado en los pasos anteriores para que coincida con el siguiente esquema:

location /pumps {
proxy_pass https://127.27.0.1:443/_pxc_api/api/variables?paths=Arp.Plc.Eclr;
}

Enviar una solicitud GET con cartero al primer URI le dará lo mismo que antes. Enviar una solicitud GET al segundo URI le dará una matriz del mismo tipo de datos.

https://192.168.10.10/pumps/Pump1
https://192.168.10.10/pumps/Pump2

¡Ahora debería tener todo para que coincida con cualquier esquema de API que encuentre e integrarlo en su dispositivo PLCnext!

Lecturas adicionales

https://www.howtogeek.com/343877/what-is-an-api/https://www.w3schools.com/tags/ref_httpmethods.asphttps://medium.com/@TebbaVonMathenstien/what-is-an -api-y-por-que-debería-usar-uno-863c3365726bhttps://restfulapi.net/rest-api-design-tutorial-with-example/

Tecnología Industrial

  1. Termoestables frente a termoplásticos:conozca la diferencia
  2. Sea inteligente:el futuro de su hogar
  3. Conozca CONNEX ™, la herramienta de redes de cadena de suministro para fortalecer a los fabricantes
  4. Sea seleccionado en el proceso de compra B2B:26 elementos para marcar
  5. Cómo utilizar el marketing digital para conseguir clientes en la industria de la defensa
  6. El potencial sin explotar de la logística inversa
  7. Devolución de la subasta inversa:¿Jugarán los proveedores?
  8. Cómo aprovechar al máximo su sistema de escaneo de almacén
  9. ¿Cómo puedo aprovechar al máximo mi inversión en generación de oportunidades de venta?
  10. Comparativa de la Industria 4.0 entre España y el resto de países
  11. Cómo comenzar con la inferencia de IA en el perímetro