|
База данных CIS и полиморфизм компонентов, или как структурировать CIS |
|
|
|
Feb 22 2012, 12:43
|
Знающий
   
Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107

|
Можно ли организовать базу данных CIS таким образом, чтобы основной набор свойств компонентов хранился в одной большой таблице, а остальные данные хранились в дополнительных, более мелких таблицах, ссылающихся на базовую? Ну, например, берем bench.mdb и видим, что таблица резисторов и конденсаторов по набору свойств почти совпадают. Строго говоря, все свойства, необходимые для CIS вообще совпадают, а некоторые физические свойства могут отличаться: у резисторов указывается мощность, а у конденсаторов - напряжение. Мне такая организация не очень нравится. Хотелось бы иметь возможность в будущем вносить изменения в структуру базы данных. С большой вероятностью таковые изменения коснутся базового объекта, а не какого-то отдельного класса компонентов. Например, вот был раньше Layout и просто Footrint, а потом добавили Аллегро, и надо теперь уже в базе иметь два свойства - Layout PCB Footrint и Allegro PCB Footrint. при нынешней организации придется в каждой таблице прописывать новые поля, а так можно только в одной таблице прописать.
Я правильно думаю, что можно создать таблицу типа basic_cis, а потом во вкладке relational database прописать ее в качестве связанной таблицы для всех типов компонентов? И тогда в качестве связующего поля останется только part number? Или CIS использует для работы основную базу, а связанные только для просмотра свойств, и вся идея рушится?
|
|
|
|
|
 |
Ответов
|
Feb 24 2012, 17:38
|
Знающий
   
Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107

|
Сегодня поднял сервер, импортировал в него тестовую базу из Access, настроил сетевой доступ, SQC ODBC dat source, получил в итоге работу с CIS. Потом создал простейшие две таблицы и объединил их при помощи View. В целом работает, так что можно ничего не мутить в настройках relational database у CIS. Нужно только грамотно таблицы создать.
Есть еще несколько вопросов. 1) Почему-то когда пытаюсь Save Query в CIS Explorer (вкладка Query), то capture вылетает с ошибкой. 2) Можно ли как-нибудь настроить тип поля voltage, tolerance и т.п., чтобы при поиске компонентов capture сравнивал числовое значение, а не строковое. Например, реши поискать конденсаторы по критерию voltage >= 60V, так получил только 63V, а 100V в список не попало, то есть он делал сравнение строк посимвольно. 3) Добавил в таблицу колонку Min_Temperature. Получил забавный эффект. Если в поисковом запросе написать Min_Temparature < -20, то оно показывает даже те компоненты, у которых этот параметр в точности равен -20. К чему бы это? В базе тип поля указан int. 4) Можно ли как-то пометить оригинальные таблицы в базе, чтобы их не путать с View при настройке CIS?
|
|
|
|
|
Feb 24 2012, 18:03
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Hoodwin @ Feb 24 2012, 21:38)  Сегодня поднял сервер, импортировал в него тестовую базу из Access, настроил сетевой доступ, SQC ODBC dat source, получил в итоге работу с CIS. Потом создал простейшие две таблицы и объединил их при помощи View. В целом работает, так что можно ничего не мутить в настройках relational database у CIS. Нужно только грамотно таблицы создать. Отлично. Труды мои не пропали зря. Цитата(Hoodwin @ Feb 24 2012, 21:38)  2) Можно ли как-нибудь настроить тип поля voltage, tolerance и т.п., чтобы при поиске компонентов capture сравнивал числовое значение, а не строковое. Например, реши поискать конденсаторы по критерию voltage >= 60V, так получил только 63V, а 100V в список не попало, то есть он делал сравнение строк посимвольно. А в базе тип указан числовой? Цитата(Hoodwin @ Feb 24 2012, 21:38)  4) Можно ли как-то пометить оригинальные таблицы в базе, чтобы их не путать с View при настройке CIS? Обычно таблицы используют для справочников и приписывают им префикс guide_. А вьюхи я Вам советую называть по называнию схемотехнических библиотек. У меня, например, на картинке они в правой колонке.
|
|
|
|
|
Feb 24 2012, 20:35
|
Знающий
   
Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107

|
Цитата(vitan @ Feb 24 2012, 21:03)  Отлично. Труды мои не пропали зря.  Ну, правильнее было бы сказать, что еще семь верст и все лесом.  На данный момент от такой базы нет практически никакой пользы. Ее еще нужно заполнить правильными данными, причем не совсем понятно, откуда их брать. Потом нужно научиться как-то более менее оперативно переводить существующие проекты на связь с базой, при этом сохранив правильность генерации нетлиста и т.п. Ну, и самое главное, нужно как-то довести до логического завершения идею о том, что при внесении изменений в проект источник данных должен быть один, а изменения должны автоматически следовать из него, и обновлять производные документы. Ну хотя бы на уровне получения согласованных спецификаций и сборочных чертежей. А в перспективе еще лучше и с формированием дефициток и генерацией запросов к поставщикам. Цитата(vitan @ Feb 24 2012, 21:03)  А в базе тип указан числовой? Не, для voltage тип указан не числовой а varchar. Но ведь Value обрабатывается ведь правильно, даже больше того, понимает единицы измерения и умеет по ним сравнивать, например, что 0.1uF > 470pF. И таких типов в принципе много: напряжение (конденсаторы, резисторы), ток (индуктивности), сопротивление (индуктивности), точность (все) и т.п. Цитата(vitan @ Feb 24 2012, 21:03)  Обычно таблицы используют для справочников и приписывают им префикс guide_. да дело не только в префиксе, вообще хочется лишние таблицы в CIS не показывать. Надо поизучать, может быть их можно как-то скрыть от пользователя CIS, но показать администратору базы и прочим библиотекарям. Цитата(vitan @ Feb 24 2012, 21:03)  А вьюхи я Вам советую называть по называнию схемотехнических библиотек. У меня, например, на картинке они в правой колонке. Я не совсем понял, Вы в CIS Explorer видите, например, IC_LOGIC\IC_LOGIC_BUFFERS, а не Logic\Buffers? В общем нет никакой проблемы назвать вьюхи удобными названиями, скорее проблема в том, чтобы не показывать CIS'у никаких других названий, начиная от системных таблиц и заканчивая своими же вспомогательными. И еще я заметил неприятный момент. При ручной настройке таблиц приходится довольно много одинаковых действий делать, назначая соответствие системных полей компонента в базе и в схеме. Из этого следует, что в общем-то дробить на мелкие таблицы имеет смысл только то, что имеет принципиально разные параметры для классификации. Во всех остальных случаях можно обойтись одной таблицей. Например, те же микросхемы логики могут описывать все классы в одной таблице.
|
|
|
|
|
Feb 24 2012, 20:58
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Hoodwin @ Feb 25 2012, 00:35)  Ну, правильнее было бы сказать, что еще семь верст и все лесом.  На данный момент от такой базы нет практически никакой пользы. Ее еще нужно заполнить правильными данными, причем не совсем понятно, откуда их брать. Потом нужно научиться как-то более менее оперативно переводить существующие проекты на связь с базой, при этом сохранив правильность генерации нетлиста и т.п. Ну, и самое главное, нужно как-то довести до логического завершения идею о том, что при внесении изменений в проект источник данных должен быть один, а изменения должны автоматически следовать из него, и обновлять производные документы. Ну хотя бы на уровне получения согласованных спецификаций и сборочных чертежей. А в перспективе еще лучше и с формированием дефициток и генерацией запросов к поставщикам. Ну, лиха беда - начало... А что такое дефицитка? Цитата(Hoodwin @ Feb 25 2012, 00:35)  Не, для voltage тип указан не числовой а varchar. Но ведь Value обрабатывается ведь правильно, даже больше того, понимает единицы измерения и умеет по ним сравнивать, например, что 0.1uF > 470pF. И таких типов в принципе много: напряжение (конденсаторы, резисторы), ток (индуктивности), сопротивление (индуктивности), точность (все) и т.п. Если Value понимает правильно, то это неправильно.  Любое число должно быть числом. Вы ведь базой собираетесь не только в оркаде пользоваться, сами же говорите. Поэтому смените тип на число, а с Value разбирайтесь отдельно. Цитата(Hoodwin @ Feb 25 2012, 00:35)  да дело не только в префиксе, вообще хочется лишние таблицы в CIS не показывать. Надо поизучать, может быть их можно как-то скрыть от пользователя CIS, но показать администратору базы и прочим библиотекарям. Вы кого имеете ввиду под пользователем CIS? Схемотехник ничего другого и так не увидит, он будет выбирать компоненты из окошка в оркаде. А человеку, редактирующему конфигурацию CIS, можно просто объяснить, что все, что с префиксами guide_, например, не твоё. Цитата(Hoodwin @ Feb 25 2012, 00:35)  Я не совсем понял, Вы в CIS Explorer видите, например, IC_LOGIC\IC_LOGIC_BUFFERS, а не Logic\Buffers? Я в CIS уже не работаю (давно дело было). У меня в схематике виден просто линейный список библиотек, одна из которых называется IC_LOGIC_BUFFERS. Но если привести эту картинку к CIS, то будет так: IC\LOGIC\BUFFERS, т.е. в виде дерева, а не просто линейный список (фактически - левая колонка, а не правая). Цитата(Hoodwin @ Feb 25 2012, 00:35)  И еще я заметил неприятный момент. При ручной настройке таблиц приходится довольно много одинаковых действий делать, назначая соответствие системных полей компонента в базе и в схеме. Из этого следует, что в общем-то дробить на мелкие таблицы имеет смысл только то, что имеет принципиально разные параметры для классификации. Во всех остальных случаях можно обойтись одной таблицей. Например, те же микросхемы логики могут описывать все классы в одной таблице. О, да. Поначалу меня тоже напрягало. Сейчас у меня уже около 70 библиотек, и новых почти не появляется. Один раз поработал пару дней, и теперь наслаждаюсь.  Плюс, в новых версиях ментор (у меня ментор) наконец-то перешел на организацию описания связи библиотек с БД в виде XML, так что это теперь при желании это можно автоматизировать. Вот бы сразу бы еще это сделали, так вообще бы песня была бы. Так что из этого следует только лишь обычная кривость\непродуманность софта (ладно, специально для Вас: отдельной части софта  ), но никак не необходимость одной таблицы на все случаи жизни. Этой одной таблицей вся функциональность БД усыхает до уровня простой библиотеки, а то и еще пониже.
|
|
|
|
|
Feb 25 2012, 11:03
|
Знающий
   
Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107

|
Цитата(vitan @ Feb 24 2012, 23:58)  Ну, лиха беда - начало... А что такое дефицитка? Да уж... Дефицитка (или ведомость дефицита материалов) - это такой документ, который отражает потребности в пополнении склада комплектующих с целью обеспечения производства заданного количества изделий готовой продукции. У нас пока используется построение сего документа на базе 1С:Производство, но там это реализовано несколько убого, из-за чего полноценного развития не получило. Причины такие: 1. Дефицитка от 1С не учитывает такого понятия как аналоги компонента. В результате склад может ломиться от деталей, а попадет в дефицит. 2. Насколько я помню, аналоги в 1С указываются в справочнике материалов, что вообще-то в отношении электроники неверно. Аналоги должны указываться в спецификации конкретного исполнения изделия, хотя и могут быть указаны в справочнике материалов, если действительно полные аналоги. Например, возьмем конденсатор по питанию X7R 0.1мкФ 25В 10%. Если он у меня стоит в цифровой схеме с напряжением 5В, то я могу считать его аналогом и конденсатор с напряжением и 10В, и 50В. А если он стоит в цепях источника питания на 24В, то мне вообще нужен только на 50В конденсатор. Или, другой вариант: можно ли считать аналогами свинцовую и бессвинцовую версию одной и той же микросхемы? По функциональности и собираемости на современных линиях - безусловно да, а по выполнению директивы ROHS - безусловно нет. 3. Дефицитка в простом виде не отслеживает динамику поступлений комплектующих. Если мы вчера сформировали дефицитку по деталям изделия А исполнения 1, после чего заказали их кратно катушкам, упаковкам, блистерам и т.п., а сегодня мы получили заказ на исполнение 2, в котором львиная доля деталей совпадает с исполнением 1, то сколько надо докупить? Реально можно заново начать строить дефицитку, указав в ней уже два вида изделий, и потом вычтя из общей суммы то, что уже заказано. Но это довольно быстро ведет к путанице, а бронирования деталей нет. 4. У нас со временем сложилась ситуация, когда бухгалтерия стала отказываться вставлять в нормативы изделия всякие дешевые детали вроде резисторов и конденсаторов, мотивируя это тем, что они в сумме не тянут и на 3% в себестоимости комплектующих, но при этом очень сильно затруднен учет их остатков, ну и вообще возни с ними много, а толку мало. Ну и в итоге из нормативов они стали исчезать, а при приходе катушки сразу списываются ввиду небольших цен. И вроде если для бух.учета такое упрощение вполне катит, то для обеспечения производства - совершенно не катит! В общем, надо искать иные способы точного учета компонентов. Цитата(vitan @ Feb 24 2012, 23:58)  Если Value понимает правильно, то это неправильно.  Любое число должно быть числом. Вы ведь базой собираетесь не только в оркаде пользоваться, сами же говорите. Поэтому смените тип на число, а с Value разбирайтесь отдельно. Ну поле Value носит чисто OrCAD-овскую семантику, и я не хочу ничего в нем менять. Если мне будут нужны другие функции от базы, то я создам другие поля по мене необходимости. Здесь важно именно то, что Capture понимает, что Value - размерная величина и даже умеет понимать размерность. Если сделать value типа float, то размерность пропадет, а номинал станет неудобоваримым. Придется всегда помнить, по какому эталону размерности создана каждая база. Вопрос, как то же самое распространить на Voltage, Tolerance, Power, Current, и прочие физические параметры. Цитата(vitan @ Feb 24 2012, 23:58)  Вы кого имеете ввиду под пользователем CIS? Схемотехник ничего другого и так не увидит, он будет выбирать компоненты из окошка в оркаде. А человеку, редактирующему конфигурацию CIS, можно просто объяснить, что все, что с префиксами guide_, например, не твоё. Я пока не заметил, что простому схемотехнику запрещено менять конфигурацию CIS. Вот ровно вчера этим занимался из-под пользовательского аккаунта. Вот источник данных ODBC и его пользователей может администратор настроить, а редактировать конфигурацию CIS может кто-угодно. Цитата(vitan @ Feb 24 2012, 23:58)  Но если привести эту картинку к CIS, то будет так: IC\LOGIC\BUFFERS, т.е. в виде дерева, а не просто линейный список (фактически - левая колонка, а не правая). Так CIS выстраивает дерево в соответствии с полем Part_Type. Но первый уровень иерархии он называет по имени таблицы в базе. Поэтому если таблица называется IC_LOGIC_BUFFERS, она и будет так смотреться в иерархии. Вот если таблица будет называться Misc, а внутри будет раздел компонентов с Pаrt_Type = IC\Logic\Buffers, то тогда да, в СIS Explorer увидим иерархию \\Misc\IC\Logic\Buffers
|
|
|
|
Сообщений в этой теме
Hoodwin База данных CIS и полиморфизм компонентов Feb 22 2012, 12:43 Tahoe Цитата(Hoodwin @ Feb 22 2012, 16:43) Напр... Feb 22 2012, 13:06 vitan Советую Вам не пользоваться возможностями редактор... Feb 22 2012, 13:20 Hoodwin Почти ничего не понял из написанного
Вроде бы кон... Feb 22 2012, 14:51 vitan Цитата(Hoodwin @ Feb 22 2012, 18:51) Почт... Feb 22 2012, 18:39 Hoodwin vitan, ну вот опять Вы мне про редактор... Я вообщ... Feb 23 2012, 10:57 vitan Зря вы не хотите послушать. Лекция про наследовани... Feb 23 2012, 11:49 Hoodwin В каком редакторе? Речь о настройках взаимодействи... Feb 23 2012, 12:11 vitan В том, в котором Вы собираетесь прописывать связан... Feb 23 2012, 15:10 Hoodwin Так я вообще-то хотел прописывать таблицы в каком-... Feb 23 2012, 18:50 vitan Если коротко: делайте View на каждую библиотеку. Т... Feb 23 2012, 19:37     vitan Цитата(Hoodwin @ Feb 25 2012, 15:03) В об... Feb 25 2012, 16:30      Hoodwin Цитата(vitan @ Feb 25 2012, 19:30) А что,... Feb 25 2012, 19:21       vitan Цитата(Hoodwin @ Feb 25 2012, 23:21) ВП -... Feb 25 2012, 20:27 Hoodwin Не, я не спорю, что ВП - форма для закупок, я гово... Feb 25 2012, 21:08 vitan Цитата(Hoodwin @ Feb 26 2012, 01:08) Не, ... Feb 26 2012, 08:32  Hoodwin Цитата(vitan @ Feb 26 2012, 11:32) Получа... Feb 27 2012, 06:31   vitan Цитата(Hoodwin @ Feb 27 2012, 10:31) Чего... Feb 27 2012, 08:27 Hoodwin Вот еще какие вопросы по работе с CIS средствами S... Feb 29 2012, 13:59 vitan Цитата(Hoodwin @ Feb 29 2012, 17:59) 1. П... Feb 29 2012, 16:12 Old1 Цитата(Hoodwin @ Feb 29 2012, 15:59) 5. М... Mar 1 2012, 06:03 Hoodwin ну вот я тоже всегда работал по связке MANUFACTURE... Feb 29 2012, 16:49 vitan Цитата(Hoodwin @ Feb 29 2012, 20:49) Так ... Feb 29 2012, 16:55 VladimirZ Цитата2. Почему перестал работать preview футпринт... Feb 29 2012, 20:29 Hoodwin Ну да, пути в capture.ini прописал в раздел Allegr... Feb 29 2012, 20:56 Hoodwin Что-то ничего там нет:
КодC:\Cadence... Mar 1 2012, 06:38 Old1 Цитата(Hoodwin @ Mar 1 2012, 08:38) Что-т... Mar 1 2012, 07:00 Hoodwin да нет, 16.3 у меня самый что ни на есть лицензион... Mar 1 2012, 07:59 alexa1973 Цитата(Hoodwin @ Feb 22 2012, 16:43) Можн... Mar 10 2012, 16:45 Hoodwin Судя по этому видео получается, что даже список ал... Mar 11 2012, 20:03
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|