21 posts in this topic

Здравствуйте! Как пользоваться "Измерениями" в различных видах анализа (интересует именно временной анализ)? 1. По текстовым директивам как попожено пишу (да и в файлах примерах присутствует) через .MEAS. А как посмотреть эти измерения?

2. В случае работы через вкладку "Измерения". Там, к сожалению, отсутствуют некоторые функции и не очень понятно куда какие числа и формулы подставлять.

Не могли бы Вы более понятнее разобрать этот вопрос, т.к. файлы примеров, к сожалению, не дают ответа на этот вопрос? Заранее благодарен

 

Share this post


Link to post
Share on other sites

Здравствуйте! Как пользоваться "Измерениями" в различных видах анализа (интересует именно временной анализ)? 1. По текстовым директивам как попожено пишу (да и в файлах примерах присутствует) через .MEAS. А как посмотреть эти измерения?

2. В случае работы через вкладку "Измерения". Там, к сожалению, отсутствуют некоторые функции и не очень понятно куда какие числа и формулы подставлять.

Не могли бы Вы более понятнее разобрать этот вопрос, т.к. файлы примеров, к сожалению, не дают ответа на этот вопрос? Заранее благодарен

 

Добрый день!

 

Сначала о задании измерений.

Измерения могут задаваться:

  • на этапе создания задания на моделирования;
  • при обработке результатов моделирования   - в постпроцессоре.

В первом случае они могут быть заданы:

  • в текстовом виде - командой  .MEAS в SPICE-блоках на схеме или в нетлисте.
  • с помощью вкладки Измерения  окна задания на моделирование.

Во втором - с помощью окна добавления измерений: меню "График->Добавить измерение"

 

При задании измерений в тестовом виде используется определенный синтаксис SimOne, а также  поддерживается синтаксис HSPICE\LTSPICE\NGSPICE - форматов. Описаны они все в руководстве пользователя в параграфах 20.2 - 20.4 главы 20. Измерения. 

 

Измерения, добавляемые с помощью вкладки в окне задания на моделирования и с помощью окна добавления в постопроцессоре могут использовать только определенные функции, заданные в списке окна добавления измерений, такие как Bandwidth,DeltaX, DeltaYи т.п. Список этих функций с описанием приведен в параграфе 20.1 руководства пользователя.

Многие из этих функций аналогичны функциям измерений, которые используются в OrCad\PSPICE.

  

Теперь об отображении измерений.

 

Результаты измерений отображаются в постпроцессоре на панели  измерений: меню "График->Список измерений".

панель измерений представляет результаты в табличном виде: имя измерения и численное значение.

 

Для случаев многовариантных анализов схемы, например - параметрического анализа, результат каждого измерения - это числовой массив.

В этом случае для измерения может быть построен график зависимости его значений от значений изменяемых параметров:

меню "График->Графики  измерений". В окне добавления графика указывается имя измерения и выбирается параметр, от которого будет построена графическая зависимость.

Подробней работа с результатами измерений описана в руководстве пользователя, параграфы 20.8-20.11 главы 20. Просмотр и обработка результатов моделирования.

 

Share this post


Link to post
Share on other sites

Спасибо.

С помощью вкладки Измерения  окна задания на моделирование и с помощью окна добавления измерений: меню "График->Добавить измерение" я разобрался. По данным измерениям у меня остались лишь вопрос - можно ли в них использовать результаты бытрого преобразования Фурье? А то БПФ есть, а как обработать результаты постоения БПФ? Пытался смоделировать аналог преобразования Фурье, но программа ругается - не хочет вводить зависимость от времени.

Share this post


Link to post
Share on other sites

Спасибо.

С помощью вкладки Измерения  окна задания на моделирование и с помощью окна добавления измерений: меню "График->Добавить измерение" я разобрался. По данным измерениям у меня остались лишь вопрос - можно ли в них использовать результаты бытрого преобразования Фурье? А то БПФ есть, а как обработать результаты постоения БПФ? Пытался смоделировать аналог преобразования Фурье, но программа ругается - не хочет вводить зависимость от времени.

В текущей версии брать Измерения от результатов БПФ\ОБПФ нельзя. 

Такую возможность мы не предусмотрели... подумаем, не исключено, что в следующей версии добавим.

Сейчас для получения измерений от БПФ\ОБПФ можно использовать курсоры: меню График->Курсоры->Установить в измерение.

На панели курсоров в табличном виде будет отображена информация, соответствующая их положению, которая позволит сосчитать требуемое измерение:  График->Курсоры->Отобразить курсоры.

 

Share this post


Link to post
Share on other sites

Было бы очень замечательно. Это заметно расширить функциональность программы.

Share this post


Link to post
Share on other sites

Скажите, пожалуйста, почему из расчетных величин считаются только первые две и только при первом значении параметра. Файл прикрепил. Синтаксис LTspice по аналогии с http://www.linear.com/solutions/4673

 

Измерение.rar

Share this post


Link to post
Share on other sites

Скажите, пожалуйста, почему из расчетных величин считаются только первые две и только при первом значении параметра. Файл прикрепил. Синтаксис LTspice по аналогии с http://www.linear.com/solutions/4673

Считаются все указанные переменные и выражения: V(r3),I(L1) - отображаются в первом окне вкладки симуляции,

SD(V(47)*cos(2*PI*freq*T),t0) - во втором окне - как и указано в задании,

V(48) - считается , но не отображается - опять же - как указано в задании.

Отобразить V(48) и вообще любое выражение из насчитанных переменных можно в постпроцессоре при вызове окна добавления нового графика:

меню График->Добавить график (см. рис1).

Считается все это добро только для первого значения параметра потому, что параметрический анализ не включен - не стоит галочка напротив поля "Проводить параметрический анализ" (см рис.2). Надо ее поставить и тогда все считается.

 

 

post-158-0-60936800-1443798460_thumb.png

post-158-0-05425000-1443798468_thumb.png

Share this post


Link to post
Share on other sites

Прошу прощения. Вы меня не так поняли - видать не корректно написал. Я имел в виду величины, рассчитываемые через .MEAS. Величины Aavg и Bavg считаются при первом значении параметра, а при других - нет. Другие величины вообще не считаются. См. рисунок.

Тут ещё оказалось, что зависло (не выводится) окно расчета переходного процесса (см. левый нижний угол на рисунке).

post-1939-0-44274300-1443854669_thumb.gi

Share this post


Link to post
Share on other sites

Прошу прощения. Вы меня не так поняли - видать не корректно написал. Я имел в виду величины, рассчитываемые через .MEAS. Величины Aavg и Bavg считаются при первом значении параметра, а при других - нет. Другие величины вообще не считаются. См. рисунок.

Тут ещё оказалось, что зависло (не выводится) окно расчета переходного процесса (см. левый нижний угол на рисунке).

Да, понятно.

1. Насчет значений измерений в первом столбце:

посчитались только первые два, т.к. для остальных измерений были использованы величины, заданные через команду .param.

Такие конструкции в Измерениях сейчас не поддерживаются.

Можно использовать директиву .define или  задать вместо этих величин  числа  тогда все измерения посчитаются, но не получится использовать команду .step

Поддержка команды .param в Измерениях добавим в следующих версиях.

2. Значения измерений в следующих столбцах после первого не считаются - это наша программная бага. Поправим.

 

 

 

Share this post


Link to post
Share on other sites

Спасибо! Ждём исправлений и следующих версий.

Последний вопрос по теме измерений. Программа записывает результаты измерений. Скажите, пожалуйста, почему они такие большие (я б сказал огромные)? - При варьировании параметра всего 50-100 значении они исчисляются единицами гигабайт. Зачем они вообще нужны на диске и если нужны, то можно ли их значительно уменьшить? И программа выдаёт ошибку "Bad Allocation"

Share this post


Link to post
Share on other sites

Спасибо! Ждём исправлений и следующих версий.

Последний вопрос по теме измерений. Программа записывает результаты измерений. Скажите, пожалуйста, почему они такие большие (я б сказал огромные)? - При варьировании параметра всего 50-100 значении они исчисляются единицами гигабайт. Зачем они вообще нужны на диске и если нужны, то можно ли их значительно уменьшить? И программа выдаёт ошибку "Bad Allocation"

 

Программа записывает результаты моделирования -  те величины (токи, напряжения, выражения и т.п.), которые были указаны в задании на моделирование.

Сохраняются все насчитанные значения, т.е. если, например, проводим расчет переходных процессов, то сохраняются массивы временных  отсчетов и  значения указанных переменных в этих отсчетах. После этого по насчитанным данным вычисляются заказанные измерения.

Если мы к тому же проводим не простой расчет, а многовариантный, например - параметрический, то число массивов расчетных данных вырастает кратно количеству варьирования параметров (50-100 у Вас?), отсюда и большие объемы данных.

Такова физика самого процесса моделирования и, разумеется, она одинакова для всех симуляторов.

 

А вот сохранять эти данные на диске, пожалуй, действительно не всегда резонно.

Ок, в следующей версии добавим соответствующую настройку.   

Ошибка   "Bad Allocation" означает, программа не смогла выделить необходимое для работы количество памяти.

Хорошо бы посмотреть Ваш пример, пришлите, если можно.  

Share this post


Link to post
Share on other sites

Это всё понятно. Но почему такие большие файлы? В Micro-CP'е они значительно меньше, хотя там я делал вычесления знгачительно больше.

Высылаю файл. Гляньте, пожалуйста.

 

Измерение.rar

Share this post


Link to post
Share on other sites

Это всё понятно. Но почему такие большие файлы? В Micro-CP'е они значительно меньше, хотя там я делал вычесления знгачительно больше.

Высылаю файл. Гляньте, пожалуйста.

Ну смотрите:

задание на моделирование (то, что указано в SPICE блоке):

.TRAN 1e-8 21m UIC

.step dec param freq 100 100K 3

Имеем количество точек одного запуска транзиента:  21m/1e-8 = 2.1e6шт.

Заказаны две переменные: .plot V(47) V(48) - значит количество сохраняемых точек умножаем на три ( две переменные + время), получаем 2.1e6*3=6.3e6шт.

В байтах это 6.3e6*8=50.4e6Бт = 48Мб 
 
Это - минимально возможное количество точек - т.е. при условии, что шаг расчета не уменьшается и всегда равен максимальному 1e-8. 

Но в данном расчете он периодически уменьшается исходя из требований по локальной погрешности расчета, поэтому число точек чуть больше - приблизительно на 20%  и размер получившегося файла -  58.6Мб.

 
 
Параметрический анализ  - три точки на декаду от 100 до 100e3 дает количество запусков, равное 3*3+1=10.
 
Итого, получаем 10 файлов по 48Мб каждый -  если бы шаг интегрирования не уменьшался и 

10 файлов по 58.6Мб - в действительности  находятся в папке с результатами моделирования.

 
Таким образом, при при таком задании на моделирование минимальный размер данных - 10 файлов по 48Мб каждый.

И любой симулятор, Микрокап - в том числе, не может получить ничего иного.

Другой разговор, что при получении больших объемов данных графиков Микрокап сразу предлагает их уменьшить до 1е6 точек проредив их с нужной скажностью. О чем и выдает соответствующие предупреждения (рис1, рис 2). 

 

 

 

 

 

post-158-0-82187800-1444727484_thumb.png

post-158-0-45256400-1444727496_thumb.png

Share this post


Link to post
Share on other sites

Согласен с Вами. Но Micro-CAP с максимальным шагом 1e-8 и диапазоном от 0 до 21мс при варьировании 100 параметров (т.е. 100 точек) считает за 23 минуты, эти сообщения не выдаёт и не заполняет диск - файлы, которые он создаёт, небольшие. Могу скинуть MC-файл. Может у него какой-то хитрый алгоритм обработки таких больших массивов? Или я не оптимально использую SimOne?

Share this post


Link to post
Share on other sites

Согласен с Вами. Но Micro-CAP с максимальным шагом 1e-8 и диапазоном от 0 до 21мс при варьировании 100 параметров (т.е. 100 точек) считает за 23 минуты, эти сообщения не выдаёт и не заполняет диск - файлы, которые он создаёт, небольшие. Могу скинуть MC-файл. Может у него какой-то хитрый алгоритм обработки таких больших массивов? Или я не оптимально использую SimOne?

Я в свое время разбирался с их хитростями на эту тему и обнаружил, что Микрокап все расчеты скидывает во временные файлы  они тоже огромны. А после закрытия вкладки моделирования он их удаляет. А мс-файлы - они текстового формата - один со схемой, другой с данными моделирования, но не расчетными массивами.

Симону Вы используете правильно, не волнуйтесь))

 

Share this post


Link to post
Share on other sites

Может тогда, что-то похожее и здесь реализовать?)

Уже реализовали. В новой версии появится соответствующая настройка. Скоро выложим.

Share this post


Link to post
Share on other sites

Здравствуйте!

Не нашел способа измерения средней мощности элементов схемы.

Результаты указанного в SPICE-блоке на схеме .MEAS TRAN PWR1 AVG PD(R11) from 0.001 to 0.01 

в списках измерений не отображается. 

Подскажите пожалуйста способ измерения мощности в Вашей программе.

Share this post


Link to post
Share on other sites

Если задание на моделирование записано в том же SPICE-блоке, что и команда измерения .MEAS, то его результат обязательно отображается в списке измерений. Например такой вариант:
.tran 1u 10m
.plot avg(pd(r1))
.MEAS TRAN PWR1 AVG PD(R1) from 0.001 to 0.01 

Посмотрите, он работает, Результат: измерение с именем PWR1 с его численным значением выводится в таблицу Измерений.

Для того, чтобы вывести мгновенную мощность элемента на отображение, необходимо использовать соответствующий параметр из таблицы параграфа 23.4 Расчетные параметры моделей компонентов, который содержится в Справке или Руководстве пользователя.
Например, PD(R1) - мгновенное значение активной мощности на резисторе R1,
PS(C12) -   мгновенное значение реактивной мощности на емкости С12

Среднее значение мощности можно вывести на график с помощью функции avg:
Например, avg(PD(R1))  во временном анализе выведет график изменения средней мощности на резисторе R!.
Чтобы вывести на график среднее значение значение мощности на интервале [t0,t1] , необходимо в функции avg, задать время начала  вычисления - t0, а время окончания переходного процесса - t1.
Например, команда:
 .tran 1u 10m
.plot avg(pd(r1).5m)
Выведет среднюю мощность на резисторе R1 на интервале от 5mс до 10mc 
Очевидно, что все это можно сделать и с помощью оконного интерфейса SimOne.

Использование Измерений, как это сделано у Вас, также - правильно и приведет к выводу  рассчитанной мощности в таблицу Измерений.

 

Share this post


Link to post
Share on other sites
15 часов назад, AlexPrikota сказал:

Если задание на моделирование записано в том же SPICE-блоке, что и команда измерения .MEAS, то его результат обязательно отображается в списке измерений. Например такой вариант:
.tran 1u 10m
.plot avg(pd(r1))
.MEAS TRAN PWR1 AVG PD(R1) from 0.001 to 0.01 

Посмотрите, он работает, Результат: измерение с именем PWR1 с его численным значением выводится в таблицу Измерений.

Для того, чтобы вывести мгновенную мощность элемента на отображение, необходимо использовать соответствующий параметр из таблицы параграфа 23.4 Расчетные параметры моделей компонентов, который содержится в Справке или Руководстве пользователя.
Например, PD(R1) - мгновенное значение активной мощности на резисторе R1,
PS(C12) -   мгновенное значение реактивной мощности на емкости С12

Среднее значение мощности можно вывести на график с помощью функции avg:
Например, avg(PD(R1))  во временном анализе выведет график изменения средней мощности на резисторе R!.
Чтобы вывести на график среднее значение значение мощности на интервале [t0,t1] , необходимо в функции avg, задать время начала  вычисления - t0, а время окончания переходного процесса - t1.
Например, команда:
 .tran 1u 10m
.plot avg(pd(r1).5m)
Выведет среднюю мощность на резисторе R1 на интервале от 5mс до 10mc 
Очевидно, что все это можно сделать и с помощью оконного интерфейса SimOne.

Использование Измерений, как это сделано у Вас, также - правильно и приведет к выводу  рассчитанной мощности в таблицу Измерений.

 

Спасибо!

У меня в SPICE блоке отсутствовало задание на моделирование. Я наивно полагал, что при запуске пользовательской симуляции из оконного интерфейса, будет выполнятся еще и SPICE блок. 

Share this post


Link to post
Share on other sites

Чтоб выполнились SPICE-блоки, заданные на схеме необходимо запустить моделирование схемы напрямую:
меню Моделирование->Запустить (можно также  - кнопкой на панели, или горячими клавишами F5, ctrl+R)  

Share this post


Link to post
Share on other sites

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!


Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.


Войти

  • Последние темы

  • Последние сообщения

    • Прилагаю гербер-файл от диптрейса New2.zip
    • К сожалению, бесплатные вьюверы часто грешат тем, что пишутся под конкретную программу и читают гербер-файлы только из нее (или сформированные таким же образом). :( Для проверки мы взяли файл не из Топора, а тестовый пример из описания формата Gerber274X. http://d1.amobbs.com/bbs_upload782111/files_11/ourdev_450330.pdf (стр. 11-13). test.gbr В CAM350 гербер-файл выглядит так: После открытия этого же файла в  http://www.gerber-viewer.com/ : После открытия этого же файла в https://gerber-viewer.easyeda.com/ : P.S. Просьба прислать гербер-файл от диптрейса.
    • Для сравнения, вариант открытия в easyeda гербер-файла, созданного  dip-trace:
    • Пробовал просто открывать в просмотрщике гербер-файлов easyeda гербер-файлы из Топора. https://gerber-viewer.easyeda.com/ Но получался ужас (как на картинке), поэтому начал искать варианты посложнее. Сейчас пробую с конвертацией через dip-trace (делаю гербер-файлы в нем). Гербер-файлы dip-trace easyeda открывает вроде без ошибок.
    • А какая у Вас версия Eagle? У меня 7.6.0, и там нет проблем с площадками. P.S. А просто получить гербер-файлы из Топора Вы не хотите?