Основными отличиями версии 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. Differences and desired changes to the received update
- [PROJECT] Reduce the address to the local database files of the project that looks like "./AGLKS/Model.db" and can be shortened to "Model.db."
- Project of the visualization:
- the reporter was completely rewritten, therefore on the main page of your project must be foreseen attributes of description of desirable reporters and the typical values can be obtained from the template project, of course if the libraries have been updated;
- properties of the visualization project for controlling the parameters of the runtime window are predominantly moved to separate attributes of the home page and which, accordingly, need to be defined.