Добавьте и реализуйте методы распространения

Когда использовать методы распространения

Методы распространения задают выходные спецификации. Используйте их, когда выходные спецификации не могут быть выведены непосредственно из входов во время Simulink® компиляция модели.

Рассмотрите использование методов распространения в вашей Системе object™ когда:

  • Системный объект требует доступа ко всем MATLAB® функции, которые не поддерживают генерацию кода, что означает, что вы не можете сгенерировать код для симуляции. Необходимо использовать методы распространения в этом случае и интерпретированный режим выполнения для симуляции. Режимы генерации кода не будут поддерживаться.

  • Вы хотите использовать сигналы переменного размера.

  • Вам все равно, сгенерирован ли код, но вы хотите улучшить эффективность запуска. Используйте методы распространения, чтобы задать информацию для входов и выходов, что позволяет быстрее запускать.

При запуске программное обеспечение Simulink пытается оценить входной и выходной порты блоков модели для распространения атрибута сигнала. В случае блоков MATLAB System, если программное обеспечение не может выполнить эту оценку, оно отображает сообщение с просьбой добавить методы распространения к системному объекту.

Реализуйте методы распространения

Simulink оценивает использование методов распространения для оценки входных и выходных портов блока MATLAB System для запуска.

Каждый метод имеет реализацию по умолчанию, перечисленную в Default Implementation Should Suffice if столбце. Если ваш Системный объект не использует реализацию по умолчанию, необходимо реализовать версию метода распространения для вашего Системного объекта.

ОписаниеМетод распространенияРеализация по умолчанию должна быть достаточной, если Пример

Возвращает размерности из выхода портов. Связанный метод getOutputSize.

getOutputSizeImpl

  • Только один вход

  • Только один выход

  • Размер входа, совпадающий с размером выходного сигнала

Получение типов данных портов выхода. Связанный метод getOutputDataType.

getOutputDataTypeImpl

  • Только один вход

  • Только один выход

  • Выход данных всегда совпадает с типом входных данных

Указывает, являются ли выходные порты комплексными или нет. Связанный метод isOutputComplex.

isOutputComplexImpl

  • Только один вход

  • Только один выход

  • Выходная сложность всегда та же самая, что и первая входная сложность

Являются ли выходные порты фиксированным размером. Связанный метод isOutputFixedSize.

isOutputFixedSizeImpl

  • Только один вход

  • Только один выход

  • Выход и вход имеют фиксированный размер

Получает размер, тип данных и сложность дискретного свойства состояний. Связанный метод getDiscreteStateSpecification.

getDiscreteStateSpecificationImpl

Нет DiscreteState свойства

Н/Д

Похожие темы