Можно сгенерировать Структурированный текст для блока Fuzzy Logic Controller с помощью Simulink® PLC Coder™. Для получения дополнительной информации о генерации Структурированного текста смотрите Генерацию кода (Simulink PLC Coder).
В то время как этот пример генерирует Структурированный текст для типа 1 Sugeno нечеткая система вывода, рабочий процесс также применяется к Mamdani и типу 2 нечеткие системы.
По умолчанию блок Fuzzy Logic Controller использует данные с двойной точностью для симуляции и генерации кода. fuzzyPID
модель сконфигурирована, чтобы использовать данные с двойной точностью. Можно также использовать или данные или фиксированной точки с одинарной точностью. Для получения дополнительной информации о конфигурировании вашей нечеткой системы вывода для генерации кода смотрите Контроллер Нечеткой логики.
mdl = 'fuzzyPID';
open_system(mdl)
Это - хорошая практика, чтобы подтвердить эффективность системы в Simulink прежде, чем сгенерировать код. Запустите симуляцию.
sim(mdl)
open_system([mdl '/Output'])
Закройте выходной график.
close_system([mdl '/Output'])
Чтобы сгенерировать Структурированный текст для модели, используйте plcgeneratecode
Функция (Simulink PLC Coder), которая генерирует код для атомарной подсистемы в модели. Чтобы сгенерировать код для Нечеткого ПИД-регулятора, сконфигурируйте подсистему как атомарную подсистему путем выбора Treat как атомарного модульного параметра для подсистемы.
subsys = [mdl '/Fuzzy PID']; set_param(subsys,'TreatAsAtomicUnit','on')
При генерации кода для только блока Fuzzy Logic Controller поместите блок в подсистеме и установите Обработку как атомарный модульный параметр той подсистемы.
Чтобы сгенерировать Структурированный текст для Нечеткой подсистемы ПИДа, не прокомментируйте эту линию.
plcgeneratecode(subsys);
### Generating PLC code for 'fuzzyPID/Fuzzy PID'. ### Using model settings from 'fuzzyPID' for PLC code generation parameters. ### Begin code generation for IDE codesys23. ### Emit PLC code to file. ### Creating PLC code generation report fuzzyPID_codegen_rpt.html. ### PLC code generation successful for 'fuzzyPID/Fuzzy PID'. ### Generated files: plcsrc/fuzzyPID.exp
По умолчанию программное обеспечение сохраняет сгенерированный код в следующем месте.
plcsrc/fuzzy_PID.exp