accessing port data types during Complilation
1 view (last 30 days)
Show older comments
Hi,
I am masking addition block, i need to access the port datatypes of the Addition block.
I have written the code in initialization tab of the mask system, to access the port datatypes i used the below code
IportBlks = find_system(mdlName, 'LookUnderMasks', 'on','BlockType', 'Inport')
InportDTs = cell(numel(IportBlks))
modelname([],[],[],'compile')
for i = 1:numel(IportBlks)
IportBlk = IportBlks{i}
q=get_param(IportBlk,'PortHandles')
InportDTs{i} = get_param(q.Outport,'CompiledPortDataType')
end
modelname([],[],[],'term');
Its not working, but if i run the same code on Command window it will work.
let me know do i need to change the code or any alternative way is there.
0 Comments
Answers (1)
Kaustubha Govind
on 29 Feb 2012
You cannot run this code during mask initialization, because mask initialization is actually one of the stages of the model compilation process (the command "modelname([],[],[],'compile')"). Is there a reason you want to get the CompiledPortDataTypes for all Inport blocks in your model? Perhaps there is a better solution.
2 Comments
Kaustubha Govind
on 6 Mar 2012
Mask initialization code is not generated into the code generated by Simulink/Embedded Coder.
I would recommend post-processing the generated code using the after_tlc in STF_make_rtw_hook.m - you need to create a custom target that inherits from ert.tlc for this. See http://www.mathworks.com/help/releases/R2011b/toolbox/rtw/ug/bse3c7m-1.html and http://www.mathworks.com/help/releases/R2011b/toolbox/rtw/ug/f10435.html#f10760
See Also
Categories
Find more on Subsystems in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!