Светофор На Плк – 30 Блоков

Привет! Я хочу показать, как написать программу управления технологическим оборудованием на ПЛК.

Чаще всего я имел дело с ПЛК производства Schneider Electric. Quantum, который я выбрал для этой задачи, — самый мощный и дорогой ПЛК этого производителя.

Он может управлять оборудованием с помощью тысяч сигналов; естественно, в реальной жизни его никто не будет использовать как светофор.

Я никогда не занимался автоматизацией светофоров, поэтому алгоритм придумал сам.

А вот и он: 1. Светофор для регулируемого пешеходного перехода.

Те.

светофор для автомобилей, светофор для пешеходов и кнопка для пешеходов, нажатием которой пешеход оповещает о своем желании перейти дорогу.

2. После запуска программы свет станет зеленым для автомобилей и красным для пешеходов.

3. После нажатия пешеходом кнопки начинает мигать зеленый для автомобилей, затем загорается желтый, затем красный.

После этого у пешеходов загорается зеленый, через заданное время он начинает мигать, у пешеходов загорается красный, после этого у автомобилей загорается желтый и красный, затем зеленый.

4. В течение заданного времени после включения зеленого цвета светофора для пешеходов нажатие кнопки пешеходом не запускает алгоритм перехода.

В этом случае алгоритм перехода запускается только по истечении заданного времени.

Программирование ПЛК осуществляется в среде программирования Unity на языках стандарта МЭК 61131-3. Этот стандарт включает 5 языков.

Например, я выбрал язык функциональных блоков — FBD. Вот браузер проекта в Unity:

Светофор на ПЛК – 30 блоков

Настройка ПЛК:

Светофор на ПЛК – 30 блоков

ПЛК состоит из монтажной панели, источника питания (1), контроллера (2), модуля дискретного ввода на 32 сигнала постоянного тока 24 В (4), модуля дискретного ввода на 32 сигнала постоянного тока 24 В (5).

В реальном проекте к одному контроллеру через различные сети могут быть подключены десятки монтажных панелей и сотни модулей ввода-вывода.

Создайте переменные нужных типов в редакторе переменных:

Светофор на ПЛК – 30 блоков

Переменные, привязанные к каналам модулей ввода-вывода, имеют адрес, указывающий, к какой корзине, модулю и каналу привязан сигнал.

Программа состоит из разделов, которые выполняются в каждом цикле сканирования контроллера по порядку.

Упрощенный цикл сканирования контроллера выглядит так: 1. Считывание входных сигналов с модуля ввода в переменные с адресами.

2. Выполнение разделов.

3. Запись значений из переменных с адресами в выходные сигналы модулей вывода.

4. Перейдите к шагу 1. Создайте раздел Clock с генератором импульсов с периодом 0,5 секунды.

При изменении входного сигнала с 0 на 1 блок ТП выдает на выходе импульс заданной длительности.



Светофор на ПЛК – 30 блоков

Здесь и далее скриншоты разделов показаны в режиме анимации, а не в режиме редактирования.

Они отображают значения переменных на текущий момент времени при подключении к ПЛК с загруженной программой (цифры для числовых переменных, цвет зеленый (1)-красный (0) для булевых).

Раздел Main управляет основной логикой.

Блок SR устанавливает выход в 1, когда S1=1, и сбрасывает выход в 0, когда R=1. Блок R_TRIG устанавливает выход для 1 цикла сканирования в 1, когда входной сигнал переходит от 0 к 1 (детектор нарастающего фронта).

Блок F_TRIG устанавливает выход для 1 цикла сканирования в 1, когда входной сигнал переходит от 1 к 0 (детектор заднего фронта).

Переменная inButton, привязанная к каналу кнопки, была заменена в разделе на inButtonForTest, чтобы ее значение можно было изменить в симуляторе контроллера без реального оборудования.



Светофор на ПЛК – 30 блоков

В разделе «Выходы» формируются выходные сигналы для управления светофорами.



Светофор на ПЛК – 30 блоков

Загрузите проект в симулятор контроллера:

Светофор на ПЛК – 30 блоков

Значение любых переменных можно посмотреть в таблице анимации:

Светофор на ПЛК – 30 блоков

Но для удобства отладки можно сделать экран оператора с простой графикой, анимация которого привязана к переменным:

Светофор на ПЛК – 30 блоков

Попробуем перейти дорогу: Я не ожидал, что для управления таким простым объектом, как светофор, понадобится 30 блоков.

В следующей статье я покажу, как написать эту программу, используя одновременно все языки стандарта MЭK 61131-3. УПД.

Исправлена ошибка в названии стандарта.

Теги: #plc #PLC #IEC 61131-3 #Quantum #unity #fbd #программирование #Промышленное программирование

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.