Примечание
Генерация лестничной схемы из Stateflow® графики будут удалены в следующем релизе. Чтобы сгенерировать лестничные схемы, используйте Simulink® модели вместо этого. Чтобы создать модели Simulink, совместимые с генерацией логики лестницы, выполните одно из следующих действий:
Используйте блоки из библиотеки PLC Ladder, чтобы создать модель, совместимую с генерацией лестничных схем. Чтобы открыть библиотеку лестниц ПЛК, введите plcladderlib
в командной строке MATLAB.
Импортируйте логику лестницы из файла L5X с plcimportladder
функция.
Чтобы сгенерировать логику лестницы из моделей Simulink, используйте следующие функции: plcgeneratecode
и plcgeneraterunnertb
.
В этом примере показано, как импортировать сгенерированный код лестничной схемы в IDE и подтвердить сгенерированный код в соответствии с исходной диаграммой Stateflow с помощью сгенерированного испытательного стенда.
В данном примере используется среда IDE CODESYS 3.5. Можно также использовать одну из других поддерживаемых IDE. См. IDE, поддерживаемые для генерации кода лестничной схемы.
Полный рабочий процесс генерации кода лестничной схемы см. в разделе Рабочий процесс генерации лестничной схемы.
После генерации кода вы видите XML- файл кода лестничной схемы
в подпапке ModelName
.xmlplcsrc
текущей рабочей папки. Чтобы импортировать сгенерированный XML и просмотреть лестничную схему в IDE CODESYS 3.5:
Создайте пустой проект.
Импортируйте код лестничной схемы в проект.
Выберите Project > Import PLCOpenXML и перейдите к папке, содержащей XML- файл.
Откроется диалоговое окно с полным списком компонентов, импортированных из XML. Если вы генерируете испытательный стенд для проверки, вы также видите тестовый набор.
На панели POUs отображается проект. Просмотрите лестничную схему в проекте.
Можно сравнить лестничную схему с исходной диаграммой Stateflow.
Например, если вы генерируете код Лестничной схемы из модели plcdemo_ladder_three_aspect
, в Лестничной схеме можно идентифицировать переход от Fault
состояние в Red
состояние.
Переход появляется в лестничной схеме в три шага:
Нормально открытые контакты VLDHealthy
и FaultRectified
закрыты. Система катушек T_1_1_trans
получает степень и возбуждается.
Нормально открытые контакты Fault
и T_1_1_trans
закрыты. Катушка Red_new
получает степень и возбуждается. Другие условия, не показанные на рисунке, также должны быть удовлетворены.
Нормально разомкнутый контакт Red_new
закрыт. Катушка Red
получает степень и возбуждается.
Кроме катушек и нормально открытых контактов,
лестничная схема также использует:
Нормально закрытые контакты: Они появляются, если ~
оператор используется в условии.
Установите катушки и сбросьте катушки:
Они используются в лестничной схеме для инициализации графика. Катушки сброса также используются, если вы обеспечиваете дополнительные гарантии от одновременной активации нескольких состояний. См. аргумент
InsertGuardResets
в plcgenerateladder
.
Для получения дополнительной информации об этих символах см. спецификации 61131-3 МЭК.
Выберите Online > Simulation. Нажмите кнопку (Build) и проверьте отсутствие ошибок сборки.
Если опция не активна, возможно, потребуется изменить номер версии в XML-файле. Найдите номер версии в XML и в зависимости от имеющейся закрашенной фигуры замените его на следующий номер версии:
CODESYS V3.5 SP6 Patch1: 3.5.4.30
CODESYS V3.5 SP6 Patch3: 3.5.6.30
CODESYS V3.5 SP8 Patch2: 3.5.8.20
CODESYS V3.5 SP8 Patch4: 3.5.8.40
В вашем проекте вы видите сгенерированный испытательный стенд. Чтобы симулировать с использованием испытательного стенда и подтвердить свой сгенерированный код:
Нажмите кнопку (Вход) и войдите в систему эмулятора.
Нажмите кнопку (Start) и начните симуляцию.
Дважды кликните испытательный стенд в проекте. Вы видите обновление следующих переменных, чтобы отразить результаты валидации.
Переменная testCycleNum
увеличивается с 0 до количества циклов.
Переменная testVerify
остается TRUE
до тех пор, пока верификация на испытательном стенде будет выполнена успешно.