Параметры термисторов. Основные параметры NTC и PTC термисторов.
Основные параметры NTC-термисторов и позисторов
В настоящий момент промышленность выпускает огромный ассортимент терморезисторов, позисторов и NTC-термисторов. Каждая отдельная модель или серия изготавливается для эксплуатации в определённых условиях, на них накладываются определённые требования.
Поэтому от простого перечисления параметров позисторов и NTC-термисторов толку будет мало. Мы пойдём немного другим путём.
Каждый раз, когда в ваши руки попадает термистор с легко читаемой маркировкой, необходимо найти справочный листок, или даташит на данную модель термистора.
Кто не в курсе, что такое даташит, советую заглянуть на эту страницу. В двух словах, даташит содержит информацию по всем основным параметрам данного компонента. В этом документе перечислено всё, что нужно знать, чтобы применить конкретный электронный компонент.
У меня в наличии оказался вот такой термистор.
Сперва может показаться, что найти хоть какие то сведения о данном позисторе вряд ли удастся. Но, не стоит вешать нос! Открываем браузер, вбиваем в гугле фразу типа этих: «позистор c975», «ptc c975», «ptc c975 datasheet», «ptc c975 даташит», «позистор c975 даташит». Далее остаётся лишь найти даташит на данный позистор. Как правило, даташиты оформляются как pdf-файл.
Из найденного даташита на PTC C975, я узнал следующее. Выпускает его фирма EPCOS. Полное название B59975C0160A070 (серия B599*5). Данный PTC-термистор применяется для ограничения тока при коротком замыкании и перегрузках. Т.е. это своеобразный предохранитель.
Приведу таблицу с основными техническими характеристиками для серии B599*5, а также краткую расшифровку всего того, что обозначают все эти циферки и буковки.
Max.operating voltage (TA = 60°C) – VMAX. Максимальное рабочее напряжение при температуре окружающей среды 60°С. Как видим, оно составляет 20 вольт постоянного (VDC) или переменного (VAC) тока. Это максимальное напряжение, которое может выдержать позистор.
Rated voltage — VR. Номинальное напряжение. То есть обычное, рабочее напряжение, при котором позистор исправно работает длительное время. В таблице указано напряжение в 12 вольт (переменный и постоянный ток).
Switching cycles — N. Количество циклов переключения. Это расчётное число переключений (срабатываний) позистора, при котором он не теряет свои свойства. Для данного позистора число срабатываний, при котором он должен выполнить функцию ограничения тока и не выйти из строя равно 100.
Reference temperature — Tref . Опорная температура. При росте тока через позистор он нагревается, а благодаря нагреву сопротивление его возрастает на несколько порядков. Так вот Tref – это температура позистора, когда его сопротивление начинает резко возрастать. Если взглянуть на график зависимости сопротивления позистора (RPTC) от его температуры (TPTC), то на нём чётко видно, что значительный рост сопротивления позистора происходит как раз на участке 150°С ~ 170°C, а температура в 160°С является опорной (Tref). Я бы назвал эту температуру «температурой перехода».
Tolerance of RR – ΔRR. Допустимое отклонение от номинального сопротивления. Выражается в процентах. Например, для позистора C975 номинальное сопротивление RR (Rated resistance) составляет 1,8 Ом. На деле же оно может быть от 1,35 до 2,25 Ом, так как допуск ΔRR составляет ±25%.
Operating temperature range — Top . Диапазон рабочих температур. Как видим, в таблице указано две строки. Диапазон рабочей температуры при минимальном напряжении на позисторе (V=0) и максимальном (V=Vmax), которое, как мы уже знаем равно 20 вольтам. Из этого можно установить, что данный позистор будет исправно работать при температуре окружающей среды от -40 до +85°С.
Теперь обратим своё внимание на электрические характеристики конкретного изделия, в нашем случае это позистор PTC C975 (полная маркировка B59975C0160A070). Взгляните на следующую таблицу.
IR — Rated current (mA). Номинальный ток. Это ток, который выдерживает данный позистор в течение длительного времени. Я бы его ещё назвал рабочим, нормальным током. Для позистора C975 номинальный ток составляет чуть более полуампера, а конкретно – 550 mA (0,55A).
IS — Switching current (mA). Ток переключения. Это величина тока, протекающего через позистор, при котором его сопротивление начинает резко возрастать. Таким образом, если через позистор C975 начнёт протекать ток более 1100 mA (1,1A), то он начнёт выполнять свою защитную функцию, а точнее начнёт ограничивать протекающий через себя ток за счёт роста сопротивления. Ток переключения ( IS) и опорная температура (Tref ) связаны, так как ток переключения вызывает разогрев позистора и его температура достигает уровня Tref , при которой сопротивление позистора возрастает.
ISmax — Maximum switching current (A). Максимальный ток переключения. Как видим из таблицы, для данной величины указывается ещё и значение напряжения на позисторе – V=Vmax. Это неспроста. Дело в том, что любой позистор может поглотить определённую мощность. Если она превысит допустимую, то он выйдет из строя.
Поэтому для максимального тока переключения указывается и напряжение. В данном случае оно равно 20 вольтам. Перемножив 3 ампера на 20 вольт, мы получим мощность в 60 Вт. Именно такую мощность может поглотить наш позистор при ограничении тока.
Ir — Residual current (mA). Остаточный ток. Это остаточный ток, который протекает через позистор, после того, как тот сработал, начал ограничивать ток (например, при перегрузке). Остаточный ток поддерживает подогрев позистора для того, чтобы он был в «разогретом» состоянии и выполнял функцию ограничения тока до тех пор, пока причина перегрузки не будет устранена. Как видим, в таблице указано значение этого тока для разного напряжения на позисторе. Одно для максимального (V=Vmax), другое для номинального (V=VR). Не трудно догадаться, что перемножив ток ограничения на напряжение, мы получим мощность, которая требуется для поддержания нагрева позистора в сработавшем состоянии.
Для позистора PTC C975 эта мощность равна 1,62 ~ 1,7 Вт.
Что такое RR и Rmin нам поможет понять следующий график.
Rmin – Minimum resistance (Ом). Минимальное сопротивление. Наименьшее значение сопротивления позистора. Минимальное сопротивление, которое соответствует минимальной температуре, после которой начинается диапазон с положительным ТКС. Если детально изучить графики для позисторов, то можно заметить, что до значения TRmin сопротивление позистора наоборот уменьшается. То есть позистор при температурах ниже TRmin ведёт себя как «очень плохой» NTC-термистор и его сопротивление снижается (незначительно) с ростом температуры.
RR – Rated resistance (Ом). Номинальное сопротивление. Это сопротивление позистора при какой-то ранее оговоренной температуре.
Approvals – в дословном переводе это одобрение. То есть одобрено такой-то организацией, которая занимается контролем качества и пр. Особо не интересует.
Ordering code – серийный номер. Тут, думаю, понятно. Полная маркировка изделия. В нашем случае это B59975C0160A070.
Из даташита на позистор PTC C975 я узнал, что применить его можно в качестве самовосстанавливающегося предохранителя. Например, в электронном устройстве, которое в рабочем режиме потребляет ток не более 0,5А при напряжении питания 12V.
Теперь поговорим о параметрах NTC-термисторов. Напомню, что NTC-термистор имеет отрицательный ТКС. В отличие от позисторов, при нагреве сопротивление NTC-термистора резко падает.
В наличии у меня оказалось несколько NTC-термисторов. В основном они были установлены в блоках питания и всяких силовых агрегатах. Их назначение — ограничение пускового тока. Остановился я вот на таком термисторе. Давайте узнаем его параметры.
На корпусе указана лишь такая маркировка: 16D-9 F1. После недолгих поисков в интернете удалось найти даташит на всю серию NTC-термисторов MF72. Конкретно наш экземпляр, это MF72-16D9. Данная серия термисторов используется для ограничения пускового тока. Далее на графике наглядно показано, как работает NTC-термистор.
В начальный момент, когда включается устройство (например, импульсный блок питания ноутбука, адаптер, компьютерный БП, зарядное устройство), сопротивление NTC-термистора велико, и он поглощает импульс тока. Далее он разогревается, и его сопротивление уменьшается в несколько раз.
Пока устройство работает и потребляет ток, термистор находится в нагретом состоянии и его сопротивление мало.
В таком режиме термистор практически не оказывает сопротивление протекающему через него току. Как только электроприбор будет отключен от источника питания, термистор остынет и его сопротивление вновь увеличится.
Обратим свой взор на параметры и основные характеристики NTC-термистора MF72-16D9. Взглянем на таблицу.
R25 — Номинальное сопротивление термистора при температуре 25°С(Ом). Сопротивление термистора при температуре окружающей среды 25°С. Это сопротивление легко измерить мультиметром. Для термистора MF72-16D9 это 16 Ом. По сути R25 — это то же самое, что и RR (Rated resistance) для позистора.
Max. Steady State Current — Максимальный ток термистора (A). Максимально возможный ток через термистор, который он может выдержать в течение длительного времени. Если превысить максимальный ток, то произойдёт лавинообразное падение сопротивления.
Approx. R of Max. Current — Сопротивление термистора при максимальном токе (Ом). Приблизительное значение сопротивления NTC-термистора при максимальном протекающем токе. Для NTC-термистора MF72-16D9 это сопротивление равно 0,802 Ома. Это почти в 20 раз меньше, чем сопротивление нашего термистора при температуре в 25°С (когда термистор «холодный» и не нагружен протекающим током).
Dissip. Coef. — Коэффициент энергетической чувствительности (mW/°C). Чтобы внутренняя температура термистора изменилась на 1°С, он должен поглотить некоторое количество мощности. Отношение поглощаемой мощности (в мВт) к изменению температуры термистора и показывает данный параметр. Для нашего термистора MF72-16D9 данный параметр составляет 11 миллиВатт/1°С.
Напомню, что при нагреве NTC-термистора его сопротивление падает. Для его разогрева расходуется протекающий через него ток. Следовательно, термистор будет поглощать мощность. Поглощённая мощность приводит к нагреву термистора, а это в свою очередь ведёт к уменьшению сопротивления NTC-термистора в 10 — 50 раз.
Thermal Time Constant — Постоянная времени охлаждения (S). Время, за которое температура ненагруженного термистора изменится на 63,2% от разности температуры самого термистора и окружающей среды. Проще говоря, это время, за которое NTC-термистор успевает остыть, после того, как через него перестанет протекать ток. Например, когда блок питания отключат от электросети.
Max. Load Capacitance in μF — Максимальная ёмкость разряда. Тестовая характеристика. Показывает ёмкость, которую можно разрядить на NTC-термистор через ограничительный резистор в тестовой схеме без его повреждения. Ёмкость указывается в микрофарадах и для конкретного напряжения (120 и 220 вольт переменного тока (VAC)).
Tolerance of R25 — Допуск. Допустимое отклонение сопротивления термистора при температуре 25°С. Иначе, это отклонение от номинального сопротивления R25. Обычно допуск составляет ±10 — 20%.
Вот и все основные параметры термисторов. Конечно, есть и другие параметры, которые могут встретиться в даташитах, но они, как правило, легко высчитываются из основных параметров.
Надеюсь теперь, когда вы встретите незнакомый вам электронный компонент (не обязательно термистор), вам будет легко разузнать его основные характеристики, параметры и назначение.
Главная » Радиоэлектроника для начинающих » Текущая страница
Также Вам будет интересно узнать:
Терморезисторы.
Обозначение на схеме, разновидности, применение
В электронике всегда приходится что-то измерять или оценивать. Например, температуру. С этой задачей успешно справляются терморезисторы – электронные компоненты на основе полупроводников, сопротивление которых изменяется в зависимости от температуры.
Здесь я не буду расписывать теорию физических процессов, которые происходят в терморезисторах, а перейду ближе к практике – познакомлю читателя с обозначением терморезистора на схеме, его внешним видом, некоторыми разновидностями и их особенностями.
На принципиальных схемах терморезистор обозначается вот так.
В зависимости от сферы применения и типа терморезистора обозначение его на схеме может быть с небольшими отличиями. Но вы всегда его определите по характерной надписи t или t°.
Основная характеристика терморезистора – это его ТКС. ТКС – это температурный коэффициент сопротивления. Он показывает, на какую величину изменяется сопротивление терморезистора при изменении температуры на 1°С (1 градус Цельсия) или 1 градус по Кельвину.
У терморезисторов несколько важных параметров. Приводить я их не буду, это отдельный рассказ.
На фото показан терморезистор ММТ-4В (4,7 кОм). Если подключить его к мультиметру и нагреть, например, термофеном или жалом паяльника, то можно убедиться в том, что с ростом температуры его сопротивление падает.
Терморезисторы есть практически везде. Порой удивляешься тому, что раньше их не замечал, не обращал внимания. Давайте взглянем на плату от зарядного устройства ИКАР-506 и попробуем найти их.
Вот первый терморезистор. Так как он в корпусе SMD и имеет малые размеры, то запаян на небольшую плату и установлен на алюминиевый радиатор – контролирует температуру ключевых транзисторов.
Второй. Это так называемый NTC-термистор (JNR10S080L). О таких я ещё расскажу. Служит он для ограничения пускового тока. Забавно. Вроде терморезистор, а служит в качестве защитного элемента.
Почему то если заходит речь о терморезисторах, то обычно думают, что они служат для измерения и контроля температуры. Оказывается, они нашли применение и как устройства защиты.
Также терморезисторы устанавливаются в автомобильные усилители. Вот терморезистор в усилителе Supra SBD-A4240. Здесь он задействован в цепи защиты усилителя от перегрева.
Вот ещё пример. Это литий-ионный аккумулятор DCB-145 от шуруповёрта DeWalt. Вернее, его «потроха». Для контроля температуры аккумуляторных ячеек применён измерительный терморезистор.
Его почти не видно. Он залит силиконовым герметиком. Когда аккумулятор собран, то этот терморезистор плотно прилегает к одной из Li-ion ячеек аккумулятора.
Прямой и косвенный нагрев.
По способу нагрева терморезисторы делят на две группы:
Прямой нагрев. Это когда терморезистор нагревается внешним окружающим воздухом или током, который протекает непосредственно через сам терморезистор. Терморезисторы с прямым нагревом, как правило, используются либо для измерения температуры, либо температурной компенсации. Такие терморезисторы можно встретить в термометрах, термостатах, зарядных устройствах (например, для Li-ion батарей шуруповёртов).
Косвенный нагрев. Это когда терморезистор нагревается рядом расположенным нагревательным элементом. При этом он сам и нагревательный элемент электрически не связаны друг с другом. В таком случае, сопротивление терморезистора определяется функцией тока, протекающего через нагревательный элемент, а не через терморезистор. Терморезисторы с косвенным нагревом являются комбинированными приборами.
NTC-термисторы и позисторы.
По зависимости изменения сопротивления от температуры терморезисторы делят на два типа:
Давайте разберёмся, какая между ними разница.
NTC-термисторы.
Своё название NTC-термисторы получили от сокращения NTC – Negative Temperature Coefficient, или «Отрицательный Коэффициент Сопротивления». Особенность данных термисторов в том, что при нагреве их сопротивление уменьшается. Кстати, вот так обозначается NTC-термистор на схеме.
Обозначение термистора на схеме
Как видим, стрелки на обозначении разнонаправлены, что указывает на основное свойство NTC-термистора: температура увеличивается (стрелка вверх), сопротивление падает (стрелка вниз). И наоборот.
На практике встретить NTC-термистор можно в любом импульсном блоке питания. Например, такой термистор можно обнаружить в блоке питания компьютера. Мы уже видели NTC-термистор на плате ИКАР’а, только там он был серо-зелёного цвета.
На этом фото NTC-термистор фирмы EPCOS. Применяется для ограничения пускового тока.
Для NTC-термисторов, как правило, указывается его сопротивление при 25°С (для данного термистора это 8 Ом) и максимальный рабочий ток. Обычно это несколько ампер.
Данный NTC-термистор устанавливается последовательно, на входе сетевого напряжения 220V. Взгляните на схему.
Так как он включен последовательно с нагрузкой, то весь потребляемый ток протекает через него. NTC-термистор ограничивает пусковой ток, который возникает из-за заряда электролитических конденсаторов (на схеме С1). Бросок зарядного тока может привести к пробою диодов в выпрямителе (диодный мост на VD1 — VD4).
При каждом включении блока питания конденсатор начинает заряжаться, а через NTC-термистор начинает протекать ток. Сопротивление NTC-термистора при этом велико, так как он ещё не успел нагреться. Протекая через NTC-термистор, ток разогревает его. После этого сопротивление термистора уменьшается, и он практически не препятствует протеканию тока, потребляемого прибором. Таким образом, за счёт NTC-термистора удаётся обеспечить «плавный запуск» электроприбора и уберечь от пробоя диоды выпрямителя.
Понятно, что пока импульсный блок питания включен, NTC-термистор находится в «подогретом» состоянии.
Если в схеме происходит выход из строя каких-либо элементов, то, обычно резко возрастает и потребляемый ток. При этом нередки случаи, когда NTC-термистор служит своего рода дополнительным предохранителем и также выходят из строя из-за превышения максимального рабочего тока.
Далее на фото наглядный пример – сгоревший NTC-термистор 5D-11, который был установлен в зарядном устройстве ИКАР-506. Он ограничивал пусковой ток при включении.
Выход из строя ключевых транзисторов в блоке питания зарядного устройства привел к превышению максимального рабочего тока этого термистора (max 4A) и он сгорел.
Позисторы. PTC-термисторы.
Термисторы, сопротивление которых при нагреве растёт, называют позисторами. Они же PTC-термисторы (PTC — Positive Temperature Coefficient, «Положительный Коэффициент Сопротивления»).
Стоит отметить, что позисторы получили менее широкое распространение, чем NTC-термисторы.
Условное обозначение позистора на схеме.
Позисторы легко обнаружить на плате любого цветного CRT-телевизора (с кинескопом). Там он установлен в цепи размагничивания. В природе встречаются как двухвыводные позисторы, так и трёхвыводные.
На фото представитель двухвыводного позистора, который применяется в цепи размагничивания кинескопа.
Внутри корпуса между выводами-пружинами установлено рабочее тело позистора. По сути это и есть сам позистор. Внешне выглядит как таблетка с напылением контактного слоя по бокам.
Как я уже говорил, позисторы используются для размагничивания кинескопа, а точнее его маски. Из-за магнитного поля Земли или влияния внешних магнитов маска намагничивается, и цветное изображение на экране кинескопа искажается, появляются пятна.
Наверное, каждый помнит характерный звук «бдзынь», когда включается телевизор — это и есть тот момент, когда работает петля размагничивания.
Кроме двухвыводных позисторов широко применяются трёхвыводные позисторы. Вот такие.
Далее на фото трёхвыводный позистор СТ-15-3.
Отличие их от двухвыводных заключается в том, что они состоят из двух позисторов-«таблеток», которые установлены в одном корпусе. На вид эти «таблетки» абсолютно одинаковые. Но это не так. Кроме того, что одна таблетка чуть меньше другой, так ещё и сопротивление их в холодном состоянии (при комнатной температуре) разное. У одной таблетки сопротивление около 1,3 ~ 3,6 кОм, а у другой всего лишь 18 ~ 24 Ом.
Трёхвыводные позисторы также применяются в цепи размагничивания кинескопа, как и двухвыводные, но только схема их включения немного иная. Если вдруг позистор выходит из строя, а такое бывает довольно часто, то на экране телевизора появляются пятна с неестественным отображением цвета.
Более детально о применении позисторов в цепи размагничивания кинескопов я уже рассказывал здесь.
Так же, как и NTC-термисторы, позисторы используются в качестве устройств защиты. Одна из разновидностей позистора — это самовосстанавливающийся предохранитель.
SMD-терморезисторы.
С активным внедрением SMT-монтажа, производители стали выпускать миниатюрные терморезисторы, адаптированные и под него. Размеры их корпуса, как правило, соответствуют стандартным типоразмерам (0402, 0603, 0805, 1206), которые имеют чип резисторы и конденсаторы. Маркировка на них не наносится, что затрудняет их идентификацию. По внешнему виду SMD-терморезисторы очень похожи на керамические SMD-конденсаторы.
Встроенные терморезисторы.
В электронике активно применяются и встроенные терморезисторы. Если у вас паяльная станция с контролем температуры жала, то в нагревательный элемент встроен тонкоплёночный терморезистор. Также терморезисторы встраиваются и в фен термовоздушных паяльных станций, но там он является отдельным элементом.
Стоит отметить, что в электронике наряду с терморезисторами активно применяются термопредохранители и термореле (например, типа KSD), которые также легко обнаружить в электронных приборах.
Теперь, когда мы познакомились с терморезисторами, пора узнать об их параметрах.
Главная » Радиоэлектроника для начинающих » Текущая страница
Также Вам будет интересно узнать:
Позисторы — Студопедия
Позисторами называются объемные полупроводниковые резисторы с положительным температурным коэффициентом сопротивления.(ТКС) Материалом для изготовления позисторов служит титианат бария BaTiO3 , легированный примесями редкоземельных элементов, таких как стронций, церий ,ниобий и т.п.
Технология изготовления позисторов близка к процессу производства терморезисторов.
Изготовление начинается со взвешивания исходных материалов , измельчения и перемешивания их с дистиллированной водой в фарфоровой шаровой мельнице. Полученная смесь фильтруется , сушится , растираетя в порошок и прокаливается в течение одного часа при температуре 1100-1200 С.
В процессе прокаливания смесь образует белые хрупкие куски , которые снова размельчаются и перемешиваются с водой в шаровой мельнице , а затем фильтруются , высушиваются и растираются в порошок. В соответствии с конструкцией позисторов из порошка прессуются диски , пластины или цилиндрики. Для лучшего спрессования к порошку добавляют дистиллированную воду. Спрессованные заготовки обжигают в электропечи при температуре 1300-1400 С в течении 0,5-2ч.На полученную полупроводниковую керамику методом серебрения наносят электроды , обеспечивающие хороший электрический контакт с керамикой. Затем к электродам припаивают токоподводы. В заключение на тело позистора наносится изоляционное покрытие из термостойких эпоксидных или силиконовых смол ипрозводят старение , контроль и маркировка.
Основные параметры и характеристики позистора.
Одним из основных отличий позисторов от терморезисторов являются положительный знак и большая величина ТКС в узком интервале температур , достигающая для отдельных типов позисторов 60-100%/град. Другое отличие состоит в том , что температурная зависимость сопротивления имеет сложный и неоднозначный характер, в силу чего в широком интервале температур её нельзя аппроксимировать экспоненциальным уравнением , свойственным температурной характеристике терморезистора. Наконец , сопротивление позистора зависит не только от температуры образца , но и от величины приложенного к нему напряжения («варисторный эффект»).В связи с этим только на начальном участке ВАХ позистора(при малых напряжениях на образце) температура в любой точке может быть определена по температурной характеристике позистора , что невозможно при больших напряжениях за счет варисторного эффекта.
Температурная характеристика позистора – зависимость его электрического сопротивления от температуры , снятая при напряжении , не вызывающем «варисторный эффект»(рис.8) .
рис.8
На температурной характеристике можно выделить три участка , соответствующие различным температурным диапазонам . На участках 1 и 3 позистор ведет себя как терморезистор , на участке 2 он имеет положительный ТКС , претерпевающий большие измерения. На этом участке сопротивление позистора возрастает в 3 – 4 тысячи раз. Ширина этого диапазона невелика(50…100 С) , а его положение зависит от материала позистора и может менятся в широких пределах.
Температурный коэффициент сопротивления (ТКС) позистора – относительное изменение его сопротивления , измеренного при минимально допустимой мощности рассеяния , на один градус изменения температуры , выраженное в процентах , т.е.
Статическая вольтамперная характеристика позистора(рис.10) это зависимость тока I протекающего через него, от величины приложенного напряжения U в условиях теплового равновесия между позистором и окружающей средой. Таким образом , для каждой точки характеристики справедливо уравнение энергетического баланса
P=b(T-T0)
P- мощность , рассеиваемая на позисторе
b- коэффициент рассеяния
T- установившееся значение температуры позистора.
T0- температура среды.
1.3. ЕМКОСТНЫЙ МЕТОД(вариант 1)
Известно, что емкость С конденсатора является функцией диэлектрической постоянной диэлектрика, расстояния между электродами и эффективной площади электродов:
(2.10)
В частности, емкость плоского конденсатора с двумя электродами определяется выражением
. (2.11)
Изменение емкости С конденсатора согласно формуле (2.10) можно осуществить путем изменения расстояния между электродами, эффективной площади электродов и диэлектрической постоянной диэлектрика. Следует добавить, что для измерения неэлектрических величин можно использовать также изменение диэлектрических потерь в конденсаторе.
В простейшем случае емкостный преобразователь состоит из двух параллельных пластин, разделенных воздушным диэлектриком, причем перемещение одной из пластин вызывает изменение емкости конденсатора. На рис.2.6 показано принципиальное устройство емкостного преобразователя. Если вместо одного неподвижного электрода взять два (рис.2.7), то получим дифференциальный преобразователь. Так как изменение емкости конденсатора является однозначной функцией перемещения подвижного электрода, то по изменению емкости можно судить о величине перемещения.
В зависимости от области применения емкостные датчики выполняются по-разному. Так, например, в приборах для измерения давления газа или жидкости одну из пластин делают упругой (подвижной) с таким расчетом, чтобы ее прогиб был пропорционален измеряемому давлению. Вторая пластина образует неподвижный электрод. Так как при прогибе упругая пластина не остается параллельной неподвижному электроду, то изменение емкости не будет пропорциональным прогибу. Однако при малых по сравнению с общим зазором прогибах пластины изменение емкости можно с большой точностью считать пропорциональным прогибу.
Емкостные датчики с упругой пластиной (диафрагмой) можно применять для измерения быстроменяющихся давлений. Наивысшая частота, измеряемая таким прибором, ограничена собственной частотой диафрагмы, которая в имеющихся конструкциях приборов доходит до 100000Гц. Следовательно, при помощи прибора с емкостным датчиком можно получить неискаженную запись переменных давлений, и сил до 25000—30000Гц (см. гл. VI).
Для увеличения чувствительности емкостного датчика следует уменьшать зазор между пластинами, однако при этом возможно замыкание пластин. Это затруднение можно обойти, если заполнить часть зазора диэлектриком с большой диэлектрической постоянной. В этом случае чувствительность датчика возрастает и при тех же перемещениях подвижной пластины можно будет получить значительно большее изменение емкости.
Емкостные датчики обладают малой мощностью, особенно на низких частотах. Обычно емкость датчика составляет мкмкф, а изменение ее не превышает 10% от общей емкости. Если, например, к емкостному датчику с С=100 мкмкф приложено напряжение u=115 в частотой Гц, то мощность Р датчика равна.
ва
Так как мощность измерителя должна быть во много раз меньше мощности датчика, то ясно, что такой измеритель должен обладать высокой чувствительностью. В настоящее время измерителей подобного типа не существует, поэтому емкостные датчики, как правило, работают на повышенных частотах и с применением усилителей.
Для преобразования изменения емкости в соответствующее изменение силы тока, напряжения или частоты применяют различные электрические схемы: резонансные, мостовые, электростатические и др.
В резонансных схемах емкость датчика является элементом резонансного контура, и изменение емкости вызывает изменение резонансной частоты, что в результате приводит к изменению частоты или амплитуды тока, протекающего по контуру. На рис.2.8 приведена одна из возможных резонансных схем. Резонансный контур LCR питается от генератора Г постоянной частоты. Напряжение и при совпадении собственной частоты контура с частотой колебаний генератора будет максимальным. Если собственная частота контура LCR изменяется вследствие изменения емкости С датчика, то амплитуда напряжения будет изменяться по резонансной кривой (рис. 2.9). Выбрав рабочую точку М на прямолинейной части резонансной кривой (от А до В),
получим изменение амплитуды напряжения ± , пропорциональное изменению емкости ± С. Таким образом, это не что иное, как известная схема амплитудной модуляции. Напряжение и после усиления и детектирования может быть подано на указательную или записывающую систему.
В резонансной схеме на рис.2.10 анодный ток лампового генератора меняется в соответствии с изменением емкости контура LC.
К числу преимуществ резонансных схем следует отнести высокую чувствительность и линейную зависимость выходной электрической величины и емкости. Однако в этих схемах трудно получить постоянную настройку, и, следовательно, трудно обеспечить постоянство нуля прибора.
В мостовых схемах емкость датчика включается в одно или два плеча и служит переменным элементом моста.
На рис.2.11 приведена мостовая схема с одним переменным плечом, содержащим емкость С датчика. Если на входные зажимы моста подать переменное напряжение, то при равновесии на выходных зажимах b напряжение будет отсутствовать. При изменении емкости С равновесии моста будет нарушаться, вследствие чего на выходных зажимах появится напряжение. Это напряжение, амплитуда которого пропорциональна разбалансу С (для малых изменений емкости), может быть подано на усилитель или непосредственно на прибор.
Недостатком мостовых схем для преобразования емкости является трудность достижения равновесия моста из-за не синусоидальности питающего напряжения и неточного выполнения условий равновесия.
В электростатических схемах переменная емкость датчика используется для модуляции постоянного напряжения. Падение напряжения на переменной емкости подается на сетку специальной усилительной лампы с большим входным сопротивлением. Подобные схемы удовлетворительно работают только при измерении быстро изменяющихся неэлектрических величин.
Емкостный метод измерения имеет ряд преимуществ, как-то: высокую чувствительность, возможность измерения как весьма малых, так и больших перемещений и деформаций, большую точность. К недостаткам следует отнести необходимость применять для питания схем ток повышенной частоты и усилители, а также погрешности от паразитных емкостей.
ЕМКОСТНОЙ ДАТЧИК(вариант 2).
Позистор Википедия
Условно-графическое обозначение терморезистораТерморези́стор (термистор, термосопротивление) — полупроводниковый прибор, электрическое сопротивление которого изменяется в зависимости от его температуры[1].
Терморезистор был изобретён Самюэлем Рубеном (Samuel Ruben) в 1930 году[2].
Терморезисторы изготавливаются из материалов с высоким температурным коэффициентом сопротивления (ТКС), который обычно на порядки выше, чем ТКС металлов и металлических сплавов.
Конструкция и разновидности терморезисторов[ | ]
Термисторы с аксиальными выводамиРезистивный элемент терморезистора изготавливают методом порошковой металлургии из оксидов, галогенидов, халькогенидов некоторых металлов, в различном конструктивном исполнении, например в виде стержней, трубок, дисков, шайб, бусинок, тонких пластинок, и размерами от 1—10 микрометров до нескольких сантиметров.
По типу зависимости сопротивления от температуры различают терморезисторы с отрицательным (NTC-термисторы, от слов «Negative Temperature Coefficient») и положительным (PTC-термисторы, от слов «Positive Temperature Coefficient» или позисторы) температурным коэффициентом сопротивления (или ТКС). Для позисторов — с ростом температуры растёт их сопротивление; для NTC-термисторов увеличение температуры приводит к падению их сопротивления.
Терморезисторы с отрицательным ТКС (NTC-термисторы) изготовляют из смеси поликристаллических оксидов переходных металлов (например, MnO, СoOx, NiO и CuO), полупроводников типа AIII BV, стеклообразных, легированных полупроводников (Ge и Si), и других материалов. PTC-термисторы изготовляют из твёрдых растворов на основе BaTiO3, что даёт положительный ТКС.
Условно терморезисторы классифицируют как низкотемпературные (предназначенные для работы при температуpax ниже 170
Полупроводниковые резисторы Чтобы получить полупроводниковые резисторы, полупроводники равномерно легируют специальными примесями. Благодаря применению разных типов примесей и видов конструкций резисторов, получают различные типы зависимости от внешних факторов. Классификация, а также графические условные обозначения даны на рис. 1. Здесь первые два типа полупроводниковых резисторов, т. е. линейные и нелинейные (варисторы), у которых электрические характеристики почти не зависят от таких факторов, как окружающая температура, влажность, вибрация, освещенность и т. д. Для других типов полупроводниковых резисторов типична значительная связанность электрических характеристик от этих факторов, и потому их широко применяют как первичные преобразователи неэлектрических параметров в электрические. Под действием температуры сильно изменяются электрические характеристики терморезисторов, а на освещенность «реагируют» фоторезисторы, от механического давления меняется сопротивление тензорезистора. В линейном резисторе используется слаболегированные примеси, например, кремний, арсенид галлия. Плотность электрического тока и напряженность электрического поля существенно не влияют на удельное электрическое сопротивление этого полупроводника. Вследствие этого сопротивление линейных полупроводниковых резисторов практически постоянно в больших пределах изменений токов и напряжений. Эти резисторы широко используют в интегральных микросхемах. У варистора вольт-амперная характеристика выглядит нелинейной потому, что у него сопротивление зависит от напряжения, поданного на этот варистор. Варисторы изготовляют из карбида кремния. Причиной нелинейной характеристики варистора служит местный разогрев контактах среди множества кристаллов карбида кремния. При этом сопротивление контактов сильно уменьшается, что в итоге и приводит к снижению единого сопротивления варистора. Вольт-амперная характеристика этого прибора показана на рис. 2. Основная величина варистора – коэффициент нелинейности Коэффициент нелинейности у разных типов варисторов находится в границах от 2 до 6. Полупроводниковый прибор, где применяется связанность сопротивления проводника от внешней температуры, называется терморезистором. Существуют два типа терморезисторов: 1. Термистор, у которого, чем выше температура, то тем ниже его сопротивление; 2. Позистор, сопротивление которого растет с повышением температуры. Конструкции термисторов приведены на рис. 3, а-в. Термисторы получают обычно из полупроводников с электронной проводимостью – окиси металлов и смеси этих окисей. Термисторы обычно изготавливают в виде шайб, бусин, дисков. Чтобы получить термистор косвенного подогрева, обычный термистор размещают в стеклянный баллон, а подогрев осуществляется специальной обмоткой. Температурная характеристика приведена на рис. 4. Она показывает как от температуры зависит сопротивление терморезистора. Хотя для различных полупроводников стиль этой зависимости разный, все-таки для многих полупроводников в широком спектре температур сопротивление резистора выражается экспоненциальным законом RI = Kеβ/Τ , β – коэффициент, величина которого зависит от насыщенности примесей в полупроводнике; Т – абсолютная температура. Основной параметр терморезистора – это температурный коэффициент сопротивления α = (1/ RT)(dRT/dT)100, который показывает процентную перемену сопротивления терморезистора при варьировании температуры. Промышленность выпускает терморезисторы с температурным коэффициентом сопротивления α = — 0,3 ÷ — 0, 66. Термистор не имеет вентильных свойств и ему свойственна довольно большая тепловая инерция. Вследствие этого терморезисторы в электрических цепях используются в качестве обычных резисторов, электрическое сопротивление которых связана с окружающей температурой и действующего тока, вдобавок до высоких частот (в пределах 100 – 500 МГц) индуктивность и паразитная емкость терморезисторов не оказывает существенного влияния. Эту особенность применяют для измерения токов в цепях высокой частоты. Если у терморезистора отрицательный коэффициент сопротивления (ТКС), то у позистора (потому он так и называется) ТКС положительный. Его изготавливают из титанат-бариевой керамики с добавлением редкоземельных элементов. Этому материалу свойственна неестественная температурная зависимость: если повысить температуру выше точки Кюри, то его сопротивление увеличивается на ряд порядков. Визуально позисторы схожи термисторам. График зависимости сопротивления от температуры для позистора показан на рис. 4 (кривая 2). ТКС позистора лежит в пределах 10÷50 рядом с точкой Кюри. Терморезисторы находят применение в системах тепловой защиты, регулировки температуры, противопожарной сигнализации. Термисторы также можно применять для измерения температуры в широких пределах, позиситоры же – в узких температурных пределах. Если сопротивление полупроводникового прибора зависит от степени освещенности, то такой прибор называется фоторезистором. Подробно о фоторезисторах будет рассматриваться в другой статье. Если сопротивление полупроводникового прибора зависит от механических деформаций, то такой прибор называется тензорезистором. Тензорезисторы получают из кремния с различной полупроводимостью. Важная особенность тензорезистора – это его деформационная характеристика, (рис. 5). В ней характеризуется зависимость ΔR/R от Δl/l (l – длина рабочего тела тензорезистора). Параметры тензорезистора – его номинальное сопротивление Rном = 100÷500 Ом, а также коэффициент тензочувствительности К = (ΔR/R)/(Δl/l) = -150÷150. |
Основное руководство по параметрам хранимой процедуры SQL Server
В предыдущем руководстве вы узнали, как создать простую хранимую процедуру, которая является оболочкой для оператора SELECT
. Когда вы вызываете эту хранимую процедуру, она просто выполняет запрос и возвращает набор результатов.
В этом руководстве мы расширим хранимую процедуру, которая позволяет передавать ей одно или несколько значений. Результат хранимой процедуры будет изменяться в зависимости от значений параметров.
Создание хранимой процедуры с одним параметром
Следующий запрос возвращает список продуктов из таблицы products
в базе данных примера:
Язык кода: SQL (язык структурированных запросов) (sql)
SELECT наименование товара, список цен ИЗ production. products СОРТИРОВАТЬ ПО список цен;
Вы можете создать хранимую процедуру, которая обертывает этот запрос, используя оператор CREATE PROCEDURE
:
Язык кода: SQL (язык структурированных запросов) (sql)
CREATE PROCEDURE uspFindProducts В ВИДЕ НАЧАТЬ ВЫБРАТЬ наименование товара, список цен ИЗ производство.продукты СОРТИРОВАТЬ ПО список цен; КОНЕЦ;
Однако на этот раз мы можем добавить параметр в хранимую процедуру, чтобы найти продукты, прейскурантные цены которых превышают введенную цену:
Язык кода: SQL (язык структурированных запросов) (sql)
ALTER ПРОЦЕДУРА uspFindProducts (@min_list_price AS DECIMAL) В ВИДЕ НАЧАТЬ ВЫБРАТЬ наименование товара, список цен ИЗ production. products ГДЕ list_price> = @min_list_price СОРТИРОВАТЬ ПО список цен; КОНЕЦ;
В этом примере:
- Сначала мы добавили параметр с именем
@min_list_price
в хранимую процедуруuspFindProducts
.Каждый параметр должен начинаться со знака@
. Ключевые словаAS DECIMAL
определяют тип данных параметра@min_list_price
. Параметр должен быть заключен в открывающую и закрывающую скобки. - Во-вторых, мы использовали параметр
@min_list_price
в предложенииWHERE
оператораSELECT
, чтобы отфильтровать только те продукты, прайс-лист которых больше или равен@min_list_price
.
Выполнение хранимой процедуры с одним параметром
Для выполнения хранимой процедуры uspFindProducts
необходимо передать ей следующий аргумент:
Язык кода: SQL (язык структурированных запросов) (sql)
EXEC uspFindProducts 100;
Хранимая процедура возвращает все продукты, прейскурантные цены которых больше или равны 100.
Если вы измените аргумент на 200, вы получите другой набор результатов:
Язык кода: SQL (язык структурированных запросов) (sql)
EXEC uspFindProducts 200;
Создание хранимой процедуры с несколькими параметрами
Хранимые процедуры могут принимать один или несколько параметров. Параметры разделяются запятыми.
Следующая инструкция изменяет хранимую процедуру uspFindProducts
, добавляя к ней еще один параметр с именем @max_list_price
:
Язык кода: SQL (язык структурированных запросов) (sql)
ALTER PROCEDURE uspFindProducts ( @min_list_price КАК DECIMAL , @ max_list_price КАК DECIMAL ) В ВИДЕ НАЧАТЬ ВЫБРАТЬ наименование товара, список цен ИЗ производство. продукты ГДЕ list_price> = @min_list_price И list_price <= @max_list_price СОРТИРОВАТЬ ПО список цен; КОНЕЦ;
После успешного изменения хранимой процедуры вы можете выполнить ее, передав два аргумента, один для @min_list_price
, а другой для @max_list_price
:
Язык кода: SQL (язык структурированных запросов) (sql)
ВЫПОЛНИТЬ uspFindProducts 900, 1000;
Ниже показан результат:
Использование именованных параметров
В случае, если хранимые процедуры имеют несколько параметров, лучше и понятнее выполнять хранимые процедуры используя именованные параметры.
Например, следующий оператор выполняет хранимую процедуру uspFindProducts
с использованием названных параметров @min_list_price
и @max_list_price
:
Язык кода: SQL (язык структурированных запросов) (sql)
EXECUTE uspFindProducts @min_list_price = 900, @max_list_price = 1000;
Результат хранимой процедуры тот же, но утверждение более очевидно.
Создание текстовых параметров
Следующий оператор добавляет параметр @name
в качестве параметра строки символов к хранимой процедуре.
Язык кода: SQL (язык структурированных запросов) (sql)
ИЗМЕНЕНИЕ ПРОЦЕДУР uspFindProducts ( @min_list_price КАК DECIMAL , @ max_list_price КАК DECIMAL , @ имя КАК VARCHAR (макс.) ) В ВИДЕ НАЧАТЬ ВЫБРАТЬ наименование товара, список цен ИЗ production.products ГДЕ list_price> = @min_list_price И list_price <= @max_list_price И product_name LIKE '%' + @name + '%' СОРТИРОВАТЬ ПО список цен; КОНЕЦ;
В предложении WHERE
инструкции SELECT
мы добавили следующее условие:
Язык кода: SQL (язык структурированных запросов) (sql)
product_name LIKE '%' + @name + '%'
Таким образом, хранимая процедура возвращает продукты, чьи прейскурантные цены находятся в диапазоне минимальных и максимальных цен по прейскуранту, а названия продуктов также содержат часть текст, который вы передаете.
После успешного изменения хранимой процедуры ее можно выполнить следующим образом:
Язык кода: SQL (язык структурированных запросов) (sql)
EXECUTE uspFindProducts @min_list_price = 900, @max_list_price = 1000, @name = 'Трек';
В этом операторе мы использовали хранимую процедуру uspFindProducts
, чтобы найти продукт, прейскурантные цены которого находятся в диапазоне от 900 до 1000, а их имена содержат слово Трек
.
На следующем рисунке показан результат:
Создание дополнительных параметров
При выполнении хранимой процедуры uspFindProducts
необходимо передать все три аргумента, соответствующие трем параметрам.
SQL Server позволяет указывать значения по умолчанию для параметров, чтобы при вызове хранимых процедур можно было пропустить параметры со значениями по умолчанию.
См. Следующую хранимую процедуру:
Язык кода: SQL (язык структурированных запросов) (sql)
ALTER PROCEDURE uspFindProducts ( @min_list_price КАК DECIMAL = 0 , @ max_list_price AS DECIMAL = 999999 , @ имя КАК VARCHAR (макс.) ) В ВИДЕ НАЧАТЬ ВЫБРАТЬ наименование товара, список цен ИЗ производство.продукты ГДЕ list_price> = @min_list_price И list_price <= @max_list_price И product_name LIKE '%' + @name + '%' СОРТИРОВАТЬ ПО список цен; КОНЕЦ;
В этой хранимой процедуре мы назначили 0
в качестве значения по умолчанию для параметра @min_list_price
и 999,999
в качестве значения по умолчанию для @max_list_price
параметр.
После того, как хранимая процедура скомпилирована, вы можете выполнить ее без передачи аргументов в параметры @min_list_price
и @max_list_price
:
Язык кода: SQL (язык структурированных запросов) (sql)
EXECUTE uspFindProducts @name = 'Трек';
В этом случае хранимая процедура использовала 0
для параметра @min_list_price
и 999,999
для параметра @max_list_price
при выполнении запрос.
Параметры @min_list_price
и @max_list_price
называются необязательными параметрами.
Конечно, вы также можете передать аргументы необязательным параметрам. Например, следующий оператор возвращает все продукты, прейскурантные цены которых больше или равны 6000
, а имена содержат слово Trek
:
Язык кода: SQL (язык структурированных запросов) (sql)
EXECUTE uspFindProducts @min_list_price = 6000, @name = 'Трек';
Использование NULL в качестве значения по умолчанию
В хранимой процедуре uspFindProducts
мы использовали 999 999
в качестве максимальной прайс-листа по умолчанию.Это ненадежно, потому что в будущем у вас могут быть продукты с прейскурантной ценой, которая будет выше указанной.
Типичный способ избежать этого - использовать NULL
в качестве значения по умолчанию для параметров:
Язык кода: SQL (язык структурированных запросов) (sql)
ALTER PROCEDURE uspFindProducts ( @min_list_price КАК DECIMAL = 0 , @ max_list_price AS DECIMAL = NULL , @ имя КАК VARCHAR (макс. ) ) В ВИДЕ НАЧАТЬ ВЫБРАТЬ наименование товара, список цен ИЗ production.products ГДЕ list_price> = @min_list_price И (@max_list_price ЕСТЬ NULL OR list_price <= @max_list_price) И product_name LIKE '%' + @name + '%' СОРТИРОВАТЬ ПО список цен; КОНЕЦ;
В предложении WHERE
мы изменили условие для обработки значения NULL
для параметра @max_list_price
:
Язык кода: SQL (язык структурированных запросов) (sql)
(@max_list_price ЕСТЬ NULL ИЛИ list_price <= @max_list_price)
Следующий оператор выполняет хранимую процедуру uspFindProducts
для поиска продукта, прайс-лист которого больше или равен 500, а имена содержат слово Haro
.
Язык кода: SQL (язык структурированных запросов) (sql)
ВЫПОЛНИТЬ uspFindProducts @min_list_price = 500, @name = 'Haro';
В этом руководстве вы узнали, как создавать и выполнять хранимые процедуры с одним или несколькими параметрами. Вы также узнали, как создавать необязательные параметры и использовать NULL в качестве значений по умолчанию для параметров.
Параметры запроса - FastAPI
Когда вы объявляете другие параметры функции, которые не являются частью параметров пути, они автоматически интерпретируются как параметры «запроса».
из fastapi import FastAPI
app = FastAPI ()
fake_items_db = [{"item_name": "Foo"}, {"item_name": "Bar"}, {"item_name": "Baz"}]
@ app.get ("/ предметы /")
async def read_item (пропустить: int = 0, limit: int = 10):
return fake_items_db [skip: skip + limit]
Запрос - это набор пар "ключ-значение", следующих после ?
в URL, разделенных и
символами.
Например, в URL:
http://127.0.0.1:8000/items/?skip=0&limit=10
...параметры запроса:
-
пропустить
: со значением0
-
лимит
: со значением10
Поскольку они являются частью URL-адреса, это «естественные» строки.
Но когда вы объявляете их с помощью типов Python (в приведенном выше примере как int
), они преобразуются в этот тип и проверяются на соответствие ему.
Тот же процесс, что применялся для параметров пути, также применяется для параметров запроса:
- Поддержка редактора (очевидно)
- Данные "парсинг"
- Проверка данных
- Автоматическая документация
По умолчанию
Поскольку параметры запроса не являются фиксированной частью пути, они могут быть необязательными и иметь значения по умолчанию.
В приведенном выше примере они имеют значения по умолчанию: skip = 0
и limit = 10
.
Итак, переходим по URL:
http://127.0.0.1:8000/items/
будет таким же, как переход к:
http://127.0.0.1:8000/items/?skip=0&limit=10
Но если зайти, например:
http://127.0.0.1:8000/items/?skip=20
Значения параметров в вашей функции будут:
-
skip = 20
: потому что вы устанавливаете его в URL -
limit = 10
: потому что это значение по умолчанию
Дополнительные параметры
Таким же образом можно объявить необязательные параметры запроса, установив для них значение по умолчанию Нет
:
от ввода import Необязательно
из fastapi импорт FastAPI
app = FastAPI ()
@приложение.получить ("/ items / {item_id}")
async def read_item (item_id: str, q: Необязательно [str] = None):
если q:
return {"item_id": item_id, "q": q}
вернуть {"item_id": item_id}
В этом случае параметр функции q
будет необязательным и по умолчанию будет Нет
.
Чек
Также обратите внимание, что FastAPI достаточно умен, чтобы заметить, что параметр пути item_id
является параметром пути, а q
- нет, поэтому это параметр запроса.
Примечание
FastAPI будет знать, что q
является необязательным, поскольку = None
.
Optional
in Optional [str]
не используется FastAPI (FastAPI будет использовать только часть str
), но Optional [str]
позволит вашему редактору помочь вам найти ошибки в вашем коде.
Преобразование типа параметра запроса
Вы также можете объявить типов bool
, и они будут преобразованы:
от ввода import Необязательно
из fastapi импорт FastAPI
app = FastAPI ()
@приложение.получить ("/ items / {item_id}")
async def read_item (item_id: str, q: optional [str] = None, short: bool = False):
item = {"item_id": item_id}
если q:
item.update ({"q": q})
если не коротко:
item.update (
{"description": "Это замечательный предмет с длинным описанием"}
)
вернуть изделие
В этом случае, если вы пойдете по номеру:
http://127.0.0.1:8000/items/foo?short=1
или
http://127.0.0.1:8000/items/foo?short=True
или
http: // 127.0.0.1: 8000 / items / foo? Short = true
или
http://127.0.0.1:8000/items/foo?short=on
или
http://127.0.0.1:8000/items/foo?short=yes
или любой другой вариант регистра (верхний регистр, первая буква в верхнем регистре и т. Д.), Ваша функция увидит параметр short
со значением bool
, равным True
. В противном случае как Ложь
.
Несколько параметров пути и запроса
Вы можете объявить несколько параметров пути и параметров запроса одновременно, FastAPI знает, что есть что.
И вы не должны объявлять их в каком-то определенном порядке.
Они будут обнаружены по имени:
от ввода import Необязательно
из fastapi импорт FastAPI
app = FastAPI ()
@ app.get ("/ users / {user_id} / items / {item_id}")
async def read_user_item (
user_id: int, item_id: str, q: Необязательно [str] = None, short: bool = False
):
item = {"item_id": item_id, "owner_id": user_id}
если q:
item.update ({"q": q})
если не коротко:
item.update (
{"description": "Это замечательный предмет с длинным описанием"}
)
вернуть изделие
Обязательные параметры запроса
Когда вы объявляете значение по умолчанию для параметров, не относящихся к пути (пока мы видели только параметры запроса), это не требуется.
Если вы не хотите добавлять конкретное значение, а просто сделать его необязательным, установите значение по умолчанию Нет
.
Но если вы хотите сделать параметр запроса обязательным, вы можете просто не объявлять значение по умолчанию:
из fastapi import FastAPI
app = FastAPI ()
@ app.get ("/ items / {item_id}")
async def read_user_item (item_id: str, needy: str):
item = {"item_id": item_id, "needy": needy}
вернуть изделие
Здесь параметр запроса needy
является обязательным параметром запроса типа str
.
Если вы откроете в своем браузере URL-адрес вида:
http://127.0.0.1:8000/items/foo-item
... без добавления обязательного параметра needy
вы увидите ошибку типа:
{
"деталь": [
{
"loc": [
"запрос",
"нуждающийся"
],
"msg": "поле обязательно",
"type": "value_error.missing"
}
]
}
Поскольку needy
является обязательным параметром, вам необходимо указать его в URL-адресе:
http: // 127.0.0.1: 8000 / предметов / foo-item? Needy = sooooneedy
... это будет работать:
{
"item_id": "foo-item",
"нуждающийся": "оооочень"
}
И, конечно, вы можете определить некоторые параметры по мере необходимости, некоторые как имеющие значение по умолчанию, а некоторые полностью необязательные:
от ввода import Необязательно
из fastapi импорт FastAPI
app = FastAPI ()
@ app.get ("/ items / {item_id}")
async def read_user_item (
item_id: str, needy: str, skip: int = 0, limit: optional [int] = None
):
item = {"item_id": item_id, "needy": needy, "skip": пропустить, "limit": limit}
вернуть изделие
В данном случае есть 3 параметра запроса:
-
нуждающиеся
, необходимыеул
. -
пропустить
,int
со значением по умолчанию0
. -
предел
, необязательныйint
.
Передача многозначного параметра в отчет SSRS с использованием URL-адреса - Статьи TechNet - США (английский)
Введение
В этом решении объясняется, как передать параметр с несколькими значениями (на основе SSAS) из одного отчета в другой с помощью метода URL.Намерение состоит в том, чтобы предоставить второй отчет во всплывающем окне. Мы не можем использовать SSRS, встроенный в тип действия «Перейти к отчету», вместо этого мы будем использовать тип действия «Перейти к URL-адресу».
Решение
У нас есть исходный отчет и целевой отчет. Нам нужно передавать значения одной строкой. Для этого передайте все значения в виде строки во временный параметр в целевом отчете, а затем разделите их. ценности в этом конце.
В исходном отчете
Предположим, мы хотим передать значения параметра Status (который является многозначным параметром) в наш целевой отчет.Используя Join, мы можем передать значения параметров, разделенные запятыми как одну строку. Это единственное, что мы должны сделать в нашем исходном отчете. Не беспокойтесь о параметре param1. Мы встретимся param1 в целевом отчете.
=
"javascript: void (window.open (‘
и заменить (Присоединиться (Параметры! Статус.Значение,
","
),
"&"
,
"% 2526"
)
&
", '_ blank'))"
Объяснение функции замены на% 2526
В конце концов, наиболее распространенная проблема - это символ "&" (амперсанд), который не может пройти в URL.потому что элементы измерения SSAS содержат символ "&". (Предположим, у нас есть измерение MonthlyStatus и у него есть член [DimMonthlyStatus]. [MonthlyStatus]. & [Active] который мы хотим передать)
См. следующий пример.
=
"javascript: void (window.open ('http: // Server1 / ReportServer? Http: //server1/sites/Test/Reports/YearlyTrend.rdl&ReportParameter1="
& Параметры! ReportParameter1.value &
"',' _ blank '))"
Параметры! ReportParameter1.value содержит символ «&», но его нельзя передать. вы можете заменить символ «&» на «% 2526» (кодировка URL-адреса «&»)
=
"javascript: void (window.open ('http: // Server1 / ReportServer? Http: //server1/sites/Test/Reports/YearlyTrend.rdl&ReportParameter1="
и заменить (Параметры! ReportParameter1.value,
"&"
,
"% 2526"
) &
"',' _ blank '))"
В целевом отчете
Затем мы переходим к целевому отчету.Мы должны установить эти значения в параметр под названием MonthlyStatus в нашем целевом отчете. Перед этим нам нужно добавить новый параметр для целевой отчет. Назовите его « param1 » (который использовался в приведенном выше выражении). param1 есть новый параметр, у которого нет доступных значений или значений по умолчанию. Установите param1 как скрытый параметр (потому что никто не хочет этого видеть)
Затем мы подошли к простой части. Теперь у нас есть все значения, разделенные запятыми, в param1 , и нам нужно разделить каждое значение и установить соответствующий параметр.Мы можем сделать это путем редактирования выражения значения по умолчанию для связанного параметра.
Убедитесь, что param1 размещен выше MonthlyStatus в порядке параметров. Потому что MonthlyStatus с использованием значения param1 в качестве значения по умолчанию. Примечание. Предварительный просмотр отчета не отображается в BIDS. Но после развертывания В отчете вы можете увидеть, что значения многозначного параметра передаются в целевой отчет. .