2013-09-16 2 views
0

У меня проблема с свойствами блока simulink. Мне нужно проверить, имеет ли блок параметр с именем «paramName». Если этот параметр отсутствует, мне нужно его добавить. Для этого я хочу, чтобы получить параметры маски:Управляющие маски программно для блока Simulink

p = Simulink.Mask.get(blockName); 

В этом примере я получаю от помощи. Но Simulink показывает следующую ошибку:

undefined variable "Simulink" or class "Simulink.Mask.get"

Что мне делать для решения моей проблемы?

+0

На самом деле, чтение вверх на документ (http://www.mathworks.co.uk/help/simulink/ug/control-masks- programatically.html), это должно сработать. Какой выпуск MATLAB вы используете? Возможно, эта функция недоступна в вашем выпуске. Работа, описанная ниже с 'get_param', должна работать хотя (документ предлагает использовать другие свойства, такие как' MaskVariables' и т. Д.) – am304

+0

Я использую 64-битные MATLAB R2011b (7.13.0.564). –

+0

Спасибо за ваш ответ. Я могу проверить, существует ли параметр. Для этого я использую ваш код и функцию isfield. –

ответ

2

Вы, вероятно, нужно использовать get_param в сочетании с DialogParameters собственности, например .:

block_params = get_param(%block_path%,`DialogParameters`); 

Выход block_params представляет собой структуру со всеми параметрами этого конкретного блока. Замените %block_path% на путь к рассматриваемому блоку или используйте gcb для текущего блока. Существует пример на странице документации для get_param:

Get a Block Parameter Value and Attributes

List the block parameter names for the Inertia block in the Requisite Friction subsystem of the sldemo_clutch model.

block_params = get_param('sldemo_clutch/Friction Mode Logic/Requisite Friction/Inertia Ratio',... 'DialogParameters') 

ans = 
              Gain: [1x1 struct] 
          Multiplication: [1x1 struct] 
           ParamMin: [1x1 struct] 
           ParamMax: [1x1 struct] 
        ParamDataTypeStr: [1x1 struct] 
            OutMin: [1x1 struct] 
            OutMax: [1x1 struct] 
         OutDataTypeStr: [1x1 struct] 
           LockScale: [1x1 struct] 
            RndMeth: [1x1 struct] 
    SaturateOnIntegerOverflow: [1x1 struct] 
          SampleTime: [1x1 struct] 
Смежные вопросы