Цель урока: Дать первоначальные представления о разработке информационных моделей систем автоматического управления с автоматической обратной связью.
Ход урока:
Организационный момент:
Приветствие учащихся, проверка явки, объявление темы и цели урока.
Объяснение нового материала
Сегодня мы завершаем разработку информационных моделей систем управления. На прошлых уроках мы узнали, что существуют системы управления без обратной связи, системы управления с обратной связью и системы автоматического управления с автоматической обратной связью.
Вопрос учащимся: В чем заключается принцип работы систем управления без обратной связи? Приведите примеры таких систем управления.
Ожидаемый ответ: В системах управления без обратной связи не учитывается состояние управляемого объекта и обеспечивается управление только по прямому каналу (от управляющего объекта к управляемому объекту). Примеры: светофор, неуправляемая ракета и т.д.
Мы с вами построили модель системы управления без обратной связи.
Вопрос учащимся: В чем недостаток систем управления без обратной связи? Есть ли достоинства?
Ожидаемый ответ: Недостаточная эффективность управления и точность попадания, но и меньшие финансовые затраты.
Для повышения эффективности управления применяются системы управления с обратной связью
Вопрос учащимся: В чем заключается принцип работы систем управления с обратной связью? Приведите примеры таких систем управления.
Ожидаемый ответ: В системах управления с обратной связью управляющий объект по прямому каналу управления производит необходимые действия над объектом управления, а по каналу обратной связи получает информацию о реальных параметрах объекта управления. Примеры: регулировщик дорожного движения, управляемая ракета и т.д.
Мы с вами построили модель системы управления с обратной связью.
Она позволяет осуществлять управление с гораздо большей точностью. Это, конечно же, ее достоинство по сравнению с предыдущей моделью.
Вопрос учащимся: А в чём вы видите недостаток систем управления с обратной связи?
Ожидаемый ответ: Человеческий фактор: достаточно большое время на принятие решений, усталость, невнимательность и т.д.
Чтобы исключить человеческий фактор и осуществлять управление с еще большей точностью применяют системы с автоматическим управлением и автоматической обратной связью.
Модель такой системы нам сегодня и предстоит разработать.
Тема нашего урока: Проект «Автоматическое управление с автоматической обратной связью» на языке Turbo Delphi.
Цель урока: Разработать компьютерную модель автоматического управления с автоматической обратной связью на языке Turbo Delphi
Учитель открывает проект в программе TurboDelphi, ученики открывают учебник на с.110.
Мы видим, что на форму нужно поместить…(далее продолжают ученики).
1) две кнопки: Buttonl – для запуска графического интерфейса проекта и Button2 – для запуска автоматической обратной связи;
2) две надписи Label 1 и Label2 для вывода текущих координат управляемого объекта (точки);
3) графическое поле Image 1, по которому будет перемещаться точка (закрашенный кружок).
Проанализируем программу, предложенную автором учебника.
Нажатие на кнопку «Мишень и точка» запускает событийную процедуру, которая…(далее продолжают ученики):
1) рисует белый квадрат (200×200) и стирает предыдущий вариант;
Imagel.Canvas.Brush.Color:=clWhite;
Imagel.Canvas.Rectangle(0,0,200,200);
Imagel.Canvas.FillRect(Rect(0,0,200,200));
2) обеспечивает случайную генерацию первоначальных координат точки x1 и y1 в пределах от 0 до199 включительно,
Randomize;
Xl:=Random(200);
Yl:=Random(200);
3) рисует красную всплошную закрашенную точку (управляемый объект), R=3;
Forml.Imagel.Canvas.Brush.Color:=clRed;
Forml.Imagel.Canvas.Brush.Style:=bsSolid;
Forml.Imagel.Canvas.Ellipse(Xl-3,Yl-3,Xl+3,Yl+3);
4) рисует в центре графического поля мишень – круг с координатами центра (100, 100), R=20.
Forml.Imagel.Canvas.Brush.Style:=bsClear;
Forml.Imagel.Canvas.Ellipse(80,80,120,120);
Нажатие на кнопку «Шаг» запускает событийную процедуру, которая…(далее продолжают ученики):
1) переменным x2 и y2 присваивает координаты центра мишени (100, 100)
X2:=100;
Y2:=100;
2) выполняет автоматическую корректировку координат точки (управляемого объекта) с использованием инструкции выбора If-Then-Else.
If X2-X1>0 Then X1:=X1+1 Else X1:=X1-1;
If Y2-Y1>0 Then Y1:=Y1+1 Else Y1:=Y1-1;
3) выводит новые координаты точки на надписи
Labell.Caption:=IntToStr(XI);
Label2.Caption:=IntToStr(Yl);
4) рисует красную всплошную закрашенную точку (R=3) с центром в новых координатах
Forml.Imagel.Canvas.Brush.Color:=clRed;
Forml.Imagel.Canvas.Pen.Color:=clRed;
Forml.Imagel.Canvas.Brush.Style:=bsSolid;
Forml.Imagel.Canvas.Ellipse(Xl-3,Yl-3,Xl+3,Yl+3);
Запустим проект и нажатиями кнопки Шаг осуществим попадание точки в мишень.
Проанализируем полученный результат с точки зрения поставленной цели, а именно мы должны были разработать компьютерную модель автоматического управления с автоматической обратной связью.
1) Существует автоматическая обратная связь? Существует
2) Модель адекватно отражает полет снаряда? Нет. В процессе перемещения точка отклоняется от требуемой траектории (периодически 100 меняется на 99 и даже при достижении центра мишени)
3) Разработали компьютерную модель с автоматическим управлением? Нет. Для перемещения точки нужно нажимать на кнопку Шаг.
Попробуем устранить выявленные недостатки.
1) В чем причина отклонение от требуемой траектории?
Ожидаемый ответ: Автоматическая корректировка координат точки выполняется и при достижении необходимого значения (100).
2) Какие будут предложения по стабилизации траектории прямолинейного движения?
Ожидаемый ответ: необходимо внести изменения в инструкцию выбора If-Then-Else, исключив корректировку координат при X2=X1 и Y2=Y1.
If X2-X1>0 Then X1:=X1+1 Else If X2-X1<0 Then X1:=X1-1;
If Y2-Y1>0 Then Y1:=Y1+1 Else If Y2-Y1<0 Then Y1:=Y1-1;
3) Какие будут предложения по автоматизации управления?
Ожидаемый ответ: необходимо внести циклическое выполнение команд событийной процедуры. Условие прекращение цикла с постусловием – достижение центра мишени, т.е. одновременное выполнение условий X2=X1 и Y2=Y1.
Repeat
If X2-X1>0 Then X1:=X1+1 Else If X2-X1<0 Then X1:=X1-1;
If Y2-Y1>0 Then Y1:=Y1+1 Else If Y2-Y1<0 Then Y1:=Y1-1;
Labell.Caption:=IntToStr(XI);
Label2.Caption:=IntToStr(Yl);
Forml.Imagel.Canvas.Brush.Color:=clRed;
Forml.Imagel.Canvas.Pen.Color:=clRed;
Forml.Imagel.Canvas.Brush.Style:=bsSolid;
Forml.Imagel.Canvas.Ellipse(Xl-3,Yl-3,Xl+3,Yl+3);
Until (X2=X1) and (Y2=Y1);
Выполнение практической работы
Подведение итогов урока
Домашнее задание. §1.9.3. ( стр. 110-111), оформление проекта в тетрадях.