From OpenSCADAWiki
< Documents‎ | Release 0.8.0
Revision as of 08:27, 5 June 2020 by RomanSavochenko (Talk | contribs) (Created page with "{{CntHdr|Протокол}} * ModBus: Додано підтримку функцій 0x2 (CI) та 0x4 (RI). Додано класичну форму запису регіст...")

Jump to: navigation, search
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: Check and warning about no apply changes at the page change is added. Added and used function getPrintVal() for check and encode straight binaries. Selected group nodes commands "load" and "save" support is added.
  • VCAEngine: User API session area functions attr() and attrSet() expanded by argument "bool fromSess" and "bool toSess" respectively for set the attributes to the session table. FIX: Change parent trace for project and widget's library fix. VCAEngine: geomZ for widgets allows to negative.
  • Vision: geomZ manage changed to changing only for single widget and rip from real work position, mostly for prevent group widget's geomZ change and collisions to no changed widgets position. Included widgets order updating function expand for prevent system widget's reorder and allow after sort by ID for equal Z. FIX: For included to container's pages set attribute Qt::WA_WindowPropagation for allow true transparent by palette propagation, mostly for Slider hide. FIX: Widgets order update fix after manual "geomZ" set into development mode.
  • {QTCfg,Vision}: For wait cursor uses QApplication::setOverrideCursor(Qt::WaitCursor).
  • {VCAEngine,Vision}: Changes into visual items put down to the parent function is added. Check and warning about no apply changes into item's configure dialogs is added.