From OpenSCADAWiki
< Documents | Release 0.9
Це оновлення релізу 0.9 LTS виправляє біля 40 помилок та додає деякі удосконалення, які цілком ви можете почитати у протоколі змін оновлення.
Linux Дистрибутив Автоматизації проєкту OpenSCADA
- пакети "tdelibs" та "tdebase" було видалено через застосування цих виправлень до головної та стабільної гілки TDE;
- виправлені пакети "tdemultimedia-trinity", "tdenetwork-trinity" та "tdeutils-trinity" було перескладено;
- складено новий виправлений пакет "tde-i18n-uk-trinity";
- перед складанням пакетів було змінено схему формування версій пакетів цього дистрибутиву із "{+1}:14.0.9-0" на "4:14.0.9-{+1}" з метою запобігання заморожуванню цих пакетів на наступних версіях TDE; та головний репозиторій пакетів TDE Живих Дисків переключено на гілку "r14.0.x" замість попередньої стабільної, яка також наявна, але закоментована;
- перед цим релізом, у TDE Weblate завершено переклад Українською частин-пакетів TDE: tdelibs, tdebase, tdegraphics, tdenetwork, tdemultimedia, tdepim, tdeadmin, tdeaccessibility, tdeutils, krusader, yakuake, basket; та створено виправлений пакет "tde-i18n-uk-trinity" для перекладу відмінностей гілки "r14.0.x" від головної;
- латку до "tdeutils" доповнено комбінацією клавіш із утриманням Ctrl для повільної зміни яскравості дисплею до KMilo.
OpenSCADA бібліотеки та проєкти
- FIX:LibsDB.OscadaLibs: Бібліотеку DevLib доповнено шаблонами "MTP 4D (MTP4D)" та "ModBus база (mbBase)".
- FIX:LibsDB.vcaBase: Шаблонний проєкт (tmplSO) очищено від зайвих мнемосхем керування рецептами та головну сторінку доповнено таблицею актуальних сигналів-порушень. Кадр Main.RootPgSo уніфіковано сповіщувачами лише у загальних атрибутах для СВУ-серверу та сповіщувачів Vision, WebVision: notify0, notify1 та notify2.
API
!!!!:Зміни:
- Архіви-Історія: {TMArchivator,TVArchivator,TVArchive}::DB() встановлено у кваліфікатор постійної.
- Транспорти.{.,*}: Функцію встановлення таймаутів setTimings() вихідних транспортів розширено розрізненням типових таймаутів для різних протоколів, за допомогою аргументу "isDef".
Доповнення:
- SYS.,*:
- Обмеження та параметри простору системи перенесено до простору конфігурації користувача (конфігураційний файл) для деякого дозволеного діапазону. STD_WAIT_DELAY перенесено до prmWait_DL та змінено у 0.1 секунд. Попередні визначення обмежень та параметрів простору системи залишено для сумісності зовнішніх модулів!
- TSYS доповнено функцією taskSendSIGALRM() надсилання сигналу переривання "ALARM" до завдань OpenSCADA.
- TValFunc: Доповнено станом виконання функції через функцію isCalc().
- Транспорти: Вихідні транспорти розширено позначенням Мережевих транспортів, функцією isNetwork(), також у користувацькому API.
Система
- FIX:Складання:configure.ac: Версію бібліотеки ядра збільшено до 3:9:0 та версію програми збільшено до 0.9.3.
- {DAQ,Протокол}.ModBus:
- підтип "_b" — бітовий тип, доповнено переміщенням номеру біту до поля номеру регістру на кшталт "R_b:123.12";
- доповнено прапорцем "~" для інверсії порядку регістрів комплексних підтипів у декількох регістрах, як то "_f";
- прапорець "rw" виокремлено у "r" та "w".
- Модульну версію підсистеми "Транспорти" збільшено до 17.
- FIX: Попереджено від автентифікації у інтерфейсі користувача готовим хешем паролю.
Збір Даних
- LogicLev,ModBus,Siemens: Доповнено перериванням тривалого виконання шаблонів при вимкнені параметру, з використанням нових функцій TValFunc::isCalc() та TSYS::taskSendSIGALRM().
- FIX:LogicLev: Видалено блокування виконання "calcRes", яке використано лише у блокуванні запису до параметру протягом обчислення та що може бути тривалим.
Архіви-Історія
- FIX: Отримані поточні значення, у активному режимі архівування, примусово встановлено у поточний час, що важливо для архівування динамічних атрибутів.
- Конфігураційне поле архіву значень "Режим формування ID атрибуту автоматично створюваних архівів" розширено елементом обрання "Всі ID контролеру, параметру та атрибуту", у процесі розширення обмеження на розмір ІД архіву значень до 50 символів.
- FIX:DBArch: Виправлено лише пряме архівування значень у груповому режимі та коли тип значень може скидатися у Цілий тип, як типовий. Архівування значень у груповому режимі доповнено видаленням відповідного стовпчика таблиці при видалені архіву, для гарячого видалення стовпчиків одразу після додання нового архіву, чим запобігаючи ранньому розростанню таблиці до обмежень БД.
- FIX:FSArch: Адаптація до розміру ІД архіву значень більш за 20 символів, коли додаткові 14 символів зберігаються у резервній частині (перейменованій у "archive_add") заголовку та решта у назві фалу.
Транспорти
- FIX: Функція TTransportIn::assTrO() опрацювання вхідних ініціативних підключень цілковито відревізовано задля забезпечити обов'язковим створення нових підключень у вигляді нового вихідного транспорту, відтак запобігаючи правильному завершенню наявних закритих але не звільнених вихідних транспортів.
- Команди транспортів перейменовано із "Виконання" у "Підключення" та статуси перейменовано із "Запущено. " у "Отримання даних. " та "Підключено. ", із "Зупинено. " у "Відключено. ".
- FIX:{Sockets,SSL}: Типові таймаути повернено у "10:1".
Транспортні Протоколи
- HTTP:
- Доповнено динамічною назвою печива (cookies) та Користувацьким простором ІД, де назва печива "oscd_UID" і використано Користувацький простір ІД при роботі із загальною таблицею сеансів автентифікації, та назва печива "oscd_UID_{PrjNm}" при роботі без цього.
- FIX: POST вихідної функції outMess() з багатьох частин попереджено від розміщення кінцевого розмежувача та покращено у формуванні "Content-Disposition".
- Покращено генерацію ІД користувача генерацією різних ІД для різних процесів, обмежене у 1e6, та доповнено випадковим та конфігурованим Користувацьким простором ІД [0...99] * 1e6, використаним у роботі із таблицею загальних сеансів автентифікації.
- SelfSystem: Специфічні таймаути вихідного транспорту встановлено у "20:2".
- ModBus: Специфічні таймаути вихідного транспорту встановлено у "5:0.1" для Мережевих транспортів — isNetwork() та варіанту протоколу "RTU".
Інтерфейс Користувача
- FIX: TUIS::docKeyGet() виправлено щодо витоку користувацьких об'єктів масивів.
- VCAEngine,WebVision,Vision: Примітив "Media" доповнений типом "Audio" та тип "Повне відео" перейменовано у "Відео", який також імплементовано у WebVision та Vision.
- QTCfg,Vision: Доповнено функцією підлаштування кольорів тексту до фонового кольору — colorAdjToBack(), яку використано у корекції кольорів підсвітлення синтаксису, та інших динамічних кольорів, до зміни палітри.
- VCAEngine,Vision: Розширено реалізацію сповіщень у процесі їх впровадження у WebVision, щодо:
- використання стандартного шляху отримання сповіщень через активацію відповідних атрибутів;
- розширення ntfReg() використанням негативного типу для опрацювання всіх типів, переважно очищення, та деякої уніфікації коду;
- розширення отриманням типу ресурсу;
- доповнення сповіщувачів прапорцем "notifyServ" ввімкнення сповіщення на боці СВУ-серверу;
- доповнено, на боці СВУ-серверу, полем "resStatic" прямого визначення ресурсу (не динамічне);
- доповнення контексту процедури сповіщення двома змінними "resTp" та "prcID".
- FIX:UI.QTStarter: Доповнено періодичним оновленням діалогу запуску у переліку проєктів.
- FIX:VCAEngine: Виправлено падіння при встановленні посилання віджету у "prm". Сервіс запиту ресурсу "get:/wdg/res", Widget::resourceGet() та {WidgetLib,Project}::mimeDataGet() доповнено запитом частин ресурсу, переважно для великих медіа файлів.
- FIX:Vision: Доповнено програванням сповіщень внутрішнім програвачем на Phonon та не у окремому завдані сповіщувача. Виклик saveState() переміщено із деструктору вікна розробки до події закриття, оскільки було помічено проблему збереження порожнього контексту після програвання деякого медіа.
- FIX:WebVision:
- Імплементація підтримки сповіщень.
- Імплементація завантаження частин ресурсів, для великих медіа, HTTP параметром "Range: bytes=".
- FIX: Виправлено зайве очищення кешу сторінки щодо віджетів із сторінок із спільною назвою до сторінки що видаляється.
- WebUser: Адаптовано до роботи із POST та вмістом у тілі.