ModelOperatingPoint
ModelOperatingPoint
Спецификация податливости для C MEX S-функцийКак и в MATLAB® S-функция, ваш код S-функции C MEX должен информировать Simulink® податливости S-функции ModelOperatingPoint
функция. Вы можете выполнить эту задачу с помощью S-функции API, 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-функция не имеет никакого состояния симуляции. С помощью этого параметра никакая информация о состоянии для этого блока не сохраняется. Эта настройка в основном полезна для блоков «sink» (то есть блоков без выходных портов), которые используют Примечание Эта настройка не разрешена, если 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)
Пример реализации этих методов см. в Custom Code и Hand Coded Blocks с использованием S-функции API.
GetOperatingPoint
| mdlGetOpeartingPoint
| mdlSetOperatingPoint
| SetOperatingPoint
| ssSetOperatingPointCompliance
| ssSetOperatingPointVisibility