Comment utiliser le shell d'administration d'actifs
Dans mon article « Qu'est-ce qu'un jumeau numérique ? « J'ai expliqué le concept de la technologie du jumeau numérique.
Cet article est un tutoriel sur la façon d'utiliser réellement le jumeau numérique avec les logiciels open source disponibles.
Plus précisément, je vais vous montrer comment utiliser Asset Administration Shell avec les logiciels du référentiel GitHub admin-shell-io de l'Industrial Digital Twin Association .
Qu'est-ce qu'un jumeau numérique ?Shell d'administration d'actifs
L'Asset Administration Shell (AAS) est une implémentation de jumeau numérique pour l'Industrie 4.0. Les spécifications AAS sont actuellement décrites en deux parties dans [1] et [2]. Il existe également une norme internationale en cours de développement sous le nom de CEI 63278 : Asset Administration Shell pour les applications industrielles .
L'idée derrière l'AAS est qu'il encapsule numériquement un actif. Ensemble, l'actif et le shell d'administration sont appelés un composant Industrie 4.0.
Un métamodèle UML de l'AAS est documenté dans [1]. En bref, au niveau supérieur, nous avons l'AAS, qui est associé à un atout. Au niveau suivant, nous avons plusieurs sous-modèles qui contiennent chacun des éléments de données, par exemple des variables ou des fichiers.
La documentation de l'API peut être trouvée dans [2]. Actuellement, seule l'API HTTP/REST est documentée. La prise en charge de MQTT et OPC UA est prévue pour le futur.
Explorateur de packages AASX
L'explorateur de packages AASX est utilisé pour créer et modifier des fichiers *.AASX.
L'explorateur de packages open source AASX est disponible gratuitement sur GitHub , qui fournit des exécutables pour Windows 10. Téléchargez et décompressez la dernière version, par exemple, aasx-package-explorer.2023–02–03.alpha.zip , puis exécutez AasxPackageExplorer.exe .
Pour afficher un exemple, accédez à Fichier → Ouvrir et ouvrez content-for-demo/Example_AAS_ServoDCMotor_21.aasx. Cela ouvrira l'exemple AAS suivant pour un moteur à courant continu.
Au niveau supérieur, il y a l'AAS ExampleMotor. Au niveau suivant, il y a quatre sous-modèles. Chaque sous-modèle contient des propriétés et leurs valeurs.
Par exemple, nous trouvons la constante MaxRotationSpeed sous TechnicalData . La variable RotationSpeed se trouve sous OperationalData .
Si vous souhaitez modifier des valeurs ou ajouter de nouveaux sous-modèles ou propriétés, vous devez activer la modification en sélectionnant Espace de travail → Modifier .
Serveur AASX
Le serveur AASX fournit l'API REST pour interagir avec nos jumeaux numériques.
Le logiciel open source est disponible gratuitement sur GitHub , où des binaires pour Windows et Linux sont disponibles. Un conteneur Docker est également fourni.
Sous Windows, téléchargez et décompressez la dernière version, par exemple, AasxServerWindows.2022–01–13.alpha.zip. Ensuite, exécutez startForDemo.bat.
Vous devriez maintenant voir le message suivant :
C:\AasxServerWindows>AasxServerWindows.exe --rest --no-security --data-path aasxs
Serving the AASXs from: aasxs
Security 1 Startup - Server
Security 1.1 Load X509 Root Certificates into X509 Store Root
Loading aasxs\Example_AAS_ServoDCMotor_21.aasx...
Please wait for the servers to start...
Connect to REST by: localhost:51310
http://localhost:51310/
REST Server started.
Servers successfully started. Press Ctrl-C to exit...
OBTENIR les shells d'administration d'actifs disponibles
Pour vérifier tous les fichiers *.aasx disponibles sur le serveur, utilisez
GET http://localhost:51310/server/listaas
Cela vous donnera la réponse suivante :
{
"aaslist": [
"0 : ExampleMotor : [IRI] http://customer.com/aas/9175_7013_7091_9168 : aasxs\\Example_AAS_ServoDCMotor_21.aasx"
]
}
GET Éléments du sous-modèle
Ensuite, lisons le RotationSpeed actuel avec la requête HTTP suivante :
GET http://localhost:51310/aas/ExampleMotor/submodels/OperationalData/elements/RotationSpeed
ou
GET http://localhost:51310/aas/0/submodels/OperationalData/elements/RotationSpeed
Cela nous donnera la réponse:
{
"elem": {
"value": "4370",
"valueId": null,
"semanticId": {
"keys": [
{
"type": "ConceptDescription",
"local": true,
"value": "http://customer.com/cd//1/1/18EBD56F6B43D895",
"index": 0,
"idType": "IRI"
}
]
},
"constraints": [],
"hasDataSpecification": [],
"idShort": "RotationSpeed",
"category": "VARIABLE",
"modelType": {
"name": "Property"
},
"valueType": {
"dataObjectType": {
"name": "integer"
}
},
"kind": "Instance",
"descriptions": null
}, ...
}
GET http://localhost:51310/aas/ExampleMotor/submodels/OperationalData/elements/RotationSpeed/value
{
"value": "4370"
}
Maintenant, changeons RotationSpeed en une nouvelle valeur 1234avec la requête HTTP suivante :
PUT http://localhost:51310/aas/ExampleMotor/submodels/OperationalData/elements
avec la charge utile (corps) du elemcontenu ci-dessus :
{
"value": "1234",
"valueId": null,
"semanticId": {
"keys": [
{
"type": "ConceptDescription",
"local": true,
"value": "http://customer.com/cd//1/1/18EBD56F6B43D895",
"index": 0,
"idType": "IRI"
}
]
},
"constraints": [],
"hasDataSpecification": [],
"idShort": "RotationSpeed",
"category": "VARIABLE",
"modelType": {
"name": "Property"
},
"valueType": {
"dataObjectType": {
"name": "integer"
}
}
}
SUPPRIMER les éléments du sous-modèle
Enfin, nous pouvons supprimer la propriété RotationSpeed avec la requête HTTP suivante :
DELETE http://localhost:51310/aas/ExampleMotor/submodels/OperationalData/elements/RotationSpeed
Conclusion
Utilisez l'explorateur de packages AASX pour créer votre propre jumeau numérique. Le serveur AASX fournit une API HTTP/REST avec les commandes GET, PUT et DELETE.
Les spécifications AAS sont encore en cours de développement. Par conséquent, le logiciel AASX est toujours en version alpha et sujet à modification.
Le cas d'utilisation ci-dessous montre ce qui est actuellement possible. Par exemple, des mesures en temps réel sont envoyées depuis le boîtier de démonstration physique vers son Shell d'administration d'actifs numérique. De plus, l'AAS comprend des documents PDF et un modèle CAO 3D.
Les références
[1] Plate-forme Industrie 4.0 : Détails de l'Asset Administration Shell — Partie 1 (2022)
[2] Plate-forme Industrie 4.0 : Détails de l'Asset Administration Shell — Partie 2 (2021)
Ressources additionnelles
Codage de niveau supérieur
Merci de faire partie de notre communauté ! Avant que tu partes:
- Applaudissez pour l'histoire et suivez l'auteur
- Voir plus de contenu dans la publication Level Up Coding
- Suivez-nous : Twitter | LinkedIn | Bulletin
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































