Export et Import de modèles ICAR sous Trnsys 17 Export de modèles Trnsys 17 vers ICAR 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. Import de composants ICAR vers Trnsys 17 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, soustrnsys17\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 : Variables utilisées lors de la génération des composants ICAR Cette annexe liste les variables utilisés dans les fichiers template du module de génération de composants ICAR. Pour la génération du fichier FacetContinuousStateSystemImpl.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 $$EXTERNAL_FILE_DEFINITION $$OUTPUT_NAME_UPDATE_LIST $$UPDATE_INPUT_LIST $$INPUT_NAME_LIST $$INITIAL_INPUT_VALUE_DEFINITION_LIST $$OUTPUT_NAME_LIST 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 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 Pour la génération du fichier PackageICAr.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/