Введение
О документе
Данный документ предназначен для ознакомления с программированием логического контроллера KRAX PLC-932.
Цель руководства и его предполагаемая аудитория
Документ предназначен для инженеров и программистов, с минимальными навыками программирования на каком-либо языке программирования (МЭК или обычными). Попробуем показать на примерах, как сделать первые шаги в написании логики управления используя промышленный модульный контроллер KRAX PLC-932.
Что такое KRAX PLC-932
Это промышленный модульный контроллер на базе чипа ESP32. Модули ввода вывода также на базе ESP32.
Программирование контроллера производится на языке micropython (python 3 для микроконтроллеров). Контроллер поставляется с предустановленной библиотекой PYPLC, которая позволяет:
Программу на python реализовывать в стиле STL, SFC, LD.
Обеспечить взаимодействие контроллера с компьютером для создания визуализации
Производить мониторинг состояния программы по TCP
Осуществлять доступ к каналам ввода-вывода
Общее описание ПЛК и его функций
ПЛК состоит из одного процессорного модуля (PLC-932) и нескольких модулей расширения. Модули отличаются количеством каналов, типом подключаемого сигнала. Например:
DO-530 — 8 канальный дискретный выход 24В
DI-430 — 8 канальный дискретный вход 24В
AI-455 — 4 канальный токовый вход 4-20 мА
AO-555 — 4 канальный токовый выход 4-20 мА
Модули и процессор обмениваются данными по беспроводному интерфейсу, могут быть установленны на некотором удалении друг от друга. PLC-932 может программироваться по USB или TCP.
Обзор системы
Как ранее упоминалось ПЛК имеет модульную архитектуру. Может состоять из минимум одного процессорного блока KRAX PLC-932. Процессорный блок не имеет клеммников для подключения сигналов от оборудования, и для того чтобы что то подключить нужно использовать подходящий модуль расширения. Модули обмениваются данными по беспроводному интерфейсу, поэтому для подключения к процессору необходимо произвести «сопряжение», чем то похожее на подключение наушников AirPods/EarsBuds к телефону. Также можно использовать встроенные интерфейсы Ethernet/Bluetooth/WiFi для управления/взаимодействия с сторонними устройствами, но это за рамками этого документа.
Установка и настройка
Подготовка к программированию контроллера состоит из следующих этапов:
Составляем перечень сигналов, которые необходимо подключить и обработать к ПЛК. Перечень должен содержать тип сигнала (дискретный вход/выход, аналоговый вход/выход)
Подбираем необходимое количество модулей соответствующих типов, чтобы можно было подключить сигналы из перечня
Подключаем питание на все модули и проводим процедуру сопряжения
Пишем программу, отлаживаем
Загружаем программу в контроллер
Сопряжение модулей
После того как все модули ввода-вывода и контроллер включены их необходимо «познакомить» между собой.
Удерживайте кнопку WPS на каждом модуле, пока синий индикатор не начнёт мигать (порядок не важен, но лучше начать с контроллера). Это мы вошли в режим сопряжения.
Нажмите и отпустите (коротко) кнопку WPS на контроллере. Моргнёт красный индикатор ERR, а на модулях - индикатор приёма данных COMM. Частота мигания индикатора на модулях увеличится. Если необходимо добавить еще модуль, можно как в п.1 ввести в режим сопряжения и повторить п.2
Нажмите кнопку WPS на первом модуле, который вы хотите подключить к контроллеру. На контроллере моргнёт индикатор приёма данных COMM. Если на контроллере не моргнул COMM (или не заметили) можно повторять этот шаг сколько угодно раз.
Повторите шаг 3 для всех остальных модулей в порядке подключения. Если индикатор получения данных контроллера не моргнул, вы можете нажать кнопку WPS на модуле ещё раз.
После того, как вы нажали кнопку WPS на последнем модуле, нажмите и удерживайте WPS на контроллере, пока синий индикатор не начнёт мигать, и отпустите. Модули перестанут мигать, и сопряжение будет завершено.
Выйти из процедуры сопряжения без внесения изменений в настройки можно нажав и удерживая WPS более 5 секунд, пока синий индикатор не начнет мигать с удвоенной частотой.
Программирование ПЛК
Контроллер включён и сопряжен с модулями. Приступим к написанию нашей первой программы. Программа контроллера — это файл(ы) на языке python и может быть 2 дополнительных файла настроек (используются модулем PYPLC): krax.json & krax.csv. После включения и загрузки системы контроллера запускается main.py. Изначально в этом файле проверяется состояние DIP переключателя RUN, и если он включён - запускается сценарий krax.py. Все программы управления цикличны и в общих чертах представляют из себя последовательность:
получить состояние с входных сигналов (состояние подключенных датчиков)
обработать их и выдать если необходимо новые сигналы на выходные сигналы
и так по кругу