User Tools

Site Tools


geda:circuit_simulation_improvements.ru

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
geda:circuit_simulation_improvements.ru [2012/02/20 15:14]
127.0.0.1 external edit
geda:circuit_simulation_improvements.ru [2014/04/26 04:17] (current)
vzh Updated using po4a
Line 1: Line 1:
 +//Эта страница доступна также на следующих языках://​
 +[[circuit_simulation_improvements|English]]
 +
 ====== Усовершенствование моделирования работы электрических схем в gschem ====== ====== Усовершенствование моделирования работы электрических схем в gschem ======
- 
  
 ===== Обоснование ===== ===== Обоснование =====
 Начинающим не так-то просто использовать **gschem** как оболочку для Начинающим не так-то просто использовать **gschem** как оболочку для
-схемотехнического моделирования (для **ngspice** или **gnucap**). Вот +схемотехнического моделирования (для **ngspice** или **gnucap**). Вот что 
-что новому пользователю хотелось бы делать в **gschem**:+новому пользователю хотелось бы делать в **gschem**: 
   * определять,​ какие виды анализа нужно запускать;​   * определять,​ какие виды анализа нужно запускать;​
   * определять,​ графики каких напряжений и токов нужно выводить;​   * определять,​ графики каких напряжений и токов нужно выводить;​
Line 13: Line 16:
 вызываемой посредством IPC. вызываемой посредством IPC.
  
-Существует несколько графических оболочек,​ но они не решают всех вышеуказанных +Существует несколько графических оболочек,​ но они не решают всех 
-проблем:​+вышеуказанных проблем:​ 
   * [[http://​www.geda.seul.org/​tools/​gspiceui/​index.html|gspiceui]]   * [[http://​www.geda.seul.org/​tools/​gspiceui/​index.html|gspiceui]]
   * [[http://​www.comefly.us/​|kjwaves]]   * [[http://​www.comefly.us/​|kjwaves]]
Line 21: Line 25:
 Все оболочки имеют одну проблему --- в них нельзя указать соединение,​ данные Все оболочки имеют одну проблему --- в них нельзя указать соединение,​ данные
 которого хотелось бы увидеть. Нужно знать имя соединения для узла. которого хотелось бы увидеть. Нужно знать имя соединения для узла.
- 
  
 ===== Набросок проекта ===== ===== Набросок проекта =====
 Допустим,​ нам хотелось бы совсем немного изменить **gschem** и **libgeda**,​ Допустим,​ нам хотелось бы совсем немного изменить **gschem** и **libgeda**,​
-чтобы иметь возможность по крайней мере установить несколько измерительных+чтобы иметь возможностьпо крайней мереустановить несколько измерительных
 приборов и запустить моделирование. приборов и запустить моделирование.
- 
  
 ==== Измерительные приборы ==== ==== Измерительные приборы ====
-**Измерителями тока** могут быть обычные источники постоянного напряжения 0 В. +**Измерителями тока** могут быть обычные источники постоянного напряжения 0 В.  Легче всего в качестве такого прибора использовать символ с двумя выводами,​ подобный обычному амперметру. 
-Легче всего в качестве такого прибора использовать символ с двумя выводами,​ +Если нам захотелось бы подключить измеритель тока к выводу,​ то нужно, чтобы генератор списка соединений распознал его и заместил нашим ​«амперметром». 
-подобный обычному амперметру. Если нам захотелось бы подключить измеритель +Если в качестве амперметра использовать источник напряжения,​ генератору не нужно будет знать имён соединений внутри схемы. ​ Все источники напряжения 0 В со специальным именем устройства являлись бы измерителями тока.
-тока к выводу,​ то нужно, чтобы генератор списка соединений распознал его и +
-заместил нашим ​"амперметром". Если в качестве амперметра использовать источник +
-напряжения,​ генератору не нужно будет знать имён соединений внутри схемы. +
-Все источники напряжения 0 В со специальным именем устройства являлись бы +
-измерителями тока+
- +
-**Измерителями напряжения** могут быть источники тока 0 А. Второй вывод +
-источника тока присоединяется к //GND// атрибутом ''​net''​. Поэтому снова генератору +
-списка соединений не нужно будет знать имён соединений,​ так как он сможет +
-использовать соединение,​ подключенное к этому специальному источнику +
-тока. Подобно вышеописанному источнику напряжения мог бы быть специальный +
-(графический) символ,​ который распознавался бы генератором списка соединений.+
  
 +**Измерителями напряжения** могут быть источники тока 0 А. Второй вывод источника тока присоединяется к //GND// атрибутом ''​net''​. Поэтому снова генератору списка соединений не нужно будет знать имён соединений,​ так как он сможет использовать соединение,​ подключенное к этому специальному источнику тока.
 +Подобно вышеописанному источнику напряжения мог бы быть специальный (графический) символ,​ который распознавался бы генератором списка соединений.
  
 ==== Источники тока и напряжения ==== ==== Источники тока и напряжения ====
-Определить параметры источников не так просто. В настоящее время они хранятся +Определить параметры источников не так просто. В настоящее время они 
-внутри атрибутов ''​value''​ символа,​ например +хранятся внутри атрибутов ''​value''​ символа,​ например ''​value=pulse 0 1 10n 
-''​value=pulse 0 1 10n 10n 100n 1u 2u''​. +10n 100n 1u 2u''​. ​ Эти настройки должны соответствовать атрибутам SPICE
-Эти настройки должны соответствовать атрибутам SPICE+
 ''​pulse(V1 V2 TD TR TF PW PER)''​. ''​pulse(V1 V2 TD TR TF PW PER)''​.
  
Line 57: Line 48:
 атрибутов,​ а не только строку значения. атрибутов,​ а не только строку значения.
  
-Настройкой источников напряжения или тока могла бы заниматься модифицированная +Настройкой источников напряжения или тока могла бы заниматься 
-команда редактирования атрибутов (**ee**), которая вызывала бы для +модифицированная команда редактирования атрибутов 
-этих источников специальные диалоговые окна их свойств. В настоящее время эта +(<​key>​e</​key><​key>​e</​key>​), которая вызывала бы для этих источников 
-команда вызывает диалоговое окно редактирования всех атрибутов символа. +специальные диалоговые окна их свойств. В настоящее время эта команда 
 +вызывает диалоговое окно редактирования всех атрибутов символа.
  
 ==== Моделирование ==== ==== Моделирование ====
 Как сохранять параметры моделирования внутри **gschem**. Как сохранять параметры моделирования внутри **gschem**.
  
-Для хранения параметров одного моделирования можно использовать символ с +Для хранения параметров одного моделирования можно использовать символ с названием устройства //​SIMULATION//​. 
-названием устройства //​SIMULATION//​. Все параметры,​ определяющие один вид +Все параметры,​ определяющие один вид моделирования сохраняются как атрибуты,​ прикреплённые к данному объекту:​
-моделирования сохраняются как атрибуты,​ прикреплённые к данному объекту:​+
   * вид анализа (dc, ac, tran,...);   * вид анализа (dc, ac, tran,...);
   * параметры программы моделирования;​   * параметры программы моделирования;​
Line 93: Line 83:
 Таких объектов моделирования в одной схеме могло бы быть много. Таких объектов моделирования в одной схеме могло бы быть много.
  
-Для хранения дополнительных библиотек можно использовать либо директиву +Для хранения дополнительных библиотек можно использовать либо директиву вложения (include), либо символ //​LIBRARY//,​ содержащий все библиотеки в одном из двух видов:
-вложения (include), либо символ //​LIBRARY//,​ содержащий все библиотеки в +
-одном из двух видов:+
   * как многострочный атрибут;​   * как многострочный атрибут;​
   * как несколько атрибутов библиотек,​ прикреплённых к символу //​LIBRARY//​.   * как несколько атрибутов библиотек,​ прикреплённых к символу //​LIBRARY//​.
Line 102: Line 90:
 различие. Глобальные и пользовательские библиотеки могут определяться в различие. Глобальные и пользовательские библиотеки могут определяться в
 //''​gafrc''//​ или в новом конфигурационном файле //''​spicerc''//​. //''​gafrc''//​ или в новом конфигурационном файле //''​spicerc''//​.
 +
  
  
 ==== Создание диалогового окна для моделирования внутри gschem ==== ==== Создание диалогового окна для моделирования внутри gschem ====
-Допустим,​ всё что нам нужно, чтобы добавить поддержку моделирования в + 
-**gschem**, это одно диалоговое окно.+Допустим,​ всё что нам нужно, чтобы добавить поддержку моделирования в **gschem**, это одно диалоговое окно.
   * В нём должен содержаться список моделирований (в виде списка из их названий с кнопками разрешения/​запрета).   * В нём должен содержаться список моделирований (в виде списка из их названий с кнопками разрешения/​запрета).
   * В нём должны быть иконки для добавления измерителей.   * В нём должны быть иконки для добавления измерителей.
Line 124: Line 113:
 Какие параметры нужны для этого диалогового окна? И почему?​ Какие параметры нужны для этого диалогового окна? И почему?​
  
-Расставленные нами измерители можно использовать,​ чтобы сообщать программе +Расставленные нами измерители можно использовать,​ чтобы сообщать программе моделирования о том, какие нам хотелось бы сохранять переменные,​ или программе построения графиков о том, какие хотелось бы увидеть графики. Это вещи совершенно различные,​ и нам нужна возможность выбирать следующее:​
-моделирования о том, какие нам хотелось бы сохранять переменные,​ или программе +
-построения графиков о том, какие хотелось бы увидеть графики. Это вещи +
-совершенно различные,​ и нам нужна возможность выбирать следующее:​+
   * выводить на графиках все маркеры и сохранять только напряжения соответствующих узлов;   * выводить на графиках все маркеры и сохранять только напряжения соответствующих узлов;
   * выводить на графиках все маркеры,​ но сохранять все напряжения и токи (с помощью источников напряжения);​   * выводить на графиках все маркеры,​ но сохранять все напряжения и токи (с помощью источников напряжения);​
   * сохранять напряжения узлов только для схемы текущего уровня или также и для подсхем.   * сохранять напряжения узлов только для схемы текущего уровня или также и для подсхем.
- 
  
 ==== Запуск моделирования ==== ==== Запуск моделирования ====
Line 140: Line 125:
   * выполнение скрипта запуска моделирования (**guile**, **sh**, ...).   * выполнение скрипта запуска моделирования (**guile**, **sh**, ...).
  
-Этот скрипт мог бы вызывать даже диспетчер,​ который бы занимался +Этот скрипт мог бы вызывать даже диспетчер,​ который бы занимался множеством 
-множеством крупномасштабных моделирований. +крупномасштабных моделирований.
  
 ===== Приложение ===== ===== Приложение =====
-==== Символ измерителя ​тока (эскиз) ==== +==== Символ измерителя ​напряжения ​(эскиз) ==== 
-<​code>​+<​code ​gschem-symbol voltage_probe.sym>
 v 20061020 1 v 20061020 1
 P 0 0 200 200 1 0 0 P 0 0 200 200 1 0 0
Line 172: Line 156:
 </​code>​ </​code>​
  
- +==== Символ измерителя ​тока (эскиз) ==== 
-==== Символ измерителя ​напряжения ​(эскиз) ==== +<​code ​gschem-symbol current_probe.sym>
-<​code>​+
 v 20061020 1 v 20061020 1
 P 0 200 150 200 1 0 0 P 0 200 150 200 1 0 0
Line 209: Line 192:
 value=DC 0V value=DC 0V
 </​code>​ </​code>​
- 
  
 ==== Ещё один символ измерителя тока (эскиз),​ который использует Kurt Peters ==== ==== Ещё один символ измерителя тока (эскиз),​ который использует Kurt Peters ====
-<​code>​+<​code ​gschem-symbol ammeter.sym>
 v 20061020 1 v 20061020 1
 T 700 650 8 10 1 1 0 0 1 T 700 650 8 10 1 1 0 0 1
geda/circuit_simulation_improvements.ru.1329768895.txt.gz · Last modified: 2014/04/26 04:17 (external edit)