From OpenSCADAWiki
< Documents‎ | How to
Revision as of 11:18, 25 September 2021 by RomanSavochenko (Talk | contribs)

Jump to: navigation, search
Other languages:
English • ‎mRussian • ‎Українська

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

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

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

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

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

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

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

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

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

В случае, если нужная конфигурация содержится в Общем Хранилище или хранилище-БД стандартных библиотек, то предварительно нужно осуществить выделение её в отдельное хранилище. Выделить конфигурацию можно или в отдельное хранилище с вашими библиотеками или в экспортное хранилище. Экспортное хранилище, в отличие от библиотечного, служит только для переноса конфигурации и будет впоследствии удалено. В любом случае, нужно создать новое хранилище нужного типа подобно процедуре подключения выше. Для переноса нужно использовать тип, который планируется применять в новом проекте. Обычно для переноса лучше использовать тип БД 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 parameter templates or controller parameters of the data acquisition, 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.

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

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

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

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

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