June 9, 2016

Нюансы библиотек в TwinCAT 3

В TwinCAT 3 изменился подход к библиотекам. Он усложнился.

Новые библиотеки бывают двух видов:
  • .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... или Save as library and install... чтобы еще и установить сразу же в локальный репозиторий.


Чуть больше подробностей для разработчиков библиотек можно почерпнуть в статьях Intro PLC Libraries и Library Management.

No comments

Post a Comment

Note: Only a member of this blog may post a comment.