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

Примечание

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

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

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

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

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

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

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

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

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

  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.

    Для получения дополнительной информации об этих символах, отошлите к IEC 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. Нажмите кнопку (Login) и войдите в систему устройства эмулятора.

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

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

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

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