91733 (Віртуальний вимірювальний комплекс на базі учбового лабораторного стенду EV 8031), страница 11
Описание файла
Документ из архива "Віртуальний вимірювальний комплекс на базі учбового лабораторного стенду EV 8031", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "91733"
Текст 11 страницы из документа "91733"
Таблиця 5.10 - Прибутки та витрати
Назва показнику | Сума, грн. | Всього | ||||
1 рік | 2 рік | 3 рік | ||||
Кількість продаж | 191 | 220 | 350 | 761 | ||
Прибуток від продаж | 112690 | 129800 | 206500 | 448990 | ||
Пост. Витр. | Зарплата (осн+дод) | 1144 | 0 | 0 | 1144 | |
Відчислення на соціальні заходи: | 433 | 0 | 0 | 433 | ||
Вартість матеріалів | 28 | 0 | 0 | 28 | ||
Накладні витрати при реалізації | 728 | 0 | 0 | 728 | ||
Змін. Витр. | Витрати на рекламу | 60 | 60 | 60 | 180 | |
Вартість машинного часу | 108 | 0 | 0 | 108 | ||
Тиражування | 770,494 | 887,48 | 1411,9 | 3069,874 | ||
Податок | 11269 | 12980 | 20650 | 44899 | ||
Всього | 14432,494 | 13927,48 | 22121,9 | 50481,874 | ||
“Чистий” прибуток | 98257,506 | 115872,52 | 184378,1 | 398508,126 |
Визначимо точку беззбитковості – це такий обсяг продаж, при котрому окупаються всі витрати.
Аналітично вона визначається по формулі:
Тб=(Зпост+Зр)/(Цед-Зпер), (5.8)
де Зпост – постійні витрати на строк реалізації ПП (грн.);
Зр – витрати на розробку ПП (грн.);
Цед – ціна одиниці продукції (грн.);
Зпер – змінні витрати на одиницю продукції.
Зпост та Зпер визначаються з таблиці прибутків та витрат (табл. 5.10). Зпост вміщує до себе заробітну плату на строк розробки програмного продукту, відчислення на соціальне страхування та накладні витрати. Зпер вміщує до себе вартість машинного часу, витрати на тиражування, витрати на рекламу на строк реалізації програмного продукту. Витрати на розробку програмного продукту складаються з витрат на матеріали, що необхідні при розробці програмного продукту й складають 28 грн. Зпост дорівнює 2305 грн. Зпер дорівнює 3357,874 грн. Ціна одиниці продукту дорівнює 3540,00 грн. Таким чином точка беззбитковості буде дорівнювати наступному значенню:
Тб=(2305+28)/(3540-3357,874)= 13
Графік беззбитковості зображений на рисунку 5.1.
Готівка
Прибуток
З
Зпер 3357,87
Зпост 2305
761
Обсяг продаж ПП
13
Рис.5.1. Графік беззбитковості.
5.8 Висновки
Проведений аналіз дозволяє зробити висновок про доцільність розробки і продажу програмного продукту “ Віртуальний вимірювальний комплекс ” на ринку.
Собівартість продукту становить 3540 грн., а прибуток – 590 грн. за одиницю програмного продукту.
Максимальна ціна розробленого програмного продукту дорівнює:
Цmax=1.2·(Ccc+1.3·П) = 1,2·(3540+1,3*590)= 5168,4 грн.
Мінімальна ціна розробленого програмного продукту дорівнює:
Цmin=1.2·(Зтир+Зад+1.3·П)=1,2·(4,034+0+1,3·590)= 925,2408 грн.
Виходячи з отриманих результатів, установимо ціну продажу без обліку ПДВ. Ціна програмного продукту знаходиться в межах:
925,2408 грн. <= Цпрод <= 5168,4 грн.
Приймаємо ціну продажу програмного продукту рівної 3540 грн.
За перший рік планується реалізувати 191 одиницю продукції, за другий – 220, за третій – 350. Завдяки розрахунку точці беззбитковості було визначено обсяг продаж, при котрому окупуються усі витрати, він дорівнює 13 програмним продуктам. Потенційними покупцями даного програмного продукту можуть бути різноманітні споживачі електроенергії, та користувачі ЕОМ, що будуть зацікавлені цим програмним продуктом. Рекламу даного програмного продукту планується проводить завдяки спеціалізованому журналу “Радіохоббі” у вигляді статті, в якій буде описано всі можливості даного програмного продукту.
6 ОХОРОНА ПРАЦІ ТА НАВКОЛИШНЬОГО СЕРЕДОВИЩА
В даному розділі дипломного проекту на тему “Віртуальний вимірювальний комплекс на базі учбового лабораторного стенду EV8031 ” розглядаються питання створення оптимальних умов роботи оператора, користувачів розробляємого програмного продукту.
6.1 Загальні питання охорони праці
Охорона праці - це система правових, соціально-економічних, організаційно-технічних, санітарно-гігієнічних і лікувально-профілактичних заходів та засобів, спрямованих на збереження життя, здоров'я і працездатності людини у процесі трудової діяльності.
Завдання охорони праці – звести до мінімуму імовірність ураження або занедужання працюючого з одночасним створенням комфортних умов при максимальній продуктивності праці.
Для даного етапу реалізації програмного продукту питання охорони праці розглядаються щодо умов роботи оператора та науковця при дослідженні.
6.2 Характеристика виробничого середовища приміщення, де
виконується проектна робота
Приміщення міститься на третьому поверсі триповерхового будинку.
Площа приміщення повинна розраховуватись у відповідності з наступними вимогами: на одне робоче місце повинно відводитися 6 м2, об’єм 20 м3. Комп’ютери повинні розміщуватися на відстані не менше 1 м від стін. Відстань між боковими поверхнями комп’ютерів не повинна бути менше 1,2 м. Відстань між тильною поверхнею одного комп’ютера та екраном іншого – 2,5 м.
Категорія будинку за пожежонебезпекою – категорія В [6]. До цієї категорії належать приміщення, в яких знаходяться тверді пальні речовини та матеріали (при запаленні стороннім джерелом продовжують горіти після його зникнення).
Клас приміщення за пожежонебезпекою П-IІа [6].
Ступінь вогнестійкості будівельних конструкцій триповерхового будинку з категорією пожежонебезпеки В – I та II [6].
Клас приміщення за ступенем небезпеки ураження електричним струмом – приміщення з підвищеною небезпекою, тому що в ньому є можливість одночасного дотику людини до маючих з’єднання з землею металоконструкцій будинку, технологічним апаратом, механізмом та ін. з одного боку, та до металевих конструкцій – з іншого [7].
Помешкання повинно бути світлим, сухим i теплим. Підлоги роблять рівними, без вибоїв, щільними, мають не слизьку i зручну для чищення поверхню, i утримуються в чистоті. Радіатори i трубопроводи опалювальної i водопровідної систем обладнуються діелектриками (дерев’яними i т.д.) i закриваються огородженнями. Не можна застосовувати огородження з шаруватого паперового пластика i т.п.
Характеристика електричної мережі, що живить електроустаткування, приміщення: перемінний струм, частота 50 Гц, напруга 220 В, режим нейтралі – глухозаземлена нейтраль, споживча потужність комп’ютера 300 Вт.
6.3 Аналіз небезпечних і шкідливих факторів
У відповідності до ГОСТ 12.0.003–74 [9] при розробці системи, що виконується на комп’ютері, на людину впливають небезпечні та шкідливі фактори, перелік яких приведений в таблиці 7.1.
Таблиця 6.1 – Перелік небезпечних та шкідливих факторів
Найменування небезпечного та шкідливого фактора | Джерело виникнення фактора | Характер дії на людину | Нормируване значення фактора | Нормативний доку-мент |
Продовження таблиці 6.1 | ||||
1 | 2 | 3 | 4 | 5 |
1. Підвищений рівень іонізуючих випромінювань в робочій зоні | Екрани та інші по-верхні ЕОМ | Мутагенні процеси, що виникли все-редені орга-нізму | Кількість в 1см3 повітря: позитивних іонів Ф=1500..3000, легких негативних іонів Ф=3000..5000 | [10] |
2. Рентгенівське м’яке випроміню-вання | Монітор (ЕПТ) | Мутагенні процеси, що виникли все-редені орга-нізму | На відстані 5 см від екрану рівень випрмінювання не повинен перевіщу-вати 100 мкр/г | [11] |
3. Пряма та від-бита блискість | Невірне розташу-вання ПК | Перевтома зорового аналізатору | Покажчик Р=0 | [12] |
1 | 2 | 3 | 4 | 5 |
4. Підвищений рівень статичної електрики | Діалект-рична по-верхя ком-п’ютера, джерела живлення | Ураження струмом | Е≤20 кВ/м | [13] |
5.Підвищена або знижена темпе-ратура повітря | Підвищена: недолік провітрюва-ності примі-щення, від-сутність кондиціоне-рів; Знижена: погана опа-люваність приміщення | Порушення терморегуля-ції організму | t=22..24C | [14] |
6. Підвищений рівень шуму на робочому місці | Друкарська техніка,вен-тиляція, ос-вітлюваль-ний прилад | Загальна втома орга-нізму | L≤50 дБА | [15] |
7.Недолік при-роднього освіт-лення | Невірне розташу-вання моні-тору, вікон-них прорізів | Стомлення зорового аналізатору | КПО не нижче 1,5% | [12] |
8.Підвищена яскравість світла | Невірне розташу-вання моні-тору | Стомлення зорового аналізатору | В=100 кд/м2 | [11] |
9.Знижена контрасність | Якість монітору | Стомлення зорового аналізатору | = 0,9% В0 – яскравість об’єкту, Вф – яскравість фону | [11] |
10.Підвищене значення напруги в електричному ланцюгу | Електрична,апаратура | Ураження електричним струмом | I=0,6 мА | [18] |
11. Підвищена пульсація світ-лового потоку | Лампи ден-ного світла, монітор ЕОМ | Стомлення зору | Кп=5% | [11] |
12. Виробничий пил | Статична електрика, накопичена на поверхні комп’ютера | Подразнення слизової оболонки | ПДК=4мг/м3 | [14] |
13. Статична напруга | Постійна поза сидін-ня | М’язова вто-ма | Зниження стати-чної витривалості на 40% | [11] |
14.Розумова перенапруга | Труднощі виробничо-го завдання | Загальне фі-зичне стом-лення, зни-ження праце-здатності | Зниження витри-валості до вихід-ного 40-50% | [11] |
15. Перенапруга зорових аналі-заторів | Монітор ЕОМ | Загальне фі-зичне стом-лення | Подовження часу реакції на світло та звук 40-50% | [11] |
6.4 Виробнича санітарія
Працівники обчислювального центра піддаються впливові шкідливих і небезпечних факторів виробничого середовища, електромагнітних полів, статичної електрики, шумів .
Оператори зазнають психоемоційної напруги.
6.4.1 Метереологічні умови
Метеорологічні умови на виробництві або мікроклімат визначають наступні параметри: температура (C), рухливість (м/с), відносна вологість повітря (%) і інтенсивність теплового випромінювання.
З урахуванням параметрів мікроклімату метеоумови в приміщенні поділяються на оптимальні та допустимі.
У відповіді до ГОСТ 12.1.005–88 [14] встановлюються оптимальні умови, при виборі яких враховується пора року та категорія роботи.
За затратами енергії розробка програмного продукту є легкою фізичною роботою (сидяча робота, не потребує фізичного напруження) – категорія 1а.
Але дипломна робота характеризується напруженою розумовою працею. Тому обрані оптимальні параметри мікроклімату, що наведені у таблиці 6.2.
Таблиця 6.2 – Оптимальні праметри мікроклімату
Категорія роботи по енергозатратам | Пора року | Температура повітря, С | Відносна вологість повітря,% | Швидкість руху повітря, м/с |
легка 1а | Холодна | 22-24 | 40-60 | 0,1 |
Тепла | 23-25 |
Приміщення обладнане системами централізованого опалення (загальне парове), кондиціювання повітря та штучною припливно-витяжною вентиляцією відповідно до СНиП 2.04.05-91 [17].
6.4.2 Забезпечення виробничого освітлення
При освітленні виробничих приміщень використовується природне освітлення, створюване світлом неба (пряме та відбите) , штучне, здійснюване електричними лампами, та комбіноване.
Природне освітлення підрозділяють на бічне, верхнє, комбіноване.
В приміщенні використовується бічне природне освітлення, що здійснюється крізь бічні вікна. Воно повинне забезпечувати коефіцієнт природної освітленності (КПО) не нижче 1,5% [12].
Нормовані значення КПО для будинків, розташованих у IV поясі світлового клімату визначаються за формулою:
(6.1)
де – значення КПО для III поясу світлового клімату складає 1,5%,
m – коефіцієнт світлового клімату (для міста Харкова m=0,9%),
c – коефіцієнт сонячності клімату (с=1).
=1,5*0,9*1=1,35%
Загальне освітлення повинно бути рівномірним.
Штучне освітлення приміщення з робочими місцями, обладнаними відеотерміналами ЕОМ загального та персонального користування, має бути обладнане системою загального рівномірного освітлення. Даний вид штучного освітлення і використовується на моєму робочому місці.
Дані по нормах освітлення для створення умов нормальної роботи середньої точності містяться у таблиці 6.3.
Таблиця 6.3 – Характеристика виробничого освітлення
Точність зорової роботи | Міні-маль-ний розмір об’єк-ту | Розряд зорової роботи | Під-роз-ряд зоро-вої праці | Кон-раст об’єк-ту фо-ну | Харак-терис-тика фону | Нормоване значення освітлення | |||||||||
Природ-не | Штучне | ||||||||||||||
,% |
,% | Lmin, лк | Тип ламп | ||||||||||||
Середня точність | 0,5..1 | IV | В | Се-ред-ній | Серед-ня | 1,5 | 1,35 | 500 | Га-зо-роз-ряд-ні |
Комфортні умови зорової роботи забезпечуються.
Загальне освітлення має бути виконане у вигляді суцільних або переривчатих ліній світильників, що розміщуються збоку від робочих місць (переважно зліва) паралельно лінії зору працівників. Допускається застосувати світильники таких класів світлорозподілу:
- світильники прямого світла - П;
- переважно прямого світла - Н;
- переважно відбитого світла - В.
При розташуванні відеотерміналів ЕОМ за периметром приміщення лінії світильників штучного освітлення повинні розміщуватися локально над робочими місцями.
Для загального освітлення необхідно застосовувати світильники із розсіювачами та дзеркальними екранними сітками або віддзеркалювачами, укомплектовані високочастотними пускорегулювальними апаратами (ВЧ ПРА). Допускається застосовувати світильники без ВЧ ПРА тільки при використанні моделі з технічною назвою "Кососвіт". Застосування світильників без розсіювачів та екранних сіток забороняється.
Як джерело світла при штучному освітленні повинні застосовуватися, як правило, люмінесцентні лампи типу ЛБ. При обладнанні відбивного освітлення у виробничих та адміністративно-громадських приміщеннях можуть застосовуватися метало галогенові лампи потужністю до 250 Вт. Допускається у світильниках місцевого освітлення застосовувати лампи розжарювання.
Яскравість світильників загального освітлення в зоні кутів промінювання від 50 до 90 відносно вертикалі в подовжній і поперечній площинах повинна складати не більше 200кд/м2 , а захисний кут світильників повинен бути не більшим за 40.
Коефіцієнт запасу (Кз) відповідно до СНиП 11-4-79 [12] для освітлювальної установки загального освітлення слід приймати рівним 1.4.
Коефіцієнт пульсації повинен не перевищувати 5% і забезпечуватися застосуванням газорозрядних ламп у світильниках загального і місцевого освітлення. При відсутності світильників з ВЧ ПРА лампи багатолампових світильників або розташовані поруч світильники загального освітлення необхідно підключати до різних фаз трифазної мережі.
Рівень освітленості на робочому столі в зоні розташування документів має бути в межах 300-500 лк. У разі неможливості забезпечити даний рівень освітленості забезпечити даний рівень освітленості системою загального освітлення допускається застосування світильників місцевого освітлення, але при цьому не повинно бути відблисків на поверхні та збільшення освітленості екрану більше ніж 300 лк.
Світильники місцевого освітлення повинні мати напівпрозорий відбивач світла з захисним кутом не меншим за 40 .
Необхідно передбачити обмеження прямої блискості від джерела природного та штучного освітлення, при цьому яскравість поверхонь, що світяться (вікна, джерела штучного світла) і перебувають у полі зору, повинна бути не більшою за 200 кд/м2.
Необхідно обмежувати відбиту блискість шляхом правильного вибору типів світильників та розміщенням робочих місць відносно джерел природного та штучного освітлення. При цьому яскравість відблисків на екрані відеотермінала на повинна перевищувати 40 кд/м2, яскравість стелі при застосуванні системи відбивного освітлення не повинна перевищувати 200 кд/м2.
Необхідно передбачити нерівномірність розподілу яскравості в полі зору осіб, що працюють з відеотерміналом, при цьому відношення значень яскравості робочих поверхонь не повинно перевищувати 3:1, а робочих поверхонь і навколишніх предметів (стіни, обладнання) - 5:1.
Необхідно використовувати систему вимикачів, що дозволяє регулювати інтенсивність штучного освітлення залежно від інтенсивності природного, а також дозволяє освітлювати тільки потрібні для роботи зони приміщення.
Для забезпечення нормованих значень освітлення в приміщеннях з відеотерміналами ЕОМ загально та персонального користування необхідно очищати віконне скло та світильники не рідше ніж 2 рази на рік, та своєчасно проводити заміну ламп, що перегоріли.
Виробничі приміщення, в яких розташовані ЕОМ, не повинні межувати з приміщеннями, де рівні шуму та вібрації перевищують норму (механічні цехи, майстерні тощо).
6.4.3 Шум
У приміщеннях з ЕОМ рівні звукового тиску, рівні звуку та еквівалентні рівні звуку на робочих місцях повинні відповідати вимогам ГОСТ 12.1.003-83 ССБТ [15] ”Шум. Общие требования безопасности", СН 3223-85 "Санітарні норми допустимих рівнів шуму на робочих місцях з урахуванням напруженості та тяжкості праці", затверджених Міністерством охорони здоров'я України. Рівні шуму на робочих місцях осіб, що працюють з відеотерміналами та ЕОМ, визначені ДСанПІН 3.3.2-007-98[19]
Для забезпечення нормативних рівнів шуму у виробничих приміщеннях та на робочих місцях застосовуються шумопоглинальні засоби, вибір яких обґрунтовується спеціальними інженерно-акустичними розрахунками.
Як засоби шумопоглинання повинні застосовуватися негорючі або важкогорючі спеціальні перфоровані плити, панелі, мінеральна вата з максимальним коефіцієнтом звукопоглинання в межах частот 31.-8000 Гц, або інші матеріали аналогічного призначення, дозволені для оздоблення приміщень органами державного санітарно-епідеміологічного нагляду. Крім того, необхідно застосовувати підвісні стелі з аналогічними властивостями.
6.4.4 Випромінювання вiд екрана
ВДТ генерує декілька типів випромінювання, у тому числі: гамма тормозне, рентгенівське, радіочастотне, мікроволнове, видиме, ультрафіолетове й інфрачервоне випромінювання. Рівні цих випромінювань не перевищують діючих норм.
Вимоги щодо допустимих значень неіонізуючого електромагнітного випромінювання:
– напруженість електромагнітного поляна відстані 50 см. Навкруги ВДТ за електричною складовою не повинна перевищувати:
у діапазоні частот 5 Гц - 2 кГц – 25 В/м,
у діапазоні частот 2 кГц - 400 кГц – 2,5 В/м,
– щільність магнітного потоку не повинна перевищувати:
у діапазоні частот 5 Гц - 2 кГц – 250 нТл,
у діапазоні частот 2 кГц - 400 кГц – 25 нТл,
– поверхневий електростатичний потенціал не повинен перевищувати 500 В.
Конструктивне рішення екрана дисплея таке, що рентгенівське випромінювання від екрана на відстані 10 см не перевищує 100 мкР/г [19].
У помешканнях із дисплеями необхідно контролювати аероіонізацію. У таблиці 6.4 наведені рівні іонізації повітря робочої зони обчислювального центру (ОЦ).
Таблиця 6.4 - Рівні іонізації повітря робочої зони ОЦ
Рівні | Кількість іонів в 1 см повітря | |
n+ | n- | |
Мінімально необхідні | 400 | 600 |
Оптимальні | 1500-3000 | 3000-5000 |
Максимально допустимі | 50000 | 50000 |
Варто враховувати, що м'яке рентгенівське випромінювання, що виникає при напрузі на аноді 20-22 кВ, а також напруга на струмоведучих ділянках схеми викликає іонізацію повітря з утворенням позитивних іонів, що вважаються несприятливими для людини.
6.5 Техніка безпеки
Тому що лабораторія, де знаходяться ЕОМ, не є помешканням із підвищеним утриманням механічних, теплових або радіаційних небезпек, але є споживачем електричної енергії (трифазна мережа перемінного струму напругою 220 В та частотою 50 Гц), то в даному помешканні є небезпека поразки людини електричним струмом. Тому при розгляді питань техніки безпеки обмежимося розглядом електробезпеки.
Передбачено такі міри електробезпеки:
– конструктивні заходи електробезпеки;
– схемно-конструктивні заходи електробезпеки;
– експлуатаційні заходи електробезпеки.
Конструктивні заходи безпеки спрямовані на запобігання можливості дотику людини до струмоведучих частин.
Для усунення можливості дотику оператора до струмоведучих частин, усі рубильники встановлені в закритих корпусах, усі струмоведучі частини поміщені в захисний корпус або мають захисний прошарок ізоляції, що виключає можливість дотику до них, застосовується блоковий монтаж. Живлячий електричний ланцюг має ізоляцію, виконану відповідно до ГОСТ 14254-80 [20]. Ступінь захисту устаткування відповідає IР44
(де 4 захист від твердих тіл розміром більш 1 мм; 4 – захист від бризок) відповідно до ПУЭ-87 [7].
Відповідно до ГОСТ 12.2.007.0-75* [21] приймаємо I клас захисту від поразки електричним струмом обслуговуючого персоналу тому, що комп'ютер має робочу ізоляцію й елементи занулення.
Схемно-конструктивні заходи електробезпеки забезпечують безпеку дотику людини до металевих не струмоведучих частин електричних апаратів при випадковому пробої їхньої ізоляції і виникнення електричного потенціалу на них.
Живлення здійснюється від трьох провідної мережі: фазовий дріт, нульовий робочий дріт, нульовий захисний дріт.
Тому що напруга менше 1000 В, але більше 42 В, то відповідно до ГОСТ 12.1.030-81* [22] із метою захисту від поразки електричним струмом застосовуємо занулення, тому що лабораторія є помешканням із підвищеною небезпекою поразки людини електричним струмом, так як можливий одночасний дотик людини до металоконструкцій будинків і т.п., що мають з’єднання з землею з одного боку, і до металевих корпусів електронного устаткування – з іншого.
Занулення – навмисне електричне з’єднання з нульовим захисним провідником металевих не струмоведучих частин, що можуть виявитися під напругою.
Принцип дії занулення – перетворення пробою на корпус в однофазне коротке замикання з метою викликати великий струм, здатний забезпечити спрацьовування захисту і тим самим автоматично відключити ушкоджену установку від живлячої мережі. Таким захистом є: плавкі запобіжники, що здійснюють захист одночасно від струмів короткого замикання і перевантаження.
З
анулення потребує наявності в мережі нульового дроту, глухого заземлення нейтралі джерела струму і повторного заземлення нульового дроту (рис. 6.1).
Рис. 6.1. Принципова схема занулення
1 - корпус електроустановки;
2 - апарати захисту від струмів КЗ (запобіжники);
Ro - опір заземлення середньої точки обмотки джерела струму;
Rп - опір повторного заземлювача нульового захисного провідника;
Iк - струм короткого замикання;
Iн - частина струму короткого замикання, що протікає через нульовий захисний провідник;
Iз - частина струму короткого замикання, що протікає через землю.
По засобу захисту від поразки електричним струмом проектована система відноситься до I класу відповідно до ГОСТ 12.2.007.0-75* [21].
Призначення елементів занулення:
– призначення нульового захисного провідника – забезпечити необхідне для відключення установки значення струму однофазного короткого замикання шляхом створення для цього струму ланцюга з малим опором;
– призначення заземлення середньої точки – зниження напруги занулених корпусів (а отже, нульового захисного провідника) щодо землі до безпечного значення при замиканні фази на землю;
– призначення повторного заземлення захисного провідника – зниження напруги щодо землі занулених конструкцій у період замикання фази на корпус як при справній схемі занулення, так і у випадку обриву нульового захисного дроту.
Таким чином, занулення здійснює дві захисних дії – швидке автоматичне відключення ушкодженої установки від живлячої мережі і зниження напруги занулених металевих не струмоведучих частин, що виявилися під напругою, щодо землі.
Первинним джерелом живлення ПЕОМ є трьохпровідна мережа: фазовий дріт, нульовий робочий дріт, нульовий захисний дріт. Електроживлення здійснюється від електроустановки (трансформатора) із регульованою напругою під навантаженням. Напруга мережі подається в розподільну шафу.
У помешканні лабораторії прокладена шина повторного захисного заземлення (заземлюєчий провідник) виконана відповідно до ГОСТ 12.1.030‑81* [22], що металево з’єднується з заземленою нейтраллю електроустаткування.
Опір заземлюючого пристрою, до якого приєднана нейтраль, не більш 0,6 Ом. Шина повторного захисного заземлювача доступна для огляду.
Для роботи з пристроями під високою напругою необхідні наступні запобіжні заходи:
– не підключати і не відключати рознімання кабелів при напрузі мережі;
– технічне обслуговування і ремонтні роботи допускається виробляти тільки при виключеному живленні мережі;
– до роботи допускаються особи, які навчені і які мають групи допуску до роботи на машинах відповідно до ПУЭ-87 [7].
6.6 Пожежна безпека
Пожежна безпека – стан об'єкта при якому із установленою ймовірністю виключається можливість виникнення і розвитку пожежі, а також забезпечується захист матеріальних цінностей.
Причинами, що можуть викликати пожежу в розглянутому
помешканні, є:
– несправність електропроводки і приладів;
– коротке замикання електричних ланцюгів;
– перегрів апаратури;
– блискавка.
Помешкання обчислювального центру по пожежній безпеці відноситься до категорії В відповідно до ОНТП-24-86 [6], тому що в обігу знаходяться тверді спалимі речовини і матеріали. Ступінь вогнестійкості будинку – II відповідно до СНиП 2.01.02-85 [8], клас помешкання по пожежній небезпеці П-IIа, відповідно до ПУЭ-87 [7].
Пожежна безпека відповідно до ГОСТ 12.1.004-91 [16] забезпечується системами запобігання пожежі, пожежного захисту, організаційно-технічними заходами.
Система запобігання пожежі:
– контроль і профілактика ізоляції;
– наявність плавких вставок і запобіжників в електронному устаткуванні;
– для захисту від статичної напруги використовується заземлення;
– захист від блискавок будівель і устаткування.
Для даного класу будівель і місцевості із середньою грозовою діяльністю 10 і більш грозових годин у рік, тобто для умов м. Харкова встановлена III категорія захисту від блискавок.
Ступінь захисту відповідному класу помешкання П II-а IР44 для устаткування і IР2Х для світильників.
Система пожежного захисту:
– аварійне відключення і переключення апаратури;
– наявність первинних засобів пожежегасіння, вогнегасників ОП-5, тому що вуглекислота має погану електропровідність, або порошкових вогнегасників;
– система оповіщення, світлова і звукова сигналізація;
– захист легкозаймистих частин устаткування, конструкцій захисними матеріалами;
– використання негорючих матеріалів для акустичної обробки стін і стель;
– у помешканнях, де немає робочого персоналу, встановлена автоматична система пожежного захисту.
Для успішної евакуації персоналу при пожежі розміри дверей робочого помешкання повинні бути наступними: ширина дверей не менше 1,5 м., висота дверей не менше 2,0 м., ширина коридору 1,8 м.; робоче помешкання повинно мати два виходи; відстань від найбільше віддаленого робочого місця не повинне перевищувати 100 м.
Організаційні заходи пожежної профілактики:
– навчання персоналу правилам пожежної безпеки;
– видання необхідних інструкцій і плакатів, плану евакуації персоналу у випадку пожежі.
Будівля обчислювального центру відповідає вимогам пожежної безпеки.
6.7 Охорона навколишнього середовища
При вирішенні технічних задач необхідно приділяти особливу увагу питанню взаємодії виробничої середи з навколишньою природною середою. Результат хозяйственної діяльності людини сказується вже не тільки в локальному, але й у регіональному, а у ряді випадків і глобальному масштабах. Охорона навколишнього середовища становиться важливою соціальною та економічною проблемою.
На порозі ІІІ тисячоліття людство знаходиться з досить суперечливим надбанням. З одного боку-бурхливі темпи загальнолюдського прогресу, а з другого-його негативні наслідки прямо протилежної спрямованості. Останні проявляються, насамперед, у надмірному забрудненні навколишнього середовища й інтенсивній його деградації.
В законі Украйни про охорону навколишнього середовища регламентується «Законом про охорону навколишнього природного середовища, 1991р. При виконанні дипломної роботи утворюються тверді побутові відходи (папір, канцелярські вироби та інші), а також комп’ютерні та інші види організаційної техніки, яка відпрацювала свій термін. Вони повинні утилізовуватися на полігонах твердих побутових відходів з максимальним використанням в якості вторинних ресурсів.
6.8 Висновок
Дотримання наведених в таблицях 6.1, 6.2, 6.3 нормативних значень параметрів шкідливих та небезпечних факторів, оптимальних параметрів мікроклімату, норм освітлення дозволить забезпечити безпечні умови праці користувача ЕОМ.
СПИСОК ДЖЕРЕЛ ІНФОРМАЦІЇ
-
Datasheet ATMega8515 www.atmel.com.
-
Техническое описание стенда EV8031.
-
М.Е. Фленов, Библія програміста (Delphi), Москва, 2008, 349с.
-
Стив Тейксейра, Ксавье Пачеко, Borland Delphi 6. Руководство разработчика, Питер, 2008, 1120с.
-
Парижский С.М., Delphi. Только практика, Питер, 2008, 208 с.
-
ОНТП-24-86, МВД СССР. "Общесоюзные нормы технологического проектирования. Определение категорий зданий и сооружений по взрывопожарной и пожарной опасности. " - М.: 1986.
-
ПУЭ-87 . Правила установки электроустройств. М.:Энергоатомиздат 1987г.
-
СНиП 2.01.02-85. " Строительные нормы и правила. Противопожарные нормы проектирования зданий и сооружений" -М.:Стройиздат.,1986 р.
-
12.0.003–74* “ССБТ. Опасные и вредные производственные факторы. Классификация.” 1978 (с 01.01.76). Переиздание (сентябрь 1999 г.) с Изменением № 1, утвержденным в октябре 1978 г. (ИУС 11-78).
-
СН 2152-80 "Санітарно-гігієнічні норми допустимих рівнів іонізації повітря виробничих та громадських приміщень"
-
ДНАОП 0.00 – 1.31 – 99. Правила охорони праці під час експлуатації електронно-обчислювальних машин.
-
СНиП 11-4-79 " Строительные нормы и правила. Естественное и искусственное освещение"-М.:Стройиздат.,1980 р.
-
ГОСТ 12.1.045 "ССБТ. Электростатические поля. Допустимые уровни на рабочих местах и требования к проведению контроля"
-
ГОСТ 12.1.005-88 "ССБТ Общие санитарно-гигиенические требования к воздуху рабочей зоны"-Введ. 01.01.89.
-
ГОСТ 12.1.003-83 "ССБТ Шум. Общие требования безопасности"-Введ. 01.07.84.
-
ГОСТ 12.1.004-91." ССБТ. Пожарная безопасность. Общие требования". ‑Введ. 01.07.92.
-
СНиП 2.04.05-91 " Строительные нормы и правила. Отопление, вентиляция и кондиционирование воздуха"-М.:Стройиздат.,1987 р.
-
ГОСТ 12.1.038-82 "ССБТ Электробезопасность. Предельно-допустимые уровни напряжения прикосновения и токов". -Введ. 01.07.83.
-
ДСанПіН З.З.2. 007 1998. Державні санітарні правила і норми роботи з візуальними дисплейним терміналами електронно-обчислювальних машин.
-
ГОСТ 14254-80. Электрооборудование напряжением до 1000 В. Оболочки. Степени защиты. ‑Введ. 01.01.81.
-
ГОСТ 12.2.007.0-75*. ССБТ. Изделия электротехнические. Общие требования безопасности. ‑Введ. 01.01.78.
-
ГОСТ 12.1.030-81*. ССБТ. Электробезопасность. Защитное заземление. Зануление. ‑Введ. 01.07.82.
-
Перерва П.Г. Управление промышленным маркетингом. Харьков, Основа, 1993.
-
Современный маркетинг / под ред. Е.К.Хруцкого. – М.: Прогресс, 1991.
ВИСНОВКИ
У ході виконання научно дослідницької роботи були розглянуті основні технічні характеристики лабораторного стенду EV8031, а також розглянутий лабораторний практикум з курсу мікроконтроллерних систем.
У ході роботи були розглянуті основні характеристики та ресурси мікроконтроллера ATMega8515 та стенду EV8031. Були обчислені його швидкістні характеристики, які необхідні для розробки віртуального вимірювального комплексу.
Було з’ясовано, що дуже складно побудувати такі пристрої як логічний аналізатор та генератор слів на програмній базі мікроконтроллеру. Але отримані характеристики повністю вдовільнили постановлену задачу.
Одночасний доступ двох програм до послідовного поорту неможливий, тому для вирішення задачі було прийнято рішення обь’єднати дві програми у один програмний модуль, але з двома вікнами, для зручності у користуванні.
Побудова інтерфейсу була взята із багатовідомої системи моделювання електронних пристроїв Electronic Workbench, де є аналогічні віртуальні пристрої.
У результаті тестування створеного програмного забеспечення, були отримані вдовільні показники. Як було зазначено вище, використання таймеру не призводить до великоі похибки при вимірюванні на швидкості вхідної послідовності 50Гц.
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”
Кафедра: “Обчислювальна техніка та програмування”
“ЗАТВЕРДЖУЮ”
Завідуючий кафедрою ОТП
__________ /xxxx.А./
"___" __________ 2009р.
ВІРТУАЛЬНИЙ ВИМІРЮВАЛЬНИЙ КОМПЛЕКС НА БАЗІ УЧБОВОГО ЛАБОРАТОРНОГО СТЕНДУ EV8031
Текст програми
ЛИСТ ЗАТВЕРДЖЕННЯ
xxxx.03077-01 12 01-1-ЛЗ
РОЗРОБНИКИ Керівник проекту _____________/xxx./ “_____”_________2009р. Виконавець Студент групи x /xxxxxx./ “_____”____________2009р. |
Харків 2009
ЗАТВЕРДЖЕНО
xxx.03077-01 12 01-1-ЛЗ
ВІРТУАЛЬНИЙ ВИМІРЮВАЛЬНИЙ КОМПЛЕКС НА БАЗІ УЧБОВОГО ЛАБОРАТОРНОГО СТЕНДУ EV8031
Текст програми
xxxxx.03077-01 12 01-1
Аркушів _48_
Харків 2009
ЗМІСТ
1 ТЕКСТ ПРОГРАМНОГО ЗАБЕСПЕЧЕННЯ ПК
1.1 Текст програмного модуля логічного аналізатора, Unit1.pas
2 Тексти програмного модуля генератора слів, Unit2.pas
3 Текст програмного модуля головного вікна ВВК, , Unit3.pas
2 ТЕКСТ ПРОГРАМНОГО ЗАБЕСПЕЧЕННЯ МК
2.1 Текст програмного забеспечення ВВК мікроконтроллера, main.asm
1 ТЕКСТ ПРОГРАМНОГО ЗАБЕСПЕЧЕННЯ ПК
1.1 Текст програмного модуля логічного аналізатора, Unit1.pas
Ім’я данного файлу : Unit1.pas
Функціональне призначення : програмне забеспечення ПК, модуль логічного аналізатора
Файл створений для дипломного проекта захисту кваліфікації фахівця
За фахом : Системне програмування;
Тема проекту : Віртуальний вимірювальний комплекс на базі учбового лабораторного стенду;
Керівник : М.В. Скородєлов, викладач кафедри ОТП;
Розробник : О.О. Ісмаілов, студент групи КІТ-23а;
Рік розробки : 2009.
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, StdCtrls, ComCtrls, Buttons, ComDrv32, SerialNG, Mask, Math;
type TForm1 = class(TForm)
Chart1: TChart;
Series1: TLineSeries;
Series2: TLineSeries;
Series3: TLineSeries;
Series4: TLineSeries;
Series5: TLineSeries;
Series6: TLineSeries;
Series7: TLineSeries;
Series8: TLineSeries;
ColorBox1: TColorBox;
ColorBox2: TColorBox;
ColorBox3: TColorBox;
ColorBox4: TColorBox;
ColorBox5: TColorBox;
ColorBox6: TColorBox;
ColorBox7: TColorBox;
ColorBox8: TColorBox;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
StaticText5: TStaticText;
StaticText6: TStaticText;
StaticText7: TStaticText;
StaticText8: TStaticText;
ScrollBar1: TScrollBar;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
StaticText9: TStaticText;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
BitBtn1: TBitBtn;
SerialPortNG1: TSerialPortNG;
TrackBar1: TTrackBar;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
MaskEdit1: TMaskEdit;
Label3: TLabel;
Label4: TLabel;
MaskEdit2: TMaskEdit;
Label5: TLabel;
procedure FormCreate(Sender: TObject);
procedure ScrollChange(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure SpeedButton1Click(
Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure SerialPortNG1RxClusterEvent(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure MaskEdit2Change(Sender: TObject);
private
{ Private declarations }
scale:word;
dwError:dword;
pName:PWideChar;
flag:byte;
function StrToIntM(str:string):dword;
public
{ Public declarations }
end;
TArrBuf512 = array[0..511] of byte;
Var Form1: TForm1;
implementation
uses SerialNGBasic;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
i:word;
s:string;
begin
SerialPortNG1.Active := True;
scale := 500;
ScrollBar1.Visible := False;
Chart1.BottomAxis.Minimum := 0;
Chart1.BottomAxis.Maximum := scale;
Series1.Clear;
Series2.Clear;
Series3.Clear;
Series4.Clear;
Series5.Clear;
Series6.Clear;
Series7.Clear;
Series8.Clear;
for i := 0 to 500 do
begin
Series1.AddXY(i, ((i mod 1)*0.5)+0.25, '', ColorBox1.Selected);
Series2.AddXY(i, ((i mod 2)*0.5)+1.25, '', ColorBox2.Selected);
Series3.AddXY(i, ((i mod 2)*0.5)+2.25, '', ColorBox3.Selected);
Series4.AddXY(i, ((i mod 2)*0.5)+3.25, '', ColorBox4.Selected);
Series5.AddXY(i, ((i mod 2)*0.5)+4.25, '', ColorBox5.Selected);
Series6.AddXY(i, ((i mod 2)*0.5)+5.25, '', ColorBox6.Selected);
Series7.AddXY(i, ((i mod 2)*0.5)+6.25, '', ColorBox7.Selected);
Series8.AddXY(i, ((i mod 2)*0.5)+7.25, '', ColorBox8.Selected);
end;
end;
procedure TForm1.ScrollChange(Sender: TObject);
begin
Chart1.BottomAxis.Minimum := ScrollBar1.Position;
Chart1.BottomAxis.Maximum := ScrollBar1.Position + scale;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if (scale < 500) then
scale := scale + 10;
if (scale = 500) then
ScrollBar1.Visible := False
else
ScrollBar1.Visible := True;
ScrollBar1.Max := 500 - scale;
if (ScrollBar1.Position > (500 - scale)) then
ScrollBar1.Position := (500 - scale);
Chart1.BottomAxis.Minimum := ScrollBar1.Position;
Chart1.BottomAxis.Maximum := ScrollBar1.Position + scale;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if (scale > 0) then
scale := scale - 10;
if (scale = 500) then
ScrollBar1.Visible := False
else
ScrollBar1.Visible := True;
ScrollBar1.Max := 500 - scale;
Chart1.BottomAxis.Minimum := ScrollBar1.Position;
Chart1.BottomAxis.Maximum := ScrollBar1.Position + scale;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SerialPortNG1.Active := False;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
s:string;
begin
if (ComboBox2.ItemIndex <> -1) and (ComboBox1.ItemIndex <> -1) then
begin
s := ' ';
s[1] := char($FF);
s[2] := char($AA);
s[3] := char($3A);
s[4] := char((((ComboBox1.ItemIndex shl 1) or byte(RadioButton2.Checked))or (ComboBox2.ItemIndex shl 5)));
SerialPortNG1.SendString(s);
flag := 1;
end
else
MessageBox(0, 'Необходимо указать номер пускового канала и выбрать тактовый генератор!', 'Ошибка', MB_OK or MB_ICONINFORMATION);
end;
procedure TForm1.SerialPortNG1RxClusterEvent(
Sender: TObject);
var
i:integer;
n:integer;
p:^TArrBuf512;
size:integer;
error:DWord;
begin
n := SerialPortNG1.NextClusterSize;
if n >= 0 then
begin
p := SerialPortNG1.ReadNextCluster(size, error);
if (flag=1) then
begin
Series1.Clear;
Series2.Clear;
Series3.Clear;
Series4.Clear;
Series5.Clear;
Series6.Clear;
Series7.Clear;
Series8.Clear;
for i := 0 to n do
begin
Series8.AddXY(i, -(((p^[i] shr 7) and 1)*0.5)+7.75, '', ColorBox8.Selected);
Series7.AddXY(i, -(((p^[i] shr 6) and 1)*0.5)+6.75, '', ColorBox7.Selected);
Series6.AddXY(i, -(((p^[i] shr 5) and 1)*0.5)+5.75, '', ColorBox6.Selected);
Series5.AddXY(i, -(((p^[i] shr 4) and 1)*0.5)+4.75, '', ColorBox5.Selected);
Series4.AddXY(i, -(((p^[i] shr 3) and 1)*0.5)+3.75, '', ColorBox4.Selected);
Series3.AddXY(i, -(((p^[i] shr 2) and 1)*0.5)+2.75, '', ColorBox3.Selected);
Series2.AddXY(i, -(((p^[i] shr 1) and 1)*0.5)+1.75, '', ColorBox2.Selected);
Series1.AddXY(i, -(( p^[i] and 1)*0.5)+0.75, '', ColorBox1.Selected);
end;
flag := 0;
end;
end;
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
Edit1.Text := IntToStr(TrackBar1.Position);
end;
procedure TForm1.ComboBox2Change(Sender: TObject);
begin
if ComboBox2.ItemIndex = 7 then
begin
MaskEdit1.Visible := true;
Label3.Visible := true;
MaskEdit1.Text := '';
end
else
begin
MaskEdit1.Visible := False;
Label3.Visible := false;
end;
end;
procedure TForm1.MaskEdit2Change(Sender: TObject);
begin
if MaskEdit2.Text <> '' then
if StrToIntM(MaskEdit2.Text) > 65535 then
MaskEdit2.Text := '65535';
end;
function TForm1.StrToIntM(str:string):dword;
var
i,num:integer;
begin
num := 0;
if (length(str) > 0) and (length(str) < 6) then
for i := length(str) downto 1 do
if ((str[i] >= '0')and(str[i] <= '9')) then
begin
num := num +
(byte(str[i])-byte('0'))*
Round(Power(10,length(str)-i));
end;
StrToIntM := num;
end;
end.
2 Тексти програмного модуля генератора слів, Unit2.pas
Ім’я данного файлу : Unit2.pas
Функціональне призначення : програмне забеспечення ПК, модуль генератора слів
Файл створений для дипломного проекта захисту кваліфікації фахівця
За фахом : Системне програмування;
Тема проекту : Віртуальний вимірювальний комплекс на базі учбового лабораторного стенду;
Керівник : М.В. Скородєлов, викладач кафедри ОТП;
Розробник : О.О. Ісмаілов, студент групи КІТ-23а;
Рік розробки : 2009.
unit Unit2;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons, Mask;
type TForm2 = class(TForm)
ListBox1: TListBox;
RadioGroup1: TRadioGroup;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
CheckBox1: TCheckBox;
Label1: TLabel;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
ComboBox1: TComboBox;
Label5: TLabel;
Label6: TLabel;
MaskEdit1: TMaskEdit;
Label2: TLabel;
MaskEdit2: TMaskEdit;
MaskEdit3: TMaskEdit;
Label3: TLabel;
Label4: TLabel;
MaskEdit4: TMaskEdit;
MaskEdit5: TMaskEdit;
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure ListBoxClick(Sender: TObject);
procedure Form2Create(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure MaskEdit1KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit1Change(Sender: TObject);
procedure MaskEdit2KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit2Change(Sender: TObject);
procedure MaskEdit3KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit4KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit4Change(Sender: TObject);
procedure MaskEdit3Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
index:integer;
count:integer;
buf:array[0..1023]of byte;
function StrToHex(str:string):integer;
public
{ Public declarations }
end;
var Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.RadioButton1Click(Sender: TObject);
begin
MaskEdit5.Enabled := false;
Label6.Enabled := false;
ComboBox1.Enabled := true;
Label5.Enabled := true;
end;
procedure TForm2.RadioButton2Click(Sender: TObject);
begin
ComboBox1.Enabled := false;
Label5.Enabled := false;
MaskEdit5.Enabled := true;
Label6.Enabled := true;
end;
procedure TForm2.ListBoxClick(Sender: TObject);
var
s:string;
begin
s:=
ListBox1.Items.ValueFromIndex[ListBox1.ItemIndex];
index := ListBox1.ItemIndex;
MaskEdit1.Text := s[4]+s[5];
end;
procedure TForm2.Form2Create(Sender: TObject);
var
i,j:integer;
s,s1:string;
begin
count := 1024;
index := 0;
ListBox1.Clear;
for i := 0 to count-1 do
begin
s := Format('%x',[i]);
for j := 1 to 3-length(s) do
s1 := s1 + '0';
for j := 1 to length(s) do
s1 := s1 + s[j];
ListBox1.Items.Add(s1+':00');
s1 := '';
buf[i] := 0;
end;
end;
procedure TForm2.CheckBox1Click(Sender: TObject);
begin
if (CheckBox1.Checked = True) then
Form1.Visible := true;
end;
procedure TForm2.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(((Key >= '0') and (Key <= '9')) or
((Key >= 'A') and (Key <= 'F')) or
((Key >= 'a') and (Key <= 'f'))) then
Key := ' ';
if (Key >= 'a') and (Key <= 'f') then
Key := UpCase(Key)
end;
procedure TForm2.MaskEdit1Change(Sender: TObject);
var
s,s1,s2:string;
i:byte;
begin
s1 := '';
s := Format('%x',[index]);
for i := 1 to 3-length(s) do
s1 := s1 + '0';
for i := 1 to length(s) do
s1 := s1 + s[i];
s2 := s1 + ':';
s1 := '';
s := Format('%x',[StrToHex(MaskEdit1.Text)]);
for i := 1 to 2-length(s) do
s1 := s1 + '0';
for i := 1 to length(s) do
s1 := s1 + s[i];
buf[index] := StrToHex(MaskEdit1.Text);
s2 := s2 + s1;
ListBox1.Items.Strings[index] := s2;
end;
procedure TForm2.MaskEdit2KeyPress(Sender: TObject; var Key: Char);
var
i,j:integer;
s,s1:string;
begin
if not((Key >= '0') and (Key <= '9') or
(Key = #13)) then
Key := ' ';
if Key = #13 then
begin
ListBox1.Clear;
for i := 0 to count-1 do
begin
s := Format('%x',[i]);
for j := 1 to 3-length(s) do
s1 := s1 + '0';
for j := 1 to length(s) do
s1 := s1 + s[j];
ListBox1.Items.Add(s1+':00');
s1 := '';
end;
end;
end;
procedure TForm2.MaskEdit2Change(Sender: TObject);
var
i:integer;
s,s1:string;
begin
s1 := '';
s := MaskEdit2.Text;
if s <> '' then
for i := 1 to length(s) do
if s[i] <> ' ' then s1 := s1 + s[i];
if s1 <> '' then
begin
if (StrToInt(s1) > 1024) then
begin
MaskEdit2.Text := '1024';
count := 1024;
end;
count := StrToInt(s1);
end;
end;
function TForm2.StrToHex(str:string):integer;
var
i,num:integer;
begin
num := 0;
if (length(str) > 0) and (length(str) < 5) then
for i := length(str) downto 1 do
begin
if ((str[i] >= '0')and(str[i] <= '9')) then
num := num + (byte(str[i])-byte('0'))shl(4*(length(str)-i));
if ((str[i] >= 'A')and(str[i] <= 'F')) then
num := num + (byte(str[i])-byte('A')+10)shl(4*(length(str)-i));
if ((str[i] >= 'a')and(str[i] <= 'f')) then
num := num + (byte(str[i])-byte('a')+10)shl(4*(length(str)-i));
end;
StrToHex := num;
end;
procedure TForm2.MaskEdit3KeyPress(Sender: TObject; var Key: Char);
begin
if not(((Key >= '0') and (Key <= '9')) or
((Key >= 'A') and (Key <= 'F')) or
((Key >= 'a') and (Key <= 'f'))) then
Key := ' ';
if (Key >= 'a') and (Key <= 'f') then
Key := UpCase(Key);
end;
procedure TForm2.MaskEdit4KeyPress(Sender: TObject; var Key: Char);
begin
if not(((Key >= '0') and (Key <= '9')) or
((Key >= 'A') and (Key <= 'F')) or
((Key >= 'a') and (Key <= 'f'))) then
Key := ' ';
if (Key >= 'a') and (Key <= 'f') then
Key := UpCase(Key);
end;
procedure TForm2.MaskEdit4Change(Sender: TObject);
begin
if MaskEdit4.Text <> '' then
begin
if StrToHex(MaskEdit4.Text) > count-1 then
MaskEdit4.Text := Format('%3x', [count-1]);
if StrToHex(MaskEdit4.Text) < StrToHex(MaskEdit3.Text) then
MaskEdit4.Text := MaskEdit3.Text;
end;
end;
procedure TForm2.MaskEdit3Change(Sender: TObject);
begin
if MaskEdit3.Text <> '' then
begin
if StrToHex(MaskEdit3.Text) > count-1 then
MaskEdit3.Text := Format('%3x', [count-1]);
if StrToHex(MaskEdit4.Text) < StrToHex(MaskEdit3.Text) then
MaskEdit3.Text := MaskEdit4.Text;
end;
end;
procedure TForm2.BitBtn1Click(Sender: TObject);
var
i:integer;
//a:array[1..]
begin
BitBtn1.Enabled := False;
BitBtn2.Enabled := True;
//Form1.SerialPortNG1.SendData();
Form1.SerialPortNG1.SendData(@buf[StrToHex(MaskEdit3.Text)],StrToHex(MaskEdit4.Text)-StrToHex(MaskEdit3.Text));
end;
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
BitBtn1.Enabled := True;
BitBtn2.Enabled := False;
end;
end.
3 Текст програмного модуля головного вікна ВВК, , Unit3.pas
Ім’я данного файлу : Unit3.pas
Функціональне призначення : програмне забеспечення ПК, модуль головного вікна ВВК
Файл створений для дипломного проекта захисту кваліфікації фахівця
За фахом : Системне програмування;
Тема проекту : Віртуальний вимірювальний комплекс на базі учбового лабораторного стенду;
Керівник : М.В. Скородєлов, викладач кафедри ОТП;
Розробник : О.О. Ісмаілов, студент групи КІТ-23а;
Рік розробки : 2009.
unit Unit3;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type TForm3 = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
Label1: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form3: TForm3;
implementation
uses Unit1, Unit2;
{$R *.dfm}
procedure TForm3.BitBtn1Click(Sender: TObject);
begin
Form1.Visible := True;
end;
procedure TForm3.BitBtn2Click(Sender: TObject);
begin
Form2.Visible := true;
end;
end.
2 ТЕКСТ ПРОГРАМНОГО ЗАБЕСПЕЧЕННЯ МК
2.1 Текст програмного забеспечення ВВК мікроконтроллера, main.asm
Ім’я данного файлу : main.asm
Функціональне призначення : програмне забеспечення ПК, модуль логічного аналізатора
Файл створений для дипломного проекта захисту кваліфікації фахівця
За фахом : Системне програмування;
Тема проекту : Віртуальний вимірювальний комплекс на базі учбового лабораторного стенду;
Керівник : М.В. Скородєлов, викладач кафедри ОТП;
Розробник : О.О. Ісмаілов, студент групи КІТ-23а;
Рік розробки : 2009.
#include
.def tmp = r16
.def tmp1 = r17
.def RX_flag = r18
.def RX_Counter = r19
.def RX_Complete = r20
.def command = r21
.def tmp2 = r22
.def tmp3 = r23
.equ UC_REG = 0xC000
.equ RX_Buffer = 0x7C00
.macro USART_TRANSMITT_M
utm_l0:
wdr
sbis UCSRA, UDRE
rjmp utm_l0
out UDR, tmp
.endm
.macro WAIT_PUSK
mov tmp, command
andi tmp, 0b00010000
brne wp_l5
mov tmp, command
andi tmp, 0b00001110
lsr tmp
ldi tmp1, 1
wp_l0:
cpi tmp, 0
breq wp_l1
lsl tmp1
dec tmp
brne wp_l0
wp_l1:
mov tmp, command
andi tmp, 0b00000001
brne wp_l2
wp_l3:
wdr
in tmp2, PINB
and tmp2, tmp1
brne wp_l3
wp_l4:
wdr
in tmp2, PINB
and tmp2, tmp1
breq wp_l4
rjmp wp_l5
wp_l2:
wdr
in tmp2, PINB
and tmp2, tmp1
breq wp_l2
wp_l6:
wdr
in tmp2, PINB
and tmp2, tmp1
brne wp_l6
wp_l5:
.endm
.macro ANALYZE_CLK_6
ac6_l0:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
dec tmp3 // 1 cycle
brne ac6_l0 // 2 cycles or
// 1 cycle
dec tmp3 // 1 cycle
ac6_l1:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
dec tmp3 // 1 cycle
brne ac6_l1 // 2 cycles
dec tmp3
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
.endm
.macro ANALYZE_CLK_8
ac8_l0:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
nop // +2 cyle
nop
dec tmp3 // 1 cycle
brne ac8_l0 // 2 cycles or
// 1 cycle
dec tmp3 // 1 cycle
ac8_l1:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
nop // +2 cyle
nop
dec tmp3 // 1 cycle
brne ac8_l1 // 2 cycles
dec tmp3
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
.endm
.macro ANALYZE_CLK_16
ac16_l0:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
ldi tmp1, 3 // +10 cyle
ac16_l2:
dec tmp1
brne ac16_l2
nop
dec tmp3 // 1 cycle
brne ac16_l0 // 2 cycles or
// 1 cycle
dec tmp3 // 1 cycle
ac16_l1:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
ldi tmp1, 3 // +10 cyle
ac16_l3:
dec tmp1
brne ac16_l3
nop
dec tmp3 // 1 cycle
brne ac16_l1 // 2 cycles
dec tmp3
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
.endm
.macro ANALYZE_CLK_32
ac32_l0:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
ldi tmp1, 8 // +26 cyle
ac32_l2:
dec tmp1
brne ac32_l2
nop
nop
dec tmp3 // 1 cycle
brne ac32_l0 // 2 cycles or
// 1 cycle
dec tmp3 // 1 cycle
ac32_l1:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
ldi tmp1, 8 // +26 cyle
ac32_l3:
dec tmp1
brne ac32_l3
nop
nop
dec tmp3 // 1 cycle
brne ac32_l3 // 2 cycles
dec tmp3
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
.endm
.macro ANALYZE_CLK_64
ac64_l0:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
ldi tmp1, 19 // +58 cyle
ac64_l2:
dec tmp1
brne ac64_l2
nop
dec tmp3 // 1 cycle
brne ac64_l0 // 2 cycles or
// 1 cycle
dec tmp3 // 1 cycle
ac64_l1:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
ldi tmp1, 19 // +58 cyle
ac64_l3:
dec tmp1
brne ac64_l3
nop
dec tmp3 // 1 cycle
brne ac64_l1 // 2 cycles
dec tmp3
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
.endm
.macro ANALYZE_CLK_128
ac128_l0:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
ldi tmp1, 40 // +122 cyle
ac128_l2:
dec tmp1
brne ac128_l2
nop
nop
dec tmp3 // 1 cycle
brne ac128_l0 // 2 cycles or
// 1 cycle
dec tmp3 // 1 cycle
ac128_l1:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
ldi tmp1, 40 // +122 cyle
ac128_l3:
dec tmp1
brne ac128_l3
nop
nop
dec tmp3 // 1 cycle
brne ac128_l1 // 2 cycles
dec tmp3
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
.endm
.macro ANALYZE_CLK_256
ac256_l0:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
ldi tmp1, 83 // +250 cyle
ac256_l2:
dec tmp1
brne ac256_l2
nop
dec tmp3 // 1 cycle
brne ac256_l0 // 2 cycles or
// 1 cycle
dec tmp3 // 1 cycle
ac256_l1:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
ldi tmp1, 83 // +250 cyle
ac256_l3:
dec tmp1
brne ac256_l3
nop
dec tmp3 // 1 cycle
brne ac256_l1 // 2 cycles
dec tmp3
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
.endm
.macro ANALYZE_CLK_VN
acv_l0:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
dec tmp3 // 1 cycle
brne acv_l0 // 2 cycles or
// 1 cycle
dec tmp3 // 1 cycle
acv_l1:
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
dec tmp3 // 1 cycle
brne acv_l1 // 2 cycles
dec tmp3
in tmp, PINB // 1 cycle
st Y+, tmp // 2 cycle
.endm
.org 0
rjmp RESET
nop;rjmp INT0
nop;rjmp INT1
nop;rjmp TIMER1_CAPT
nop;rjmp TIMER1_COMPA
nop;rjmp TIMER1_COMPB
nop;rjmp TIMER1_OVF
rjmp TIMER0_OVF
nop;rjmp SPI_STC
rjmp USART_RXC
nop;rjmp USART_UDRE
nop;rjmp USART_TXC
nop;rjmp ANA_COMP
nop;rjmp INT2
nop;rjmp TIMER0_COMP
nop;rjmp EE_RDY
nop;rjmp SPM_RDY
RESET:
; set stack pointer to top of RAM
ldi tmp, high(RAMEND)
out SPH, tmp
ldi tmp, low(RAMEND)
out SPL, tmp
; enable WDT with 2,1s timeout
ldi tmp, (1< out WDTCR, tmp ; enable external SRAM ldi tmp, (1< out MCUCR, tmp ; enable interrupts sei ; USART init rcall USART_Init // Unmask timer 0 overflov interrupt ldi tmp, (1< out TIMSK, tmp // Stop timer0 ldi tmp, 0b00000000 out TCCR0, tmp clr RX_Flag clr RX_Complete ldi tmp, 0 out DDRB, tmp ldi tmp, 0b11111111 out PORTB, tmp loop: wdr cpi RX_Complete, 1 breq c_l0 rjmp l0 c_l0: // reset RX_Complete clr RX_Complete // mask RXCIE ldi tmp, (1< out UCSRB, tmp // reset RX_Buffer ldi YL, low(RX_Buffer) ldi YH, high(RX_Buffer) ldi tmp3, 0xFF // do command mov tmp, command andi tmp, 0b11100000 lsr tmp lsr tmp lsr tmp lsr tmp lsr tmp cpi tmp, 0 brne dc_l0 WAIT_PUSK ANALYZE_CLK_6 Rjmp dc_end dc_l0: cpi tmp, 1 brne dc_l1 WAIT_PUSK ANALYZE_CLK_8 Rjmp dc_end dc_l1: cpi tmp, 2 brne dc_l2 WAIT_PUSK ANALYZE_CLK_16 Rjmp dc_end dc_l2: cpi tmp, 3 brne dc_l3 WAIT_PUSK ANALYZE_CLK_32 Rjmp dc_end dc_l3: cpi tmp, 4 brne dc_l4 WAIT_PUSK ANALYZE_CLK_64 Rjmp dc_end dc_l4: cpi tmp, 5 brne dc_l5 WAIT_PUSK ANALYZE_CLK_128 Rjmp dc_end dc_l5: cpi tmp, 6 brne dc_l6 WAIT_PUSK ANALYZE_CLK_256 Rjmp dc_end dc_l6: cpi tmp, 7 breq cdc_unk rjmp dc_unk cdc_unk: WAIT_PUSK ANALYZE_CLK_VN dc_end: /* // wait if need befor pusk WAIT_PUSK // analyse and store (6 cycles) // clock time (1/7372800Mhz)*6 = 813,8ns ANALYZE_CLK_6 */ // reset RX_Buffer ldi YL, low(RX_Buffer) ldi YH, high(RX_Buffer) // transmitt data l1: ld tmp, Y+ USART_TRANSMITT_M Dec tmp3 brne l1 dec tmp3 l2: ld tmp, Y+ USART_TRANSMITT_M Dec tmp3 brne l2 ld tmp, Y+ USART_TRANSMITT_M dc_unk: // unmask RXCIE ldi tmp, (1< out UCSRB, tmp l0: rjmp loop //////////////////////////////////////////////////// // USART receive complete ISR USART_RXC: Push tmp in tmp, SREG push tmp // tmp <- RX in tmp, UDR // if (RX_Flag == 1) goto urxc_l0 cpi RX_Flag, 1 breq urxc_l0 // if (RX == AA) cpi tmp, 0xAA brne urxc_end // init timeout ldi tmp, 0b00000101 out TCCR0, tmp clr tmp out TCNT0, tmp // set recive_flag ldi RX_Flag, 1 // reset RX_Buffer ldi YL, low(RX_Buffer) ldi YH, high(RX_Buffer) clr RX_Counter ldi tmp, 0xAA urxc_l0: // push RX to buffer st Y+, tmp inc RX_Counter urxc_end: pop tmp out SREG, tmp pop tmp reti //////////////////////////////////////////////////// // Timer0 overflow ISR TIMER0_OVF: Push tmp Push tmp1 In tmp, SREG push tmp // Stop timer0 ldi tmp, 0b00000000 out TCCR0, tmp // reset RX_Buffer ldi YL, low(RX_Buffer) ldi YH, high(RX_Buffer) cpi RX_Counter, 3 brne t0ovf_l0 ld tmp, Y+ cpi tmp, 0xAA brne t0ovf_l0 ld tmp, Y+ cpi tmp, 0x3A brne t0ovf_l0 ld tmp, Y+ mov command, tmp ldi RX_Complete, 1 //clear buffer ldi YL, low(RX_Buffer) ldi YH, high(RX_Buffer) clr tmp st Y+, tmp st Y+, tmp st Y+, tmp st Y+, tmp st Y+, tmp t0ovf_l0: // clear recive_flag clr RX_Flag pop tmp out SREG, tmp pop tmp1 pop tmp reti //////////////////////////////////////////////////// // USART init routine // uses: tmp, tmp1 USART_Init: Ldi tmp, (1< Out UCSRB, tmp Ldi tmp, (1< Out UCSRC, tmp Ldi tmp, 0 Ldi tmp1, 23 Out UBRRH, tmp Out UBRRL, tmp1 Ldi tmp, 0b00000001 Sts UC_REG, tmp ret //////////////////////////////////////////////////// // USART transmit routine // uses: tmp USART_Transmit: cli ut_l0: wdr sbis UCSRA, UDRE rjmp ut_l0 out UDR, tmp sei ret МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ “ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ” Кафедра: “Обчислювальна техніка та програмування” Завідуючий кафедрою ОТП __________ /xxxx./ "___" __________ 2009р. ВІРТУАЛЬНИЙ ВИМІРЮВАЛЬНИЙ КОМПЛЕКС НА БАЗІ УЧБОВОГО ЛАБОРАТОРНОГО СТЕНДУ EV8031 Опис програми ЛИСТ ЗАТВЕРДЖЕННЯ xxxxx.03077-01 13 01-1-ЛЗ РОЗРОБНИКИ Керівник проекту /xxxxxxxxx./ “_____”____________2009р. Виконавець студент групи xxxxx /xxxx./ “_____”_______________2009р. Харків 2009 ЗАТВЕРДЖЕНО xxx.03077-01 13 01-1-ЛЗ ВІРТУАЛЬНИЙ ВИМІРЮВАЛЬНИЙ КОМПЛЕКС НА БАЗІ УЧБОВОГО ЛАБОРАТОРНОГО СТЕНДУ EV8031 Опис програми xxxx.03077-01 13 01-1 Листів _8_ Харків 2009 АНОТАЦІЯ Даний документ містить у собі опис програми, методів та алгоритмів, що використовуються, опис потреб та особливостей функціонування продукту, розробленого у межах дипломного проектування “віртуального вимірювального комплексу”. Система призначена для тестування різноманітних цифрових пристроїв. ABSTRACT The given document contains the description of programs, methods and algorithms which were used. It describes the requirements and peculiarities of operation of the product developed within the framework of degree projection of a virtual analyze complex. The program implementation of the methods of analysis of self-descriptiveness and diagnostics. ЗМІСТ 1. ЗАГАЛЬНІ ВІДОМОСТІ 1.1 Позначення і найменування програми 1.2 Програмне забезпечення, необхідне для функціонування програми 1.3 Обрана мова програмування 2. ФУНКЦІОНАЛЬНЕ ПРИЗНАЧЕННЯ 2.1 Призначення програми 2.2 Функціональні обмеження 3. ОПИС ЛОГІЧНОЇ СТРУКТУРИ ПРОГРАМИ 3.1 Алгоритм програми 4. ВИКОРИСТАНІ ТЕХНІЧНІ ЗАСОБИ 5. ВИКЛИК І ЗАВАНТАЖЕННЯ 5.1 Виклик програми 5.2 Точки входу в програму 5.3 Використання оперативної пам’яті 6. ВХІДНІ ДАНІ ПРОГРАМИ 7. ВИХІДНІ ДАНІ ПРОГРАМИ Програмний продукт має найменування „Віртуальний вимірювальний пристрій ”. Відповідно головний завантажувальний модуль системи має назву “BBK.exe”(складається с перших букв слів імені продукту), головний модуль також підключає додаткові функціональні модулі, які виконують окремі функції. Це такі модулі: Модуль, який предоставляє користувачу вибір необхідних віртуальних пристроїв; Модуль, який предоставляє інтерфейс користувача логічного аналізатора; Модуль який предоставляє інтерфейс генератора слів. Для функціонування програми необхідні: операційна система Windows2000/XP. При виборі комп’ютерної техніки доцільно використовувати IBM-сумісні системи через їхнє велике поширення і доступність. На комп’ютерах цієї серії найбільш поширені операційні системи Microsoft Windows NT/2000/XP. Тому реалізація програми була здійсннена для операційних систем Microsoft Windows 2000/XP на IBM-сумісних комп’ютерах. Існує досить багато сучасних середовищ і мов програмування. При обиранні мови програмування були розглянуті декіка важливих факторів, які повинні як найбільше відповідати висунутим до продукту вимогам. Вимоги до програмного продукту: зручний інтерфейс з користувачем; простота використання, не вимагаючи спеціального навчання користувача; наочність вихідних даних; обробка великих структур даних; вимоги до середовища розробки; простота програмування; великий набір компонентів; зручний інтерфейс середовища; можливість створення зручного інтерфейсу; невисокі вимоги до обладнання; простота налагодження програм. Враховуючи всі вищенаведені вимоги к мовам програмування, було прийнято рішення для створення системи використовувати наступні мови програмування: програмне забеспечення ПК – Delphi 7; програмне забеспечення МК – AVRStudio; Завантаження пошивки до мікроконтроллеру AVReal32. Програмний продукт призначений для налагодження різноманітних цифрових пристроїв. А також отримання проаналізованих данних тестуємого пристрою(логічний аналізатор), після подачі на нього тестової послідовності(генератор слів). Програмний продукт відповідає поставленим до нього вимогам і у межах обумовлених ними не має функціональних обмежень. Розроблене програмне забезпечення функціонує за наступним загальним алгоритмом: cтворюється головне вікно програми на якому розташовані елементи керування. Програма складається з троьох вікон. Перше вікно дозволяє обирати необхідний віртуальний пристрій. Друге і третє вікно – інтерфейс користувача логічного аналізатора та генератора слів. Обидва вікна очікують налаштовувань пристрою, та оброблюють елементи керування. Елемент керування запуском та зупинненням виконує передачу введених налаштовувань, за допомогою інтерфейса користувача, і передає налаштовування і данні за допомогою COM порту у мікроконтроллер. Після цього програма очікує прийом відповіді. Після прийому відповіді переходить у обробку елементів керування. Для роботи програмного продукту необхідна IBM PC/AT сумісна персональна ЕОМ, наявність процесору Pentium II 433МГц та вище з обсягом оперативної пам’яті 128Мб або більше, наявністю відео адаптеру VGA або SVGA, а також послідовного приємопередавача СОМ порта або RS-232. Необхідний об’єм на жорсткому диску 5 Мб для продукту. При розробці використовувалася ПЕОМ з наступними параметрами: Pentium Tualatin, 512 Мб RIMM ОЗП, жорсткий диск ємністю 80 Гб, відеокарта GeForce2 MX 400 32Мб. Програмне запеспечення ПК інсталляції не потребує, потрібно тільки зробити копію програмного модуля у зручне місце, і завантажувати стандартними засобами операційної системи. Програмне забеспечення мікроконтроллера потребує наявності встановленого пакету внутрішньосистемного програматору AVReal32. Також на момент програмування цільова ситема повинна бути підєднана спеціальним кабелем – програматором, також цільва система повинна бути підключена до блоку живлення(допускається живлення від USB). Програмування починається запуском спеціально підготовленого *.bat файлу.яки містить командну строку із необхідними налаштовуваннями програмування цілевої системи. Файл який містить завантажувальний код має розширення *.hex. Точкою входу до будь-якого з модулів програми є запуск головного модуля „ВВК.ехе”, що здійснює створення головного вікна програми, де є можливість обирати подальші дії. Програмний продукт потребує менше 5 Мб оперативної пам’яті. Вхідними даними програмного забеспечення ПК є налаштовування користувача, і у разі використання логічного аналізатору прийняті по COM порту данні. Вхідними данними програмного забеспечення мікроконтроллера є прийняті команди і у разі режиму генератору слів прийнята послідовність данних по COM порту. Вихідними даними програмного забеспечення ПК є налаштовування користувача, і у разі використання генератору слів передаваємі по COM порту данні. Вихідними данними програмного забеспечення мікроконтроллера є прередаваємі відповіді і у разі режиму логічного аналізатора передаваєма послідовність проаналізованих данних по COM порту. МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ “ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ” Кафедра: “Обчислювальна техніка та програмування” Завідуючий кафедрою ОТП __________ /xxxxxxxx./ "___" __________ 2009р. ВІРТУАЛЬНИЙ ВИМІРЮВАЛЬНИЙ КОМПЛЕКС НА БАЗІ УЧБОВОГО ЛАБОРАТОРНОГО СТЕНДУ EV8031 Керівництво оператора ЛИСТ ЗАТВЕРДЖЕННЯ xxxxx.03077-01 34 01-1-ЛЗ РОЗРОБНИКИ Керівник проекту _ _________ /xxxxx./ “_____”_______________2009р. Виконавець студент групи xx-23а /xxxxxxxx./ “_____”_______________2009р. Харків 2009 ЗАТВЕРДЖЕНО xxxxxxxxxxxxxxxxxxxx ВІРТУАЛЬНИЙ ВИМІРЮВАЛЬНИЙ КОМПЛЕКС НА БАЗІ УЧБОВОГО ЛАБОРАТОРНОГО СТЕНДУ EV8031 Керівництво оператора xxxxxxx.03077-01 34 01-1 Аркушів Харків 2009 АНОТАЦІЯ Документ «Керівництво оператора» містить інформацію для перевірки, забезпечення функціонування й налаштовування системи «Віртуальний вимірювальний комплекс». У даному документі зазначені відомості про програмний продукт, його призначення й умови застосування, характеристика, установка, звернтання до програми. Document «Guidance of operator» contains information for verification, providing of functioning and tuning of the system «Virtual measuring complex». In this document the noted information is about a software product, his setting and terms of application, description, setting, zverntannya to the program. ЗМІСТ 1 ПРИЗНАЧЕННЯ ПРОГРАМНОГО ПАКЕТУ 2 УМОВИ ВИКОНАННЯ 3 ЗАВАНТАЖЕННЯ ПРОЕКТУ 4 ПОВІДОМЛЕННЯ ОПЕРАТОРУ Програмний продукт призначений для налагодження різноманітних цифрових пристроїв. А також отримання проаналізованих данних тестуємого пристрою(логічний аналізатор), після подачі на нього тестової послідовності(генератор слів). Нормальна робота з данним програмним продуктом можлива лише на комп’ютерах IBM PC/AT(чи сумісному з ним) серії не нижче Pentium !!!, з операційною системою Microsoft Windows 2000/XP. Для нормального функціонування програмного продукту необхідна наявність таких характеристик: SVGA відеоадаптер не менше 1024х768х32; Жорсткий диск; Пам’ять(бажано не нижче 128Мб); Маніпулятор типу “миша”; Клавіатура; COM – порт. Щоб завантажити програму, необхідно запустити файл BBK.exe. Після цього перед користувачем з’являється вікно(рис. 3.1) із чотирма кнопками. Дві зних залишені для розширення програмного забеспечення: генератор сигналу вільної форми та осцилограф. А інші дві дозволяють викликати додаткові вікна: логічний аналізатор(рис. 3.2) та генератор слів(рис. 3.3). Рис 3.1 Головне віко віртуального вимірювального пристрою Рис 3.2 Вікно логічного аналізатора Рис 3.3 Вікно генератора слів Інтерфейс складається з трьох вікон. Перше – головне вікно дозволяє відкривати вікна необхідних пристроїв. Вікна працюють як по одинці так і разом у залежності від налагодження. Логічний аналізатор(рис.3.2) має наступні елементи керування: керування кольором кожного з восьми сигналів; змінення масштабу відображеного сигналу; перегляд сигналу за допомогою полоси зсуву; керування типом запуску якщо вибраний запус по каналу; вибір запуску за необхідним каналом, або невикористовувати; вибір глибини передпускової реєстрації; вибір швидкості реєстрації данних з переліку або вільно; запуск аналізатора; останов аналізатора на випадок очікування пуску, який довго не наступає. Генератор слів(рис. 3.3) має наступні елементи керування: керування вводом необхідних послідовностей; керування кількістю необхідних слов; керування діапазоном з якого по який генерувати; керування режимами роботи: циклічна генерація, одноразова, шагова. Пуск генерації, або шаг; Останов генерації у випадку наприклад циклічної генерації; Керування швидкістю генерації з переліку а також вільно; Режим роботи генератора слів та логічного аналізатора у парі. Програма виключає введення невірних даних у поля ввода, таким чином там де очікується ввід шістнадцятирічного числа можливо ввести твльки цифри від 0 до 9 та символи від a до f і, якщо символи вводяться у нижньому регістрі вводу, програма автоматично переводить іх до верхнього регістру. Також блокуються деякі несумісні операції, для того, щоб не дозволити користувачеві виконувати неможливі або невірні дії. Також виконується перевірка на наявність налаштовування обов’язкоаих параметрів, інакше виводиться повідомлення у якому зазначене виконання обов’язкових дій. 1 2 3 33 34 1 2 3 4 34 35 1 2 3 4 5 ні так 6 1 2 3 4 ні так 6 5 7 1 2 ні так 3 4 5 6 7 ні так 8 9 10 11 так ні 12 ні так 13 так ні так ні так ні 1 2 3 4 5 6 7 “ЗАТВЕРДЖУЮ”
1. ЗАГАЛЬНІ ВІДОМОСТІ
1.1 Позначення і найменування програми
1.2 Програмне забезпечення, необхідне для функціонування програми
1.3 Обрана мова програмування
2. ФУНКЦІОНАЛЬНЕ ПРИЗНАЧЕННЯ
2.1 Призначення програми
2.2 Функціональні обмеження
3. ОПИС ЛОГІЧНОЇ СТРУКТУРИ ПРОГРАМИ
3.1 Алгоритм програми
4. ВИКОРИСТАНІ ТЕХНІЧНІ ЗАСОБИ
5. ВИКЛИК І ЗАВАНТАЖЕННЯ
5.1 Виклик програми
5.2 Точки входу в програму
5.3 Використання оперативної пам’яті
6. ВХІДНІ ДАНІ ПРОГРАМИ
7. ВИХІДНІ ДАНІ ПРОГРАМИ
“ЗАТВЕРДЖУЮ”
ABSTRACT
1 ПРИЗНАЧЕННЯ ПРОГРАМНОГО ПАКЕТУ
2 УМОВИ ВИКОНАННЯ
3 ЗАВАНТАЖЕННЯ ПРОЕКТУ
4 ПОВІДОМЛЕННЯ ОПЕРАТОРУ
так
ні
так
ні
так
ні
так
7
8
9
10
11
12
13
14
15