Table A-27: Model.rtw Block Specific Records
Block Type
|
Properties
|
AbsoluteValue
|
No block specific records
|
Actuator
|
No block specific records.
|
ActionPort
|
ControlPortNumber ParamSetting - The control input port number for this block. The corresponding subsystem block control input port index is the block port number minus one.
SubsystemIdx ParamSetting - This is the location [ systemIdx , blockIdx ] of the nonvirtual subsystem which contains this nonvirtual Enable block.
|
Assignment
|
InIteratorSubsystem - 0 or 1 .
CopyInputToOutput - 0 or 1 . Set to 1 if we need to copy input port to the outport.
IteratorBlock - Block index of parent iterator block.
AssignMode - mode that the block is in
If the element, rows, or cols are internal, the following parameters are written:
NumRows
NumCols
Elements
Rows
Columns
If the element, rows, or cols are not internal, the following parameters are written:
ElementPortIdx
RowPortIdx
ColPortIdx
|
Backlash
|
BacklashWidth parameter giving the `backlash' region for the block.
- 1
RWorkDefine record, containing PrevY if fixed-step solver.
- 2
RWorkDefine records, containing PrevYA and PrevYB used for `banking' the output to prevent model execution inconsistencies.
InputContiguous (yes or no )
|
BusSelector
|
No block specific records.
|
Clock
|
No block specific records.
|
CombinatorialLogic
|
TruthTable parameter defining what the output should be, y = f(TruthTable, u ) .
|
ComplexToMagnitudeAngle
|
Output ParamSetting . Output is Magnitude , Angle , or Magnitude And Angle indicating what the output port(s) are producing.
|
ComplexToRealImag
|
Output ParamSetting . Output is one of Real , Imag , or Real And Imag indicating what the output port(s) are producing.
|
Constant
|
Value parameter indicating what the output port should produce.
InFixptMode (1 or 0 )
|
InFixPtMode
|
Fixed point is output datatype (1 or 0 ).
|
DataStoreMemory
|
Virtual - Not written to the model .rtw file.
|
DataStoreRead
|
DataStore parameter - Region index into data stores list to get data store name, etc.
|
DataStoreWrite
|
DataStore parameter - Region index into data stores list to get data store name, etc.
|
DataTypeConversion
|
No block specific records.
|
DeadZone
|
LowerValue parameter - the lower value of the deadzone.
UpperValue parameter - the upper value of the deadzone.
InputContiguous ParamSetting (yes or no ).
OptimizeLowerLimit (yes or no ).
SaturateOnOverflow ParamSetting (NotNeed , Needed , NeededBugOff , or NeededForDiagnostics ).
|
Demux
|
Virtual - Not written to the model .rtw file.
|
Derivative
|
The Derivative block computes its derivative by using the approximation:
Two banks of history are needed to keep track of the previous input because the input history is updated prior to integrating states. To guarantee correctness when the output of the Derivative block is integrated directly or indirectly, two banks of the previous inputs are needed. This history is saved in the real-work vector (RWork ). The real-work vectors are:
TimeStampA RWork - time values for `bank A'
LastUAtTimeA RWork - last input value for `bank A'
- '
TimeStampB RWork - time values for `bank B'
LastUAtTimeB RWork - last input value for `bank B'
|
DigitalClock
|
No block specific records.
|
DiscreteFilter
|
See Linear Block Specific Records.
|
DiscreteIntegrator
|
- Zero, one or two
RWork vectors depending on the InegratorMethod . These will be SystemEnable or IcNeedsLoading or both.
IntegratorMethod ParamSetting - ForwardEuler , BackwardEuler , or Trapezoidal .
ExternalReset ParamSetting - none, rising, falling, either, level .
InitialConditionSource ParamSetting - internal or external .
LimitOutput ParamSetting - on or off .
ShowSaturationPort ParamSetting - on or off .
ShowStatePort ParamSetting - on or off .
ExternalX0 ParamSetting - only written when initial condition (IC) source is external.This is the initial value of the signal entering the IC port.
InitialCondition parameter.
UpperSaturationLimit parameter.
LowerSaturationLimit parameter.
|
DiscreteStateSpace
|
See Model.rtw Linear Block Specific Records
|
DiscreteTransferFcn
|
See Model.rtw Linear Block Specific Records
|
DiscreteZeroPole
|
See Model.rtw Linear Block Specific Records
|
Display
|
No block specific records.
|
ElementaryMath
|
Operator ParamSetting - One of sin , cos , tan , asin , acos , atan , atan2 , sinh , cosh , tanh , exp , log , log10 , floor , ceil , sqrt , reciprocal , pow , or hypot .
|
EnablePort
|
ControlPortNumber ParamSetting - The control input port number for this block. The corresponding subsystem block control input port index is the block port number minus one.
SubsystemIdx ParamSetting - This is the location [ systemIdx , blockIdx ] of the nonvirtual subsystem which contains this nonvirtual Enable block.
|
Fcn
|
Expr ParamSetting - Text string containing the expression the user entered.
FcnASTNode record, containing the parsed abstract syntax tree for the expression. The general form of the ASTNode is:
|
ForIterator
|
IterationSrc - internal or external
NumberOfIterations -1 when external. Otherwise, the user specified parameter.
OwnAssignmentBlocks (1 or 0 )
HasParentIterator (1 or 0 ) if this block is in a nested for or while loop, this is the topmost parent iterator block.
|
From
|
Virtual. Not written to model .rtw file.
|
FromFile
|
FileName ParamSetting - Name of MAT-file to read data from
NumPoints ParamSetting - Number of points of data to read
TUData ParamSetting - Time and data points. Not present if using the Rapid Simulation Target.
Width ParamSetting - Number of columns in TUData structure.
- One
PWork vector, PrevTimePtr used for managing the block output.
|
FromWorkspace
|
VariableName ParamSetting - Name of variable in "Data" field in block parameter dialog box.
DataFormat ParamSetting - Matrix or Structure .
Interpolate ParamSetting - Interpolate flag is on/off (see entry for From Workspace block in the "Using Simulink" manual).
OutputAfterFinalValue ParamSetting - How to generate output after final data value (see entry for From Workspace block in the "Using Simulink" manual).
NumPoints ParamSetting - Number of data points (rows) over which to read values from as time moves forward and write to the output port.
The following two items (Time and Data ) are written as Parameters if we are generating code for the Rapid Simulation Target, otherwise they are written as ParamSettings .
Time - The time tracking vector. May or may not be present. If data format is Matrix, then this field is always present. If data format is Struct then this field is present only if the time field exists.
Data - The data to put on the output port.
- One
IWork vector for the PrevIndex used in computing the output.
- Three
PWork vectors, TimePtr , DataPtr , RSimInfoPtr used in computing the output.
|
Gain
|
SaturateOnOverflow ParamSetting - Only written for element gain operations. (NotNeed , Needed , NeededBugOff , or NeededForDiagnostics ).
OperandComplexity ParamSetting - Only written for non-element gain operations. This is one of RR,RC,CR,CC where R=Real and C=Complex, depending on how the block is configured.
Dimensions ParamSetting - Only written for non-element gain operations. This is a vector containing the dimensions for the gain operation.
Complexities ParamSetting - Only written for non-element gain operations. An integer array [outputPortComplexity, <input and gain complexity pair>] .
Gain.Parameter - Any real or complex value
|
Goto
|
Virtual. Not written to model .rtw file.
|
GotoTagVisibility
|
Virtual. Not written to model .rtw file.
|
Ground
|
Virtual. Not written to model .rtw file.
|
HiddenBuffer
|
There are no block specific records. This block is automatically inserted into your model by the simulation engine to make the generate code more efficient by providing contiguous signals to blocks that require contiguous inputs (for example, the matrix multiply algorithm is more efficient if the inputs are contiguous).
|
HitCross
|
InputContiguous ParamSetting - yes , no is the input contiguous?
HitCrossingOffset Parameter - The hit crossing offset used in computing the output.
|
If
|
ElsePort - 0 or 1 (whether the else port is shown).
NumElseIfs - number of elseif ports
NumIfActionSystems - number of action subsystems connected to the If block.
TrueZCs - 0 or 1 (whether the If block is doing zero crossing on its input).
IfActionInfo - for each output port, a record of the conditional expression, and the subsystem that the port is connected to.
MinorStepGuard - yes , no . If yes, guard against changing output value during minor step.
|
InitialCondition
|
Value parameter - This is the initial condition to output the first time the block executes. It is a parameter (as opposed to a ParamSetting ) to enable loop rolling.
|
Inport
|
Virtual. Not written to model .rtw file.
|
Integrator
|
ExternalReset ParamSetting - one of none , rising , falling , either , level .
InitialConditionSource ParamSetting - internal or external .
LimitOutput ParamSetting - on or off .
ShowSaturationPort ParamSetting - on or off .
ShowStatePort ParamSetting - on or off .
ExternalX0 ParamSetting - only present for external initial conditions.
InputContiguous ParamSetting - is the first input port contiguous (yes or no )?
ResetInputContiguous ParamSetting - Only present if the reset port is present.
InitialCondition parameter.
UpperSaturationLimit parameter.
LowerSaturationLimit parameter.
|
Logic
|
Operator ParamSetting - one of AND , OR , NAND , NOR , XOR , or NOT .
|
Lookup
|
ZeroTechnique ParamSetting - The type of lookup being performed. This doesn't change during model execution. The possibilities are: NormalInterp , AverageValue , or Middle_Value.
InputValues parameter - The input values, x , corresponding to the function y = f(x) .
OutputValues parameter - The output values, y , of the function
y = f(x) .
OutputAtZero parameter - the output when the input is zero.
|
Lookup2D
|
ColZeroTechnique ParamSetting - NormalInterp , AverageValue , or MiddleValue .
ColZeroIndex ParamSetting - Primary index when column data is zero.
ColZeroIndex ParamSetting - - NormalInterp , AverageValue , or MiddleValue .
RowIndex parameter - The row input values, x , to the function z = f(x,y) .
ColumnIndex parameter - The column input values, y , to the function z = f(x,y) .
OutputValues parameter - The table output values, z , for the function z = f(x,y) .
|
MagnitudeAngleToComplex
|
Input ParamSetting - one of Magnitude , Angle , or MagnitudeAndAngle
ConstantPart parameter - Only written when there is one input port.
|
Math
|
Operator ParamSetting - exp , log , 10^u , log10 , square , sqrt , pow , reciprocal , hypot , rem , or mod .
|
MATLABFcn
|
There is no support for the MATLAB Fcn block in the Real-Time Workshop.
|
Memory
|
- One
DWork vector, PreviousInput , used to produce the output.
X0 parameter - the initial condition.
|
Merge
|
InitialOutput parameter, giving the initial output for the merged signal.
|
MinMax
|
Function ParamSetting - min or max .
|
MultiPortSwitch
|
No block specific records.
|
Mux
|
Virtual. Not written to model .rtw file.
|
Outport
|
The block record for this block depends on the type of outport:
- Root outports:
PortNumber ParamSetting - Port number as entered in the dialog box.
OutputLocation ParamSetting - Specified as Yi if root-level outport; otherwise specified as Bi .
OutputWhenDisabled ParamSetting - Only written when in an enabled subsystem and will be held or reset .
- Outport in a nonvirtual subsystem:
- InputContiguous ParamSetting -
yes or no .
OutputWhenDisabled ParamSetting - held or reset .
SpecifyIC ParamSetting - yes or no was the IC specified?
InitialOutput parameter - Only written for virtual outport blocks in a nonvirtual subsystem.
VirtualizableRoot - Can be virtual block at subsystem level (yes or no )
|
Probe
|
ProbeWidth ParamSetting - on or off.
ProbeSampleTime ParamSetting - on or off.
ProbeComplexSignal ParamSetting - on or off.
ProbeSignalDimensions ParamSetting - on or off.
|
Product (element-wise multiply with one input port)
|
- If block is configured for element-wise multiply, the block record contains:
- One optional
IWork vector to suppress warnings.
Multiplication ParamSetting - "Element-wise(.*)"
Inputs ParamSetting - string vector of the form:
[*, *, /]
SaturateOnOverflow ParamSetting (NotNeed , Needed , NeededBugOff , or NeededForDiagnostics ).
|
Product (matrix multiply with one input port)
|
If block is configured for matrix multiply with one input port and block reduction is off , the block record contains:
Multiplication ParamSetting - "Matrix(*)"
Inputs ParamSetting - string vector of the form:
[*, *, /]
OneInputMultipley ParamSetting - yes .
|
Product (matrix multiply with more than one input port).
|
If block is configured for matrix multiply, with more than one input port, the block record contains:
Multiplication ParamSetting - "Matrix(*)"
Inputs ParamSetting - string vector of the form:
[*, *, /]
OneInputMultipley ParamSetting - no .
OperandComplexity ParamSetting - RR , RC , CR , or CC where:
Dimensions ParamSetting - [numSteps x 3] matrix. Each row of the matrix contains 3 elements. If for a specific step, e.g., i-th, operand1 is a [m x n] matrix, and operand2 is a [n x k] matrix, the i-th row contains [m n k].
Operands ParamSetting - [numSteps x 3] matrix. Each row contains the {result, operand1, operand2}. Where: zero - block output greater than zero - data input port number (unity-index based) less than zero - dwork buffer number (negative unity-index based).
Complexities ParamSetting - [numSteps x 3] matrix. Each row contains the {result, operand1, operand2}. Where: zero - real one - complex
Operators ParamSetting - LU , Pivot , X dwork indices.
DivisionBuffers ParamSetting - LU , Pivot , X dwork indices.
|
PulseGenerator
|
PhaseDelay ParamSetting , giving the numerical phase delay.
PulseType ParamSetting , giving Time-based or Sample-based .
PulseMode ParamSetting , one of Sample-based-Discrete ,
Time-based-Discrete , or Time-based-Variable .
- The following depend on the
PulseMode :
- For
Sample-based-Discrete and Time-based-Discrete there is one IWork for ClockTicksCounter , used to manage the pulse.
- For
Time-based-Variable (when using variable-step solver with rsim or Accelerator):
-
- One IWork for justEnabled , used to indicate if the pulse has been re-enabled
- One IWork for currValue , indicating the on/off status of the pulse
- One IWork for numCompleteCycles , used to track how many cycles have been completed
- One RWork for nextTime , used to track the time of next hit
Amplitude parameter, a numerical vector giving the pulse amplitude.
Period parameter, a numerical vector giving the pulse period.
PulseWidth parameter, a numerical vector giving the pulse width.
|
Quantizer
|
QuantizationInterval parameter - numerical vector giving the quantization interval points.
|
RandomNumber
|
- One
IWork vector RandSeed .
- One
RWork vector NextOutput .
Mean parameter - the mean of the random number generator.
StdDev parameter - the standard deviation of the random number generator.
|
RateLimiter
|
- If a variable step solver is being used, then this block has two
RWork vectors, PrevYA and PrevYB (two banks to maintain consistent simulation results).
- If a fixed-step solver is being used, then this block has two
RWork vectors, PrevT and PrevY (used to keep track last time and output).
RisingSlewLimit parameter.
FallingSlewLimit parameter.
|
RealImagToComplex
|
Input ParamSetting - Real , Imag , or RealAndImag .
ConstantPart parameter.
|
Reference
|
Will never appear in model .rtw .
|
RelationalOperator
|
Operator ParamSetting - One of == , ~= , < , <= , >= , > .
InputContiguous ParamSetting - yes or no .
InFixptMode - 1 or 0
If InFixptMode = 1, the following records appear:
FixPtOutput - DataTypeId
FixPtRelOpStr - operator string
FixPt_u0Dominant - 0 , 1 , or -1
|
Relay
|
InputContiguous ParamSetting - yes or no .
OnSwitchValue parameter.
OffSwitchValue parameter.
OnOutputValue parameter.
OffOutputValue parameter.
|
ResetIntegrator
|
InitialCondition parameter.
|
Rounding
|
Operator ParamSetting - floor , ceil , round , or fix
|
Saturate
|
InputContiguous ParamSetting - yes or no .
UpperLimit parameter.
LowerLimit parameter.
- OptimizeLowerLimit -
yes or no
- OptimizeUpperLimit -
yes or no
|
Scope
|
- One
PWork for LoggedData .
SaveToWorkspace ParamSetting - yes or no .
SaveName ParamSetting - name of variable to log.
MaxRows ParamSetting - maximum number of data points to log.
Decimation ParamSetting - integer giving when to log data 1 for every time step, 2 for every other time step, and so on.
DataFormat ParamSetting - StructureWithTime , Structure , or Matrix .
AxesTitles ParamSetting - record giving the axis title strings.
AxesLabels ParamSetting - record giving the axis label strings.
PlotStyles ParamSetting - what we are plotting.
|
Selector
|
When the Selector block is nonvirtual (in vector, internal elements mode), the following are written to the model .rtw file.
SelectorMode - mode that the block is in
If the element, rows, or cols are internal, one or more of the following parameters are written:
NumRows
NumCols
Elements
Rows
Columns
If the element, rows, or cols are not internal, one or more of the following parameters are written:
ElementPortIdx
RowPortIdx
ColPortIdx
|
S-Function
|
The S-function has the following parameter settings:
FunctionName - Name of S-function.
SFunctionLevel - Level of the S-function 1 or 2 .
FunctionType - Type of S-function: M-File , C-MEX , or FORTRAN-MEX .
Inlined - yes , no , or skip . Skip is for case of non-C-MEX S-function sink.
DirectFeedthrough - For level 1 S-functions, this will be written as yes or no . For level 2 S-functions, this will be a vector of yes or no for each input port.
UsingUPtrs - If this is a Level 1 C MEX S-function and if it is using ssGetUPtrs (instead of ssGetU ), then this ParamSetting will be yes . If this a Level 2 S-function, then this field will be a vector of yes /no , each element corresponding to each input port. An element value of yes implies that the S-function has set the RequiredContiguous attribute for the corresponding input port to true . The Level 2 S-function will be using ssGetInputPortSignal (instead of ssGetInputPortSignalPtrs ).
InputContiguous - For level 1 S-functions, this will be yes or no . For level 2 S-functions, this is a vector of yes or no for each input port.
SampleTimesToSet - Mx2 matrix of sample time indices indicating any sample times specified by the S-function in mdlInitializeSizes and mdlInitializeSampleTimes that get updated. The first column is the S-function sample time index, and the 2nd column is the corresponding SampleTime record of the model giving the PeriodAndOffset . For example, an inherited sample time will be assigned the appropriate sample time such as that of the driving block. In this case, the SampleTimesToSet will be [0, <i>] where <i> is the specific SampleTime record for the model.
|
S-Function (continued)
|
DynamicallySizedVectors - Vector containing any of:
U , U0 , U1 , ..., Un ,
Y , Y0 , Y1 , ..., Yn ,
Xc , Xd , RWork , IWork , PWork , D0 , ...., Dn .
RTWGenerated - yes or no , is this generated by the Real-Time Workshop?
The next section contains information about function-call connections:
NumSFcnSysOutputCalls - Number of calls to subsystems of type
function-call .
SFcnSystemOutputCall { One record for each call
OutputElement Index of the output element that is
doing the function call.
FcnPortElementIndex of the subsystem function
port element that is being called.
BlockToCall [systemIndex , blockIndex ] or
unconnected
}
|
S-function (continued)
|
If the S-function has a mdlRTW method, then additional items can be added. See matlabroot /simulink/src/sfuntmpl_doc.c . If the S-function is not inlined, i.e., sfunctionname.tlc does not exist) then
- For each S-function parameter entered in the dialog box, there is a
P#Size and P# parameter giving the size and value of the parameter, where # is the index starting at 1 of the parameter in the dialog box.
If the S-function is inlined, i.e., sfunctionname .tlc does exist,
- No
sizes parameter. Parameter names are derived from the run-time parameter names.
|
SignalGenerator
|
- WaveForm ParamSetting -
sine , square , or sawtooth .
- TwoPi - 6.283185307179586.
Amplitude parameter.
Frequency parameter.
|
Signum
|
No block specific records.
|
Sin
|
- -
SineType ParamSetting , indicating Time-based or Sample-based .
- The remaining items depend on the mode of operation.
- If the
SineType is Time-based and the block is discrete, the following are written to the model .rtw file:
- Two
RWork vectors: LastSin and LastCos .
- One
IWork : SystemEnable .
- Seven parameters:
Amplitude , Bias , Frequency , SinH , CosH , SinPhi , and CosPhi .
If the SineType is Sample-based and the block is discrete, the following are written to the model .rtw file:
- Two additional
ParamSettings : TsOffsetCorrection and Pi .
- One
IWork : Counter .
- Four parameters:
Amplitude , Bias , Samples and Offset .
If the SineType is Time-based and the block is continuous:
- Four parameters are written:
Amplitude , Bias , Frequency and Phase .
|
Step
|
Time parameter.
Before parameter.
After parameter.
|
StateSpace
|
See Model.rtw Linear Block Specific Records
|
SwitchCase
|
-
DefaultPort - 0 or 1 (whether the default port is shown).
NumCases - number of cases not including default case.
NumCaseActionSystems - number of action subsystems connected to the SwitchCase block.
TrueZCs - 0 or 1 (whether the SwitchCase block is doing zero crossing on its input).
CaseActionInfo - one record for each output port, consisting of.
BlockToCall [systemIdx blockIdx] - the subsystem being called, or "unconnected"
CaseConditions - integer vector containing conditions for each case; not present for default port.
MinorStepGuard - yes , no . If yes, guard against changing output value during minor step.
|
Sum
|
Inputs ParamSetting - A vector of the form [+, +, -] corresponding to the configuration of the block.
SaturateOnOverflow ParamSetting (NotNeed , Needed , NeededBugOff , or NeededForDiagnostics ).
|
SubSystem
|
Properties of the SubSystem record are described in Subsystem Block Specific Records.
|
Switch
|
ControlInputContiguous ParamSetting - yes or no.
Threshold parameter.
|
ToFile
|
- Two
IWork vectors, Decimation , and Count .
- Two
PWork vectors, FilePtr , and LogFilePtr .
Filename ParamSetting.
MatrixName ParamSetting.
Decimation ParamSetting.
|
ToWorkspace
|
- One
PWork vector, LoggedData .
VariableName ParamSetting - Name of variable used to save data.
MaxDataPoints ParamSetting - Maximum number of rows to save or 0 for no limit.
Decimation ParamSetting - Data logging interval
InputContiguous - yes or no.
SaveFormat ParamSetting .
Label ParamSetting .
|
Terminator
|
Virtual. Not written to model .rtw file.
|
TransferFcn
|
See Model.rtw Linear Block Specific Records
|
TransportDelay
|
InitialInput ParamSetting .
BufferSize ParamSetting .
DiscreteInput ParamSetting .
- One
IWork vector, BufferIndices .
- One
PWork vector, TUbuffer .
DelayTime parameter.
|
TriggerPort
|
TriggerType ParamSetting - Only written if the number of output ports is one.
ControlPortNumber ParamSetting - The control input port number for this block. The corresponding subsystem block control input port index is PortNumber-1 .
SubsystemIdx ParamSetting - This is the location [systemIdx, blockIdx] of the non-virtual subsystem which contains this non-virtual Trigger block.
|
Trigonometry
|
Operator ParamSetting - sin , cos , tan , asin , acos , atan , atan2 , sinh , cosh , or tanh.
|
UniformRandomNumber
|
- One
IWork vector, RandSeed .
- One
RWork vector, NextOutput .
Seed ParamSetting .
Minimum parameter.
MaxMinusMin parameter.
|
UnitDelay
|
- One
DWork vector, PreviousInput , called DSTATE , used to produce the output.
X0 parameter - the initial condition.
AccumType - Accumulator type, 0 (no accumulator), + , or -
UnityAccum - yes or no
SaturateAccumOnOverflow - NotNeeded or Needed
When Fixed-point is in use, the following records appear:
- InFixptMode -
1
:FixPtOutput - DataTypeId
|
VariableTransportDelay
|
InitialInput ParamSetting .
BufferSize ParamSetting .
DiscreteInput ParamSetting .
- One
RWork vector, TUbufferArea .
- One
PWork vector, TUbufferPtrs .
DelayTime parameter.
|
Width
|
No block specific records.
|
ZeroPole
|
See Model.rtw Linear Block Specific Records
|
WhileIterator
|
-
MaxNumberOfIterations - maximum number of time this loop will iterate.
OwnAssignBlocks - yes or no. yes if there are any Assignment blocks in the same system.
NeedIterationVariable - yes or no.
HasParentIterator - 0 or 1 .
|
ZeroOrderHold
|
No block specific records.
|