Проверьте законность MATLAB параметры S-функции
Нет
MATLAB
CheckParameters(s)
s
Экземпляр класса Simulink.MSFcnRunTimeBlock
, представляющего Уровень 2 Блок s-function MATLAB.
Проверяет новые установки параметров каждый раз, когда параметры изменяются или переоценены во время моделирования.
Когда моделирование запускается, изменения в 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