В ролике показано создание программы управления задвижкой на ПЛК. Автор собирает стенд с имитатором задвижки, создаёт отдельные программы для входов и выходов на языке лестничной логики, проверяет работу концевых выключателей и двигателя, а затем пишет основную программу управления с блокировками. В конце анонсируется диагностика задвижки в следующей части.
- 00:02 Обзор стенда и имитатора задвижки
- 01:11 Создание нового проекта и выбор контроллера
- 02:02 Разделение программ для входов и выходов
- 03:06 Программа входов на языке лестничной логики
- 07:45 Компиляция и загрузка программы входов
- 08:41 Программа выходов и управление двигателем
- 12:32 Основная программа управления задвижкой
- 15:10 Исправление ошибки с концевыми выключателями
- 17:10 Добавление блокировки кнопок и проверка
- ПЛК
- лестничная логика
- реле
- концевые выключатели
- двигатель
- имитатор задвижки
Кому полезно: Инженерам АСУ ТП, изучающим программирование ПЛК на языке лестничной логики
Описание составлено автоматически по расшифровке речи в ролике.
Расшифровка видео
0:02 Здравствуйте, с вами сегодня Александр Павлов, и мы напишем простенькую программку управления задвижкой. Вот для этого я создал стенд, который входит имитатор имитатор работы задвижки. То есть там применены настоящие промышленные датчики положения? Открыто и закрыто, и в качестве двигателя выбран двигатель из амперки с редуктором номинальным напряжением 5 вольт, так как на стенде. У меня источник питания 24 Вольта, мне пришлось сделать резитивный делитель. Кроме этого, для управления этим двигателем мне нужно менять. + И ты на его выводах, поэтому здесь применяется 2 реле, которые заблокированы между собой, чтобы их нельзя было включить одновременно.
0:57 Вот и вот контакты, вот этих реле подключают либо +, либо она в зависимости от того, какое направление движения мы выберем в программе. Давайте создадим новый проект с 0. Назовем его задвижка. У нас выбран контроллер ДВП, у меня на стенде применяется контроллер е эс 2. Вот и выберем. В котором будет храниться наша программа? Для опроса входа и для выдачи команд на выходы я рекомендую сделать 2 отдельные программки, которые будут этим заниматься. Вот почему именно так, хотя можно задать глобальные переменные и В. Этих глобальных переменных определить уже входы и выходы, потому что перезадание глобальных перемен и требует перезагрузки полностью программы в контроллер. Вот, а в некоторых случаях это.
2:32 Плохо, поскольку, например, заказчик не хочет останавливать технологический процесс, а нам нужно поменять некоторые вещь. Какой то задвижки, в каком то пневмоцилиндре. И так далее, да и мы можем сделать это уже прямо. Онлайн, перегрузив кусочек программы и контроллер, нас не будет останавливаться, будет продолжать работать.
2:54 Поэтому вот мы делаем. 2 Такие программки. Отдельно для входов и отдельно для выходов. Назовем их входы и выходы, это циклическая программа на языке лестничной логики. Сдаем. Посмотрим внимательно на нашу схему. У нас здесь есть 2 концевика открыто и закрыто. Вот добавляем. Для не входа. Так как у нас находятся эти концевики в модуле. Вот, наверное, у нас будут номера выходов мировходов 26. 27 Вот и добавим к этому катушечку, вот такая простенькая. Здесь команда перегрузки из 1 бита в другой, но тем не менее она позволяет нам не останавливать контроллер. Когда мы хотим, например, поменять уже на физический вход, на какой то сигнал.
4:23 Вот, а вот эти уже перемены, которые внутренние, мы можем сделать и глобальными. Значит, у нас здесь будет по крайней мере 4 переменный это 2 наших концевика и. 2 управляющих воздействия неважно, откуда они придут с пульта управления или с панелей Тачскрин, вот для нас это отдельные виды. Вот назовем их как кнопки, там вот кнопки. Сб Опен Здесь можно тут же присвоить адрес. В памяти. Ну, допустим, это будет Эм 500, у нас с 500 начинаются внутренние биты.
5:53 Вот и добавим наши концевики. Ты. Ты видела, какие картинки? Это битый м 200. Открыто. И концевик закрыта. М. М 201 Кроме этого, у нас будет 2 выхода. Это тоже будут внутренние биты. Хотя добавим их позже, сначала разберемся с программой входов Икс 26. У нас здесь мы уже тут можем выбирать, это у нас. Ну, допустим, Эс Кью Клоуз, да это. Концевик закрыт, вот если что, то неправильно. Мы потом можем поменять, мы можем эту строчку сразу сделать, с загрузить буфер, скопировать и вставить.
7:32 И уже здесь задать другой вход и здесь. Например, да. Давайте на данном этапе проверим, как работает наша программа. Мы должны скомпилировать ошибок, нету и загрузить в контроль.
8:14 Подключимся к контроллеру, посмотрим. Что у нас сейчас вот на картинке внизу справа? Вы видите физические датчики, вот я 2 датчик зажигаю, да у меня. Программа отрабатывает, да? Так отключаемся. И делаем программу для выходов.
9:03 Вот тут у нас будут внутренние биты и уже физические выходы контроллера. То есть внутренний бит у нас будет? Пока не задан, да потому что надо его добавить. Глобально здесь мы добавляем уже. Прямой адрес выхода нашего физического да зайдем в глобальные переменные и добавим еще. Теги для выходов. Назовем его. Вот открыть это у нас будет. Ну, допустим, 100 100. Где закрыть? М. 101 Вот ну, допустим, у вас будет и 0 это. Как у нас на схеме? Открыть, да?
11:11 Вот а Игрек 1. Будем закрыть. Компилируем программу. И загружаем ее в контроль. Сейчас мы физически можем подвигать двигатель вправо, влево, открыть и на закрытии. Посмотреть, что у нас произойдет, потому что двигатель у нас не будет отрабатывать по концевыключателям. Будет просто крутиться. Включимся контроллером и вот. Вот попрысковый. В другую сторону. То есть можно сказать, что схему мы проверили? Теперь давайте напишем основную программу. Добавим программу.
12:43 Так пока у нас контроль подключен, это функция не работает. Назовем ее, Мэри. Ну и соответственно у нас здесь есть. Вход и выходы, да тоже самое, то есть мы вот здесь. Например, кнопку закрыть и здесь. Включаем закрытие, да и при этом мы контролируем концевик. Закрытие, да то есть, если у нас концевик закрытия уже. Включен. То не должно ничего работать. Вот вот такая вот цепочка! Контрацепт на правую. И все тоже самое. Для открытия Так давайте проверим.
14:13 Нашу программу, то есть мы ее скопилируем. И загрузим ее в контроллер. Выключаем контроллер из режима Рам. И включаем контроллер в работу сразу же после загрузки программы. Да, то есть, если мы сейчас вот включили, да мы видим. В принципе следующая ситуация, что контроль у нас в работе у нас не работает ни 1 концевик, потому что. Вот этот вот флажок, который замыкает концевики, он находится между ними. Вот и посмотрим, как у нас будет работать. Так у нас работает неправильно, потому что концевики.
15:14 Перепутаны местами. Вот. Что тут можно сделать во 1? Нужно вывести двигатель в другое положение, чтобы у нас. Он находился этот флажок сверху между концевиками. Так, Форста. Здесь Вот я его перевел, значит, теперь нам нужно поменять дискретные входы местами. Да вот у нас программа работает, мы не останавливаем процесс, можем частично менять. Менять нашу программу, то есть здесь вот 27. Икс 26. Вот после этого программу мы компилируем. И загружаем ее в контроль.
16:45 Вот после этого у нас должно все работать в принципе правильно. Включаем закрыть. Включаем открыть. Вот, но тут есть 1 момент, что если мы нажали эти кнопки одновременно? У нас заглушка будет ездить. На открытие закрыты, притом они срабатывает 2 выхода, что то плохо. Вот пока. Пока выключим это. Значит, здесь нам нужно еще вставить блокировку по кнопкам.
18:08 То Есть, смотрите, какой здесь момент получается, что если мы сейчас запустим программу, она работать будет так точно так же, как раньше, вот. Вот почему потому, что вот этот вот код у нас на картинке, хотя он присутствует, но в контроле он не загружен, обязательно его нужно загрузить. При этом автоматически выполняется компиляция программы при нажатии вот этой кнопочки. Так давайте проверим. Машка и Гели. Вот ничего не работает. Для того чтобы сработало.
18:58 Нужно снять этот бит. Следующей серии мы рассмотрим диагностику задвижки, то есть рассмотрим время ее работы. Напишем счетчик, который будет считать, сколько у нас задвижка едет от. Закрытого состояния в открытое и обратно на основе этого мы поставим таймер. И если время будет за время работы, закончился задвижка, еще едет. Значит, это ненормальная ситуация, значит, у нас отвалился концевик вот эти 2.
19:45 Типовых типовой ситуации мы рассмотрим в следующий раз. Вступайте в группу Обучалка по контроллерам Дельта. С вами был Александр Павлов, до свидания.
Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.
Часть 1 Пишем программу управления задвижкой.