Рисунок 33. Элемент Numeric Constant
1. Кликнем правой кнопкой
мыши по свободному участку
блок-диаграмм. В Functions (функций) выберем такой
элемент, как Numeric→Numeric Constant (получился
синий прямоугольник 32(Signed 32_bit integer numeric)
- целое 32_х битовое число со знаком) (Рис.33
Элемент Numeric Constant)
Кликнем правой кнопкой мыши
по ней и выбираем Representation→DBL(Double_precision floating_point
numeric) - число с плавающей запятой
двойной точности. Введем 3,14 в label напишем
«pi». Сделаем их две, для этого скопируем
и вставим (Рис.34 Постоянная величина
pi)
Рисунок 34. Постоянная величина
pi
- В Functions (функций) выберем Numeric→Numeric Constant, напишем внутри 2. Сделаем их две.
Опять выберем Numeric→Numeric Constant,
напишем внутри 50. Сделаем их тоже две.
Подпишем f – это частота.
Снова выберем Numeric→Numeric Constant,
напишем внутри 1000000.
Это постоянные величины, которые
мы не будем менять при работе в программе.
Numeric→Numeric Constant, напишем внутри
55 (вот эту величину мы введём, как постоянную,
чтоб не вводить её, т.к. это не должно вводиться
в опыте). Это у нас сопротивление (Рис.35
Величина для вычислений)
Рисунок 35. Величина для вычислений
- Теперь выберем такие элементы,
с помощью которых будет происходить арифметические
вычисления.
Выберем элемент Numeric→Multiply
(), сделаем их штук 9;
Опять выберем Numeric→Divide(/),сделаем
2;
Снова выберем Numeric→Subtract(-);
Numeric→Square(x2), сделаем
6;
Numeric→ Square Root(), сделаем 3;
Numeric→Add(+), сделаем 3 (Рис.36 Элементы
арифметических вычислений)
Рисунок 36. Элементы арифметических
вычислений
- Выберем Numeric→Conversion→To Long Integer (с помощью этого число округляется)
- Выберем уже другой элемент Comparison→Equal(=);
Comparison→Greater(>);
Comparison→Less(<) (Рис.37. Элементы
Conversion и Comparison)
Рисунок 37. Элементы Conversion и
Comparison
Рисунок 38. Элемент Case Structure
6. Выберем Structures→Case Structure (Рис.28
Элемент Case Structure)
(для того чтобы выполнялось
условие). Сделаем их 3 штуки. Поставим
наверху них везде True (Истинно).
Берем элемент String→ String Constant
(здесь мы напишем фразу, которая будет
выводиться, если полученные данные приборы
соответствуют этому условию).
Их мы сделаем по одной штуке
в каждой, и напишем «XC>XL», «XC=XL», «XC<XL». Это мы набрали,
где True. Поменяем на False(Ложь), и там сделаем
ещё по одной в каждой, но в них ничего
не будем писать, оставим пустые.
Рисунок 38. Элементы для условия
Рисунок 39. Элемент Concatenate String
7. Чтоб вывелись, надо
выбрать элемент String→Concatenate String
(Рис.39 Элементы для условия) Кликнем правой
кнопкой мыши на ней и нажимаем на Add Input,
то есть добавляем ещё одну. У нас получилось
3,так как условия тоже 3.
Теперь нам надо соединить всё
линиями, чтоб пошёл процесс. Мы используем
формулы из учебника, чтоб правильно вычислялись
показатели.
Берём сначала Numeric Constant с 2 и
Numeric Constant с 3,14. Нам надо их умножить, для
этого мы возьмем Multiply.
Чтоб их соединить, нажмем на
элемент Tools→Connect Wire (похожий на катушку
инструмент), с помощью него мы будем соединять
связанные в формулах элементы.
Сначала мы умножим 2 на pi, потом
f на L (это будет показатель катушки).
От Numeric Constant1 2 тянем связь к Multiply1(умножению),
потом от Numeric Constant1 с 3,14,т.е. pi к Multiply1. Теперь
также это проделываем с f1 и L, только используем
уже Multiply2. От Multiply1 и Multiply2 тянем связи
к Multiply3. Находим XL и тянем к
ней связь от Multiply3. Мы нашли XL (Рис.40 Нахождение
XL)
.
Рисунок40. Нахождение XL
Тут немного больше возьмём
действий. От Numeric Constant2 2 тянем к Multiply4,
потом от Numeric Constant2 с 3,14 к Multiply4. Также действуем
с f2 и С, только тянем к Multiply5. От Multiply4
и Multiply5, тянем связи к Multiply6. Затем возьмем
Numeric Constant с 1000000 и Multiply6,соединим их с Divide1.
Находим XC и к ней тянем
связь от Divide1. Получили XC (Рис.41 Нахождение
XC)
Рисунок 41. Нахождение XC
Теперь мы берем, XL тянем связь
к Square1(возводим в квадрат), также делаем
с R(но вспоминаем, что это сопротивление
и оно значит в этом опыте у нас считается
за постоянную, т.е. это 55), только тянем
уже к Square2. Берем Add1 и тянем к нему связь
от Square1 и Square2. Затем от Add1 тянем к Square Root1(заносим
под квадратный корень). Находим Zk и к нему тянем
связь от Square Root1. Получаем Zk (Рис.42 Нахождение
Zk)
Рисунок 42. Нахождение Zk
Сейчас мы проделываем такие
же точно действия, как и в предыдущей
формуле, только тут берем XC, возводим
её в квадрат уже с помощью Square3, а R, равную
55, с помощью Square4. Соединяем их в Add2, и от
Add2 уже тянем связь к Square Root2. Находим ZC и к нему тянем
связь от Square Root2. Получаем ZC (Рис.43 Нахождение
ZC)
Рисунок 43. Нахождение ZC
Берем, 55 тянем связь к Square5,
теперь находим XL и XC, тянем связь
к Subtract, возводим его в квадрат, соединяя
с Square6. Теперь к Add3 тянем Square5 и Square6, заносим
под корень, соединяя с Square Root3. Находим
Z и к нему тянем связь от Square Root3. Получили
Z (Рис.44 Нахождение Z)
Рисунок 44. Нахождение Z
Узнаём теперь I(показатель
Амперметра). Находим U и Z тянем от них
связь к Divide2, потом от Divide2 тянем к Амперметру.
Получаем I (Рис 45.)
Возводим I в квадрат, тянем
связь к Square7, теперь Square7 и число 55 соединяем,
протягивая их к Multiply7. От Multiply7 тянем связь
к W(это Ваттметр, он нам будет показывать
мощность P). Получили P (Рис.45)
Рисунок 45 . Нахождение I и P
От Zk и I тянем связи
к Multiply8,от неё тянем к Uk(т.е. к Вольтметру(V)).
Получили Uk индуктивное
напряжение (напряжение катушки) (Рис.46)
Так же делаем, как и в предыдущей,
только связи тянем от Zс и I к Uc. Получили
Uc емкостное
напряжение (напряжение конденсатора)
(Рис.46)
Рисунок 46. Нахождение Uk и Uc
Теперь, когда формулы все вычислили,
приступим к выполнению цикла (Рис.47 Выполнению
цикла)
- Сначала мы округлим XC и XL, для этого соединим их с соответственно To Long Integer1 и To Long Integer2. Потом To Long Integer1 и To Long Integer2 соединим с Equal(=). Убедимся, что в Case Structure1 стоит True(истино). Теперь Equal соединим с Case Structure1, в нём String Constant1 соединяем с Concatenate String через Case Structure1.
- Теперь те же округленные To Long Integer1 и To Long Integer2 соединяем с Greater(>), потом с Case Structure2. В нём String Constant2 соединяем с Concatenate String через Case Structure2.
- Опять берем To Long Integer1 и To Long Integer2 соединяем с Less(<), потом с Case Structure3. В нём String Constant3 соединяем с Concatenate String через Case Structure3.
- Теперь, чтоб окончательно выводился
текст, соединяем со String
Рисунок 47. Выполнению цикла
На этом моя работа над виртуальной
практической лабораторной закачивается.
2.2 Инструкция студенту
- Запустить виртуальный лабораторный
практикум;
- Зайти в Методические указания,
прочитать ход лабораторной работы;
- Ввести данные и нажать Enter;
- Записать показания приборов
в тетрадь;
- Вычислить необходимые данные,
используя эти показания;
2.3 Инструкция преподавателю
Для полноценной работы
стенда необходим LabVIEW 2009 не ниже версии
9.0 и платформу Run-Time (Установщик LabVIEW 2009
и Run-Time также находятся на электронном
диске). При запуске программы на других
ПК необходимо устанавливать Run-Time,т.к.
программа не будет работать. Она просто
напросто не откроется. Для просмотра
проекта, надо открыть exe файл. Для редактирования,
необходимо открыть папку с именем «Элементы
редактирования».
3. Экономическая
часть
3.1 Краткая характеристика
работы и её назначение.
Данная работа
нацелена на помощь в разработке
электронных средств обучения
и автоматизацию учебного процесса.
В результате внедрения разработанного
комплекса программ ожидается
повышение качества и скорости
обучения студентов, в также облегчение
труда преподавательского состава.
3.2 Определение затрат
на создание виртуального лабораторного
практикума по электротехнике «Исследование
резонанса напряжений»
Затраты на создание программного
продукта складывается из расходов по
оплате труда разработчика программы
и расходов по оплате машинного времени
при отладке программы:
где
-затраты на создание программного
продукта;
-затраты на оплату
труда разработчика программы;
-затраты на оплату
машинного времени;
-общие затраты.
Расходы на оплату
труда разработчика программы.
Расходы на оплату труда разработчика
программы определяется путем умножения
трудоёмкости создания программного продукта
на среднюю часовую оплату программиста
(с учётом коэффициента отчисленной на
социальные нужды)
Расходы трудоёмкости
создания программного продукта
Трудоёмкость разработки программного
продукта можно определить следующим
образом:
где
-затраты труда на подготовку
описание задачи;
-затраты труда на разработку
алгоритма решения;
задачи;
-затраты труда на разработку
блок-схемы
алгоритма решения задачи;
-затраты труда на составления
программы по годовой
блок-схеме;
-затраты труда на подготовку
документации задачи;
-затраты труда на отладку
программы на ЭВМ при
комплексной отладке задачи;
Составляющие затрат, в свою
очередь можно вычислить через условное
число операторов Q. В нашем случае число операторов
в отлаженной программе Q=2500.
Расчет затрат труда
на подготовку описание
Оценить затраты труда на подготовку
описание задачи не возможно, т.к. Это связано
с творческим характером работы, вместо
оценим затраты труда на изучение описание
задачи с учетом уточнения описание и
квалификации программиста определяется:
Q*B/(80*K)
где
В — коэффициент увеличения
затрат труда вследствие
недостаточного описание задачи,
уточнения и некоторой не доработки,
В=4
К — коэффициент квалификации
разработчика, для работающих до 2 лет
К=0,8
В связи с тем, что при изучении
описания данной задачи потребовалось
много уточнений и доработок в описании
коэффициента В принимаем равным 3.
Таким образом, подучим
=
=2500*4/(80*0.8)=156,2 (чел-час)
Расчет затрат труда
на разработку алгоритма
Затраты труда на разработку
алгоритма решения задачи:
=Q/(60*К)=2500/(70*0.8)=44,6 (чел-час)
Расчет затрат труда
на разработку блок-схемы
Затраты труда на разработку
блок-схемы алгоритма решения задачи вычисляем
следующим образом:
=Q/(60*К)=2500/(70*0.8)=44,6 (чел-час)
Расчет затрат труда
на разработку на составление программы
Затраты труда на составления
программы по готовой блок схеме вычислим
по формуле:
=Q/(60*К)=2500/(70*0.8)=44,6 (чел-час)
где
-затраты труда на отладку
программы на ЭВМ при автономной
отладки одной задачи;
=Q/(40*K)= 2500/(45*0.8)=69,4 (чел-час)
Отсюда
=1,5*69,4=104,1(чел-час)
Расчет затрат труда
на подготовку документации
Расчет затрат на подготовку
документации по задаче определяются:
=Q/(150*K)=2500(150*0.8)=20,8
=0.75*20,8=15,6 (чел-час)
отсюда
=20,8+14=34,8 (чел-час)
Итак общую трудоёмкость программного
продукта можем рассчитать:
t=156,2 +44,6+44,6+44,6+104,1+34,8=428,9 (чел-час)
Расчет средней зарплаты
программиста
Средняя зарплата программиста
в современных рыночных условиях может
варьироваться в широком диапазоне. Для
расчета возьмем среднюю часовую оплату
труда, которая составляет Тчас=84руб.час
что составляет 15120руб/мес при 9-часовой
рабочем дне и 7-ти дневной рабочей недели.
Эта цифра близка к реальной заработной
плате программиста на предприятии, где
проводилась работа.
Затраты на оплату труда программиста
состоит из зарплаты программиста и отчислений
на соц нужды. Отчисление на соц нужды
включает в себя:
-пенсионный фонд(29%)
-медстрах(3.6%)
-соцстрах(5.4%)
-фонд занятости(1.5%)
-Сбор на образования(1%)
Итого отчисления на социальные
нужды составляет 40.5%.
отсюда затраты на оплату программиста
составляет
=428,9*85=36456,5
Расчет фактического
времени отладку
Фактическое время отладки
вычислим по формуле:
=44,6+15,6+104,1=164,3 часа
Расчет цены машино-часа
Цену машино-часа найдем по
формуле ;
где
-полные затраты на
эксплуатацию ЭВМ в течении
года;
-действительный годовой
фонд времени ЭВМ, час-год;
Расчет годового
фонда времени работы ПЭВМ IBM РС АТ
Общие количество дней в году
- 365.
Число праздничных дней и выходных
— 119.
Время простоя в профилактических
работах определяется как еженедельная
профилактика по 4 часа.
Итого годовой фонд рабочего
времени ПЭВМ составляет:
=8*(365-119)-52*4=1760 часа
Расчет полных затрат
на эксплуатацию ЭВМ
Полные затраты на эксплуатацию
ЭВМ можно определить по формуле:
где