From OpenSCADAWiki
Jump to: navigation, search

Оновлення з 0.8.0 LTS

Основними відмінностями версії 0.9 LTS від 0.8.0 LTS є:

  1. розташування даних проекту користувача та відсутність підтримки і поняття "Проект OpenSCADA" у 0.8.0 LTS;
  2. старі БД бібліотек у 0.8.0 LTS;
  3. наявність низки модулів, як вказано у попередньому розділі, що у 0.8.0 LTS є на ранніх версіях та були фактично повністю переписані у 0.9 LTS, а відтак для них повністю відсутня сумісність:
  • DAQ.DiamondBoards — повністю переписаний та не є сумісним;
  • DAQ.ICP_DAS — повністю переписаний та не є сумісним;
  • DAQ.AMRDevs — фактично його можна вважати новим оскільки перше, та поки єдине повноцінне джерело, з'явилося там після випуску 0.8.0 LTS;
  • Archive.DBArch.

У всьому іншому, версія 0.9 LTS може виконувати проекти користувача версії 0.8.0 LTS та Ви навіть можете залишити старі БД бібліотек (пункт 2), якщо використання нових викликає проблеми. Якщо Ви використовували щось з пункта 3 то їх конфігурацію треба буде повністю, або частково змінити. Відтак, розглянемо пункти 1 та 2 цих відмінностей.

At.png Оновлення треба здійснювати виключно для конфігурацій, які попередньо було оновлено до останнього оновлення 0.8.0 LTS!

Відмінність у розташуванні користувацьких проектів (пункт 1) треба вирішувати обов'язково, оскільки для запуску проектів користувача у 0.8.0 LTS використовуються індивідуальні сценарії командного рядку на кшталт openscada_AGLKS, openscada_demo, openscada_start та які відсутні у 0.9 LTS, або працюють дещо по іншому.

At.png Вирішення відмінності у розташуванні користувацьких проектів не відбувається автоматично та для цього треба доступ суперкористувача, вміння користуватися консолью і файловим менеджером у ній.

Якщо Ви не бажаєте здійснювати повний перенос свого проекту у окрему та спеціальну теку то, перед оновленням, можна зберегти сценарій запуску проекту та конфігураційний файл, а потім повернути їх назад та продовжити запускати проект користувача у 0.9 LTS, що загалом буде працювати.

Відтак, робимо на прикладі проекту моделі ТП "АГЛКС":

  • оновлюємо OpenSCADA до останнього оновлення 0.8.0 LTS, згідно до використаного Вами способу встановлення.
  • запускаємо проект користувача та:
    • міняємо основну базу даних на якусь іншу, а потім повертаємо її, що призведе до позначення необхідності збереження всього проекту;
    • зберігаємо.
робимо лише для запуску проекту "Як раніше"
  • зберігаємо його сценарій та конфігураційний файл, скопіювавши у якусь тимчасову теку:
$ cp /usr/bin/openscada_AGLKS /var/tmp
$ cp /etc/oscada_AGLKS.xml /var/tmp
продовжуємо для всіх випадків
  • оновлюємо OpenSCADA до нової версії 0.9 LTS, та, оскільки звичайним оновленням цього не здійснити, то:
    • повністю видаляємо 0.8.0 LTS, що на дистрибутивах заснованих на Debian робиться командою:
$ apt-get purge openscada
    • встановлюємо 0.9 LTS, как пакет "openscada" або інший віртуальний, що більше відповідає Вашому проекту; деталі читайте у "Як встановити".
робимо лише для запуску проекту "Як раніше"
  • відновлюємо старий сценарій та конфігураційний файл проекту /usr/bin/openscada_AGLKS:
$ cp /var/tmp/openscada_AGLKS /usr/bin
$ cp /var/tmp/oscada_AGLKS.xml /etc
  • у цьому випадку все, та можна старий проект запускати визначеним сценарієм, попередньо залишивши суперкористувача;
робимо для повного оновлення — перенос файлів проекту користувача до окремої теки, попередньо залишивши суперкористувача
  • збираємо всі файли проекту до окремої теки у теці проектів користувача OpenSCADA, типово це "~/.openscada", хоча 0.8.0 LTS не регламентує та не зобов'язував так робити та така практика вже частково застосовувалася тому там треба тільки покласти окремі частини проекту:
$ mv ~/.openscada/*.db ~/.openscada/AGLKS
$ mv ~/.openscada/ARCHIVES ~/.openscada/AGLKS
$ ln -s ../LibsDB ~/.openscada/AGLKS/LibsDB
  • застосуємо конфігураційний файл типового проекту OpenSCADA 0.9 LTS, оскільки старий тут не підійде та й всі основні конфігурації, включно із БД, зберігалися у головній БД:
$ cp /etc/oscada_start.xml ~/.openscada/AGLKS/oscada.xml
  • перейменовуємо файл головної БД у "St.db", якщо він не такий, бо саме такий записано у конфігураційному файлі;
  • замінюємо старі БД бібліотек, та попередньо їх зберігаємо на випадок якщо проблем запуску проекту з новими буде забагато:
$ cp -R ~/.openscada/LibsDB ~/.openscada/LibsDB_
$ cp /usr/share/openscada/LibsDB/*.db ~/.openscada/LibsDB
  • тепер запускаємо, навіть обранням у менеджері проектів, але працювати воно одразу скоріш за все не буде та треба додатково: