05.07.2016

Больше скольки не собираться?

В системе Delta Design компоненты в библиотеке ЭРИ имеют сложную вложенную структуру: в состав компонента может входить множество радиодеталей. Термином «радиодеталь» обозначается конкретный тип физического воплощения компонента, или, иначе, наименование, которое имеет собственный артикул (partnumber). Такой подход позволяет оптимизировать библиотеку и сократить время на создание компонентов: не нужно создавать отдельный компонент для каждой артикула - всю однотипную номенклатуру можно легко включить в состав одного компонента. Помимо этого, упрощается общая структура данных, что облегчает работу с крупными библиотеками.

Сразу же возникает соблазн взять и «запихнуть» все однотипные изделия в рамки одного компонента. Например, объединить все резисторы в один компонент...  Да, можно было бы так и сделать, но здравый смысл встал на пути у желания оптимизировать все до бесконечности. Для проверки удобства работы с системой и ее работоспособности был выбран компромиссный вариант: на основе каталогов разных производителей было создано несколько «огромных» компонентов, каждый из которых содержит десятки тысяч (!) радиодеталей. В качестве базы использовались каталоги марок muRata и Vishay.

Библиотека очень быстро разрослась более чем на 100 000 радиодеталей. А еще в процессе был реализован механизм «генерирования» радиодеталей (в том числе partname) для резисторов. Для конденсаторов, к сожалению, такая штука не прокатила - много исключений, не получилось придумать законченное правило генерации. Хотя, если нам предложат правильный алгоритм генерации, учитывающий нюансы, то мы его обязательно реализуем.

Итак, у нас на руках достаточно объемная библиотека. Первое, на что стоило ее проверить, это на возможность передачи. Экспорт и импорт происходили корректно и занимали приемлемое время: 5-10 минут в зависимости от мощности «железа». И это при размере библиотеки ~ 50 Мб (без вложенных файлов), что ж, вполне неплохой результат.

Другими параметрами были удобство использования и редактирования (внесение рабочих изменений). Вот здесь все было уже не столь гладко. Выяснилось, что «администрировать» такие гигантские компоненты не очень удобно - для оперативного нахождения конкретной радиодетали требуется пара дополнительных действий. А еще есть люди, которые вполне успешно ищут нужную позицию визуально, вот только список на 50 000 строк может спровоцировать ошибку даже у них. В общем большая простыня, не так хороша, когда встает вопрос о ее поддержке в актуальном состоянии.

Вторым не очень приятным моментом стало то, что не так просто найти нужный экземпляр радиодетали при какой-либо замене в проекте. Фильтры предлагали сразу несколько деталей со схожими параметрами. Этот факт, в принципе можно обойти, но... Из нашего опыта мы разработали следующую рекомендацию, которая позволит свести к минимуму указанные недостатки:

  1. Создавая компонент пользуйтесь не более чем одним datasheet'ом.
  2. Желательно, чтобы радиодетали, создаваемые в компоненте, различались друг от друга не более чем одним значением из набора атрибутов, которыми они описываются, например, номиналом. Посадочное место к числу таких атрибутов не относится.
  3. Желательно не создавать более 10 000 радиодеталей в рамках одного компонента.

На счет первого пункта - это рекомендация не смешивать разных производителей в одном компоненте. Кроме того нужно отличать одиночный datasheet от каталога, который, фактически, состоит из нескольких описаний и может описывать сотни тысяч радиодеталей. Второй и третий пункты не критичны, просто следование им поможет сделать вашу работу в системе максимально комфортной и эффективной.

Что же в итоге? В итоге мы убедились, что наш подход к компоненту оправдан и удобен. Выяснилось, что наполнять компонент десятками тысяч радиодеталей не очень рационально, а вот 3-4 тысячи радиодетали на компонент может быть вполне оправдано. При этом, даже чрезмерное наполнение компонента позволяет нормально работать с системой.

Обо всем понемногу, ЗОВ

Нет комментариев

Вы должны быть аутентифицированы для добавления комментария.