Эта модель показывает, как интегрировать пользовательские функциональные блоки, типы данных и глобальные переменные в сгенерированный структурированный текст
Откройте подсистему верхнего уровня 'Subsystem', дважды нажатие по ней. Вы заметите, что у него есть куча блоков, включая блок 'ExternallyDefinedBlock'. Пользователь хотел бы заменить это на блок, заданный извне в среде IDE ПЛК в сгенерированном коде. В этой модели 'ExternallyDefinedBlock' является блоком MATLAB ®. Это может быть и любой другой блок Simulink ® или подсистема. Входной порт 'In1' является шинным входом типа данных 'InBus'. Пользователь хотел бы предоставить определение InBus внешне в среде IDE PLC. Точно так же пользователь хотел бы предоставить определение глобального настраиваемого параметра 'K1' блока Gain внешне.
Для этого щелкните правой нажатие кнопки подсистему верхнего уровня 'Subsystem' и выберите 'PLC Code - > опции...', чтобы открыть диалоговое окно 'Параметры Конфигурации'. В диалоговом окне выберите панель 'Symbols' в разделе 'PLC Code Generation'. Вы увидите следующие символы в поле 'Externally Defined Symbols':
ExternallyDefinedBlock InBus K1
Установка этих символов здесь соответственно опускает функциональный блок, тип данных шины и глобальную переменную с одинаковыми именами в сгенерированном структурированном тексте.
Теперь можно сгенерировать код PLC Structured Text для этой подсистемы, щелкнув правой кнопкой мыши по блоку подсистемы и выбрав PLC Code - > Generate Code for Subsystem Альтернативно, можно использовать следующую команду generedFiles = plcgeneratecode ('plcdemo _ exteral _ symbols/subols');
После генерации кода окно Diagnostic Средства просмотра отображается с гиперссылками на файлы сгенерированного кода. Вы можете открыть сгенерированные файлы, нажав на ссылки.
В сгенерированном коде вы заметите, что существуют вызовы для функционирования блока 'ExternallyDefinedBlock', однако определение функционального блока было опущено. Точно так же опущено определение типа шины 'InBus1' и глобальной переменной 'K1'.