Новые библиотеки бывают двух видов:
- .library — с исходными кодами и собранной библиотекой. Занимает больше места и не скрывает интеллектуальную собственность.
- .compiled-library — только собранная библиотека, без исходных кодов. Очень небольшого размера и зашифрована. Восстановить исходный код невозможно.
Эти файлы, как сейчас стало модно, являются zip-архивами с человеко-невменяемым содержимым.
Стандартный репозиторий (хранилище библиотек) расположен здесь:
x:\TwinCAT\3.1\Components\Plc\Managed Libraries.
Далее идут: организация разработчик → имя библиотеки → версия → и непосредственно сама библиотека. В итоге для библиотеки Tc2_EtherCAT получается следующий путь:
x:\TwinCAT\3.1\Components\Plc\Managed Libraries\Beckhoff Automation GmbH\Tc2_EtherCAT\3.3.7.0\Tc2_EtherCAT.compiled-library-ge33
Рядом с библиотекой лежат три файла (ничего интересного):
- projectinfo — бинарная информация о библиотеке;
- dependencies — текстовый файл со списком библиотек от которых зависит данная библиотека;
- browsercache — вспомогательная системная информация в виде xml-файл.
Если библиотека поставляется с исходными кодами, то вместо файла .compiled-library-ge33 будет лежать файл .library.
де / Инсталляция
Нельзя просто так взять и удалить библиотеку. Добавить тоже не просто так.
Вообще-то можно, но TwinCAT будет ругаться и последствия могут быть произвольными.
Теперь недостаточно просто скопировать файл библиотеки, его необходимо установить в локальное хранилище (репозиторий). Для это ткнуть правой кнопкой мыши ветку References и выбрать Library repository... Затем воспользоваться кнопкой Install... Аналогично для деинсталляции, только кнопка Uninstall.
Плейсхолдеры вместо библиотек
На самом деле в References проекта добавляются не библиотеки, а плейсхолдеры (placeholders), которые служат оберткой вокруг библиотеки и позволяют всегда загружать необходимую версию библиотеки для разного оборудования и разных версий TwinCAT.
Там еще много чего вокруг них наворочено, но по большей части для стандартных библиотек они работают автоматически.
Разработка
Для того чтобы создать новую библиотеку необходимо добавить к ветке PLC → Empty PLC Project. После окончания разработки функций библиотеки, достаточно ткнуть правой кнопкой мыши экземпляр PLC-проекта: ветка PLC → <имя проекта> Project, и выбрать Save as library... или
Чуть больше подробностей для разработчиков библиотек можно почерпнуть в статьях Intro PLC Libraries и Library Management.