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

Откройте подсистему верхнего уровня «Subsystem», дважды щелкнув по ней. Вы заметите, что он содержит множество блоков, включая блок «ExternedDefinedBlock». Пользователь хочет заменить его внешним блоком в PLC IDE в сгенерированном коде. В этой модели «ExternedDefinedBlock» является блоком MATLAB ®. Это может быть и любой другой блок или подсистема Simulink ®. Входной порт «In1» является входом шины типа данных «InBus». Пользователь хотел бы предоставить определение «InBus» внешне в PLC IDE. Аналогично, пользователь хотел бы предоставить определение глобального настраиваемого параметра «K1» блока усиления внешне.

Для этого щелкните правой кнопкой мыши подсистему верхнего уровня «Subsystem» и выберите «PLC Code - > Options...», чтобы открыть диалоговое окно «Configuration Parameters». В диалоговом окне выберите панель «Символы» в разделе «Создание кода ПЛК». В поле «Внешние символы» появятся следующие символы:
ExternallyDefinedBlock InBus K1
При указании этих символов в создаваемом структурированном тексте будут опущены соответственно функциональный блок, тип данных шины и глобальная переменная с одинаковыми именами.
Теперь можно создать структурированный текстовый код ПЛК для этой подсистемы, щелкнув правой кнопкой мыши на блоке подсистемы и выбрав команду PLC Code - > Generate Code for Subsystem (Код ПЛК - > Создать код для подсистемы). Кроме того, можно использовать следующую команду generityFiles = plcgeneratecode («plcdemo _ external _ symboles/Subsystystem»);
После создания кода появится окно Diagnostic Viewer с гиперссылками на созданные файлы кода. Созданные файлы можно открыть, щелкнув ссылки.
В сгенерированном коде следует отметить, что имеются вызовы функционального блока «ExternedDefinedBlock», однако определение функционального блока было опущено. Точно так же опущено определение типа шины «InBus1» и глобальной переменной «K1».