From OpenSCADAWiki
Jump to: navigation, search

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