Создание программного модуля, позволяющего сохранить данные аварийного буфера на верхнем уровне и представить их в табличной и графической форме
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
В»ожение) содержится в теле программы MANAGER и происходит с двухсекундной задержкой от момента установки флага аварии. Для получения данных аварийного буфера, значений даты аварии, времени аварии и номера аварийного канала функция KEEP_TRB вызывает функцию TRANS_TRB. Листинг функции TRANS_TRB не приведен в приложении, так как задача ее создания не ставилась перед автором данного проекта (функция TRANS_TRB была написана одним из членов группы программистов, занимающихся разработкой программного обеспечения МАСУ).
Функция TRANS_TRB не возвращает никакого значения, однако имеет два передаваемых параметра. Первый параметр W, логического типа. При вызове функции TRANS_TRB с параметром W, равным FALSE, результатом работы станет присвоение глобальной переменной строкового типа D_T даты и времени аварии, а глобальной переменной Number типа Byte - номера аварийного канала. При вызове функции TRANS_TRB с параметром W, равным TRUE, результатом работы станет запись в глобальный массив Buffer 163-х двухбайтовых чисел, являющихся данными аварийного буфера. Второй параметр Adr поддиапазонного типа задает смещение, позволяющее читать данные из буфера порциями по 163 двухбайтовых числа.
После вызова TRANS_TRB с параметром W, равным FALSE, функция KEEP_TRB добавляет в таблицу mast новую запись, в поле Date_Time записывает значение переменной D_T, а в поле Number значение переменной Number. Далее в цикле происходит вызов TRANS_TRB с параметром W, равным TRUE и параметром Adr равным счетчику цикла. После каждого такого вызова значения элементов Buffer(0), Buffer(1), Buffer(2) преобразуются к строковому типу, складываются, и результат записывается в поле Time таблицы tbl, значения элементов Buffer(3) - Buffer(162) записываются соответственно в поля U1, N1, U2, ... ,U80, N80. Каждая итерация цикла добавляет в таблицу tbl новую запись.
4.3Программа визуализации
аварийный буфер визуализация графический
Описание свойств и компонентов главной формы
В основе графического интерфейса программы визуализации (далее сокращенно ПВ) лежит форма Mform класса ТForm. Mform содержит все необходимые компоненты для работы с базой данных и выбора режима визуализации. Ниже перечислены наиболее важные свойства Mform:
- Autoscroll : = False - запрещает появление полос прокрутки в форме при размерах формы, не позволяющих вывести все ее элементы одновременно;
- BordrerIcons.bisystemMenu : = True - пиктограмма системного меню присутствует;
- BordrerIcons.biMaximize : = False - кнопка максимизации отсутствует;
- BordrerIcons.biMinimize : = True - кнопка минимизации присутствует;
- BordrerIcons.biHelp : = False - контекстно-зависимая справка отсутствует;
- BorederStyle : = bsSingle - блокировано изменение размеров формы;
- WindowState : = wsNormal - при запуске программы, форма имеет состояние Normal.
- Теперь приведем список компонентов формы Mform c указанием назначения компонента и его наиболее важных свойств:
- Indicator класса TGroupBox - объединяет компоненты класса TLabel, показывающие информацию о дате, времени аварии и номере аварийного канала;
- Menu класса TGroupBox - объединяет компоненты Visible_tab и Visible_graf (кнопки Таблица и График);
- Table класса TGroupBox - объединяет компоненты Str_tab1, Str_number, Del_rec, Master, Number_of_channel, предназначенные для выбора, просмотра и удаления записей базы данных;
- Graf класса TGroupBox - объединяет компоненты Scale_graf, Mast_Source и Detail_Source, служащие для управления отображением графика;
- Close класса TButton - кнопка Закрыть, закрывает форму Mform и завершает ПВ, событию OnClick присвоена процедура TMform.CloseClick;
- Del_rec класса TButton - кнопка Удалить, удаляет текущую запись таблицы Mast_table и соответствующие записи таблицы Detail_table, событию OnClick присвоена процедура TMform.Del_recClick;
- Visible_tab класса TButton - кнопка Таблица, изменяет размеры Mform для показа или скрытия компонента Detail, событию OnClick присвоена процедура TMform.Visible_tabClick;
- Visible_graf класса TButton - кнопка График, изменяет размеры Mform для показа или скрытия компонента DBChart1, событию OnClick присвоена процедура TMform.Visible_grafClick;
- Scale_graf класса TButton - кнопка Масштаб, изменяет масштаб графиков, отображаемых компонентом DBChart1, событию OnClick присвоена процедура TMform.Scale_grafClick;
- Time класса TLabel - показывает время аварийной ситуации;
- Date класса TLabel - показывает дату аварийной ситуации;
- Str_channel класса TLabel - показывает надпись Канал №;
- Number_channel класса TLabel - показывает номер аварийного канала;
- Str_tab1 класса TLabel - показывает надпись Дата и время;
- Str_number класса TLabel - показывает надпись № канала;
- Master класса TDBGrid - сетка данных, отображает набор данных Mast_table;
- Detail класса TDBGrid - сетка данных, отображает набор данных Detail_table;
- Number_of_channel класса TComboBox - комбинированный список, служит для выбора номера канала, событию OnChange присвоена процедура TMform.Number_of_channelChange;
- Ust класса TCheckBox - флажок параметра, служит для включения/выключения отображения графика уставки, событию OnClick присвоена процедура TMform.UstClick;
- Nag класса TCheckBox - флажок параметра, служит для включения/выключения отображения графика нагрузки, событию OnClick присвоена процедура TMform.NagClick;
- DBChart1 класса TDBChart - компонент, предназначенный для представления данных таблицы buf в графическом виде;
- Mast_table класса TTable - компонент, предназначенный для связи с таблицей mast, свойство TableName : = mast.db;
- Detail_table класса TTable - компонент, предназначенный для связи с таблицей tbl, свойство TableName : = tbl.db;
- Buffer_table класса TTable - компонент, предназначенный для связи с таблицей buf, свойство TableName : = buf.db;