From OpenSCADAWiki
Jump to: navigation, search
 
Line 21: Line 21:
 
В случае, если нужная конфигурация содержится в [[Special:MyLanguage/Documents/Program_manual#Storage|Общем Хранилище]] или хранилище-БД стандартных библиотек, то предварительно нужно осуществить выделение её в отдельное хранилище. Выделить конфигурацию можно или в отдельное хранилище с вашими библиотеками или в экспортное хранилище. Экспортное хранилище, в отличие от библиотечного, служит только для переноса конфигурации и будет впоследствии удалено. В любом случае, нужно создать новое хранилище нужного типа подобно процедуре подключения выше. Для переноса нужно использовать тип, который планируется применять в новом проекте. Обычно для переноса лучше использовать тип БД SQLite ввиду простой процедуры копирования. Однако, если использовать сетевую СУБД, эта процедура может превратиться в простое подключение библиотечного или экспортного хранилища в новом проекте.
 
В случае, если нужная конфигурация содержится в [[Special:MyLanguage/Documents/Program_manual#Storage|Общем Хранилище]] или хранилище-БД стандартных библиотек, то предварительно нужно осуществить выделение её в отдельное хранилище. Выделить конфигурацию можно или в отдельное хранилище с вашими библиотеками или в экспортное хранилище. Экспортное хранилище, в отличие от библиотечного, служит только для переноса конфигурации и будет впоследствии удалено. В любом случае, нужно создать новое хранилище нужного типа подобно процедуре подключения выше. Для переноса нужно использовать тип, который планируется применять в новом проекте. Обычно для переноса лучше использовать тип БД SQLite ввиду простой процедуры копирования. Однако, если использовать сетевую СУБД, эта процедура может превратиться в простое подключение библиотечного или экспортного хранилища в новом проекте.
  
Next you must separate the configuration in the library storage of unifying or export, if it can not be directly stored in the storage. Some [[Special:MyLanguage/Documents/Program_manual#DAQTmpl|parameter templates]] or [[Special:MyLanguage/Documents/Program_manual#CfgDAQ|controller parameters of the data acquisition]], [[Special:MyLanguage/Modules/VCAEngine|visual elements of the widget libraries]], etc. can be separated by creating a library of export or unifying of the corresponding element. For the new library as a storage should be specified the previously created storage of unifying or export. Further you should copy the necessary elements from the original library to the library of unifying-export via the standard copy function. After copying the unifying-export library must be saved and its content will be appeared in the new storage.
+
Далее конфигурацию необходимо выделить в библиотечное хранилище унификации или экспорта, если она непосредственно не может быть сохранена в хранилище. Отдельные [[Special:MyLanguage/Documents/Program_manual#DAQTmpl|шаблоны параметров]] или [[Special:MyLanguage/Documents/Program_manual#CfgDAQ|параметры контроллеров сбора данных]], [[Special:MyLanguage/Modules/VCAEngine|визуальные элементы библиотек виджетов]] и т.д. можно выделить путём создания библиотеки экспорта или унификации соответствующего элемента. Для новой библиотеки в качестве хранилища нужно указать ранее созданное хранилище унификации или экспорта. Далее осуществляется копирование нужных элементов из исходной библиотеки в библиотеку унификации-экспорта посредством стандартной функции копирования. После копирования библиотеку унификации-экспорта нужно сохранить и её содержимое попадёт в новое хранилище.
  
 
В случае необходимости переноса объекта с отдельным свойством БД или целых библиотек, операцию создания промежуточной библиотеки и последующего копирования можно опустить. Достаточно в поле БД указать ранее созданное хранилище унификации или экспорта и сохранить элемент. После чего рядом возникнет кнопка удаления данных объекта из предыдущего хранилища, чем вы можете воспользоваться если эта операция осуществляется в рамках одного проекта для выделения конфігурации в другое хранилище.
 
В случае необходимости переноса объекта с отдельным свойством БД или целых библиотек, операцию создания промежуточной библиотеки и последующего копирования можно опустить. Достаточно в поле БД указать ранее созданное хранилище унификации или экспорта и сохранить элемент. После чего рядом возникнет кнопка удаления данных объекта из предыдущего хранилища, чем вы можете воспользоваться если эта операция осуществляется в рамках одного проекта для выделения конфігурации в другое хранилище.

Latest revision as of 11:19, 25 September 2021

Other languages:
English • ‎mRussian • ‎Українська

Часто востребованной бывает задача переноса конфигурации из одного проекта OpenSCADA в другой. Причём, чаще всего нужно осуществить частичный перенос, например, перенос отдельных наработок, которые могут пригодиться в новом проекте.

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

At.png Крайне не рекомендуется непосредственно менять стандартные конфигурации и элементы стандартных библиотек, а также сохранять собственные-новые библиотеки и элементы в хранилищах стандартных библиотек. Это позволит Вам впоследствии безболезненно обновлять стандартные библиотеки, а также просто использовать наработки ваших предыдущих проектов.

1 Простой перенос хранилища с библиотеками и конфигурацией

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

Процедура копирования хранилища-БД зависит от типа хранилища и с ней необходимо ознакомиться в соответствующей документации.

Для сопутствующего распространения с дистрибутивами OpenSCADA обычно используется БД SQLite в виде отдельных файлов *.db. Копирование БД SQLite соответственно заключается в простом копировании нужного файла БД из каталога проекта-баз данных старого проекта в каталог проекта нового.

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

2 Выделение нужной конфигурации

В случае, если нужная конфигурация содержится в Общем Хранилище или хранилище-БД стандартных библиотек, то предварительно нужно осуществить выделение её в отдельное хранилище. Выделить конфигурацию можно или в отдельное хранилище с вашими библиотеками или в экспортное хранилище. Экспортное хранилище, в отличие от библиотечного, служит только для переноса конфигурации и будет впоследствии удалено. В любом случае, нужно создать новое хранилище нужного типа подобно процедуре подключения выше. Для переноса нужно использовать тип, который планируется применять в новом проекте. Обычно для переноса лучше использовать тип БД SQLite ввиду простой процедуры копирования. Однако, если использовать сетевую СУБД, эта процедура может превратиться в простое подключение библиотечного или экспортного хранилища в новом проекте.

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

В случае необходимости переноса объекта с отдельным свойством БД или целых библиотек, операцию создания промежуточной библиотеки и последующего копирования можно опустить. Достаточно в поле БД указать ранее созданное хранилище унификации или экспорта и сохранить элемент. После чего рядом возникнет кнопка удаления данных объекта из предыдущего хранилища, чем вы можете воспользоваться если эта операция осуществляется в рамках одного проекта для выделения конфігурации в другое хранилище.

Дальнейшее действие, а именно простой перенос хранилища, осуществляется в соответствии с предыдущим разделом.

При переносе конфигурации путём экспортирования необходимо осуществить обратный процесс копирования из экспортных библиотек в локальные библиотеки нового проекта и удаление экспортного хранилища.

3 Низкоуровневое копирование содержимого БД

Для переноса можно использовать избирательное копирование таблиц БД с конфигурацией путём: выбора объектов таблиц в объекте БД, вызова команды копирования, выбора объекта новой БД и вызова команды вставки (читать больше). Однако для этого могут понадобиться знания структуры БД, про что изложено тут.