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

3 views (last 30 days)
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

Answers (1)

SAI SRUJAN
SAI SRUJAN on 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 Comment
Ludo Houben
Ludo Houben on 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

Sign in to comment.

Categories

Find more on Simulink Functions in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!