From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page Documents/How to/Transferring project configuration and the translation is 100% complete.

Other languages:
English • ‎российский • ‎українська

Автор: Роман Савоченко

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

Треба відзначити, що будь які напрацювання з найменшим натяком та перспективою вторинного використання треба намагатися уніфікувати та зберігати у окремі-власні бібліотеки та БД. Дуже не рекомендується безпосередньо міняти стандартні конфігурації та елементи стандартних бібліотек, а також зберігати власні-нові бібліотеки та елементи у базах даних стандартних бібліотек. Це дозволить Вам надалі безперешкодно оновлювати стандартні бібліотеки, а також просто використовувати напрацювання ваших попередніх проектів.

1 Простий перенос БД з бібліотеками та конфігурацією

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

Процедура копіювання БД відрізняється для різних типів БД та з нею треба буде ознайомитися з документації на цю БД. Для супутнього розповсюдження, з дистрибутивами OpenSCADA, зазвичай використовується БД SQLite, у вигляді окремих файлів *.db. Копіювання БД SQLite відповідно полягає у простому копіюванні потрібного файлу БД з директорії баз даних старого проекту у директорію баз даних нового.

Підключення здійснюється шляхом створення нового об'єкту БД, у модулі потрібного типу БД підсистеми БД, та подальшої його конфігурації, більше читайте у (деталях). Після створення, конфігурації та включення БД; дані у БД можна одразу завантажити; натиснувши, на формі об'єкту БД, кнопку "Завантажити програму з цієї БД". Однак це передбачає тільки саме завантаження, без включення-запуску завантажених об'єктів, тому тут може бути простіше перезапустити OpenSCADA.

2 Виокремлення потрібної конфігурації

У випадку якщо потрібна конфігурація міститься у загальній БД або БД стандартних бібліотек то попередньо треба здійснити виокремлення її у окрему БД. Виокремити конфігурацію можна або у окрему БД з Вашими бібліотеками або у експортну БД. Експортна БД, на різницю від бібліотечної, слугує тільки для переносу конфігурації та буде надалі видалена. У будь якому випаду, треба створити нову БД для потрібного типу БД, подібно до процедури підключення вище. Для переносу треба використати тип БД, який планується використати у новому проекті. Типово, для переносу краще використовувати тип БД SQLite, через просту процедуру копіювання. Однак, якщо використовувати мережеву СУБД, ця процедура може перетворитися у просте підключення бібліотечної або експортної БД у новому проекті.

Далі конфігурацію треба виокремити у уніфікуючі або експортні бібліотеки, якщо вона не може бути прямо збережена у БД. Окремі шаблони параметрів або параметри контролерів збору даних, візуальні елементи бібліотек віджетів та інше можна виокремити шляхом створення бібліотеки експорту або уніфікації відповідного елементу. Для наново створеної бібліотеки, у якості БД, треба вказати раніш створену уніфікуючу або експортну БД. Далі здійснюється копіювання потрібних елементів з початкової бібліотеки до уніфікуючої-експортної, за посередництвом стандартної функції копіювання. Після копіювання уніфікуючу-експортну бібліотеку треба зберегти.

За потреби переносу об'єкту, з окремою властивістю БД або цілих бібліотек, операцію створення проміжної бібліотеки та подальше копіювання можна опустити. Достатньо у полі БД вказати раніш створену уніфікуючу або експортну БД та зберегти елемент.

Подальші дії, а саме просте перенесення БД, здійснюється відповідно до попереднього розділу.

При переносі конфігурації шляхом експортування, треба здійснити зворотній процес копіювання з експортних бібліотек у локальні бібліотеки нового проекту та видалення експортної БД.

3 Низькорівневе копіювання вмісту БД

Для переносу можна використати вибіркове копіювання таблиць БД з конфігурацією, шляхом: обрання об'єктів таблиць у об'єкті БД, виклику команди копіювання, обрання об'єкту нової БД та виклику команди вставки, про що читайте (детальніше). Однак, для цього треба знати структуру БД, про яку викладено за цим посиланням.