¿Cómo obtengo los nombres de las etiquetas PI del servidor web PI?Estimada comunidad de usuarios de JMP,
Mi colega y yo estamos trabajando actualmente en un complemento JMP que permitiría a nuestros usuarios internos consultar etiquetas PI como quieran y tenerlas todas en una tabla con algunos scripts adjuntos y algunos pasos de manipulación de datos realizados con anticipación.
Básicamente, queremos reproducir y utilizar la función "Importar desde el servidor OSIsoft PI" en JMP pero con algunos ajustes a nuestras necesidades.
Actualmente estamos atrapados en la recuperación dinámica de los nombres de etiquetas PI deseados del servidor web PI que luego queremos almacenar en una lista para ejecutar el Cliente PI. Por ahora, tenemos una lista codificada de algunas etiquetas PI, pero dado que el nombre puede cambiar o se pueden agregar nuevas etiquetas Pi, esa no es una solución ideal.
Usar un comodín como % nos ayudaría a crear categorías más precisas de pitags (esas categorías dependerán de la selección previa del usuario, por ejemplo, paso del proceso, línea de producción), pero no tuvimos suerte para encontrar una contraparte en jsl para las listas.
Además, no podemos utilizar SQL para consultar el servidor web de PI.
Este es nuestro camino AF:

Asset_DB y Stat_DB son listas cuyo contenido se basa en la selección del usuario. Actualmente, Pitags es una lista codificada de algunas etiquetas pi, pero queremos que también se base en la selección del usuario.
Mi pregunta: ¿Cómo recuperaron ustedes (los desarrolladores de JMP) los nombres de las etiquetas pi del servidor web según la selección del usuario?
¡Muchas gracias por adelantado!
Hay una
Automatización y secuencias de comandosAcceso a los datosRe: ¿Cómo obtengo los nombres de las etiquetas PI del servidor web PI?Hay una,
Para obtener los elementos secundarios en un nivel particular de la jerarquía AF, JMP utiliza el método API web "Elemento - Obtener elementos", que está documentado aquí: https://docs.aveva.com/bundle/pi-web-api- referencia/página/ayuda/controladores/elemento/acciones/getelements.html
JMP realiza una solicitud similar a esta:
OBTENER elementos/{webId}/elements?webidtype=idonly&selectedfields=items.webid;items.name;items.description;items.path;items.haschildren;items.templatename
El {webId} se reemplaza por el webId de la jerarquía de rutas para la que desea tener los hijos. Esto devuelve una descripción JSON de los elementos secundarios, incluidos sus nombres, descripciones, webIds, si tienen hijos y a qué plantilla pertenecen, si corresponde. Es posible que no necesite todos esos atributos, por lo que podría recortar el parámetro de consulta 'campos seleccionados' a solo lo que necesita. Debería poder enviar una solicitud como esta utilizando los métodos de 'Solicitud HTTP' de JSL. Luego podría analizar el resultado utilizando la función 'Parse JSON' de JSL.
¡Espero que esto ayude!
--Miguel
Re: ¿Cómo obtengo los nombres de las etiquetas PI del servidor web PI?No he hecho esto desde hace tiempo... Recuerdo que había una manera de obtener una tabla de Excel de todas las etiquetas pi. Una vez que tenga eso, ábralo en JMP y transpóngalo para que los nombres de las etiquetas estén en la primera columna. Desde allí puede analizar y filtrar los nombres para generar listas que puede usar en sus scripts.
...lo siento, no podría ser más específico.
Re: ¿Cómo obtengo los nombres de las etiquetas PI del servidor web PI?Hola Byron,
muchas gracias por tu respuesta!
También tenía esa opción en el fondo de mi cabeza, pero esperaba que hubiera una manera más fácil.
Mejor,
Hay una
Re: ¿Cómo obtengo los nombres de las etiquetas PI del servidor web PI?Hola Michael,
¡Muchas gracias por esta excelente solución!
Seguiremos adelante e intentaremos implementar ese método.:)
Los mejores deseos,
Hay una
Re: ¿Cómo obtengo los nombres de las etiquetas PI del servidor web PI?Hola Michael,
Hemos probado la función "Nueva solicitud HTTP" para recuperar las etiquetas pi de la jerarquía AF.
Como esto:

El script se está ejecutando, pero recibimos el siguiente mensaje de error. ¿Estás familiarizado con ese error?

Dado que podemos consultar etiquetas PI con la función "Nuevo cliente PI", la falta de autorización no parece ser el problema. Nuestro administrador de sistemas PI confirmó nuestros derechos de acceso y no pudo encontrar ningún problema con derechos de acceso faltantes.
¡Muchas gracias por adelantado!
Hay una
Re: ¿Cómo obtengo los nombres de las etiquetas PI del servidor web PI?¿Su servidor Pi requiere, por ejemplo, autorización básica? Si es así, entonces querrás usar:
PI_web = New HTTP Request(
URL([your url]),
Method("GET"),
Secure(0),<BR />Username([your username]),<BR />Password([your password]),<BR />Authentication Method("BASIC"),
QueryString(qrry)
) << Send
Re: ¿Cómo obtengo los nombres de las etiquetas PI del servidor web PI?Gracias Bryan, implementamos tu solución usando Kerberos.
Re: ¿Cómo obtengo los nombres de las etiquetas PI del servidor web PI?¿Fue algo como:
PI_web = New HTTP Request(
URL([your url]),
Method("GET"),
Secure(0),Authentication Method("KERBEROS"),
QueryString(qrry)
) << Send