From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page Documents/Release 0.8.0/Update11 and the translation is 100% complete.

Other languages:
English • ‎mRussian • ‎Українська

Це оновлення релізу 0.8 LTS виправляє біля 20 помилок та додає деякі удосконалення, які цілком ви можете почитати у протоколі змін оновлення.

API
!!!!:Зміни:

  • SYS: Перелік TSYS::Errors (переважно DB Errors) видалено як застаріле.
    • TSYS::modifCfg() розширено для перевірки на доступ для запису.
    • Уніфіковано функції strEncode() та strDecode().
    • XMLNode: Аргумент позицій функцій childIns() та childDel() встановлено у знаковий тип (integer) щоб дозволити вставку та видалення від кінця (негативне значення).
  • TCntrNode: До функцій TCntrNode::load() та TCntrNode::save() додано аргумент "string *errs = NULL" для розташування всіх помилок завантаження та збереження об'єктів.
  • DB: Розширено функції TBDS::dataGet(), TBDS::dataSet() та TBDS::dataDel() аргументом "noEx = false" для генерації виключень у випадку помилок доступу до сховища.
  • Transport: setAddr() змінено на невіртуальний, використано cfgChange() замість. До функції "start()" вихідного транспорту додано аргумент часу, ненульове значення якого контролює час підключення.
  • DAQ: Аргумент "maxCalcTm" функції TTipDAQ::compileFunc() встановлено у 0 для ознаки використовувати значення по замовченню модуля.
  • Archive: TArchive, TMArchivator та TMArchivator переведено на використання TConfig::cntrCmdMake(). setValPeriod() та setArchPeriod() змінено на невіртуальні, використано cfgChange() замість.

Доповнення:

  • SYS: Ініційований нулем об'єкт помилки "TError() : cod(0)" додано. Додано нову глобальну та просту функцію s2ll() до простору імен OSCADA. Варіант функції TSYS::strMess() додано для контролю за довжиною та додання "...".
  • Archive: Додано пріоритет обрання до об'єкту архіватору значень з метою надання контролю за послідовністю та відключення взагалі у режимі обрання "Всі", використано для функцій getVal(), getVals() та сервісу архіву "/serv/val". Додано функції selPrior() та setSelPrior().

DB

  • AGLKS.St.db: ModBus.testTCP, DAQGate.test та OPC_UA.test встановлено для запуску по замовченню. FIX: Архіватори повідомлень "FSArch.NetRequsts" та "FSArch.StatErrors" виправлено.

SYS

  • Додано функції API користувача strEncode() та strDecode(). Додано повідомлення про проблеми доступу до сховищ. Комплексне тестування повідомлення про проблеми для сховищ: SQLite, MySQL, PostgreSQL, FireBird, DBF, Cfg; результати: wiki.oscada.org/Works/Tests/DB.
  • FIX:TFunction, TValue, UI.VCAEngine.Attr: Додано встановлення TEValObj() до атрибуту об'єктного типу за EVAL скаляру.

DB

  • Попереджено виключення під час відключення об'єкту БД, зазвичай після проблем під час підключення до мережевої БД. Зменшено таймаут очікування звільнення таблиць до 1 секунди під час зупинки БД, для прискорення під час втрати підключення до мережевої БД.
  • DBF: Додано періодичну синхронізацію (10 секунд) змін у пам'яті до файлів. Додано обрання теки БД у рядку конфігурації об'єкту БД. Додано доступ та помилки для БД тільки для читання.
  • SQLite: Додано підтримку запису бінарного рядка до БД у формі "#'XXXXXX'". Адаптовано до роботи у режимі тільки для читання.
  • FireBird: Опрацьовувані типи розширено до: blr_varying, blr_varying2, blr_text, blr_text2, blr_blob, blr_short, blr_long, blr_int64, blr_float, blr_double та blr_d_float. FIX: Додано очищення даних API після помилок підключення. fieldSet() та fieldDel() значним чином переписано для типовості.
  • MySQL: Адаптовано до роботи у режимі тільки читання, fieldDel() значним чином переписано для опрацювання режиму тільки для читання. Додано опрацювання CR_CONNECTION_ERROR у випадку втрати підключення.
  • PostgreSQL: Опрацьовувані типи розширено до: text. character varyin, character(%d), character varying(%d), smallint, integer, bigint, real, double precision, timestamp with time zone. FIX: Опрацювання втрати підключення пересунуто на після запиту. Опрацювання транзакцій переписано для типовості. Адаптовано для роботи у режимі тільки для читання, fieldDel() значним чином переписано для опрацювання режиму тільки для читання.

DAQ

  • FIX:JavaLikeCalc: "Помилка постійної після постійної" доповнена позицією її розташування. Додано типовий час безпеки у вкладці модуля.

Кореневий об'єкт TDAQS розширено запитом інтерфейсу керування "/serv/PrmAttr" для віддаленої навігації за деревом DAQ параметрів.

  • FIX:ModBus: Виправлено запис за комплексними типами типу "_f", "_i4" у режимі тільки для запису. Комплексні типи розширено із "u2" - uint16, "d" - Double.
  • SNMP: Значно розширено навігацією за OID у рядку, MIB дерево використано для визначення режиму доступу та варіантів обрання переліку.
  • OPC_UA: До об'єкту конфігурації параметру додано навігацію у рядку за деревом OPC UA вузлів. FIX: Розширено контроль розміру вхідного пакету та заголовку для раннього опрацювання та відкидання.
  • DAQGate: Додано навігацію у рядку за зовнішніми вузлами та деревом віддалених параметрів. Розширено для ідентифікації віддалених параметрів у незалежному просторі назв та пов'язання за ідентифікатором віддаленого параметра. Дозволено проходження "/prm/*" змінних для опрацювання деяких глобальних переліків. Розширено для пов'язання з ієрархічними параметрами (із OpenSCADA 0.9).

Архів

  • FIX: Виправлено втрату підключення архівів до архіватору у випадку його перезапуску.
  • FIX: Виправлено встановлення негативного рівня порушень у випадку прямого їх запиту через сервіс "/serv/mess" на предмет попередження модифікації збережених даних.
  • Встановлення періоду архіватору розширено на предмет значення нуль та відключення за цим опрацювання буферу значень, тобто тільки для прямого запису до архіву.
  • Адаптовано для запису невирівняних до періоду значень та буферів.
  • FIX:DBArch: Додано примусове перечитування meta-даних для архівів значень, після помилкового їх читання на старті, через недоступність мережевої БД. Додано виявлення відключення архіватору від БД та використання наступного архіватору за пріоритетом.
  • {DBArch,FSArch}: Типовий пріоритет встановлено у 1 для DBArch та 1000 для FSArch.

Transport

  • Додано до вкладинки "Запит" вихідного транспорту отримання виміряного часу запиту після його переривання виключенням. FIX: TTransportOut, TTransportIn виправлено на предмет перевірки та опрацювання встановлення значень.
  • Sockets: Типові таймаути вихідних транспортів певернуто у "5:1".

Протокол

  • ModBus: Додано підтримку функцій 0x2 (CI) та 0x4 (RI). Додано класичну форму запису регістрів та комплексні типи розширено "d" - Double.
  • SelfSystem: Реалізацію протоколу покращено для перевірки та очікування повноти заголовку. Додано аргумент "conTm" до вихідного частини транспорту. SES_OPEN обмежено у 10 підключень від одного джерела та користувача. Сеанс пересунуто у std::map для прискорення.

UI

  • QTCfg: Додано перевірку та попередження про неприйнятті зміни на сторінці. Додано та використано функцію getPrintVal() для перевірки та кодування відверто бінарних рядків. Додано підтримку команд "load" та "save" до групи вузлів.
  • VCAEngine: Розширено функції API користувача області сеансу attr() та attrSet() аргументами "bool fromSess" та "bool toSess" відповідно для встановлення атрибутів до таблиці сеансу. FIX: Виправлено стеження зміни батька для проектів та бібліотек віджетів. VCAEngine: атрибут "geomZ" віджетів дозволено негативним.
  • Vision: Керування атрибутом "geomZ" змінено на його зміну тільки у одного віджета для попередження відриву від реально робочої позиції, переважно для попередження зміни "geomZ" у групи віджетів та колізій реальної не зміни позицій. Функцію оновлення послідовності вкладених віджетів розширено для попередження випадковості впорядкування для однакових значень "Z", шляхом досортування за ідентифікатором. FIX: Для вкладених у контейнер сторінок встановлено атрибут вікна Qt::WA_WindowPropagation з метою забезпечення реальної прозорості шляхом розповсюдження палітри, переважно через приховування Slider. FIX: Виправлено оновлення послідовності віджетів після ручного встановлення "geomZ", у режимі розробки.
  • {QTCfg,Vision}: У якості курсору зайнятості-очікування використано QApplication::setOverrideCursor(Qt::WaitCursor).
  • {VCAEngine,Vision}: Додано функцію опущення змін візуального елементу до його батька. Додано перевірку та попередження про неприйнятті зміни у конфігураційному діалозі елементів.