Эта тема принимает, что вы сгенерировали код Структурированного текста из модели Simulink®. Если вы еще не сделали так, смотрите, Генерируют Структурированный текст от Окна модели.
Пример в этой теме показывает сгенерированный код для IDE Версии 2.3 CoDeSys. Сгенерированный код для других платформ IDE выглядит по-другому.
Откройте модель plcdemo_reusable_subsystem
.
Щелкните правой кнопкой по блоку Subsystem и выберите PLC Code> Generate Code for Subsystem.
Программное обеспечение Simulink PLC Coder™ генерирует код Структурированного текста и помещает его в
.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.
Для IEC 61131-3 совместимых цели, нешаг и вывод ssMethodType
не используют выходные переменные FUNCTION_BLOCK
. Поэтому сгенерированный код Структурированного текста для SS_INITIALIZE
не содержит операторы присваивания для выходных параметров Y1
и Y2
.
Эта оптимизация применима только к IEC 61131-3 совместимых цели.