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 за визначений проміжок часу.