В этой теме предполагается, что вы сгенерировали код структурированного текста из Simulink® модель. Если вы еще не сделали этого, см. «Генерация структурированного текста из окна модели».
В примере в этом разделе показан сгенерированный код для среды IDE CoDeSys версии 2.3. Сгенерированный код для других платформ IDE выглядит по-другому.
Откройте plcdemo_reusable_subsystem модель.
Откройте приложение PLC Coder .
Нажмите Generate PLC Code.
Программное обеспечение Simulink PLC Coder™ генерирует Structured Text код и помещает его в .current_folder/ plcsrc/plcdemo_reusable_subsystem.exp
Если у вас нет plcdemo_reusable_subsystem.exp откройте файл, откройте его в MATLAB® редактора.
Следующий рисунок иллюстрирует отображение сгенерированного кода компонентам структурированного текста для повторно используемой подсистемы Simulink. Этот рисунок содержит копию иерархической подсистемы ReusableSubsystem. Эта подсистема содержит две одинаковые подсистемы, S1 и S2. Это строение позволяет повторно использовать код между двумя образцами (проверьте ReusableSubsystem строка в коде).

Исследуйте сгенерированный код структурированного текста. Код определяет FUNCTION_BLOCK S1 один раз.
Проверьте две переменные образца, которые соответствуют двум образцам, объявленным внутри родительского элемента FUNCTION_BLOCK ReusableSubsystem (i0_S1: S1 и i1_S1: S1). Код вызывает эти два образцов отдельно путем передачи различных входов. Код вызывает выходы в соответствии с семантикой выполнения Simulink.
Для совместимых с МЭК 61131-3 целей, неперехода и выхода ssMethodType не используйте выходные переменные FUNCTION_BLOCK. Поэтому сгенерированный код структурированного текста для SS_INITIALIZE не содержит операторов назначения для выходов Y1 и Y2.
Примечание
Эта оптимизация применима только к IEC 61131-3 совместимым целям.