
Контроллер ILR 20DR 24D – устройство с компактным форм-фактором и поддержкой 24 В постоянного тока, предназначенное для управления реле, датчиками и исполнительными механизмами в системах автоматизации. Его программирование требует точного соблюдения последовательности действий, так как ошибки в настройке параметров или логики работы могут привести к сбоям в оборудовании. В этом руководстве рассмотрены ключевые этапы: от подключения к ПК до загрузки готовой программы.
Для работы потребуется ПО ILR Configurator версии не ниже 2.3.5 и кабель USB-RS485 с преобразователем уровней сигнала. Контроллер поддерживает протокол Modbus RTU, что позволяет интегрировать его с SCADA-системами и другими устройствами через последовательный интерфейс. Перед началом программирования убедитесь, что питание контроллера отключено, а настройки COM-порта в диспетчере устройств соответствуют параметрам: 9600 бод, 8 бит данных, без контроля четности, 1 стоп-бит.
Первый шаг – инициализация связи с контроллером. В ILR Configurator выберите пункт «Подключение» и укажите номер COM-порта. Если соединение не устанавливается, проверьте правильность подключения кабеля (контакты A+ и B- должны быть подсоединены к соответствующим клеммам контроллера) и наличие драйверов для преобразователя USB-RS485. После успешного подключения считайте текущую конфигурацию устройства – это позволит избежать потери настроек при перепрограммировании.
Основная логика работы контроллера задается через функциональные блоки. В ILR 20DR 24D доступны блоки для управления дискретными входами/выходами, таймерами, счетчиками и условными переходами. Например, для реализации задержки включения реле на 5 секунд используйте блок TON с параметром PT = 5000 мс. При составлении программы учитывайте ограничения контроллера: максимальное количество блоков – 64, а время цикла выполнения не должно превышать 100 мс.
После завершения редактирования программы выполните компиляцию и проверку на ошибки. В случае обнаружения конфликтов (например, перекрытие адресов входов/выходов) ILR Configurator выведет предупреждение с указанием номера блока. Загрузите программу в контроллер, предварительно сохранив резервную копию текущей конфигурации. После загрузки переведите устройство в режим «Работа» и протестируйте функциональность с помощью встроенного монитора состояния входов/выходов.
Подготовка оборудования и инструментов для настройки контроллера

Перед началом программирования ILR 20DR 24D убедитесь в наличии следующих компонентов: ноутбук или ПК с установленной средой CoDeSys 2.3 или 3.5 SP18, кабель USB-RS485 (например, USB-485-Mini от FTDI) с драйверами, блок питания 24 В DC (ток не менее 1 А), мультиметр с функцией измерения напряжения и сопротивления, а также документация контроллера (руководство пользователя и схема подключения). Отсутствие любого из перечисленных элементов может привести к ошибкам при настройке или повреждению устройства.
Для подключения к контроллеру используйте только сертифицированные кабели с гальванической развязкой. Стандартный кабель RS485 должен иметь волновое сопротивление 120 Ом и экранированную витую пару. При работе в условиях электромагнитных помех (например, рядом с частотными преобразователями) дополнительно установите ферритовые кольца на оба конца кабеля. Проверьте целостность изоляции проводов мультиметром – сопротивление между жилами и экраном должно превышать 1 МОм.
- Настройте COM-порт на ПК: скорость 19200 бод, 8 бит данных, 1 стоп-бит, без контроля четности. В диспетчере устройств Windows убедитесь, что драйвер FTDI определил порт корректно (например, COM3).
- Подключите блок питания к клеммам L+ и M контроллера, соблюдая полярность. Напряжение на входе должно быть в пределах 20,4–28,8 В DC – превышение допустимых значений выведет устройство из строя.
- Для диагностики используйте светодиодные индикаторы на передней панели: PWR (питание), RUN (рабочий режим), ERR (ошибка). Мигание ERR с частотой 1 Гц указывает на неисправность питания или конфигурации.
Перед первым включением снимите перемычку JP1 (если она установлена) – это предотвратит загрузку заводской программы, которая может конфликтовать с пользовательской конфигурацией. Для сброса контроллера к заводским настройкам удерживайте кнопку RESET не менее 5 секунд при поданном питании. После сброса контроллер перейдет в режим ожидания связи по RS485.
Рабочее место должно быть оборудовано антистатическим ковриком и браслетом. Избегайте касания электронных компонентов контроллера руками – статическое электричество может повредить микросхемы памяти. При подключении входов/выходов используйте провода сечением не менее 0,5 мм² для дискретных сигналов и 0,75 мм² для аналоговых. Затягивайте клеммные винты с усилием 0,5 Н·м – недостаточная затяжка приведет к нагреву контактов, избыточная – к срыву резьбы.
Подключение контроллера ILR 20DR 24D к источнику питания и сети

Контроллер ILR 20DR 24D требует стабилизированного напряжения питания 24 В DC с допустимым отклонением ±10%. Подключение выполняется через клеммы L+ (положительный полюс) и M (общий минус). Используйте кабель сечением не менее 0,75 мм² для токов до 2 А и 1,5 мм² при нагрузке свыше 2 А. Перед подачей питания убедитесь в отсутствии короткого замыкания на линии – проверьте сопротивление между L+ и M мультиметром (должно быть >10 кОм).
Для подключения к сети Ethernet используйте разъем RJ45 на передней панели контроллера. Поддерживаются стандарты 10/100 Мбит/с с автоопределением полярности (Auto-MDI/MDIX). Рекомендуется применять экранированную витую пару (STP) категории Cat5e или выше при длине кабеля свыше 50 м. Настройте IP-адрес контроллера вручную или через DHCP в зависимости от конфигурации сети. При статическом адресе укажите:
- IP-адрес: в пределах подсети вашей локальной сети;
- Маска подсети: стандартная (например, 255.255.255.0);
- Шлюз: IP-адрес маршрутизатора (если требуется выход в другие сети).
Заземление контроллера выполняется через клемму PE на корпусе. Подключите ее к шине заземления медным проводом сечением не менее 2,5 мм². Сопротивление заземления не должно превышать 4 Ом. При отсутствии качественного заземления возможны сбои в работе интерфейсов связи и ложные срабатывания дискретных входов.
После подачи питания проверьте индикаторы на передней панели: PWR (зеленый) – наличие напряжения, RUN (зеленый мигающий) – штатная работа, ERR (красный) – ошибка. Если индикатор ERR горит постоянно, отключите питание и проверьте:
- Полярность подключения источника питания;
- Целостность кабеля Ethernet (тестером или заменой);
- Настройки IP-адреса на совпадение с сетевыми параметрами.
При первом включении контроллер автоматически выполняет самодиагностику в течение 5–10 секунд – не подавайте управляющие сигналы до завершения процесса.
Установка и настройка программного обеспечения для программирования

Для программирования контроллера ILR 20DR 24D требуется среда разработки CODESYS V3.5 SP18 или новее. Скачайте дистрибутив с официального сайта codesys.com, выбрав версию для Windows (x64). Установите ПО с правами администратора, следуя инструкциям мастера: обязательно включите компоненты CODESYS Control Win V3 и CODESYS Gateway – они необходимы для связи с контроллером. После установки обновите среду до последнего патча через встроенный менеджер обновлений (Tools → Update CODESYS). Для корректной работы драйверов подключите контроллер к ПК через интерфейс USB или Ethernet и установите драйверы из папки CODESYS\Drivers, если система не распознала устройство автоматически.
Настройте соединение с контроллером в CODESYS: откройте Device Repository (Tools → Device Repository) и добавьте файл устройства ILR_20DR_24D.devdesc.xml, предоставленный производителем. В проекте выберите целевую платформу ILR 20DR 24D и укажите IP-адрес контроллера в настройках связи (Device → Communication Settings). Для проверки подключения используйте команду Online → Login – при успешном соединении статус контроллера отобразится как RUN. Настройте параметры компиляции: в Project → Project Settings → Build установите целевую платформу ARM Cortex-M4 и оптимизацию Size для экономии памяти.
Создание нового проекта и выбор модели контроллера в ПО
Запустите ILR Configurator версии не ниже 4.2.1 – более ранние сборки не поддерживают контроллеры серии ILR 20DR 24D из-за отсутствия актуальных библиотек протоколов. В главном окне выберите пункт «Новый проект» или нажмите комбинацию Ctrl+N. Программа предложит сохранить текущий проект, если он открыт – откажитесь, если данные не нужны.
В диалоговом окне создания проекта укажите имя без пробелов и специальных символов, кроме подчеркивания. Например, Conveyor_Line_01. Путь к папке проекта не должен содержать кириллицу или длинные пути (максимум 128 символов). Нажмите «ОК» – программа создаст структуру каталогов: /config, /logs и /firmware.
После инициализации проекта откроется окно выбора оборудования. В дереве устройств разверните ветку «Контроллеры ILR», затем «Серия 20DR». Найдите модель ILR 20DR 24D и дважды кликните по ней. Если контроллер не отображается, обновите базу данных через пункт меню «Инструменты → Обновить библиотеки».
При выборе модели обратите внимание на модификацию: 24D указывает на 24 дискретных входа/выхода (12 входов, 12 выходов). Убедитесь, что в нижней панели отображаются корректные параметры: напряжение питания 24 В DC, максимальный ток нагрузки 0.5 А на канал, поддержка протоколов Modbus RTU и CANopen.
Нажмите «Применить» – программа запросит подтверждение конфигурации. Если планируется работа с внешними модулями расширения (например, ILR-EXP-8AI), добавьте их сразу через кнопку «Добавить модуль» в правой части окна. Игнорирование этого шага потребует повторного создания проекта при необходимости расширения.
В разделе «Параметры связи» установите скорость обмена данными: для Modbus RTU рекомендуется 19200 бод, для CANopen – 250 кбит/с. Адрес устройства по умолчанию – 1, но его следует изменить, если в сети несколько контроллеров. Сохраните настройки кнопкой «Сохранить конфигурацию».
Перед закрытием окна проверьте вкладку «Диагностика»: программа автоматически выполнит проверку совместимости выбранной модели с текущей версией ПО. Если возникнут ошибки (например, «Несовместимая версия прошивки»), обновите прошивку контроллера через «Инструменты → Обновление прошивки».
Проект готов к настройке логики. Перейдите в раздел «Редактор программ» – среда автоматически подгрузит шаблон с базовыми входами/выходами, соответствующими выбранной модели. Для ILR 20DR 24D входы обозначаются как I0.0–I0.11, выходы – Q0.0–Q0.11. Начните программирование с проверки соединения через кнопку «Онлайн-тест».
Конфигурирование входов и выходов контроллера под задачи

ILR 20DR 24D поддерживает 12 дискретных входов (DI) и 8 дискретных выходов (DO), а также 2 аналоговых входа (AI) с разрешением 10 бит. Для корректной работы с датчиками типа NPN/PNP на входах DI1–DI12 установите перемычки JP1–JP12 в положение «NPN» или «PNP» в зависимости от типа сигнала. Например, при подключении индуктивного датчика с открытым коллектором (NPN) перемычка JP3 должна быть в положении «NPN», а резистор подтяжки R3 (10 кОм) активирован для стабилизации сигнала.
Аналоговые входы AI1 и AI2 работают в диапазоне 0–10 В или 0–20 мА. Для переключения режима используйте перемычки JP13 (AI1) и JP14 (AI2): «V» для напряжения, «I» для тока. При работе с токовым сигналом подключите внешний шунтирующий резистор 500 Ом параллельно входу, чтобы преобразовать 4–20 мА в 2–10 В. Избегайте превышения максимального тока 25 мА – это выведет из строя входной каскад.
- Назначьте каждому входу функцию через параметры
DI_Functionв меню «I/O Configuration». Доступные варианты:0– стандартный дискретный вход;1– счетчик импульсов (до 1 кГц);2– вход для высокоскоростного счетчика (до 10 кГц, только DI1–DI4).
- Для счетчиков задайте параметры
Counter_Mode(0 – суммирование, 1 – вычитание) иCounter_Reset(DIx, где x – номер входа для сброса). - Аналоговые входы настраиваются через
AI_Range(0–10 В или 4–20 мА) иAI_Filter(0–100 мс для подавления помех).
Выходы DO1–DO8 – релейные, с коммутируемой мощностью до 250 В AC/30 В DC при токе 3 А. Для индуктивной нагрузки (катушки реле, соленоиды) параллельно выходу установите варистор или диод (1N4007) для защиты от ЭДС самоиндукции. При работе с нагрузкой свыше 2 А используйте внешнее реле или контактор – встроенные реле не рассчитаны на длительную работу с большими токами.
Для динамического управления выходами в программе используйте битовые переменные Qx (x – номер выхода, 1–8). Пример логики на языке IL: IF DI1 AND NOT DI2 THEN Q1 := 1; END_IF;. Для аналоговых выходов (если подключен модуль расширения) применяйте переменные AQWx с диапазоном 0–1023 (10 бит). При конфигурировании учитывайте время реакции: дискретные выходы срабатывают за 10 мс, аналоговые – за 50 мс.
Написание базовой программы управления на языке LD или FBD
Для программирования контроллера ILR 20DR 24D на языке LD (Ladder Diagram) начните с создания новой сети в редакторе. Подключите входной контакт I0.0 (например, кнопка «Пуск») к катушке реле Q0.0 (выход на исполнительное устройство). Добавьте контакт самоподхвата Q0.0 параллельно I0.0, чтобы обеспечить удержание сигнала после отпускания кнопки. Для останова используйте нормально замкнутый контакт I0.1 (кнопка «Стоп») последовательно с цепью. Проверьте логику в симуляторе, убедившись, что Q0.0 активируется только при нажатии «Пуск» и сбрасывается при «Стоп».
В FBD (Function Block Diagram) реализуйте ту же логику через функциональные блоки. Разместите блок SR (Set-Reset) и подключите вход S к I0.0, а R – к I0.1. Выход Q блока соедините с Q0.0. Для таймеров используйте блок TON с параметрами PT=5s (задержка включения), если требуется задержка срабатывания. При компиляции проверьте отсутствие конфликтов адресов и корректность привязки входов/выходов к физическим клеммам контроллера: I0.0–I0.7 для дискретных входов, Q0.0–Q0.3 для выходов.
Отладка программы с использованием симуляции в ПО

Для отладки программы контроллера ILR 20DR 24D в среде CoDeSys 2.3 или PLC Logic активируйте режим симуляции через меню Online → Simulation Mode. Перед запуском убедитесь, что в проекте загружены все необходимые библиотеки, включая Standard.lib и Util.lib, а также корректно настроены входные/выходные переменные. В симуляторе задайте начальные условия: например, для дискретных входов установите значения TRUE/FALSE через панель Watch, а для аналоговых – диапазон 0–10 В или 4–20 мА в зависимости от конфигурации модуля.
Используйте инструмент Breakpoints для пошагового выполнения кода, особенно в критических участках, таких как обработка аварийных сигналов или логика управления реле. В CoDeSys добавьте точки останова на строках с вызовами функциональных блоков (например, TON, CTU) и отслеживайте изменение их внутренних переменных (IN, PT, Q) в окне Variables. Для проверки таймеров задайте реальные временные интервалы в миллисекундах и сравните фактическое время срабатывания с заданным – расхождение более 5% указывает на ошибки в логике или неверные настройки цикла задачи.
При симуляции аналоговых сигналов используйте генератор значений в PLC Logic (Tools → Analog Signal Generator) для эмуляции датчиков температуры или давления. Настройте линейную зависимость между входным напряжением и физической величиной (например, 0 В = 0°C, 10 В = 100°C) и проверьте корректность масштабирования в программе. Для проверки реакции контроллера на граничные условия задайте значения, выходящие за рабочий диапазон (например, -1 В или 11 В), и убедитесь, что программа корректно обрабатывает ошибки через блоки LIMIT или SCALE.
Загрузка программы в контроллер и проверка работы в реальном режиме

В среде разработки выберите пункт «Online» → «Login» или аналогичный для установки соединения. Если контроллер не отвечает, проверьте:
- Целостность кабеля и правильность подключения (A+ к A+, B- к B- для RS-485).
- Наличие активного драйвера для USB-адаптера в диспетчере устройств Windows.
- Соответствие адреса устройства (по умолчанию – 1) в настройках проекта и на физическом контроллере (перемычка S1).
При успешном подключении индикатор RUN на корпусе контроллера начнет мигать с частотой 1 Гц.
Загрузите программу через команду «Download» или «Записать в устройство». Процесс занимает 10–30 секунд в зависимости от объема кода. После завершения контроллер автоматически перейдет в режим RUN. Если загрузка прервалась, выполните следующие действия:
- Проверьте свободное место в памяти (максимум 64 КБ для пользовательской программы).
- Убедитесь, что в проекте нет ошибок компиляции (особенно в блоках FB/FC).
- Отключите антивирусное ПО – некоторые программы блокируют низкоуровневый доступ к портам.
Для проверки работы в реальном режиме используйте встроенные инструменты мониторинга переменных. В CODESYS откройте вкладку «Watch» и добавьте критические переменные (например, входы I0.0–I0.7, выходы Q0.0–Q0.3). Подайте тестовые сигналы на дискретные входы контроллера (например, замкните I0.0 на +24 В) и наблюдайте за изменениями в реальном времени. Если выходы не активируются:
- Проверьте логику программы на наличие условий блокировки (например, таймеры, флаги ошибок).
- Измерьте напряжение на выходах Q0.0–Q0.3 мультиметром – при активации оно должно быть ≥22 В.
- Убедитесь, что нагрузка на выходах не превышает 2 А на канал (максимальный ток для ILR 20DR 24D).
Зафиксируйте результаты проверки в журнале тестирования. Укажите:
- Время и дату теста.
- Состояние входов/выходов до и после подачи сигналов.
- Отклонения от ожидаемого поведения (например, задержка срабатывания >50 мс).
При обнаружении неисправностей локализуйте проблему с помощью осциллографа (для анализа фронтов сигналов) или логгера Modbus (для проверки обмена данными). После устранения ошибок повторите загрузку и тестирование.
Настройка параметров связи контроллера с внешними устройствами

Контроллер ILR 20DR 24D поддерживает связь через интерфейсы RS-485 (Modbus RTU) и Ethernet (Modbus TCP). Для корректной работы необходимо задать параметры протокола, адресацию и скорость обмена. Начните с выбора интерфейса в меню *System → Communication*. Для RS-485 установите скорость передачи (9600, 19200, 38400 или 115200 бод) и формат данных: 8 бит данных, без контроля чётности, 1 стоп-бит (8N1). Эти параметры должны совпадать с настройками подключаемого устройства.
При использовании Modbus RTU задайте уникальный адрес контроллера в диапазоне 1–247. Адрес указывается в поле *Slave ID* в разделе *Modbus Settings*. Убедитесь, что адреса не дублируются в сети. Для проверки связи используйте команду *Read Holding Registers* (функция 0x03) с адресом 0x0000 – контроллер должен вернуть текущее состояние дискретных входов.
Для Ethernet-настройки перейдите в *Network Settings* и укажите IP-адрес, маску подсети и шлюз. Контроллер поддерживает статическую и динамическую адресацию (DHCP). При статической адресации введите параметры вручную, например: IP 192.168.1.100, маска 255.255.255.0, шлюз 192.168.1.1. Порт Modbus TCP по умолчанию – 502, но его можно изменить при необходимости.
Время ожидания ответа (*Timeout*) для Modbus TCP рекомендуется устанавливать в пределах 100–500 мс, в зависимости от загруженности сети. Для RS-485 значение *Timeout* должно быть не менее 200 мс при скорости 9600 бод и уменьшаться пропорционально увеличению скорости (например, 50 мс при 115200 бод). Настройка выполняется в *Modbus Settings → Advanced*.
Для диагностики связи используйте встроенные инструменты контроллера. В разделе *Communication Log* отображаются последние 50 событий: успешные запросы, ошибки CRC, тайм-ауты. При возникновении ошибок проверьте целостность кабеля, правильность подключения (A+ к A+, B- к B- для RS-485) и соответствие параметров протокола на обоих концах линии.
При работе с несколькими устройствами в сети RS-485 используйте терминаторы на концах линии. Сопротивление терминатора – 120 Ом, подключается между A+ и B-. Без терминаторов возможны отражения сигнала и сбои связи. Для длинных линий (более 100 м) применяйте повторители сигнала или экранированный кабель с заземлением экрана на одном конце.
Для интеграции с SCADA-системами или ПЛК настройте соответствие регистров Modbus. В контроллере ILR 20DR 24D дискретные входы (DI) доступны в регистрах с адреса 0x0000, дискретные выходы (DO) – с 0x0100, аналоговые входы (AI) – с 0x0200. Пример: чтение состояния первого дискретного входа – функция 0x02, адрес 0x0000. Запись в первый дискретный выход – функция 0x05, адрес 0x0100.
После настройки параметров сохраните конфигурацию в энергонезависимую память контроллера. Для этого выполните команду *System → Save Configuration*. Без сохранения изменения сбросятся при перезагрузке. Для проверки работоспособности используйте сторонние утилиты, например Modbus Poll или QModMaster, отправляя тестовые запросы к контроллеру.
Сохранение и документирование готовой программы для дальнейшего использования
После завершения настройки контроллера ILR 20DR 24D сохраните программу в формате .ilr через интерфейс среды разработки. Убедитесь, что выбран режим «Полное сохранение» (Full Save), чтобы включить все параметры конфигурации, включая настройки входов/выходов, таймеры и пользовательские функции. Для резервного копирования используйте внешний носитель или сетевой ресурс, указав в имени файла дату и версию программы (например, *ILR20DR_24D_v1.2_20240515.ilr*). Это позволит быстро идентифицировать актуальную версию при необходимости восстановления.
Документируйте ключевые элементы программы в текстовом файле или формате .pdf, прилагаемом к проекту. Включите схему подключения входов/выходов с указанием физических адресов (например, *I1.0 – кнопка «Пуск», Q2.3 – реле насоса*), описание логики работы основных блоков (таймеры, счетчики, условия переходов) и комментарии к критическим участкам кода. Для сложных алгоритмов добавьте временные диаграммы или блок-схемы, созданные в специализированных инструментах (например, Microsoft Visio или draw.io). Это сократит время на анализ программы при последующих модификациях.
Используйте встроенные средства комментирования среды программирования ILR. В каждом сетевом блоке добавляйте краткие пояснения к логическим операциям, особенно если они неочевидны (например, *»// Проверка аварийного сигнала с датчика S1 перед запуском двигателя»*). Для переменных применяйте осмысленные имена вместо стандартных обозначений (например, *MotorStartDelay* вместо *T37*). Экспортируйте список всех переменных с их адресами и описаниями через функцию «Генерация отчета» в меню «Инструменты» – это упростит отладку и интеграцию с другими системами.
Храните документацию в структурированной папке проекта с подкаталогами: *\Source* (исходные файлы .ilr), *\Docs* (описания, схемы), *\Backups* (архивные версии). Для совместной работы используйте системы контроля версий (Git, SVN) или облачные хранилища с поддержкой версионирования (Google Drive, OneDrive). Настройте автоматическое резервное копирование каждые 24 часа, если работа ведется в сетевой среде. При передаче программы третьим лицам удаляйте конфиденциальные данные (пароли, IP-адреса) и добавляйте файл *README.txt* с инструкциями по развертыванию и контактами ответственного разработчика.
