Импорт кода лестничной схемы в IDE CODESYS 3.5 и валидация схемы

Примечание

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

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

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

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

В этом примере показано, как импортировать сгенерированный код лестничной схемы в IDE и подтвердить сгенерированный код в соответствии с исходной диаграммой Stateflow с помощью сгенерированного испытательного стенда.

В данном примере используется среда IDE CODESYS 3.5. Можно также использовать одну из других поддерживаемых IDE. См. IDE, поддерживаемые для генерации кода лестничной схемы.

Полный рабочий процесс генерации кода лестничной схемы см. в разделе Рабочий процесс генерации лестничной схемы.

Импортируйте лестничную схему XML

После генерации кода вы видите XML- файл кода лестничной схемы ModelName.xml в подпапке plcsrc текущей рабочей папки. Чтобы импортировать сгенерированный XML и просмотреть лестничную схему в IDE CODESYS 3.5:

  1. Создайте пустой проект.

  2. Импортируйте код лестничной схемы в проект.

    Выберите Project > Import PLCOpenXML и перейдите к папке, содержащей XML- файл.

    Откроется диалоговое окно с полным списком компонентов, импортированных из XML. Если вы генерируете испытательный стенд для проверки, вы также видите тестовый набор.

  3. На панели POUs отображается проект. Просмотрите лестничную схему в проекте.

    Можно сравнить лестничную схему с исходной диаграммой Stateflow.

    Например, если вы генерируете код Лестничной схемы из модели plcdemo_ladder_three_aspect, в Лестничной схеме можно идентифицировать переход от Fault состояние в Red состояние.

    Переход появляется в лестничной схеме в три шага:

    1. Нормально открытые контакты VLDHealthy и FaultRectified закрыты. Система катушек T_1_1_trans получает степень и возбуждается.

    2. Нормально открытые контакты Fault и T_1_1_trans закрыты. Катушка Red_new получает степень и возбуждается. Другие условия, не показанные на рисунке, также должны быть удовлетворены.

    3. Нормально разомкнутый контакт Red_new закрыт. Катушка Red получает степень и возбуждается.

    Кроме катушек и нормально открытых контактов, лестничная схема также использует:

    • Нормально закрытые контакты: Они появляются, если ~ оператор используется в условии.

    • Установите катушки и сбросьте катушки: Они используются в лестничной схеме для инициализации графика. Катушки сброса также используются, если вы обеспечиваете дополнительные гарантии от одновременной активации нескольких состояний. См. аргумент InsertGuardResets в plcgenerateladder.

    Для получения дополнительной информации об этих символах см. спецификации 61131-3 МЭК.

  4. Выберите 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

Проверьте лестничную схему с помощью испытательного стенда

В вашем проекте вы видите сгенерированный испытательный стенд. Чтобы симулировать с использованием испытательного стенда и подтвердить свой сгенерированный код:

  1. Нажмите кнопку (Вход) и войдите в систему эмулятора.

  2. Нажмите кнопку (Start) и начните симуляцию.

  3. Дважды кликните испытательный стенд в проекте. Вы видите обновление следующих переменных, чтобы отразить результаты валидации.

    • Переменная testCycleNum увеличивается с 0 до количества циклов.

    • Переменная testVerify остается TRUE до тех пор, пока верификация на испытательном стенде будет выполнена успешно.