Податливость S-функции с ModelOperatingPoint

ModelOperatingPoint Спецификация податливости для S-функций MEX C

Как с MATLAB® S-функция, ваш код S-функции MEX C должен сообщить Simulink® из податливости S-функции с ModelOperatingPoint функция. Можно выполнить эту задачу при помощи API S-функции, ssSetOperatingPointCompliance.

В большинстве случаев определение податливости, чтобы быть значением по умолчанию достаточно, чтобы сохранить и восстановить необходимые данные состояния. Чтобы задать податливость по умолчанию, добавьте эту линию:

ssSetOperatingPointCompliance(S, USE_DEFAULT_OPERATING_POINT).

Опции следующие:

УстановкаРезультат
OPERATING_POINT_COMPLIANCE_UNKNOWNЭто - настройка по умолчанию для всех S-функций. Для S-функций, которые не используют PWorks, Simulink сохраняет и восстанавливает рабочую точку симуляции по умолчанию (см. USE_DEFAULT_OPERATING_POINT) и выдает предупреждение, чтобы сообщить пользователю этого предположения. С другой стороны, Simulink сообщает об ошибке во время сохранения и восстановления, если это сталкивается с S-функцией, которая использует PWorks.
USE_DEFAULT_OPERATING_POINTЭта установка дает Simulink команду обрабатывать S-функцию как встроенный блок при сохранении и восстановлении ModelOperatingPoint объект. Эта установка сохраняет непрерывные состояния, нецарапина Dworks и нуль, пересекающий информацию сигнала
USE_EMPTY_OPERATING_POINT

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

Примечание

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

DISALLOW_OPERATING_POINTЭта установка сообщает Simulink, что S-функция не позволяет сохранение или восстановление его рабочей точки. Simulink сообщает об ошибке, при попытке сохранить или восстановить ModelOperatingPoint объект модели, которая содержит эту S-функцию. Можно использовать эту установку, если S-функция связывается со сторонней библиотекой, и сериализация состояния не возможна.
USE_CUSTOM_OPERATING_POINTЭта установка сообщает Simulink, что S-функция имеет mdlGetOperatingPoint и mdlSetOperatingPoint методы.

Для S-функций то использование PWork векторы или статические переменные, чтобы содержать данные, которые Simulink обновляет в процессе моделирования, S-функция, должны использовать пользовательское mdlGetOperatingPoint и mdlSetOperatingPoint методы. Следующие операторы демонстрируют соответствующий формат.

mxArray* mdlGetOperatingPoint(SimStruct* S)
void mdlSetOperatingPoint(SimStruct* S, const mxArray* inSS)

Для примера того, как реализовать эти методы, см. Пользовательский код и Ручные Закодированные Блоки с помощью API S-функции.

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

| | | | |

Похожие темы