Export et Import de modèles ICAR sous Trnsys 17 - muse

publicité
ExportetImportdemodèlesICARsousTrnsys17
ExportdemodèlesTrnsys17versICAR
Une fonction permettant d’exporter des modèles Trnsys vers des composants ICAR a été
implémentée sous Simulation Studio. Cette fonction crée un composant ICAR à partir d’une instance
de modèle dans un projet Trnsys.
Installation
Le module est fourni sous la forme d’une archive ZIP, Tnsys2Icar.zip. Son contenu est à ajouter à une
installation Trnsys 17 (version de référence utilisé : 17.01.0016) :
-
-
La fonction d’export proprement dite a été ajoutée à l’environnement graphique de Trnsys,
Simulation Studio. Pour l’utiliser, il faut copier la dernière version de Simulation Studio
(Studio.exe) fourni dans l’archive vers Trnsys17\Studio
Le mécanisme d’export utilise des composants binaires et des fichiers de configuration qui
sont fournis dans le répertoire
Trnsys17\Studio\Templates\Icar
Ils sont à copier vers le répertoire correspondant de l’installation Trnsys. On trouve
également dans ce répertoire des fichiers .bat permettant de tester les composants crées en
mode ligne de commande.
Les fichiers .java fournis peuvent être adaptés aux besoins de l’utilisateur. Ils utilisent des metavariables qui sont remplis au moment de la génération du composant ICAR. Une liste de se ces
variables se trouve dans l’annexe.
Utilisation
Après installation (cf. chapitre précédent), il suffit de démarrer Simulation Studio, de créer un projet
Trnsys contenant le composant à exporter et de déclencher l’export avec clique droit / Export to
ICAR.
Fig. : Export ICAR à partir de Trnsys 17 Simulation Studio
On choisit ensuite un répertoire cible pour enregistrer le composant. Simulation Studio copie vers ce
répertoire :
-
Le composant .ICAR généré
Les DLLs Trnsys nécessaires pour l’exécuter
Le code source JAVA généré
Des fichiers de commande permettant de tester le composant généré en mode ligne de
commande
Pour tester le bon fonctionnement du composant généré, il suffit d’exécuter le fichier compile.bat
dans une fenêtre DOS.
Limitations
Le mécanisme a été testé sur quelques composants standards (contenus dans TrnDll.dll) simples. Une
validation approfondie reste à faire.
L’utilisation de composants non-standards, résidant dans des DLL externes, a été testée en utilisant
les bibliothèques HVAC de TESS. Ce type de composant nécessite une modification manuelle du
fichier
Trnsys17\Templates\Icar\PackageICAr.java
fourni. Un exemple d’ajout d’une DLL externe est donné en commentaire dans le fichier
PackageICAr.java.
Des composants utilisant des fichiers externes ne peuvent pas être exportés en l’état (cela nécessite
une modification dans le noyau de Trnsys).
Des composants exécutants des applications tiers (e.g. traducteur de fichier TRNBuild.exe du
composant « type 56 », le bâtiment multizone) ne peuvent pas être exportés, car le composant ICAR
généré n’aura pas accès à cet exécutable.
ImportdecomposantsICARversTrnsys17
Le composant ICAr/MUSE dispose d’une interface de pilotage en Java. Un composant Trnsys (Type)
peut lancer une machine virtuelle Java et donc inter opérer avec le composant ICAr/MUSE. Un
prototype d’une DLL Trnsys permettant de lancer un composant ICAR a été développé sous forme
d’un plug-in [1]. Ces travaux ont été repris pour permettra d’introspecter automatiquement un
composant ICAR et de générer son interface graphique sous Trnsys. Plutôt que de générer un
composant Trnsys pour chaque composant ICAR, nous choisissons donc de créer un seul composant
Trnsys générique capable de s’adapter à n’importe quel composant ICAR.
Installation
Un type Trnsys « ICAR » et son interface générique sont fournis sous forme d’un archive ZIP,
Icar2Trnsys.ZIP. Son contenu est à ajouter à une installation Trnsys 17 (Version de référence utilisé :
17.01.0016). Cet archive contient :
-
Un fichier Proforma contenant la description du composant Trnsys « ICAR » (Type 1843.tpf et
Type 1843.bmp, sous Trnsys17\Studio\Proforma\PLUMES)
La DLL contenant l’implémentation du composant générique (sous
Trnsys17\UserLib\ReleaseDLLs)
Un plug-in contenant l’interface graphique générique du composant (sous
Trnsys17\Studio\Plugin\ICAR)
Afin de pouvoir exécuter des composants ICAR, la variable d’environnement
ICAR_TRNSYS_PLUGIN
doit être définie. Elle indique le chemin d’accès vers les librairies Java du framework ICAr/MUSE [1].
Le dossier cible doit contenir les fichiers suivants :
- ContinuousDynamicDLL.dll
- libICAr/icardevkit-2.2.1.jar
- libICAr/icarframework_v2-2.1.2.jar
On peut utiliser la version ‘embarqué’ d’ICAR en mettant simplement ICAR_TRNSYS_PLUGIN à
\Trnsys17\Studio\Plugin\ICAR.
De plus, une machine virtuelle Java (JRE : Java Runtime Environment) doit être installée. De même, il
faut modifier la variable d’environnement PATH pour y inclure le chemin de la DLL (ajouter
;%ICAR_TRNSYS_PLUGIN%) ainsi que le chemin jre\bin\client contenant le fichier jvm.dll
(machine virtuelle Java).
Utilisation
Après installation (cf. chapitre précédent), il suffit de démarrer Simulation Studio, de créer un projet
Trnsys et d’y ajouter le composant à partir de sa Proforma.
On spécifie le fichier ICAR à exécuter sous l’onglet « External Files » du composant. Sous l’onglet
« Parameters » du composant on trouve un assistant permettant d’introspecter le fichier ICAR : un
clique sur cet assistant met la liste des paramètres, entrées, dérivatives et sorties du composant
TRNSYS à jour. Dans l’exemple illustré dans la figure, on voit par exemple que le fichier choisi
(redresseur.icar) dispose des trois entrées R, C et E.
On peut ensuite connecter le composant à d’autres composants TRNSYS. Une nouvelle exécution de
l’assistant est seulement nécessaire si la structure du composant ICAR (nombre de paramètres,
d’entrées, de dérivatives ou de sorties) change.
Limites
L’import de composants ICAR a été testé avec des composants simples. Une validation approfondie
reste à faire.
Annexe:VariablesutiliséeslorsdelagénérationdescomposantsICAR
Cette annexe liste les variables utilisés dans les fichiers template du module de génération de
composants ICAR.
PourlagénérationdufichierFacetContinuousStateSystemImpl.java
$$INITIAL_INPUT_VALUE_LIST
$$INITIAL_PARAMETER_VALUE_LIST
$$INITIAL_DERIVATIVE_VALUE_LIST
$$N_INPUT_VALUES
$$N_PARAMETER_VALUES
$$N_DERIVATIVE_VALUES
$$N_OUTPUT_VALUES
$$TYPE_NUMBER
L’affectation des valeurs initiales des entrées
L’affectation des valeurs initiales des paramètres
L’affectation des valeurs initiales des dérivés
Le nombre d'entrées
Le nombre de paramètres
Le nombre de dérivés
Le nombre de sorties
Le numéro de type TRNSYS
$$EXTERNAL_FILE_DEFINITION
La déclaration de fichiers de données externes
utilisés par le composant
L’affectation des noms des variables de sortie
L’affectation des valeurs des entrées (XIN)
La liste des noms des variables d'entrée
La définition des valeurs initiales des entrées
La liste des noms des variables de sortie
$$OUTPUT_NAME_UPDATE_LIST
$$UPDATE_INPUT_LIST
$$INPUT_NAME_LIST
$$INITIAL_INPUT_VALUE_DEFINITION_LIST
$$OUTPUT_NAME_LIST
PourlagénérationdufichierPackageICAr.java
$$PACK_FILE_LIST
La liste des fichiers à inclure dans le JAR
Références
[1] Sana GAALOUL, Benoit DELINCHANT : Plug’in ICAr/MUSE pour TRNSYS, 28/08/2012
[2] Sana Gaaloul, Benoît Delinchant, Frédéric Wurtz et Franck Verdière : SOFTWARE COMPONENTS
FOR DYNAMIC BUILDING SIMULATION; Proceedings of Building Simulation 2011 : 12th
Conference of International Building Performance Simulation Association, Sydney, 14-16
November http://www.ibpsa.org/proceedings/BS2011/P_1719.pdf
[3] Franck VERDIERE : CADES Framework - Composants ICAr pour la simulation dynamique ;
19/01/2011 ; document interne
[4] TRNSYS 17, Programmer’s Guide; TRNSYS Group, 2012; http://sel.me.wisc.edu/trnsys/
Téléchargement