Skip to content

Настройка глубины хранения для разных параметров

← К списку вопросов

В Alpha.Historian можно настроить разные глубины хранения, распределив сигналы по отдельным множествам и базам данных.

  1. Создайте несколько БД с нужной глубиной хранения.

Базы данных с разной глубиной хранения

  1. Пропишите все созданные БД в сервере истории.

Регистрация БД в сервере истории

  1. Для разделения сигналов по множествам используйте тип атрибута HistorySetAttribute в Om.Server.Attributes.
  2. Для каждого множества создавайте свой кастомный тип атрибута с этой пометкой.
  3. Встроенный Om.Server.Attributes.History можно пометить как неименованное множество (пустое значение).

Как сигнал попадает в множество

Section titled “Как сигнал попадает в множество”
  • Вручную: добавить сигналу нужный атрибут и указать параметры в формате Om.Server.Attributes.History.
  • Через вкладку “История” в DevStudio: выбрать множество и заполнить параметры через UI.

Как множество связывается с БД

Section titled “Как множество связывается с БД”
  1. В элементах БД (Alpha.Historian, MS SQL Server, PGSQL) используйте свойство NamedHistorySetOnly (False по умолчанию).
  2. При генерации HistoryModule:
    • если NamedHistorySetOnly == False, с БД связывается неименованное множество;
    • если NamedHistorySetOnly == True, неименованное множество не связывается.
  3. Именованные множества связываются через атрибут типа Om.Server.Attributes.HistorySetAttribute с пустым значением.

Что будет, если никакой атрибут сигналу/базам не добавлять?

Ответ

  • Если сигналу не добавить атрибут именованного множества, он попадет в неименованное множество.
  • Такой сигнал сохраняют только БД, где Только именованные множества = Нет.
  • Если у БД включено Только именованные множества = Да и не задан атрибут множества, проект не скомпилируется.

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

Можно ли сохранять один сигнал в две и более БД?

Ответ

  • Да, если несколько БД ассоциированы с одним и тем же именованным множеством.
  • Также можно писать в несколько БД через неименованное множество, если у БД Только именованные множества = Нет.
  • Один сигнал не может принадлежать нескольким именованным множествам одновременно.

Сигнал с двумя атрибутами множеств

Что будет, если вместе с атрибутом множества поставить флаг сохранения в историю?

Ответ

Флаг не меняет результат: принадлежность именованному множеству уже определяет запись в историю.

Свойства 9001 и 9002 для атрибута История