
- •Опис застосування програми bluej
- •3 Настанова з інсталяції програми
- •4 Технологія розробки програмного додатку
- •4.1 Розробка класу для завантаження налаштувань
- •4.2 Розробка класу регулятора
- •4.3 Розробка головного класу додатку
- •4.4 Проектування графічного інтерфейсу
- •4.4.1 Розмітка інтерфейсу вікон програми
- •4.5 Розробка класу дляреалізації графічного інтерфейсу
- •Висновок
- •Список використаної літератури
- •Додаток а. Програмний код для обробки xml файлу з налаштуваннями програми
- •Додаток б. Програмний код класу Controller
- •Додаток в. Програмний код класу Application
- •Додаток г. Програмний код класу gui
- •Додаток г. Програмний код класу Graph
- •Додаток e. Вхідні дані
- •Додаток ж. Файл «Object»
4.3 Розробка головного класу додатку
Головний клас додатку виконує наступні дії:
Завантажує налаштування програми шляхом ініціалізації об'єкту класу XMLInterface.
Запускає графічний інтерфейс Swing шляхом ініціалізації об'єкту класу GUI.
Ініціалізує роботу контролера за таймером.
Рисунок 4.4 – Структура головного класу додатку
Дляреалізації таймера використовується клас Timer з пакету java.util,критичним параметром для якого є час виконання. Установка розкладу виконання таймера проводиться за допомогою методу schedule. Час задається в мілісекундах.
Наступний код ініціалізує роботу об'єкта класу Contntroller. У конструктор об'єкта класу Controller передаються параметри, що завантажені в об'єкт класу XMLInterval. Інтервал роботи дорівнює кроку дискретності, який перераховується у мілісекунди.
intperiod = (int) (1000 * xml.getDt ());
controller.schedule (newController (xml.getInputs (),
xml.getOutputs (), xml.getUplimits (), xml.getDownlimits (),
xml.getAd (), xml.getBd (), xml.getC(), xml . getD (),
xml.getAr (), xml.getBr (), xml.getCr (), xml.getFmax (),
xml.getUnom ()), 0, period);
ВихідзпрограмивметодіexitProgramможливореалізуватизадопомогоюметодуexitкласуSytem.
Реалізація класуApplication наведено в додатку В.
4.4 Проектування графічного інтерфейсу
Загальними вимогами, що пред'являються до АРМ, є: зручність і простота використання, технологічність виконуваних процедур, дружність інтерфейсу і ергономічність (зручне розташування, висока якість візуальної інформації, простота здійснення діалогу з підказками при неправильних діях користувача, можливість ведення архіву та ін.).
Графічнийінтерфейспрограмискладаєтьсяз 4 вікон:
вікновідображеннястануТП (головневікно), інформаційневікно, вікноустановкизавдання, вікновідображенняграфіківперехіднихпроцесів.
Вимоги до графічного інтерфейсу вікна відображення стану ТП:
відображати на екрані схему ділянки з показаннями технологічних змінних і керуючих впливів, що динамічно оновлюються;
сигналізувати про вихід технологічної змінної за зону допустими відхилень зміноюкольору тексту змінною і текстовий вивід аварійного повідомлення із записом повідомлення разом з часом його виникнення в журнал аварійних повідомлень;
передбачити ведення журналу аварійних повідомлень.
Вимоги до інформаційного вікна:
надати необхідні дані про розробника програми;
відобразити HTML файл з коротким описом технологічного процесу.
Вимоги до вікна установки завдання:
надати можливість установити завдання на технологічні змінні в межах технологічного регламенту;
установка нових завдань проводиться за допомогою спеціальної кнопки.
Вимоги до вікна графіків перехідних процесів:
одночасно відображаються графіки всіх змінних, прив'язані до єдиної часової шкали;
надати можливість масштабувати графік в реальному часі.
4.4.1 Розмітка інтерфейсу вікон програми
Для реалізації завдання пропонується використовувати 4 вікна: вікно відображення стану ТП, вікно графіків перехідних процесів, вікно установки завдання, інформаційне вікно про розробника і технологічний процес.
Розмітку інтерфейсу кожного вікна необхідно оформляти в окремому XML файлі. Зразковий вигляд вікна для технологічного процесу із 2 входами і 2 виходами представлений на рисунку 4.5.
Панель інструментів містить такі кнопки: запуск/зупинка процесу, включити/відключити контролер, показати графіки, встановити завдання на параметри, інформація о процесі і розробнику.
Перелік Swing компонентів, необхідних дляреалізації головного вікна:
1. JLabel - мітка, напис
2. JButton - кнопка
3. JProgressbar - відображення числа в деякому діапазоні
4. JToolbar + JButton - панель інструментів із кнопками
5. JSpinner - вибір значення із зазначеної послідовності
6. JScrollpane + JTable - таблиця з прокруткою
Головне вікно можливо розділити на дві панелі: основний зміст і таблиця з журналом аварійних повідомлень. Для панелі основного змісту доцільно використовувати менеджер компонування GridBagLayout. Даний менеджер дозволяє розглянути виділену область як таблицю із зазначенням розмірів рядків і стовпців. Кожен компонент розташовується в одній або більше клітинок.
Рисунок 4.5 – Приклад оформлення головного вікна програмного додатку
Рисунок 4.6 – Приклад оформлення вікна Завдання програмного додатку
Рисунок 4.7 – Приклад оформлення вікназ графічним інтерфейсом програмного додатку
Для того щоб використовувати компоненти Swing в програмному коді в XML файлі необхідно обов'язково вказати ідентифікатор компоненту (id). Також ідентифікатор (action) повинен мати обробник подій кожного компоненту, події якого відстежуються.