Puede ingerir datos del Sistema AVEVA PI en Maximo® Monitor.
Antes de empezar
El documento proporciona detalles sobre la implementación del conector SCADA para historiadores AVEVA PI. Es una pieza de software en contenedor que extrae datos del Archivo de Datos Aveva PI y los envía a Maximo Monitor. La herramienta se configura a través de la interfaz de usuario y se despliega con la ayuda de un comando de ejecución de contenedor en el sistema cliente. El sistema del cliente requiere lo siguiente para que funcione el contenedor del conector SCADA:
- Una herramienta de motor de contenedores, es decir, Podman o Docker
- Acceso a Maximo Monitor
- Acceso al Archivo de Datos Aveva PI a través del Servidor de Acceso a Datos Aveva PI (OLEDB)
Para acceder al Archivo de Datos de Aveva PI, el conector depende de los siguientes componentes de Aveva PI, que deben estar instalados para que funcione y pueden descargarse del portal de clientes de Aveva PI:
- PI SQL Data Access Server (OLEDB) instalado en el mismo host que el PI Data Archive o en otro diferente con conexión a él
- Proveedor PI OLEDB instalado en el host del PI SQL DAS OLEDB
- Controlador PI JDBC instalado en el host que debe ejecutar el conector Aveva
Nota: Los componentes anteriores pertenecen a la familia de productos Aveva PI SQL antes de la introducción de los componentes PI SQL DAS (RQTP) y PI SQL Client, disponibles en instalaciones más recientes del sistema PI. También requieren una licencia de Acceso al Sistema PI en tiempo de ejecución para poder utilizarse
Acerca de esta tarea
Complete los siguientes pasos para configurar el conector para ingerir datos del sistema Aveva PI:
Procedimiento
- Para configurar el conector SCADA, vaya a Maximo Monitor. Haga clic en Configuración y, a continuación, seleccione el menú Intergraciones.
- En el menú Configuración-Integraciones. Haga clic en el botón Añadir integración.
- Seleccione el mosaico Aveva PI Historian
- Para configurar los detalles, introduzca la información de configuración en los campos de la interfaz de usuario como se indica a continuación.
- Nombre de la integración
- Introduzca sólo caracteres alfanuméricos, guiones bajos y guiones. (a-z,A-Z,0-9,_,-)
- Hora de inicio para captar datos
- La marca de tiempo a partir de la cual empezar a obtener datos.
- Nombre de host
- utilizado para construir la url JDBC. Se refiere al servidor PLSQL DAS
- Puerto
- Puerto establecido por el PI SQL DAS (OLEB) para permitir la comunicación HTTP. Por defecto es 5461. Permite configurar el controlador JDBC
- Nombre de base de datos
- Nombre del servidor del Sistema PI al que conectarse para extraer datos del Archivo de Datos PI. Se utiliza para construir la url de JDBC
- Vía de acceso al controlador de JDBC
- Ruta absoluta al controlador PI JDBC presente en la máquina host que ejecutará el conector
- Nombre de usuario y contraseña
- Credenciales para el login PI SQL DAS (OLEDB)
- En el siguiente paso para la asignación de datos, debe especificar los tipos de dispositivos y sus tipos de datos métricos. Asocie también una expresión de filtro Nombre de etiqueta para asignar las etiquetas del sistema PI a cada una de ellas. Para cada tipo de dispositivo descrito, sólo se mapearán en él las etiquetas del sistema PI que coincidan con su expresión de filtro y tengan el mismo tipo de datos (Número o Literal). El conector utiliza las expresiones de filtro y el tipo de datos para asignar las etiquetas a cada tipo de dispositivo. Cualquier etiqueta que coincida con uno de los filtros y tenga el mismo tipo de datos de valor definido en un tipo de dispositivo, se asignará como un dispositivo bajo él.
- Para añadir una entrada de tipo de dispositivo a la integración, haga clic en el icono (+)
- Para cada entrada, puede seleccionar un tipo de dispositivo ya existente de la naturaleza de AVEVA, seleccionando una de las opciones del desplegable o escribiendo su nombre en el campo. También puede crear un nuevo tipo de dispositivo escribiendo un nuevo nombre en el campo de tipo de dispositivo
- Para un tipo de dispositivo recién creado, el campo tipo de etiqueta es una lista desplegable para que el usuario seleccione el tipo de etiqueta que desea vincular a ese tipo de dispositivo específico, donde número permitirá cualquier tipo de etiqueta numérica, mientras que literal permitirá etiquetas de tipo cadena
- Para un tipo de dispositivo existente, el campo tipo de etiqueta muestra el tipo admitido por ese tipo de dispositivo específico.
- Introduzca las expresiones del filtro de etiquetas en el campo de texto del filtro de nombres de etiquetas. Se utiliza para filtrar las etiquetas que se asignarán a ese tipo de dispositivo. Un tipo de dispositivo puede tener más de una expresión de filtro de nombre de etiqueta, y se combinan en una lógica OR
Los comodines válidos son:
%: Comodín válido ANSI SQL, coincide con 0 o más apariciones de cualquier carácter
_ : Comodín válido ANSI SQL, coincide con una sola aparición de cualquier carácter
* : Comodín del sistema PI, similar al comodín %
? : Comodín del sistema PI, similar al comodín _
Nota:El filtro TagName_Example y TagName?Ejemplo coincidirá con las siguientes etiquetas: TagName1Example, TagNameFEjemplo, TagNameExample. Pero NO coincidirán con estos: TagName2TestExample, TagNameRandomExample
Los filtros TagName*Example y TagName%Example coincidirán con cualquier etiqueta que empiece por TagName y termine por Ejemplo, incluidos todos los ejemplos anteriores
Los caracteres válidos son:
Alfanumérico: A-Za-z0-9
Coma (,)
Punto (.)
- Espacio en blanco
Nota: El número de tipos de dispositivos que se pueden crear a la vez para una integración está limitado a 5. Cree primero una integración con 5 tipos de dispositivos y, a continuación, edítela para añadir los adicionales (en lotes de 5) en caso de que necesite crear una integración con más de 5 tipos de dispositivos
- Navegue hasta la pestaña de resumen que presenta a los usuarios el comando de ejecución del contenedor, una visión general de las integraciones configuradas y la información más relevante proporcionada para su revisión. Cuando todos los pasos anteriores se han completado con éxito, el comando container-run aparece después de que el usuario haga clic en enviar. El botón de alternancia permite a los usuarios configurar si el conector debe ejecutarse en modo Validación o no. Copie el comando y ejecútelo en el sistema que cumpla los requisitos previos.
Existen dos modos principales de funcionamiento para el conector SCADA:
- Modo de validación
- Cuando el conmutador Validar está activado en la ventana emergente del comando contenedor como en el Paso 6, el sistema comprueba la conectividad con el broker MQTT de Aveva PI Data Archive and Monitor, y luego descubre las etiquetas Aveva PI que coinciden con los filtros proporcionados. Informa de la configuración de asignación, incluyendo cada tipo de dispositivo y sus expresiones de filtro de etiquetas asociadas, y enumera las etiquetas que se asignarán en cada tipo de dispositivo.
- El sistema también identifica las etiquetas que coinciden con un filtro pero cuyo tipo de datos no coincide con el tipo de dispositivo configurado (por ejemplo, una etiqueta de cadena donde se espera un número), y marca las etiquetas duplicadas en varios tipos de dispositivo.
- Modo normal
- Cuando la bandera validar no está activada, el sistema comprueba las conexiones con el broker MQTT de Aveva PI Data Archive and Monitor, descubre las etiquetas Aveva PI que coinciden con los filtros proporcionados y coinciden con los tipos de datos esperados para sus tipos de dispositivos, y se asegura de que existen los dispositivos correspondientes en Maximo Monitor -creándolos si es necesario. A continuación, inicia un ciclo continuo de consulta-publicación, recuperando datos de Aveva PI y enviándolos a Maximo Monitor vía MQTT
- Si la fecha y hora de la consulta tiene más de 30 minutos, los datos se obtienen en intervalos de 30 minutos hasta alcanzar la hora actual. Si tiene más de 1 minuto, los datos se obtienen hasta la hora actual antes de pasar a intervalos de 1 minuto. Si tiene menos de 1 minuto, el sistema espera hasta que tenga 1 minuto menos que la hora actual antes de iniciar el ciclo de 1 minuto. El conector actualiza su estado cada 2 minutos para permitir la reanudación desde el último estado conocido si se interrumpe.
También puede utilizar la API POST específica para crear una integración: /api/v2/core/connectors/scada. Consulte el siguiente formato de carga útil:
{
"serviceName": "dev-env-pi",
"description": "aveva-connector-description",
"serviceType": "AVEVA_PI",
"databaseConfig": {
"type": "PISQL",
"hostname": "hostname",
"port": 1234,
"db": "db",
"username": "username",
"password": "pwd",
"path": "/path/jdbc/driver"
},
"startTimestamp": "2024-05-31T14:23:52.674+00:00",
"extractInterval": 60,
"mappings": [
{
"deviceTypeName": "aveva-device-01",
"tagDataType": "NUMBER",
"filters": [
"a",
"b",
"c"
],
"action": "CREATE"
}
]
}
- serviceName: nombre de la integración
- descripción (opcional): Para anotar cualquier información adicional para la integración
- serviceType: Ajústalo a AVEVA_PI
- databaseConfig - tipo: Póngalo en PISQL
- databaseConfig - hostname: Nombre/IP del servidor PI SQL DAS (OLEB) al que el conector necesita conectarse. Se utiliza para construir la url de JDBC
- databaseConfig - puerto: Puerto establecido por el servidor PI SQL DAS (OLEB). Por defecto es 5461. Permite configurar el controlador JDBC
- databaseConfig - db: Nombre/IP del servidor del Sistema PI al que conectarse para extraer datos del Archivo de Datos PI. Se utiliza para construir la url de JDBC
- databaseConfig - username: Nombre de usuario para el login PI SQL DAS(OLEBD)
- databaseConfig - password: Contraseña para el nombre de usuario dado
- databaseConfig - ruta: Ruta absoluta al driver PI JDBC presente en la máquina host que ejecutará el conector
- startTimestamp: Marca de tiempo a partir de la cual comenzar a obtener datos (UTC). La API permite establecerlo en una marca de tiempo con formato de cadena ( ""2025-04-25T10:25:32.457+00:00"). o como un valor entero que representa los milisegundos de época
- extractInterval: Valor en segundos entre cada consulta de datos cuando se trabaja con datos actuales
- mappings - deviceTypeName: Nombre del tipo de dispositivo a crear o utilizar para un mapping específico
- mappings - tagDataType: Tipo de datos de las etiquetas a capturar bajo el tipo de dispositivo específico (Puede ser Número o Literal )
- mapeos - filtros: Lista de filtros de etiquetas que se utilizarán para decidir qué etiquetas deben asignarse al tipo de dispositivo específico. Si hay más de un filtro, se concatenan lógicamente con una expresión OR
- mappings - acción: La acción a aplicar al mapeo de tipo de dispositivo proporcionado. Ponlo en CREAR. Incluso si el tipo de dispositivo ya está presente, la acción aceptada es CREAR porque se refiere al objeto de asignación, que no estará presente y necesita ser creado. Así, para cualquier nueva integración, todos los objetos de mapeo deben tener CREATE en este campo