Generated Code Structure for Subsystem Mask Parameters
In the generated code for masked subsystems, the mask parameters map to function block inputs. The values you specify in the subsystem mask are assigned to these function block inputs in the generated code.
For example, the following subsystem, Subsystem, contains two
instances, Filt1 and Filt2, of the same masked subsystem.


The two subsystems, Filt1, and Filt2, have
different values assigned to their mask parameters. In this example,
Filt1_Order_Thau is a constant with a value of 5.


Therefore, for the Filt1 subsystem, the
Filt1_Order_Thau parameter has a value of 8, and for the
Filt2 subsystem, the Filt1_Order_Thau
parameter has a value of 5.
The following generated code shows the Filt1 function block inputs.
The rtp_Filt1_Order_Thau input was generated for the
Filt1_Order_Thau mask
parameter.
FUNCTION_BLOCK Filt1
VAR_INPUT
ssMethodType: SINT;
InitV: LREAL;
InitF: BOOL;
Input: LREAL;
rtp_Filt1_Order_Thau: LREAL;
rtp_InitialValue: LREAL;
rtp_Filt1_Order_Enable: BOOL;
END_VARThe following generated code is from the FUNCTION_BLOCK
Subsystem. The function block assigns a value of 8 to the
rtp_Filt1_Order_Thau input for the i0_Filt1
instance, and assigns a value of 5 to the rtp_Filt1_Order_Thau input
for the i1_Filt1
instance.
SS_INITIALIZE:
(* InitializeConditions for Atomic SubSystem: '<S1>/Filt1' *)
i0_Filt1(ssMethodType := SS_INITIALIZE, InitV := In3,
InitF := In2, Input := In1,
rtp_Filt1_Order_Thau := 8.0,
rtp_InitialValue := 0.0,
rtp_Filt1_Order_Enable := TRUE);
Out1 := i0_Filt1.Out;
(* End of InitializeConditions for SubSystem: '<S1>/Filt1' *)
(* InitializeConditions for Atomic SubSystem: '<S1>/Filt2' *)
i1_Filt1(ssMethodType := SS_INITIALIZE, InitV := In6,
InitF := In5, Input := In4,
rtp_Filt1_Order_Thau := 5.0,
rtp_InitialValue := 4.0,
rtp_Filt1_Order_Enable := TRUE);
Out2 := i1_Filt1.Out;
(* End of InitializeConditions for SubSystem: '<S1>/Filt2' *)
SS_STEP:
(* Outputs for Atomic SubSystem: '<S1>/Filt1' *)
i0_Filt1(ssMethodType := SS_OUTPUT, InitV := In3, InitF := In2,
Input := In1, rtp_Filt1_Order_Thau := 8.0,
rtp_InitialValue := 0.0,
rtp_Filt1_Order_Enable := TRUE);
Out1 := i0_Filt1.Out;
(* End of Outputs for SubSystem: '<S1>/Filt1' *)
(* Outputs for Atomic SubSystem: '<S1>/Filt2' *)
i1_Filt1(ssMethodType := SS_OUTPUT, InitV := In6, InitF := In5,
Input := In4, rtp_Filt1_Order_Thau := 5.0,
rtp_InitialValue := 4.0,
rtp_Filt1_Order_Enable := TRUE);
Out2 := i1_Filt1.Out;
(* End of Outputs for SubSystem: '<S1>/Filt2' *)