.. image:: _static/PLC-932.png :width: 250 :align: center :alt: KRAX PLC-932 Введение ======== О документе ----------- Данный документ предназначен для ознакомления с программированием логического контроллера 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. Все программы управления цикличны и в общих чертах представляют из себя последовательность: - получить состояние с входных сигналов (состояние подключенных датчиков) - обработать их и выдать если необходимо новые сигналы на выходные сигналы - и так по кругу