From OpenSCADAWiki
Jump to: navigation, search
(Created page with "{{CntHdr|Протокол}} * SelfSystem: Додано властивість ЛімітОдногоХостаКористувача (SingleUserHostLimit) для контро...")
(Created page with "{{CntHdr|Інтерфейс Користувача}} * FIX:VCAEngine,Vision,WebVision: ** FIX: Для примітиву "Діаграма" розширено варіант...")
Line 65: Line 65:
 
* HTTP: Розширено статусом - Активні сеанси автентифікації.
 
* HTTP: Розширено статусом - Активні сеанси автентифікації.
  
{{CntHdr|UI}}
+
{{CntHdr|Інтерфейс Користувача}}
 
* FIX:VCAEngine,Vision,WebVision:
 
* FIX:VCAEngine,Vision,WebVision:
** FIX: For primitive "Diagram" expanded address variant "data:{XMLNodeData}" for allow miss "tm", "tm_grnd" and possibility set that in seconds by attribute 's'. Fix assigning loaded values but not the append to the values buffer for direct address variants "line:{value}" and "data:{XMLNodeData}".
+
** FIX: Для примітиву "Діаграма" розширено варіант адреси "data:{XMLNodeData}" на предмет можливості відсутності "tm", "tm_grnd" та встановлення їх у секундах, за атрибутом 's'. Виправлено назначення завантажених але не доданих у буфер значень, для варіантів прямої адресації "line:{value}" та "data:{XMLNodeData}".
** FIX: View "Button" of the primitive FormEl adapted to the image scale for all the widget size and allowing cover all it space by the image.
+
** FIX: Вид "Кнопка" примітиву FormEl адаптовано до масштабування зображення до всього розміру віджету та дозволу накривати весь простір цього зображення.
** Type "XY" to primitive "Diagram" support is added, by Y into unpaired and X into paired parameters.
+
** Додано підтримку типу "XY" до примітиву "Діаграма", де Y за непарними та X за парними параметрами.
** True included widgets size scaling is added by scale edged point, for correct fit each to other at any scale.
+
** Додано правильне масштабування розміру вкладених віджетів за масштабуванням крайньої точки, для коректного підлаштування один до одного на будь-якому масштабі.
** To primitive ElFigure attribute "mirror" is added for providing the primitive's shapes mirroring. For UI.Vision implemented only main functions and some problems present now for arcs.
+
** До примітиву ElFigure додано атрибут "mirror" з метою надання можливості дзеркалювання виду примітиву. Для UI.Vision втілено тільки основні функції та деякі проблеми з дугою на разі наявно.
** FIX:QTStarter: For main UI task destroy set timeout to 60 seconds and an execution generation allowed at the destroying timeout.
+
* FIX:QTStarter: Для очікування знищення UI завдання тайм-аут встановлено у 60 секунд та дозволена генерація виключення у випадку вичерпання часу знищення.
 
* FIX:QTCfg:
 
* FIX:QTCfg:
** FIX:LineEdit: The view "Integer" fixed to set allowed values limit [-2147483647:2147483647]
+
** FIX:LineEdit: Вигляд "Ціле" виправлено на предмет встановлення дозволених меж значень [-2147483647:2147483647]
** TextEdit: Strong words wrap set, mostly for long descriptions. The fields vertical fitting to full page added, for busy. Rewrote for internal layout remove.
+
** TextEdit: Встановлено примусове перенесення слів, значним чином для довгих описів. Додано вертикальну підгонку цих полів до повного розміру сторінки, для заповнених. Переписано для видалення внутрішнього розміщувача.
 
* FIX:VCAEngine:
 
* FIX:VCAEngine:
** FIX: Link to a widget's attribute from the widget by "wdg:a_XXX" fixed and prevented from crash into generic status.
+
** FIX: Виправлено посилання на атрибут віджету із віджету за допомогою "wdg:a_XXX" та попереджено його падіння у головному статусі.
** FIX: User API operations mime() and mimeSet() used, tested and fixed for primitive "Diagram" source edition, storing into the session table and the result display, for SVG.
+
** FIX: Операції API користувача mime() та mimeSet() використано, перевірено та виправлено на предмет редагування джерела примітиву "Діаграма", збереження у таблиці сеансу та відображення результату, для SVG.
** The function resource locking to a widgets library and a project loading and the enabling by need multiple entry and perform prevent. Some crashes and not full the data access prevent for the remote project's session executers.
+
** Захоплення ресурсу функції бібліотеки віджетів та проекту під час завантаження та включення за потребою для попередження багаторазового входу та виконання. Попереджає падіння та доступність неповних даних у віддалених виконавців сеансу проекту.
 
* FIX:Vision:
 
* FIX:Vision:
** FIX:FormEl: Fixed sometime difference between real and seen value, mostly for discrete views ComboBox and CheckBox.
+
** FIX:FormEl: Виправлено випадкову різницю між реальним та видимим значенням, значним чином для дискретних видів ComboBox та CheckBox.
** FIX:ElFigure: Prevented hangs at zero length from center to first radius of Arcs. Appending remnant from the widget placing into parent container temporary removed from scaleRotate() and unScaleRotate() for prevent flaws between inundations into some cases. Source code significant cleaned for next step. Some bugs fixed. Starting implement for mirroring. Some smarter control for control point 1 and 2 of Arc is added.
+
** FIX:ElFigure: Попереджено зависання на нульовій довжині між центром та першим радіусом. Тимчасово видалено із scaleRotate() та unScaleRotate() додання залишку розташування віджету у батьківському контейнері для попередження у деяких випадках щілин між заповненнями. Вихідні тексти значним чином почищено, у продовження. Деякі помилки виправлено. Почато втілення для віддзеркалення. Додано дещо розумніший контроль за контрольними точками 1 та 2 дуги.
** FIX: Prevented double free by later restoring user and the password after changing an user to unallowed for reading an user for the project's session.
+
** FIX: Попереджено подвійне звільнення у зв'язку із запізнілим відновленням користувача та пароля після зміни користувача на недозволеного для читання із сеансу проекту.
** FIX: Remote projects and sessions list obtain fixed to proper users for the started user's field.
+
** FIX: Виправлено віддалене отримання переліку проектів та сеансів для відповідного користувача, у полі користувача запуску.
** FIX: Allowed coordinates value limited to [-1000000:1000000] by figures updating freeze into Qt for too big the values.
+
** FIX: Дозволені значення координат обмежено у [-1000000:1000000] у зв'язку замороження оновлення фігур у Qt через дуже великі значення.
** FIX: The primitive "Document" text global styles "font-weight" and "font-style" forcing removed and set only for the properties allows into the font widget's attribute, for allow working tags "<nowiki><B></nowiki>" and "<nowiki><I></nowiki>".
+
** FIX: Видалено примусові та глобальні текстові стилі "font-weight", "font-style" примітиву "Документ" та встановлено їх тільки у випадку наявності відповідних властивостей у атрибуті шрифту віджету, щоб забезпечити належну роботу тегів "<B>" та "<I>".
** FIX: "Timeouted" messages at the running session restoring try, by the background project's data loading wait, oppressed and the main window closing ceased.
+
** FIX: Повідомлення "Вичерпано час очікування" під час спроби відновлення запущеного сеансу, через фонове очікування завантаження даних проекту, придушено та попереджено закриття головного вікна.
** Primitive "Document" printing and exporting allowed from the context menu. Default printing set for alone and big (not lesser twice to main page) documents. Default exporting set for alone and big (not lesser twice to main page) documents or diagrams.
+
** Друк та експорт примітиву "Документ" дозволено із контекстного меню. Друк по замовченню встановлено для одного та великого (не менш ніж вдвічі від головної сторінки) документу. Експорт по замовченню встановлено для одного та великого (не менш ніж вдвічі від головної сторінки) документа або діаграми.
** The main opened windows list to the module configure page status added, for remote control.
+
** До статусу конфігураційної сторінки модуля додано перелік головних відкритих вікон, задля віддаленого контролю.
* WebVision: "root" user or users into group "root" allowed for multiple sessions open into any cases.
+
* WebVision: Користувач "root" або користувачі у групі "root" дозволені для багаторазового відкриття сеансів у будь-яких умовах.

Revision as of 20:29, 3 June 2020

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

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

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

  • SYS: Ресурси конфігурації відокремлено у cfgRes(). ModSched: Відокремлено захоплення ресурсів у "schM".
  • FIX:SYS: Функцію API користувача SYS.strDecode() виправлено на предмет використання аргументу 2 по замовченню.
  • TCntrNode: Прапорці MkDisable, Disable, MkEnable, Enable перейменовано у DoDisable, Disabled, DoEnable, Enabled. Режим відкладеного видалення остаточно прибрано як прапорець NodeShiftDel, видалення останнього аргументу у функцій nodeDel() та chldDel().

Доповнення:

  • SYS: Додано коротку функцію-посилання rRnd() на TSYS::realRound() (у області імен OSCADA). Додано статичний варіант функції TSYS::getCmdOpt_() для можливості використання із основної пускової програми. Об'єкт API користувача XMLNodeObj розширено функцією clear() для забезпечення швидкого очищення вузла від нащадків, тексту та/або атрибутів.
  • TRegExp: розширено опцією 'u' для дозволу UTF-8 символів та встановлено її примусово для локалі UTF-8.
  • Transport: Об'єкти API користувача доповнено функціями: In::{status,addr}, Out::{status,addr,timings}.
  • Archive: Об'єкти API користувача доповнено функціями: TVArchive::{status,archivatorList,getVal}(), TVArchivator::status().

SYS

  • Переключено на збірку за допомогою автоматичного побудовувача пакетів OpenSCADA та надання сервісних оновлень "0.8.13.{S}" користувачам, підписаним на технічну підтримку, oscada.org/ua/poslugi/tekh-pidtrimka/.
  • Основну стартову програму "openscada" значним чином переписано для забезпечення створення справжнього режиму демону: перевірка та переключення у режим демону спершу; опрацювання CoreDumpAllow для залишеного в роботі процесу; перевірка та створення PID-файлу для робочого процесу; безпосередньо запуск ядра OpenSCADA.
  • FIX:TCntrNode: Дозволено надання відключених вузлів (Disabled) у їх переліку, так як і перевірку на наявність.
  • FIX: Попереджено падіння рано запущених функцій у load_() DAQ.JavaLikeCalc, за командним рядком "openscada --help". Підсистему DAQ встановлено у впорядковану та для визначення пріоритетного режиму модулів додано властивість модуля "HighPriority", для розташування їх першим.
  • FIX: debian/rules спрощено та уніфіковано. Встановлено "dh_installinit --no-start" для попередження автоматичного запуску цього сервісу. debian/control: Додано залежності для збірки із Qt5.
  • FIX:Скрипти ініціалізації:
    • FIX:Debian: значно покращено, спрощено, адаптовано до PID та виправлено видаленням примусового встановлення LC_ALL, яке ламало індивідуальне встановлення LC_NUMERIC=C для відмінних від C, POSIX або Англійських локалей.
    • ALTLinux: значно покращено, спрощено, адаптовано до використання PID та розширено аргументом "--retry TERM/30/KILL/5".
    • Gentoo: значно покращено, спрощено, адаптовано до використання PID та очищено.
    • RH: значно покращено, спрощено, адаптовано до PID та розширено аргументом "-d 30".
  • TVarObj: Блокування ресурсів загальних даних об'єктів API користувача Res замінено на pthread_mutex_t, а також використано для підключення до об'єктів.
  • signal() замінено на sigaction() та додано відновлення оригінальних обробників при руйнуванні TSYS.
  • TArchives,TCntrNode,UI.VCAEngine: Вся решта операцій із TArrayObj пересунута до arGet() та arSet().

БД

  • FIX:FireBird: Попереджено виправлення таблиць для ключів з типом blr_varying. Шаблон конфігурації AX_LIB_FIREBIRD дещо адаптовано для конфігурації та збірки із заголовками у */include/firebird, як у SuSE, та 64-бітними бібліотеками, як у Mandriva64.
  • MySQL: Сенс поля адресу "імена" змінено у "вставки" (кодування-порівняння-рушій) для додання під час створення БД та команди SET.
  • FIX:PostgreSQL: Додано обхід проблеми дублювання одних та опущення інших записів у запиті fieldSeek(), шляхом додання "ORDER BY" до цього запиту та примусового їх сортування. Залежності збірки у макросі AX_LIB_POSTGRESQL дещо виправлені у результаті.
  • FIX:SQLite: Адаптовано до опису ключів як порядкова позиція ключа.

Збір даних

  • FIX:ModBus,DAQGate,OPC_UA: Виправлено повернення після умови "!p->enableStat() || !p->owner().startStat()" у функції встановлення значення, для попередження наступного та реального запису.
  • FIX:OPC_UA:
    • FIX: libOPC_UA: Сервіс TranslateBrowsePathsToNodeIdsRequest виправлено для випадку некоректних шляхів, додано додаткові повідомлення налагодження.
    • FIX: Виправлено очікування та збірку частин великих повідомлень вхідного протоколу.
    • FIX: Вхід: Виправлено можливе відкидання зайвих частин запитів після повних запитів, які не потребують негайної відповіді та не є помилковими.
    • FIX: Тип OpcUa_Int64 виправлено розширенням iN{u}() та oN{u}().
    • Додано підтримку типу Масив(Array) простих типів, додано опрацювання AId_DataType для типу Array у серверній частині.
    • Для контролю за обмеженнями додано вкладку "Дані", додано ліміт limRetrQueueTm() для контролю часу черги перенадсилання.
    • До сервісу "RepublishRequest" додано та використано помилку OpcUa_BadMessageNotAvailable.
    • Головне ціле змінено із OpcUa_Int32 у OpcUa_Int64.
  • FIX:Siemens: Версію LibnoDave оновлено до 0.8.5 (остання від 05/17/13), виправлено приведення вказівника до цілого шляхом заміни приведення у long.
  • ICP_DAS: оновлено libi8k.a та заголовки, сторожовий таймер EnableWDT() для LP-8x81 замінено на EnableSysWDT().
  • FIX:JavaLikeCalc: Розширено командами віртуальної машини AddAss, SubAss, MulAss, DivAss для оптимального виконання операцій ++, --, +=, -=, *=, /=, одразу із дорівненням; значним чином для операцій з типом даних "Рядок" та попередження зайвого перевиділення пам'яті там з кожним додаванням. FIX: Функції віртуальної машини Дорівнює (Equal) та НеДорівнює (NotEqual) підлаштовано під можливість коректного опрацювання невизначених властивостей об'єкту шляхом загального опрацювання як Реальне для всіх типів окрім "Рядок". Встановлено використання загального тимчасового регістру для бінарних операцій типу "a = b+c+d+e;", значним чином з метою оптимізації швидкості у доданні рядків.

Транспорт

  • Sockets: Додано властивість MSS для контролю за розміром TCP-сегменту на поганих каналах.

Архів

  • FIX: Виправлено опрацювання mLastGet для значень, на предмет виключення запису до неактивного буферу.
  • FIX:FSArch: Виправлено процедуру ремонту файлів значень для значень фіксованих типів та додано на кінець код ремонту для нефіксованого типу (як то рядок). Вдало виконано весь ланцюг тестів, всіх типів фіксації, для механізму послідовного пакування та виправлення помилок архівних файлів. Властивість командного рядку "copyErrValFiles" замінено наявністю теки "errors" для копіювання помилок сюди.
    • FIX: Виправлено опрацювання видалення файлів за лімітом на предмет видалення свіжого-нового файлу архіву у випадку якщо їх два.
    • FIX: Архівацію Рядків остаточно виправлено після попереднього неповного виправлення на предмет останнього значення.
    • FIX: Додано перевірку на відсутність вільного простору сховища для попередження зависанню та втраті даних повідомлень та значень.
    • Ліміт повідомлення у плоскому форматі розширено до 100000 символів.
    • Додано вкладку "Файли" для повідомлень та значень із детальною інформацією про файли архіву.

Протокол

  • SelfSystem: Додано властивість ЛімітОдногоХостаКористувача (SingleUserHostLimit) для контролю обмежень та повідомлення про помилку у випадку досягнення. Розширено статусом - Активні сеанси автентифікації.
  • HTTP: Розширено статусом - Активні сеанси автентифікації.

Інтерфейс Користувача

  • FIX:VCAEngine,Vision,WebVision:
    • FIX: Для примітиву "Діаграма" розширено варіант адреси "data:{XMLNodeData}" на предмет можливості відсутності "tm", "tm_grnd" та встановлення їх у секундах, за атрибутом 's'. Виправлено назначення завантажених але не доданих у буфер значень, для варіантів прямої адресації "line:{value}" та "data:{XMLNodeData}".
    • FIX: Вид "Кнопка" примітиву FormEl адаптовано до масштабування зображення до всього розміру віджету та дозволу накривати весь простір цього зображення.
    • Додано підтримку типу "XY" до примітиву "Діаграма", де Y за непарними та X за парними параметрами.
    • Додано правильне масштабування розміру вкладених віджетів за масштабуванням крайньої точки, для коректного підлаштування один до одного на будь-якому масштабі.
    • До примітиву ElFigure додано атрибут "mirror" з метою надання можливості дзеркалювання виду примітиву. Для UI.Vision втілено тільки основні функції та деякі проблеми з дугою на разі наявно.
  • FIX:QTStarter: Для очікування знищення UI завдання тайм-аут встановлено у 60 секунд та дозволена генерація виключення у випадку вичерпання часу знищення.
  • FIX:QTCfg:
    • FIX:LineEdit: Вигляд "Ціле" виправлено на предмет встановлення дозволених меж значень [-2147483647:2147483647]
    • TextEdit: Встановлено примусове перенесення слів, значним чином для довгих описів. Додано вертикальну підгонку цих полів до повного розміру сторінки, для заповнених. Переписано для видалення внутрішнього розміщувача.
  • FIX:VCAEngine:
    • FIX: Виправлено посилання на атрибут віджету із віджету за допомогою "wdg:a_XXX" та попереджено його падіння у головному статусі.
    • FIX: Операції API користувача mime() та mimeSet() використано, перевірено та виправлено на предмет редагування джерела примітиву "Діаграма", збереження у таблиці сеансу та відображення результату, для SVG.
    • Захоплення ресурсу функції бібліотеки віджетів та проекту під час завантаження та включення за потребою для попередження багаторазового входу та виконання. Попереджає падіння та доступність неповних даних у віддалених виконавців сеансу проекту.
  • FIX:Vision:
    • FIX:FormEl: Виправлено випадкову різницю між реальним та видимим значенням, значним чином для дискретних видів ComboBox та CheckBox.
    • FIX:ElFigure: Попереджено зависання на нульовій довжині між центром та першим радіусом. Тимчасово видалено із scaleRotate() та unScaleRotate() додання залишку розташування віджету у батьківському контейнері для попередження у деяких випадках щілин між заповненнями. Вихідні тексти значним чином почищено, у продовження. Деякі помилки виправлено. Почато втілення для віддзеркалення. Додано дещо розумніший контроль за контрольними точками 1 та 2 дуги.
    • FIX: Попереджено подвійне звільнення у зв'язку із запізнілим відновленням користувача та пароля після зміни користувача на недозволеного для читання із сеансу проекту.
    • FIX: Виправлено віддалене отримання переліку проектів та сеансів для відповідного користувача, у полі користувача запуску.
    • FIX: Дозволені значення координат обмежено у [-1000000:1000000] у зв'язку замороження оновлення фігур у Qt через дуже великі значення.
    • FIX: Видалено примусові та глобальні текстові стилі "font-weight", "font-style" примітиву "Документ" та встановлено їх тільки у випадку наявності відповідних властивостей у атрибуті шрифту віджету, щоб забезпечити належну роботу тегів "" та "".
    • FIX: Повідомлення "Вичерпано час очікування" під час спроби відновлення запущеного сеансу, через фонове очікування завантаження даних проекту, придушено та попереджено закриття головного вікна.
    • Друк та експорт примітиву "Документ" дозволено із контекстного меню. Друк по замовченню встановлено для одного та великого (не менш ніж вдвічі від головної сторінки) документу. Експорт по замовченню встановлено для одного та великого (не менш ніж вдвічі від головної сторінки) документа або діаграми.
    • До статусу конфігураційної сторінки модуля додано перелік головних відкритих вікон, задля віддаленого контролю.
  • WebVision: Користувач "root" або користувачі у групі "root" дозволені для багаторазового відкриття сеансів у будь-яких умовах.