From OpenSCADAWiki
< Documents | Release 0.8.0
Это обновление релиза 0.8 LTS исправляет около 35 ошибок и добавляет некоторые улучшения, которые целиком вы можете почитать в протоколе изменений обновления.
API
!!!!:Изменения:
- SYS.TUI: Атрибут run_st переименовано в runSt.
Дополнения:
- SYS: API пользователя для объекта Array расширено функцией sum() с целью суммирования указанных элементов массива. Добавлено функцию API пользователя SYS.fileRemove(string file).
SYS
- FIX: Функцию API пользователя system() исправлено на предмет полного чтения канала с помощью popen, непосредственно до EOF.
- FIX: Исправлено установку, во время проверки многопроцессорности, для пользователя только одного процессора, номер 1, путём получения реального количества процессоров.
- FIX: Загрузку конфигурационного файла и функцию пользователя API load() переписано с целью предотвращения доступа за границы выделенной памяти.
- FIX: Безопасность: создание стандартных пользователей "root", "user" и групп "root", "user" добавлено только после загрузки подсистемы и их отсутствия. Расширено функцию access() на предмет проверки присутствия групы и предотвращения исключений.
- FIX:debian.openscada.init,data.{oscada_ALT.init,oscada_gentoo.init}: Исправлено отсутствие ключевого слова "export" перед LANG=en_US.UTF-8.
- TRegExp: К функции replace() добавлено проверку на ненулевой диапазон с целью предотвращения зависаний.
- Опции командной строки установлено в нечувствительность к регистру: coreDumpAllow, pidFile, h, help, log, messLev, modPath, config, station, statName. Некоторые опции командной строки переименовано и дополнено синонимами: demon + daemon, CoreDumpAllow у coreDumpAllow, pid-file + pidFile, MessLev у messLev, ModPath у modPath, Config у config, Station у station, StatName у statName.
- Версии всех модулей поднято согласно их изменениям и в последствии будут отслеживаться с изменениями.
- debian: Значительным образом очищено на предмет разрешения большинства ошибок и предупреждений lintian. openscada.init: Уровни Default-Start установлено в 2 3 4 для предотвращения автоматического запуска с графическим интерфейсом, по уровню 5.
- Добавлено возможность установки основного набора процессоров в конфигурационном поле, включая информацию про текущий набор процессоров. Такая-же информация про текущий набор процессоров добавлена по потокам задач, на главной вкладке "Задачи".
- Адресацию по свойствам конфигурационного файла установлено в нечувствительность к регистру, для значения атрибута "id", особенно для: Workdir в WorkDir.
БД
- FIX: Исправлено удаление БД из конфигурационного файла установкой "ForceCfg".
Сбор данных
- FIX:{DCON,ModBus}: Исправлено расширение сообщений про ошибки, дополнением различными ошибками попыток.
- FIX:ICP_DAS: Быстрое задание сбора I-8017 переключено на использование TSYS::taskSleep() вместо clock_nanosleep(), с целью предотвращения зависаний в случае переполнения wTm. Исправлено сборку на ARM.
- FIX:DAQGate: Предотвращено возможную потерю архивов путём исключения их удаления с параметрами во время синхронизации. Исправлено для предотвращения потери атрибута SHIFR и других после возобновления параметра, что связано с блокированием после попытки удалить.
- FIX:JavaLikeCalc: Исправлено функцию {Ціле}.toString() на предмет установки знаковым исключительно для базы 10.
- FIX:SoundCard: Предотвращено пропуск освобождения ресурса для невыключенных параметров.
Архив
- FIX: Исправлено установку значения поля "Source" из конфигурационного интерфейса (конфигураторы).
- FIX:{*,FSArch}: prev_val унифицировано к типу double во всех операциях вроде усреднения.
- FIX:FSArch: VFileArch::setVals() переписано для округления целого и реального типов данных с целью предотвращения ошибки тут, доступа к невыделенной памяти.
- Archive.DBArch: Добавлено обратное чтение, при запуске, значений архивов с большой периодичностью, вроде минутных и часовых.
Транспорт
- {Sockets,SSL}: Добавлено статистическую информацию по активным подключениям, включая: файловый дескриптор сокета, адрес хоста клиента, время подключения и последнего запроса, трафик ВВ. Добавлено ограничение по количеству клиентов на хост.
Протокол
- FIX:OPC_UA: Исправлено возможную ошибочную обработку записи сертификата. Файл COPYING библиотеки заменено на содержимое "GNU LESSER GENERAL PUBLIC LICENS" и добавлено файл GPL-3. libOPC_UA дополнено функцией Server::clientAddr() для возможности обнаружения необходимости переустановки и повторного использования безопасного канала.
- FIX:ModBus: Исправлено обработку общего префикса 'i' и строки.
Интерфейс Пользователя
- FIX:{QTCfg,Vision}: Исправлено получение шрифта, из базового типового шрифта (системных шрифт), в подсветке синтаксиса текста и в целом, с помощью Vision::getFont().
- {VCAEngine,Vision}: Добавлено поддержку специфических для визуализатора контрольных атрибутов. Внедрено в UI.Vision специфического атрибута "Елементы статуса пользователя". Удалено устарелый доступ к правам.
- QTCfg:
- FIX: Переписано проверку непринятых изменений на прямой механизм.
- Обработку запросов к хостам перенесено в отдельные потоки и в целом улучшено отклик интерфейса.
- Расширено редактирование полей целых значений адаптивностью в отношении представления dec, hex и oct.
- Виджет просмотра списка перенесено в клас ListView и унаследовано от QListWidget для установки sizeHint() в 5 строк.
- FIX:VCAEngine: Исправлено использование в атрибутах пользователя символа '|' для типов, которые не равны TFld::Integer, TFld::Real и выбора. Значительно обновлено контекстную помощь для атрибутов всех примитивов.
- FIX:Vision: Исправлено сборку для Qt 5.4. Добавлено проверку и уведомление про попытку загрузки mime в выбранный элемент.
Special
- FIX:FLibSYS: VArchObj::FFT(): Предотвращено потенциальное падение. Расширено для проверки на EVAL и замену его на адаптивный последний аргумент <vlOnEVAL>. К результирующему массиву добавлено обєектные атрибуты "bufSize" и "bufEVAL" для возможности контроля качества данных.