ModelOperatingPoint
ModelOperatingPoint
для S-функций MEX CКак с S-функцией MATLAB®, ваш код 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-функция не имеет никакого состояния симуляции. С этой установкой никакая информация состояния не сохранена для этого блока. Эта установка, в основном, полезна для блоков "приемника" (т.е. блокируется без выходных портов), которые используют ПримечаниеЭта установка не позволена, если S-функция указывает какие-либо дискретные или непрерывные состояния или нулевые сигналы пересечения.
|
DISALLOW_OPERATING_POINT | Эта установка сообщает Simulink, что S-функция не позволяет сохранение или восстановление его рабочей точки. Simulink сообщает об ошибке, при попытке сохранить или восстановить объект ModelOperatingPoint модели, которая содержит эту S-функцию. Можно использовать эту установку, если S-функция связывается со сторонней библиотекой, и сериализация состояния не возможна. |
USE_CUSTOM_OPERATING_POINT | Эта установка сообщает Simulink, что S-функция имеет методы mdlSetOperatingPoint и mdlGetOperatingPoint . |
Для S-функций, которые используют векторы PWork
или статические переменные, чтобы содержать данные, которые Simulink обновляет во время симуляции, S-функция должна использовать пользовательский mdlGetOpeartingPoint
и методы mdlSetOperatingPoint
. Следующие операторы демонстрируют соответствующий формат.
mxArray* mdlGetOperatingPoint(SimStruct* S) void mdlSetOperatingPoint(SimStruct* S, const mxArray* inSS)
Для примера того, как реализовать эти методы, см. Пользовательский код и Ручные Закодированные Блоки с помощью API S-функции.
GetOperatingPoint
| SetOperatingPoint
| mdlGetOpeartingPoint
| mdlSetOperatingPoint
| ssSetOperatingPointCompliance
| ssSetOperatingPointVisibility