Примечание
Генерация лестничной схемы из Stateflow® графики будут удалены в следующем релизе. Чтобы сгенерировать лестничные схемы, используйте Simulink® модели вместо этого. Чтобы создать модели Simulink, совместимые с генерацией логики лестницы, выполните одно из следующих действий:
Используйте блоки из библиотеки PLC Ladder, чтобы создать модель, совместимую с генерацией лестничных схем. Чтобы открыть библиотеку лестниц ПЛК, введите plcladderlib
в командной строке MATLAB.
Импортируйте логику лестницы из файла L5X с plcimportladder
функция.
Чтобы сгенерировать логику лестницы из моделей Simulink, используйте следующие функции: plcgeneratecode
и plcgeneraterunnertb
В этом примере показано, как:
Сгенерируйте код из диаграммы Stateflow, который можно просмотреть как лестничную схему в среде IDE.
Сгенерируйте испытательный стенд для валидации кода лестничной схемы в вашей среде IDE.
Полный рабочий процесс генерации кода лестничной схемы см. в разделе Рабочий процесс генерации лестничной схемы.
Рисунок показывает диаграмму Stateflow, которая реализует трехстороннюю логику, логику принятия решений для многих приложений железнодорожной сигнализации.
График состоит из пяти состояний: Init
, Fault
, Red
, Yellow
, и Green
. На основе входов на графике могут происходить переходы к любому из этих состояний. Для образца состояние Red
становится активным в следующих сценариях:
Инициализация и степень: Предыдущее состояние Init
и условие Power_Up
является true.
Устранение неисправности: Предыдущее состояние Fault
и условие VLDHealthy & FaultRectified
является true.
Переходы от других цветов: Предыдущее состояние Green
или Yellow
, условия, которые допускают переход к Red
true, и условия, которые допускают переход к другому цвету или к Fault
состояние ложно.
Оставаясь красным: Предыдущее состояние Red
и условия, которые допускают переход в другое состояние, являются ложными.
Рисунок показывает фрагмент кода лестничной схемы, сгенерированного из графика при просмотре в среде IDE CODESYS 3.5. Лестничная схема состоит из контактов (обычно открытых и нормально закрытых) и катушек (нормально, установить и сбросить).
Можно сопоставить элементы исходной диаграммы Stateflow с этими катушками и контактами. Для образца, катушка Red_new
соответствует обновлению состояния Red
на диаграмме Stateflow. Чтобы катушка получила степень, одно из следующих должно быть верным:
Инициализация и степень: Нормально открытые контакты Init
и Power_Up
должен быть закрыт.
Устранение неисправности: Нормально открытые контакты Fault
и T_1_1_trans
должен быть закрыт. Контактное T_1_1_trans
представляет условие перехода VLDHealthy & FaultRectified
на графике.
Переходы от других цветов: Нормально открытый контакт Green
должен быть закрыт, и следующее должно быть верно:
Нормально разомкнутый контакт T_2_3_trans
должен быть закрыт. Этот контакт соответствует условию графика, которое должно быть true для перехода к Red
состояние.
Нормально закрытые контакты T_2_1_trans
и T_2_2_trans
должен оставаться закрытым. Эти контакты соответствуют условию графика, которое должно быть ложным для перехода к Red
состояние. Если условия верны, контакты открываются, и катушка больше не получает степень.
Оставаясь красным: Нормально открытый контакт Red
должны быть закрытыми, а нормально закрытые контакты T_4_1_trans
и T_4_2_trans
должен оставаться закрытым. Эти контакты соответствуют условиям графика, которые должны быть ложными для Red
состояние, чтобы продолжать быть активным. Если условия верны, контакты открываются, и катушка больше не получает степень.
Чтобы сгенерировать код Лестничной схемы из модели plcdemo_ladder_three_aspect
:
Откройте модель.
Откройте приложение PLC Coder Щелкните вкладку PLC Code.
Укажите целевую среду IDE, для которой необходимо сгенерировать код лестничной схемы.
Нажмите Settings. Укажите поддерживаемую IDE для опции Target IDE. См. IDE, поддерживаемые для генерации кода лестничной схемы. Нажмите OK.
Щелкните график правой кнопкой мыши и выберите PLC Code > Generate Ladder Logic for Chart.
Если генерация кода успешна, в подпапке plcsrc
текущей рабочей папки, вы видите файл
. Этот файл импортируется в среду IDE и просматривается лестничная схема. Для IDE CODESYS 3.5 смотрите Импортируйте код лестничной схемы в IDE CODESYS 3.5 и Проверьте схему.ModelName
.xml
Можно также использовать функцию plcgenerateladder
чтобы сгенерировать код лестничной схемы из диаграммы Stateflow.
Можно сгенерировать испытательный стенд для проверки сгенерированного кода лестничной схемы. Вы импортируете код вместе с испытательным стендом в вашей IDE и проверяете лестничную схему на соответствие с исходной диаграммой Stateflow с помощью испытательного стенда. Чтобы сгенерировать испытательный стенд вместе с кодом лестничной схемы:
Откройте приложение PLC Coder Щелкните вкладку PLC Code.
Нажмите Settings. Выберите опцию Generate Testbench for Subsystem.
Щелкните график правой кнопкой мыши и выберите PLC Code > Generate Ladder Logic for Chart.
Испытательные стенды используют входы к исходной диаграмме Stateflow. Поэтому можно создать тестовые обвязки для исходного графика и повторно использовать их для валидации кода лестничной схемы.
Можно также использовать функцию plcgenerateladder
для создания испытательных стендов.
После генерации кода лестничной схемы и испытательных стендов можно импортировать их в свою IDE. Для IDE CODESYS 3.5 смотрите Импортируйте код лестничной схемы в IDE CODESYS 3.5 и Проверьте схему.