exponenta event banner

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

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

Как и в случае функции MATLAB ® S, код функции C MEX S должен информировать 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)

Пример реализации этих методов см. в разделе Пользовательский код и кодированные вручную блоки с помощью S-function API.

См. также

| | | | |

Связанные темы