How to set (check?) the 'inport' datatype for a 'Matlab system block' to a simulink.bus
2 次查看(过去 30 天)
显示 更早的评论
Hi All
When I create a subsystem, then I can set a fixed datatype "Bus: <busname>" for an 'inport'
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1506144/image.png)
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
0 个评论
回答(1 个)
SAI SRUJAN
2023-10-19
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Composite Interfaces 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!