- Автор: Роман Савоченко
Часто затребуваним буває завдання перенесення конфігурації із одного проєкту OpenSCADA до іншого. Причому, частіш за все треба здійснити часткове перенесення, наприклад, перенесення окремих напрацювань, які можуть знадобитися у новому проєкті.
Треба відзначити, що будь які напрацювання з найменшим натяком та перспективою вторинного використання треба намагатися уніфіковувати та зберігати у окремі-власні бібліотечні сховища-БД.
Дуже не рекомендується безпосередньо змінювати стандартні конфігурації та елементи стандартних бібліотек, а також зберігати власні-нові бібліотеки та елементи у сховищах стандартних бібліотек. Це дозволить вам надалі безперешкодно оновлювати стандартні бібліотеки, а також просто використовувати напрацювання ваших попередніх проєктів.
Contents
1 Просте перенесення сховища з бібліотеками та конфігурацією
Якщо ви врахували вищенаведені рекомендації та всі ваші уніфіковані напрацювання містяться у окремому сховищі-БД, то весь процес перенесення буде полягати у копіюванні та підключені сховища у новому проєкті або у простому його підключені для мережевих СУБД.
Процедура копіювання сховища-БД залежить від типу сховища та з нею треба ознайомитися у відповідній документації.
Для супутнього розповсюдження з дистрибутивами OpenSCADA зазвичай використовується БД SQLite у вигляді окремих файлів *.db. Копіювання БД SQLite відповідно полягає у простому копіюванні потрібного файлу БД з теки проєкту-баз даних старого проєкту у теку проєкту нового.
Підключення здійснюється шляхом створення нового об'єкту БД у модулі потрібного типу підсистеми БД та подальшої його конфігурації (читати більше). Після створення, конфігурації та ввімкнення БД; дані у БД можна одразу завантажити натиснувши кнопку "Завантажити програму з цієї БД" на формі об'єкту БД. Однак це передбачає лише саме завантаження, без ввімкнення-запуску завантажених об'єктів, тому тут може бути простіше перезапустити OpenSCADA.
2 Виокремлення потрібної конфігурації
У випадку, якщо потрібна конфігурація міститься у Загальному Сховищі або сховку-БД стандартних бібліотек, то попередньо треба здійснити виокремлення її у окремий сховок. Виокремити конфігурацію можна або у окремий сховок з вашими бібліотеками або у експортний сховок. Експортний сховок, на відміну від бібліотечного, слугує лише для перенесення конфігурації та буде надалі видалено. У будь якому разі, потрібно створити новий сховок визначеного типу подібно до процедури підключення вище. Для перенесення треба використати тип, який планується застосувати у новому проєкті. Зазвичай для перенесення краще використовувати тип БД SQLite через просту процедуру копіювання. Однак, якщо використовувати мережеву СУБД, ця процедура може перетворитися у просте підключення бібліотечного або експортного сховку у новому проєкті.
Далі конфігурацію потрібно виокремити до бібліотечного сховища уніфікації або експорту, якщо вона не може бути безпосередньо збережена до сховища. Окремі шаблони параметрів або параметри контролерів збору даних, візуальні елементи бібліотек віджетів та інше можна виокремити шляхом створення бібліотеки експорту або уніфікації відповідного елементу. Для нової бібліотеки у якості сховку треба вказати раніше створений сховок уніфікації або експорту. Далі здійснюється копіювання потрібних елементів з початкової бібліотеки до бібліотеки уніфікації-експорту за посередництвом стандартної функції копіювання. Після копіювання бібліотеку уніфікації-експорту треба зберегти та її вміст потрапить до нового сховку.
За потреби перенесення об'єкту з окремою властивістю БД або цілих бібліотек, операцію створення проміжної бібліотеки та подальше копіювання можна опустити. Достатньо у полі БД вказати раніше створене сховище уніфікації або експорту та зберегти елемент. Після чого поряд виникне кнопка видалення даних об'єкту із попереднього сховища, чим ви можете скористатися якщо ця операція здійснюється у межах одного проєкту для виокремлення конфігурації до іншого сховища.
Подальша дія, а саме просте перенесення сховища, здійснюється відповідно до попереднього розділу.
При перенесенні конфігурації шляхом експортування треба здійснити зворотній процес копіювання з експортних бібліотек до локальних бібліотек нового проєкту та видалення експортного сховища.
3 Низькорівневе копіювання вмісту БД
Для перенесення можна використати вибіркове копіювання таблиць БД з конфігурацією шляхом: обрання об'єктів таблиць у об'єкті БД, виклику команди копіювання, обрання об'єкту нової БД та виклику команди вставки (читати більше). Однак для цього може знадобитися знання структури БД, про що викладено тут.