<?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&amp;group=page-Documents%2FHow+to%2FTransferring+project+configuration&amp;action=page&amp;filter=&amp;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>&nbsp;• ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">mRussian</span>&nbsp;• ‎<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>