Historian

Материал из archestra.info
Перейти к: навигация, поиск

Старое название сервера Historian - IndustrialSQL

С версии 9.0 Patch 02 уже фигурирует название: Historian 9.0 Patch 02 (Last revision: 10/7/2008), до этого была версия IndustrialSQL Server 9.0 Historian


Содержание

Версии

Версия System Version Data Commentary
InSQL 7.1 Patch 08
IndustrialSQL Server 9.0 Historian
IndustrialSQL Server 9.0 Patch 01
Historian 9.0 Patch 02
Historian 10.0 Version: 10.0.0
Historian 2012 (10.0 SP1) Version: 10.0.100 входит в состав ArchestrA System Platform 2012
Historian 2012 (10.0 SP1) Patch 1 входит в состав ArchestrA System Platform 2012 patch 1
Historian 2012 R2 (11.0) Version: 11.0 Last revision: 10/5/2012 входит в состав ArchestrA System Platform 2012 R2
Historian 2012 R2 (11.0) Patch1 Version: 11.0.001 Last revision: 8/14/2013 входит в состав ArchestrA System Platform 2012 R2 patch 1
Historian 2014 (11.5) Version: 11.5.0 Last revision: 11/18/2013 входит в состав ArchestrA System Platform 2014
Historian 2014 (11.5) patch 01 Version: 11.5.04001.000 Last revision: 3/10/2014 входит в состав ArchestrA System Platform 2014 patch 01
Historian 2014 R2 (11.6) Version: 11.6.08000 Last revision: 12/10/2014 входит в состав ArchestrA System Platform 2014 R2
Historian 2014 R2 patch 01 (11.6 patch 01) Version: 11.6.08001 Last revision: 5/27/2015 входит в состав ArchestrA System Platform 2014 R2 patch 01
Historian 2014 R2 SP1 (11.6 SP1) Version: 11.6.13100.000 Latest revision: 1/13/2016 входит в состав System Platform 2014 R2 SP1
Historian 2014 R2 SP1 P01 (11.6 SP1 P01) Version: 11.6.14101 Latest revision: 5/12/2016 отдельный дистрибутив P01
Historian 2014 R2 SP1 P02 (11.6 SP1 P02) Version: 11.6.19102 Latest revision: 7/13/2017 входит в состав System Platform 2014 R2 SP1 P02
Historian 2017 Version: 17.0.18000.000 Latest revision: 3/16/2017 входит в состав System Platform 2017
Historian 2017 Update 1 Version: 17.1.000 Latest revision: 9/20/2017 входит в состав System Platform 2017 Update1
Historian 2017 Update 2 Version: 17.2.000 Latest revision: 3/30/2017 входит в состав System Platform 2017 Update2
Historian 2017 Update 3 SP1 Patch01 Version: 17.3.101 Release Date 2020-06-18

История развития

Historian Evolution

Где скачать дистрибутивы и/или лицензии и/или русскую документацию

Для получения дистрибутивов программного обеспечения Wonderware, временных лицензий (demo) и/или русской документации, пожалуйста, обращайтесь к менеджерам KLINKMANN. Контакты можно найти на сайте: http://www.klinkmann.ru/

Лицензирование

  • Лицензия на Historian Server 2014 R2 совместима с предыдущими версиями, вплоть до Historian Server 9.0.
  • Wonderware Historian Servers include Server administration and configuration tools, ActiveEvent object, Microsoft SQL Server Standard Edition, one WW Basic CAL with Microsoft CAL.
  • Wonderware Historian is a high performance, real-time historian and includes Information Server Portal as a web information portal for factory or industrial operation.
  • a single Wonderware Information Server Standard Client Concurrent for local use only is included with the Historian Standard and Enterprise Editions.
  • The WW Basic CAL included with Historian Servers is non-transferable and for use only on the same node as the Historian Server.
  • The appropriate WW CAL is required for each user or device that connects to a Wonderware database, or the server can be licensed based on the number of cores with a “Per Core WW Basic CAL”.


  • To completely specify an Historian system: 1) Select Server 2) Add WW CALs 3) Add Clients.
  • A Wonderware Historian demo license (no charge) can be used in production applications with the following restrictions: maximum of 32 tags, must be used on a workstation operating system with Microsoft SQL Express, no access to historical data older than 7 days, no I/O license included, no support for Remote IDAS, no support for manual updates/inserts.
  • Demo licenses do support replicating data to a Historian Enterprise.
  • System Platform licenses with 5,000 or more history tags include the required Enterprise Historian license.


Источник: прайс

Какие теги лицензируются?

Типы тегов, которые учитываются в лицензии:

  • Теги архивируемые с System Platform (MDAS)
  • Теги импортированные с InTouch
  • Теги созданные для сбора с IO (IDAS)
  • Теги созданные для сбора по MDAS
  • Теги локальной репликации
  • Теги удаленной репликации
  • Теги Historian redundunt
  • В общем все типы тегов, которые сохраняются в History Blocks

Типы тегов, которые НЕ учитываются в лицензии на сервер Historian:

Wonderware Historian Server Express

  • Historian Server Express supports only workstation operating systems (Windows XP, Windows Vista and Windows 7), no Server OS.
  • Supports Microsoft SQL Server Express and Standard Editions.
  • Does not support remote IDAS or MDAS, or manual data import (CSV, SQL, SDK Inserts) except with InTouch log data (-*.lgh).

Источник: прайс

Wonderware Historian Server Standard

  • Supports workstation and server operating systems with Microsoft SQL Server Express and Standard (though not included, also supports SQL Server Enterprise Edition).
  • Supports unlimited Remote IDAS (licensed separately) and manual data and InTouch log data imports (LGH, CSV, SQL, SDK Inserts).


Источник: прайс

Wonderware Historian Server Enterprise

  • All the capabilities of Historian Standard plus support for receiving replicated data from another Historian of any edition.
  • Supports workstation and server operating systems.
  • Enables "Tiering" of Historians. Tier 2 Historians must be Enterprise.
  • Historian Enterprise supports hardware with an unlimited number of physical processors.


Источник: прайс

Wonderware Historian Server Local

Local Historian is generally for customers with remote site nodes in geographically distributed SCADA intermittent networks. When used with Historian Enterprise, it provides an alternative to Store & Forward only (used by Remote IDAS and Application Server Engines) that also allows local access to history at the site. Remote IDAS is not enabled. Data older than the last 7 days is not accessible on Local Historian. Local Historian includes a DAServer license. A Platform, if needed, must be purchased separately. If user has Historian Client at the remote site node and wants to see data beyond the 7 day limit, they simply redirect gathering of data to the Historian Enterprise. Supports workstation and server operating systems. "


Источник: прайс

Общие вопросы

  • скрыть паблик групп: 690, 339
  • Переименование ПК для SQL server 2008 TN 742
  • Переименование сервера для Historian TN777
  • рестарт из командной строки TN792
  • Перед установкой path 1 для Historian 10 sp1 выполнить shutdown Historian сервера
  • бекап данных Suggested to review TNs 817 and 891, also look at Admin guide chapter 5


  • расчет занимаемого на ЖД места ASP_Install_Guide.pdf стр 68
  • Синхронизация трендов на двух Хисториан Wonderware PacWest Tech Note 58: How to setup redundant Wonderware Historian


  • TA 83 Upgrading Microsoft® SQL Server 2000 to SQL Server 2005 on an IndustrialSQL Server™ Node
  • TA 134 Historian Processor Count Violation Превышение числа процессоров


  • Особенности InSQLCOnceptsRus.pdf:
    • Чтобы пользователи этих операционных систем не могли запускать или останавливать приложение архиватора, нужно запретить в локальной политике безопасности Windows право остановки системы.
    • Пользователь ArchestrA должен быть членом локальной административной группы на сервере архиватора, так же как и на всех компьютерах, cодержащих удалённые IDAS-источники.

Сбор данных с Application Server

Application Server 3.5 и ранее

Сервер приложений обменивается информацией с узлом Wonderware Historian через интерфейс сервиса сбора данных вручную(MDAS; Manual Data Acquisition Service), который использует распределенную модель составных объектов(DCOM). Для DCOM необходимо наличие открытого порта TCP/UDP 135 на узле Wonderware Historian и любом узле Galaxy, который передает данные на Wonderware Historian, а также на любом сетевом устройстве, например, на брандмауэре. В случае отсутствия порта 135 сервер приложений не будет выполнять конфигурирование и запись журнала на Wonderware Historian. Для обеспечения корректной работыWonderware Historian и сервера приложений удостоверьтесь, что DCOM включен и не заблокирован.

Application Server 3.6 и старше

Historian Client Access Layer (HCAL) используется для соединения и передачи данных в Historian

  • Для Wonderware Historian 2012 R2 и позже, HCAL заменил MDAS и MDAS2 для отсылки клиентами данных на сервер Wonderware Historian.
  • Important: Wonderware Application Server version 2012 R2 or later is not backward compatible with versions of Wonderware Historian earlier than 2012 R2.
  • Внимание!!! Wonderware Application Server версии 2012 R2 и старше не поддерживает передачу данных в Historian младше версии 2012 R2
  • HCAL uses port 32568 to communicate with HCAP. This listening port is used by HCAL on the client node to establish communications.


  • IDAS = сбор данных «Тянуть» (pull)
  • MDAS = сбор данных “Толкать” (push)
  • HCAL - Historian Client Access Layer - УРОВЕНЬ
  • HCAP - Historian Client Access Point - ТОЧКА СБОРА
  • HCAP – это процесс, который находиться на сервере Historian и который получает данные от HCAL.
HCAL FEATURES (historianConcept.pdf p 92):
  • HCAL может установить и поддерживать связь с одним или несколькими серверами Historian синхронно или асинхронно. Если происходит отключение от Historian, HCAL пытается восстановить соединение.
  • HCAL не требует подключения к historian для начала сохранения данных локально S&F
  • HCAL будет синхронизировать теги при каждом соединении с сервером

Старые данные Late data

Historian 10 и более ранних версий

  • Historian версии 10 и ниже может обрабатывать не более 1000 значений LateData в секунду

Historian 11

  • Historian версии 11 может обрабатывать не более 100 000 значений LateData в секунду

Изменение частоты сбора данных с System Platform

Задача собрать данные с частотой 100 мс


Для увеличение скорости сбора данных:

  1. Настройки объекта из шаблона $S7C_S7 (ПЛК S7 300 | 400):
    • Все выбранные для высокоскоростного обмена переменные вынести в отдельный топик с частотой опроса 100 мс и типом ActiveOnDemand
    • Остальные переменные для которых не требуется высокая скорость сбора определить в других топиках
  2. Настройки AppEngine
    • закладка General
      • Галочка enable storage to Historian установлена, сервер Historian настроен и указан
      • Scan period = 1000 ms
    • закладка R/W Interrupts
      • Number of read/write interrupts = 10
      • галочка Enable Standard interrupts стоит
      • галочка Enable full interrupts НЕ стоит
  3. Настройки атрибута объекта
    • Галочка Buffered установлена
      • Галочка Buffered - создает буфер для сохранения в него значений в пределах Scan period AppEngine. По окончании врмени скана буфер отправляется в Historian. Если эта галочка не установлена, то чаще чем время скана AppEngine данные в Historian не отправить
  4. Минимально необходимые настройки выполнены, но кроме выше перечисленного рекомендуется:
    • Для сохранения данных по скорости изменения


Полную версию см. в блоге: Изменение частоты сбора данных с System Platform

По лог-файлу хисториана

  1. сообщение «Attempt to store values in the future» обычно свидетельствует о рассинхронизации системного времени сервера источника данных(с DAS, IOserver, DIobjects, OPC) и сервера Historian. Реализуйте периодическую синхронизацию времени всех компьютеров, входящих в системную платформу.
  2. сообщения типа «ERROR: Invalid file format (file; line) (D:\Historian\Data\Circular\A991229_093\block80.inf, 2) [ASODU-3; HistoryBlockListManager.cpp; 494]» могут появляться после аварийного выключения сервера или изменения системного времени без останова Historian, означают что данный исторический блок(D:\Historian\Data\Circular\A991229_093\) испорчен. Рекомендуется удалить испорченные исторические блоки. Также эти испорченные исторические блоки у вас имеют странные номера(991229), т.к. нумеруются они автоматически по формату ГГММДД. Перед удалением исторических блоков рекомендуется остановить Historian.
  3. сообщения типа «Database Error (20;ExecuteDetectorSQL: The OLE DB provider "INSQL" for linked server "INSQL" reported an error. The provider ran out of memory.)» свидетельствуют об утечке памяти. По этой проблеме выпускались Hotfix-ы. Сообщите вашу версию Historian.

Синхронизация времени

  • Синхронизация часов опциями Historian:
    • InSQLConceptRus.pdf стр. 56: Синхронизация часов для накопления данных
    • HistorianConcept.pdf p. 83: Time Synchronization for Data Acquisition

- Time Synchronization (Windows) 882

  • системный параметр настроек Historian TimeSyncIODrivers – на уровне IDAS добавляет корректирующее значение к временной метке на основе временного отклонения IDAS от Historian.

Расчет ресурсов

ASP_Install_Guide.pdf раздел Disk Sizing and Data Storage p 65

Расчет Analog, Discrete, and Fixed-Length String

Перевод с комментариями

For analog, discrete, and fixed-length string (128 characters or less) tags, each value that is stored uses Storage Size + 3 bytes of disk space, plus approximately 15% overhead. Use the following formula to estimate the disk usage:

Sd = (1.15 * (St + 3) * Nt) * (60/Fs) * 60 * 24 / R, где

Sd - Размер пространства в день, Байт/Сутки
St - объем байт занимаемых одним тегом, Байт
Nt - число архивируемых тегов, шт
Fs - период сохранения, сек
R  - NTFS_Степень_сжатия, обычно R=2. Или если сжатие отключено, то R=1
60 минут в часе
24 часа в сутках


Например:
10 000 аналоговых тегов (по 4 байта) сохраняются с интервалом раз в 10 сек:
Sd = (1.15*(4+3)*10000)*(60/10)*60*24/2 = 347 760 000 Байта в сутки = 332 МБайта в сутки

10 000 дискретных тегов (по 1 байту) сохраняются с интервалом раз в 60 сек:
Sd = (1.15*(1+3)*10000)*(60/60)*60*24/2 = 33 120 000 Байта в сутки = 32 МБайта в сутки

10 000 строковых тегов (по 8 байт) сохраняются с интервалом раз в 60 сек:
Sd = (1.15*(8+3)*10000)*(60/60)*60*24/2 = 91 080 000 Байта в сутки = 87 МБайта в сутки

Удалить устаревшие теги

Q: view/delete obsolete galaxy tag in historian


A: Run on Runtime SQLServer. Change GRGalaxy to the name of your galaxy database. If your Galaxy database resides on a different server, you must create a linked server

Use Runtime
select * from Tag where Tagname not in (SELECT distinct g.tag_name + '.' + p.primitive_name AS name 
FROM GRGalaxy.dbo.gobject AS g INNER JOIN 
GRGalaxy.dbo.primitive_instance AS p ON p.gobject_id = g.gobject_id AND p.execution_group = 18 INNER JOIN 
GRGalaxy.dbo.primitive_definition AS pd ON p.primitive_definition_id = pd.primitive_definition_id AND pd.primitive_name <> '' INNER JOIN 
GRGalaxy.dbo.package AS pkg ON p.gobject_id = pkg.gobject_id AND p.package_id = pkg.package_id AND pkg.package_id = g.checked_in_package_id 
WHERE (g.is_template = 0) AND (g.namespace_id = 1)) 
and CurrentEditor = 2

Удалить закладку Historian из Excel

Rename/remove the file histclient.xla

Переименовать теги

The Historian Tag Rename Utility lets you rename tags in Wonderware Historian while preserving the historical data associated with those tags. At rename, the old tag’s data history is linked to the new tag name that you specify.

  • Для версий начиная с SP2014R2 "you need to use the new aaTag Rename utility (aahTagRename.exe), you can find it in Historian 2014 R2 installation folder "C:\Program Files (x86)\Wonderware\Historian\x64"
  • Для предыдущих версий: for classic history blocks, use the earlier/legacy aahTag Rename Utility. Download the here IndustrialSQL Server Tag Rename Utility. In this case, be sure to run the earlier version before you run the new Historian Tag Rename Utility.

Старт / стоп сервер Historian из командной строки

Создать bat файлы на старт и стоп.

Текст файлов ниже.

  • Текст .bat файла для останова сервера Historian (для останова удаленного сервера Historian вместо localhost указать сетевое имя сервера)
SC \\localhost config InSQLConfiguration start= disabled
SC \\localhost stop InSQLConfiguration

Комментарий bazhin: Останов всех сервисов может занимать продолжительное время. В моей практике - до 10-15 минут


  • Текст .bat файла для старта сервера Historian (для старта удаленного сервера Historian вместо localhost указать сетевое имя сервера)
SC \\localhost config InSQLConfiguration start= auto
SC \\localhost start InSQLConfiguration


Комментарий bazhin: Запуск всех сервисов может занимать продолжительное время. В моей практике - до 10-15 минут


Комментарий bazhin: Проверено для: Historian 10, Historian 11 в Windows 2003, Windows 2008

Источник: *TN792. Как из командной строки запустить или остановить сервер Historian. Tech Note 792 Command Line Shutdown and Startup of Historian. Источник: https://wdnresource.wonderware.com/support/kbcd/html/1/t002575.htm


Создание резервной копии (backup) Historian сервера

Видеоинструкция: Backup Historian server

Как итог, необходимо создать backup БД Runtime, скопировать History block с данными, выполнить выгрузку конфигурации через утилиту Database configuration export and import для дополнительного резерва.

Примечание:

Архивные данные Historian хранит не в MSSQL, а History Blocks, т.е. для создания копии исторических данных достаточно перенести только файлы с History blocks. Но есть исключения, в БД Runtime в SQL сервере хранятся данные:

  • Event tags (случившиеся события)
  • Event Tags Snapshots

Источник: HistorianAdmin.pdf, HistorianConcept.pdf (документация в составе дистрибутива Wonderware System Platform)

Настройка remote IDAS

  • Путь к файлам конфигурации rIDAS
\ProgramData\ArchestrA\Historian\Configuration\IDAS Configurations
  • Файлы конфигурации расположены и на Historian сервера и на сервере rIDAS, они должны быть одинаковые и там и там

Количество клиентских соединений к БД Runtime

DECLARE @database sysname
SET @database = 'Runtime'
SELECT sp.spid, db.name 
FROM sys.sysprocesses sp JOIN sys.databases db ON sp.dbid = db.database_id
where db.name = @database

Отсутствует репликация некоторых тегов

Проблема: Для некоторых тегов отсутствует репликация данных

  • Возможная причина: Historian не поддерживает специальные символы в свойствах единиц измерения EngUnits.

Например, в случае указания "m³"

  • Решение: Заменить символы, см. TN964 Solving "Tag xxx.yyy failed to add historian after 3 attempts" https://softwaresupportsp.invensys.com/Pages/OKMArticle.aspx?docId=TN964&actp=search
    • Подключиться к БД Runtime и извлечь все инженерные единицы:
    • SELECT * FROM  EngineeringUnit
    • Проанализировать:
      • IntegralDivisor для тегов с AS должен быть равен 1
      • Поле Unit не должно быть пустым, равным "NULL", не должно содержать верхних или нижних индексов, первым и/или последним символом не должен быть пробел
  • Перед работой сервер Historian необходимо остановить, изменения на уровне Application Server тоже необходимы. При этом потребуется:
    • раздеплоить все объекты
    • внести изменения в объекты
    • внести изменения в БД Runtime (см. TN 964)
    • и только потом задеплоить объекты

Конфигурирование БД Runtime и A2ALMDB

  • Вариант 1: из конфигуратора
  • Вариант 2: aahHistorianCfg

Question: What do the colors of history blocks mean?

  • Ответ: A yellow icon for a history block indicates that all tag information is loaded into memory, and you can query and insert data for that block. The block is considered to be "online." If the icon is grey, the tag information is not loaded, and the block is considered to be "offline." If you have enabled memory management for the system, tag information is loaded as needed for requested blocks

Получить список подключений к Historian (БД Runtime)

select db_name(dbid) as db, spid as idproc, loginame, program_name, status
from   sys.sysprocesses
where db_name(dbid) = 'Runtime'
order by program_name

Получить из Historian последнее сохраненное значение ближайшее к заданной дате

Пример:

SELECT * FROM OPENQUERY(INSQL, 'SELECT
DateTime = convert(nvarchar, DateTime, 21), [Mixer100.Temperature.PV]
FROM WideHistory
WHERE DateTime = "2018-02-06 14:00:00"');

Обновление

Обновление со старых версий (до 2012R2 -11)

При обновлении со старых версий - до версии 2012R2 (11) - данные из History Block не извлекаются.

Решение

1. Скопировать history blocks созданные в предыдущей версии в один из каталогов Circular или Buffer.

2. Выполнить бэкап БД Runtime

3. Выполнить скрипт для проверки извлечения данных. Убедиться что дата/время/имя тега указаны верно.

USE Runtime
GO
SELECT *
FROM History
WHERE TagName = ‘ИМЯ_ТЕГА’
AND DateTime > ‘ДАТА_НАЧАЛА_ПЕРИОДА’
AND DateTime <= ‘ДАТА_ОКОНЧАНИЯ_ПЕРИОДА’

Если результат запроса будет NULL и QualityDetail 65536 (нет даных), тогда см. следующий шаг

4. Выполните скрипт позволяющий извлекать данные для всех тегов “Classic Storage” и в старом формате - “old” data:

USE Runtime
GO
UPDATE Runtime..Tag
SET AIHistory=1
WHERE TagName NOT LIKE ‘Sys%’
  • Примечание: The AIHistory setting is for the Retrieval subsystem only, and it does not affect any stored data, so the change is safe and have no impact on Historian storage operations.

5. Now, the query in item 1 above should returns valid data for the “Classic Storage” tag.

До версии Historian 11

До версии Historian 11 path 1


До версии Historian 11.5 (2014)

Системные параметры

TimeSyncIODrivers

Описание

системный параметр настроек Historian TimeSyncIODrivers – на уровне IDAS добавляет корректирующее значение к временной метке на основе временного отклонения IDAS от Historian. (When set to 1, this Historian will send time synchronization commands to all its remote IDASs)

Значение по умолчанию

Historian 11:

TimeSyncIODrivers = 1

Системные теги

SysDataAcqNOutsideRealtime

Описание

SysDataAcqNOutsideRealtime позволяет отслеживать количество значений, не попавших в realtime window

  • Тип данных: integer

SysDataAcq0OutsideRealtime

  • Discarded points per second for MDAS Data Acquisition

SysDataAcq1OutsideRealtime

  • Discarded points per 5 seconds for Data Acquisition on [SERVER_NAME]

Каталоги для сохранения данных

Late data

Контролировать объем *.bin файлов в этих каталогах

{VolumeName}:\InSQL\Data\DataImport\Manual\LateData 
{VolumeName}:\Historian\Data\DataImport\Manual\LateData


Historian версии ниже 11.0 может обрабатывать не более 1000 значений LateData в секунду, и если в основном все данные с rIDAS идут как LateData, то службы Configuration и Manual Data Storage не успевает обработать такой объем данных, что приводит к зависанию сервера

Circular

Circular – локально размещенное хранилище исторических данных. Используется для циклического сохранения.

  • Когда размер на ЖД падает меньше Deletion Threshold (Порог удаления) или превышает настройки Maximum Size (Максимальный размер) или Maximum Age (Срок хранения ) старые данные удаляются и заменяются новыми.
  • Вместо удаления данные можно перевести в Alternate
  • По-умолчанию: C:\Historian\Data\Circular

Alternate

Alternate – альтернативное хранилище исторических данных.

  • Сюда данные пересылаются если заполнен circular – рекомендуется указывать др. ЖД или сетевую папку.

Buffer

Buffer – временное хранение данных таких как данные для извлечения.

Permanent

Permanent – для критичных данных с пом. Хранимых процедур можно перевести из circular в permanent. Подсистема сохранения никогда не удаляет данные из этого каталога.

Настройки каталогов

  • Path is Disabled (Каталог запрещён)Чтобы запретить использование каталога, установите флажок. В случае циклической области хранения этот флажок недоступен.
  • Deletion Threshold (Порог удаления) минимальный размер дискового пространства в мегабайтах, при достижении которого система должна попытается освободить пространство. Данный параметр применим только для циклической и дополнительной областей хранения. Обычно это значение определяется как результат умножения среднего размера архивного блока (неупакованного) на 1,5
  • Maximum Size (Максимальный размер) максимальный объём данных в мегабайтах, который может быть записан в эту область. Данный параметр применим только для циклической и дополнительной областей хранения. Если в поле будет введено значение 0, использоваться будет всё доступное пространство области.
  • Maximum Age (Срок хранения ) время в днях, в течение которого будет храниться информация в этой области перед её удалением. Данный параметр применим только для циклической и дополнительной областей хранения. Минимальный срок хранения – 2 дня. "0" в это поле означает, что данные могут храниться вечно.

Динамическое конфигурирование

Архиватор Historian Server поддерживает динамическое конфигурирование; то есть, вы можете во время работы системы изменять описания тэгов и другие объекты базы данных. Архиватор автоматически обнаруживает наличие изменений и без перезапуска соответствующим образом модифицирует своё внутреннее состояние. На взаимодействие с клиентами подобные изменения в конфигурации не влияют.


В большинстве случаев система продолжает функционирование без прерывания. Перезапуск системы необходим:

  • Когда измененяется местоположение основной области хранения данных, то есть параметр, который после установки архиватора обычно изменяется крайне редко.
  • Когда измененяется значение системного параметра DataImportPath.

Фиксация изменений в конфигурации Historian (Commit Pending Changes)

После внесения в базу данных каких-либо изменений, например после добавления новых тегов, их необходимо зафиксировать в системе архиватора Wonderware Historian. Сами изменения в базе выполняются сразу, но вступают они в силу только после фиксации. Это, фактически, означает, что изменения фиксируются в системе, а не в базе данных.


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

Изменения не могут быть зафиксированы:

  • в течение первых пяти минут после запуска приложения архиватора.
  • во время создания нового блока данных в результате предшествующего изменения.

Чтобы зафиксировать изменения в системе

  1. Разверните группу серверов в дереве системной консоли управления, раскройте в этой группе элемент, соответствующий требуемому серверу.
  2. Щёлкните правой кнопкой мыши папку редактора конфигурации Configuration Editor (или на любой вложенной папке в дереве консоли) и выполните команду Фиксация изменений (Commit Pending Changes). Появится окно Фиксация изменений – подтверждение (CommitPendingChanges – Confirmation).
    • Чтобы просмотреть список изменений, которые должны быть зафиксированы в системе, нажмите кнопу Показать (Display).
  3. Для фиксации изменений нажмите Зафиксировать (Commit).

Экспорт и импорт конфигурации Histroian

Утилита экспорта и импортирования параметров конфигурации (aahDBDump.exe) представляет собой автономную программу, с помощью которой осуществляется запись параметров конфигурации архиватора Wonderware Historian в текстовый файл, а также чтение этой информации из текстовых файлов. Экспорт и импорт данных представляют собой две независимые операции.


Применение утилиты экспорта и импортирования параметров конфигурации базы данных Wonderware Historian существенно облегчает выполнение массовых модификаций в конфигурации, поскольку редактор конфигурации позволяет изменять за один раз только один объект.


  • Источник 1: HistorianAdmin.pdf (Из дистрибутива ASP2012R2) стр. 81 "Importing and Exporting Configuration Information"
  • Источник 2: HistorianAdmin_Ru.pdf стр. 99 "Экспорт и импорт параметров конфигурации через текстовые файлы"

Кодировка файла

Во время экспортирования параметров конфигурации можно указать, какая из кодировк: ASCII или Unicode

При чтении текстового файла утилита экспорта и импортирования параметров конфигурации базы данных Wonderware Historian автоматически определяет вид кодировки и при необходимости перед записью прочитанной информации в базу данных архиватора Wonderware Historian преобразует все текстовые строки в формат Unicode.


  • Источник 1: HistorianAdmin.pdf (Из дистрибутива ASP2012R2) стр. 81 "Importing and Exporting Configuration Information"
  • Источник 2: HistorianAdmin_Ru.pdf стр. 99 "Экспорт и импорт параметров конфигурации через текстовые файлы"

Журнал ошибок импорта aahDBDumpLog.Txt

Во время чтения текстового файла утилита экспорта и импортирования параметров конфигурации базы данных Wonderware Historian проверяет правильность каждой строки. При появлении какой-либо ошибки на экран выводится сообщение с запросом на прекращение операции или её продолжение для максимально большего извлечения информации из текстового файла.

Информация о ходе выполнения операции и обнаруженных ошибках записываются утилитой экспорта и импортирования в журнальный файл aahDBDumpLog.Txt. Этот файл располагается в том же каталоге, что и исполняемый файл утилиты и может быть открыт для просмотра любой программой, способной читать текстовые файлы, например программами Notepad или Microsoft Excel.


  • Источник 1: HistorianAdmin.pdf (Из дистрибутива ASP2012R2) стр. 81 "Importing and Exporting Configuration Information"
  • Источник 2: HistorianAdmin_Ru.pdf стр. 99 "Экспорт и импорт параметров конфигурации через текстовые файлы"


Редактирование текстового файла конфигурации (Editing the Configuration Text File)

  • После редактирования текстового файла с параметрами конфигурации можно выполнять вставку в базу данных новых объектов и изменение или удаление существующих.
  • Порядок следования информации об объектах в текстовом файле имеет большое значение для успешного выполнения импортирования.
  • Все величины в строке должны отделяться друг от друга символом табуляции.
  • В самом конце файла должен стоять символ возврата коретки
  • Как правило, объекты нужно перечислять в текстовом файле в следующем порядке:
    • IDAS (источник данных),
    • IOServer (сервер в/в),
    • Topic (группа данных),
    • SystemParameter (Системные параметры),
    • StorageLocation (Области сохранения),
    • EngineeringUnit (единица измерения),
    • Message (сообщение),
    • AnalogTag (аналоговый тег),
    • DiscreteTag (дискретный тег),
    • StringTag (символьный тег),
    • EventTag (тег событий),
    • SnapshotTag (тег "моментальной" копии),
    • SummaryOperation (сводная операция),
    • SummaryTag (сводный тег),
    • ReplicationSchedules (графики репликаций),
    • Replication Servers (серверы репликаций),
    • ReplicationGroups (группы репликаций) и
    • ReplicationTagEntities (области тегов репликаций).

Индикатор режима (Mode Indicators)

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

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

  • update: Если импортируемые сведения относятся к существующему в базе данных объекту, они заменяют имеющееся определение объекта. Если такого объекта в базе данных нет, он создаётся.
  • insert: Если импортируемые сведения относятся к существующему в базе данных объекту, модификация объекта не выполняется. В базу данных вносятся только новые объекты.
  • delete: Если импортируемые сведения относятся к существующему в базе данных объекту, он удаляется, в противном случае ничего не происходит.
  • ignore: Строка текстового файла игнорируется. Это значение режима позволяет во время импортирования пропускать некоторую информацию.


  • Источник 1: HistorianAdmin.pdf (Из дистрибутива ASP2012R2) стр. 81 "Importing and Exporting Configuration Information"
  • Источник 2: HistorianAdmin_Ru.pdf стр. 99 "Экспорт и импорт параметров конфигурации через текстовые файлы"

Группы безопасности и пользователи

Группы безопасности

По умолчанию на компьютере архиватора IndustrialSQL Server создаются следующие группы пользователей Windows, для каждой из которых определены различные наборы полномочий:

  • aaAdministrators;
  • aaPowerUsers;
  • aaUsers.


Каждая из групп автоматически сопоставляется с ролью в базе данных Microsoft SQL Server с таким же именем.


Источник: InSQLConceptRus.pdf стр 19

Пользователи

Источник: InSQLConceptRus.pdf стр 19

Login/Name Password Description
aaAdmin pwAdmin A user who can access and modify all data and create objects. Cannot drop the database or truncate tables.

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

aaPower pwPower A user with full read access and the ability to create objects and modify the contents of the non-core tables.

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

aaUser pwUser A read-only user who can access all data, but cannot modify data or consume database resources.

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

aadbo pwddbo Database owner. Full permissions.

Владелец базы данных. Имеет полный доступ.

Исключительно для совместимости остались пользователи:
wwUser wwUser Same as aaUser.
wwPower wwPower Same as aaPower.
wwAdmin wwAdmin Same as aaAdmin.
wwdbo pwddbo Same as aadbo.

History Blocks

Новый блок создается:

  • по умолчанию раз в 24 часа, см. system parameter: HoursPerBlock
  • по команде из меню SMC
  • используя процедуру xp_NewHistoryBlock
  • при превышении размера текущего более 1,5 ГБ
  • система может создать до 999 блоков в день

Параметр HoursPerBlock в 2017

1. Open Historian Management Console in System Platform Management Console (old SMC)
2. Navigate to Configuration Editor -> Storage -> Storage Partitions and then chose Properties from the right click menu of the storage partition
3. Set the History Block Duration setting as desired Available values are (1,2,3,4,6,8,12,24)

Data Index файлы

Назначение файлов индекса (из HistorianConcepts.pdf):

By default, the Wonderware Historian loads all tag information for the history blocks into memory so that it can more efficiently service requests for data. This tag information includes tag properties and indexing information and allows for quick navigation through the files containing real-time data. The process that manages the tag information in memory is the Wonderware Historian Indexing Service (aahIndexSvc.exe).

Особенность:

If index files are damaged/modified the part of history tags may not be correctly retrieved/values cannot be displayed correctly. After deletion and restart Histoirian these files are restored from the live data in Historian.

Рекомендация при перемещении History Blocks:

When you move blocks across nodes/systems like during upgrade historian process, in those scenario you need to re-index data.

Проблемы и решения

Не могу изменить тип сохранения с Delta на Cyclic

  • Решение: При топике сконфигурированном как "Enable Late Data" нельзя использовать тип сохранения Cyclic. Turn the LateData feature OFF if you want to use Cyclic Storage.

Большое количество ошибок вида StartQuerySnapshot failed with block в SMC логах

  • Причина:

The corrupt store forward block. When this happens, a number of things happen such as a frozen store forward History block, and sometime a history block on the Historian that continues to grow.

Примеры сообщений в логах:

Warning	aahClientCommon	Engine_MS.Event.WWSMM: StartQuerySnapshot failed with block C:\ProgramData\ArchestrA\Engine_MS\WWSMM\Event\A000000_001, snapshot index = 0 : error = 1 (Failure) [SFConnection.cpp, 1853]
Warning	aahClientCommon	MonitoringServer.Event.WWSMM: StartQuerySnapshot failed with block C:\ProgramData\ArchestrA\MonitoringServer\WWSMM\Event\A000000_001, snapshot index = 0 : error = 1 (Failure) [SFConnection.cpp, 1853]
  • Решение:

Для версии Historian 2012R2 P02 (11.0 P02) - установка HF L00136501

Для версий Historian 2014R2 P01/ 2014R2 SP1 (11.6 P01/11.6 SP1) - установка HF L00137622 или установка Patch1 на Historian 2014R2 SP1

Данные с приходят с качеством QualityDetail отличным от 192 (Good), как расшифровать значения

  • Решение:

If you go to the table QualityMap in the Runtime database, you will be able to see all variants QualityDetail with description.

Also you can use this link Historian Quality Detail Value and Description list

Warning aahStoreSvc Snapshot write operation took longer than 10 seconds ...

Пример сообщения: Warning aahStoreSvc Snapshot write operation took longer than 10 seconds. Change your system settings to decrease size of snapshot or stop other applications which may affect this parameter (4, 6, 0, 0, 27154, 18) [SRVYAR-GR; deltastore.cpp; 2705; 1]

  • Фактически это сообщение означает что данные идут на сервер быстрее чем он успевает записывать информацию на жесткий диск, цифры- это внутренняя информация для отладки там позиция, кластер еще что-то, в принципе сами цифры не так важны как факт наличия низкой скорости записи.
  • Причиной может быть или занятость ЖД (например другая программа его активно использует) или просто низкая скорость записи.
    • Рекомендации: сейчас выполнить дефрагментацию ЖД, на время выполнения Historian лучше выключить (хотя не обязательно)
    • Если сообщения будут повторяться часто, что само по себе означает потерю данных, лучше заменить ЖД на более производительный или уменьшить скорость сбора данных для архивирования.

Warning Event Storage Exception caught, CEventStorageServer:EnqueueEventsFromForwardedSnapshot

Пример сообщения: Event Storage Exception caught,CEventStorageServer:EnqueueEventsFromForwardedSnapshot [CPP3FPMESHIS01; EventStorageServer.cpp; 950] CommitSnapshot (time range = 2017/03/22: 15:01:04.896 --> 15:01:39.365) failed: error = 62 (End of file reached) [EvtStorage.cpp, 850]

Причина: This log entry indicates that some platforms are trying to send a corrupted StoreForward Events blocks. Follow the below steps provided to identify the platforms and how to prevent raising the error

Решение:

1.On Historian node, Open SMC and then open Log Flag Editor, select "aahClientAccessPoint" component and enable "Operation" log Flag then File Apply and OK.

2.Now the platform and engine that sends the corrupted SF blocks to Historian can be identified: AppEngnine by process ID (PID) from message, for example: "PC1:aaEngine(11.6)(25665,1908017598) Starting ForwardSnapshotEnd2-Event" where PC1 - PlatformName, 25665 - PID of AppEngine(aaEngine). The correspondence of the PID and the AppEngine name can be viewed in the task manager by adding the command line field.

3.Remove the Event Folder within the SF folder after stopping the corresponding AppEngine. The folder will be recreated after start AppEngine.

Warning Consider purging or archiving old stored Alarms Events data to maintain storage retrieval performance

  • Причина:

Предупреждение возникает ввиду превышения размеров БД с алармами и событиями (A2ALMDB) рекомендуемого производителем размера в 6 млн. записей (или 8 Gb объема). После достижения этого объема производительность вставки и извлечения значительно ухудшается.

  • Варианты решений:

1. Используем утилиту Alarm DB Purge Archive для очищения/архивирования устаревших алармов и событий. Описание в документе ITAlarmandEvents.pdf, глава Maintaining the Alarm Database + см. пример в TN 500 Using Old and New Alarm Data from WWALMDB.

2. Пересоздаем базу A2ALMDB по инструкции здесь, и сразу настроить работу Alarm DB Purge Archive для поддержания разумного объема online данных в БД.

3. Перенастраеваем архивирование алармов и событий в History blocks. Подробнее см. в TN 1107 Galaxy Alarms- Writing to and Reading from History Blocks. После этого следить за объемом алармов и событий не придется, этим будет заниматься Historian Server по общим настройкам для архивных данных.

EventSnapshot отправляет только часть переменных в таблицу SQL

  • Причина:

В последней версии WSP 2017 U3 SЗ1 разработчиками были внесены изменения в систему получения данных, это могло стать причиной сбоя.

  • Варианты решений:

Внести изменения в реестр Windows добавив ключ типа DWORD32 по пути : Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ArchesrA\Historian\Programs\aahRetrieval название ключа UseQueryProcessingThreadPool значение - 0

Обучающее видео по Wonderware Historian / Historian client на русском языке

  • см. запись вебинара "Введение в Wonderware Historian и Historian Client":
    • Возможности сбора и хранения данных в Wonderware Historian
    • Агрегирование данных
    • Архитектура Wonderware Historian
    • Построение графиков и отчетов с использованием Wonderware Historian

Для просмотра записи вебинара перейдите по ссылке: http://www.klinkmann.ru/courses/webinars/

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

Полезные материалы

Другие темы