Основними відмінностями версії 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".
- Проєкт візуалізації:
- повідомлювач було повністю переписано, тому, на головній сторінці вашого проєкту, треба передбачити атрибути опису бажаних повідомлювачів, та типові значення яких можна отримати з проєкту шаблона, звісно якщо бібліотеки оновлено;
- властивості проєкту візуалізації, щодо контролю параметрів вікна виконання, переважно винесено до окремих атрибутів головної сторінки та які, відповідно, і треба визначити.