From OpenSCADAWiki
< Documents‎ | Release 0.8.0
Revision as of 20:39, 3 June 2020 by RomanSavochenko (Talk | contribs) (Created page with "{{CntHdr|Протокол}} * SelfSystem: Добавлено свойство ЛимитОдногоХостаПользователя (SingleUserHostLimit) для контр...")

Jump to: navigation, search
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: Расширено статусом - Активные сеансы аутентификации.

UI

  • 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: 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.
    • Type "XY" to primitive "Diagram" support is added, by Y into unpaired and X into paired parameters.
    • 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.
  • FIX:QTStarter: For main UI task destroy set timeout to 60 seconds and an execution generation allowed at the destroying timeout.
  • FIX:QTCfg:
    • FIX:LineEdit: The view "Integer" fixed to set allowed values limit [-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.
  • 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: 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.
    • 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:FormEl: Fixed sometime difference between real and seen value, mostly for discrete views ComboBox and 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: 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: Remote projects and sessions list obtain fixed to proper users for the started user's field.
    • FIX: Allowed coordinates value limited to [-1000000:1000000] by figures updating freeze into Qt for too big the values.
    • 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 "<B>" and "<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.
    • 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.