Question: get Maple to use full evaluation in a function call from a plot command

I don't understand, why maple has problems with the following command:

Output_Curve_test:=plot3d([0,0,iL_RMS_func_Ue_const(Iatest,U_test)],Iatest=0..2,U_test=0..1);

It seems that Maple doesn't call the funciton iL_RMS_func_Ue_const with the function variables Iatest and Utest. Instead it just uses the variable names Iatest and Utest. I get the error message:

Error, (in iL_RMS_AVG) cannot determine if this expression is true or false: 46.87500000*Iatest <= .1250000000*(1500-1500*U_test)*U_test

How do I get Maple to use the actual Values of Iatest und U_test? Below are the functions which are related to the problem.

iL_RMS_func_Ue_const:=(Ia_IaLGmax_f,Ua_Ue)->eval(iL_RMS_AVG(Ue_input,Ua_Ue*Ue_input, Ia_IaLGmax_f*Ue_input/(8*L_input)*T_input,L_input,T_input,0));

iL_RMS_AVG:=proc(Ue,Ua,Ia,L,T,art)
> local io, iL_increase, iL_decrease, iL, returnvalue;
> if Ia<=1/2*(Ue-Ua)/L*Ua/Ue*T then io:=0 else io:=Ia-1/2*(Ue-Ua)/L*Ua/Ue*T end if;
> iL_increase:=io+(Ue-Ua)/L*t;
> iL_decrease:=io+(Ue-Ua)/L*dutycycle(Ia,L,Ua,Ue,T)*T-Ua/L*(t-dutycycle(Ia,L,Ua,Ue,T)*T);
> iL:=piecewise(t<dutycycle(Ia,L,Ua,Ue,T)*T, iL_increase, (t<=T and iL_decrease>0), iL_decrease,0);
> if art=0 then sqrt(1/T*int(iL^2, t = 0 .. T)) else 1/T*int(iL, t = 0 .. T) end if;
> end proc;

# --- Begin User Input: ---
> Ue_input:=1500:
> Ie_input:=20:
> Ua_input:=300:
> L_input:=0.00005:
> f_input:=80000:
> # --- End User Input ---
>
> T_input:=1/f_input;
> evalf(T_input);
> Ia_input:= Ue_input*Ie_input/Ua_input;
> evalf(Ia_input);



Error, (in iL_RMS_AVG) cannot determine if this expression is true or false: 46.87500000*Iatest <= .1250000000*(1500-1500*U_test)*U_test
Please Wait...