Chapter 3
Ada Language Reference
©
National Instruments Corporation
3-13
The operations within UCBs are controlled by the
INFO
argument, a record
of
RT_STATUS_RECORD
type that is passed as part of the argument list for
each UCB:
type RT_STATUS_RECORD is
record
ERROR: RT_INTEGER;
INIT: RT_BOOLEAN;
STATES: RT_BOOLEAN;
OUTPUTS: RT_BOOLEAN;
end record;
The following example shows the general form of UCB equations and
indicates how the
INFO
status record is used to control the computations.
if INFO.INIT then
-- do user code initialization
INFO.INIT := FALSE;
end if;
if INFO.OUTPUTS then
-- do output calculations having the general form:
-- Y := h(T,X,XD,U,R_P,I_P);
end if;
if INFO.STATES then
-- do state update calculations with the general form:
-- XD := f(T,X,XD,U,R_P,I_P);
end if;
When an error occurs within the UCB, set
INFO.ERROR:=
some nonzero
integer value as an error return. Also, make sure that
INFO.INIT
is set to
FALSE at the end of the initialization cycle.
To link UCBs (either handwritten or generated) with generated scheduled
subsystem code, compile the UCBs, required
sa_*
files, and the generated
scheduled subsystem code and link them together to build an application.
I_P:in out
RT_INTEGER
An array of integer parameters.
NIP:in out
RT_INTEGER
The number of integer parameters.
Table 3-5.
UCB Calling Arguments and Data Types (Continued)
Argument
Data Type
Description