Category Archives: Программы ПЛК

Программа автомойки на языке CFC

Условие. Все как всегда очень и очень просто. Есть автомойка, работающая в сугубо автоматическом режиме, т.е. пришел с утра хозяин, нажал кнопку «Пуск» и, пока не сбросит ее, мойка моет. Программа управляет двумя воротами с концевыми датчиками  (на въезд и на выезд), помывочной системой и подсчитывает число вымытых машин по сигналу с бесконтактного датчика. Помывочная платформа также оснащена двумя датчиками (в начале и конце платформы) для контроля наличия автомобиля.

Чему можно научиться: язык CFC, работа с таймерами и переменными типа Time, set/reset.

Решение. Как это ни парадоксально самой сложной и трудоемкой частью этой задачи является задание переменных. Итак, приступим.

7 датчиков системы, все дискретные:

(*датчики положения ворот*)

dat_vorot1_open: BOOL;        (* бесконтактный датчик открытия въездных ворот *)

dat_vorot1_close: BOOL;        (* бесконтактный датчик закрытия въездных ворот *)

dat_vorot2_open: BOOL;        (* бесконтактный датчик открытия выездных ворот *)

dat_vorot2_close: BOOL;        (* бесконтактный датчик закрытия выездных ворот *)

(*датчики наличия автомобиля на помывочной платформе*)

dat_pl_vh: BOOL;          (* бесконтактный датчик на въезде на помывочную платформу *)

dat_pl_vyh: BOOL;        (* бесконтактный датчик на выезде с помывочной платформы *)

(*датчик проезда автомобиля через выходные ворота*)

dat_proezd: BOOL;

5 сигналов управления, также дискретные:

(*сигналы управления *)

vorot1_open: BOOL;     (* сигнал открытия въездных ворот *)

vorot2_open: BOOL;     (* сигнал открытия выездных ворот *)

vorot1_close: BOOL;     (* сигнал закрытия въездных ворот *)

vorot2_close: BOOL;     (* сигнал закрытия въездных ворот *)

moyka: BOOL;     (* включение мойки *)

3 временных параметра:

(*временные задержки*)

t_vyezd:TIME:=t#5s;      (* время задержки закрытия выходных ворот после выезда машины *)

t_zad_vkl_moyky:TIME:=t#10S;(*время задержки включения мойки после въезда машины на платформу*)

t_moyky:TIME:=t#2m;(*время мойки*)

Кроме того, кнопка включения системы и счетчик:

chislo_mashin:INT;(*счетчик*)

pusk: BOOL;        (* кнопка запуска *)

ну и для инициализации системы при первом запуске и события проезда:

init: BOOL := 1;

proezd:BOOL;

Теперь перейдем к программе управления. Разберем ее по цепям.

Программа управления

Программа управления

При срабатывании обоих датчиков положения на платформе закрывается дверь въездных ворот и после технологической задержки (выключить зажигание, двери запереть) включает на заданное время режим мойки. Через 2 минуты режим мойки отключается и открываются ворота на выезд.

Следующая цепочка:

Ситуация выезда машины из мойки

Здесь обрабатывается ситуация выезда машины из мойки. После появления заднего фронта с датчика проезда инициируется событие проезда и увеличивается счетчик машин (счетчик реализован в самом простом варианте. Можно использовать стандартный счетчик CTU, тогда необязательно отлавливать фронт).

Теперь событие выезд:

При возникновении события проезд через заданный промежуток времени закрываются выездные ворота и открываются въездные. Для открытия въездных отрабатывается также ситуация инициализации.

Ну и последнее – обработка сигналов концевиков:

Обработка сигналов концевиков

Здесь останавливаются соответствующие приводы и сбрасываются события инициализации и проезда.

 

Мой блог находят по следующим фразам

Пример программы ПЛК на языке ST «Работа с температурным графиком»

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

Чему можно научиться:  создание и использование функций и функциональных блоков; семантика циклов и условных переходов на языке структурированного текста; работа с массивами данных.
Оборудование: для программы управления вентиляцией, частью которой является описанный проект, предпочтительно использовать ПЛК со встроенными аналоговыми входами (проект примера работает в режиме эмуляции)

Оборудование: для программы управления вентиляцией, частью которой является описанный проект, предпочтительно использовать ПЛК со встроенными аналоговыми входами (проект примера работает в режиме эмуляции)

Функциональный блок «Обработка графика»

Функциональный блок «Обработка графика»

Общая программа

Визуализация работы проекта

Визуализация работы проекта

 

Мой блог находят по следующим фразам

Пример программы на языке LD релейных диаграмм (гирлянда)

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

Чему можно научиться:  работа с языком LD, установка параллельно и последовательно реле и катушек, работа с функциональным блоком таймера задержки; использование цикла ПЛК в алгоритме программы; определение булевых и временных переменных; установка и сброс дискретных сигналов (S, R).
Оборудование, на котором предпочтительно реализовывать – программируемое реле (пример сделан в режиме эмуляции).

Выбор языка программирования ПЛК

Раздел переменных

Раздел переменных

Кадры визуализации

Кадры визуализации

Программа ПЛК

Программа ПЛК

Программа ПЛК, запущенная на исполнение

 

Мой блог находят по следующим фразам