From OpenSCADAWiki
Програмний інтерфейс OpenSCADA для реалізації доступу до даних реального часу представлено об'єктами та віртуальними функціями викликів із ядра OpenSCADA:
- TTypeDAQ->TModule — Кореневий об'єкт модуля підсистеми "Збір даних":
- void compileFuncLangs( vector<string> &ls ); — Запит переліку мов користувацького програмування, які підтримуються модулем в ls.
- void compileFuncSyntxHighl( const string &lang, XMLNode &shgl ); — Запит правил підсвічення синтаксису shgl вказаної мови користувацького програмування lang.
- string compileFunc( const string &lang, TFunction &fnc_cfg, const string &prog_text ); — Виклик компіляції користувацької процедури у prog_text та створення об'єкту виконання функції на основі fnc_cfg для вказаної мови користувацького програмування lang цього модуля. Повертається адреса до скомпільованого об'єкту функції, готового для виконання.
- bool redntAllow( ); — Ознака підтримки механізмів резервування модулів. Повинен перевизначатися та повертати "true" у випадку підтримки, інакше "false".
- TController *ContrAttach( const string &name, const string &daq_db ); — Викликається при відкритті або створені нового об'єкта контролера name цим модулем зі сховищем у db.
- TController — Об'єкт контролера джерела даних. У контексті даного об'єкту за звичай запускається задача періодичного або за розкладом опиту даних реального часу одного фізичного контролера або фізично відокремленого блоку даних. У випадку отримання даних пакетами вони поміщаються безпосередньо до архіву, пов'язаного з атрибутом параметра TVAl::arch(), а поточне значення встановлюється функцією TVAl::set(), с атрибутом "sys"=true:
- string getStatus( ); — Виклик для отримання специфічного стану контролера.
- void enable_( ); — Включення контролеру. Зазвичай тут здійснюється ініціалізація об'єктів параметрів та їх інтерфейсу, в особі атрибутів, які інколи можуть запитуватися у асоційованого віддаленого джерела.
- void disable_( ); — Відключення контролеру.
- void start_( ); — Запуск контролеру. Зазвичай тут створюється та запускається задача періодичного або за розкладом опитування.
- void stop_( ); — Зупинка контролеру.
- void redntDataUpdate( bool firstArchiveSync = false ); — Виконання операції отримання даних із резервної станції. Викликається автоматично завданням обслуговування схеми резервування та перед запуском для синхронізації архівів зі встановленим параметром firstArchiveSync.
- TParamContr *ParamAttach( const string &name, int type ); — Викликається при відкритті або створені нового об'єкту параметра name, з типом type.
- TParamContr->TValue — Об'єкт параметра контролера джерела даних. Містить атрибути з реальними даними у наборі визначеному фізично доступними даними. Значення у атрибути попадають із задачі опитування контролера, при асинхронному режимі, або запитуються під час звернення, при синхронному режимі, за посередництвом методів успадкованого типу TValue, даного об'єкта:
- void enable( ); — Включити параметр. Здійснюється формування набору атрибутів та заповнення їх значенням недостовірності.
- void disable( ); — Відключити параметр.
- void setType( const string &tpId ); — Викликається для зміни типу параметра tpId та може бути оброблено у об'єкті модуля, для зміни власних даних.
- TVal* vlNew( ); — Викликається при створені нового атрибута. Може бути перевизначено для реалізації особливої поведінки у межах свого, успадкованого від TVal, класу при доступі до атрибуту.
- void vlSet( TVal &val, const TVariant &pvl ); — Викликається для атрибуту з прямим режимом запису TVal::DirWrite (синхронний режим або запис до внутрішнього буфера об'єкта) при встановленні значення з метою безпосереднього запису значення до фізичного контролера або буфера об'єкта.
- void vlGet( TVal &val ); — Викликається для атрибута з прямим режимом читання TVal::DirRead (синхронний режим або читання із внутрішнього буфера об'єкта) при читанні значень з метою безпосереднього читання значення із фізичного контролера або буфера об'єкта.
- void vlArchMake( TVal &val ); — Викликається при створені архіву значень з атрибутом val у якості джерела з метою ініціалізації якісних характеристик буфера архіву згідно особливостям джерела даних та їх опитування.