Just to add to Garry's post, configured as an output only means (well according to the IEC convention) that "IF" (note I said if), you also try to use it effectively as an input internally i.e. return back to the function the last value it output, then it should be configured as an IN/OUT parameter. the reason for this is that input parameters are passed to local variables within the AOI (FB) but the outputs are not so the data may have been destroyed, I do know that some platforms do retain the information due to the way the internal variables are used but cannot be relied on, also if it complies to the IEC standard a parameter that is OUT only will cause a compile error if it is used as an in parameter.