Настройка ETL для работы с контроллером ENCODE
Контроллер ENCODE — программируемый логический контроллер (ПЛК) INOVANCE Easy 320 с готовой программой, рассчитанной на работу с ETL и с оборудованием на линии отбраковки.
Список оборудования, подключаемого к ПЛК:
- Датчик продукта;
- Энкодер;
- Кнопка сброса счётчиков;
- Камера;
- Отбраковщик;
- Сигнальная колонна: красный, жёлтый, зелёный, звуковой сигнал;
- Стоп линии.
Добавление устройства типа "Контроллер ENCODE"
-
Добавьте устройство типа Контроллер ENCODE.
-
Укажите IP адрес. Остальные параметры оставьте без изменений.
-
Добавьте Камеру
-
Добавьте рецептурные карты.
Добавление рецептурных карт
Для корректной работы добавьте две рецептурные карты:

- первая устанавливает значения переменных ПЛК при старте задания – данные значения переменных нужны для работы ПЛК
- вторая сбрасывает значения переменных ПЛК при остановке здания – важно отключить флаг для переменной
isStartedProgram

Переменные ПЛК
Таблица переменных ПЛК и их описания
| Переменная ПЛК | Описание |
|---|---|
| debounceProductSensor | Время устранения дребезга датчика продукта, мс |
| countOfMissedProductSensorTriggers | Количество первых срабатываний датчика продукта, которые нужно пропустить |
| isUsedEncoder | Используется ли на линии энкодер, программа на ПЛК будет работать на основании значения с энкодера |
| diameterOfEncoderWheel | Диаметр ролика энкодера, мм. Значение указывается, если выбран режим работы по энкодеру |
| encoderPulsesPerCycle | Количество импульсов на оборот. Значение указывается, если выбран режим работы по энкодеру |
| lengthToTriggerCam | Расстояние от датчика продукта до места сработки камеры (мм) |
| lengthToDecisionMaking | Расстояние от датчика продукта до отбраковщика, мм |
| isUsedTimer | Программа на ПЛК будет работать на основании времени. Если установлено и isUsedEncoder, и isUsedTimer, то программа будет работать на основании времени |
| delayForTriggerCam | Задержка срабатывания камеры после срабатывания датчика продукта, мс |
| delayForDecisionMaking | Время движения продукта по линии от датчика продукта до отбраковщика, мс |
| durationTriggerCam | Длительность сигнала, подаваемого на камеру, мс |
| maxTimeUpperSensor | Максимальное время подачи сигнала датчика продукта (мс) |
| maxLengthUpperSensor | Максимальное расстояние подачи сигнала датчика продукта (мм) |
| isUsedPusher | Используется ли на линии отбраковщик |
| durationForFillPusher | Длительность сигнала, подаваемого на отбраковщик, время заполнения цилиндра отбраковщика, мс |
| isUsedGreenLight | Используется ли на линии зелёный сигнал на сигнальной колонне |
| timeOfGreenLight | Время сигнала, подаваемого на сигнальную колонну для зелёного сигнала, мс |
| isUsedRedLight | Используется ли на линии красный на сигнальной колонне |
| timeOfRedLight | Время сигнала, подаваемого на сигнальную колонну для красного сигнала, мс |
| isUsedBeeper | Используется ли на линии звуковой сигнал на сигнальной колонне |
| timeOfBeeper | Время сигнала, подаваемого на сигнальную колонну для звукового сигнала, мс |
| countToAlarm | Количество отбракованных продуктов подряд для подачи сигнала об остановке линии. Например, если установлено 5, то после 5 отбраковок подряд будет подан сигнал на остановку линии, при этом по умолчанию ПЛК продолжит свою работу |
| stopLineMode | Старт-стоп и авария (ВЫКЛ) / авария (ВКЛ) |
| cameraIpAddress | IP адрес камеры, установленной на линии. Значения устанавливаются по октетам, где [0] – 1-й октет |
| cameraPort | Порт камеры, обычно 22, 2002 |
| isUsedSorter | Используется ли на линии сортировщик |
| isUsedProductSensorForSorter | Используется ли отдельный датчик продукта для сортировщика. С ним работает только таймер (delayForTriggerSorter) |
| debounceProductSensorForSorter | Время устранения дребезга датчика продукта для сортировщика (мс) |
| countOfProductsForEachLineAfterSorter | Количество продуктов направленных сортировщиком на каждую из сторон |
| delayForTriggerSorter | Задержка до триггера сортировщика, при работе ПЛК по таймеру, мс |
| lengthToTriggerSorter | Расстояние до триггера сортировщика при работе ПЛК по энкодеру, мм |
| durationAfterOverfillingBucket | Задержка включения выхода, информирующего о переполнении корзины отбракованных продуктов (мс) |
| durationAfterEmptyingBucket | Задержка отключения выхода, информирующего о переполнении корзины отбракованных продуктов (мс) |
| isStartedProgram | Старт/Стоп программы ПЛК |
| countOfClockCyclesBeforeRecordingTimestampsOrPositions | Количество тактов до начала записи временных меток или позиций в очереди, предназначенных для расчёта момента принятия решения |
Затем необходимо добавить виртуальные устройства типа Событие: Запуск задания и Событие: Завершение задания, в схемах работы которых, будут узлы, отвечающие за запись рецептурных карт на ПЛК.
Добавление виртуальных устройств


После добавления оборудования настройте схемы работы.
Настройка схем работы виртуальных устройств и камеры
Для виртуальных устройств добавьте узел "Записать рецепт на контроллер ENCODE". В настройках узла выберите оборудование и рецепт.
Для виртуального устройства, срабатывающего при старте задания, выберите рецепт со значениями переменных для инициализации:

Для виртуального устройства, срабатывающего при остановке задания выберите рецепт со значениями переменных для сброса:

В схему работы камеры добавьте узел Отправить сигнал на контроллер ENCODE. В настройках узла выберите контроллер ENCODE и введите строку:
1~[code]– пропустить продукт0~[code]– отбраковать продукт


Узел со строкой 1~[code] установите в ветвь без ошибок. Узел со строкой 0~[code] установите в ветвь, где идёт обработка ошибок.


Задержка отправки сообщения
Параметр Задержка (мс) узла «Отправить сигнал на контроллер ENCODE» отвечает за задержку отправки сигнала на контроллер для корректной работы ПЛК.
