Конфигурация
Содержание
Конфигурация#
Конфигурация описывает данные переменных, средств измерения, их привязку и настройки. Эти данные используется всеми программами IngortechSCADA.
Для создания и редактирования конфигурации используется программа КОНФИГУРАТОР.
Конфигурации сохраняются на диске программой РТС Сервер в виде файлов с расширениями rdb
или rtdb
. Формат файлов внутренний, бинарный, который может различаться в разных версиях ПО.
Для конвертации форматов и для экспорта данных конфигурации в сторонние системы используется утилита DBUtil.exe.
Структура конфигурации#
Конфигурация состоит из набора таблиц с данными, описывающими источники измерения (датчики), управляющие контроллеры, объекты управления и таблицы со вспомогательной информацией, такой как цветовые и звуковые схемы, справочники точек контроля, пользователей системы и т.д.
Любая таблица конфигурации содержит произвольное число записей определенной структуры и уникальный, в пределах одной конфигурации, индекс, который может использоваться для связи с другими таблицами. Максимальное количество записей, которое может храниться в одной таблице: 65000
.
Индекс
Каждая запись таблицы содержит уникальный индекс. Значение этого индекса может находиться в диапазоне 0..65000.
Гарантируется, что при успешной загрузке или сохранении конфигурации значение индекса в пределах одной таблицы будет:
Уникальным.
Не будет существовать более одной записи с одним и тем же значением индекса.
Последовательным.
Значение индекса в таблице всегда будет начинаться со значения 0 (ноль) для первой записи в таблице и увеличиваться на единицу для следующей.
Предупреждение
Не гарантируется, что при повторяющихся операциях сохранения, загрузки или передачи данных значения индексов для записей с одним и тем же содержимым будет одинаковым!
Т.е. Индекс у каждой записи будет уникальным и последовательным, однако порядок следования записей в таблице не гарантируется, поэтому если необходимо сохранять ссылки на элементы таблиц, необходимо использовать имена записей и, при загрузке данных, определять индексы этих записей в конфигурации.
Имена записей
Большая часть таблиц содержит специальное поле с уникальным именем, которое предназначено для идентификации записи в таблице вне зависимости от ее расположения.
Исключениями, в которых нет поля с именем, являются следующие реальные таблицы:
usergroups
pointgroups
И следующие виртуальные:
station
value
user
Ссылки на записи
В различных таблицах используются ссылки на записи других таблиц. Ссылки - это числовое значения индекса записи в другой таблице.
Гарантируется, что при любых операциях с конфигурацией от момента ее получения до момента ее передачи или сохранения, значения ссылок всегда будут указывать на одну и ту же запись вне зависимости от ее фактического расположения в таблице.
Т.е. при удалении, перемещении или добавлении записей в таблицы значения индексов всегда будут иметь одно и то же значение и указывать на одну и ту же запись.
Значение ссылки - это номер индекса, поэтому она может принимать значения в диапазоне 0..65000.
Помимо номера записи в другой таблице ссылка может принимать специальные значения:
IDX_NONE |
0xFFFF |
Отсутствие связи. Это значение обозначает, что эта ссылка не используется и не ссылается на запись в другой таблице. В различны форматах представления структуры конфигурации это значение может быть представлено как: FFFF, 0xFFFF 65565 или -1. В каждом формате отсутствие связи обозначается всегда одинаково. К примеру, в формате XML всегда используется значение 65535. |
IDX_ALL |
0xFFFe |
Ссылка на все записи или обозначение всех возможных типов. Это значение обозначает что текущая запись использует данные всех записей другой таблицы. Это значение используется при работе программ IngortechSCADA, НЕ ИСПОЛЬЗУЕТСЯ и НЕ МОЖЕТ ВСТРЕТИТСЯ в данных полученных с помощью экспорта или конвертации конфигурации. |
VARP_ALL |
0xFFFe |
Все существующие типы протоколов. Это значение ссылки используется в таблице протоколов и обозначает связь со всеми возможными протоколами. Это значение используется при работе программ IngortechSCADA, НЕ ИСПОЛЬЗУЕТСЯ и НЕ МОЖЕТ ВСТРЕТИТСЯ в данных полученных с помощью экспорта или конвертации конфигурации. |
Структура файлов конфигурации#
При работе ПО конфигурация может находиться в следующих состояниях:
Отсутствует.
Это состояние конфигурации существует с момента запуска программы до момента загрузки или получения данных конфигурации.
Работать с конфигурацией в таком состоянии могут: РТС Сервер и КОНФИГУРАТОР. Любые другие программы IngortechSCADA с конфигурацией в таком состояние не могут, для их работы необходимо получить или загрузить корректную конфигурацию.
Содержит один, подтвержденный набор данных.
Это состояние конфигурации возникает тогда, когда ее данные была отправлены на сервер РТС, приняты, проверены и подтверждены (см. описание использования конфигурации сервером).
С конфигурацией в этом состоянии может работать любое ПО.
Содержит не подтвержденный набор данных.
Это состояние конфигурации возникает тогда, когда ее данные была отправлены на сервер РТС, приняты, проверены, но не подтверждены. В случае завершения РТС сервера до получения подтверждения конфигурации она будет сохранена в файл, который будет содержать две различные версии конфигурации.
С конфигурацией в этом состоянии может работать только сервер РТС. Любое другое ПО, при загрузке такой конфигурации, выдаст запрос о том, какой набор данных необходимо использовать.
Предупреждение
При получении данных конфигурации от сервера РТС, вне зависимости от того в каком состоянии находится конфигурация на сервере, всегда будет получен только один набор данных, соответствующий самой последней, подтвержденной версии конфигурации.
Версия конфигурации
Каждая конфигурация имеет уникальный идентификатор, который является числом размером в 4 байта и имеет значение описывающее дату создания данных конфигурации.
Этот идентификатор отображается в виде значения в шестнадцатеричной системе счисления, сопровождаемого датой.
Save current data to [D:\MYWIN\RTS\cfg\6372C919.rdb]
DB time is: 63311C1C(26-09-2022 08:27:24)
BDB time is: 6372C919(15-11-2022 04:02:49)
Этот идентификатор формируется при получении данных новой конфигурации сервером РТС и используется клиентами для проверки изменения конфигурации.
В случае, если конфигурация содержит более одной версии данных, файл конфигурации будет содержать оба набора. При конвертации файла с такой конфигурацией с использованием утилиты DBUtil.exe в заголовке конфигурации будут указаны версии для обоих содержащихся в файле наборов.
<?xml version="1.0" encoding="Windows-1251"?>
<RTDBDatabase Version="63311C1C" Time="26-09-2022 08:27:24" Backup="6372C919" BackupTime="15-11-2022 04:02:49">
<DB63311C1C Count="19">
...
</DB63311C1C>
<DB6372C919 Count="19">
...
Таблицы конфигурации#
Таблицы конфигурации делятся на два типа:
Реальные.
Виртуальные.
Реальные таблицы
Реальные таблицы - это таблицы, которые содержат уникальные данные не повторяющиеся в конфигурации. Эти таблицы используются для обновления конфигурации на сервере и получения данных конфигурации клиентами.
В операциях отправки и получения конфигурации используются только реальные таблицы.
Виртуальные таблицы
Виртуальные таблицы - это таблицы, которые содержат интегральные данные, собранные в единую форму из реальных таблиц конфигурации.
Виртуальные таблицы не участвуют в процессе передачи конфигурации на сервер РТС и получения ее с сервера клиентами.
Виртуальные таблицы автоматически создаются при получении или загрузке конфигурации при ее проверке и инициализации.
Таблицы конфигурации
Конфигурация состоит из следующих таблиц:
Реальные |
|||
groups |
0 |
DB_GROUPS |
Группы пользователей. |
users |
1 |
DB_USERS |
Пользователи. |
usergroups |
2 |
DB_USERGROUPS |
Связи групп и пользователей. |
ls |
3 |
DB_LS |
Контроллеры. |
types_ls |
4 |
DB_TYPES_LS |
Типы контроллеров. |
protocols |
5 |
DB_PROTOCOLS |
Протоколы связи с контроллерами. |
objs |
6 |
DB_OBJS |
Объекты контроля. |
points |
7 |
DB_POINTS |
Точки контроляю. |
pointgroups |
8 |
DB_POINTGROUPS |
Связи точек контроля с объектами контроля. |
type_point |
9 |
DB_TYPE_POINT |
Типы точек контроля. |
types_sensor |
10 |
DB_TYPES_SENSOR |
Типы переменных. |
sensor |
11 |
DB_SENSOR |
Переменные. |
reports |
12 |
DB_REPORTS |
Отчеты. |
sch_alarm |
13 |
DB_SCH_ALARM |
Схема тревог. |
sch_color |
14 |
DB_SCH_COLOR |
Цветовая схема. |
sch_snd |
15 |
DB_SCH_SND |
Звуковая схема. |
sch_ctrlj |
16 |
DB_SCH_CTRLJ |
Схема журнала управления. |
sch_sysj |
17 |
DB_SCH_SYSJ |
Схема системного журнала. |
sch_techj |
18 |
DB_SCH_TECHJ |
Схема технического журнала. |
Виртуальные |
|||
station |
19 |
DB_STATION |
Сборное описания контроллеров. |
sens |
20 |
DB_SENS |
Сборное описание переменных. |
value |
21 |
DB_VALUE |
Значения переменных. |
user |
22 |
DB_USER |
Сборное описание пользователей. |
В этом списке приведены:
Наименование таблицы конфигурации.
Индекс таблицы.
Наименование индекса таблицы.
Описание назначения таблицы.
При обмене данными конфигураций между сервером РТС и клиентами используются не названия, а идентификаторы таблиц, которые являются целыми числами.
При экспорте структуры конфигурации в формат XML с помощью утилиты DBUtil.exe или операции экспорта из КОНФИГУРАТОРА для идентификации таблиц используются их имена.
Используемые типы данных#
В описании структуры используются следующие типы данных:
- REAL
Значение с плавающей точкой.
- NUMBER
Целое числовое значение.
- STRING
Набор символов. Размер значения измеряется в байтах, вне зависимости от используемой кодировки текста.
- TIME
Дата и время. Дата и время сохраняется в том часовом поясе, в котором значение было получено.
- []
Массив одинаковых типов. Интегральный тип данных, описывающий повторяющуюся последовательность других типов или их наборов. Элементы располагаются друг за другом без пропусков. Размер значения определяет количество элементов.
Таблицы конфигурации - это набор записей одинакового типа расположенных друг за другом. Каждая таблица может содержать от 0 до 65000 записей.
Данные таблиц#
groups#
groups – Описание прав доступа для группы.
Таблица содержит именованные группы и набор прав доступа для каждой из них.
Таблица является частью системы описания прав доступа для пользователей, которая предназначена для решения следующих задач:
Ограничение функционала системы, который доступен пользователю.
Фильтрация переменных (средств измерения), которые доступны пользователю для просмотра в Оболочке Оператора.
Фильтрация мнемосхем отображающихся для пользователя в Оболочке Оператора.
NUMBER |
idx |
Номер |
STRING |
name |
Наименование |
NUMBER |
rView |
Has right to view |
NUMBER |
rOperate |
Has right to operate |
NUMBER |
rConfig |
Has right to configure |
NUMBER |
rArchive |
Has right to access acrive |
STRING |
mask |
шаблон для источников информации, которые не отображаются для данного пользователя |
STRING |
sch_mask |
шаблон для мнемосхем, которые не отображаются для данного пользователя |
users#
Таблица описания пользователя.
NUMBER |
idx |
Номер |
STRING |
name |
ФИО |
STRING |
pr1 |
Логин |
STRING |
pr2 |
Пароль |
usergroups#
Таблица связи таблиц users и groups.
Предупреждение
Индексы в этой таблице не уникальны и являются индексами других таблиц.
Таблица является частью системы описания прав додступа для пользователей и содержит связи таблиц пользователей и групп, описывая принадлежность одного пользователя различным группам с уникальными правами.
NUMBER |
idx |
Номер набора групп (users.idx) |
NUMBER |
ln_group |
ссылка на группу (groups.idx) |
protocols#
Таблица параметров протокола связи, используемого на контроллере.
NUMBER |
idx |
Код протокола (types_ls.ln_protocol) |
STRING |
name |
наименование протокола |
NUMBER |
minR |
min значение ring |
NUMBER |
maxR |
max значение ring |
NUMBER |
minS |
min значение slave |
NUMBER |
maxS |
max значение slave |
NUMBER |
type |
VARP_x |
objs#
Таблица описывающая объект контроля. Объектом контроля служат технологические объекты, которые объединяют определенный набор переменных (дтчиков) и имеют типовой набор мест их установки.
NUMBER |
idx |
индекс (ls.ln_obj, sensor.ln_obj, pointgroups.idx) |
STRING |
name |
наименование объекта контроля |
STRING |
pril |
Примечание |
STRING |
pathpict |
имя основной схемы для этого обьекта |
NUMBER |
report |
индекс отчета (reports.idx) |
points#
Содерит справочник точек (мест) установки.
NUMBER |
idx |
номер точки (pointgroups.ln_point) |
NUMBER |
ln_type |
тип точки (type_point.idx) |
STRING |
name |
название |
pointgroups#
Таблица содержит связи объектов контроля и точек (мест) установки датчиков, описывая какие из точек контроля используются на конкретном объекте.
Предупреждение
Индексы в этой таблице не уникальны и являются индексами других таблиц.
NUMBER |
idx |
Номер object (objs.idx) |
NUMBER |
ln_point |
номер точки (points.idx) |
type_point#
Таблица содержит справочник всех существующих типов точек контроля (мест установки).
NUMBER |
idx |
Номер (type_point.ln_type) |
STRING |
name |
название типа |
types_ls#
Таблица, описывающая типы контроллеров, используемых в конфигурации.
NUMBER |
idx |
индекс |
STRING |
name |
собственное имя типа контроллера |
REAL |
i |
ток потребления для САПР, сейчас не используется |
REAL |
u |
мин. напряжение питания для САПР, сейчас не используется |
NUMBER |
buttons |
количество кнопок управления |
NUMBER |
ln_protocol |
протокол передачи данных (protocols.idx) |
NUMBER |
dig_var |
|
NUMBER |
an_var |
|
NUMBER |
cmd_var |
|
NUMBER |
reply_var |
|
NUMBER |
notify_var |
|
NUMBER |
analog_in |
количество аналоговых входов |
NUMBER |
digital_in |
количество дискретных входов |
NUMBER |
frequensi_in |
количество частотных входов |
NUMBER |
analog_out |
количество аналоговых выходов |
NUMBER |
digital_out |
количество дискретных выходов |
NUMBER |
frequensi_out |
количество частотных выходов |
STRING |
pattern |
шаблон наименования |
types_sensor#
Таблица содержит справочник, который описывает все типы переменных (датчиков) используемых в конфигурации.
NUMBER |
idx |
Номер |
STRING |
name |
название типа датчика |
STRING |
parameter |
Контролируемый параметр (физическая величина, измеряемая в инженерных единицах) |
NUMBER |
type |
Тип сигнала |
REAL |
i |
ток потребления |
REAL |
u |
мин. напряжение питания |
NUMBER |
int_pov |
межповерочный интервал в днях (для расчета следующей поверки) |
REAL |
i_min |
Минимум инженерного сигнала |
REAL |
i_max |
Максимум инженерного сигнала |
STRING |
i_unit |
Единицы измерения инженерного сигнала (м/с, %, ppm, …) |
REAL |
e_min |
Минимум электрического сигнала |
REAL |
e_max |
Максимум электрического сигнала |
STRING |
e_unit |
Единицы измерения электрического сигнала (В, мА, Гц, …) |
NUMBER |
int_kal |
межкалибровочный интервал в днях (для расчета следующей поверки) |
STRING |
pattern |
шаблон наименования |
01.06.2022 |
||
NUMBER |
pred_expl |
years, предельный срок эксплуатации |
reports#
Таблица отчетов конфигурации.
NUMBER |
idx |
Номер |
STRING |
name |
Имя |
NUMBER |
avg_type |
type to calc average-by-hour value (RTREP_AVG_x) |
NUMBER |
overflow |
time (sec) of overflow to place in II table |
STRING |
header |
04 |
STRING |
footer |
05 |
NUMBER |
report_type |
RTREP_TYPE_x |
ls#
NUMBER |
idx |
Номер |
NUMBER |
ln_type |
Тип станции (types_ls.idx) |
NUMBER |
ring |
Номер магистрали (луч) |
NUMBER |
slave |
Номер на магистрали (адрес) |
NUMBER |
ln_obj |
обьект контроля (objs.idx) |
NUMBER |
enable |
Включен |
STRING |
namemap |
Наименование на схеме |
STRING |
namedoc |
Наименование на документе |
NUMBER |
ln_point |
точкa установки (points.idx) |
STRING |
number |
завод.N |
sensor#
NUMBER |
idx |
Номер |
NUMBER |
ln_obj |
Код объекта (objs.idx) |
NUMBER |
ln_ls |
Код станции (ls.idx) |
STRING |
name |
Имя переменной |
STRING |
namemap |
Название на схеме |
NUMBER |
addr_ls |
Номер входа/выхода в контроллере |
NUMBER |
ln_point |
точки контроля/места установки (points.idx) |
STRING |
formula |
формуля для пересчета значения датчика |
NUMBER |
ln_type |
тип датчика (types_sensor.idx) |
NUMBER |
enable |
Включен |
REAL |
ll |
аварийно низкий пороговый уровень |
REAL |
l |
низкий пороговый уровень |
REAL |
h |
высокий пороговый уровень |
REAL |
hh |
аварийно пороговый уровень |
REAL |
predel |
Предельная скорость изменения |
STRING |
number |
заводской номер |
TIME |
date_pov |
Дата поверки |
TIME |
date_next |
Дата следующей поверки |
NUMBER |
sch_color |
Номер цветовой схемы |
NUMBER |
sch_alarm |
Номер схемы тревог |
NUMBER |
sch_snd |
Номер звуковой схемы |
NUMBER |
sch_sj |
Номер схемы системного журнала |
NUMBER |
sch_tj |
Номер схемы технического журнала |
NUMBER |
sch_cj |
Номер схемы журнала управления |
TIME |
date_kal |
Дата калибровки |
STRING |
prim |
Примечание |
TIME |
date_nextkal |
Дата следующей калибровки |
NUMBER |
report |
индекс отчета (reports.idx) |
NUMBER |
db_save |
Сохранение в базу данных |
07-12-2019 |
||
STRING |
vetv |
Наименование ветви |
STRING |
nvetv |
Номер ветви |
STRING |
dop1 |
Доп. 1 |
STRING |
dop2 |
Доп. 2 |
STRING |
eapparat |
дискретные переменные, которые соответствуют аппаратам электроснабжения блокирующимся по величине данной переменной |
11-12-2021 |
||
NUMBER |
work_type |
состояние оборудования |
01.06.2022 |
||
TIME |
start_expl |
Дата ввода в эксплуатацию |
sch_alarm#
NUMBER |
idx |
Номер |
STRING |
name |
Имя |
NUMBER |
sch[16] |
alarm >0, 0, <0 |
sch_color#
NUMBER |
idx |
Номер |
STRING |
name |
Имя |
DNUMBER |
sch[16] |
foreground RGB |
DNUMBER |
bk[16] |
background RGB |
sch_ctrlj#
NUMBER |
idx |
Номер |
STRING |
name |
Имя |
STRING |
sch[16] |
схемы для различных статусов |
sch_snd#
NUMBER |
idx |
Номер |
STRING |
name |
Имя |
STRING |
sch[16] |
схемы для различных статусов |
sch_sysj#
NUMBER |
idx |
Номер |
STRING |
name |
Имя |
STRING |
sch[16] |
схемы для различных статусов |
sch_techj#
NUMBER |
idx |
Номер |
STRING |
name |
Имя |
NUMBER |
quote[16] |
quotable |
NUMBER |
popup[16] |
popup list |
STRING |
sch[16] |
схемы для различных статусов |
station#
NUMBER |
idx |
(ls.idx) |
NUMBER |
enable |
(ls.enable) |
NUMBER |
ring |
(ls.ring) |
NUMBER |
slave |
(ls.slave) |
NUMBER |
analog_in |
(types_ls.analog_in) |
NUMBER |
dig_var |
(types_ls.dig_var) |
NUMBER |
an_var |
(types_ls.an_var) |
NUMBER |
cmd_var |
(types_ls.cmd_var) |
NUMBER |
reply_var |
(types_ls.reply_var) |
NUMBER |
notify_var |
(types_ls.notify_var |
NUMBER |
protocol |
(protocols.idx) |
sens#
NUMBER |
idx |
(sensor.idx) |
NUMBER |
enable |
(sensor.idx) |
STRING |
name |
(sensor.idx) |
NUMBER |
ring |
(ls.ring) |
NUMBER |
slave |
(ls.slave) |
NUMBER |
address |
(sensor.addr_ls) |
NUMBER |
protocol |
(protocols.idx) |
NUMBER |
type |
(types_sensor.type) |
REAL |
i_min |
(types_sensor.i_min) |
REAL |
i_max |
(types_sensor.i_max) |
REAL |
e_min |
(types_sensor.e_min) |
REAL |
e_max |
(types_sensor.e_max) |
STRING |
formula |
(sensor.formula) |
value#
NUMBER |
idx |
(sensor.idx) |
NUMBER |
state |
VARS_x (VARS_NONE for disabled „error value“ for noninited) |
NUMBER |
type |
VART_NONE if sensor.ln_type is not set |
REAL |
value |
Значение (i_unit) |
REAL |
volts |
Значение в вольтах (e_unit) |
TIME |
measure |
Дата, время измерения |
NUMBER |
measureF |
Дата, время измерения |
NUMBER |
metrology |
Metrology code |
user#
NUMBER |
idx |
User index (users.idx) |
STRING |
login |
Логин |
STRING |
pwd |
Пароль |
NUMBER |
rights |
Set of rights flags |
STRING |
mask |
шаблон для источников информации, которые не отображаются для данного пользователя |
STRING |
sch_mask |
шаблон для мнемосхем, которые не отображаются для данного пользователя |