From OpenSCADAWiki
< Documents | Release 0.8.0
Це оновлення релізу 0.8 LTS виправляє біля 35 помилок та додає деякі удосконалення, які цілком ви можете почитати у протоколі змін оновлення.
API
!!!!:Зміни:
- SYS.TUI: Атрибут run_st перейменовано у runSt.
Доповнення:
- SYS: API користувача для об'єкту Array розширено функцією sum() з метою підсумку вказаних елементів масиву. Додано функцію API користувача SYS.fileRemove(string file).
SYS
- FIX: Функцію API користувача system() виправлено на предмет повного читання каналу за допомогою popen, безпосередньо до EOF.
- FIX: Виправлено встановлення, під час перевірки багатопроцесорності, для користування тільки одного процесору, номер 1, шляхом отримання реальної кількості процесорів.
- FIX: Завантаження конфігураційного файлу та функцію користувацького API load() переписано з метою попередження доступу за межі виділеної пам'яті.
- FIX: Безпека: створення стандартних користувачів "root", "user" та груп "root", "user" додано тільки після завантаження підсистеми та їх відсутності. Розширено функцію access() на предмет перевірки присутності групи та попередження виключень.
- FIX:debian.openscada.init,data.{oscada_ALT.init,oscada_gentoo.init}: Виправлено відсутність ключового слова "export" перед LANG=en_US.UTF-8.
- TRegExp: До функції replace() додано перевірку на ненульовий діапазон з метою попередження зависань.
- Опції командного рядку встановлено у нечутливість регістру: coreDumpAllow, pidFile, h, help, log, messLev, modPath, config, station, statName. Деякі опції командного рядку перейменовано та доповнено синонімами: demon + daemon, CoreDumpAllow у coreDumpAllow, pid-file + pidFile, MessLev у messLev, ModPath у modPath, Config у config, Station у station, StatName у statName.
- Версії всіх модулів піднято згідно їх змін та надалі буде відстежуватися зі змінами.
- debian: Значним чином очищено на предмет вирішення більшості помилок та попереджень lintian. openscada.init: Рівні Default-Start встановлено у 2 3 4 для попередження автоматичного запуску із графічним інтерфейсом, за рівнем 5.
- Додано можливість встановлення основного набору процесорів у конфігураційному полі, включно із інформацією про поточний набір процесорів. Така-ж інформація про поточний набір процесорів додана за потоками завдань, у головній вкладці "Завдання".
- Адресацію за властивостями конфігураційного файлу встановлено у нечутливість до регістру, для значення атрибуту "id", особливо для: Workdir у WorkDir.
БД
- FIX: Виправлено видалення БД із конфігураційного файлу встановленням "ForceCfg".
Збір даних
- FIX:{DCON,ModBus}: Виправлено розширення повідомлень про помилки, доповненням різними помилками спроб.
- FIX:ICP_DAS: Швидке завдання збору I-8017 переключено на використання TSYS::taskSleep() замість clock_nanosleep(), з метою попередження зависань у випадку переповнення wTm. Виправлено збірку на ARM.
- FIX:DAQGate: Попереджено можливу втрату архівів шляхом виключення їх видалення із параметрами під час синхронізації. Виправлено для попередження втрати атрибуту SHIFR та інших після відновлення параметру, що пов'язано із блокуванням після спроби видалити.
- FIX:JavaLikeCalc: Виправлено функцію {Ціле}.toString() на предмет встановлення знаковим виключно для бази 10.
- FIX:SoundCard: Попереджено залишення захоплення ресурсу для невимкнених параметрів.
Архів
- FIX: Виправлено встановлення значення поля "Source" із конфігураційного інтерфейсу (конфігуратори).
- FIX:{*,FSArch}: prev_val уніфіковано до типу double у всіх операціях на кшталт усереднення.
- FIX:FSArch: VFileArch::setVals() переписано для округлення цілого і реального типів даних з метою попередження помилки тут, доступу до невиділеної пам'яті.
- Archive.DBArch: Додано зворотне читання, при запуску, значень архівів із великою періодичністю, на зразок хвилинних та годинних.
Транспорт
- {Sockets,SSL}: Додано статистичну інформацію за активними підключеннями, включно із: файловий дескриптор сокету, адреса хосту клієнту, час підключення та останнього запиту, трафік ВВ. Додано обмеження за кількістю клієнтів на хост.
Протокол
- FIX:OPC_UA: Виправлено можливе помилкове опрацювання запису сертифікату. Файл COPYING бібліотеки замінено на вміст "GNU LESSER GENERAL PUBLIC LICENS" та додано файл GPL-3. libOPC_UA доповнено функцією Server::clientAddr() для можливості виявлення потреби перевстановлення та повторного використання безпечного каналу.
- FIX:ModBus: Виправлено опрацювання загального префіксу 'i' та рядку.
Інтерфейс Користувача
- FIX:{QTCfg,Vision}: Виправлено отримання шрифту, із базового типового шрифту (системний шрифт), у підсвітлювачі синтаксису тексту та в цілому, за допомогою Vision::getFont().
- {VCAEngine,Vision}: Додано підтримку специфічних для візуалізатору контрольних атрибутів. Втілено у UI.Vision специфічного атрибуту "Елементи статусу користувача". Видалено застарілий доступ до прав.
- QTCfg:
- FIX: Переписано перевірку неприйнятих змін на прямий механізм.
- Опрацювання запитів до хостів переміщено до окремих потоків та в цілому покращено відгук інтерфейсу.
- Розширено редагування полів цілих значень адаптивністю що-до представлень dec, hex та oct.
- Віджет перегляду переліку пересунуто до класу ListView та успадковано від QListWidget для встановлення sizeHint() у 5 рядків.
- FIX:VCAEngine: Виправлено використання у атрибутах користувача символу '|' для типів, які не дорівнюють TFld::Integer, TFld::Real та обрання. Значно оновлено контекстну допомогу для атрибутів всіх примітивів.
- FIX:Vision: Виправлено збірку для Qt 5.4. Додано перевірку та повідомлення про спробу завантаження mime до обраного елементу.
Special
- FIX:FLibSYS: VArchObj::FFT(): Попереджено потенційне падіння. Розширено для перевірки на EVAL та заміну його на адаптивний останній аргумент <vlOnEVAL>. До результуючого масиву додано об'єктні атрибути "bufSize" та "bufEVAL" для можливості контролю якості даних.