Структура таблиц баз данных с архивами

<< Click to Display Table of Contents >>

Navigation:  Проект в MasterSCADA 4D > Справочная информация >

Структура таблиц баз данных с архивами

Для хранения архива данных и архива сообщений используются свои базы данных. В обеих базах есть таблица projects, в которой хранится информация о проектах подключенных к БД

Таблица  projects

Название

Назначение

id

Первичный ключ.

name

Имя проекта.

guid

Уникальный GUID проекта, который формируется при его создании.

Архив данных

База данных, в которой хранятся архивы данных MasterSCADA 4D имеет следующие таблицы: projects, items, raw_data,  sys_props. Таблицы создаются автоматически при первом запуске исполнительной системы. При изменении списка архивируемых параметров таблицы будут дописываться. Уже существующие записи удаляться не будут, за исключением случаев, которые указаны в настройках проекта.

Назначение таблиц баз данных:

Название

Назначение

raw_data

Непосредственно таблица с архивными данными.

items

Информация об архивируемых параметрах.

skipped_data_regions

Таблица пропущенных интервалов для синхронизации.

sys_props

Служебная таблица, хранит версию структуры БД и другие служебные свойства.

Таблица rawdata

Название

Назначение

layer

ID слоя данных:

0 - базовый слой

1- минутный слой

2- часовой слой

archive_itemid

Внешний ключ для связи с таблицей items.

source_time

Время формирования значения (FILETIME).

server_time

Время сервера, в настоящее время не используется (FILETIME).

status_code

OpcUa код статуса данных.

value

Значение числовых данных (DOUBLE). В SQLite3 хранит все возможные типы данных.

s_value

Данные типа STRING. Отсутствует в SQLite3.

Таблица items

Название

Назначение

id

Первичный ключ.

project_id

Внешний ключ для связи с таблицей projects.

itemid

ID параметра в проекте. Формируется автоматически и указывается в соответствующем свойстве категории Служебные.

path

Путь к полю параметра или к параметру внутри экземпляра объекта.

name

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

first_time

Время первого значения (FILETIME).

last_time

Время последнего значения (FILETIME).

count

Показывает число записей в базе.

type

OpcUa код типа значения параметра.

Таблица sys_props

Название

Назначение

name

Имя параметра.

value

Значение параметра.

Таблица skipped_data_regions

Название

Назначение

layer

ID слоя данных:

0 - базовый слой

1- минутный слой

2- часовой слой

archive_item_id

Внешний ключ для связи с таблицей items.

t_start

Время начала интервала (FILETIME).

t_end

Время конца интервала (FILETIME).

controller_id

ID контроллера. Используется для записи несколькими узлами MPLC в одну таблицу пропущенных интервалов.

При просмотре баз данных сторонними средствами, для перевода значений типа данных FILETIME в более удобные для восприятия, можно использовать произвольные утилиты из сети Интернет.

Архивы сообщений

Для  формирования архива сообщений формируются таблицы: projects, events_alarms, events_recs, events_alarms_fields, events_recs_fields.

Назначение таблиц баз данных:

Название

Назначение

events_alarms

Информация о всех типах сообщений в проекте.

events_recs

Архив сообщений.

events_alarms_fields

Дополнительные поля сообщений (добавляемые пользователем в проекте у тревог или ФБ FireBaseEvent, AlarmCondition и MultiAlarmCondition).

events_recs_fields

Значения дополнительных полей сообщений (добавляемые пользователем в проекте).

Таблица events_alarms

Название

Назначение

id

Первичный ключ.

project_id

Внешний ключ для связи с таблицей projects.

item_id

ID параметра источника сообщения в проекте. Формируется автоматически и указывается в соответствующем свойстве категории Служебные.

для тревог - ID тревоги

для сообщений от шкалы параметра - ID параметра

для сообщений, выданных из ФБ - ID ФБ

для сообщений безопасности и контроля целостности - ID элемента Безопасность

для сообщений о действиях пользователя - ID элемента, с которым совершается определенное действие

path

Путь к источнику сообщения внутри экземпляра объекта.

last_rec_id

Порядковый номер вставки сообщения в таблицу. Нужен для восстановления активных сообщений после перезапуска.

type_id

Подтип сообщения. Возможные варианты

для тревоги = 0

для сообщений от шкалы параметра определяется типом уставки (HiHi = 1, Hi = 2, Lo = 3, LoLo = 4, RateOfChange = 5)

при выдаче сообщения через FireBaseEvent определяется входом EventTypeId

для системных сообщений и сообщений безопасности определяется типом сообщения. Старшие 16 бит определяют категорию:

1 - сообщения о действиях пользователя;

2 - сообщения об операциях изменения параметров безопасности, изменения списка пользователей (настроек и паролей), сообщения ошибки защиты или контроля целостности;

3 - системные сообщения.

external_path

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

Таблица events_recs

Название

Назначение

id

Первичный ключ.

alarm_id

Внешний ключ для связи с таблицей events_alarms.

time

Время последнего изменения состояния сообщения. Тип FILETIME.

update_type

Тип изменения:

1 - Активирована

2 - Деактивирована (для условных сообщений)

3 - Квитировано

active_time

Время активации сообщения. Тип FILETIME.

in_active_time

Время деактивации сообщения. Тип FILETIME.

acked_time

Время квитирования сообщения. Тип FILETIME.

acked

Состояние квитирования сообщения. Тип BOOL.

active

Состояние активности сообщения.  Тип BOOL.

severity

Приоритет сообщения.

message

Текст сообщения.

comment

Комментарий оператора, заданный при квитировании сообщения (также может быть задан параметром при генерации сообщения с использованием тревоги или ФБ).

user_address

Ip адрес узла, на котором был открыт клиент визуализации, в котором квитировали сообщение.

user_name

Имя пользователя, который квитировал сообщение.

Таблица events_alarms_fields

Название

Назначение

id

Первичный ключ.

name

Имя дополнительного параметра сообщения.

Таблица events_recs_fields

Название

Назначение

event_rec_id

Внешний ключ для связи с таблицей events_recs.

field_id

Внешний ключ для связи с таблицей events_alarms_fields.

value

Значение параметра.