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:41, 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/ru/uslugi/tekh-podderzhka/.
  • Основную стартовую программу "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" допущены к многократному открытию сеансов при любых условиях.