В этой теме предполагается, что вы сгенерировали код структурированного текста из 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 совместимым целям.