From OpenSCADAWiki
API
!!!!:Зміни:
- SYS: Типовий конструктор ResMtx встановлено у true для "isRecurs", оскільки це загальна ситуація.
- Більшість функцій додання до контейнеру вузлів розширено поверненням результуючого ідентифікатора/ім'я створеного вузла для: chldAdd(), TSecurity::{usrAdd(),grpAdd()}, TTypeBD::open(), TTypeTransport::{inAdd(),outAdd()}, TValue.chldAdd(), DAQ.{TController::add(),TParameter::add(),BlockCalc.blkAdd()}, TTypeArchivator::{messAdd(),valAdd()}, TArchiveS::valAdd(), UI.VCAEngine::{wlbAdd(),prjAdd(),WLib.add(),Project.add(),Project.Page.pageAdd()}, UI.WebUser.uPgAdd().
- TFld::Selected всюди перейменовано у TFld::Selectable.
- Варіант спеціальної функції strMess() із обмеженням розміру результуючого повідомлення видалено та замінено функцією strEncode() із типом TSYS::Limit.
- chldList() та chldPresent() зроблено віртуальними.
- DAQ,Special: Атрибут "run_st" у TPrmTmplLib та TSpecial перейменовано у runSt.
- Archives: TArchiveS::messPut() очищено від аргументу "force".
- Protocols.HTTP: Функції користувацького API pgAccess(), pgCreator() перенесено із TProtocol до TProtocolIn.
- Transports.In: Функцію protocol() перейменовано у protocols() та видалено protocolFull().
Доповнення:
- SYS: Додано загальний механізм замків через контейнер замків, функція commonLock().
- TConfig,*: Функції API користувача для конфігурації TConfig::cfg() та TConfig::cfgSet() розширено контролем прав.
- Доповнено функціями TCfg::toDefault() та TConfig::cfgToDefault() скидання конфігураційного контексту до типового.
- Об'єкт TFunction доповнено ознакою зміненості процедури isChangedProg(), та прапорець TFld::Selectable і функція ioAdd() доповнена результатом позиції доданого ВВ.
- Запит Інтерфейсу Керування "load" розширено визначенням обраної БД у атрибуті "force", для здійснення такої операції щодо конкретного вузла.
- XMLNode: Функцію отримання атрибутів attr() розширено опціональним аргументом визначення присутності.
- "Масив (Array)" простору користувача розширено функціями indexOf() та lastIndexOf().
- Функцію API користувача SYS.fileRead() розширено аргументами зміщення та розміру блоку читання.
- Функцію API користувача strEncode() доповнено підтримкою варіантів "ToLower" та "Limit".
- API користувача доповнено функцією strFromCharUTF() формування рядку із UTF-8, UTF-16, UTF-16LE, UTF-16BE, UTF-32, UTF-32LE, UTF-32BE.
- Доповнено визначенням періодичності сервісного завдання SERV_TASK_PER=10.
- API користувача доповнено функцією SYS.fileSize().
- Додано функцію str2atime() для конвертації часу у рядку у час від епохи UNIX з підтримкою GMT.
- TError доповнено назвами кодів помилок у перелічені "Codes", які всюди використано.
- Спеціальні назви архівів доповнено назвою ALRM_ARCH_CH_NM ("<alarmsChange>"), для простої зміни наявних порушень.
- Обмеження доповнено USER_ITS_LIMIT (1000000) для обмеження кількості елементів на кшталт користувацьких масивів із DAQ.JavaLikeCalc.
- DB: Додано контроль закриття транзакцій у ядрі OpenSCADA функціями trTm_ClsOnOpen(), trTm_ClsOnReq() та trPr_ClsTask().
- Додано контроль процесу пере-увімкнення об'єктів БД функцією disabledByUser().
- Доповнено конфігурацією "Час життя відкритих таблиць", для закриттям неактивних таблиць функцією tblLifeTime().
- Атрибут TBD::mEn перенесено до захисного простору.
- Транспорти:
- In: Доповнено віртуальними функціями keepAliveReqs(), keepAliveTm() для правильного KeepAlive на Web.
- Out: Доповнено сервісом закриття вихідних транспортів за часом життя (неактивності), сервісною функцією outLifeTime().
- Розширено полем загального контролю спроб у функції attempts().
- Уніфіковано контролем часу останнього запиту у функції lstReqTm().
- Додано функцію outAddrHelp() для отримання загальної допомоги за адресою модулів вихідних транспортів.
- Protocol.HTTP: Розширено функцією користувацького API setUser() для зміни автентифікованого користувача.
- DAQ: TController::alarmSet() розширено аргументом "force" для примусового встановлення порушень на об'єктах контролерів у резервуванні.
- DAQ-параметри доповнено функцією користувацького API alarmSet() та функцією vlSetRednt() уніфікованого запису значень у резервуванні.
- TDAQS::rdRestDtTm() розширено поверненням double замість float.
- Доповнено функцією користувацького API daqAt().
- Функцію користувацького API funcCall() розширено аргументом "err".
- JavaLikeCalc: Функції користувацького API charAt() та charCodeAt() розширено підтримкою UTF. Функції користувацького API розширено isNaN() для bool, integer, real, string (особливо для перевірки чисел у рядку).
- Архіви:
- Об'єкти TMArchivator та TArchiveS доповнено функцією redntTm() та rdTm() для отримання останнього часу резервування архівів повідомлень.
- TArchiveS::rdRestDtOverTm() розширено поверненням double замість float.
- Архіви значень доповнено загальною опцією autoIdMode() режиму формування Ідентифікатору автоматично створюваних архівів із варіантами перелічення AutoIdMode::{BothPrmAttrId,OnlyPrmId,OnlyAttrId}.
- Val: Додано функції API користувача getVals() та setVals() для реалізації загального механізму доступу до архівів/історії у масиві та із фіксованою періодичністю.
- UI: Декларацію контекстної документації із опису деяких вузлів уніфіковано функцією TUIS::docKeyGet().
- VCAEngine: Додано функцію користувацького API рівня сеансу this.ownerSess().uiCmd(). Віджет виконання доповнено функцією API користувача this.attrList() для отримання переліку атрибутів віджету.