App Store industriel
L’App Store industriel de l’usine intelligente repose sur une architecture qui permet aux applications et services basés sur le cloud d’interagir avec les historiens des données de processus sur site et les journaux d’événements et d’alarmes. Utilisez industrial App Store Connector pour introduire des données d’usine dans vos flux.
Ce connecteur est disponible dans les produits et régions suivants :
| Service | classe | Régions |
|---|---|---|
| Copilot Studio | Premium | Toutes les régions Power Automate , à l’exception des éléments suivants : - Us Government (GCC) - Us Government (GCC High) - China Cloud géré par 21Vianet - Us Department of Defense (DoD) |
| Applications logiques | Norme | Toutes les régions Logic Apps , à l’exception des suivantes : - Régions Azure Government - Régions Azure Chine - Us Department of Defense (DoD) |
| Power Apps | Premium | Toutes les régions Power Apps , à l’exception des suivantes : - Us Government (GCC) - Us Government (GCC High) - China Cloud géré par 21Vianet - Us Department of Defense (DoD) |
| Power Automate | Premium | Toutes les régions Power Automate , à l’exception des éléments suivants : - Us Government (GCC) - Us Government (GCC High) - China Cloud géré par 21Vianet - Us Department of Defense (DoD) |
| Contact | |
|---|---|
| Nom | Usine intelligente |
| URL | https://appstore.intelligentplant.com |
| Messagerie électronique | support@intelligentplant.com |
| Métadonnées du connecteur | |
|---|---|
| Éditeur | Usine intelligente |
| Site internet | https://appstore.intelligentplant.com |
| Politique de confidentialité | https://appstore.intelligentplant.com/Content/assets/legal/IAS-PrivacyPolicy.html |
| Catégories | Internet des objets ; Informatique décisionnelle |
Connecteur Power Automate de l’App Store industriel
Intelligent Plant a développé l’App Store industriel qui permet d’interagir avec toutes les différentes données d’historien par le biais d’une API unifiée. Au début de mai 2020, Intelligent Plant a publié un connecteur Officiel certifié Industrial App Store pour Power Automate. Plus de requêtes SQL complexes ou d’interrogations de documents Excel sans option de mise à jour en temps réel ou solutions d’architecture complexes, installez simplement industrial App Store connect et hors de la boîte de dialogue, vous serez en mesure de vous connecter à Aspentech IP.21, OSIsoft PI, Honeywell Dynamo, OPC DA &HDA, Siemens et bien plus encore. Cela permet à nos clients d’importer des données de différentes sources dans microsoft Automate flow pour fournir des insights qui n’étaient pas possibles avant. Les mises à jour en temps réel invitent les ingénieurs à économiser de l’argent qui augmentent également la sécurité et l’efficacité des usines. Vous trouverez plus d’informations ici.
Prerequisites
- Inscrivez-vous auprès du Magasin d’applications industrielles simplement en vous connectant à l’aide de votre compte Lié Dans, Google ou Microsoft. La synchronisation d’ID Microsoft Entra est également prise en charge, ce qui vous permet de vous connecter à l’aide de vos informations d’identification professionnelles.
- Les sources de données de démonstration sont là pour vous permettre de jouer avec, mais si vous souhaitez vous connecter à vos données d’historien, installez simplement App Store Connect, connectez-vous à vos données à l’aide d’un pilote de source de données prêt à l’emploi et vous êtes prêt à aller !
Comment obtenir des informations d’identification
Connectez-vous simplement à l’aide de votre compte Linked In, Google ou Microsoft. La synchronisation d’ID Microsoft Entra est également prise en charge, ce qui vous permet de vous connecter à l’aide de vos informations d’identification professionnelles.
Prise en main de votre connecteur
Ajoutez simplement l’App Store industriel en tant qu’action dans votre flux, spécifiez l’une des requêtes, entrez des paramètres, par exemple Tagname, start, end times et c’est tout ! Exemple de récupération de données :
-
Démarrer Power Automate
Accédez à Microsoft Power Autoamte. Connectez-vous si nécessaire. -
Créer un flux
Appuyez sur :heavy_plus_sign : créez dans le menu de gauche et choisissez un flux instantané ou un flux planifié , puis confirmez votre sélection.
-
Se connecter
Connectez-vous à l'aide de vos informations d'identification.
REMARQUE : vous n’aurez besoin de procéder qu’une seule fois par flux. Les mêmes informations d’identification de connexion peuvent être réutilisées dans d’autres flux
-
Remplir les paramètres
Renseignez les paramètres requis avec les valeurs suivantes :
| Nom | Valeur | Note |
|---|---|---|
| Nom de la source de données | dsn - variable | Utilisez le nom de votre source de données fourni lors de sa création dans App Store Connect. |
| Balise à interroger | balise - variable | Spécifiez vos étiquettes d’historien. |
| Heure de début | 2001-01-01 | Heure de début de la requête absolue ou relative. |
| Heure de fin | 2001-03-01 | Heure de fin de la requête absolue ou relative. |
| Fonction de données | AVG | |
| Exemple d’intervalle | 1 jour |
Les données historiques retournées à Power Automate décrivent les valeurs d’instrument au format de fichier JSON. Un exemple de jeu de données est illustré ci-dessous :
{
"Edge Historian (LDT-INTELPLANT)": {
"TIC001-HI": {
"TagName": "TIC001-HI",
"DisplayType": "TrailingEdge",
"Values": [
{
"IsNumeric": true,
"TagName": "TIC001-HI",
"UtcSampleTime": "2020-09-08T04:20:40Z",
"NumericValue": 13.89999,
"TextValue": "13.89999",
"Status": "Good",
"Unit": "degC",
"Notes": null,
"Error": null,
"HasError": false
},
{
"IsNumeric": true,
"TagName": "TIC001-HI",
"UtcSampleTime": "2020-09-09T04:20:40Z",
"NumericValue": 13.89999,
"TextValue": "13.89999",
"Status": "Good",
"Unit": "degC",
"Notes": null,
"Error": null,
"HasError": false
},
// -- remaining values removed for brevity --
]
}
}
}
Les données sont indexées par nom de source de données (Edge Historian (LDT-INTELPLANT)), puis par nom de balise (TIC001-HI). L’entrée de chaque balise contient les champs suivants :
-
TagName- nom complet de la balise. -
DisplayType- fournit un indicateur décrivant la façon dont les lignes entre les valeurs individuelles doivent être dessinées lors de la visualisation des données sur un graphique. -
Values- liste des valeurs d’étiquette.
Chaque entrée de la Values collection décrit une valeur unique pour la balise à un point spécifique dans le temps. Bien qu’il existe plusieurs champs définis sur chaque valeur, les champs qui nous intéressent le plus sont :
-
UtcSampleTime- horodatage UTC de l’exemple, spécifié au format ISO 8601. -
NumericValue- valeur numérique enregistrée par l’instrument. -
Status- état de qualité associé à la valeur (Good,BadouUncertain). L’état sera généralementGoodsauf si l’instrument physique a été diagnostiqué avec une erreur. -
Unit- unité de mesure pour la valeur.
Et c’est ça, vous avez des données historiques pour le traitement futher. À partir de là, vous pouvez émettre des notifications, compiler des rpeorts, lancer des procédures, etc.
Problèmes connus et limitations
Nous travaillons sur une meilleure définition de schéma afin que le jeu de données retourné soit plus facile à naviguer.
Erreurs courantes et solutions
Vérifiez que vous êtes autorisé à accéder à la source de données. Contactez la personne qui a configuré votre App Store Connect ou une usine intelligente (support@intelligentplant.com).
Questions fréquentes (FAQ)
Reportez-vous à cet article qui décrit plus en détail l’ensemble de la configuration. N’hésitez pas à contacter l’usine intelligente pour plus d’informations ou si vous avez des questions à l’adresse info@intelligentplant.com
Limitations
| Nom | Appels | Période de renouvellement |
|---|---|---|
| Appels d’API par connexion | 100 | 60 secondes |
Actions
| Lire la valeur d’instantané |
Obtenez la valeur actuelle d’une balise. |
| Lire les valeurs agrégées |
Demander des valeurs agrégées pour une balise. |
| Lire les valeurs brutes |
Demander des valeurs brutes pour une balise. |
| Lire les valeurs de tracé |
Demandez une courbe d’ajustement optimale des valeurs d’étiquette. |
| Obtenir des balises |
Effectuez une recherche d’étiquettes sur une source de données. |
| Obtenir des sources de données |
Récupérer la liste des sources de données disponibles. |
Lire la valeur d’instantané
Obtenez la valeur actuelle d’une balise.
Paramètres
| Nom | Clé | Obligatoire | Type | Description |
|---|---|---|---|---|
|
Nom de la source de données.
|
dsn | True | string |
Nom de la source de données sur lequel effectuer une requête de données. |
|
Balise à interroger.
|
tag | True | string |
Balise à interroger. |
|
Lorsque la valeur est true, spécifie que les valeurs d’instantané mises en cache ne doivent pas être utilisées.
|
nocache | boolean |
Lorsque la valeur est true, spécifie que les valeurs d’instantané mises en cache ne doivent pas être utilisées (c’est-à-dire qu’une requête d’instantané est toujours exécutée sur la source de données). |
|
|
Lorsque la valeur est true, les propriétés de valeur d’étiquette sont incluses dans les résultats.
|
includeProperties | boolean |
Lorsque la valeur est true, les propriétés de valeur d’étiquette sont incluses dans les résultats. |
Retours
| Nom | Chemin d’accès | Type | Description |
|---|---|---|---|
|
TagName
|
TagName | string |
Nom de la balise |
|
UtcSampleTime
|
UtcSampleTime | string |
Heure de l’exemple de valeur d’étiquette (UTC) |
|
NumericValue
|
NumericValue | float |
Valeur numérique d’étiquette |
|
IsNumeric
|
IsNumeric | boolean |
La balise a-t-elle une valeur numérique ? |
|
TextValue
|
TextValue | string |
Valeur de texte de balise |
|
Statut
|
Status | string |
État de la valeur de balise |
|
Unité
|
Unit | string |
Unité de mesure de valeur d’étiquette. |
|
Remarques
|
Notes | string |
Remarques |
|
Erreur
|
Error | string |
Détails de l’erreur de valeur de balise |
|
HasError
|
HasError | boolean |
État HasError de la valeur de balise |
Lire les valeurs agrégées
Demander des valeurs agrégées pour une balise.
Paramètres
| Nom | Clé | Obligatoire | Type | Description |
|---|---|---|---|---|
|
Nom de la source de données.
|
dsn | True | string |
Nom de la source de données sur lequel effectuer une requête de données. |
|
Balise à interroger.
|
tag | True | string |
Balise à interroger. |
|
Heure de début de la requête absolue ou relative.
|
start | True | string |
Heure de début de la requête absolue ou relative. |
|
Heure de fin de la requête absolue ou relative.
|
end | True | string |
Heure de fin de la requête absolue ou relative. |
|
Fonction/agrégation de données à utiliser lors de l’exécution d’une requête de données.
|
function | True | string |
Fonction de données à utiliser. |
|
Exemple d’intervalle pour la requête.
|
step | True | string |
Exemple d’intervalle pour la requête. |
|
Lorsque la valeur est true, les propriétés de valeur d’étiquette sont incluses dans le résultat.
|
includeProperties | boolean |
Lorsque la valeur est true, les propriétés de valeur d’étiquette sont incluses dans le résultat. |
Retours
Lire les valeurs brutes
Demander des valeurs brutes pour une balise.
Paramètres
| Nom | Clé | Obligatoire | Type | Description |
|---|---|---|---|---|
|
Nom de la source de données.
|
dsn | True | string |
Nom de la source de données sur lequel effectuer une requête de données. |
|
Balise à interroger.
|
tag | True | string |
Balise à interroger. |
|
Heure de début de la requête absolue ou relative.
|
start | True | string |
Heure de début de la requête absolue ou relative. |
|
Heure de fin de la requête absolue ou relative.
|
end | True | string |
Heure de fin de la requête absolue ou relative. |
|
Nombre maximal de points à retourner par balise.
|
points | True | integer |
Nombre maximal de points à retourner par balise. |
Retours
Lire les valeurs de tracé
Demandez une courbe d’ajustement optimale des valeurs d’étiquette.
Paramètres
| Nom | Clé | Obligatoire | Type | Description |
|---|---|---|---|---|
|
Nom de la source de données.
|
dsn | True | string |
Nom de la source de données sur lequel effectuer une requête de données. |
|
Balise à interroger.
|
tag | True | string |
Balise à interroger. |
|
Heure de début de la requête absolue ou relative.
|
start | True | string |
Heure de début de la requête absolue ou relative. |
|
Heure de fin de la requête absolue ou relative.
|
end | True | string |
Heure de fin de la requête absolue ou relative. |
|
Intervalle de traçage
|
intervals | True | integer |
Largeur de pixel du graphique qui affiche les valeurs de balise. |
|
Lorsque la valeur est true, les propriétés de valeur d’étiquette sont incluses dans les résultats.
|
includeProperties | boolean |
Lorsque la valeur est true, les propriétés de valeur d’étiquette sont incluses dans les résultats. |
Retours
Obtenir des balises
Effectuez une recherche d’étiquettes sur une source de données.
Paramètres
| Nom | Clé | Obligatoire | Type | Description |
|---|---|---|---|---|
|
Nom de la source de données à utiliser pour la requête de données.
|
dsn | True | string |
Nom de la source de données. |
|
Filtre de nom d’étiquette à utiliser. La valeur par défaut est « * ».
|
name | True | string |
Filtre de nom de balise. |
|
Numéro de page des résultats correspondants qui doivent être retournés.
|
page | True | integer |
Numéro de page des résultats correspondants qui doivent être retournés. |
|
Taille de page pour les résultats.
|
pageSize | True | integer |
Taille de page pour les résultats. |
Retours
| Nom | Chemin d’accès | Type | Description |
|---|---|---|---|
|
|
array of object | ||
|
Id
|
Id | string |
Identificateur d’étiquette unique |
|
Nom
|
Name | string |
Nom de la balise |
|
Descriptif
|
Description | string |
Description de la balise |
|
Unité de mesure
|
UnitOfMeasure | string |
Unité de mesure de valeur d’étiquette |
|
Valeur
|
Properties.index.Value | integer |
Valeur |
|
Nom
|
Properties.index.Name | string |
Nom |
|
Catégorie
|
Properties.index.Category | string |
Catégorie |
|
Descriptif
|
Properties.index.Description | string |
Descriptif |
|
DisplayIndex
|
Properties.index.DisplayIndex | integer |
DisplayIndex |
|
IsReadOnly
|
Properties.index.IsReadOnly | boolean |
IsReadOnly |
|
DigitalStates
|
DigitalStates | array of |
DigitalStates |
|
IsMetaTag
|
IsMetaTag | boolean |
Indicateur qui spécifie si la balise est une balise meta créée par un pilote. |
Obtenir des sources de données
Récupérer la liste des sources de données disponibles.
Retours
| Nom | Chemin d’accès | Type | Description |
|---|---|---|---|
|
|
array of object | ||
|
Host
|
Host | string |
Hôte de source de données |
|
SupportedFeatures
|
SupportedFeatures | string |
Fonctionnalités prises en charge par la source de données |
|
Nom
|
Name.Name | string |
Nom du composant source de données |
|
Namespace
|
Name.Namespace | string |
Espace de noms de source de données |
|
QualifiedName
|
Name.QualifiedName | string |
Nom qualifié de la source de données |
|
DisplayName
|
Name.DisplayName | string |
Nom d’affichage |
|
Aliases
|
Name.Aliases | array of |
Aliases |
|
TypeName
|
TypeName | string |
Nom du type de composant source de données |
|
Descriptif
|
Description | string |
Description du composant source de données |
|
RunningStatus
|
Status.RunningStatus | string |
État d’exécution de la source de données |
|
IsHealthy
|
Status.HealthStatus.IsHealthy | boolean |
IsHealthy |
|
Propriétés
|
Status.HealthStatus.Properties | array of |
Propriétés |
|
IsInitialised
|
Status.IsInitialised | boolean |
IsInitialised |
|
EstDésactivé
|
Status.IsDisabled | boolean |
État désactivé |
|
DebugMode
|
Status.DebugMode | boolean |
Mode débogage |
|
UtcStartupTime
|
Status.UtcStartupTime | string |
Heure UTC de démarrage |
|
UtcLastModified
|
Status.UtcLastModified | string |
Heure utc de la dernière modification |
|
Durée de bon fonctionnement
|
Status.Uptime | string |
Durée de fonctionnement de la source de données |
|
Messages
|
Status.Messages | array of |
Messages |
|
Paramètres
|
Settings | array of |
Paramètres de la source de données |
|
requêtes de données Keep-Alive
|
Properties.Keep-Alive Data Queries | string |
requêtes de données Keep-Alive |
|
Type distant
|
Properties.Remote Type | string |
Type distant |
|
AuthorizationRules
|
AuthorizationRules | array of |
Règles d’autorisation de source de données |
Définitions
HistoricalDataQueryResponsev2
| Nom | Chemin d’accès | Type | Description |
|---|---|---|---|
|
Valeurs
|
Values | array of object |
Valeurs |
|
TagName
|
Values.TagName | string |
Nom de la balise |
|
UtcSampleTime
|
Values.UtcSampleTime | string |
Heure de l’exemple de valeur d’étiquette (UTC) |
|
NumericValue
|
Values.NumericValue | float |
Valeur numérique d’étiquette |
|
IsNumeric
|
Values.IsNumeric | boolean |
L’état IsNumeric est-il |
|
TextValue
|
Values.TextValue | string |
Valeur de texte de balise |
|
Statut
|
Values.Status | string |
État de la valeur de balise |
|
Unité
|
Values.Unit | string |
Unité de mesure de valeur d’étiquette |
|
Remarques
|
Values.Notes | string |
Remarques |
|
Erreur
|
Values.Error | string |
Détails de l’erreur de valeur de balise |
|
HasError
|
Values.HasError | boolean |
État HasError de la valeur de balise |