Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Описание работы установки для приготовления смесей и программирование контроллеров.



Установка дозирования, изучаемая в ходе выполнения лаборатор­ного занятия, работает следующим образом[1]. При нажатии кнопки « ПУСК » включается клапан Кл 1, через который в ёмкость поступает пер­вый смешиваемый компонент (Рис. 4.1). Дозирование его объёма заверша­ется срабатыванием датчика Д 2; после этого открывается клапан Кл 2 и через него в ёмкость начинает поступать второй компонент. Стадия заполне­ния заканчивается срабатыванием датчика Д 1; включается привод ме­шалки ПМ, длительность работы ко­торой задаётся величиной выдержки времени в таймере. По истечении времени перемешивания включается клапан Кл 3, через который проис­ходит выгрузка подготовленной смеси, заканчивающаяся при отпуск­ании датчика Д 3.

 

Рис. 4.1

 

Каждый из рас­сматриваемых датчиков является ёмкостным датчиком положения (приближения), изменяющим сигнал на своём вы­ходе c нулевого (OFF) значения до высокого (ON) уровня в момент, когда верхняя граница среды в сосуде достигает уровня установки датчика.

Программа логического контроллера может быть написана на раз­личных языках программирования и в различных средах программирова­ния. Контроллеры LOGO! позволяют программировать задачи на языках:

· функциональных блоковых диаграмм ФБД ( FBD ) и

· релейно-контактных схем РКС ( LAD –Ladder Diagram).

 

 

4.1 Программирование работы смесителя – дозатора в среде LOGO! Soft - Comfort

А. Язык программирования – ФБД (FBD).

На рис. 4.2 приведена программа, написанная на языке ФБД в среде LOGO! Soft – Comfort [1], и обеспечивающая выполнение всех действий, составляющих работу схемы рис.4.1. Входные сигналы контроллера форми­руются подключенными к его портам ёмкостными датчиками положения; на программе они представлены левыми блоками I1, I2, I3, I4. Выходные сиг­налы контроллера и, следовательно, точки выдачи их на исполнительные или управляющие устройства – представлены правыми блоками Q1, Q2, Q3 и Q4. Блок B006 – это таймер, запускающийся в момент срабатывания датчика Д 1 на время, задающее длительность работы привода мешалки. Блоки В003 и В009 – это R-S триггеры, остальное – обычная логика.

Работу программы удобно проследить по последовательности выполнения одного цикла. В исходном состоянии все датчики фиксируют уровень жидкости ниже уровня их установки, то – есть все входные сигналы равны нулю, выходные – тоже, что означает закрытое состояние всех клапанов.

Режим смешения запускается нажатием кнопки «ПУСК». Для заполнения смесителя первым компонентом нужно обеспечить включённое состояние клапана Кл 1 с момента нажатия кнопки ПУСК до срабатывания датчика Д 2. Так как кнопка ПУСК предполагается не имеющей фиксации, то, чтобы не было необходимости удерживать её в нажатом состоянии в течение длительного времени, целесообразно запомнить её состояние с помощью R-S триггера B003 путём подачи сигнала включения на установочный S –вход. Выходной сигнал B003 вместе с инвертированным выходным сигналом датчика Д 2, объединённые конъюнктором B002, обеспечат открытое состояние Кл 1 до момента включения Д 2. Датчик Д 3 большую часть времени будет замкнут, но это ничего пока не сможет изменить. Когда замкнётся Д 2, сигнал I3 =1, пройдя через инвертор B001, снимет единицу с верхнего входа B002 и клапан Кл 1 выключится.

С этого момента должен быть включен второй клапан. Это обеспечивает конъюнктор B004, единичные состояния всех трёх входов которого характеризуют создавшуюся ситуацию следующим образом:

-первый компонент залит, поэтому датчик Д 2 продолжает оставаться в состоянии, соответствующем единичному значению сигнала I3;

-выходной сигнал триггера B003 равен логической единице, так как кнопка «ПУСК» была нажата в начале цикла работы, а сигнал сброса триггера придет позже. Этих двух цепей было бы вполне достаточно для открытия Кл 2, но чтобы потом, по достижении уровня заполнения резервуара вторым компонентом, можно было выключить Кл 2 и переключиться на перемешивание смеси, введена цепь от датчика Д 1 на конъюнктор B004 через инвертор B005.

-датчик Д 1 продолжает находиться в исходном состоянии, I2 = 0 и изменят они своё состояние только после окончания заливки второго компонента, которая в рассматриваемый момент ещё не начиналась;

Иначе говоря, клапан второй откроется сразу после срабатывания датчика Д 2, и будет находиться в этом состоянии до срабатывания датчика Д 1.

Когда он сработает, I2 примет значение высокого уровня (ON), включится привод мешалки на время, задаваемое программой как выдержка времени таймера B006.

 

Рис. 4.2

Программа не предусматривает непрерывной циклической работы, поэтому каждое повторение цикла приготовления смеси активизируется нажатием кнопки «ПУСК».

Таким образом, программа работы контроллера на языке ФБД представляет собой набор отдельных блоков, каждый из которых означает выполнение вполне определённой функции. Совокупность всех блоков вместе с объединяющими их связями и представляет собой программу, обеспечивающую работоспособность объекта.

 

 

Рис. 4.3

 

При входе в программу LOGO! Soft- Comfort (рис. 4.3) предоставляется возможность выбора одного из двух языков программирования: FBD или LAD.

 

Рис. 4.4

В раскрывшемся окне после выбора языка программирования

FBD кроме традиционных для WINDOWS элементов экрана представлены средства формирования и отладки программ. По горизонтали на линейке Tools (рис. 4.4) расположены кнопки C0 , GF и SF , позволяющие вызвать на экран определённые наборы функциональных блоков, которые можно также ввести из дерева инструментов в левой части панели. Выбор переносимых из меню блоков в поле размещения программы и указание места их расположения на панели осуществляются не «перетаскиванием», а простым щелчком левой клавиши мыши в нужном месте экрана. Линии соединения блоков выполняются «рисованием» мышью при нажатой левой клавише.

Нижняя панель представляет собой поле для размещения формируемой программы. Кнопка позволяет поменять используемый в данный момент язык программирования, а - включить режим симуляции (моделирования) программы. Этот режим используется для проверки правильности работы программы, так как в нём отображаются состояния входных и выходных цепей (рис. 4.5).

Рис. 4.5

 

Программа управления смешением (рис.4.2) соответствует примене­нию датчиков с выходом типа P-N-P, при котором единичный сигнал (уровень ON) формируется на выходе датчика при его срабатывании. Таким выходом обладает датчик E2K-C25MF1. В стенде лабораторной работы применены датчики E2K-C25ME1, имеющие тип выхода N-P-N. Эти дат­чики имеют высокий уровень сигнала (ON) при выключенном состоянии, а при срабатывании изменяют его на уровень OFF. Поскольку уровни вы­ходных сигналов датчиков E2K-C25ME1 в различных их состояниях ин­вертировались по отношению к тем, которые формировали датчики E2K-C25MF1, программа, учитывающая эти изменения, несколько видоизменяется и принимает вид, изображенный на рис. 4.6.

Она отличается от программы на рис. 4.2 тем, что во всех входных цепях (кроме кнопки ПУСК) вместо связей, которые непосредственно со­единяли датчики с другими блоками, использованы соединения через ин­вертор, а те блоки, которые подключались к датчикам через инверторы, в схеме на рис. 4.6 соединены напрямую.

 

 

 
 

 

Рис. 4.6

 

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

Выполнение следующего цикла работы возможно лишь после повторного нажатия кнопки ПУСК.

Представляет интерес перевести работу установки в режим непрерывного повторения цикла дозирования и смешения без необходимости нажатия кнопки ПУСК, т.е. снабдить её средствами автоматического перезапуска. Для этого дополним программу на рис. 4.6 одним фрагментом, обозначенным на рис. 4.7 штриховым контуром.

Сигнал выключения триггера B010, совпадающий с моментом окончания выгрузки ранее подготовленной дозы, через инвертор B004, формирователь укороченного импульса B011 и дизъюнктор B012 запускает триггер B003 после окончания предыдущего цикла точно так же, как в схеме рис. 4.6 это делалось нажатием кнопки ПУСК. Но если ограничиться только этим, возобновление очередного цикла работы будет осуществляться независимо от состояния кнопки ПУСК. Остановить исполнение программы будет затруднительно.

Рис. 4.7

 

Чтобы программа не теряла контроля за состоянием пусковой кнопки, т.е. чтобы установку можно было не только включать кнопкой ПУСК, но и выключать её повторным нажатием, выход кнопки подаётся через счётный триггер B013 и конъюнктор B014. При таком соединении B014 будет переключать соединённые с его выходом блоки только при том условии, что кнопка ПУСК перед этим была однократно нажата (B013 установлен в состояние ON), и предотвратит повторение цикла в случае её повторного нажатия (B013 будет сброшен в состояние OFF). За пределами штрихового контура на рис. 4.7 показаны те функциональные блоки программы на рис. 4.6, в разрывы соединений которых включается вводимый фрагмент.

Итоговый вариант программы, полученной после включения фрагмента рис. 4.7 в программу (рис. 4.6), приведен на рисунке 4.8 и может быть введен в контроллер для исполне­ния.

 

Рис. 4.8

 

 

Б. Язык программирования – РКС (LAD).

Представление работы дозатора (рис. 4.1) в формате языка програм­мирования РКС может быть получено в той же среде программирования простым переключением кнопки (Выбор языка программирования). В этом смысле программу на рис. 4.9 можно считать эквивалентом программы на рис. 4.8, но составленным на другом языке. Отличия в структурах и описательных средствах программ можно попытаться сформулировать следующим образом:

· в языке ФБД программа описывает совокупность блоков, каждый из ко­торых выполняет вполне определённое действие по преобразованию сигналов, и устанавливает конкретные цепи связи между этими бло­ками. Такое программирование интуитивно ближе к практической схемотехнике, к сложившейся методике составления схем реальных устройств;

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

 

Рис. 4.9

 

Функция I. На рис. 4.8 цепь включения привода мешалки прописана полностью: при срабатывании датчика Д 1 (сигнал I2) через инвертор B 006 запускается таймер B 007, и в течение установленной выдержки времени привод мешалки будет включен. Средствами языка РКС (строка 1 на рис. 4.9) это же представлено в виде: мешалка будет включена, если таймер T007 будет находиться в состоянии ON. А вот когда именно таймер будет находиться в этом состоянии, и при каких условиях это произойдёт - об этом должно быть сказано отдельно. На рис. 4.9 об этом есть указание в строке 6.

Из её записи может сложиться ошибочное впечатление о том, что таймер взводится при несработанном состоянии датчика Д 1. Причина такой ошибки состоит в том, что не учтена особенность съёма сигнала с выхода датчика. Как отмечалось ранее, в схеме применены датчики с выходом N-P-N типа. Они в исходном состоянии имеют на выходе сигнал уровня ON, что соответствует разомкнутому состоянию элемента I2 в строке 6, поэтому таймер T 007 не сможет начать формирование выдержки времени. Только изменение сигнала на OFF при срабатывании Д 1 вызовет запуск таймера. Именно учёт особенности съёма сигнала с датчика делает запись строки 6 программы естественной и понятной.

Функция II. Рассмотрим теперь как представлено в обеих программах условие включения клапана Кл 2. По схеме рис.4.8 он будет включен при наличии на всех входах конъюнкторов B 005 и B 014 сигналов уровня ON, поступающих с выходов сопрягаемых функциональных блоков программы.

По правилам работы смесителя (рис.4.1) следует, что клапан 2 должен находиться во включенном состоянии в интервале загрузки второго компонента, когда Датчик 2 уже сработал, а Датчик 1 – ещё нет. В этом отношении может показаться, что часть строки 2 описания этого состояния на рис.4.9 находится в противоречии с принципом работы объекта. На самом деле вид включения датчиков (прямое для I2 и инверсное для I3) отражает влияние уже упоминавшегося NPN - типа выходной цепи датчиков. Дополнительными условиями включения Q3 являются одновременно находящиеся в ON выходные сигналы элементов SF 003 и SF 013, которые записаны в строке 2 как входные переменные в цепи срабатывания Q3.

Внутреннее реле SF 013 в программе на языке РКС функционально представляет счётный триггер B 013, управляемый кнопкой ПУСК, и описан в строке 5 на рис. 4.9.

Внутреннее реле SF 003 (функциональный аналог триггера B 003) может быть установлено в единичное состояние либо от кнопки ПУСК, либо подачей укороченного импульса с T 011 (B 011 на рис. 4.8) при циклическом перезапуске программы. Поскольку установка триггера возможна либо одним сигналом, либо другим, в программе на ФБД оба сигнала объединены дизъюнктором B 012, а на рис. 4.9 – представлены строками 10 и 11. Укороченный импульс перезапуска программы поступает с T 011 (строка 11), передний фронт импульса совпадает с выключением клапана 3 (окончание выгрузки смеси) и, следовательно с переходом в нулевое состояние SF 010 (строка 9). Сброс триггера SF 003 осуществляется в момент начала выгрузки дозы (срабатывание SF 010). Отпускание SF 003 (B 003 на рис. 4.8) приведёт к выключению клапана 2.

 
 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-08; Просмотров: 822; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.025 с.)
Главная | Случайная страница | Обратная связь