<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html class="client-nojs" dir="ltr" lang="en"> <head> <meta charset="UTF-8" /> <title>ДокументациÑ/Как/ПеренеÑти конфигурации проекта OpenSCADA - OpenSCADAWiki</title> <meta content="MediaWiki 1.26.4" name="generator" /> <link href="https://www.gnu.org/copyleft/fdl.html" rel="copyright" /> <link href="../en/files/doc.css" rel="stylesheet" /></head> <body><div class="floatright"><a href="index.html"><img alt="OpenSCADA" src="../en/files/index.png" /></a></div><div id="mw_header"> <div class="mw-indicators"> </div> <h1 id="firstHeading" lang="ru">ДокументациÑ/Как/ПеренеÑти конфигурации проекта OpenSCADA</h1> </div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="ru"><div class="mw-pt-translate-header noprint" dir="ltr" lang="en">This page is a <span class="plainlinks"><a class="external text" href="http://oscada.org/wiki/index.php?title=Special:Translate&group=page-Documents%2FHow+to%2FTransferring+project+configuration&action=page&filter=&language=ru" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Documents/How_to/Transferring_project_configuration" title="Documents/How to/Transferring project configuration">Documents/How to/Transferring project configuration</a> and the translation is 100% complete.</div><hr /><div class="mw-pt-languages" dir="ltr" lang="en"><div class="mw-pt-languages-list autonym"><a class="mw-pt-languages-ui mw-pt-progress mw-pt-progress--complete" href="../en/How_to_Transferring_project_configuration.html" title="Documents/How to/Transferring project configuration (100% translated)">English</a> • ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">mRussian</span> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../uk/How_to_Transferring_project_configuration.html" title="ДокументаціÑ/Як/ПеренеÑти конфігурації проєкту OpenSCADA (100% translated)">УкраїнÑька</a></div></div> <div style="float:right; border:1px solid gray; width:300px; padding:2px; margin-left: 10pt; margin-bottom: 10pt;"> <ul><li> <b>Ðвтор:</b> <a class="external" href="http://oscada.org/wiki/User:RomanSavochenko" title="User:RomanSavochenko">Роман Савоченко</a></li></ul> </div> <p>ЧаÑто воÑтребованной бывает задача переноÑа конфигурации из одного проекта OpenSCADA в другой. Причём, чаще вÑего нужно оÑущеÑтвить чаÑтичный переноÑ, например, Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… наработок, которые могут пригодитьÑÑ Ð² новом проекте. </p><p>Ðужно отметить, что любые наработки Ñ Ð¼Ð°Ð»ÐµÐ¹ÑˆÐ¸Ð¼ намёком и перÑпективой вторичного иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾ ÑтаратьÑÑ ÑƒÐ½Ð¸Ñ„Ð¸Ñ†Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ и ÑохранÑÑ‚ÑŒ в отдельные-ÑобÑтвенные библиотечные хранилища-БД. </p><p><a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../en/files/At.png" width="22" /></a> Крайне не рекомендуетÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенно менÑÑ‚ÑŒ Ñтандартные конфигурации и Ñлементы Ñтандартных библиотек, а также ÑохранÑÑ‚ÑŒ ÑобÑтвенные-новые библиотеки и Ñлементы в хранилищах Ñтандартных библиотек. Ðто позволит Вам впоÑледÑтвии безболезненно обновлÑÑ‚ÑŒ Ñтандартные библиотеки, а также проÑто иÑпользовать наработки ваших предыдущих проектов. </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.BE.D0.B9_.D0.BF.D0.B5.D1.80.D0.B5.D0.BD.D0.BE.D1.81_.D1.85.D1.80.D0.B0.D0.BD.D0.B8.D0.BB.D0.B8.D1.89.D0.B0_.D1.81_.D0.B1.D0.B8.D0.B1.D0.BB.D0.B8.D0.BE.D1.82.D0.B5.D0.BA.D0.B0.D0.BC.D0.B8_.D0.B8_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.B5.D0.B9"><span class="tocnumber">1</span> <span class="toctext">ПроÑтой Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰Ð° Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ°Ð¼Ð¸ и конфигурацией</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#.D0.92.D1.8B.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BD.D1.83.D0.B6.D0.BD.D0.BE.D0.B9_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.B8"><span class="tocnumber">2</span> <span class="toctext">Выделение нужной конфигурации</span></a></li> <li class="toclevel-1 tocsection-3"><a href="#.D0.9D.D0.B8.D0.B7.D0.BA.D0.BE.D1.83.D1.80.D0.BE.D0.B2.D0.BD.D0.B5.D0.B2.D0.BE.D0.B5_.D0.BA.D0.BE.D0.BF.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D0.BE.D0.B4.D0.B5.D1.80.D0.B6.D0.B8.D0.BC.D0.BE.D0.B3.D0.BE_.D0.91.D0.94"><span class="tocnumber">3</span> <span class="toctext">Ðизкоуровневое копирование Ñодержимого БД</span></a></li> </ul> </div> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.BE.D1.81.D1.82.D0.BE.D0.B9_.D0.BF.D0.B5.D1.80.D0.B5.D0.BD.D0.BE.D1.81_.D1.85.D1.80.D0.B0.D0.BD.D0.B8.D0.BB.D0.B8.D1.89.D0.B0_.D1.81_.D0.B1.D0.B8.D0.B1.D0.BB.D0.B8.D0.BE.D1.82.D0.B5.D0.BA.D0.B0.D0.BC.D0.B8_.D0.B8_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.B5.D0.B9"><span class="mw-headline-number">1</span> ПроÑтой Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰Ð° Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ°Ð¼Ð¸ и конфигурацией</span></h3> <p>ЕÑли вы учли вышеуказанные рекомендации и вÑе Ваши унифицированные наработки ÑодержатьÑÑ Ð² отдельном хранилище-БД, то веÑÑŒ процеÑÑ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñа будет заключатьÑÑ Ð² копировании и подключении хранилища в новом проекте или в проÑтом его подключении Ð´Ð»Ñ Ñетевых СУБД. </p><p>Процедура ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰Ð°-БД завиÑит от типа хранилища и Ñ Ð½ÐµÐ¹ необходимо ознакомитьÑÑ Ð² ÑоответÑтвующей документации. </p><p>Ð”Ð»Ñ ÑопутÑтвующего раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ Ð´Ð¸Ñтрибутивами OpenSCADA обычно иÑпользуетÑÑ <a href="Modules/SQLite.html" title="Special:MyLanguage/Modules/SQLite">БД SQLite</a> в виде отдельных файлов <b>*.db</b>. Копирование БД SQLite ÑоответÑтвенно заключаетÑÑ Ð² проÑтом копировании нужного файла БД из <a href="Program_manual.html#Projects" title="Special:MyLanguage/Documents/Program manual">каталога проекта-баз данных</a> Ñтарого проекта в каталог проекта нового. </p><p>Подключение оÑущеÑтвлÑетÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ объекта БД в модуле нужного типа подÑиÑтемы БД и поÑледующей его конфигурации (<a href="Program_manual.html#CfgDB" title="Special:MyLanguage/Documents/Program manual">читать больше</a>). ПоÑле ÑозданиÑ, конфигурации и Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð‘Ð”; данные в БД можно Ñразу загрузить нажав кнопку "Загрузить программу из Ñтой БД" на форме объекта БД. Однако Ñто предуÑматривает только Ñаму загрузку, без включениÑ-запуÑка загруженных объектов, поÑтому тут может быть проще перезапуÑтить OpenSCADA. </p> <h3><span class="mw-headline" id=".D0.92.D1.8B.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BD.D1.83.D0.B6.D0.BD.D0.BE.D0.B9_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.B8"><span class="mw-headline-number">2</span> Выделение нужной конфигурации</span></h3> <p>Ð’ Ñлучае, еÑли Ð½ÑƒÐ¶Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑодержитÑÑ Ð² <a href="Program_manual.html#Storage" title="Special:MyLanguage/Documents/Program manual">Общем Хранилище</a> или хранилище-БД Ñтандартных библиотек, то предварительно нужно оÑущеÑтвить выделение её в отдельное хранилище. Выделить конфигурацию можно или в отдельное хранилище Ñ Ð²Ð°ÑˆÐ¸Ð¼Ð¸ библиотеками или в ÑкÑпортное хранилище. ÐкÑпортное хранилище, в отличие от библиотечного, Ñлужит только Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñа конфигурации и будет впоÑледÑтвии удалено. Ð’ любом Ñлучае, нужно Ñоздать новое хранилище нужного типа подобно процедуре Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹ÑˆÐµ. Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñа нужно иÑпользовать тип, который планируетÑÑ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÑÑ‚ÑŒ в новом проекте. Обычно Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñа лучше иÑпользовать тип БД SQLite ввиду проÑтой процедуры копированиÑ. Однако, еÑли иÑпользовать Ñетевую СУБД, Ñта процедура может превратитьÑÑ Ð² проÑтое подключение библиотечного или ÑкÑпортного хранилища в новом проекте. </p><p>Далее конфигурацию необходимо выделить в библиотечное хранилище унификации или ÑкÑпорта, еÑли она непоÑредÑтвенно не может быть Ñохранена в хранилище. Отдельные <a href="Program_manual.html#DAQTmpl" title="Special:MyLanguage/Documents/Program manual">шаблоны параметров</a> или <a href="Program_manual.html#CfgDAQ" title="Special:MyLanguage/Documents/Program manual">параметры контроллеров Ñбора данных</a>, <a href="Modules/VCAEngine.html" title="Special:MyLanguage/Modules/VCAEngine">визуальные Ñлементы библиотек виджетов</a> и Ñ‚.д. можно выделить путём ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ ÑкÑпорта или унификации ÑоответÑтвующего Ñлемента. Ð”Ð»Ñ Ð½Ð¾Ð²Ð¾Ð¹ библиотеки в качеÑтве хранилища нужно указать ранее Ñозданное хранилище унификации или ÑкÑпорта. Далее оÑущеÑтвлÑетÑÑ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ нужных Ñлементов из иÑходной библиотеки в библиотеку унификации-ÑкÑпорта поÑредÑтвом Ñтандартной функции копированиÑ. ПоÑле ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÑƒ унификации-ÑкÑпорта нужно Ñохранить и её Ñодержимое попадёт в новое хранилище. </p><p>Ð’ Ñлучае необходимоÑти переноÑа объекта Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ð¼ ÑвойÑтвом БД или целых библиотек, операцию ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ð¾Ð¹ библиотеки и поÑледующего ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ опуÑтить. ДоÑтаточно в поле БД указать ранее Ñозданное хранилище унификации или ÑкÑпорта и Ñохранить Ñлемент. ПоÑле чего Ñ€Ñдом возникнет кнопка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… объекта из предыдущего хранилища, чем вы можете воÑпользоватьÑÑ ÐµÑли Ñта Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¾ÑущеÑтвлÑетÑÑ Ð² рамках одного проекта Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ в другое хранилище. </p><p>Дальнейшее дейÑтвие, а именно проÑтой Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰Ð°, оÑущеÑтвлÑетÑÑ Ð² ÑоответÑтвии Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼ разделом. </p><p>При переноÑе конфигурации путём ÑкÑÐ¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾ оÑущеÑтвить обратный процеÑÑ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð· ÑкÑпортных библиотек в локальные библиотеки нового проекта и удаление ÑкÑпортного хранилища. </p> <h3><span class="mw-headline" id=".D0.9D.D0.B8.D0.B7.D0.BA.D0.BE.D1.83.D1.80.D0.BE.D0.B2.D0.BD.D0.B5.D0.B2.D0.BE.D0.B5_.D0.BA.D0.BE.D0.BF.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D0.BE.D0.B4.D0.B5.D1.80.D0.B6.D0.B8.D0.BC.D0.BE.D0.B3.D0.BE_.D0.91.D0.94"><span class="mw-headline-number">3</span> Ðизкоуровневое копирование Ñодержимого БД</span></h3> <p>Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñа можно иÑпользовать избирательное копирование таблиц БД Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸ÐµÐ¹ путём: выбора объектов таблиц в объекте БД, вызова команды копированиÑ, выбора объекта новой БД и вызова команды вÑтавки (<a href="Program_manual.html#CfgDB" title="Special:MyLanguage/Documents/Program manual">читать больше</a>). Однако Ð´Ð»Ñ Ñтого могут понадобитьÑÑ Ð·Ð½Ð°Ð½Ð¸Ñ Ñтруктуры БД, про что изложено <a class="external" href="http://oscada.org/wiki/Documents/API#Organization_and_structure_of_the_database_of_the_system_components" title="Documents/API">тут</a>. </p> </div><table style="border-top: dotted 2px #999999; margin-top: 20pt; color: gray;" width="100%"><tr><td style="text-align: left;" width="40%"><a href="http://oscada.org/wiki/Documents/How_to/Transferring_project_configuration/ru">Documents/How_to/Transferring_project_configuration/ru</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">March 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3012</td></tr></table></body> </html>