Vous pouvez intégrer des données du système PI d'AVEVA dans le système de gestion de l'information Maximo® Monitor.
Avant de commencer
Le document fournit des détails sur l'implémentation du connecteur SCADA pour les historiens AVEVA PI. Il s'agit d'un logiciel conteneurisé qui extrait des données de l'archive de données Aveva PI et les envoie à Maximo Monitor. L'outil est configuré via l'interface utilisateur et est déployé à l'aide d'une commande container-run sur le système client. Le système du client a besoin des éléments suivants pour que le conteneur du connecteur SCADA fonctionne :
- Un outil de moteur de conteneur, par exemple Podman ou Docker
- L'accès à Maximo Monitor
- Accès aux archives de données d'Aveva PI via le serveur d'accès aux données d'Aveva PI (OLEDB)
Pour accéder aux archives de données Aveva PI, le connecteur s'appuie sur les composants Aveva PI suivants, qui doivent être en place pour fonctionner et peuvent être téléchargés à partir du portail client Aveva PI :
- Serveur d'accès aux données PI SQL (OLEDB) installé sur le même hôte que l'archive de données PI ou sur un hôte différent avec connexion à celui-ci
- PI OLEDB Provider installé sur l'hôte de PI SQL DAS OLEDB
- Pilote PI JDBC installé sur l'hôte qui doit exécuter le connecteur Aveva
Note : Les composants ci-dessus appartiennent à la famille de produits Aveva PI SQL avant l'introduction du PI SQL DAS (RQTP) et des composants PI SQL Client, disponibles dans les installations plus récentes du système PI. Ils nécessitent également une licence d'accès au système PI pour la durée d'exécution afin d'être utilisés
A propos de cette tâche
Effectuez les étapes suivantes pour configurer le connecteur afin d'ingérer les données du système Aveva PI :
Procédure
- Pour configurer le connecteur SCADA, naviguez vers Maximo Monitor. Cliquez sur Setup et choisissez le menu Intergrations.
- Dans le menu Setup-Integrations. Cliquez sur le bouton Ajouter une intégration.
- Sélectionnez la tuile Aveva PI Historian
- Pour configurer les détails, saisissez les informations de configuration dans les champs de l'interface utilisateur comme indiqué ci-dessous.
- Nom de l'intégration
- Ne saisir que des caractères alphanumériques, des traits de soulignement et des traits d'union. (a-z,A-Z,0-9,_,-)
- Heure de début de la récupération des données
- Date à partir de laquelle les données doivent être récupérées.
- Nom d'hôte
- utilisé pour construire l'url JDBC. Se réfère au serveur PLSQL DAS
- Port
- Port défini par le PI SQL DAS (OLEB) pour permettre la communication HTTP. La valeur par défaut est 5461. Utilisé pour configurer le pilote JDBC
- Nom de la base de données
- Nom du serveur du système PI à connecter pour extraire les données de l'archive de données PI. Utilisé pour construire l'url JDBC
- Chemin d'accès au pilote JDBC
- Chemin absolu vers le pilote PI JDBC présent sur la machine hôte qui exécutera le connecteur
- Nom d'utilisateur et mot de passe
- Informations d'identification pour le login PI SQL DAS (OLEDB)
- Dans l'étape suivante du mappage des données, vous devez spécifier les types d'appareils et leurs types de données métriques. Associez également une expression de filtre Nom de l'étiquette pour associer les étiquettes du système PI à chacune d'entre elles. Pour chaque type de dispositif décrit, seules les étiquettes du système PI qui correspondent à son expression de filtre et qui ont le même type de données (numérique ou littéral) seront mappées dans le dispositif. Les expressions de filtre et le type de données sont utilisés par le connecteur pour faire correspondre les balises à chaque type d'appareil. Toute balise correspondant à l'un des filtres et ayant le même type de données de valeur défini dans un type de dispositif sera mappée en tant que dispositif sous ce dernier.
- Pour ajouter un type d'appareil à l'intégration, cliquez sur l'icône (+)
- Pour chaque entrée, vous pouvez sélectionner un type d'appareil déjà existant de nature AVEVA, en sélectionnant l'une des options de la liste déroulante ou en tapant son nom dans le champ. Vous pouvez également créer un nouveau type d'appareil en saisissant un nouveau nom dans le champ du type d'appareil
- Pour un type de dispositif nouvellement créé, le champ type de balise est une liste déroulante permettant à l'utilisateur de sélectionner le type de balise à lier à ce type de dispositif spécifique. Le champ numéro permet tout type de balise numérique, tandis que le champ littéral permet les balises de type chaîne de caractères
- Pour un type de dispositif existant, le champ type de balise indique le type pris en charge par ce type de dispositif spécifique.
- Saisissez les expressions du filtre de balise dans le champ de texte du filtre de nom de balise. Il permet de filtrer les étiquettes à associer à ce type d'appareil. Un type d'appareil peut avoir plus d'une expression de filtre de nom de balise, et elles sont combinées dans une logique OU
Les caractères génériques valables sont les suivants
% : caractère générique valide ANSI SQL, correspond à 0 ou plusieurs occurrences d'un caractère unique
_ : caractère générique valide ANSI SQL, correspond à une seule occurrence d'un caractère unique
* : caractère générique PI System, similaire au caractère générique
%? : Caractère générique PI System, similaire au caractère générique _
Remarque :Le filtre TagName_Example et TagName?Exemple correspondra aux balises suivantes : TagName1Example, TagNameFExample, TagNameExample. Mais ils ne correspondront PAS à ceux-ci : TagName2TestExample, TagNameRandomExample
Les filtres TagName*Example et TagName%Example correspondront à toute balise commençant par TagName et se terminant par Exemple, y compris tous les exemples donnés ci-dessus
Les caractères valables sont les suivants :
Alphanumérique : A-Za-z0-9
Virgule (,)
Point (.)
Espace
Note : Le nombre de types d'appareils pouvant être créés simultanément pour une intégration est limité à 5. Créez d'abord une intégration avec 5 types d'appareils, puis modifiez-la pour ajouter les appareils supplémentaires (par lots de 5) au cas où vous devriez créer une intégration avec plus de 5 types d'appareils
- Naviguez jusqu'à l'onglet résumé qui présente aux utilisateurs la commande d'exécution du conteneur, une vue d'ensemble des intégrations configurées et les informations les plus pertinentes fournies à des fins d'examen. Lorsque toutes les étapes ci-dessus ont été effectuées avec succès, la commande container-run apparaît après que l'utilisateur a cliqué sur submit. Le bouton de basculement permet aux utilisateurs de configurer si le connecteur doit fonctionner en mode validation ou non. Copiez la commande et exécutez-la dans votre système qui remplit les conditions préalables.
Il existe deux modes de fonctionnement principaux pour le connecteur SCADA :
- Mode de validation
- Lorsque la case à cocher Valider est activée dans la fenêtre contextuelle de commande du conteneur, comme à l'étape 6, le système vérifie la connectivité avec le courtier MQTT Aveva PI Data Archive and Monitor, puis découvre les balises Aveva PI correspondant aux filtres fournis. Il indique la configuration du mappage, y compris chaque type de périphérique et les expressions de filtre de balise qui lui sont associées, et répertorie les balises qui seront mappées sous chaque type de périphérique.
- Le système identifie également toutes les étiquettes qui correspondent à un filtre mais dont le type de données ne correspond pas au type d'appareil configuré (par exemple, une étiquette de type "chaîne" alors qu'un nombre est attendu), et signale toutes les étiquettes qui sont dupliquées sur plusieurs types d'appareils.
- Mode d'affichage normal
- Lorsque l'indicateur de validation n'est pas activé, le système vérifie les connexions au courtier MQTT Aveva PI Data Archive and Monitor, découvre les étiquettes Aveva PI qui correspondent aux filtres fournis et aux types de données attendus pour leurs types d'appareils, et s'assure que les appareils correspondants existent en les créant si nécessaire Maximo Monitor -Il les crée si nécessaire. Il entame ensuite un cycle continu d'interrogation et de publication, récupérant les données d'Aveva PI et les envoyant à Maximo Monitor via MQTT
- Si l'horodatage de la requête date de plus de 30 minutes, les données sont extraites par fenêtres de 30 minutes jusqu'à ce que l'heure actuelle soit atteinte. Si elle date de plus d'une minute, les données sont récupérées jusqu'à l'heure actuelle avant de passer à des intervalles d'une minute. S'il date de moins d'une minute, le système attend qu'il soit décalé d'une minute par rapport à l'heure actuelle avant de commencer le cycle d'une minute. Le connecteur met à jour son état toutes les 2 minutes pour permettre une reprise à partir du dernier état connu en cas d'interruption.
Vous pouvez également utiliser l'API POST dédiée pour créer une intégration : /api/v2/core/connectors/scada. Reportez-vous au format de charge utile suivant :
{
"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: nom de l'intégration
- description (facultatif) : Indiquer toute information supplémentaire concernant l'intégration
- serviceType: Réglez-le sur AVEVA_PI
- databaseConfig - type : Définissez-le à PISQL
- databaseConfig - hostname : Nom/IP du serveur PI SQL DAS (OLEB) auquel le connecteur doit se connecter. Utilisé pour construire l'url JDBC
- databaseConfig - port : Port défini par le serveur PI SQL DAS (OLEB). La valeur par défaut est 5461. Utilisé pour configurer le pilote JDBC
- databaseConfig - db : Nom/IP du serveur du système PI à connecter pour extraire les données de l'archive de données PI. Utilisé pour construire l'url JDBC
- databaseConfig - username : Nom d'utilisateur pour le login PI SQL DAS(OLEBD)
- databaseConfig - password : Mot de passe pour le nom d'utilisateur donné
- databaseConfig - chemin : Chemin absolu vers le pilote PI JDBC présent sur la machine hôte qui exécutera le connecteur
- startTimestamp: Date à partir de laquelle les données doivent être obtenues (UTC). L'API permet de définir un horodatage sous forme de chaîne de caractères ( ""2025-04-25T10:25:32.457+00:00"). ou comme valeur entière représentant l'époque en millisecondes
- extractInterval: Valeur en secondes entre chaque requête de données lorsque l'on travaille avec des données actuelles
- mappings - deviceTypeName: Nom du type de dispositif à créer ou à utiliser pour un mappage spécifique
- mappings - tagDataType: Type de données des balises à capturer sous le type de dispositif spécifique (peut être numérique ou littéral)
- mappings - filters : Liste des filtres de noms de balises à utiliser pour décider quelles balises doivent être mappées dans le type d'appareil spécifique. Si plusieurs filtres sont présents, ils sont logiquement concaténés à l'aide d'une expression OR
- mappings - action : L'action à appliquer au mappage du type de dispositif fourni. Réglez-le sur CRÉER. Même si le type de dispositif est déjà présent, l'action acceptée est CREATE car elle fait référence à l'objet de mappage, qui ne sera pas présent et doit être créé. Ainsi, pour toute nouvelle intégration, tous les objets de mappage doivent comporter la mention CREATE dans ce champ