Создание программного модуля, позволяющего сохранить данные аварийного буфера на верхнем уровне и представить их в табличной и графической форме

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



В»ожение) содержится в теле программы 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;