Введение
В современном мире регулирование движения транспортных средств осуществляется огромным количеством светофоров. Первый светофор примитивного типа был установлен 10 декабря 1868 года в Лондоне. С тех пор светофоры пережили длинную историю эволюции.
В настоящее время существует большое многообразие исполнения этих устройств, но все светофоры объединяет единый принцип трёхцветных сигналов и их расположения. Поэтому водители легко ориентируются по сигналам светофора в любой стране мира.
Здесь рассмотрен проект автоматики трёхцветного светофора, разработанный автором статьи на основе программируемого логического контроллера.
Проект
Рассмотрим процесс создания регулятора на конкретном примере. В проекте реализовано управление четырьмя трёхцветными светофорами, устанавливаемыми на перекрёстке пересечения двух дорог. Диаграмма работы такого светофора представлена на рис. 1.

Полный цикл работы светофора состоит из шести тактов. В каждом такте определённой длительности светится один или несколько сигналов светофора.
Управление светофорами производится попарно. Светофоры 1 и 3 устанавливаются для обоих направлений движения по первой дороге перекрёстка, а светофоры 2 и 4 аналогично для второй дороги перекрёстка, пересекающей первую, как показано на рис. 2.

Сигналы регулирования для каждого светофора одной пары одинаковы. Поэтому для управления всеми светофорами требуется 6 выходных портов контроллера: три порта для пары 1 и 3 и три порта для пары 2 и 4.
Для автоматики управления светофорами был выбран программируемый логический контроллер Matrix-1021-70-4 отечественной компании Segnetics [1]. Внешний вид контроллера Matrix представлен на рис. 3.

Данный контроллер имеет множество типов исполнений, позволяющих подобрать вариант с необходимым количеством выходных портов. Варианты исполнений контроллера приведены на рис. 4.

Коммутацию сигнальных фонарей светофора можно выполнять непосредственно с помощью контактов сильноточных реле выходных портов контроллера, что значительно упрощает схему подключения светофоров. В данном проекте выходы DOUT1, DOUT2 и DOUT3 управляют красным, жёлтым и зелёным сигналами первой пары светофоров, соответственно, а выходы DOUT4, DOUT5 и DOUT6 управляют такими же сигналами второй пары светофоров.
Питание контроллера осуществляется от источника постоянного тока с напряжением 24 В.
Программа
Программа управления светофорами написана на языке функциональных блоков в свободной среде разработки SMLogix [2]. Достаточно подробное описание этой среды разработки и работы с ней приведено в источнике [3]. Внешний вид главного окна программы представлен на рис. 5.

В программе реализовано два режима работы светофора. Первый режим обеспечивает регулирование движения на перекрёстках в рабочее время путём чередования проезда сначала по одной, а затем по другой дороге. Во втором режиме формируется жёлтый мигающий сигнал всех светофоров, который используется в нерабочее время. В этом режиме работы светофоров проезд перекрёстка транспортными средствами осуществляется согласно правилам проезда нерегулируемых перекрёстков и знакам приоритета.
Кроме того, в программе реализована возможность организации движения через несколько перекрёстков в режиме «зелёная волна». Этот режим позволяет проехать протяжённый участок дороги с перекрёстками без остановок перед ними для ожидания разрешающего сигнала.
Режим «зелёная волна» возможен при движении транспортных средств на определённой скорости, рекомендованной на данном участке дороги, и синхронизации светофоров на этом участке, формирующей разрешающий зелёный сигнал во время приближения транспорта к очередному перекрёстку.
Такой режим движения имеет множество очевидных преимуществ, таких как устранение транспортных пробок, снижение количества вредных выбросов в атмосферу, уменьшение расхода топлива, повышение ресурса транспорта, экономия времени в пути и т.п.
Организация режима «зелёная волна» осуществляется путём задания одинакового временно́го цикла для всех светофоров, установленных на выбранном участке дороги, и установкой определённой задержки для синхронизации светофоров каждого перекрёстка.
Благодаря наличию внутренних часов реального времени в контроллерах и установленной задержки запуска автоматики управление светофорами будет происходить с временны́м сдвигом, обеспечивающим включение разрешающего сигнала светофоров по пути движения транспорта на данном участке.
Наглядную демонстрацию «зелёной волны» можно увидеть при просмотре анимационного файла «green_wave.gif», размещённого среди дополнительных материалов к этой статье.
Например, при скорости движения автомобиля 54 км/ч, т.е. 15 м/c, и расстоянии до очередного перекрёстка, равном 300 метров, задержка для включения разрешающего сигнала светофора очередного перекрёстка составит: 300 : 15 = 20 секунд.
Таким образом, зная расстояние между перекрёстками любого участка дороги, можно вычислить время задержки для каждой группы светофоров и организовать режим «зелёная волна», установив вычисленное время задержки в контроллере автоматики соответствующей группы светофоров.
Интерфейс программы создан с помощью встроенного программного инструмента SMArt среды разработки, который запускается на панели инструментов. Окно программного инструмента SMArt с разработанным интерфейсом приведено на рис. 6.

Главным окном в данном интерфейсе является окно меню, на котором размещаются графические значки для остальных экранов с их названиями.
Раздел меню «Справка» содержит текстовое описание программы. С помощью меню «Время» устанавливаются энергонезависимые календарь и часы контроллера. Меню «Схема» содержит схему перекрёстка с динамически изменяющимися сигналами всех светофоров, подключённых к контроллеру в реальном времени. Меню «Настройки» позволяет задать: время цикла светофора в секундах, долю цикла для красного сигнала в %, время начала и окончания работы светофора в течение суток и задержку для синхронизации режима «зелёная волна». Меню «График» позволяет увидеть циклограмму работы светофора в виде графиков красного, жёлтого и зелёного сигнала.
Загрузка программы в контроллер производится непосредственно из среды разработки SMLogix через кабель связи MicroUSB, подключённый к порту USB компьютера. При этом питание контроллера осуществляется от того же порта USB напряжением 5 В.
После загрузки программы проекта в контроллер можно проверить её работу в режиме эмуляции. Для этого необходимо нажать кнопку «Подключиться с отладкой» на панели инструментов или клавишу F5 на клавиатуре компьютера. При этом проект автоматически транслируется в код загрузочной программы, запишется в контроллер и стартует. На экране компьютера будет отображаться информация о состоянии используемых в программе портов, счётчиков, компараторов и других элементов, а на дисплее контроллера отобразится главный экран «Меню». С помощью навигационных кнопок контроллера можно перемещаться по элементам меню и активировать их поочерёдно кнопкой «Ent». Выход из любого элемента меню производится кнопкой «Esc».
Диспетчеризация
Контроллер позволяет обеспечить диспетчеризацию светофоров с помощью встроенных в него интерфейсов. В проект добавлены регистры с картой памяти, приведённой на рис. 7.

С помощью этих регистров можно дистанционно устанавливать часы контроллера и менять настройки параметров программы, а также считывать информацию о функционировании светофоров по интерфейсу RS-485 или Ethernet и отображать её на персональном компьютере. Для этих целей можно использовать широко распространённую компьютерную программу mbpoll.exe.
Заключение
Данный проект может быть использован в качестве учебного материала и на практике, для изготовления автоматики светофоров и их установки, например, на макетах или на территории предприятия.
При необходимости проект можно развить и осуществить раздельное управление каждым светофором, например, для организации последовательного проезда перекрёстка со всех четырёх направлений. В таком случае потребуется контроллер, имеющий 12 выходных портов. Для практической реализации такого проекта можно использовать контроллер Matrix-2230-70-4 или Pixel2-3022-70-4 той же компании. Изменение типа контроллера в проекте выполняется простым изменением его свойств в проекте.
Источники и ресурсы:
- URL: https://segnetics.com/ru/Matrix.
- URL: https://www.segnetics.com/ru/smlogix.
- Вальпа О. Программирование логических контроллеров // СТА. 2025. № 1. С. 18.
- URL: https://www.cta.ru.
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

