Примечание
Генерация диаграммы многозвенной цепи из диаграмм Stateflow ® будет удалена в следующем выпуске. Для создания многозвенных диаграмм используйте модели Simulink ®. Чтобы создать модели Simulink, совместимые с генерацией логики многозвенной цепи, выполните одно из следующих действий.
Используйте блоки из библиотеки многозвенной цепи ПЛК для создания модели, совместимой с генерацией диаграммы многозвенной цепи. Чтобы открыть библиотеку лестниц ПЛК, введите plcladderlib в командной строке MATLAB.
Импорт логики многозвенной цепи из файла L5X с помощью plcimportladder функция.
Чтобы создать логику многозвенной цепи из моделей Simulink, используйте следующие функции: plcgeneratecode и plcgeneraterunnertb
В этом примере показано, как подготовить диаграмму Stateflow для создания кода диаграммы многозвенной цепи. Как только диаграмма будет готова, из нее можно создать код многозвенной диаграммы.
Полный рабочий процесс создания кода схемы многозвенной цепи см. в разделе Рабочий процесс создания схемы многозвенной цепи.
Команда Stateflow используется для проектирования конечных автоматов, моделирующих контроллеры ПЛК. Диаграмма Stateflow должна иметь следующие свойства:
Входы и выходы на диаграмму должны быть булевыми. Они соответствуют входным и выходным клеммам ПЛК.
Каждое состояние на диаграмме должно соответствовать выходному сигналу. Выход имеет значение true, если состояние активно.
Чтобы убедиться, что каждое состояние на диаграмме сопоставлено с выводом, в диалоговом окне Свойства каждого состояния выберите Создать вывод для мониторинга. Затем выберите Self activity.

Условия перехода должны включать только логические операции, такие как ~, &, и | между входами.
Например, на следующей диаграмме: transitionCondition1, и transitionCondition2 являются логическими входами в модель. State1, State2, и State3 соответствуют логическим выходам модели.

Некоторые расширенные функции Stateflow не поддерживаются из-за внутренних ограничений семантики диаграммы многозвенной цепи. Можно использовать функцию plccheckforladder для проверки наличия требуемых свойств диаграммы. Также можно использовать функцию plcprepareforladder для изменения определенных свойств диаграммы таким образом, чтобы диаграмма была готова к созданию кода многозвенной диаграммы.
Можно начать создание кода многозвенной диаграммы из диаграммы. См. пример в разделе Создание кода схемы многозвенной цепи Simulink PLC Coder Ladder из диаграммы статусов.
Если требуется создать тестовый стенд для проверки кода диаграммы многозвенной цепи, создайте тестовый электрический жгут для диаграммы потока состояний. Тестовый жгут может состоять из нескольких тестовых примеров. Используя тестовый жгут, Simulink PLC Coder™ может создавать тестовые стенды для проверки кода схемы многозвенной цепи.
Тестовый электрический жгут можно создать вручную с помощью блока Signal Builder или автоматически создать тестовый электрический жгут с помощью Simulink Design Verifier™. Для автоматического создания тестового электрического жгута:
Щелкните правой кнопкой мыши диаграмму или подсистему, содержащую диаграмму. Выберите «Design Verifier» > «Generate Tests for Subsystem».
После создания теста выберите Создать модель кабельных трасс.
Создается модель электрического жгута. Модель состоит из исходной подсистемы, связанной со входами блока построителя сигналов. Блок состоит из нескольких тестовых примеров, так что состояния и переходы в модели охватываются по крайней мере один раз.

Можно также создавать тесты с помощью других блоков из библиотеки Simulink. Однако необходимо убедиться, что входные данные диаграммы являются булевыми.

Теперь можно создать код многозвенной схемы из диаграммы и проверить схему.
Чтобы создать только код диаграммы многозвенной цепи, используйте исходную диаграмму Stateflow.
Чтобы создать код диаграммы многозвенной цепи с тестовым стендом, используйте диаграмму потока состояний, связанную с логическими входами из тестовых примеров. Например, при создании модели электрического жгута с помощью Simulink Design Verifier используйте модель электрического жгута для кода диаграммы многозвенной цепи и создания тестового стенда вместо исходной диаграммы.
См. раздел «Создание кода схемы многозвенной цепи Simulink PLC Coder Ladder» из таблицы статусов.