Дипломная работа: Прилад прийому та обробки метеорологічних даних
номер модуля конвертується у бітову послідовність;
за допомогою одиничного екземпляра класа Transmitter, метод sendBytes відбувається відправка бітової послідовності на порт, при цьому передані дані потрапляють у поток, що був проініційований раніше, який відповідає за передачу даних на порт;
після цього встановлюється пограмна затримка (що за умовчанням дорівнює 10 мілісекундам та може бути змінена користувачем під час роботи програми);
опрошується вхідний буфер порта, якщо значення не змінилося – викликається помилка „даний модуль не дає відповіді” у цьому випадку модуль може бути опитаний повторно. Якщо вхідний буфер не дорівнює константі довжини вхідного буфера, викликається помилка „помилка при отримані відповіді”, якщо помилок немає – робимо аналіз прийнятого пакету;
у вказаного об’єкта-модуля утворюється ініціюється поле weatherData, при цьому робиться перевірка переданого та прийнятого номерів модуля, якщо номери не співпадають, генерується помилка: „неспівпадіння номерів модуля”, робити аналіз прийнятих даних немає сенсу;
робиться перекодування прийнятої бітової послідовності у цілі числа та перевірка контрольної суми, якщо прийнята та щойно прорахована контрольні суми не співпадають – генерується помилка „помилка контрольної суми”;
за алгоритмами, що описані у методах класу WeatherData робиться перерахунок прийнятої перекодованої інформації з бітової послідовності у реальні показники;
на інформаційній панелі відображується отриманий результат.
в) Користувач натискає кнопку „опитати всі модулі”. Викликається метод askAllModules(). При цьому відбувається наступний порядок дій:
- циклічно опитується кожний модуль, за алгоритмом, наведаним у пункті “б”;
- якщо при опиті модуля виникають певні помилки – накопичуються у буфер, модуль набуває признак „недійсний”;
- відображується інформація про всі модулі з признаком „дійсний”;
- відображується інформація про помилки, що виникли під час опиту усіх модулей з указаням номеру модуля та тексту помилки.
2. Технічно-функціональні аспекти програми
2.1 Використані технічні та програмні засоби
Для розробки даної програми була використана інтегрована середа розробки (IDE –Integrated development environment ) Borland Jbuilder Х.
Версія java-машини: 1.4.2_01-b06.
Програма була розроблена та протестована на IBM-сумісному комп’ютері з тактовою частотою процесора 2,5 ГГц, обє’мом оперативної пам’яті 512Мв.
Також була використана стандартна java-бібліотека для роботи з портами вводу/виводу java community api (JCA) версії 2.0.
2.2 Виклик та завантаження програми
Для завантаження даної програми необхідно мати встановлену на комп’ютер java-машину, версією не нижче 1.4.2.
Програма може бути завантажена як за допомогою bat-файлу, в який у якості параметру будуть передані шлях до файлу javaw.exe та змінна classpath (шлях до файлу *.class – головного файлу даної програми – класу, в якому знаходиться функція main), а також прописані шляхи до всіх бібліотек, які є необхідними для функціонування програми.
Наприклад, для зручного запуску програми необхідно утворити такий bat-файл:
..\..\..\jre\bin\javaw -classpath "E:\comm\comm\classes;E:\comm\lib\comm.jar” dip.ui.MainFrame, де:
..\..\..\jre\bin\javaw – шлях до java-машини;
E:\comm\comm\classes – шлях до *.class-файлів – робочих файлів програми;
dip.ui.MainFrame – головний клас з методом main.
2.3 Вхідні дані для програми
Вхідними даними для програми є спеціалізовані дані, що надходять з модулю прийому метеорологічних даних.
Вхідні дані – послідовнітсь біт, що надходить з певною швидкістю з lpt-порта ПК, які утворюють собою інформаційний пакет певної структури.
Також програма читає вхідну інформацію з текстових файлів, які містять інформацію про внутрішні адреси та опис модулів збору даних, а також тестові послідовності, що імітують сигнали-відповіді від lpt-порту для можливості тестування тестових фрагментів інформації.
2.4 Вихідні дані
Вихідні дані програми – інформація, отримана від модуля збору метеорологічних даних, при наявності помилок – повідомлення з інформацією про помилку. Вихідні дані можуть бути представлені у вигляді текстового файлу, або графічним відображенням.
Вихідні дані також можуть бути представлені у вигляді серіалізованих об’єктів, для їх подальшої обробки та використання.
2.5 Приклад функціонування програми