Библиотеки

В ряде проектов могут использоваться одинаковые схемы управления. Чтобы исключить излишнее копирование и вносить изменения одновременно во все проекты, где используется одинаковые схемы управления, их можно выделить в отдельные макросхемы и поместить в библиотеку. В программе присутствуют два вида библиотек: системные и библиотеки проекта. Библиотеки проекта являются частью проекта, экспортируются и импортируются в месте с ним. Системные библиотеки хранятся на локальном диске и доступны для всех проектов.

Первоначально все библиотеки создаются как библиотеки проекта.

Библиотеки проекта

Библиотеки проекта являются его частью, с ними можно производить все операции, доступные для элементов проекта: создание, удаление, копирование, экспорт и импорт.

Создание библиотеки осуществляется в два этапа:

  • создание контейнера библиотеки;
  • наполнение контейнера схемами управления.

Для создания библиотеки необходимо в обозреватели проекта выбрать пункт Библиотеки проекта и в контекстном меню по ПКМ выбрать команду Добавить.

_images/library_add1.png

В окне Добавить выбираем требуемый тип библиотеки и указываем ее имя.

_images/library_add.png

После создания библиотеки необходимо произвести первичную настройку.

_images/library_property2.png

Библиотека имеет следующие свойства:

  • Версия - указывается версия библиотеки
  • Дата создания - дата создания библиотеки, не подлежит изменению
  • Автор - автор библиотеки
  • Описание - краткое описание библиотеки
  • Закрытая библиотека - флаг запрещает просмотр всех модулей в библиотеки.

Свойство Закрытая библиотека позволяет спрятать содержимое всех элементов библиотеки в том случае, когда эта библиотека используется как системная. Если библиотека находится в разделе Библиотеки проекта, то блокировка игнорируется.

_images/library_property.png

Все элементы библиотеки можно использовать так же как и элементы проекта. Например, при создании библиотеки FBD макросов, можно эти макросы использовать во всех шаблонах этого проекта так же, как если бы они находились в самом шаблоне. Использование библиотеки позволяет уменьшить количество копий одинаковых макросов, если они используются в разных шаблонах программы.

Для того чтобы используемые объекты были общими для разных проектов, необходимо использовать системные библиотеки.

Системные библиотеки

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

Внимание

При переносе проекта с одного компьютера на другой, необходимо заботиться и о переносе системных библиотек.

_images/library_setup.png

Здесь же можно производить подключение и удаление библиотек к системе. Для добавления библиотеки необходимо нажать на кнопку Добавить… и в появившемся диалоговом окне выбрать файл библиотеки. Выбранный файл будет добавлен в папку библиотек, объекты библиотеки будут доступны в обозревателе проекта в разделе Системные библиотеки. Для удаления нажимаем кнопку Удалить. Операция удаления является необратимой, файл библиотеки удаляется из папки безвозвратно.

Системным библиотекам можно назначить панель инструментов, с помощью которой упрощается добавление элементы библиотеки в проект. Назначение панели производится в том же диалоге настроек.

На рисунке, расположенном ниже показано, что можно «вытащить» макрос из системной библиотеки в навигаторе проекта или из панели инструментов.

_images/library_panel.png

Системные библиотеки создаются из библиотек проекта двумя способами: экспорт в файл и экспорт в системную библиотеку.

_images/library_export1.png

Использование команды Библиотеки - Экспорт в файл… в контекстном меню библиотеки. При вызове этой команды будет открыто окно с выбором имени и пути для сохранения файла библиотеки. Использование команды Библиотеки - Экспорт в системную библиотеку. При выполнении этой команды выбранная библиотека сразу будет экспортирована в файл с именем, совпадающем с именем библиотеки, и помещена в папку для системных библиотек.

Файл экспортируемой библиотеки имеет расширение *.lib. Если библиотека помечена как закрытая, то расширение файла при экспорте будет *.clib.

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

Объекты, находящиеся в системной библиотеке можно просматривать, копировать. Однако редактирование объектов или вставка новых невозможно. В случае, если библиотека была помечена как закрытая, запрещается ее просмотр и копирование ее объектов.

Внимание

Если версия программы не поддерживает закрытые библиотеки, то при старте они будут пропускаться и будут отсутствовать в навигаторе проекта.

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

В случае открытия проекта, использующего несуществующую системную библиотеку, будет выдано предупреждение:

_images/library_error.png