Проверяйте валидность MATLAB параметры S-функции
Нет
MATLAB
CheckParameters(s)
s
Экземпляр Simulink.MSFcnRunTimeBlock
класс, представляющий блок Level-2 MATLAB S-function.
Проверяет новые установки параметров каждый раз, когда параметры изменяются или переоценены во время симуляции.
Когда симуляция запускается, изменения в S-параметрах-функции могут произойти в любое время во время цикла симуляции, то есть, или в начале шага симуляции или во время шага симуляции. Когда изменение происходит во время шага симуляции, механизм Simulink® вызывает эту стандартную программу дважды, чтобы обработать изменение параметра. Первый вызов во время шага симуляции используется, чтобы проверить, что параметры правильны. После проверки новых параметров симуляция продолжает использовать исходные значения параметров до следующего шага симуляции, на котором времени используются новые значения параметров. Избыточные вызовы необходимы, чтобы обеспечить непротиворечивость симуляции.
Вы не можете получить доступ к работе, состоянию, входу, выходу и другим векторам в этой стандартной программе. Используйте эту стандартную программу только, чтобы подтвердить параметры. Дополнительная обработка параметров должна быть сделана в ProcessParameters
.
В S-функции Level 2 MATLAB®, setup
метод указывает CheckParameters
метод можно следующим образом
s.RegBlockMethod('CheckParameters', @CheckParam);
Локальная функция CheckParam
затем проверяет S-параметры-функции. В этом примере функция проверяет, что второй параметр, значение верхнего предела, больше первого S-параметра-функции, значения нижнего предела.
function CheckParam(s) % Check that upper limit is greater than lower limit lowerLim = s.DialogPrm(1).Data; upperLim = s.DialogPrm(2).Data; if upperLim <= lowerLim, error('The upper limit must be greater than the lower limit.'); end
ProcessParameters
, Simulink.RunTimeBlock
, Simulink.MSFcnRunTimeBlock
, mdlCheckParameters