From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page Documents/Release 0.8.0/Update10 and the translation is 100% complete.

Other languages:
English • ‎российский • ‎українська

Это обновление релиза 0.8 LTS исправляет около 50 ошибок и добавляет некоторые улучшения, которые целиком вы можете почитать в протоколе изменений обновления.

API
!!!!:Изменения:

  • Archive: Добавлено результат функции TMArchivator::put() для контроля завершения записи.
  • SYS.Mess,Archive.DBArch: Тип уровня сообщения в структуре TMess::SRec изменено с типа "Type" в int8_t для исправления отрицательного уровня в DB.MySQL.
  • SYS.XMLNode: В функции load() аргумент "full" заменено на "flg" с флагами: 0x01 - полный режим; 0x02 - не удалять пробелы с начала и конца текста тега.
  • Transport: Улучшено конфигурацию внешних хостов через выбор режимов "Пользов.", "Системный", "Пользов. и Системный" в общей таблице. Удалено функции: sysHost(), setSysHost(). Изменено функции: extHostList(), extHostGet(), extHostSet(), extHostDel().
  • DAQ: API функции "void vlSet();" расширено для указания нового значения прямо и предупреждения его потери.

Дополнения:

  • SYS: Добавлено новые объекты блокирования ресурсов MtxAlloc и MtxString.
  • К ResAlloc добавлено lock() и unlock().
  • TCntrNode: Добавлено базовую функцию _ctrMkNode() и специфичную для указания аргументов ctrMkNode2() к оригинальной ctrChkNode().
  • "TSYS::i{bits}_LE()", "TSYS::i{bits}_BE()", "floatBE{rev}()", "doubleBErev()" функции добавлено для обработки размещения байт.
  • Добавлено новые глобальные функции к области имён OSCADA: tm2s(), s2i() та s2r().
  • TArrayObj: Добавлено новые функции прямого доступа arGet() и arSet(), для быстрого доступа из внутри.
  • XMLNodeObj: Добавлено новую функцию "childGet(string name, int num = 0)".
  • Transport,Transport.*: К выходному транспорту добавлено функции timings() и setTimings().

DB

  • AGLKS.St.db: KeepAlive таймаут входного транспорта OPC_UA установлено в 60, Клиентские и Серверные сертификаты сгенерировано с учётом всех требований и адрес установлено в 127.0.0.1.

SYS

  • адаптировано для обработки *.core файлов.
  • TConfig,TValue,UI.{VCAEngine,Vision}: Добавлено поддержку редактируемого списка в конфигурационных полях и DAQ атрибутах посредством TFld::SelEdit.
  • Предоставлено функции API пользователя gmtime(), timegm(), strftimegm(), strptimegm() для обработки времени в GMT(UTC).
  • DB,TVariant,DAQ.JavaLikeCalc,Special.FLibSYS: Установлено прямой доступ к объекту пространства имён TArrayObj, изнутри.

БД

  • FIX:DB.{SQLite,MySQL,PostgreSQL,FireBird}: Исправлено проверку на отсутствие ключа в БД для fieldSeek() и fieldSet().
  • DB.{SQLite,FireBird,PostgreSQL,MySQL}: Изменено механизм восстановления подключения для сетевых БД на включение выключенных БД с toEnable() в цикле проверки транзакций.
    • Проведено комплексные тесты на восстановление потерянных подключений и общий тест БД модуля Special.SystemTests.
    • MTable::fieldDel() адаптировано для удаления записей с ключами реально отсутствующими в таблице БД.
  • MySQL: Добавлено поддержку и использование транзакций для повышения производительности некоторых хранилищ БД.

DAQ

  • BlockCalc: Добавлено опциональную запись при изменении значений по выходным связям блоков. Размер поля "VAL" для таблицы IO блоков увеличено с 20 на 10000 и "LNK" с 50 на 100.
  • JavaLikeCalc.Array: Установлено прямой доступ к свойствам объекта для повышения производительности. FIX: Исправлено установку элемента объекта в массиве во время создания как "new Array(0, 1, 2, ar[0])".
  • FIX:LogicLev: Тип "Отражение" исправлено и расширено для подключений к целевому параметру, обновления и синхронизации перечня атрибутов в периоде вычисления.
  • ModBus: Убрано попытку подключения из функции start() объекта контроллера.
  • OPC_UA.{*,LibOPC_UA}: LGPL COPYING файл добавлено к этой библиотеке.
    • FIX: libOPC_UA исправлено в ответе клиентскому сервису "Write" и ещё с десяток критических исправлений.
    • OPC_UA области имён унифицировано, а также NS_OPC_UA(0), NS_SERVER(1) и OpenSCADA_DAQ_NS(2) добавлено.
    • Добавлено обработку времени жизни сеанса.
    • Рост SubscriptionId и MonitoredItemId начато с '1', для исключения некорректного значения '0'.
    • Добавлено установку данных пользователя и пароля в клиентской части программы и в тесте. Добавлено установку политики в тестовой программе.
    • К объекту параметра клиента добавлено однострочный обзор узлов для установки в перечень обработки.
  • FIX:System: Добавлено новый DA-тип "UPS", посредством NUT-протокола. Исправлено проверку DA и их создание по общим параметрам, не по идентификатору параметра.
  • BFN,DAQGate,ModBus,OPC_UA: Формирование нарушений состояния подключения к удалённому источнику унифицировано.

Архив

  • TMArchivator: Переписано архивацию сообщений для переотправления сообщений в буфере после восстановления подключения.
  • FIX:Archive.*,Special.FLibSYS: Предотвращено установку отрицательного значения периода в буфере. TValBuf::vOK() расширено для проверки выравнивания к периодичности буфера. setVals() адаптировано для записи невыравненного по границе [beg:end] путём округления к периоду.
  • *,DBArch: До TVArchEl::setValsProc() добавлено результат с целью контроля записи части буфера в архив, использовано для перезаписи в сетевую БД посредством DBArch. Разрешено запуск архиваторов Значений и Сообщений в случае ошибок в БД, предусматривая восстановление подключения.
  • *,UI.{Vision,WebVision}: Сервис "/serv/val" адаптировано для возврата EVAL_STR как EVAL для всех режимов предоставления данных.

Transport

  • {SSL,Sockets}: KeepAlive параметры входного транспорта унифицировано и добавлено описания. Типовое значение KeepAliveTm установлено в 60 для предотвращения зависания входного транспорта.

UI

  • QTCfg: Проверка и смена текущей страницы при её переименовании. Механизм подстройки строк и столбцов таблицы установлено похожим на вид "Таблица" примитива "FormEl" для UI.Vision. Добавлено поддержку установки значения записей в группу-выбор страниц.
  • Vision:
    • FIX: Примитив "Текст" исправлено на предмет обновления размера шрифта во время смены масштаба.
    • Для захвата объекта сеанса добавлено простой ресурс dataM (pthread_mutexattr_t) и использовано для mOpen, mStProp.
    • FIX: Сервис <openlist path="/serv/pg"> исправлено на ошибки виджетов страницы и попытку пересоздания сеанса.
    • Для страниц включенных в контейнер установлено прозрачную палитру фона.
  • UI.{QTStarter,QTCfg,Vision}: Адаптировано для Qt5, исключая Phonon.
  • VCAEngine,Vision,WebVision: Примитивы "Текст", "Протокол", "Документ", "Диаграмма" переведено к индексам с types.h.
  • VCAEngine,Vision: Добавлено новый вид "Таблица" примитива "FormEl".
  • Vision,WebVision: Время слежения для примитива "Диаграмма" и "Протокол" установлено во время реально присутствующих данных.

Special

  • FLibSYS: Добавлено унифицированную функцию вычисления CRC().