Пояснительная записка (1230175), страница 8
Текст из файла (страница 8)
// Программа для подсчета соотношения единиц и нулей
#include
void main (void)
{struct LA_Param la;
unsigned long data[LENGTH];
unsigned num0[32], num1[32];
float ratio[32];
unsigned i, j;
// Инициализация параметров регистрации
la.freq = 0; // Код частоты 10 МГц (период 100 нc)
la.sync = 3; // Номер синхролинии
la.polar = 0; // Запуск по положительному перепаду
la.pre_reg = 0; // Предпусковая регистрация не нужна
// Запуск регистрации
if (InitJ-A (&la) == -1)
{printf ("\п0шибка.");
exit (-1);
}
// Проверка окончания регистрации
while (Check_Ready() != 0)
// Чтение данных
Read_Data (&data);
// Определение соотношений единиц и нулей по всем линиям
// 100 мкс - это 1000 кадров регистрации на частоте 10 МГц
for (j=0;i<32;j++) // Обнуление счетчиков
{ // единиц и нулей num0[j] = 0 по всем линиям
num1[j] = 0;
for (i=0;i<1000;i++) // Подсчет числа нулей и единиц
for (J=0;j<32;]++) // по всем линиям, (1L << j) -
if ( (data[i] & (1|_ " j)) == 0 ) // маска j-го бита
num0[j]++;
else
num1[j]++;
for (j=0;j<32;j++) // Вывод на экран соотношений
{printf ("\nЛиния №%d. ", j);
if (num0[ij != 0) // Был ли ноль вообще ?
printf (Отношение 1/0 - %f.", num1[j]/num0[j]);
else // He было printf ("Нуля не было.");
}}
// Конец программы
В предложенных драйверах окончание регистрации определялось опросом флага готовности логического анализатора. Однако во многих случаях удобнее использовать аппаратное прерывание, которое анализатор вырабатывает по окончании регистрации (см. п. 1.10). Например, если синхропереход приходит редко, можно построить систему таким образом, чтобы после запуска регистрации программа переходила на выполнение другой задачи (например, обработка ранее полученных данных), а по прерыванию от логического анализатора переходила на его обработку. В этом случае необходимо написать программу обработки прерывания, в которую включить все необходимые действия. Драйвер Check_Ready становится не нужен.
// *** Программа обработки прерывания от логического
анализатора
void interrupt LA_handler (unsigned long *data)
{
disable(); // Запрет прерываний на время обработки
... // Какие-то действия
Read_Data (data); // Чтение данных из буфера
... // Какие-то действия
епаЫе(); // Разрешение прерываний
}// Конец программы
В тело основной программы следует включить установку
вектора прерывания от логического анализатора:
setvect (INT, LA_handler); // INT - номер прерывания
3.3 Экспериментальные испытания
На экспериментальный компьютер устанавливаем программу Acronis для Win98 Acronis-это линейка решений для быстрой установки ПО на новые компьютеры при помощи технологии создания образов дисков.
Для этого записываем программу на другом компьютере и устанавливаем на экспериментальный компьютер. При установке с диска произошла ошибка «2 234 на диске 1» компьютер завис.
Рисунок 3.5 - Ошибка программы
Копируем программу на экспериментальный компьютер и пробуем установить программу повторно
Установка завершена программа запускается, но выдает ошибку «2 234» Запуск осуществляется после закрытия ошибки.
Рисунок 3.6 -Работа программы
При работе в программе возникает ошибка что все место на диске С занято и разделы измени не возможно
Рисунок 3.7 - Ошибка программы
Вывод: в ходе проведения данного эксперимента мы столкнулись с проблемой недееспособности программы — это связанно с тем что программа не подходит для данного вида программного обеспечения.
Устранение проблемы с нехваткой оперативной памяти на экспериментальном компьютере.
Ускоряем работу ПК через файл подкачки и увеличиваем виртуальную память
Всё что не вмещается в ОЗУ, хранится на жёстком диске в файле подкачки. Обычно система Windows автоматически устанавливает объём такого виртуального кэша, но при возникшей нехватке его можно увеличить. Чтобы провернуть такое действие необязательно быть программистом просто следуйте приведённой ниже инструкции:
-
принцип действия на Windows 98, xp практически идентичен, так как меню у них довольно похожи. В нижнем углу экрана найдите кнопку «Пуск», жмите.
-
в появившемся списке найдите строку «Мой компьютер». Кликните курсивом (левой кнопкой мыши) и внизу нажмите «Свойства».
-
слева откроется новый перечень, выбираем «Дополнительные параметры системы».
-
в окне «Свойства системы» кликните сверху на слово «Дополнительно». Выплывет список задач, находим нужную строку и жмём «Параметры».
-
в таблице «Параметры быстродействия» кликните на «Визуальные эффекты» и действие «Изменить».
-
в окне «Виртуальная память» поставьте галочку напротив предложения «Автоматически выбрать объём файла подкачки» и выберите диск, который будет служить для этого файла.
-
ниже выбираем графу «Указать размер» и, в полях исходного и максимального размера, устанавливаем минимальное и высшее значение файла «Подкачка». В конце проделанной работы не забудьте сохранить изменения.
Под файл подкачки используйте диск, имеющий больше свободного места. Не выбирайте для этой цели системный диск.
Вывод: в ходе исправления ошибки удалось её исправить для включения программы, программа открывается и работает нормально, но повторный запуск этой программы не возможен т.к. возникает ошибка следует перезапустить компьютер и повторно открыть программу. Это связанно с малым объёмом оперативной памяти
4 Экономическая часть
4.1 Характеристика проекта
В данном проекте проектируется устройство сопряжения (УСО)и программное обеспечение (ПО) для прибора МПИ-СЦБ. Этот прибор предназначен для измерения тока и напряжения устройств автоматики и телемеханики. С помощью этого прибора уменьшится количество отказов, связанных с потерей напряжения на устройствах СЦБ.
4.2 Расчет строится по прогнозируемым технико-экономическим показателям
В данном разделе проводится технико-экономический расчет программного обеспечения и изготовление универсального устройства сопряжения, расчет будет производится по имеющимся данным: Заработною плату работников участвующих в создание программного обеспечения так же коэффициенты сложности программы, коррекции программы, квалификации программиста, затраты на электроэнергию, на программируемое оборудование, стоимость одного часа работы ЭВМ и отчисления на содержания и ремонт ЭВМ, стоимость материала для изготовления микросхемы (текстолит),стоимость портов подключения.
Расчет расходов на внедрение, эксплуатацию программного обеспечения для прибора МПЦ-СЦБ.
Расчет будет производится по данным: себестоимости данного программного обеспечения, себестоимости устройства сопряжения, срока окупаемости готового оборудования.
4.3 Расчет расходов на создание ПО и УСО
Исходные данные для расчета экономического эффекта, которое используется для создания программного обеспечения, устройства сопряжения приведены в таблице 4.1.
Таблица 4.1 – Данные на 1.01.2016 г.
| №п/п | Статьи затрат | Усл. обозн. | Ед.изм. | Значения |
| Проектирование и разработка ПО,УСО | ||||
| 1 | Часовая тарифная ставка программиста | З.пл | руб. | 700 |
| 2 | Коэффициент сложности программы | С | коэф. | 1,40 |
| 3 | Коэффициент коррекции программы | Р | коэф. | 0,05 |
| 4 | Коэффициент увеличения расходов труда | Z | коэф. | 1,3 |
| 5 | Коэффициент квалификации программиста | К | коэф. | 1,0 |
| 6 | Амортизационные отчисления | Амт | % | 10,0 |
| 7 | Мощность компьютера, принтера | WМ | Квт/час | 0,40 |
| 8 | Стоимость текстолита | Стек | руб. | 270 |
| 9 | Тариф на электроэнергию | Квт/ч | руб. | 2,87 |
| 10 | Отчисление на социальные расходы | Нсоц | % | 37,2 |
| 11 | Транспортно-заготовительные расходы | Нтр | % | 4,0 |
| Эксплуатация ПО | ||||
| 12 | Численность обслуживающего персонала | Чоп | чел | 1 |
| 13 | Часовая тарифная ставка обслуживающего персонала | Зперс | руб. | 400 |
| 14 | Время обслуживания систем | То | час/руб | 2000 |
| 15 | Стоимость контролера | RS | Руб. | 8600 |
| 16 | Стоимость порта USB | Usb | руб | 5300 |
| Продолжение таблицы 4.1 | ||||
| №п/п | Статьи затрат | Усл. обозн. | Ед.изм. | Значения |
| Эксплуатация ПО | ||||
| 17 | Норма амортизационных отчислений на ПЗ | НаП | % | 10,0 |
| 18 | Накладные расходы | Рнак | % | 25,0 |
| 19 | Отчисление на содержание и ремонт ЭВМ и ПО | Нр | % | 10,0 |
| 20 | Стоимость работы одного часа ЭВМ | Вг | руб. | 50 |
Первичными исходными данными для определения себестоимости ПО является количество исходных команд (операторов) конечного программного продукта. Условное количество операторов Q в программе задания может быть оценено по формуле:
, (4.1)















