Основными отличиями версии 0.9 LTS от 0.8.0 LTS являются:
- Размещение данных проекта пользователя и отсутствие поддержки и понятия "Проект OpenSCADA" в 0.8.0 LTS.
- Старые БД библиотек в 0.8.0 LTS.
- Наличие ряда модулей, которые в 0.8.0 LTS на ранних версиях и были фактически полностью переписаны в 0.9 LTS, а соответственно, для них полностью отсутствует совместимость:
- DAQ.DiamondBoards — полностью переписан и не является совместимым;
- DAQ.ICP_DAS — полностью переписан и не является совместимым;
- DAQ.AMRDevs — фактически можно считать новым, поскольку первый, и пока единственный, полноценный источник появился там после выпуска 0.8.0 LTS;
- Archive.DBArch — фактически можно считать новым и актуальным, поскольку его версия, при выпуске 0.8.0 LTS, была малополезной и поэтому обновлена одним из обновлений и сейчас является одинаковой с 0.9 LTS.
Во всём ином, версия 0.9 LTS может исполнять проекты пользователя версии 0.8.0 LTS и Вы даже можете оставить старые БД библиотек (пункт 2), если использование новых вызывает проблемы или они изменялись. Если Вы использовали что-то из пункта 3 то их конфигурацию нужно будет полностью, или частично заменить. Итак, рассмотрим пункты 1 и 2 этих отличий.
Обновления нужно осуществлять исключительно для конфигураций, которые предварительно были обновлены до последнего обновления 0.8.0 LTS!
Отличие в размещении пользовательских проектов (пункт 1) нужно решать обязательно, поскольку, для запуска проектов пользователя, в 0.8.0 LTS используются индивидуальные сценарии командной строки вроде openscada_AGLKS, openscada_demo, openscada_start и которые отсутствуют в 0.9 LTS или работают несколько по иному.
Разрешение отличия в размещении пользовательских проектов не происходит автоматически и для этого нужно умение пользоваться консолью, а для обновления и запуска "по старому" понадобится доступ суперпользователя.
Если Вы не желаете осуществлять полный перенос своего проекта в отдельный и специальный каталог то, перед обновлением, можно сохранить сценарий запуска проекта и конфигурационный файл, а потом вернуть их назад и продолжить запускать проект пользователя в 0.9 LTS, что в основном будет работать "ПО СТАРОМУ".
Итак, на примере проекта модели ТП "АГЛКС" и сохранив папку "~/.openscada", делаем:
- 1. Подготовка и актуализация текущей конфигурации
- обновляем OpenSCADA до последнего обновления 0.8.0 LTS, согласно использованному способу установки;
- актуализируем проект пользователя, можно пропустить для обновленных конфигураций:
- запускаем проект пользователя;
- запускаем разработку графического окружения;
- меняем рабочую базу данных на какую-то другую, а потом возвращаем её, что приведёт к отметке необходимости сохранения всего проекта;
- сохраняем.
- Эта операция может привести к потере конфигурации графического окружения на непоследенй LTS версии.
- 1a. [ПО СТАРОМУ] Сохранение сценария запуска и конфигурационного файла, копируя в какую-то временную папку
- исполняем процедуру:
$ cp /usr/bin/openscada_AGLKS /var/tmp $ cp /etc/oscada_AGLKS.xml /var/tmp
- 2. Обновление OpenSCADA до новой версии 0.9 LTS
- меняем обычного пользователя на суперпользователя;
- полностью удаляем 0.8.0 LTS, что на дистрибутивах основанных на Debian делается командой:
$ apt-get purge openscada*
- устанавливаем 0.9 LTS, как пакет "openscada-model-aglks" или другой виртуальный, который больше соответствует Вашему проекту; детали читайте в "Как установить".
- 3. Обновление и восстановление конфигурации
- 3a. [ПО СТАРОМУ] Восстановление старого сценария, конфигурации и замена ссылок некоторых каталогов
- выполняем процедуру:
$ rm /usr/bin/openscada_AGLKS; cp /var/tmp/openscada_AGLKS /usr/bin $ cp /var/tmp/oscada_AGLKS.xml /etc # Покидаем суперпользователя и осуществляем $ ln -sf /usr/share/openscada/icons ~/.openscada/icons
- 3b. [ПРОЕКТ] Перенос файлов проекта пользователя в отдельный каталог, предварительно покинув суперпользователя
- вызываем команду обновления, которая делает всё необходимое:
$ openscada-proj update AGLKS # Для пользовательского проекта с данными в каталоге "~/.openscada/DATA" $ openscada-proj update MyProjectName
- или вручную и если исходная конфигурация очень специфична:
- собираем все файлы проекта в отдельный каталог, в каталоге проектов пользователя OpenSCADA, что типично "~/.openscada"; хотя 0.8.0 LTS не регламентирует и не обязываете так делать, и такая практика уже частично применялась, поэтому там нужно только положить отдельные части проекта:
$ mv ~/.openscada/ARCHIVES ~/.openscada/AGLKS $ ln -s ../LibsDB ~/.openscada/AGLKS/LibsDB $ ln -s ./ ~/.openscada/AGLKS/AGLKS
- применяем конфигурационный файл типового проекта OpenSCADA 0.9 LTS, поскольку старый тут не подойдёт да и вся основная конфигурация сохранялась в главной БД:
$ cp /etc/oscada_start.xml ~/.openscada/AGLKS/oscada.xml
- переименовываем файл главной БД в "St.db", если он не такой, поскольку именно такой записан в конфигурационном файле;
- заменяем старые БД библиотек или можем их оставить если Вы там что-то меняли:
$ cp -R /usr/share/openscada/LibsDB/*.db ~/.openscada/LibsDB
- 4. Запуск
- [ПО СТАРОМУ] запускаем старый сценарий.
- [ПРОЕКТ] запускаем обновленный проект, даже выбором в менеджере проектов.
- 5. Отличия и желаемые изменения полученного обновления
- [ПРОЕКТ] Сократить адрес к локальным файлам БД проекта, который будет иметь вид "./AGLKS/Model.db" и его можно сократить до "Model.db".
- Проект визуализации:
- уведомитель был полностью переписан, поэтому, на главной странице Вашего проекта, нужно предусмотреть атрибуты описания желаемых уведомителей, и типовые значения которых можно получить из проекта шаблона, конечно если библиотеки обновлены;
- свойства проекта визуализации, на предмет контроля параметров окна исполнения, в основном вынесены в отдельные атрибуты главной страницы и которые, соответственно, и нужно определять.