Обновление состояний блока
Нет
MATLAB
Update(s)
s
Образец Simulink.MSFcnRunTimeBlock
класс, представляющий Блок Level-2 MATLAB S-function.
Simulink® engine вызывает этот необязательный метод на каждом главном временном шаге симуляции. Метод должен вычислить состояния S-функции в текущем временном шаге и сохранить состояния в векторе состояний S-функции. Метод может также выполнять любые другие задачи, которые S-функция должна выполнять на каждом главном временном шаге.
Используйте этот код, если ваша S-функция имеет одно или несколько дискретных состояний или не имеет прямого сквозного соединения.
Причина этого в том, что большинство S-функций, которые не имеют дискретных состояний, но имеют прямое сквозное соединение, не имеют функций обновления. Поэтому двигатель способен устранить необходимость дополнительного вызова в этих обстоятельствах.
В Level-2 S-функциях MATLAB используйте метод объекта во время выполнения IsSampleHit
чтобы определить, является ли текущее время симуляции временем, в котором активна задача, обрабатываемая этим блоком. Для шагов расчета на основе портов используйте IsSampleHit
свойство InputPort
объекта во время выполнения или
OutputPort
чтобы определить, производит ли порт выходы или принимает входы на текущем временном шаге симуляции.
Для примера, который использует эту функцию для обновления дискретных состояний, см msfcn_unit_delay.m
.