[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CALLED IN THE TRNSYS INPUT FILE BUT NOT LINKED -message
- Date: Thu, 21 Dec 2000 21:47:48 +0100
- From: "KCR" <Rauch-Muenster@xxxxxxxxxxx>
- Subject: Re: CALLED IN THE TRNSYS INPUT FILE BUT NOT LINKED -message
Hi,
here are my statements according to your depicted problem, which I mean it is
not really a problem at the present.
Looking to the TRNSYS home page and downloading the Fortran zip-file
(Powerstation) and furtheron at a free component (1113.for, absorption chiller,
ASHRAE model) from the well-known J.J Lebrun it can be seen that your problem in
fact is no problem.
You have to understand that the mechanism from the TRNSYS processor (Sub EXEC
etc.) is a logical process and not a physical one.
Within the TRNSYS Sub Exec (the TRNSYS processor) there is called the subroutine
TYPE00. Your self-written routine TYPE192 now will be called in this subroutine
as follows:
....
191 call type191( actual parameters )
goto 790
192 call type192( time, xinp, xout, t, dtdt, par1, infor, icntrl(icpt), *800 )
goto 790
193 call type193( actual parameters )
goto 790
.....
C add more types here. .....
C check to see if all types called in the TRNSYS deck are linked in
790 continue
call linkck('dummy', 'dummy', 3, type)
=====> this routine b.e. is given in the sub from J.J.Lebrun
800 continue
return
end
When you leave your self-written subroutine with a regular return (here in fact
due to the end statement) the next command after the call of your subroutine
will be processed. This leads to the message which you describe in your e-mail.
So you have to leave any given or self-written subroutine via the alternate
return (uncomment your one at the end of your routine) in the regular case.
This has to be done because of the circumstance that the warnings for all other
unused subroutines have been suppressed by the compiler, while in the other case
you had to support the system with a lot of dummy subroutines.
Another hint: the alternate return statement which is set in between the first
call process in your routine makes no sense at that moment. Here you have to
program a normal return statement.
Kind regards
Dr. Karl-Christian Rauch
SAP Consultant and ABAP Application Developer
Peter Vogelsanger schrieb:
> Dear Trnsys-aficionados
>
> When I include my self written little type 192 in the trnsys input file,
> it won't run and the message:
>
> ***** ERROR ***** TRNSYS ERROR # 105
> TYPE 192 WAS CALLED IN THE TRNSYS INPUT FILE BUT NOT LINKED.
> LINK TYPE 192 BEFORE RUNNING THIS SIMULATION.
>
> Strange is, that the subroutine is linked which can positively be
> verified by switching from Y to N (no) the respective statement in the
> file cnfgtr.trn.
>
> Also, other self-written subroutines are used and work normally. I
> cannot find any difference in the code of these other subroutines and
> type 192, which could explain why type 192 is treated differently in the
> checking-of-unlinked-subroutines scheme. File Type192.for is included as
> attachment, if anybody is willing to have a look.
>
> I can of course work without checking for the "unlinked" subroutines,
> but would prefer to leave the respective statement on Y.
>
> Has anyone come accross this problem? Any ideas are appreciated. Thanks
> and the my best wishes for X'mas and Co.
>
> Peter