Редактор схем
Данный раздел предназначен для настройки алгоритмов обработки данных, получаемых от оборудования посредством узлов проверок и действий.
Перейти в редактор можно через блок "Устройства" раздела "НАСТРОЙКИ" по кнопке "РЕДАКТОР СХЕМ" внизу таблицы.

Области редактора схем
- Выбор оборудования для настройки логики (доступен выбор только для оборудования, которое принимает сигналы, например Сканер, Камера, Виртуальная камера)
- Панель параметров выбранного узла схемы
- Панель доступных функций и проверок
- Рабочая область

Описание работы в редакторе схем
ЛКМ – левая кнопка мыши, СКМ – средняя кнопка мыши
- Передвижение рабочей области: зажать в свободном месте рабочей области ЛКМ или СКМ, затем передвигать мышь в нужном направлении
- Приблизить / отдалить рабочую область: вращать СКМ или воспользоваться кнопками приближения / отдаления в правом нижнем углу рабочей области
- Установить рабочую область так, чтобы было видно схему полностью: в правом нижнем углу рабочей области нажать кнопку
- Заблокировать / разблокировать редактирование схемы: в правом нижнем углу рабочей области нажать кнопку /
- Выделить один узел: ЛКМ нажать на нужный узел, выделенный узел подсвечивается
- Выделить несколько узлов: зажать клавишу SHIFT и ЛКМ, перемещать мышь в нужно направлении, выделенные узлы подсвечиваются и обрамляются
- Добавить на рабочую область новый узел: найти нужный узел из панели доступных функций и проверок, зажать ЛКМ, перетащить на рабочую область
- Удалить узел: нажать на нужный узел в рабочей области, нажать клавишу DELETE или нажать на кнопку «УДАЛИТЬ» в панели параметров узла
- Удалить связь между узлами: выделить нажатием ЛКМ линию связи, нажать клавишу DELETE или нажать на кнопку «УДАЛИТЬ» в панели параметров узла
- Сохранить схему: нажать ЛКМ в свободную часть рабочей области, нажать на кнопку «СОХРАНИТЬ» в панели параметров выбранного узла
- Экспортировать / импортировать схему: если есть необходимость сохранить в отдельный файл или загрузить схему из файла
- Типовые схемы: вызвать меню выбора типовых схем
Структура схемы
Любая схема содержит узлы «Начало», «Ошибка», «Конец» и другие узлы, расположенные между узлами «Начало» и «Конец», выбранные из панели функций и проверок.
Каждый узел имеет точки входа и выхода, расположенные сверху и снизу соответственно. Соединение между узлами возможно установить только из точки выхода предыдущего узла в точку входа следующего узла. Такое соединение должно быть между всеми узлами в схеме, от узла «Начало» до узла «Конец». Если на каком-то этапе не будет установлено соединение узлов, то схема в этом месте перестаёт работать, что может привести к некорректной работе оборудования.
Так же каждый узел имеет точку вывода ошибок, расположенную справа. Эта точка предназначена для вывода ошибок в узел «Ошибка», где происходит обработка ошибки и вывод информации о ней.
Узлы проверок и действий
Список узлов проверок и действий располагается в панели доступных функций и проверок. Список разделен на 2 группы: «Проверки» и «Действия». Каждый узел имеет в параметрах поле «Пользовательская заметка» для заметок, не влияет на работу схемы.
Описание узлов проверок
- Проверка агрегации (Не выполнена ) – Проверяет принятый код (коды) на отсутствие агрегации. В случае отсутствия агрегации переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка агрегации (Выполнена ) – Проверяет принятый код (коды) на наличие агрегации. В случае наличия агрегации переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка количества тиков камеры – Проверка количества тиков камеры (количества запуска схем). Не пропустит пока не наберется нужное количество тиков
- Проверка количества кодов в группе – Проверяет количество принятых кодов на соответствие с количеством, указанным в уровне агрегации задания (параметр in_count_level_*уровень агрегации*). В случае соответствия заданию переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка наполненности виртуального агрегата – Проверка первого в очереди виртуального агрегата на наполненность в соответствии с заданием
- Проверка GTIN – Проверяет принятый код (коды) на соответствие GTIN, указанному в задании. В случае соответствия GTIN переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка группы GTIN – Проверка группы GTIN кодов на соответствие заданным параметрам. В случае соответствия группы GTIN переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка на соответствие кодов набору – Проверяет принятый код (коды) на соответствие с набором, указанным в задании. В случае соответствия набору переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка на отсутствие нанесения во всех заданиях – Проверка кодов на отсутствие статуса "Нанесен" во всех заданиях. Если еще не нанесен, то переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка соответствия порядка виртуальной очереди – Проверяет принятый камерой код (коды) на соответствие первому виртуальному агрегату в виртуальной очереди. В случае соответствия очереди переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка маски – Проверяет принятый камерой код (коды) на соответствие маски, указанной в настройках. Маска настраивается исходя из «Описание структуры кодов датаматрикс систем ГИС МТ, МДЛП». В случае соответствия маске переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка наличия несчитанных кодов – Проверяет принятый камерой код (коды) на несчитанные (NoRead). В случае отсутствия несчитанных кодов переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка качества кода – Соответствует ли качество считанного кода заданному уровню
- Проверка верификации (Не выполнена ) – Проверяет принятый камерой код (коды) на отсутствие верификации. В случае отсутствия верификации переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка верификации (Выполнена ) – Проверяет принятый камерой код (коды) на наличие верификации. В случае наличия верификации переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка уникальности в группе – Проверяет принятый камерой код (коды) на отсутствие повторяющихся кодов. В случае отсутствия повторяющихся кодов переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка виртуальной агрегации (Не выполнена ) – Проверяет принятый камерой код (коды) на отсутствие в составе виртуальных агрегатов. В случае отсутствия в составе виртуальных агрегатов переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка виртуальной агрегации (Выполнена ) – Проверяет принятый камерой код (коды) на наличие в составе виртуальных агрегатов. В случае наличия в составе виртуальных агрегатах переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка на соответствие виртуального агрегата набору – Проверка на соответствие виртуального агрегата, в который добавлен пришедший код, набору описанному в задании
- Соответствие уровню агрегации – Проверяет принятый камерой код (коды) на соответствие уровню агрегации, указанному в параметрах данной функции. В случае соответствия уровню агрегации переходит к следующему шагу схемы, иначе выводит ошибку
- Проверка наличия кода в задании – Проверяет принятый камерой код (коды) на наличие вышеуказанных в текущем задании. В случае наличия в задании переходит к следующему шагу схемы, иначе выводит ошибку
Описание узлов действий
- Добавление кода – Добавляет считанный код в задание (например, при использовании типографского задания)
- Добавление кода в агрегат – Добавляет код в агрегат при ПОСЛЕДОВАТЕЛЬНОМ сканировании, например, при работе со сканером
- Агрегация связыванием – Агрегация путём последовательного сканирования кода из виртуального агрегата и кода агрегации
- Агрегация по предварительной печати – Проверяет принятые камерой коды на соответствие с виртуальными агрегатами в очереди. Оставшийся принятый код проверяется на соответствие уровню агрегации, указанному в настройках оборудования. Найденному виртуальному агрегату присваивается код агрегации. В случае агрегации переходит к следующему шагу схемы, иначе выводит ошибку
- Агрегация и отправка кода на печать – Принятые камерой коды агрегируются любым неиспользованным кодом, уровень которого должен быть указан в настройках оборудования. Код агрегата будет отправлен на печать на указанный принтер в данной функции, в редакторе схем. В случае агрегации переходит к следующему шагу схемы, иначе выводит ошибку
- Верифицировать – Верификация кода
- Изменение порядка виртуальной очереди – поиск в виртуальной очереди соответствия с принятой камерой кодами. Все предыдущие виртуальные агрегаты расформировываются. (Подтвержденное нанесение остается неизменным). В случае успешного изменения порядка очереди переходит к следующему шагу схемы, иначе выводит ошибку
- Расформировать агрегат – Расформировывает агрегат по его коду
- Расформировать агрегат по вложенному коду – Расформировывает агрегат по вложенному в него коду. Необходимо отсканировать вложенный код
- Расформировать виртуальный агрегат – Расформирование виртуального агрегата по вложенному коду в виртуальный агрегат. Внимание!!! Коды остаются в статусе "Верифицирован"
- Выполнить команду – Выполняет заданную команду операционной системы
- Добавление кодов в виртуальный агрегат – Наполняет виртуальный агрегат
- Добавление кодов в виртуальный агрегат в соответствии с набором – Наполнение виртуального агрегата в соответствии с указанным набором в задании. Функция содержит необходимые проверки по количеству каждого вида продукции. После этой функции необходимо установить проверку "Проверка на соответствие виртуального агрегата набору"
- Фильтр по уровню агрегации – Фильтрует данные по уровню агрегации. Коды, не найденные в задании будут отсеяны
- Печать агрегационной этикетки по вложенному коду – Печать агрегационной этикетки по вложенному коду. Необходимо отсканировать вложенный код в агрегат
- Отправить сигнал на контроллер – Отправляет установленный вами сигнал на контроллер
- Снять нанесение – Выводит брак из оборота. Снимает статус «Нанесён»
- Удалить из агрегата – Удаляет код из агрегата. Все коды ниже и выше по иерархии агрегата не изменяет
- Удалить из виртуального агрегата – Удаляет отсканированный код из виртуального агрегата
- Сброс статуса "Напечатан" – Сбрасывает статус "Напечатан" у неверифицированных кодов
- Восстановление оригинальных данных – Восстанавливает данные в том виде, в котором они пришли в схему. Например, для возврата к исходным данным после фильтрации
- Отправить сигнал на контроллер ENCODE – Отправляет на устройство "Контроллер ENCODE" заданную строку
-
Отправить TCP сообщение – Отправляет заданное TCP сообщение.
Параметры:
- IP адрес
- Порт
- Команда – Произвольная строка
- Ждать завершения запроса – Ждёт ответ на запрос, блокируется весь поток программы
-
Отправить коды на виртуальную камеру – отправляет в виртуальную камеру принятые камерой коды. В случае успешной отправки кодов переходит к следующему шагу схемы, иначе выводит ошибку
- Показать информацию о коде – Выводит окно с информацией об отсканированном коде
- Показать координаты – Отображает на сетке расположение принятых камерой кодов и удаляет координаты из принятой строки для дальнейших шагов схем. В случае успешной демонстрации расположения кодов переходит к следующему шагу схемы, иначе выводит ошибку
- Виртуальная агрегация – создает виртуальный агрегат и помещает в виртуальную очередь оборудования, указанного в данной функции, в редакторе схем. В случае успешного создания виртуального агрегата переходит к следующему шагу схемы, иначе выводит ошибку
- Записать рецепт на контроллер ENCODE – Записывает значения переменных по OPC UA из выбранной рецептурной карты
- Записать вес в очередь – Получает вес с весов и записывает в очередь для печати
- Печать кода – Печатает код из задания
- Печать шаблона – Печатает шаблон без передачи кода. В переменную шаблона
[code]будет вставлено значение счётчика из схемы. Счётчик инициализируется при старте задания -
Последовательный переключатель – Переключает активный выход при достижении заданного количества прохождений.
Параметры:
- Количество выходов – число доступных выходов
- Количество обращений до переключения – количество срабатываний, после которого выполняется переключение на следующий выход
- Сохранять состояние в задание – при включении текущее состояние (активный выход, счётчик прохождений) сохраняется в данные задания. Позволяет продолжить работу после перезапуска задания или программы. Сохранённое состояние удаляется при сбросе задания


- Установить вес из очереди – Получает последний вес из очереди и присваивает его к коду
- Запись в журнал – Записывает сообщение в журнал