Можно создать внутренние представления параметров диалогового окна внешней S-функции, называемые параметрами во время выполнения. Каждый параметр во время выполнения соответствует одному или нескольким параметрам диалогового окна и может иметь то же значение и тип данных, что и его соответствующие внешние параметры или другое значение или тип данных. Если параметр во время выполнения отличается по значению или типу данных от его внешнего аналога, параметр диалога, как говорят, был преобразован, чтобы создать параметр во время выполнения. Значение параметра во время выполнения, которое соответствует нескольким параметрам диалога, обычно является функцией от значений параметров диалога. Simulink® двигатель выделяет и освобождает хранилище для параметров во время выполнения и обеспечивает функции для их обновления и доступа, таким образом устраняя необходимость S-функций для выполнения этих задач. Параметры во время выполнения облегчают следующие виды операций S-функции:
Вычисленные параметры
Часто выход блока является функцией от значений нескольких параметров диалога. Например, предположим, что блок имеет два параметра, объем и плотность некоторого объекта, и выход блока является функцией от входного сигнала и массы объекта. В этом случае масса может быть рассмотрена как третий внутренний параметр, вычисленный из двух внешних параметров, объема и плотности. S-функция может создать параметр времени выполнения, соответствующий вычисленному весу, таким образом устраняя необходимость обеспечения обработки особых случаев для веса в выход расчета. Смотрите Создание параметров во время выполнения из нескольких параметров S-функции для получения дополнительной информации.
Преобразования типов данных
Часто блок должен изменить тип данных диалогового параметра, чтобы облегчить внутреннюю обработку. Например, предположим, что выход блока является функцией входного и диалогового параметров, а вход и dialog имеют различные типы данных. В этом случае S-функция может создать параметр времени выполнения, который имеет то же значение, что и параметр диалога, но имеет тип данных входного сигнала, и использовать параметр времени выполнения в расчете выхода.
Генерация кода
Во время генерации кода продукт Simulink Coder™ автоматически записывает все параметры во время выполнения в model
.rtw
файл, устраняющий необходимость выполнения S-функцией этой задачи через mdlRTW
способ.
В Level-2 MATLAB® S-функция, вы создаете параметры во время выполнения, сопоставленные со всеми настраиваемыми параметрами диалога. Используйте AutoRegRuntimePrms
объекта во время выполнения метод в
PostPropagationSetup
метод коллбэка для регистрации параметров во время выполнения блока. Для примера:
block.AutoRegRuntimePrms;
В Level-2 S-функции MATLAB обновляйте параметры во время выполнения с помощью AutoUpdateRuntimePrms
метод в ProcessParameters
метод коллбэка. Для примера:
block.AutoUpdateRuntimePrms;
Level-2 MATLAB S-Function | MATLAB Function | S-Function | S-Function Builder