Программа схемотехнич моделир Micro-Cap 8 М.А.Амелина 2007-600RM (967609), страница 21
Текст из файла (страница 21)
Если ЯЕЕ0>1-функции возвращают повторяющуюся последовательность случайных чисел. Если ЯЕЕ0 не установлено или ЯЕЕО<1, функции возвращают неповторяющиеся последовательности случайных чисел. ЯЕЕ0 инициализируется в начале каждого запуска анализа (нажатие Е2), но не для каждой температуры из ряда значений или варианта многовариантного анализа Я(ерр)пд. йИΠ— генерирует случайное число с равномерным законом распределения на отрезке (О, 1) в каждый отсчет времени. ИИОИ- генерирует случайное число при каждом запуске анализа по Е2. ЯИОС вЂ” генерирует случайное число при каждом запуске нового анализа Монте-Карло, вариации температуры или других параметров (Я!ерр(пд).
НИО/(1) — генерирует новое случайное число через каждые / секунд анализа. Примеры использования выражений с переменными в МС8 1.0/(1.0+.001'з) — передаточная функция фильтра низких частот, заданная с помощью преобразования Лапласа. ехр(-Т/.5)*а/л(2"Р/*10"Т) — функциональный источник затухающего гармонического сигнала с частотой 10 Гц. -/г'(ле(Р)-к(с)+ти*(ч(д~-ч(с))) 1.5 — выражение для анодного тока вакуумного триода.
Буквенные обозначения р, д и с — обозначения узлов анода, сетки и катода соответственно. 2РЕ/((1-к(р,л)/.7)".5) — типичное выражение для барьерной емкости рпперехода. 5.0РЕ"(1+2е-б'Т) — емкость конденсатора, зависящая от времени. 4. ТК'(1+.3*У(Р,/И)) — сопротивление резистора, зависящее от напряжения.
5*(1+2"(ТЕ/И-2273 "2) — сопротивление резистора, зависящее от температуры. 1ил*со/И(1+/(/ 1)/10та) — нелинейная индуктивность, зависящая от тока. 2.5иИ"(1+(1 — 1е-7) 2.0) — индуктивность, зависящая от времени. У(УСС) "/(УСС) — мгновенная мощность источника напряжения ЧСС. РО(Т/1) — мощность, рассеиваемая на резисторе й1.
ЯИИ(У(УСС)"/(УСС),7) — энергия источника ЧСС на интервале времени от О до Т. ЕЕТ(У(А)+У(В)) — преобразование Фурье от Ч(А)+Ч(В)). 94 Программа схемотехнического моделирования МгегоСар-8 ВМЗ(У(Оиг)) — текущее среднеквадратическое значение напряжения Ч(Оц()). гМ(У(7)) — мнимая часть комплексного напряжения в узле 7. МАО(УСЕ(Я1)ИС(61)) — модуль комплексной мощности, выделяемой на биполярном транзисторе 01 при анализе частотных характеристик. 5'(Т>10пв АИС Т<20лв) — одиночный импульс с амплитудой 5 В на интервале времени 10...20 нс. 5'((Т тоге 50)>10 АИС (Т ток( 50)<20) — импульс с амплитудой 5 В на интервале времени 10...20 с, период 50 с. ТАВ) Е(У(1) -10;1,10,1) — определение табличной функции.
Принимает значения: ° -1, если Ч(1)< — 1 0; ° 0.1 Ч(1), если — 1 0<Ч(1)<10; ° 1, если Ч(1)>10. 1МРОВТ(А.О()Т,У(1)) — импорт кривой Ч(1) из файла А.ООТ. СУВУЕХ("Т1","1(У1)") — импортирует таблицу абсцисс кривой !(Ч1) из пользовательского файла Т1. ВИО!(10л) — возвращает случайное число в диапазоне от 0 до 1 через каждые 10 нс расчета. 2*ВИР — возвращает случайное число в диапазоне от 0 до 2 при каждом запуске анализа нажатием Р2. 1+2ВИОС вЂ” возвращает случайное число в диапазоне от 1 до 3 в начале каждой вариации Монте-Карло, температуры и других параметров (81ерр!пп).
Правила использования выражений и переменных 1. Значения операторов отношения и булевых операторов равно 1.0, если они истинны, и 0.0, если они ложны. 2. Интегродифференциальные операторы (АЧО, ОЕ(., ЯМ8, 8()М...) могут использоваться только при выводе данных и не могут применяться в выражениях для параметров. 3. О(ч018Е и !)чО!8Е могут использоваться только при АС-анализе, и их нельзя применять в выражениях в совокупности с другими величинами, например с напряжениями. Поэтому их следует выводить на экран по отдельности в разных сеансах моделирования. 4.
В АС-анализе все промежуточные вычисления выполняются с комплексными величинами. Однако при построении графиков указание имени переменной означает построение графика ее модуля. Например, указание имени переменной Ч(1) эквивалентно использованию функции вычисления модуля комплексной величины МАО(Ч(1)). И более того, спецификация выражения Ч(1)*Ч(2) приведет к построению модуля произведения двух комплексных напряжений. Для вывода мнимой части произведения используется запись 1М(Ч(1)*Ч(2)), при выводе действительной части— ВЕ(Ч(1)*Ч(2)). 4 Форматы «адана» номнонена|оа 5.
При моделировании в режимах АС и ОС значение переменной Т (время) полагается равным нулю. При расчете переходных процессов и в режиме ОС равным нулю полагается значение переменной Е(частота). 8. В выражениях дпя преобразования Лапласа передаточных функций может использоваться только символ 8 дпя обозначения комплексной переменной. При отсутствии в выражении для такой передаточной функции символа 8 выдается сообщение об ошибке.
Поэтому преобразования Лапласа нельзя использовать дпя задания линейных блоков с постоянным коэффициентом передачи — в этих целях употребляйте другие типы управляемых источников сигналов. 7. Перед выполнением моделирования или перед составлением списка электрических соединений программа МС8 вычисляет значения всех операторов .ОЕЕ!ЙЕ.
В связи с этим применение этих операторов внутри оператора .МООЕ(.могут привести к ошибке. Пусть, например, имеется два оператора: .оейпе ВЕ 111 .гпоое1 01 ЙРЙ (ВЕы50 ...) В результате подстановки в оператор .МООЕЕ определения .бейпе ВЕ 111 он приобретет неожиданно совершенно ошибочный вид: .гпоое1 01 ЙРЙ (111ы50 ...) Поэтому применение определений .ОЕЕ1ЙЕ в директиве .МООЕ(. недопустимо! В этих целях можно использовать идентификатор промежуточной переменной. В рассматриваемом примере это может быть следующее: .г!ейпе ЧАШЕ 111 .гпоое) 01 ЙРЙ (ВЕ=ЧАШЕ ...) Тогда после подстановки оператор .МООЕ(.
приобретет правильный вид: лпоое1 01 ЙРЙ(ВЕ=111 ...) 8. Помните, что выражения в операторах определения переменных .ОЕЕ1ЙЕ понимаются буквально. Пусть, например, имеется два определения: .бейпе А 4+С .бейпе В А*Х Следует иметь в виду, что выражение 4+С не подразумевается заключенным в скобки (4+С). Поэтому величина В равна 4+С*Х. Если же величина В должна быть равной (4+С)*Х, скобки нужно проставить в определении величины А: .дейпе А (4+С) Следует отметить, что защититься от подобной нежелательной интерпретации выражения без скобок в .оейпе можно установкой флага Аг1д Рагеп!йезез го Оейпе в Ргеуегепсез (установлен по умолчанию), поэтому вышесказанное относится к более старым версиям программы и файлам, подготовленным с их помощью.
Текстовые директивы Директивы программы МС8 представляют собой текстовые выражения, начинающиеся с точки «.». При графическом вводе схем они помещаются в окне текста или непосредственно в окне схем, при текстовом вводе в фор- 96 Прогромл~о слел~отелничесного моделирооанин М/сгоСар-1 мате ЗР(СŠ— в текстовом файле.
В связи с этим МС8 имеет два набора директив: один для графического ввода схем, второй для текстовых файлов в формате ЯР!СЕ [7]. Поскольку предлагаемое описание в основном предполагает графический ввод схем и их последующий анализ, то ниже приводится только перечень директив МС8 для схемного ввода. Все директивы ЗР)СЕ и большинство директив, помещаемых на схемах, совпадают с директивами известной программы РЗр1се [7], исключение составляют лишь директивы .ОЕЕ!(л(Е, .МАСйО и .РАйАМЕТЕйЗ. Приведем описания наиболее употребительных директив в алфавитном порядке с указанием областей их применения.
.АЯЯА У- присвоение значений идентификаторам переменных Формат схем М!сгоСар-8: .АййАЧ <имя> < значениеО> <,значение1>...<,значение(ч>. Примеры: .АййАУ йЕЯ!ЯТА(ЧСЕ З.ЗК,4.5К,5.0К .АййАУ ЧЧ10ТНЗ .07ц,1ц,1.2ц,1.5ц,2ц Команда .АййАЧ объявляет массив величин, которые могут использоваться в полях атрибутов компонента и в параметрах моделей.
Доступ к элементам массива организуется начиная с нулевого индекса и далее. Например, рассмотрим следующие директивы: .АййАЧ САР 1р,10р,15р,24р,Збр .ОЕЕ1)ЧЕ 1ИОЕХ 0 После этих деклараций можно использовать выражение САР(!ИОЕХ) как атрибут ЧАьОЕ одного или нескольких конденсаторов, а затем дать приращение переменной 1!чОЕХ для последовательного присвоения атрибутам различных конденсаторов объявленных значений 1р, 10р, 15р, 24р, Збр.
Другой пример: .МООЕЕ Й1 !чРИ (ВЕ=ВЕТА1(1(чОЕХ) СНЕ=1.8Р СЗС=0.8Р ТЕ=.5Й) .МООЕ(. (Ч2 !чР(ч' (ВЕ=ВЕТА2(1(чОЕХ) СЗС=1Р СЗЕ=2Р ТЕ=1)Ч Тй=1Й) .ОЕЕИЧЕ 1ИОЕХ 0 .АййАУ ВЕТА1 100,200,300 .АййАЧ ВЕТА2 60,70,90 После приведенных деклараций можно, меняя 1ЫОЕХ, одновременно получать доступ к двум массивам, присваивая определенные пары значений для коэффициентов передачи токов базы моделей двух транзисторов. Переменная 11ЧОЕХ не является обязательной, можно получить доступ к определенным массивам непосредственно: ВЕТА1(0), ВЕТА1(1), ВЕТА1(2) и т, д. .ОЕЕ//ЧЕ- присвоение значений идентификаторам переменных Общий формат (для схем и ЗР)СЕ-текста): .ОЕЕ)ЙЕ [((.ОТ[(Ы]=<п>[ 'Ус]Ц <текст1> <текст2>, где !8 г( [ [/<1о!//>][/ОА(/ЯЗ]0)ч)ЕОйМ]ЧЧСАЗЕ]] Основное назначение директивы .Оебпе — определить значение символьной переменной.
Действие этой директивы состоит в том, что <текст1> заме- 4. Форинты задания котнонентов 97 няется <текст2> везде за исключением атрибута компонента ЧА(.ОЕ и имени параметров моделей. Только для схем М!сгоСар-8: .0ЕР1!чЕ <имя(<р1>[,<р2>][...,<рп>])> 1(<р1>[,<р2>][...,<рп>]). Здесь (() — некоторое выражение, включающее параметры <р1>[,<р2>] [...,<рп>].
Эта форма директивы .0ебпе работает в точности как макрос на языке СИ, который подставляет при запуске программы значения параметров <р1>[,<р2>][...,<рп>]. Директива указанного формата подобна директиве .РО!йС языка ЗР(СЕ. Примеры: .0ебпе Ч1 (2*1*вся(2*р1*Т)) .0ЕРОЧЕ ЙЧА1 128.5К .0ЕЕ(ЙЕ (!.ОТ=10 т') ~ЧА(. 1200 МН .0ЕР1ИЕ (1 ОТ/1/ОА088=10 тв) СЧА~ 1200!ЧР .0ЕР!!чЕ В1 ТЕМР*.1*ЕХР( — Т/!аи) — текстовая переменная !<1 (обозначающая сопротивление резистора) заменяется выражением для ее вычисления ТЕМР*.1*ЕХР(-Т/1аи); обратим внимание, что таким образом можно задать зависимость любого параметра схемы от времени, частоты и т. и., что реализуется в программе РЗр!се гораздо сложнее.