Пояснительная_записка (1211002), страница 7
Текст из файла (страница 7)
port_a: byte;
port_b: byte;
port_c: byte;
end;
Для отображения на интерфейсе программы текущего состояния находящейся информации в порте B и отображение выбранного ползунком адреса в группе, выполнены обработчики событий TrackBar1Change и PBTDVTimer. Листинг представлен кода представлен ниже.
procedure Tfrm_main.TrackBar1Change(Sender: TObject);
begin
with frm_main.Panel2 do begin
Caption:=inttostr(trackbar1.position); end;
end;
procedure Tfrm_main.PBTDVTimer(Sender: TObject);
var
i,output,input: byte; begin
if MyFD = nil then exit;
Report.ID:=0;
DataV.Clear;
input:= Report.port_b;
for i:=0 to 7 do begin
DataV.Items.Add(' DataD '+inttostr(i)+' = '+ BoolToStr(odd((input shr i) AND 1))); end;
end;
Контроль нажатия кнопок и стрелочных коммутаторов пульта табло осуществляется последовательной выборкой всех адресов ОК и занесением их состояния в двумерный массив. Кроме этого перед началом опроса необходимо выполнить отключение всех процедур, выполняющих отправку данных к УСО так как одновременное обращение к разным адресам физически невозможно и это нарушит протокол обмена информацией. Исходный код программы отвечающий за это представлен ниже.
procedure Tfrm_main.CheckBox1Click(Sender: TObject);
begin
if MyFD = nil then exit;
Report.ID:=0;
if checkbox1.Checked=true then
begin
octimer.Enabled:=true; outimer.Enabled:=false;
panel5.Color:=clGreen; panel5.Caption:='ON';
Report.port_c:=Report.port_c or (1 shl 1);
Report.port_c:=Report.port_c or (1 shl 0);
Rep.Click; end else begin
octimer.Enabled:=false; outimer.Enabled:=true;
panel5.Color:=clRed; panel5.Caption:='OFF'; end;end;
procedure Tfrm_main.octimerTimer(Sender: TObject);
var
i:integer; input:byte;
begin
ox:=0; if MyFD = nil then exit;
Report.ID:=0;
if checkbox1.Checked=true then
begin
for i:=0 to 15 do begin
Report.port_b:=16+i; Rep.Click;
Rеsult:=MyFD.GetFeature(Report,MyFD.Caps.FeatureReportByteLength);
input:=(report.port_a shr 3);
for oy:=0 to 7 do
Stringgrid1.Cells[(i+16),oy]:=BoolToStr(odd((input shr oy) AND 1));
end;
for i:=0 to 15 do
begin
Report.port_b:=32+i; Rep.Click;
Rеsult:=MyFD.GetFeature(Report,MyFD.Caps.FeatureReportByteLength);
input:=(report.port_a shr 3);
for oy:=0 to 7 do
Stringgrid1.Cells[i,oy]:=BoolToStr(odd((input shr oy) AND 1)); end;
end;end;
Чтобы управлять световой индикаций необходимо последовательно выполнить действия:
-
На порт С выставить значения, запрещающие выборы кристаллов и запись;
-
Подготовить данные для управления объектами и отправить их в регистр данных;
-
Подготовить адрес нужной группы объектов и отправить его в УСО.
Часть кода выполняющая протокол управления объектами через УСО представлен ниже, в нём содержатся последовательный выбор данных для управления объектами, через интерфейс программы, отображение текущего адреса, а также таймер для последовательного выполнения передачи, с временной задержкой необходимой для коммутации схем УСО.
procedure Tfrm_main.outimerTimer(Sender: TObject);
begin
if MyFD = nil then exit;
Report.ID:=0; cicle.Click;
end;
procedure Tfrm_main.Button5Click(Sender: TObject);
begin
Report.port_c:=Report.port_c or (1 shl 1); //запись в С1 = 1
Report.port_c:=Report.port_c or (1 shl 0); //запись в С0 = 1
Rep.Click;
end;
procedure Tfrm_main.Button6Click(Sender: TObject);
var i:integer;
begin
for i:=0 to 7 do if (CheckListBox_tiny2.Checked[i]) then
Report.port_b:=Report.port_b and not (1 shl i) else
Report.port_b:=Report.port_b or (1 shl i); Rep.Click;
end;
procedure Tfrm_main.Button7Click(Sender: TObject);
begin
Report.port_c:=Report.port_c and not (1 shl 0) Rep.Click;
end;
procedure Tfrm_main.Button8Click(Sender: TObject);
begin
Report.port_c:=Report.port_c or (1 shl 0); Rep.Click;
end;
procedure Tfrm_main.Button9Click(Sender: TObject);
begin
Report.port_b:=trackbar1.position; if radiobutton1.Checked then
begin Report.port_b:=Report.port_b and not (1 shl 4);
Report.port_b:=Report.port_b or (1 shl 5);
Report.port_b:=Report.port_b or (1 shl 6); p:=96;
end
else if radiobutton2.Checked then begin
Report.port_b:=Report.port_b and not (1 shl 5);
Report.port_b:=Report.port_b or (1 shl 4);
Report.port_b:=Report.port_b or (1 shl 6);p:=80 ;
end
else if radiobutton3.Checked then begin
Report.port_b:=Report.port_b and not (1 shl 6);
Report.port_b:=Report.port_b or (1 shl 4);
Report.port_b:=Report.port_b or (1 shl 5);p:=48;
end;
rep.Click;
end;
procedure Tfrm_main.Button10Click(Sender: TObject);
begin
Report.port_c:=Report.port_c and not (1 shl 1);
Rep.Click;
end;
procedure Tfrm_main.Button11Click(Sender: TObject);
begin
Report.port_c:=Report.port_c or (1 shl 1); Rep.Click;
end;
procedure Tfrm_main.CicleClick(Sender: TObject);
begin
if t=1 then button5.Click;
if t=2 then button6.Click;
if t=3 then button7.Click;
if t=4 then button8.Click;
if t=5 then button9.Click;
if t=6 then button10.Click;
if t=7 then button11.Click;
end;
procedure Tfrm_main.globalTimer(Sender: TObject);
begin
if MyFD = nil then exit; Report.ID:=0;
t:=t+1; if t=8 then t:=0;
end;
3 Расчет экономических затрат на изготовление устройства
3.1 Общие положения
В процессе обучения работников железнодорожного транспорта, очень важную роль играют практические навыки, приобретённые в университете, без которых надёжная и компетентная работа ДСП ставится под вопрос. Поэтому одной из главных задач является получение практических умений на занятиях при подготовке специалистов по средством лабораторных стендов, находящихся в распоряжении кафедры осуществляющей обучение.
Целью этого дипломного проекта является разработка устройства сопряжения, для замены старого интерфейса LPT на актуальный и распространённый интерфейс передачи данных USB. Модернизируя лабораторию кафедры «ОПиБТ» ДВГУПС, появится возможность использовать стенды с новыми компьютерами не имеющих интерфейса LPT в своём распоряжении в соответствии с новыми стандартами производства ПК. Предполагается установка устройства на каждое лабораторное место аудитории где присутствует пульт-табло мозаичного типа для возможности работы по новому интерфейсу используя старый протокол, что исключает капитальные затраты на изменение самих стендов.
Таким образом, необходимо рассчитать затраты на внедрение нового устройства сопряжения и пронаблюдать экономический эффект, который заключается в экономии денежных средств на закупке компьютеров, использующих устаревшие интерфейсы передачи информации. Так же произвести расчёт стоимости всех деталей (электронных компонентов), затраты на заработную плату специалистов и разработке устройства, а также стоимость электроэнергии для производства. После подсчёта всех статей выполним суммирование всех затрат.
3.2 Расчет затрат на внедрение прибора
Стоимость устройства рассчитаем, просуммировав стоимость каждого из его комплектующих, затраты на изготовление, а также разработку и отладку программной части.
Так как создание устройства происходит в университете, где уже имеются приспособленные лаборатории, персональный компьютер, хорошее освещение, инструменты для производства плат и все другие средства для производства, то затраты денежных средств на эти пункты учитывать не требуется. В таблице 3.1 приведем комплектующие изделия и их полную стоимость [13].
Таблица 3.1 – Стоимость компонентов одного изделия
| Наименование оборудования | Ед. изм. | Кол-во | Стоимость на ед. изм., руб. | Общая стоимость, руб. |
| Резистор CF-50 0,125 Вт | шт. | 6 | 2 | 12 |
| Cтеклотекстолит FR4 150х250мм | шт. | 1 | 450 | 450 |
| Конденсатор R50 47 мкФ 6,3 В | шт. | 1 | 5 | 5 |
| Конденсатор кер. 0,01 мкФ 50 В | шт. | 1 | 2 | 2 |
| Конденсатор кер. 22 пФ 50 В | шт. | 2 | 2 | 4 |
| Стабилитрон 1N4729A 3,6 В | шт. | 2 | 2 | 4 |
| Светодиод BL-L101PGC зелёный | шт. | 1 | 30 | 30 |
| Розетка 9 pin DRB- 9FA | шт. | 1 | 20 | 20 |
| Розетка на плату, тип B, USBB-1J | шт. | 1 | 19 | 19 |
| Вилка 25 pin на плату DRB-25MA | шт. | 2 | 29 | 58 |
| Разъем широкий DIP-40 | шт. | 1 | 30 | 30 |
| Микроконтроллер ATmega16 | шт. | 1 | 280 | 280 |
| Кварцевый резонатор 16.0 МГц | шт. | 1 | 30 | 30 |
| Пластмассовый корпус G1020B | шт. | 1 | 90 | 90 |
| Шнур USB2.0 | шт. | 1 | 130 | 130 |
| Винт с головкой М3 уп. - 32 шт. | шт. | 1 | 24 | 24 |
| ИТОГО |
|
|
| 1188 |
Сумма всех затрат на изготовление одного устройства с написанием программного кода для устройства приведено в таблице 3.2. Тарифная ставка на электроэнергию взята по городу Хабаровску на момент 05.05.2017 и составляет 4,11 руб/(кВт
ч) [14].
Таблица 3.2 – Расчет затрат на процесс изготовления одного устройства
| Наименование ресурса, расходного материала | Ед. изм. | Кол-во | Время, ч. | Стоимость на ед. изм., руб. | Общая стоимость, руб. |
| Хлорное железо 100г. | шт. | 1 | - | 84 | 84 |
| Глицерин 100мл | шт. | 1 | 75,00 | 75 | |
| Припой трубчатый с канифолью L=1м | шт. | 1 | 120,00 | 120 | |
| Канифоль 20г. | шт. | 1 | 140,00 | 140 | |
| Электроэнергия, потребляемая сверлильным станком | кВт*ч | 0,2 | 0.5 | 4,11 | 0,411 |
| Электроэнергия, потребляемая электропаяльником 40 Вт | кВт*ч | 0,04 | 8 | 4,11 | 1,315 |
| Электроэнергия, потребляемая системами освещения рабочего места | кВт*ч | 0,2 | 18 | 4,11 | 14,796 |
| Электроэнергия, потребляемая ПК | кВт*ч | 0,2 | 7 | 4,11 | 5,754 |
| ИТОГО | 441,276 | ||||
Написание и отладка программной составляющей устройства занимает достаточно большое количество времени, расчёт расходов на оплату труда программиста по написанию прошивки для USB-LPT переходника, хост программы устройства установленной на ПК, а также работу слесаря по изготовлению печатной платы приведено в таблице 3.3. Размер оплаты для разработчика, выполняющего эту работу, пример из средний рыночных цен в данной отрасли.
Таблица 3.3 – Расчет расходов на заработную плату
| Вид расходов | Затраты, чел/часов | Почасовая ставка разработчика, руб. | Общая стоимость, руб. |
| Расходы на оплату труда программиста (написание программы-хоста на Delphi7, программы-прошивки на C) ЭЗП1, руб. | 40 | 400,00 | 16000 |
| Расходы на оплату труда слесаря (изготовление печатных плат, корпуса) Э ЗП3 руб. | 5 | 200,00 | 1000 |
Количество изготавливаемых устройств на прямую зависит от количества лабораторных стендов, находящихся в распоряжении кафедры. На данный момент в 222 аудитории находится 6 пультов-табло мозаичного типа для обучения студентов, следовательно, расчёт будем вести с потребности производства шести таких устройств.
Для установки адаптера не требуется больших затрат времени, установить устройство возможно в любое время после того как оно будет произведено. Выполнят монтаж будет лаборант кафедры «ОПиБТ» просто подключив изделие к компьютеру по интерфейсу USB и присоединив к пульт-табло по интерфейсу LPT.
3.3 Сводный расчёт затрат по внедрению проекта
Далее рассчитаем общие экономические затраты. В таблице 3.4 выполним подсчёт всех видов расходов на производство одного устройства по элементам. Материальные затраты складываются из стоимости компонентов одного изделия и затрат на изготовление.
Таблица 3.4 – Сводный расчёт затрат для реализации проекта по элементам
| Элемент расходов | Затраты на реализацию 1 устройства, руб. | Затраты на реализацию 6 устройств, руб. |
| Материальные затраты | 1629,276 | 9775,66 |
| Расходы на оплату труда | 17000 | 23000 |
| Отчисления на социальные нужды | 5100 | 6900 |
| Амортизация | - | - |
| Прочие расходы | - | - |
| ИТОГО | 39675,66 |
Таким образом, для модернизации 6 лабораторных стендов потребуется 39675,66 рублей с учётом единовременной оплаты работы программиста.
3.4 Расчет сравнительной экономической эффективности
Данное устройство предполагается как альтернатива покупки университетом переходников PSI-LPT и затрат средств на покупку пакетов разработки программного обеспечения. Также в этом случае не исключается потребность в оплате работы программиста.
Сроки службы такого переходника и проектируемого устройства равны. Так как экономический эффект одинаковый в обоих случаях, то для выбора необходимо сравнить затраты на реализацию проекта и затраты на вышеуказанные пункты.















