Trace messaging is implemented is similar to the mechanism applied to the I/O output reporting. Whenever the tracing is On, meaning the Start Event occurred, a report line is added to the report buffer and subsequently output to a text file:
● If a non Double Buffered element is assigned with a value, the trace will be done immediately.
● If a Static Double Buffered element is assigned with a value, the trace will be done at the end of the current step. The trace function will be called from the generated code, near the place where it swaps the next/current values. In order to trace the writing event, a flag is added to the generated code, near the definition of the current/next variables.
● If a Dynamic Double Buffered element is assigned with a value, the trace function will be called at the end of the current step from theupdate()
function.