AnnexF/lag1_st.txt
author Andreas Graeper <agraeper@googemail.com>
Tue, 05 Jun 2012 11:10:12 +0200
changeset 563 61410284a9b4
parent 0 fb772792efd1
permissions -rwxr-xr-x
little typo in last commited code
add if(is_bool_type(sym)) this->bool_type->accept(*this) in generate_c_il_c::visit(il_default_variable_c*)
to get .BOOLvar instead of .FALSEvar resp. .TRUEvar ..
 FUNCTION_BLOCK LAG1
   VAR_INPUT
     RUN : BOOL ;     (* 1 = run, 0 = reset *)
     XIN : REAL ;     (* Input variable *)
     TAU : TIME ;     (* Filter time constant *)
     CYCLE : TIME ;   (* Sampling time interval *)
   END_VAR
   VAR_OUTPUT XOUT : REAL ; END_VAR  (* Filtered output *)
   VAR K : REAL ;     (* Smoothing constant, 0.0<=K<1.0 *)
   END_VAR
   IF RUN THEN XOUT := XOUT + K * (XIN - XOUT) ;
   ELSE XOUT := XIN ;
        K := TIME_TO_REAL(CYCLE) / TIME_TO_REAL(CYCLE + TAU) ;
   END_IF ;
 END_FUNCTION_BLOCK