Сгенерируйте лестничный код схемы от диаграммы 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. Задайте целевой IDE, для которого можно сгенерировать Лестничный код Схемы.

    Щелкните правой кнопкой по графику и выберите PLC Code> Options. Задайте поддерживаемый IDE для опции Целевой IDE. Смотрите ИДЫ, Поддержанные для Лестничной Генерации кода Схемы.

  3. Щелкните правой кнопкой по графику и выберите 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 Code> Options. Выбор опция Генерирует Испытательный стенд для Подсистемы.

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

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

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

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