From OpenSCADAWiki
< Documents | Release 0.8.0
Revision as of 21:21, 3 June 2020 by RomanSavochenko (Talk | contribs) (Created page with "{{CntHdr|Protocol}} * FIX:ModBus: Исправлено несоответствие формата диагностики узла для реальных счётчиков.")
Это обновление релиза 0.8 LTS исправляет около 30 ошибок и добавляет некоторые улучшения, которые целиком вы можете почитать в протоколе изменений обновления.
API
!!!!:Изменения:
- TConfig,DB.*: Удалено глобальный флаг noTransl() как устарелый.
- Безопасность: Для пользователей и их групп переименовано функции lName() и descr() в descr() и longDescr(), соответственно к полям БД.
- TElem: Расширено для создания TFld из примера-шабона присутствующего TFld но с отличным ID. Добавлено TElem::fldClear() для очистки полей.
- TVarObj: Функции propGet() и propSet() расширено для иерархического доступа за путём.
Дополнения:
- TConfig,DB: Для определения ключа добавлено и использовано функцию isKey().
- DB: Добавлено метод TTable::fullDBName().
- DAQ.JavaLikeCalc: Добавлено встроенную функцию пользовательского API tr() для запроса к базе переводов постоянных строк, как терминатор, с целью обеспечения совместимости с рабочей версией.
SYS
- FIX:TCntrNode::chldPresent() изменено для определения всех присутствующих узлов, также и выключенных. Значительным образом для гарантированного определения за названием.
- FIX: Обеспечено принудительное создание заданий и записей к ним в случае ошибок вроде граничного времени запуска. Предотвращение падений в некоторых случаях.
- FIX: Выключены исключения в случае установки значения атрибута в режиме NoWrite, просто выход из функции. Значительным образом для исправления проблем с DAQ.BlockCalc.
- FIX: Безопасность: Размер пароля расширено на более чем 8 символов путём переключения на кодирование MD5. Сохранено обратную совместимость для ранее установленных паролей. Обнаружено Василием Григорьевым.
- CntrIf,UI.{QTCfg,WebCfgD}: К таблице добавлено флажок "noReload" с целью контроля полной перегрузки содержимого большой таблицы после запроса "SET", также использовано в таблице объекта БД.
- DAQ, DAQ.JavaLikeCalc, UI.{QTCfg,Vision}: Добавлено атрибут "font" к корневому узлу правил подсветки синтаксиса с целью указания типичного шрифта конфигурации. Типичный шрифт для JavaLikeCalc процедур установлено в "Courier".
- С целью лучшего определения проблем свойств реального времени к статусу задачи добавлено значение максимальной задержки вызова и использованного времени.
- XMLNode::childGet(): добавлено поддержку отрицательных индексов с целью отсчёта от конца.
- Использование "LibGD" в OpenSCADA ядре выключено по умолчанию и вместо использовано "SVG".
БД
- FIX: TBDS::dataDel() исправлено для удаления записей из конфигурационного файла после таких попыток в БД, значительным образом для исправления удаления одинаковых записей БД.
- FIX:SQLite,MySQL,PostgreSQL,FireBird: Исправлено для предотвращения загрузки перевода из непустого, но выключенного для перевода поля БД.
- FIX:FireBird: dataSeek() исправлено поведение в случае пустого SELECT.
- MySQL,PostgreSQL,FireBird: Для нулевой длины строки по умолчанию использовано тип TEXT.
DAQ
- FIX: Флажок "prcStRd" в задаче резервирования установлено наперёд для предотвращения ошибочного запуска этой задачи во время подключения к отсутствующим удаленным станциям и падения при остановке.
- FIX:JavaLikeCalc: К compileFunc() добавлено захват ресурса на генерацию ID функции по "<auto>" с целью предотвращения многоразового подключения к одной функции.
- FIX: Добавлено ранний старт, на время загрузки, для библиотек функций. Значительным образом для запуска этих функций перед DAQ.BlockCalc.
- Удалено флажок Func::SysAttr для IO "f_frq", "f_start", "f_stop", "this" с целью обеспечения их сохранения, ввиду возможности приоритетного и независимого запуска.
- FIX:Siemens: Значительным образом пересмотрено захват ресурсов и добавлено новый захват на глобальный API, с целью предотвращения падений во время переподключений, параллельный доступ и переопределение индекса подключений.
- FIX:BlockCalc: Процедуру сортирования блоков значительным образом переписано с целью исправления. Предотвращено копирование таблицы с блоками в BLOCK_SH во время копирования этого объекта контроллера.
- DCON,ModBus: Область действия попыток последовательного интерфейса расширено на подключения, в виду возможности искажения запроса и отсутствия ответа.
- LogicLev: Добавлено подключение к свойству объекта по пути в связи "{ModType}.{Cntr}.{Prm}.{Attr}#{ObjPath}".
- FIX:DAQGate: Очищение обрабатываемого списка параметров перенесено с фазы остановки в отключение. Добавлено пропуск пустых параметров в режиме отдельного запроса атрибутов, с целью уменьшения общего времени запроса.
- SoundCard: расширено для специфики X86_64 с короткими вызовами framesPerBuffer к функции обратного вызова.
Archive
- FIX:FSArch: Исправлено на предмет предотвращения дубликатов и ошибочного подключения архивов, для источников данных которые поздно добавляются, а также добавлено обязательную проверку перед добавление новых архивов. Указание на область данных для последнего значения индекса предотвращено для типа Строка.
Transport
- FIX:TTransportIn: Добавлено раннюю остановку в postDisable() для предотвращения падения в деструкторе на освобождённых данных объекта предка.
Protocol
- FIX:ModBus: Исправлено несоответствие формата диагностики узла для реальных счётчиков.
UI
- FIX:VCAEngine,Vision: Changes down procedure mostly fixed and adapted for update the parent widget into open for edit state. Cells edition to view "Table" of primitive "FormEl" support is added.
- QTCfg,Vision: Wait cursor set moved to already set and restore only after timeout 50 ms, for blink prevent and some DE load by that.
- FIX:WebUser: Crash at new HTTP variable processing into a respond prevented.
- FIX:QTCfg: Size policy for Boolean value into RO mode fixed. Table widget significant expanded by:
- Enable vertical scrolling by pixels.
- resizeRowsToContents expanded by rows height limit to 0.9 table height and call on header section mouse press, for refit.
- String represent for multiline texts into ItemsDelegate rewrote for prevet wrong Qt eliding to line and other.
- FIX:VCAEngine: Double set the pages to processing and the firstinited context lost prevented. Double call the pages to first execution from processing procedure and cascade from the top-level page is prevented.
- FIX: Mime download expanded and fixed for projects.
- Access to project's session time table unified by append the session attributes access functions sessAttr(), sessAttrSet(). The functions used to: primitive "Document", session's Style, edited resources by user's API functions "mime()" and "mimeSet()", "fromSess" and "toSess" user's API functions "attr()" and "attrSet()". Service "/serv/attrSess/" is added for access to session's attributes.
- Inheritance support is added for owner and permition of the widgets.
- Automatic sessions creation update at the module enable is added.
- Access to DAQ properties of Object's type by path into links like "/DAQ/{Cntr}/{Prm}/{Attr}#/{oAttr1}/{oAttr2}" is added.
- FIX:Vision: Set focus proxy from the edited widget container to the widget into development mode for allow the single focus source and included widgets selection lost at some cases.
- FIX: Primitive "Diagram" fix for actual cursor set and the parameters value into the cursor position for significant time difference between the session server host and the session visualiser host, for arrears the cursor position to one period.
- FIX: LineEdit widget some fix for apply real button size obtain and prevent the window size float.
- FIX: Ticks lost for Slider view and related views deffects of primitive FormEl at press to the elements' container widget by prevent that's QEvent::MouseButtonPress and QEvent::MouseButtonRelease events global process.
- FIX: Changes update after that apply into attributes manager of the widgets into group mode fixed to update different widget's attributes into the group and on the contrary for first widget into the group.
- Resources cache mostly improved for make faster for access and update.
- Run time window's position control and save is added by option "winPosCntrSave" enable and using new service "/serv/attrSess/". Screen number expanded for not only assign to different physical display and for independent position control and save.
- Session set for automatic starting is added into parameter "Run projects list", mostly for connect to already started or background sessions.
- Restore connection time control is added for remote connection to visualisation server hang prevent and display update.
- WebVision: Scroll for the included containers correct for different variants. Images cache expanded clean up like to UI.Vision.
- WebCfgD: Expanded for loading files WebCfgDVCA.html and WebCfgDVCA.js from work directory try. JavaScript code mostly cleaned and Table expanded for simplify control and exit from cells edit mode.
Special
- FIX:FLibSYS: strDec4Bin() function fix and expand by separator argument into default value " ", for compatibility restore.