getSimulinkFunctionNamesImpl

Укажите имена функций Simulink, используемые в вашем Системном объекте

Синтаксис

names = getSimulinkFunctionNamesImpl(obj)

Описание

names = getSimulinkFunctionNamesImpl(obj) задает функцию Simulink® names используемый в Системе object™ obj.

Если вы используете функцию Simulink в своем Системном объекте, можно только вызвать функцию Simulink от stepImplupdateImpl, или outputImpl метод.

Детали во время выполнения

getSimulinkFunctionNamesImpl вызывается MATLAB System во время компиляции модели, чтобы получить список функций Simulink, названных от Системного объекта. Simulink использует эту информацию, чтобы разрешить имена функций к функции Simulink, объявленной в блоке Simulink Function. Если getSimulinkFunctionNamesImpl не возвращает имя функции, названной в методах Системного объекта, Simulink пытается разрешить функцию к функции на пути MATLAB.

Метод, создающий советы

Необходимо установить Access = protected для этого метода.

Входные параметры

развернуть все

Указатель системного объекта раньше получал доступ к свойствам, состояниям и методам, характерным для объекта. Если ваш getSimulinkFunctionNamesImpl метод не использует объект, можно заменить этот вход на ~.

Выходные аргументы

развернуть все

Имена Simulink function вы хотите вызвать от своего Системного объекта.

Примеры

развернуть все

Зарегистрируйте три Simulink, которые вы хотите вызвать от своего Системного объекта. Имена функций Simulink должны совпадать с именем, указанным в блоке Simulink Function.

methods (Access = protected)
  function names = getSimulinkFunctionNamesImpl(obj)
    names = ["setPosition", "doProcessing", "timesTwo"];
  end
end

Этот пример показывает два Simulink Functions условно вызванный MATLAB System блок с помощью ненастраиваемых свойств Системы object®.

MATLAB System блок вызывает один из Simulink Functions в двух различных подсистемах, в зависимости от значения сигнала, прибывающего из Sine Wave блок. Если значение сигнала меньше 10, MATLAB System блок вызывает timestwo_func Simulink Function в SS1 Subsystem блок. Если значение больше, чем 10, оно вызывает timesthree_func в SS2 Subsystem блок.

Имена функций заданы как ненастраиваемые свойства, переключаются от строки до функций с помощью str2func функция. Затем эти функции объявляются как свойства в getSimulinkFunctionNamesImpl метод.

Введенный в R2019a