В процессе разработки конструкторской документации инженерам приходится использовать множество различных документов и файлов. Например, при разработке проекта печатной платы в программе Altium Designer помимо основных файлов схем и плат хранится набор файлов для производства и сборки, а также комплект чертежей. Все файлы, входящие в проект, постоянно меняются, причем зачастую разными пользователями, которые не всегда осведомлены обо всех изменениях в проекте. Отсюда возникают частые ошибки при проектировании: например, плата не соответствует последней версии схемы или гербер-файл для производства не соответствует последней модификации платы — не говоря уже о таких случаях, когда и в схеме и в плате существуют недоработки. Большинство существующих систем автоматизированного проектирования (САПР) позволяет выполнять целый ряд верификаций и синхронизаций проекта, но почти всегда эти процедуры могут быть инициированы только пользователем, который определяет и время их выполнения. Если пользователь забыл проконтролировать выполнение одного из таких действий — ошибки не избежать, а цена такой ошибки может быть сопоставима со стоимостью всей разработки!

В программе Altium Designer начиная с версии 13 для хранения данных используется централизованный Altium Vault Server (AVS), об основных возможностях которого мы уже рассказывали [2]. Здесь мы рассмотрим основные преимущества использования такого сервера для хранения проектов и основные этапы работы с проектом при его регистрации в хранилище AVS. При этом мы не будем касаться вопросов работы именно над проектом и схемой в Altium Designer [1], а ограничимся лишь теми аспектами, которые наиболее интересны при использовании сервера AVS.

Рис. 1. Добавление элементов на схему из Altium Vault Server Рис. 1. Добавление элементов на схему из Altium Vault Server

Для начала необходимо создать проект из компонентов, которые хранятся на сервере AVS. О том, как предварительно создать базу покупных электрорадиоизделий, частично уже рассказано в предыдущей статье, посвященной AVS [2]; также можно посмотреть видеоролик «Altium Vault. Создание библиотеки компонентов» [5]. В Altium Designer для размещения компонентов, которые хранятся на сервере, используется панель Vault (а не панель Libraries, как обычно!), которую можно вызвать в правом нижнем углу в разделе System (рис. 1а).

В панели Vault необходимо выбрать нужный сервер (рис. 1б), а их может быть подключено несколько (DXP>Prefe-rences>Data Management>vaults). В рассматриваемом примере выбран сервер под названием RODNIK. Далее следует выбрать в дереве проектов нужную библиотеку (рис. 1в), а в списке компонентов — нужный компонент (рис. 1г). Для добавления компонента на схему требуется щелкнуть на нем правой клавишей и в контекстном меню выбрать Place (рис. 1д). После этого размещение компонентов и создание схемы выполняются штатными средствами, а новые обязательные этапы появляются в тот момент, когда проект готов и его необходимо зарегистрировать и поместить в хранилище.

Предположим, у нас есть готовый проект, который нужно поместить в хранилище. Этому понятию в программе Altium Designer соответствует термин Release, который мы далее будем переводить как выпуск. Как уже сказано, сначала проект надо зарегистрировать в этом хранилище, то есть указать место его хранения и некоторые дополнительные правила. Для этого следует открыть окно, в котором показан маршрут выпуска проекта платы (PCB Release View). Чтобы его открыть, используется пиктограмма, показанная на рис. 2.

Рис. 2. Вызов окна для просмотра маршрута выпуска проекта Рис. 2. Вызов окна для просмотра маршрута выпуска проекта

Здесь следует подробно разобраться с каждой стадией маршрута выпуска проекта, которые показаны на рис. 3. Первым действием необходимо создать так называемую конфигурацию, в которой будет сказано, какой комплект документации и выходных файлов необходимо получить из проекта, а также какой уровень проверки будет определен для данного проекта. Создание конфигураций актуально для тех случаев, когда выполняются разные итерации проекта (например, опытный образец или серийное производство). Чтобы создать конфигурацию, необходимо щелкнуть левой клавишей мыши на названии проекта или на названии конфигурации под ним (рис. 3а). В нашем случае Test — это название проекта, 1 Configuration — название конфигурации.

Рис. 3. Этапы процесса выпуска проекта Рис. 3. Этапы процесса выпуска проекта

В открывшемся окне Configuration Manager for XXX. PrjPcb следует задать название конфигурации и указать, какой файл OutJob использовать для данной конфигурации (рис. 4а). В описываемом примере используется всего один файл с названием Test. OutJob, он и выбран. Именно в этом файле хранится вся информация о том, какие документы будут сформированы из проекта и какие проверки будут обязательно выполнены — тоесть посредством данного файла выполняется управление выпуском проекта. Об этом файле будет рассказано ниже.

Рис. 4. Настройки конфигурации и регистрация проекта Рис. 4. Настройки конфигурации и регистрация проекта

Независимо от настроек конфигурации в этом же окне выполняется регистрация проекта в хранилище, для чего указывается нужное хранилище (рис. 4б) и создается новый объект (Item) хранилища (рис. 4в). При создании нового объекта желательно выбрать подходящую для этого директорию, так как все директории в хранилище имеют свое назначение. Конечно, можно создавать и общие папки (не присваивая им никаких статусов), но гораздо удобнее указывать для каждой папки, какие объекты в ней будут храниться. В описываемом примере была выбрана директория Project (рис. 4г) и в нее добавлен объект ItemID=Test со свойством Content Type = altium-pcb-design, то есть проект печатной платы (рис. 4д). Здесь же можно задавать ограничения и указывать пользователей для совместной работы (рис. 4е). После того как заданы все данные, необходимо последовательно закрыть все диалоговые окна, показанные на рис. 4, и продолжить работу с маршрутом (рис. 3).

Над более-менее сложными проектами часто работают несколько пользователей — как в разных прикладных областях (например, конструктор делает плату, разработчик — схему), так и по нескольку исполнителей в одном направлении (то есть топологию одной платы разрабатывают несколько инженеров-конструкторов). В таких случаях необходима возможность многопользовательской работы над одним проектом, и наиболее удобным инструментом для реализации такой возможности является система контроля версий [3]. Программа Altium Designer имеет встроенный интерфейс с системами контроля версий и позволяет отслеживать версионность документов при многопользовательской работе [4]. Однако пользователи не всегда, внеся изменения в свою часть разработки, вносят эти изменения в общий проект на сервере, что порождает целый ряд дополнительных проблем. В AVS такие проблемы решаются следующим образом: при использовании системы контроля версий необходимо иметь актуальную версию проекта при выпуске его в хранилище AVS. В окне PCB Release проверяется актуальность версий всех файлов, входящих в проект (рис. 3б). В рассматриваемом примере указан статус Not in VCS — то есть проект не проверяется системой контроля версий.

Если проект готов и для него создана хотя бы одна конфигурация с указанием настроек регистрации проекта в хранилище, а также проект зарегистрирован в системе контроля версий (последнее не обязательно), можно запускать процесс передачи проекта в хранилище или, говоря языком Altium, выпускать проект. Для этого его нужно перевести из состояния Design Mode (Режим разработки) в состояние Release Mode (Режим выпуска), как показано на рис. 3е. После этого можно запускать индивидуально каждый из этапов, которые помечены на рис. 3 буквами г, д, ж, или сразу запустить процедуру Commit Release (рис. 3ж). В результате запуска процесса Commit Release будут выполнены следующие процедуры:

  1. Контроль версий (Checkout Snapshot). На первой стадии передачи проекта в Vault система требует, чтобы все файлы проекта имели последнюю модификацию и были проверены в системе контроля версий. Это обеспечивает соблюдение важных требований: сохранение текущей версии всех файлов проекта и фиксацию изменений в системе контроля версий. При этом стоит помнить, что при регистрации контроля проекта в системе контроля версий регистрируется вся директория с проектом, поэтому не рекомендуется хранить в этой директории файлы, не относящиеся к проекту. Регистрация проекта в SVN не является обязательным условием выпуска проекта.
  2. Проверка проекта (Validate Design). На второй стадии происходит проверка всех правил, которые ранее были предварительно настроены в файле OutJob и указаны в настройках конфигурации (рис. 4а). К таким правилам относятся проверка схемы (Electrical Rule Check — ERC), проверка платы (Design Rule Check — DRC), проверка синхронизации между платой и схемой, а также проверка посадочных мест. Если хотя бы одна из проверок завершается неудачей, дальнейший процесс невозможен.
  3. Генерация выходных файлов (Generate Outputs). Формирование выходной документации, описанной в файле OutJob. При этом в соответствующих разделах хранилища будут сохранены всевозможные чертежи, отчеты и файлы для производства.
  4. Выпуск проекта (Commit Release). Сохранение новой версии проекта в хранилище. Изменение сохраненной версии будет невозможно, пока проект находится в состоянии Release Mode и не переключен в режим Design Mode.

В результате корректного выполнения всех этапов будет показан отчет о файлах, которые получены из проекта (рис. 5), и при этом все файлы проекта вместе с документацией будут сохранены на сервере. Стоит отметить, что такой результат возможен только в том случае, если будут выполнены проверки, ранее указанные в файле OutJob, и файлы, которые будут созданы из проекта, также описаны в OutJob. Остановимся подробнее на этом файле и порядке работы с ним.

Рис. 5. Отчет о выпуске файлов для производства и конструкторской документации Рис. 5. Отчет о выпуске файлов для производства и конструкторской документации

Чтобы создать файл с настройками проверки и выпуска документации, необходимо выполнить File>New>Output Job File. При этом в структуре проекта появится новый документ, внешний вид которого показан на рис. 6. Здесь можно выделить три области, обозначенные на рисунке буквами:

Рис. 6. Настройки проверки, выпуска документации и файлов для производства Рис. 6. Настройки проверки, выпуска документации и файлов для производства
  1. выбор варианта для вывода документации (в тех случаях, когда разрабатывается многовариантный проект);
  2. выбор документа, отчета, проверки или файла для ЧПУ;
  3. выбор формата, в котором должен быть сохранен нужный документ или отчет.

В списке документов (рис. 6б) имеется иерархия, которая разделяет документы по типу Наиболее интересная группа здесь — Validation Outputs, в которой можно добавить отчеты ERC, DRC и синхронизацию, а также задать опции для каждого из этих отчетов. Эти отчеты нужны для выполнения проверок, их можно использовать самостоятельно, для унификации работы с проектами — то есть использовать единый файл OutJob в рамках предприятия для проверок и выпуска КД. Также эти проверки используются при выпуске проекта в AVS, причем если хотя бы одна из них завершается неудачей, следующие этапы передачи проекта на сервер выполнены не будут.

В заключение хотелось бы представить список основных преимуществ, которые дает использование Altium Vault Server пользователям, которые давно работают с Altium Designer и хранят результаты на общих сетевых ресурсах или локальных дисках.

  1. Централизованное хранение в базе данных. Библиотечные элементы и проекты, а также все, что к ним так или иначе привязано, будут храниться в базе данных, для доступа к которой есть максимально удобный интерфейс — панель Vault. Все объекты, хранящиеся в этой базе, имеют уникальные идентификаторы и хранятся в директориях с определенными свойствами. В Vault, например, нельзя сохранить схему в папку с библиотеками!
  2. Администрирование. В настройках сервера Altium Vault Server администратор создает пользователей и группы пользователей, а автор проекта указывает список пользователей и групп, которые имеют права для совместной работы над проектами. Все изменения, вносимые пользователями в библиотеки или проекты, персонифицированы, то есть выполняются пользователем только после авторизации в системе. Все это обеспечивает максимальный контроль над процессом проектирования и его результатами.
  3. Автоматизация проверок, синхронизации и выпуска документации. Если проект выгружается в хранилище AVS, он проходит ряд проверок на целостность и актуальность данных. Если в рамках проверки будет обнаружено, что в схеме есть неутвержденный элемент или на плате не хватает одного элемента, который есть в схеме, то такой проект сдан в хранилище не будет и для него не будет сформирован комплект документации. Если же все формальности проверок соблюдены, то вся документация будет автоматически сохранена в соответствии с приоритетами данной итерации проекта.
  4. Доступ через web-интерфейс. Для обращения к данным проекта необязательно иметь установленную копию программы Altium Designer, так как просмотр проектов может быть выполнен через web-интерфейс. Для этого используется адрес подключения http://server.9780, где server — имя сервера в сети, а 9780 — номер порта, по которому работает AVS.

Литература

Алексей Сабунин
к.ф.н., технический эксперт
отдела САПР ЗАО «НПП «РОДНИК»
E-mail: sabunin@rodnik.ru