Question: In a masked subsystem, I have a block from the Specialized Power System (SPS) library called 'Three-Phase Source (masked)'. This block contains a Configuration box with a Pop-Up Menu. How can I programmatically modify the parameter of the Configuration box within this block from my custom masked subsystem?
Solution:
To change the parameter of the Configuration box within the "Three-Phase Source (masked)" block from your own masked subsystem in Simulink, you can follow these steps:
- Open your masked subsystem by double-clicking on it.
- Right-click inside the masked subsystem and select "Create Mask Initialization Function" from the context menu. This will create an initialization function file for your masked subsystem.
- Open the initialization function file (Ex: your_masked_subsystem_InitFcn.m) that was created in the MATLAB Editor.
- Inside the initialization function, you can use the "set_param" function to modify the parameter of the Configuration box in the "Three-Phase Source (masked)" block. The syntax for "set_param" is as follows:
Code:
set_param('block_path/Configuration', 'ParameterName', 'ParameterValue');
- Here, replace "block_path" with the path to the "Three-Phase Source (masked)" block within your masked subsystem, "Configuration" with the name of the Configuration box parameter, "ParameterName" with the actual parameter you want to modify, and "ParameterValue" with the new value you want to set.
- Save the initialization function file.
Now, whenever you use your masked subsystem in your Simulink model, the initialization function will be executed, and the parameter of the Configuration box within the "Three-Phase Source (masked)" block will be set to the desired value.
Links to Documentation:
Here are some documentation links that you can refer to for more information:
- Simulink Masking: This documentation provides an overview of Simulink masking and how to create and use masked subsystems. Masking Fundamentals - MATLAB & Simulink (mathworks.com)
- MATLAB Function block: This documentation explains how to create and use MATLAB Function blocks within Simulink models. Implement MATLAB Functions in Simulink with MATLAB Function Blocks - MATLAB & Simulink (mathworks.com)
- Specialized Power Systems (SPS): This documentation provides information about the SPS in Simulink, including the available blocks and their functionalities. Specialized Power Systems - MATLAB & Simulink (mathworks.com)
- Simulink API: This documentation provides details about the Simulink API, including the "set_param" function used to modify block parameters programmatically. Set Simulink parameter value - MATLAB set_param (mathworks.com)