From OpenSCADAWiki
< Documents | Release 0.9
Revision as of 10:46, 13 December 2020 by FuzzyBot (Talk | contribs) (Updating to match new version of source page)
Это обновление релиза 0.9 LTS исправляет около 60 ошибок и добавляет некоторые улучшения, которые целиком вы можете почитать в протоколе изменений обновления.
Linux Дистрибутив Автоматизации проекта OpenSCADA
- Завершено усовершенствование KMix в работе с PulseAudio, путём его динамизации патчем "kmix-UpdMixersForChangeAndChMaster.patch".
- KRfb (VNC-сервер) был исправлен на предмет аварийного завершения и завершена реализация набора дополнительных клавиш к основной клавиатурной раскладке, в основном Кириллицы, но также и дополнительных UTF символов.
- Завершено обновление перевода проекта Окружения Рабочего Стола Trinity на Украинский для частей: tdelibs, tdebase, tdenetwork, tdemultimedia, tdepim (в основном), krusader, yakuake.
OpenSCADA библиотеки и проекты
- LibsDB.OscadaLibs: Библиотеку Устройств дополнено реализацией протокола IEC-62056 (DevLib.IEC62056). Внесетевая документация дополнена документом "СОГЛАШЕНИЕ О ТЕХНИЧЕСКОЙ ПОДДЕРЖКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ "OpenSCADA" версии 2 и нового модуля DB.DBGate.
- FIX:LibsDB.vcaBase.Main.alarmsSt: Несколько исправлено на предмет оригинальных сообщений и "quietation" целиком заменено на "confirmation". Восстановлено предотвращение дублированных записей новых нарушений в той самой категории.
API
!!!!:Изменения:
- SYS: Унифицированы статусы станции в функциях isRunning(), isFinalKill() и stopSignal(). TCfg::setReqKey() дополнен новым аргументом "treatDep".
- DB: dataSeek(),dataGet(),dataSet(): Расширены аргументом локального конфигурационного контекста "localCfgCtx";
- *,DB: TBDS::dataSeek() и TTable::fieldSeek() переключены на реализацию кеша сканирования в соответствующих модулях.
Дополнения:
- TMess,DB,DB.{SQLite,MySQL,PostgreSQL,FireBird}: TMess дополнено функцией обнаружения перевода конфигурации translCfg(), которую использовано во всех модулях БД и в dataSet().
- SYS: Дополнено функциями доступа к глобальному конфигурационному контексту cfgCtx() и setCfgCtx().
- Загрузка и сохранение конфигурации дополнена собственным блокированием TSYS->cfgLoadSaveM().
- Дополнено функцией pathLevEnd() обработки путей с конца.
- TRegExp: Дополнено функцией getPattern().
- TFld: Дополнено комбинированным строковым вариантом поля длины - lenS().
Система
- FIX: Сборка:
- FIX:configure.ac: Версия библиотеки ядра увеличена до 3:8:0 и версия программы увеличена до 0.9.2.
- Модульную версию подсистемы "БД" увеличено до 14, подсистемы "Транспорты" увеличено до 16.
- data/ModelsDB/{AGLKS/oscada_AGLKS.xml,Boiler/oscada_Boiler.xml}: Входные транспорты Сокетов унифицированы в названиях "WEB" и "CNTR".
- data/ModelsDB/AGLKS/St.sql: Входные транспорты SSL унифицированы в названиях "WEB" и "CNTR" и обновлены установкой KeepAlive таймаута в 60 и SSL-сертификата.
- data/{oscada_start,oscada_server,oscada_plc}.xml:
- Входные WWW-транспорты унифицированы, где "WEB_1" переименован в "WEB" и удалён "WEB_2".
- Дополнено выключенными записями БД стандартных библиотек OpenSCADA.
- /oscada_start.xml: Дополнено выключенными входными транспортами "WEB" и "CNTR". Дополнено архиваторами значений FSArch.{SYS,alarms,actions} и архиваторами сообщений FSArch.{1s,1m,1h}.
- FIX:data/openscada-proj.in,UI.QTStarter: Реализация встроенного резервирования.
- FIX:data/openscada-proj.in: Дополнено командами "backup", "backupRestore", "backupList" реализации резервирования проектов.
- UI.QTStarter: Дополнено вызовом команд резервирования из менеджера проектов - перечня проектов.
- .,DB,DAQ.{LogicLev,ModBus,Siemens},UI.{QTCfg,WebCfgD}: Реализация механизма междустанционного копирования узлов интерфейса управления.
- .,UI.QTStarter: Запуск OpenSCADA с GUI модулем в основном потоке значительно пересмотрен на предмет:
- ранней регистрации GUI модуля в основном потоке непосредственно самим этим модулем и в функции postEnable();
- адаптации функции perSYSCall() к использованию при обновлении GUI модуля в основном потоке, в основном его заставки (сплеша), в течении запуска и останова (из сервисной задачи) и при загрузке конфигурации (для переключения на заставку запуску);
- включения динамического отображения сообщений для режима исполнения в основном потоке;
- унификации отображения заставки в обоих режимах.
- .,Protocol.SelfSystem,DAQ.AMRDevs: Доступ клиента к интерфейсу управления OpenSCADA расширен множественной аутентификацией, что исключает использование прямых запросов к интерфейсу управления OpenSCADA с аутентификацией в каждом запросе, часто в UI.Vision.
- FIX:TRegExp: Исправлена обработка шаблонов, добавлением обработки символа окончания, таким образом предотвращая коллизии чёткого определения объектов в TController::alarmSet().
- FIX:LibsDB.OscadaLibs.doc.diagram,UI.{Vision,WebVision}: Предотвращено двойную подстройку шкалы значений для процентной шкалы и дополнено расширением диапазона значений.
- FIX: Обработка предков в функции TCntrNode::isModify() разрешено только для узлов в состоянии "Включено".
БД
- Создан новый модуль "DBGate".
- FIX: TBDS::dataSet() расширено установкой только ключей и видимых элементов, как у других БД. Дополнено сменой-сохранением определённых элементов в конфигурационном файле вместо полного сохранения всех их в типовой БД.
- FIX: Исправлен первый ошибочный запуск объектов БД на предмет последующих попыток запуска.
- FIX: Загрузка БД предотвращена от двойной загрузки из конфигурационного файла и БД, относительно одинаковых записей.
- Объект TBD дополнен поддержкой сервисных контрольных запросов "call": "/serv/SQL", "/serv/fieldStruct", "/serv/fieldSeek", "/serv/fieldGet", "/serv/fieldSet", "/serv/fieldDel".
- FIX:SQLite: Обнаружена и исправлена потеря данных при конкурентном доступе, когда генерируется непринципиальная ошибка неактивированности транзакции "cannot commit - no transaction is active (1)", которая, однако, прерывает запись данных.
Сбор Данных
- FIX: JavaLikeCalc: Исполнение внутренних функций дополнено сохранением контекста общих-собственных регистров, в двух вариантах, первично для поддержки рекурсии.
Транспорты
- Выходные транспорты унифицированы созданием параметров подключения, с помощью conPrm(), вместо прямых prm1() и prm2().
- Удалён конфигурационный параметр "START" выходных транспортов, как лишний и для предотвращения продолжительного запуска.
- FIX:Sockets,SSL: Для предотвращения многоразового исполнения запросов высокой нагрузки и продолжительного контроля, выходные транспорты переключены на:
- типовую конфигурацию для Попыток=1, Таймауты="30:2";
- для потери подключений количество попыток установлено в 2;
- для ошибок "Исчерпано время" подключение также пере-подключается, кроме типа SOCK_FORCE.
Транспортные Протоколы
- FIX:ModBus: Выходные запросы TCP-варианта дополнены проверкой Идентификатора Транзакции пакетов ответа.
- FIX:SelfSystem: Выходная часть расширена проверкой соответствия ответов запросам, по названию тега запроса. Дополнено кодированием специальных символов пользователя и пароля, и пустой пароль кодируется как "<EMPTY>".
Интерфейс Пользователя
- Vision,WebVision: Свойство специфическое для визуализатора "userSetVis" дополнено реализацией пароля после прямо указанного пользователя и для применения со всеми пользователями.
- FIX:QTStarter: Стандартная-системная заставка запуска/останова обновлена и дополнена информацией про программу (также пользовательские заставки) и проект OpenSCADA, включая иконку проекта. Контекстное меню списка проектов дополнено пунктом удаления не исполняемых проектов.
- FIX:QTCfg: Дополнен слежением за сменой страницы с индикацией в дереве навигации и с прокруткой к текущему элементу.
- FIX:VCAEngine: Предотвращено аварийное завершение на больших конфигурациях с продолжительным закрытием сеансов исполнения во время доступа к наследникам виджета (mHerit), добавлением ResRW блокирования "mHeritRes". Свойство "Перевод" процедур виджетов целиком перенесено под прямой доступ и видимость установлена только при наличии процедуры, также как видимость области текста процедуры и периодичности вычисления от выбора языка.
- FIX:Vision: Существенно унифицирована процедура аутентификации и смены пользователя в UserStBar::userSel() и объект диалога "DlgUser".
- FIX:WebVision: Унифицирована имплементация примитива "Кнопка": переносом специфических кнопок под <button></button> и добавлением соответствующих CSS-стилей для типового и нажатого состояния с отличной границей и полупрозрачным изображением. Исправлена, в конце концов, проблема закрытия всех страниц контейнера основных страниц с заморозкой последней потерянной страницы при быстром переключении. Дополнено пользовательскими CSS правилами интерфейса.