Часто востребованной бывает задача переноса конфигурации из одного проекта OpenSCADA в другой. Причём, чаще всего нужно осуществить частичный перенос, например, перенос отдельных наработок, которые могут пригодиться в новом проекте.
Нужно отметить, что любые наработки с малейшим намёком и перспективой вторичного использования нужно стараться унифицировать и сохранять в отдельные-собственные библиотечные хранилища-БД.
Крайне не рекомендуется непосредственно менять стандартные конфигурации и элементы стандартных библиотек, а также сохранять собственные-новые библиотеки и элементы в хранилищах стандартных библиотек. Это позволит Вам впоследствии безболезненно обновлять стандартные библиотеки, а также просто использовать наработки ваших предыдущих проектов.
Если вы учли вышеуказанные рекомендации и все Ваши унифицированные наработки содержаться в отдельном хранилище-БД, то весь процесс переноса будет заключаться в копировании и подключении хранилища в новом проекте или в простом его подключении для сетевых СУБД.
Процедура копирования хранилища-БД зависит от типа хранилища и с ней необходимо ознакомиться в соответствующей документации.
Для сопутствующего распространения с дистрибутивами OpenSCADA обычно используется БД SQLite в виде отдельных файлов *.db. Копирование БД SQLite соответственно заключается в простом копировании нужного файла БД из каталога проекта-баз данных старого проекта в каталог проекта нового.
Подключение осуществляется путём создания нового объекта БД в модуле нужного типа подсистемы БД и последующей его конфигурации (читать больше). После создания, конфигурации и включения БД; данные в БД можно сразу загрузить нажав кнопку "Загрузить программу из этой БД" на форме объекта БД. Однако это предусматривает только саму загрузку, без включения-запуска загруженных объектов, поэтому тут может быть проще перезапустить OpenSCADA.
В случае, если нужная конфигурация содержится в Общем Хранилище или хранилище-БД стандартных библиотек, то предварительно нужно осуществить выделение её в отдельное хранилище. Выделить конфигурацию можно или в отдельное хранилище с вашими библиотеками или в экспортное хранилище. Экспортное хранилище, в отличие от библиотечного, служит только для переноса конфигурации и будет впоследствии удалено. В любом случае, нужно создать новое хранилище нужного типа подобно процедуре подключения выше. Для переноса нужно использовать тип, который планируется применять в новом проекте. Обычно для переноса лучше использовать тип БД SQLite ввиду простой процедуры копирования. Однако, если использовать сетевую СУБД, эта процедура может превратиться в простое подключение библиотечного или экспортного хранилища в новом проекте.
Далее конфигурацию необходимо выделить в библиотечное хранилище унификации или экспорта, если она непосредственно не может быть сохранена в хранилище. Отдельные шаблоны параметров или параметры контроллеров сбора данных, визуальные элементы библиотек виджетов и т.д. можно выделить путём создания библиотеки экспорта или унификации соответствующего элемента. Для новой библиотеки в качестве хранилища нужно указать ранее созданное хранилище унификации или экспорта. Далее осуществляется копирование нужных элементов из исходной библиотеки в библиотеку унификации-экспорта посредством стандартной функции копирования. После копирования библиотеку унификации-экспорта нужно сохранить и её содержимое попадёт в новое хранилище.
В случае необходимости переноса объекта с отдельным свойством БД или целых библиотек, операцию создания промежуточной библиотеки и последующего копирования можно опустить. Достаточно в поле БД указать ранее созданное хранилище унификации или экспорта и сохранить элемент. После чего рядом возникнет кнопка удаления данных объекта из предыдущего хранилища, чем вы можете воспользоваться если эта операция осуществляется в рамках одного проекта для выделения конфігурации в другое хранилище.
Дальнейшее действие, а именно простой перенос хранилища, осуществляется в соответствии с предыдущим разделом.
При переносе конфигурации путём экспортирования необходимо осуществить обратный процесс копирования из экспортных библиотек в локальные библиотеки нового проекта и удаление экспортного хранилища.
Для переноса можно использовать избирательное копирование таблиц БД с конфигурацией путём: выбора объектов таблиц в объекте БД, вызова команды копирования, выбора объекта новой БД и вызова команды вставки (читать больше). Однако для этого могут понадобиться знания структуры БД, про что изложено тут.
Documents/How_to/Transferring_project_configuration/ru - GFDL | March 2024 | OpenSCADA 0.9.7 |