Интеграция сгенерированного кода с пользовательским кодом

Для подсистемы верхнего уровня, которая имеет внутреннее состояние, сгенерированные FUNCTION_BLOCK код имеет ssMethodType. ssMethodType является специальным входным параметром, которую кодер добавляет в раздел входа переменных FUNCTION_BLOCK раздел во время генерации кода. ssMethodType позволяет выполнять код для Simulink® Методы блока Subsystem, такие как инициализация и расчеты. Сгенерированный код выполняет связанный оператора CASE на основе значения, переданного для этого аргумента.

Как использовать ssMethodType с FUNCTION_BLOCK для вашей модели, в сгенерированном коде, прототип функционального блока подсистемы верхнего уровня имеет один из следующих форматов:

Имеет внутреннее состояниеssMethodType Содержит...
Да

Сгенерированный функциональный блок для блока имеет дополнительный первый параметр ssMethodType целого типа. Этот дополнительный параметр является сложением к параметрам ввода-вывода функциональных блоков, сопоставленным с портами ввода-вывода блоков Simulink. Чтобы использовать функциональный блок, сначала инициализируйте блок, вызвав функциональный блок с ssMethodType установите в целое число константы SS_INITIALIZE. Если IDE не поддерживает символьные константы, задайте ssMethodType в целое число значения 0. Для каждого последующего вызова вызовите функциональный блок с ssMethodType установите в постоянное SS_STEP. Если IDE не поддерживает символьные константы, задайте ssMethodType к целому значению 1. Эти настройки заставляют функциональный блок инициализировать или вычислить и вернуть выход для каждого временного шага. Если вы выбираете Keep top level ssMethod name same as non-top level, а ssMethodType SS_STEP будет сгенерирован как SS_OUTPUT с целым числом значения 3.

Нет

Интерфейс функционального блока имеет только параметры, сопоставленные из портов ввода-вывода блока Simulink. Нет ssMethodType параметр. Чтобы использовать блок функции в этом случае, вызовите блок функции с аргументами ввода-вывода.

Для подсистем не верхнего уровня, в сгенерированном коде, прототип функционального блока подсистемы имеет один из следующих форматов:

Имеет внутреннее состояниеssMethodType Содержит...
Да

Интерфейс функционального блока имеет ssMethodType параметр. Возможно, сгенерированный код SS_INITIALIZE, SS_OUTPUT, или другие ssMethodType константы для реализации семантики Simulink.

Если подсистемы не верхнего уровня имеют блоки с постоянным шагом расчета, сгенерированный код мог SS_CONST_CODE константы для реализации семантики Simulink.

Нет

Интерфейс функционального блока имеет только параметры, сопоставленные из портов ввода-вывода блока Simulink. Нет ssMethodType параметр.