In Simulink, add custom visualization tool in the review results combo box

4 views (last 30 days)
Hello Community,
I have my own data visualization and reporting tool and I would like to trigger it via a button in SImulink in the REVIEW RESULTS combo box, I am looking for a similar interaction as with the Data Inspector. Can this be done?
And if this works successfuly, is this something I can share with other users afterward? Or should I use an App?
Thank you

Answers (2)

Abhishek Kumar Singh
Abhishek Kumar Singh on 4 Sep 2024
I understand that you want to integrate your custom data visualization tool into Simulink, similar to the Data Inspector, and is want to know about sharing this functionality with others.
You can create a custom button in Simulink using MATLAB's GUI capabilities. This button can be programmed to trigger your data visualization tool using MATLAB scripts or functions. Then you can utilize Simulink model callbacks or block callbacks to execute MATLAB code when certain events occur.
Here's a sample code that you can leverage for reference:
This creates a dummy visualization plot, you can replace it with code that launches your tool:
function launchCustomTool(~, ~)
% Your custom visualization code here
disp('Launching Custom Visualization Tool...');
% Example: open a custom figure or plot data
figure;
plot(rand(10,1)); % Example plot
title('Custom Visualization Tool');
end
Directly modifying the “Review Results” Combo Box in Simulink is not straightforward as it is part of the built-in Simulink UI.The following code adds a figure and a popup menu type button in the Simulink to launch your custom tool:
(Please ensure to run these commands while your model is open and replace modelName with appropriate value)
% Add a custom button to the Simulink model
fig = figure('Name', 'Custom Visualization Tool', 'NumberTitle', 'off', 'MenuBar', 'none', 'ToolBar', 'none', 'Position', [100, 100, 200, 100]);
% Add a button to the figure
uicontrol('Style', 'popupmenu', 'String', 'Launch Custom Tool', ...
'Position', [20 20 150 40], 'Callback', @launchCustomTool);
% Set the PostLoadFcn callback to ensure it is available when the model is loaded.
set_param(modelName, 'PostLoadFcn', 'addCustomButton');
This setup should allow you to add a custom button to your Simulink model that triggers your custom visualization tool.
If you want to share this functionality with other users, consider packaging it as a MATLAB App, Simulink library or even a Toolbox:
  1. MATLAB App: Use the MATLAB App Designer to create a user-friendly interface for your tool. Package the app and share the .mlappinstall file with other users. ( https://www.mathworks.com/products/matlab/app-designer.html )
  2. Simulink Library: Create a custom Simulink library that includes blocks with the necessary callbacks to launch your visualization tool. Share the library file (.slx) with other users. ( https://www.mathworks.com/help/simulink/ug/creating-block-libraries.html )
  3. Package your integration as a MATLAB toolbox, which can include the necessary scripts, functions, and Simulink models. This allows easy sharing and installation by other users.( https://www.mathworks.com/help/matlab/matlab_prog/create-and-share-custom-matlab-toolboxes.html )
I hope this helps!

Adrien Laveau
Adrien Laveau on 4 Sep 2024
Good morning and thank you for the quick and detailed support.
Regarding your statement "Directly modifying the “Review Results” Combo Box in Simulink is not straightforward as it is part of the built-in Simulink UI"
Do you means this is impossible? Or just complicated? Or not meant for that and only Mathworks team can do it?
If that is the case I guess I'll go for the Apps then.
Thank you again

Categories

Find more on Simulink Environment Customization in Help Center and File Exchange

Tags

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!