Студопедия — Пример. Разработка программы управления пуском насоса
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Пример. Разработка программы управления пуском насоса






Постановка задачи. Необходимо разработать программу управления пуском и остановом двигателя насоса по командам из АСУ ТП верхнего уровня.

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

Рис. 3. Принципиальная схема управления электродвигателем насоса:
QF1 – автоматический выключатель; KM1 – магнитный пускатель;
KK1 – реле тепловое; SA1 – переключатель пакетный;
SB1, SB2 – кнопочный пост управления

Двигатель может быть включен и выключен по месту, с помощью кнопочного пульта управления, если переключатель SA1 установлен в положение «Р» (ручное управление). При этом коммутируется верхняя ветвь электрической цепи управления. Замыкание нормально открытого контакта кнопки SB1 приводит к появлению напряжения на катушке реле KM1, что в свою очередь приводит к замыканию контактов KM1 и в цепи управления и в силовой цепи электродвигателя. При размыкании контакта SB1 двигатель продолжает работать, поскольку контакт KM1 в цепи управления остаётся замкнут (реле KM1 встало на самоподпитку). Таким образом, двигатель остановится только при разрыве цепи управления, что может быть сделано с помощью кнопки SB2 (нормальный режим), с помощью переключателя SA1 и при срабатывании теплового реле KK1 (аварийный режим).

При переключении SA1 в положение «А» (автоматическое, или дистанционное управление), подачей напряжения на катушку реле KM1 можно управлять с помощью контактов дискретных выходов контроллера (см. рис. 3, 4). Принцип управления такой же, как и при ручном управлении: подача кратковременного сигнала «1» на выход контроллера с адресом %000001, приводит к включению реле KM1 и постановке на самоподпитку; отключение двигателя в нормальном режиме осуществляется подачей сигнала «1» на выход контроллера с адресом %000002, который является нормально замкнутым.

Рис. 4. Информационные потоки программы управления двигателем

Для предотвращения выхода из строя двигатель оснащён тепловым реле KK1, которое отключает двигатель в случае перегрева.

К дискретным входам контроллера подключены сигналы, которые позволяют отследить состояние переключателя SA1, состояние магнитного пускателя KM1 и состояние теплового реле KK1 (см. рис. 3, 4). Эта информация используется для отображения состояния двигателя на верхнем уровне АСУ ТП.

 

В соответствии со SWITCH-технологией схема автомата состоит из двух частей – схемы связей и графа переходов. Начнём разработку программы управления пуском и остановом двигателя насоса с поэтапной разработки схемы связей.

В схеме связей автомата, задающей его интерфейс, перечисляются наименования и обозначения входных и выходных воздействий.

Во-первых, рассматриваемый автомат управления пуском и остановом двигателя насоса будет иметь следующие входы и выходы, «соединённые» со входами и выходами контроллера (рис. 5).

Рис. 5. Схема связей автомата со входам и выходами ПЛК

Во-вторых, автомат должен обмениваться сообщениями с верхним уровнем АСУ ТП – получать команды и формировать признаки состояния, которые будут использоваться для построения интерфейса с человеком-оператором.

На верхнем уровне АСУ ТП будут формироваться следующие команды:

1. Включить двигатель.

2. Выключить двигатель.

Автомат управления двигателем насоса должен предоставлять в АСУ ТП верхнего уровня следующую информацию.

1. Возможно ли управление двигателем в дистанционном режиме (положение переключателя SA1 «Р»/«А»).

2. Текущее состояние двигателя (включен/выключен).

3. Неисправность «Останов двигателя из-за перегрева» (да/нет).

4. Неисправность «Двигатель не включился» (да/нет).

С учётом входящих и исходящих сообщений для связи с верхним уровнем, у конечного автомата появятся новые входы и выходы (рис. 6).

Рис. 6. Схема связей автомата

Теперь можно попытаться разработать диаграмму переходов разрабатываемого автомата.

Для начала сделаем некоторые допущения, которые позволят несколько упростить разработку диаграммы переходов. Во-первых, будем считать, что автомат функционирует только в режиме «Дистанционное управление», т.е. при iAuto=TRUE, поэтому и рассматривать будем его работу только в режиме дистанционного управления. Во‑вторых, считаем, что команды, приходящие с верхнего уровня АСУ ТП сбрасываются на верхнем уровне сразу после «реакции» автомата.

Начальное состояние – «Стоп». В этом состоянии двигатель не работает, сигналы iMotorOn и iOverHeat сброшены (имеют значение FALSE). При появлении сигнала сMotorOn автомат переходит в состояние «Запуск двигателя». При этом формируется сигнал для включения двигателя – qMotorOn. При появлении сигнала iMotorOn выполняется перевод автомата в состояние «Работа», при этом сигнал qMotorOn сбрасывается. Переход из состояния «Работа» возможен либо в состояние «Стоп» по команде cMotorOff (через состояние «Останов двигателя»), либо в состояние «Перегрев» по появлению сигнала iOverHeat. Из состояния «Перегрев» в состояние «Останов двигателя» автомат переводится по команде cMotorOff. Таким образом оператор подтверждает, что информация об аварийном останове им воспринята.

Граф переходов конечного автомата управления двигателем насоса приведён на рис. 7. Над каждой стрелкой записывается:

– условие перехода – логическое выражение, которое должно принять значение «истина» (TRUE), для выполнения перехода;

– действия над выходами автомата (установить, сбросить), которые выполняются при переходе из одного состояния в другое. Действия записываются в квадратных скобках “[ ]”.

Рис. 7. Диаграмма переходов конечного автомата

На рис. 7 отсутствует ещё одно состояние – неисправность «Двигатель не включился». Переход в это состояние должен происходить из состояния «Запуск двигателя», в случае, если при подаче сигнала на включение двигателя (qMotorOn=TRUE) в течение трёх секунд не появляется сигнал iMotorOn. Для того чтобы засечь время, необходимо использовать таймер задержки включения. В соответствии с концепцией SWITCH-технологии таймер располагается «снаружи» автомата. Поэтому для анализа выхода таймера в схему связей автомата нужно добавить ещё один входной сигнал «Превышено время ожидания пуска» – tNotRun (рис. 8). Для запуска таймера может быть добавлен отдельный сигнал, но, в данном случае, будет использоваться сигнал qMotorOn.

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

Рис. 8. Схема связей автомата

Рис. 9. Диаграмма переходов автомата управления двигателем насоса.

Теперь, получив полное описание правил функционирования автомата (рис. 8, 9), можно приступать к формальной разработке программы, реализующей этот автомат.

Текст программы представлен ниже. Обратите внимание, что программа реализации автомата вызывается только при появлении сигнала iAuto, а также на то, что функциональный блок, реализующий таймер, вызывается постоянно, за пределами программы реализации автомата. Для хранения номера текущего состояния автомата используется переменная State типа INT.

var

T1: TON;

end_var

 

(* Вызов таймера задержки включения *)

T1(IN:= qMotorOn, PT:= t#3s);

tNotRun:= T1.Q;

 

sAuto:= iAuto;

 

IF iAuto THEN (* Если дистанционный режим включен, *)

(* то рассчитываем состояние автомата*)

case State of

1: if cMotorOn then

qMotorOn:= TRUE;

State:= 2;

end_if;

2: if iMotorOn then

qMotorOn:= FALSE;

sMotorOn:= TRUE;

State:= 3;

end_if;

if tNotRun then

qMotorOn:= FALSE;

sNotRun:= TRUE;

State:= 6;

end_if;

3: if cMotorOff then

qMotorOff:= TRUE;

State:= 4;

end_if;

if iOverHeat then

sMotorOn:= FALSE;

sOverHeat:= TRUE;

State:= 5;

end_if;

4: if NOT iMotorOn then

sMotorOn:= FALSE;

qMotorOff:= FALSE;

State:= 1;

end_if;

5: if cMotorOff then

sOverHeat:= FALSE;

State:= 1;

end_if;

6: if cMotorOff then

sNotRun:= FALSE;

State:= 1;

end_if;

 

else (* инициализация состояния автомата *)

 

if iMotorOn then

sMotorOn:= TRUE;

State:= 3;

else

sMotorOn:= FALSE;

State:= 1;

end_if;

end_case;

 

ELSE (* Если находимся в ручном режиме *)

 

(* Сбрасываем выходы контроллера *)

qMotorOn:= FALSE;

qMotorOff:= FALSE;

 

(* Определяем состояние двигателя насоса *)

if iMotorOn then

sMotorOn:= TRUE;

State:= 3;

else

sMotorOn:= FALSE;

State:= 1;

end_if;

END_IF;

 







Дата добавления: 2015-08-27; просмотров: 1142. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...

Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...

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

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия