Главная страница
Навигация по странице:

  • Сохраните

  • Перейдите

  • Проверьте

  • Поместите

  • оминальный ток отключения 

  • Найдите

  • Вопросы для самопроверки

  • Практическое занятие 7 Работа с картинками в среде « Delphy

  • Методические указания для подготовки к практическим занятиям. По курсу Информационные технологии в электроэнергетике


    Скачать 3.37 Mb.
    НазваниеМетодические указания для подготовки к практическим занятиям. По курсу Информационные технологии в электроэнергетике
    Дата21.12.2022
    Размер3.37 Mb.
    Формат файлаdoc
    Имя файлаPraktika_po_informatsionnym_tekhnologiam.doc
    ТипМетодические указания
    #856058
    страница5 из 10
    1   2   3   4   5   6   7   8   9   10

    Запустите Дельфи. Положите в правый верхний угол формы компонент MainMenu и рядом компоненты OpenDialog, SaveDialog, OpenPictureDialog, FontDialog, ColorDialog из палитры компонентов Dialogs. Создайте меню следующего формата: главное меню – «Файл» с подменю «Открыть файл реакторов» и «Открыть картинку»; «Расчёт» с подменю «Выбор реактора». Выйти из режима создания меню и проверить работу программы, создавая заготовки процедур, которые будут выполняться по нажатию команд подменю. Сохраните программу в папке практика 6. Проверьте число сохранённых файлов (должно быть не менее 6).

    Положите на форму компонент PageControl из палитры компонентов Win32 и измените его размер так, чтобы он занимал всю форму, исключая 5 верхних строк. Нажимая правой кнопкой мыши на компоненте PageControl, создайте новую страницу (NewPage). Проделайте эту операцию ещё 4 раза (в верхней части компонента должно появиться 5 закладок страниц). Перейдите на первую страницу и измените её заголовок на «Главная» в свойстве Caption инспектора объектов страницы. Этот заголовок должен появиться как в строке заголовков на форме, так и в дереве объектов. Проверьте внесённые изменения. Измените заголовки остальных четырёх страниц на следующие: «Картинки», «Внешний вид», «Схемы подключения», «Характеристики» или любые другие. Обратите внимание, на способ перехода с одной страницы на другую.

    На главную страницу положите компонент Panel, измените её размеры и поместите в левую часть страницы. Удалите заголовок и измените цвет панели на clInfoBk.

    Поместите на панель (сверху) метку, изменив её заголовок на «Номинальный ток, А». Поместите на панель (под меткой) компонент ComboBox и создайте (Items) список номинальных токов: 400; 630; 1000; 1600; 2500; 4000.

    Поместите на панель (ниже ComboBoxс токами) метку, изменив её заголовок на «Номинальный ток отключения, кА». Поместите на панель (под меткой) компонент ComboBox и создайте (Items) список номинальных токов отключения коротких замыканий силовыми выключателями: 12,5; 20; 25; 31,5; 40; 50; 63. Определение: номинальный ток отключения наибольший ток короткого замыкания (действующее значение периодической составляющей), который выключатель способен отключить при напряжении, равном наибольшему рабочему напряжению.

    Поместите на панель (ниже ComboBoxс токами отключения выключателями) метку, изменив её заголовок на «Индуктивное сопротивление, Ом». Поместите на панель (под меткой) компонент ComboBox и создайте (Items) список номинальных индуктивных сопротивлений токоограничивающих реакторов: 0,14; 0,18; 0,20; 0,22; 0,25; 0,28; 0,35; 0,40; 0,45; 0,56.

    Поместите на панель (ниже ComboBoxс индуктивными сопротивлениями реакторов) метку, изменив её заголовок на «Номинальное напряжение, кВ». Поместите на панель (под меткой) компонент ComboBox и создайте (Items) список номинальных напряжений.

    Поместите на панель (ниже ComboBoxс номинальными напряжениями) компонент LabeledEdit из дополнительной (Additional) палитры компонентов. Откройте все свойства редактирования меток (свойства EditLabel), нажимая на знак «+» слева. В открывшемся списке свойств измените заголовок на «ток КЗ, кА». В свойстве Text запишите 16.

    Поместите на панель кнопку BitButton и измените её заголовок на «Старт».

    Поместите на страницу «главная» компонент Memo и вставьте линейки прокрутки.

    Создайте заготовку процедуры создания формы (FormCreate) двойным щелчком на форме, где нет других компонентов. Обнулите значения номера в списке, вставив в эту процедуру 4 оператора типа: ComboBox1.ItemIndex:=0;.

    Сохраните программу. Проверьте работу программы.

    Перейдите на лист «Картинки». Положите на лист компонент Image (изображение, картинка) и сделайте его размер как можно больше. Найдите в инспекторе объектов свойства картинка (Picture) и, открыв редактор картинок (PictureEditor) выберите картинку с условными обозначениями токоограничивающих реакторов типа РБ (реактор бетонный). Компонент Imageдопускает в свойстве Picture растровых рисунков с расширениями Jpg, jpeg, ico, bmp, wmf, emf. Сохраните в папке практика 6 все рисунки этого практического занятия.

    Создайте заготовку процедуры открытия картинки из меню (Файл/Открытие картинки). В тело процедуры впишите команду

    if OpenPictureDialog1.Execute then image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);.

    Название OpenPictureDialog1 иimage1 на разных компьютерах могут отличаться. Запустите программу и проверьте правильность работы.

    Создайте

    метку, изменив её заголовок на «Номинальное напряжение, кВ».

    Форматы картинок:


    Номинальные токи, А


    400; 630; 1000; 1600; 2500; 4000.


    Номинальное индуктивное сопротивление, Ом 1)

    0,14; 0,18; 0,20; 0,22; 0,25; 0,28; 0,35; 0,40; 0,45; 0,56




    Сочетание номинальных токов и индуктивных сопротивлений:– одинарные на 6 и 10 кВ– одинарные на 15 и 20 кВ– сдвоенные на 6 и 10 кВ

    400-0,35; 400-0,45; 630-0,25;630-0,40; 630-0,56; 1000-0,14; 1000-0,22; 1000-0,28; 1000-0,35; 1000-0,45; 1000-0,56; 1600-0,14; 1600-0,20; 1600-0,25; 1600-0,35; 2500-0,14; 2500-0,20; 2500-0,25; 2500-0,35; 4000-0,10; 4000-0,181000-0,45; 1000-0,56; 1600-0,25; 1600-0,35; 2500-0,14; 2500-0,20; 2500-0,25; 2500-0,352×630-0,25; 2×630-0,40;2×630-0,56; 2×1000-0,14;2×1000-0,22; 2×1000-0,28;2×1000-0,35; 2×1000-0,45;2×1000-0,56; 2×1600-0,14;2×1600-0,20; 2×1600-0,25;2×1600-0,35; 2×2500-0,14;2×2500-0,20


    Категории исполнения АВН по климату размещения в районах:

    с умеренным климатом У (N);

    с умеренным и холодным УХЛ (NF);

    с тропическим влажным ТВ (ТН);

    с тропическим сухим ТС (ТА);

    с тропическим морским ТМ (МТ);

    с любым климатом на суше, кроме очень холодного О (U);

    с умеренно-холодным морским М (М);

    как с умеренно-холодным морским, так и с тропическим морским, в том числе для судов неограниченного района плавания ОМ (MU);

    во всех районах на суше и море, кроме районов с очень холодным климатом В (W).

    По месту установки аппарата в эксплуатации аппараты высокого напряжения подразделяются на пять укрупненных категорий размещения. Аппараты категории размещения 1 называются аппаратами наружной Установки, а категорий 3  5   аппаратами внутренней установки. Аппарат категории размещения 2 занимают промежуточное положение.

    Категория 1  на открытом воздухе.

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

    Категория 3  в закрытых помещениях (объемах) с естественной вентиляцией без искусственно регулируемых климатических условий, где колебания температуры и влажности воздуха и воздействие песка и пыли существенно меньше, чем на открытом воздухе, например в металлических помещениях с теплоизоляцией, каменных, бетонных и деревянных помещениях (существенное уменьшение воздействия солнечной радиации, ветра, атмосферных воздействий, отсутствие росы).

    Категория 4  в помещениях (объемах) с искусственно регулируемыми климатическими условиями, например в закрытых отапливаемых или охлаждаемых и вентилируемых производственных или других помещениях, в том числе и хорошо вентилируемых подземных (отсутствие прямого солнечного излучения, атмосферных осадков, ветра, песка и пыли, наружного воздуха, отсутствие или уменьшение рассеянного солнечного излучения и конденсации влаги).

    Категория 5  в помещениях (объемах) с повышенной влажностью, например в неотапливаемых и невентилируемых подземных помещениях, в том числе в шахтах, подвалах, почве, в судовых, корабельных и других помещениях, в которых возможно длительное присутствие воды или частая конденсация; влаги на стенах и потолке.

    Вопросы для самопроверки

    1. Что такое линейный токоограничивающий реактор?

    2. Какие типы реакторов существуют?

    3. Как рассчитать падение напряжение на реакторе при коротком замыкании?

    4. Чем отличаются линейные и секционные токоограничивающие реакторы?

    5. Какой материал используется в качестве магнитопровода в токоограничивающих реакторах?

    6. Какой функцией описывается зависимость напряжения на реактроре от тока, протекающего по реактору?

    7. Из какого материала изготавливаются обмотки реакторов?

    8. На что устанавливаются реакторы?

    9. Какой компонент должен быть помещён на форму для того, чтобы создать меню подпрограмм?

    10. Какой компонент должен быть помещён на форму для того, чтобы создать многостраничное представление программы?

    11. Как создать новую страницу многостраничной программы?

    12. Как изменить название отдельной страницы многостраничной программы?

    13. Для чего нужен компонент Панель в программе?

    14. В каком порядке нужно помещать компоненты на панель?

    15. Как убедиться в том, что компонент лежит на панели?

    16. Чем отличаются компоненты LabeledEdit и Edit?

    17. Как вставить линейки прокрутки в компонент Memo?

    18. Как создать заготовку процедуры создания формы (FormCreate)?

    19. Какие операторы следует помещать в процедуру создания формы?

    20. Как поместить на форму компонент Image?

    21. Для чего нужен компонент Image?

    22. Какие типы растровых картинок можно поместить в компонент Image?

    23. Какой компонент должен быть помещён на форму для того, чтобы создать процедуру поиска и загрузки файла картинки в компонент Image?

    24. Перечислите условные обозначения существующих категорий исполнения АВН по климату размещения.

    25. Перечислите условные обозначения существующих категорий по месту установки АВН в эксплуатации?


    Практическое занятие 7

    Работа с картинками в среде «Delphy»

    Цель занятия

    Знакомство студентов с компонентами Image, CheckBox, способами изменения параметров ввода из режима исполнения программы. Знакомство с типами заземляющих устройств, свойствами грунта и расчётом величины сопротивления растекания тока на землю промышленной частоты.

    Задание 1

    Запустите Дельфи. Измените заголовок формы на «Расчёт сопротивления заземлителя на частоте 50 Гц». Сохраните программу в папке практика 7. Проверьте число сохранённых файлов (должно быть не менее 6).

    Поместите на форму компонент Panel, удалите её заголовок, измените её цвет на clInfoBk, измените размеры (1/4 по ширине и 2/3 по высоте формы) и переместите панель в левый верхний угол формы. Поместите на компонент Panel последовательно сверху вниз следующие компоненты:

    1. label с названием «Тип грунта»;

    2. ComboBox и создайте список грунтов (Items) в соответствии со столбцом 2 табл. 7.1;

    Таблица 7.1. Типы грунтов и их удельные сопротивления

    N

    Тип грунта

    Удельное сопротивление, , Ом∙м

    1

    Торф, ил, солончак, песок сильно увлажнённый

    25

    2

    Чернозём, зола, глина, земля садовая, бетон

    50

    3

    Мергель глинистый, суглинок, песок увлажнённый

    100

    4

    Супесь, песок влажный

    150

    5

    Гравий глинистый, песок слегка влажный, лёсс, гнейс

    300

    6

    Песчаник, песок сухой

    1000

    7

    Щебень мокрый, базальт

    3000

    8

    Гранит

    10000


    3. label с названием «Тип заземлителя»;

    4. ComboBox и создайте следующий список заземлителей (Items): вертикальный, вертикальный заглублённый, горизонтальный, контурный;


    Рис. 7.1. Типы простых заземлителей

    Сохраните рисунки четырёх заземлителей (см. рис. 7.1) в папке практика 7 с именами 1.bmp, 2.bmp, 3.bmp, 4.bmp. Если при выделении рисунка и нажатии правой кнопки мыши функция «сохранить рисунок как…» не поддерживается, то для выполнения операции сохранения рисунков сделайте следующее. Запустите какой-либо графический редактор, например, Paint из папки стандартных программ. Скопируйте в него рисунок и сохраните под указанным именем. Операцию повторите для всех рисунков. Убедитесь, что сохранённые рисунки 1.bmp, 2.bmp, 3.bmp, 4.bmpсоответствует частям рис. 7.1.

    5. шесть компонентов LabeledEdit из дополнительной палитры компонентов и измените их заголовки: «Длина (L), м»; «Диаметр (d), мм»; «Заглубление (h), м»; «Диаметр контура, м»; «Сторона a, м»; «Сторона b, м». В поле text каждого компонента введите числа, например 5;

    6. компонент CheckBox из стандартной палитры компонентов;

    7. компонент BitButton и измените его заголовок на Старт, а цвет шрифта на красный.

    Положите на форму ниже панели отладочное поле Memo и вставьте линейки прокрутки.

    Положите на форму справа от панели компонент Image и измените его размер так, чтобы он занимал оставшуюся часть формы. В свойство картинка Picture загрузите рисунок первого заземлителя.

    Задание 2

    Перейдите на окно кода программы, найдите раздел описания глобальных переменных (общих для всех процедур). Этот раздел должен содержать описание только var Form1: TForm1. Дополните этот раздел, добавив описание переменной rho:real;.

    Двойным щелчком на форме создайте процедуру FormCreate. В теле процедуры запишите команды задания начальных значений номеров компонент ComboBox, значение переменной «rho», заголовки и видимость (свойство Visible:=True). Пример команд:

    ComboBox1.ItemIndex:=0;

    ComboBox2.ItemIndex:=0;

    rho:=25;

    chk1.Checked:=True;

    chk1.Caption:='Кольцевой';

    LabeledEdit1.Visible:=True;

    LabeledEdit2.Visible:=True;

    LabeledEdit3.Visible:=True;

    LabeledEdit4.Visible:=True;

    LabeledEdit5.Visible:=True;

    LabeledEdit6.Visible:=True;

    Двойным щелчком на компоненте ComboBox1 (типы грунтов) создайте процедуру ComboBox1.Change. В тело этой процедуры запишите значения, величин сопротивлений, которые соответствуют типам грунтов из табл. 7.1 по аналогии со следующим примером:

    case ComboBox1.ItemIndexof

    0:rho:=25;

    end; {Case}.

    Тогда, при выборе первого типа грунта его удельное сопротивление примет значение 25 Ом*м. Чтобы ввести второе значение, нужно после строки 0:rho:=25; вставить строку 1:rho:=50; и т.д. для всех типов грунтов.

    Двойным щелчком на кнопке старт создайте основную процедуру и вставьте в её тело проверочную строку

    memo2.Lines.Add(cbb1.Items[cbb1.ItemIndex]+' rho = '+FloatToStr(rho)+' Ом*м');.

    Запустите программу на исполнение и проверьте правильность соответствия значений удельного сопротивления грунта названиям всех типов грунтов из табл. 7.1, выбирая тип грунта в ComboBox1 и нажимая кнопку «Старт».

    Задание 3

    Двойным щелчком на компоненте ComboBox2 (типы заземлителей) создайте процедуру ComboBox2.Change. В тело процедуры вставьте заготовку команды выбора:

    case ComboBox2.itemindex of

    0: begin

    end; {0}

    1: begin

    end; {1}

    2: begin

    end; {2}

    3:begin

    end; {3}

    end; {case – окончание процедуры выбора набора действий}

    Операторные скобки begin end, стоящие после цифры 0 (1, 2 или 3), объединяют набор команд, записанных между ними, которые должны выполняться при выборе одного из значений списка ComboBox2.

    Например, при выборе первого типа заземлителя (ComboBox2.itemindex= 0) должен загрузиться первый рисунок и измениться видимость некоторых компонент панели:

    case ComboBox2.itemindex of

    0: begin

    img1.Picture.LoadFromFile('1.bmp');

    LabeledEdit1.Visible:=True;

    LabeledEdit2.Visible:=True;

    LabeledEdit3.Visible:=false;

    LabeledEdit4.Visible:=false;

    LabeledEdit5.Visible:=false;

    LabeledEdit6.Visible:=false;

    chk1.Visible:=false;

    end;{0}

    1: begin

    end; {1}

    2: begin

    end; {2}

    3: begin

    end; {3}
    end; {Case}

    По приведённому примеру запишите последовательность действий при выборе 2, 3 и 4 типа заземлителя (ComboBox2.itemindex= 1,2 или 3).

    Проверьте изменения на панели при изменении выбора заземлителя.

    Двойным щелчком на компоненте CheckBox1 (типы заземлителей) создайте процедуру CheckBox1Click. В тело процедуры впишите команды, которые должны выполняться при нажатии CheckBox1:

    procedure TForm1. CheckBox1Click(Sender: TObject);

    begin

    if chk1.Checked

    then

    begin

    LabeledEdit4.Visible:=true;

    LabeledEdit5.Visible:=false;

    LabeledEdit6.Visible:=false;

    chk1.Caption:='Кольцевой';

    end

    else

    begin

    LabeledEdit4.Visible:=false;

    LabeledEdit5.Visible:=true;

    LabeledEdit6.Visible:=True;

    chk1.Caption:='Прямоугольный';

    end;

    end;

    Проверьте работу программы.

    Задание 4

    В разделе описания типов переменных основной процедуры запишите 3 переменных с плавающей запятой (например, типа Real): vard, L, R:real;.

    В тело основной процедуры впишите команды чтения данных с формы, формулы вычисления сопротивления и вывода величины сопротивления. Поскольку для разных типов заземлителей различаются как типы исходных данных, так и формулы вычисления, наборы команд также должны различаться. Для реализации возможности таких различий создайте в теле основной процедуры заготовку выбора набора команд (оператор типа caseIof….end) по аналогии с примером из задания 3. Между открывающей и закрывающей операторными скобками, соответствующими первому значению типа заземлителя 0:beginend; {0} запишите команды чтения данных из элементов LabeledEdit, формулу вычисления сопротивления и вывод величины сопротивления в поле Memo. Напоминание:

    1. значения исходных данных находятся в полях text соответствующих компонентов LabeledEdit и относятся к переменным типа TCaption (строка WideString), а в программе нужны численные значения этих переменных, относящихся к переменным с плавающей запятой (собирательное название всех таких переменных – Float). По этой причине команда типа L:=LabeledEdit1.Textприведёт к возникновению ошибки [Error] Unit1.pas(30): Incompatibletypes: 'Real' and 'TCaption'. Для преобразования строковой переменной в переменную с плавающей запятой служит функция StrToFloat(), а в круглых скобках указывается, какая строка преобразуется в число. Тогда правильная команда чтения значения должна иметь вид:

    L:= StrToFloat(LabeledEdit1.Text);

    2. Поскольку значение диаметра заземляющего устройства удобнее вводить в мм, а вычисления проводятся в м, то при записи команды чтения следует сразу же перевести значение диаметра из миллиметров в метры, умножив на 0,001 или разделив на 1000:

    d:= StrToFloat(LabeledEdit2.Text)/1000;

    3. После определения величин L и d, можно вычислять сопротивление заземляющего устройства, поскольку величина rho была определена ранее:

    R:=rho/2/L/pi*ln(4*L/d);

    4. Для вывода значения сопротивления в поле Memo следует осуществить обратное преобразование из числа с плавающей запятой (Float) в строковую переменную (String). Эта операция часто осуществляется с помощью функции FloatToStr(R). Недостатком этой функции является то, что она выводит до 14 знаков после запятой, что, вообще говоря, является ошибкой. Более правильное представление результатов расчётов будет, если использовать функцию FloatToStrF(R, ffFixed,7, 2). В этой функции прямо указывается, что будет использоваться фиксированная форма вывода (ffFixed), в которой на число отводится 7 знаков, а на десятичную часть числа 2 знака. Более подробно о других форматах представления чисел с помощью этой функции можно ознакомиться, подведя курсор к названию функции и нажимая Ctrl+F1 (вызов справки, Help).

    memo2.Lines.Add('Сопротивление заземления = '+ FloatToStrF(R, ffFixed, 7, 2)+ ' Ом');

    Проверьте работу программы. Измените в функции вывода число десятичных знаков и убедитесь в том, что это число изменилось в поле вывода.

    Задание 5

    По аналогии с заданием 4 дополните код основной процедуры вычислением сопротивления других типов простых заземлителей. Проверьте работу программы. При вводе информации для расчёта величины сопротивления заглублённого вертикального заземлителя величина h по определению не может быть меньше L/2 (см. рис. 7.1). Тем не менее, она может быть введена так, что значение 4h-L станет меньше нуля, а логарифм отрицательного числа не существует, что приведёт к ошибке и остановке программы. Для предотвращения такого сорта ошибки следует после ввода h из LabeledEditпоставить условие: если h < L/2, тогда h:= L/2 + 0.2.

    Задание 6

    Рассчитайте значения сопротивления для различных типов заземлителей, значений длины, глубины заземления, диаметра проводов и прочего. Ответьте на вопрос: как влияют различные параметры на величину сопротивления заземления.
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта