How to set (check?) the 'inport' datatype for a 'Matlab system block' to a simulink.bus

1 vue (au cours des 30 derniers jours)
Ludo Houben
Ludo Houben le 9 Oct 2023
Commenté : Ludo Houben le 19 Oct 2023
Hi All
When I create a subsystem, then I can set a fixed datatype "Bus: <busname>" for an 'inport'
How to do this for a 'matlab.System' block?
classdef myClass < matlab.System
methods (Access = protected)
function out = stepImpl(obj, i_Add, i_stPAR)
arguments(Input)
obj;
i_Add uint16 = 1;
i_stPAR Bus:'ST_PAR'; % <=== This part!!??, how to validate if the correct simulink.bus is connected?
out = i_stPAR.var1 * i_stPAR.var2 + i_Add;
end
end
end

Réponses (1)

SAI SRUJAN
SAI SRUJAN le 19 Oct 2023
Hi Ludo Houben,
I understand that you are trying to verify the appropriate connection of simulink.bus within a matlab.system block.
To verify the connection check the properties of the expected Simulink.Bus Element, such as its Name, dimensions, or datatype with the correct Simulink.Bus. In MATLAB, you can utilize the "get_param" function to effectively address this matter.
You can follow below given example to resolve the issue,
% Provide the actual block path
% You can get the block path using find_system.
blockPath = 'path_to_the_block';
% 'Parameter' can be Name, DataType or Dimensions
% Mention the parameter you want to validate
connectedBus = get_param(blockPath, 'Parameter');
% check if the connectedBus and expectedBus are equal - isequal
You can refer to the following documentation to understand more about "get_param" and "find_system" functions in MATLAB.
  1 commentaire
Ludo Houben
Ludo Houben le 19 Oct 2023
Hi Sai Srujan
Thank you for your reply, but I'm not trying to verify, but I am trying to 'force' the input to be from a specific simulink.bus type. I'm using value's from the struct internally and if there is nothing connected, then still the class should work.
Currently it is generating errors as it is being interpreted as a 'double' instead of the required 'Bus: <bus type>'. So at compile time, even if nothing is connected, then the class should still know that the input is of this specific type.
Regards
Ludo

Connectez-vous pour commenter.

Catégories

En savoir plus sur Simulink Functions dans Help Center et File Exchange

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by