exponenta event banner

Соответствие S-функции с SimState

Спецификация соответствия SimState для уровня 2 S-функции MATLAB

Для установки соответствия SimState по умолчанию Simulink сохраняет и восстанавливает следующие данные для блока:

  • Непрерывные значения состояния

  • Значения сохранили в нецарапине векторы DWork (это включает IWork, RWork и Режим DWorks),

  • Значения Нулевых сигналов Пересечения

Для S-функции Level 2 MATLAB®, чтобы работать с функцией SimState, необходимо задать simStateCompliance блока с помощью метода,

block.simStateCompliance = setting

где допустимые значения установки:

УстановкаРезультат
'UnknownSimState'Эта настройка по умолчанию дает Simulink® команду использовать DefaultSimState, чтобы сохранить и восстановить the SimState и выдает предупреждение.
'DefaultSimState'Эта установка дает Simulink команду обрабатывать S-функцию как встроенный блок при сохранении и восстановлении SimState.
'HasNoSimState'

Эта установка сообщает Симулинку, что S-функция не имеет никакого состояния моделирования. С этой установкой никакая информация состояния не сохранена для блока. Эта установка, в основном, полезна для блоков "приемника" (i. e., блокируется без выходных портов), которые используют PWorks или DWorks, чтобы сохранить указатели на файлы или окна фигуры.

Примечание

Эта установка не позволена, если S-функция указывает какие-либо дискретные или непрерывные состояния или нулевые сигналы пересечения.

'CustomSimState'Эта установка сообщает Симулинку, что S-функция имеет пользовательский GetSimState и методы SetSimState.
'DisallowSimState'Эта установка сообщает Симулинку, что S-функция не позволяет сохранять или восстанавливать ее состояние моделирования. Симулинк сообщает об ошибке, если вы сохраняете и восстанавливаете SimState модели, которая содержит эту S-функцию.

Для S-функции с пользовательскими методами ('CustomSimState') можно использовать следующие операторы, чтобы соответственно получить и установить SimState:

function outSS = GetSimState(block)
function SetSimState(block, inSS)

Для примера того, как реализовать эти пользовательские методы, смотрите msfcn_varpulse.m m.

Смотрите также

| | |

Похожие темы

Была ли эта тема полезной?