How to change data dictionary entry through matlab script without altering the storage class?
29 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I am trying to change multiple entries in the data dictionary for a particular model. Instead of copy pasting every time, I would like to create a script for doing this automatically everytime. This is the script I am using right now:
BPPR_sldd = Simulink.data.dictionary.open('BPPR_ac.sldd');
dDataSectObj = getSection(BPPR_sldd,'Design Data');
a = getEntry(dDataSectObj,'KtBPPR_I_I2chr');
setValue(a,single(cal_I2c));
The issue here is that when I do this the parameter changes its storage class and becomes a generic constant when setValue is used. See figure for reference:
0 Kommentare
Antworten (1)
Donn Shull
am 23 Jan. 2022
Do not cast the DataType during the assignment.for example:
>> x = Simulink.Parameter
x =
Parameter with properties:
Value: []
CoderInfo: [1×1 Simulink.CoderInfo]
Description: ''
DataType: 'auto'
Min: []
Max: []
Unit: ''
Complexity: 'real'
Dimensions: [0 0]
The DataType is 'auto'. Assign the value:
>> x.Value = 12
x =
Parameter with properties:
Value: 12
CoderInfo: [1×1 Simulink.CoderInfo]
Description: ''
DataType: 'auto'
Min: []
Max: []
Unit: ''
Complexity: 'real'
Dimensions: [1 1]
The DataType is unchanged. Assign the value using a cast:
>> x.Value = uint16(12)
x =
Parameter with properties:
Value: 12
CoderInfo: [1×1 Simulink.CoderInfo]
Description: ''
DataType: 'uint16'
Min: []
Max: []
Unit: ''
Complexity: 'real'
Dimensions: [1 1]
The DataType changes to 'uint16'.
1 Kommentar
Shashwat Singh
am 8 Aug. 2023
Bearbeitet: Shashwat Singh
am 8 Aug. 2023
How to alter the Storage class of 'Simulink.Parameter' programatically???
Siehe auch
Kategorien
Mehr zu Event Functions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!