Практическое занятие по разработке программы управления на языке FBD для устройства из двух пневматических цилиндров. Показано соединение логических модулей и адресация входов, настройка пневмосхемы, построение последовательности на RS-триггерах, а также запуск и остановка цикла в ручном и автоматическом режимах.
- 00:06 Соединение логических модулей и адресация входов
- 01:54 Временная диаграмма работы двух цилиндров
- 07:15 Добавление логического модуля и линий связи
- 10:56 Подключение соленоидов и пневмораспределителей
- 13:06 Настройка пневмосхемы с двумя цилиндрами и распределителями
- 19:18 Построение последовательности на RS-триггерах
- 23:15 Соединение условий активации шагов с датчиками
- 25:52 Сброс RS-триггера при втянутом цилиндре
- 29:23 Запуск последовательности в ручном и автоматическом режимах
- 30:53 RS-триггер и условия остановки цикла
- FBD
Кому полезно: Инженерам АСУ ТП, изучающим программирование на языке FBD
Описание составлено автоматически по расшифровке речи в ролике.
Расшифровка видео
0:06 Задание номер 3 разработайте и напишите программу для устройства, состоящей из 2 цилиндров из ранее выполненной работы. Задание 2 логический модуль номер 1 соедините линиями связи с логическим модулем номер 2 согласно адресам подключений, то есть. Прошлую задачу, где мы разрабатывали с вами панель управления, теперь мы добавляем еще 1 логический модуль. Как видим, он двухбайтный, потому что у нас. Адреса с Ай 0 по ай 15 да всевозможные есть, и мы должны те лампочки, которые мы делали в прошлом задании. Теперь соедините линиями связи на входы уже. Модуля, 2 то есть как это у нас выглядит на эските. Смотрите, то есть вот он наш логический модуль номер 1. Да, он соединен нас также кнопками все те же. Кнопки, которые были, но теперь у нас лампочек нету, и все линии связи соединяются уже с логическим модулем номер 2. Видим, да то есть теперь туда будет. Подаваться сигнала нажата кнопка, старт нажата кнопка стоп. В каком режиме выполнять работу и вообще система включена или нет? Далее мы что, с вами делаем? Видим на эскизе, это нам напоминает, какие обозначения кнопок и какой их функционал здесь дальше подключены в логически уже модуль номер 2 наши датчики. А 0 а 1 б 0 б 1 и так это датчики бесконтактные магнитные датчики, именуемые герконы для наших 2 цилиндров. Потому что наше устройство, которое мы будем. С вами программировать состоящее из 2 пневматических цилиндров и временная диаграмма. Но об этом чуть поподробнее уже непосредственно в самой задаче.
1:54 И так здесь мы уже с вами определили, что с Ай 0 по Ай 4 с выходов логического модуля. Номер 2 будут подаваться сигналом на входы логического модуля номер 2. То есть логическому модулю номер 1 на логический модуль, 2 если быть. Точнее, далее у нас наши датчики цилиндры. То есть положение цилиндр в ай 5 цилиндров втянут, цилиндр выдвинут, цилиндр втянут, цилиндр выдвинут все остальные с Ай 9 по Ай. 15 Наши входы не используются, это мы сейчас говорим про. Логический модуль номер 2, ну и выходы 1 выходы нулевой, и 1 у нас не используются. Далее 2 выдвинуть цилиндр, а ку 3 задвинуть цилиндр, а ку 4 выдвинуть цилиндр б ку 5 задвинуть цилиндр б всего 4 соленоида у нас подключены на. Выводы далее смотрим временную диаграмму соответственно, когда мы нажимаем на кнопку старта независимо, в каком режиме мы работаем. У нас есть определенный цикл до смотрим, как только мы нажмем на кнопочку старт в нужный момент. Времени у нас произойдет следующее состояние, то есть 1 цилиндр, а начнет выдвигаться, как только он выдвинется, начнет выдвигаться. Цилиндр Б, как только цилиндр б, выдвинулся цилиндр, а все также у нас в выдвинутом положении. Далее цилиндр б сам задвигается, как только задвинется, опять выдвинется, как только за за двинется, еще 1 раз выдвинется еще 1 раз. Он начнет еще раз задвигаться, и как только 2 раз он уже задвинется цилиндр, а задвинется и цикл. Закрали сначала, соответственно, это наша временная диаграмма нашего устройства. Теперь смотрим наше устройство из 2 цилиндров. Программа должна позволять запускать и останавливать устройство, то есть что мы с вами делали теперь. Нам нужно подавать эти сигналы на логический модуль номер 2 далее, а работать в ручном режиме. Цикл, показанный выше, выполнится 1 раз, то есть мы нажмем с вами на кнопочку. Старт это цикл 1 раз выполнится, и система остановится.
4:08 Работать в автоматическом режиме цикл, показанный выше, будет выполняться раз за разом до тех пор, пока не будет нажата либо кнопка стоп или принудительно не выключат всю систему, то. Есть это кнопочка 1 с 2 нормально закрыты на логическом модуле номер 1. Цикл, как только нажмут, какую то из этих 2 кнопок цикл дорабатывает до конца, то есть до 7 шага и останавливается.
4:39 Далее останавливает техпроцесс по кнопке стоп. Только при условии, что система включена и оператор определился с режимом работы, ну и также. Запускать их процесс по кнопке старт только при условии, что система включена и оператор определился режим работы, но мы это делали в. Прошлой задаче, поэтому нам мы просто соединим линиями связи согласно нашему эскизу, соответственно для этого нам понадобится программа. Флюити, мы, как и ранее далее, смотрите, здесь линия питания. Мы здесь немножечко с вами дадим пространством нам разгуляться, да замечательно.
5:13 Замечательно. Соответственно, что нам нужно 1, мы удаляем все лампочки, потому что их у нас попросту нет. Замечательно кнопки мы также оставляем. Ну и смотрим, 1 что у нас с вами добавляется. Здесь это датчики магнитные датчики. Вот они. То есть 1 датчик у нас согласно эскизу, это, а 0. Применить есть далее у нас. Ну и соответственно здесь, у нас. Б 0. Б 0. И а б 1? 1 Соединяем их вот сюда, вот транспортируем. Также в линию питания 0. 1 Так ага дальше б 0?
6:55 И ну давайте удалим. Б Нури б 1 соответственно вот эту линию немножко надо по клеточкам сделать, чтобы было все наглядно и ровненько, да хорошо. Хорошо. Ну отлично, теперь в машину 0 в принципе дальше. Нам нужно с вами, что добавить, мы с вами добавляем. Это у нас новый логический модуль до двухбайтный, ставим его наравне. Как раз с модулем модулем номер 1 логическим соединяем линиями связи, запитываем наш модуль. Ну и дальше, 1 что мы с вами будем делать? Это закидывать линии связи, и так система включена на Айнольда отправляем и.
7:51 Есть далее выбран режим ручной. Тоже с вами отправляем выбран режим автоматический. Так, соответственно, здесь мы что, с вами делаем также эти все логические модули? Мы с вами подвинем, чтобы расстояние у нас было равное на. Так есть есть есть. Хорошо. Далее выбран режим автоматически нажата кнопка, старт. Дальше нажата кнопка стоп. Есть, то есть линии связи и так смотрим с Ай 0 по Ай 4. У нас линии связи с Ай 0 по Ай, 4 соответственно, да здесь ку 4 ай. 4 Все замечательно, линии связи мы с вами сделали, теперь мы должны с вами.
9:09 1 Это как раз. Как раз непосредственно на 0 замкнуть наши датчики, да к. примеру, вот сюда вода можно сделать линию связи. Замкнуть между собой общий 0. Почему нет? Далее, ну и как раз непосредственно наши исполнительные механизмы, то есть, а и 0, а точнее, датчики. Прошу прощения, Ай, 0 у нас идет в линию связи сюда. Далее, Ай 1, а 1 точнее. Это что, цилиндр у нас выдвинут, б 0 что наш цилиндр? Тянут. И б 1 что, наш цилиндр б? Выдвинут, ну вроде все замечательно, сделаем тогда везде, чтобы не было у нас.
10:24 Каких то? Пересечений, да? Так, ну вроде как везде, все более менее ровненько, соответственно, здесь мы подожмем чуть чуть повыше и. Хорошо есть, смотрим далее с вами немножко, поднимем нашу шину 0 до. Да тут у нас вроде все замечательно, все есть, все есть. Так смотрим дальше, у нас идут соленоиды, которые у нас будут управлять нашим нашей пневматической схемы, то они у нас электромагнитные. Клапаны мы назовем их попросту Игрик на Игрек. 1 У нас на схеме 2 пневмораспределителя 5 2 двустороннего электромагнитного управления.
11:17 Соответственно, здесь у нас. Игрек 1 Есть далее. Прошу прощения, Игрек у нас не используют, соответственно, с ку 2 начинаем и. Игрек 2 Игрек 3 И Игрек 4 соответственно, то есть добавляем соленоиды к нашим выводам согласно нашей схемке. Есть замечательно. Наши соленоиды подключены с ку 2 по ку 5. Давайте проверим наш эскиз с ку 2. По ку 5 да вот эти линии мы не используем в данной задаче, и так принципе мы с вами задачку сделали. Теперь мы схемку немножко сделаем покомпактнее, да?
12:45 Все линии связи немножечко опустим вниз до, чтобы у нас. Так ну тут мы ничего сделать не сможем, окей, так линия питания. Замечательно, так наша схемка здесь замкнулась, замечательно включаем, так вроде? У нас есть есть датчики, они присоединены и соленой до присоединения. Теперь нам с вами нужно настроить нашу пневмосхему, для этого нам понадобится с вами 2 цилиндра.
13:28 1 Цилиндр цилиндр, а с метками срабатывания, а 0 и а 1 здесь у нас. 0 0 А здесь у нас 100 100 применить вот наш цилиндр замечательно. Далее копируем его, вставляем еще 1. Здесь мы меняем, конечно же, не, а 2 а б метки срабатывания здесь уже будет б 0, а здесь уже будет б 1. И они у нас привяжутся как раз к нашим цилиндром. Ну и по естественно, как где у нас цилиндры, там у нас и распределители нам необходим. Распределитель как раз 5 2 но уберем лишнее, что нам здесь мешает. Это ручное дублирование, пилотное управление, да и здесь в принципе.
14:16 Оставляем вот таким вот образом хорошо, замечательно, так далее. Здесь подписываем Игрик, 1 здесь у нас подписываем 2. Есть и здесь у нас. Все то же самое, только здесь уже Игрек. 3 А здесь 4 хорошо есть, ну и в принципе можно просто добавить источник сжатого воздуха, да что у нас? Пневматически не будем. Блок подготовки воздуха ставить коллектора, это все понятно. То есть нам наша задача здесь просто разработать нашу схемку, посмотреть, как она вообще будет у нас с вами работать, да поэтому можем сделать вот. Такую маленькую пневматическую часть и посмотреть, как она дальше будет себя вести на в работе. Дадим друг другу, чтобы они не мешали. Хорошо схемка у нас готова теперь, что мы понимаем здесь, у нас по схеме.
15:22 По схеме у нас используются входы. С Ай 0 по Ай 8 соответственно мы 1 перемещаем нашу схему вот сюда, вот с Ай 0 по Ай 8. Удаляем, удаляем, удаляем, удаляем, удаляем хорошо, далее здесь мы используем 1 2 адреса, мы не используем дальше. 4 1 2 3 4 Из ку 6 Мы вообще не используем нашего. Выхода, потому что это наша солидная есть. Ну и теперь смотрите, банально переписываем здесь наше значение с задания, то есть берем, система включена, вставляем вот сюда.
16:13 Замечательно, так уже имеется, ну понятно то, что система включена 2. Можем подписать, да то, что это как раз наш вывод. Подпишем просто, чтобы у нас не ругалась схема, далее у нас. Выбран режим ручной двойка, это будет подписывать, что логический модуль номер 2, да это у это у нас 2. Убран режим ручной. Выбран режим авто. Авто да? Есть далее, у нас идет с вами нажата кнопка, старт нажата кнопка стоп. Нажата кнопка старт, 2 да? Нажата кнопка стоп.
17:19 Есть. Есть, ну и дальше наши цилиндры, я их просто распишу, а 0 до значения, а 0. У нас тоже есть, а 0 давайте. Распишем тогда здесь, здесь как раз цилиндр втянут, ай 5 дам. Цилиндр, а втянут есть. Дальше цилиндр, а выдвинут. Есть и также у нас идет с цилиндром, б аналогично б втянут. И б выдвинута. Есть наша все датчики подключены теперь соленоиды, соленоиды. Выдвинуть цилиндр, а да ку 2. Выдвинуть цилиндр, а? Дальше выдвинуть цилиндр б выдвинуть цилиндр б.
18:51 Есть. Ну и дальше у нас задвинуть, задвинуть цилиндр, а? И задвинуть цилиндр. Так замечательно, теперь мы с вами, как только мы с вами расписали. В принципе, с вами большие молодцы. И здесь мы с вами посмотрим непосредственно, как далее. Мы с вами решаем эту задачу, и так для этого нам с вами понадобится искусственная последовательность с помощью эры. Стрикеров, и так как она у нас будет вообще действовать, 1 из чего она будет у нас состоять, она у нас будет состоять. Из элемента конъюнктура, ячейки памяти РС Тригера.
19:47 Замечательно, то есть мы с помощью этих элементов сделаем искусственную последовательность, то есть мы сделаем, чтобы наша программа выполнялась четко в конкретном шаге, чтобы не было пересечений. То есть смотрите у нас шаг 3 и шаг 5 между собой равны, то есть и здесь такое условие. Здесь, чтобы такого не было, мы сделаем с вами последовательность, и так как мы ее сделаем, смотрим.
20:13 1 Что мы с вами делаем, это у нас какие то входные будут приходить условия для активации нашего шага. Назовем его РС 1 на 1 наш шаг программы. Это у нас РС, 1 ну и сделаем немножко цвет красный шрифт, немножечко уменьшим, но поставим его полужирный. Вот так РС 1 и так, когда мы попадаем в Арес. 1 Мы понимаем, что у нас после, как только мы активируем шаг, нам с вами необходимо подавать сигналом на соленоид, но и активация самого шага номер 1. Будет 1 из условий активации шага номер, 2 потому что они будут идти друг за дружкой. А в свою очередь, когда РС 2 активируется, он должен выключить РС, 1 то есть связи входы, скажем так, с выходом и.
21:14 Ну и вот такая вот последовательность у нас будет возникать, то есть далее. Мы с вами еще раз копируем всего, их должно быть у нас 6 до согласно нашей диаграмме. Потому что 7 завершающий мы просто выключить должны нашу последовательность. Соответственно, здесь мы с вами делаем Арай. Стригер также соединяем линиями связи.
21:41 Здесь немножко сделаем побольше отступа.
22:02 Так есть, а здесь у нас раз триггер на подходе, да? Есть. Соответственно. Еще копируем немножко этот. Процесс мы ускорим раз 4 раз 5 здесь, у нас 1 из действий. Включение как раз да, а здесь 1 из действий в выключении. Замечательно, раз 5 есть, ну и последний раз 6. Просто немножко здесь не выравниваю, чтобы чуть чуть побольше времени чуть немножко этот процесс ускорить, да? Так раз 6 соответственно, здесь у нас замечательно все наша последовательность готова. Теперь мы выдвигаем с вами шины, как мы это должны сделать. 1 Выдвигаем наш цилиндр б до конца этой шины, оставляем далее Б.
23:33 У нас втянут, тоже выдвигаем, здесь тоже выдвигаем и я. И здесь также выдвигаем с вами. Есть получились вот такие вот шины замечательные, вот с Ай 0 по Ай. 4 Мы пока не трогаем, потому что эти входы будут у нас разрабатывать режим работы с помощью, как, скажем так. Мы будем писать алгоритм именно по в каком режиме работы. Наша система будет работать, но для начала мы с вами распишем нашу временную диаграмму. Итак, смотрим с вами, смотрим. С вами 1 условие активации у нас вот эта ножка будет отвечать за ручной режим, что запуск в ручном режиме либо запуск в автоматическом. Это пока мы не трогаем, начнем. С 1 условия и так смотрим запуск 1 шага. Мы понимаем, что при условии, что а втянут, он начнет выдвигаться. Ну и соответственно мы берем условия, а втянут и соединяем с линией. Связи замечательно, сначала делаем все условия, возможные по рестригером, а потом уже будем подавать сигналы на выходах и так 1 условие есть далее, когда мы включим РС. 2 И это тогда, когда наш цилиндр а выдвинется, то есть ай, а 1 соответственно, а выдвинут это вот сюда. Соединяем линии связи, замечательно, мы сюда включим, рестригер выключит. Вот этот триггер и друг за дружкой мы так пойдем далее. Как только у нас выдвинулся, а выдвигается б, соответственно, условия в 3 шаг, попадание это б выдвинут соответственно. Здесь у нас б выдвинут, б выдвинут, это у нас последний здесь б выдвинут, есть далее он у нас сразу же видим. Да задвигается это у нас, б 0 то есть б втянут это вот сюда. Далее повторяется цикл еще раз, это б выдвинут и опять б втянут. То есть здесь у нас был выдан 4 шаг да 4 шаг б втянут, потом б выдвинуть выдвинут и потом у нас опять.
25:52 Б втянут, ну и, собственно говоря, раз 6, ну и 7 да. Мы добавим сюда же, у нас будет выключаться также. При условии того, что В этом шаге и у нас раз 7 и. У нас, а 0 даже знаете, как сделаем. У нас просто выключение будет, то есть, как только мы втянулись. Мы подаем сигнала и выключит рестригер только тогда, когда у нас, а в тянется соответственно. Без ячейки памяти даже можно обойтись, как только у нас, а? Втянулся это у нас, а втянут это вот 1. Линия связи соединяем ее сразу, непосредственно прямую. С стригером есть все датчики, мы с вами поставили все условия. Соответственно, далее удаляем лишние пересечения наши шины, мы их использовали для как раз упрощения.
26:57 Проектирование и И проектирование нашей. Наших линий до замечательно, теперь мы с вами идем на выходы, то есть с вами входа. Мы с вами описали теперь выходы и так 1 фаза программы, как только мы в ней мы должны. Подать сигнал на Игрик 1 до Игрек, 1 поскольку в эскизе у нас Игрек. 1 Это за выдвижение пневмоцилиндра, а соответственно здесь мы подаем выдвинуть цилиндр, а идем вот. Сюда вот замечательно далее, что можно сразу заметить, что у нас выдвигается цилиндр 2 раза и, соответственно, задвигается 2 раза соответственно. Мы понимаем, что в разных. Фазах выдвинуть цилиндр б и задвинуть цилиндр б, будет подаваться с разных шагов. Соответственно, здесь мы сразу добавляем заранее дизъюнкторы, которые нам помогут.
27:54 Для того чтобы с разных шагов подавать сигналы на конкретные выходы соответственно, здесь у нас выдвигаем цилиндр во 2 фазе, мы с вами видим, во 2 выдвигается цилиндр Б. До выдвинуть цилиндр б это шаг номер 2, так и здесь у нас 1 шаг, 2 шаг. Далее, как только у нас подается сигнал на цилиндр, выдвинуть цилиндр б. Далее нужно задвинуть цилиндр б, соответственно, здесь уже задвинуть цилиндр б дизъюнктор должен подавать сигнал в данную область. Да вот сюда совершенно верно, вот сюда.
28:42 Так это мы немножко сместим с вами, да? Видим переплетение у нас здесь хорошо есть, далее шаг 4 до нашей диаграммы. 4 Шаг нужно опять выдвигать наш цилиндр. Соответственно, в 4 шаге мы снова подаем сигнал на выдвижение.
29:09 Снова подаем сигнал на выдвижение. Хорошо, а потом снова же опять задвигаем. Есть, как только мы и задвинули дальше, мы должны задвинуть наш цилиндр, а согласно схеме, ну и выключить наш рестригер, который завершает. Нашу работу как раз то, что наш цилиндр втянут, есть мы с вами. В принципе сделали наш последовательный алгоритм, теперь задача запустить. Его при нужных условиях 1 режим мы понимаем, у нас 2 режима во 1 это сразу же дизъюнк, тогда дизъюнк тогда дизъюнтер, который нам будет показывать либо. У нас автоматический режим будет точнее запускаться либо ручной, соответственно и так, как мы должны выявить с вами, что у нас выбран.
30:00 Ручной это конъюнктур, 1 ну как бы можно относительно назвать, что это бесполезное условие. Но чтобы мы опять не путались, что 1 это система включена, 2 выбран режим ручной. И нажата кнопка старт при этих 2 условиях в 3 условиях. Прошу прощения, мы подаем сигнал на дизъюнктур, что у нас будет подаваться сигнал. Импульсный РС Триггер подхватит и. Цикл выполнится 1 раз, да потому что старт у нас импульсный сигнал приходит с логического модуля номер 2. Тут все просто далее у нас идет автоматический режим работы здесь. Немножко по другому также система включена, да мы это с вами прекрасно понимаем. Далее выбран режим авто, это вот сюда, вот выбран режим авто и также нажата кнопка старт.
30:53 Как только у нас данная система конъюнктуры срабатывает, у нас нужно запомнить это, что была кнопка. Старт нажата в автоматическом режиме, чтобы цикл повторялся бесконечно, пока мы его принудительно не остановим. По 2 по 2 условиям, которые у нас описаны в задаче. Соответственно, здесь у нас нужен р Стригер, который далее уже подает сигнал на наш дизъюнктор, ну и выключает 2 условия. На то есть каких то 2 условия, 1 условие-1 условие-это, что система принудительно выключена соответственно. Здесь нам нужен с вами инвертор.
31:39 Который будет? Подаваться с Рладиона, что система выключена либо по нажатию на кнопку стоп? Такое вот условие соответственно здесь у нас выключает рестригер, либо что система принудительно выключается. Тогда цикл дорабатывает запущенный до конца и останавливается. Поскольку рестригер в 0 или нажата кнопка стоп соответственно, мы с вами выполнили нашу работу. Давайте посмотрим, включим симуляцию. Нет ли никакой ошибки, здесь у нас нету все. Замечательно закрываем, идем на эскиз и смотрим наш результат. И так вот наша работа, давайте тогда пневмосхему для простоты. Да я и поставлю вот сюда, вот в центр, конечно, это не. По всем правилам, но чтобы нам было лучше видно, скажем так, так, соответственно, 100, ты. Давайте поставим 110 сюда, чтобы нам было все очень видно, ну и привяжем, да даже так сделаем.
32:44 Так настроим немножечко все по красоте? Вот здесь, вот мы сместим немножечко и добавим нашу диаграмму режим онлайн, чтобы мы с вами сами не гадали, работает ли все или не. Работает, да здесь мы с вами описание обозначения. Количество есть добавляем только лишь цилиндры, потому что мы их отслеживаем только. Нас интересует позиция, добавляем еще цилиндр б, тоже нас интересует только лишь позиция, и здесь мы выбираем, но какие то цвета знаете. Давайте такое, вот чтобы мы их как то отличали и такой замечательно. Далее мы немножечко ее сигнал уменьшим, где то тогда есть хорошо.
33:39 Бладится есть. Хорошо. Далее, а стоп вот это, вот мы можем, нет, не можем соответственно 10 секунд. Нет, фиксированная 100 секунд, думаю, хватит. Настроить автоматически есть и так запускаем нашу систему, включаем и так, 1 что мы с вами делали, включаем систему. В система включена, видим линия связи, далее выбираем режим, 1 делаем пусконаладочный режим, это режим ручной. Под включаем ключом режим ручной и подтверждаем его. Видим 2 линию связи, у нас активирована замечательно далее, что мы с вами делаем. Это запускаем наш цикл по кнопочке старт и смотрим, как у нас работают наши цилиндры.
34:35 Итак, мы с вами увидели, да то, что цикл у нас отработал, но 1 раз давайте еще раз. Замечательно отработал, теперь меняем режим на автоматически. Подтверждаем и включаем. То есть видим дату, что у нас с вами работа выполняется наша временная диаграмма беспрерывно. Теперь попробуем выключить ее по нажатию на кнопку стоп. Цикл, напомню, доработает до конца, и система остановится.
35:18 Есть нажали на кнопку стоп, и систему теперь запускаем еще раз в автоматическом режиме и выключаем систему принудительно, нажав на кнопку 1 из А 2. И видим, что система выключилась и все выходы, что выбраны режимы ручной в систему, включена также, выключились, показывает нам о том. Что оператор в дальнейшем должен опять включать систему, выбирать режим, подтверждать его и запускать наше устройство с самого начала.
Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.
🔗 РАЗРАБОТКА ПРОГРАММЫ УПРАВЛЕНИЯ НА ЯЗЫКЕ FBD |ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 2