ВКТ-7 (Теплоком). Автоматическое получение архивных и текущих данных. OPC сервер
Предварительные требования
Обычно, ВКТ-7, подключается к компьютеру через последовательный интерфейс RS-232 и передает данные, используя нестандартную версию протокола MODBUS RTU.
Вы также можете подключить этот прибор через преобразователь RS232 в Ethernet. В этом случае к прибору можно подключаться удаленно, по сети.
При использовании GSM модема совместно с этим прибором необходимо, чтобы модем мог автоматически устанавливать соединение с интернетом.
В дополнение к основной программе необходимо установить модуль "Binary parsers". Этот модуль обеспечивает взаимодействие логгера и прибора ВКТ-7: отправляет запросы по расписанию, обрабатывает полученные ответы, подготавливает данные для экспорта.
Настройка связи
1. Настройте подключение к прибору (параметры COM порта или TCP соединения) (рис. 1 и 2).
Рис. 1.1 Параметры COM порта
Рис. 1.2 Параметры TCP порта
2. Выберите модуль-парсер для ВКТ-7 в настройках. Если прибор подключен к компьютеру через RS-232, то вы должны дополнительно выбрать такой же модуль запроса данных (на рисунке не показан) (рис. 3).
Рис. 1.3 Выбор модуля парсера ВКТ-7
Настройка чтения данных
Вы должны задать сетевой адрес прибора. Этот адрес используется при отправке запросов в прибор. Также, вы можете задать дополнительное описание прибора. Эти значения также можно будет использовать при экспорте данных и записывать в базу (рис. 1).
Рис. 2.1 Настройка чтения данных
В настройках модуля парсера укажите расписание чтения данных (рис. 2, 3). Вы можете настроить расписание для каждого типа данных (текущие, часовой, суточный или накопительный архив).
Рис. 2.2 ВКТ-7. Текущие данные
Опрос архивных данных начинается с момента включения опроса. Если необходимо считать данные из имеющегося архива, то нужно нажать кнопку "Загрузить архивные данные начиная с даты" и задать начальную дату. При чтении архивных данных программа запоминает дату и время последнего считанного значения и возобновляет чтение с сохраненной даты. Вы можете повторно считать архив, задав новую дату начала чтения данных. Обратите внимание, что программа не проверяет наличие архивных данных в базе данных, что может привести к появлению дубликатов.
Рис. 2.3 ВКТ-7. Архивные данные
Запись данных в базу данных
Для записи данных можно воспользоваться модулем экспорта данных "ODBC Database". Этот модуль может записывать данные в любую базу данных, для которой есть драйвер ODBC.
В одну таблицу базу данных можно собирать данные от нескольких устройств, поскольку каждая строчка данных будет содержать уникальный идентификатор прибора и номер порта.
1. Вручную создайте таблицу с нужной структурой в вашей базе данных. Рекомендуемые скрипты для создания таблиц приведены ниже.
CREATE TABLE dbo.[DATA] (
[ID] decimal(10,0) IDENTITY(1,1) NOT NULL,
[DATE_TIME_STAMP] datetime NULL,
[DATA_SOURCE_NAME] nvarchar(32) NULL,
[DEVICE_ID] nvarchar(32) NULL,
[DEVICE_NAME] nvarchar(32) NULL,
[DEVICE_DESC] nvarchar(32) NULL,
[TIMESTAMP] datetime NULL,
[TIMESTAMP_UTC] datetime NULL,
[SERIAL_NO] nvarchar(32) NULL,
[DATA_TYPE] int NULL,
[EVENT_ID] int NULL,
[DATABASE_NO] int NULL,
[SYSTEM_NO] int NULL,
[T1] real NULL,
[T2] real NULL,
[T3] real NULL,
[V1] real NULL,
[V2] real NULL,
[V3] real NULL,
[M1] real NULL,
[M2] real NULL,
[M3] real NULL,
[P1] real NULL,
[P2] real NULL,
[Mg] real NULL,
[QO] real NULL,
[QG] real NULL,
[DT] real NULL,
[TX] real NULL,
[TA] real NULL,
[BHP] real NULL,
[G1] real NULL,
[G2] real NULL,
[G3] real NULL,
[EVENT] nvarchar(10) NULL,
[EVENT_TIME] real NULL,
[DI] real NULL,
CONSTRAINT [PK_DATA] PRIMARY KEY ([ID] ASC)
WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
2. Откройте настройки модуля экспорта данных, включите запись в базу данных, перейдите к закладке "Соединение" и создайте подключение к вашей базе, кликнув на кнопке "Настроить" (рис. 1-3).
Рис. 3.1 Выбор модуля экспорта данных
Рис. 3.2 Включение записи в базу данных
Рис. 3.3 Настройка подключения к базе
3. На закладке "Связывание" импортируйте из базы структуру вашей таблицы и "привяжите" переменные парсера к соответствующим колонкам. Удалите из списка все колонки, для которых нет привязки и в скрипте создания таблицы задано значение по умолчанию (рис. 4 и 5).
Рис. 3.4 Привязка переменных и колонок таблицы
Рис. 3.5 Импорт структуры таблицы
Краткое описание колонок
Таблица в базе данных создана для хранения максимально возможного набора данных. Значения в некоторых колонках могут отсутствовать, поскольку это зависит от установленных датчиков, настроек прибора и типа данных.
ID - уникальный идентификатор записи;
DATE_TIME_STAMP - метка времени, когда логгер считал данные;
DATA_SOURCE_NAME - идентификатор источника данных (номер COM порта или IP адрес);
DEVICE_ID - сетевой адрес прибора, заданный в настройках программы;
DEVICE_NAME - зарезервировано;
DEVICE_DESC - описание прибора, заданное в настройках программы;
TIMESTAMP - метка времени данных из прибора в локальном часовом поясе;
TIMESTAMP_UTC - метка времени данных из прибора в часовом поясе UTC (рассчитывается программой);
SERIAL_NO - серийный номер прибора (считывается из прибора);
DATA_TYPE - тип данных (0 - часовой архив, 1 - дневной, 2 - месячный, 4 - текущие данные, 5 - накопительные данные);
EVENT_ID - код события в приборе, соответствующий этой строке данных;
DATABASE_NO - номер активной базы данных в приборе (считывается из прибора);
SYSTEM_NO - номер теплового контура (тепловой системы, 1 или 2);
T1, T2, T3 - температура по соответствующему датчику;
V1, V2, V3 - объем;
M1, M2, M3 - масса;
P1, P2 - избыточное давление;
Mg - масса воды, отобранной из системы;
QO - тепловая энергия полная;
QG - тепловая энергия в трубопроводе 3;
DT - разность температур воды t1 – t2;
TX - температура холодной воды;
TA - температура воздуха;
BHP - время нормальной работы;
G1, G2, G3 - объемный расход;
EVENT - признак наличия нештатной ситуации;
EVENT_TIME - длительность НС по параметрам;
DI - состояние цифровых входов.
Запись данных в текстовый лог файл
Наша программа может параллельно создавать текстовые лог файлы, в которые будет записывать все принятые и обработанные данные. Лог файл можно рассматривать как резервную копию данных, или использовать их для последующего анализа. Программа может автоматически создавать новый лог файл ежедневно, еженедельно или ежемесячно (рис. 1 и 2).
Рис. 4.1 Настройка вида данных для ВКТ-7
Рис. 4.2 Настройка лог файла для ВКТ-7
OPC сервер
Программа имеет встроенный OPC DA2, DA3 или OPC UA сервер, через который всегда можно получить и посмотреть последнее считанное текущее или архивное значение. Рекомендуемые настройки сервера OPC представлены на рис. 1 и 2.
Обратите внимание, что OPC сервер не позволяет получать архивные данные. Он хранит только последнее полученное значение, в том числе и для архивных данных.
Рис. 5.1 Включение OPC сервера для ВКТ-7
Рис. 5.2 ВКТ-7. Пример принятых данных
Для удобства, можно поместить текущие и архивные данные в разные группы тегов. Для этого можно указать правило группировки данные в OPC сервере. В данном примере они группируются по серийному номеру и типу данных.
Рис. 5.3 Группировка данных по типу
Отчеты
Наша программа предназначена для чтения данных, и к сожалению, не имеет программы построения отчетов.
За дополнительную плату мы готовы:
Разработать программу построения отчетов под ваши нужды.
Адаптировать программу под вашу базу данных. Можно реализовать запись практически в любую базу данных.
Сделать передачу данных на веб-сервер.
Любая другая доработка под ваши нужды.
Сопутствующие статьи: ВКТ-7 (Теплоком). Автоматическое получение архивных и текущих данных. OPC сервер