Simulink model to .NET dll using MATLAB Compiler SDK & Simulink Compiler. new_system

7 visualizaciones (últimos 30 días)
Rajesh
Rajesh el 13 de Sept. de 2023
Respondida: Meet el 18 de Dic. de 2024 a las 5:28
Please help me , How to use the below functions for deploying Simulink model to .NET dll using MATLAB Compiler SDK & Simulink Compiler.
new_system
load_system
open_system
save system
add_block
add_line
close_system
Thanks in advance,
Rajesh P

Respuestas (1)

Meet
Meet el 18 de Dic. de 2024 a las 5:28
Hi Rajesh,
Assuming you are creating the Simulink model programmatically, here is the sample code that creates a Simulink model with a constant and gain block:
% Step 1: Create a new Simulink model
new_system('myModel');
open_system('myModel');
% Step 2: Add blocks to the model
add_block('built-in/Constant', 'myModel/ConstantBlock');
add_block('built-in/Gain', 'myModel/GainBlock', 'Gain', '5');
add_block('built-in/Scope', 'myModel/ScopeBlock');
% Step 3: Connect the blocks
add_line('myModel', 'ConstantBlock/1', 'GainBlock/1');
add_line('myModel', 'GainBlock/1', 'ScopeBlock/1');
save_system('myModel');
close_system('myModel', 1);
"compiler.build.dotNETAssembly" does not directly support Simulink (.slx) files hence you need to create a wrapper code for this and save this code in a MATLAB file (lets say simulateModel.m) as below:
function output = simulateModel(input)
% Load the Simulink model
load_system('myModel');
% Simulate the model
simOut = sim('myModel');
% Extract output from simulation results
% Assuming 'yout' is the output signal
output = simOut.yout;
% close the system after simulation
close_system('myModel', 0);
end
Once the MATLAB file is created you can use MATLAB Compiler SDK to compile the function into a .NET assembly:
load_system('myModel');
% Build the model
slbuild('myModel');
% Package the model into a .NET assembly
compiler.build.dotNETAssembly('simulateModel.m', 'AssemblyName', 'MySimulinkModel', 'OutputDir', fullfile(pwd, 'output'));
close_system('myModel', 0);
You can find additional information on creating a .NET assembly for deployment at the following link: https://www.mathworks.com/help/compiler_sdk/dotnet/compiler.build.dotnetassembly.html
Hope this resolves your issue!!

Categorías

Más información sobre Call MATLAB from .NET en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by