10.6. Подключение к удаленной базе данных с данными датчиков

Aerosym имеет модуль подключения к удаленной базе данных MSSQL для получения данных датчиков в реальном времени или же исторических данных. Для этого используется специальная панель инструментов (рис.10.6.10, поз.1), которая имеет следующие элементы (слева направо):

  • кнопка вызова диалога конфигурации;
  • кнопка соединения/разъединения;
  • окно отображения/выбора текущей даты и времени;
  • кнопка режима последнего момента времени;
  • кнопка вызова таблицы с описанием датчиков;
  • кнопка вызова таблицы с данными для текущего момента времени;
  • кнопка чтения данных датчиков из базы и пересчета;
  • кнопка запуска последовательных расчетов;
  • кнопка остановки последовательных расчетов.

Рис.10.6.10 Панель управления удаленного соединения с базой данных

В диалоге конфигурации пользователь задает следующие параметры подключения (рис.10.6.11):

  • адрес сервера;
  • имя пользователя;
  • пароль;
  • имя таблицы, в которой содержится информация по датчикам;
  • имя таблицы, в котором хранятся данные датчиков.

Рис.10.6.11 Диалог конфигурации удаленного соединения

Таблица с информацией по датчикам должна содержать следующие столбцы: id (INT) с идентификатором датчика, sensor (TEXT или NVARCHAR(NULL)) с именем датчика. Помимо того данная таблица может содержать другие столбцы, например, тип или месторасположение датчика, содержимое которых не испльзуется в расчете, но отображается программой в соотвествующем диалоге. Таблица с данными должна содержать следующие столбцы: sensor (INT) с идентификатором датчика, timestep (DATETIME) с моментом времени и value (REAL) со значением датчика. Время задается с точностью до минуты, то есть значение секунд должно быть равно нулю. Пользователь может менять названия таблиц, например, чтобы переключиться с таблицы текущих данных на таблицу исторических данных.

В диалоге конфигурации имеется возможность устрановить и разорвать соединение с базой данных, а так же сохранить две таблицы в локальную базу формата sqlite. Изменение параметров соединения возможно только при разорванном соединение. Все указанные параметры сохраняются в системном реестре и при повторном запуске приложения будут инициализированы последними значениями.

Кнопка соединения/разъединения производит указанные действия с текущими параметрами и ее выделенный цветом статус свидетельствует об установленном соединении. В Aerosym может быть активно только одно подключенние – либо к удаленной базе данных, либо к локальным базам данных формата sqlite. Если пользователь загрузил локальные базы данных, то он не сможет установить удаленное соединение и наоборот. Для того, чтобы переключить тип базы данных следует предварительно разорвать удаленное подключение или нажать кнопку очистки локальных баз данных.

В правой части окна выбора/отображения текущей даты и времени имеется кнопка для вызова календаря указания даты. Изменение времени производиться редактированием непосредственно в окне даты и времени, также минутуи часы увличиваются или уменьшаются колесом прокрутки при указателе мыши над соответствующим полем или клавишами стрелок вверх-вниз. При изменении пользователем текущей даты и времени данные датчиков автоматически не обновляются и пересчет не запускается. Для этих действий служит кнопка чтения данных датчиков из базы и пересчета.

Режим последней даты включается и выключается соотвествующей кнопной. При активном режиме какждые 30 секунд следует запрос в базу данных относительно последних даты и времени. Если они отличаются от текущих, последняя обновляется до полученных значений. Чтение и пересчет также запускаются вручную.

Кнопка вызова таблицы с информацией о датчиках вызывает диалог (рис.10.6.12), где приводится все имеющиеся столбцы в данной таблице. Над таблицей имеется поля ввода для задания фильтра. Фильтр применяется ко всем столбцам, то есть при наличие фильтра в таблице отражаются только те строки, в которых имеется заданный шаблон в любом из столбцов. Отображаемое содержимое таблицы или же выделенный фрагмент копируется в системный буфер нажатием кнопки копировать, для последующей ставки вексель или текстовый документ. Аналогично, кнопка вызова таблицы с данными датчиков вызывает диалог (рис.10.6.13), где выводится таблица с двумя столбцами – имя датчика и значние для текущего момента времени. Над таблицей имеется поле ввода для фильтра по имени датчика. Кнопка копирования заносит в системный буфер текущий вид таблицы или ее выделенный фрагмент.

Рис.10.6.12 Диалог отображения таблицы с информацией по датчикам
Рис.10.6.13 Диалог отображения таблицы с данными датчиков

Кнопка чтение данных и запуск на расчет производит запрос в базу данных на значения для текущего момента времени и запускают пересчет модели. Время значений базы данных, которое было использовано для последнего расчета отображается в строке состояния (рис.10.6.10, поз.2).

Кнопка запуска последовательности расчетов имеет два режима. При активном режиме последнего момента времени, после проверки базы данных на последнюю дату-время при необходимости происходит чтение данных и запуск расчета. Если же режим отключен, то производятся расчеты начиная с текущего момента времени с шагом одна минута. Между расчетами происходит задержка, которая задана в общих настройках программы.

Последовательность расчетов остановливается нажатием кнопки остановки расчета.