Сгенерируйте лестничный код схемы Simulink PLC Coder от диаграммы Stateflow

Примечание

Лестничная генерация схемы из графиков Stateflow® будет удалена в будущем релизе. Чтобы сгенерировать лестничные схемы, используйте модели Simulink® вместо этого. Чтобы создать модели Simulink, совместимые с лестничной генерацией логики, выполнить одно из следующих действий:

  • Используйте блоки из библиотеки PLC Ladder, чтобы создать модель, которая совместима с лестничной генерацией схемы. Чтобы открыть библиотеку PLC Ladder, введите plcladderlib в командной строке MATLAB.

  • Импортируйте лестничную логику из файла L5X с plcimportladder функция.

Чтобы сгенерировать лестничную логику из моделей Simulink, используйте эти функции: plcgeneratecode и plcgeneraterunnertb

В этом примере показано, как к:

  • Сгенерируйте код от диаграммы Stateflow, которую можно просмотреть как Лестничную Схему в IDE.

  • Сгенерируйте испытательный стенд для валидации Лестничного кода Схемы в вашем IDE.

Для полного Лестничного рабочего процесса генерации кода Схемы смотрите Лестничный Рабочий процесс Генерации Схемы.

Диаграмма Stateflow и лестничная логическая схема

Рисунок показывает диаграмму Stateflow, которая реализует логику с тремя аспектами, логику решения для многих железнодорожных приложений сигнализации.

График состоит из пяти состояний: Init, Fault, Red, Yellow, и Green. На основе входа к графику могут произойти переходы к любому из этих состояний. Например, Red состояния становится активным в следующих сценариях:

  • Инициализация и включается: предыдущим состоянием является Init и условие Power_Up верно.

  • Исправление отказа: предыдущим состоянием является Fault и условие VLDHealthy & FaultRectified верно.

  • Переходы от других цветов: предыдущим состоянием является Green или Yellow, условия, которые позволяют переход к Red верны, и условия, которые позволяют переход к другому цвету или к Fault состояние является ложным.

  • Красное пребывание: предыдущим состоянием является Red и условия, которые позволяют переход к другому состоянию, являются ложными.

Рисунок показывает фрагмент Лестничного кода Схемы, сгенерированного из графика, когда просматривается в CODESYS 3.5 IDE. Лестничная Схема состоит из контактов (обычно открытый и обычно закрытый) и обмотки (нормальный, набор и сброс).

Можно сопоставить элементы исходной диаграммы Stateflow к этим обмоткам и контактам. Например, обмоточный Red_new соответствует обновлению Red состояния в диаграмме Stateflow. Для обмотки, чтобы получить степень, одно из следующего должно быть верным:

  • Инициализация и включается: обычно размыкают контакты Init и Power_Up должен быть закрыт.

  • Исправление отказа: обычно размыкают контакты Fault и T_1_1_trans должен быть закрыт. Контакт T_1_1_trans представляет условие перехода VLDHealthy & FaultRectified в графике.

  • Переходы от других цветов: обычно размыкают контакт Green должен быть закрыт и следующее должно быть верным:

    • Обычно размыкают контакт T_2_3_trans должен быть закрыт. Этот контакт соответствует условию графика, которое должно быть верно для перехода к Red состояние.

    • Обычно закрытые контакты T_2_1_trans и T_2_2_trans должен остаться закрытым. Эти контакты соответствуют условию графика, которое должно быть ложным для перехода к Red состояние. Если условия верны, открытые контакты и обмотка больше не получает степень.

  • Красное пребывание: обычно размыкают контакт Red должен быть закрыт, и обычно закрытые контакты T_4_1_trans и T_4_2_trans должен остаться закрытым. Эти контакты соответствуют условиям графика, которые должны быть ложными для Red состояние, чтобы продолжить быть активным. Если условия верны, открытые контакты и обмотка больше не получает степень.

Сгенерируйте лестничную схему из графика

Сгенерировать Лестничный код Схемы из модели plcdemo_ladder_three_aspect:

  1. Откройте модель.

  2. Откройте приложение PLC Coder. Кликните по вкладке PLC Code.

  3. Задайте целевой IDE, для которого можно сгенерировать Лестничный код Схемы.

    Нажмите Settings. Задайте поддерживаемый IDE для опции Целевой IDE. Смотрите ИДЫ, Поддержанные для Лестничной Генерации кода Схемы. Нажмите OK.

  4. Щелкните правой кнопкой по графику и выберите PLC Code> Generate Ladder Logic for Chart.

Если генерация кода успешна в подпапке plcsrc из текущей рабочей папки вы видите файл ModelName.xml. Вы импортируете этот файл к своему IDE и просматриваете Лестничную Схему. Для CODESYS 3.5 IDE см. Лестничный Код Схемы Импорта к CODESYS 3.5 IDE и Подтвердите Схему.

Можно также использовать функцию plcgenerateladder сгенерировать Лестничный код Схемы от диаграммы Stateflow.

Сгенерируйте лестничную схему наряду с испытательным стендом

Можно сгенерировать испытательный стенд, чтобы подтвердить сгенерированный Лестничный код Схемы. Вы импортируете код вместе с испытательным стендом в вашем IDE и подтверждаете Лестничную Схему против исходной диаграммы Stateflow с помощью испытательного стенда. Сгенерировать испытательный стенд наряду с Лестничным кодом Схемы:

  1. Откройте приложение PLC Coder. Кликните по вкладке PLC Code.

  2. Нажмите Settings. Выберите опцию, Генерируют Испытательный стенд для Подсистемы.

  3. Щелкните правой кнопкой по графику и выберите PLC Code> Generate Ladder Logic for Chart.

Испытательные стенды используют входные параметры для исходной диаграммы Stateflow. Поэтому можно создать тестовые обвязки для исходного графика и снова использовать их для валидации Лестничного кода Схемы.

Можно также использовать функцию plcgenerateladder сгенерировать испытательные стенды.

После генерации Лестничного кода Схемы и испытательных стендов, можно импортировать их к IDE. Для CODESYS 3.5 IDE см. Лестничный Код Схемы Импорта к CODESYS 3.5 IDE и Подтвердите Схему.