[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TRNSYS-users] TR: File handling



Dear David and Hermann,

 

As David says, I run into trouble when opening the file. I send you enclosed two tests in order to better explain my problem.

 

I created a test component (the proforma is in the corresponding directory) whit two dlls, one with the command “open” and the other without it (directories dll 1 and dll2, the corresponding codes are in the code 1 and code 2 directories).

 

If you copy the first dll and run the project “test temp” (in the TRNSYS project directory), the result file contains two lines at the end: one indicates the error code which FORTRAN generates when I try to open the file (code 30, which indicates, according to the Compaq visual FORTRAN manual, that is impossible to open the file), the second line gives the values of the three parameters read. This values correspond to the one specified in the file “fort.30”, in the project directory, and not the ones contained in the “temp.in” file, which is specified for the component. However, the “filename” string returned by getLUfileName is correct, as you can see if you debug the code!!!

 

In the case of the second dll, I do not use the open command but the result is exactly the same: my component reads its parameters in the file “fort.30”.

 

I really do not understand what I miss…could you help me please?

 

Best,

 

Marcello

 

 

De : trnsys-users-bounces@cae.wisc.edu [mailto:trnsys-users-bounces@cae.wisc.edu] De la part de David BRADLEY
Envoyé : mercredi 5 octobre 2011 19:20
À : Hermann Schranzhofer
Cc : trnsys-users@cae.wisc.edu
Objet : Re: [TRNSYS-users] TR: File handling

 

Marcello and Hermann,
  If you use the method below, you can sometimes run into trouble because TRNSYS already opens all of the files that are ASSIGNed to logical unit numbers. You may be able to just skip the line:

Open(unit=Fid,file=Filename)

or, you can use the access function:

closeFileIVF(Fid)

then reopen it with

Open(unit=Fid,file=Filename)

Best,
 David



On 10/5/2011 08:10, Hermann Schranzhofer wrote:

 
Dear Marcello,
 
It should work something like this:
 
Fid = getParameterValue(1)
Filename = getLUFilename(Fid)
Open(unit=Fid,file=Filename)
Read(Fid,*) value
Close(Fid)
 
Best regards,
Hermann.
 
_______________________________________________________________
 
DI Dr. mont. Hermann Schranzhofer
Institut fuer Waermetechnik / Institute of Thermal Engineering
TU Graz / Graz University of Technology 
Inffeldgasse 25 / B, A-8010 Graz 
 
Tel.: +43 316 873 7314
mobil: +43 664 60 873 7314
Fax : +43 316 873 7305
http://www.iwt.tugraz.at/
_______________________________________________________________
 
 
-----Ursprüngliche Nachricht-----
Von: trnsys-users-bounces@cae.wisc.edu [mailto:trnsys-users-bounces@cae.wisc.edu] Im Auftrag von marcello.caciolo@aximaseitha-gdfsuez.com
Gesendet: Mittwoch, 05. Oktober 2011 13:46
An: trnsys-users@cae.wisc.edu
Betreff: [TRNSYS-users] TR: File handling
 
Dear Hermann,
 
Thank you for your answer. However, the getLUfileName function gives me the name of the file as a string (which is, by the way, the correct one). But how can I use it to access this file?
 
Is there a form of the "read" instruction taking as parameter the file name instead of the unit number? If yes, could you give me an example of its use?
 
Thank you,
 
Marcello
 
-----Message d'origine-----
De : trnsys-users-bounces@cae.wisc.edu [mailto:trnsys-users-bounces@cae.wisc.edu] De la part de Hermann Schranzhofer Envoyé : mercredi 5 octobre 2011 13:38 À : trnsys-users@cae.wisc.edu Objet : Re: [TRNSYS-users] File handling
 
Dear Marcello,
 
I think you have to use the getLUfileName function. See Programmers Guide page 7-46.
 
Best regards,
Hermann Schranzhofer.
 
 
_______________________________________________________________
 
DI Dr. mont. Hermann Schranzhofer
Institut fuer Waermetechnik / Institute of Thermal Engineering TU Graz / Graz University of Technology Inffeldgasse 25 / B, A-8010 Graz
 
Tel.: +43 316 873 7314
mobil: +43 664 60 873 7314
Fax : +43 316 873 7305
http://www.iwt.tugraz.at/
_______________________________________________________________
 
 
 
 
 
________________________________
 
Von: trnsys-users-bounces@cae.wisc.edu [mailto:trnsys-users-bounces@cae.wisc.edu] Im Auftrag von marcello.caciolo@aximaseitha-gdfsuez.com
Gesendet: Mittwoch, 05. Oktober 2011 11:19
An: trnsys-users@cae.wisc.edu
Betreff: [TRNSYS-users] File handling
 
 
 
Dear TRNSYS users,
 
 
 
I would like to write a component for TRNSYS 17 which reads its parameters from an external file. In the proforma of my type, I specified a parameter "Logical unit", linked to the name of the file in the "File" tab.
 
 
 
In the FORTRAN code, at the iteration zero, my type simply use the read instruction as it follows:
 
 
 
unit_fichier_sortie = jfix(getParameterValue(4) + 0.1)
 
 
 
! Lecture de la version du fichier
 
read(unit_fichier_descriptif,*, iostat = erreur_lecture) par_1
 
 
 
However, instead of reading in the correct file, this instruction reads in a file called "fort.30" (where 30 is the logical unit number assigned by TRNSYS).
 
 
 
If I write my parameters in "fort.30", the type reads its parameters correctly. However, I would really like that it reads in the file I specify in the proforma ("exemple.in")!
 
 
 
If I debug the code, the function getLUfileName(unit_fichier_descriptif) returns the correct name of the file (example.in). 
 
 
 
Has someone experienced the same kind of problem? For information, I use Compaq Visual Fortran.
 
 
 
Thank you for your help!
 
 
 
Marcello CACIOLO
Responsable Outils et Méthodes d'Analyse Energétique ___________________________________________________ 
 
logo AximaSeitha
 
Cellule Efficacité Energétique
 
Direction Commerciale
46 Boulevard de la Prairie au Duc BP 40119 44000 Nantes Cédex 2 Tel. 02 40 41 06 57
 
 
mail: marcello.caciolo@aximaseitha-gdfsuez.com
 
 
www.aximaseitha-gdfsuez.com
 
 
 
P Pensez à l'environnement avant d'imprimer ce message
 
 
 
 
 
 
GDF SUEZ Mail Disclaimer: http://www.gdfsuez.com/disclaimer/disclaimer-fr.html
 
 
 
 
GDF SUEZ Mail Disclaimer: http://www.gdfsuez.com/disclaimer/disclaimer-fr.html
 
 
 
_______________________________________________
TRNSYS-users mailing list
TRNSYS-users@cae.wisc.edu
https://mailman.cae.wisc.edu/listinfo/trnsys-users




_______________________________________________
TRNSYS-users mailing list
TRNSYS-users@cae.wisc.edu
https://mailman.cae.wisc.edu/listinfo/trnsys-users



-- 
***************************
David BRADLEY
Principal
Thermal Energy Systems Specialists, LLC
22 North Carroll Street - suite 370
Madison, WI  53703 USA
 
P:+1.608.274.2577
F:+1.608.278.1475
d.bradley@tess-inc.com
 
http://www.tess-inc.com
http://www.trnsys.com



GDF SUEZ Mail Disclaimer: http://www.gdfsuez.com/disclaimer/disclaimer-fr.html

Attachment: file handling.zip
Description: file handling.zip