From OpenSCADAWiki
Программный интерфейс OpenSCADA для реализации доступа к архивным данным представлен объектами и виртуальными функциями вызовов из ядра OpenSCADA:
- TTypeArchivator->TModule — Корневой объект модуля подсистемы "Архивы":
- TMArchivator *AMess(const string &id, const string &db ); — Вызывается при открытии или создании нового объекта архиватора сообщений id данным модулем с хранилищем в db.
- TVArchivator *AVal(const string &id, const string &db ); — Вызывается при открытии или создании нового объекта архиватора значений id данным модулем с хранилищем в db.
- TMArchivator — Объект архиватора сообщений с реализуемым способом архивирования и расположением хранилища:
- void start( ); — Запуск архиватора. Архиватор начинает принимать сообщения и размещать их в хранилище.
- void stop( ); — Останов архиватора.
- time_t begin( ); — Начало данных в архиваторе согласно текущему состоянию хранилища.
- time_t end( ); — Конец данных в архиваторе согласно текущему состоянию хранилища.
- void put( vector<TMess::SRec> &mess ); — Вызов на размещение сообщений mess в хранилище.
- void get( time_t b_tm, time_t e_tm, vector<TMess::SRec> &mess, const string &category = "", char level = 0, time_t upTo = 0 ); — Запрос сообщений mess в архиве за промежуток времени b_tm ... e_tm согласно шаблону категории category и уровню с ограничением на время запроса до upTo.
- TVArchivator — Объект архиватора значений с реализуемым способом архивирования и расположением хранилища:
- void setValPeriod( double per ); — Вызывается при смене периодичности значений архиватора.
- void setArchPeriod( int per ); — Вызывается при смене периодичности архивирования.
- void start( ); — Запуск архиватора. Архиватор начинает принимать сообщения и размещать их в хранилище.
- void stop( bool full_del = false ); — Останов архиватора с возможностью полного удаления его данных в хранилище, если установлен full_del.
- TVArchEl *getArchEl( TVArchive &arch ); — Запрос объекта-представителя архива arch, обслуживаемого архиватором.
- TVArchEl — Объект представителя архива значений в хранилище архиватора:
- void fullErase( ); — Вызывается для полного удаления части архива в архиваторе.
- int64_t end( ); — Время окончания архива в архиваторе.
- int64_t begin( ); — Время начала архива в архиваторе.
- TVariant getValProc( int64_t *tm, bool up_ord ); — Запрос на обработку получения одного значения из архива за время tm и доводкой к верхнему значению в сетке дискретизации up_ord.
- void getValsProc( TValBuf &buf, int64_t beg, int64_t end ); — Запрос на обработку модулем получения данных группы значений buf за указанный промежуток времени.
- void setValsProc( TValBuf &buf, int64_t beg, int64_t end ); — Запрос на обработку модулем размещения данных группы значений buf за указанный промежуток времени.