How to test if an object is a simulink.parameter ?

11 visualizzazioni (ultimi 30 giorni)
Hi,
Short question: How can I test if an object is a simulink parameter ?
Context:
Simulink data dictionaries allows mutliple type.
I'm getting dataEntries, but after than, I need specific function to get the data entries properties, such as value.
What i tried:
1 / I could use listEntry, but unfortunatelly it cannot be saved in a variable (tested with MATLAB R2022B)
myDictionaryObj = Simulink.data.dictionary.open('sldemo_fuelsys_dd_controller.sldd');
>> listEntry(myDictionaryObj,'Class','Simulink.Parameter')
Section Name Status DataSource LastModified LastModifiedBy Class
Design Data hys sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:05 The MathWorks, Inc. Simulink.Parameter
Design Data max_ego sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data max_press sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data max_speed sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data max_throt sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data min_press sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data min_speed sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:11 The MathWorks, Inc. Simulink.Parameter
Design Data min_throt sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data PressEst sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:11 The MathWorks, Inc. Simulink.Parameter
Design Data PressVect sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:09 The MathWorks, Inc. Simulink.Parameter
Design Data PumpCon sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:33 The MathWorks, Inc. Simulink.Parameter
Design Data RampRateKiX sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:05 The MathWorks, Inc. Simulink.Parameter
Design Data RampRateKiY sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:05 The MathWorks, Inc. Simulink.Parameter
Design Data RampRateKiZ sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:33 The MathWorks, Inc. Simulink.Parameter
Design Data SpeedEst sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:11 The MathWorks, Inc. Simulink.Parameter
Design Data SpeedVect sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data ThrotEst sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:11 The MathWorks, Inc. Simulink.Parameter
Design Data ThrotVect sldemo_fuelsys_dd_controller.sldd 2015-12-17 00:10 The MathWorks, Inc. Simulink.Parameter
Design Data zero_thresh sldemo_fuelsys_dd_controller.sldd 2013-10-22 10:05 The MathWorks, Inc. Simulink.Parameter
>> iWillFail = listEntry(myDictionaryObj,'Class','Simulink.Parameter')
Incorrect number or types of inputs or outputs for function 'listEntry'.
I don't know if this is a bug or expected behavior
2/ I wanted to use : 'isa', but it does not allow to test for Simulink parameter

Risposta accettata

Paul
Paul il 19 Mar 2023
Hi Alexandre
Use find on dictionary section object to find the entries that meet the desired criterion.
>> myDictionaryObj = Simulink.data.dictionary.open('sldemo_fuelsys_dd_controller.sldd');
>> dDataSectObj = getSection(myDictionaryObj,'Design Data');
>> foundEntries = find(dDataSectObj,'-value','-class','Simulink.Parameter')
>> foundEntries(1)
ans =
Entry with properties:
Name: 'RampRateKiX'
Value: [1×1 Simulink.Parameter]
DataSource: 'sldemo_fuelsys_dd_controller.sldd'
LastModified: '2013-Oct-22 08:05:23.609681'
LastModifiedBy: 'The MathWorks, Inc.'
Status: 'Unchanged'
>> foundEntries(1).getValue
ans =
Parameter with properties:
Value: [128 256 384 512 640]
CoderInfo: [1×1 Simulink.CoderInfo]
Description: ''
DataType: 'auto'
Min: []
Max: []
Unit: ''
Complexity: 'real'
Dimensions: [1 5]

Più risposte (0)

Categorie

Scopri di più su Manage Design Data in Help Center e File Exchange

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by